diff --git a/decomp/Agent_Release_x64/0x1400037a0.pseudo.c b/decomp/Agent_Release_x64/0x1400037a0.pseudo.c new file mode 100644 index 00000000..0b5512dc --- /dev/null +++ b/decomp/Agent_Release_x64/0x1400037a0.pseudo.c @@ -0,0 +1,385 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 pseudocode via REA, ev_2fa3bc1da1e9e82a4bd2859ca38ee1636f1ade7ba45372348ff4288d16c2f449 + * Decompiler output, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +undefined8 FUN_1400037a0(longlong param_1,undefined8 **param_2,undefined8 *param_3,uint *param_4) + +{ + int *piVar1; + double dVar2; + char cVar3; + undefined8 *puVar4; + undefined1 auVar5 [16]; + bool bVar6; + bool bVar7; + longlong *plVar8; + BOOL BVar9; + wchar_t *pwVar10; + wchar_t *pwVar11; + ulonglong uVar12; + longlong *plVar13; + wchar_t *pwVar14; + char *pcVar15; + ulonglong *puVar16; + longlong *plVar17; + undefined2 *puVar18; + wchar_t *pwVar19; + longlong lVar20; + undefined4 uVar21; + undefined4 uVar22; + undefined4 uVar23; + undefined4 uVar24; + undefined4 uVar25; + undefined1 auStack_2a8 [32]; + longlong *local_288; + wchar_t *local_280; + LARGE_INTEGER local_278; + undefined8 *local_270; + wchar_t *local_268; + wchar_t *local_260; + int *local_258; + undefined1 local_250; + undefined8 local_248; + undefined2 local_238; + undefined1 local_236 [158]; + undefined1 local_198 [160]; + undefined8 *local_f8; + undefined2 local_f0; + undefined6 uStack_ee; + undefined8 local_e0; + ulonglong local_d8; + undefined2 local_c8; + undefined6 uStack_c6; + undefined8 local_b8; + ulonglong local_b0; + ulonglong local_98; + + local_248 = 0xfffffffffffffffe; + local_98 = DAT_1401555a0 ^ (ulonglong)auStack_2a8; + FUN_140010960(L"# Agent Startup #\n\n",param_2,param_3,param_4); + CoInitialize((LPVOID)0x0); + FUN_140010aa0(L"+ Prepare Startup\n",param_2,param_3,param_4); + local_278 = (LARGE_INTEGER)operator_new(0xb8); + pwVar19 = (wchar_t *)0x0; + pwVar10 = pwVar19; + if ((undefined8 *)local_278.QuadPart != (undefined8 *)0x0) { + pwVar10 = (wchar_t *)FUN_140005020((undefined8 *)local_278,param_2,param_3,param_4); + } + if (pwVar10 == (wchar_t *)0x0) { + local_288 = (longlong *)0x0; + } + else { + local_288 = (longlong *)FUN_140030280(0x10); + local_288[1] = 1; + *local_288 = (longlong)pwVar10; + } + plVar17 = local_288; + pwVar11 = operator_new(0x68); + pwVar10 = pwVar19; + local_280 = pwVar11; + if (pwVar11 != (wchar_t *)0x0) { + if (plVar17 != (longlong *)0x0) { + pwVar10 = (wchar_t *)*plVar17; + } + *(wchar_t **)pwVar11 = pwVar10; + pwVar11[4] = L'\0'; + pwVar11[5] = L'\0'; + pwVar11[6] = L'\0'; + pwVar11[7] = L'\0'; + pwVar11[8] = L'\0'; + pwVar11[9] = L'\0'; + pwVar11[10] = L'\0'; + pwVar11[0xb] = L'\0'; + pwVar11[0xc] = L'\0'; + pwVar11[0xd] = L'\0'; + pwVar11[0xe] = L'\0'; + pwVar11[0xf] = L'\0'; + uVar12 = FUN_14002e790(); + param_2 = (undefined8 **)(uVar12 & 0xffffffff); + param_3 = (undefined8 *)CONCAT71((int7)((ulonglong)param_3 >> 8),1); + FUN_14002e600((undefined4 *)(pwVar11 + 0x14),(ulonglong)param_2,param_3,param_4); + FUN_140007960((longlong)pwVar11); + pwVar10 = pwVar11; + } + if (pwVar10 == (wchar_t *)0x0) { + local_280 = (wchar_t *)0x0; + } + else { + local_280 = (wchar_t *)FUN_140030280(0x10); + *(undefined8 *)((longlong)local_280 + 8) = 1; + *(wchar_t **)local_280 = pwVar10; + } + pwVar10 = local_280; + pwVar11 = pwVar19; + if (plVar17 != (longlong *)0x0) { + pwVar11 = (wchar_t *)*plVar17; + } + *(wchar_t **)(param_1 + 0xa0) = pwVar11; + pwVar11 = pwVar19; + if (local_280 != (wchar_t *)0x0) { + pwVar11 = *(wchar_t **)local_280; + } + *(wchar_t **)(param_1 + 0xa8) = pwVar11; + pwVar11 = pwVar19; + if (local_280 != (wchar_t *)0x0) { + pwVar11 = *(wchar_t **)local_280; + } + FUN_140007960((longlong)pwVar11); + local_f8 = (undefined8 *)0x0; + local_d8 = 7; + local_e0 = 0; + local_f0 = 0; + local_b0 = 7; + local_b8 = 0; + local_c8 = 0; + if (*(longlong *)(DAT_140162d68 + 0x1c8) != 0) { + auVar5._8_8_ = 0; + auVar5._0_8_ = *(ulonglong *)(DAT_140162d68 + 0x1b0); + param_2 = SUB168((ZEXT816(0) << 0x40 | ZEXT816(0x15)) % auVar5,0); + local_270 = (undefined8 *)(*(longlong *)(DAT_140162d68 + 0x1a8) + (longlong)param_2 * 8); + for (local_268 = (wchar_t *)*local_270; local_268 != (wchar_t *)0x0; + local_268 = *(wchar_t **)local_268) { + if ((char)local_268[4] == '\x15') { + if (local_268 != (wchar_t *)0x0) goto LAB_1400039c4; + break; + } + } + } + local_270 = (undefined8 *)0x0; + local_268 = pwVar19; +LAB_1400039c4: + if ((local_268 != (wchar_t *)0x0) && + (puVar4 = *(undefined8 **)(local_268 + 8), puVar4 != *(undefined8 **)(local_268 + 0xc))) { + local_f8 = (undefined8 *)*puVar4; + FUN_140001600((longlong *)&local_f0,puVar4 + 1,0,0xffffffffffffffff); + param_4 = (uint *)0xffffffffffffffff; + param_3 = (undefined8 *)0x0; + FUN_140001600((longlong *)&local_c8,puVar4 + 6,0,0xffffffffffffffff); + param_2 = &local_f8; + FUN_140007a80(*(undefined8 **)(param_1 + 0xa8),param_2,param_3,(undefined8 *)param_4); + lVar20 = *(longlong *)(param_1 + 0xa8); + piVar1 = (int *)(lVar20 + 0x28); + local_258 = piVar1; + FUN_14002e6e0(piVar1); + plVar13 = *(longlong **)(lVar20 + 8); + if (*plVar13 == 0) { + FUN_14002e770((longlong)piVar1); + local_250 = 0; + } + else { + lVar20 = *plVar13; + FUN_14002e770((longlong)piVar1); + local_250 = 0; + if (lVar20 != 0) { + cVar3 = *(char *)(lVar20 + 0x88); + while (cVar3 == '\0') { + FUN_1400023e0(lVar20); + cVar3 = *(char *)(lVar20 + 0x88); + } + } + } + } + pwVar11 = pwVar19; + if (plVar17 != (longlong *)0x0) { + pwVar11 = (wchar_t *)*plVar17; + } + FUN_140005360((longlong)pwVar11,param_2,param_3,(longlong)param_4); + pwVar11 = pwVar19; + if (plVar17 != (longlong *)0x0) { + pwVar11 = (wchar_t *)*plVar17; + } + *(undefined8 *)(pwVar11 + 0x24) = *(undefined8 *)(param_1 + 0xa8); + FUN_140010960(L"\n # Agent Running... #\n",param_2,param_3,param_4); + plVar13 = operator_new(0x18); + if (plVar13 == (longlong *)0x0) { + plVar13 = (longlong *)0x0; + } + else { + *plVar13 = (longlong)TimeSourceHRWin32::vftable; + BVar9 = QueryPerformanceFrequency(&local_278); + if (BVar9 == 0) { + *(undefined1 *)(plVar13 + 2) = 0; + GetLastError(); + } + else { + *(undefined1 *)(plVar13 + 2) = 1; + plVar13[1] = (longlong)(1.0 / (double)local_278.QuadPart); + } + } + plVar8 = DAT_140162d50; + if ((undefined8 *)DAT_140162d50[2] != (undefined8 *)0x0) { + (*(code *)**(undefined8 **)DAT_140162d50[2])(); + } + plVar8[2] = (longlong)plVar13; + if (plVar13 != (longlong *)0x0) { + lVar20 = (**(code **)(*plVar13 + 8))(plVar13); + plVar8[6] = lVar20; + plVar8[7] = lVar20; + } + plVar8[0x12] = 0x3ff0000000000000; + pwVar14 = operator_new(0x28); + pwVar11 = pwVar19; + local_260 = pwVar14; + if (pwVar14 != (wchar_t *)0x0) { + *(undefined ***)pwVar14 = Magi::Timer::vftable; + plVar13 = DAT_140162d50; + *(longlong **)(pwVar14 + 4) = DAT_140162d50; + pwVar14[8] = L'\0'; + pwVar14[9] = L'\0'; + pwVar14[10] = L'\0'; + pwVar14[0xb] = L'\0'; + pwVar14[0xc] = L'\0'; + pwVar14[0xd] = L'\0'; + pwVar14[0xe] = L'\0'; + pwVar14[0xf] = L'\0'; + *(undefined1 *)(pwVar14 + 0x10) = 0; + pwVar14[0x12] = L'\0'; + pwVar14[0x13] = L'㾀'; + (**(code **)(*plVar13 + 0x10))(); + pwVar11 = pwVar14; + } + *(wchar_t **)(param_1 + 0x50) = pwVar11; + bVar6 = true; + local_238 = 0; + memset(local_236,0,0x9e); + puVar16 = (ulonglong *)0x0; + puVar18 = (undefined2 *)0xa0; + memset(local_198,0,0xa0); + uVar21 = 0; + uVar23 = 0; + FUN_1400271e0(DAT_140162d68); + pcVar15 = *(char **)(DAT_140162d58 + 8); + do { + pwVar11 = pwVar19; + if (pcVar15 == *(char **)(DAT_140162d58 + 0x10)) { +LAB_140003c4a: + FUN_140009780(pwVar11); + FUN_140001dc0(param_1 + 8); + bVar7 = false; + cVar3 = *(char *)(param_1 + 0x60); + uVar24 = uVar21; + uVar25 = uVar23; + while (cVar3 != '\0') { + FUN_1400dc520((longlong)DAT_140162d50); + dVar2 = *(double *)(*(longlong *)(param_1 + 0x50) + 0x10); + if (((0.0 < *(double *)(DAT_140162d68 + 0x178)) && + (0.0 < dVar2 - *(double *)(DAT_140162d68 + 0x178))) && (bVar6)) { + bVar6 = false; + pcVar15 = "Start Auto Server On. \n"; + printf("Start Auto Server On. \n"); + FUN_140009bd0(pcVar15,puVar16,puVar18,param_4); + } + FUN_140007da0(*(longlong *)(param_1 + 0xa8),dVar2); + uVar22 = (undefined4)((ulonglong)dVar2 >> 0x20); + if (1.0 <= dVar2 - (double)CONCAT44(uVar23,uVar21)) { + if (DAT_140162cc4 != 0) { + puVar16 = (ulonglong *)&DAT_14011b7b4; + if (bVar7) { + puVar16 = (ulonglong *)&DAT_14011b7b0; + } + puVar18 = (undefined2 *)(ulonglong)DAT_140162cc8; + printf("[ %s ] FPS[ %d ]\n"); + bVar7 = !bVar7; + } + _DAT_140162ccc = DAT_140162cc8; + DAT_140162cc8 = 0; + uVar21 = SUB84(dVar2,0); + uVar23 = uVar22; + } + if (0.10000000149011612 <= dVar2 - (double)CONCAT44(uVar25,uVar24)) { + DAT_140162cc8 = DAT_140162cc8 + 1; + FUN_140003f30(param_1,puVar16,puVar18,param_4); + pwVar11 = pwVar19; + if (plVar17 != (longlong *)0x0) { + pwVar11 = (wchar_t *)*plVar17; + } + FUN_1400053e0((longlong)pwVar11,dVar2); + uVar24 = SUB84(dVar2,0); + uVar25 = uVar22; + } + *(double *)(param_1 + 0x58) = dVar2; + Sleep(1); + cVar3 = *(char *)(param_1 + 0x60); + } + FUN_140010aa0(L"+ Prepare Stop\n",puVar16,puVar18,param_4); + FUN_1400079d0(*(longlong *)(param_1 + 0xa8)); + lVar20 = *(longlong *)(param_1 + 0xa0); + puVar4 = *(undefined8 **)(lVar20 + 0x28); + if (puVar4 != (undefined8 *)0x0) { + puVar16 = (ulonglong *)0x1; + (**(code **)*puVar4)(); + } + *(undefined8 *)(lVar20 + 0x28) = 0; + CoUninitialize(); + FUN_140010960(L"# Agent Stoped... #\n",puVar16,puVar18,param_4); + if (7 < local_b0) { + operator_delete((void *)CONCAT62(uStack_c6,local_c8)); + } + local_b0 = 7; + local_b8 = 0; + local_c8 = 0; + if (7 < local_d8) { + operator_delete((void *)CONCAT62(uStack_ee,local_f0)); + } + pwVar19 = local_280; + local_d8 = 7; + local_e0 = 0; + local_f0 = 0; + if (pwVar10 != (wchar_t *)0x0) { + plVar13 = (longlong *)((longlong)pwVar10 + 8); + *plVar13 = *plVar13 + -1; + plVar17 = local_288; + if (*plVar13 == 0) { + pwVar10 = *(wchar_t **)local_280; + local_260 = pwVar10; + if (pwVar10 != (wchar_t *)0x0) { + FUN_14002e7a0((undefined4 *)(pwVar10 + 0x14),puVar16,puVar18,param_4); + if (*(void **)(pwVar10 + 4) != (void *)0x0) { + operator_delete(*(void **)(pwVar10 + 4)); + } + pwVar10[4] = L'\0'; + pwVar10[5] = L'\0'; + pwVar10[6] = L'\0'; + pwVar10[7] = L'\0'; + pwVar10[8] = L'\0'; + pwVar10[9] = L'\0'; + pwVar10[10] = L'\0'; + pwVar10[0xb] = L'\0'; + pwVar10[0xc] = L'\0'; + pwVar10[0xd] = L'\0'; + pwVar10[0xe] = L'\0'; + pwVar10[0xf] = L'\0'; + operator_delete(pwVar10); + } + FUN_1400302f0(pwVar19); + plVar17 = local_288; + } + } + plVar13 = local_288; + if (plVar17 != (longlong *)0x0) { + plVar17 = plVar17 + 1; + *plVar17 = *plVar17 + -1; + if (*plVar17 == 0) { + puVar4 = (undefined8 *)*local_288; + if (puVar4 != (undefined8 *)0x0) { + (**(code **)*puVar4)(puVar4,1); + } + FUN_1400302f0(plVar13); + } + } + return 0; + } + if (*pcVar15 == '\x18') { + pwVar11 = (wchar_t *)(pcVar15 + 8); + if (7 < *(ulonglong *)(pcVar15 + 0x20)) { + pwVar11 = *(wchar_t **)(pcVar15 + 8); + } + goto LAB_140003c4a; + } + pcVar15 = pcVar15 + 0x30; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/0x140008c90.pseudo.c b/decomp/Agent_Release_x64/0x140008c90.pseudo.c new file mode 100644 index 00000000..89f48fd3 --- /dev/null +++ b/decomp/Agent_Release_x64/0x140008c90.pseudo.c @@ -0,0 +1,83 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 pseudocode via REA, ev_ad71d730ad826f5e73d5b5ec119273acf91c525002d977f0d017bc11eb2cfbb4 + * Decompiler output, not original source. */ + +undefined8 FUN_140008c90(undefined8 *param_1) + +{ + DWORD DVar1; + HANDLE hProcess; + undefined4 *puVar2; + undefined8 *puVar3; + longlong lVar4; + longlong lVar5; + uint *puVar6; + undefined *puVar7; + uint *puVar8; + uint local_res8 [2]; + DWORD local_res10 [2]; + undefined8 *local_res18; + undefined8 *local_res20; + undefined8 local_118; + undefined8 local_110; + undefined8 local_108; + undefined8 local_100; + undefined8 local_f8; + undefined8 local_f0 [4]; + undefined4 local_d0 [44]; + + local_f8 = 0xfffffffffffffffe; + hProcess = (HANDLE)*param_1; + DVar1 = *(DWORD *)(param_1 + 2); + local_res10[0] = DVar1; + do { + Sleep(10); + GetExitCodeProcess(hProcess,local_res10); + } while (local_res10[0] == 0x103); + puVar2 = (undefined4 *)FUN_14002c9a0(DAT_140162d60,DVar1); + if (puVar2 == (undefined4 *)0x0) { + wprintf(L"NOT FIND PROCESS ID \n"); + } + else { + lVar5 = *(longlong *)(DAT_1401626f8 + 0xa8); + if (lVar5 != 0) { + puVar2[0x28] = 0; + puVar2[0x31] = 0; + local_res18 = local_f0; + puVar3 = FUN_140006c30((longlong)puVar2,local_f0); + local_118 = *(undefined8 *)(puVar2 + 0x2e); + local_110 = *(undefined8 *)(puVar2 + 0x30); + local_108 = *(undefined8 *)(puVar2 + 0x32); + local_100 = *(undefined8 *)(puVar2 + 0x34); + local_res8[0] = puVar2[1]; + local_res20 = puVar3; + lVar4 = FUN_140007fa0(lVar5); + (**(code **)(*(longlong *)(lVar4 + 0x68) + 0x40)) + ((longlong *)(lVar4 + 0x68),1,&DAT_1401555d0,local_res8,&local_118,puVar3); + if ((void *)*puVar3 != (void *)0x0) { + operator_delete((void *)*puVar3); + } + *puVar3 = 0; + puVar3[1] = 0; + puVar3[2] = 0; + local_res20 = (undefined8 *)CONCAT44(local_res20._4_4_,1); + local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,puVar2[1]); + local_res8[0] = CONCAT31(local_res8[0]._1_3_,1); + lVar5 = FUN_140007fa0(lVar5); + puVar8 = local_res8; + puVar7 = &DAT_1401555d0; + (**(code **)(*(longlong *)(lVar5 + 0x68) + 0x50)) + ((longlong *)(lVar5 + 0x68),1,&DAT_1401555d0,puVar8,&local_res20,&local_res18); + if ((*(char *)((longlong)puVar2 + 0xd5) != '\0') || (*(char *)(DAT_140162d68 + 0x171) != '\0') + ) { + puVar6 = FUN_14000b8e0(puVar2,local_d0); + FUN_140008ea0(DAT_140162d78,puVar6,puVar7,puVar8); + if ((*(char *)(puVar2 + 3) == '\x01') && (0 < (int)puVar2[0x34])) { + FUN_140009f20(DAT_140162d78,puVar2[1]); + } + } + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/0x140008ea0.pseudo.c b/decomp/Agent_Release_x64/0x140008ea0.pseudo.c new file mode 100644 index 00000000..2b105ef0 --- /dev/null +++ b/decomp/Agent_Release_x64/0x140008ea0.pseudo.c @@ -0,0 +1,271 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 pseudocode via REA, ev_e87b1dd73483b4679d62c8af5a049a4eba2945ad39d8d854566eb6f8725e1200 + * Decompiler output, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +void FUN_140008ea0(undefined8 param_1,uint *param_2,undefined8 param_3,uint *param_4) + +{ + char cVar1; + wchar_t wVar2; + ulonglong uVar3; + DWORD DVar4; + char *pcVar5; + wchar_t *******pppppppwVar6; + longlong lVar7; + ulonglong uVar8; + undefined8 uVar9; + char *pcVar10; + wchar_t *pwVar11; + undefined8 *puVar12; + short *psVar13; + wchar_t *pwVar14; + undefined1 auStack_488 [32]; + void **local_468; + undefined8 *local_460; + uint local_458 [2]; + undefined8 *local_450; + undefined1 *local_448; + undefined8 local_440; + basic_ostream_> local_438 [136]; + basic_ios_> local_3b0 [104]; + uint *local_348; + wchar_t *******local_340 [2]; + wchar_t ******local_330; + wchar_t ******local_328; + undefined2 local_318; + undefined6 uStack_316; + undefined8 local_308; + ulonglong local_300; + ulonglong local_2f0 [2]; + undefined8 local_2e0; + ulonglong local_2d8; + void *local_2c8; + undefined8 local_2c0; + undefined8 local_2b8; + ulonglong local_2b0; + ulonglong local_2a0 [2]; + undefined8 local_290; + ulonglong local_288; + ulonglong local_278 [2]; + undefined8 local_268; + ulonglong local_260; + wchar_t local_248; + undefined1 local_246 [526]; + ulonglong local_38; + + local_440 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_488; + pwVar11 = (wchar_t *)0x0; + DVar4 = 0; + pwVar14 = pwVar11; + if (*(longlong *)(DAT_140162d60 + 0x58) != 0) { + for (puVar12 = *(undefined8 **) + (*(longlong *)(DAT_140162d60 + 0x38) + + ((ulonglong)(longlong)(int)param_2[1] % *(ulonglong *)(DAT_140162d60 + 0x40)) * + 8); puVar12 != (undefined8 *)0x0; puVar12 = (undefined8 *)*puVar12) { + if (param_2[1] == *(uint *)(puVar12 + 1)) { + if (puVar12 != (undefined8 *)0x0) { + pwVar14 = (wchar_t *)puVar12[2]; + } + break; + } + } + } + local_348 = param_2; + if (*(int *)(pwVar14 + 0x62) == 0) { + pwVar14[0x62] = L'\x01'; + pwVar14[99] = L'\0'; + uVar3 = *(ulonglong *)(DAT_1401626f8 + 0xa8); + local_248 = L'\0'; + memset(local_246,0,0x206); + FUN_14000a4b0(local_438); + std::basic_ostream_>::operator<<(local_438,param_2[1]); + FUN_14000a600((longlong)local_438,(void **)&local_318); + for (pcVar5 = *(char **)(DAT_140162d58 + 8); pcVar5 != *(char **)(DAT_140162d58 + 0x10); + pcVar5 = pcVar5 + 0x30) { + if (*pcVar5 == (char)param_2[3]) { + pwVar11 = (wchar_t *)(pcVar5 + 8); + if (7 < *(ulonglong *)(pcVar5 + 0x20)) { + pwVar11 = *(wchar_t **)pwVar11; + } + break; + } + } + wcscpy_s(&local_248,0x104,pwVar11); + wcscat_s(&local_248,0x104,L" "); + if (*(char *)(DAT_140162d68 + 0x152) == '\0') { + local_2d8 = 0xf; + local_2e0 = 0; + local_2f0[0]._0_1_ = '\0'; + local_328 = (wchar_t ******)0x7; + local_330 = (wchar_t ******)0x0; + local_340[0] = (wchar_t *******)((ulonglong)local_340[0] & 0xffffffffffff0000); + FUN_140027540(DAT_140162d68,local_2f0,param_2); + pcVar5 = (char *)local_2f0; + if (0xf < local_2d8) { + pcVar5 = (char *)CONCAT71(local_2f0[0]._1_7_,(char)local_2f0[0]); + } + local_288 = 0xf; + local_290 = 0; + local_2a0[0]._0_1_ = '\0'; + uVar8 = 0xffffffffffffffff; + pcVar10 = pcVar5; + do { + if (uVar8 == 0) break; + uVar8 = uVar8 - 1; + cVar1 = *pcVar10; + pcVar10 = pcVar10 + 1; + } while (cVar1 != '\0'); + FUN_14000b810(local_2a0,pcVar5,~uVar8 - 1); + pppppppwVar6 = (wchar_t *******)FUN_1400dc8f0((ulonglong *)&local_2c8,(LPCSTR)local_2a0); + if (local_340 != (wchar_t ********)pppppppwVar6) { + if ((wchar_t ******)0x7 < local_328) { + operator_delete(local_340[0]); + } + local_328 = (wchar_t ******)0x7; + local_330 = (wchar_t ******)0x0; + local_340[0] = (wchar_t *******)((ulonglong)local_340[0] & 0xffffffffffff0000); + if (pppppppwVar6[3] < (wchar_t ******)0x8) { + memmove(local_340,pppppppwVar6,((longlong)pppppppwVar6[2] + 1U) * 2); + } + else { + local_340[0] = (wchar_t *******)*pppppppwVar6; + *pppppppwVar6 = (wchar_t ******)0x0; + } + local_330 = pppppppwVar6[2]; + local_328 = pppppppwVar6[3]; + pppppppwVar6[3] = (wchar_t ******)0x7; + pppppppwVar6[2] = (wchar_t ******)0x0; + *(undefined2 *)pppppppwVar6 = 0; + } + if (7 < local_2b0) { + operator_delete(local_2c8); + } + local_2b0 = 7; + local_2b8 = 0; + local_2c8 = (void *)((ulonglong)local_2c8 & 0xffffffffffff0000); + if (0xf < local_288) { + operator_delete((void *)CONCAT71(local_2a0[0]._1_7_,(CHAR)local_2a0[0])); + } + pppppppwVar6 = (wchar_t *******)local_340; + if ((wchar_t ******)0x7 < local_328) { + pppppppwVar6 = local_340[0]; + } + uVar9 = 0x104; + wcscat_s(&local_248,0x104,(wchar_t *)pppppppwVar6); + if ((wchar_t ******)0x7 < local_328) { + operator_delete(local_340[0]); + } + local_328 = (wchar_t ******)0x7; + local_330 = (wchar_t ******)0x0; + local_340[0] = (wchar_t *******)((ulonglong)local_340[0] & 0xffffffffffff0000); + if (0xf < local_2d8) { + operator_delete((void *)CONCAT71(local_2f0[0]._1_7_,(char)local_2f0[0])); + } + local_2d8 = 0xf; + local_2e0 = 0; + local_2f0[0]._0_1_ = '\0'; + } + else { + pppppppwVar6 = (wchar_t *******)&local_318; + if (7 < local_300) { + pppppppwVar6 = (wchar_t *******)CONCAT62(uStack_316,local_318); + } + uVar9 = 0x104; + wcscat_s(&local_248,0x104,(wchar_t *)pppppppwVar6); + } + uVar8 = 0xffffffffffffffff; + pwVar11 = &local_248; + do { + if (uVar8 == 0) break; + uVar8 = uVar8 - 1; + wVar2 = *pwVar11; + pwVar11 = pwVar11 + 1; + } while (wVar2 != L'\0'); + if ((~uVar8 < 0x104) && + (DVar4 = FUN_1400094e0(&local_248,uVar9,pppppppwVar6,param_4), 0 < (int)DVar4)) { + *(DWORD *)(pwVar14 + 0x52) = DVar4; + pwVar14[0x62] = L'\x01'; + pwVar14[99] = L'\0'; + local_448 = (undefined1 *)local_2a0; + puVar12 = FUN_140006c30((longlong)pwVar14,local_2a0); + local_2c8 = *(void **)(pwVar14 + 0x5c); + local_2c0 = *(undefined8 *)(pwVar14 + 0x60); + local_2b8 = *(undefined8 *)(pwVar14 + 100); + local_2b0 = *(ulonglong *)(pwVar14 + 0x68); + local_458[0] = *(uint *)(pwVar14 + 2); + local_450 = puVar12; + lVar7 = FUN_140007fa0(uVar3); + local_468 = &local_2c8; + param_4 = local_458; + local_460 = puVar12; + (**(code **)(*(longlong *)(lVar7 + 0x68) + 0x40))((longlong *)(lVar7 + 0x68),1,&DAT_1401555d0) + ; + if ((void *)*puVar12 != (void *)0x0) { + operator_delete((void *)*puVar12); + } + *puVar12 = 0; + puVar12[1] = 0; + puVar12[2] = 0; + } + else { + pwVar14[0x62] = L'\0'; + pwVar14[99] = L'\0'; + } + if (uVar3 == 0) { + if (7 < local_300) { + operator_delete((void *)CONCAT62(uStack_316,local_318)); + } + local_300 = 7; + local_308 = 0; + local_318 = 0; + FUN_14000a550((longlong)local_3b0); + std::basic_ios_>:: + ~basic_ios_>(local_3b0); + } + else if ((int)DVar4 < 1) { + puVar12 = (undefined8 *)(DAT_140162d68 + 0x30); + if (7 < *(ulonglong *)(DAT_140162d68 + 0x48)) { + puVar12 = (undefined8 *)*puVar12; + } + FUN_1400dc9d0(local_278,L"FAILED SERVER ON %s ",puVar12,param_4); + psVar13 = (short *)local_278; + if (7 < local_260) { + psVar13 = (short *)CONCAT62(local_278[0]._2_6_,(short)local_278[0]); + } + FUN_1400080a0(uVar3,1,psVar13,param_4); + if (7 < local_260) { + operator_delete((void *)CONCAT62(local_278[0]._2_6_,(short)local_278[0])); + } + local_260 = 7; + local_268 = 0; + local_278[0]._0_2_ = 0; + if (7 < local_300) { + operator_delete((void *)CONCAT62(uStack_316,local_318)); + } + local_300 = 7; + local_308 = 0; + local_318 = 0; + FUN_14000a550((longlong)local_3b0); + std::basic_ios_>:: + ~basic_ios_>(local_3b0); + } + else { + if (7 < local_300) { + operator_delete((void *)CONCAT62(uStack_316,local_318)); + } + local_300 = 7; + local_308 = 0; + local_318 = 0; + FUN_14000a550((longlong)local_3b0); + std::basic_ios_>:: + ~basic_ios_>(local_3b0); + } + } + FUN_140004e10((longlong)param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/0x1400094e0.pseudo.c b/decomp/Agent_Release_x64/0x1400094e0.pseudo.c new file mode 100644 index 00000000..d4caa305 --- /dev/null +++ b/decomp/Agent_Release_x64/0x1400094e0.pseudo.c @@ -0,0 +1,107 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 pseudocode via REA, ev_e77cf4b520f4fa0b88408c03b2bdd27ca462d9ca84b0de51180cb56c85771b34 + * Decompiler output, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +DWORD FUN_1400094e0(wchar_t *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + wchar_t wVar2; + BOOL BVar3; + longlong *plVar4; + int *piVar5; + HANDLE hObject; + ulonglong uVar6; + wchar_t *pwVar7; + LPWSTR lpCommandLine; + undefined8 uVar8; + DWORD DVar9; + wchar_t *pwVar10; + code *pcVar11; + undefined8 uVar12; + _PROCESS_INFORMATION *_ArgList; + undefined1 auStackY_538 [32]; + undefined *local_4e8; + _PROCESS_INFORMATION local_4e0; + int *local_4c8; + undefined1 local_4c0; + undefined8 local_4b8; + _STARTUPINFOW local_4a8; + wchar_t local_438; + undefined1 local_436 [526]; + wchar_t local_228; + undefined1 local_226 [526]; + ulonglong local_18; + + local_4b8 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStackY_538; + DVar9 = 0; + local_228 = L'\0'; + memset(local_226,0,0x206); + local_438 = L'\0'; + memset(local_436,0,0x206); + uVar6 = 0xffffffffffffffff; + pwVar10 = param_1; + do { + if (uVar6 == 0) break; + uVar6 = uVar6 - 1; + wVar2 = *pwVar10; + pwVar10 = pwVar10 + 1; + } while (wVar2 != L'\0'); + uVar6 = ~uVar6; + wcscpy_s(&local_228,uVar6,param_1); + plVar4 = FUN_14002fe90((longlong *)&local_4e8,uVar6,param_1,param_4); + pwVar10 = (wchar_t *)*plVar4; + if ((wchar_t *)*plVar4 == (wchar_t *)0x0) { + pwVar10 = (wchar_t *)PTR_DAT_140155010; + } + pwVar7 = &local_438; + wcscpy_s(&local_438,0x104,pwVar10); + if (((local_4e8 != (undefined *)0x0) && (local_4e8 != PTR_DAT_140155010)) && + (local_4e8 + -8 != (undefined *)0x0)) { + piVar5 = (int *)FUN_140030200(pwVar7,local_4e8,pwVar10,param_4); + local_4c8 = piVar5; + FUN_14002e6e0(piVar5); + local_4c0 = 1; + piVar1 = (int *)(local_4e8 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_4e8 + -8); + } + FUN_14002e770((longlong)piVar5); + } + memset(&local_4a8,0,0x68); + local_4a8.cb = 0x68; + local_4a8.dwFlags = 0x13; + local_4a8.dwXSize = 700; + local_4a8.dwYSize = 0x6e; + local_4a8.dwFillAttribute = 0x17; + local_4a8.wShowWindow = 5; + uVar12 = 0; + uVar8 = 0; + lpCommandLine = &local_228; + BVar3 = CreateProcessW((LPCWSTR)0x0,lpCommandLine,(LPSECURITY_ATTRIBUTES)0x0, + (LPSECURITY_ATTRIBUTES)0x0,0,0x10,(LPVOID)0x0,&local_438,&local_4a8, + &local_4e0); + if (BVar3 == 0) { + FUN_140010aa0(L"=======Server Fail=======\n",lpCommandLine,uVar8,uVar12); + FUN_140010aa0(L"Path\t: [%s] \n",&local_438,uVar8,uVar12); + FUN_140010aa0(L"File\t: [%s] \n",&local_228,uVar8,uVar12); + } + else { + CloseHandle(local_4e0.hThread); + _ArgList = &local_4e0; + pcVar11 = FUN_140008c90; + uVar8 = 0; + hObject = (HANDLE)_beginthreadex((void *)0x0,0,FUN_140008c90,_ArgList,0,(uint *)&local_4e8); + CloseHandle(hObject); + FUN_140010aa0(L"=======ServerOn=======\n",uVar8,pcVar11,_ArgList); + DVar9 = local_4e0.dwProcessId; + } + printf("//////////////////////////////////////////////////////////////////////////\n"); + Sleep(1000); + return DVar9; +} + diff --git a/decomp/Agent_Release_x64/0x140009780.pseudo.c b/decomp/Agent_Release_x64/0x140009780.pseudo.c new file mode 100644 index 00000000..4985269e --- /dev/null +++ b/decomp/Agent_Release_x64/0x140009780.pseudo.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 pseudocode via REA, ev_ad71d730ad826f5e73d5b5ec119273acf91c525002d977f0d017bc11eb2cfbb4 + * Decompiler output, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_140009780(wchar_t *param_1) + +{ + int iVar1; + BOOL BVar2; + HANDLE hObject; + HANDLE hProcess; + undefined4 extraout_var; + undefined4 extraout_var_00; + undefined1 auStack_278 [32]; + undefined4 local_258 [2]; + DWORD local_250; + wchar_t local_22c [266]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_278; + if (param_1 != (wchar_t *)0x0) { + hObject = (HANDLE)CreateToolhelp32Snapshot(2); + memset(local_258,0,0x238); + local_258[0] = 0x238; + iVar1 = Process32FirstW(hObject,local_258); + while (iVar1 != 0) { + iVar1 = _wcsicmp(param_1,local_22c); + if ((iVar1 == 0) && + (hProcess = OpenProcess(1,0,local_250), hProcess != (HANDLE)0xffffffffffffffff)) { + wprintf(L"Process Kill.!!! [%s] \n"); + TerminateProcess(hProcess,0); + BVar2 = CloseHandle(hProcess); + return CONCAT71((int7)(CONCAT44(extraout_var_00,BVar2) >> 8),1); + } + iVar1 = Process32NextW(hObject,local_258); + } + BVar2 = CloseHandle(hObject); + local_18 = CONCAT44(extraout_var,BVar2); + } + return local_18 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/0x1400100b0.pseudo.c b/decomp/Agent_Release_x64/0x1400100b0.pseudo.c new file mode 100644 index 00000000..6606db89 --- /dev/null +++ b/decomp/Agent_Release_x64/0x1400100b0.pseudo.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 pseudocode via REA, ev_ad71d730ad826f5e73d5b5ec119273acf91c525002d977f0d017bc11eb2cfbb4 + * Decompiler output, not original source. */ + +undefined4 FUN_1400100b0(undefined8 *param_1) + +{ + DWORD DVar1; + uint extraout_EAX; + HANDLE pvVar2; + wchar_t *_Format; + + pvVar2 = CreateMutexW((LPSECURITY_ATTRIBUTES)0x0,1,L"Global\\RustyHearts_Agent"); + *param_1 = pvVar2; + DVar1 = GetLastError(); + if (DVar1 == 5) { + _Format = L"ERROR_ACCESS_DENIED!!! %s \n"; + } + else { + if (DVar1 != 0xb7) { + return CONCAT31((int3)(DVar1 >> 8),1); + } + _Format = L"ERROR_ALREADY_EXISTS!!! %s \n"; + } + wprintf(_Format); + Sleep(3000); + return extraout_EAX & 0xffffff00; +} + diff --git a/decomp/Agent_Release_x64/binary_overview.json b/decomp/Agent_Release_x64/binary_overview.json new file mode 100644 index 00000000..3259c4b6 --- /dev/null +++ b/decomp/Agent_Release_x64/binary_overview.json @@ -0,0 +1,83 @@ +{ + "evidence_id": "ev_9fe3a449c6aa867adaabf1b34be9967bba78f98a7d72bc69f9fab835fb7db03b", + "sha256": "6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469", + "document": "target-6f2be7b8eb79.exe", + "image_base": "0x140000000", + "procedure_count": 6814, + "segment_count": 9, + "segments": [ + { + "address_space": "ram", + "end": "0x140000400", + "image_base": "0x140000000", + "length": 1024, + "name": "Headers", + "start": "0x140000000" + }, + { + "address_space": "ram", + "end": "0x1400f1a00", + "image_base": "0x140000000", + "length": 985600, + "name": ".text", + "start": "0x140001000" + }, + { + "address_space": "ram", + "end": "0x140154200", + "image_base": "0x140000000", + "length": 401920, + "name": ".rdata", + "start": "0x1400f2000" + }, + { + "address_space": "ram", + "end": "0x140163450", + "image_base": "0x140000000", + "length": 58448, + "name": ".data", + "start": "0x140155000" + }, + { + "address_space": "ram", + "end": "0x14016ee00", + "image_base": "0x140000000", + "length": 44544, + "name": ".pdata", + "start": "0x140164000" + }, + { + "address_space": "ram", + "end": "0x14016f200", + "image_base": "0x140000000", + "length": 512, + "name": ".tls", + "start": "0x14016f000" + }, + { + "address_space": "ram", + "end": "0x140170200", + "image_base": "0x140000000", + "length": 512, + "name": ".rsrc", + "start": "0x140170000" + }, + { + "address_space": "ram", + "end": "0x140173600", + "image_base": "0x140000000", + "length": 9728, + "name": ".reloc", + "start": "0x140171000" + }, + { + "address_space": "ram", + "end": "0xff00001850", + "image_base": "0x140000000", + "length": 6224, + "name": "tdb", + "start": "0xff00000000" + } + ], + "string_count": 1472 +} \ No newline at end of file diff --git a/decomp/Agent_Release_x64/cpp/AgentProcessControl.cpp b/decomp/Agent_Release_x64/cpp/AgentProcessControl.cpp new file mode 100644 index 00000000..646975f3 --- /dev/null +++ b/decomp/Agent_Release_x64/cpp/AgentProcessControl.cpp @@ -0,0 +1,228 @@ +// AgentProcessControl.cpp — hand-lifted C++ reconstruction of Agent_Release_x64.exe +// sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 +// +// Source of truth: Ghidra pseudocode in ../0x.pseudo.c and full/functions/. +// This file is a READABLE RECONSTRUCTION, not recovered source: +// - control flow and Win32 calls are observed in the decompiled code; +// - all type/field/function names are inferred (no PDB) and marked so; +// - std::wstring temporaries, stack cookies and inlined string code are elided. +// Static analysis only; runtime behaviour has not been observed. + +#include +#include +#include +#include +#include +#include + +// --------------------------------------------------------------------------- +// ServerEntry: per-managed-server record held in a hash map keyed by server +// code (global at 0x140162d60, bucket array +0x38, bucket count +0x40, +// element count +0x58). Offsets observed; names inferred. +// --------------------------------------------------------------------------- +struct ServerEntry { + /* +0x04 */ int32_t code; // hash key; sent in RMI notifications + /* +0x0c */ uint8_t type; // compared against server-type table; ==1 triggers extra step on exit + /* +0xa0 */ int32_t unk_a0; // zeroed when the process exits (purpose unknown) + /* +0xa4 */ DWORD pid; // set from CreateProcessW result + /* +0xb8..0xd7 */ // 32 bytes copied into the RMI "server state" payload + /* +0xc4 */ int32_t running; // 1 = launched/launching, 0 = stopped + /* +0xd0 */ int32_t unk_d0; // >0 together with type==1 triggers FUN_140009f20 on exit + /* +0xd5 */ uint8_t revive; // relaunch on exit (inferred: XML key "revive_server") +}; +// NOTE: layout shown as comments; real struct has unrecovered gaps. + +// Server-type table (global at 0x140162d58): vector of 0x30-byte records +// +0x00 uint8_t type; +0x08 std::wstring exePath (MSVC SSO, cap at +0x20) +struct ServerTypeInfo { uint8_t type; std::wstring exePath; }; + +// Agent options singleton (global at 0x140162d68). Observed fields: +// +0x030 std::wstring agentName (used in "FAILED SERVER ON %s") +// +0x152 bool useCodeAsArgument (true: arg = decimal server code) +// +0x171 bool reviveAll (global relaunch-on-exit) +// +0x178 double autoServerOnDelay (seconds after start; <=0 disables) + +// --------------------------------------------------------------------------- +// 0x1400100b0 AcquireSingleInstanceMutex (observed) +// --------------------------------------------------------------------------- +bool AcquireSingleInstanceMutex(HANDLE* outMutex) +{ + *outMutex = CreateMutexW(nullptr, TRUE, L"Global\\RustyHearts_Agent"); + DWORD err = GetLastError(); + if (err == ERROR_ACCESS_DENIED) wprintf(L"ERROR_ACCESS_DENIED!!! %s \n"); // format arg missing in binary + else if (err == ERROR_ALREADY_EXISTS) wprintf(L"ERROR_ALREADY_EXISTS!!! %s \n"); + else return true; + Sleep(3000); + return false; +} + +// --------------------------------------------------------------------------- +// 0x140009780 KillProcessByName (observed) +// Terminates only the FIRST process whose image name matches (case-insensitive). +// --------------------------------------------------------------------------- +bool KillProcessByName(const wchar_t* exeName) +{ + if (!exeName) return false; + HANDLE snap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); + PROCESSENTRY32W pe = { sizeof(pe) }; + for (BOOL ok = Process32FirstW(snap, &pe); ok; ok = Process32NextW(snap, &pe)) { + if (_wcsicmp(exeName, pe.szExeFile) != 0) continue; + HANDLE h = OpenProcess(PROCESS_TERMINATE, FALSE, pe.th32ProcessID); + if (h != INVALID_HANDLE_VALUE) { // binary compares to -1, not NULL + wprintf(L"Process Kill.!!! [%s] \n"); // format arg missing in binary + TerminateProcess(h, 0); + CloseHandle(h); + return true; // note: snapshot handle leaked on this path + } + } + CloseHandle(snap); + return false; +} + +unsigned __stdcall ProcessWatchThread(void* arg); // below + +// --------------------------------------------------------------------------- +// 0x1400094e0 LaunchProcess (observed) +// Returns PID, or 0 on failure. Working directory = directory of the exe +// (inferred: derived from cmdline by FUN_14002fe90). +// --------------------------------------------------------------------------- +DWORD LaunchProcess(const wchar_t* commandLine) +{ + wchar_t cmd[MAX_PATH] = {}; + wchar_t workDir[MAX_PATH] = {}; + wcscpy_s(cmd, commandLine); + /* workDir <- FUN_14002fe90(commandLine) (inferred: path-of-exe helper) */ + + STARTUPINFOW si = {}; + si.cb = sizeof(si); + si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESIZE | STARTF_USEFILLATTRIBUTE; // 0x13 + si.dwXSize = 700; si.dwYSize = 110; + si.dwFillAttribute = 0x17; // white on blue + si.wShowWindow = SW_SHOW; + PROCESS_INFORMATION pi = {}; + + DWORD pid = 0; + if (!CreateProcessW(nullptr, cmd, nullptr, nullptr, FALSE, CREATE_NEW_CONSOLE, + nullptr, workDir, &si, &pi)) { + Log(L"=======Server Fail=======\n"); + Log(L"Path\t: [%s] \n", workDir); + Log(L"File\t: [%s] \n", cmd); + } else { + CloseHandle(pi.hThread); + // passes a pointer to the STACK PROCESS_INFORMATION; the thread reads it + // immediately, so this relies on the 1 s Sleep below (latent race). + unsigned tid; + CloseHandle((HANDLE)_beginthreadex(nullptr, 0, ProcessWatchThread, &pi, 0, &tid)); + Log(L"=======ServerOn=======\n"); + pid = pi.dwProcessId; + } + printf("//////////////////////////////////////////////////////////////////////////\n"); + Sleep(1000); + return pid; +} + +// --------------------------------------------------------------------------- +// 0x140008ea0 ServerOn(request) (observed flow; names inferred) +// request: +0x04 server code, +0x0c server type. +// --------------------------------------------------------------------------- +void ServerOn(void* self, const ServerRequest* req) +{ + ServerEntry* e = g_servers.Find(req->code); // hash lookup + if (e->running == 0) { + e->running = 1; + AgentManagerSession* mgr = g_agentServer->managerSession; // 0x1400626f8 +0xa8 + + std::wstring cmd = g_serverTypes.ExePath(req->type) + L" "; + if (!g_options->useCodeAsArgument) + cmd += Widen(BuildLaunchArgs(g_options, req)); // FUN_140027540 — contents UNKNOWN + else + cmd += std::to_wstring(req->code); + + DWORD pid = 0; + if (cmd.size() < MAX_PATH && (pid = LaunchProcess(cmd.c_str())) > 0) { + e->pid = pid; + e->running = 1; + // RMI to AgentManager, vtable slot +0x40 on proxy at session+0x68: + mgr->proxy.NotifyServerState(/*host*/1, /*rmiCtx*/g_rmiCtx, e->code, e->state, e->Serialize()); + } else { + e->running = 0; + } + if (mgr && pid == 0) + mgr->SendLog(1, Format(L"FAILED SERVER ON %s ", g_options->agentName.c_str())); + } + ReleaseRequest(req); // FUN_140004e10 +} + +// --------------------------------------------------------------------------- +// 0x140008c90 ProcessWatchThread (observed) +// --------------------------------------------------------------------------- +unsigned __stdcall ProcessWatchThread(void* arg) +{ + auto* pi = static_cast(arg); + HANDLE hProcess = pi->hProcess; + DWORD pid = pi->dwProcessId; + DWORD code; + do { Sleep(10); GetExitCodeProcess(hProcess, &code); } while (code == STILL_ACTIVE); + // note: hProcess is never closed (handle leak per launch) + + ServerEntry* e = g_servers.FindByPid(pid); // FUN_14002c9a0 + if (!e) { wprintf(L"NOT FIND PROCESS ID \n"); return 0; } + + AgentManagerSession* mgr = g_agentServer->managerSession; + if (mgr) { + e->unk_a0 = 0; + e->running = 0; + mgr->proxy.NotifyServerState(1, g_rmiCtx, e->code, e->state, e->Serialize()); // slot +0x40 + mgr->proxy.NotifyServerStopped(1, g_rmiCtx, /*flag*/1, e->code, /*?*/1); // slot +0x50 + if (e->revive || g_options->reviveAll) { + ServerOn(g_agentProcess, MakeRequest(e)); + if (e->type == 1 && e->unk_d0 > 0) FUN_140009f20(g_agentProcess, e->code); + } + } + return 0; +} + +// --------------------------------------------------------------------------- +// 0x1400037a0 MagiAgentServer::Run (observed; simplified) +// --------------------------------------------------------------------------- +int MagiAgentServer::Run() +{ + LogBanner(L"# Agent Startup #\n\n"); + CoInitialize(nullptr); + Log(L"+ Prepare Startup\n"); + + network_ = new MagiAgentNetwork(); // 0xb8 bytes, FUN_140005020 + managerSession_ = new MGAgentManagerSession(network_); // 0x68 bytes + /* if options map has entry type 0x15 (AgentManager address): + connect and pump until connected (FUN_1400023e0 loop) */ + network_->Start(); // FUN_140005360 + LogBanner(L"\n # Agent Running... #\n"); + + timer_ = new Magi::Timer(new TimeSourceHRWin32()); // QueryPerformanceCounter + g_options->Load(); // FUN_1400271e0 + KillProcessByName(g_serverTypes.ExePath(0x18)); // kill stale process of type 0x18 (UNKNOWN which server) + StartConsoleThread(); // FUN_140001dc0 (inferred: keyboard menu) + + bool autoOnPending = true; + double lastSec = 0, lastTick = 0; + while (running_) { // +0x60 + clock_.Update(); + double now = timer_->Now(); + if (g_options->autoServerOnDelay > 0 && now > g_options->autoServerOnDelay && autoOnPending) { + autoOnPending = false; + printf("Start Auto Server On. \n"); + AllServerOn(); // FUN_140009bd0 + } + managerSession_->Update(now); // FUN_140007da0 + if (now - lastSec >= 1.0) { /* optional "[ %s ] FPS[ %d ]" print */ lastSec = now; } + if (now - lastTick >= 0.1) { Tick(); network_->Update(now); lastTick = now; } // 10 Hz + lastTime_ = now; + Sleep(1); + } + Log(L"+ Prepare Stop\n"); + managerSession_->Stop(); + delete network_->netServer_; + CoUninitialize(); + LogBanner(L"# Agent Stoped... #\n"); + return 0; +} diff --git a/decomp/Agent_Release_x64/cpp/classes.hpp b/decomp/Agent_Release_x64/cpp/classes.hpp new file mode 100644 index 00000000..9041f687 --- /dev/null +++ b/decomp/Agent_Release_x64/cpp/classes.hpp @@ -0,0 +1,463 @@ +// Auto-generated from RTTI vftables (full/vtables.tsv), Ghidra 12.1.2. +// Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 +// RECONSTRUCTION. Observed: class names (RTTI) and vftable slot -> function address. +// Unknown (no PDB): method names, signatures, data members, base-class relationships. +// A class with several vftables uses multiple inheritance (one vftable per base +// subobject); which base each belongs to is not yet recovered, so slots are +// grouped as vtN. Implementations: full/functions/
.c +#pragma once + +// MBISingleton (template instantiation) vftable 0x14011aff8: 0x140001300 + +class CConsoleControl { +public: + // vt0: vftable 0x14011afe8 + virtual void vt0_0_vf_140001300(); // slot 0 -> 0x140001300 +}; + +class MagiServerBase { +public: + // vt0: vftable 0x14011b130 + virtual void vt0_0_vf_140001b50(); // slot 0 -> 0x140001b50 +}; + +class MagiCommonSession { +public: + // vt0: vftable 0x14011b518 + virtual void vt0_0_vf_1400020d0(); // slot 0 -> 0x1400020d0 + virtual void vt0_pure1() = 0; // slot 1 -> 0x14003b036 (_purecall) + virtual void vt0_pure2() = 0; // slot 2 -> 0x14003b036 (_purecall) + virtual void vt0_pure3() = 0; // slot 3 -> 0x14003b036 (_purecall) + virtual void vt0_pure4() = 0; // slot 4 -> 0x14003b036 (_purecall) + virtual void vt0_pure5() = 0; // slot 5 -> 0x14003b036 (_purecall) + virtual void vt0_6_vf_140006b80(); // slot 6 -> 0x140006b80 + virtual void vt0_pure7() = 0; // slot 7 -> 0x14003b036 (_purecall) + virtual void vt0_pure8() = 0; // slot 8 -> 0x14003b036 (_purecall) + virtual void vt0_pure9() = 0; // slot 9 -> 0x14003b036 (_purecall) + virtual void vt0_pure10() = 0; // slot 10 -> 0x14003b036 (_purecall) + virtual void vt0_pure11() = 0; // slot 11 -> 0x14003b036 (_purecall) + virtual void vt0_12_vf_140006b80(); // slot 12 -> 0x140006b80 + virtual void vt0_pure13() = 0; // slot 13 -> 0x14003b036 (_purecall) +}; + +// MBISingleton (template instantiation) vftable 0x14011bc00: 0x140004fc0 + +class MagiAgentServer { +public: + // vt0: vftable 0x14011bbc0 + virtual void vt0_0_vf_140004c00(); // slot 0 -> 0x140004c00 + // vt1: vftable 0x14011bbb0 + virtual void vt1_0_vf_1400033f0(); // slot 0 -> 0x1400033f0 +}; + +class MagiAgentNetwork { +public: + // vt0: vftable 0x14011cb58 + virtual void vt0_0_vf_140006b70(); // slot 0 -> 0x140006b70 + virtual void vt0_1_vf_140006b60(); // slot 1 -> 0x140006b60 + virtual void vt0_2_vf_140018120(); // slot 2 -> 0x140018120 + virtual void vt0_3_vf_140006b80(); // slot 3 -> 0x140006b80 + virtual void vt0_4_vf_140006b80(); // slot 4 -> 0x140006b80 + virtual void vt0_5_vf_140006b30(); // slot 5 -> 0x140006b30 + virtual void vt0_6_vf_140006b10(); // slot 6 -> 0x140006b10 + virtual void vt0_7_vf_14000b970(); // slot 7 -> 0x14000b970 + virtual void vt0_8_vf_14000bb00(); // slot 8 -> 0x14000bb00 + virtual void vt0_9_vf_14000bd70(); // slot 9 -> 0x14000bd70 + virtual void vt0_10_vf_14000c120(); // slot 10 -> 0x14000c120 + virtual void vt0_11_vf_140006b20(); // slot 11 -> 0x140006b20 + virtual void vt0_12_vf_14000be40(); // slot 12 -> 0x14000be40 + virtual void vt0_13_vf_14000be80(); // slot 13 -> 0x14000be80 + virtual void vt0_14_vf_14000bed0(); // slot 14 -> 0x14000bed0 + virtual void vt0_15_vf_140006b20(); // slot 15 -> 0x140006b20 + virtual void vt0_16_vf_14000bf00(); // slot 16 -> 0x14000bf00 + virtual void vt0_17_vf_14000bf30(); // slot 17 -> 0x14000bf30 + virtual void vt0_18_vf_14000bf50(); // slot 18 -> 0x14000bf50 + // vt1: vftable 0x14011cab8 + virtual void vt1_0_vf_140005100(); // slot 0 -> 0x140005100 + virtual void vt1_1_vf_140005200(); // slot 1 -> 0x140005200 + virtual void vt1_2_vf_1400052a0(); // slot 2 -> 0x1400052a0 + virtual void vt1_3_vf_140006b80(); // slot 3 -> 0x140006b80 + virtual void vt1_4_vf_140005340(); // slot 4 -> 0x140005340 + virtual void vt1_5_vf_140006b80(); // slot 5 -> 0x140006b80 + virtual void vt1_6_vf_140006b80(); // slot 6 -> 0x140006b80 + virtual void vt1_7_vf_140005620(); // slot 7 -> 0x140005620 + virtual void vt1_8_vf_1400056f0(); // slot 8 -> 0x1400056f0 + virtual void vt1_9_vf_140005940(); // slot 9 -> 0x140005940 + virtual void vt1_10_vf_140006b80(); // slot 10 -> 0x140006b80 + virtual void vt1_11_vf_140006b80(); // slot 11 -> 0x140006b80 + virtual void vt1_12_vf_140006b80(); // slot 12 -> 0x140006b80 + virtual void vt1_13_vf_140006b80(); // slot 13 -> 0x140006b80 + virtual void vt1_14_vf_140006b80(); // slot 14 -> 0x140006b80 + virtual void vt1_15_vf_140006b80(); // slot 15 -> 0x140006b80 + virtual void vt1_16_vf_140006b80(); // slot 16 -> 0x140006b80 + virtual void vt1_17_vf_140006b80(); // slot 17 -> 0x140006b80 +}; + +class MGAgentManagerSession { +public: + // vt0: vftable 0x14011cf18 + virtual void vt0_0_vf_140008c00(); // slot 0 -> 0x140008c00 + virtual void vt0_1_vf_140008bf0(); // slot 1 -> 0x140008bf0 + virtual void vt0_2_vf_14001d960(); // slot 2 -> 0x14001d960 + virtual void vt0_3_vf_140006b80(); // slot 3 -> 0x140006b80 + virtual void vt0_4_vf_140006b80(); // slot 4 -> 0x140006b80 + virtual void vt0_5_vf_140006b30(); // slot 5 -> 0x140006b30 + virtual void vt0_6_vf_140008be0(); // slot 6 -> 0x140008be0 + virtual void vt0_7_vf_14000d780(); // slot 7 -> 0x14000d780 + virtual void vt0_8_vf_14000df90(); // slot 8 -> 0x14000df90 + virtual void vt0_9_vf_14000e410(); // slot 9 -> 0x14000e410 + virtual void vt0_10_vf_14000e1e0(); // slot 10 -> 0x14000e1e0 + virtual void vt0_11_vf_14000e460(); // slot 11 -> 0x14000e460 + virtual void vt0_12_vf_14000e080(); // slot 12 -> 0x14000e080 + virtual void vt0_13_vf_14000e0b0(); // slot 13 -> 0x14000e0b0 + virtual void vt0_14_vf_14000e480(); // slot 14 -> 0x14000e480 + virtual void vt0_15_vf_14000e4c0(); // slot 15 -> 0x14000e4c0 + virtual void vt0_16_vf_14000e4f0(); // slot 16 -> 0x14000e4f0 + virtual void vt0_17_vf_14000e520(); // slot 17 -> 0x14000e520 + virtual void vt0_18_vf_14000e550(); // slot 18 -> 0x14000e550 + virtual void vt0_19_vf_14000d140(); // slot 19 -> 0x14000d140 + virtual void vt0_20_vf_14000d1d0(); // slot 20 -> 0x14000d1d0 + virtual void vt0_21_vf_14000d320(); // slot 21 -> 0x14000d320 + virtual void vt0_22_vf_14000d260(); // slot 22 -> 0x14000d260 + virtual void vt0_23_vf_14000d3b0(); // slot 23 -> 0x14000d3b0 + // vt1: vftable 0x14011ce98 + virtual void vt1_0_vf_140007030(); // slot 0 -> 0x140007030 + virtual void vt1_1_vf_140007120(); // slot 1 -> 0x140007120 + virtual void vt1_2_vf_1400071c0(); // slot 2 -> 0x1400071c0 + virtual void vt1_3_vf_140006b80(); // slot 3 -> 0x140006b80 + virtual void vt1_4_vf_140007260(); // slot 4 -> 0x140007260 + virtual void vt1_5_vf_140006b80(); // slot 5 -> 0x140006b80 + virtual void vt1_6_vf_140006b80(); // slot 6 -> 0x140006b80 + virtual void vt1_7_vf_140007280(); // slot 7 -> 0x140007280 + virtual void vt1_8_vf_1400073a0(); // slot 8 -> 0x1400073a0 + virtual void vt1_9_vf_140006b80(); // slot 9 -> 0x140006b80 + virtual void vt1_10_vf_140006b80(); // slot 10 -> 0x140006b80 + virtual void vt1_11_vf_140006b80(); // slot 11 -> 0x140006b80 + virtual void vt1_12_vf_140006b80(); // slot 12 -> 0x140006b80 + virtual void vt1_13_vf_140006b80(); // slot 13 -> 0x140006b80 +}; + +// MBISingleton (template instantiation) vftable 0x14011d240: 0x14000b910 + +class MagiAgentProcess { +public: + // vt0: vftable 0x14011d230 + virtual void vt0_0_vf_140008c10(); // slot 0 -> 0x140008c10 +}; + +// MBMultiThreadSync (template instantiation) vftable 0x14011d748: 0x14000ebb0 + +// MBISingleton (template instantiation) vftable 0x14011d738: 0x14000eb70 + +class MBCLog { +public: + // vt0: vftable 0x14011d728 + virtual void vt0_0_vf_14000ecb0(); // slot 0 -> 0x14000ecb0 + // vt1: vftable 0x14011d718 + virtual void vt1_0_vf_14000eb10(); // slot 0 -> 0x14000eb10 +}; + +// MBISingleton (template instantiation) vftable 0x14011e9e8: 0x140016290 + +class Clock { +public: + // vt0: vftable 0x14011e9d8 + virtual void vt0_0_vf_1400162d0(); // slot 0 -> 0x1400162d0 + // vt1: vftable 0x14011e9b0 + virtual void vt1_0_vf_1400161b0(); // slot 0 -> 0x1400161b0 + virtual void vt1_1_vf_1400161a0(); // slot 1 -> 0x1400161a0 + virtual void vt1_2_vf_1400dc2d0(); // slot 2 -> 0x1400dc2d0 + virtual void vt1_3_vf_1400dc230(); // slot 3 -> 0x1400dc230 +}; + +class ISubject { +public: + // vt0: vftable 0x14011e988 + virtual void vt0_0_vf_140016170(); // slot 0 -> 0x140016170 + virtual void vt0_pure1() = 0; // slot 1 -> 0x14003b036 (_purecall) + virtual void vt0_pure2() = 0; // slot 2 -> 0x14003b036 (_purecall) + virtual void vt0_pure3() = 0; // slot 3 -> 0x14003b036 (_purecall) +}; + +class TimeSourceHRWin32 { +public: + // vt0: vftable 0x14011ea10 + virtual void vt0_0_vf_1400162e0(); // slot 0 -> 0x1400162e0 + virtual void vt0_1_vf_1400dc130(); // slot 1 -> 0x1400dc130 +}; + +class TimeSource { +public: + // vt0: vftable 0x14011e9f8 + virtual void vt0_0_vf_1400162e0(); // slot 0 -> 0x1400162e0 + virtual void vt0_pure1() = 0; // slot 1 -> 0x14003b036 (_purecall) +}; + +namespace Magi { +class Timer { +public: + // vt0: vftable 0x14011ea40 + virtual void vt0_0_vf_140016350(); // slot 0 -> 0x140016350 + virtual void vt0_1_vf_1400dc040(); // slot 1 -> 0x1400dc040 +}; +} + +class IObserver { +public: + // vt0: vftable 0x14011ea28 + virtual void vt0_0_vf_140016320(); // slot 0 -> 0x140016320 + virtual void vt0_pure1() = 0; // slot 1 -> 0x14003b036 (_purecall) +}; + +namespace RNP { +class Server2AgentStub { +public: + // vt0: vftable 0x14011f108 + virtual void vt0_0_vf_140006b70(); // slot 0 -> 0x140006b70 + virtual void vt0_1_vf_140006b60(); // slot 1 -> 0x140006b60 + virtual void vt0_2_vf_140018120(); // slot 2 -> 0x140018120 + virtual void vt0_3_vf_140006b80(); // slot 3 -> 0x140006b80 + virtual void vt0_4_vf_140006b80(); // slot 4 -> 0x140006b80 + virtual void vt0_5_vf_140006b30(); // slot 5 -> 0x140006b30 + virtual void vt0_6_scalar_deleting_dtor(); // slot 6 -> 0x14001ac20 + virtual void vt0_7_vf_140006b20(); // slot 7 -> 0x140006b20 + virtual void vt0_8_vf_140006b20(); // slot 8 -> 0x140006b20 + virtual void vt0_9_vf_140006b20(); // slot 9 -> 0x140006b20 + virtual void vt0_10_vf_140006b20(); // slot 10 -> 0x140006b20 + virtual void vt0_11_vf_140006b20(); // slot 11 -> 0x140006b20 + virtual void vt0_12_vf_140006b20(); // slot 12 -> 0x140006b20 + virtual void vt0_13_vf_140006b20(); // slot 13 -> 0x140006b20 + virtual void vt0_14_vf_140006b20(); // slot 14 -> 0x140006b20 + virtual void vt0_15_vf_140006b20(); // slot 15 -> 0x140006b20 + virtual void vt0_16_vf_140006b20(); // slot 16 -> 0x140006b20 + virtual void vt0_17_vf_140006b20(); // slot 17 -> 0x140006b20 + virtual void vt0_18_vf_140006b20(); // slot 18 -> 0x140006b20 +}; +} + +namespace RNP { +class Agent2ServerProxy { +public: + // vt0: vftable 0x14011eff8 + virtual void vt0_0_vf_1400163b0(); // slot 0 -> 0x1400163b0 + virtual void vt0_1_vf_1400163c0(); // slot 1 -> 0x1400163c0 + virtual void vt0_2_vf_140006b80(); // slot 2 -> 0x140006b80 + virtual void vt0_3_vf_140082060(); // slot 3 -> 0x140082060 + virtual void vt0_4_scalar_deleting_dtor(); // slot 4 -> 0x14001abd0 + virtual void vt0_5_vf_1400165e0(); // slot 5 -> 0x1400165e0 + virtual void vt0_6_vf_140016400(); // slot 6 -> 0x140016400 + virtual void vt0_7_vf_1400168d0(); // slot 7 -> 0x1400168d0 + virtual void vt0_8_vf_1400167f0(); // slot 8 -> 0x1400167f0 + virtual void vt0_9_vf_140016aa0(); // slot 9 -> 0x140016aa0 + virtual void vt0_10_vf_1400169b0(); // slot 10 -> 0x1400169b0 + virtual void vt0_11_vf_140016c70(); // slot 11 -> 0x140016c70 + virtual void vt0_12_vf_140016b90(); // slot 12 -> 0x140016b90 + virtual void vt0_13_vf_140016e50(); // slot 13 -> 0x140016e50 + virtual void vt0_14_vf_140016d50(); // slot 14 -> 0x140016d50 + virtual void vt0_15_vf_140017040(); // slot 15 -> 0x140017040 + virtual void vt0_16_vf_140016f60(); // slot 16 -> 0x140016f60 + virtual void vt0_17_vf_140017210(); // slot 17 -> 0x140017210 + virtual void vt0_18_vf_140017120(); // slot 18 -> 0x140017120 + virtual void vt0_19_vf_1400173f0(); // slot 19 -> 0x1400173f0 + virtual void vt0_20_vf_140017310(); // slot 20 -> 0x140017310 + virtual void vt0_21_vf_1400175f0(); // slot 21 -> 0x1400175f0 + virtual void vt0_22_vf_1400174d0(); // slot 22 -> 0x1400174d0 + virtual void vt0_23_vf_140017810(); // slot 23 -> 0x140017810 + virtual void vt0_24_vf_140017720(); // slot 24 -> 0x140017720 + virtual void vt0_25_vf_1400179f0(); // slot 25 -> 0x1400179f0 + virtual void vt0_26_vf_140017900(); // slot 26 -> 0x140017900 + virtual void vt0_27_vf_140017bd0(); // slot 27 -> 0x140017bd0 + virtual void vt0_28_vf_140017ae0(); // slot 28 -> 0x140017ae0 + virtual void vt0_29_vf_140017dd0(); // slot 29 -> 0x140017dd0 + virtual void vt0_30_vf_140017cc0(); // slot 30 -> 0x140017cc0 + virtual void vt0_31_vf_140018000(); // slot 31 -> 0x140018000 + virtual void vt0_32_vf_140017ef0(); // slot 32 -> 0x140017ef0 +}; +} + +namespace AGENT2SERVER_PROTOCOL { +class Proxy { +public: + // vt0: vftable 0x14011eee8 + virtual void vt0_0_vf_1400163b0(); // slot 0 -> 0x1400163b0 + virtual void vt0_1_vf_1400163c0(); // slot 1 -> 0x1400163c0 + virtual void vt0_2_vf_140093300(); // slot 2 -> 0x140093300 + virtual void vt0_3_vf_140082060(); // slot 3 -> 0x140082060 + virtual void vt0_4_vf_1400163d0(); // slot 4 -> 0x1400163d0 + virtual void vt0_5_vf_1400165e0(); // slot 5 -> 0x1400165e0 + virtual void vt0_6_vf_140016400(); // slot 6 -> 0x140016400 + virtual void vt0_7_vf_1400168d0(); // slot 7 -> 0x1400168d0 + virtual void vt0_8_vf_1400167f0(); // slot 8 -> 0x1400167f0 + virtual void vt0_9_vf_140016aa0(); // slot 9 -> 0x140016aa0 + virtual void vt0_10_vf_1400169b0(); // slot 10 -> 0x1400169b0 + virtual void vt0_11_vf_140016c70(); // slot 11 -> 0x140016c70 + virtual void vt0_12_vf_140016b90(); // slot 12 -> 0x140016b90 + virtual void vt0_13_vf_140016e50(); // slot 13 -> 0x140016e50 + virtual void vt0_14_vf_140016d50(); // slot 14 -> 0x140016d50 + virtual void vt0_15_vf_140017040(); // slot 15 -> 0x140017040 + virtual void vt0_16_vf_140016f60(); // slot 16 -> 0x140016f60 + virtual void vt0_17_vf_140017210(); // slot 17 -> 0x140017210 + virtual void vt0_18_vf_140017120(); // slot 18 -> 0x140017120 + virtual void vt0_19_vf_1400173f0(); // slot 19 -> 0x1400173f0 + virtual void vt0_20_vf_140017310(); // slot 20 -> 0x140017310 + virtual void vt0_21_vf_1400175f0(); // slot 21 -> 0x1400175f0 + virtual void vt0_22_vf_1400174d0(); // slot 22 -> 0x1400174d0 + virtual void vt0_23_vf_140017810(); // slot 23 -> 0x140017810 + virtual void vt0_24_vf_140017720(); // slot 24 -> 0x140017720 + virtual void vt0_25_vf_1400179f0(); // slot 25 -> 0x1400179f0 + virtual void vt0_26_vf_140017900(); // slot 26 -> 0x140017900 + virtual void vt0_27_vf_140017bd0(); // slot 27 -> 0x140017bd0 + virtual void vt0_28_vf_140017ae0(); // slot 28 -> 0x140017ae0 + virtual void vt0_29_vf_140017dd0(); // slot 29 -> 0x140017dd0 + virtual void vt0_30_vf_140017cc0(); // slot 30 -> 0x140017cc0 + virtual void vt0_31_vf_140018000(); // slot 31 -> 0x140018000 + virtual void vt0_32_vf_140017ef0(); // slot 32 -> 0x140017ef0 +}; +} + +namespace RNP { +class AgentManager2AgentStub { +public: + // vt0: vftable 0x14011f448 + virtual void vt0_0_vf_140008c00(); // slot 0 -> 0x140008c00 + virtual void vt0_1_vf_140008bf0(); // slot 1 -> 0x140008bf0 + virtual void vt0_2_vf_14001d960(); // slot 2 -> 0x14001d960 + virtual void vt0_3_vf_140006b80(); // slot 3 -> 0x140006b80 + virtual void vt0_4_vf_140006b80(); // slot 4 -> 0x140006b80 + virtual void vt0_5_vf_140006b30(); // slot 5 -> 0x140006b30 + virtual void vt0_6_scalar_deleting_dtor(); // slot 6 -> 0x140021110 + virtual void vt0_7_vf_140006b20(); // slot 7 -> 0x140006b20 + virtual void vt0_8_vf_140006b20(); // slot 8 -> 0x140006b20 + virtual void vt0_9_vf_140006b20(); // slot 9 -> 0x140006b20 + virtual void vt0_10_vf_140006b20(); // slot 10 -> 0x140006b20 + virtual void vt0_11_vf_140006b20(); // slot 11 -> 0x140006b20 + virtual void vt0_12_vf_140006b20(); // slot 12 -> 0x140006b20 + virtual void vt0_13_vf_140006b20(); // slot 13 -> 0x140006b20 + virtual void vt0_14_vf_140006b20(); // slot 14 -> 0x140006b20 + virtual void vt0_15_vf_140006b20(); // slot 15 -> 0x140006b20 + virtual void vt0_16_vf_140006b20(); // slot 16 -> 0x140006b20 + virtual void vt0_17_vf_140006b20(); // slot 17 -> 0x140006b20 + virtual void vt0_18_vf_140006b20(); // slot 18 -> 0x140006b20 + virtual void vt0_19_vf_140006b20(); // slot 19 -> 0x140006b20 + virtual void vt0_20_vf_140006b20(); // slot 20 -> 0x140006b20 + virtual void vt0_21_vf_140006b20(); // slot 21 -> 0x140006b20 + virtual void vt0_22_vf_140006b20(); // slot 22 -> 0x140006b20 + virtual void vt0_23_vf_140006b20(); // slot 23 -> 0x140006b20 +}; +} + +namespace RNP { +class Agent2AgentManagerProxy { +public: + // vt0: vftable 0x14011f368 + virtual void vt0_0_vf_14001c210(); // slot 0 -> 0x14001c210 + virtual void vt0_1_vf_14001c220(); // slot 1 -> 0x14001c220 + virtual void vt0_2_vf_140006b80(); // slot 2 -> 0x140006b80 + virtual void vt0_3_vf_140082060(); // slot 3 -> 0x140082060 + virtual void vt0_4_scalar_deleting_dtor(); // slot 4 -> 0x1400210c0 + virtual void vt0_5_vf_14001c340(); // slot 5 -> 0x14001c340 + virtual void vt0_6_vf_14001c230(); // slot 6 -> 0x14001c230 + virtual void vt0_7_vf_14001c600(); // slot 7 -> 0x14001c600 + virtual void vt0_8_vf_14001c470(); // slot 8 -> 0x14001c470 + virtual void vt0_9_vf_14001c8a0(); // slot 9 -> 0x14001c8a0 + virtual void vt0_10_vf_14001c7a0(); // slot 10 -> 0x14001c7a0 + virtual void vt0_11_vf_14001cac0(); // slot 11 -> 0x14001cac0 + virtual void vt0_12_vf_14001c9b0(); // slot 12 -> 0x14001c9b0 + virtual void vt0_13_vf_14001ccf0(); // slot 13 -> 0x14001ccf0 + virtual void vt0_14_vf_14001cbe0(); // slot 14 -> 0x14001cbe0 + virtual void vt0_15_vf_14001cf30(); // slot 15 -> 0x14001cf30 + virtual void vt0_16_vf_14001ce10(); // slot 16 -> 0x14001ce10 + virtual void vt0_17_vf_14001d150(); // slot 17 -> 0x14001d150 + virtual void vt0_18_vf_14001d060(); // slot 18 -> 0x14001d060 + virtual void vt0_19_vf_14001d340(); // slot 19 -> 0x14001d340 + virtual void vt0_20_vf_14001d250(); // slot 20 -> 0x14001d250 + virtual void vt0_21_vf_14001d520(); // slot 21 -> 0x14001d520 + virtual void vt0_22_vf_14001d430(); // slot 22 -> 0x14001d430 + virtual void vt0_23_vf_14001d6f0(); // slot 23 -> 0x14001d6f0 + virtual void vt0_24_vf_14001d610(); // slot 24 -> 0x14001d610 + virtual void vt0_25_vf_14001d890(); // slot 25 -> 0x14001d890 + virtual void vt0_26_vf_14001d7d0(); // slot 26 -> 0x14001d7d0 +}; +} + +namespace AGENT2AGENTMANAGER_PROTOCOL { +class Proxy { +public: + // vt0: vftable 0x14011f288 + virtual void vt0_0_vf_14001c210(); // slot 0 -> 0x14001c210 + virtual void vt0_1_vf_14001c220(); // slot 1 -> 0x14001c220 + virtual void vt0_2_vf_140093300(); // slot 2 -> 0x140093300 + virtual void vt0_3_vf_140082060(); // slot 3 -> 0x140082060 + virtual void vt0_4_vf_1400163d0(); // slot 4 -> 0x1400163d0 + virtual void vt0_5_vf_14001c340(); // slot 5 -> 0x14001c340 + virtual void vt0_6_vf_14001c230(); // slot 6 -> 0x14001c230 + virtual void vt0_7_vf_14001c600(); // slot 7 -> 0x14001c600 + virtual void vt0_8_vf_14001c470(); // slot 8 -> 0x14001c470 + virtual void vt0_9_vf_14001c8a0(); // slot 9 -> 0x14001c8a0 + virtual void vt0_10_vf_14001c7a0(); // slot 10 -> 0x14001c7a0 + virtual void vt0_11_vf_14001cac0(); // slot 11 -> 0x14001cac0 + virtual void vt0_12_vf_14001c9b0(); // slot 12 -> 0x14001c9b0 + virtual void vt0_13_vf_14001ccf0(); // slot 13 -> 0x14001ccf0 + virtual void vt0_14_vf_14001cbe0(); // slot 14 -> 0x14001cbe0 + virtual void vt0_15_vf_14001cf30(); // slot 15 -> 0x14001cf30 + virtual void vt0_16_vf_14001ce10(); // slot 16 -> 0x14001ce10 + virtual void vt0_17_vf_14001d150(); // slot 17 -> 0x14001d150 + virtual void vt0_18_vf_14001d060(); // slot 18 -> 0x14001d060 + virtual void vt0_19_vf_14001d340(); // slot 19 -> 0x14001d340 + virtual void vt0_20_vf_14001d250(); // slot 20 -> 0x14001d250 + virtual void vt0_21_vf_14001d520(); // slot 21 -> 0x14001d520 + virtual void vt0_22_vf_14001d430(); // slot 22 -> 0x14001d430 + virtual void vt0_23_vf_14001d6f0(); // slot 23 -> 0x14001d6f0 + virtual void vt0_24_vf_14001d610(); // slot 24 -> 0x14001d610 + virtual void vt0_25_vf_14001d890(); // slot 25 -> 0x14001d890 + virtual void vt0_26_vf_14001d7d0(); // slot 26 -> 0x14001d7d0 +}; +} + +// MBISingleton (template instantiation) vftable 0x14011ff98: 0x14002a780 + +class MagiServerOption { +public: + // vt0: vftable 0x14011fe48 + virtual void vt0_0_vf_140022630(); // slot 0 -> 0x140022630 +}; + +// MBISingleton (template instantiation) vftable 0x14011fff8: 0x14002abf0 + +class MagiServerFile { +public: + // vt0: vftable 0x14011ffe8 + virtual void vt0_0_vf_14002a7e0(); // slot 0 -> 0x14002a7e0 +}; + +// MBISingleton (template instantiation) vftable 0x1401204f8: 0x14002c2f0 + +class MagiCustomOption { +public: + // vt0: vftable 0x1401204e8 + virtual void vt0_0_vf_14002b7b0(); // slot 0 -> 0x14002b7b0 +}; + +// MBISingleton (template instantiation) vftable 0x140120600: 0x14002e180 + +class MagiServerManager { +public: + // vt0: vftable 0x1401205f0 + virtual void vt0_0_vf_14002c390(); // slot 0 -> 0x14002c390 +}; + +// MBISingleton (template instantiation) vftable 0x140120620: 0x14002e410 + +class MagiAgentCommon { +public: + // vt0: vftable 0x140120610 + virtual void vt0_0_vf_14002e330(); // slot 0 -> 0x14002e330 +}; + +// MBISingleton (template instantiation) vftable 0x140120640: 0x14002e5a0 + +class MagiRealTimeEventData { +public: + // vt0: vftable 0x140120630 + virtual void vt0_0_vf_14002e470(); // slot 0 -> 0x14002e470 +}; diff --git a/decomp/Agent_Release_x64/evidence-bundle.json b/decomp/Agent_Release_x64/evidence-bundle.json new file mode 100644 index 00000000..58da4a0c --- /dev/null +++ b/decomp/Agent_Release_x64/evidence-bundle.json @@ -0,0 +1 @@ +{"artifacts":[{"architecture":"x86_64","digest":{"sha256":"6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469"},"format":"pe"}],"captures":[],"environments":[],"providers":[{"id":"ghidra","name":"Ghidra","version":"12.1.2"},{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"}],"records":[{"analysis_profile":{"digest":"59ccbf78a7678313ce6b8dc5d2aff50bb87fd4c4da522e2f0de63ece7a22c57a","parameters":{"upstream_analysis_profile":{"digest":"de1d200f7c777e7d47b9def837d80cf1e4326106753fd45afae1b8f0c68936f6","parameters":{"analyzer_preset":"ghidra-default","annotation_policy":"atomic-function-entry-metadata-v1","architecture":"x86_64","available_architectures":["x86_64"],"call_relationship_coverage":"function-body-call-coverage-v5","compiler_spec_id":"auto-default","decompiler_jump_loads":true,"executable_role":"application","function_body_evidence":"complete-inclusive-ranges-v1","function_boundary_observations":"ghidra-function-boundary-limitations-v3","function_dossier_coverage":"observed-facets-and-call-relationships-v1","function_references":"complete-body-and-entry-reference-manager-v2","import_mode":"ephemeral-source-immutable","instruction_flow_evidence":"decoded-return-pcode-v1","instruction_references":"exact-address-incoming-v1","jump_table_evidence":"typed-case-default-blocks-v1","language_id":"auto-from-header","load_image_observations":"source-mappings-entry-context-v2","loader":"auto-from-header","location_resolution":"explicit-address-exact-entry-symbol-first-v3","managed":false,"native_aot_metadata":{"contract_revision":"rtr-9.1-x64-pe-read-only-v3","report_bytes":4194304,"source_bytes":134217728,"work_units":67108864,"working_memory_bytes":67108864},"no_return_repair":"returning-imports-decoded-return-v2","pdb_observations":"program-info-v1","procedure_file_offset_resolution":"address-first-unique-target-source-mapping-v2","process_launch":"inspected-jvm-launch-support-v1","string_inventory_evidence":"defined-data-coverage-v1","target_format":"pe","target_kind":"executable"},"provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"}},"workflow_revision":2},"provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"}},"authority":"shipped-artifact","confidence":"derived","environment":null,"evidence_id":"ev_012fe9a8b5ae820b5e27c8dce3640c618b17b0d98f0a9e7b40cf9d54ba530ea6","evidence_links":[],"limitations":["Derived by an REA composed workflow.","An exact external entry resolves to its observed function identity even when its body is empty. This does not establish mapped executable bytes or containment of nearby external addresses.","Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.","Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.","Only Ghidra-defined string Data is observed; packed or undefined string bytes may be absent. Completeness applies to that inventory, and an empty search does not establish that text is absent from the artifact. If an address is known, use read_bytes and xrefs to inspect bytes and references.","Regex mode uses Java Pattern semantics. Matcher or compiler stack exhaustion returns a resource constraint without closing the session; literal mode avoids regex recursion and returns complete matching values.","Synthetic Ghidra entry-point references without actionable memory sources are omitted.","The direct address list projects exact Ghidra references to one address but does not expose their kinds; procedure_references and analyze_function preserve available kind metadata.","The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.","The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.","The target references PDB Agent_Release_x64.pdb (GUID a4775113-cf21-4c1c-9d58-7e61100fab96, age (hex) 1, signature unknown, version RSDS); Ghidra reports load state unknown. Original names and types may be missing; an empty name search does not prove a procedure is absent. Use list_procedures and address-based analysis to inspect recovered functions. REA does not admit a caller-selected PDB companion.","This session uses Ghidra 12.1.2. The bridge is verified against 12.1.4; other 12.1.x builds are accepted and the observed version is reported."],"locations":[],"normalized_result":{"matches":[{"address":"0x14011b718","type":"string","value":"# Agent Startup #\n\n"}],"query":"# Agent Startup #","references":[{"containing_procedure":{"found":true,"procedure":{"address":"0x1400037a0","body":{"available":true,"contains_entry":true,"non_contiguous":false,"provenance":"ghidra-function-body-address-set","ranges":[{"end":"0x140003f22","start":"0x1400037a0"}],"span_bytes":1923,"total_bytes":1923},"classification":{"external":false,"provenance":"ghidra-function-manager","thunk":false,"thunk_target":null},"name":"FUN_1400037a0"},"query_address":"0x140003802"},"source_address":"0x140003802","target_address":"0x14011b718"}],"residual_unknowns":[],"search_mode":"literal","truncated":false},"operation":"trace_feature","parameters":{"case_sensitive":true,"query":"# Agent Startup #"},"predicate_type":"rea.analysis","provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"},"raw_result":null,"relationship_coverage":null,"subject":{"architecture":"x86_64","digest":{"sha256":"6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469"},"format":"pe","local_path":"/home/baobeld/Development/rusty-hearts/re-project/binaries/Agent_Release_x64.exe","name":"Agent_Release_x64.exe"}},{"analysis_profile":{"digest":"59ccbf78a7678313ce6b8dc5d2aff50bb87fd4c4da522e2f0de63ece7a22c57a","parameters":{"upstream_analysis_profile":{"digest":"de1d200f7c777e7d47b9def837d80cf1e4326106753fd45afae1b8f0c68936f6","parameters":{"analyzer_preset":"ghidra-default","annotation_policy":"atomic-function-entry-metadata-v1","architecture":"x86_64","available_architectures":["x86_64"],"call_relationship_coverage":"function-body-call-coverage-v5","compiler_spec_id":"auto-default","decompiler_jump_loads":true,"executable_role":"application","function_body_evidence":"complete-inclusive-ranges-v1","function_boundary_observations":"ghidra-function-boundary-limitations-v3","function_dossier_coverage":"observed-facets-and-call-relationships-v1","function_references":"complete-body-and-entry-reference-manager-v2","import_mode":"ephemeral-source-immutable","instruction_flow_evidence":"decoded-return-pcode-v1","instruction_references":"exact-address-incoming-v1","jump_table_evidence":"typed-case-default-blocks-v1","language_id":"auto-from-header","load_image_observations":"source-mappings-entry-context-v2","loader":"auto-from-header","location_resolution":"explicit-address-exact-entry-symbol-first-v3","managed":false,"native_aot_metadata":{"contract_revision":"rtr-9.1-x64-pe-read-only-v3","report_bytes":4194304,"source_bytes":134217728,"work_units":67108864,"working_memory_bytes":67108864},"no_return_repair":"returning-imports-decoded-return-v2","pdb_observations":"program-info-v1","procedure_file_offset_resolution":"address-first-unique-target-source-mapping-v2","process_launch":"inspected-jvm-launch-support-v1","string_inventory_evidence":"defined-data-coverage-v1","target_format":"pe","target_kind":"executable"},"provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"}},"workflow_revision":2},"provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"}},"authority":"shipped-artifact","confidence":"derived","environment":null,"evidence_id":"ev_25c4e9fcabb403ee8698522246bb6efb24b8b97619b1eea7b8f9024abd2f8839","evidence_links":[],"limitations":["Derived by an REA composed workflow.","An exact external entry resolves to its observed function identity even when its body is empty. This does not establish mapped executable bytes or containment of nearby external addresses.","Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.","Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.","Only Ghidra-defined string Data is observed; packed or undefined string bytes may be absent. Completeness applies to that inventory, and an empty search does not establish that text is absent from the artifact. If an address is known, use read_bytes and xrefs to inspect bytes and references.","Regex mode uses Java Pattern semantics. Matcher or compiler stack exhaustion returns a resource constraint without closing the session; literal mode avoids regex recursion and returns complete matching values.","Synthetic Ghidra entry-point references without actionable memory sources are omitted.","The direct address list projects exact Ghidra references to one address but does not expose their kinds; procedure_references and analyze_function preserve available kind metadata.","The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.","The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.","The target references PDB Agent_Release_x64.pdb (GUID a4775113-cf21-4c1c-9d58-7e61100fab96, age (hex) 1, signature unknown, version RSDS); Ghidra reports load state unknown. Original names and types may be missing; an empty name search does not prove a procedure is absent. Use list_procedures and address-based analysis to inspect recovered functions. REA does not admit a caller-selected PDB companion.","This session uses Ghidra 12.1.2. The bridge is verified against 12.1.4; other 12.1.x builds are accepted and the observed version is reported."],"locations":[],"normalized_result":{"matches":[{"address":"0x14011d130","type":"string","value":"Process Kill.!!! [%s] \n"}],"query":"Process Kill","references":[{"containing_procedure":{"found":true,"procedure":{"address":"0x140009780","body":{"available":true,"contains_entry":true,"non_contiguous":false,"provenance":"ghidra-function-body-address-set","ranges":[{"end":"0x140009889","start":"0x140009780"}],"span_bytes":266,"total_bytes":266},"classification":{"external":false,"provenance":"ghidra-function-manager","thunk":false,"thunk_target":null},"name":"FUN_140009780"},"query_address":"0x140009862"},"source_address":"0x140009862","target_address":"0x14011d130"}],"residual_unknowns":[],"search_mode":"literal","truncated":false},"operation":"trace_feature","parameters":{"case_sensitive":true,"query":"Process Kill"},"predicate_type":"rea.analysis","provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"},"raw_result":null,"relationship_coverage":null,"subject":{"architecture":"x86_64","digest":{"sha256":"6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469"},"format":"pe","local_path":"/home/baobeld/Development/rusty-hearts/re-project/binaries/Agent_Release_x64.exe","name":"Agent_Release_x64.exe"}},{"analysis_profile":{"digest":"de1d200f7c777e7d47b9def837d80cf1e4326106753fd45afae1b8f0c68936f6","parameters":{"analyzer_preset":"ghidra-default","annotation_policy":"atomic-function-entry-metadata-v1","architecture":"x86_64","available_architectures":["x86_64"],"call_relationship_coverage":"function-body-call-coverage-v5","compiler_spec_id":"auto-default","decompiler_jump_loads":true,"executable_role":"application","function_body_evidence":"complete-inclusive-ranges-v1","function_boundary_observations":"ghidra-function-boundary-limitations-v3","function_dossier_coverage":"observed-facets-and-call-relationships-v1","function_references":"complete-body-and-entry-reference-manager-v2","import_mode":"ephemeral-source-immutable","instruction_flow_evidence":"decoded-return-pcode-v1","instruction_references":"exact-address-incoming-v1","jump_table_evidence":"typed-case-default-blocks-v1","language_id":"auto-from-header","load_image_observations":"source-mappings-entry-context-v2","loader":"auto-from-header","location_resolution":"explicit-address-exact-entry-symbol-first-v3","managed":false,"native_aot_metadata":{"contract_revision":"rtr-9.1-x64-pe-read-only-v3","report_bytes":4194304,"source_bytes":134217728,"work_units":67108864,"working_memory_bytes":67108864},"no_return_repair":"returning-imports-decoded-return-v2","pdb_observations":"program-info-v1","procedure_file_offset_resolution":"address-first-unique-target-source-mapping-v2","process_launch":"inspected-jvm-launch-support-v1","string_inventory_evidence":"defined-data-coverage-v1","target_format":"pe","target_kind":"executable"},"provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"}},"authority":"shipped-artifact","confidence":"observed","environment":null,"evidence_id":"ev_2fa3bc1da1e9e82a4bd2859ca38ee1636f1ade7ba45372348ff4288d16c2f449","evidence_links":[],"limitations":["The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.","The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.","Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.","Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.","Pseudocode is Ghidra decompiler output, not original source and not text-equivalent to Hopper output.","External functions and functions without an analyzable body return null; other decompiler failures remain explicit.","The target references PDB Agent_Release_x64.pdb (GUID a4775113-cf21-4c1c-9d58-7e61100fab96, age (hex) 1, signature unknown, version RSDS); Ghidra reports load state unknown. Original names and types may be missing; an empty name search does not prove a procedure is absent. Use list_procedures and address-based analysis to inspect recovered functions. REA does not admit a caller-selected PDB companion.","This session uses Ghidra 12.1.2. The bridge is verified against 12.1.4; other 12.1.x builds are accepted and the observed version is reported."],"locations":[],"normalized_result":"\n/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nundefined8 FUN_1400037a0(longlong param_1,undefined8 **param_2,undefined8 *param_3,uint *param_4)\n\n{\n int *piVar1;\n double dVar2;\n char cVar3;\n undefined8 *puVar4;\n undefined1 auVar5 [16];\n bool bVar6;\n bool bVar7;\n longlong *plVar8;\n BOOL BVar9;\n wchar_t *pwVar10;\n wchar_t *pwVar11;\n ulonglong uVar12;\n longlong *plVar13;\n wchar_t *pwVar14;\n char *pcVar15;\n ulonglong *puVar16;\n longlong *plVar17;\n undefined2 *puVar18;\n wchar_t *pwVar19;\n longlong lVar20;\n undefined4 uVar21;\n undefined4 uVar22;\n undefined4 uVar23;\n undefined4 uVar24;\n undefined4 uVar25;\n undefined1 auStack_2a8 [32];\n longlong *local_288;\n wchar_t *local_280;\n LARGE_INTEGER local_278;\n undefined8 *local_270;\n wchar_t *local_268;\n wchar_t *local_260;\n int *local_258;\n undefined1 local_250;\n undefined8 local_248;\n undefined2 local_238;\n undefined1 local_236 [158];\n undefined1 local_198 [160];\n undefined8 *local_f8;\n undefined2 local_f0;\n undefined6 uStack_ee;\n undefined8 local_e0;\n ulonglong local_d8;\n undefined2 local_c8;\n undefined6 uStack_c6;\n undefined8 local_b8;\n ulonglong local_b0;\n ulonglong local_98;\n \n local_248 = 0xfffffffffffffffe;\n local_98 = DAT_1401555a0 ^ (ulonglong)auStack_2a8;\n FUN_140010960(L\"# Agent Startup #\\n\\n\",param_2,param_3,param_4);\n CoInitialize((LPVOID)0x0);\n FUN_140010aa0(L\"+ Prepare Startup\\n\",param_2,param_3,param_4);\n local_278 = (LARGE_INTEGER)operator_new(0xb8);\n pwVar19 = (wchar_t *)0x0;\n pwVar10 = pwVar19;\n if ((undefined8 *)local_278.QuadPart != (undefined8 *)0x0) {\n pwVar10 = (wchar_t *)FUN_140005020((undefined8 *)local_278,param_2,param_3,param_4);\n }\n if (pwVar10 == (wchar_t *)0x0) {\n local_288 = (longlong *)0x0;\n }\n else {\n local_288 = (longlong *)FUN_140030280(0x10);\n local_288[1] = 1;\n *local_288 = (longlong)pwVar10;\n }\n plVar17 = local_288;\n pwVar11 = operator_new(0x68);\n pwVar10 = pwVar19;\n local_280 = pwVar11;\n if (pwVar11 != (wchar_t *)0x0) {\n if (plVar17 != (longlong *)0x0) {\n pwVar10 = (wchar_t *)*plVar17;\n }\n *(wchar_t **)pwVar11 = pwVar10;\n pwVar11[4] = L'\\0';\n pwVar11[5] = L'\\0';\n pwVar11[6] = L'\\0';\n pwVar11[7] = L'\\0';\n pwVar11[8] = L'\\0';\n pwVar11[9] = L'\\0';\n pwVar11[10] = L'\\0';\n pwVar11[0xb] = L'\\0';\n pwVar11[0xc] = L'\\0';\n pwVar11[0xd] = L'\\0';\n pwVar11[0xe] = L'\\0';\n pwVar11[0xf] = L'\\0';\n uVar12 = FUN_14002e790();\n param_2 = (undefined8 **)(uVar12 & 0xffffffff);\n param_3 = (undefined8 *)CONCAT71((int7)((ulonglong)param_3 >> 8),1);\n FUN_14002e600((undefined4 *)(pwVar11 + 0x14),(ulonglong)param_2,param_3,param_4);\n FUN_140007960((longlong)pwVar11);\n pwVar10 = pwVar11;\n }\n if (pwVar10 == (wchar_t *)0x0) {\n local_280 = (wchar_t *)0x0;\n }\n else {\n local_280 = (wchar_t *)FUN_140030280(0x10);\n *(undefined8 *)((longlong)local_280 + 8) = 1;\n *(wchar_t **)local_280 = pwVar10;\n }\n pwVar10 = local_280;\n pwVar11 = pwVar19;\n if (plVar17 != (longlong *)0x0) {\n pwVar11 = (wchar_t *)*plVar17;\n }\n *(wchar_t **)(param_1 + 0xa0) = pwVar11;\n pwVar11 = pwVar19;\n if (local_280 != (wchar_t *)0x0) {\n pwVar11 = *(wchar_t **)local_280;\n }\n *(wchar_t **)(param_1 + 0xa8) = pwVar11;\n pwVar11 = pwVar19;\n if (local_280 != (wchar_t *)0x0) {\n pwVar11 = *(wchar_t **)local_280;\n }\n FUN_140007960((longlong)pwVar11);\n local_f8 = (undefined8 *)0x0;\n local_d8 = 7;\n local_e0 = 0;\n local_f0 = 0;\n local_b0 = 7;\n local_b8 = 0;\n local_c8 = 0;\n if (*(longlong *)(DAT_140162d68 + 0x1c8) != 0) {\n auVar5._8_8_ = 0;\n auVar5._0_8_ = *(ulonglong *)(DAT_140162d68 + 0x1b0);\n param_2 = SUB168((ZEXT816(0) << 0x40 | ZEXT816(0x15)) % auVar5,0);\n local_270 = (undefined8 *)(*(longlong *)(DAT_140162d68 + 0x1a8) + (longlong)param_2 * 8);\n for (local_268 = (wchar_t *)*local_270; local_268 != (wchar_t *)0x0;\n local_268 = *(wchar_t **)local_268) {\n if ((char)local_268[4] == '\\x15') {\n if (local_268 != (wchar_t *)0x0) goto LAB_1400039c4;\n break;\n }\n }\n }\n local_270 = (undefined8 *)0x0;\n local_268 = pwVar19;\nLAB_1400039c4:\n if ((local_268 != (wchar_t *)0x0) &&\n (puVar4 = *(undefined8 **)(local_268 + 8), puVar4 != *(undefined8 **)(local_268 + 0xc))) {\n local_f8 = (undefined8 *)*puVar4;\n FUN_140001600((longlong *)&local_f0,puVar4 + 1,0,0xffffffffffffffff);\n param_4 = (uint *)0xffffffffffffffff;\n param_3 = (undefined8 *)0x0;\n FUN_140001600((longlong *)&local_c8,puVar4 + 6,0,0xffffffffffffffff);\n param_2 = &local_f8;\n FUN_140007a80(*(undefined8 **)(param_1 + 0xa8),param_2,param_3,(undefined8 *)param_4);\n lVar20 = *(longlong *)(param_1 + 0xa8);\n piVar1 = (int *)(lVar20 + 0x28);\n local_258 = piVar1;\n FUN_14002e6e0(piVar1);\n plVar13 = *(longlong **)(lVar20 + 8);\n if (*plVar13 == 0) {\n FUN_14002e770((longlong)piVar1);\n local_250 = 0;\n }\n else {\n lVar20 = *plVar13;\n FUN_14002e770((longlong)piVar1);\n local_250 = 0;\n if (lVar20 != 0) {\n cVar3 = *(char *)(lVar20 + 0x88);\n while (cVar3 == '\\0') {\n FUN_1400023e0(lVar20);\n cVar3 = *(char *)(lVar20 + 0x88);\n }\n }\n }\n }\n pwVar11 = pwVar19;\n if (plVar17 != (longlong *)0x0) {\n pwVar11 = (wchar_t *)*plVar17;\n }\n FUN_140005360((longlong)pwVar11,param_2,param_3,(longlong)param_4);\n pwVar11 = pwVar19;\n if (plVar17 != (longlong *)0x0) {\n pwVar11 = (wchar_t *)*plVar17;\n }\n *(undefined8 *)(pwVar11 + 0x24) = *(undefined8 *)(param_1 + 0xa8);\n FUN_140010960(L\"\\n # Agent Running... #\\n\",param_2,param_3,param_4);\n plVar13 = operator_new(0x18);\n if (plVar13 == (longlong *)0x0) {\n plVar13 = (longlong *)0x0;\n }\n else {\n *plVar13 = (longlong)TimeSourceHRWin32::vftable;\n BVar9 = QueryPerformanceFrequency(&local_278);\n if (BVar9 == 0) {\n *(undefined1 *)(plVar13 + 2) = 0;\n GetLastError();\n }\n else {\n *(undefined1 *)(plVar13 + 2) = 1;\n plVar13[1] = (longlong)(1.0 / (double)local_278.QuadPart);\n }\n }\n plVar8 = DAT_140162d50;\n if ((undefined8 *)DAT_140162d50[2] != (undefined8 *)0x0) {\n (*(code *)**(undefined8 **)DAT_140162d50[2])();\n }\n plVar8[2] = (longlong)plVar13;\n if (plVar13 != (longlong *)0x0) {\n lVar20 = (**(code **)(*plVar13 + 8))(plVar13);\n plVar8[6] = lVar20;\n plVar8[7] = lVar20;\n }\n plVar8[0x12] = 0x3ff0000000000000;\n pwVar14 = operator_new(0x28);\n pwVar11 = pwVar19;\n local_260 = pwVar14;\n if (pwVar14 != (wchar_t *)0x0) {\n *(undefined ***)pwVar14 = Magi::Timer::vftable;\n plVar13 = DAT_140162d50;\n *(longlong **)(pwVar14 + 4) = DAT_140162d50;\n pwVar14[8] = L'\\0';\n pwVar14[9] = L'\\0';\n pwVar14[10] = L'\\0';\n pwVar14[0xb] = L'\\0';\n pwVar14[0xc] = L'\\0';\n pwVar14[0xd] = L'\\0';\n pwVar14[0xe] = L'\\0';\n pwVar14[0xf] = L'\\0';\n *(undefined1 *)(pwVar14 + 0x10) = 0;\n pwVar14[0x12] = L'\\0';\n pwVar14[0x13] = L'㾀';\n (**(code **)(*plVar13 + 0x10))();\n pwVar11 = pwVar14;\n }\n *(wchar_t **)(param_1 + 0x50) = pwVar11;\n bVar6 = true;\n local_238 = 0;\n memset(local_236,0,0x9e);\n puVar16 = (ulonglong *)0x0;\n puVar18 = (undefined2 *)0xa0;\n memset(local_198,0,0xa0);\n uVar21 = 0;\n uVar23 = 0;\n FUN_1400271e0(DAT_140162d68);\n pcVar15 = *(char **)(DAT_140162d58 + 8);\n do {\n pwVar11 = pwVar19;\n if (pcVar15 == *(char **)(DAT_140162d58 + 0x10)) {\nLAB_140003c4a:\n FUN_140009780(pwVar11);\n FUN_140001dc0(param_1 + 8);\n bVar7 = false;\n cVar3 = *(char *)(param_1 + 0x60);\n uVar24 = uVar21;\n uVar25 = uVar23;\n while (cVar3 != '\\0') {\n FUN_1400dc520((longlong)DAT_140162d50);\n dVar2 = *(double *)(*(longlong *)(param_1 + 0x50) + 0x10);\n if (((0.0 < *(double *)(DAT_140162d68 + 0x178)) &&\n (0.0 < dVar2 - *(double *)(DAT_140162d68 + 0x178))) && (bVar6)) {\n bVar6 = false;\n pcVar15 = \"Start Auto Server On. \\n\";\n printf(\"Start Auto Server On. \\n\");\n FUN_140009bd0(pcVar15,puVar16,puVar18,param_4);\n }\n FUN_140007da0(*(longlong *)(param_1 + 0xa8),dVar2);\n uVar22 = (undefined4)((ulonglong)dVar2 >> 0x20);\n if (1.0 <= dVar2 - (double)CONCAT44(uVar23,uVar21)) {\n if (DAT_140162cc4 != 0) {\n puVar16 = (ulonglong *)&DAT_14011b7b4;\n if (bVar7) {\n puVar16 = (ulonglong *)&DAT_14011b7b0;\n }\n puVar18 = (undefined2 *)(ulonglong)DAT_140162cc8;\n printf(\"[ %s ] FPS[ %d ]\\n\");\n bVar7 = !bVar7;\n }\n _DAT_140162ccc = DAT_140162cc8;\n DAT_140162cc8 = 0;\n uVar21 = SUB84(dVar2,0);\n uVar23 = uVar22;\n }\n if (0.10000000149011612 <= dVar2 - (double)CONCAT44(uVar25,uVar24)) {\n DAT_140162cc8 = DAT_140162cc8 + 1;\n FUN_140003f30(param_1,puVar16,puVar18,param_4);\n pwVar11 = pwVar19;\n if (plVar17 != (longlong *)0x0) {\n pwVar11 = (wchar_t *)*plVar17;\n }\n FUN_1400053e0((longlong)pwVar11,dVar2);\n uVar24 = SUB84(dVar2,0);\n uVar25 = uVar22;\n }\n *(double *)(param_1 + 0x58) = dVar2;\n Sleep(1);\n cVar3 = *(char *)(param_1 + 0x60);\n }\n FUN_140010aa0(L\"+ Prepare Stop\\n\",puVar16,puVar18,param_4);\n FUN_1400079d0(*(longlong *)(param_1 + 0xa8));\n lVar20 = *(longlong *)(param_1 + 0xa0);\n puVar4 = *(undefined8 **)(lVar20 + 0x28);\n if (puVar4 != (undefined8 *)0x0) {\n puVar16 = (ulonglong *)0x1;\n (**(code **)*puVar4)();\n }\n *(undefined8 *)(lVar20 + 0x28) = 0;\n CoUninitialize();\n FUN_140010960(L\"# Agent Stoped... #\\n\",puVar16,puVar18,param_4);\n if (7 < local_b0) {\n operator_delete((void *)CONCAT62(uStack_c6,local_c8));\n }\n local_b0 = 7;\n local_b8 = 0;\n local_c8 = 0;\n if (7 < local_d8) {\n operator_delete((void *)CONCAT62(uStack_ee,local_f0));\n }\n pwVar19 = local_280;\n local_d8 = 7;\n local_e0 = 0;\n local_f0 = 0;\n if (pwVar10 != (wchar_t *)0x0) {\n plVar13 = (longlong *)((longlong)pwVar10 + 8);\n *plVar13 = *plVar13 + -1;\n plVar17 = local_288;\n if (*plVar13 == 0) {\n pwVar10 = *(wchar_t **)local_280;\n local_260 = pwVar10;\n if (pwVar10 != (wchar_t *)0x0) {\n FUN_14002e7a0((undefined4 *)(pwVar10 + 0x14),puVar16,puVar18,param_4);\n if (*(void **)(pwVar10 + 4) != (void *)0x0) {\n operator_delete(*(void **)(pwVar10 + 4));\n }\n pwVar10[4] = L'\\0';\n pwVar10[5] = L'\\0';\n pwVar10[6] = L'\\0';\n pwVar10[7] = L'\\0';\n pwVar10[8] = L'\\0';\n pwVar10[9] = L'\\0';\n pwVar10[10] = L'\\0';\n pwVar10[0xb] = L'\\0';\n pwVar10[0xc] = L'\\0';\n pwVar10[0xd] = L'\\0';\n pwVar10[0xe] = L'\\0';\n pwVar10[0xf] = L'\\0';\n operator_delete(pwVar10);\n }\n FUN_1400302f0(pwVar19);\n plVar17 = local_288;\n }\n }\n plVar13 = local_288;\n if (plVar17 != (longlong *)0x0) {\n plVar17 = plVar17 + 1;\n *plVar17 = *plVar17 + -1;\n if (*plVar17 == 0) {\n puVar4 = (undefined8 *)*local_288;\n if (puVar4 != (undefined8 *)0x0) {\n (**(code **)*puVar4)(puVar4,1);\n }\n FUN_1400302f0(plVar13);\n }\n }\n return 0;\n }\n if (*pcVar15 == '\\x18') {\n pwVar11 = (wchar_t *)(pcVar15 + 8);\n if (7 < *(ulonglong *)(pcVar15 + 0x20)) {\n pwVar11 = *(wchar_t **)(pcVar15 + 8);\n }\n goto LAB_140003c4a;\n }\n pcVar15 = pcVar15 + 0x30;\n } while( true );\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x1400037a0"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"},"raw_result":{"limitations":[],"value":"\n/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nundefined8 FUN_1400037a0(longlong param_1,undefined8 **param_2,undefined8 *param_3,uint *param_4)\n\n{\n int *piVar1;\n double dVar2;\n char cVar3;\n undefined8 *puVar4;\n undefined1 auVar5 [16];\n bool bVar6;\n bool bVar7;\n longlong *plVar8;\n BOOL BVar9;\n wchar_t *pwVar10;\n wchar_t *pwVar11;\n ulonglong uVar12;\n longlong *plVar13;\n wchar_t *pwVar14;\n char *pcVar15;\n ulonglong *puVar16;\n longlong *plVar17;\n undefined2 *puVar18;\n wchar_t *pwVar19;\n longlong lVar20;\n undefined4 uVar21;\n undefined4 uVar22;\n undefined4 uVar23;\n undefined4 uVar24;\n undefined4 uVar25;\n undefined1 auStack_2a8 [32];\n longlong *local_288;\n wchar_t *local_280;\n LARGE_INTEGER local_278;\n undefined8 *local_270;\n wchar_t *local_268;\n wchar_t *local_260;\n int *local_258;\n undefined1 local_250;\n undefined8 local_248;\n undefined2 local_238;\n undefined1 local_236 [158];\n undefined1 local_198 [160];\n undefined8 *local_f8;\n undefined2 local_f0;\n undefined6 uStack_ee;\n undefined8 local_e0;\n ulonglong local_d8;\n undefined2 local_c8;\n undefined6 uStack_c6;\n undefined8 local_b8;\n ulonglong local_b0;\n ulonglong local_98;\n \n local_248 = 0xfffffffffffffffe;\n local_98 = DAT_1401555a0 ^ (ulonglong)auStack_2a8;\n FUN_140010960(L\"# Agent Startup #\\n\\n\",param_2,param_3,param_4);\n CoInitialize((LPVOID)0x0);\n FUN_140010aa0(L\"+ Prepare Startup\\n\",param_2,param_3,param_4);\n local_278 = (LARGE_INTEGER)operator_new(0xb8);\n pwVar19 = (wchar_t *)0x0;\n pwVar10 = pwVar19;\n if ((undefined8 *)local_278.QuadPart != (undefined8 *)0x0) {\n pwVar10 = (wchar_t *)FUN_140005020((undefined8 *)local_278,param_2,param_3,param_4);\n }\n if (pwVar10 == (wchar_t *)0x0) {\n local_288 = (longlong *)0x0;\n }\n else {\n local_288 = (longlong *)FUN_140030280(0x10);\n local_288[1] = 1;\n *local_288 = (longlong)pwVar10;\n }\n plVar17 = local_288;\n pwVar11 = operator_new(0x68);\n pwVar10 = pwVar19;\n local_280 = pwVar11;\n if (pwVar11 != (wchar_t *)0x0) {\n if (plVar17 != (longlong *)0x0) {\n pwVar10 = (wchar_t *)*plVar17;\n }\n *(wchar_t **)pwVar11 = pwVar10;\n pwVar11[4] = L'\\0';\n pwVar11[5] = L'\\0';\n pwVar11[6] = L'\\0';\n pwVar11[7] = L'\\0';\n pwVar11[8] = L'\\0';\n pwVar11[9] = L'\\0';\n pwVar11[10] = L'\\0';\n pwVar11[0xb] = L'\\0';\n pwVar11[0xc] = L'\\0';\n pwVar11[0xd] = L'\\0';\n pwVar11[0xe] = L'\\0';\n pwVar11[0xf] = L'\\0';\n uVar12 = FUN_14002e790();\n param_2 = (undefined8 **)(uVar12 & 0xffffffff);\n param_3 = (undefined8 *)CONCAT71((int7)((ulonglong)param_3 >> 8),1);\n FUN_14002e600((undefined4 *)(pwVar11 + 0x14),(ulonglong)param_2,param_3,param_4);\n FUN_140007960((longlong)pwVar11);\n pwVar10 = pwVar11;\n }\n if (pwVar10 == (wchar_t *)0x0) {\n local_280 = (wchar_t *)0x0;\n }\n else {\n local_280 = (wchar_t *)FUN_140030280(0x10);\n *(undefined8 *)((longlong)local_280 + 8) = 1;\n *(wchar_t **)local_280 = pwVar10;\n }\n pwVar10 = local_280;\n pwVar11 = pwVar19;\n if (plVar17 != (longlong *)0x0) {\n pwVar11 = (wchar_t *)*plVar17;\n }\n *(wchar_t **)(param_1 + 0xa0) = pwVar11;\n pwVar11 = pwVar19;\n if (local_280 != (wchar_t *)0x0) {\n pwVar11 = *(wchar_t **)local_280;\n }\n *(wchar_t **)(param_1 + 0xa8) = pwVar11;\n pwVar11 = pwVar19;\n if (local_280 != (wchar_t *)0x0) {\n pwVar11 = *(wchar_t **)local_280;\n }\n FUN_140007960((longlong)pwVar11);\n local_f8 = (undefined8 *)0x0;\n local_d8 = 7;\n local_e0 = 0;\n local_f0 = 0;\n local_b0 = 7;\n local_b8 = 0;\n local_c8 = 0;\n if (*(longlong *)(DAT_140162d68 + 0x1c8) != 0) {\n auVar5._8_8_ = 0;\n auVar5._0_8_ = *(ulonglong *)(DAT_140162d68 + 0x1b0);\n param_2 = SUB168((ZEXT816(0) << 0x40 | ZEXT816(0x15)) % auVar5,0);\n local_270 = (undefined8 *)(*(longlong *)(DAT_140162d68 + 0x1a8) + (longlong)param_2 * 8);\n for (local_268 = (wchar_t *)*local_270; local_268 != (wchar_t *)0x0;\n local_268 = *(wchar_t **)local_268) {\n if ((char)local_268[4] == '\\x15') {\n if (local_268 != (wchar_t *)0x0) goto LAB_1400039c4;\n break;\n }\n }\n }\n local_270 = (undefined8 *)0x0;\n local_268 = pwVar19;\nLAB_1400039c4:\n if ((local_268 != (wchar_t *)0x0) &&\n (puVar4 = *(undefined8 **)(local_268 + 8), puVar4 != *(undefined8 **)(local_268 + 0xc))) {\n local_f8 = (undefined8 *)*puVar4;\n FUN_140001600((longlong *)&local_f0,puVar4 + 1,0,0xffffffffffffffff);\n param_4 = (uint *)0xffffffffffffffff;\n param_3 = (undefined8 *)0x0;\n FUN_140001600((longlong *)&local_c8,puVar4 + 6,0,0xffffffffffffffff);\n param_2 = &local_f8;\n FUN_140007a80(*(undefined8 **)(param_1 + 0xa8),param_2,param_3,(undefined8 *)param_4);\n lVar20 = *(longlong *)(param_1 + 0xa8);\n piVar1 = (int *)(lVar20 + 0x28);\n local_258 = piVar1;\n FUN_14002e6e0(piVar1);\n plVar13 = *(longlong **)(lVar20 + 8);\n if (*plVar13 == 0) {\n FUN_14002e770((longlong)piVar1);\n local_250 = 0;\n }\n else {\n lVar20 = *plVar13;\n FUN_14002e770((longlong)piVar1);\n local_250 = 0;\n if (lVar20 != 0) {\n cVar3 = *(char *)(lVar20 + 0x88);\n while (cVar3 == '\\0') {\n FUN_1400023e0(lVar20);\n cVar3 = *(char *)(lVar20 + 0x88);\n }\n }\n }\n }\n pwVar11 = pwVar19;\n if (plVar17 != (longlong *)0x0) {\n pwVar11 = (wchar_t *)*plVar17;\n }\n FUN_140005360((longlong)pwVar11,param_2,param_3,(longlong)param_4);\n pwVar11 = pwVar19;\n if (plVar17 != (longlong *)0x0) {\n pwVar11 = (wchar_t *)*plVar17;\n }\n *(undefined8 *)(pwVar11 + 0x24) = *(undefined8 *)(param_1 + 0xa8);\n FUN_140010960(L\"\\n # Agent Running... #\\n\",param_2,param_3,param_4);\n plVar13 = operator_new(0x18);\n if (plVar13 == (longlong *)0x0) {\n plVar13 = (longlong *)0x0;\n }\n else {\n *plVar13 = (longlong)TimeSourceHRWin32::vftable;\n BVar9 = QueryPerformanceFrequency(&local_278);\n if (BVar9 == 0) {\n *(undefined1 *)(plVar13 + 2) = 0;\n GetLastError();\n }\n else {\n *(undefined1 *)(plVar13 + 2) = 1;\n plVar13[1] = (longlong)(1.0 / (double)local_278.QuadPart);\n }\n }\n plVar8 = DAT_140162d50;\n if ((undefined8 *)DAT_140162d50[2] != (undefined8 *)0x0) {\n (*(code *)**(undefined8 **)DAT_140162d50[2])();\n }\n plVar8[2] = (longlong)plVar13;\n if (plVar13 != (longlong *)0x0) {\n lVar20 = (**(code **)(*plVar13 + 8))(plVar13);\n plVar8[6] = lVar20;\n plVar8[7] = lVar20;\n }\n plVar8[0x12] = 0x3ff0000000000000;\n pwVar14 = operator_new(0x28);\n pwVar11 = pwVar19;\n local_260 = pwVar14;\n if (pwVar14 != (wchar_t *)0x0) {\n *(undefined ***)pwVar14 = Magi::Timer::vftable;\n plVar13 = DAT_140162d50;\n *(longlong **)(pwVar14 + 4) = DAT_140162d50;\n pwVar14[8] = L'\\0';\n pwVar14[9] = L'\\0';\n pwVar14[10] = L'\\0';\n pwVar14[0xb] = L'\\0';\n pwVar14[0xc] = L'\\0';\n pwVar14[0xd] = L'\\0';\n pwVar14[0xe] = L'\\0';\n pwVar14[0xf] = L'\\0';\n *(undefined1 *)(pwVar14 + 0x10) = 0;\n pwVar14[0x12] = L'\\0';\n pwVar14[0x13] = L'㾀';\n (**(code **)(*plVar13 + 0x10))();\n pwVar11 = pwVar14;\n }\n *(wchar_t **)(param_1 + 0x50) = pwVar11;\n bVar6 = true;\n local_238 = 0;\n memset(local_236,0,0x9e);\n puVar16 = (ulonglong *)0x0;\n puVar18 = (undefined2 *)0xa0;\n memset(local_198,0,0xa0);\n uVar21 = 0;\n uVar23 = 0;\n FUN_1400271e0(DAT_140162d68);\n pcVar15 = *(char **)(DAT_140162d58 + 8);\n do {\n pwVar11 = pwVar19;\n if (pcVar15 == *(char **)(DAT_140162d58 + 0x10)) {\nLAB_140003c4a:\n FUN_140009780(pwVar11);\n FUN_140001dc0(param_1 + 8);\n bVar7 = false;\n cVar3 = *(char *)(param_1 + 0x60);\n uVar24 = uVar21;\n uVar25 = uVar23;\n while (cVar3 != '\\0') {\n FUN_1400dc520((longlong)DAT_140162d50);\n dVar2 = *(double *)(*(longlong *)(param_1 + 0x50) + 0x10);\n if (((0.0 < *(double *)(DAT_140162d68 + 0x178)) &&\n (0.0 < dVar2 - *(double *)(DAT_140162d68 + 0x178))) && (bVar6)) {\n bVar6 = false;\n pcVar15 = \"Start Auto Server On. \\n\";\n printf(\"Start Auto Server On. \\n\");\n FUN_140009bd0(pcVar15,puVar16,puVar18,param_4);\n }\n FUN_140007da0(*(longlong *)(param_1 + 0xa8),dVar2);\n uVar22 = (undefined4)((ulonglong)dVar2 >> 0x20);\n if (1.0 <= dVar2 - (double)CONCAT44(uVar23,uVar21)) {\n if (DAT_140162cc4 != 0) {\n puVar16 = (ulonglong *)&DAT_14011b7b4;\n if (bVar7) {\n puVar16 = (ulonglong *)&DAT_14011b7b0;\n }\n puVar18 = (undefined2 *)(ulonglong)DAT_140162cc8;\n printf(\"[ %s ] FPS[ %d ]\\n\");\n bVar7 = !bVar7;\n }\n _DAT_140162ccc = DAT_140162cc8;\n DAT_140162cc8 = 0;\n uVar21 = SUB84(dVar2,0);\n uVar23 = uVar22;\n }\n if (0.10000000149011612 <= dVar2 - (double)CONCAT44(uVar25,uVar24)) {\n DAT_140162cc8 = DAT_140162cc8 + 1;\n FUN_140003f30(param_1,puVar16,puVar18,param_4);\n pwVar11 = pwVar19;\n if (plVar17 != (longlong *)0x0) {\n pwVar11 = (wchar_t *)*plVar17;\n }\n FUN_1400053e0((longlong)pwVar11,dVar2);\n uVar24 = SUB84(dVar2,0);\n uVar25 = uVar22;\n }\n *(double *)(param_1 + 0x58) = dVar2;\n Sleep(1);\n cVar3 = *(char *)(param_1 + 0x60);\n }\n FUN_140010aa0(L\"+ Prepare Stop\\n\",puVar16,puVar18,param_4);\n FUN_1400079d0(*(longlong *)(param_1 + 0xa8));\n lVar20 = *(longlong *)(param_1 + 0xa0);\n puVar4 = *(undefined8 **)(lVar20 + 0x28);\n if (puVar4 != (undefined8 *)0x0) {\n puVar16 = (ulonglong *)0x1;\n (**(code **)*puVar4)();\n }\n *(undefined8 *)(lVar20 + 0x28) = 0;\n CoUninitialize();\n FUN_140010960(L\"# Agent Stoped... #\\n\",puVar16,puVar18,param_4);\n if (7 < local_b0) {\n operator_delete((void *)CONCAT62(uStack_c6,local_c8));\n }\n local_b0 = 7;\n local_b8 = 0;\n local_c8 = 0;\n if (7 < local_d8) {\n operator_delete((void *)CONCAT62(uStack_ee,local_f0));\n }\n pwVar19 = local_280;\n local_d8 = 7;\n local_e0 = 0;\n local_f0 = 0;\n if (pwVar10 != (wchar_t *)0x0) {\n plVar13 = (longlong *)((longlong)pwVar10 + 8);\n *plVar13 = *plVar13 + -1;\n plVar17 = local_288;\n if (*plVar13 == 0) {\n pwVar10 = *(wchar_t **)local_280;\n local_260 = pwVar10;\n if (pwVar10 != (wchar_t *)0x0) {\n FUN_14002e7a0((undefined4 *)(pwVar10 + 0x14),puVar16,puVar18,param_4);\n if (*(void **)(pwVar10 + 4) != (void *)0x0) {\n operator_delete(*(void **)(pwVar10 + 4));\n }\n pwVar10[4] = L'\\0';\n pwVar10[5] = L'\\0';\n pwVar10[6] = L'\\0';\n pwVar10[7] = L'\\0';\n pwVar10[8] = L'\\0';\n pwVar10[9] = L'\\0';\n pwVar10[10] = L'\\0';\n pwVar10[0xb] = L'\\0';\n pwVar10[0xc] = L'\\0';\n pwVar10[0xd] = L'\\0';\n pwVar10[0xe] = L'\\0';\n pwVar10[0xf] = L'\\0';\n operator_delete(pwVar10);\n }\n FUN_1400302f0(pwVar19);\n plVar17 = local_288;\n }\n }\n plVar13 = local_288;\n if (plVar17 != (longlong *)0x0) {\n plVar17 = plVar17 + 1;\n *plVar17 = *plVar17 + -1;\n if (*plVar17 == 0) {\n puVar4 = (undefined8 *)*local_288;\n if (puVar4 != (undefined8 *)0x0) {\n (**(code **)*puVar4)(puVar4,1);\n }\n FUN_1400302f0(plVar13);\n }\n }\n return 0;\n }\n if (*pcVar15 == '\\x18') {\n pwVar11 = (wchar_t *)(pcVar15 + 8);\n if (7 < *(ulonglong *)(pcVar15 + 0x20)) {\n pwVar11 = *(wchar_t **)(pcVar15 + 8);\n }\n goto LAB_140003c4a;\n }\n pcVar15 = pcVar15 + 0x30;\n } while( true );\n}\n\n"},"relationship_coverage":null,"subject":{"architecture":"x86_64","digest":{"sha256":"6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469"},"format":"pe","local_path":"/home/baobeld/Development/rusty-hearts/re-project/binaries/Agent_Release_x64.exe","name":"Agent_Release_x64.exe"}},{"analysis_profile":{"digest":"59ccbf78a7678313ce6b8dc5d2aff50bb87fd4c4da522e2f0de63ece7a22c57a","parameters":{"upstream_analysis_profile":{"digest":"de1d200f7c777e7d47b9def837d80cf1e4326106753fd45afae1b8f0c68936f6","parameters":{"analyzer_preset":"ghidra-default","annotation_policy":"atomic-function-entry-metadata-v1","architecture":"x86_64","available_architectures":["x86_64"],"call_relationship_coverage":"function-body-call-coverage-v5","compiler_spec_id":"auto-default","decompiler_jump_loads":true,"executable_role":"application","function_body_evidence":"complete-inclusive-ranges-v1","function_boundary_observations":"ghidra-function-boundary-limitations-v3","function_dossier_coverage":"observed-facets-and-call-relationships-v1","function_references":"complete-body-and-entry-reference-manager-v2","import_mode":"ephemeral-source-immutable","instruction_flow_evidence":"decoded-return-pcode-v1","instruction_references":"exact-address-incoming-v1","jump_table_evidence":"typed-case-default-blocks-v1","language_id":"auto-from-header","load_image_observations":"source-mappings-entry-context-v2","loader":"auto-from-header","location_resolution":"explicit-address-exact-entry-symbol-first-v3","managed":false,"native_aot_metadata":{"contract_revision":"rtr-9.1-x64-pe-read-only-v3","report_bytes":4194304,"source_bytes":134217728,"work_units":67108864,"working_memory_bytes":67108864},"no_return_repair":"returning-imports-decoded-return-v2","pdb_observations":"program-info-v1","procedure_file_offset_resolution":"address-first-unique-target-source-mapping-v2","process_launch":"inspected-jvm-launch-support-v1","string_inventory_evidence":"defined-data-coverage-v1","target_format":"pe","target_kind":"executable"},"provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"}},"workflow_revision":2},"provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"}},"authority":"shipped-artifact","confidence":"derived","environment":null,"evidence_id":"ev_37c60dfdda40ba0a32a0292ddecc48812ecb8a843c45994b5dd53fe367ef830e","evidence_links":[],"limitations":["Derived by an REA composed workflow.","An exact external entry resolves to its observed function identity even when its body is empty. This does not establish mapped executable bytes or containment of nearby external addresses.","Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.","Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.","Only Ghidra-defined string Data is observed; packed or undefined string bytes may be absent. Completeness applies to that inventory, and an empty search does not establish that text is absent from the artifact. If an address is known, use read_bytes and xrefs to inspect bytes and references.","Regex mode uses Java Pattern semantics. Matcher or compiler stack exhaustion returns a resource constraint without closing the session; literal mode avoids regex recursion and returns complete matching values.","Synthetic Ghidra entry-point references without actionable memory sources are omitted.","The direct address list projects exact Ghidra references to one address but does not expose their kinds; procedure_references and analyze_function preserve available kind metadata.","The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.","The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.","The target references PDB Agent_Release_x64.pdb (GUID a4775113-cf21-4c1c-9d58-7e61100fab96, age (hex) 1, signature unknown, version RSDS); Ghidra reports load state unknown. Original names and types may be missing; an empty name search does not prove a procedure is absent. Use list_procedures and address-based analysis to inspect recovered functions. REA does not admit a caller-selected PDB companion.","This session uses Ghidra 12.1.2. The bridge is verified against 12.1.4; other 12.1.x builds are accepted and the observed version is reported."],"locations":[],"normalized_result":{"matches":[{"address":"0x14011af70","type":"string","value":"Global\\RustyHearts_Agent"}],"query":"RustyHearts_Agent","references":[{"containing_procedure":{"found":true,"procedure":{"address":"0x1400100b0","body":{"available":true,"contains_entry":true,"non_contiguous":false,"provenance":"ghidra-function-body-address-set","ranges":[{"end":"0x140010119","start":"0x1400100b0"}],"span_bytes":106,"total_bytes":106},"classification":{"external":false,"provenance":"ghidra-function-manager","thunk":false,"thunk_target":null},"name":"FUN_1400100b0"},"query_address":"0x1400100b9"},"source_address":"0x1400100b9","target_address":"0x14011af70"},{"containing_procedure":{"found":true,"procedure":{"address":"0x1400100b0","body":{"available":true,"contains_entry":true,"non_contiguous":false,"provenance":"ghidra-function-body-address-set","ranges":[{"end":"0x140010119","start":"0x1400100b0"}],"span_bytes":106,"total_bytes":106},"classification":{"external":false,"provenance":"ghidra-function-manager","thunk":false,"thunk_target":null},"name":"FUN_1400100b0"},"query_address":"0x1400100fa"},"source_address":"0x1400100fa","target_address":"0x14011af70"}],"residual_unknowns":[],"search_mode":"literal","truncated":false},"operation":"trace_feature","parameters":{"case_sensitive":true,"query":"RustyHearts_Agent"},"predicate_type":"rea.analysis","provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"},"raw_result":null,"relationship_coverage":null,"subject":{"architecture":"x86_64","digest":{"sha256":"6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469"},"format":"pe","local_path":"/home/baobeld/Development/rusty-hearts/re-project/binaries/Agent_Release_x64.exe","name":"Agent_Release_x64.exe"}},{"analysis_profile":{"digest":"de1d200f7c777e7d47b9def837d80cf1e4326106753fd45afae1b8f0c68936f6","parameters":{"analyzer_preset":"ghidra-default","annotation_policy":"atomic-function-entry-metadata-v1","architecture":"x86_64","available_architectures":["x86_64"],"call_relationship_coverage":"function-body-call-coverage-v5","compiler_spec_id":"auto-default","decompiler_jump_loads":true,"executable_role":"application","function_body_evidence":"complete-inclusive-ranges-v1","function_boundary_observations":"ghidra-function-boundary-limitations-v3","function_dossier_coverage":"observed-facets-and-call-relationships-v1","function_references":"complete-body-and-entry-reference-manager-v2","import_mode":"ephemeral-source-immutable","instruction_flow_evidence":"decoded-return-pcode-v1","instruction_references":"exact-address-incoming-v1","jump_table_evidence":"typed-case-default-blocks-v1","language_id":"auto-from-header","load_image_observations":"source-mappings-entry-context-v2","loader":"auto-from-header","location_resolution":"explicit-address-exact-entry-symbol-first-v3","managed":false,"native_aot_metadata":{"contract_revision":"rtr-9.1-x64-pe-read-only-v3","report_bytes":4194304,"source_bytes":134217728,"work_units":67108864,"working_memory_bytes":67108864},"no_return_repair":"returning-imports-decoded-return-v2","pdb_observations":"program-info-v1","procedure_file_offset_resolution":"address-first-unique-target-source-mapping-v2","process_launch":"inspected-jvm-launch-support-v1","string_inventory_evidence":"defined-data-coverage-v1","target_format":"pe","target_kind":"executable"},"provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"}},"authority":"shipped-artifact","confidence":"observed","environment":null,"evidence_id":"ev_47e1666c2b642892bcc0c19fd01c2f4ff5568b8abac06a01dd98d997d3c40584","evidence_links":[],"limitations":["The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.","The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.","Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.","Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.","Only Ghidra-defined string Data is observed; packed or undefined string bytes may be absent. Completeness applies to that inventory, and an empty search does not establish that text is absent from the artifact. If an address is known, use read_bytes and xrefs to inspect bytes and references.","Regex mode uses Java Pattern semantics. Matcher or compiler stack exhaustion returns a resource constraint without closing the session; literal mode avoids regex recursion and returns complete matching values.","The target references PDB Agent_Release_x64.pdb (GUID a4775113-cf21-4c1c-9d58-7e61100fab96, age (hex) 1, signature unknown, version RSDS); Ghidra reports load state unknown. Original names and types may be missing; an empty name search does not prove a procedure is absent. Use list_procedures and address-based analysis to inspect recovered functions. REA does not admit a caller-selected PDB companion.","This session uses Ghidra 12.1.2. The bridge is verified against 12.1.4; other 12.1.x builds are accepted and the observed version is reported."],"locations":[],"normalized_result":[{"address":"0x1400f3358","value":"GetLogicalProcessorInformation"},{"address":"0x1400f3488","value":"CreateIoCompletionPort"},{"address":"0x1400f3ea0","value":" HTTP/1.1\r\nUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/0.3.154.9 Safari/525.19\r\nAccept-Language: ko-KR,ko,en-US,en\r\nAccept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\nCache-Control: max-age=0\r\nAccept-Charset: EUC-KR,*,utf-8\r\nAccept-Encoding: gzip,deflate,bzip2\r\nHost: %s\r\nConnection: Keep-Alive\r\n\r\n"},{"address":"0x1400f4048","value":"GET /PNReport/ReportError.php?Text="},{"address":"0x1400f4258","value":"**ErrorReport** "},{"address":"0x1400f4370","value":"ErrReporter"},{"address":"0x1400f4928","value":"Proud::CFastSocket::Connect"},{"address":"0x1400f4b70","value":"Proud::CFastSocket::Listen"},{"address":"0x1400f4d60","value":"This socket doesn't support TTL change!"},{"address":"0x1400f4db0","value":"Sending to prohibited port is not permitted!"},{"address":"0x1400f55f0","value":"CListNode reports a consistency problem at %s !"},{"address":"0x1400f5800","value":"Proud::CompletionPort::AssociateSocket"},{"address":"0x1400f6630","value":"Too large message is detected. Contact technical supports."},{"address":"0x1400f66b0","value":"Invalid packet format. Remote host is hacked or has a bug."},{"address":"0x1400f67a0","value":"Client-server UDP comm is blocked."},{"address":"0x1400f6aa0","value":"Server socket listen failure. Make sure that the TCP or UDP listening port is not already in use."},{"address":"0x1400f6b68","value":"Server is not ready."},{"address":"0x1400f6c18","value":"Local host disconnected."},{"address":"0x1400f6c50","value":"Remote host disconnected."},{"address":"0x1400f6c90","value":"Connecting to server successful."},{"address":"0x1400f6ce0","value":"Server denied connection attempt."},{"address":"0x1400f6d78","value":"Connect to server timed out."},{"address":"0x1400f6e68","value":"TCP connection failure."},{"address":"0x1400f6e98","value":"Already connected."},{"address":"0x1400f7680","value":"Not supported value yet!"},{"address":"0x1400f7ab0","value":"Proud::CNetServerImpl::GetP2PGroupCount"},{"address":"0x1400f7e40","value":"Proud::CNetServerImpl::GetClientCount"},{"address":"0x1400f7ec0","value":"Proud::CNetServerImpl::SetDefaultTimeoutTimeSec"},{"address":"0x1400f7f20","value":"Too long timeout value. It may take a lot of time to detect lost connection."},{"address":"0x1400f7fc0","value":"Too short timeout value. It may cause unfair disconnection."},{"address":"0x1400f8070","value":"Proud::CNetServerImpl::SetDirectP2PStartCondition"},{"address":"0x1400f8140","value":"Cannot set AllowEmptyP2PGroup after the server has started."},{"address":"0x1400f81c0","value":"Proud::CNetServerImpl::AllowEmptyP2PGroup"},{"address":"0x1400f8280","value":"Proud::CNetServerImpl::SetHostTag"},{"address":"0x1400f8500","value":"Proud::CNetServerImpl::GetJoinedP2PGroups"},{"address":"0x1400f8590","value":"Proud::CNetServerImpl::CloseEveryConnection"},{"address":"0x1400f8620","value":"Proud::CNetServerImpl::GetLastPingSec"},{"address":"0x1400f86a0","value":"Proud::CNetServerImpl::GetRecentPingSec"},{"address":"0x1400f8720","value":"Proud::CNetServerImpl::GetClientHostIDs"},{"address":"0x1400f87a0","value":"Proud::CNetServerImpl::GetClientInfo"},{"address":"0x1400f8820","value":"Proud::CNetServerImpl::TcpAndUdp_DoForLongInterval"},{"address":"0x1400f88f0","value":"Proud::CNetServerImpl::EnableLog"},{"address":"0x1400f8970","value":"Proud::CNetServerImpl::DisableLog"},{"address":"0x1400f89f0","value":"Proud::CNetServerImpl::GetStats"},{"address":"0x1400f8a60","value":"Cannot call GetUdpListenerLocalAddrs unless ServerUdpAssignMode_Static is used!"},{"address":"0x1400f8b00","value":"Proud::CNetServerImpl::GetUdpListenerLocalAddrs"},{"address":"0x1400f8b90","value":"Proud::CNetServerImpl::NextEncryptCount"},{"address":"0x1400f8c10","value":"Proud::CNetServerImpl::PrevEncryptCount"},{"address":"0x1400f8c90","value":"Proud::CNetServerImpl::GetExpectedDecryptCount"},{"address":"0x1400f8d20","value":"Proud::CNetServerImpl::NextDecryptCount"},{"address":"0x1400f8da0","value":"Proud::CNetServerImpl::IsConnectedClient"},{"address":"0x1400f8e30","value":"Proud::CNetServerImpl::EnableSpeedHackDetector"},{"address":"0x1400f8ec0","value":"Proud::CNetServerImpl::SetMaxDirectP2PConnectionCount"},{"address":"0x1400f8f90","value":"Cannot call GetUdpSocketAddrList unless ServerUdpAssignMode_Static is used!"},{"address":"0x1400f9030","value":"Proud::CNetServerImpl::GetUdpSocketAddrList"},{"address":"0x1400f9090","value":"Proud::CNetServerImpl::GetTaskSubjectByHostID_NOLOCK"},{"address":"0x1400f9940","value":"Proud::CNetServerImpl::C2SStub::NotifyNatDeviceNameDetected"},{"address":"0x1400f99f0","value":"Proud::CNetServerImpl::C2SStub::NotifySendSpeed"},{"address":"0x1400f9aa0","value":"Proud::CNetServerImpl::C2SStub::NotifyLog"},{"address":"0x1400f9bd0","value":"Proud::CNetServerImpl::C2SStub::NotifyLogHolepunchFreqFail"},{"address":"0x1400f9c80","value":"Proud::CNetServerImpl::C2SStub::ReliablePing"},{"address":"0x1400f9d10","value":"Proud::CNetServerImpl::C2SStub::ShutdownTcp"},{"address":"0x1400f9da0","value":"Proud::CNetServerImpl::C2SStub::NotifyNatDeviceName"},{"address":"0x1400f9e40","value":"Proud::CNetServerImpl::C2SStub::ReportP2PPeerPing"},{"address":"0x1400f9ee0","value":"Proud::CNetServerImpl::C2SStub::ReportC2CUdpMessageCount"},{"address":"0x1400f9f90","value":"Proud::CNetServerImpl::C2SStub::ReportC2SUdpMessageTrialCount"},{"address":"0x1400fa040","value":"Proud::CNetServerImpl::PurgeTooOldUnmatureClient"},{"address":"0x1400fa0e0","value":"%d remote rc is %s in netserver!"},{"address":"0x1400fa170","value":"Proud::CNetServerImpl::GetCryptSessionKey"},{"address":"0x1400fa260","value":"Proud::CNetServerImpl::CloseConnection"},{"address":"0x1400fa2e0","value":"Proud::CNetServerImpl::GetP2PRecentPing"},{"address":"0x1400fa370","value":"Proud::CNetServerImpl::GetP2PConnectionStats"},{"address":"0x1400fa490","value":"Proud::CNetServerImpl::ElectSuperPeer"},{"address":"0x1400fa570","value":"Proud::CNetServerImpl::GetUserWorkerThreadInfo"},{"address":"0x1400fa600","value":"Proud::CNetServerImpl::GetNetWorkerThreadInfo"},{"address":"0x1400fa6c0","value":"NetServer udpIssueQueueCS DeadLock!! - %s"},{"address":"0x1400fa720","value":"NetServer tcpIssueQueueCS DeadLock!! - %s"},{"address":"0x1400faa00","value":"Proud::CNetServerImpl::C2SStub::C2S_CreateUdpSocketAck"},{"address":"0x1400fac00","value":"Proud::CNetServerImpl::C2SStub::NotifyUdpToTcpFallbackByClient"},{"address":"0x1400fae20","value":"Proud::CNetServerImpl::C2SStub::NotifyP2PHolepunchSuccess"},{"address":"0x1400faf20","value":"Proud::CNetServerImpl::C2SStub::P2P_NotifyDirectP2PDisconnected"},{"address":"0x1400fb070","value":"Proud::CNetServerImpl::C2SStub::NotifyPeerUdpSocketRestored"},{"address":"0x1400fb1c0","value":"Proud::CNetServerImpl::EnquePacketDefragWarning"},{"address":"0x1400fb480","value":"Proud::CNetServerImpl::CreateAndInitUdpSockets"},{"address":"0x1400fb570","value":"All UDP port numbers specified at Server Start are deleted! An arbitary port number is assigned instead."},{"address":"0x1400fb870","value":"Proud::CNetServerImpl::C2SStub::NotifyJitDirectP2PTriggered"},{"address":"0x1400fb920","value":"Proud::CNetServerImpl::C2SStub::C2S_RequestCreateUdpSocket"},{"address":"0x1400fb9d0","value":"CStartServerParameter::m_fastEncryptedMessageKeyLength Incorrect key lengt, MaxSize is 2048, MinSize is 8"},{"address":"0x1400fba40","value":"CStartServerParameter::m_encryptedMessageKeyLength Incorrect key length, only 128,192,256"},{"address":"0x1400fbaa0","value":"No NIC binding though multiple NIC detected##Process=%s"},{"address":"0x1400fbb10","value":"Server has multiple network devices, however, no device is specified for listening. Is it your intention?"},{"address":"0x1400fbbf0","value":"Cannot add duplicated UDP port number!"},{"address":"0x1400fbc70","value":"Cannot assign non-zero UDP port number with zero UDP port number! All non-zero or all zero must be guaranteed!"},{"address":"0x1400fbff0","value":"Proud::CNetServerImpl::GetP2PGroupInfo"},{"address":"0x1400fc0a0","value":"Proud::CNetServerImpl::GetMostSuitableSuperPeerInGroup"},{"address":"0x1400fc110","value":"Proud::CNetServerImpl::IsValidHostID_NOLOCK"},{"address":"0x1400fc1a0","value":"Proud::CNetServerImpl::GetSuitableSuperPeerRankListInGroup"},{"address":"0x1400fc420","value":"Proud::CNetServerImpl::ProcessOneLocalEvent"},{"address":"0x1400fc5e0","value":"Proud::CNetServerImpl::Send_BroadcastLayer"},{"address":"0x1400fcba0","value":"Proud::CNetServerImpl::C2SStub::P2PGroup_MemberJoin_Ack"},{"address":"0x1400fcc40","value":"Proud::CNetServerImpl::GetP2PGroups"},{"address":"0x1400fccc0","value":"Proud::CNetServerImpl::PurgeTooOldAddMemberAckItem"},{"address":"0x1400fce50","value":"Proud::CNetServerImpl::JoinP2PGroup"},{"address":"0x1400fced0","value":"Proud::CNetServerImpl::EnqueueHackSuspectEvent"},{"address":"0x1400fcf60","value":"Proud::CNetServerImpl::EnqueueP2PGroupRemoveEvent"},{"address":"0x1400fd000","value":"Proud::CNetServerImpl::EnqueueUnitTestFailEvent"},{"address":"0x1400fd1c8","value":"AddrPort.IsSameLan fail!"},{"address":"0x1400fd250","value":"Proud::CNetServerImpl::EnqueError"},{"address":"0x1400fd2d0","value":"Proud::CNetServerImpl::EnqueWarning"},{"address":"0x1400fd380","value":"Proud::CNetServerImpl::DestroyP2PGroup"},{"address":"0x1400fd400","value":"Proud::CNetServerImpl::LeaveP2PGroup"},{"address":"0x1400fd4d0","value":"Proud::CNetServerImpl::CreateP2PGroup"},{"address":"0x1400fd600","value":"Proud::CNetServerImpl::DestroyEmptyP2PGroups"},{"address":"0x1400fd710","value":"Proud::CNetServerImpl::TestReliableUdpFrame"},{"address":"0x1400fd7a0","value":"Proud::CNetServerImpl::HardDisconnect_AutoPruneGoesTooLongClient"},{"address":"0x1400fd860","value":"Proud::CNetServerImpl::C2SStub::ShutdownTcpHandshake"},{"address":"0x1400fd928","value":"Proud::CNetServerImpl::Stop"},{"address":"0x1400fd990","value":"Proud::CNetServerImpl::DisposeIssuedRemoteClients"},{"address":"0x1400fda30","value":"Proud::CNetServerImpl::~CNetServerImpl"},{"address":"0x1400fdab0","value":"Proud::CNetServerImpl::HeartBeat_PerClient"},{"address":"0x1400fdb40","value":"Cannot send messages unless connection to server exists!"},{"address":"0x1400ffc00","value":"Received stream from TCP server became inconsistent!"},{"address":"0x1400ffc98","value":"Sending ServerHolepunch: %s"},{"address":"0x140100320","value":"Unstability in Connect #1! Process=%s"},{"address":"0x140100370","value":"Unstability in Connect #3! Process=%s"},{"address":"0x1401003c0","value":"Wrong state(%s)! Disconnect() or GetServerConnectionState() may be required."},{"address":"0x140100c80","value":"Unstability in Disconnect #1! Process=%s"},{"address":"0x140100ce0","value":"Unstability in Disconnect #2! Process=%s"},{"address":"0x140100d40","value":"CNetClient.Disconnect seems to be freezed ## State=%d##GarbageCount=%d##Process=%s"},{"address":"0x140100ec0","value":"(first chance) to-server UDP punch lost##Reason:%d##CliInstCount=%d##RecentElapTime=%3.3f##DisconnedCount=%d##recv count=%d##last ok recv interval=%3.3f##Recurred:%d##LocalIP:%s##UDP kept time:%3.3f##Time diff since RecvIssue:%3.3f##NAT name=%s##%s##Process=%s"},{"address":"0x1401016d0","value":"RMI Proxy which is still in use by ProudNet core cannot be destroyed! Destroy CNetClient or CNetServer instance first."},{"address":"0x140101840","value":"Already async callback may occur! server start or client connection should have not been done before here!"},{"address":"0x140101c90","value":"CStartServerParameter.m_enableP2PEncryptedMessaging=false. P2P Messaging can not encrypted!!"},{"address":"0x140101ee0","value":"Proud::CNetCoreImpl::ProcessMessage_Encrypted"},{"address":"0x140101f70","value":"Packet compression failed! Error code=%d"},{"address":"0x140102030","value":"RMI Stub which is still in use by ProudNet core cannot be destroyed! Destroy CNetClient or CNetServer instance first."},{"address":"0x1401022f0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_SpeedHackDetectorPing"},{"address":"0x1401023b0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_ReplyReceiveSpeedAtReceiverSide_NoBypass"},{"address":"0x1401027b4","value":": Client local Addr=%s,Client addr at server=%s"},{"address":"0x140102820","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_NotifyHolepunchSuccess"},{"address":"0x1401029a0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_PeerUdp_NotifyHolepunchSuccess"},{"address":"0x140102a70","value":"MessageType_ServerHolepunch from %s"},{"address":"0x140102ac0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_ServerHolepunch"},{"address":"0x140102b80","value":"MessageType_PeerUdp_ServerHolepunch from %s"},{"address":"0x140102be0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_PeerUdp_ServerHolepunch"},{"address":"0x140102cc0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_ReliableRelay1"},{"address":"0x140102db0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_UnreliableRelay1"},{"address":"0x140102e40","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_UnreliableRelay1"},{"address":"0x140102eb0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_LingerDataFrame1"},{"address":"0x140102f40","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_LingerDataFrame1"},{"address":"0x140102ff0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_RequestServerTimeAndKeepAlive"},{"address":"0x1401030f0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_RequestReceiveSpeedAtReceiverSide_NoBypass"},{"address":"0x1401031f0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_NotifyServerConnectionRequestData"},{"address":"0x1401034b0","value":"Proud::CNetThreads_S::TcpListenerProc_DoAcceptedSocket"},{"address":"0x1401037d0","value":"Proud::CNetThreads_S::NetworkerThread_ProcessMessage_NotifyCSEncryptedSessionKey"},{"address":"0x140103a00","value":"Proud::CNetThreads_S::TcpListenerProc"},{"address":"0x140103b18","value":"PNSrv TcpListener"},{"address":"0x140103ba0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_Rmi"},{"address":"0x140103c40","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_UserMessage"},{"address":"0x140103cf0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_ProudNetLayer"},{"address":"0x140104410","value":"ServerSocketPool is already destructed!"},{"address":"0x140108308","value":"NotifyCli_ConnectionState"},{"address":"0x140109510","value":"Proud::CListNode::CListOwner::Erase"},{"address":"0x140109590","value":"Proud::CListNode::CListOwner::Erase"},{"address":"0x1401096b0","value":"Unexpected at PacketQueue Pop!"},{"address":"0x140109840","value":"Unexpected state in RemoteToPacketSendMap #2!"},{"address":"0x1401098a0","value":"Unexpected state in RemoteToPacketSendMap!"},{"address":"0x140109a60","value":"PacketQueue consistency failed!"},{"address":"0x140109aa0","value":"PacketQueue consistency 2 failed!"},{"address":"0x140109b10","value":"UDP frag length is wrong #1! packetlength=%d, maxlength=%d, fragID=%d"},{"address":"0x140109c20","value":"UDP frag length is wrong #3! assembledDataCount=%d, packetLength=%d"},{"address":"0x140109d40","value":"UDP full packet length is wrong!"},{"address":"0x140109d90","value":"Cannot identify UDP fragment nor full packet! fragheaderSplitter=%u"},{"address":"0x14010a260","value":"Disconnected"},{"address":"0x14010a280","value":"Connecting"},{"address":"0x14010a298","value":"Connected"},{"address":"0x14010a2b0","value":"Disconnecting"},{"address":"0x14010a2d0","value":""},{"address":"0x14010a890","value":"FastEncrypt Key Length is 0, Check ServerStartParameters m_fastEncryptedMessageKeyLength"},{"address":"0x14010abc8","value":"PUBLIC KEY EXPORT ERROR"},{"address":"0x14010adc8","value":"Incorrect Packet"},{"address":"0x14010b300","value":"CNetClientManager.dtor assert fail: %d %d"},{"address":"0x14010b4f0","value":"Message_ServerHolepunchAck. AddrOfHereAtServer=%s"},{"address":"0x14010b620","value":"Too long time elapsed since disconnecting mode! unsafeDisconnectReason=%d"},{"address":"0x14010b730","value":"Unexpected at CNetClientManager::Unregister"},{"address":"0x14010baf0","value":"Bad format in NotifyServerConnectSuccess"},{"address":"0x14010bc80","value":"Proud::CNetClientWorker::ProcessMessage_ProudNetLayer"},{"address":"0x14010c570","value":"GET %s HTTP/1.1\r\n\r\nHost: %s:%d\r\n\r\nConnection: Keep-Alive\r\n\r\n"},{"address":"0x14010c8c0","value":"Message_PeerUdp_ServerHolepunchAck. AddrOfHereAtServer=%s"},{"address":"0x14010cc20","value":"(first chance) to-peer client %d UDP punch lost##Reason:%d##CliInstCount=%d##RecentElapTime=%3.3f##DisconnedCount=%d##recv count=%d##last ok recv interval=%3.3f##Recurred:%d##LocalIP:%s##Remote peer behind NAT:%d##UDP kept time:%3.3f##Time diff since last RecvIssue:%3.3f##%s##Process=%s"},{"address":"0x14011af30","value":"option\\agent_serveroption.xml"},{"address":"0x14011af70","value":"Global\\RustyHearts_Agent"},{"address":"0x14011afa8","value":"AGENT"},{"address":"0x14011b000","value":"RetryConnectSession\n"},{"address":"0x14011b0f0","value":"** Server Load Time : %d sec\n"},{"address":"0x14011b110","value":"STEP : SERVER_RUN \n"},{"address":"0x14011b150","value":"%s : RETRY CONNECT : IP[ %s ] PORT[ %d ]\n"},{"address":"0x14011b1b0","value":"%s : RETRY CONNECT : ADDRESS[ %s ] PORT[ %d ]\n"},{"address":"0x14011b2e0","value":"Session [%d] S[ %d ] : ADDRESS[ %s ] PORT[ %d ] CODE[ %d ]\n"},{"address":"0x14011b360","value":"Session S[ %d ] : ADDRESS[ %s ] PORT[ %d ] CODE[ %d ]\n"},{"address":"0x14011b438","value":"Manager"},{"address":"0x14011b480","value":"Agent"},{"address":"0x14011b4d8","value":"Agentmanager"},{"address":"0x14011b588","value":"Server Version."},{"address":"0x14011b5b0","value":"All Server Kill."},{"address":"0x14011b5c8","value":"Server Information."},{"address":"0x14011b5e0","value":"All Server Down."},{"address":"0x14011b5f8","value":"Disconnect Server On."},{"address":"0x14011b610","value":"All Server On."},{"address":"0x14011b670","value":"Server Info."},{"address":"0x14011b680","value":"AgentManager Retry."},{"address":"0x14011b6b0","value":"Server Shutdown."},{"address":"0x14011b6e0","value":"Log\\Agent.log"},{"address":"0x14011b6f0","value":"Log\\Protocol_Agent"},{"address":"0x14011b718","value":"# Agent Startup #\n\n"},{"address":"0x14011b768","value":"\n # Agent Running... #\n"},{"address":"0x14011b798","value":"Start Auto Server On. \n"},{"address":"0x14011b7f0","value":"# Agent Stoped... #\n"},{"address":"0x14011b81e","value":"\n-AGENT SERVER [CODE:%d]---------------------------------\n"},{"address":"0x14011b950","value":"%d p2pConnectionPairCount\n"},{"address":"0x14011b970","value":"%d p2pDirectConnectionPairCount\n"},{"address":"0x14011b9b8","value":"All Server On. \n"},{"address":"0x14011b9d0","value":"Disconnect Server On. \n"},{"address":"0x14011ba60","value":"ConnectServer Count : [ %d ] \n"},{"address":"0x14011bb40","value":"ProcessID : %d\n"},{"address":"0x14011c928","value":"OnError MagiAgentNetwork : %s"},{"address":"0x14011c970","value":"OnWarning MagiAgentNetwork : %s"},{"address":"0x14011c9b0","value":"OnException MagiAgentNetwork : %s"},{"address":"0x14011c9d8","value":"NEW SERVER : HostID:[%d][%s] \n"},{"address":"0x14011ca20","value":"DELETE SERVER : HostID:[%d][%s] \n"},{"address":"0x14011ca98","value":"serveron"},{"address":"0x14011cc90","value":"OnError MGAgentManagerSession : %s"},{"address":"0x14011cce0","value":"OnWarning MGAgentManagerSession : %s"},{"address":"0x14011cd30","value":"OnException MGAgentManagerSession : %s"},{"address":"0x14011cd60","value":"AgentManager Connected : HostID[%d] \n"},{"address":"0x14011cdb0","value":"AgentManager Connect Failed %s \n"},{"address":"0x14011cdf8","value":"AgentManager Disconnected %s \n"},{"address":"0x14011ce38","value":"Exist AgentManager %s/%d \n"},{"address":"0x14011ce70","value":"AgentManaserSession->Process"},{"address":"0x14011cfd8","value":"NOT FIND PROCESS ID \n"},{"address":"0x14011d008","value":"FAILED SERVER ON %s "},{"address":"0x14011d038","value":"=======ServerOn=======\n"},{"address":"0x14011d068","value":"=======Server Fail=======\n"},{"address":"0x14011d130","value":"Process Kill.!!! [%s] \n"},{"address":"0x14011d248","value":"ERROR - NOT FIND SERVER : REQ_SERVER_OPTION !!!\n"},{"address":"0x14011d280","value":"Error - NOT EXIST SERVER : %d \n"},{"address":"0x14011d450","value":"PWE_REQ_NOTICE : CLIENT [ %d ] WORLD [ %d ] SERVER_TYPE [ %d ] NOTICE_TYPE [ %d ] NOTICE [ %s ] \n"},{"address":"0x14011d5d0","value":"ServerFile Count: %d !!! \n"},{"address":"0x14011d5f0","value":"ServerOption Count: %d !!! \n"},{"address":"0x14011d610","value":"AgentManager Count: %d !!! \n"},{"address":"0x14011d630","value":"REQ_SERVER_KILL"},{"address":"0x14011d758","value":"option\\service_control.xml"},{"address":"0x14011d7d0","value":"server_mode"},{"address":"0x14011d7e0","value":"billing_server_mode"},{"address":"0x14011d8a8","value":"auth_port"},{"address":"0x14011d9e8","value":"Active Service ServerMode : %s\n"},{"address":"0x14011da10","value":"Active Service BillingServerMode : %s\n"},{"address":"0x14011eb08","value":"PT_SERVER_STEP"},{"address":"0x14011eba0","value":"RESP_SERVER_LOCK"},{"address":"0x14011ebf8","value":"PT_SERVER_COMMAND_RESULT"},{"address":"0x14011ec30","value":"PT_SERVER_INFORMATION"},{"address":"0x14011ec60","value":"PT_SERVER_REGISTER"},{"address":"0x14011ee20","value":"PT_SERVER_CONNECT"},{"address":"0x14011ee48","value":"PT_SERVER_NOTICE"},{"address":"0x14011ee70","value":"PT_SERVER_COMMAND"},{"address":"0x14011ee98","value":"PT_SERVER_OPTIONS"},{"address":"0x14011f1d8","value":"PT_REFRESH_SERVER_OPTION"},{"address":"0x14011f210","value":"PT_REFRESH_SERVER_FILE"},{"address":"0x14011f240","value":"PT_AGENT_DATA"},{"address":"0x14011f260","value":"PT_PATCH_SERVER"},{"address":"0x14011f528","value":"option\\total_option.xml"},{"address":"0x14011f558","value":"option\\agent.xml"},{"address":"0x14011f570","value":"option\\patch.xml"},{"address":"0x14011f660","value":"agentmanager"},{"address":"0x14011f670","value":"server"},{"address":"0x14011f6c8","value":"start_server"},{"address":"0x14011f6d8","value":"revive_server"},{"address":"0x14011f780","value":"private_port"},{"address":"0x14011f7a0","value":"public_port"},{"address":"0x14011f7b0","value":"public_udpport"},{"address":"0x14011f7cc","value":"agent"},{"address":"0x14011f870","value":"msg_server"},{"address":"0x14011f880","value":"gm_server"},{"address":"0x14011f890","value":"auction_server"},{"address":"0x14011f8a0","value":"manager_server"},{"address":"0x14011f8b0","value":"match_server"},{"address":"0x14011f8c0","value":"agent_server"},{"address":"0x14011f940","value":"=================DNS. ServerParseOption============== \n"},{"address":"0x14011f9b0","value":"=================IP. ServerParseOption============== \n"},{"address":"0x14011fa20","value":"(PRIVATE)\t[ADDRESS:%s] [PORT:%d] \n"},{"address":"0x14011fa70","value":"(PUBLIC)\t[ADDRESS:%s] [PORT:%d] [UDP:%d] [UDPCOUNT:%d] \n"},{"address":"0x14011fbf0","value":"MANAGER"},{"address":"0x14011fc20","value":"AGENTMANAGER"},{"address":"0x14011fc50","value":"ServerNameByTypeAndCode ERROR - NOT TYPE : Type [ %d ] Code [ %d ]\n"},{"address":"0x14011fce0","value":"%s Error Agent Parse !!! \n"},{"address":"0x14011fd08","value":"connect"},{"address":"0x14011fd38","value":"Create Agent Option File Succeed \n"},{"address":"0x14011ffa0","value":"SERVER_FILE_INSERT : %d : %s \n"},{"address":"0x140120000","value":"Server Start : ADDRESS[%s] PORT[%d]"},{"address":"0x140120050","value":"PRIVATE NETWORK : ADDRESS[ %s ] PORT[ %d ]\n"},{"address":"0x1401200a8","value":"option\\customoption.xml"},{"address":"0x140120100","value":"agentmanagers"},{"address":"0x140120110","value":"serveroption"},{"address":"0x140120168","value":"manager"},{"address":"0x1401201f0","value":"LOGVIEWER Option [%d] - LogAgentManagers View.\n"},{"address":"0x140120220","value":"LOGVIEWER Option [%d] - LogAgent View.\n"},{"address":"0x140120298","value":"LOGVIEWER Option [%d] - LogServerOption View.\n"},{"address":"0x1401202f0","value":"Connect Option [%d] - DBC_GAME. \n"},{"address":"0x140120318","value":"Connect Option [%d] - DBC_LOG. \n"},{"address":"0x140120340","value":"Connect Option [%d] - Auction. \n"},{"address":"0x140120368","value":"Connect Option [%d] - Msg. \n"},{"address":"0x140120388","value":"Connect Option [%d] - Manager. \n"},{"address":"0x1401203b0","value":"Connect Option [%d] - Match. \n"},{"address":"0x1401203d0","value":"Connect Option [%d] - Gm. \n"},{"address":"0x1401203f0","value":"Connect Option [%d] - Gate. \n"},{"address":"0x140120410","value":"Connect Option [%d] - Lobby. \n"},{"address":"0x140120430","value":"Connect Option [%d] - Dungeon. \n"},{"address":"0x140120458","value":"Connect Option [%d] - Pvp. \n"},{"address":"0x140120478","value":"Connect Option [%d] - Guild. \n"},{"address":"0x140120498","value":"Connect Option [%d] - Agent. \n"},{"address":"0x1401204b8","value":"Connect Option [%d] - AgentManager. \n"},{"address":"0x140120500","value":"INSERT SERVER OPTION MODIFY - Code : [ %d ], Name [ %s ]\n"},{"address":"0x140120580","value":"INSERT SERVER OPTION - Code : [ %d ], Name [ %s ]\n"},{"address":"0x140120698","value":"Function not supported 40"},{"address":"0x140120920","value":"No more processes or not enough memory or maximum nesting level reached 11"},{"address":"0x140120970","value":"No spawned processes 10"},{"address":"0x1401209a0","value":"Exec format error\t8"},{"address":"0x140120a20","value":"No such process 3"},{"address":"0x1401527bc","value":"GetProcessHeaps"},{"address":"0x140152834","value":"GetCurrentProcessId"},{"address":"0x140152a04","value":"Process32NextW"},{"address":"0x140152a16","value":"Process32FirstW"},{"address":"0x140152a44","value":"GetProcessHeap"},{"address":"0x140152b50","value":"GetCurrentProcess"},{"address":"0x1401536e4","value":"_configthreadlocale"},{"address":"0x1401537d0","value":"BT_SetSupportEMail"},{"address":"0x1401537f4","value":"BT_SetSupportServer"},{"address":"0x14015380a","value":"BT_SetSupportURL"},{"address":"0x140153846","value":"BT_SetReportFilePath"},{"address":"0x140153870","value":"GetExitCodeProcess"},{"address":"0x140153886","value":"CreateProcessW"},{"address":"0x140153898","value":"OpenProcess"},{"address":"0x1401538a6","value":"TerminateProcess"},{"address":"0x14015416c","value":"Agent_Release_x64.exe"},{"address":"0x1401552b8","value":".?AUAddrPort@Proud@@"},{"address":"0x140155310","value":".?AVCReportSocketDg@Proud@@"},{"address":"0x140155a68","value":".?AVICompletionPortEventSink@Proud@@"},{"address":"0x140155af8","value":".?AVIVizAgentDg@Proud@@"},{"address":"0x140155b48","value":".?AVProxy@CNetServerImpl@Proud@@"},{"address":"0x140155ba8","value":".?AVCNetServer@Proud@@"},{"address":"0x140155bd0","value":".?AVC2SStub@CNetServerImpl@Proud@@"},{"address":"0x140155dd0","value":".?AV?$CFastArray@UConnectionInfo@CNetServerImpl@Proud@@$0A@@Proud@@"},{"address":"0x140155e60","value":".?AV?$CFastArray@PEAVP2PConnectionState@Proud@@$0A@@Proud@@"},{"address":"0x140155ff0","value":".?AVCNetServerImpl@Proud@@"},{"address":"0x140156250","value":".?AVIUdpPacketFragBoardDg@Proud@@"},{"address":"0x140156288","value":".?AVIUdpPacketDefragBoardDg@Proud@@"},{"address":"0x1401562c0","value":".?AVStateBase@CP2PConnectionTrialContext@Proud@@"},{"address":"0x140156420","value":".?AVPeerHolepunchState@CP2PConnectionTrialContext@Proud@@"},{"address":"0x1401564a0","value":".?AVServerAsSendDest@CNetClientImpl@Proud@@"},{"address":"0x140156b58","value":".?AVCVizAgent@Proud@@"},{"address":"0x140156ca0","value":".?AV?$CFastArray@PEAVUdpPacketCtx@Proud@@$00@Proud@@"},{"address":"0x140156f18","value":".?AVCNetClientManager@Proud@@"},{"address":"0x140156f50","value":".?AV?$CSafeSingleton@VCNetClientManager@Proud@@@Proud@@"},{"address":"0x140157170","value":".?AVServerHolepunchState@CP2PConnectionTrialContext@Proud@@"},{"address":"0x140157470","value":".?AVMagiServerBase@@"},{"address":"0x140157520","value":".?AV?$MBISingleton@VMagiAgentServer@@@@"},{"address":"0x140157558","value":".?AVMagiAgentServer@@"},{"address":"0x14015b1a0","value":".?AVStub@SERVER2AGENT_PROTOCOL@@"},{"address":"0x14015b1d8","value":".?AVServer2AgentStub@RNP@@"},{"address":"0x14015b208","value":".?AVINetServerEvent@Proud@@"},{"address":"0x14015b238","value":".?AVMagiBaseServerNetwork@@"},{"address":"0x14015b268","value":".?AVMagiAgentNetwork@@"},{"address":"0x14015b290","value":".?AVStub@AGENTMANAGER2AGENT_PROTOCOL@@"},{"address":"0x14015b2c8","value":".?AVAgentManager2AgentStub@RNP@@"},{"address":"0x14015b300","value":".?AVMGAgentManagerSession@@"},{"address":"0x14015b330","value":".?AV?$MBISingleton@VMagiAgentProcess@@@@"},{"address":"0x14015b370","value":".?AVMagiAgentProcess@@"},{"address":"0x14015b880","value":".?AVIObserver@@"},{"address":"0x14015b8a0","value":".?AVAgent2ServerProxy@RNP@@"},{"address":"0x14015b8f8","value":".?AVProxy@AGENT2SERVER_PROTOCOL@@"},{"address":"0x14015b958","value":".?AVAgent2AgentManagerProxy@RNP@@"},{"address":"0x14015b990","value":".?AVProxy@AGENT2AGENTMANAGER_PROTOCOL@@"},{"address":"0x14015b9c8","value":".?AV?$MBISingleton@VMagiServerOption@@@@"},{"address":"0x14015ba08","value":".?AVMagiServerOption@@"},{"address":"0x14015bc28","value":".?AV?$MBISingleton@VMagiServerFile@@@@"},{"address":"0x14015bc60","value":".?AVMagiServerFile@@"},{"address":"0x14015bd20","value":".?AV?$MBISingleton@VMagiServerManager@@@@"},{"address":"0x14015bd60","value":".?AVMagiServerManager@@"},{"address":"0x14015bd88","value":".?AV?$MBISingleton@VMagiAgentCommon@@@@"},{"address":"0x14015bdc0","value":".?AVMagiAgentCommon@@"}],"operation":"search_strings","parameters":{"case_sensitive":false,"mode":"regex","pattern":"(?i)agent|manager|\\.ini|\\.xml|config|process|server|port|connect|listen|packet|exe"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"},"raw_result":[{"address":"0x1400f3358","value":"GetLogicalProcessorInformation"},{"address":"0x1400f3488","value":"CreateIoCompletionPort"},{"address":"0x1400f3ea0","value":" HTTP/1.1\r\nUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/0.3.154.9 Safari/525.19\r\nAccept-Language: ko-KR,ko,en-US,en\r\nAccept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\nCache-Control: max-age=0\r\nAccept-Charset: EUC-KR,*,utf-8\r\nAccept-Encoding: gzip,deflate,bzip2\r\nHost: %s\r\nConnection: Keep-Alive\r\n\r\n"},{"address":"0x1400f4048","value":"GET /PNReport/ReportError.php?Text="},{"address":"0x1400f4258","value":"**ErrorReport** "},{"address":"0x1400f4370","value":"ErrReporter"},{"address":"0x1400f4928","value":"Proud::CFastSocket::Connect"},{"address":"0x1400f4b70","value":"Proud::CFastSocket::Listen"},{"address":"0x1400f4d60","value":"This socket doesn't support TTL change!"},{"address":"0x1400f4db0","value":"Sending to prohibited port is not permitted!"},{"address":"0x1400f55f0","value":"CListNode reports a consistency problem at %s !"},{"address":"0x1400f5800","value":"Proud::CompletionPort::AssociateSocket"},{"address":"0x1400f6630","value":"Too large message is detected. Contact technical supports."},{"address":"0x1400f66b0","value":"Invalid packet format. Remote host is hacked or has a bug."},{"address":"0x1400f67a0","value":"Client-server UDP comm is blocked."},{"address":"0x1400f6aa0","value":"Server socket listen failure. Make sure that the TCP or UDP listening port is not already in use."},{"address":"0x1400f6b68","value":"Server is not ready."},{"address":"0x1400f6c18","value":"Local host disconnected."},{"address":"0x1400f6c50","value":"Remote host disconnected."},{"address":"0x1400f6c90","value":"Connecting to server successful."},{"address":"0x1400f6ce0","value":"Server denied connection attempt."},{"address":"0x1400f6d78","value":"Connect to server timed out."},{"address":"0x1400f6e68","value":"TCP connection failure."},{"address":"0x1400f6e98","value":"Already connected."},{"address":"0x1400f7680","value":"Not supported value yet!"},{"address":"0x1400f7ab0","value":"Proud::CNetServerImpl::GetP2PGroupCount"},{"address":"0x1400f7e40","value":"Proud::CNetServerImpl::GetClientCount"},{"address":"0x1400f7ec0","value":"Proud::CNetServerImpl::SetDefaultTimeoutTimeSec"},{"address":"0x1400f7f20","value":"Too long timeout value. It may take a lot of time to detect lost connection."},{"address":"0x1400f7fc0","value":"Too short timeout value. It may cause unfair disconnection."},{"address":"0x1400f8070","value":"Proud::CNetServerImpl::SetDirectP2PStartCondition"},{"address":"0x1400f8140","value":"Cannot set AllowEmptyP2PGroup after the server has started."},{"address":"0x1400f81c0","value":"Proud::CNetServerImpl::AllowEmptyP2PGroup"},{"address":"0x1400f8280","value":"Proud::CNetServerImpl::SetHostTag"},{"address":"0x1400f8500","value":"Proud::CNetServerImpl::GetJoinedP2PGroups"},{"address":"0x1400f8590","value":"Proud::CNetServerImpl::CloseEveryConnection"},{"address":"0x1400f8620","value":"Proud::CNetServerImpl::GetLastPingSec"},{"address":"0x1400f86a0","value":"Proud::CNetServerImpl::GetRecentPingSec"},{"address":"0x1400f8720","value":"Proud::CNetServerImpl::GetClientHostIDs"},{"address":"0x1400f87a0","value":"Proud::CNetServerImpl::GetClientInfo"},{"address":"0x1400f8820","value":"Proud::CNetServerImpl::TcpAndUdp_DoForLongInterval"},{"address":"0x1400f88f0","value":"Proud::CNetServerImpl::EnableLog"},{"address":"0x1400f8970","value":"Proud::CNetServerImpl::DisableLog"},{"address":"0x1400f89f0","value":"Proud::CNetServerImpl::GetStats"},{"address":"0x1400f8a60","value":"Cannot call GetUdpListenerLocalAddrs unless ServerUdpAssignMode_Static is used!"},{"address":"0x1400f8b00","value":"Proud::CNetServerImpl::GetUdpListenerLocalAddrs"},{"address":"0x1400f8b90","value":"Proud::CNetServerImpl::NextEncryptCount"},{"address":"0x1400f8c10","value":"Proud::CNetServerImpl::PrevEncryptCount"},{"address":"0x1400f8c90","value":"Proud::CNetServerImpl::GetExpectedDecryptCount"},{"address":"0x1400f8d20","value":"Proud::CNetServerImpl::NextDecryptCount"},{"address":"0x1400f8da0","value":"Proud::CNetServerImpl::IsConnectedClient"},{"address":"0x1400f8e30","value":"Proud::CNetServerImpl::EnableSpeedHackDetector"},{"address":"0x1400f8ec0","value":"Proud::CNetServerImpl::SetMaxDirectP2PConnectionCount"},{"address":"0x1400f8f90","value":"Cannot call GetUdpSocketAddrList unless ServerUdpAssignMode_Static is used!"},{"address":"0x1400f9030","value":"Proud::CNetServerImpl::GetUdpSocketAddrList"},{"address":"0x1400f9090","value":"Proud::CNetServerImpl::GetTaskSubjectByHostID_NOLOCK"},{"address":"0x1400f9940","value":"Proud::CNetServerImpl::C2SStub::NotifyNatDeviceNameDetected"},{"address":"0x1400f99f0","value":"Proud::CNetServerImpl::C2SStub::NotifySendSpeed"},{"address":"0x1400f9aa0","value":"Proud::CNetServerImpl::C2SStub::NotifyLog"},{"address":"0x1400f9bd0","value":"Proud::CNetServerImpl::C2SStub::NotifyLogHolepunchFreqFail"},{"address":"0x1400f9c80","value":"Proud::CNetServerImpl::C2SStub::ReliablePing"},{"address":"0x1400f9d10","value":"Proud::CNetServerImpl::C2SStub::ShutdownTcp"},{"address":"0x1400f9da0","value":"Proud::CNetServerImpl::C2SStub::NotifyNatDeviceName"},{"address":"0x1400f9e40","value":"Proud::CNetServerImpl::C2SStub::ReportP2PPeerPing"},{"address":"0x1400f9ee0","value":"Proud::CNetServerImpl::C2SStub::ReportC2CUdpMessageCount"},{"address":"0x1400f9f90","value":"Proud::CNetServerImpl::C2SStub::ReportC2SUdpMessageTrialCount"},{"address":"0x1400fa040","value":"Proud::CNetServerImpl::PurgeTooOldUnmatureClient"},{"address":"0x1400fa0e0","value":"%d remote rc is %s in netserver!"},{"address":"0x1400fa170","value":"Proud::CNetServerImpl::GetCryptSessionKey"},{"address":"0x1400fa260","value":"Proud::CNetServerImpl::CloseConnection"},{"address":"0x1400fa2e0","value":"Proud::CNetServerImpl::GetP2PRecentPing"},{"address":"0x1400fa370","value":"Proud::CNetServerImpl::GetP2PConnectionStats"},{"address":"0x1400fa490","value":"Proud::CNetServerImpl::ElectSuperPeer"},{"address":"0x1400fa570","value":"Proud::CNetServerImpl::GetUserWorkerThreadInfo"},{"address":"0x1400fa600","value":"Proud::CNetServerImpl::GetNetWorkerThreadInfo"},{"address":"0x1400fa6c0","value":"NetServer udpIssueQueueCS DeadLock!! - %s"},{"address":"0x1400fa720","value":"NetServer tcpIssueQueueCS DeadLock!! - %s"},{"address":"0x1400faa00","value":"Proud::CNetServerImpl::C2SStub::C2S_CreateUdpSocketAck"},{"address":"0x1400fac00","value":"Proud::CNetServerImpl::C2SStub::NotifyUdpToTcpFallbackByClient"},{"address":"0x1400fae20","value":"Proud::CNetServerImpl::C2SStub::NotifyP2PHolepunchSuccess"},{"address":"0x1400faf20","value":"Proud::CNetServerImpl::C2SStub::P2P_NotifyDirectP2PDisconnected"},{"address":"0x1400fb070","value":"Proud::CNetServerImpl::C2SStub::NotifyPeerUdpSocketRestored"},{"address":"0x1400fb1c0","value":"Proud::CNetServerImpl::EnquePacketDefragWarning"},{"address":"0x1400fb480","value":"Proud::CNetServerImpl::CreateAndInitUdpSockets"},{"address":"0x1400fb570","value":"All UDP port numbers specified at Server Start are deleted! An arbitary port number is assigned instead."},{"address":"0x1400fb870","value":"Proud::CNetServerImpl::C2SStub::NotifyJitDirectP2PTriggered"},{"address":"0x1400fb920","value":"Proud::CNetServerImpl::C2SStub::C2S_RequestCreateUdpSocket"},{"address":"0x1400fb9d0","value":"CStartServerParameter::m_fastEncryptedMessageKeyLength Incorrect key lengt, MaxSize is 2048, MinSize is 8"},{"address":"0x1400fba40","value":"CStartServerParameter::m_encryptedMessageKeyLength Incorrect key length, only 128,192,256"},{"address":"0x1400fbaa0","value":"No NIC binding though multiple NIC detected##Process=%s"},{"address":"0x1400fbb10","value":"Server has multiple network devices, however, no device is specified for listening. Is it your intention?"},{"address":"0x1400fbbf0","value":"Cannot add duplicated UDP port number!"},{"address":"0x1400fbc70","value":"Cannot assign non-zero UDP port number with zero UDP port number! All non-zero or all zero must be guaranteed!"},{"address":"0x1400fbff0","value":"Proud::CNetServerImpl::GetP2PGroupInfo"},{"address":"0x1400fc0a0","value":"Proud::CNetServerImpl::GetMostSuitableSuperPeerInGroup"},{"address":"0x1400fc110","value":"Proud::CNetServerImpl::IsValidHostID_NOLOCK"},{"address":"0x1400fc1a0","value":"Proud::CNetServerImpl::GetSuitableSuperPeerRankListInGroup"},{"address":"0x1400fc420","value":"Proud::CNetServerImpl::ProcessOneLocalEvent"},{"address":"0x1400fc5e0","value":"Proud::CNetServerImpl::Send_BroadcastLayer"},{"address":"0x1400fcba0","value":"Proud::CNetServerImpl::C2SStub::P2PGroup_MemberJoin_Ack"},{"address":"0x1400fcc40","value":"Proud::CNetServerImpl::GetP2PGroups"},{"address":"0x1400fccc0","value":"Proud::CNetServerImpl::PurgeTooOldAddMemberAckItem"},{"address":"0x1400fce50","value":"Proud::CNetServerImpl::JoinP2PGroup"},{"address":"0x1400fced0","value":"Proud::CNetServerImpl::EnqueueHackSuspectEvent"},{"address":"0x1400fcf60","value":"Proud::CNetServerImpl::EnqueueP2PGroupRemoveEvent"},{"address":"0x1400fd000","value":"Proud::CNetServerImpl::EnqueueUnitTestFailEvent"},{"address":"0x1400fd1c8","value":"AddrPort.IsSameLan fail!"},{"address":"0x1400fd250","value":"Proud::CNetServerImpl::EnqueError"},{"address":"0x1400fd2d0","value":"Proud::CNetServerImpl::EnqueWarning"},{"address":"0x1400fd380","value":"Proud::CNetServerImpl::DestroyP2PGroup"},{"address":"0x1400fd400","value":"Proud::CNetServerImpl::LeaveP2PGroup"},{"address":"0x1400fd4d0","value":"Proud::CNetServerImpl::CreateP2PGroup"},{"address":"0x1400fd600","value":"Proud::CNetServerImpl::DestroyEmptyP2PGroups"},{"address":"0x1400fd710","value":"Proud::CNetServerImpl::TestReliableUdpFrame"},{"address":"0x1400fd7a0","value":"Proud::CNetServerImpl::HardDisconnect_AutoPruneGoesTooLongClient"},{"address":"0x1400fd860","value":"Proud::CNetServerImpl::C2SStub::ShutdownTcpHandshake"},{"address":"0x1400fd928","value":"Proud::CNetServerImpl::Stop"},{"address":"0x1400fd990","value":"Proud::CNetServerImpl::DisposeIssuedRemoteClients"},{"address":"0x1400fda30","value":"Proud::CNetServerImpl::~CNetServerImpl"},{"address":"0x1400fdab0","value":"Proud::CNetServerImpl::HeartBeat_PerClient"},{"address":"0x1400fdb40","value":"Cannot send messages unless connection to server exists!"},{"address":"0x1400ffc00","value":"Received stream from TCP server became inconsistent!"},{"address":"0x1400ffc98","value":"Sending ServerHolepunch: %s"},{"address":"0x140100320","value":"Unstability in Connect #1! Process=%s"},{"address":"0x140100370","value":"Unstability in Connect #3! Process=%s"},{"address":"0x1401003c0","value":"Wrong state(%s)! Disconnect() or GetServerConnectionState() may be required."},{"address":"0x140100c80","value":"Unstability in Disconnect #1! Process=%s"},{"address":"0x140100ce0","value":"Unstability in Disconnect #2! Process=%s"},{"address":"0x140100d40","value":"CNetClient.Disconnect seems to be freezed ## State=%d##GarbageCount=%d##Process=%s"},{"address":"0x140100ec0","value":"(first chance) to-server UDP punch lost##Reason:%d##CliInstCount=%d##RecentElapTime=%3.3f##DisconnedCount=%d##recv count=%d##last ok recv interval=%3.3f##Recurred:%d##LocalIP:%s##UDP kept time:%3.3f##Time diff since RecvIssue:%3.3f##NAT name=%s##%s##Process=%s"},{"address":"0x1401016d0","value":"RMI Proxy which is still in use by ProudNet core cannot be destroyed! Destroy CNetClient or CNetServer instance first."},{"address":"0x140101840","value":"Already async callback may occur! server start or client connection should have not been done before here!"},{"address":"0x140101c90","value":"CStartServerParameter.m_enableP2PEncryptedMessaging=false. P2P Messaging can not encrypted!!"},{"address":"0x140101ee0","value":"Proud::CNetCoreImpl::ProcessMessage_Encrypted"},{"address":"0x140101f70","value":"Packet compression failed! Error code=%d"},{"address":"0x140102030","value":"RMI Stub which is still in use by ProudNet core cannot be destroyed! Destroy CNetClient or CNetServer instance first."},{"address":"0x1401022f0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_SpeedHackDetectorPing"},{"address":"0x1401023b0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_ReplyReceiveSpeedAtReceiverSide_NoBypass"},{"address":"0x1401027b4","value":": Client local Addr=%s,Client addr at server=%s"},{"address":"0x140102820","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_NotifyHolepunchSuccess"},{"address":"0x1401029a0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_PeerUdp_NotifyHolepunchSuccess"},{"address":"0x140102a70","value":"MessageType_ServerHolepunch from %s"},{"address":"0x140102ac0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_ServerHolepunch"},{"address":"0x140102b80","value":"MessageType_PeerUdp_ServerHolepunch from %s"},{"address":"0x140102be0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_PeerUdp_ServerHolepunch"},{"address":"0x140102cc0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_ReliableRelay1"},{"address":"0x140102db0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_UnreliableRelay1"},{"address":"0x140102e40","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_UnreliableRelay1"},{"address":"0x140102eb0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_LingerDataFrame1"},{"address":"0x140102f40","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_LingerDataFrame1"},{"address":"0x140102ff0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_RequestServerTimeAndKeepAlive"},{"address":"0x1401030f0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_RequestReceiveSpeedAtReceiverSide_NoBypass"},{"address":"0x1401031f0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_NotifyServerConnectionRequestData"},{"address":"0x1401034b0","value":"Proud::CNetThreads_S::TcpListenerProc_DoAcceptedSocket"},{"address":"0x1401037d0","value":"Proud::CNetThreads_S::NetworkerThread_ProcessMessage_NotifyCSEncryptedSessionKey"},{"address":"0x140103a00","value":"Proud::CNetThreads_S::TcpListenerProc"},{"address":"0x140103b18","value":"PNSrv TcpListener"},{"address":"0x140103ba0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_Rmi"},{"address":"0x140103c40","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_UserMessage"},{"address":"0x140103cf0","value":"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_ProudNetLayer"},{"address":"0x140104410","value":"ServerSocketPool is already destructed!"},{"address":"0x140108308","value":"NotifyCli_ConnectionState"},{"address":"0x140109510","value":"Proud::CListNode::CListOwner::Erase"},{"address":"0x140109590","value":"Proud::CListNode::CListOwner::Erase"},{"address":"0x1401096b0","value":"Unexpected at PacketQueue Pop!"},{"address":"0x140109840","value":"Unexpected state in RemoteToPacketSendMap #2!"},{"address":"0x1401098a0","value":"Unexpected state in RemoteToPacketSendMap!"},{"address":"0x140109a60","value":"PacketQueue consistency failed!"},{"address":"0x140109aa0","value":"PacketQueue consistency 2 failed!"},{"address":"0x140109b10","value":"UDP frag length is wrong #1! packetlength=%d, maxlength=%d, fragID=%d"},{"address":"0x140109c20","value":"UDP frag length is wrong #3! assembledDataCount=%d, packetLength=%d"},{"address":"0x140109d40","value":"UDP full packet length is wrong!"},{"address":"0x140109d90","value":"Cannot identify UDP fragment nor full packet! fragheaderSplitter=%u"},{"address":"0x14010a260","value":"Disconnected"},{"address":"0x14010a280","value":"Connecting"},{"address":"0x14010a298","value":"Connected"},{"address":"0x14010a2b0","value":"Disconnecting"},{"address":"0x14010a2d0","value":""},{"address":"0x14010a890","value":"FastEncrypt Key Length is 0, Check ServerStartParameters m_fastEncryptedMessageKeyLength"},{"address":"0x14010abc8","value":"PUBLIC KEY EXPORT ERROR"},{"address":"0x14010adc8","value":"Incorrect Packet"},{"address":"0x14010b300","value":"CNetClientManager.dtor assert fail: %d %d"},{"address":"0x14010b4f0","value":"Message_ServerHolepunchAck. AddrOfHereAtServer=%s"},{"address":"0x14010b620","value":"Too long time elapsed since disconnecting mode! unsafeDisconnectReason=%d"},{"address":"0x14010b730","value":"Unexpected at CNetClientManager::Unregister"},{"address":"0x14010baf0","value":"Bad format in NotifyServerConnectSuccess"},{"address":"0x14010bc80","value":"Proud::CNetClientWorker::ProcessMessage_ProudNetLayer"},{"address":"0x14010c570","value":"GET %s HTTP/1.1\r\n\r\nHost: %s:%d\r\n\r\nConnection: Keep-Alive\r\n\r\n"},{"address":"0x14010c8c0","value":"Message_PeerUdp_ServerHolepunchAck. AddrOfHereAtServer=%s"},{"address":"0x14010cc20","value":"(first chance) to-peer client %d UDP punch lost##Reason:%d##CliInstCount=%d##RecentElapTime=%3.3f##DisconnedCount=%d##recv count=%d##last ok recv interval=%3.3f##Recurred:%d##LocalIP:%s##Remote peer behind NAT:%d##UDP kept time:%3.3f##Time diff since last RecvIssue:%3.3f##%s##Process=%s"},{"address":"0x14011af30","value":"option\\agent_serveroption.xml"},{"address":"0x14011af70","value":"Global\\RustyHearts_Agent"},{"address":"0x14011afa8","value":"AGENT"},{"address":"0x14011b000","value":"RetryConnectSession\n"},{"address":"0x14011b0f0","value":"** Server Load Time : %d sec\n"},{"address":"0x14011b110","value":"STEP : SERVER_RUN \n"},{"address":"0x14011b150","value":"%s : RETRY CONNECT : IP[ %s ] PORT[ %d ]\n"},{"address":"0x14011b1b0","value":"%s : RETRY CONNECT : ADDRESS[ %s ] PORT[ %d ]\n"},{"address":"0x14011b2e0","value":"Session [%d] S[ %d ] : ADDRESS[ %s ] PORT[ %d ] CODE[ %d ]\n"},{"address":"0x14011b360","value":"Session S[ %d ] : ADDRESS[ %s ] PORT[ %d ] CODE[ %d ]\n"},{"address":"0x14011b438","value":"Manager"},{"address":"0x14011b480","value":"Agent"},{"address":"0x14011b4d8","value":"Agentmanager"},{"address":"0x14011b588","value":"Server Version."},{"address":"0x14011b5b0","value":"All Server Kill."},{"address":"0x14011b5c8","value":"Server Information."},{"address":"0x14011b5e0","value":"All Server Down."},{"address":"0x14011b5f8","value":"Disconnect Server On."},{"address":"0x14011b610","value":"All Server On."},{"address":"0x14011b670","value":"Server Info."},{"address":"0x14011b680","value":"AgentManager Retry."},{"address":"0x14011b6b0","value":"Server Shutdown."},{"address":"0x14011b6e0","value":"Log\\Agent.log"},{"address":"0x14011b6f0","value":"Log\\Protocol_Agent"},{"address":"0x14011b718","value":"# Agent Startup #\n\n"},{"address":"0x14011b768","value":"\n # Agent Running... #\n"},{"address":"0x14011b798","value":"Start Auto Server On. \n"},{"address":"0x14011b7f0","value":"# Agent Stoped... #\n"},{"address":"0x14011b81e","value":"\n-AGENT SERVER [CODE:%d]---------------------------------\n"},{"address":"0x14011b950","value":"%d p2pConnectionPairCount\n"},{"address":"0x14011b970","value":"%d p2pDirectConnectionPairCount\n"},{"address":"0x14011b9b8","value":"All Server On. \n"},{"address":"0x14011b9d0","value":"Disconnect Server On. \n"},{"address":"0x14011ba60","value":"ConnectServer Count : [ %d ] \n"},{"address":"0x14011bb40","value":"ProcessID : %d\n"},{"address":"0x14011c928","value":"OnError MagiAgentNetwork : %s"},{"address":"0x14011c970","value":"OnWarning MagiAgentNetwork : %s"},{"address":"0x14011c9b0","value":"OnException MagiAgentNetwork : %s"},{"address":"0x14011c9d8","value":"NEW SERVER : HostID:[%d][%s] \n"},{"address":"0x14011ca20","value":"DELETE SERVER : HostID:[%d][%s] \n"},{"address":"0x14011ca98","value":"serveron"},{"address":"0x14011cc90","value":"OnError MGAgentManagerSession : %s"},{"address":"0x14011cce0","value":"OnWarning MGAgentManagerSession : %s"},{"address":"0x14011cd30","value":"OnException MGAgentManagerSession : %s"},{"address":"0x14011cd60","value":"AgentManager Connected : HostID[%d] \n"},{"address":"0x14011cdb0","value":"AgentManager Connect Failed %s \n"},{"address":"0x14011cdf8","value":"AgentManager Disconnected %s \n"},{"address":"0x14011ce38","value":"Exist AgentManager %s/%d \n"},{"address":"0x14011ce70","value":"AgentManaserSession->Process"},{"address":"0x14011cfd8","value":"NOT FIND PROCESS ID \n"},{"address":"0x14011d008","value":"FAILED SERVER ON %s "},{"address":"0x14011d038","value":"=======ServerOn=======\n"},{"address":"0x14011d068","value":"=======Server Fail=======\n"},{"address":"0x14011d130","value":"Process Kill.!!! [%s] \n"},{"address":"0x14011d248","value":"ERROR - NOT FIND SERVER : REQ_SERVER_OPTION !!!\n"},{"address":"0x14011d280","value":"Error - NOT EXIST SERVER : %d \n"},{"address":"0x14011d450","value":"PWE_REQ_NOTICE : CLIENT [ %d ] WORLD [ %d ] SERVER_TYPE [ %d ] NOTICE_TYPE [ %d ] NOTICE [ %s ] \n"},{"address":"0x14011d5d0","value":"ServerFile Count: %d !!! \n"},{"address":"0x14011d5f0","value":"ServerOption Count: %d !!! \n"},{"address":"0x14011d610","value":"AgentManager Count: %d !!! \n"},{"address":"0x14011d630","value":"REQ_SERVER_KILL"},{"address":"0x14011d758","value":"option\\service_control.xml"},{"address":"0x14011d7d0","value":"server_mode"},{"address":"0x14011d7e0","value":"billing_server_mode"},{"address":"0x14011d8a8","value":"auth_port"},{"address":"0x14011d9e8","value":"Active Service ServerMode : %s\n"},{"address":"0x14011da10","value":"Active Service BillingServerMode : %s\n"},{"address":"0x14011eb08","value":"PT_SERVER_STEP"},{"address":"0x14011eba0","value":"RESP_SERVER_LOCK"},{"address":"0x14011ebf8","value":"PT_SERVER_COMMAND_RESULT"},{"address":"0x14011ec30","value":"PT_SERVER_INFORMATION"},{"address":"0x14011ec60","value":"PT_SERVER_REGISTER"},{"address":"0x14011ee20","value":"PT_SERVER_CONNECT"},{"address":"0x14011ee48","value":"PT_SERVER_NOTICE"},{"address":"0x14011ee70","value":"PT_SERVER_COMMAND"},{"address":"0x14011ee98","value":"PT_SERVER_OPTIONS"},{"address":"0x14011f1d8","value":"PT_REFRESH_SERVER_OPTION"},{"address":"0x14011f210","value":"PT_REFRESH_SERVER_FILE"},{"address":"0x14011f240","value":"PT_AGENT_DATA"},{"address":"0x14011f260","value":"PT_PATCH_SERVER"},{"address":"0x14011f528","value":"option\\total_option.xml"},{"address":"0x14011f558","value":"option\\agent.xml"},{"address":"0x14011f570","value":"option\\patch.xml"},{"address":"0x14011f660","value":"agentmanager"},{"address":"0x14011f670","value":"server"},{"address":"0x14011f6c8","value":"start_server"},{"address":"0x14011f6d8","value":"revive_server"},{"address":"0x14011f780","value":"private_port"},{"address":"0x14011f7a0","value":"public_port"},{"address":"0x14011f7b0","value":"public_udpport"},{"address":"0x14011f7cc","value":"agent"},{"address":"0x14011f870","value":"msg_server"},{"address":"0x14011f880","value":"gm_server"},{"address":"0x14011f890","value":"auction_server"},{"address":"0x14011f8a0","value":"manager_server"},{"address":"0x14011f8b0","value":"match_server"},{"address":"0x14011f8c0","value":"agent_server"},{"address":"0x14011f940","value":"=================DNS. ServerParseOption============== \n"},{"address":"0x14011f9b0","value":"=================IP. ServerParseOption============== \n"},{"address":"0x14011fa20","value":"(PRIVATE)\t[ADDRESS:%s] [PORT:%d] \n"},{"address":"0x14011fa70","value":"(PUBLIC)\t[ADDRESS:%s] [PORT:%d] [UDP:%d] [UDPCOUNT:%d] \n"},{"address":"0x14011fbf0","value":"MANAGER"},{"address":"0x14011fc20","value":"AGENTMANAGER"},{"address":"0x14011fc50","value":"ServerNameByTypeAndCode ERROR - NOT TYPE : Type [ %d ] Code [ %d ]\n"},{"address":"0x14011fce0","value":"%s Error Agent Parse !!! \n"},{"address":"0x14011fd08","value":"connect"},{"address":"0x14011fd38","value":"Create Agent Option File Succeed \n"},{"address":"0x14011ffa0","value":"SERVER_FILE_INSERT : %d : %s \n"},{"address":"0x140120000","value":"Server Start : ADDRESS[%s] PORT[%d]"},{"address":"0x140120050","value":"PRIVATE NETWORK : ADDRESS[ %s ] PORT[ %d ]\n"},{"address":"0x1401200a8","value":"option\\customoption.xml"},{"address":"0x140120100","value":"agentmanagers"},{"address":"0x140120110","value":"serveroption"},{"address":"0x140120168","value":"manager"},{"address":"0x1401201f0","value":"LOGVIEWER Option [%d] - LogAgentManagers View.\n"},{"address":"0x140120220","value":"LOGVIEWER Option [%d] - LogAgent View.\n"},{"address":"0x140120298","value":"LOGVIEWER Option [%d] - LogServerOption View.\n"},{"address":"0x1401202f0","value":"Connect Option [%d] - DBC_GAME. \n"},{"address":"0x140120318","value":"Connect Option [%d] - DBC_LOG. \n"},{"address":"0x140120340","value":"Connect Option [%d] - Auction. \n"},{"address":"0x140120368","value":"Connect Option [%d] - Msg. \n"},{"address":"0x140120388","value":"Connect Option [%d] - Manager. \n"},{"address":"0x1401203b0","value":"Connect Option [%d] - Match. \n"},{"address":"0x1401203d0","value":"Connect Option [%d] - Gm. \n"},{"address":"0x1401203f0","value":"Connect Option [%d] - Gate. \n"},{"address":"0x140120410","value":"Connect Option [%d] - Lobby. \n"},{"address":"0x140120430","value":"Connect Option [%d] - Dungeon. \n"},{"address":"0x140120458","value":"Connect Option [%d] - Pvp. \n"},{"address":"0x140120478","value":"Connect Option [%d] - Guild. \n"},{"address":"0x140120498","value":"Connect Option [%d] - Agent. \n"},{"address":"0x1401204b8","value":"Connect Option [%d] - AgentManager. \n"},{"address":"0x140120500","value":"INSERT SERVER OPTION MODIFY - Code : [ %d ], Name [ %s ]\n"},{"address":"0x140120580","value":"INSERT SERVER OPTION - Code : [ %d ], Name [ %s ]\n"},{"address":"0x140120698","value":"Function not supported 40"},{"address":"0x140120920","value":"No more processes or not enough memory or maximum nesting level reached 11"},{"address":"0x140120970","value":"No spawned processes 10"},{"address":"0x1401209a0","value":"Exec format error\t8"},{"address":"0x140120a20","value":"No such process 3"},{"address":"0x1401527bc","value":"GetProcessHeaps"},{"address":"0x140152834","value":"GetCurrentProcessId"},{"address":"0x140152a04","value":"Process32NextW"},{"address":"0x140152a16","value":"Process32FirstW"},{"address":"0x140152a44","value":"GetProcessHeap"},{"address":"0x140152b50","value":"GetCurrentProcess"},{"address":"0x1401536e4","value":"_configthreadlocale"},{"address":"0x1401537d0","value":"BT_SetSupportEMail"},{"address":"0x1401537f4","value":"BT_SetSupportServer"},{"address":"0x14015380a","value":"BT_SetSupportURL"},{"address":"0x140153846","value":"BT_SetReportFilePath"},{"address":"0x140153870","value":"GetExitCodeProcess"},{"address":"0x140153886","value":"CreateProcessW"},{"address":"0x140153898","value":"OpenProcess"},{"address":"0x1401538a6","value":"TerminateProcess"},{"address":"0x14015416c","value":"Agent_Release_x64.exe"},{"address":"0x1401552b8","value":".?AUAddrPort@Proud@@"},{"address":"0x140155310","value":".?AVCReportSocketDg@Proud@@"},{"address":"0x140155a68","value":".?AVICompletionPortEventSink@Proud@@"},{"address":"0x140155af8","value":".?AVIVizAgentDg@Proud@@"},{"address":"0x140155b48","value":".?AVProxy@CNetServerImpl@Proud@@"},{"address":"0x140155ba8","value":".?AVCNetServer@Proud@@"},{"address":"0x140155bd0","value":".?AVC2SStub@CNetServerImpl@Proud@@"},{"address":"0x140155dd0","value":".?AV?$CFastArray@UConnectionInfo@CNetServerImpl@Proud@@$0A@@Proud@@"},{"address":"0x140155e60","value":".?AV?$CFastArray@PEAVP2PConnectionState@Proud@@$0A@@Proud@@"},{"address":"0x140155ff0","value":".?AVCNetServerImpl@Proud@@"},{"address":"0x140156250","value":".?AVIUdpPacketFragBoardDg@Proud@@"},{"address":"0x140156288","value":".?AVIUdpPacketDefragBoardDg@Proud@@"},{"address":"0x1401562c0","value":".?AVStateBase@CP2PConnectionTrialContext@Proud@@"},{"address":"0x140156420","value":".?AVPeerHolepunchState@CP2PConnectionTrialContext@Proud@@"},{"address":"0x1401564a0","value":".?AVServerAsSendDest@CNetClientImpl@Proud@@"},{"address":"0x140156b58","value":".?AVCVizAgent@Proud@@"},{"address":"0x140156ca0","value":".?AV?$CFastArray@PEAVUdpPacketCtx@Proud@@$00@Proud@@"},{"address":"0x140156f18","value":".?AVCNetClientManager@Proud@@"},{"address":"0x140156f50","value":".?AV?$CSafeSingleton@VCNetClientManager@Proud@@@Proud@@"},{"address":"0x140157170","value":".?AVServerHolepunchState@CP2PConnectionTrialContext@Proud@@"},{"address":"0x140157470","value":".?AVMagiServerBase@@"},{"address":"0x140157520","value":".?AV?$MBISingleton@VMagiAgentServer@@@@"},{"address":"0x140157558","value":".?AVMagiAgentServer@@"},{"address":"0x14015b1a0","value":".?AVStub@SERVER2AGENT_PROTOCOL@@"},{"address":"0x14015b1d8","value":".?AVServer2AgentStub@RNP@@"},{"address":"0x14015b208","value":".?AVINetServerEvent@Proud@@"},{"address":"0x14015b238","value":".?AVMagiBaseServerNetwork@@"},{"address":"0x14015b268","value":".?AVMagiAgentNetwork@@"},{"address":"0x14015b290","value":".?AVStub@AGENTMANAGER2AGENT_PROTOCOL@@"},{"address":"0x14015b2c8","value":".?AVAgentManager2AgentStub@RNP@@"},{"address":"0x14015b300","value":".?AVMGAgentManagerSession@@"},{"address":"0x14015b330","value":".?AV?$MBISingleton@VMagiAgentProcess@@@@"},{"address":"0x14015b370","value":".?AVMagiAgentProcess@@"},{"address":"0x14015b880","value":".?AVIObserver@@"},{"address":"0x14015b8a0","value":".?AVAgent2ServerProxy@RNP@@"},{"address":"0x14015b8f8","value":".?AVProxy@AGENT2SERVER_PROTOCOL@@"},{"address":"0x14015b958","value":".?AVAgent2AgentManagerProxy@RNP@@"},{"address":"0x14015b990","value":".?AVProxy@AGENT2AGENTMANAGER_PROTOCOL@@"},{"address":"0x14015b9c8","value":".?AV?$MBISingleton@VMagiServerOption@@@@"},{"address":"0x14015ba08","value":".?AVMagiServerOption@@"},{"address":"0x14015bc28","value":".?AV?$MBISingleton@VMagiServerFile@@@@"},{"address":"0x14015bc60","value":".?AVMagiServerFile@@"},{"address":"0x14015bd20","value":".?AV?$MBISingleton@VMagiServerManager@@@@"},{"address":"0x14015bd60","value":".?AVMagiServerManager@@"},{"address":"0x14015bd88","value":".?AV?$MBISingleton@VMagiAgentCommon@@@@"},{"address":"0x14015bdc0","value":".?AVMagiAgentCommon@@"}],"relationship_coverage":null,"subject":{"architecture":"x86_64","digest":{"sha256":"6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469"},"format":"pe","local_path":"/home/baobeld/Development/rusty-hearts/re-project/binaries/Agent_Release_x64.exe","name":"Agent_Release_x64.exe"}},{"analysis_profile":{"digest":"59ccbf78a7678313ce6b8dc5d2aff50bb87fd4c4da522e2f0de63ece7a22c57a","parameters":{"upstream_analysis_profile":{"digest":"de1d200f7c777e7d47b9def837d80cf1e4326106753fd45afae1b8f0c68936f6","parameters":{"analyzer_preset":"ghidra-default","annotation_policy":"atomic-function-entry-metadata-v1","architecture":"x86_64","available_architectures":["x86_64"],"call_relationship_coverage":"function-body-call-coverage-v5","compiler_spec_id":"auto-default","decompiler_jump_loads":true,"executable_role":"application","function_body_evidence":"complete-inclusive-ranges-v1","function_boundary_observations":"ghidra-function-boundary-limitations-v3","function_dossier_coverage":"observed-facets-and-call-relationships-v1","function_references":"complete-body-and-entry-reference-manager-v2","import_mode":"ephemeral-source-immutable","instruction_flow_evidence":"decoded-return-pcode-v1","instruction_references":"exact-address-incoming-v1","jump_table_evidence":"typed-case-default-blocks-v1","language_id":"auto-from-header","load_image_observations":"source-mappings-entry-context-v2","loader":"auto-from-header","location_resolution":"explicit-address-exact-entry-symbol-first-v3","managed":false,"native_aot_metadata":{"contract_revision":"rtr-9.1-x64-pe-read-only-v3","report_bytes":4194304,"source_bytes":134217728,"work_units":67108864,"working_memory_bytes":67108864},"no_return_repair":"returning-imports-decoded-return-v2","pdb_observations":"program-info-v1","procedure_file_offset_resolution":"address-first-unique-target-source-mapping-v2","process_launch":"inspected-jvm-launch-support-v1","string_inventory_evidence":"defined-data-coverage-v1","target_format":"pe","target_kind":"executable"},"provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"}},"workflow_revision":2},"provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"}},"authority":"shipped-artifact","confidence":"derived","environment":null,"evidence_id":"ev_62a2f5bb36c415a8e00d961ca75fe22a341aaecdf4e878d93eaa846aa9dfbdd9","evidence_links":[],"limitations":["Derived by an REA composed workflow.","An exact external entry resolves to its observed function identity even when its body is empty. This does not establish mapped executable bytes or containment of nearby external addresses.","Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.","Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.","Only Ghidra-defined string Data is observed; packed or undefined string bytes may be absent. Completeness applies to that inventory, and an empty search does not establish that text is absent from the artifact. If an address is known, use read_bytes and xrefs to inspect bytes and references.","Regex mode uses Java Pattern semantics. Matcher or compiler stack exhaustion returns a resource constraint without closing the session; literal mode avoids regex recursion and returns complete matching values.","Synthetic Ghidra entry-point references without actionable memory sources are omitted.","The direct address list projects exact Ghidra references to one address but does not expose their kinds; procedure_references and analyze_function preserve available kind metadata.","The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.","The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.","The target references PDB Agent_Release_x64.pdb (GUID a4775113-cf21-4c1c-9d58-7e61100fab96, age (hex) 1, signature unknown, version RSDS); Ghidra reports load state unknown. Original names and types may be missing; an empty name search does not prove a procedure is absent. Use list_procedures and address-based analysis to inspect recovered functions. REA does not admit a caller-selected PDB companion.","This session uses Ghidra 12.1.2. The bridge is verified against 12.1.4; other 12.1.x builds are accepted and the observed version is reported."],"locations":[],"normalized_result":{"matches":[{"address":"0x14011d008","type":"string","value":"FAILED SERVER ON %s "}],"query":"FAILED SERVER ON","references":[{"containing_procedure":{"found":true,"procedure":{"address":"0x140008ea0","body":{"available":true,"contains_entry":true,"non_contiguous":false,"provenance":"ghidra-function-body-address-set","ranges":[{"end":"0x1400094a3","start":"0x140008ea0"}],"span_bytes":1540,"total_bytes":1540},"classification":{"external":false,"provenance":"ghidra-function-manager","thunk":false,"thunk_target":null},"name":"FUN_140008ea0"},"query_address":"0x1400093c8"},"source_address":"0x1400093c8","target_address":"0x14011d008"}],"residual_unknowns":[],"search_mode":"literal","truncated":false},"operation":"trace_feature","parameters":{"case_sensitive":true,"query":"FAILED SERVER ON"},"predicate_type":"rea.analysis","provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"},"raw_result":null,"relationship_coverage":null,"subject":{"architecture":"x86_64","digest":{"sha256":"6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469"},"format":"pe","local_path":"/home/baobeld/Development/rusty-hearts/re-project/binaries/Agent_Release_x64.exe","name":"Agent_Release_x64.exe"}},{"analysis_profile":{"digest":"cafbfc97291d6d40b0e888c8d704f6ef1097cd0427b43ca85205640dfedb4533","parameters":{"upstream_analysis_profile":{"digest":"de1d200f7c777e7d47b9def837d80cf1e4326106753fd45afae1b8f0c68936f6","parameters":{"analyzer_preset":"ghidra-default","annotation_policy":"atomic-function-entry-metadata-v1","architecture":"x86_64","available_architectures":["x86_64"],"call_relationship_coverage":"function-body-call-coverage-v5","compiler_spec_id":"auto-default","decompiler_jump_loads":true,"executable_role":"application","function_body_evidence":"complete-inclusive-ranges-v1","function_boundary_observations":"ghidra-function-boundary-limitations-v3","function_dossier_coverage":"observed-facets-and-call-relationships-v1","function_references":"complete-body-and-entry-reference-manager-v2","import_mode":"ephemeral-source-immutable","instruction_flow_evidence":"decoded-return-pcode-v1","instruction_references":"exact-address-incoming-v1","jump_table_evidence":"typed-case-default-blocks-v1","language_id":"auto-from-header","load_image_observations":"source-mappings-entry-context-v2","loader":"auto-from-header","location_resolution":"explicit-address-exact-entry-symbol-first-v3","managed":false,"native_aot_metadata":{"contract_revision":"rtr-9.1-x64-pe-read-only-v3","report_bytes":4194304,"source_bytes":134217728,"work_units":67108864,"working_memory_bytes":67108864},"no_return_repair":"returning-imports-decoded-return-v2","pdb_observations":"program-info-v1","procedure_file_offset_resolution":"address-first-unique-target-source-mapping-v2","process_launch":"inspected-jvm-launch-support-v1","string_inventory_evidence":"defined-data-coverage-v1","target_format":"pe","target_kind":"executable"},"provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"}}},"provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"}},"authority":"shipped-artifact","confidence":"derived","environment":null,"evidence_id":"ev_78062312c34a02d663fbfa0cc184c4e6d02554a4e3f9dabf21a44c431bb01acd","evidence_links":[],"limitations":["Derived by an REA composed workflow.","Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.","Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.","The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.","The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.","The symbol inventory includes memory and external symbols, including dynamic symbols, but excludes variable and no-address namespace records.","The target references PDB Agent_Release_x64.pdb (GUID a4775113-cf21-4c1c-9d58-7e61100fab96, age (hex) 1, signature unknown, version RSDS); Ghidra reports load state unknown. Original names and types may be missing; an empty name search does not prove a procedure is absent. Use list_procedures and address-based analysis to inspect recovered functions. REA does not admit a caller-selected PDB companion.","This session uses Ghidra 12.1.2. The bridge is verified against 12.1.4; other 12.1.x builds are accepted and the observed version is reported."],"locations":[],"normalized_result":{"name":"CreateMutexW","reason":"name_not_found","status":"unresolved"},"operation":"find_xrefs_to_name","parameters":{"name":"CreateMutexW"},"predicate_type":"rea.analysis","provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"},"raw_result":null,"relationship_coverage":null,"subject":{"architecture":"x86_64","digest":{"sha256":"6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469"},"format":"pe","local_path":"/home/baobeld/Development/rusty-hearts/re-project/binaries/Agent_Release_x64.exe","name":"Agent_Release_x64.exe"}},{"analysis_profile":{"digest":"cafbfc97291d6d40b0e888c8d704f6ef1097cd0427b43ca85205640dfedb4533","parameters":{"upstream_analysis_profile":{"digest":"de1d200f7c777e7d47b9def837d80cf1e4326106753fd45afae1b8f0c68936f6","parameters":{"analyzer_preset":"ghidra-default","annotation_policy":"atomic-function-entry-metadata-v1","architecture":"x86_64","available_architectures":["x86_64"],"call_relationship_coverage":"function-body-call-coverage-v5","compiler_spec_id":"auto-default","decompiler_jump_loads":true,"executable_role":"application","function_body_evidence":"complete-inclusive-ranges-v1","function_boundary_observations":"ghidra-function-boundary-limitations-v3","function_dossier_coverage":"observed-facets-and-call-relationships-v1","function_references":"complete-body-and-entry-reference-manager-v2","import_mode":"ephemeral-source-immutable","instruction_flow_evidence":"decoded-return-pcode-v1","instruction_references":"exact-address-incoming-v1","jump_table_evidence":"typed-case-default-blocks-v1","language_id":"auto-from-header","load_image_observations":"source-mappings-entry-context-v2","loader":"auto-from-header","location_resolution":"explicit-address-exact-entry-symbol-first-v3","managed":false,"native_aot_metadata":{"contract_revision":"rtr-9.1-x64-pe-read-only-v3","report_bytes":4194304,"source_bytes":134217728,"work_units":67108864,"working_memory_bytes":67108864},"no_return_repair":"returning-imports-decoded-return-v2","pdb_observations":"program-info-v1","procedure_file_offset_resolution":"address-first-unique-target-source-mapping-v2","process_launch":"inspected-jvm-launch-support-v1","string_inventory_evidence":"defined-data-coverage-v1","target_format":"pe","target_kind":"executable"},"provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"}}},"provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"}},"authority":"shipped-artifact","confidence":"derived","environment":null,"evidence_id":"ev_9605517ddb290aa7c2f6d4b283feb2423309fc0ca8ff2ced04a8a131d6c765d5","evidence_links":[],"limitations":["Derived by an REA composed workflow.","Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.","Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.","The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.","The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.","The symbol inventory includes memory and external symbols, including dynamic symbols, but excludes variable and no-address namespace records.","The target references PDB Agent_Release_x64.pdb (GUID a4775113-cf21-4c1c-9d58-7e61100fab96, age (hex) 1, signature unknown, version RSDS); Ghidra reports load state unknown. Original names and types may be missing; an empty name search does not prove a procedure is absent. Use list_procedures and address-based analysis to inspect recovered functions. REA does not admit a caller-selected PDB companion.","This session uses Ghidra 12.1.2. The bridge is verified against 12.1.4; other 12.1.x builds are accepted and the observed version is reported."],"locations":[],"normalized_result":{"name":"TerminateProcess","reason":"name_not_found","status":"unresolved"},"operation":"find_xrefs_to_name","parameters":{"name":"TerminateProcess"},"predicate_type":"rea.analysis","provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"},"raw_result":null,"relationship_coverage":null,"subject":{"architecture":"x86_64","digest":{"sha256":"6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469"},"format":"pe","local_path":"/home/baobeld/Development/rusty-hearts/re-project/binaries/Agent_Release_x64.exe","name":"Agent_Release_x64.exe"}},{"analysis_profile":{"digest":"cafbfc97291d6d40b0e888c8d704f6ef1097cd0427b43ca85205640dfedb4533","parameters":{"upstream_analysis_profile":{"digest":"de1d200f7c777e7d47b9def837d80cf1e4326106753fd45afae1b8f0c68936f6","parameters":{"analyzer_preset":"ghidra-default","annotation_policy":"atomic-function-entry-metadata-v1","architecture":"x86_64","available_architectures":["x86_64"],"call_relationship_coverage":"function-body-call-coverage-v5","compiler_spec_id":"auto-default","decompiler_jump_loads":true,"executable_role":"application","function_body_evidence":"complete-inclusive-ranges-v1","function_boundary_observations":"ghidra-function-boundary-limitations-v3","function_dossier_coverage":"observed-facets-and-call-relationships-v1","function_references":"complete-body-and-entry-reference-manager-v2","import_mode":"ephemeral-source-immutable","instruction_flow_evidence":"decoded-return-pcode-v1","instruction_references":"exact-address-incoming-v1","jump_table_evidence":"typed-case-default-blocks-v1","language_id":"auto-from-header","load_image_observations":"source-mappings-entry-context-v2","loader":"auto-from-header","location_resolution":"explicit-address-exact-entry-symbol-first-v3","managed":false,"native_aot_metadata":{"contract_revision":"rtr-9.1-x64-pe-read-only-v3","report_bytes":4194304,"source_bytes":134217728,"work_units":67108864,"working_memory_bytes":67108864},"no_return_repair":"returning-imports-decoded-return-v2","pdb_observations":"program-info-v1","procedure_file_offset_resolution":"address-first-unique-target-source-mapping-v2","process_launch":"inspected-jvm-launch-support-v1","string_inventory_evidence":"defined-data-coverage-v1","target_format":"pe","target_kind":"executable"},"provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"}}},"provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"}},"authority":"shipped-artifact","confidence":"derived","environment":null,"evidence_id":"ev_9e39360a43160ed00bccf5bff4c3ca1b5dfac3c506641cd1c87c81b8892dc77a","evidence_links":[],"limitations":["Derived by an REA composed workflow.","Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.","Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.","The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.","The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.","The symbol inventory includes memory and external symbols, including dynamic symbols, but excludes variable and no-address namespace records.","The target references PDB Agent_Release_x64.pdb (GUID a4775113-cf21-4c1c-9d58-7e61100fab96, age (hex) 1, signature unknown, version RSDS); Ghidra reports load state unknown. Original names and types may be missing; an empty name search does not prove a procedure is absent. Use list_procedures and address-based analysis to inspect recovered functions. REA does not admit a caller-selected PDB companion.","This session uses Ghidra 12.1.2. The bridge is verified against 12.1.4; other 12.1.x builds are accepted and the observed version is reported."],"locations":[],"normalized_result":{"name":"CreateProcessW","reason":"name_not_found","status":"unresolved"},"operation":"find_xrefs_to_name","parameters":{"name":"CreateProcessW"},"predicate_type":"rea.analysis","provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"},"raw_result":null,"relationship_coverage":null,"subject":{"architecture":"x86_64","digest":{"sha256":"6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469"},"format":"pe","local_path":"/home/baobeld/Development/rusty-hearts/re-project/binaries/Agent_Release_x64.exe","name":"Agent_Release_x64.exe"}},{"analysis_profile":{"digest":"3decca45d3460a9d91b48bfb293ee703f84841379edceee6350b1ea3393d3fe1","parameters":{"upstream_analysis_profile":{"digest":"de1d200f7c777e7d47b9def837d80cf1e4326106753fd45afae1b8f0c68936f6","parameters":{"analyzer_preset":"ghidra-default","annotation_policy":"atomic-function-entry-metadata-v1","architecture":"x86_64","available_architectures":["x86_64"],"call_relationship_coverage":"function-body-call-coverage-v5","compiler_spec_id":"auto-default","decompiler_jump_loads":true,"executable_role":"application","function_body_evidence":"complete-inclusive-ranges-v1","function_boundary_observations":"ghidra-function-boundary-limitations-v3","function_dossier_coverage":"observed-facets-and-call-relationships-v1","function_references":"complete-body-and-entry-reference-manager-v2","import_mode":"ephemeral-source-immutable","instruction_flow_evidence":"decoded-return-pcode-v1","instruction_references":"exact-address-incoming-v1","jump_table_evidence":"typed-case-default-blocks-v1","language_id":"auto-from-header","load_image_observations":"source-mappings-entry-context-v2","loader":"auto-from-header","location_resolution":"explicit-address-exact-entry-symbol-first-v3","managed":false,"native_aot_metadata":{"contract_revision":"rtr-9.1-x64-pe-read-only-v3","report_bytes":4194304,"source_bytes":134217728,"work_units":67108864,"working_memory_bytes":67108864},"no_return_repair":"returning-imports-decoded-return-v2","pdb_observations":"program-info-v1","procedure_file_offset_resolution":"address-first-unique-target-source-mapping-v2","process_launch":"inspected-jvm-launch-support-v1","string_inventory_evidence":"defined-data-coverage-v1","target_format":"pe","target_kind":"executable"},"provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"}},"workflow_revision":3},"provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"}},"authority":"shipped-artifact","confidence":"derived","environment":null,"evidence_id":"ev_9fe3a449c6aa867adaabf1b34be9967bba78f98a7d72bc69f9fab835fb7db03b","evidence_links":[],"limitations":["Derived by an REA composed workflow.","A headless Ghidra session contains exactly one imported Program, unlike Hopper's multi-document GUI session.","Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.","Charset is reported, while a non-missing terminator cannot distinguish a present terminator from a fixed or Pascal layout.","Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.","External functions and local thunks are distinct; procedure metadata identifies both and preserves a thunk target when Ghidra resolves one.","Memory-block end addresses are exclusive; permissions come from Ghidra MemoryBlock flags rather than inference from section names.","Only Ghidra-defined string Data is observed; packed or undefined string bytes may be absent. Completeness applies to that inventory, and an empty search does not establish that text is absent from the artifact. If an address is known, use read_bytes and xrefs to inspect bytes and references.","The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.","The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.","The target references PDB Agent_Release_x64.pdb (GUID a4775113-cf21-4c1c-9d58-7e61100fab96, age (hex) 1, signature unknown, version RSDS); Ghidra reports load state unknown. Original names and types may be missing; an empty name search does not prove a procedure is absent. Use list_procedures and address-based analysis to inspect recovered functions. REA does not admit a caller-selected PDB companion.","This session uses Ghidra 12.1.2. The bridge is verified against 12.1.4; other 12.1.x builds are accepted and the observed version is reported."],"locations":[],"normalized_result":{"document":"target-6f2be7b8eb79.exe","image_base":"0x140000000","procedure_count":6814,"segment_count":9,"segments":[{"address_space":"ram","end":"0x140000400","image_base":"0x140000000","length":1024,"name":"Headers","start":"0x140000000"},{"address_space":"ram","end":"0x1400f1a00","image_base":"0x140000000","length":985600,"name":".text","start":"0x140001000"},{"address_space":"ram","end":"0x140154200","image_base":"0x140000000","length":401920,"name":".rdata","start":"0x1400f2000"},{"address_space":"ram","end":"0x140163450","image_base":"0x140000000","length":58448,"name":".data","start":"0x140155000"},{"address_space":"ram","end":"0x14016ee00","image_base":"0x140000000","length":44544,"name":".pdata","start":"0x140164000"},{"address_space":"ram","end":"0x14016f200","image_base":"0x140000000","length":512,"name":".tls","start":"0x14016f000"},{"address_space":"ram","end":"0x140170200","image_base":"0x140000000","length":512,"name":".rsrc","start":"0x140170000"},{"address_space":"ram","end":"0x140173600","image_base":"0x140000000","length":9728,"name":".reloc","start":"0x140171000"},{"address_space":"ram","end":"0xff00001850","image_base":"0x140000000","length":6224,"name":"tdb","start":"0xff00000000"}],"string_count":1472},"operation":"binary_overview","parameters":{},"predicate_type":"rea.analysis","provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"},"raw_result":null,"relationship_coverage":null,"subject":{"architecture":"x86_64","digest":{"sha256":"6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469"},"format":"pe","local_path":"/home/baobeld/Development/rusty-hearts/re-project/binaries/Agent_Release_x64.exe","name":"Agent_Release_x64.exe"}},{"analysis_profile":{"digest":"59ccbf78a7678313ce6b8dc5d2aff50bb87fd4c4da522e2f0de63ece7a22c57a","parameters":{"upstream_analysis_profile":{"digest":"de1d200f7c777e7d47b9def837d80cf1e4326106753fd45afae1b8f0c68936f6","parameters":{"analyzer_preset":"ghidra-default","annotation_policy":"atomic-function-entry-metadata-v1","architecture":"x86_64","available_architectures":["x86_64"],"call_relationship_coverage":"function-body-call-coverage-v5","compiler_spec_id":"auto-default","decompiler_jump_loads":true,"executable_role":"application","function_body_evidence":"complete-inclusive-ranges-v1","function_boundary_observations":"ghidra-function-boundary-limitations-v3","function_dossier_coverage":"observed-facets-and-call-relationships-v1","function_references":"complete-body-and-entry-reference-manager-v2","import_mode":"ephemeral-source-immutable","instruction_flow_evidence":"decoded-return-pcode-v1","instruction_references":"exact-address-incoming-v1","jump_table_evidence":"typed-case-default-blocks-v1","language_id":"auto-from-header","load_image_observations":"source-mappings-entry-context-v2","loader":"auto-from-header","location_resolution":"explicit-address-exact-entry-symbol-first-v3","managed":false,"native_aot_metadata":{"contract_revision":"rtr-9.1-x64-pe-read-only-v3","report_bytes":4194304,"source_bytes":134217728,"work_units":67108864,"working_memory_bytes":67108864},"no_return_repair":"returning-imports-decoded-return-v2","pdb_observations":"program-info-v1","procedure_file_offset_resolution":"address-first-unique-target-source-mapping-v2","process_launch":"inspected-jvm-launch-support-v1","string_inventory_evidence":"defined-data-coverage-v1","target_format":"pe","target_kind":"executable"},"provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"}},"workflow_revision":2},"provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"}},"authority":"shipped-artifact","confidence":"derived","environment":null,"evidence_id":"ev_ad71d730ad826f5e73d5b5ec119273acf91c525002d977f0d017bc11eb2cfbb4","evidence_links":[],"limitations":["Derived by an REA composed workflow.","Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.","Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.","External functions and functions without an analyzable body return null; other decompiler failures remain explicit.","External functions and local thunks are distinct; procedure metadata identifies both and preserves a thunk target when Ghidra resolves one.","Pseudocode is Ghidra decompiler output, not original source and not text-equivalent to Hopper output.","The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.","The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.","The target references PDB Agent_Release_x64.pdb (GUID a4775113-cf21-4c1c-9d58-7e61100fab96, age (hex) 1, signature unknown, version RSDS); Ghidra reports load state unknown. Original names and types may be missing; an empty name search does not prove a procedure is absent. Use list_procedures and address-based analysis to inspect recovered functions. REA does not admit a caller-selected PDB companion.","This session uses Ghidra 12.1.2. The bridge is verified against 12.1.4; other 12.1.x builds are accepted and the observed version is reported."],"locations":[{"address":"0x140009780","kind":"address"},{"address":"0x1400100b0","kind":"address"},{"address":"0x140008c90","kind":"address"}],"normalized_result":{"failed":0,"items":[{"address":"0x140009780","procedure":{"address":"0x140009780","name":"FUN_140009780","status":"resolved"},"pseudocode":"\n/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */\n\nulonglong FUN_140009780(wchar_t *param_1)\n\n{\n int iVar1;\n BOOL BVar2;\n HANDLE hObject;\n HANDLE hProcess;\n undefined4 extraout_var;\n undefined4 extraout_var_00;\n undefined1 auStack_278 [32];\n undefined4 local_258 [2];\n DWORD local_250;\n wchar_t local_22c [266];\n ulonglong local_18;\n \n local_18 = DAT_1401555a0 ^ (ulonglong)auStack_278;\n if (param_1 != (wchar_t *)0x0) {\n hObject = (HANDLE)CreateToolhelp32Snapshot(2);\n memset(local_258,0,0x238);\n local_258[0] = 0x238;\n iVar1 = Process32FirstW(hObject,local_258);\n while (iVar1 != 0) {\n iVar1 = _wcsicmp(param_1,local_22c);\n if ((iVar1 == 0) &&\n (hProcess = OpenProcess(1,0,local_250), hProcess != (HANDLE)0xffffffffffffffff)) {\n wprintf(L\"Process Kill.!!! [%s] \\n\");\n TerminateProcess(hProcess,0);\n BVar2 = CloseHandle(hProcess);\n return CONCAT71((int7)(CONCAT44(extraout_var_00,BVar2) >> 8),1);\n }\n iVar1 = Process32NextW(hObject,local_258);\n }\n BVar2 = CloseHandle(hObject);\n local_18 = CONCAT44(extraout_var,BVar2);\n }\n return local_18 & 0xffffffffffffff00;\n}\n\n","status":"ok"},{"address":"0x1400100b0","procedure":{"address":"0x1400100b0","name":"FUN_1400100b0","status":"resolved"},"pseudocode":"\nundefined4 FUN_1400100b0(undefined8 *param_1)\n\n{\n DWORD DVar1;\n uint extraout_EAX;\n HANDLE pvVar2;\n wchar_t *_Format;\n \n pvVar2 = CreateMutexW((LPSECURITY_ATTRIBUTES)0x0,1,L\"Global\\\\RustyHearts_Agent\");\n *param_1 = pvVar2;\n DVar1 = GetLastError();\n if (DVar1 == 5) {\n _Format = L\"ERROR_ACCESS_DENIED!!! %s \\n\";\n }\n else {\n if (DVar1 != 0xb7) {\n return CONCAT31((int3)(DVar1 >> 8),1);\n }\n _Format = L\"ERROR_ALREADY_EXISTS!!! %s \\n\";\n }\n wprintf(_Format);\n Sleep(3000);\n return extraout_EAX & 0xffffff00;\n}\n\n","status":"ok"},{"address":"0x140008c90","procedure":{"address":"0x140008c90","name":"FUN_140008c90","status":"resolved"},"pseudocode":"\nundefined8 FUN_140008c90(undefined8 *param_1)\n\n{\n DWORD DVar1;\n HANDLE hProcess;\n undefined4 *puVar2;\n undefined8 *puVar3;\n longlong lVar4;\n longlong lVar5;\n uint *puVar6;\n undefined *puVar7;\n uint *puVar8;\n uint local_res8 [2];\n DWORD local_res10 [2];\n undefined8 *local_res18;\n undefined8 *local_res20;\n undefined8 local_118;\n undefined8 local_110;\n undefined8 local_108;\n undefined8 local_100;\n undefined8 local_f8;\n undefined8 local_f0 [4];\n undefined4 local_d0 [44];\n \n local_f8 = 0xfffffffffffffffe;\n hProcess = (HANDLE)*param_1;\n DVar1 = *(DWORD *)(param_1 + 2);\n local_res10[0] = DVar1;\n do {\n Sleep(10);\n GetExitCodeProcess(hProcess,local_res10);\n } while (local_res10[0] == 0x103);\n puVar2 = (undefined4 *)FUN_14002c9a0(DAT_140162d60,DVar1);\n if (puVar2 == (undefined4 *)0x0) {\n wprintf(L\"NOT FIND PROCESS ID \\n\");\n }\n else {\n lVar5 = *(longlong *)(DAT_1401626f8 + 0xa8);\n if (lVar5 != 0) {\n puVar2[0x28] = 0;\n puVar2[0x31] = 0;\n local_res18 = local_f0;\n puVar3 = FUN_140006c30((longlong)puVar2,local_f0);\n local_118 = *(undefined8 *)(puVar2 + 0x2e);\n local_110 = *(undefined8 *)(puVar2 + 0x30);\n local_108 = *(undefined8 *)(puVar2 + 0x32);\n local_100 = *(undefined8 *)(puVar2 + 0x34);\n local_res8[0] = puVar2[1];\n local_res20 = puVar3;\n lVar4 = FUN_140007fa0(lVar5);\n (**(code **)(*(longlong *)(lVar4 + 0x68) + 0x40))\n ((longlong *)(lVar4 + 0x68),1,&DAT_1401555d0,local_res8,&local_118,puVar3);\n if ((void *)*puVar3 != (void *)0x0) {\n operator_delete((void *)*puVar3);\n }\n *puVar3 = 0;\n puVar3[1] = 0;\n puVar3[2] = 0;\n local_res20 = (undefined8 *)CONCAT44(local_res20._4_4_,1);\n local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,puVar2[1]);\n local_res8[0] = CONCAT31(local_res8[0]._1_3_,1);\n lVar5 = FUN_140007fa0(lVar5);\n puVar8 = local_res8;\n puVar7 = &DAT_1401555d0;\n (**(code **)(*(longlong *)(lVar5 + 0x68) + 0x50))\n ((longlong *)(lVar5 + 0x68),1,&DAT_1401555d0,puVar8,&local_res20,&local_res18);\n if ((*(char *)((longlong)puVar2 + 0xd5) != '\\0') || (*(char *)(DAT_140162d68 + 0x171) != '\\0')\n ) {\n puVar6 = FUN_14000b8e0(puVar2,local_d0);\n FUN_140008ea0(DAT_140162d78,puVar6,puVar7,puVar8);\n if ((*(char *)(puVar2 + 3) == '\\x01') && (0 < (int)puVar2[0x34])) {\n FUN_140009f20(DAT_140162d78,puVar2[1]);\n }\n }\n }\n }\n return 0;\n}\n\n","status":"ok"}],"succeeded":3,"total":3},"operation":"batch_decompile","parameters":{"addresses":["0x140009780","0x1400100b0","0x140008c90"]},"predicate_type":"rea.analysis","provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"},"raw_result":null,"relationship_coverage":null,"subject":{"architecture":"x86_64","digest":{"sha256":"6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469"},"format":"pe","local_path":"/home/baobeld/Development/rusty-hearts/re-project/binaries/Agent_Release_x64.exe","name":"Agent_Release_x64.exe"}},{"analysis_profile":{"digest":"59ccbf78a7678313ce6b8dc5d2aff50bb87fd4c4da522e2f0de63ece7a22c57a","parameters":{"upstream_analysis_profile":{"digest":"de1d200f7c777e7d47b9def837d80cf1e4326106753fd45afae1b8f0c68936f6","parameters":{"analyzer_preset":"ghidra-default","annotation_policy":"atomic-function-entry-metadata-v1","architecture":"x86_64","available_architectures":["x86_64"],"call_relationship_coverage":"function-body-call-coverage-v5","compiler_spec_id":"auto-default","decompiler_jump_loads":true,"executable_role":"application","function_body_evidence":"complete-inclusive-ranges-v1","function_boundary_observations":"ghidra-function-boundary-limitations-v3","function_dossier_coverage":"observed-facets-and-call-relationships-v1","function_references":"complete-body-and-entry-reference-manager-v2","import_mode":"ephemeral-source-immutable","instruction_flow_evidence":"decoded-return-pcode-v1","instruction_references":"exact-address-incoming-v1","jump_table_evidence":"typed-case-default-blocks-v1","language_id":"auto-from-header","load_image_observations":"source-mappings-entry-context-v2","loader":"auto-from-header","location_resolution":"explicit-address-exact-entry-symbol-first-v3","managed":false,"native_aot_metadata":{"contract_revision":"rtr-9.1-x64-pe-read-only-v3","report_bytes":4194304,"source_bytes":134217728,"work_units":67108864,"working_memory_bytes":67108864},"no_return_repair":"returning-imports-decoded-return-v2","pdb_observations":"program-info-v1","procedure_file_offset_resolution":"address-first-unique-target-source-mapping-v2","process_launch":"inspected-jvm-launch-support-v1","string_inventory_evidence":"defined-data-coverage-v1","target_format":"pe","target_kind":"executable"},"provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"}},"workflow_revision":2},"provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"}},"authority":"shipped-artifact","confidence":"derived","environment":null,"evidence_id":"ev_d4bb4bc3e293a80f83ed3864e452cae8160698fd58063de231a62c97cd7bf0eb","evidence_links":[],"limitations":["Derived by an REA composed workflow.","An exact external entry resolves to its observed function identity even when its body is empty. This does not establish mapped executable bytes or containment of nearby external addresses.","Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.","Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.","Only Ghidra-defined string Data is observed; packed or undefined string bytes may be absent. Completeness applies to that inventory, and an empty search does not establish that text is absent from the artifact. If an address is known, use read_bytes and xrefs to inspect bytes and references.","Regex mode uses Java Pattern semantics. Matcher or compiler stack exhaustion returns a resource constraint without closing the session; literal mode avoids regex recursion and returns complete matching values.","Synthetic Ghidra entry-point references without actionable memory sources are omitted.","The direct address list projects exact Ghidra references to one address but does not expose their kinds; procedure_references and analyze_function preserve available kind metadata.","The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.","The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.","The target references PDB Agent_Release_x64.pdb (GUID a4775113-cf21-4c1c-9d58-7e61100fab96, age (hex) 1, signature unknown, version RSDS); Ghidra reports load state unknown. Original names and types may be missing; an empty name search does not prove a procedure is absent. Use list_procedures and address-based analysis to inspect recovered functions. REA does not admit a caller-selected PDB companion.","This session uses Ghidra 12.1.2. The bridge is verified against 12.1.4; other 12.1.x builds are accepted and the observed version is reported."],"locations":[],"normalized_result":{"matches":[{"address":"0x14011f558","type":"string","value":"option\\agent.xml"}],"query":"option\\agent.xml","references":[{"containing_procedure":{"found":true,"procedure":{"address":"0x1400f06e0","body":{"available":true,"contains_entry":true,"non_contiguous":false,"provenance":"ghidra-function-body-address-set","ranges":[{"end":"0x1400f0753","start":"0x1400f06e0"}],"span_bytes":116,"total_bytes":116},"classification":{"external":false,"provenance":"ghidra-function-manager","thunk":false,"thunk_target":null},"name":"FUN_1400f06e0"},"query_address":"0x1400f0704"},"source_address":"0x1400f0704","target_address":"0x14011f558"}],"residual_unknowns":[],"search_mode":"literal","truncated":false},"operation":"trace_feature","parameters":{"case_sensitive":true,"query":"option\\agent.xml"},"predicate_type":"rea.analysis","provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"},"raw_result":null,"relationship_coverage":null,"subject":{"architecture":"x86_64","digest":{"sha256":"6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469"},"format":"pe","local_path":"/home/baobeld/Development/rusty-hearts/re-project/binaries/Agent_Release_x64.exe","name":"Agent_Release_x64.exe"}},{"analysis_profile":{"digest":"de1d200f7c777e7d47b9def837d80cf1e4326106753fd45afae1b8f0c68936f6","parameters":{"analyzer_preset":"ghidra-default","annotation_policy":"atomic-function-entry-metadata-v1","architecture":"x86_64","available_architectures":["x86_64"],"call_relationship_coverage":"function-body-call-coverage-v5","compiler_spec_id":"auto-default","decompiler_jump_loads":true,"executable_role":"application","function_body_evidence":"complete-inclusive-ranges-v1","function_boundary_observations":"ghidra-function-boundary-limitations-v3","function_dossier_coverage":"observed-facets-and-call-relationships-v1","function_references":"complete-body-and-entry-reference-manager-v2","import_mode":"ephemeral-source-immutable","instruction_flow_evidence":"decoded-return-pcode-v1","instruction_references":"exact-address-incoming-v1","jump_table_evidence":"typed-case-default-blocks-v1","language_id":"auto-from-header","load_image_observations":"source-mappings-entry-context-v2","loader":"auto-from-header","location_resolution":"explicit-address-exact-entry-symbol-first-v3","managed":false,"native_aot_metadata":{"contract_revision":"rtr-9.1-x64-pe-read-only-v3","report_bytes":4194304,"source_bytes":134217728,"work_units":67108864,"working_memory_bytes":67108864},"no_return_repair":"returning-imports-decoded-return-v2","pdb_observations":"program-info-v1","procedure_file_offset_resolution":"address-first-unique-target-source-mapping-v2","process_launch":"inspected-jvm-launch-support-v1","string_inventory_evidence":"defined-data-coverage-v1","target_format":"pe","target_kind":"executable"},"provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"}},"authority":"shipped-artifact","confidence":"observed","environment":null,"evidence_id":"ev_e77cf4b520f4fa0b88408c03b2bdd27ca462d9ca84b0de51180cb56c85771b34","evidence_links":[],"limitations":["The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.","The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.","Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.","Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.","Pseudocode is Ghidra decompiler output, not original source and not text-equivalent to Hopper output.","External functions and functions without an analyzable body return null; other decompiler failures remain explicit.","The target references PDB Agent_Release_x64.pdb (GUID a4775113-cf21-4c1c-9d58-7e61100fab96, age (hex) 1, signature unknown, version RSDS); Ghidra reports load state unknown. Original names and types may be missing; an empty name search does not prove a procedure is absent. Use list_procedures and address-based analysis to inspect recovered functions. REA does not admit a caller-selected PDB companion.","This session uses Ghidra 12.1.2. The bridge is verified against 12.1.4; other 12.1.x builds are accepted and the observed version is reported."],"locations":[],"normalized_result":"\n/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */\n\nDWORD FUN_1400094e0(wchar_t *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)\n\n{\n int *piVar1;\n wchar_t wVar2;\n BOOL BVar3;\n longlong *plVar4;\n int *piVar5;\n HANDLE hObject;\n ulonglong uVar6;\n wchar_t *pwVar7;\n LPWSTR lpCommandLine;\n undefined8 uVar8;\n DWORD DVar9;\n wchar_t *pwVar10;\n code *pcVar11;\n undefined8 uVar12;\n _PROCESS_INFORMATION *_ArgList;\n undefined1 auStackY_538 [32];\n undefined *local_4e8;\n _PROCESS_INFORMATION local_4e0;\n int *local_4c8;\n undefined1 local_4c0;\n undefined8 local_4b8;\n _STARTUPINFOW local_4a8;\n wchar_t local_438;\n undefined1 local_436 [526];\n wchar_t local_228;\n undefined1 local_226 [526];\n ulonglong local_18;\n \n local_4b8 = 0xfffffffffffffffe;\n local_18 = DAT_1401555a0 ^ (ulonglong)auStackY_538;\n DVar9 = 0;\n local_228 = L'\\0';\n memset(local_226,0,0x206);\n local_438 = L'\\0';\n memset(local_436,0,0x206);\n uVar6 = 0xffffffffffffffff;\n pwVar10 = param_1;\n do {\n if (uVar6 == 0) break;\n uVar6 = uVar6 - 1;\n wVar2 = *pwVar10;\n pwVar10 = pwVar10 + 1;\n } while (wVar2 != L'\\0');\n uVar6 = ~uVar6;\n wcscpy_s(&local_228,uVar6,param_1);\n plVar4 = FUN_14002fe90((longlong *)&local_4e8,uVar6,param_1,param_4);\n pwVar10 = (wchar_t *)*plVar4;\n if ((wchar_t *)*plVar4 == (wchar_t *)0x0) {\n pwVar10 = (wchar_t *)PTR_DAT_140155010;\n }\n pwVar7 = &local_438;\n wcscpy_s(&local_438,0x104,pwVar10);\n if (((local_4e8 != (undefined *)0x0) && (local_4e8 != PTR_DAT_140155010)) &&\n (local_4e8 + -8 != (undefined *)0x0)) {\n piVar5 = (int *)FUN_140030200(pwVar7,local_4e8,pwVar10,param_4);\n local_4c8 = piVar5;\n FUN_14002e6e0(piVar5);\n local_4c0 = 1;\n piVar1 = (int *)(local_4e8 + -4);\n *piVar1 = *piVar1 + -1;\n if (*piVar1 == 0) {\n FUN_1400302f0(local_4e8 + -8);\n }\n FUN_14002e770((longlong)piVar5);\n }\n memset(&local_4a8,0,0x68);\n local_4a8.cb = 0x68;\n local_4a8.dwFlags = 0x13;\n local_4a8.dwXSize = 700;\n local_4a8.dwYSize = 0x6e;\n local_4a8.dwFillAttribute = 0x17;\n local_4a8.wShowWindow = 5;\n uVar12 = 0;\n uVar8 = 0;\n lpCommandLine = &local_228;\n BVar3 = CreateProcessW((LPCWSTR)0x0,lpCommandLine,(LPSECURITY_ATTRIBUTES)0x0,\n (LPSECURITY_ATTRIBUTES)0x0,0,0x10,(LPVOID)0x0,&local_438,&local_4a8,\n &local_4e0);\n if (BVar3 == 0) {\n FUN_140010aa0(L\"=======Server Fail=======\\n\",lpCommandLine,uVar8,uVar12);\n FUN_140010aa0(L\"Path\\t: [%s] \\n\",&local_438,uVar8,uVar12);\n FUN_140010aa0(L\"File\\t: [%s] \\n\",&local_228,uVar8,uVar12);\n }\n else {\n CloseHandle(local_4e0.hThread);\n _ArgList = &local_4e0;\n pcVar11 = FUN_140008c90;\n uVar8 = 0;\n hObject = (HANDLE)_beginthreadex((void *)0x0,0,FUN_140008c90,_ArgList,0,(uint *)&local_4e8);\n CloseHandle(hObject);\n FUN_140010aa0(L\"=======ServerOn=======\\n\",uVar8,pcVar11,_ArgList);\n DVar9 = local_4e0.dwProcessId;\n }\n printf(\"//////////////////////////////////////////////////////////////////////////\\n\");\n Sleep(1000);\n return DVar9;\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x1400094e0"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"},"raw_result":{"limitations":[],"value":"\n/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */\n\nDWORD FUN_1400094e0(wchar_t *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)\n\n{\n int *piVar1;\n wchar_t wVar2;\n BOOL BVar3;\n longlong *plVar4;\n int *piVar5;\n HANDLE hObject;\n ulonglong uVar6;\n wchar_t *pwVar7;\n LPWSTR lpCommandLine;\n undefined8 uVar8;\n DWORD DVar9;\n wchar_t *pwVar10;\n code *pcVar11;\n undefined8 uVar12;\n _PROCESS_INFORMATION *_ArgList;\n undefined1 auStackY_538 [32];\n undefined *local_4e8;\n _PROCESS_INFORMATION local_4e0;\n int *local_4c8;\n undefined1 local_4c0;\n undefined8 local_4b8;\n _STARTUPINFOW local_4a8;\n wchar_t local_438;\n undefined1 local_436 [526];\n wchar_t local_228;\n undefined1 local_226 [526];\n ulonglong local_18;\n \n local_4b8 = 0xfffffffffffffffe;\n local_18 = DAT_1401555a0 ^ (ulonglong)auStackY_538;\n DVar9 = 0;\n local_228 = L'\\0';\n memset(local_226,0,0x206);\n local_438 = L'\\0';\n memset(local_436,0,0x206);\n uVar6 = 0xffffffffffffffff;\n pwVar10 = param_1;\n do {\n if (uVar6 == 0) break;\n uVar6 = uVar6 - 1;\n wVar2 = *pwVar10;\n pwVar10 = pwVar10 + 1;\n } while (wVar2 != L'\\0');\n uVar6 = ~uVar6;\n wcscpy_s(&local_228,uVar6,param_1);\n plVar4 = FUN_14002fe90((longlong *)&local_4e8,uVar6,param_1,param_4);\n pwVar10 = (wchar_t *)*plVar4;\n if ((wchar_t *)*plVar4 == (wchar_t *)0x0) {\n pwVar10 = (wchar_t *)PTR_DAT_140155010;\n }\n pwVar7 = &local_438;\n wcscpy_s(&local_438,0x104,pwVar10);\n if (((local_4e8 != (undefined *)0x0) && (local_4e8 != PTR_DAT_140155010)) &&\n (local_4e8 + -8 != (undefined *)0x0)) {\n piVar5 = (int *)FUN_140030200(pwVar7,local_4e8,pwVar10,param_4);\n local_4c8 = piVar5;\n FUN_14002e6e0(piVar5);\n local_4c0 = 1;\n piVar1 = (int *)(local_4e8 + -4);\n *piVar1 = *piVar1 + -1;\n if (*piVar1 == 0) {\n FUN_1400302f0(local_4e8 + -8);\n }\n FUN_14002e770((longlong)piVar5);\n }\n memset(&local_4a8,0,0x68);\n local_4a8.cb = 0x68;\n local_4a8.dwFlags = 0x13;\n local_4a8.dwXSize = 700;\n local_4a8.dwYSize = 0x6e;\n local_4a8.dwFillAttribute = 0x17;\n local_4a8.wShowWindow = 5;\n uVar12 = 0;\n uVar8 = 0;\n lpCommandLine = &local_228;\n BVar3 = CreateProcessW((LPCWSTR)0x0,lpCommandLine,(LPSECURITY_ATTRIBUTES)0x0,\n (LPSECURITY_ATTRIBUTES)0x0,0,0x10,(LPVOID)0x0,&local_438,&local_4a8,\n &local_4e0);\n if (BVar3 == 0) {\n FUN_140010aa0(L\"=======Server Fail=======\\n\",lpCommandLine,uVar8,uVar12);\n FUN_140010aa0(L\"Path\\t: [%s] \\n\",&local_438,uVar8,uVar12);\n FUN_140010aa0(L\"File\\t: [%s] \\n\",&local_228,uVar8,uVar12);\n }\n else {\n CloseHandle(local_4e0.hThread);\n _ArgList = &local_4e0;\n pcVar11 = FUN_140008c90;\n uVar8 = 0;\n hObject = (HANDLE)_beginthreadex((void *)0x0,0,FUN_140008c90,_ArgList,0,(uint *)&local_4e8);\n CloseHandle(hObject);\n FUN_140010aa0(L\"=======ServerOn=======\\n\",uVar8,pcVar11,_ArgList);\n DVar9 = local_4e0.dwProcessId;\n }\n printf(\"//////////////////////////////////////////////////////////////////////////\\n\");\n Sleep(1000);\n return DVar9;\n}\n\n"},"relationship_coverage":null,"subject":{"architecture":"x86_64","digest":{"sha256":"6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469"},"format":"pe","local_path":"/home/baobeld/Development/rusty-hearts/re-project/binaries/Agent_Release_x64.exe","name":"Agent_Release_x64.exe"}},{"analysis_profile":{"digest":"de1d200f7c777e7d47b9def837d80cf1e4326106753fd45afae1b8f0c68936f6","parameters":{"analyzer_preset":"ghidra-default","annotation_policy":"atomic-function-entry-metadata-v1","architecture":"x86_64","available_architectures":["x86_64"],"call_relationship_coverage":"function-body-call-coverage-v5","compiler_spec_id":"auto-default","decompiler_jump_loads":true,"executable_role":"application","function_body_evidence":"complete-inclusive-ranges-v1","function_boundary_observations":"ghidra-function-boundary-limitations-v3","function_dossier_coverage":"observed-facets-and-call-relationships-v1","function_references":"complete-body-and-entry-reference-manager-v2","import_mode":"ephemeral-source-immutable","instruction_flow_evidence":"decoded-return-pcode-v1","instruction_references":"exact-address-incoming-v1","jump_table_evidence":"typed-case-default-blocks-v1","language_id":"auto-from-header","load_image_observations":"source-mappings-entry-context-v2","loader":"auto-from-header","location_resolution":"explicit-address-exact-entry-symbol-first-v3","managed":false,"native_aot_metadata":{"contract_revision":"rtr-9.1-x64-pe-read-only-v3","report_bytes":4194304,"source_bytes":134217728,"work_units":67108864,"working_memory_bytes":67108864},"no_return_repair":"returning-imports-decoded-return-v2","pdb_observations":"program-info-v1","procedure_file_offset_resolution":"address-first-unique-target-source-mapping-v2","process_launch":"inspected-jvm-launch-support-v1","string_inventory_evidence":"defined-data-coverage-v1","target_format":"pe","target_kind":"executable"},"provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"}},"authority":"shipped-artifact","confidence":"observed","environment":null,"evidence_id":"ev_e87b1dd73483b4679d62c8af5a049a4eba2945ad39d8d854566eb6f8725e1200","evidence_links":[],"limitations":["The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.","The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.","Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.","Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use :0x.","Pseudocode is Ghidra decompiler output, not original source and not text-equivalent to Hopper output.","External functions and functions without an analyzable body return null; other decompiler failures remain explicit.","The target references PDB Agent_Release_x64.pdb (GUID a4775113-cf21-4c1c-9d58-7e61100fab96, age (hex) 1, signature unknown, version RSDS); Ghidra reports load state unknown. Original names and types may be missing; an empty name search does not prove a procedure is absent. Use list_procedures and address-based analysis to inspect recovered functions. REA does not admit a caller-selected PDB companion.","This session uses Ghidra 12.1.2. The bridge is verified against 12.1.4; other 12.1.x builds are accepted and the observed version is reported."],"locations":[],"normalized_result":"\n/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */\n/* WARNING: Type propagation algorithm not settling */\n\nvoid FUN_140008ea0(undefined8 param_1,uint *param_2,undefined8 param_3,uint *param_4)\n\n{\n char cVar1;\n wchar_t wVar2;\n ulonglong uVar3;\n DWORD DVar4;\n char *pcVar5;\n wchar_t *******pppppppwVar6;\n longlong lVar7;\n ulonglong uVar8;\n undefined8 uVar9;\n char *pcVar10;\n wchar_t *pwVar11;\n undefined8 *puVar12;\n short *psVar13;\n wchar_t *pwVar14;\n undefined1 auStack_488 [32];\n void **local_468;\n undefined8 *local_460;\n uint local_458 [2];\n undefined8 *local_450;\n undefined1 *local_448;\n undefined8 local_440;\n basic_ostream_> local_438 [136];\n basic_ios_> local_3b0 [104];\n uint *local_348;\n wchar_t *******local_340 [2];\n wchar_t ******local_330;\n wchar_t ******local_328;\n undefined2 local_318;\n undefined6 uStack_316;\n undefined8 local_308;\n ulonglong local_300;\n ulonglong local_2f0 [2];\n undefined8 local_2e0;\n ulonglong local_2d8;\n void *local_2c8;\n undefined8 local_2c0;\n undefined8 local_2b8;\n ulonglong local_2b0;\n ulonglong local_2a0 [2];\n undefined8 local_290;\n ulonglong local_288;\n ulonglong local_278 [2];\n undefined8 local_268;\n ulonglong local_260;\n wchar_t local_248;\n undefined1 local_246 [526];\n ulonglong local_38;\n \n local_440 = 0xfffffffffffffffe;\n local_38 = DAT_1401555a0 ^ (ulonglong)auStack_488;\n pwVar11 = (wchar_t *)0x0;\n DVar4 = 0;\n pwVar14 = pwVar11;\n if (*(longlong *)(DAT_140162d60 + 0x58) != 0) {\n for (puVar12 = *(undefined8 **)\n (*(longlong *)(DAT_140162d60 + 0x38) +\n ((ulonglong)(longlong)(int)param_2[1] % *(ulonglong *)(DAT_140162d60 + 0x40)) *\n 8); puVar12 != (undefined8 *)0x0; puVar12 = (undefined8 *)*puVar12) {\n if (param_2[1] == *(uint *)(puVar12 + 1)) {\n if (puVar12 != (undefined8 *)0x0) {\n pwVar14 = (wchar_t *)puVar12[2];\n }\n break;\n }\n }\n }\n local_348 = param_2;\n if (*(int *)(pwVar14 + 0x62) == 0) {\n pwVar14[0x62] = L'\\x01';\n pwVar14[99] = L'\\0';\n uVar3 = *(ulonglong *)(DAT_1401626f8 + 0xa8);\n local_248 = L'\\0';\n memset(local_246,0,0x206);\n FUN_14000a4b0(local_438);\n std::basic_ostream_>::operator<<(local_438,param_2[1]);\n FUN_14000a600((longlong)local_438,(void **)&local_318);\n for (pcVar5 = *(char **)(DAT_140162d58 + 8); pcVar5 != *(char **)(DAT_140162d58 + 0x10);\n pcVar5 = pcVar5 + 0x30) {\n if (*pcVar5 == (char)param_2[3]) {\n pwVar11 = (wchar_t *)(pcVar5 + 8);\n if (7 < *(ulonglong *)(pcVar5 + 0x20)) {\n pwVar11 = *(wchar_t **)pwVar11;\n }\n break;\n }\n }\n wcscpy_s(&local_248,0x104,pwVar11);\n wcscat_s(&local_248,0x104,L\" \");\n if (*(char *)(DAT_140162d68 + 0x152) == '\\0') {\n local_2d8 = 0xf;\n local_2e0 = 0;\n local_2f0[0]._0_1_ = '\\0';\n local_328 = (wchar_t ******)0x7;\n local_330 = (wchar_t ******)0x0;\n local_340[0] = (wchar_t *******)((ulonglong)local_340[0] & 0xffffffffffff0000);\n FUN_140027540(DAT_140162d68,local_2f0,param_2);\n pcVar5 = (char *)local_2f0;\n if (0xf < local_2d8) {\n pcVar5 = (char *)CONCAT71(local_2f0[0]._1_7_,(char)local_2f0[0]);\n }\n local_288 = 0xf;\n local_290 = 0;\n local_2a0[0]._0_1_ = '\\0';\n uVar8 = 0xffffffffffffffff;\n pcVar10 = pcVar5;\n do {\n if (uVar8 == 0) break;\n uVar8 = uVar8 - 1;\n cVar1 = *pcVar10;\n pcVar10 = pcVar10 + 1;\n } while (cVar1 != '\\0');\n FUN_14000b810(local_2a0,pcVar5,~uVar8 - 1);\n pppppppwVar6 = (wchar_t *******)FUN_1400dc8f0((ulonglong *)&local_2c8,(LPCSTR)local_2a0);\n if (local_340 != (wchar_t ********)pppppppwVar6) {\n if ((wchar_t ******)0x7 < local_328) {\n operator_delete(local_340[0]);\n }\n local_328 = (wchar_t ******)0x7;\n local_330 = (wchar_t ******)0x0;\n local_340[0] = (wchar_t *******)((ulonglong)local_340[0] & 0xffffffffffff0000);\n if (pppppppwVar6[3] < (wchar_t ******)0x8) {\n memmove(local_340,pppppppwVar6,((longlong)pppppppwVar6[2] + 1U) * 2);\n }\n else {\n local_340[0] = (wchar_t *******)*pppppppwVar6;\n *pppppppwVar6 = (wchar_t ******)0x0;\n }\n local_330 = pppppppwVar6[2];\n local_328 = pppppppwVar6[3];\n pppppppwVar6[3] = (wchar_t ******)0x7;\n pppppppwVar6[2] = (wchar_t ******)0x0;\n *(undefined2 *)pppppppwVar6 = 0;\n }\n if (7 < local_2b0) {\n operator_delete(local_2c8);\n }\n local_2b0 = 7;\n local_2b8 = 0;\n local_2c8 = (void *)((ulonglong)local_2c8 & 0xffffffffffff0000);\n if (0xf < local_288) {\n operator_delete((void *)CONCAT71(local_2a0[0]._1_7_,(CHAR)local_2a0[0]));\n }\n pppppppwVar6 = (wchar_t *******)local_340;\n if ((wchar_t ******)0x7 < local_328) {\n pppppppwVar6 = local_340[0];\n }\n uVar9 = 0x104;\n wcscat_s(&local_248,0x104,(wchar_t *)pppppppwVar6);\n if ((wchar_t ******)0x7 < local_328) {\n operator_delete(local_340[0]);\n }\n local_328 = (wchar_t ******)0x7;\n local_330 = (wchar_t ******)0x0;\n local_340[0] = (wchar_t *******)((ulonglong)local_340[0] & 0xffffffffffff0000);\n if (0xf < local_2d8) {\n operator_delete((void *)CONCAT71(local_2f0[0]._1_7_,(char)local_2f0[0]));\n }\n local_2d8 = 0xf;\n local_2e0 = 0;\n local_2f0[0]._0_1_ = '\\0';\n }\n else {\n pppppppwVar6 = (wchar_t *******)&local_318;\n if (7 < local_300) {\n pppppppwVar6 = (wchar_t *******)CONCAT62(uStack_316,local_318);\n }\n uVar9 = 0x104;\n wcscat_s(&local_248,0x104,(wchar_t *)pppppppwVar6);\n }\n uVar8 = 0xffffffffffffffff;\n pwVar11 = &local_248;\n do {\n if (uVar8 == 0) break;\n uVar8 = uVar8 - 1;\n wVar2 = *pwVar11;\n pwVar11 = pwVar11 + 1;\n } while (wVar2 != L'\\0');\n if ((~uVar8 < 0x104) &&\n (DVar4 = FUN_1400094e0(&local_248,uVar9,pppppppwVar6,param_4), 0 < (int)DVar4)) {\n *(DWORD *)(pwVar14 + 0x52) = DVar4;\n pwVar14[0x62] = L'\\x01';\n pwVar14[99] = L'\\0';\n local_448 = (undefined1 *)local_2a0;\n puVar12 = FUN_140006c30((longlong)pwVar14,local_2a0);\n local_2c8 = *(void **)(pwVar14 + 0x5c);\n local_2c0 = *(undefined8 *)(pwVar14 + 0x60);\n local_2b8 = *(undefined8 *)(pwVar14 + 100);\n local_2b0 = *(ulonglong *)(pwVar14 + 0x68);\n local_458[0] = *(uint *)(pwVar14 + 2);\n local_450 = puVar12;\n lVar7 = FUN_140007fa0(uVar3);\n local_468 = &local_2c8;\n param_4 = local_458;\n local_460 = puVar12;\n (**(code **)(*(longlong *)(lVar7 + 0x68) + 0x40))((longlong *)(lVar7 + 0x68),1,&DAT_1401555d0)\n ;\n if ((void *)*puVar12 != (void *)0x0) {\n operator_delete((void *)*puVar12);\n }\n *puVar12 = 0;\n puVar12[1] = 0;\n puVar12[2] = 0;\n }\n else {\n pwVar14[0x62] = L'\\0';\n pwVar14[99] = L'\\0';\n }\n if (uVar3 == 0) {\n if (7 < local_300) {\n operator_delete((void *)CONCAT62(uStack_316,local_318));\n }\n local_300 = 7;\n local_308 = 0;\n local_318 = 0;\n FUN_14000a550((longlong)local_3b0);\n std::basic_ios_>::\n ~basic_ios_>(local_3b0);\n }\n else if ((int)DVar4 < 1) {\n puVar12 = (undefined8 *)(DAT_140162d68 + 0x30);\n if (7 < *(ulonglong *)(DAT_140162d68 + 0x48)) {\n puVar12 = (undefined8 *)*puVar12;\n }\n FUN_1400dc9d0(local_278,L\"FAILED SERVER ON %s \",puVar12,param_4);\n psVar13 = (short *)local_278;\n if (7 < local_260) {\n psVar13 = (short *)CONCAT62(local_278[0]._2_6_,(short)local_278[0]);\n }\n FUN_1400080a0(uVar3,1,psVar13,param_4);\n if (7 < local_260) {\n operator_delete((void *)CONCAT62(local_278[0]._2_6_,(short)local_278[0]));\n }\n local_260 = 7;\n local_268 = 0;\n local_278[0]._0_2_ = 0;\n if (7 < local_300) {\n operator_delete((void *)CONCAT62(uStack_316,local_318));\n }\n local_300 = 7;\n local_308 = 0;\n local_318 = 0;\n FUN_14000a550((longlong)local_3b0);\n std::basic_ios_>::\n ~basic_ios_>(local_3b0);\n }\n else {\n if (7 < local_300) {\n operator_delete((void *)CONCAT62(uStack_316,local_318));\n }\n local_300 = 7;\n local_308 = 0;\n local_318 = 0;\n FUN_14000a550((longlong)local_3b0);\n std::basic_ios_>::\n ~basic_ios_>(local_3b0);\n }\n }\n FUN_140004e10((longlong)param_2);\n return;\n}\n\n","operation":"procedure_pseudo_code","parameters":{"procedure":"0x140008ea0"},"predicate_type":"rea.analysis","provider":{"id":"ghidra","name":"Ghidra","version":"12.1.2"},"raw_result":{"limitations":[],"value":"\n/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */\n/* WARNING: Type propagation algorithm not settling */\n\nvoid FUN_140008ea0(undefined8 param_1,uint *param_2,undefined8 param_3,uint *param_4)\n\n{\n char cVar1;\n wchar_t wVar2;\n ulonglong uVar3;\n DWORD DVar4;\n char *pcVar5;\n wchar_t *******pppppppwVar6;\n longlong lVar7;\n ulonglong uVar8;\n undefined8 uVar9;\n char *pcVar10;\n wchar_t *pwVar11;\n undefined8 *puVar12;\n short *psVar13;\n wchar_t *pwVar14;\n undefined1 auStack_488 [32];\n void **local_468;\n undefined8 *local_460;\n uint local_458 [2];\n undefined8 *local_450;\n undefined1 *local_448;\n undefined8 local_440;\n basic_ostream_> local_438 [136];\n basic_ios_> local_3b0 [104];\n uint *local_348;\n wchar_t *******local_340 [2];\n wchar_t ******local_330;\n wchar_t ******local_328;\n undefined2 local_318;\n undefined6 uStack_316;\n undefined8 local_308;\n ulonglong local_300;\n ulonglong local_2f0 [2];\n undefined8 local_2e0;\n ulonglong local_2d8;\n void *local_2c8;\n undefined8 local_2c0;\n undefined8 local_2b8;\n ulonglong local_2b0;\n ulonglong local_2a0 [2];\n undefined8 local_290;\n ulonglong local_288;\n ulonglong local_278 [2];\n undefined8 local_268;\n ulonglong local_260;\n wchar_t local_248;\n undefined1 local_246 [526];\n ulonglong local_38;\n \n local_440 = 0xfffffffffffffffe;\n local_38 = DAT_1401555a0 ^ (ulonglong)auStack_488;\n pwVar11 = (wchar_t *)0x0;\n DVar4 = 0;\n pwVar14 = pwVar11;\n if (*(longlong *)(DAT_140162d60 + 0x58) != 0) {\n for (puVar12 = *(undefined8 **)\n (*(longlong *)(DAT_140162d60 + 0x38) +\n ((ulonglong)(longlong)(int)param_2[1] % *(ulonglong *)(DAT_140162d60 + 0x40)) *\n 8); puVar12 != (undefined8 *)0x0; puVar12 = (undefined8 *)*puVar12) {\n if (param_2[1] == *(uint *)(puVar12 + 1)) {\n if (puVar12 != (undefined8 *)0x0) {\n pwVar14 = (wchar_t *)puVar12[2];\n }\n break;\n }\n }\n }\n local_348 = param_2;\n if (*(int *)(pwVar14 + 0x62) == 0) {\n pwVar14[0x62] = L'\\x01';\n pwVar14[99] = L'\\0';\n uVar3 = *(ulonglong *)(DAT_1401626f8 + 0xa8);\n local_248 = L'\\0';\n memset(local_246,0,0x206);\n FUN_14000a4b0(local_438);\n std::basic_ostream_>::operator<<(local_438,param_2[1]);\n FUN_14000a600((longlong)local_438,(void **)&local_318);\n for (pcVar5 = *(char **)(DAT_140162d58 + 8); pcVar5 != *(char **)(DAT_140162d58 + 0x10);\n pcVar5 = pcVar5 + 0x30) {\n if (*pcVar5 == (char)param_2[3]) {\n pwVar11 = (wchar_t *)(pcVar5 + 8);\n if (7 < *(ulonglong *)(pcVar5 + 0x20)) {\n pwVar11 = *(wchar_t **)pwVar11;\n }\n break;\n }\n }\n wcscpy_s(&local_248,0x104,pwVar11);\n wcscat_s(&local_248,0x104,L\" \");\n if (*(char *)(DAT_140162d68 + 0x152) == '\\0') {\n local_2d8 = 0xf;\n local_2e0 = 0;\n local_2f0[0]._0_1_ = '\\0';\n local_328 = (wchar_t ******)0x7;\n local_330 = (wchar_t ******)0x0;\n local_340[0] = (wchar_t *******)((ulonglong)local_340[0] & 0xffffffffffff0000);\n FUN_140027540(DAT_140162d68,local_2f0,param_2);\n pcVar5 = (char *)local_2f0;\n if (0xf < local_2d8) {\n pcVar5 = (char *)CONCAT71(local_2f0[0]._1_7_,(char)local_2f0[0]);\n }\n local_288 = 0xf;\n local_290 = 0;\n local_2a0[0]._0_1_ = '\\0';\n uVar8 = 0xffffffffffffffff;\n pcVar10 = pcVar5;\n do {\n if (uVar8 == 0) break;\n uVar8 = uVar8 - 1;\n cVar1 = *pcVar10;\n pcVar10 = pcVar10 + 1;\n } while (cVar1 != '\\0');\n FUN_14000b810(local_2a0,pcVar5,~uVar8 - 1);\n pppppppwVar6 = (wchar_t *******)FUN_1400dc8f0((ulonglong *)&local_2c8,(LPCSTR)local_2a0);\n if (local_340 != (wchar_t ********)pppppppwVar6) {\n if ((wchar_t ******)0x7 < local_328) {\n operator_delete(local_340[0]);\n }\n local_328 = (wchar_t ******)0x7;\n local_330 = (wchar_t ******)0x0;\n local_340[0] = (wchar_t *******)((ulonglong)local_340[0] & 0xffffffffffff0000);\n if (pppppppwVar6[3] < (wchar_t ******)0x8) {\n memmove(local_340,pppppppwVar6,((longlong)pppppppwVar6[2] + 1U) * 2);\n }\n else {\n local_340[0] = (wchar_t *******)*pppppppwVar6;\n *pppppppwVar6 = (wchar_t ******)0x0;\n }\n local_330 = pppppppwVar6[2];\n local_328 = pppppppwVar6[3];\n pppppppwVar6[3] = (wchar_t ******)0x7;\n pppppppwVar6[2] = (wchar_t ******)0x0;\n *(undefined2 *)pppppppwVar6 = 0;\n }\n if (7 < local_2b0) {\n operator_delete(local_2c8);\n }\n local_2b0 = 7;\n local_2b8 = 0;\n local_2c8 = (void *)((ulonglong)local_2c8 & 0xffffffffffff0000);\n if (0xf < local_288) {\n operator_delete((void *)CONCAT71(local_2a0[0]._1_7_,(CHAR)local_2a0[0]));\n }\n pppppppwVar6 = (wchar_t *******)local_340;\n if ((wchar_t ******)0x7 < local_328) {\n pppppppwVar6 = local_340[0];\n }\n uVar9 = 0x104;\n wcscat_s(&local_248,0x104,(wchar_t *)pppppppwVar6);\n if ((wchar_t ******)0x7 < local_328) {\n operator_delete(local_340[0]);\n }\n local_328 = (wchar_t ******)0x7;\n local_330 = (wchar_t ******)0x0;\n local_340[0] = (wchar_t *******)((ulonglong)local_340[0] & 0xffffffffffff0000);\n if (0xf < local_2d8) {\n operator_delete((void *)CONCAT71(local_2f0[0]._1_7_,(char)local_2f0[0]));\n }\n local_2d8 = 0xf;\n local_2e0 = 0;\n local_2f0[0]._0_1_ = '\\0';\n }\n else {\n pppppppwVar6 = (wchar_t *******)&local_318;\n if (7 < local_300) {\n pppppppwVar6 = (wchar_t *******)CONCAT62(uStack_316,local_318);\n }\n uVar9 = 0x104;\n wcscat_s(&local_248,0x104,(wchar_t *)pppppppwVar6);\n }\n uVar8 = 0xffffffffffffffff;\n pwVar11 = &local_248;\n do {\n if (uVar8 == 0) break;\n uVar8 = uVar8 - 1;\n wVar2 = *pwVar11;\n pwVar11 = pwVar11 + 1;\n } while (wVar2 != L'\\0');\n if ((~uVar8 < 0x104) &&\n (DVar4 = FUN_1400094e0(&local_248,uVar9,pppppppwVar6,param_4), 0 < (int)DVar4)) {\n *(DWORD *)(pwVar14 + 0x52) = DVar4;\n pwVar14[0x62] = L'\\x01';\n pwVar14[99] = L'\\0';\n local_448 = (undefined1 *)local_2a0;\n puVar12 = FUN_140006c30((longlong)pwVar14,local_2a0);\n local_2c8 = *(void **)(pwVar14 + 0x5c);\n local_2c0 = *(undefined8 *)(pwVar14 + 0x60);\n local_2b8 = *(undefined8 *)(pwVar14 + 100);\n local_2b0 = *(ulonglong *)(pwVar14 + 0x68);\n local_458[0] = *(uint *)(pwVar14 + 2);\n local_450 = puVar12;\n lVar7 = FUN_140007fa0(uVar3);\n local_468 = &local_2c8;\n param_4 = local_458;\n local_460 = puVar12;\n (**(code **)(*(longlong *)(lVar7 + 0x68) + 0x40))((longlong *)(lVar7 + 0x68),1,&DAT_1401555d0)\n ;\n if ((void *)*puVar12 != (void *)0x0) {\n operator_delete((void *)*puVar12);\n }\n *puVar12 = 0;\n puVar12[1] = 0;\n puVar12[2] = 0;\n }\n else {\n pwVar14[0x62] = L'\\0';\n pwVar14[99] = L'\\0';\n }\n if (uVar3 == 0) {\n if (7 < local_300) {\n operator_delete((void *)CONCAT62(uStack_316,local_318));\n }\n local_300 = 7;\n local_308 = 0;\n local_318 = 0;\n FUN_14000a550((longlong)local_3b0);\n std::basic_ios_>::\n ~basic_ios_>(local_3b0);\n }\n else if ((int)DVar4 < 1) {\n puVar12 = (undefined8 *)(DAT_140162d68 + 0x30);\n if (7 < *(ulonglong *)(DAT_140162d68 + 0x48)) {\n puVar12 = (undefined8 *)*puVar12;\n }\n FUN_1400dc9d0(local_278,L\"FAILED SERVER ON %s \",puVar12,param_4);\n psVar13 = (short *)local_278;\n if (7 < local_260) {\n psVar13 = (short *)CONCAT62(local_278[0]._2_6_,(short)local_278[0]);\n }\n FUN_1400080a0(uVar3,1,psVar13,param_4);\n if (7 < local_260) {\n operator_delete((void *)CONCAT62(local_278[0]._2_6_,(short)local_278[0]));\n }\n local_260 = 7;\n local_268 = 0;\n local_278[0]._0_2_ = 0;\n if (7 < local_300) {\n operator_delete((void *)CONCAT62(uStack_316,local_318));\n }\n local_300 = 7;\n local_308 = 0;\n local_318 = 0;\n FUN_14000a550((longlong)local_3b0);\n std::basic_ios_>::\n ~basic_ios_>(local_3b0);\n }\n else {\n if (7 < local_300) {\n operator_delete((void *)CONCAT62(uStack_316,local_318));\n }\n local_300 = 7;\n local_308 = 0;\n local_318 = 0;\n FUN_14000a550((longlong)local_3b0);\n std::basic_ios_>::\n ~basic_ios_>(local_3b0);\n }\n }\n FUN_140004e10((longlong)param_2);\n return;\n}\n\n"},"relationship_coverage":null,"subject":{"architecture":"x86_64","digest":{"sha256":"6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469"},"format":"pe","local_path":"/home/baobeld/Development/rusty-hearts/re-project/binaries/Agent_Release_x64.exe","name":"Agent_Release_x64.exe"}}],"scenarios":[],"unknowns":[]} \ No newline at end of file diff --git a/decomp/Agent_Release_x64/evidence.md b/decomp/Agent_Release_x64/evidence.md new file mode 100644 index 00000000..58cbfaf3 --- /dev/null +++ b/decomp/Agent_Release_x64/evidence.md @@ -0,0 +1,65 @@ +# Agent_Release_x64.exe — finding ledger + +- SHA-256 `6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469`, 1,472,512 bytes +- PE32+ x86-64, Windows CUI, MSVC linker 10 (VS2010; imports MSVCR100/MSVCP100) +- PDB reference `F:\work\Project\Output\Exe\Agent_Release_x64.pdb` (GUID a4775113-…, age 1) — PDB not available; names are Ghidra defaults +- Ghidra 12.1.2 via REA 6.5.0; 6,814 procedures, 1,472 defined strings (`ev_9fe3a449…`) +- Full Evidence: `evidence-bundle.json` (14 records). Static analysis only — nothing here was observed at runtime. + +## Status: first pass (process-control core). Network protocol and config parsing not yet decompiled. + +## Language: C++ (high confidence) +Observed C++-only artifacts: MSVC RTTI type descriptors (`.?AV…@@`, incl. templates +`MBISingleton`, `CFastArray`), vftables, `__CxxFrameHandler3` (C++ EH), +`operator new/delete`, MSVCP100 `std::basic_ostream` imports. Multiple vftables +per class (e.g. `MagiAgentNetwork`, `MGAgentManagerSession`) indicate multiple +inheritance. Statically linked C++ libraries: ProudNet, TinyXML (`TiXml*`), ATL. + +## Outputs +| Path | Content | +|---|---| +| `full/functions/.c` | Ghidra pseudocode for all 6,423 non-thunk functions (1 failed; see `full/index.tsv`). Includes library code (ProudNet, TinyXML, CRT) — not yet labelled. | +| `full/index.tsv` | address, namespace, name, body size, decompile status | +| `full/vtables.tsv` | 1,430 RTTI vftable slots → function addresses (all classes) | +| `cpp/classes.hpp` | Generated C++ skeleton of 43 application classes from vftables (compiles); method names unknown | +| `cpp/AgentProcessControl.cpp` | Hand-lifted C++ for the 6 analyzed functions; names inferred, not compilable as-is | +| `../scripts/ExportDecomp.java`, `VTableMap.java` | Ghidra headless scripts that produced `full/` | + +Additional observations from the lift (`cpp/AgentProcessControl.cpp`): +- Watcher thread never closes the process handle → handle leak per launch (observed). +- `LaunchProcess` passes a stack `PROCESS_INFORMATION*` to the watcher thread; safe only because of the following `Sleep(1000)` (observed race, inference about intent). +- `KillProcessByName` leaks the snapshot handle on the success path (observed). +- RMI stubs give the protocol handler tables: `AgentManager2AgentStub` 24 slots, `Server2AgentStub` 19 (`full/vtables.tsv`). + +## Findings + +| # | Conclusion | Type | Evidence | +|---|---|---|---| +| 1 | Process supervisor for the other server EXEs: launches them, kills them, watches for exit | **Observed** (code) | `0x1400094e0`, `0x140009780`, `0x140008c90` below | +| 2 | Launch: `CreateProcessW(NULL, cmdline, …, CREATE_NEW_CONSOLE (0x10), …, workdir, …)`; console 700×110, fill attr 0x17; closes thread handle, spawns watcher thread, returns PID (0 on failure, logs `=======Server Fail=======` + Path/File) | Observed | `0x1400094e0.pseudo.c`, `ev_e77cf4b5…` | +| 3 | Command line = ` + " " + `; args either generated (`FUN_140027540`, a global option flag at `+0x152` selects) or the numeric server code. Logs `FAILED SERVER ON %s` on failure; reports result to AgentManager via RMI proxy | Observed (flow); arg contents **unknown** | `0x140008ea0.pseudo.c`, `ev_e87b1dd7…` | +| 4 | Kill: Toolhelp32 snapshot, case-insensitive exe-name match, `OpenProcess(PROCESS_TERMINATE)`, `TerminateProcess(h,0)` — kills the **first** match only, by image name (not PID) | Observed | `0x140009780.pseudo.c`, `ev_ad71d730…` | +| 5 | Watcher: polls `GetExitCodeProcess` every 10 ms while `STILL_ACTIVE` (0x103); on exit sends two RMI notifications to AgentManager; **relaunches** if per-server revive flag (`+0xd5`) or global flag (`+0x171`) is set | Observed; mapping of flags to `revive_server` XML key is **inference** | `0x140008c90.pseudo.c` | +| 6 | Single instance via named mutex `Global\RustyHearts_Agent`; on ERROR_ALREADY_EXISTS / ACCESS_DENIED prints, sleeps 3 s, returns failure | Observed | `0x1400100b0.pseudo.c` | +| 7 | Main run loop: startup banner, `CoInitialize`, builds network objects, kills a stale process by name before running (type `0x18` entry), loop `Sleep(1)` with 100 ms tick and 1 s FPS counter; optional delayed "Start Auto Server On" after a configured time (`+0x178`) | Observed | `0x1400037a0.pseudo.c`, `ev_2fa3bc1d…` | +| 8 | Networking is **ProudNet** (Nettention) — `Proud::CNetServerImpl`, `CNetClientImpl`, RMI stubs/proxies | Observed (RTTI + assert strings) | strings `ev_47e1666c…` | +| 9 | Agent is both a ProudNet server (for game servers: `SERVER2AGENT_PROTOCOL` stub, `AGENT2SERVER` proxy) and client of AgentManager (`AGENTMANAGER2AGENT` stub, `AGENT2AGENTMANAGER` proxy) | Inference from RTTI class names | strings `ev_47e1666c…` | +| 10 | Config files: `option\agent_serveroption.xml`, `option\agent.xml`, `option\total_option.xml`, `option\patch.xml`, `option\customoption.xml`, `option\service_control.xml` | Observed (strings); which are actually read is **unknown** — `option\agent.xml` referenced from `FUN_1400f06e0` only | `ev_d4bb4bc3…` | +| 11 | Crash reporting via BugTrap (`BT_*` imports) + `MiniDumpWriteDump`; also an HTTP error reporter `GET /PNReport/ReportError.php?Text=` (ProudNet's) | Observed (imports/strings); host contacted **unknown** | imports | + +## Named-function map (proposed, not applied in a persistent DB) + +| Address | Proposed name | +|---|---| +| `0x1400037a0` | `MagiAgentServer::Run` (main loop) | +| `0x140008ea0` | `ServerOn(serverEntry)` | +| `0x1400094e0` | `LaunchProcess(cmdline) -> pid` | +| `0x140008c90` | `ProcessWatchThread` | +| `0x140009780` | `KillProcessByName(name)` | +| `0x1400100b0` | `AcquireSingleInstanceMutex` | + +## Open questions / next steps +- Decode RMI message IDs/handlers for `AGENTMANAGER2AGENT` and `SERVER2AGENT` (commands: All Server On/Down/Kill, Server Info, Shutdown, Notice, Patch). +- Parse config XML loaders (`FUN_1400f06e0`, `MagiServerOption`), and map fields (`start_server`, `revive_server`, ports) to struct offsets. +- Identify `FUN_140027540` (argument builder) to learn exact launch arguments. +- Locate ProudNet SDK version to label library code (likely large share of the 6,814 functions). diff --git a/decomp/Agent_Release_x64/full/functions/0x140001020.c b/decomp/Agent_Release_x64/full/functions/0x140001020.c new file mode 100644 index 00000000..37cac7a4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001020.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001020 FUN_140001020 + * Pseudocode, not original source. */ + +exception * FUN_140001020(exception *param_1,uint param_2) + +{ + *(undefined ***)param_1 = std::bad_alloc::vftable; + std::exception::~exception(param_1); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001060.c b/decomp/Agent_Release_x64/full/functions/0x140001060.c new file mode 100644 index 00000000..1f784150 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001060.c @@ -0,0 +1,65 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001060 FUN_140001060 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_140001060(longlong param_1) + +{ + PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo; + DWORD DVar1; + BOOL BVar2; + wchar_t *pwVar3; + wchar_t *pwVar4; + ulonglong uVar5; + HANDLE pvVar6; + undefined1 auStack_268 [32]; + undefined8 local_248; + undefined8 local_240; + WCHAR local_228; + undefined1 local_226 [526]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_268; + DVar1 = GetCurrentProcessId(); + *(DWORD *)(param_1 + 0x450) = DVar1; + local_228 = L'\0'; + memset(local_226,0,0x206); + DVar1 = GetModuleFileNameW((HMODULE)0x0,&local_228,0x104); + if (0 < (int)DVar1) { + pwVar3 = wcsrchr(&local_228,L'\\'); + pwVar4 = wcsrchr(&local_228,L'.'); + uVar5 = (longlong)pwVar4 + (-2 - (longlong)pwVar3) >> 1; + if (0x104 < uVar5) { + uVar5 = 0x104; + } + memcpy((void *)(param_1 + 0x3c),pwVar3 + 1,uVar5 * 2); + FUN_140001260(param_1,param_1 + 0x3c); + pvVar6 = GetStdHandle(0xfffffff5); + *(HANDLE *)(param_1 + 8) = pvVar6; + if (pvVar6 != (HANDLE)0xffffffffffffffff) { + FUN_1400011d0(param_1); + pvVar6 = *(HANDLE *)(param_1 + 8); + if (pvVar6 != (HANDLE)0xffffffffffffffff) { + lpConsoleScreenBufferInfo = (PCONSOLE_SCREEN_BUFFER_INFO)(param_1 + 0x10); + local_248 = 0; + local_240 = 0; + (lpConsoleScreenBufferInfo->dwSize).X = 0; + (lpConsoleScreenBufferInfo->dwSize).Y = 0; + (lpConsoleScreenBufferInfo->dwCursorPosition).X = 0; + (lpConsoleScreenBufferInfo->dwCursorPosition).Y = 0; + *(undefined8 *)(param_1 + 0x18) = 0; + *(undefined4 *)(param_1 + 0x20) = 0; + *(undefined2 *)(param_1 + 0x24) = 0; + BVar2 = GetConsoleScreenBufferInfo(pvVar6,lpConsoleScreenBufferInfo); + if (BVar2 != 0) { + *(undefined2 *)(param_1 + 0x454) = *(undefined2 *)(param_1 + 0x18); + } + } + return 1; + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400011d0.c b/decomp/Agent_Release_x64/full/functions/0x1400011d0.c new file mode 100644 index 00000000..cd9d1bb9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400011d0.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400011d0 FUN_1400011d0 + * Pseudocode, not original source. */ + +BOOL FUN_1400011d0(longlong param_1) + +{ + BOOL BVar1; + DWORD local_res10 [2]; + + if (*(HANDLE *)(param_1 + 8) == (HANDLE)0xffffffffffffffff) { + return 0; + } + BVar1 = GetConsoleScreenBufferInfo + (*(HANDLE *)(param_1 + 8),(PCONSOLE_SCREEN_BUFFER_INFO)(param_1 + 0x26)); + if (BVar1 == 0) { + return 0; + } + FillConsoleOutputAttribute + (*(HANDLE *)(param_1 + 8),*(ushort *)(param_1 + 0x2e) & 0xf | 0x10, + (int)*(short *)(param_1 + 0x28) * (int)*(short *)(param_1 + 0x26),(COORD)0x0, + local_res10); + BVar1 = SetConsoleTextAttribute(*(HANDLE *)(param_1 + 8),0x17); + return BVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001260.c b/decomp/Agent_Release_x64/full/functions/0x140001260.c new file mode 100644 index 00000000..c9aaeba6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001260.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001260 FUN_140001260 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140001260(longlong param_1,longlong param_2) + +{ + longlong lVar1; + ulonglong uVar2; + undefined1 auStack_248 [32]; + wchar_t local_228; + undefined1 local_226 [526]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_248; + uVar2 = (ulonglong)*(uint *)(param_1 + 0x450); + lVar1 = param_1 + 0x3c; + if (param_2 != 0) { + lVar1 = param_2; + } + FUN_140001af0((wchar_t *)(param_1 + 0x246),L"%s [%d]",lVar1,uVar2); + local_228 = L'\0'; + memset(local_226,0,0x206); + FUN_140001ac0(&local_228,L"%s",(wchar_t *)(param_1 + 0x246),uVar2); + SetConsoleTitleW(&local_228); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001300.c b/decomp/Agent_Release_x64/full/functions/0x140001300.c new file mode 100644 index 00000000..e9ee1959 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001300.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001300 FUN_140001300 + * Pseudocode, not original source. */ + +undefined8 * FUN_140001300(undefined8 *param_1,byte param_2) + +{ + DAT_1401626f0 = 0; + *param_1 = MBISingleton::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001340.c b/decomp/Agent_Release_x64/full/functions/0x140001340.c new file mode 100644 index 00000000..10ca2368 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001340.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001340 FUN_140001340 + * Pseudocode, not original source. */ + +void FUN_140001340(undefined8 param_1,undefined8 param_2,undefined8 param_3) + +{ + FUN_1400de9f0(DAT_1401626e8,L"Invalid parameter detected in function %s. File: %s Line: %d\n", + param_2,param_3); + FUN_1400de9f0(DAT_1401626e8,L"Expression: %s\n",param_1,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001390.c b/decomp/Agent_Release_x64/full/functions/0x140001390.c new file mode 100644 index 00000000..49a925e2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001390.c @@ -0,0 +1,89 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001390 FUN_140001390 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ + +undefined8 FUN_140001390(int param_1,longlong param_2,undefined8 param_3,uint *param_4) + +{ + short sVar1; + undefined4 uVar2; + DWORD DVar3; + _invalid_parameter_handler _Handler; + undefined8 *puVar4; + ulonglong uVar5; + undefined8 **ProcessHeaps; + LPCWSTR pWVar6; + short *psVar7; + undefined8 **ppuVar8; + undefined8 **HeapInformation; + undefined8 *local_res18; + undefined8 local_res20; + undefined8 *local_2028; + undefined1 local_2020 [8192]; + undefined8 uStack_20; + + uStack_20 = 0x14000139e; + DAT_140162cc0 = timeGetTime(); + FUN_140010070(&local_res20); + uVar2 = FUN_1400100b0(&local_res20); + if ((char)uVar2 != '\0') { + FUN_140010120(); + FUN_140001550(); + FUN_140001060((longlong)DAT_1401626f0); + if (1 < param_1) { + uVar5 = 0xffffffffffffffff; + psVar7 = *(short **)(param_2 + 8); + do { + if (uVar5 == 0) break; + uVar5 = uVar5 - 1; + sVar1 = *psVar7; + psVar7 = psVar7 + 1; + } while (sVar1 != 0); + FUN_1400016e0((ulonglong *)&DAT_14015b048,*(short **)(param_2 + 8),~uVar5 - 1); + } + puVar4 = (undefined8 *)0x0; + local_2028 = (undefined8 *)0x0; + HeapInformation = (undefined8 **)0x2000; + memset(local_2020,0,0x2000); + ProcessHeaps = &local_2028; + DVar3 = GetProcessHeaps(0x400,ProcessHeaps); + if (DVar3 != 0) { + ppuVar8 = &local_2028; + uVar5 = (ulonglong)DVar3; + do { + local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,2); + param_4 = (uint *)0x4; + HeapInformation = &local_res18; + ProcessHeaps = (undefined8 **)0x0; + HeapSetInformation(*ppuVar8,HeapCompatibilityInformation,HeapInformation,4); + ppuVar8 = ppuVar8 + 1; + uVar5 = uVar5 - 1; + } while (uVar5 != 0); + } + _Handler = _set_invalid_parameter_handler(FUN_140001340); + local_res18 = operator_new(0xb0); + if (local_res18 != (undefined8 *)0x0) { + puVar4 = FUN_140003360(local_res18,ProcessHeaps,HeapInformation,param_4); + } + pWVar6 = (LPCWSTR)&DAT_14015b048; + if (7 < DAT_14015b060) { + pWVar6 = DAT_14015b048; + } + DAT_1401626f8 = puVar4; + FUN_1400034a0(pWVar6,ProcessHeaps,HeapInformation,param_4); + FUN_1400037a0((longlong)DAT_1401626f8,ProcessHeaps,HeapInformation,param_4); + FUN_1400036c0((longlong)DAT_1401626f8); + if (DAT_1401626f8 != (undefined8 *)0x0) { + (**(code **)*DAT_1401626f8)(DAT_1401626f8,1); + } + if (DAT_1401626f0 != (undefined8 *)0x0) { + (**(code **)*DAT_1401626f0)(DAT_1401626f0,1); + } + _set_invalid_parameter_handler(_Handler); + } + FUN_140010080(&local_res20); + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001550.c b/decomp/Agent_Release_x64/full/functions/0x140001550.c new file mode 100644 index 00000000..d400e5d1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001550.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001550 FUN_140001550 + * Pseudocode, not original source. */ + +void FUN_140001550(void) + +{ + undefined8 *puVar1; + + puVar1 = operator_new(0x458); + if (puVar1 != (undefined8 *)0x0) { + puVar1[2] = 0; + *(undefined8 *)((longlong)puVar1 + 0x26) = 0; + puVar1[3] = 0; + *(undefined8 *)((longlong)puVar1 + 0x2e) = 0; + *(undefined4 *)(puVar1 + 4) = 0; + *(undefined4 *)((longlong)puVar1 + 0x36) = 0; + *(undefined2 *)((longlong)puVar1 + 0x24) = 0; + *(undefined2 *)((longlong)puVar1 + 0x3a) = 0; + *puVar1 = CConsoleControl::vftable; + puVar1[1] = 0xffffffffffffffff; + *(undefined4 *)(puVar1 + 0x8a) = 0; + memset((void *)((longlong)puVar1 + 0x3c),0,0x20a); + memset((void *)((longlong)puVar1 + 0x246),0,0x20a); + DAT_1401626f0 = puVar1; + *(undefined2 *)((longlong)puVar1 + 0x454) = 0x17; + return; + } + DAT_1401626f0 = (undefined8 *)0x0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001600.c b/decomp/Agent_Release_x64/full/functions/0x140001600.c new file mode 100644 index 00000000..06527654 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001600.c @@ -0,0 +1,48 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001600 FUN_140001600 + * Pseudocode, not original source. */ + +longlong * FUN_140001600(longlong *param_1,longlong *param_2,ulonglong param_3,ulonglong param_4) + +{ + code *pcVar1; + char cVar2; + longlong *plVar3; + ulonglong uVar4; + + if (param_3 <= (ulonglong)param_2[2]) { + uVar4 = param_2[2] - param_3; + if (param_4 < uVar4) { + uVar4 = param_4; + } + if (param_1 == param_2) { + FUN_1400017d0(param_1,uVar4 + param_3,0xffffffffffffffff); + FUN_1400017d0(param_1,0,param_3); + } + else { + cVar2 = FUN_140001870(param_1,uVar4); + if (cVar2 != '\0') { + if (7 < (ulonglong)param_2[3]) { + param_2 = (longlong *)*param_2; + } + plVar3 = param_1; + if (7 < (ulonglong)param_1[3]) { + plVar3 = (longlong *)*param_1; + } + memcpy(plVar3,(void *)((longlong)param_2 + param_3 * 2),uVar4 * 2); + param_1[2] = uVar4; + plVar3 = param_1; + if (7 < (ulonglong)param_1[3]) { + plVar3 = (longlong *)*param_1; + } + *(undefined2 *)((longlong)plVar3 + uVar4 * 2) = 0; + } + } + return param_1; + } + std::_Xout_of_range("invalid string position"); + pcVar1 = (code *)swi(3); + plVar3 = (longlong *)(*pcVar1)(); + return plVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400016e0.c b/decomp/Agent_Release_x64/full/functions/0x1400016e0.c new file mode 100644 index 00000000..b928bca3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400016e0.c @@ -0,0 +1,51 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400016e0 FUN_1400016e0 + * Pseudocode, not original source. */ + +ulonglong * FUN_1400016e0(ulonglong *param_1,void *param_2,ulonglong param_3) + +{ + ulonglong uVar1; + char cVar2; + ulonglong *puVar3; + + if (param_2 != (void *)0x0) { + uVar1 = param_1[3]; + puVar3 = param_1; + if (7 < uVar1) { + puVar3 = (ulonglong *)*param_1; + } + if (puVar3 <= param_2) { + puVar3 = param_1; + if (7 < uVar1) { + puVar3 = (ulonglong *)*param_1; + } + if (param_2 < (void *)((longlong)puVar3 + param_1[2] * 2)) { + puVar3 = param_1; + if (7 < uVar1) { + puVar3 = (ulonglong *)*param_1; + } + puVar3 = (ulonglong *) + FUN_140001600((longlong *)param_1,(longlong *)param_1, + (longlong)param_2 - (longlong)puVar3 >> 1,param_3); + return puVar3; + } + } + } + cVar2 = FUN_140001870(param_1,param_3); + if (cVar2 != '\0') { + puVar3 = param_1; + if (7 < param_1[3]) { + puVar3 = (ulonglong *)*param_1; + } + memcpy(puVar3,param_2,param_3 * 2); + param_1[2] = param_3; + puVar3 = param_1; + if (7 < param_1[3]) { + puVar3 = (ulonglong *)*param_1; + } + *(undefined2 *)(param_3 * 2 + (longlong)puVar3) = 0; + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400017d0.c b/decomp/Agent_Release_x64/full/functions/0x1400017d0.c new file mode 100644 index 00000000..fc75f4e7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400017d0.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400017d0 FUN_1400017d0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400017d0(undefined8 *param_1,ulonglong param_2,ulonglong param_3) + +{ + longlong lVar1; + code *pcVar2; + undefined8 *puVar3; + undefined8 *puVar4; + ulonglong uVar5; + + if ((ulonglong)param_1[2] < param_2) { + std::_Xout_of_range("invalid string position"); + pcVar2 = (code *)swi(3); + puVar3 = (undefined8 *)(*pcVar2)(); + return puVar3; + } + uVar5 = param_1[2] - param_2; + if (uVar5 < param_3) { + param_3 = uVar5; + } + if (param_3 != 0) { + puVar4 = param_1; + puVar3 = param_1; + if (7 < (ulonglong)param_1[3]) { + puVar4 = (undefined8 *)*param_1; + puVar3 = (undefined8 *)*param_1; + } + memmove((void *)((longlong)puVar4 + param_2 * 2), + (void *)((longlong)puVar3 + (param_2 + param_3) * 2),(uVar5 - param_3) * 2); + lVar1 = param_1[2]; + param_1[2] = lVar1 - param_3; + puVar3 = param_1; + if (7 < (ulonglong)param_1[3]) { + puVar3 = (undefined8 *)*param_1; + } + *(undefined2 *)((longlong)puVar3 + (lVar1 - param_3) * 2) = 0; + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001870.c b/decomp/Agent_Release_x64/full/functions/0x140001870.c new file mode 100644 index 00000000..8f38d859 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001870.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001870 FUN_140001870 + * Pseudocode, not original source. */ + +undefined1 FUN_140001870(undefined8 *param_1,ulonglong param_2) + +{ + code *pcVar1; + undefined1 uVar2; + + if (0x7ffffffffffffffe < param_2) { + std::_Xlength_error("string too long"); + pcVar1 = (code *)swi(3); + uVar2 = (*pcVar1)(); + return uVar2; + } + if ((ulonglong)param_1[3] < param_2) { + FUN_1400018f0(param_1,param_2,param_1[2]); + return param_2 != 0; + } + if (param_2 == 0) { + param_1[2] = 0; + if (7 < (ulonglong)param_1[3]) { + param_1 = (undefined8 *)*param_1; + } + *(undefined2 *)param_1 = 0; + } + return param_2 != 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400018f0.c b/decomp/Agent_Release_x64/full/functions/0x1400018f0.c new file mode 100644 index 00000000..b1714b35 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400018f0.c @@ -0,0 +1,55 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400018f0 FUN_1400018f0 + * Pseudocode, not original source. */ + +void FUN_1400018f0(undefined8 *param_1,ulonglong param_2,longlong param_3) + +{ + ulonglong uVar1; + undefined8 *_Dst; + ulonglong uVar2; + undefined8 *_Src; + ulonglong uVar3; + char *local_res20; + undefined **local_40 [3]; + + uVar3 = param_2 | 7; + if (uVar3 < 0x7fffffffffffffff) { + uVar1 = param_1[3]; + uVar2 = uVar1 >> 1; + param_2 = uVar3; + if ((uVar3 / 3 < uVar2) && (param_2 = uVar2 + uVar1, 0x7ffffffffffffffe - uVar2 < uVar1)) { + param_2 = 0x7ffffffffffffffe; + } + } + uVar3 = param_2 + 1; + _Dst = (undefined8 *)0x0; + if ((uVar3 != 0) && + ((0x7fffffffffffffff < uVar3 || (_Dst = operator_new(uVar3 * 2), _Dst == (undefined8 *)0x0)))) + { + local_res20 = (char *)0x0; + std::exception::exception((exception *)local_40,&local_res20); + local_40[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_40,(ThrowInfo *)&DAT_140151ad0); + } + if (param_3 != 0) { + _Src = param_1; + if (7 < (ulonglong)param_1[3]) { + _Src = (undefined8 *)*param_1; + } + memcpy(_Dst,_Src,param_3 * 2); + } + if (7 < (ulonglong)param_1[3]) { + operator_delete((void *)*param_1); + } + *param_1 = _Dst; + param_1[3] = param_2; + param_1[2] = param_3; + if (7 < param_2) { + param_1 = _Dst; + } + *(undefined2 *)((longlong)param_1 + param_3 * 2) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001a50.c b/decomp/Agent_Release_x64/full/functions/0x140001a50.c new file mode 100644 index 00000000..3d14f0c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001a50.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001a50 FUN_140001a50 + * Pseudocode, not original source. */ + +void * FUN_140001a50(ulonglong param_1) + +{ + void *pvVar1; + char *local_res8 [4]; + undefined **local_28 [5]; + + if (param_1 == 0) { + return (void *)0x0; + } + if ((param_1 < 0x8000000000000000) && (pvVar1 = operator_new(param_1 * 2), pvVar1 != (void *)0x0)) + { + return pvVar1; + } + local_res8[0] = (char *)0x0; + std::exception::exception((exception *)local_28,local_res8); + local_28[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_28,(ThrowInfo *)&DAT_140151ad0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001ac0.c b/decomp/Agent_Release_x64/full/functions/0x140001ac0.c new file mode 100644 index 00000000..73e46131 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001ac0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001ac0 FUN_140001ac0 + * Pseudocode, not original source. */ + +void FUN_140001ac0(wchar_t *param_1,wchar_t *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 local_res18; + undefined8 local_res20; + + local_res18 = param_3; + local_res20 = param_4; + vswprintf_s(param_1,0x104,param_2,(va_list)&local_res18); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001af0.c b/decomp/Agent_Release_x64/full/functions/0x140001af0.c new file mode 100644 index 00000000..6bf1f33c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001af0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001af0 FUN_140001af0 + * Pseudocode, not original source. */ + +void FUN_140001af0(wchar_t *param_1,wchar_t *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 local_res18; + undefined8 local_res20; + + local_res18 = param_3; + local_res20 = param_4; + vswprintf_s(param_1,0x105,param_2,(va_list)&local_res18); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001b20.c b/decomp/Agent_Release_x64/full/functions/0x140001b20.c new file mode 100644 index 00000000..82c2447f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001b20.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001b20 FUN_140001b20 + * Pseudocode, not original source. */ + +exception * FUN_140001b20(exception *param_1,exception *param_2) + +{ + std::exception::exception(param_1,param_2); + *(undefined ***)param_1 = std::bad_alloc::vftable; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001b50.c b/decomp/Agent_Release_x64/full/functions/0x140001b50.c new file mode 100644 index 00000000..b8e4b569 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001b50.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001b50 FUN_140001b50 + * Pseudocode, not original source. */ + +undefined8 * FUN_140001b50(undefined8 *param_1,uint param_2) + +{ + *param_1 = MagiServerBase::vftable; + if ((void *)param_1[2] != (void *)0x0) { + operator_delete((void *)param_1[2]); + } + param_1[2] = 0; + param_1[3] = 0; + param_1[4] = 0; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001bb0.c b/decomp/Agent_Release_x64/full/functions/0x140001bb0.c new file mode 100644 index 00000000..3e0805f9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001bb0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001bb0 FUN_140001bb0 + * Pseudocode, not original source. */ + +void FUN_140001bb0(undefined8 *param_1) + +{ + *param_1 = MagiServerBase::vftable; + if ((void *)param_1[2] != (void *)0x0) { + operator_delete((void *)param_1[2]); + } + param_1[2] = 0; + param_1[3] = 0; + param_1[4] = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001bf0.c b/decomp/Agent_Release_x64/full/functions/0x140001bf0.c new file mode 100644 index 00000000..b98128ce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001bf0.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001bf0 FUN_140001bf0 + * Pseudocode, not original source. */ + +void FUN_140001bf0(longlong param_1) + +{ + FUN_140001ce0(param_1,0x15); + FUN_140001ce0(param_1,0xd); + FUN_140001ce0(param_1,0xc); + FUN_140001ce0(param_1,0x11); + FUN_140001ce0(param_1,0x12); + FUN_140001ce0(param_1,0x13); + FUN_140001ce0(param_1,10); + FUN_140001ce0(param_1,6); + FUN_140001ce0(param_1,0xb); + FUN_140001ce0(param_1,9); + FUN_140001ce0(param_1,7); + FUN_140001ce0(param_1,8); + FUN_140001ce0(param_1,5); + FUN_140001ce0(param_1,1); + FUN_140001ce0(param_1,2); + FUN_140001ce0(param_1,3); + /* WARNING: Could not recover jumptable at 0x000140001cd2. Too many branches */ + /* WARNING: Treating indirect jump as call */ + wprintf(L"\n------------------------------------------------------------------------------\n"); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001ce0.c b/decomp/Agent_Release_x64/full/functions/0x140001ce0.c new file mode 100644 index 00000000..f96a2fda --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001ce0.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001ce0 FUN_140001ce0 + * Pseudocode, not original source. */ + +void FUN_140001ce0(longlong param_1,uint param_2) + +{ + int iVar1; + longlong *plVar2; + ulonglong uVar3; + ulonglong uVar4; + ulonglong uVar5; + longlong lVar6; + ulonglong uVar7; + + uVar3 = 0; + iVar1 = (int)(*(longlong *)(param_1 + 0x18) - *(longlong *)(param_1 + 0x10) >> 3); + if (0 < iVar1) { + plVar2 = *(longlong **)(param_1 + 0x10); + uVar4 = uVar3; + uVar5 = uVar3; + lVar6 = (longlong)iVar1; + uVar7 = uVar3; + do { + if ((*plVar2 != 0) && (*(byte *)(*plVar2 + 0x40) == param_2)) { + uVar5 = (ulonglong)((int)uVar5 + 1); + uVar7 = uVar4; + } + uVar4 = (ulonglong)((int)uVar4 + 1); + plVar2 = plVar2 + 1; + lVar6 = lVar6 + -1; + } while (lVar6 != 0); + if ((int)uVar5 != 0) { + uVar4 = uVar3; + if ((int)uVar5 < 2) { + FUN_1400026f0((*(longlong **)(param_1 + 0x10))[(int)uVar7],-1); + } + else { + do { + if ((*(longlong *)(*(longlong *)(param_1 + 0x10) + uVar3 * 8) != 0) && + (lVar6 = *(longlong *)(*(longlong *)(param_1 + 0x10) + uVar3 * 8), + *(byte *)(lVar6 + 0x40) == param_2)) { + FUN_1400026f0(lVar6,(int)uVar4); + uVar4 = (ulonglong)((int)uVar4 + 1); + } + uVar3 = uVar3 + 1; + } while ((longlong)uVar3 < (longlong)iVar1); + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001dc0.c b/decomp/Agent_Release_x64/full/functions/0x140001dc0.c new file mode 100644 index 00000000..277b9e09 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001dc0.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001dc0 FUN_140001dc0 + * Pseudocode, not original source. */ + +void FUN_140001dc0(longlong param_1) + +{ + longlong lVar1; + bool bVar2; + undefined4 local_res8 [8]; + + bVar2 = DAT_140162cc0 != 0; + local_res8[0] = 5; + *(undefined4 *)(param_1 + 8) = 5; + if (bVar2) { + printf("********************************\n"); + timeGetTime(); + printf("** Server Load Time : %d sec\n"); + printf("********************************\n"); + } + printf("STEP : SERVER_RUN \n"); + lVar1 = *(longlong *)(param_1 + 0x30); + if ((lVar1 != 0) && (*(char *)(lVar1 + 0x1a) != '\0')) { + (**(code **)(*(longlong *)(lVar1 + 0x68) + 0xb0))(lVar1 + 0x68,1,&DAT_1401555d0,local_res8); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001e70.c b/decomp/Agent_Release_x64/full/functions/0x140001e70.c new file mode 100644 index 00000000..dc3790b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001e70.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001e70 FUN_140001e70 + * Pseudocode, not original source. */ + +void FUN_140001e70(longlong *param_1) + +{ + code *pcVar1; + ulonglong uVar2; + ulonglong uVar3; + + uVar3 = param_1[1] - *param_1 >> 3; + if (0x1ffffffffffffffe < uVar3) { + std::_Xlength_error("vector too long"); + pcVar1 = (code *)swi(3); + (*pcVar1)(); + return; + } + uVar3 = uVar3 + 1; + uVar2 = param_1[2] - *param_1 >> 3; + if (uVar2 < uVar3) { + if (0x1fffffffffffffff - (uVar2 >> 1) < uVar2) { + uVar2 = 0; + if (uVar3 != 0) { + uVar2 = uVar3; + } + FUN_140001f00(param_1,uVar2); + return; + } + uVar2 = uVar2 + (uVar2 >> 1); + if (uVar2 < uVar3) { + uVar2 = uVar3; + } + FUN_140001f00(param_1,uVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140001f00.c b/decomp/Agent_Release_x64/full/functions/0x140001f00.c new file mode 100644 index 00000000..c6863031 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140001f00.c @@ -0,0 +1,45 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140001f00 FUN_140001f00 + * Pseudocode, not original source. */ + +void FUN_140001f00(longlong *param_1,ulonglong param_2) + +{ + void *pvVar1; + longlong lVar2; + code *pcVar3; + char *pcVar4; + char *local_res10; + undefined **local_20 [3]; + + if (0x1fffffffffffffff < param_2) { + std::_Xlength_error("vector too long"); + pcVar3 = (code *)swi(3); + (*pcVar3)(); + return; + } + if ((ulonglong)(param_1[2] - *param_1 >> 3) < param_2) { + local_res10 = (char *)0x0; + if (param_2 != 0) { + local_res10 = operator_new(param_2 * 8); + if (local_res10 == (char *)0x0) { + std::exception::exception((exception *)local_20,&local_res10); + local_20[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_20,(ThrowInfo *)&DAT_140151ad0); + } + } + pcVar4 = local_res10; + memmove(local_res10,(void *)*param_1,param_1[1] - *param_1 & 0xfffffffffffffff8); + pvVar1 = (void *)*param_1; + lVar2 = param_1[1]; + if (pvVar1 != (void *)0x0) { + operator_delete(pvVar1); + } + param_1[2] = (longlong)(pcVar4 + param_2 * 8); + param_1[1] = (longlong)(pcVar4 + (lVar2 - (longlong)pvVar1 >> 3) * 8); + *param_1 = (longlong)pcVar4; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140002010.c b/decomp/Agent_Release_x64/full/functions/0x140002010.c new file mode 100644 index 00000000..5c152938 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140002010.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140002010 FUN_140002010 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140002010(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + *(undefined2 *)(param_1 + 1) = 0; + *param_1 = MagiCommonSession::vftable; + param_1[2] = 0; + *(undefined4 *)(param_1 + 3) = 0x1000001; + *(undefined1 *)((longlong)param_1 + 0x1c) = 1; + param_1[4] = 0; + param_1[5] = 0x4008000000000000; + FUN_140030200(param_1,param_2,param_3,param_4); + param_1[6] = PTR_DAT_140155010; + *(undefined8 *)((longlong)param_1 + 0x3c) = 0; + if ((DAT_14016319c & 1) == 0) { + DAT_14016319c = DAT_14016319c | 1; + FUN_1400de360(); + atexit((_func_5014 *)&LAB_1400f13a0); + } + if (DAT_140162f60 == 1000) { + *(undefined1 *)((longlong)param_1 + 0x1c) = 0; + param_1[5] = 0x4024000000000000; + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400020d0.c b/decomp/Agent_Release_x64/full/functions/0x1400020d0.c new file mode 100644 index 00000000..196198aa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400020d0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400020d0 FUN_1400020d0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400020d0(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = MagiCommonSession::vftable; + FUN_140003240(param_1 + 6,param_2,param_3,param_4); + *param_1 = Proud::INetClientEvent::vftable; + FUN_14003b5c0(param_1); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140002130.c b/decomp/Agent_Release_x64/full/functions/0x140002130.c new file mode 100644 index 00000000..0aa1b362 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140002130.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140002130 FUN_140002130 + * Pseudocode, not original source. */ + +void FUN_140002130(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = MagiCommonSession::vftable; + FUN_140003240(param_1 + 6,param_2,param_3,param_4); + *param_1 = Proud::INetClientEvent::vftable; + FUN_14003b5c0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140002180.c b/decomp/Agent_Release_x64/full/functions/0x140002180.c new file mode 100644 index 00000000..818b966d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140002180.c @@ -0,0 +1,108 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140002180 FUN_140002180 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_140002180(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + char cVar1; + undefined *puVar2; + int *piVar3; + int *piVar4; + undefined **ppuVar5; + int *piVar6; + undefined8 *puVar7; + undefined *puVar8; + undefined1 auStack_b8 [32]; + int *local_98; + undefined1 local_90; + int *local_88; + undefined1 local_80; + undefined8 local_78; + undefined *local_68; + undefined2 local_60; + undefined4 local_5c; + undefined4 local_58; + undefined4 local_54; + undefined4 local_50; + undefined8 local_48 [6]; + ulonglong local_18; + + local_78 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_b8; + puVar2 = *(undefined **)(param_1 + 0x30); + if ((((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140155010)) && + (0 < *(int *)(puVar2 + -8))) && + (((*(char *)(param_1 + 0x18) != '\0' && (*(char *)(param_1 + 0x19) == '\0')) && + ((*(char *)(param_1 + 0x1a) == '\0' && (*(longlong *)(param_1 + 0x10) != 0)))))) { + *(undefined2 *)(param_1 + 0x19) = 1; + ppuVar5 = &local_68; + FUN_14003b600(ppuVar5,param_2,param_3,param_4); + local_5c = DAT_140162d38; + local_58 = _DAT_140162d3c; + local_54 = _DAT_140162d40; + local_50 = _DAT_140162d44; + if (local_68 == (undefined *)0x0) { + local_68 = PTR_DAT_140155010; + } + if (*(undefined **)(param_1 + 0x30) != local_68) { + piVar3 = (int *)FUN_140030200(ppuVar5,param_2,param_3,param_4); + piVar6 = piVar3; + local_88 = piVar3; + FUN_14002e6e0(piVar3); + puVar2 = local_68; + local_80 = 1; + if (((local_68 != (undefined *)0x0) && (local_68 != PTR_DAT_140155010)) && + (puVar8 = local_68 + -8, puVar8 != (undefined *)0x0)) { + piVar4 = (int *)FUN_140030200(piVar6,param_2,param_3,param_4); + local_98 = piVar4; + FUN_14002e6e0(piVar4); + local_90 = 1; + piVar6 = (int *)(puVar2 + -4); + *piVar6 = *piVar6 + -1; + if (*piVar6 == 0) { + FUN_1400302f0(puVar8); + } + FUN_14002e770((longlong)piVar4); + } + local_68 = *(undefined **)(param_1 + 0x30); + if (((local_68 != PTR_DAT_140155010) && (local_68 != (undefined *)0x0)) && + (local_68 != (undefined *)0x8)) { + *(int *)(local_68 + -4) = *(int *)(local_68 + -4) + 1; + } + FUN_14002e770((longlong)piVar3); + } + local_60 = *(undefined2 *)(param_1 + 0x38); + (**(code **)(**(longlong **)(param_1 + 0x10) + 0x88))(); + ppuVar5 = &local_68; + (**(code **)(**(longlong **)(param_1 + 0x10) + 0x78))(); + cVar1 = *(char *)(param_1 + 0x19); + while (cVar1 != '\0') { + Sleep(10); + ppuVar5 = (undefined **)0x0; + (**(code **)(**(longlong **)(param_1 + 0x10) + 0x98))(); + cVar1 = *(char *)(param_1 + 0x19); + } + puVar7 = local_48; + FUN_14003b870(puVar7); + puVar2 = local_68; + if (((local_68 != (undefined *)0x0) && (local_68 != PTR_DAT_140155010)) && + (puVar8 = local_68 + -8, puVar8 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(puVar7,ppuVar5,param_3,param_4); + local_98 = piVar3; + FUN_14002e6e0(piVar3); + local_90 = 1; + piVar6 = (int *)(puVar2 + -4); + *piVar6 = *piVar6 + -1; + if (*piVar6 == 0) { + FUN_1400302f0(puVar8); + } + FUN_14002e770((longlong)piVar3); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400023b0.c b/decomp/Agent_Release_x64/full/functions/0x1400023b0.c new file mode 100644 index 00000000..14f783fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400023b0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400023b0 FUN_1400023b0 + * Pseudocode, not original source. */ + +void FUN_1400023b0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14003b870(param_1 + 4); + FUN_140003240(param_1,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400023e0.c b/decomp/Agent_Release_x64/full/functions/0x1400023e0.c new file mode 100644 index 00000000..4e0a5415 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400023e0.c @@ -0,0 +1,55 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400023e0 FUN_1400023e0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400023e0(longlong param_1) + +{ + undefined2 *puVar1; + undefined *puVar2; + ulonglong uVar3; + undefined1 auStack_68 [32]; + undefined8 local_48; + undefined2 local_40; + undefined6 uStack_3e; + undefined8 local_30; + ulonglong local_28; + ulonglong local_18; + + local_48 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_68; + puVar2 = *(undefined **)(param_1 + 0x30); + if ((((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140155010)) && + (0 < *(int *)(puVar2 + -8))) && (*(char *)(param_1 + 0x18) != '\0')) { + if (*(char *)(param_1 + 0x1b) == '\0') { + if ((*(char *)(param_1 + 0x1a) != '\0') && (*(longlong *)(param_1 + 0x10) != 0)) { + (**(code **)(**(longlong **)(param_1 + 0x10) + 0x98))(*(longlong **)(param_1 + 0x10),0); + } + } + else if (*(char *)(param_1 + 0x1c) != '\0') { + Sleep((DWORD)(longlong)*(double *)(param_1 + 0x28)); + local_28 = 7; + local_30 = 0; + local_40 = 0; + FUN_140002990(param_1,(ulonglong *)&local_40); + puVar2 = *(undefined **)(param_1 + 0x30); + if (*(undefined **)(param_1 + 0x30) == (undefined *)0x0) { + puVar2 = PTR_DAT_140155010; + } + puVar1 = &local_40; + if (7 < local_28) { + puVar1 = (undefined2 *)CONCAT62(uStack_3e,local_40); + } + uVar3 = (ulonglong)*(ushort *)(param_1 + 0x38); + wprintf(L"%s : RETRY CONNECT : IP[ %s ] PORT[ %d ]\n"); + FUN_140002180(param_1,puVar1,puVar2,uVar3); + if (7 < local_28) { + operator_delete((void *)CONCAT62(uStack_3e,local_40)); + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400024f0.c b/decomp/Agent_Release_x64/full/functions/0x1400024f0.c new file mode 100644 index 00000000..0611dc88 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400024f0.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400024f0 FUN_1400024f0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400024f0(longlong param_1,double param_2) + +{ + longlong *plVar1; + undefined2 *puVar2; + undefined *puVar3; + ulonglong uVar4; + double dVar5; + undefined1 auStack_68 [32]; + undefined8 local_48; + undefined2 local_40; + undefined6 uStack_3e; + undefined8 local_30; + ulonglong local_28; + ulonglong local_18; + + local_48 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_68; + puVar3 = *(undefined **)(param_1 + 0x30); + if (((puVar3 != (undefined *)0x0) && (puVar3 != PTR_DAT_140155010)) && (0 < *(int *)(puVar3 + -8)) + ) { + if (*(char *)(param_1 + 0x18) == '\0') { + if (*(char *)(param_1 + 0x1a) != '\0') { + plVar1 = *(longlong **)(param_1 + 0x10); + if (plVar1 != (longlong *)0x0) { + (**(code **)(*plVar1 + 0x98))(plVar1,0); + } + Sleep(100); + } + } + else if (*(char *)(param_1 + 0x1b) == '\0') { + if ((*(char *)(param_1 + 0x1a) != '\0') && + (plVar1 = *(longlong **)(param_1 + 0x10), plVar1 != (longlong *)0x0)) { + (**(code **)(*plVar1 + 0x98))(plVar1,0); + } + } + else { + dVar5 = param_2 - *(double *)(param_1 + 0x20); + if ((*(double *)(param_1 + 0x28) <= dVar5 && dVar5 != *(double *)(param_1 + 0x28)) && + (*(double *)(param_1 + 0x20) = param_2, *(char *)(param_1 + 0x1c) != '\0')) { + local_28 = 7; + local_30 = 0; + local_40 = 0; + FUN_140002990(param_1,(ulonglong *)&local_40); + puVar3 = *(undefined **)(param_1 + 0x30); + if (*(undefined **)(param_1 + 0x30) == (undefined *)0x0) { + puVar3 = PTR_DAT_140155010; + } + puVar2 = &local_40; + if (7 < local_28) { + puVar2 = (undefined2 *)CONCAT62(uStack_3e,local_40); + } + uVar4 = (ulonglong)*(ushort *)(param_1 + 0x38); + wprintf(L"%s : RETRY CONNECT : ADDRESS[ %s ] PORT[ %d ]\n"); + FUN_140002180(param_1,puVar2,puVar3,uVar4); + if (7 < local_28) { + operator_delete((void *)CONCAT62(uStack_3e,local_40)); + } + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140002640.c b/decomp/Agent_Release_x64/full/functions/0x140002640.c new file mode 100644 index 00000000..579599b1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140002640.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140002640 FUN_140002640 + * Pseudocode, not original source. */ + +void FUN_140002640(longlong param_1,undefined4 *param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + undefined *puVar2; + undefined **ppuVar3; + short *psVar4; + ulonglong uVar5; + undefined *local_res8; + undefined **local_res10; + + psVar4 = (short *)(param_2 + 0xc); + if (7 < *(ulonglong *)(param_2 + 0x12)) { + psVar4 = *(short **)psVar4; + } + FUN_140030200(param_1,param_2,param_3,param_4); + local_res8 = PTR_DAT_140155010; + uVar1 = FUN_140030080(psVar4); + puVar2 = FUN_140002f90((longlong *)&local_res8,uVar1); + uVar5 = (ulonglong)uVar1; + FUN_1400300b0(puVar2,psVar4,uVar1); + FUN_140003070((longlong *)&local_res8); + local_res10 = &local_res8; + ppuVar3 = &local_res8; + FUN_140003170((longlong *)(param_1 + 0x30),(longlong *)ppuVar3,uVar5,param_4); + FUN_140003240((longlong *)&local_res8,ppuVar3,uVar5,param_4); + *(undefined2 *)(param_1 + 0x38) = *(undefined2 *)(param_2 + 1); + *(undefined4 *)(param_1 + 0x3c) = *param_2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400026f0.c b/decomp/Agent_Release_x64/full/functions/0x1400026f0.c new file mode 100644 index 00000000..04e5fed6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400026f0.c @@ -0,0 +1,131 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400026f0 FUN_1400026f0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +void FUN_1400026f0(longlong param_1,int param_2) + +{ + ulonglong uVar1; + code *pcVar2; + undefined2 *puVar3; + undefined2 *puVar4; + wchar_t *pwVar5; + ulonglong uVar6; + undefined1 auStack_e8 [32]; + uint local_c8; + uint local_c0; + undefined8 local_b8; + ulonglong local_b0 [2]; + ulonglong local_a0; + ulonglong local_98; + undefined2 local_88; + undefined6 uStack_86; + undefined8 local_78; + ulonglong local_70; + ulonglong local_60 [2]; + ulonglong local_50; + ulonglong local_48; + ulonglong local_38; + + local_b8 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_e8; + local_48 = 7; + local_50 = 0; + local_60[0]._0_2_ = 0; + local_70 = 7; + local_78 = 0; + local_88 = 0; + local_98 = 7; + local_a0 = 0; + local_b0[0]._0_2_ = 0; + FUN_140002990(param_1,local_60); + uVar6 = 0xffffffffffffffff; + if (local_50 != 0xffffffffffffffff) { + uVar6 = local_50; + } + if (-local_a0 - 1 <= uVar6) { + std::_Xlength_error("string too long"); + pcVar2 = (code *)swi(3); + (*pcVar2)(); + return; + } + if (uVar6 != 0) { + uVar1 = local_a0 + uVar6; + if (0x7ffffffffffffffe < uVar1) { + std::_Xlength_error("string too long"); + pcVar2 = (code *)swi(3); + (*pcVar2)(); + return; + } + if (local_98 < uVar1) { + FUN_1400018f0(local_b0,uVar1,local_a0); + } + else if (uVar1 == 0) { + local_a0 = 0; + puVar4 = (undefined2 *)local_b0; + if (7 < local_98) { + puVar4 = (undefined2 *)CONCAT62(local_b0[0]._2_6_,(undefined2)local_b0[0]); + } + *puVar4 = 0; + } + if (uVar1 != 0) { + puVar4 = (undefined2 *)local_60; + if (7 < local_48) { + puVar4 = (undefined2 *)CONCAT62(local_60[0]._2_6_,(undefined2)local_60[0]); + } + puVar3 = (undefined2 *)local_b0; + if (7 < local_98) { + puVar3 = (undefined2 *)CONCAT62(local_b0[0]._2_6_,(undefined2)local_b0[0]); + } + memcpy(puVar3 + local_a0,puVar4,uVar6 * 2); + puVar4 = (undefined2 *)local_b0; + if (7 < local_98) { + puVar4 = (undefined2 *)CONCAT62(local_b0[0]._2_6_,(undefined2)local_b0[0]); + } + local_a0 = uVar1; + puVar4[uVar1] = 0; + } + } + FUN_140002bc0(local_b0,9); + if (*(char *)(param_1 + 0x18) == '\0') { + uVar6 = 10; + pwVar5 = L"[ DisUse ]"; + } + else { + uVar6 = 7; + pwVar5 = L"[ Use ]"; + } + FUN_1400016e0((ulonglong *)&local_88,pwVar5,uVar6); + if (param_2 < 1) { + wprintf(L"\n-%s %s---------------------------------------------------------\n"); + } + local_c8 = *(uint *)(param_1 + 0x3c); + if (param_2 == -1) { + wprintf(L"Session S[ %d ] : ADDRESS[ %s ] PORT[ %d ] CODE[ %d ]\n"); + } + else { + local_c0 = local_c8; + local_c8 = (uint)*(ushort *)(param_1 + 0x38); + wprintf(L"Session [%d] S[ %d ] : ADDRESS[ %s ] PORT[ %d ] CODE[ %d ]\n"); + } + if (7 < local_98) { + operator_delete((void *)CONCAT62(local_b0[0]._2_6_,(undefined2)local_b0[0])); + } + local_98 = 7; + local_a0 = 0; + local_b0[0]._0_2_ = 0; + if (7 < local_70) { + operator_delete((void *)CONCAT62(uStack_86,local_88)); + } + local_70 = 7; + local_78 = 0; + local_88 = 0; + if (7 < local_48) { + operator_delete((void *)CONCAT62(local_60[0]._2_6_,(undefined2)local_60[0])); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140002990.c b/decomp/Agent_Release_x64/full/functions/0x140002990.c new file mode 100644 index 00000000..8a0b2f1f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140002990.c @@ -0,0 +1,71 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140002990 FUN_140002990 + * Pseudocode, not original source. */ + +void FUN_140002990(longlong param_1,ulonglong *param_2) + +{ + wchar_t *pwVar1; + + switch(*(undefined1 *)(param_1 + 0x40)) { + case 1: + FUN_1400016e0(param_2,L"Lobby",5); + return; + case 2: + FUN_1400016e0(param_2,L"Dungeon",7); + return; + case 3: + FUN_1400016e0(param_2,&DAT_14011b3f0,3); + return; + case 4: + FUN_1400016e0(param_2,&DAT_14011b3f8,3); + return; + case 5: + FUN_1400016e0(param_2,L"Guild",5); + return; + case 6: + FUN_1400016e0(param_2,L"Message",7); + return; + case 7: + FUN_1400016e0(param_2,&DAT_14011b420,2); + return; + case 8: + FUN_1400016e0(param_2,L"Gate",4); + return; + case 9: + FUN_1400016e0(param_2,L"Manager",7); + return; + case 10: + FUN_1400016e0(param_2,L"Auction",7); + return; + case 0xb: + FUN_1400016e0(param_2,L"Match",5); + return; + case 0xc: + pwVar1 = L"DBC_GAME"; + break; + case 0xd: + FUN_1400016e0(param_2,L"Agent",5); + return; + default: + goto switchD_1400029b9_caseD_d; + case 0x11: + FUN_1400016e0(param_2,L"DBC_LOG",7); + return; + case 0x12: + pwVar1 = L"DBC_CHAT"; + break; + case 0x13: + FUN_1400016e0(param_2,L"DBC_EMERGENCY",0xd); + return; + case 0x15: + FUN_1400016e0(param_2,L"Agentmanager",0xc); + return; + case 0x16: + pwVar1 = L"MiniGame"; + } + FUN_1400016e0(param_2,pwVar1,8); +switchD_1400029b9_caseD_d: + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140002bc0.c b/decomp/Agent_Release_x64/full/functions/0x140002bc0.c new file mode 100644 index 00000000..972ae69b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140002bc0.c @@ -0,0 +1,59 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140002bc0 FUN_140002bc0 + * Pseudocode, not original source. */ + +ulonglong * FUN_140002bc0(ulonglong *param_1,ulonglong param_2) + +{ + ulonglong uVar1; + code *pcVar2; + char cVar3; + ulonglong *puVar4; + + uVar1 = param_1[3]; + puVar4 = param_1; + if (7 < uVar1) { + puVar4 = (ulonglong *)*param_1; + } + if (puVar4 < (ulonglong *)((longlong)L" Sessoion" + 1U)) { + puVar4 = param_1; + if (7 < uVar1) { + puVar4 = (ulonglong *)*param_1; + } + if (L" Sessoion" < (wchar_t *)((longlong)puVar4 + param_1[2] * 2)) { + puVar4 = param_1; + if (7 < uVar1) { + puVar4 = (ulonglong *)*param_1; + } + puVar4 = (ulonglong *) + FUN_140002cd0((longlong *)param_1,param_1, + (longlong)L" Sessoion" - (longlong)puVar4 >> 1,param_2); + return puVar4; + } + } + if (param_2 < -param_1[2] - 1) { + if (param_2 != 0) { + uVar1 = param_1[2] + param_2; + cVar3 = FUN_140001870(param_1,uVar1); + if (cVar3 != '\0') { + puVar4 = param_1; + if (7 < param_1[3]) { + puVar4 = (ulonglong *)*param_1; + } + memcpy((void *)((longlong)puVar4 + param_1[2] * 2),L" Sessoion",param_2 * 2); + param_1[2] = uVar1; + puVar4 = param_1; + if (7 < param_1[3]) { + puVar4 = (ulonglong *)*param_1; + } + *(undefined2 *)((longlong)puVar4 + uVar1 * 2) = 0; + } + } + return param_1; + } + std::_Xlength_error("string too long"); + pcVar2 = (code *)swi(3); + puVar4 = (ulonglong *)(*pcVar2)(); + return puVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140002cd0.c b/decomp/Agent_Release_x64/full/functions/0x140002cd0.c new file mode 100644 index 00000000..443cc8dd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140002cd0.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140002cd0 FUN_140002cd0 + * Pseudocode, not original source. */ + +longlong * FUN_140002cd0(longlong *param_1,undefined8 *param_2,ulonglong param_3,ulonglong param_4) + +{ + code *pcVar1; + char cVar2; + longlong *plVar3; + ulonglong uVar4; + + if ((ulonglong)param_2[2] < param_3) { + std::_Xout_of_range("invalid string position"); + pcVar1 = (code *)swi(3); + plVar3 = (longlong *)(*pcVar1)(); + return plVar3; + } + uVar4 = param_2[2] - param_3; + if (uVar4 < param_4) { + param_4 = uVar4; + } + if (param_4 < -param_1[2] - 1U) { + if (param_4 != 0) { + uVar4 = param_1[2] + param_4; + cVar2 = FUN_140001870(param_1,uVar4); + if (cVar2 != '\0') { + if (7 < (ulonglong)param_2[3]) { + param_2 = (undefined8 *)*param_2; + } + plVar3 = param_1; + if (7 < (ulonglong)param_1[3]) { + plVar3 = (longlong *)*param_1; + } + memcpy((void *)((longlong)plVar3 + param_1[2] * 2),(void *)((longlong)param_2 + param_3 * 2) + ,param_4 * 2); + param_1[2] = uVar4; + plVar3 = param_1; + if (7 < (ulonglong)param_1[3]) { + plVar3 = (longlong *)*param_1; + } + *(undefined2 *)((longlong)plVar3 + uVar4 * 2) = 0; + } + } + return param_1; + } + std::_Xlength_error("string too long"); + pcVar1 = (code *)swi(3); + plVar3 = (longlong *)(*pcVar1)(); + return plVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140002dc0.c b/decomp/Agent_Release_x64/full/functions/0x140002dc0.c new file mode 100644 index 00000000..b0b2774e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140002dc0.c @@ -0,0 +1,76 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140002dc0 FUN_140002dc0 + * Pseudocode, not original source. */ + +void FUN_140002dc0(longlong *param_1,int param_2) + +{ + undefined *puVar1; + int *piVar2; + int iVar3; + undefined4 in_register_00000014; + undefined *puVar4; + undefined8 in_R8; + ulonglong uVar5; + undefined8 in_R9; + + puVar4 = PTR_DAT_140155010; + puVar1 = (undefined *)*param_1; + if ((undefined *)*param_1 == (undefined *)0x0) { + puVar1 = PTR_DAT_140155010; + } + *param_1 = (longlong)puVar1; + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 == 0) { + FUN_140003240(param_1,CONCAT44(in_register_00000014,param_2),in_R8,in_R9); + return; + } + iVar3 = 0; + if (puVar1 != (undefined *)0x0) { + if (puVar1 == puVar4) { + iVar3 = 0; + } + else { + iVar3 = *(int *)(puVar1 + -8); + } + } + if (param_2 != iVar3) { + piVar2 = (int *)FUN_140030280((longlong)param_2 * 2 + 10); + if (piVar2 != (int *)0x0) { + *piVar2 = 0; + piVar2[1] = 1; + } + puVar1 = PTR_DAT_140155010; + *piVar2 = param_2; + puVar4 = (undefined *)*param_1; + if (puVar4 == (undefined *)0x0) { + iVar3 = 0; + } + else if (puVar4 == puVar1) { + iVar3 = 0; + } + else { + iVar3 = *(int *)(puVar4 + -8); + } + if (iVar3 <= param_2) { + if ((puVar4 == (undefined *)0x0) || (puVar4 == puVar1)) { + param_2 = 0; + } + else { + param_2 = *(int *)(puVar4 + -8); + } + } + if (puVar4 == (undefined *)0x0) { + puVar4 = puVar1; + } + uVar5 = (ulonglong)(uint)param_2; + FUN_1400300b0(piVar2 + 2,puVar4,param_2); + FUN_140003240(param_1,puVar4,uVar5,in_R9); + *param_1 = (longlong)(piVar2 + 2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140002ea0.c b/decomp/Agent_Release_x64/full/functions/0x140002ea0.c new file mode 100644 index 00000000..d29f93a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140002ea0.c @@ -0,0 +1,73 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140002ea0 FUN_140002ea0 + * Pseudocode, not original source. */ + +void FUN_140002ea0(longlong *param_1) + +{ + int iVar1; + undefined *puVar2; + undefined8 *puVar3; + uint *puVar4; + uint uVar5; + uint uVar6; + undefined *puVar7; + ulonglong uVar8; + undefined8 in_R9; + + puVar7 = (undefined *)*param_1; + if (puVar7 == (undefined *)0x0) { + *param_1 = (longlong)PTR_DAT_140155010; + } + else if ((puVar7 != PTR_DAT_140155010) && ((int *)(puVar7 + -8) != (int *)0x0)) { + if (*(int *)(puVar7 + -4) < 2) { + return; + } + iVar1 = *(int *)(puVar7 + -8); + if (iVar1 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar4 = (uint *)FUN_140030280((longlong)iVar1 * 2 + 10); + uVar5 = 0; + if (puVar4 != (uint *)0x0) { + *puVar4 = 0; + puVar4[1] = 1; + } + puVar2 = PTR_DAT_140155010; + puVar7 = (undefined *)*param_1; + if (puVar7 == (undefined *)0x0) { + uVar6 = 0; + } + else { + uVar6 = uVar5; + if (puVar7 != PTR_DAT_140155010) { + uVar6 = *(uint *)(puVar7 + -8); + } + } + *puVar4 = uVar6; + puVar7 = (undefined *)*param_1; + if ((puVar7 != (undefined *)0x0) && (puVar7 != puVar2)) { + uVar5 = *(uint *)(puVar7 + -8); + } + if (puVar7 == (undefined *)0x0) { + puVar7 = puVar2; + } + uVar8 = (ulonglong)uVar5; + FUN_1400300b0(puVar4 + 2,puVar7,uVar5); + FUN_140003240(param_1,puVar7,uVar8,in_R9); + *param_1 = (longlong)(puVar4 + 2); + return; + } + puVar3 = (undefined8 *)FUN_140030280(10); + *puVar3 = 0; + *(undefined2 *)(puVar3 + 1) = 0; + if (puVar3 != (undefined8 *)0x0) { + *(undefined4 *)puVar3 = 0; + *(undefined4 *)((longlong)puVar3 + 4) = 1; + } + *(undefined2 *)(puVar3 + 1) = 0; + *param_1 = (longlong)(puVar3 + 1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140002f90.c b/decomp/Agent_Release_x64/full/functions/0x140002f90.c new file mode 100644 index 00000000..8bff86f4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140002f90.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140002f90 FUN_140002f90 + * Pseudocode, not original source. */ + +undefined * FUN_140002f90(longlong *param_1,int param_2) + +{ + int iVar1; + undefined *puVar2; + int iVar3; + + puVar2 = (undefined *)*param_1; + iVar3 = 0; + if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140155010)) { + iVar3 = *(int *)(puVar2 + -8); + } + if (((param_2 <= iVar3) && (param_2 = 0, puVar2 != (undefined *)0x0)) && + (puVar2 != PTR_DAT_140155010)) { + param_2 = *(int *)(puVar2 + -8); + } + iVar3 = 1; + if (1 < param_2) { + iVar3 = param_2; + } + iVar1 = 0; + if ((puVar2 != (undefined *)0x0) && (iVar1 = 0, puVar2 != PTR_DAT_140155010)) { + iVar1 = *(int *)(puVar2 + -8); + } + if (iVar1 < iVar3) { + FUN_140002dc0(param_1,iVar3); + } + FUN_140002ea0(param_1); + puVar2 = (undefined *)*param_1; + if ((undefined *)*param_1 == (undefined *)0x0) { + puVar2 = PTR_DAT_140155010; + } + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140003010.c b/decomp/Agent_Release_x64/full/functions/0x140003010.c new file mode 100644 index 00000000..c78a0cfe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140003010.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140003010 FUN_140003010 + * Pseudocode, not original source. */ + +void FUN_140003010(longlong *param_1,int param_2) + +{ + undefined *puVar1; + int iVar2; + int iVar3; + + puVar1 = (undefined *)*param_1; + iVar3 = 0; + if (0 < param_2) { + iVar3 = param_2; + } + iVar2 = 0; + if ((puVar1 != (undefined *)0x0) && (iVar2 = 0, puVar1 != PTR_DAT_140155010)) { + iVar2 = *(int *)(puVar1 + -8); + } + if ((iVar2 <= iVar3) && (iVar3 = 0, puVar1 != (undefined *)0x0)) { + if (puVar1 == PTR_DAT_140155010) { + return; + } + iVar3 = *(int *)(puVar1 + -8); + } + if (((puVar1 != PTR_DAT_140155010) && (puVar1 != (undefined *)0x0)) && + ((int *)(puVar1 + -8) != (int *)0x0)) { + *(int *)(puVar1 + -8) = iVar3; + *(undefined2 *)(puVar1 + (longlong)iVar3 * 2) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140003070.c b/decomp/Agent_Release_x64/full/functions/0x140003070.c new file mode 100644 index 00000000..264feb3a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140003070.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140003070 FUN_140003070 + * Pseudocode, not original source. */ + +void FUN_140003070(longlong *param_1) + +{ + undefined *puVar1; + int iVar2; + int iVar3; + short *psVar4; + + psVar4 = (short *)*param_1; + if ((short *)*param_1 == (short *)0x0) { + psVar4 = (short *)PTR_DAT_140155010; + } + iVar2 = FUN_140030080(psVar4); + iVar3 = 0; + if (0 < iVar2) { + iVar3 = iVar2; + } + puVar1 = (undefined *)*param_1; + iVar2 = 0; + if ((puVar1 != (undefined *)0x0) && (iVar2 = 0, puVar1 != PTR_DAT_140155010)) { + iVar2 = *(int *)(puVar1 + -8); + } + if ((iVar2 <= iVar3) && (iVar3 = 0, puVar1 != (undefined *)0x0)) { + if (puVar1 == PTR_DAT_140155010) { + return; + } + iVar3 = *(int *)(puVar1 + -8); + } + if (((puVar1 != PTR_DAT_140155010) && (puVar1 != (undefined *)0x0)) && + ((int *)(puVar1 + -8) != (int *)0x0)) { + *(int *)(puVar1 + -8) = iVar3; + *(undefined2 *)(puVar1 + (longlong)iVar3 * 2) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400030f0.c b/decomp/Agent_Release_x64/full/functions/0x1400030f0.c new file mode 100644 index 00000000..c769e578 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400030f0.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400030f0 FUN_1400030f0 + * Pseudocode, not original source. */ + +longlong * FUN_1400030f0(longlong *param_1,short *param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + undefined *puVar2; + int iVar3; + int iVar4; + + FUN_140030200(param_1,param_2,param_3,param_4); + *param_1 = (longlong)PTR_DAT_140155010; + iVar1 = FUN_140030080(param_2); + iVar3 = (int)param_3; + iVar4 = iVar1; + if ((0 < iVar3) && (iVar4 = iVar3, iVar1 < iVar3)) { + iVar4 = iVar1; + } + puVar2 = FUN_140002f90(param_1,iVar4); + FUN_1400300b0(puVar2,param_2,iVar4); + FUN_140003070(param_1); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140003170.c b/decomp/Agent_Release_x64/full/functions/0x140003170.c new file mode 100644 index 00000000..241bd0a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140003170.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140003170 FUN_140003170 + * Pseudocode, not original source. */ + +void FUN_140003170(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *puVar1; + int *piVar2; + longlong *plVar3; + + puVar1 = (undefined *)*param_1; + if ((undefined *)*param_1 == (undefined *)0x0) { + puVar1 = PTR_DAT_140155010; + } + *param_1 = (longlong)puVar1; + if ((undefined *)*param_2 != puVar1) { + plVar3 = param_2; + piVar2 = (int *)FUN_140030200(param_1,param_2,param_3,param_4); + FUN_14002e6e0(piVar2); + FUN_140003240(param_1,plVar3,param_3,param_4); + puVar1 = (undefined *)*param_2; + *param_1 = (longlong)puVar1; + if (((puVar1 != PTR_DAT_140155010) && (puVar1 != (undefined *)0x0)) && + (puVar1 != (undefined *)0x8)) { + *(int *)(puVar1 + -4) = *(int *)(puVar1 + -4) + 1; + } + FUN_14002e770((longlong)piVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140003210.c b/decomp/Agent_Release_x64/full/functions/0x140003210.c new file mode 100644 index 00000000..f33cbefd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140003210.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140003210 FUN_140003210 + * Pseudocode, not original source. */ + +void FUN_140003210(longlong *param_1) + +{ + if ((char)param_1[1] != '\0') { + FUN_14002e770(*param_1); + *(undefined1 *)(param_1 + 1) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140003240.c b/decomp/Agent_Release_x64/full/functions/0x140003240.c new file mode 100644 index 00000000..801bf343 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140003240.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140003240 FUN_140003240 + * Pseudocode, not original source. */ + +void FUN_140003240(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + undefined *puVar2; + int *piVar3; + + puVar2 = (undefined *)*param_1; + if (((puVar2 == (undefined *)0x0) || (puVar2 == PTR_DAT_140155010)) || + (puVar2 + -8 == (undefined *)0x0)) { + *param_1 = (longlong)PTR_DAT_140155010; + } + else { + piVar3 = (int *)FUN_140030200(puVar2,param_2,param_3,param_4); + FUN_14002e6e0(piVar3); + piVar1 = (int *)(puVar2 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(puVar2 + -8); + } + FUN_14002e770((longlong)piVar3); + *param_1 = (longlong)PTR_DAT_140155010; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400032e0.c b/decomp/Agent_Release_x64/full/functions/0x1400032e0.c new file mode 100644 index 00000000..282eafcc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400032e0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400032e0 FUN_1400032e0 + * Pseudocode, not original source. */ + +void FUN_1400032e0(undefined8 *param_1) + +{ + *param_1 = Proud::INetClientEvent::vftable; + FUN_14003b5c0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400032f0.c b/decomp/Agent_Release_x64/full/functions/0x1400032f0.c new file mode 100644 index 00000000..24ed91b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400032f0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400032f0 FUN_1400032f0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400032f0(undefined8 *param_1,uint param_2) + +{ + FUN_14003b5c0(param_1); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140003320.c b/decomp/Agent_Release_x64/full/functions/0x140003320.c new file mode 100644 index 00000000..1092afea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140003320.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140003320 std::bad_alloc::`scalar_deleting_destructor' + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: virtual void * __ptr64 __cdecl std::bad_alloc::`scalar deleting destructor'(unsigned + int) __ptr64 + + Libraries: Visual Studio 2012 Release, Visual Studio 2015 Release */ + +void * __thiscall std::bad_alloc::_scalar_deleting_destructor_(bad_alloc *this,uint param_1) + +{ + *(undefined ***)this = Proud::INetClientEvent::vftable; + FUN_14003b5c0((undefined8 *)this); + if ((param_1 & 1) != 0) { + operator_delete(this); + } + return this; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140003360.c b/decomp/Agent_Release_x64/full/functions/0x140003360.c new file mode 100644 index 00000000..8ff499e4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140003360.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140003360 FUN_140003360 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140003360(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined7 uVar2; + + uVar2 = (undefined7)((ulonglong)param_3 >> 8); + *(undefined4 *)(param_1 + 2) = 0; + param_1[3] = 0; + param_1[4] = 0; + param_1[5] = 0; + param_1[7] = 0; + param_1[8] = 0; + *param_1 = MagiAgentServer::vftable; + param_1[1] = MagiAgentServer::vftable; + *(undefined1 *)(param_1 + 9) = 0; + param_1[10] = 0; + param_1[0xb] = 0; + *(undefined1 *)(param_1 + 0xc) = 1; + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)(param_1 + 0xd),uVar1 & 0xffffffff,CONCAT71(uVar2,1),param_4); + param_1[0x14] = 0; + param_1[0x15] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400033f0.c b/decomp/Agent_Release_x64/full/functions/0x1400033f0.c new file mode 100644 index 00000000..d64e181b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400033f0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400033f0 FUN_1400033f0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400033f0(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140003420(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140003420.c b/decomp/Agent_Release_x64/full/functions/0x140003420.c new file mode 100644 index 00000000..460b8ba0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140003420.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140003420 FUN_140003420 + * Pseudocode, not original source. */ + +void FUN_140003420(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = MagiAgentServer::vftable; + param_1[1] = MagiAgentServer::vftable; + FUN_14002e7a0((undefined4 *)(param_1 + 0xd),param_2,param_3,param_4); + param_1[1] = MagiServerBase::vftable; + if ((void *)param_1[3] != (void *)0x0) { + operator_delete((void *)param_1[3]); + } + param_1[3] = 0; + param_1[4] = 0; + param_1[5] = 0; + *param_1 = MBISingleton::vftable; + DAT_1401626f8 = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400034a0.c b/decomp/Agent_Release_x64/full/functions/0x1400034a0.c new file mode 100644 index 00000000..f9cfcc9d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400034a0.c @@ -0,0 +1,85 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400034a0 FUN_1400034a0 + * Pseudocode, not original source. */ + +void FUN_1400034a0(LPCWSTR param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + char *pcVar2; + undefined8 *puVar3; + ulonglong uVar4; + undefined8 *puVar5; + wchar_t *pwVar6; + undefined8 uVar7; + + if ((DAT_14016319c & 1) == 0) { + DAT_14016319c = DAT_14016319c | 1; + FUN_1400de360(); + atexit((_func_5014 *)&LAB_1400f13a0); + if ((DAT_14016319c & 1) == 0) { + DAT_14016319c = DAT_14016319c | 1; + FUN_1400de360(); + atexit((_func_5014 *)&LAB_1400f13a0); + } + } + if ((DAT_140162f60 != 200) && (DAT_140162f60 != 100)) { + if ((DAT_14016319c & 1) == 0) { + DAT_14016319c = DAT_14016319c | 1; + FUN_1400de360(); + atexit((_func_5014 *)&LAB_1400f13a0); + } + if (DAT_140162f60 != 1000) goto LAB_140003556; + } + setlocale(0,"kor"); +LAB_140003556: + pcVar2 = setlocale(0,(char *)0x0); + printf("Locale is: %s\n"); + puVar3 = operator_new(0x60); + if (puVar3 == (undefined8 *)0x0) { + puVar3 = (undefined8 *)0x0; + } + else { + *puVar3 = MagiAgentProcess::vftable; + puVar3[1] = 0; + puVar3[2] = 0; + puVar3[3] = 0; + uVar4 = FUN_14002e790(); + pcVar2 = (char *)(uVar4 & 0xffffffff); + param_3 = CONCAT71((int7)((ulonglong)param_3 >> 8),1); + FUN_14002e600((undefined4 *)(puVar3 + 5),(ulonglong)pcVar2,param_3,param_4); + } + DAT_140162d78 = puVar3; + puVar5 = operator_new(8); + puVar3 = (undefined8 *)0x0; + if (puVar5 != (undefined8 *)0x0) { + puVar3 = FUN_14002e1c0(puVar5,pcVar2,param_3,param_4); + } + lVar1 = DAT_140162d68; + DAT_140162d70 = puVar3; + *(undefined1 *)(DAT_140162d68 + 0x1e8) = 0xd; + FUN_1400227e0(lVar1,param_1,param_3,param_4); + _wmkdir(L"Log"); + puVar5 = operator_new(0xe8); + puVar3 = (undefined8 *)0x0; + if (puVar5 != (undefined8 *)0x0) { + puVar3 = FUN_1400de890(puVar5); + } + DAT_1401626e8 = puVar3; + FUN_1400deb60((longlong)puVar3,param_1,param_3,param_4); + puVar3 = DAT_1401626e8; + EnterCriticalSection(DAT_140162d80); + uVar7 = 0x12; + pwVar6 = L"Log\\Protocol_Agent"; + FUN_1400016e0(puVar3 + 3,L"Log\\Protocol_Agent",0x12); + LeaveCriticalSection(DAT_140162d80); + puVar3 = operator_new(0x98); + if (puVar3 == (undefined8 *)0x0) { + DAT_140162d50 = (undefined8 *)0x0; + } + else { + DAT_140162d50 = FUN_1400dc730(puVar3,pwVar6,uVar7,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400036c0.c b/decomp/Agent_Release_x64/full/functions/0x1400036c0.c new file mode 100644 index 00000000..77b1c511 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400036c0.c @@ -0,0 +1,48 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400036c0 FUN_1400036c0 + * Pseudocode, not original source. */ + +void FUN_1400036c0(longlong param_1) + +{ + FILE *_File; + undefined8 *puVar1; + longlong lVar2; + + puVar1 = *(undefined8 **)(param_1 + 0x50); + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + puVar1 = DAT_140162d50; + *(undefined8 *)(param_1 + 0x50) = 0; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + if (DAT_140162d70 != (undefined8 *)0x0) { + (**(code **)*DAT_140162d70)(DAT_140162d70,1); + } + puVar1 = DAT_1401626e8; + EnterCriticalSection(DAT_140162d80); + _File = (FILE *)puVar1[0x17]; + if (_File != (FILE *)0x0) { + fclose(_File); + } + puVar1 = puVar1 + 0x19; + lVar2 = 4; + do { + if ((FILE *)*puVar1 != (FILE *)0x0) { + fclose((FILE *)*puVar1); + } + puVar1 = puVar1 + 1; + lVar2 = lVar2 + -1; + } while (lVar2 != 0); + LeaveCriticalSection(DAT_140162d80); + if (DAT_1401626e8 != (undefined8 *)0x0) { + (**(code **)*DAT_1401626e8)(DAT_1401626e8,1); + } + if (DAT_140162d78 != (undefined8 *)0x0) { + (**(code **)*DAT_140162d78)(DAT_140162d78,1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400037a0.c b/decomp/Agent_Release_x64/full/functions/0x1400037a0.c new file mode 100644 index 00000000..1c498cb4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400037a0.c @@ -0,0 +1,385 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400037a0 FUN_1400037a0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +undefined8 FUN_1400037a0(longlong param_1,undefined8 **param_2,undefined8 *param_3,uint *param_4) + +{ + int *piVar1; + double dVar2; + char cVar3; + undefined8 *puVar4; + undefined1 auVar5 [16]; + bool bVar6; + bool bVar7; + longlong *plVar8; + BOOL BVar9; + wchar_t *pwVar10; + wchar_t *pwVar11; + ulonglong uVar12; + longlong *plVar13; + wchar_t *pwVar14; + char *pcVar15; + ulonglong *puVar16; + longlong *plVar17; + undefined2 *puVar18; + wchar_t *pwVar19; + longlong lVar20; + undefined4 uVar21; + undefined4 uVar22; + undefined4 uVar23; + undefined4 uVar24; + undefined4 uVar25; + undefined1 auStack_2a8 [32]; + longlong *local_288; + wchar_t *local_280; + LARGE_INTEGER local_278; + undefined8 *local_270; + wchar_t *local_268; + wchar_t *local_260; + int *local_258; + undefined1 local_250; + undefined8 local_248; + undefined2 local_238; + undefined1 local_236 [158]; + undefined1 local_198 [160]; + undefined8 *local_f8; + undefined2 local_f0; + undefined6 uStack_ee; + undefined8 local_e0; + ulonglong local_d8; + undefined2 local_c8; + undefined6 uStack_c6; + undefined8 local_b8; + ulonglong local_b0; + ulonglong local_98; + + local_248 = 0xfffffffffffffffe; + local_98 = DAT_1401555a0 ^ (ulonglong)auStack_2a8; + FUN_140010960(L"# Agent Startup #\n\n",param_2,param_3,param_4); + CoInitialize((LPVOID)0x0); + FUN_140010aa0(L"+ Prepare Startup\n",param_2,param_3,param_4); + local_278 = (LARGE_INTEGER)operator_new(0xb8); + pwVar19 = (wchar_t *)0x0; + pwVar10 = pwVar19; + if ((undefined8 *)local_278.QuadPart != (undefined8 *)0x0) { + pwVar10 = (wchar_t *)FUN_140005020((undefined8 *)local_278,param_2,param_3,param_4); + } + if (pwVar10 == (wchar_t *)0x0) { + local_288 = (longlong *)0x0; + } + else { + local_288 = (longlong *)FUN_140030280(0x10); + local_288[1] = 1; + *local_288 = (longlong)pwVar10; + } + plVar17 = local_288; + pwVar11 = operator_new(0x68); + pwVar10 = pwVar19; + local_280 = pwVar11; + if (pwVar11 != (wchar_t *)0x0) { + if (plVar17 != (longlong *)0x0) { + pwVar10 = (wchar_t *)*plVar17; + } + *(wchar_t **)pwVar11 = pwVar10; + pwVar11[4] = L'\0'; + pwVar11[5] = L'\0'; + pwVar11[6] = L'\0'; + pwVar11[7] = L'\0'; + pwVar11[8] = L'\0'; + pwVar11[9] = L'\0'; + pwVar11[10] = L'\0'; + pwVar11[0xb] = L'\0'; + pwVar11[0xc] = L'\0'; + pwVar11[0xd] = L'\0'; + pwVar11[0xe] = L'\0'; + pwVar11[0xf] = L'\0'; + uVar12 = FUN_14002e790(); + param_2 = (undefined8 **)(uVar12 & 0xffffffff); + param_3 = (undefined8 *)CONCAT71((int7)((ulonglong)param_3 >> 8),1); + FUN_14002e600((undefined4 *)(pwVar11 + 0x14),(ulonglong)param_2,param_3,param_4); + FUN_140007960((longlong)pwVar11); + pwVar10 = pwVar11; + } + if (pwVar10 == (wchar_t *)0x0) { + local_280 = (wchar_t *)0x0; + } + else { + local_280 = (wchar_t *)FUN_140030280(0x10); + *(undefined8 *)((longlong)local_280 + 8) = 1; + *(wchar_t **)local_280 = pwVar10; + } + pwVar10 = local_280; + pwVar11 = pwVar19; + if (plVar17 != (longlong *)0x0) { + pwVar11 = (wchar_t *)*plVar17; + } + *(wchar_t **)(param_1 + 0xa0) = pwVar11; + pwVar11 = pwVar19; + if (local_280 != (wchar_t *)0x0) { + pwVar11 = *(wchar_t **)local_280; + } + *(wchar_t **)(param_1 + 0xa8) = pwVar11; + pwVar11 = pwVar19; + if (local_280 != (wchar_t *)0x0) { + pwVar11 = *(wchar_t **)local_280; + } + FUN_140007960((longlong)pwVar11); + local_f8 = (undefined8 *)0x0; + local_d8 = 7; + local_e0 = 0; + local_f0 = 0; + local_b0 = 7; + local_b8 = 0; + local_c8 = 0; + if (*(longlong *)(DAT_140162d68 + 0x1c8) != 0) { + auVar5._8_8_ = 0; + auVar5._0_8_ = *(ulonglong *)(DAT_140162d68 + 0x1b0); + param_2 = SUB168((ZEXT816(0) << 0x40 | ZEXT816(0x15)) % auVar5,0); + local_270 = (undefined8 *)(*(longlong *)(DAT_140162d68 + 0x1a8) + (longlong)param_2 * 8); + for (local_268 = (wchar_t *)*local_270; local_268 != (wchar_t *)0x0; + local_268 = *(wchar_t **)local_268) { + if ((char)local_268[4] == '\x15') { + if (local_268 != (wchar_t *)0x0) goto LAB_1400039c4; + break; + } + } + } + local_270 = (undefined8 *)0x0; + local_268 = pwVar19; +LAB_1400039c4: + if ((local_268 != (wchar_t *)0x0) && + (puVar4 = *(undefined8 **)(local_268 + 8), puVar4 != *(undefined8 **)(local_268 + 0xc))) { + local_f8 = (undefined8 *)*puVar4; + FUN_140001600((longlong *)&local_f0,puVar4 + 1,0,0xffffffffffffffff); + param_4 = (uint *)0xffffffffffffffff; + param_3 = (undefined8 *)0x0; + FUN_140001600((longlong *)&local_c8,puVar4 + 6,0,0xffffffffffffffff); + param_2 = &local_f8; + FUN_140007a80(*(undefined8 **)(param_1 + 0xa8),param_2,param_3,(undefined8 *)param_4); + lVar20 = *(longlong *)(param_1 + 0xa8); + piVar1 = (int *)(lVar20 + 0x28); + local_258 = piVar1; + FUN_14002e6e0(piVar1); + plVar13 = *(longlong **)(lVar20 + 8); + if (*plVar13 == 0) { + FUN_14002e770((longlong)piVar1); + local_250 = 0; + } + else { + lVar20 = *plVar13; + FUN_14002e770((longlong)piVar1); + local_250 = 0; + if (lVar20 != 0) { + cVar3 = *(char *)(lVar20 + 0x88); + while (cVar3 == '\0') { + FUN_1400023e0(lVar20); + cVar3 = *(char *)(lVar20 + 0x88); + } + } + } + } + pwVar11 = pwVar19; + if (plVar17 != (longlong *)0x0) { + pwVar11 = (wchar_t *)*plVar17; + } + FUN_140005360((longlong)pwVar11,param_2,param_3,(longlong)param_4); + pwVar11 = pwVar19; + if (plVar17 != (longlong *)0x0) { + pwVar11 = (wchar_t *)*plVar17; + } + *(undefined8 *)(pwVar11 + 0x24) = *(undefined8 *)(param_1 + 0xa8); + FUN_140010960(L"\n # Agent Running... #\n",param_2,param_3,param_4); + plVar13 = operator_new(0x18); + if (plVar13 == (longlong *)0x0) { + plVar13 = (longlong *)0x0; + } + else { + *plVar13 = (longlong)TimeSourceHRWin32::vftable; + BVar9 = QueryPerformanceFrequency(&local_278); + if (BVar9 == 0) { + *(undefined1 *)(plVar13 + 2) = 0; + GetLastError(); + } + else { + *(undefined1 *)(plVar13 + 2) = 1; + plVar13[1] = (longlong)(1.0 / (double)local_278.QuadPart); + } + } + plVar8 = DAT_140162d50; + if ((undefined8 *)DAT_140162d50[2] != (undefined8 *)0x0) { + (*(code *)**(undefined8 **)DAT_140162d50[2])(); + } + plVar8[2] = (longlong)plVar13; + if (plVar13 != (longlong *)0x0) { + lVar20 = (**(code **)(*plVar13 + 8))(plVar13); + plVar8[6] = lVar20; + plVar8[7] = lVar20; + } + plVar8[0x12] = 0x3ff0000000000000; + pwVar14 = operator_new(0x28); + pwVar11 = pwVar19; + local_260 = pwVar14; + if (pwVar14 != (wchar_t *)0x0) { + *(undefined ***)pwVar14 = Magi::Timer::vftable; + plVar13 = DAT_140162d50; + *(longlong **)(pwVar14 + 4) = DAT_140162d50; + pwVar14[8] = L'\0'; + pwVar14[9] = L'\0'; + pwVar14[10] = L'\0'; + pwVar14[0xb] = L'\0'; + pwVar14[0xc] = L'\0'; + pwVar14[0xd] = L'\0'; + pwVar14[0xe] = L'\0'; + pwVar14[0xf] = L'\0'; + *(undefined1 *)(pwVar14 + 0x10) = 0; + pwVar14[0x12] = L'\0'; + pwVar14[0x13] = L'㾀'; + (**(code **)(*plVar13 + 0x10))(); + pwVar11 = pwVar14; + } + *(wchar_t **)(param_1 + 0x50) = pwVar11; + bVar6 = true; + local_238 = 0; + memset(local_236,0,0x9e); + puVar16 = (ulonglong *)0x0; + puVar18 = (undefined2 *)0xa0; + memset(local_198,0,0xa0); + uVar21 = 0; + uVar23 = 0; + FUN_1400271e0(DAT_140162d68); + pcVar15 = *(char **)(DAT_140162d58 + 8); + do { + pwVar11 = pwVar19; + if (pcVar15 == *(char **)(DAT_140162d58 + 0x10)) { +LAB_140003c4a: + FUN_140009780(pwVar11); + FUN_140001dc0(param_1 + 8); + bVar7 = false; + cVar3 = *(char *)(param_1 + 0x60); + uVar24 = uVar21; + uVar25 = uVar23; + while (cVar3 != '\0') { + FUN_1400dc520((longlong)DAT_140162d50); + dVar2 = *(double *)(*(longlong *)(param_1 + 0x50) + 0x10); + if (((0.0 < *(double *)(DAT_140162d68 + 0x178)) && + (0.0 < dVar2 - *(double *)(DAT_140162d68 + 0x178))) && (bVar6)) { + bVar6 = false; + pcVar15 = "Start Auto Server On. \n"; + printf("Start Auto Server On. \n"); + FUN_140009bd0(pcVar15,puVar16,puVar18,param_4); + } + FUN_140007da0(*(longlong *)(param_1 + 0xa8),dVar2); + uVar22 = (undefined4)((ulonglong)dVar2 >> 0x20); + if (1.0 <= dVar2 - (double)CONCAT44(uVar23,uVar21)) { + if (DAT_140162cc4 != 0) { + puVar16 = (ulonglong *)&DAT_14011b7b4; + if (bVar7) { + puVar16 = (ulonglong *)&DAT_14011b7b0; + } + puVar18 = (undefined2 *)(ulonglong)DAT_140162cc8; + printf("[ %s ] FPS[ %d ]\n"); + bVar7 = !bVar7; + } + _DAT_140162ccc = DAT_140162cc8; + DAT_140162cc8 = 0; + uVar21 = SUB84(dVar2,0); + uVar23 = uVar22; + } + if (0.10000000149011612 <= dVar2 - (double)CONCAT44(uVar25,uVar24)) { + DAT_140162cc8 = DAT_140162cc8 + 1; + FUN_140003f30(param_1,puVar16,puVar18,param_4); + pwVar11 = pwVar19; + if (plVar17 != (longlong *)0x0) { + pwVar11 = (wchar_t *)*plVar17; + } + FUN_1400053e0((longlong)pwVar11,dVar2); + uVar24 = SUB84(dVar2,0); + uVar25 = uVar22; + } + *(double *)(param_1 + 0x58) = dVar2; + Sleep(1); + cVar3 = *(char *)(param_1 + 0x60); + } + FUN_140010aa0(L"+ Prepare Stop\n",puVar16,puVar18,param_4); + FUN_1400079d0(*(longlong *)(param_1 + 0xa8)); + lVar20 = *(longlong *)(param_1 + 0xa0); + puVar4 = *(undefined8 **)(lVar20 + 0x28); + if (puVar4 != (undefined8 *)0x0) { + puVar16 = (ulonglong *)0x1; + (**(code **)*puVar4)(); + } + *(undefined8 *)(lVar20 + 0x28) = 0; + CoUninitialize(); + FUN_140010960(L"# Agent Stoped... #\n",puVar16,puVar18,param_4); + if (7 < local_b0) { + operator_delete((void *)CONCAT62(uStack_c6,local_c8)); + } + local_b0 = 7; + local_b8 = 0; + local_c8 = 0; + if (7 < local_d8) { + operator_delete((void *)CONCAT62(uStack_ee,local_f0)); + } + pwVar19 = local_280; + local_d8 = 7; + local_e0 = 0; + local_f0 = 0; + if (pwVar10 != (wchar_t *)0x0) { + plVar13 = (longlong *)((longlong)pwVar10 + 8); + *plVar13 = *plVar13 + -1; + plVar17 = local_288; + if (*plVar13 == 0) { + pwVar10 = *(wchar_t **)local_280; + local_260 = pwVar10; + if (pwVar10 != (wchar_t *)0x0) { + FUN_14002e7a0((undefined4 *)(pwVar10 + 0x14),puVar16,puVar18,param_4); + if (*(void **)(pwVar10 + 4) != (void *)0x0) { + operator_delete(*(void **)(pwVar10 + 4)); + } + pwVar10[4] = L'\0'; + pwVar10[5] = L'\0'; + pwVar10[6] = L'\0'; + pwVar10[7] = L'\0'; + pwVar10[8] = L'\0'; + pwVar10[9] = L'\0'; + pwVar10[10] = L'\0'; + pwVar10[0xb] = L'\0'; + pwVar10[0xc] = L'\0'; + pwVar10[0xd] = L'\0'; + pwVar10[0xe] = L'\0'; + pwVar10[0xf] = L'\0'; + operator_delete(pwVar10); + } + FUN_1400302f0(pwVar19); + plVar17 = local_288; + } + } + plVar13 = local_288; + if (plVar17 != (longlong *)0x0) { + plVar17 = plVar17 + 1; + *plVar17 = *plVar17 + -1; + if (*plVar17 == 0) { + puVar4 = (undefined8 *)*local_288; + if (puVar4 != (undefined8 *)0x0) { + (**(code **)*puVar4)(puVar4,1); + } + FUN_1400302f0(plVar13); + } + } + return 0; + } + if (*pcVar15 == '\x18') { + pwVar11 = (wchar_t *)(pcVar15 + 8); + if (7 < *(ulonglong *)(pcVar15 + 0x20)) { + pwVar11 = *(wchar_t **)(pcVar15 + 8); + } + goto LAB_140003c4a; + } + pcVar15 = pcVar15 + 0x30; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140003f30.c b/decomp/Agent_Release_x64/full/functions/0x140003f30.c new file mode 100644 index 00000000..aa0d155d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140003f30.c @@ -0,0 +1,417 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140003f30 FUN_140003f30 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_140003f30(longlong param_1,ulonglong *param_2,undefined2 *param_3,uint *param_4) + +{ + byte bVar1; + longlong lVar2; + ulonglong *puVar3; + ulonglong *puVar4; + ushort uVar5; + int iVar6; + int iVar7; + BOOL BVar8; + HANDLE hProcess; + undefined2 *puVar9; + char *pcVar10; + longlong *plVar11; + wchar_t *_Format; + ulonglong *puVar12; + undefined **ppuVar13; + undefined2 *puVar14; + bool bVar15; + undefined1 auStack_2f8 [32]; + DWORD local_2d8 [2]; + uint local_2d0 [2]; + undefined8 local_2c8; + undefined8 local_2c0; + undefined8 local_2b8; + undefined8 local_2b0; + undefined8 local_2a8; + undefined8 local_2a0; + undefined8 local_298; + undefined8 local_290; + undefined8 local_288; + undefined8 local_280; + undefined4 local_278; + undefined8 local_268; + ulonglong *local_260; + ulonglong *local_258; + undefined8 local_250; + ulonglong local_248; + undefined4 local_238 [10]; + void *local_210; + ulonglong local_1f8; + undefined2 local_1e8; + undefined6 uStack_1e6; + undefined8 local_1d8; + ulonglong local_1d0; + undefined2 local_1c0; + undefined6 uStack_1be; + undefined8 local_1b0; + ulonglong local_1a8; + undefined4 local_198; + uint local_194; + void *local_160; + undefined8 local_158; + undefined8 local_150; + undefined4 local_138 [10]; + undefined2 local_110; + undefined6 uStack_10e; + undefined8 local_100; + ulonglong local_f8; + undefined2 local_e8; + undefined6 uStack_e6; + undefined8 local_d8; + ulonglong local_d0; + undefined2 local_c0; + undefined6 uStack_be; + undefined8 local_b0; + ulonglong local_a8; + int local_74; + void *local_60; + undefined8 local_58; + undefined8 local_50; + ulonglong local_38; + + local_268 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_2f8; + iVar6 = _kbhit(); + if (iVar6 != 0) { + puVar14 = (undefined2 *)0x0; + do { + iVar6 = _getch(); + iVar6 = (int)(char)iVar6; + if (*(char *)(param_1 + 0x48) != '\0') { + iVar7 = toupper(iVar6); + if (iVar7 == 0x55) { + printf("Keyboard UnLocked\n"); + *(undefined1 *)(param_1 + 0x48) = 0; + ppuVar13 = &PTR_s_Server_Shutdown__14015aee8; + do { + uVar5 = GetAsyncKeyState(0xa0); + if (((uVar5 & 0x8001) != 0) || (*(char *)(ppuVar13 + 1) == '\0')) { + param_3 = (undefined2 *)*ppuVar13; + param_2 = (ulonglong *)(ulonglong)(uint)(int)*(char *)(ppuVar13 + -1); + printf(" \'%c\'\t: %s\n"); + } + ppuVar13 = ppuVar13 + 3; + } while ((longlong)ppuVar13 < 0x14015b050); + } + goto LAB_1400047ca; + } + iVar7 = toupper(iVar6); + switch(iVar7) { + case 0x30: + bVar15 = *(char *)(DAT_140162d68 + 0x171) == '\0'; + *(bool *)(DAT_140162d68 + 0x171) = bVar15; + pcVar10 = "Auto Revive On !!!\n"; + if (!bVar15) { + pcVar10 = "Auto Revive Off !!!\n"; + } + printf(pcVar10); + param_2 = (ulonglong *)0x7; + FUN_140006940(*(longlong *)(param_1 + 0xa0),7,param_3,(longlong)param_4); + break; + case 0x31: + pcVar10 = "All Server On. \n"; + printf("All Server On. \n"); + FUN_140009890(pcVar10,param_2,param_3,param_4); + param_2 = (ulonglong *)PTR_s_All_Server_On__14015afa8; + printf("%s\n"); + break; + case 0x32: + pcVar10 = "Disconnect Server On. \n"; + printf("Disconnect Server On. \n"); + FUN_140009bd0(pcVar10,param_2,param_3,param_4); + param_2 = (ulonglong *)PTR_s_Disconnect_Server_On__14015afc0; + printf("%s\n"); + break; + default: + printf("........... Message : Unknown Control Command.\n"); + break; + case 0x35: + local_260 = (ulonglong *)0x0; + local_258 = (ulonglong *)0x0; + local_250 = 0; + FUN_14002ce60(DAT_140162d60,(ulonglong *)&local_260); + puVar4 = local_258; + puVar3 = local_260; + param_2 = (ulonglong *)PTR_s_All_Server_Down__14015afd8; + for (puVar12 = local_260; PTR_s_All_Server_Down__14015afd8 = (undefined *)param_2, + puVar12 != puVar4; puVar12 = puVar12 + 0x1f) { + FUN_140004950(local_238,(undefined4 *)puVar12); + local_2d0[0] = 1; + plVar11 = (longlong *)(*(longlong *)(param_1 + 0xa0) + 0x50); + param_4 = local_2d0; + param_3 = (undefined2 *)&DAT_1401555d0; + (**(code **)(*plVar11 + 0x40))(plVar11,local_198); + if (local_160 != (void *)0x0) { + operator_delete(local_160); + } + local_160 = (void *)0x0; + local_158 = 0; + local_150 = 0; + if (7 < local_1a8) { + operator_delete((void *)CONCAT62(uStack_1be,local_1c0)); + } + local_1a8 = 7; + local_1b0 = 0; + local_1c0 = 0; + if (7 < local_1d0) { + operator_delete((void *)CONCAT62(uStack_1e6,local_1e8)); + } + local_1d0 = 7; + local_1d8 = 0; + local_1e8 = 0; + if (7 < local_1f8) { + operator_delete(local_210); + } + param_2 = (ulonglong *)PTR_s_All_Server_Down__14015afd8; + } + if (puVar3 != (ulonglong *)0x0) { + FUN_140004b30(puVar3,puVar4); + operator_delete(puVar3); + param_2 = (ulonglong *)PTR_s_All_Server_Down__14015afd8; + } + goto LAB_140004442; + case 0x38: + local_260 = (ulonglong *)0x0; + local_258 = (ulonglong *)0x0; + local_250 = 0; + FUN_14002ce60(DAT_140162d60,(ulonglong *)&local_260); + puVar4 = local_258; + puVar3 = local_260; + for (puVar12 = local_260; puVar12 != puVar4; puVar12 = puVar12 + 0x1f) { + FUN_140004950(local_138,(undefined4 *)puVar12); + if (local_74 == 0) { + _Format = L"OFF - "; +LAB_1400044dc: + wprintf(_Format); + } + else { + if (local_74 == 1) { + _Format = L"LOAD - "; + goto LAB_1400044dc; + } + if (local_74 == 2) { + _Format = L"BAD - "; + goto LAB_1400044dc; + } + if (local_74 == 3) { + _Format = L"GOOD - "; + goto LAB_1400044dc; + } + } + param_3 = &local_c0; + if (7 < local_a8) { + param_3 = (undefined2 *)CONCAT62(uStack_be,local_c0); + } + wprintf(L"\tCODE:[ %d ]\tNAME:[ %s ] \n"); + if (local_60 != (void *)0x0) { + operator_delete(local_60); + } + local_60 = (void *)0x0; + local_58 = 0; + local_50 = 0; + if (7 < local_a8) { + operator_delete((void *)CONCAT62(uStack_be,local_c0)); + } + local_a8 = 7; + local_b0 = 0; + local_c0 = 0; + if (7 < local_d0) { + operator_delete((void *)CONCAT62(uStack_e6,local_e8)); + } + local_d0 = 7; + local_d8 = 0; + local_e8 = 0; + if (7 < local_f8) { + operator_delete((void *)CONCAT62(uStack_10e,local_110)); + } + local_f8 = 7; + local_100 = 0; + local_110 = 0; + } + wprintf(L"ConnectServer Count : [ %d ] \n"); + param_2 = (ulonglong *)PTR_s_Server_Information__14015aff0; + if (puVar3 != (ulonglong *)0x0) { + FUN_140004b30(puVar3,puVar4); + operator_delete(puVar3); + param_2 = (ulonglong *)PTR_s_Server_Information__14015aff0; + } +LAB_140004442: + printf("%s\n"); + break; + case 0x39: + local_260 = (ulonglong *)0x0; + local_258 = (ulonglong *)0x0; + local_250 = 0; + FUN_14002ce60(DAT_140162d60,(ulonglong *)&local_260); + puVar4 = local_258; + puVar3 = local_260; + for (puVar12 = local_260; puVar12 != puVar4; puVar12 = puVar12 + 0x1f) { + FUN_140004950(local_238,(undefined4 *)puVar12); + param_3 = (undefined2 *)(ulonglong)local_194; + hProcess = OpenProcess(0x1f0fff,0,local_194); + if (hProcess != (HANDLE)0x0) { + BVar8 = GetExitCodeProcess(hProcess,local_2d8); + if ((BVar8 != 0) && (local_2d8[0] == 0x103)) { + TerminateProcess(hProcess,0); + } + CloseHandle(hProcess); + } + if (local_160 != (void *)0x0) { + operator_delete(local_160); + } + local_160 = (void *)0x0; + local_158 = 0; + local_150 = 0; + if (7 < local_1a8) { + operator_delete((void *)CONCAT62(uStack_1be,local_1c0)); + } + local_1a8 = 7; + local_1b0 = 0; + local_1c0 = 0; + if (7 < local_1d0) { + operator_delete((void *)CONCAT62(uStack_1e6,local_1e8)); + } + local_1d0 = 7; + local_1d8 = 0; + local_1e8 = 0; + if (7 < local_1f8) { + operator_delete(local_210); + } + } + if (puVar3 != (ulonglong *)0x0) { + FUN_140004b30(puVar3,puVar4); + operator_delete(puVar3); + } + param_2 = (ulonglong *)PTR_s_All_Server_Kill__14015b008; + printf("%s\n"); + break; + case 0x45: + *(undefined1 *)(param_1 + 0x60) = 0; + printf("%s\n"); + return 0; + case 0x46: + wprintf(L"-AGENT SERVER [CODE:%d]---------------------------------\n"); + param_3 = (undefined2 *)(ulonglong)*(uint *)(*(longlong *)(param_1 + 0xa0) + 0x38); + wprintf(L"PRIVATE NETWORK : ADDRESS[ %s ] PORT[ %d ]\n"); + FUN_140001bf0(param_1 + 8); + param_2 = (ulonglong *)PTR_s_Server_Info__14015af30; + printf("%s\n"); + break; + case 0x4c: + *(undefined1 *)(param_1 + 0x48) = 1; + param_2 = (ulonglong *)PTR_s_Keyboard_Locked__14015af00; + printf("%s\n"); + break; + case 0x4d: + FUN_14002b820(DAT_140162d48); + lVar2 = *(longlong *)(param_1 + 0xa8); + if (lVar2 != 0) { + bVar1 = *(byte *)(DAT_140162d48 + 0x17); + param_4 = (uint *)(ulonglong)bVar1; + puVar9 = puVar14; + param_3 = puVar14; + if (*(longlong *)(lVar2 + 0x10) - *(longlong *)(lVar2 + 8) >> 3 != 0) { + do { + *(byte *)(*(longlong *)(*(longlong *)(lVar2 + 8) + (longlong)puVar9) + 0x18) = bVar1; + param_3 = (undefined2 *)(ulonglong)((int)param_3 + 1); + puVar9 = puVar9 + 4; + } while (param_3 < (undefined2 *) + (*(longlong *)(lVar2 + 0x10) - *(longlong *)(lVar2 + 8) >> 3)); + } + } + param_2 = (ulonglong *)PTR_s_CustomOption_Init__14015af90; + printf("%s\n"); + break; + case 0x50: + lVar2 = *(longlong *)(param_1 + 0xa0); + if (lVar2 != 0) { + local_288 = 0; + local_2c0 = 0; + local_2c8 = 0; + local_2b0 = 0; + local_2b8 = 0; + local_290 = 0; + local_298 = 0; + local_2a0 = 0; + local_2a8 = 0; + local_280 = 0; + local_278 = 0; + if (*(longlong *)(lVar2 + 0x28) != 0) { + (**(code **)(**(longlong **)(lVar2 + 0x28) + 0xb0)) + (*(longlong **)(lVar2 + 0x28),&local_2c8); + printf("--------------------------------------------------\n"); + printf("%I64d totalTcpReceiveCount\n"); + printf("%I64d totalTcpReceiveBytes\n"); + printf("%I64d totalTcpSendCount\n"); + printf("%I64d totalTcpSendBytes\n"); + printf("%d p2pConnectionPairCount\n"); + printf("%d p2pDirectConnectionPairCount\n"); + printf("%d clientCount\n"); + printf("--------------------------------------------------\n"); + } + } + param_2 = (ulonglong *)PTR_s_Network_Status__14015af48; + printf("%s\n"); + break; + case 0x52: + DAT_140162cc4 = (uint)(DAT_140162cc4 == 0); + param_3 = (undefined2 *)&DAT_14011b9ac; + if (DAT_140162cc4 != 0) { + param_3 = (undefined2 *)&DAT_14011b9a8; + } + param_2 = (ulonglong *)PTR_s_ShowFPS__14015af60; + printf("%s %s\n"); + break; + case 0x54: + printf("RetryConnectSession\n"); + iVar7 = (int)(*(longlong *)(param_1 + 0x20) - *(longlong *)(param_1 + 0x18) >> 3); + puVar9 = puVar14; + if (0 < iVar7) { + do { + if (*(longlong *)(*(longlong *)(param_1 + 0x18) + (longlong)puVar9 * 8) != 0) { + *(undefined1 *) + (*(longlong *)(*(longlong *)(param_1 + 0x18) + (longlong)puVar9 * 8) + 0x1c) = 1; + } + puVar9 = (undefined2 *)((longlong)puVar9 + 1); + } while ((longlong)puVar9 < (longlong)iVar7); + } + param_2 = (ulonglong *)PTR_s_AgentManager_Retry__14015af18; + printf("%s\n"); + } +LAB_1400047ca: + iVar6 = toupper(iVar6); + if (iVar6 == 0x49) { + printf("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n"); + GetCurrentProcessId(); + printf("ProcessID : %d\n"); + printf("SVN : %d\n"); + printf("Resource : %d\n"); + printf("Build Date : %s\n"); + param_2 = FUN_1400dcb80((ulonglong *)&local_260); + if (0xf < param_2[3]) { + param_2 = (ulonglong *)*param_2; + } + printf("PROTOCOL : %s\n"); + if (0xf < local_248) { + operator_delete(local_260); + } + local_248 = 0xf; + local_250 = 0; + local_260 = (ulonglong *)((ulonglong)local_260 & 0xffffffffffffff00); + printf("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n"); + } + iVar6 = _kbhit(); + } while (iVar6 != 0); + } + return 2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140004950.c b/decomp/Agent_Release_x64/full/functions/0x140004950.c new file mode 100644 index 00000000..952765a5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140004950.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140004950 FUN_140004950 + * Pseudocode, not original source. */ + +undefined4 * FUN_140004950(undefined4 *param_1,undefined4 *param_2) + +{ + FUN_140004ea0(param_1,param_2); + *(undefined8 *)(param_1 + 0x28) = *(undefined8 *)(param_2 + 0x28); + *(undefined8 *)(param_1 + 0x2a) = *(undefined8 *)(param_2 + 0x2a); + *(undefined8 *)(param_1 + 0x2c) = *(undefined8 *)(param_2 + 0x2c); + *(undefined8 *)(param_1 + 0x2e) = *(undefined8 *)(param_2 + 0x2e); + *(undefined8 *)(param_1 + 0x30) = *(undefined8 *)(param_2 + 0x30); + *(undefined8 *)(param_1 + 0x32) = *(undefined8 *)(param_2 + 0x32); + *(undefined8 *)(param_1 + 0x34) = *(undefined8 *)(param_2 + 0x34); + FUN_140004d60((undefined8 *)(param_1 + 0x36),(longlong *)(param_2 + 0x36)); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140004a00.c b/decomp/Agent_Release_x64/full/functions/0x140004a00.c new file mode 100644 index 00000000..f284739c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140004a00.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140004a00 FUN_140004a00 + * Pseudocode, not original source. */ + +void FUN_140004a00(longlong *param_1) + +{ + longlong *plVar1; + undefined8 *puVar2; + + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + plVar1 = (longlong *)*param_1; + puVar2 = (undefined8 *)*plVar1; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(plVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140004a60.c b/decomp/Agent_Release_x64/full/functions/0x140004a60.c new file mode 100644 index 00000000..91b8aac5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140004a60.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140004a60 FUN_140004a60 + * Pseudocode, not original source. */ + +void FUN_140004a60(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + void *pvVar2; + + if (*param_1 != 0) { + *(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1; + if (*(longlong *)(*param_1 + 8) == 0) { + puVar1 = (undefined8 *)*param_1; + pvVar2 = (void *)*puVar1; + if (pvVar2 != (void *)0x0) { + FUN_14002e7a0((undefined4 *)((longlong)pvVar2 + 0x28),0,param_3,param_4); + if (*(void **)((longlong)pvVar2 + 8) != (void *)0x0) { + operator_delete(*(void **)((longlong)pvVar2 + 8)); + } + *(undefined8 *)((longlong)pvVar2 + 8) = 0; + *(undefined8 *)((longlong)pvVar2 + 0x10) = 0; + *(undefined8 *)((longlong)pvVar2 + 0x18) = 0; + operator_delete(pvVar2); + } + FUN_1400302f0(puVar1); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140004af0.c b/decomp/Agent_Release_x64/full/functions/0x140004af0.c new file mode 100644 index 00000000..f7e96dfb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140004af0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140004af0 FUN_140004af0 + * Pseudocode, not original source. */ + +void FUN_140004af0(undefined8 *param_1) + +{ + if ((ulonglong *)*param_1 != (ulonglong *)0x0) { + FUN_140004b30((ulonglong *)*param_1,(ulonglong *)param_1[1]); + operator_delete((void *)*param_1); + } + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140004b30.c b/decomp/Agent_Release_x64/full/functions/0x140004b30.c new file mode 100644 index 00000000..181ec0bd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140004b30.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140004b30 FUN_140004b30 + * Pseudocode, not original source. */ + +void FUN_140004b30(ulonglong *param_1,ulonglong *param_2) + +{ + ulonglong *puVar1; + ulonglong *puVar2; + + if (param_1 != param_2) { + puVar2 = param_1 + 0x12; + do { + if ((void *)puVar2[9] != (void *)0x0) { + operator_delete((void *)puVar2[9]); + } + puVar2[9] = 0; + puVar2[10] = 0; + puVar2[0xb] = 0; + if (7 < *puVar2) { + operator_delete((void *)puVar2[-3]); + } + *puVar2 = 7; + puVar2[-1] = 0; + *(undefined2 *)(puVar2 + -3) = 0; + if (7 < puVar2[-5]) { + operator_delete((void *)puVar2[-8]); + } + puVar2[-5] = 7; + puVar2[-6] = 0; + *(undefined2 *)(puVar2 + -8) = 0; + if (7 < puVar2[-10]) { + operator_delete((void *)puVar2[-0xd]); + } + puVar2[-10] = 7; + puVar2[-0xb] = 0; + *(undefined2 *)(puVar2 + -0xd) = 0; + puVar1 = puVar2 + 0xd; + puVar2 = puVar2 + 0x1f; + } while (puVar1 != param_2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140004c00.c b/decomp/Agent_Release_x64/full/functions/0x140004c00.c new file mode 100644 index 00000000..6bbc54ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140004c00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140004c00 FUN_140004c00 + * Pseudocode, not original source. */ + +void FUN_140004c00(longlong param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400033f0((undefined8 *)(param_1 + -8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140004c10.c b/decomp/Agent_Release_x64/full/functions/0x140004c10.c new file mode 100644 index 00000000..b53016e4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140004c10.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140004c10 FUN_140004c10 + * Pseudocode, not original source. */ + +void FUN_140004c10(undefined8 *param_1) + +{ + if ((void *)*param_1 != (void *)0x0) { + operator_delete((void *)*param_1); + } + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140004c40.c b/decomp/Agent_Release_x64/full/functions/0x140004c40.c new file mode 100644 index 00000000..7c5c0625 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140004c40.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140004c40 FUN_140004c40 + * Pseudocode, not original source. */ + +void * FUN_140004c40(undefined8 param_1,ulonglong param_2) + +{ + void *pvVar1; + char *local_res10 [3]; + undefined **local_28 [5]; + + if (param_2 == 0) { + return (void *)0x0; + } + if ((param_2 < 0x4000000000000000) && (pvVar1 = operator_new(param_2 * 4), pvVar1 != (void *)0x0)) + { + return pvVar1; + } + local_res10[0] = (char *)0x0; + std::exception::exception((exception *)local_28,local_res10); + local_28[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_28,(ThrowInfo *)&DAT_140151ad0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140004cb0.c b/decomp/Agent_Release_x64/full/functions/0x140004cb0.c new file mode 100644 index 00000000..649a63c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140004cb0.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140004cb0 FUN_140004cb0 + * Pseudocode, not original source. */ + +undefined8 FUN_140004cb0(undefined8 *param_1,ulonglong param_2) + +{ + code *pcVar1; + undefined8 uVar2; + void *pvVar3; + + uVar2 = 0; + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + if (param_2 != 0) { + if (0x3fffffffffffffff < param_2) { + std::_Xlength_error("vector too long"); + pcVar1 = (code *)swi(3); + uVar2 = (*pcVar1)(); + return uVar2; + } + pvVar3 = FUN_140004c40(param_1 + 3,param_2); + *param_1 = pvVar3; + param_1[1] = pvVar3; + pvVar3 = (void *)((longlong)pvVar3 + param_2 * 4); + param_1[2] = pvVar3; + uVar2 = CONCAT71((int7)((ulonglong)pvVar3 >> 8),1); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140004d20.c b/decomp/Agent_Release_x64/full/functions/0x140004d20.c new file mode 100644 index 00000000..d96b37bd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140004d20.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140004d20 FUN_140004d20 + * Pseudocode, not original source. */ + +undefined4 * FUN_140004d20(undefined4 *param_1,undefined4 *param_2,undefined4 *param_3) + +{ + for (; param_1 != param_2; param_1 = param_1 + 1) { + if (param_3 != (undefined4 *)0x0) { + *param_3 = *param_1; + } + param_3 = param_3 + 1; + } + return param_3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140004d60.c b/decomp/Agent_Release_x64/full/functions/0x140004d60.c new file mode 100644 index 00000000..29c63ef7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140004d60.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140004d60 FUN_140004d60 + * Pseudocode, not original source. */ + +undefined8 * FUN_140004d60(undefined8 *param_1,longlong *param_2) + +{ + code *pcVar1; + undefined8 *puVar2; + undefined4 *puVar3; + ulonglong uVar4; + + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + uVar4 = param_2[1] - *param_2 >> 2; + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + if (uVar4 != 0) { + if (0x3fffffffffffffff < uVar4) { + std::_Xlength_error("vector too long"); + pcVar1 = (code *)swi(3); + puVar2 = (undefined8 *)(*pcVar1)(); + return puVar2; + } + puVar3 = FUN_140004c40(param_1 + 3,uVar4); + *param_1 = puVar3; + param_1[1] = puVar3; + param_1[2] = puVar3 + uVar4; + puVar3 = FUN_140004d20((undefined4 *)*param_2,(undefined4 *)param_2[1],puVar3); + param_1[1] = puVar3; + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140004e10.c b/decomp/Agent_Release_x64/full/functions/0x140004e10.c new file mode 100644 index 00000000..4ea7dc43 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140004e10.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140004e10 FUN_140004e10 + * Pseudocode, not original source. */ + +void FUN_140004e10(longlong param_1) + +{ + if (7 < *(ulonglong *)(param_1 + 0x90)) { + operator_delete(*(void **)(param_1 + 0x78)); + } + *(undefined8 *)(param_1 + 0x90) = 7; + *(undefined8 *)(param_1 + 0x88) = 0; + *(undefined2 *)(param_1 + 0x78) = 0; + if (7 < *(ulonglong *)(param_1 + 0x68)) { + operator_delete(*(void **)(param_1 + 0x50)); + } + *(undefined8 *)(param_1 + 0x68) = 7; + *(undefined8 *)(param_1 + 0x60) = 0; + *(undefined2 *)(param_1 + 0x50) = 0; + if (7 < *(ulonglong *)(param_1 + 0x40)) { + operator_delete(*(void **)(param_1 + 0x28)); + } + *(undefined8 *)(param_1 + 0x40) = 7; + *(undefined8 *)(param_1 + 0x38) = 0; + *(undefined2 *)(param_1 + 0x28) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140004ea0.c b/decomp/Agent_Release_x64/full/functions/0x140004ea0.c new file mode 100644 index 00000000..c86577de --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140004ea0.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140004ea0 FUN_140004ea0 + * Pseudocode, not original source. */ + +undefined4 * FUN_140004ea0(undefined4 *param_1,undefined4 *param_2) + +{ + *param_1 = *param_2; + param_1[1] = param_2[1]; + param_1[2] = param_2[2]; + *(undefined1 *)(param_1 + 3) = *(undefined1 *)(param_2 + 3); + param_1[4] = param_2[4]; + param_1[5] = param_2[5]; + param_1[6] = param_2[6]; + param_1[7] = param_2[7]; + *(undefined1 *)(param_1 + 8) = *(undefined1 *)(param_2 + 8); + *(undefined8 *)(param_1 + 0x10) = 7; + *(undefined8 *)(param_1 + 0xe) = 0; + *(undefined2 *)(param_1 + 10) = 0; + FUN_140001600((longlong *)(param_1 + 10),(longlong *)(param_2 + 10),0,0xffffffffffffffff); + *(undefined8 *)(param_1 + 0x1a) = 7; + *(undefined8 *)(param_1 + 0x18) = 0; + *(undefined2 *)(param_1 + 0x14) = 0; + FUN_140001600((longlong *)(param_1 + 0x14),(longlong *)(param_2 + 0x14),0,0xffffffffffffffff); + *(undefined8 *)(param_1 + 0x24) = 7; + *(undefined8 *)(param_1 + 0x22) = 0; + *(undefined2 *)(param_1 + 0x1e) = 0; + FUN_140001600((longlong *)(param_1 + 0x1e),(longlong *)(param_2 + 0x1e),0,0xffffffffffffffff); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140004f80.c b/decomp/Agent_Release_x64/full/functions/0x140004f80.c new file mode 100644 index 00000000..7bfbe397 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140004f80.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140004f80 FUN_140004f80 + * Pseudocode, not original source. */ + +void FUN_140004f80(undefined8 *param_1) + +{ + if (0xf < (ulonglong)param_1[3]) { + operator_delete((void *)*param_1); + } + param_1[3] = 0xf; + param_1[2] = 0; + *(undefined1 *)param_1 = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140004fc0.c b/decomp/Agent_Release_x64/full/functions/0x140004fc0.c new file mode 100644 index 00000000..ef81b0f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140004fc0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140004fc0 FUN_140004fc0 + * Pseudocode, not original source. */ + +undefined8 * FUN_140004fc0(undefined8 *param_1,byte param_2) + +{ + DAT_1401626f8 = 0; + *param_1 = MBISingleton::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140005000.c b/decomp/Agent_Release_x64/full/functions/0x140005000.c new file mode 100644 index 00000000..7f109593 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140005000.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140005000 FUN_140005000 + * Pseudocode, not original source. */ + +void FUN_140005000(undefined8 *param_1) + +{ + DAT_1401626f8 = 0; + *param_1 = MBISingleton::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140005020.c b/decomp/Agent_Release_x64/full/functions/0x140005020.c new file mode 100644 index 00000000..b3ea50af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140005020.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140005020 FUN_140005020 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140005020(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + ulonglong uVar2; + undefined7 uVar3; + + uVar3 = (undefined7)((ulonglong)param_3 >> 8); + param_1[5] = 0; + FUN_140030200(param_1,param_2,param_3,param_4); + param_1[6] = PTR_DAT_140155010; + param_1[7] = 0; + *(undefined4 *)(param_1 + 8) = 0; + *param_1 = Proud::INetServerEvent::vftable; + FUN_140085230(param_1 + 1); + *param_1 = MagiAgentNetwork::vftable; + param_1[1] = MagiAgentNetwork::vftable; + param_1[9] = 0; + puVar1 = param_1 + 10; + FUN_140081fb0(puVar1); + *puVar1 = AGENT2SERVER_PROTOCOL::Proxy::vftable; + if (*(int *)((longlong)param_1 + 100) != 1) { + FUN_14002fa10((wchar_t *)PTR_u_PIDL_compiler_is_incompatible_to_140156790); + } + *puVar1 = RNP::Agent2ServerProxy::vftable; + *(undefined1 *)(param_1 + 0xd) = 0; + uVar2 = FUN_14002e790(); + FUN_14002e600((undefined4 *)(param_1 + 0xe),uVar2 & 0xffffffff,CONCAT71(uVar3,1),param_4); + param_1[0x15] = 0; + param_1[0x16] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140005100.c b/decomp/Agent_Release_x64/full/functions/0x140005100.c new file mode 100644 index 00000000..b8981750 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140005100.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140005100 FUN_140005100 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140005100(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140005130(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140005130.c b/decomp/Agent_Release_x64/full/functions/0x140005130.c new file mode 100644 index 00000000..22a89967 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140005130.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140005130 FUN_140005130 + * Pseudocode, not original source. */ + +void FUN_140005130(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + + *param_1 = MagiAgentNetwork::vftable; + param_1[1] = MagiAgentNetwork::vftable; + plVar1 = param_1 + 5; + if ((undefined8 *)*plVar1 != (undefined8 *)0x0) { + param_2 = 1; + (*(code *)**(undefined8 **)*plVar1)(); + } + *plVar1 = 0; + FUN_14002e7a0((undefined4 *)(param_1 + 0xe),param_2,param_3,param_4); + param_1[10] = RNP::Agent2ServerProxy::vftable; + FUN_140081fe0(param_1 + 10); + param_1[1] = RNP::Server2AgentStub::vftable; + FUN_140085260(param_1 + 1); + *param_1 = Proud::INetServerEvent::vftable; + FUN_14003b5c0(param_1); + if ((undefined8 *)*plVar1 != (undefined8 *)0x0) { + param_2 = 1; + (*(code *)**(undefined8 **)*plVar1)(); + } + *plVar1 = 0; + FUN_140003240(param_1 + 6,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140005200.c b/decomp/Agent_Release_x64/full/functions/0x140005200.c new file mode 100644 index 00000000..3ac3ff73 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140005200.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140005200 FUN_140005200 + * Pseudocode, not original source. */ + +void FUN_140005200(undefined8 param_1,int *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + longlong *plVar2; + int *piVar3; + wchar_t *pwVar4; + undefined *puVar5; + undefined *local_res18 [2]; + + plVar2 = FUN_14003c240(param_2,(longlong *)local_res18,param_3,param_4); + puVar5 = (undefined *)*plVar2; + if ((undefined *)*plVar2 == (undefined *)0x0) { + puVar5 = PTR_DAT_140155010; + } + pwVar4 = L"OnError MagiAgentNetwork : %s"; + FUN_140010d30(L"OnError MagiAgentNetwork : %s",puVar5,param_3,param_4); + if (((local_res18[0] != (undefined *)0x0) && (local_res18[0] != PTR_DAT_140155010)) && + (local_res18[0] + -8 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(pwVar4,puVar5,param_3,param_4); + FUN_14002e6e0(piVar3); + piVar1 = (int *)(local_res18[0] + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_res18[0] + -8); + } + FUN_14002e770((longlong)piVar3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400052a0.c b/decomp/Agent_Release_x64/full/functions/0x1400052a0.c new file mode 100644 index 00000000..73fcef0f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400052a0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400052a0 FUN_1400052a0 + * Pseudocode, not original source. */ + +void FUN_1400052a0(undefined8 param_1,int *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + longlong *plVar2; + int *piVar3; + wchar_t *pwVar4; + undefined *puVar5; + undefined *local_res18 [2]; + + plVar2 = FUN_14003c240(param_2,(longlong *)local_res18,param_3,param_4); + puVar5 = (undefined *)*plVar2; + if ((undefined *)*plVar2 == (undefined *)0x0) { + puVar5 = PTR_DAT_140155010; + } + pwVar4 = L"OnWarning MagiAgentNetwork : %s"; + FUN_140010d30(L"OnWarning MagiAgentNetwork : %s",puVar5,param_3,param_4); + if (((local_res18[0] != (undefined *)0x0) && (local_res18[0] != PTR_DAT_140155010)) && + (local_res18[0] + -8 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(pwVar4,puVar5,param_3,param_4); + FUN_14002e6e0(piVar3); + piVar1 = (int *)(local_res18[0] + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_res18[0] + -8); + } + FUN_14002e770((longlong)piVar3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140005340.c b/decomp/Agent_Release_x64/full/functions/0x140005340.c new file mode 100644 index 00000000..3e0b07f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140005340.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140005340 FUN_140005340 + * Pseudocode, not original source. */ + +void FUN_140005340(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 uVar1; + + uVar1 = (**(code **)(*param_2 + 8))(param_2); + FUN_140010be0("OnException MagiAgentNetwork : %s",uVar1,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140005360.c b/decomp/Agent_Release_x64/full/functions/0x140005360.c new file mode 100644 index 00000000..34526bdf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140005360.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140005360 FUN_140005360 + * Pseudocode, not original source. */ + +void FUN_140005360(longlong param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + longlong lVar1; + longlong *plVar2; + short *psVar3; + longlong lVar4; + + plVar2 = FUN_14005c290(param_1,param_2,param_3,param_4); + *(longlong **)(param_1 + 0x28) = plVar2; + lVar4 = *plVar2; + (**(code **)(lVar4 + 0x10))(plVar2,param_1 + 8); + (**(code **)(**(longlong **)(param_1 + 0x28) + 8))(*(longlong **)(param_1 + 0x28),param_1 + 0x50); + (**(code **)(**(longlong **)(param_1 + 0x28) + 0x130))(*(longlong **)(param_1 + 0x28),param_1); + lVar1 = DAT_140162d68; + psVar3 = (short *)(DAT_140162d68 + 0x30); + *(undefined4 *)(param_1 + 0x38) = *(undefined4 *)(DAT_140162d68 + 0x80); + if (7 < *(ulonglong *)(lVar1 + 0x48)) { + psVar3 = *(short **)psVar3; + } + FUN_140006c60((longlong *)(param_1 + 0x30),psVar3,lVar4,param_4); + FUN_14002ac70((undefined8 *)(param_1 + 0x28),psVar3,lVar4,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400053e0.c b/decomp/Agent_Release_x64/full/functions/0x1400053e0.c new file mode 100644 index 00000000..797fbb8d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400053e0.c @@ -0,0 +1,110 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400053e0 FUN_1400053e0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400053e0(longlong param_1,double param_2) + +{ + ulonglong *puVar1; + ulonglong *puVar2; + ulonglong *puVar3; + ulonglong *puVar4; + undefined1 auStack_198 [32]; + undefined4 local_178 [2]; + ulonglong *local_170; + ulonglong *local_168; + undefined8 local_160; + undefined8 local_150; + undefined4 local_148 [10]; + undefined2 local_120; + undefined6 uStack_11e; + undefined8 local_110; + ulonglong local_108; + undefined2 local_f8; + undefined6 uStack_f6; + undefined8 local_e8; + ulonglong local_e0; + undefined2 local_d0; + undefined6 uStack_ce; + undefined8 local_c0; + ulonglong local_b8; + ulonglong local_a8; + ulonglong uStack_a0; + ulonglong local_98; + ulonglong local_90; + ulonglong local_88; + ulonglong local_80; + ulonglong local_78; + void *local_70; + undefined8 local_68; + undefined8 local_60; + ulonglong local_48; + + local_150 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_198; + if ((0.0 < *(double *)(DAT_140162d68 + 0x168)) && + (*(double *)(DAT_140162d68 + 0x168) < param_2 - *(double *)(param_1 + 0xa8))) { + *(double *)(param_1 + 0xa8) = param_2; + local_170 = (ulonglong *)0x0; + local_168 = (ulonglong *)0x0; + local_160 = 0; + FUN_14002ce60(DAT_140162d60,(ulonglong *)&local_170); + puVar3 = local_168; + puVar2 = local_170; + if (local_170 != local_168) { + puVar4 = local_170 + 0x17; + do { + FUN_140004ea0(local_148,(undefined4 *)(puVar4 + -0x17)); + local_a8 = puVar4[-3]; + uStack_a0 = puVar4[-2]; + local_98 = puVar4[-1]; + local_90 = *puVar4; + local_88 = puVar4[1]; + local_80 = puVar4[2]; + local_78 = puVar4[3]; + FUN_140004d60(&local_70,(longlong *)(puVar4 + 4)); + local_178[0] = 8; + (**(code **)(*(longlong *)(param_1 + 0x50) + 0x40)) + (param_1 + 0x50,local_a8 & 0xffffffff,&DAT_1401555d0,local_178); + if (local_70 != (void *)0x0) { + operator_delete(local_70); + } + local_70 = (void *)0x0; + local_68 = 0; + local_60 = 0; + if (7 < local_b8) { + operator_delete((void *)CONCAT62(uStack_ce,local_d0)); + } + local_b8 = 7; + local_c0 = 0; + local_d0 = 0; + if (7 < local_e0) { + operator_delete((void *)CONCAT62(uStack_f6,local_f8)); + } + local_e0 = 7; + local_e8 = 0; + local_f8 = 0; + if (7 < local_108) { + operator_delete((void *)CONCAT62(uStack_11e,local_120)); + } + local_108 = 7; + local_110 = 0; + local_120 = 0; + puVar1 = puVar4 + 8; + puVar4 = puVar4 + 0x1f; + } while (puVar1 != puVar3); + } + if (puVar2 != (ulonglong *)0x0) { + FUN_140004b30(puVar2,puVar3); + operator_delete(puVar2); + } + } + if (1.0 < param_2 - *(double *)(param_1 + 0xb0)) { + *(double *)(param_1 + 0xb0) = param_2; + FUN_14002c560(DAT_140162d60); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140005620.c b/decomp/Agent_Release_x64/full/functions/0x140005620.c new file mode 100644 index 00000000..0802e911 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140005620.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140005620 FUN_140005620 + * Pseudocode, not original source. */ + +void FUN_140005620(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + longlong *plVar2; + int *piVar3; + wchar_t *pwVar4; + ulonglong uVar5; + undefined *puVar6; + undefined *local_res8; + + FUN_14002e6e0((int *)(param_1 + 0x70)); + plVar2 = (longlong *)(**(code **)*param_2)(param_2,&local_res8); + puVar6 = (undefined *)*plVar2; + if ((undefined *)*plVar2 == (undefined *)0x0) { + puVar6 = PTR_DAT_140155010; + } + uVar5 = (ulonglong)*(uint *)(param_2 + 6); + pwVar4 = L"NEW SERVER : HostID:[%d][%s] \n"; + wprintf(L"NEW SERVER : HostID:[%d][%s] \n"); + if (((local_res8 != (undefined *)0x0) && (local_res8 != PTR_DAT_140155010)) && + (local_res8 + -8 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(pwVar4,uVar5,puVar6,param_4); + FUN_14002e6e0(piVar3); + piVar1 = (int *)(local_res8 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_res8 + -8); + } + FUN_14002e770((longlong)piVar3); + } + FUN_14002e770(param_1 + 0x70); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400056f0.c b/decomp/Agent_Release_x64/full/functions/0x1400056f0.c new file mode 100644 index 00000000..2d53b8f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400056f0.c @@ -0,0 +1,114 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400056f0 FUN_1400056f0 + * Pseudocode, not original source. */ + +void FUN_1400056f0(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + int *piVar2; + undefined4 uVar3; + longlong *plVar4; + int *piVar5; + longlong lVar6; + wchar_t *pwVar7; + ulonglong uVar8; + longlong lVar9; + longlong lVar10; + undefined *puVar11; + longlong local_res8; + undefined8 *local_res10; + int *local_c8; + undefined1 local_c0; + undefined8 local_b8; + undefined8 local_b0; + undefined8 local_a8; + undefined8 local_a0; + int *local_98; + undefined1 local_90; + undefined8 local_88; + undefined8 local_80 [9]; + + local_88 = 0xfffffffffffffffe; + piVar1 = (int *)(param_1 + 0x70); + local_res8 = param_1; + local_98 = piVar1; + FUN_14002e6e0(piVar1); + local_90 = 1; + plVar4 = (longlong *)(**(code **)*param_2)(param_2,&local_res10); + puVar11 = (undefined *)*plVar4; + if ((undefined *)*plVar4 == (undefined *)0x0) { + puVar11 = PTR_DAT_140155010; + } + uVar8 = (ulonglong)*(uint *)(param_2 + 6); + pwVar7 = L"DELETE SERVER : HostID:[%d][%s] \n"; + wprintf(L"DELETE SERVER : HostID:[%d][%s] \n"); + if (((local_res10 != (undefined8 *)0x0) && (local_res10 != (undefined8 *)PTR_DAT_140155010)) && + (param_1 = local_res8, local_res10 + -1 != (undefined8 *)0x0)) { + piVar5 = (int *)FUN_140030200(pwVar7,uVar8,puVar11,param_4); + local_c8 = piVar5; + FUN_14002e6e0(piVar5); + local_c0 = 1; + piVar2 = (int *)((longlong)local_res10 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(local_res10 + -1); + } + FUN_14002e770((longlong)piVar5); + param_1 = local_res8; + } + local_res10 = (undefined8 *)PTR_DAT_140155010; + lVar6 = FUN_14002c920(DAT_140162d60,*(int *)(param_2 + 6)); + if (lVar6 != 0) { + lVar10 = 0; + *(undefined4 *)(lVar6 + 0xa0) = 0; + *(undefined4 *)(lVar6 + 0xc4) = 0; + local_res10 = local_80; + piVar5 = (int *)FUN_140006c30(lVar6,local_80); + local_b8 = *(undefined8 *)(lVar6 + 0xb8); + local_b0 = *(undefined8 *)(lVar6 + 0xc0); + local_a8 = *(undefined8 *)(lVar6 + 200); + local_a0 = *(undefined8 *)(lVar6 + 0xd0); + uVar3 = *(undefined4 *)(lVar6 + 4); + lVar9 = *(longlong *)(param_1 + 0x48); + piVar2 = (int *)(lVar9 + 0x28); + local_c8 = piVar5; + FUN_14002e6e0(piVar2); + plVar4 = *(longlong **)(lVar9 + 8); + if (*plVar4 == 0) { + FUN_14002e770((longlong)piVar2); + lVar9 = lVar10; + } + else { + lVar9 = *plVar4; + FUN_14002e770((longlong)piVar2); + } + local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,uVar3); + (**(code **)(*(longlong *)(lVar9 + 0x68) + 0x40)) + ((longlong *)(lVar9 + 0x68),1,&DAT_1401555d0,&local_res10,&local_b8,piVar5); + if (*(void **)piVar5 != (void *)0x0) { + operator_delete(*(void **)piVar5); + } + piVar5[0] = 0; + piVar5[1] = 0; + piVar5[2] = 0; + piVar5[3] = 0; + piVar5[4] = 0; + piVar5[5] = 0; + uVar3 = *(undefined4 *)(lVar6 + 4); + lVar6 = *(longlong *)(local_res8 + 0x48); + FUN_14002e6e0((int *)(lVar6 + 0x28)); + if (**(longlong **)(lVar6 + 8) != 0) { + lVar10 = **(longlong **)(lVar6 + 8); + } + FUN_14002e770(lVar6 + 0x28); + local_c8 = (int *)CONCAT44(local_c8._4_4_,1); + local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,uVar3); + local_res8 = CONCAT71(local_res8._1_7_,1); + (**(code **)(*(longlong *)(lVar10 + 0x68) + 0x50)) + ((longlong *)(lVar10 + 0x68),1,&DAT_1401555d0,&local_res8,&local_c8,&local_res10); + } + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140005940.c b/decomp/Agent_Release_x64/full/functions/0x140005940.c new file mode 100644 index 00000000..87051133 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140005940.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140005940 FUN_140005940 + * Pseudocode, not original source. */ + +undefined1 FUN_140005940(void) + +{ + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140005950.c b/decomp/Agent_Release_x64/full/functions/0x140005950.c new file mode 100644 index 00000000..d2c2314b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140005950.c @@ -0,0 +1,179 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140005950 FUN_140005950 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140005950(longlong param_1,short *param_2,undefined8 param_3,uint *param_4) + +{ + ulonglong *puVar1; + ulonglong *puVar2; + ulonglong *puVar3; + BOOL BVar4; + HANDLE hProcess; + longlong lVar5; + char *_Format; + short *psVar6; + wchar_t *pwVar7; + ulonglong *puVar8; + short *psVar9; + wchar_t *pwVar10; + bool bVar11; + undefined1 auStack_188 [32]; + DWORD local_168 [2]; + ulonglong *local_160; + ulonglong *local_158; + undefined8 local_150; + undefined8 local_140; + undefined4 local_138 [10]; + void *local_110; + ulonglong local_f8; + undefined2 local_e8; + undefined6 uStack_e6; + undefined8 local_d8; + ulonglong local_d0; + undefined2 local_c0; + undefined6 uStack_be; + undefined8 local_b0; + ulonglong local_a8; + undefined8 local_98; + ulonglong uStack_90; + ulonglong local_88; + ulonglong local_80; + ulonglong local_78; + ulonglong local_70; + ulonglong local_68; + void *local_60; + undefined8 local_58; + undefined8 local_50; + ulonglong local_38; + + local_140 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_188; + bVar11 = local_38 == 0; + lVar5 = 7; + pwVar7 = param_2; + pwVar10 = L"update"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar11 = *pwVar7 == *pwVar10; + pwVar7 = pwVar7 + 1; + pwVar10 = pwVar10 + 1; + } while (bVar11); + if (!bVar11) { + lVar5 = 5; + psVar6 = param_2; + psVar9 = &DAT_14011ca78; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar11 = *psVar6 == *psVar9; + psVar6 = psVar6 + 1; + psVar9 = psVar9 + 1; + } while (bVar11); + if (bVar11) { + local_160 = (ulonglong *)0x0; + local_158 = (ulonglong *)0x0; + local_150 = 0; + FUN_14002ce60(DAT_140162d60,(ulonglong *)&local_160); + puVar3 = local_158; + puVar2 = local_160; + if (local_160 != local_158) { + puVar8 = local_160 + 0x17; + do { + FUN_140004ea0(local_138,(undefined4 *)(puVar8 + -0x17)); + local_98 = puVar8[-3]; + uStack_90 = puVar8[-2]; + local_88 = puVar8[-1]; + local_80 = *puVar8; + local_78 = puVar8[1]; + local_70 = puVar8[2]; + local_68 = puVar8[3]; + FUN_140004d60(&local_60,(longlong *)(puVar8 + 4)); + hProcess = OpenProcess(0x1f0fff,0,local_98._4_4_); + if (hProcess != (HANDLE)0x0) { + BVar4 = GetExitCodeProcess(hProcess,local_168); + if ((BVar4 != 0) && (local_168[0] == 0x103)) { + TerminateProcess(hProcess,0); + } + CloseHandle(hProcess); + } + if (local_60 != (void *)0x0) { + operator_delete(local_60); + } + local_60 = (void *)0x0; + local_58 = 0; + local_50 = 0; + if (7 < local_a8) { + operator_delete((void *)CONCAT62(uStack_be,local_c0)); + } + local_a8 = 7; + local_b0 = 0; + local_c0 = 0; + if (7 < local_d0) { + operator_delete((void *)CONCAT62(uStack_e6,local_e8)); + } + local_d0 = 7; + local_d8 = 0; + local_e8 = 0; + if (7 < local_f8) { + operator_delete(local_110); + } + puVar1 = puVar8 + 8; + puVar8 = puVar8 + 0x1f; + } while (puVar1 != puVar3); + } + if (puVar2 != (ulonglong *)0x0) { + FUN_140004b30(puVar2,puVar3); + operator_delete(puVar2); + } + } + else { + lVar5 = 5; + psVar6 = param_2; + psVar9 = &DAT_14011ca88; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar11 = *psVar6 == *psVar9; + psVar6 = psVar6 + 1; + psVar9 = psVar9 + 1; + } while (bVar11); + if (bVar11) { + bVar11 = *(char *)(DAT_140162d68 + 0x171) == '\0'; + *(bool *)(DAT_140162d68 + 0x171) = bVar11; + _Format = "Auto Revive On !!!\n"; + if (!bVar11) { + _Format = "Auto Revive Off !!!\n"; + } + printf(_Format); + FUN_140006940(param_1,7,param_3,(longlong)param_4); + if (*(longlong *)(DAT_1401626f8 + 0xa8) != 0) { + FUN_140008a40(*(longlong *)(DAT_1401626f8 + 0xa8)); + } + } + else { + lVar5 = 9; + pwVar7 = param_2; + pwVar10 = L"serveron"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar11 = *pwVar7 == *pwVar10; + pwVar7 = pwVar7 + 1; + pwVar10 = pwVar10 + 1; + } while (bVar11); + if (bVar11) { + FUN_140009890(lVar5,param_2,param_3,param_4); + } + else { + FUN_140006520(param_1,param_2,param_3,(longlong)param_4); + } + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140005bf0.c b/decomp/Agent_Release_x64/full/functions/0x140005bf0.c new file mode 100644 index 00000000..344b1b80 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140005bf0.c @@ -0,0 +1,202 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140005bf0 FUN_140005bf0 + * Pseudocode, not original source. */ + +void FUN_140005bf0(longlong param_1,ulonglong param_2,uint param_3,ulonglong param_4,short *param_5) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + int *piVar4; + uint *puVar5; + longlong lVar6; + longlong *plVar7; + undefined ***pppuVar8; + uint *puVar9; + LPVOID pvVar10; + uint uVar11; + ulonglong uVar12; + LPVOID pvVar13; + undefined *puVar14; + uint uVar15; + uint *local_68; + undefined8 local_60; + int *local_58; + undefined1 local_50; + undefined **local_48; + longlong *local_40; + LPVOID local_38; + ulonglong local_30; + undefined8 local_28; + + local_60 = 0xfffffffffffffffe; + local_48 = Proud::CFastArray::vftable; + uVar15 = 0; + local_40 = (longlong *)0x0; + local_38 = (LPVOID)0x0; + local_30 = 0; + local_28 = 0; + lVar6 = DAT_140162d60; + if (param_3 == 0) { + uVar12 = param_2 & 0xffffffff; + pppuVar8 = &local_48; + FUN_14002cb80(DAT_140162d60,(longlong)pppuVar8,uVar12,param_4); + } + else { + param_4 = (ulonglong)(byte)param_3; + uVar12 = param_2 & 0xffffffff; + pppuVar8 = &local_48; + FUN_14002cce0(DAT_140162d60,(longlong)pppuVar8,uVar12,param_4); + } + FUN_140030200(lVar6,pppuVar8,uVar12,param_4); + local_68 = (uint *)PTR_DAT_140155010; + uVar1 = FUN_140030080(param_5); + uVar3 = 0; + pvVar13 = (LPVOID)0x0; + if ((local_68 != (uint *)0x0) && (pvVar13 = (LPVOID)0x0, local_68 != (uint *)PTR_DAT_140155010)) { + pvVar13 = (LPVOID)(ulonglong)local_68[-2]; + } + uVar2 = uVar1; + if ((((int)uVar1 <= (int)pvVar13) && (uVar2 = uVar3, local_68 != (uint *)0x0)) && + (local_68 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_68[-2]; + } + uVar11 = 1; + if (1 < (int)uVar2) { + uVar11 = uVar2; + } + uVar2 = uVar3; + if ((local_68 != (uint *)0x0) && (local_68 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_68[-2]; + } + if ((int)uVar2 < (int)uVar11) { + puVar5 = local_68; + if (local_68 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + local_68 = puVar5; + if ((int)uVar11 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar11 == 0) { + local_68 = (uint *)PTR_DAT_140155010; + if (((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) && + (puVar5 + -2 != (uint *)0x0)) { + local_68 = puVar5; + piVar4 = (int *)FUN_140030200(puVar5,PTR_DAT_140155010,pvVar13,param_4); + local_58 = piVar4; + FUN_14002e6e0(piVar4); + local_50 = 1; + puVar9 = puVar5 + -1; + *puVar9 = *puVar9 - 1; + if (*puVar9 == 0) { + FUN_1400302f0(puVar5 + -2); + } + FUN_14002e770((longlong)piVar4); + local_68 = (uint *)PTR_DAT_140155010; + } + } + else { + uVar2 = uVar3; + if ((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) { + uVar2 = puVar5[-2]; + } + if (uVar11 != uVar2) { + puVar5 = (uint *)FUN_140030280((longlong)(int)uVar11 * 2 + 10); + if (puVar5 != (uint *)0x0) { + *puVar5 = 0; + puVar5[1] = 1; + } + *puVar5 = uVar11; + uVar2 = uVar3; + if ((local_68 != (uint *)0x0) && (local_68 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_68[-2]; + } + puVar9 = (uint *)PTR_DAT_140155010; + if ((int)uVar11 < (int)uVar2) { +LAB_140005d9e: + if (local_68 != (uint *)0x0) { + puVar9 = local_68; + } + } + else { + uVar11 = uVar3; + if (local_68 != (uint *)0x0) { + if (local_68 != (uint *)PTR_DAT_140155010) { + uVar11 = local_68[-2]; + } + goto LAB_140005d9e; + } + } + uVar12 = (ulonglong)uVar11; + FUN_1400300b0(puVar5 + 2,puVar9,uVar11); + FUN_140003240((longlong *)&local_68,puVar9,uVar12,param_4); + local_68 = puVar5 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_68); + puVar5 = local_68; + if (local_68 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar5,param_5,uVar1); + puVar5 = local_68; + if (local_68 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + uVar3 = FUN_140030080((short *)puVar5); + pvVar13 = local_38; + uVar1 = uVar15; + if (0 < (int)uVar3) { + uVar1 = uVar3; + } + uVar3 = uVar15; + if ((local_68 != (uint *)0x0) && (local_68 != (uint *)PTR_DAT_140155010)) { + uVar3 = local_68[-2]; + } + if (((int)uVar3 <= (int)uVar1) && (uVar1 = uVar15, local_68 != (uint *)0x0)) { + if (local_68 == (uint *)PTR_DAT_140155010) goto LAB_140005e4f; + uVar1 = local_68[-2]; + } + if (((local_68 != (uint *)PTR_DAT_140155010) && (local_68 != (uint *)0x0)) && + (local_68 + -2 != (uint *)0x0)) { + local_68[-2] = uVar1; + *(undefined2 *)((longlong)local_68 + (longlong)(int)uVar1 * 2) = 0; + } +LAB_140005e4f: + uVar12 = local_30 & 0xffffffff; + pvVar10 = local_38; + if ((int)local_30 == 0) { + pvVar10 = (LPVOID)0x0; + } + plVar7 = (longlong *)(param_1 + 0x50); + puVar14 = &DAT_1401555d0; + (**(code **)(*plVar7 + 0x48))(); + puVar5 = local_68; + if (((local_68 != (uint *)0x0) && (local_68 != (uint *)PTR_DAT_140155010)) && + (puVar9 = local_68 + -2, puVar9 != (uint *)0x0)) { + piVar4 = (int *)FUN_140030200(plVar7,pvVar10,uVar12,puVar14); + local_58 = piVar4; + FUN_14002e6e0(piVar4); + local_50 = 1; + puVar5 = puVar5 + -1; + *puVar5 = *puVar5 - 1; + if (*puVar5 == 0) { + FUN_1400302f0(puVar9); + } + FUN_14002e770((longlong)piVar4); + } + if (pvVar13 != (LPVOID)0x0) { + if (local_40 == (longlong *)0x0) { + FUN_1400302f0(pvVar13); + } + else { + (**(code **)(*local_40 + 0x18))(local_40,pvVar13); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140005f10.c b/decomp/Agent_Release_x64/full/functions/0x140005f10.c new file mode 100644 index 00000000..162be3a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140005f10.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140005f10 FUN_140005f10 + * Pseudocode, not original source. */ + +void FUN_140005f10(longlong param_1,undefined4 param_2,undefined8 param_3,longlong param_4) + +{ + LPVOID pvVar1; + LPVOID pvVar2; + undefined4 local_res10 [2]; + undefined **local_30; + longlong *local_28; + LPVOID local_20; + ulonglong local_18; + undefined8 local_10; + + local_30 = Proud::CFastArray::vftable; + local_28 = (longlong *)0x0; + local_20 = (LPVOID)0x0; + local_18 = 0; + local_10 = 0; + local_res10[0] = param_2; + FUN_14002ca30(DAT_140162d60,(longlong)&local_30,param_3,param_4); + pvVar1 = local_20; + if ((int)local_18 < 1) { + if (local_20 == (LPVOID)0x0) { + return; + } + if (local_28 != (longlong *)0x0) { + (**(code **)(*local_28 + 0x18))(local_28,local_20); + return; + } + } + else { + pvVar2 = local_20; + if ((int)local_18 == 0) { + pvVar2 = (LPVOID)0x0; + } + (**(code **)(*(longlong *)(param_1 + 0x50) + 0x58)) + ((longlong *)(param_1 + 0x50),pvVar2,local_18 & 0xffffffff,&DAT_1401555d0,local_res10) + ; + if (pvVar1 == (LPVOID)0x0) { + return; + } + if (local_28 != (longlong *)0x0) { + (**(code **)(*local_28 + 0x18))(local_28,pvVar1); + return; + } + } + FUN_1400302f0(pvVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140005ff0.c b/decomp/Agent_Release_x64/full/functions/0x140005ff0.c new file mode 100644 index 00000000..454c5964 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140005ff0.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140005ff0 FUN_140005ff0 + * Pseudocode, not original source. */ + +void FUN_140005ff0(longlong param_1,undefined4 param_2,undefined8 param_3,longlong param_4) + +{ + LPVOID pvVar1; + LPVOID pvVar2; + undefined4 local_res10 [2]; + undefined4 local_res18 [2]; + undefined4 local_res20 [2]; + undefined **local_40; + longlong *local_38; + LPVOID local_30; + ulonglong local_28; + undefined8 local_20; + + local_res20[0] = (undefined4)param_4; + local_res18[0] = (undefined4)param_3; + local_40 = Proud::CFastArray::vftable; + local_38 = (longlong *)0x0; + local_30 = (LPVOID)0x0; + local_28 = 0; + local_20 = 0; + local_res10[0] = param_2; + FUN_14002ca30(DAT_140162d60,(longlong)&local_40,param_3,param_4); + pvVar1 = local_30; + if ((int)local_28 < 1) { + if (local_30 == (LPVOID)0x0) { + return; + } + if (local_38 != (longlong *)0x0) { + (**(code **)(*local_38 + 0x18))(local_38,local_30); + return; + } + } + else { + pvVar2 = local_30; + if ((int)local_28 == 0) { + pvVar2 = (LPVOID)0x0; + } + (**(code **)(*(longlong *)(param_1 + 0x50) + 0x68)) + ((longlong *)(param_1 + 0x50),pvVar2,local_28 & 0xffffffff,&DAT_1401555d0,local_res10, + local_res18,local_res20); + if (pvVar1 == (LPVOID)0x0) { + return; + } + if (local_38 != (longlong *)0x0) { + (**(code **)(*local_38 + 0x18))(local_38,pvVar1); + return; + } + } + FUN_1400302f0(pvVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400060f0.c b/decomp/Agent_Release_x64/full/functions/0x1400060f0.c new file mode 100644 index 00000000..48481163 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400060f0.c @@ -0,0 +1,201 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400060f0 FUN_1400060f0 + * Pseudocode, not original source. */ + +void FUN_1400060f0(longlong param_1,uint param_2,short *param_3,longlong param_4) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + int *piVar4; + uint *puVar5; + longlong lVar6; + longlong *plVar7; + LPVOID pvVar8; + undefined ***pppuVar9; + uint *puVar10; + LPVOID pvVar11; + uint uVar12; + ulonglong uVar13; + undefined *puVar14; + uint uVar15; + uint *local_res20; + undefined **local_50; + longlong *local_48; + LPVOID local_40; + ulonglong local_38; + undefined8 local_30; + + local_50 = Proud::CFastArray::vftable; + uVar15 = 0; + local_48 = (longlong *)0x0; + local_40 = (LPVOID)0x0; + local_38 = 0; + local_30 = 0; + uVar13 = (ulonglong)param_2; + pppuVar9 = &local_50; + lVar6 = DAT_140162d60; + FUN_14002cb80(DAT_140162d60,(longlong)pppuVar9,uVar13,param_4); + if ((int)local_38 < 1) { + if (local_40 == (LPVOID)0x0) { + return; + } + pvVar8 = local_40; + if (local_48 != (longlong *)0x0) { + (**(code **)(*local_48 + 0x18))(local_48,local_40); + return; + } + goto LAB_1400063f6; + } + FUN_140030200(lVar6,pppuVar9,uVar13,param_4); + local_res20 = (uint *)PTR_DAT_140155010; + uVar1 = FUN_140030080(param_3); + uVar3 = 0; + pvVar8 = (LPVOID)0x0; + if ((local_res20 != (uint *)0x0) && + (pvVar8 = (LPVOID)0x0, local_res20 != (uint *)PTR_DAT_140155010)) { + pvVar8 = (LPVOID)(ulonglong)local_res20[-2]; + } + uVar2 = uVar1; + if ((((int)uVar1 <= (int)pvVar8) && (uVar2 = uVar3, local_res20 != (uint *)0x0)) && + (local_res20 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_res20[-2]; + } + uVar12 = 1; + if (1 < (int)uVar2) { + uVar12 = uVar2; + } + uVar2 = uVar3; + if ((local_res20 != (uint *)0x0) && (local_res20 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_res20[-2]; + } + if ((int)uVar2 < (int)uVar12) { + puVar5 = local_res20; + if (local_res20 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + local_res20 = puVar5; + if ((int)uVar12 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar12 == 0) { + local_res20 = (uint *)PTR_DAT_140155010; + if (((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) && + (puVar5 + -2 != (uint *)0x0)) { + local_res20 = puVar5; + piVar4 = (int *)FUN_140030200(puVar5,PTR_DAT_140155010,pvVar8,param_4); + FUN_14002e6e0(piVar4); + puVar10 = puVar5 + -1; + *puVar10 = *puVar10 - 1; + if (*puVar10 == 0) { + FUN_1400302f0(puVar5 + -2); + } + FUN_14002e770((longlong)piVar4); + local_res20 = (uint *)PTR_DAT_140155010; + } + } + else { + uVar2 = uVar3; + if ((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) { + uVar2 = puVar5[-2]; + } + if (uVar12 != uVar2) { + puVar5 = (uint *)FUN_140030280((longlong)(int)uVar12 * 2 + 10); + if (puVar5 != (uint *)0x0) { + *puVar5 = 0; + puVar5[1] = 1; + } + *puVar5 = uVar12; + uVar2 = uVar3; + if ((local_res20 != (uint *)0x0) && (local_res20 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_res20[-2]; + } + puVar10 = (uint *)PTR_DAT_140155010; + if ((int)uVar12 < (int)uVar2) { +LAB_1400062b2: + if (local_res20 != (uint *)0x0) { + puVar10 = local_res20; + } + } + else { + uVar12 = uVar3; + if (local_res20 != (uint *)0x0) { + if (local_res20 != (uint *)PTR_DAT_140155010) { + uVar12 = local_res20[-2]; + } + goto LAB_1400062b2; + } + } + uVar13 = (ulonglong)uVar12; + FUN_1400300b0(puVar5 + 2,puVar10,uVar12); + FUN_140003240((longlong *)&local_res20,puVar10,uVar13,param_4); + local_res20 = puVar5 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_res20); + puVar5 = local_res20; + if (local_res20 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar5,param_3,uVar1); + puVar5 = local_res20; + if (local_res20 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + uVar3 = FUN_140030080((short *)puVar5); + pvVar8 = local_40; + uVar1 = uVar15; + if (0 < (int)uVar3) { + uVar1 = uVar3; + } + uVar3 = uVar15; + if ((local_res20 != (uint *)0x0) && (local_res20 != (uint *)PTR_DAT_140155010)) { + uVar3 = local_res20[-2]; + } + if (((int)uVar1 < (int)uVar3) || (uVar1 = uVar15, local_res20 == (uint *)0x0)) { +LAB_140006344: + if (((local_res20 != (uint *)PTR_DAT_140155010) && (local_res20 != (uint *)0x0)) && + (local_res20 + -2 != (uint *)0x0)) { + local_res20[-2] = uVar1; + *(undefined2 *)((longlong)local_res20 + (longlong)(int)uVar1 * 2) = 0; + } + } + else if (local_res20 != (uint *)PTR_DAT_140155010) { + uVar1 = local_res20[-2]; + goto LAB_140006344; + } + pvVar11 = local_40; + if ((int)local_38 == 0) { + pvVar11 = (LPVOID)0x0; + } + plVar7 = (longlong *)(param_1 + 0x50); + puVar14 = &DAT_1401555d0; + uVar13 = local_38 & 0xffffffff; + (**(code **)(*plVar7 + 0x78))(); + puVar5 = local_res20; + if (((local_res20 != (uint *)0x0) && (local_res20 != (uint *)PTR_DAT_140155010)) && + (puVar10 = local_res20 + -2, puVar10 != (uint *)0x0)) { + piVar4 = (int *)FUN_140030200(plVar7,pvVar11,uVar13,puVar14); + FUN_14002e6e0(piVar4); + puVar5 = puVar5 + -1; + *puVar5 = *puVar5 - 1; + if (*puVar5 == 0) { + FUN_1400302f0(puVar10); + } + FUN_14002e770((longlong)piVar4); + } + if (pvVar8 == (LPVOID)0x0) { + return; + } + if (local_48 != (longlong *)0x0) { + (**(code **)(*local_48 + 0x18))(local_48,pvVar8); + return; + } +LAB_1400063f6: + FUN_1400302f0(pvVar8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006420.c b/decomp/Agent_Release_x64/full/functions/0x140006420.c new file mode 100644 index 00000000..b905b129 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006420.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006420 FUN_140006420 + * Pseudocode, not original source. */ + +void FUN_140006420(longlong param_1,uint param_2,undefined4 param_3,longlong param_4) + +{ + LPVOID pvVar1; + LPVOID pvVar2; + uint local_res10 [2]; + undefined4 local_res18 [2]; + undefined8 uVar3; + undefined **local_30; + longlong *local_28; + LPVOID local_20; + ulonglong local_18; + undefined8 local_10; + + uVar3 = 0xfffffffffffffffe; + local_30 = Proud::CFastArray::vftable; + local_28 = (longlong *)0x0; + local_20 = (LPVOID)0x0; + local_18 = 0; + local_10 = 0; + local_res10[0] = param_2; + local_res18[0] = param_3; + FUN_14002cb80(DAT_140162d60,(longlong)&local_30,(ulonglong)param_2,param_4); + pvVar1 = local_20; + if ((int)local_18 < 1) { + if (local_20 == (LPVOID)0x0) { + return; + } + if (local_28 != (longlong *)0x0) { + (**(code **)(*local_28 + 0x18))(local_28,local_20); + return; + } + } + else { + pvVar2 = local_20; + if ((int)local_18 == 0) { + pvVar2 = (LPVOID)0x0; + } + (**(code **)(*(longlong *)(param_1 + 0x50) + 0x88)) + ((longlong *)(param_1 + 0x50),pvVar2,local_18 & 0xffffffff,&DAT_1401555d0,local_res10, + local_res18,uVar3); + if (pvVar1 == (LPVOID)0x0) { + return; + } + if (local_28 != (longlong *)0x0) { + (**(code **)(*local_28 + 0x18))(local_28,pvVar1); + return; + } + } + FUN_1400302f0(pvVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006520.c b/decomp/Agent_Release_x64/full/functions/0x140006520.c new file mode 100644 index 00000000..9dbb8982 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006520.c @@ -0,0 +1,200 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006520 FUN_140006520 + * Pseudocode, not original source. */ + +void FUN_140006520(longlong param_1,short *param_2,undefined8 param_3,longlong param_4) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + int *piVar4; + uint *puVar5; + longlong lVar6; + longlong *plVar7; + LPVOID pvVar8; + undefined ***pppuVar9; + uint *puVar10; + LPVOID pvVar11; + uint uVar12; + ulonglong uVar13; + undefined *puVar14; + uint uVar15; + uint *local_res18 [2]; + undefined **local_50; + longlong *local_48; + LPVOID local_40; + ulonglong local_38; + undefined8 local_30; + + local_50 = Proud::CFastArray::vftable; + uVar15 = 0; + local_48 = (longlong *)0x0; + local_40 = (LPVOID)0x0; + local_38 = 0; + local_30 = 0; + pppuVar9 = &local_50; + lVar6 = DAT_140162d60; + FUN_14002ca30(DAT_140162d60,(longlong)pppuVar9,param_3,param_4); + if ((int)local_38 < 1) { + if (local_40 == (LPVOID)0x0) { + return; + } + pvVar8 = local_40; + if (local_48 != (longlong *)0x0) { + (**(code **)(*local_48 + 0x18))(local_48,local_40); + return; + } + goto LAB_140006826; + } + FUN_140030200(lVar6,pppuVar9,param_3,param_4); + local_res18[0] = (uint *)PTR_DAT_140155010; + uVar1 = FUN_140030080(param_2); + uVar3 = 0; + pvVar8 = (LPVOID)0x0; + if ((local_res18[0] != (uint *)0x0) && + (pvVar8 = (LPVOID)0x0, local_res18[0] != (uint *)PTR_DAT_140155010)) { + pvVar8 = (LPVOID)(ulonglong)local_res18[0][-2]; + } + uVar2 = uVar1; + if ((((int)uVar1 <= (int)pvVar8) && (uVar2 = uVar3, local_res18[0] != (uint *)0x0)) && + (local_res18[0] != (uint *)PTR_DAT_140155010)) { + uVar2 = local_res18[0][-2]; + } + uVar12 = 1; + if (1 < (int)uVar2) { + uVar12 = uVar2; + } + uVar2 = uVar3; + if ((local_res18[0] != (uint *)0x0) && (local_res18[0] != (uint *)PTR_DAT_140155010)) { + uVar2 = local_res18[0][-2]; + } + if ((int)uVar2 < (int)uVar12) { + puVar5 = local_res18[0]; + if (local_res18[0] == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + local_res18[0] = puVar5; + if ((int)uVar12 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar12 == 0) { + local_res18[0] = (uint *)PTR_DAT_140155010; + if (((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) && + (puVar5 + -2 != (uint *)0x0)) { + local_res18[0] = puVar5; + piVar4 = (int *)FUN_140030200(puVar5,PTR_DAT_140155010,pvVar8,param_4); + FUN_14002e6e0(piVar4); + puVar10 = puVar5 + -1; + *puVar10 = *puVar10 - 1; + if (*puVar10 == 0) { + FUN_1400302f0(puVar5 + -2); + } + FUN_14002e770((longlong)piVar4); + local_res18[0] = (uint *)PTR_DAT_140155010; + } + } + else { + uVar2 = uVar3; + if ((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) { + uVar2 = puVar5[-2]; + } + if (uVar12 != uVar2) { + puVar5 = (uint *)FUN_140030280((longlong)(int)uVar12 * 2 + 10); + if (puVar5 != (uint *)0x0) { + *puVar5 = 0; + puVar5[1] = 1; + } + *puVar5 = uVar12; + uVar2 = uVar3; + if ((local_res18[0] != (uint *)0x0) && (local_res18[0] != (uint *)PTR_DAT_140155010)) { + uVar2 = local_res18[0][-2]; + } + puVar10 = (uint *)PTR_DAT_140155010; + if ((int)uVar12 < (int)uVar2) { +LAB_1400066df: + if (local_res18[0] != (uint *)0x0) { + puVar10 = local_res18[0]; + } + } + else { + uVar12 = uVar3; + if (local_res18[0] != (uint *)0x0) { + if (local_res18[0] != (uint *)PTR_DAT_140155010) { + uVar12 = local_res18[0][-2]; + } + goto LAB_1400066df; + } + } + uVar13 = (ulonglong)uVar12; + FUN_1400300b0(puVar5 + 2,puVar10,uVar12); + FUN_140003240((longlong *)local_res18,puVar10,uVar13,param_4); + local_res18[0] = puVar5 + 2; + } + } + } + FUN_140002ea0((longlong *)local_res18); + puVar5 = local_res18[0]; + if (local_res18[0] == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar5,param_2,uVar1); + puVar5 = local_res18[0]; + if (local_res18[0] == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + uVar3 = FUN_140030080((short *)puVar5); + pvVar8 = local_40; + uVar1 = uVar15; + if (0 < (int)uVar3) { + uVar1 = uVar3; + } + uVar3 = uVar15; + if ((local_res18[0] != (uint *)0x0) && (local_res18[0] != (uint *)PTR_DAT_140155010)) { + uVar3 = local_res18[0][-2]; + } + if (((int)uVar1 < (int)uVar3) || (uVar1 = uVar15, local_res18[0] == (uint *)0x0)) { +LAB_140006771: + if (((local_res18[0] != (uint *)PTR_DAT_140155010) && (local_res18[0] != (uint *)0x0)) && + (local_res18[0] + -2 != (uint *)0x0)) { + local_res18[0][-2] = uVar1; + *(undefined2 *)((longlong)local_res18[0] + (longlong)(int)uVar1 * 2) = 0; + } + } + else if (local_res18[0] != (uint *)PTR_DAT_140155010) { + uVar1 = local_res18[0][-2]; + goto LAB_140006771; + } + pvVar11 = local_40; + if ((int)local_38 == 0) { + pvVar11 = (LPVOID)0x0; + } + plVar7 = (longlong *)(param_1 + 0x50); + puVar14 = &DAT_1401555d0; + uVar13 = local_38 & 0xffffffff; + (**(code **)(*plVar7 + 0x98))(); + puVar5 = local_res18[0]; + if (((local_res18[0] != (uint *)0x0) && (local_res18[0] != (uint *)PTR_DAT_140155010)) && + (puVar10 = local_res18[0] + -2, puVar10 != (uint *)0x0)) { + piVar4 = (int *)FUN_140030200(plVar7,pvVar11,uVar13,puVar14); + FUN_14002e6e0(piVar4); + puVar5 = puVar5 + -1; + *puVar5 = *puVar5 - 1; + if (*puVar5 == 0) { + FUN_1400302f0(puVar10); + } + FUN_14002e770((longlong)piVar4); + } + if (pvVar8 == (LPVOID)0x0) { + return; + } + if (local_48 != (longlong *)0x0) { + (**(code **)(*local_48 + 0x18))(local_48,pvVar8); + return; + } +LAB_140006826: + FUN_1400302f0(pvVar8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006850.c b/decomp/Agent_Release_x64/full/functions/0x140006850.c new file mode 100644 index 00000000..aac7c374 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006850.c @@ -0,0 +1,58 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006850 FUN_140006850 + * Pseudocode, not original source. */ + +void FUN_140006850(longlong param_1,undefined1 param_2,ulonglong param_3,undefined8 param_4) + +{ + LPVOID pvVar1; + LPVOID pvVar2; + undefined1 local_68 [4]; + undefined4 local_64; + undefined **local_60; + longlong *local_58; + LPVOID local_50; + ulonglong local_48; + undefined8 local_40; + undefined8 local_38; + + local_38 = 0xfffffffffffffffe; + local_64 = (undefined4)param_3; + local_60 = Proud::CFastArray::vftable; + local_58 = (longlong *)0x0; + local_50 = (LPVOID)0x0; + local_48 = 0; + local_40 = 0; + local_68[0] = param_2; + FUN_14002cce0(DAT_140162d60,(longlong)&local_60,param_3, + CONCAT71((int7)((ulonglong)param_4 >> 8),9)); + pvVar1 = local_50; + if ((int)local_48 < 1) { + if (local_50 == (LPVOID)0x0) { + return; + } + if (local_58 != (longlong *)0x0) { + (**(code **)(*local_58 + 0x18))(local_58,local_50); + return; + } + } + else { + pvVar2 = local_50; + if ((int)local_48 == 0) { + pvVar2 = (LPVOID)0x0; + } + (**(code **)(*(longlong *)(param_1 + 0x50) + 0xa8)) + ((longlong *)(param_1 + 0x50),pvVar2,local_48 & 0xffffffff,&DAT_1401555d0,local_68, + &local_64,param_4); + if (pvVar1 == (LPVOID)0x0) { + return; + } + if (local_58 != (longlong *)0x0) { + (**(code **)(*local_58 + 0x18))(local_58,pvVar1); + return; + } + } + FUN_1400302f0(pvVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006940.c b/decomp/Agent_Release_x64/full/functions/0x140006940.c new file mode 100644 index 00000000..5c5255ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006940.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006940 FUN_140006940 + * Pseudocode, not original source. */ + +void FUN_140006940(longlong param_1,undefined4 param_2,undefined8 param_3,longlong param_4) + +{ + LPVOID pvVar1; + LPVOID pvVar2; + undefined4 local_res10 [2]; + undefined **local_30; + longlong *local_28; + LPVOID local_20; + ulonglong local_18; + undefined8 local_10; + + local_30 = Proud::CFastArray::vftable; + local_28 = (longlong *)0x0; + local_20 = (LPVOID)0x0; + local_18 = 0; + local_10 = 0; + local_res10[0] = param_2; + FUN_14002ca30(DAT_140162d60,(longlong)&local_30,param_3,param_4); + pvVar1 = local_20; + if ((int)local_18 < 1) { + if (local_20 == (LPVOID)0x0) { + return; + } + if (local_28 != (longlong *)0x0) { + (**(code **)(*local_28 + 0x18))(local_28,local_20); + return; + } + } + else { + pvVar2 = local_20; + if ((int)local_18 == 0) { + pvVar2 = (LPVOID)0x0; + } + (**(code **)(*(longlong *)(param_1 + 0x50) + 0x38)) + ((longlong *)(param_1 + 0x50),pvVar2,local_18 & 0xffffffff,&DAT_1401555d0,local_res10) + ; + if (pvVar1 == (LPVOID)0x0) { + return; + } + if (local_28 != (longlong *)0x0) { + (**(code **)(*local_28 + 0x18))(local_28,pvVar1); + return; + } + } + FUN_1400302f0(pvVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006a20.c b/decomp/Agent_Release_x64/full/functions/0x140006a20.c new file mode 100644 index 00000000..4414f20c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006a20.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006a20 FUN_140006a20 + * Pseudocode, not original source. */ + +void FUN_140006a20(undefined8 *param_1) + +{ + if ((ulonglong *)*param_1 != (ulonglong *)0x0) { + FUN_140006a60((ulonglong *)*param_1,(ulonglong *)param_1[1]); + operator_delete((void *)*param_1); + } + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006a60.c b/decomp/Agent_Release_x64/full/functions/0x140006a60.c new file mode 100644 index 00000000..44afe79a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006a60.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006a60 FUN_140006a60 + * Pseudocode, not original source. */ + +void FUN_140006a60(ulonglong *param_1,ulonglong *param_2) + +{ + ulonglong *puVar1; + ulonglong *puVar2; + + if (param_1 != param_2) { + puVar2 = param_1 + 0x12; + do { + if (7 < *puVar2) { + operator_delete((void *)puVar2[-3]); + } + *puVar2 = 7; + puVar2[-1] = 0; + *(undefined2 *)(puVar2 + -3) = 0; + if (7 < puVar2[-5]) { + operator_delete((void *)puVar2[-8]); + } + puVar2[-5] = 7; + puVar2[-6] = 0; + *(undefined2 *)(puVar2 + -8) = 0; + if (7 < puVar2[-10]) { + operator_delete((void *)puVar2[-0xd]); + } + puVar2[-10] = 7; + puVar2[-0xb] = 0; + *(undefined2 *)(puVar2 + -0xd) = 0; + puVar1 = puVar2 + 2; + puVar2 = puVar2 + 0x14; + } while (puVar1 != param_2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006b10.c b/decomp/Agent_Release_x64/full/functions/0x140006b10.c new file mode 100644 index 00000000..c1352b28 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006b10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006b10 FUN_140006b10 + * Pseudocode, not original source. */ + +void FUN_140006b10(longlong param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140005100((undefined8 *)(param_1 + -8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006b20.c b/decomp/Agent_Release_x64/full/functions/0x140006b20.c new file mode 100644 index 00000000..0161a862 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006b20.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006b20 FUN_140006b20 + * Pseudocode, not original source. */ + +undefined1 FUN_140006b20(void) + +{ + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006b30.c b/decomp/Agent_Release_x64/full/functions/0x140006b30.c new file mode 100644 index 00000000..a5ebe5f5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006b30.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006b30 FUN_140006b30 + * Pseudocode, not original source. */ + +void FUN_140006b30(undefined8 param_1,undefined8 param_2,longlong *param_3,longlong *param_4) + +{ + longlong *plVar1; + + plVar1 = param_4; + FUN_140003240(param_3,param_2,param_3,param_4); + FUN_140003240(param_4,param_2,param_3,plVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006b60.c b/decomp/Agent_Release_x64/full/functions/0x140006b60.c new file mode 100644 index 00000000..814a9d17 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006b60.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006b60 FUN_140006b60 + * Pseudocode, not original source. */ + +undefined8 FUN_140006b60(void) + +{ + return 0x8541; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006b70.c b/decomp/Agent_Release_x64/full/functions/0x140006b70.c new file mode 100644 index 00000000..850b6dcd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006b70.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006b70 FUN_140006b70 + * Pseudocode, not original source. */ + +undefined8 FUN_140006b70(void) + +{ + return 0x8534; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006b80.c b/decomp/Agent_Release_x64/full/functions/0x140006b80.c new file mode 100644 index 00000000..c7bc64b2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006b80.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006b80 FUN_140006b80 + * Pseudocode, not original source. */ + +void FUN_140006b80(void) + +{ + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006b90.c b/decomp/Agent_Release_x64/full/functions/0x140006b90.c new file mode 100644 index 00000000..48b224a3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006b90.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006b90 FUN_140006b90 + * Pseudocode, not original source. */ + +undefined8 * FUN_140006b90(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006bf0.c b/decomp/Agent_Release_x64/full/functions/0x140006bf0.c new file mode 100644 index 00000000..44c93271 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006bf0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006bf0 FUN_140006bf0 + * Pseudocode, not original source. */ + +void FUN_140006bf0(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x000140006c17. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006c30.c b/decomp/Agent_Release_x64/full/functions/0x140006c30.c new file mode 100644 index 00000000..00035898 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006c30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006c30 FUN_140006c30 + * Pseudocode, not original source. */ + +undefined8 * FUN_140006c30(longlong param_1,undefined8 *param_2) + +{ + FUN_140004d60(param_2,(longlong *)(param_1 + 0xd8)); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006c60.c b/decomp/Agent_Release_x64/full/functions/0x140006c60.c new file mode 100644 index 00000000..05f62c3c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006c60.c @@ -0,0 +1,171 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006c60 FUN_140006c60 + * Pseudocode, not original source. */ + +longlong * FUN_140006c60(longlong *param_1,short *param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + uint uVar2; + int *piVar3; + uint *puVar4; + uint *puVar5; + ulonglong uVar6; + short *psVar7; + uint *puVar8; + uint *puVar9; + uint uVar10; + uint uVar11; + ulonglong uVar12; + uint *local_res18; + + psVar7 = param_2; + FUN_140030200(param_1,param_2,param_3,param_4); + puVar9 = (uint *)PTR_DAT_140155010; + local_res18 = (uint *)PTR_DAT_140155010; + uVar1 = FUN_140030080(param_2); + uVar12 = 0; + uVar11 = 0; + uVar6 = uVar12; + if ((puVar9 != (uint *)0x0) && (uVar6 = 0, puVar9 != (uint *)PTR_DAT_140155010)) { + uVar6 = (ulonglong)*(uint *)((longlong)puVar9 + -8); + } + uVar2 = uVar1; + if ((((int)uVar1 <= (int)uVar6) && (uVar2 = uVar11, puVar9 != (uint *)0x0)) && + (puVar9 != (uint *)PTR_DAT_140155010)) { + uVar2 = *(uint *)((longlong)puVar9 + -8); + } + uVar10 = 1; + if (1 < (int)uVar2) { + uVar10 = uVar2; + } + uVar2 = uVar11; + if ((puVar9 != (uint *)0x0) && (puVar9 != (uint *)PTR_DAT_140155010)) { + uVar2 = *(uint *)((longlong)puVar9 + -8); + } + if ((int)uVar2 < (int)uVar10) { + if (puVar9 == (uint *)0x0) { + puVar9 = (uint *)PTR_DAT_140155010; + } + local_res18 = puVar9; + if ((int)uVar10 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar10 == 0) { + local_res18 = (uint *)PTR_DAT_140155010; + if (((puVar9 != (uint *)0x0) && (puVar9 != (uint *)PTR_DAT_140155010)) && + (puVar9 + -2 != (uint *)0x0)) { + local_res18 = puVar9; + piVar3 = (int *)FUN_140030200(uVar6,psVar7,PTR_DAT_140155010,param_4); + FUN_14002e6e0(piVar3); + puVar4 = puVar9 + -1; + *puVar4 = *puVar4 - 1; + if (*puVar4 == 0) { + FUN_1400302f0(puVar9 + -2); + } + FUN_14002e770((longlong)piVar3); + local_res18 = (uint *)PTR_DAT_140155010; + } + } + else { + uVar2 = uVar11; + if ((puVar9 != (uint *)0x0) && (puVar9 != (uint *)PTR_DAT_140155010)) { + uVar2 = puVar9[-2]; + } + if (uVar10 != uVar2) { + puVar4 = (uint *)FUN_140030280((longlong)(int)uVar10 * 2 + 10); + if (puVar4 != (uint *)0x0) { + *puVar4 = 0; + puVar4[1] = 1; + } + *puVar4 = uVar10; + uVar2 = uVar11; + if ((puVar9 != (uint *)0x0) && (puVar9 != (uint *)PTR_DAT_140155010)) { + uVar2 = puVar9[-2]; + } + puVar8 = (uint *)PTR_DAT_140155010; + if ((int)uVar10 < (int)uVar2) { +LAB_140006db9: + if (puVar9 != (uint *)0x0) { + puVar8 = puVar9; + } + } + else { + uVar10 = uVar11; + if (puVar9 != (uint *)0x0) { + if (puVar9 != (uint *)PTR_DAT_140155010) { + uVar10 = puVar9[-2]; + } + goto LAB_140006db9; + } + } + uVar6 = (ulonglong)uVar10; + FUN_1400300b0(puVar4 + 2,puVar8,uVar10); + FUN_140003240((longlong *)&local_res18,puVar8,uVar6,param_4); + local_res18 = puVar4 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_res18); + puVar9 = local_res18; + puVar4 = local_res18; + if (local_res18 == (uint *)0x0) { + puVar4 = (uint *)PTR_DAT_140155010; + } + puVar8 = (uint *)(ulonglong)uVar1; + FUN_1400300b0(puVar4,param_2,uVar1); + puVar4 = puVar9; + if (puVar9 == (uint *)0x0) { + puVar4 = (uint *)PTR_DAT_140155010; + } + uVar1 = FUN_140030080((short *)puVar4); + puVar4 = (uint *)PTR_DAT_140155010; + uVar6 = uVar12; + if (0 < (int)uVar1) { + uVar6 = (ulonglong)uVar1; + } + uVar1 = 0; + if ((puVar9 != (uint *)0x0) && (puVar9 != (uint *)PTR_DAT_140155010)) { + uVar1 = puVar9[-2]; + } + if (((int)uVar1 <= (int)uVar6) && (uVar6 = uVar12, puVar9 != (uint *)0x0)) { + if (puVar9 == (uint *)PTR_DAT_140155010) goto LAB_140006e6c; + uVar6 = (ulonglong)puVar9[-2]; + } + if (((puVar9 != (uint *)PTR_DAT_140155010) && (puVar9 != (uint *)0x0)) && + (puVar8 = puVar9 + -2, puVar8 != (uint *)0x0)) { + *puVar8 = (uint)uVar6; + *(undefined2 *)((longlong)puVar9 + (longlong)(int)(uint)uVar6 * 2) = 0; + } +LAB_140006e6c: + puVar5 = (uint *)*param_1; + if ((uint *)*param_1 == (uint *)0x0) { + puVar5 = puVar4; + } + *param_1 = (longlong)puVar5; + if (puVar9 != puVar5) { + piVar3 = (int *)FUN_140030200(puVar4,uVar6,puVar8,param_4); + FUN_14002e6e0(piVar3); + FUN_140003240(param_1,uVar6,puVar8,param_4); + *param_1 = (longlong)puVar9; + if (((puVar9 != (uint *)PTR_DAT_140155010) && (puVar9 != (uint *)0x0)) && + (puVar9 != (uint *)0x8)) { + puVar9[-1] = puVar9[-1] + 1; + } + FUN_14002e770((longlong)piVar3); + puVar4 = (uint *)PTR_DAT_140155010; + } + if (((puVar9 != (uint *)0x0) && (puVar9 != puVar4)) && (puVar9 + -2 != (uint *)0x0)) { + piVar3 = (int *)FUN_140030200(puVar4,uVar6,puVar8,param_4); + FUN_14002e6e0(piVar3); + puVar4 = puVar9 + -1; + *puVar4 = *puVar4 - 1; + if (*puVar4 == 0) { + FUN_1400302f0(puVar9 + -2); + } + FUN_14002e770((longlong)piVar3); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006f30.c b/decomp/Agent_Release_x64/full/functions/0x140006f30.c new file mode 100644 index 00000000..4adfd1a5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006f30.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006f30 std::bad_alloc::`scalar_deleting_destructor' + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: virtual void * __ptr64 __cdecl std::bad_alloc::`scalar deleting destructor'(unsigned + int) __ptr64 + + Libraries: Visual Studio 2012 Release, Visual Studio 2015 Release */ + +void * __thiscall std::bad_alloc::_scalar_deleting_destructor_(bad_alloc *this,uint param_1) + +{ + *(undefined ***)this = Proud::INetServerEvent::vftable; + FUN_14003b5c0((undefined8 *)this); + if ((param_1 & 1) != 0) { + operator_delete(this); + } + return this; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006f70.c b/decomp/Agent_Release_x64/full/functions/0x140006f70.c new file mode 100644 index 00000000..04da3ea9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006f70.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006f70 FUN_140006f70 + * Pseudocode, not original source. */ + +void FUN_140006f70(undefined8 *param_1) + +{ + *param_1 = Proud::INetServerEvent::vftable; + FUN_14003b5c0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140006f80.c b/decomp/Agent_Release_x64/full/functions/0x140006f80.c new file mode 100644 index 00000000..05b96c9d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140006f80.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140006f80 FUN_140006f80 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140006f80(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + + FUN_140002010(param_1,param_2,param_3,param_4); + FUN_140085230(param_1 + 9); + *param_1 = MGAgentManagerSession::vftable; + param_1[9] = MGAgentManagerSession::vftable; + puVar1 = param_1 + 0xd; + FUN_140081fb0(puVar1); + *puVar1 = AGENT2AGENTMANAGER_PROTOCOL::Proxy::vftable; + if (*(int *)((longlong)param_1 + 0x7c) != 1) { + FUN_14002fa10((wchar_t *)PTR_u_PIDL_compiler_is_incompatible_to_140156790); + } + *puVar1 = RNP::Agent2AgentManagerProxy::vftable; + *(undefined1 *)(param_1 + 0x10) = 0; + *(undefined1 *)(param_1 + 0x11) = 0; + param_1[0x12] = param_2; + param_1[0x13] = param_3; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140007030.c b/decomp/Agent_Release_x64/full/functions/0x140007030.c new file mode 100644 index 00000000..b8599882 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140007030.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140007030 FUN_140007030 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140007030(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140007060(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140007060.c b/decomp/Agent_Release_x64/full/functions/0x140007060.c new file mode 100644 index 00000000..bfc1ba66 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140007060.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140007060 FUN_140007060 + * Pseudocode, not original source. */ + +void FUN_140007060(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = MGAgentManagerSession::vftable; + param_1[9] = MGAgentManagerSession::vftable; + if ((longlong *)param_1[2] != (longlong *)0x0) { + (**(code **)(*(longlong *)param_1[2] + 0x88))(); + } + if ((undefined8 *)param_1[2] != (undefined8 *)0x0) { + param_2 = 1; + (*(code *)**(undefined8 **)param_1[2])(); + } + param_1[2] = 0; + *(undefined2 *)((longlong)param_1 + 0x19) = 0; + *(undefined1 *)((longlong)param_1 + 0x1b) = 1; + param_1[0xd] = RNP::Agent2AgentManagerProxy::vftable; + FUN_140081fe0(param_1 + 0xd); + param_1[9] = RNP::AgentManager2AgentStub::vftable; + FUN_140085260(param_1 + 9); + *param_1 = MagiCommonSession::vftable; + FUN_140003240(param_1 + 6,param_2,param_3,param_4); + *param_1 = Proud::INetClientEvent::vftable; + FUN_14003b5c0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140007120.c b/decomp/Agent_Release_x64/full/functions/0x140007120.c new file mode 100644 index 00000000..ec728cb0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140007120.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140007120 FUN_140007120 + * Pseudocode, not original source. */ + +void FUN_140007120(undefined8 param_1,int *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + longlong *plVar2; + int *piVar3; + wchar_t *pwVar4; + undefined *puVar5; + undefined *local_res18 [2]; + + plVar2 = FUN_14003c240(param_2,(longlong *)local_res18,param_3,param_4); + puVar5 = (undefined *)*plVar2; + if ((undefined *)*plVar2 == (undefined *)0x0) { + puVar5 = PTR_DAT_140155010; + } + pwVar4 = L"OnError MGAgentManagerSession : %s"; + FUN_140010d30(L"OnError MGAgentManagerSession : %s",puVar5,param_3,param_4); + if (((local_res18[0] != (undefined *)0x0) && (local_res18[0] != PTR_DAT_140155010)) && + (local_res18[0] + -8 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(pwVar4,puVar5,param_3,param_4); + FUN_14002e6e0(piVar3); + piVar1 = (int *)(local_res18[0] + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_res18[0] + -8); + } + FUN_14002e770((longlong)piVar3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400071c0.c b/decomp/Agent_Release_x64/full/functions/0x1400071c0.c new file mode 100644 index 00000000..39a53160 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400071c0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400071c0 FUN_1400071c0 + * Pseudocode, not original source. */ + +void FUN_1400071c0(undefined8 param_1,int *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + longlong *plVar2; + int *piVar3; + wchar_t *pwVar4; + undefined *puVar5; + undefined *local_res18 [2]; + + plVar2 = FUN_14003c240(param_2,(longlong *)local_res18,param_3,param_4); + puVar5 = (undefined *)*plVar2; + if ((undefined *)*plVar2 == (undefined *)0x0) { + puVar5 = PTR_DAT_140155010; + } + pwVar4 = L"OnWarning MGAgentManagerSession : %s"; + FUN_140010d30(L"OnWarning MGAgentManagerSession : %s",puVar5,param_3,param_4); + if (((local_res18[0] != (undefined *)0x0) && (local_res18[0] != PTR_DAT_140155010)) && + (local_res18[0] + -8 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(pwVar4,puVar5,param_3,param_4); + FUN_14002e6e0(piVar3); + piVar1 = (int *)(local_res18[0] + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_res18[0] + -8); + } + FUN_14002e770((longlong)piVar3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140007260.c b/decomp/Agent_Release_x64/full/functions/0x140007260.c new file mode 100644 index 00000000..16a7af53 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140007260.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140007260 FUN_140007260 + * Pseudocode, not original source. */ + +void FUN_140007260(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 uVar1; + + uVar1 = (**(code **)(*param_2 + 8))(param_2); + FUN_140010be0("OnException MGAgentManagerSession : %s",uVar1,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140007280.c b/decomp/Agent_Release_x64/full/functions/0x140007280.c new file mode 100644 index 00000000..1e28b6bd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140007280.c @@ -0,0 +1,55 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140007280 FUN_140007280 + * Pseudocode, not original source. */ + +void FUN_140007280(longlong param_1,int *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + undefined *puVar2; + longlong *plVar3; + int *piVar4; + wchar_t *pwVar5; + longlong lVar6; + undefined4 local_res8; + undefined4 uStackX_c; + int *local_20; + undefined4 local_18; + undefined8 local_10; + + *(undefined1 *)(param_1 + 0x19) = 0; + if (*param_2 == 0) { + *(undefined2 *)(param_1 + 0x1a) = 1; + local_18 = 0x773e; + local_20 = (int *)((ulonglong)*(uint *)(DAT_140162d68 + 0x1ec) << 0x20); + local_10 = *(undefined8 *)(DAT_140162d68 + 0x1f0); + local_res8 = *(undefined4 *)(DAT_140162d68 + 0x154); + (**(code **)(*(longlong *)(param_1 + 0x68) + 0x30)) + ((longlong *)(param_1 + 0x68),1,&DAT_1401555d0,&local_res8,&local_20); + (**(code **)(**(longlong **)(param_1 + 0x10) + 0x30))(); + wprintf(L"AgentManager Connected : HostID[%d] \n"); + } + else { + *(undefined1 *)(param_1 + 0x1b) = 1; + plVar3 = FUN_14003c240(param_2,(longlong *)&local_res8,param_3,param_4); + lVar6 = *plVar3; + pwVar5 = L"AgentManager Connect Failed %s \n"; + wprintf(L"AgentManager Connect Failed %s \n"); + puVar2 = (undefined *)CONCAT44(uStackX_c,local_res8); + if (((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140155010)) && + (puVar2 + -8 != (undefined *)0x0)) { + piVar4 = (int *)FUN_140030200(pwVar5,lVar6,param_3,param_4); + local_20 = piVar4; + FUN_14002e6e0(piVar4); + local_18 = CONCAT31(local_18._1_3_,1); + piVar1 = (int *)(puVar2 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(puVar2 + -8); + } + FUN_14002e770((longlong)piVar4); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400073a0.c b/decomp/Agent_Release_x64/full/functions/0x1400073a0.c new file mode 100644 index 00000000..414bf4b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400073a0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400073a0 FUN_1400073a0 + * Pseudocode, not original source. */ + +void FUN_1400073a0(longlong param_1,int *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + longlong *plVar2; + int *piVar3; + longlong lVar4; + wchar_t *pwVar5; + longlong lVar6; + undefined *local_res8; + + plVar2 = FUN_14003c240(param_2,(longlong *)&local_res8,param_3,param_4); + lVar6 = *plVar2; + pwVar5 = L"AgentManager Disconnected %s \n"; + lVar4 = DAT_1401626e8; + FUN_1400de9f0(DAT_1401626e8,L"AgentManager Disconnected %s \n",lVar6,param_4); + if (((local_res8 != (undefined *)0x0) && (local_res8 != PTR_DAT_140155010)) && + (local_res8 + -8 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(lVar4,pwVar5,lVar6,param_4); + FUN_14002e6e0(piVar3); + piVar1 = (int *)(local_res8 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_res8 + -8); + } + FUN_14002e770((longlong)piVar3); + } + *(undefined2 *)(param_1 + 0x19) = 0; + *(undefined1 *)(param_1 + 0x1b) = 1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140007450.c b/decomp/Agent_Release_x64/full/functions/0x140007450.c new file mode 100644 index 00000000..d4aeda6e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140007450.c @@ -0,0 +1,308 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140007450 FUN_140007450 + * Pseudocode, not original source. */ + +void FUN_140007450(longlong param_1,undefined8 param_2,short *param_3,short *param_4, + undefined8 param_5,undefined8 param_6) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + uint uVar4; + longlong *plVar5; + uint *puVar6; + int *piVar7; + uint *puVar8; + uint *puVar9; + uint uVar10; + short *psVar11; + ulonglong uVar12; + undefined *puVar13; + short *psVar14; + undefined4 *puVar15; + undefined4 local_res10 [2]; + uint *local_58; + uint *local_50; + undefined8 local_48; + longlong *local_40; + undefined1 local_38; + + local_res10[0] = (undefined4)param_2; + local_48 = 0xfffffffffffffffe; + psVar11 = param_3; + psVar14 = param_4; + FUN_140030200(param_1,param_2,param_3,param_4); + local_50 = (uint *)PTR_DAT_140155010; + uVar1 = FUN_140030080(param_4); + puVar9 = (uint *)0x0; + uVar4 = 0; + puVar6 = puVar9; + if ((local_50 != (uint *)0x0) && (puVar6 = (uint *)0x0, local_50 != (uint *)PTR_DAT_140155010)) { + puVar6 = (uint *)(ulonglong)local_50[-2]; + } + uVar2 = uVar1; + if ((((int)uVar1 <= (int)puVar6) && (uVar2 = uVar4, local_50 != (uint *)0x0)) && + (local_50 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_50[-2]; + } + uVar10 = 1; + if (1 < (int)uVar2) { + uVar10 = uVar2; + } + uVar2 = uVar4; + if ((local_50 != (uint *)0x0) && (local_50 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_50[-2]; + } + if ((int)uVar2 < (int)uVar10) { + puVar8 = local_50; + if (local_50 == (uint *)0x0) { + puVar8 = (uint *)PTR_DAT_140155010; + } + local_50 = puVar8; + if ((int)uVar10 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar10 == 0) { + local_50 = (uint *)PTR_DAT_140155010; + if (((puVar8 != (uint *)0x0) && (puVar8 != (uint *)PTR_DAT_140155010)) && + (puVar8 + -2 != (uint *)0x0)) { + local_50 = puVar8; + plVar5 = (longlong *)FUN_140030200(puVar6,puVar8,psVar11,psVar14); + local_40 = plVar5; + FUN_14002e6e0((int *)plVar5); + local_38 = 1; + puVar6 = puVar8 + -1; + *puVar6 = *puVar6 - 1; + if (*puVar6 == 0) { + FUN_1400302f0(puVar8 + -2); + } + FUN_14002e770((longlong)plVar5); + local_50 = (uint *)PTR_DAT_140155010; + } + } + else { + uVar2 = uVar4; + if ((puVar8 != (uint *)0x0) && (puVar8 != (uint *)PTR_DAT_140155010)) { + uVar2 = puVar8[-2]; + } + if (uVar10 != uVar2) { + puVar6 = (uint *)FUN_140030280((longlong)(int)uVar10 * 2 + 10); + if (puVar6 != (uint *)0x0) { + *puVar6 = 0; + puVar6[1] = 1; + } + *puVar6 = uVar10; + uVar2 = uVar4; + if ((local_50 != (uint *)0x0) && (local_50 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_50[-2]; + } + puVar8 = (uint *)PTR_DAT_140155010; + if ((int)uVar10 < (int)uVar2) { +LAB_1400075bc: + if (local_50 != (uint *)0x0) { + puVar8 = local_50; + } + } + else { + uVar10 = uVar4; + if (local_50 != (uint *)0x0) { + if (local_50 != (uint *)PTR_DAT_140155010) { + uVar10 = local_50[-2]; + } + goto LAB_1400075bc; + } + } + uVar12 = (ulonglong)uVar10; + FUN_1400300b0(puVar6 + 2,puVar8,uVar10); + FUN_140003240((longlong *)&local_50,puVar8,uVar12,psVar14); + local_50 = puVar6 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_50); + puVar6 = local_50; + if (local_50 == (uint *)0x0) { + puVar6 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar6,param_4,uVar1); + puVar6 = local_50; + if (local_50 == (uint *)0x0) { + puVar6 = (uint *)PTR_DAT_140155010; + } + uVar1 = FUN_140030080((short *)puVar6); + puVar13 = PTR_DAT_140155010; + puVar6 = puVar9; + if (0 < (int)uVar1) { + puVar6 = (uint *)(ulonglong)uVar1; + } + puVar8 = puVar9; + if ((local_50 != (uint *)0x0) && (puVar8 = (uint *)0x0, local_50 != (uint *)PTR_DAT_140155010)) { + puVar8 = (uint *)(ulonglong)local_50[-2]; + } + if (((int)puVar6 < (int)puVar8) || (puVar6 = puVar9, local_50 == (uint *)0x0)) { +LAB_14000764e: + if (((local_50 != (uint *)PTR_DAT_140155010) && (local_50 != (uint *)0x0)) && + (puVar8 = local_50 + -2, puVar8 != (uint *)0x0)) { + *puVar8 = (uint)puVar6; + *(undefined2 *)((longlong)local_50 + (longlong)(int)(uint)puVar6 * 2) = 0; + } + } + else if (local_50 != (uint *)PTR_DAT_140155010) { + puVar6 = (uint *)(ulonglong)local_50[-2]; + goto LAB_14000764e; + } + FUN_140030200(puVar6,puVar8,puVar13,psVar14); + local_58 = (uint *)PTR_DAT_140155010; + uVar1 = FUN_140030080(param_3); + if ((local_58 != (uint *)0x0) && (puVar9 = (uint *)0x0, local_58 != (uint *)PTR_DAT_140155010)) { + puVar9 = (uint *)(ulonglong)local_58[-2]; + } + uVar2 = uVar1; + if ((((int)uVar1 <= (int)puVar9) && (uVar2 = uVar4, local_58 != (uint *)0x0)) && + (local_58 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_58[-2]; + } + uVar10 = 1; + if (1 < (int)uVar2) { + uVar10 = uVar2; + } + uVar3 = 0; + uVar2 = uVar3; + if ((local_58 != (uint *)0x0) && (local_58 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_58[-2]; + } + if ((int)uVar2 < (int)uVar10) { + puVar6 = local_58; + if (local_58 == (uint *)0x0) { + puVar6 = (uint *)PTR_DAT_140155010; + } + local_58 = puVar6; + if ((int)uVar10 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar10 == 0) { + local_58 = (uint *)PTR_DAT_140155010; + if (((puVar6 != (uint *)0x0) && (puVar6 != (uint *)PTR_DAT_140155010)) && + (puVar6 + -2 != (uint *)0x0)) { + local_58 = puVar6; + plVar5 = (longlong *)FUN_140030200(puVar6,PTR_DAT_140155010,puVar9,psVar14); + local_40 = plVar5; + FUN_14002e6e0((int *)plVar5); + local_38 = 1; + puVar9 = puVar6 + -1; + *puVar9 = *puVar9 - 1; + if (*puVar9 == 0) { + FUN_1400302f0(puVar6 + -2); + } + FUN_14002e770((longlong)plVar5); + local_58 = (uint *)PTR_DAT_140155010; + } + } + else { + uVar2 = uVar3; + if ((puVar6 != (uint *)0x0) && (puVar6 != (uint *)PTR_DAT_140155010)) { + uVar2 = puVar6[-2]; + } + if (uVar10 != uVar2) { + puVar6 = (uint *)FUN_140030280((longlong)(int)uVar10 * 2 + 10); + if (puVar6 != (uint *)0x0) { + *puVar6 = 0; + puVar6[1] = 1; + } + *puVar6 = uVar10; + uVar2 = uVar3; + if ((local_58 != (uint *)0x0) && (local_58 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_58[-2]; + } + puVar9 = (uint *)PTR_DAT_140155010; + if ((int)uVar10 < (int)uVar2) { +LAB_1400077a4: + if (local_58 != (uint *)0x0) { + puVar9 = local_58; + } + } + else { + uVar10 = uVar4; + if (local_58 != (uint *)0x0) { + if (local_58 != (uint *)PTR_DAT_140155010) { + uVar10 = local_58[-2]; + } + goto LAB_1400077a4; + } + } + uVar12 = (ulonglong)uVar10; + FUN_1400300b0(puVar6 + 2,puVar9,uVar10); + FUN_140003240((longlong *)&local_58,puVar9,uVar12,psVar14); + local_58 = puVar6 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_58); + puVar6 = local_58; + if (local_58 == (uint *)0x0) { + puVar6 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar6,param_3,uVar1); + puVar6 = local_58; + if (local_58 == (uint *)0x0) { + puVar6 = (uint *)PTR_DAT_140155010; + } + uVar4 = FUN_140030080((short *)puVar6); + uVar1 = 0; + if (0 < (int)uVar4) { + uVar1 = uVar4; + } + uVar4 = uVar3; + if ((local_58 != (uint *)0x0) && (local_58 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_58[-2]; + } + if (((int)uVar4 <= (int)uVar1) && (uVar1 = uVar3, local_58 != (uint *)0x0)) { + if (local_58 == (uint *)PTR_DAT_140155010) goto LAB_140007854; + uVar1 = local_58[-2]; + } + if (((local_58 != (uint *)PTR_DAT_140155010) && (local_58 != (uint *)0x0)) && + (local_58 + -2 != (uint *)0x0)) { + local_58[-2] = uVar1; + *(undefined2 *)((longlong)local_58 + (longlong)(int)uVar1 * 2) = 0; + } +LAB_140007854: + plVar5 = (longlong *)(param_1 + 0x68); + puVar15 = local_res10; + puVar13 = &DAT_1401555d0; + (**(code **)(*plVar5 + 0x80))(plVar5,1,&DAT_1401555d0,puVar15,&local_58,&local_50,param_5,param_6) + ; + puVar6 = local_58; + if (((local_58 != (uint *)0x0) && (local_58 != (uint *)PTR_DAT_140155010)) && + (puVar9 = local_58 + -2, puVar9 != (uint *)0x0)) { + plVar5 = (longlong *)FUN_140030200(plVar5,PTR_DAT_140155010,puVar13,puVar15); + local_40 = plVar5; + FUN_14002e6e0((int *)plVar5); + local_38 = 1; + puVar6 = puVar6 + -1; + *puVar6 = *puVar6 - 1; + if (*puVar6 == 0) { + FUN_1400302f0(puVar9); + } + FUN_14002e770((longlong)plVar5); + } + puVar6 = local_50; + if (((local_50 != (uint *)0x0) && (local_50 != (uint *)PTR_DAT_140155010)) && + (puVar9 = local_50 + -2, puVar9 != (uint *)0x0)) { + local_58 = (uint *)PTR_DAT_140155010; + piVar7 = (int *)FUN_140030200(plVar5,PTR_DAT_140155010,puVar13,puVar15); + local_40 = (longlong *)piVar7; + FUN_14002e6e0(piVar7); + local_38 = 1; + puVar6 = puVar6 + -1; + *puVar6 = *puVar6 - 1; + if (*puVar6 == 0) { + FUN_1400302f0(puVar9); + } + FUN_14002e770((longlong)piVar7); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140007960.c b/decomp/Agent_Release_x64/full/functions/0x140007960.c new file mode 100644 index 00000000..f8f0516e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140007960.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140007960 FUN_140007960 + * Pseudocode, not original source. */ + +void FUN_140007960(longlong param_1) + +{ + void *_Dst; + + FUN_14002e6e0((int *)(param_1 + 0x28)); + _Dst = *(void **)(param_1 + 8); + if (_Dst != *(void **)(param_1 + 0x10)) { + memmove(_Dst,*(void **)(param_1 + 0x10),0); + *(void **)(param_1 + 0x10) = _Dst; + } + FUN_14002e770(param_1 + 0x28); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400079d0.c b/decomp/Agent_Release_x64/full/functions/0x1400079d0.c new file mode 100644 index 00000000..277399fd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400079d0.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400079d0 FUN_1400079d0 + * Pseudocode, not original source. */ + +void FUN_1400079d0(longlong param_1) + +{ + undefined8 *puVar1; + void *_Dst; + longlong *plVar2; + + FUN_14002e6e0((int *)(param_1 + 0x28)); + plVar2 = *(longlong **)(param_1 + 8); + if (plVar2 != *(longlong **)(param_1 + 0x10)) { + do { + puVar1 = (undefined8 *)*plVar2; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + plVar2 = plVar2 + 1; + } while (plVar2 != *(longlong **)(param_1 + 0x10)); + } + _Dst = *(void **)(param_1 + 8); + if (_Dst != *(void **)(param_1 + 0x10)) { + memmove(_Dst,*(void **)(param_1 + 0x10),0); + *(void **)(param_1 + 0x10) = _Dst; + } + FUN_14002e770(param_1 + 0x28); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140007a80.c b/decomp/Agent_Release_x64/full/functions/0x140007a80.c new file mode 100644 index 00000000..6c59fb1f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140007a80.c @@ -0,0 +1,175 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140007a80 FUN_140007a80 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140007a80(undefined8 *param_1,undefined8 **param_2,undefined8 *param_3,undefined8 *param_4) + +{ + ushort uVar1; + byte bVar2; + longlong lVar3; + undefined8 *puVar4; + longlong *plVar5; + ulonglong uVar6; + undefined8 **ppuVar7; + undefined8 **ppuVar8; + uint uVar9; + undefined8 *puVar10; + undefined1 auStack_98 [32]; + undefined8 *local_78; + undefined8 local_70; + undefined2 local_68; + undefined6 uStack_66; + undefined8 *local_58; + ulonglong local_50; + ulonglong local_40; + + local_70 = 0xfffffffffffffffe; + local_40 = DAT_1401555a0 ^ (ulonglong)auStack_98; + plVar5 = (longlong *)param_1[1]; + puVar4 = (undefined8 *)0x0; + ppuVar8 = param_2; + if (plVar5 != (longlong *)param_1[2]) { + do { + lVar3 = *plVar5; + if (lVar3 != 0) { + ppuVar8 = *(undefined8 ***)(lVar3 + 0x30); + if (*(undefined8 ***)(lVar3 + 0x30) == (undefined8 **)0x0) { + ppuVar8 = (undefined8 **)PTR_DAT_140155010; + } + local_50 = 7; + local_58 = (undefined8 *)0x0; + local_68 = 0; + uVar6 = 0xffffffffffffffff; + ppuVar7 = ppuVar8; + do { + if (uVar6 == 0) break; + uVar6 = uVar6 - 1; + uVar1 = *(ushort *)ppuVar7; + ppuVar7 = (undefined8 **)((longlong)ppuVar7 + 2); + } while (uVar1 != 0); + param_3 = (undefined8 *)(~uVar6 - 1); + FUN_1400016e0((ulonglong *)&local_68,ppuVar8,(ulonglong)param_3); + if (*(uint *)((longlong)param_2 + 4) == (uint)*(ushort *)(lVar3 + 0x38)) { + ppuVar7 = param_2 + 6; + ppuVar8 = (undefined8 **)&local_68; + if (7 < local_50) { + ppuVar8 = (undefined8 **)CONCAT62(uStack_66,local_68); + } + param_3 = param_2[8]; + if ((undefined8 *)0x7 < param_2[9]) { + ppuVar7 = (undefined8 **)*ppuVar7; + } + puVar10 = local_58; + if (param_3 < local_58) { + puVar10 = param_3; + } + uVar9 = 0; + for (; puVar10 != (undefined8 *)0x0; puVar10 = (undefined8 *)((longlong)puVar10 - 1)) { + if (*(ushort *)ppuVar7 != *(ushort *)ppuVar8) { + uVar9 = 1; + if (*(ushort *)ppuVar7 < *(ushort *)ppuVar8) { + uVar9 = 0xffffffff; + } + break; + } + ppuVar7 = (undefined8 **)((longlong)ppuVar7 + 2); + ppuVar8 = (undefined8 **)((longlong)ppuVar8 + 2); + } + if (uVar9 == 0) { + if (param_3 < local_58) { + uVar9 = 0xffffffff; + } + else { + uVar9 = (uint)(param_3 != local_58); + } + } + param_4 = local_58; + if (uVar9 == 0) { + wprintf(L"Exist AgentManager %s/%d \n"); + if (local_50 < 8) { + return; + } + operator_delete((void *)CONCAT62(uStack_66,local_68)); + return; + } + } + if (7 < local_50) { + operator_delete((undefined8 **)CONCAT62(uStack_66,local_68)); + } + } + plVar5 = plVar5 + 1; + } while (plVar5 != (longlong *)param_1[2]); + } + local_78 = operator_new(0xa0); + if (local_78 != (undefined8 *)0x0) { + ppuVar8 = (undefined8 **)*param_1; + param_3 = param_1; + puVar4 = FUN_140006f80(local_78,ppuVar8,param_1,param_4); + } + *(undefined4 *)(puVar4 + 8) = 0x15; + bVar2 = *(byte *)(DAT_140162d48 + 0x17); + *(byte *)(puVar4 + 3) = bVar2; + local_78 = puVar4; + plVar5 = FUN_14007fe90((ulonglong)bVar2,ppuVar8,param_3,(longlong)param_4); + puVar4[2] = plVar5; + if (plVar5 != (longlong *)0x0) { + (**(code **)(*plVar5 + 0x118))(plVar5,puVar4); + (**(code **)(*(longlong *)puVar4[2] + 0x10))((longlong *)puVar4[2],puVar4 + 9); + (**(code **)(*(longlong *)puVar4[2] + 8))((longlong *)puVar4[2],puVar4 + 0xd); + } + FUN_140002640((longlong)puVar4,(undefined4 *)param_2,param_3,param_4); + ppuVar8 = (undefined8 **)param_1[2]; + if (&local_78 < ppuVar8) { + ppuVar7 = (undefined8 **)param_1[1]; + param_2 = &local_78; + if (ppuVar7 <= param_2) { + if (ppuVar8 == (undefined8 **)param_1[3]) { + FUN_140001e70(param_1 + 1); + } + param_2 = (undefined8 **)param_1[2]; + if (param_2 != (undefined8 **)0x0) { + *param_2 = *(undefined8 **)(param_1[1] + ((longlong)&local_78 - (longlong)ppuVar7 >> 3) * 8) + ; + } + goto LAB_140007cf5; + } + } + if (ppuVar8 == (undefined8 **)param_1[3]) { + FUN_140001e70(param_1 + 1); + } + if ((undefined8 *)param_1[2] != (undefined8 *)0x0) { + *(undefined8 *)param_1[2] = puVar4; + } +LAB_140007cf5: + param_1[2] = param_1[2] + 8; + FUN_140002180((longlong)puVar4,param_2,param_3,param_4); + lVar3 = DAT_1401626f8; + ppuVar8 = *(undefined8 ***)(DAT_1401626f8 + 0x20); + if ((&local_78 < ppuVar8) && + (ppuVar7 = *(undefined8 ***)(DAT_1401626f8 + 0x18), ppuVar7 <= &local_78)) { + if (ppuVar8 == *(undefined8 ***)(DAT_1401626f8 + 0x28)) { + local_78 = puVar4; + FUN_140001e70((longlong *)(DAT_1401626f8 + 0x18)); + } + if (*(undefined8 **)(lVar3 + 0x20) != (undefined8 *)0x0) { + **(undefined8 **)(lVar3 + 0x20) = + *(undefined8 *) + (*(longlong *)(lVar3 + 0x18) + ((longlong)&local_78 - (longlong)ppuVar7 >> 3) * 8); + } + } + else { + if (ppuVar8 == *(undefined8 ***)(DAT_1401626f8 + 0x28)) { + local_78 = puVar4; + FUN_140001e70((longlong *)(DAT_1401626f8 + 0x18)); + } + if (*(undefined8 **)(lVar3 + 0x20) != (undefined8 *)0x0) { + **(undefined8 **)(lVar3 + 0x20) = puVar4; + } + } + *(longlong *)(lVar3 + 0x20) = *(longlong *)(lVar3 + 0x20) + 8; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140007da0.c b/decomp/Agent_Release_x64/full/functions/0x140007da0.c new file mode 100644 index 00000000..1ac06154 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140007da0.c @@ -0,0 +1,84 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140007da0 FUN_140007da0 + * Pseudocode, not original source. */ + +void FUN_140007da0(longlong param_1,double param_2) + +{ + undefined4 uVar1; + DWORD DVar2; + DWORD DVar3; + undefined8 *puVar4; + longlong *plVar5; + ulonglong uVar6; + ulonglong uVar7; + ulonglong uVar8; + undefined4 local_res8 [2]; + undefined8 *local_res10; + undefined8 uVar9; + char *local_a0; + DWORD local_98; + undefined4 local_80; + undefined4 local_7c; + undefined8 local_78; + undefined8 local_70; + undefined4 local_68; + undefined1 local_64; + undefined1 local_63; + longlong local_60 [7]; + + uVar9 = 0xfffffffffffffffe; + uVar1 = *(undefined4 *)(DAT_140162d68 + 0x154); + uVar7 = 0; + local_80 = 0; + local_78 = 0; + local_70 = 0; + local_68 = 0; + local_64 = 0; + local_60[0] = 0; + local_60[1] = 0; + local_60[2] = 0; + local_7c = (undefined4)*(undefined8 *)(DAT_140162d60 + 0x58); + local_63 = *(undefined1 *)(DAT_140162d68 + 0x171); + uVar6 = uVar7; + uVar8 = uVar7; + if (*(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3 != 0) { + do { + local_a0 = "AgentManaserSession->Process"; + DVar2 = timeGetTime(); + local_98 = DVar2; + FUN_1400024f0(*(longlong *)(*(longlong *)(param_1 + 8) + uVar6),param_2); + DVar3 = timeGetTime(); + if (0x32 < DVar3 - DVar2) { + FUN_1400de550(DAT_1401626e8,"% 9d[ms] %s\n",(ulonglong)(DVar3 - DVar2), + "AgentManaserSession->Process"); + } + uVar8 = (ulonglong)((int)uVar8 + 1); + uVar6 = uVar6 + 8; + } while (uVar8 < (ulonglong)(*(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3)); + } + if (*(double *)(param_1 + 0x60) + 5.0 < param_2) { + uVar6 = uVar7; + if (*(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3 != 0) { + do { + puVar4 = FUN_140004d60(&local_a0,local_60); + plVar5 = (longlong *)(*(longlong *)(*(longlong *)(param_1 + 8) + uVar7) + 0x68); + local_res8[0] = uVar1; + local_res10 = puVar4; + (**(code **)(*plVar5 + 0x40))(plVar5,1,&DAT_1401555d0,local_res8,&local_80,puVar4,uVar9); + if ((void *)*puVar4 != (void *)0x0) { + operator_delete((void *)*puVar4); + } + *puVar4 = 0; + puVar4[1] = 0; + puVar4[2] = 0; + uVar6 = (ulonglong)((int)uVar6 + 1); + uVar7 = uVar7 + 8; + } while (uVar6 < (ulonglong)(*(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3)) + ; + } + *(double *)(param_1 + 0x60) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140007fa0.c b/decomp/Agent_Release_x64/full/functions/0x140007fa0.c new file mode 100644 index 00000000..c1136dc3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140007fa0.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140007fa0 FUN_140007fa0 + * Pseudocode, not original source. */ + +longlong FUN_140007fa0(longlong param_1) + +{ + int *piVar1; + longlong lVar2; + + piVar1 = (int *)(param_1 + 0x28); + FUN_14002e6e0(piVar1); + if (**(longlong **)(param_1 + 8) == 0) { + FUN_14002e770((longlong)piVar1); + lVar2 = 0; + } + else { + lVar2 = **(longlong **)(param_1 + 8); + FUN_14002e770((longlong)piVar1); + } + return lVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140008000.c b/decomp/Agent_Release_x64/full/functions/0x140008000.c new file mode 100644 index 00000000..673bc696 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140008000.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140008000 FUN_140008000 + * Pseudocode, not original source. */ + +void FUN_140008000(longlong param_1,undefined4 param_2,int param_3) + +{ + longlong lVar1; + ulonglong uVar2; + ulonglong uVar3; + undefined4 local_res8 [2]; + longlong local_res20; + + uVar2 = 0; + if (*(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3 != 0) { + uVar3 = uVar2; + do { + lVar1 = *(longlong *)(uVar2 + *(longlong *)(param_1 + 8)); + local_res8[0] = param_2; + local_res20 = (longlong)param_3; + (**(code **)(*(longlong *)(lVar1 + 0x68) + 0x90)) + (lVar1 + 0x68,1,&DAT_1401555d0,local_res8,&local_res20); + uVar3 = (ulonglong)((int)uVar3 + 1); + uVar2 = uVar2 + 8; + } while (uVar3 < (ulonglong)(*(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400080a0.c b/decomp/Agent_Release_x64/full/functions/0x1400080a0.c new file mode 100644 index 00000000..3939f531 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400080a0.c @@ -0,0 +1,255 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400080a0 FUN_1400080a0 + * Pseudocode, not original source. */ + +void FUN_1400080a0(ulonglong param_1,ulonglong param_2,short *param_3,uint *param_4) + +{ + uint *puVar1; + uint *puVar2; + longlong lVar3; + undefined *puVar4; + short *psVar5; + uint uVar6; + uint uVar7; + uint uVar8; + uint uVar9; + int *piVar10; + uint *puVar11; + undefined8 *puVar12; + longlong *plVar13; + ulonglong uVar14; + uint *puVar15; + undefined8 uVar16; + ulonglong uVar17; + uint uVar18; + ulonglong uVar19; + uint local_res8 [2]; + uint local_res10; + short *local_res18; + uint *local_res20; + + local_res10 = (uint)param_2; + uVar17 = 0; + uVar14 = param_1; + uVar19 = uVar17; + local_res18 = param_3; + if (*(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3 == 0) { + return; + } + do { + psVar5 = local_res18; + local_res8[0] = (uint)param_2; + lVar3 = *(longlong *)(*(longlong *)(param_1 + 8) + uVar19 * 8); + FUN_140030200(uVar14,param_2,param_3,param_4); + local_res20 = (uint *)PTR_DAT_140155010; + uVar6 = FUN_140030080(psVar5); + uVar9 = 0; + uVar14 = 0; + if ((local_res20 != (uint *)0x0) && (uVar14 = 0, local_res20 != (uint *)PTR_DAT_140155010)) { + uVar14 = (ulonglong)local_res20[-2]; + } + uVar7 = uVar6; + if ((((int)uVar6 <= (int)uVar14) && (uVar7 = uVar9, local_res20 != (uint *)0x0)) && + (local_res20 != (uint *)PTR_DAT_140155010)) { + uVar7 = local_res20[-2]; + } + uVar18 = 1; + if (1 < (int)uVar7) { + uVar18 = uVar7; + } + uVar7 = uVar9; + if ((local_res20 != (uint *)0x0) && (local_res20 != (uint *)PTR_DAT_140155010)) { + uVar7 = local_res20[-2]; + } + puVar11 = local_res20; + if ((int)uVar7 < (int)uVar18) { + puVar15 = local_res20; + if (local_res20 == (uint *)0x0) { + puVar15 = (uint *)PTR_DAT_140155010; + } + local_res20 = puVar15; + if ((int)uVar18 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar18 == 0) { + puVar11 = (uint *)PTR_DAT_140155010; + if (((puVar15 != (uint *)0x0) && + (puVar11 = (uint *)PTR_DAT_140155010, puVar15 != (uint *)PTR_DAT_140155010)) && + (puVar11 = (uint *)PTR_DAT_140155010, puVar15 + -2 != (uint *)0x0)) { + piVar10 = (int *)FUN_140030200(PTR_DAT_140155010,uVar14,param_3,param_4); + FUN_14002e6e0(piVar10); + puVar11 = puVar15 + -1; + *puVar11 = *puVar11 - 1; + if (*puVar11 == 0) { + FUN_1400302f0(puVar15 + -2); + } + FUN_14002e770((longlong)piVar10); + puVar11 = (uint *)PTR_DAT_140155010; + } + } + else { + uVar8 = 0; + uVar7 = uVar8; + if ((puVar15 != (uint *)0x0) && (puVar15 != (uint *)PTR_DAT_140155010)) { + uVar7 = puVar15[-2]; + } + puVar11 = puVar15; + if (uVar18 != uVar7) { + puVar11 = (uint *)FUN_140030280((longlong)(int)uVar18 * 2 + 10); + if (puVar11 != (uint *)0x0) { + *puVar11 = 0; + puVar11[1] = 1; + } + *puVar11 = uVar18; + if ((local_res20 != (uint *)0x0) && (local_res20 != (uint *)PTR_DAT_140155010)) { + uVar8 = local_res20[-2]; + } + puVar15 = (uint *)PTR_DAT_140155010; + if ((int)uVar18 < (int)uVar8) { +LAB_140008233: + if (local_res20 != (uint *)0x0) { + puVar15 = local_res20; + } + } + else { + uVar18 = uVar9; + if (local_res20 != (uint *)0x0) { + if (local_res20 != (uint *)PTR_DAT_140155010) { + uVar18 = local_res20[-2]; + } + goto LAB_140008233; + } + } + puVar11 = puVar11 + 2; + uVar14 = (ulonglong)uVar18; + param_4 = puVar15; + FUN_1400300b0(puVar11,puVar15,uVar18); + puVar2 = local_res20; + if (((local_res20 != (uint *)0x0) && (local_res20 != (uint *)PTR_DAT_140155010)) && + (puVar1 = local_res20 + -2, puVar1 != (uint *)0x0)) { + piVar10 = (int *)FUN_140030200(PTR_DAT_140155010,puVar15,uVar14,param_4); + FUN_14002e6e0(piVar10); + puVar2 = puVar2 + -1; + *puVar2 = *puVar2 - 1; + if (*puVar2 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)piVar10); + } + } + } + } + local_res20 = puVar11; + uVar14 = 0; + uVar9 = 0; + puVar11 = (uint *)PTR_DAT_140155010; + if (((local_res20 == (uint *)0x0) || + (puVar11 = local_res20, local_res20 == (uint *)PTR_DAT_140155010)) || + (local_res20 + -2 == (uint *)0x0)) { + local_res20 = puVar11; + puVar12 = (undefined8 *)FUN_140030280(10); + *puVar12 = 0; + *(undefined2 *)(puVar12 + 1) = 0; + if (puVar12 != (undefined8 *)0x0) { + *(undefined4 *)puVar12 = 0; + *(undefined4 *)((longlong)puVar12 + 4) = 1; + } + *(undefined2 *)(puVar12 + 1) = 0; + puVar11 = (uint *)(puVar12 + 1); + } + else if (1 < (int)local_res20[-1]) { + uVar7 = local_res20[-2]; + if ((int)uVar7 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar11 = (uint *)FUN_140030280((longlong)(int)uVar7 * 2 + 10); + if (puVar11 != (uint *)0x0) { + *puVar11 = 0; + puVar11[1] = 1; + } + puVar4 = PTR_DAT_140155010; + if ((local_res20 != (uint *)0x0) && (local_res20 != (uint *)PTR_DAT_140155010)) { + uVar9 = local_res20[-2]; + } + *puVar11 = uVar9; + puVar15 = (uint *)puVar4; + if ((local_res20 != (uint *)0x0) && (puVar15 = local_res20, local_res20 != (uint *)puVar4)) { + uVar14 = (ulonglong)local_res20[-2]; + } + puVar11 = puVar11 + 2; + FUN_1400300b0(puVar11,puVar15,(int)uVar14); + puVar2 = local_res20; + if (((local_res20 != (uint *)0x0) && (local_res20 != (uint *)PTR_DAT_140155010)) && + (puVar1 = local_res20 + -2, puVar1 != (uint *)0x0)) { + piVar10 = (int *)FUN_140030200(PTR_DAT_140155010,puVar15,uVar14,param_4); + FUN_14002e6e0(piVar10); + puVar2 = puVar2 + -1; + *puVar2 = *puVar2 - 1; + if (*puVar2 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)piVar10); + } + } + local_res20 = puVar11; + puVar11 = local_res20; + if (local_res20 == (uint *)0x0) { + puVar11 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar11,local_res18,uVar6); + puVar11 = local_res20; + if (local_res20 == (uint *)0x0) { + puVar11 = (uint *)PTR_DAT_140155010; + } + uVar9 = FUN_140030080((short *)puVar11); + uVar6 = 0; + if (0 < (int)uVar9) { + uVar6 = uVar9; + } + uVar9 = 0; + if ((local_res20 != (uint *)0x0) && (uVar9 = 0, local_res20 != (uint *)PTR_DAT_140155010)) { + uVar9 = local_res20[-2]; + } + if (((int)uVar6 < (int)uVar9) || (uVar6 = 0, local_res20 == (uint *)0x0)) { +LAB_14000842a: + if (((local_res20 != (uint *)PTR_DAT_140155010) && (local_res20 != (uint *)0x0)) && + (local_res20 + -2 != (uint *)0x0)) { + local_res20[-2] = uVar6; + *(undefined2 *)((longlong)local_res20 + (longlong)(int)uVar6 * 2) = 0; + } + } + else if (local_res20 != (uint *)PTR_DAT_140155010) { + uVar6 = local_res20[-2]; + goto LAB_14000842a; + } + plVar13 = (longlong *)(lVar3 + 0x68); + param_4 = local_res8; + param_3 = (short *)&DAT_1401555d0; + uVar16 = 1; + (**(code **)(*plVar13 + 0xa0))(); + puVar11 = local_res20; + if (((local_res20 != (uint *)0x0) && (local_res20 != (uint *)PTR_DAT_140155010)) && + (puVar15 = local_res20 + -2, puVar15 != (uint *)0x0)) { + piVar10 = (int *)FUN_140030200(plVar13,uVar16,param_3,param_4); + FUN_14002e6e0(piVar10); + puVar11 = puVar11 + -1; + *puVar11 = *puVar11 - 1; + if (*puVar11 == 0) { + FUN_1400302f0(puVar15); + } + FUN_14002e770((longlong)piVar10); + } + local_res20 = (uint *)PTR_DAT_140155010; + uVar17 = (ulonglong)((int)uVar17 + 1); + uVar19 = uVar19 + 1; + uVar14 = *(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3; + if (uVar14 <= uVar17) { + return; + } + param_2 = (ulonglong)local_res10; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140008510.c b/decomp/Agent_Release_x64/full/functions/0x140008510.c new file mode 100644 index 00000000..ba926db4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140008510.c @@ -0,0 +1,247 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140008510 FUN_140008510 + * Pseudocode, not original source. */ + +void FUN_140008510(ulonglong param_1,ulonglong param_2,short *param_3,uint *param_4) + +{ + longlong lVar1; + undefined *puVar2; + short *psVar3; + uint uVar4; + uint uVar5; + uint uVar6; + uint uVar7; + int *piVar8; + uint *puVar9; + undefined8 *puVar10; + longlong *plVar11; + ulonglong uVar12; + uint *puVar13; + undefined8 uVar14; + ulonglong uVar15; + uint uVar16; + ulonglong uVar17; + uint local_res8 [2]; + uint local_res10; + short *local_res18; + uint *local_res20; + uint *local_a8; + + local_res10 = (uint)param_2; + uVar15 = 0; + uVar12 = param_1; + uVar17 = uVar15; + local_res18 = param_3; + local_res20 = param_4; + if (*(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3 == 0) { + return; + } + do { + psVar3 = local_res18; + local_res8[0] = (uint)param_2; + lVar1 = *(longlong *)(*(longlong *)(param_1 + 8) + uVar17 * 8); + FUN_140030200(uVar12,param_2,param_3,param_4); + puVar9 = (uint *)PTR_DAT_140155010; + local_a8 = (uint *)PTR_DAT_140155010; + uVar4 = FUN_140030080(psVar3); + uVar7 = 0; + uVar12 = 0; + if ((puVar9 != (uint *)0x0) && (uVar12 = 0, puVar9 != (uint *)PTR_DAT_140155010)) { + uVar12 = (ulonglong)*(uint *)((longlong)puVar9 + -8); + } + uVar5 = uVar4; + if ((((int)uVar4 <= (int)uVar12) && (uVar5 = uVar7, puVar9 != (uint *)0x0)) && + (puVar9 != (uint *)PTR_DAT_140155010)) { + uVar5 = *(uint *)((longlong)puVar9 + -8); + } + uVar16 = 1; + if (1 < (int)uVar5) { + uVar16 = uVar5; + } + uVar5 = uVar7; + if ((puVar9 != (uint *)0x0) && (puVar9 != (uint *)PTR_DAT_140155010)) { + uVar5 = *(uint *)((longlong)puVar9 + -8); + } + if ((int)uVar5 < (int)uVar16) { + if (puVar9 == (uint *)0x0) { + puVar9 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar16 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar16 == 0) { + local_a8 = (uint *)PTR_DAT_140155010; + if (((puVar9 != (uint *)0x0) && (puVar9 != (uint *)PTR_DAT_140155010)) && + (puVar9 + -2 != (uint *)0x0)) { + piVar8 = (int *)FUN_140030200(PTR_DAT_140155010,uVar12,param_3,param_4); + FUN_14002e6e0(piVar8); + puVar13 = puVar9 + -1; + *puVar13 = *puVar13 - 1; + if (*puVar13 == 0) { + FUN_1400302f0(puVar9 + -2); + } + FUN_14002e770((longlong)piVar8); + local_a8 = (uint *)PTR_DAT_140155010; + } + } + else { + uVar6 = 0; + uVar5 = uVar6; + if ((puVar9 != (uint *)0x0) && (puVar9 != (uint *)PTR_DAT_140155010)) { + uVar5 = puVar9[-2]; + } + local_a8 = puVar9; + if (uVar16 != uVar5) { + local_a8 = (uint *)FUN_140030280((longlong)(int)uVar16 * 2 + 10); + if (local_a8 != (uint *)0x0) { + *local_a8 = 0; + local_a8[1] = 1; + } + *local_a8 = uVar16; + if ((puVar9 != (uint *)0x0) && (puVar9 != (uint *)PTR_DAT_140155010)) { + uVar6 = puVar9[-2]; + } + puVar13 = (uint *)PTR_DAT_140155010; + if ((int)uVar16 < (int)uVar6) { +LAB_1400086a4: + if (puVar9 != (uint *)0x0) { + puVar13 = puVar9; + } + } + else { + uVar16 = uVar7; + if (puVar9 != (uint *)0x0) { + if (puVar9 != (uint *)PTR_DAT_140155010) { + uVar16 = puVar9[-2]; + } + goto LAB_1400086a4; + } + } + local_a8 = local_a8 + 2; + uVar12 = (ulonglong)uVar16; + param_4 = puVar13; + FUN_1400300b0(local_a8,puVar13,uVar16); + if (((puVar9 != (uint *)0x0) && (puVar9 != (uint *)PTR_DAT_140155010)) && + (puVar9 + -2 != (uint *)0x0)) { + piVar8 = (int *)FUN_140030200(PTR_DAT_140155010,puVar13,uVar12,param_4); + FUN_14002e6e0(piVar8); + puVar13 = puVar9 + -1; + *puVar13 = *puVar13 - 1; + if (*puVar13 == 0) { + FUN_1400302f0(puVar9 + -2); + } + FUN_14002e770((longlong)piVar8); + } + } + } + } + uVar12 = 0; + uVar7 = 0; + if (((local_a8 == (uint *)0x0) || (local_a8 == (uint *)PTR_DAT_140155010)) || + (local_a8 + -2 == (uint *)0x0)) { + puVar10 = (undefined8 *)FUN_140030280(10); + *puVar10 = 0; + *(undefined2 *)(puVar10 + 1) = 0; + if (puVar10 != (undefined8 *)0x0) { + *(undefined4 *)puVar10 = 0; + *(undefined4 *)((longlong)puVar10 + 4) = 1; + } + *(undefined2 *)(puVar10 + 1) = 0; + puVar9 = (uint *)(puVar10 + 1); + } + else { + puVar9 = local_a8; + if (1 < (int)local_a8[-1]) { + uVar5 = local_a8[-2]; + if ((int)uVar5 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar9 = (uint *)FUN_140030280((longlong)(int)uVar5 * 2 + 10); + if (puVar9 != (uint *)0x0) { + *puVar9 = 0; + puVar9[1] = 1; + } + puVar2 = PTR_DAT_140155010; + if ((local_a8 != (uint *)0x0) && (local_a8 != (uint *)PTR_DAT_140155010)) { + uVar7 = local_a8[-2]; + } + *puVar9 = uVar7; + puVar13 = (uint *)puVar2; + if ((local_a8 != (uint *)0x0) && (puVar13 = local_a8, local_a8 != (uint *)puVar2)) { + uVar12 = (ulonglong)local_a8[-2]; + } + puVar9 = puVar9 + 2; + FUN_1400300b0(puVar9,puVar13,(int)uVar12); + if (((local_a8 != (uint *)0x0) && (local_a8 != (uint *)PTR_DAT_140155010)) && + (local_a8 + -2 != (uint *)0x0)) { + piVar8 = (int *)FUN_140030200(PTR_DAT_140155010,puVar13,uVar12,param_4); + FUN_14002e6e0(piVar8); + puVar13 = local_a8 + -1; + *puVar13 = *puVar13 - 1; + if (*puVar13 == 0) { + FUN_1400302f0(local_a8 + -2); + } + FUN_14002e770((longlong)piVar8); + } + } + } + local_a8 = puVar9; + puVar9 = local_a8; + if (local_a8 == (uint *)0x0) { + puVar9 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar9,local_res18,uVar4); + puVar9 = local_a8; + if (local_a8 == (uint *)0x0) { + puVar9 = (uint *)PTR_DAT_140155010; + } + uVar7 = FUN_140030080((short *)puVar9); + uVar4 = 0; + if (0 < (int)uVar7) { + uVar4 = uVar7; + } + uVar7 = 0; + if ((local_a8 != (uint *)0x0) && (uVar7 = 0, local_a8 != (uint *)PTR_DAT_140155010)) { + uVar7 = local_a8[-2]; + } + if (((int)uVar4 < (int)uVar7) || (uVar4 = 0, local_a8 == (uint *)0x0)) { +LAB_14000889b: + if (((local_a8 != (uint *)PTR_DAT_140155010) && (local_a8 != (uint *)0x0)) && + (local_a8 + -2 != (uint *)0x0)) { + local_a8[-2] = uVar4; + *(undefined2 *)((longlong)local_a8 + (longlong)(int)uVar4 * 2) = 0; + } + } + else if (local_a8 != (uint *)PTR_DAT_140155010) { + uVar4 = local_a8[-2]; + goto LAB_14000889b; + } + plVar11 = (longlong *)(lVar1 + 0x68); + param_4 = local_res8; + param_3 = (short *)&DAT_1401555d0; + uVar14 = 1; + (**(code **)(*plVar11 + 0x70))(); + if (((local_a8 != (uint *)0x0) && (local_a8 != (uint *)PTR_DAT_140155010)) && + (local_a8 + -2 != (uint *)0x0)) { + piVar8 = (int *)FUN_140030200(plVar11,uVar14,param_3,param_4); + FUN_14002e6e0(piVar8); + puVar9 = local_a8 + -1; + *puVar9 = *puVar9 - 1; + if (*puVar9 == 0) { + FUN_1400302f0(local_a8 + -2); + } + FUN_14002e770((longlong)piVar8); + } + uVar15 = (ulonglong)((int)uVar15 + 1); + uVar17 = uVar17 + 1; + uVar12 = *(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3; + if (uVar12 <= uVar15) { + return; + } + param_2 = (ulonglong)local_res10; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140008990.c b/decomp/Agent_Release_x64/full/functions/0x140008990.c new file mode 100644 index 00000000..2eed76a9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140008990.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140008990 FUN_140008990 + * Pseudocode, not original source. */ + +void FUN_140008990(longlong param_1,uint param_2,short *param_3,short *param_4,undefined8 param_5, + undefined8 param_6) + +{ + uint uVar1; + longlong lVar2; + + uVar1 = 0; + if (*(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3 != 0) { + lVar2 = 0; + do { + FUN_140007450(*(longlong *)(lVar2 + *(longlong *)(param_1 + 8)),(ulonglong)param_2,param_3, + param_4,param_5,param_6); + uVar1 = uVar1 + 1; + lVar2 = lVar2 + 8; + } while ((ulonglong)uVar1 < + (ulonglong)(*(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140008a40.c b/decomp/Agent_Release_x64/full/functions/0x140008a40.c new file mode 100644 index 00000000..bf31a407 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140008a40.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140008a40 FUN_140008a40 + * Pseudocode, not original source. */ + +void FUN_140008a40(longlong param_1) + +{ + longlong lVar1; + uint uVar2; + longlong lVar3; + undefined1 local_res8 [8]; + undefined4 local_res10 [2]; + undefined4 local_res18 [2]; + + uVar2 = 0; + if (*(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3 != 0) { + lVar3 = 0; + do { + local_res18[0] = 0xb; + local_res10[0] = 0; + local_res8[0] = 1; + lVar1 = *(longlong *)(lVar3 + *(longlong *)(param_1 + 8)); + (**(code **)(*(longlong *)(lVar1 + 0x68) + 0x50)) + (lVar1 + 0x68,1,&DAT_1401555d0,local_res8,local_res18,local_res10); + uVar2 = uVar2 + 1; + lVar3 = lVar3 + 8; + } while ((ulonglong)uVar2 < + (ulonglong)(*(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140008ae0.c b/decomp/Agent_Release_x64/full/functions/0x140008ae0.c new file mode 100644 index 00000000..5866f7b2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140008ae0.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140008ae0 FUN_140008ae0 + * Pseudocode, not original source. */ + +void FUN_140008ae0(longlong param_1,undefined4 param_2) + +{ + longlong lVar1; + ulonglong uVar2; + ulonglong uVar3; + undefined4 local_res10 [2]; + + uVar2 = 0; + uVar3 = uVar2; + local_res10[0] = param_2; + if (*(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3 != 0) { + do { + lVar1 = *(longlong *)(uVar2 + *(longlong *)(param_1 + 8)); + (**(code **)(*(longlong *)(lVar1 + 0x68) + 0xc0))(lVar1 + 0x68,1,&DAT_1401555d0,local_res10); + uVar3 = (ulonglong)((int)uVar3 + 1); + uVar2 = uVar2 + 8; + } while (uVar3 < (ulonglong)(*(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140008b60.c b/decomp/Agent_Release_x64/full/functions/0x140008b60.c new file mode 100644 index 00000000..9485c8dd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140008b60.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140008b60 FUN_140008b60 + * Pseudocode, not original source. */ + +void FUN_140008b60(longlong param_1) + +{ + longlong lVar1; + ulonglong uVar2; + ulonglong uVar3; + + uVar2 = 0; + uVar3 = uVar2; + if (*(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3 != 0) { + do { + lVar1 = *(longlong *)(uVar2 + *(longlong *)(param_1 + 8)); + (**(code **)(*(longlong *)(lVar1 + 0x68) + 0xd0))(lVar1 + 0x68,1,&DAT_1401555d0); + uVar3 = (ulonglong)((int)uVar3 + 1); + uVar2 = uVar2 + 8; + } while (uVar3 < (ulonglong)(*(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8) >> 3)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140008be0.c b/decomp/Agent_Release_x64/full/functions/0x140008be0.c new file mode 100644 index 00000000..04f95847 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140008be0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140008be0 FUN_140008be0 + * Pseudocode, not original source. */ + +void FUN_140008be0(longlong param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140007030((undefined8 *)(param_1 + -0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140008bf0.c b/decomp/Agent_Release_x64/full/functions/0x140008bf0.c new file mode 100644 index 00000000..d1ee5571 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140008bf0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140008bf0 FUN_140008bf0 + * Pseudocode, not original source. */ + +undefined8 FUN_140008bf0(void) + +{ + return 0x860e; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140008c00.c b/decomp/Agent_Release_x64/full/functions/0x140008c00.c new file mode 100644 index 00000000..4b5cd828 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140008c00.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140008c00 FUN_140008c00 + * Pseudocode, not original source. */ + +undefined8 FUN_140008c00(void) + +{ + return 0x85fc; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140008c10.c b/decomp/Agent_Release_x64/full/functions/0x140008c10.c new file mode 100644 index 00000000..ce4c4ade --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140008c10.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140008c10 FUN_140008c10 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140008c10(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = MagiAgentProcess::vftable; + FUN_14002e7a0((undefined4 *)(param_1 + 5),param_2,param_3,param_4); + if ((void *)param_1[1] != (void *)0x0) { + operator_delete((void *)param_1[1]); + } + param_1[1] = 0; + param_1[2] = 0; + param_1[3] = 0; + *param_1 = MBISingleton::vftable; + DAT_140162d78 = 0; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140008c90.c b/decomp/Agent_Release_x64/full/functions/0x140008c90.c new file mode 100644 index 00000000..319a6886 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140008c90.c @@ -0,0 +1,83 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140008c90 FUN_140008c90 + * Pseudocode, not original source. */ + +undefined8 FUN_140008c90(undefined8 *param_1) + +{ + DWORD DVar1; + HANDLE hProcess; + undefined4 *puVar2; + undefined8 *puVar3; + longlong lVar4; + longlong lVar5; + uint *puVar6; + undefined *puVar7; + uint *puVar8; + uint local_res8 [2]; + DWORD local_res10 [2]; + undefined8 *local_res18; + undefined8 *local_res20; + undefined8 local_118; + undefined8 local_110; + undefined8 local_108; + undefined8 local_100; + undefined8 local_f8; + undefined8 local_f0 [4]; + undefined4 local_d0 [44]; + + local_f8 = 0xfffffffffffffffe; + hProcess = (HANDLE)*param_1; + DVar1 = *(DWORD *)(param_1 + 2); + local_res10[0] = DVar1; + do { + Sleep(10); + GetExitCodeProcess(hProcess,local_res10); + } while (local_res10[0] == 0x103); + puVar2 = (undefined4 *)FUN_14002c9a0(DAT_140162d60,DVar1); + if (puVar2 == (undefined4 *)0x0) { + wprintf(L"NOT FIND PROCESS ID \n"); + } + else { + lVar5 = *(longlong *)(DAT_1401626f8 + 0xa8); + if (lVar5 != 0) { + puVar2[0x28] = 0; + puVar2[0x31] = 0; + local_res18 = local_f0; + puVar3 = FUN_140006c30((longlong)puVar2,local_f0); + local_118 = *(undefined8 *)(puVar2 + 0x2e); + local_110 = *(undefined8 *)(puVar2 + 0x30); + local_108 = *(undefined8 *)(puVar2 + 0x32); + local_100 = *(undefined8 *)(puVar2 + 0x34); + local_res8[0] = puVar2[1]; + local_res20 = puVar3; + lVar4 = FUN_140007fa0(lVar5); + (**(code **)(*(longlong *)(lVar4 + 0x68) + 0x40)) + ((longlong *)(lVar4 + 0x68),1,&DAT_1401555d0,local_res8,&local_118,puVar3); + if ((void *)*puVar3 != (void *)0x0) { + operator_delete((void *)*puVar3); + } + *puVar3 = 0; + puVar3[1] = 0; + puVar3[2] = 0; + local_res20 = (undefined8 *)CONCAT44(local_res20._4_4_,1); + local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,puVar2[1]); + local_res8[0] = CONCAT31(local_res8[0]._1_3_,1); + lVar5 = FUN_140007fa0(lVar5); + puVar8 = local_res8; + puVar7 = &DAT_1401555d0; + (**(code **)(*(longlong *)(lVar5 + 0x68) + 0x50)) + ((longlong *)(lVar5 + 0x68),1,&DAT_1401555d0,puVar8,&local_res20,&local_res18); + if ((*(char *)((longlong)puVar2 + 0xd5) != '\0') || (*(char *)(DAT_140162d68 + 0x171) != '\0') + ) { + puVar6 = FUN_14000b8e0(puVar2,local_d0); + FUN_140008ea0(DAT_140162d78,puVar6,puVar7,puVar8); + if ((*(char *)(puVar2 + 3) == '\x01') && (0 < (int)puVar2[0x34])) { + FUN_140009f20(DAT_140162d78,puVar2[1]); + } + } + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140008ea0.c b/decomp/Agent_Release_x64/full/functions/0x140008ea0.c new file mode 100644 index 00000000..20962e39 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140008ea0.c @@ -0,0 +1,271 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140008ea0 FUN_140008ea0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +void FUN_140008ea0(undefined8 param_1,uint *param_2,undefined8 param_3,uint *param_4) + +{ + char cVar1; + wchar_t wVar2; + ulonglong uVar3; + DWORD DVar4; + char *pcVar5; + wchar_t *******pppppppwVar6; + longlong lVar7; + ulonglong uVar8; + undefined8 uVar9; + char *pcVar10; + wchar_t *pwVar11; + undefined8 *puVar12; + short *psVar13; + wchar_t *pwVar14; + undefined1 auStack_488 [32]; + void **local_468; + undefined8 *local_460; + uint local_458 [2]; + undefined8 *local_450; + undefined1 *local_448; + undefined8 local_440; + basic_ostream_> local_438 [136]; + basic_ios_> local_3b0 [104]; + uint *local_348; + wchar_t *******local_340 [2]; + wchar_t ******local_330; + wchar_t ******local_328; + undefined2 local_318; + undefined6 uStack_316; + undefined8 local_308; + ulonglong local_300; + ulonglong local_2f0 [2]; + undefined8 local_2e0; + ulonglong local_2d8; + void *local_2c8; + undefined8 local_2c0; + undefined8 local_2b8; + ulonglong local_2b0; + ulonglong local_2a0 [2]; + undefined8 local_290; + ulonglong local_288; + ulonglong local_278 [2]; + undefined8 local_268; + ulonglong local_260; + wchar_t local_248; + undefined1 local_246 [526]; + ulonglong local_38; + + local_440 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_488; + pwVar11 = (wchar_t *)0x0; + DVar4 = 0; + pwVar14 = pwVar11; + if (*(longlong *)(DAT_140162d60 + 0x58) != 0) { + for (puVar12 = *(undefined8 **) + (*(longlong *)(DAT_140162d60 + 0x38) + + ((ulonglong)(longlong)(int)param_2[1] % *(ulonglong *)(DAT_140162d60 + 0x40)) * + 8); puVar12 != (undefined8 *)0x0; puVar12 = (undefined8 *)*puVar12) { + if (param_2[1] == *(uint *)(puVar12 + 1)) { + if (puVar12 != (undefined8 *)0x0) { + pwVar14 = (wchar_t *)puVar12[2]; + } + break; + } + } + } + local_348 = param_2; + if (*(int *)(pwVar14 + 0x62) == 0) { + pwVar14[0x62] = L'\x01'; + pwVar14[99] = L'\0'; + uVar3 = *(ulonglong *)(DAT_1401626f8 + 0xa8); + local_248 = L'\0'; + memset(local_246,0,0x206); + FUN_14000a4b0(local_438); + std::basic_ostream_>::operator<<(local_438,param_2[1]); + FUN_14000a600((longlong)local_438,(void **)&local_318); + for (pcVar5 = *(char **)(DAT_140162d58 + 8); pcVar5 != *(char **)(DAT_140162d58 + 0x10); + pcVar5 = pcVar5 + 0x30) { + if (*pcVar5 == (char)param_2[3]) { + pwVar11 = (wchar_t *)(pcVar5 + 8); + if (7 < *(ulonglong *)(pcVar5 + 0x20)) { + pwVar11 = *(wchar_t **)pwVar11; + } + break; + } + } + wcscpy_s(&local_248,0x104,pwVar11); + wcscat_s(&local_248,0x104,L" "); + if (*(char *)(DAT_140162d68 + 0x152) == '\0') { + local_2d8 = 0xf; + local_2e0 = 0; + local_2f0[0]._0_1_ = '\0'; + local_328 = (wchar_t ******)0x7; + local_330 = (wchar_t ******)0x0; + local_340[0] = (wchar_t *******)((ulonglong)local_340[0] & 0xffffffffffff0000); + FUN_140027540(DAT_140162d68,local_2f0,param_2); + pcVar5 = (char *)local_2f0; + if (0xf < local_2d8) { + pcVar5 = (char *)CONCAT71(local_2f0[0]._1_7_,(char)local_2f0[0]); + } + local_288 = 0xf; + local_290 = 0; + local_2a0[0]._0_1_ = '\0'; + uVar8 = 0xffffffffffffffff; + pcVar10 = pcVar5; + do { + if (uVar8 == 0) break; + uVar8 = uVar8 - 1; + cVar1 = *pcVar10; + pcVar10 = pcVar10 + 1; + } while (cVar1 != '\0'); + FUN_14000b810(local_2a0,pcVar5,~uVar8 - 1); + pppppppwVar6 = (wchar_t *******)FUN_1400dc8f0((ulonglong *)&local_2c8,(LPCSTR)local_2a0); + if (local_340 != (wchar_t ********)pppppppwVar6) { + if ((wchar_t ******)0x7 < local_328) { + operator_delete(local_340[0]); + } + local_328 = (wchar_t ******)0x7; + local_330 = (wchar_t ******)0x0; + local_340[0] = (wchar_t *******)((ulonglong)local_340[0] & 0xffffffffffff0000); + if (pppppppwVar6[3] < (wchar_t ******)0x8) { + memmove(local_340,pppppppwVar6,((longlong)pppppppwVar6[2] + 1U) * 2); + } + else { + local_340[0] = (wchar_t *******)*pppppppwVar6; + *pppppppwVar6 = (wchar_t ******)0x0; + } + local_330 = pppppppwVar6[2]; + local_328 = pppppppwVar6[3]; + pppppppwVar6[3] = (wchar_t ******)0x7; + pppppppwVar6[2] = (wchar_t ******)0x0; + *(undefined2 *)pppppppwVar6 = 0; + } + if (7 < local_2b0) { + operator_delete(local_2c8); + } + local_2b0 = 7; + local_2b8 = 0; + local_2c8 = (void *)((ulonglong)local_2c8 & 0xffffffffffff0000); + if (0xf < local_288) { + operator_delete((void *)CONCAT71(local_2a0[0]._1_7_,(CHAR)local_2a0[0])); + } + pppppppwVar6 = (wchar_t *******)local_340; + if ((wchar_t ******)0x7 < local_328) { + pppppppwVar6 = local_340[0]; + } + uVar9 = 0x104; + wcscat_s(&local_248,0x104,(wchar_t *)pppppppwVar6); + if ((wchar_t ******)0x7 < local_328) { + operator_delete(local_340[0]); + } + local_328 = (wchar_t ******)0x7; + local_330 = (wchar_t ******)0x0; + local_340[0] = (wchar_t *******)((ulonglong)local_340[0] & 0xffffffffffff0000); + if (0xf < local_2d8) { + operator_delete((void *)CONCAT71(local_2f0[0]._1_7_,(char)local_2f0[0])); + } + local_2d8 = 0xf; + local_2e0 = 0; + local_2f0[0]._0_1_ = '\0'; + } + else { + pppppppwVar6 = (wchar_t *******)&local_318; + if (7 < local_300) { + pppppppwVar6 = (wchar_t *******)CONCAT62(uStack_316,local_318); + } + uVar9 = 0x104; + wcscat_s(&local_248,0x104,(wchar_t *)pppppppwVar6); + } + uVar8 = 0xffffffffffffffff; + pwVar11 = &local_248; + do { + if (uVar8 == 0) break; + uVar8 = uVar8 - 1; + wVar2 = *pwVar11; + pwVar11 = pwVar11 + 1; + } while (wVar2 != L'\0'); + if ((~uVar8 < 0x104) && + (DVar4 = FUN_1400094e0(&local_248,uVar9,pppppppwVar6,param_4), 0 < (int)DVar4)) { + *(DWORD *)(pwVar14 + 0x52) = DVar4; + pwVar14[0x62] = L'\x01'; + pwVar14[99] = L'\0'; + local_448 = (undefined1 *)local_2a0; + puVar12 = FUN_140006c30((longlong)pwVar14,local_2a0); + local_2c8 = *(void **)(pwVar14 + 0x5c); + local_2c0 = *(undefined8 *)(pwVar14 + 0x60); + local_2b8 = *(undefined8 *)(pwVar14 + 100); + local_2b0 = *(ulonglong *)(pwVar14 + 0x68); + local_458[0] = *(uint *)(pwVar14 + 2); + local_450 = puVar12; + lVar7 = FUN_140007fa0(uVar3); + local_468 = &local_2c8; + param_4 = local_458; + local_460 = puVar12; + (**(code **)(*(longlong *)(lVar7 + 0x68) + 0x40))((longlong *)(lVar7 + 0x68),1,&DAT_1401555d0) + ; + if ((void *)*puVar12 != (void *)0x0) { + operator_delete((void *)*puVar12); + } + *puVar12 = 0; + puVar12[1] = 0; + puVar12[2] = 0; + } + else { + pwVar14[0x62] = L'\0'; + pwVar14[99] = L'\0'; + } + if (uVar3 == 0) { + if (7 < local_300) { + operator_delete((void *)CONCAT62(uStack_316,local_318)); + } + local_300 = 7; + local_308 = 0; + local_318 = 0; + FUN_14000a550((longlong)local_3b0); + std::basic_ios_>:: + ~basic_ios_>(local_3b0); + } + else if ((int)DVar4 < 1) { + puVar12 = (undefined8 *)(DAT_140162d68 + 0x30); + if (7 < *(ulonglong *)(DAT_140162d68 + 0x48)) { + puVar12 = (undefined8 *)*puVar12; + } + FUN_1400dc9d0(local_278,L"FAILED SERVER ON %s ",puVar12,param_4); + psVar13 = (short *)local_278; + if (7 < local_260) { + psVar13 = (short *)CONCAT62(local_278[0]._2_6_,(short)local_278[0]); + } + FUN_1400080a0(uVar3,1,psVar13,param_4); + if (7 < local_260) { + operator_delete((void *)CONCAT62(local_278[0]._2_6_,(short)local_278[0])); + } + local_260 = 7; + local_268 = 0; + local_278[0]._0_2_ = 0; + if (7 < local_300) { + operator_delete((void *)CONCAT62(uStack_316,local_318)); + } + local_300 = 7; + local_308 = 0; + local_318 = 0; + FUN_14000a550((longlong)local_3b0); + std::basic_ios_>:: + ~basic_ios_>(local_3b0); + } + else { + if (7 < local_300) { + operator_delete((void *)CONCAT62(uStack_316,local_318)); + } + local_300 = 7; + local_308 = 0; + local_318 = 0; + FUN_14000a550((longlong)local_3b0); + std::basic_ios_>:: + ~basic_ios_>(local_3b0); + } + } + FUN_140004e10((longlong)param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400094b0.c b/decomp/Agent_Release_x64/full/functions/0x1400094b0.c new file mode 100644 index 00000000..691c22e9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400094b0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400094b0 FUN_1400094b0 + * Pseudocode, not original source. */ + +void FUN_1400094b0(longlong param_1) + +{ + FUN_14000a550(param_1 + 0x88); + /* WARNING: Could not recover jumptable at 0x0001400094cd. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::basic_ios_>::~basic_ios_> + ((basic_ios_> *)(param_1 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400094e0.c b/decomp/Agent_Release_x64/full/functions/0x1400094e0.c new file mode 100644 index 00000000..6066c4ce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400094e0.c @@ -0,0 +1,107 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400094e0 FUN_1400094e0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +DWORD FUN_1400094e0(wchar_t *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + wchar_t wVar2; + BOOL BVar3; + longlong *plVar4; + int *piVar5; + HANDLE hObject; + ulonglong uVar6; + wchar_t *pwVar7; + LPWSTR lpCommandLine; + undefined8 uVar8; + DWORD DVar9; + wchar_t *pwVar10; + code *pcVar11; + undefined8 uVar12; + _PROCESS_INFORMATION *_ArgList; + undefined1 auStackY_538 [32]; + undefined *local_4e8; + _PROCESS_INFORMATION local_4e0; + int *local_4c8; + undefined1 local_4c0; + undefined8 local_4b8; + _STARTUPINFOW local_4a8; + wchar_t local_438; + undefined1 local_436 [526]; + wchar_t local_228; + undefined1 local_226 [526]; + ulonglong local_18; + + local_4b8 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStackY_538; + DVar9 = 0; + local_228 = L'\0'; + memset(local_226,0,0x206); + local_438 = L'\0'; + memset(local_436,0,0x206); + uVar6 = 0xffffffffffffffff; + pwVar10 = param_1; + do { + if (uVar6 == 0) break; + uVar6 = uVar6 - 1; + wVar2 = *pwVar10; + pwVar10 = pwVar10 + 1; + } while (wVar2 != L'\0'); + uVar6 = ~uVar6; + wcscpy_s(&local_228,uVar6,param_1); + plVar4 = FUN_14002fe90((longlong *)&local_4e8,uVar6,param_1,param_4); + pwVar10 = (wchar_t *)*plVar4; + if ((wchar_t *)*plVar4 == (wchar_t *)0x0) { + pwVar10 = (wchar_t *)PTR_DAT_140155010; + } + pwVar7 = &local_438; + wcscpy_s(&local_438,0x104,pwVar10); + if (((local_4e8 != (undefined *)0x0) && (local_4e8 != PTR_DAT_140155010)) && + (local_4e8 + -8 != (undefined *)0x0)) { + piVar5 = (int *)FUN_140030200(pwVar7,local_4e8,pwVar10,param_4); + local_4c8 = piVar5; + FUN_14002e6e0(piVar5); + local_4c0 = 1; + piVar1 = (int *)(local_4e8 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_4e8 + -8); + } + FUN_14002e770((longlong)piVar5); + } + memset(&local_4a8,0,0x68); + local_4a8.cb = 0x68; + local_4a8.dwFlags = 0x13; + local_4a8.dwXSize = 700; + local_4a8.dwYSize = 0x6e; + local_4a8.dwFillAttribute = 0x17; + local_4a8.wShowWindow = 5; + uVar12 = 0; + uVar8 = 0; + lpCommandLine = &local_228; + BVar3 = CreateProcessW((LPCWSTR)0x0,lpCommandLine,(LPSECURITY_ATTRIBUTES)0x0, + (LPSECURITY_ATTRIBUTES)0x0,0,0x10,(LPVOID)0x0,&local_438,&local_4a8, + &local_4e0); + if (BVar3 == 0) { + FUN_140010aa0(L"=======Server Fail=======\n",lpCommandLine,uVar8,uVar12); + FUN_140010aa0(L"Path\t: [%s] \n",&local_438,uVar8,uVar12); + FUN_140010aa0(L"File\t: [%s] \n",&local_228,uVar8,uVar12); + } + else { + CloseHandle(local_4e0.hThread); + _ArgList = &local_4e0; + pcVar11 = FUN_140008c90; + uVar8 = 0; + hObject = (HANDLE)_beginthreadex((void *)0x0,0,FUN_140008c90,_ArgList,0,(uint *)&local_4e8); + CloseHandle(hObject); + FUN_140010aa0(L"=======ServerOn=======\n",uVar8,pcVar11,_ArgList); + DVar9 = local_4e0.dwProcessId; + } + printf("//////////////////////////////////////////////////////////////////////////\n"); + Sleep(1000); + return DVar9; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140009720.c b/decomp/Agent_Release_x64/full/functions/0x140009720.c new file mode 100644 index 00000000..4658a4fc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140009720.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140009720 FUN_140009720 + * Pseudocode, not original source. */ + +void FUN_140009720(DWORD param_1) + +{ + BOOL BVar1; + HANDLE hProcess; + DWORD local_res10 [6]; + + hProcess = OpenProcess(0x1f0fff,0,param_1); + if (hProcess != (HANDLE)0x0) { + BVar1 = GetExitCodeProcess(hProcess,local_res10); + if ((BVar1 != 0) && (local_res10[0] == 0x103)) { + TerminateProcess(hProcess,0); + } + CloseHandle(hProcess); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140009780.c b/decomp/Agent_Release_x64/full/functions/0x140009780.c new file mode 100644 index 00000000..e7919438 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140009780.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140009780 FUN_140009780 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_140009780(wchar_t *param_1) + +{ + int iVar1; + BOOL BVar2; + HANDLE hObject; + HANDLE hProcess; + undefined4 extraout_var; + undefined4 extraout_var_00; + undefined1 auStack_278 [32]; + undefined4 local_258 [2]; + DWORD local_250; + wchar_t local_22c [266]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_278; + if (param_1 != (wchar_t *)0x0) { + hObject = (HANDLE)CreateToolhelp32Snapshot(2); + memset(local_258,0,0x238); + local_258[0] = 0x238; + iVar1 = Process32FirstW(hObject,local_258); + while (iVar1 != 0) { + iVar1 = _wcsicmp(param_1,local_22c); + if ((iVar1 == 0) && + (hProcess = OpenProcess(1,0,local_250), hProcess != (HANDLE)0xffffffffffffffff)) { + wprintf(L"Process Kill.!!! [%s] \n"); + TerminateProcess(hProcess,0); + BVar2 = CloseHandle(hProcess); + return CONCAT71((int7)(CONCAT44(extraout_var_00,BVar2) >> 8),1); + } + iVar1 = Process32NextW(hObject,local_258); + } + BVar2 = CloseHandle(hObject); + local_18 = CONCAT44(extraout_var,BVar2); + } + return local_18 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140009890.c b/decomp/Agent_Release_x64/full/functions/0x140009890.c new file mode 100644 index 00000000..9a1c9cf8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140009890.c @@ -0,0 +1,170 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140009890 FUN_140009890 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140009890(undefined8 param_1,undefined8 param_2,undefined8 param_3,uint *param_4) + +{ + longlong lVar1; + ulonglong *puVar2; + ulonglong *puVar3; + uint *puVar4; + ulonglong *puVar5; + ulonglong *puVar6; + ulonglong *puVar7; + ulonglong *puVar8; + undefined1 auStack_238 [32]; + ulonglong *local_218; + ulonglong *local_210; + ulonglong *local_208; + ulonglong *local_200; + ulonglong *local_1f8; + ulonglong *local_1e8; + undefined8 local_1e0; + undefined4 local_1d8 [40]; + undefined4 local_138 [3]; + char local_12c; + void *local_110; + ulonglong local_f8; + undefined2 local_e8; + undefined6 uStack_e6; + undefined8 local_d8; + ulonglong local_d0; + undefined2 local_c0; + undefined6 uStack_be; + undefined8 local_b0; + ulonglong local_a8; + ulonglong local_98; + ulonglong uStack_90; + ulonglong local_88; + ulonglong local_80; + ulonglong local_78; + ulonglong local_70; + ulonglong local_68; + void *local_60; + undefined8 local_58; + undefined8 local_50; + ulonglong local_38; + + local_1e0 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_238; + if (*(longlong *)(DAT_1401626f8 + 0xa8) == 0) { + return; + } + puVar5 = (ulonglong *)0x0; + local_208 = (ulonglong *)0x0; + local_200 = (ulonglong *)0x0; + local_1f8 = (ulonglong *)0x0; + puVar8 = puVar5; + puVar7 = puVar5; + if (*(longlong *)(DAT_140162d60 + 0x58) == 0) { + local_218 = (ulonglong *)0x0; + } + else { + local_218 = *(ulonglong **)(DAT_140162d60 + 0x68); + if (local_218 != (ulonglong *)0x0) { + local_210 = (ulonglong *)*local_218; + puVar6 = local_218; + puVar3 = local_210; + goto joined_r0x00014000993e; + } + } + local_210 = (ulonglong *)0x0; + puVar6 = local_218; + puVar3 = local_210; +joined_r0x00014000993e: + while (puVar3 != (ulonglong *)0x0) { + puVar2 = (ulonglong *)puVar3[2]; + if (puVar2 != (ulonglong *)0x0) { + if ((puVar2 < puVar5) && (puVar8 <= puVar2)) { + lVar1 = ((longlong)puVar2 - (longlong)puVar8) + + SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816((longlong)puVar2 - (longlong)puVar8),8 + ); + if (puVar5 == puVar7) { + FUN_14002d140((longlong *)&local_208); + puVar5 = local_200; + puVar8 = local_208; + puVar7 = local_1f8; + } + local_218 = puVar5; + local_1e8 = puVar5; + if (puVar5 != (ulonglong *)0x0) { + FUN_140004950((undefined4 *)puVar5, + (undefined4 *)(puVar8 + ((lVar1 >> 7) - (lVar1 >> 0x3f)) * 0x1f)); + } + } + else { + if (puVar5 == puVar7) { + FUN_14002d140((longlong *)&local_208); + puVar5 = local_200; + puVar8 = local_208; + puVar7 = local_1f8; + } + local_218 = puVar5; + local_1e8 = puVar5; + if (puVar5 != (ulonglong *)0x0) { + FUN_140004950((undefined4 *)puVar5,(undefined4 *)puVar2); + } + } + puVar5 = puVar5 + 0x1f; + local_200 = puVar5; + } + puVar3 = (ulonglong *)*puVar3; + while (puVar3 == (ulonglong *)0x0) { + puVar6 = puVar6 + 1; + puVar3 = (ulonglong *)*puVar6; + } + if (puVar6 == puVar3) { + puVar3 = (ulonglong *)0x0; + } + } + if (puVar8 != puVar5) { + puVar7 = puVar8 + 0x17; + do { + FUN_140004ea0(local_138,(undefined4 *)(puVar7 + -0x17)); + local_98 = puVar7[-3]; + uStack_90 = puVar7[-2]; + local_88 = puVar7[-1]; + local_80 = *puVar7; + local_78 = puVar7[1]; + local_70 = puVar7[2]; + local_68 = puVar7[3]; + FUN_140004d60(&local_60,(longlong *)(puVar7 + 4)); + if (local_12c != '\x18') { + puVar4 = FUN_14000b8e0(local_138,local_1d8); + FUN_140008ea0(DAT_140162d78,puVar4,param_3,param_4); + } + if (local_60 != (void *)0x0) { + operator_delete(local_60); + } + local_50 = 0; + local_58 = 0; + local_60 = (void *)0x0; + if (7 < local_a8) { + operator_delete((void *)CONCAT62(uStack_be,local_c0)); + } + local_c0 = 0; + local_b0 = 0; + local_a8 = 7; + if (7 < local_d0) { + operator_delete((void *)CONCAT62(uStack_e6,local_e8)); + } + local_e8 = 0; + local_d8 = 0; + local_d0 = 7; + if (7 < local_f8) { + operator_delete(local_110); + } + puVar3 = puVar7 + 8; + puVar7 = puVar7 + 0x1f; + } while (puVar3 != puVar5); + } + if (puVar8 != (ulonglong *)0x0) { + FUN_140004b30(puVar8,puVar5); + operator_delete(puVar8); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140009bd0.c b/decomp/Agent_Release_x64/full/functions/0x140009bd0.c new file mode 100644 index 00000000..6de961c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140009bd0.c @@ -0,0 +1,170 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140009bd0 FUN_140009bd0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140009bd0(undefined8 param_1,undefined8 param_2,undefined8 param_3,uint *param_4) + +{ + longlong lVar1; + ulonglong *puVar2; + ulonglong *puVar3; + uint *puVar4; + ulonglong *puVar5; + ulonglong *puVar6; + ulonglong *puVar7; + ulonglong *puVar8; + undefined1 auStack_238 [32]; + ulonglong *local_218; + ulonglong *local_210; + ulonglong *local_208; + ulonglong *local_200; + ulonglong *local_1f8; + ulonglong *local_1e8; + undefined8 local_1e0; + undefined4 local_1d8 [40]; + undefined4 local_138 [3]; + char local_12c; + void *local_110; + ulonglong local_f8; + undefined2 local_e8; + undefined6 uStack_e6; + undefined8 local_d8; + ulonglong local_d0; + undefined2 local_c0; + undefined6 uStack_be; + undefined8 local_b0; + ulonglong local_a8; + ulonglong local_98; + ulonglong uStack_90; + ulonglong local_88; + ulonglong local_80; + undefined8 local_78; + ulonglong local_70; + ulonglong local_68; + void *local_60; + undefined8 local_58; + undefined8 local_50; + ulonglong local_38; + + local_1e0 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_238; + if (*(longlong *)(DAT_1401626f8 + 0xa8) == 0) { + return; + } + puVar5 = (ulonglong *)0x0; + local_208 = (ulonglong *)0x0; + local_200 = (ulonglong *)0x0; + local_1f8 = (ulonglong *)0x0; + puVar8 = puVar5; + puVar7 = puVar5; + if (*(longlong *)(DAT_140162d60 + 0x58) == 0) { + local_218 = (ulonglong *)0x0; + } + else { + local_218 = *(ulonglong **)(DAT_140162d60 + 0x68); + if (local_218 != (ulonglong *)0x0) { + local_210 = (ulonglong *)*local_218; + puVar6 = local_218; + puVar3 = local_210; + goto joined_r0x000140009c7e; + } + } + local_210 = (ulonglong *)0x0; + puVar6 = local_218; + puVar3 = local_210; +joined_r0x000140009c7e: + while (puVar3 != (ulonglong *)0x0) { + puVar2 = (ulonglong *)puVar3[2]; + if (puVar2 != (ulonglong *)0x0) { + if ((puVar2 < puVar5) && (puVar8 <= puVar2)) { + lVar1 = ((longlong)puVar2 - (longlong)puVar8) + + SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816((longlong)puVar2 - (longlong)puVar8),8 + ); + if (puVar5 == puVar7) { + FUN_14002d140((longlong *)&local_208); + puVar5 = local_200; + puVar8 = local_208; + puVar7 = local_1f8; + } + local_218 = puVar5; + local_1e8 = puVar5; + if (puVar5 != (ulonglong *)0x0) { + FUN_140004950((undefined4 *)puVar5, + (undefined4 *)(puVar8 + ((lVar1 >> 7) - (lVar1 >> 0x3f)) * 0x1f)); + } + } + else { + if (puVar5 == puVar7) { + FUN_14002d140((longlong *)&local_208); + puVar5 = local_200; + puVar8 = local_208; + puVar7 = local_1f8; + } + local_218 = puVar5; + local_1e8 = puVar5; + if (puVar5 != (ulonglong *)0x0) { + FUN_140004950((undefined4 *)puVar5,(undefined4 *)puVar2); + } + } + puVar5 = puVar5 + 0x1f; + local_200 = puVar5; + } + puVar3 = (ulonglong *)*puVar3; + while (puVar3 == (ulonglong *)0x0) { + puVar6 = puVar6 + 1; + puVar3 = (ulonglong *)*puVar6; + } + if (puVar6 == puVar3) { + puVar3 = (ulonglong *)0x0; + } + } + if (puVar8 != puVar5) { + puVar7 = puVar8 + 0x17; + do { + FUN_140004ea0(local_138,(undefined4 *)(puVar7 + -0x17)); + local_98 = puVar7[-3]; + uStack_90 = puVar7[-2]; + local_88 = puVar7[-1]; + local_80 = *puVar7; + local_78 = puVar7[1]; + local_70 = puVar7[2]; + local_68 = puVar7[3]; + FUN_140004d60(&local_60,(longlong *)(puVar7 + 4)); + if ((local_78._4_4_ == 0) && (local_12c != '\x18')) { + puVar4 = FUN_14000b8e0(local_138,local_1d8); + FUN_140008ea0(DAT_140162d78,puVar4,param_3,param_4); + } + if (local_60 != (void *)0x0) { + operator_delete(local_60); + } + local_60 = (void *)0x0; + local_58 = 0; + local_50 = 0; + if (7 < local_a8) { + operator_delete((void *)CONCAT62(uStack_be,local_c0)); + } + local_a8 = 7; + local_b0 = 0; + local_c0 = 0; + if (7 < local_d0) { + operator_delete((void *)CONCAT62(uStack_e6,local_e8)); + } + local_d0 = 7; + local_d8 = 0; + local_e8 = 0; + if (7 < local_f8) { + operator_delete(local_110); + } + puVar3 = puVar7 + 8; + puVar7 = puVar7 + 0x1f; + } while (puVar3 != puVar5); + } + if (puVar8 != (ulonglong *)0x0) { + FUN_140004b30(puVar8,puVar5); + operator_delete(puVar8); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140009f20.c b/decomp/Agent_Release_x64/full/functions/0x140009f20.c new file mode 100644 index 00000000..bf7a300d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140009f20.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140009f20 FUN_140009f20 + * Pseudocode, not original source. */ + +void FUN_140009f20(longlong param_1,undefined4 param_2) + +{ + undefined4 *puVar1; + undefined4 *puVar2; + undefined4 local_res10 [2]; + + local_res10[0] = param_2; + FUN_14002e6e0((int *)(param_1 + 0x28)); + puVar1 = *(undefined4 **)(param_1 + 0x10); + if ((local_res10 < puVar1) && (puVar2 = *(undefined4 **)(param_1 + 8), puVar2 <= local_res10)) { + if (puVar1 == *(undefined4 **)(param_1 + 0x18)) { + FUN_14000add0((longlong *)(param_1 + 8),1); + } + if (*(undefined4 **)(param_1 + 0x10) != (undefined4 *)0x0) { + **(undefined4 **)(param_1 + 0x10) = + *(undefined4 *) + (*(longlong *)(param_1 + 8) + ((longlong)local_res10 - (longlong)puVar2 >> 2) * 4); + } + } + else { + if (puVar1 == *(undefined4 **)(param_1 + 0x18)) { + FUN_14000add0((longlong *)(param_1 + 8),1); + } + if (*(undefined4 **)(param_1 + 0x10) != (undefined4 *)0x0) { + **(undefined4 **)(param_1 + 0x10) = param_2; + } + } + *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + 4; + FUN_14002e770(param_1 + 0x28); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140009ff0.c b/decomp/Agent_Release_x64/full/functions/0x140009ff0.c new file mode 100644 index 00000000..54f45dd2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140009ff0.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140009ff0 FUN_140009ff0 + * Pseudocode, not original source. */ + +ulonglong FUN_140009ff0(longlong param_1,int param_2) + +{ + undefined8 uVar1; + ulonglong uVar2; + int *_Dst; + + FUN_14002e6e0((int *)(param_1 + 0x28)); + _Dst = *(int **)(param_1 + 8); + while( true ) { + if (_Dst == *(int **)(param_1 + 0x10)) { + uVar2 = FUN_14002e770(param_1 + 0x28); + return uVar2 & 0xffffffffffffff00; + } + if (*_Dst == param_2) break; + _Dst = _Dst + 1; + } + memmove(_Dst,_Dst + 1, + (longlong)*(int **)(param_1 + 0x10) - (longlong)(_Dst + 1) & 0xfffffffffffffffc); + *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + -4; + uVar1 = FUN_14002e770(param_1 + 0x28); + return CONCAT71((int7)((ulonglong)uVar1 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000a080.c b/decomp/Agent_Release_x64/full/functions/0x14000a080.c new file mode 100644 index 00000000..03cfefa8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000a080.c @@ -0,0 +1,226 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000a080 FUN_14000a080 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14000a080(undefined8 param_1,undefined8 param_2,ulonglong param_3,uint *param_4) + +{ + longlong lVar1; + wchar_t wVar2; + wchar_t *pwVar3; + wchar_t *pwVar4; + BOOL BVar5; + DWORD DVar6; + HANDLE hProcess; + char *pcVar7; + wchar_t *pwVar8; + ulonglong uVar9; + wchar_t *pwVar10; + wchar_t *pwVar11; + wchar_t *pwVar12; + undefined8 *puVar13; + short ******ppppppsVar14; + wchar_t *pwVar15; + undefined1 auStack_1c8 [32]; + wchar_t *local_1a8; + wchar_t *local_1a0; + wchar_t *local_198; + wchar_t *local_190; + wchar_t *local_188; + wchar_t *local_180; + undefined8 local_170; + short *****local_168 [3]; + ulonglong local_150; + undefined4 local_138 [10]; + undefined2 local_110; + undefined6 uStack_10e; + undefined8 local_100; + ulonglong local_f8; + undefined2 local_e8; + undefined6 uStack_e6; + undefined8 local_d8; + ulonglong local_d0; + undefined2 local_c0; + undefined6 uStack_be; + undefined8 local_b0; + ulonglong local_a8; + undefined8 local_98; + ulonglong uStack_90; + ulonglong local_88; + ulonglong local_80; + ulonglong local_78; + ulonglong local_70; + ulonglong local_68; + void *local_60; + undefined8 local_58; + undefined8 local_50; + ulonglong local_38; + + local_170 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_1c8; + *(undefined1 *)(DAT_140162d68 + 0x171) = 0; + printf("Auto Revive Off !!!\n"); + pwVar10 = (wchar_t *)0x0; + DVar6 = 0; + local_190 = (wchar_t *)0x0; + local_188 = (wchar_t *)0x0; + local_180 = (wchar_t *)0x0; + pwVar8 = pwVar10; + pwVar11 = pwVar10; + pwVar15 = pwVar10; + if (*(longlong *)(DAT_140162d60 + 0x58) == 0) { + local_1a8 = (wchar_t *)0x0; + } + else { + local_1a8 = *(wchar_t **)(DAT_140162d60 + 0x68); + if (local_1a8 != (wchar_t *)0x0) { + local_1a0 = *(wchar_t **)local_1a8; + pwVar12 = local_1a8; + pwVar4 = local_1a0; + goto joined_r0x00014000a134; + } + } + local_1a0 = (wchar_t *)0x0; + pwVar12 = local_1a8; + pwVar4 = local_1a0; +joined_r0x00014000a134: + while (pwVar4 != (wchar_t *)0x0) { + pwVar3 = *(wchar_t **)(pwVar4 + 8); + if (pwVar3 != (wchar_t *)0x0) { + if ((pwVar3 < pwVar11) && (pwVar15 <= pwVar3)) { + lVar1 = ((longlong)pwVar3 - (longlong)pwVar15) + + SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816((longlong)pwVar3 - (longlong)pwVar15), + 8); + if (pwVar11 == pwVar8) { + FUN_14002d140((longlong *)&local_190); + pwVar11 = local_188; + pwVar15 = local_190; + } + local_1a8 = pwVar11; + local_198 = pwVar11; + if (pwVar11 != (wchar_t *)0x0) { + FUN_140004950((undefined4 *)pwVar11, + (undefined4 *)(pwVar15 + ((lVar1 >> 7) - (lVar1 >> 0x3f)) * 0x7c)); + } + } + else { + if (pwVar11 == pwVar8) { + FUN_14002d140((longlong *)&local_190); + pwVar11 = local_188; + pwVar15 = local_190; + } + local_1a8 = pwVar11; + local_198 = pwVar11; + if (pwVar11 != (wchar_t *)0x0) { + FUN_140004950((undefined4 *)pwVar11,(undefined4 *)pwVar3); + } + } + pwVar11 = pwVar11 + 0x7c; + pwVar8 = local_180; + local_188 = pwVar11; + } + pwVar4 = *(wchar_t **)pwVar4; + while (pwVar4 == (wchar_t *)0x0) { + pwVar12 = pwVar12 + 4; + pwVar4 = *(wchar_t **)pwVar12; + } + if (pwVar12 == pwVar4) { + pwVar4 = pwVar10; + } + } + if (pwVar15 != pwVar11) { + pwVar8 = pwVar15 + 0x5c; + do { + FUN_140004ea0(local_138,(undefined4 *)(pwVar8 + -0x5c)); + local_98 = *(ulonglong *)(pwVar8 + -0xc); + uStack_90 = *(ulonglong *)(pwVar8 + -8); + local_88 = *(ulonglong *)(pwVar8 + -4); + local_80 = *(ulonglong *)pwVar8; + local_78 = *(ulonglong *)(pwVar8 + 4); + local_70 = *(ulonglong *)(pwVar8 + 8); + local_68 = *(ulonglong *)(pwVar8 + 0xc); + FUN_140004d60(&local_60,(longlong *)(pwVar8 + 0x10)); + param_3 = (ulonglong)local_98._4_4_; + hProcess = OpenProcess(0x1f0fff,0,local_98._4_4_); + if (hProcess != (HANDLE)0x0) { + BVar5 = GetExitCodeProcess(hProcess,(LPDWORD)&local_198); + if ((BVar5 != 0) && ((int)local_198 == 0x103)) { + TerminateProcess(hProcess,0); + } + CloseHandle(hProcess); + } + if (local_60 != (void *)0x0) { + operator_delete(local_60); + } + local_60 = (void *)0x0; + local_58 = 0; + local_50 = 0; + if (7 < local_a8) { + operator_delete((void *)CONCAT62(uStack_be,local_c0)); + } + local_a8 = 7; + local_b0 = 0; + local_c0 = 0; + if (7 < local_d0) { + operator_delete((void *)CONCAT62(uStack_e6,local_e8)); + } + local_d0 = 7; + local_d8 = 0; + local_e8 = 0; + if (7 < local_f8) { + operator_delete((void *)CONCAT62(uStack_10e,local_110)); + } + local_f8 = 7; + local_100 = 0; + local_110 = 0; + pwVar4 = pwVar8 + 0x20; + pwVar8 = pwVar8 + 0x7c; + } while (pwVar4 != pwVar11); + } + FUN_140026820(DAT_140162d68); + for (pcVar7 = *(char **)(DAT_140162d58 + 8); pcVar7 != *(char **)(DAT_140162d58 + 0x10); + pcVar7 = pcVar7 + 0x30) { + if (*pcVar7 == '\x18') { + pwVar10 = (wchar_t *)(pcVar7 + 8); + if (7 < *(ulonglong *)(pcVar7 + 0x20)) { + pwVar10 = *(wchar_t **)pwVar10; + } + break; + } + } + uVar9 = 0xffffffffffffffff; + pwVar8 = pwVar10; + do { + if (uVar9 == 0) break; + uVar9 = uVar9 - 1; + wVar2 = *pwVar8; + pwVar8 = pwVar8 + 1; + } while (wVar2 != L'\0'); + if (~uVar9 < 0x104) { + DVar6 = FUN_1400094e0(pwVar10,pwVar10,param_3,param_4); + } + uVar9 = *(ulonglong *)(DAT_1401626f8 + 0xa8); + if ((uVar9 != 0) && ((int)DVar6 < 1)) { + puVar13 = (undefined8 *)(DAT_140162d68 + 0x30); + if (7 < *(ulonglong *)(DAT_140162d68 + 0x48)) { + puVar13 = (undefined8 *)*puVar13; + } + FUN_1400dc9d0((ulonglong *)local_168,L"SUCCEED PATCH ON %s",puVar13,param_4); + ppppppsVar14 = local_168; + if (7 < local_150) { + ppppppsVar14 = (short ******)local_168[0]; + } + FUN_1400080a0(uVar9,2,(short *)ppppppsVar14,param_4); + if (7 < local_150) { + operator_delete(local_168[0]); + } + } + if (pwVar15 != (wchar_t *)0x0) { + FUN_140004b30((ulonglong *)pwVar15,(ulonglong *)pwVar11); + operator_delete(pwVar15); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000a4b0.c b/decomp/Agent_Release_x64/full/functions/0x14000a4b0.c new file mode 100644 index 00000000..dc609cad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000a4b0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000a4b0 FUN_14000a4b0 + * Pseudocode, not original source. */ + +basic_ostream_> * +FUN_14000a4b0(basic_ostream_> *param_1) + +{ + *(undefined **)param_1 = &DAT_14011d220; + std::basic_ios_>::basic_ios_> + ((basic_ios_> *)(param_1 + 0x88)); + std::basic_ostream_>:: + basic_ostream_> + (param_1,(basic_streambuf_> *)(param_1 + 8),false); + *(undefined ***)(param_1 + *(int *)(*(longlong *)param_1 + 4)) = + std::basic_ostringstream,std::allocator_>::vftable + ; + std::basic_streambuf_>:: + basic_streambuf_> + ((basic_streambuf_> *)(param_1 + 8)); + *(undefined ***)(param_1 + 8) = + std::basic_stringbuf,std::allocator_>::vftable; + *(undefined8 *)(param_1 + 0x78) = 0; + *(undefined4 *)(param_1 + 0x80) = 4; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000a550.c b/decomp/Agent_Release_x64/full/functions/0x14000a550.c new file mode 100644 index 00000000..ee979d77 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000a550.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000a550 FUN_14000a550 + * Pseudocode, not original source. */ + +void FUN_14000a550(longlong param_1) + +{ + basic_streambuf_> *this; + + *(undefined ***)((longlong)*(int *)(*(longlong *)(param_1 + -0x88) + 4) + -0x88 + param_1) = + std::basic_ostringstream,std::allocator_>::vftable + ; + this = (basic_streambuf_> *)(param_1 + -0x80); + *(undefined ***)this = + std::basic_stringbuf,std::allocator_>::vftable; + if ((*(byte *)(param_1 + -8) & 1) != 0) { + operator_delete((void *)**(undefined8 **)(param_1 + -0x60)); + } + **(undefined8 **)(param_1 + -0x60) = 0; + **(undefined8 **)(param_1 + -0x40) = 0; + **(undefined4 **)(param_1 + -0x28) = 0; + **(undefined8 **)(param_1 + -0x58) = 0; + **(undefined8 **)(param_1 + -0x38) = 0; + **(undefined4 **)(param_1 + -0x20) = 0; + *(undefined8 *)(param_1 + -0x10) = 0; + *(uint *)(param_1 + -8) = *(uint *)(param_1 + -8) & 0xfffffffe; + std::basic_streambuf_>:: + ~basic_streambuf_>(this); + *(code **)(this + (longlong)*(int *)(*(longlong *)(param_1 + -0x88) + 4) + -8) = _vftable__exref; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000a600.c b/decomp/Agent_Release_x64/full/functions/0x14000a600.c new file mode 100644 index 00000000..54b673ab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000a600.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000a600 FUN_14000a600 + * Pseudocode, not original source. */ + +void ** FUN_14000a600(longlong param_1,void **param_2) + +{ + FUN_14000ae50(param_1 + 8,param_2); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000a630.c b/decomp/Agent_Release_x64/full/functions/0x14000a630.c new file mode 100644 index 00000000..ec21494b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000a630.c @@ -0,0 +1,113 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000a630 FUN_14000a630 + * Pseudocode, not original source. */ + +wchar_t FUN_14000a630(basic_streambuf_> *param_1,wchar_t param_2) + +{ + void *pvVar1; + basic_streambuf_> bVar2; + int iVar3; + void *_Src; + longlong lVar4; + longlong lVar5; + wchar_t *pwVar6; + ulonglong uVar7; + void *pvVar8; + undefined4 uVar9; + ulonglong uVar10; + + if (((byte)param_1[0x78] & 8) != 0) { + uVar7 = **(ulonglong **)(param_1 + 0x48); + if ((uVar7 != 0) && (uVar10 = *(ulonglong *)(param_1 + 0x70), uVar7 < uVar10)) { + iVar3 = **(int **)(param_1 + 0x60); + **(ulonglong **)(param_1 + 0x48) = uVar10; + **(undefined4 **)(param_1 + 0x60) = + (int)((longlong)((uVar7 + (longlong)iVar3 * 2) - uVar10) >> 1); + } + } + if (param_2 == L'\xffff') { + return L'\0'; + } + uVar7 = **(ulonglong **)(param_1 + 0x48); + if ((uVar7 != 0) && (uVar7 < uVar7 + (longlong)**(int **)(param_1 + 0x60) * 2)) { + pwVar6 = std::basic_streambuf_>::_Pninc(param_1); + *pwVar6 = param_2; + return param_2; + } + if (((byte)param_1[0x78] & 2) != 0) { + return L'\xffff'; + } + uVar10 = 0; + if (uVar7 != 0) { + uVar10 = (longlong) + (((longlong)**(int **)(param_1 + 0x60) * 2 - **(longlong **)(param_1 + 0x20)) + uVar7) + >> 1; + } + uVar7 = uVar10 >> 1; + if (uVar7 < 0x20) { + uVar7 = 0x20; + } + else if (uVar7 == 0) { + return L'\xffff'; + } + do { + if (uVar10 <= 0x7fffffff - uVar7) break; + uVar7 = uVar7 >> 1; + } while (uVar7 != 0); + if (uVar7 == 0) { + return L'\xffff'; + } + uVar7 = uVar7 + uVar10; + pvVar8 = FUN_140001a50(uVar7); + _Src = (void *)**(undefined8 **)(param_1 + 0x20); + uVar9 = (undefined4)((longlong)pvVar8 >> 1); + if ((uVar10 == 0) || (memcpy(pvVar8,_Src,uVar10 * 2), uVar10 == 0)) { + *(void **)(param_1 + 0x70) = pvVar8; + **(undefined8 **)(param_1 + 0x28) = pvVar8; + **(undefined8 **)(param_1 + 0x48) = pvVar8; + **(undefined4 **)(param_1 + 0x60) = (int)((longlong)(uVar7 * 2) >> 1); + bVar2 = param_1[0x78]; + **(undefined8 **)(param_1 + 0x20) = pvVar8; + if (((byte)bVar2 & 4) == 0) { + **(undefined8 **)(param_1 + 0x40) = pvVar8; + **(undefined4 **)(param_1 + 0x58) = 1; + } + else { + **(undefined8 **)(param_1 + 0x40) = 0; + **(undefined4 **)(param_1 + 0x58) = uVar9; + } + } + else { + *(void **)(param_1 + 0x70) = + (void *)((longlong)pvVar8 + (*(longlong *)(param_1 + 0x70) - (longlong)_Src >> 1) * 2); + pvVar1 = (void *)((longlong)pvVar8 + (**(longlong **)(param_1 + 0x48) - (longlong)_Src >> 1) * 2 + ); + **(longlong **)(param_1 + 0x28) = + (longlong)((longlong)pvVar8 + (**(longlong **)(param_1 + 0x28) - (longlong)_Src >> 1) * 2); + **(longlong **)(param_1 + 0x48) = (longlong)pvVar1; + **(undefined4 **)(param_1 + 0x60) = + (int)((longlong)((uVar7 * 2 - (longlong)pvVar1) + (longlong)pvVar8) >> 1); + if (((byte)param_1[0x78] & 4) == 0) { + lVar4 = **(longlong **)(param_1 + 0x48); + lVar5 = **(longlong **)(param_1 + 0x40); + **(undefined8 **)(param_1 + 0x20) = pvVar8; + pvVar8 = (void *)((longlong)pvVar8 + (lVar5 - (longlong)_Src >> 1) * 2); + **(longlong **)(param_1 + 0x40) = (longlong)pvVar8; + **(undefined4 **)(param_1 + 0x58) = (int)((lVar4 - (longlong)pvVar8) + 2 >> 1); + } + else { + **(undefined8 **)(param_1 + 0x20) = pvVar8; + **(undefined8 **)(param_1 + 0x40) = 0; + **(undefined4 **)(param_1 + 0x58) = uVar9; + } + } + if (((byte)param_1[0x78] & 1) != 0) { + operator_delete(_Src); + } + *(uint *)(param_1 + 0x78) = *(uint *)(param_1 + 0x78) | 1; + pwVar6 = std::basic_streambuf_>::_Pninc(param_1); + *pwVar6 = param_2; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000a8e0.c b/decomp/Agent_Release_x64/full/functions/0x14000a8e0.c new file mode 100644 index 00000000..e0f5b4c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000a8e0.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000a8e0 FUN_14000a8e0 + * Pseudocode, not original source. */ + +short FUN_14000a8e0(longlong param_1,short param_2) + +{ + ulonglong uVar1; + + uVar1 = **(ulonglong **)(param_1 + 0x40); + if (((uVar1 != 0) && (**(ulonglong **)(param_1 + 0x20) < uVar1)) && + ((param_2 == -1 || + ((param_2 == *(short *)(uVar1 - 2) || ((*(byte *)(param_1 + 0x78) & 2) == 0)))))) { + **(int **)(param_1 + 0x58) = **(int **)(param_1 + 0x58) + 1; + **(longlong **)(param_1 + 0x40) = **(longlong **)(param_1 + 0x40) + -2; + if (param_2 != -1) { + *(short *)**(undefined8 **)(param_1 + 0x40) = param_2; + return param_2; + } + return 0; + } + return -1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000a940.c b/decomp/Agent_Release_x64/full/functions/0x14000a940.c new file mode 100644 index 00000000..706bfcc9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000a940.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000a940 FUN_14000a940 + * Pseudocode, not original source. */ + +undefined2 FUN_14000a940(longlong param_1) + +{ + undefined2 *puVar1; + undefined2 *puVar2; + + puVar1 = (undefined2 *)**(longlong **)(param_1 + 0x40); + if (puVar1 == (undefined2 *)0x0) { + return 0xffff; + } + if (puVar1 < puVar1 + **(int **)(param_1 + 0x58)) { + return *puVar1; + } + if ((((*(byte *)(param_1 + 0x78) & 4) == 0) && + (puVar2 = (undefined2 *)**(undefined8 **)(param_1 + 0x48), puVar2 != (undefined2 *)0x0)) && + ((puVar1 < puVar2 || (puVar1 < *(undefined2 **)(param_1 + 0x70))))) { + if (*(undefined2 **)(param_1 + 0x70) < puVar2) { + *(undefined2 **)(param_1 + 0x70) = puVar2; + } + **(int **)(param_1 + 0x58) = + (int)(*(longlong *)(param_1 + 0x70) - **(longlong **)(param_1 + 0x40) >> 1); + return *(undefined2 *)**(undefined8 **)(param_1 + 0x40); + } + return 0xffff; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000a9e0.c b/decomp/Agent_Release_x64/full/functions/0x14000a9e0.c new file mode 100644 index 00000000..7e6457a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000a9e0.c @@ -0,0 +1,80 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000a9e0 FUN_14000a9e0 + * Pseudocode, not original source. */ + +longlong * +FUN_14000a9e0(longlong param_1,longlong *param_2,longlong param_3,int param_4,uint param_5) + +{ + ulonglong uVar1; + longlong lVar2; + longlong lVar3; + int iVar4; + + uVar1 = **(ulonglong **)(param_1 + 0x48); + if ((uVar1 != 0) && (*(ulonglong *)(param_1 + 0x70) < uVar1)) { + *(ulonglong *)(param_1 + 0x70) = uVar1; + } + if (((param_5 & 1) == 0) || (lVar2 = **(longlong **)(param_1 + 0x40), lVar2 == 0)) { + if (((param_5 & 2) == 0) || (uVar1 = **(ulonglong **)(param_1 + 0x48), uVar1 == 0)) { + if (param_3 != 0) { + param_3 = *(longlong *)_BADOFF_exref; + } + goto LAB_14000ab87; + } + if (param_4 == 2) { + param_3 = param_3 + (*(longlong *)(param_1 + 0x70) - **(longlong **)(param_1 + 0x20) >> 1); + } + else if (param_4 == 1) { + param_3 = param_3 + ((longlong)(uVar1 - **(longlong **)(param_1 + 0x20)) >> 1); + } + else if (param_4 != 0) { + param_3 = *(longlong *)_BADOFF_exref; + } + if ((-1 < param_3) && + (param_3 <= *(longlong *)(param_1 + 0x70) - **(longlong **)(param_1 + 0x20) >> 1)) { + iVar4 = (int)((longlong)(**(longlong **)(param_1 + 0x20) - uVar1) >> 1) + (int)param_3; + **(int **)(param_1 + 0x60) = **(int **)(param_1 + 0x60) - iVar4; + **(longlong **)(param_1 + 0x48) = **(longlong **)(param_1 + 0x48) + (longlong)iVar4 * 2; + goto LAB_14000ab87; + } + } + else { + if (param_4 == 2) { + param_3 = param_3 + (*(longlong *)(param_1 + 0x70) - **(longlong **)(param_1 + 0x20) >> 1); + } + else if (param_4 == 1) { + if ((param_5 & 2) == 0) { + param_3 = param_3 + (lVar2 - **(longlong **)(param_1 + 0x20) >> 1); + } + else { +LAB_14000aa67: + param_3 = *(longlong *)_BADOFF_exref; + } + } + else if (param_4 != 0) goto LAB_14000aa67; + if ((-1 < param_3) && + (param_3 <= *(longlong *)(param_1 + 0x70) - **(longlong **)(param_1 + 0x20) >> 1)) { + iVar4 = (int)(**(longlong **)(param_1 + 0x20) - lVar2 >> 1) + (int)param_3; + **(int **)(param_1 + 0x58) = **(int **)(param_1 + 0x58) - iVar4; + **(longlong **)(param_1 + 0x40) = **(longlong **)(param_1 + 0x40) + (longlong)iVar4 * 2; + if ((param_5 & 2) != 0) { + lVar2 = **(longlong **)(param_1 + 0x48); + if (lVar2 != 0) { + iVar4 = **(int **)(param_1 + 0x60); + lVar3 = **(longlong **)(param_1 + 0x40); + **(longlong **)(param_1 + 0x48) = lVar3; + **(undefined4 **)(param_1 + 0x60) = (int)((lVar2 + (longlong)iVar4 * 2) - lVar3 >> 1); + } + } + goto LAB_14000ab87; + } + } + param_3 = *(longlong *)_BADOFF_exref; +LAB_14000ab87: + param_2[1] = 0; + *(undefined4 *)(param_2 + 2) = 0; + *param_2 = param_3; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000abb0.c b/decomp/Agent_Release_x64/full/functions/0x14000abb0.c new file mode 100644 index 00000000..f89e04de --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000abb0.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000abb0 FUN_14000abb0 + * Pseudocode, not original source. */ + +longlong * FUN_14000abb0(longlong param_1,longlong *param_2,longlong *param_3,uint param_4) + +{ + ulonglong uVar1; + longlong lVar2; + int iVar3; + longlong lVar4; + longlong lVar5; + + lVar4 = (longlong)(int)param_3[1] + *param_3; + uVar1 = **(ulonglong **)(param_1 + 0x48); + if ((uVar1 != 0) && (*(ulonglong *)(param_1 + 0x70) < uVar1)) { + *(ulonglong *)(param_1 + 0x70) = uVar1; + } + lVar2 = *(longlong *)_BADOFF_exref; + lVar5 = lVar4; + if (lVar4 != lVar2) { + lVar5 = lVar2; + if (((param_4 & 1) == 0) || (**(longlong **)(param_1 + 0x40) == 0)) { + if (((param_4 & 2) != 0) && + (((uVar1 = **(ulonglong **)(param_1 + 0x48), uVar1 != 0 && (-1 < lVar4)) && + (lVar4 <= *(longlong *)(param_1 + 0x70) - **(longlong **)(param_1 + 0x20) >> 1)))) { + iVar3 = (int)((longlong)(**(longlong **)(param_1 + 0x20) - uVar1) >> 1) + (int)lVar4; + **(int **)(param_1 + 0x60) = **(int **)(param_1 + 0x60) - iVar3; + **(longlong **)(param_1 + 0x48) = **(longlong **)(param_1 + 0x48) + (longlong)iVar3 * 2; + lVar5 = lVar4; + } + } + else if ((-1 < lVar4) && + (lVar4 <= *(longlong *)(param_1 + 0x70) - **(longlong **)(param_1 + 0x20) >> 1)) { + iVar3 = (int)(**(longlong **)(param_1 + 0x20) - **(longlong **)(param_1 + 0x40) >> 1) + + (int)lVar4; + **(int **)(param_1 + 0x58) = **(int **)(param_1 + 0x58) - iVar3; + **(longlong **)(param_1 + 0x40) = **(longlong **)(param_1 + 0x40) + (longlong)iVar3 * 2; + lVar5 = lVar4; + if ((param_4 & 2) != 0) { + lVar2 = **(longlong **)(param_1 + 0x48); + if (lVar2 != 0) { + iVar3 = **(int **)(param_1 + 0x60); + lVar5 = **(longlong **)(param_1 + 0x40); + **(longlong **)(param_1 + 0x48) = lVar5; + **(undefined4 **)(param_1 + 0x60) = (int)((lVar2 + (longlong)iVar3 * 2) - lVar5 >> 1); + lVar5 = lVar4; + } + } + } + } + *param_2 = lVar5; + param_2[1] = 0; + *(undefined4 *)(param_2 + 2) = 0; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ace0.c b/decomp/Agent_Release_x64/full/functions/0x14000ace0.c new file mode 100644 index 00000000..267f1a04 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ace0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ace0 FUN_14000ace0 + * Pseudocode, not original source. */ + +basic_ios_> * +FUN_14000ace0(basic_ios_> *param_1,uint param_2) + +{ + FUN_14000a550((longlong)param_1); + std::basic_ios_>::~basic_ios_> + (param_1); + if ((param_2 & 1) != 0) { + operator_delete(param_1 + -0x88); + } + return param_1 + -0x88; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ad40.c b/decomp/Agent_Release_x64/full/functions/0x14000ad40.c new file mode 100644 index 00000000..bc61c77b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ad40.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ad40 FUN_14000ad40 + * Pseudocode, not original source. */ + +basic_streambuf_> * +FUN_14000ad40(basic_streambuf_> *param_1,uint param_2) + +{ + *(undefined ***)param_1 = + std::basic_stringbuf,std::allocator_>::vftable; + if (((byte)param_1[0x78] & 1) != 0) { + operator_delete((void *)**(undefined8 **)(param_1 + 0x20)); + } + **(undefined8 **)(param_1 + 0x20) = 0; + **(undefined8 **)(param_1 + 0x40) = 0; + **(undefined4 **)(param_1 + 0x58) = 0; + **(undefined8 **)(param_1 + 0x28) = 0; + **(undefined8 **)(param_1 + 0x48) = 0; + **(undefined4 **)(param_1 + 0x60) = 0; + *(uint *)(param_1 + 0x78) = *(uint *)(param_1 + 0x78) & 0xfffffffe; + *(undefined8 *)(param_1 + 0x70) = 0; + std::basic_streambuf_>:: + ~basic_streambuf_>(param_1); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000add0.c b/decomp/Agent_Release_x64/full/functions/0x14000add0.c new file mode 100644 index 00000000..9e0cc1b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000add0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000add0 FUN_14000add0 + * Pseudocode, not original source. */ + +void FUN_14000add0(longlong *param_1,longlong param_2) + +{ + code *pcVar1; + ulonglong uVar2; + ulonglong uVar3; + + uVar3 = param_1[1] - *param_1 >> 2; + if (0x3fffffffffffffffU - param_2 < uVar3) { + std::_Xlength_error("vector too long"); + pcVar1 = (code *)swi(3); + (*pcVar1)(); + return; + } + uVar3 = uVar3 + param_2; + uVar2 = param_1[2] - *param_1 >> 2; + if (uVar2 < uVar3) { + if (0x3fffffffffffffff - (uVar2 >> 1) < uVar2) { + uVar2 = 0; + if (uVar3 != 0) { + uVar2 = uVar3; + } + FUN_14000b0f0(param_1,uVar2); + return; + } + uVar2 = uVar2 + (uVar2 >> 1); + if (uVar2 < uVar3) { + uVar2 = uVar3; + } + FUN_14000b0f0(param_1,uVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ae50.c b/decomp/Agent_Release_x64/full/functions/0x14000ae50.c new file mode 100644 index 00000000..074ce814 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ae50.c @@ -0,0 +1,122 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ae50 FUN_14000ae50 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void ** FUN_14000ae50(longlong param_1,void **param_2) + +{ + ulonglong uVar1; + ulonglong uVar2; + undefined1 auStack_78 [32]; + undefined4 local_58; + undefined8 local_50; + void *local_48 [2]; + void *local_38; + void *local_30; + ulonglong local_20; + + local_50 = 0xfffffffffffffffe; + local_20 = DAT_1401555a0 ^ (ulonglong)auStack_78; + local_58 = 0; + if (((*(uint *)(param_1 + 0x78) & 2) == 0) && (**(ulonglong **)(param_1 + 0x48) != 0)) { + uVar1 = **(ulonglong **)(param_1 + 0x48); + uVar2 = *(ulonglong *)(param_1 + 0x70); + if (*(ulonglong *)(param_1 + 0x70) < uVar1) { + uVar2 = uVar1; + } + local_30 = (void *)0x7; + local_38 = (void *)0x0; + local_48[0] = (void *)((ulonglong)local_48[0]._2_6_ << 0x10); + FUN_1400016e0((ulonglong *)local_48,(void *)**(undefined8 **)(param_1 + 0x28), + (longlong)(uVar2 - (longlong)**(undefined8 **)(param_1 + 0x28)) >> 1); + param_2[3] = (void *)0x7; + param_2[2] = (void *)0x0; + *(undefined2 *)param_2 = 0; + if (param_2 != local_48) { + if ((void *)0x7 < param_2[3]) { + operator_delete(*param_2); + } + param_2[3] = (void *)0x7; + param_2[2] = (void *)0x0; + *(undefined2 *)param_2 = 0; + if (local_30 < (void *)0x8) { + memmove(param_2,local_48,(longlong)local_38 * 2 + 2); + } + else { + *param_2 = local_48[0]; + local_48[0] = (void *)0x0; + } + param_2[2] = local_38; + param_2[3] = local_30; + local_30 = (void *)0x7; + local_38 = (void *)0x0; + local_48[0] = (void *)((ulonglong)local_48[0] & 0xffffffffffff0000); + } + } + else if (((*(uint *)(param_1 + 0x78) & 4) == 0) && (**(longlong **)(param_1 + 0x40) != 0)) { + local_30 = (void *)0x7; + local_38 = (void *)0x0; + local_48[0] = (void *)((ulonglong)local_48[0]._2_6_ << 0x10); + FUN_1400016e0((ulonglong *)local_48,(void *)**(undefined8 **)(param_1 + 0x20), + (**(longlong **)(param_1 + 0x40) + (longlong)**(int **)(param_1 + 0x58) * 2) - + (longlong)**(undefined8 **)(param_1 + 0x20) >> 1); + param_2[3] = (void *)0x7; + param_2[2] = (void *)0x0; + *(undefined2 *)param_2 = 0; + if (param_2 != local_48) { + if ((void *)0x7 < param_2[3]) { + operator_delete(*param_2); + } + param_2[3] = (void *)0x7; + param_2[2] = (void *)0x0; + *(undefined2 *)param_2 = 0; + if (local_30 < (void *)0x8) { + memmove(param_2,local_48,(longlong)local_38 * 2 + 2); + } + else { + *param_2 = local_48[0]; + local_48[0] = (void *)0x0; + } + param_2[2] = local_38; + param_2[3] = local_30; + local_30 = (void *)0x7; + local_38 = (void *)0x0; + local_48[0] = (void *)((ulonglong)local_48[0] & 0xffffffffffff0000); + } + } + else { + local_30 = (void *)0x7; + local_38 = (void *)0x0; + local_48[0] = (void *)((ulonglong)local_48[0]._2_6_ << 0x10); + param_2[3] = (void *)0x7; + param_2[2] = (void *)0x0; + *(undefined2 *)param_2 = 0; + if (param_2 != local_48) { + if ((void *)0x7 < param_2[3]) { + operator_delete(*param_2); + } + param_2[3] = (void *)0x7; + param_2[2] = (void *)0x0; + *(undefined2 *)param_2 = 0; + if (local_30 < (void *)0x8) { + memmove(param_2,local_48,(longlong)local_38 * 2 + 2); + } + else { + *param_2 = local_48[0]; + local_48[0] = (void *)0x0; + } + param_2[2] = local_38; + param_2[3] = local_30; + local_30 = (void *)0x7; + local_38 = (void *)0x0; + local_48[0] = (void *)((ulonglong)local_48[0] & 0xffffffffffff0000); + } + } + if ((void *)0x7 < local_30) { + operator_delete(local_48[0]); + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b0f0.c b/decomp/Agent_Release_x64/full/functions/0x14000b0f0.c new file mode 100644 index 00000000..f2fddb8c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b0f0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b0f0 FUN_14000b0f0 + * Pseudocode, not original source. */ + +void FUN_14000b0f0(longlong *param_1,ulonglong param_2) + +{ + void *pvVar1; + longlong lVar2; + code *pcVar3; + void *_Dst; + + if (0x3fffffffffffffff < param_2) { + std::_Xlength_error("vector too long"); + pcVar3 = (code *)swi(3); + (*pcVar3)(); + return; + } + if ((ulonglong)(param_1[2] - *param_1 >> 2) < param_2) { + _Dst = FUN_140004c40(param_1 + 3,param_2); + memmove(_Dst,(void *)*param_1,param_1[1] - *param_1 & 0xfffffffffffffffc); + pvVar1 = (void *)*param_1; + lVar2 = param_1[1]; + if (pvVar1 != (void *)0x0) { + operator_delete(pvVar1); + } + param_1[2] = (longlong)((longlong)_Dst + param_2 * 4); + param_1[1] = (longlong)((longlong)_Dst + (lVar2 - (longlong)pvVar1 >> 2) * 4); + *param_1 = (longlong)_Dst; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b1b0.c b/decomp/Agent_Release_x64/full/functions/0x14000b1b0.c new file mode 100644 index 00000000..f68170d7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b1b0.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b1b0 FUN_14000b1b0 + * Pseudocode, not original source. */ + +void FUN_14000b1b0(undefined8 *param_1,int param_2) + +{ + int *piVar1; + int iVar2; + void *_Src; + rsize_t _DstSize; + undefined8 *puVar3; + longlong lVar4; + + _Src = (void *)*param_1; + iVar2 = *(int *)((longlong)_Src + -0x10); + puVar3 = (undefined8 *)(**(code **)(**(longlong **)((longlong)_Src + -0x18) + 0x20))(); + lVar4 = (**(code **)*puVar3)(puVar3,param_2,2); + if (lVar4 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b260(); + } + if (iVar2 < param_2) { + param_2 = iVar2; + } + _DstSize = (longlong)(param_2 + 1) * 2; + memcpy_s((void *)(lVar4 + 0x18),_DstSize,_Src,_DstSize); + *(int *)(lVar4 + 8) = iVar2; + LOCK(); + piVar1 = (int *)((longlong)_Src + -8); + iVar2 = *piVar1; + *piVar1 = *piVar1 + -1; + UNLOCK(); + if (iVar2 + -1 < 1) { + (**(code **)(**(longlong **)((longlong)_Src + -0x18) + 8)) + (*(longlong **)((longlong)_Src + -0x18),(longlong)_Src + -0x18); + } + *param_1 = (void *)(lVar4 + 0x18); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b260.c b/decomp/Agent_Release_x64/full/functions/0x14000b260.c new file mode 100644 index 00000000..1b5fbee3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b260.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b260 FUN_14000b260 + * Pseudocode, not original source. */ + +void FUN_14000b260(void) + +{ + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b270.c b/decomp/Agent_Release_x64/full/functions/0x14000b270.c new file mode 100644 index 00000000..7a89c475 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b270.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b270 FUN_14000b270 + * Pseudocode, not original source. */ + +void FUN_14000b270(longlong *param_1,int param_2) + +{ + longlong lVar1; + + if ((*(int *)(*param_1 + -0xc) < param_2) && (0 < param_2)) { + lVar1 = (**(code **)(**(longlong **)(*param_1 + -0x18) + 0x10))(); + if (lVar1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b260(); + } + *param_1 = lVar1 + 0x18; + return; + } + /* WARNING: Subroutine does not return */ + FUN_14000b260(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b2c0.c b/decomp/Agent_Release_x64/full/functions/0x14000b2c0.c new file mode 100644 index 00000000..0a3c1b16 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b2c0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b2c0 FUN_14000b2c0 + * Pseudocode, not original source. */ + +void FUN_14000b2c0(longlong *param_1,int param_2) + +{ + longlong lVar1; + int iVar2; + + lVar1 = *param_1; + if (param_2 < *(int *)(lVar1 + -0x10)) { + param_2 = *(int *)(lVar1 + -0x10); + } + if (1 < *(int *)(lVar1 + -8)) { + FUN_14000b1b0(param_1,param_2); + return; + } + iVar2 = *(int *)(lVar1 + -0xc); + if (iVar2 < param_2) { + if (iVar2 < 0x40000001) { + iVar2 = iVar2 + iVar2 / 2; + } + else { + iVar2 = iVar2 + 0x100000; + } + if (iVar2 < param_2) { + iVar2 = param_2; + } + FUN_14000b270(param_1,iVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b320.c b/decomp/Agent_Release_x64/full/functions/0x14000b320.c new file mode 100644 index 00000000..9b402c3e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b320.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b320 FUN_14000b320 + * Pseudocode, not original source. */ + +undefined8 * FUN_14000b320(undefined8 *param_1,undefined8 *param_2) + +{ + if (param_1 != param_2) { + if (7 < (ulonglong)param_1[3]) { + operator_delete((void *)*param_1); + } + param_1[3] = 7; + param_1[2] = 0; + *(undefined2 *)param_1 = 0; + if ((ulonglong)param_2[3] < 8) { + memmove(param_1,param_2,param_2[2] * 2 + 2); + } + else { + *param_1 = *param_2; + *param_2 = 0; + } + param_1[2] = param_2[2]; + param_1[3] = param_2[3]; + param_2[2] = 0; + param_2[3] = 7; + *(undefined2 *)param_2 = 0; + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b3c0.c b/decomp/Agent_Release_x64/full/functions/0x14000b3c0.c new file mode 100644 index 00000000..7be4b2a9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b3c0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b3c0 FUN_14000b3c0 + * Pseudocode, not original source. */ + +longlong * FUN_14000b3c0(longlong *param_1) + +{ + ulonglong uVar1; + code *pcVar2; + char cVar3; + longlong *plVar4; + + if (1 < -param_1[2] - 1U) { + uVar1 = param_1[2] + 1; + cVar3 = FUN_140001870(param_1,uVar1); + if (cVar3 != '\0') { + plVar4 = param_1; + if (7 < (ulonglong)param_1[3]) { + plVar4 = (longlong *)*param_1; + } + *(undefined2 *)((longlong)plVar4 + param_1[2] * 2) = 0x5f; + param_1[2] = uVar1; + plVar4 = param_1; + if (7 < (ulonglong)param_1[3]) { + plVar4 = (longlong *)*param_1; + } + *(undefined2 *)((longlong)plVar4 + uVar1 * 2) = 0; + } + return param_1; + } + std::_Xlength_error("string too long"); + pcVar2 = (code *)swi(3); + plVar4 = (longlong *)(*pcVar2)(); + return plVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b450.c b/decomp/Agent_Release_x64/full/functions/0x14000b450.c new file mode 100644 index 00000000..92a9e082 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b450.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b450 FUN_14000b450 + * Pseudocode, not original source. */ + +void FUN_14000b450(undefined4 param_1) + +{ + undefined4 local_res8 [8]; + + local_res8[0] = param_1; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_res8,(ThrowInfo *)&DAT_140151b28); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b470.c b/decomp/Agent_Release_x64/full/functions/0x14000b470.c new file mode 100644 index 00000000..c542a965 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b470.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b470 FUN_14000b470 + * Pseudocode, not original source. */ + +void FUN_14000b470(longlong *param_1) + +{ + int *piVar1; + int iVar2; + longlong lVar3; + + lVar3 = *param_1; + LOCK(); + piVar1 = (int *)(lVar3 + -8); + iVar2 = *piVar1; + *piVar1 = *piVar1 + -1; + UNLOCK(); + if (iVar2 + -1 < 1) { + (**(code **)(**(longlong **)(lVar3 + -0x18) + 8))(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b4a0.c b/decomp/Agent_Release_x64/full/functions/0x14000b4a0.c new file mode 100644 index 00000000..3cc5c397 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b4a0.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b4a0 FUN_14000b4a0 + * Pseudocode, not original source. */ + +longlong * FUN_14000b4a0(longlong *param_1,ulonglong param_2,ulonglong param_3) + +{ + code *pcVar1; + longlong *plVar2; + longlong *plVar3; + ulonglong uVar4; + longlong lVar5; + + if ((ulonglong)param_1[2] < param_2) { + std::_Xout_of_range("invalid string position"); + pcVar1 = (code *)swi(3); + plVar2 = (longlong *)(*pcVar1)(); + return plVar2; + } + uVar4 = param_1[2] - param_2; + if (uVar4 < param_3) { + param_3 = uVar4; + } + if (param_3 != 0) { + plVar2 = param_1; + plVar3 = param_1; + if (0xf < (ulonglong)param_1[3]) { + plVar2 = (longlong *)*param_1; + plVar3 = (longlong *)*param_1; + } + memmove((void *)((longlong)plVar2 + param_2),(void *)((longlong)plVar3 + param_3 + param_2), + uVar4 - param_3); + lVar5 = param_1[2] - param_3; + param_1[2] = lVar5; + if (0xf < (ulonglong)param_1[3]) { + *(undefined1 *)(*param_1 + lVar5) = 0; + return param_1; + } + *(undefined1 *)((longlong)param_1 + lVar5) = 0; + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b540.c b/decomp/Agent_Release_x64/full/functions/0x14000b540.c new file mode 100644 index 00000000..ec806cac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b540.c @@ -0,0 +1,48 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b540 FUN_14000b540 + * Pseudocode, not original source. */ + +longlong * FUN_14000b540(longlong *param_1,longlong *param_2,ulonglong param_3,ulonglong param_4) + +{ + code *pcVar1; + char cVar2; + longlong *plVar3; + ulonglong _Size; + + if (param_3 <= (ulonglong)param_2[2]) { + _Size = param_2[2] - param_3; + if (param_4 < _Size) { + _Size = param_4; + } + if (param_1 == param_2) { + FUN_14000b4a0(param_1,_Size + param_3,0xffffffffffffffff); + FUN_14000b4a0(param_1,0,param_3); + } + else { + cVar2 = FUN_14000b7a0(param_1,_Size); + if (cVar2 != '\0') { + if (0xf < (ulonglong)param_2[3]) { + param_2 = (longlong *)*param_2; + } + plVar3 = param_1; + if (0xf < (ulonglong)param_1[3]) { + plVar3 = (longlong *)*param_1; + } + memcpy(plVar3,(void *)((longlong)param_2 + param_3),_Size); + param_1[2] = _Size; + plVar3 = param_1; + if (0xf < (ulonglong)param_1[3]) { + plVar3 = (longlong *)*param_1; + } + *(undefined1 *)((longlong)plVar3 + _Size) = 0; + } + } + return param_1; + } + std::_Xout_of_range("invalid string position"); + pcVar1 = (code *)swi(3); + plVar3 = (longlong *)(*pcVar1)(); + return plVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b600.c b/decomp/Agent_Release_x64/full/functions/0x14000b600.c new file mode 100644 index 00000000..beb32f89 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b600.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b600 FUN_14000b600 + * Pseudocode, not original source. */ + +void * FUN_14000b600(__uint64 param_1) + +{ + void *pvVar1; + char *local_res8 [4]; + undefined **local_28 [5]; + + pvVar1 = (void *)0x0; + if ((param_1 != 0) && (pvVar1 = operator_new(param_1), pvVar1 == (void *)0x0)) { + local_res8[0] = (char *)0x0; + std::exception::exception((exception *)local_28,local_res8); + local_28[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_28,(ThrowInfo *)&DAT_140151ad0); + } + return pvVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b660.c b/decomp/Agent_Release_x64/full/functions/0x14000b660.c new file mode 100644 index 00000000..7926e242 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b660.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b660 FUN_14000b660 + * Pseudocode, not original source. */ + +void FUN_14000b660(undefined8 *param_1,ulonglong param_2,size_t param_3) + +{ + ulonglong uVar1; + undefined8 *_Dst; + ulonglong uVar2; + undefined8 *_Src; + ulonglong uVar3; + char *local_res20; + undefined **local_40 [4]; + + uVar3 = param_2 | 0xf; + if (uVar3 != 0xffffffffffffffff) { + uVar1 = param_1[3]; + uVar2 = uVar1 >> 1; + param_2 = uVar3; + if ((uVar3 / 3 < uVar2) && (param_2 = 0xfffffffffffffffe, uVar1 <= -uVar2 - 2)) { + param_2 = uVar2 + uVar1; + } + } + _Dst = (undefined8 *)0x0; + if ((param_2 + 1 != 0) && (_Dst = operator_new(param_2 + 1), _Dst == (undefined8 *)0x0)) { + local_res20 = (char *)0x0; + std::exception::exception((exception *)local_40,&local_res20); + local_40[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_40,(ThrowInfo *)&DAT_140151ad0); + } + if (param_3 != 0) { + _Src = param_1; + if (0xf < (ulonglong)param_1[3]) { + _Src = (undefined8 *)*param_1; + } + memcpy(_Dst,_Src,param_3); + } + if (0xf < (ulonglong)param_1[3]) { + operator_delete((void *)*param_1); + } + *(undefined1 *)param_1 = 0; + *param_1 = _Dst; + param_1[3] = param_2; + param_1[2] = param_3; + if (0xf < param_2) { + param_1 = _Dst; + } + *(undefined1 *)((longlong)param_1 + param_3) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b7a0.c b/decomp/Agent_Release_x64/full/functions/0x14000b7a0.c new file mode 100644 index 00000000..9f978e33 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b7a0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b7a0 FUN_14000b7a0 + * Pseudocode, not original source. */ + +undefined1 FUN_14000b7a0(undefined8 *param_1,ulonglong param_2) + +{ + code *pcVar1; + undefined1 uVar2; + + if (param_2 == 0xffffffffffffffff) { + std::_Xlength_error("string too long"); + pcVar1 = (code *)swi(3); + uVar2 = (*pcVar1)(); + return uVar2; + } + if ((ulonglong)param_1[3] < param_2) { + FUN_14000b660(param_1,param_2,param_1[2]); + return param_2 != 0; + } + if (param_2 == 0) { + param_1[2] = 0; + if (0xf < (ulonglong)param_1[3]) { + param_1 = (undefined8 *)*param_1; + } + *(undefined1 *)param_1 = 0; + } + return param_2 != 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b810.c b/decomp/Agent_Release_x64/full/functions/0x14000b810.c new file mode 100644 index 00000000..433bc1da --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b810.c @@ -0,0 +1,51 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b810 FUN_14000b810 + * Pseudocode, not original source. */ + +ulonglong * FUN_14000b810(ulonglong *param_1,void *param_2,ulonglong param_3) + +{ + ulonglong uVar1; + char cVar2; + ulonglong *puVar3; + + if (param_2 != (void *)0x0) { + uVar1 = param_1[3]; + puVar3 = param_1; + if (0xf < uVar1) { + puVar3 = (ulonglong *)*param_1; + } + if (puVar3 <= param_2) { + puVar3 = param_1; + if (0xf < uVar1) { + puVar3 = (ulonglong *)*param_1; + } + if (param_2 < (void *)((longlong)puVar3 + param_1[2])) { + puVar3 = param_1; + if (0xf < uVar1) { + puVar3 = (ulonglong *)*param_1; + } + puVar3 = (ulonglong *) + FUN_14000b540((longlong *)param_1,(longlong *)param_1, + (longlong)param_2 - (longlong)puVar3,param_3); + return puVar3; + } + } + } + cVar2 = FUN_14000b7a0(param_1,param_3); + if (cVar2 != '\0') { + puVar3 = param_1; + if (0xf < param_1[3]) { + puVar3 = (ulonglong *)*param_1; + } + memcpy(puVar3,param_2,param_3); + param_1[2] = param_3; + puVar3 = param_1; + if (0xf < param_1[3]) { + puVar3 = (ulonglong *)*param_1; + } + *(undefined1 *)((longlong)puVar3 + param_3) = 0; + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b8e0.c b/decomp/Agent_Release_x64/full/functions/0x14000b8e0.c new file mode 100644 index 00000000..2ffafa22 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b8e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b8e0 FUN_14000b8e0 + * Pseudocode, not original source. */ + +undefined4 * FUN_14000b8e0(undefined4 *param_1,undefined4 *param_2) + +{ + FUN_140004ea0(param_2,param_1); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b910.c b/decomp/Agent_Release_x64/full/functions/0x14000b910.c new file mode 100644 index 00000000..4bd48b42 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b910.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b910 FUN_14000b910 + * Pseudocode, not original source. */ + +undefined8 * FUN_14000b910(undefined8 *param_1,byte param_2) + +{ + DAT_140162d78 = 0; + *param_1 = MBISingleton::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b950.c b/decomp/Agent_Release_x64/full/functions/0x14000b950.c new file mode 100644 index 00000000..29791907 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b950.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b950 FUN_14000b950 + * Pseudocode, not original source. */ + +void FUN_14000b950(undefined8 *param_1) + +{ + DAT_140162d78 = 0; + *param_1 = MBISingleton::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000b970.c b/decomp/Agent_Release_x64/full/functions/0x14000b970.c new file mode 100644 index 00000000..7a46a6f7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000b970.c @@ -0,0 +1,65 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000b970 FUN_14000b970 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000b970(longlong param_1,undefined4 param_2,undefined8 param_3,int *param_4, + undefined8 *param_5) + +{ + longlong lVar1; + undefined8 uVar2; + int iVar3; + undefined8 *puVar4; + undefined8 uVar5; + longlong lVar6; + undefined4 extraout_var; + int local_res20 [2]; + undefined8 local_38; + + if (*(longlong *)(DAT_140162d60 + 0x58) != 0) { + for (puVar4 = *(undefined8 **) + (*(longlong *)(DAT_140162d60 + 0x38) + + ((ulonglong)(longlong)*param_4 % *(ulonglong *)(DAT_140162d60 + 0x40)) * 8); + puVar4 != (undefined8 *)0x0; puVar4 = (undefined8 *)*puVar4) { + if (*param_4 == *(int *)(puVar4 + 1)) { + if (puVar4 != (undefined8 *)0x0) goto LAB_14000b9be; + break; + } + } + } + puVar4 = (undefined8 *)0x0; +LAB_14000b9be: + if ((puVar4 != (undefined8 *)0x0) && (lVar1 = puVar4[2], lVar1 != 0)) { + if ((*(int *)(lVar1 + 0xc4) == 0) || (*(int *)(lVar1 + 0xc4) == 1)) { + uVar5 = param_5[1]; + uVar2 = param_5[2]; + local_38 = CONCAT44((int)((ulonglong)*param_5 >> 0x20),param_2); + *(undefined8 *)(lVar1 + 0xa0) = local_38; + *(undefined8 *)(lVar1 + 0xa8) = uVar5; + *(undefined8 *)(lVar1 + 0xb0) = uVar2; + if (*(longlong *)(param_1 + 0x40) != 0) { + local_res20[0] = *param_4; + lVar6 = FUN_140007fa0(*(longlong *)(param_1 + 0x40)); + local_38 = (**(code **)(*(longlong *)(lVar6 + 0x68) + 0x30)) + ((longlong *)(lVar6 + 0x68),1,&DAT_1401555d0,local_res20,param_5); + } + if ((*(char *)(lVar1 + 0xc) != '\x01') || + ((*(char *)(DAT_140162d68 + 0x170) == '\0' && + (local_38 = FUN_140009ff0(DAT_140162d78,*param_4), (char)local_38 == '\0')))) + goto LAB_14000bae4; + local_res20[0] = 5; + } + else { + local_res20[0] = 1; + } + uVar5 = (**(code **)(*(longlong *)(param_1 + 0x48) + 0x40)) + ((longlong *)(param_1 + 0x48),param_2,&DAT_1401555d0,local_res20); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); + } + iVar3 = printf("ERROR - NOT FIND SERVER : REQ_SERVER_OPTION !!!\n"); + local_38 = CONCAT44(extraout_var,iVar3); +LAB_14000bae4: + return CONCAT71((int7)((ulonglong)local_38 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000bb00.c b/decomp/Agent_Release_x64/full/functions/0x14000bb00.c new file mode 100644 index 00000000..1b554b12 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000bb00.c @@ -0,0 +1,110 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000bb00 FUN_14000bb00 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 +FUN_14000bb00(longlong param_1,undefined8 param_2,undefined8 param_3,int *param_4, + undefined8 *param_5,longlong *param_6) + +{ + errno_t eVar1; + int iVar2; + undefined4 extraout_var; + undefined8 uVar3; + undefined8 *puVar4; + longlong lVar5; + undefined8 extraout_RAX; + undefined4 extraout_var_00; + undefined1 auStack_d8 [32]; + undefined8 *local_b8; + undefined8 *local_b0; + __time64_t local_a8; + tm *local_a0; + undefined4 local_98; + undefined8 local_90; + undefined8 local_88; + undefined2 local_80; + undefined2 local_7e; + undefined2 local_7c; + undefined2 local_7a; + tm local_78; + undefined8 local_50; + undefined8 local_48; + undefined8 local_40; + undefined8 local_38; + ulonglong local_30; + + local_90 = 0xfffffffffffffffe; + local_30 = DAT_1401555a0 ^ (ulonglong)auStack_d8; + if (*(longlong *)(DAT_140162d60 + 0x58) != 0) { + for (puVar4 = *(undefined8 **) + (*(longlong *)(DAT_140162d60 + 0x38) + + ((ulonglong)(longlong)*param_4 % *(ulonglong *)(DAT_140162d60 + 0x40)) * 8); + puVar4 != (undefined8 *)0x0; puVar4 = (undefined8 *)*puVar4) { + if (*param_4 == *(int *)(puVar4 + 1)) { + if ((puVar4 != (undefined8 *)0x0) && (lVar5 = puVar4[2], lVar5 != 0)) { + *(undefined8 *)(lVar5 + 0xb8) = *param_5; + *(undefined8 *)(lVar5 + 0xc0) = param_5[1]; + *(undefined8 *)(lVar5 + 200) = param_5[2]; + *(undefined8 *)(lVar5 + 0xd0) = param_5[3]; + FUN_14000bfb0((longlong *)(lVar5 + 0xd8),param_6); + *(undefined4 *)(lVar5 + 0xc4) = 3; + local_a8 = _time64((__time64_t *)0x0); + local_a0 = (tm *)0x0; + local_98 = 0; + eVar1 = _localtime64_s(&local_78,&local_a8); + uVar3 = CONCAT44(extraout_var,eVar1); + if (eVar1 == 0) { + local_88 = (undefined8 *) + CONCAT26((undefined2)local_78.tm_mday, + CONCAT24((undefined2)local_78.tm_wday, + CONCAT22((short)local_78.tm_mon + 1, + (short)local_78.tm_year + 0x76c))); + local_80 = (undefined2)local_78.tm_hour; + local_7e = (undefined2)local_78.tm_min; + local_7c = (undefined2)local_78.tm_sec; + local_7a = 0; + uVar3 = Ordinal_184(&local_88,&local_a0); + local_50 = 0; + local_48 = 0; + if ((int)uVar3 != 0) { + uVar3 = Ordinal_185(local_a0,&local_50); + } + } + *(tm **)(lVar5 + 200) = local_a0; + if (*(longlong *)(param_1 + 0x40) != 0) { + local_a0 = &local_78; + puVar4 = FUN_140004d60((undefined8 *)&local_78,param_6); + local_50 = *(undefined8 *)(lVar5 + 0xb8); + local_48 = *(undefined8 *)(lVar5 + 0xc0); + local_40 = *(undefined8 *)(lVar5 + 200); + local_38 = *(undefined8 *)(lVar5 + 0xd0); + local_a8 = CONCAT44(local_a8._4_4_,*param_4); + local_88 = puVar4; + lVar5 = FUN_140007fa0(*(longlong *)(param_1 + 0x40)); + local_b8 = &local_50; + local_b0 = puVar4; + uVar3 = (**(code **)(*(longlong *)(lVar5 + 0x68) + 0x40)) + ((longlong *)(lVar5 + 0x68),1,&DAT_1401555d0,&local_a8); + if ((void *)*puVar4 != (void *)0x0) { + operator_delete((void *)*puVar4); + uVar3 = extraout_RAX; + } + *puVar4 = 0; + puVar4[1] = 0; + puVar4[2] = 0; + } + goto LAB_14000bd3c; + } + break; + } + } + } + iVar2 = printf("Error - NOT EXIST SERVER : %d \n"); + uVar3 = CONCAT44(extraout_var_00,iVar2); +LAB_14000bd3c: + return CONCAT71((int7)((ulonglong)uVar3 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000bd70.c b/decomp/Agent_Release_x64/full/functions/0x14000bd70.c new file mode 100644 index 00000000..108367c1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000bd70.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000bd70 FUN_14000bd70 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000bd70(longlong param_1,undefined8 param_2,undefined8 param_3,undefined1 *param_4, + undefined4 *param_5,undefined4 *param_6) + +{ + int *piVar1; + undefined8 in_RAX; + longlong lVar2; + undefined1 local_res8 [8]; + undefined4 local_38 [2]; + undefined4 local_30 [2]; + undefined8 local_28; + + local_28 = 0xfffffffffffffffe; + lVar2 = *(longlong *)(param_1 + 0x40); + if (lVar2 != 0) { + piVar1 = (int *)(lVar2 + 0x28); + FUN_14002e6e0(piVar1); + if (**(longlong **)(lVar2 + 8) == 0) { + FUN_14002e770((longlong)piVar1); + lVar2 = 0; + } + else { + lVar2 = **(longlong **)(lVar2 + 8); + FUN_14002e770((longlong)piVar1); + } + local_30[0] = *param_5; + local_38[0] = *param_6; + local_res8[0] = *param_4; + in_RAX = (**(code **)(*(longlong *)(lVar2 + 0x68) + 0x50)) + ((longlong *)(lVar2 + 0x68),1,&DAT_1401555d0,local_res8,local_30,local_38); + } + return CONCAT71((int7)((ulonglong)in_RAX >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000be40.c b/decomp/Agent_Release_x64/full/functions/0x14000be40.c new file mode 100644 index 00000000..44ca0190 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000be40.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000be40 FUN_14000be40 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000be40(longlong param_1,ulonglong param_2,undefined8 param_3,longlong *param_4,uint *param_5) + +{ + undefined8 in_RAX; + short *psVar1; + + if (*(ulonglong *)(param_1 + 0x40) != 0) { + psVar1 = (short *)*param_4; + if ((short *)*param_4 == (short *)0x0) { + psVar1 = (short *)PTR_DAT_140155010; + } + in_RAX = FUN_140008510(*(ulonglong *)(param_1 + 0x40),param_2,psVar1,param_5); + } + return CONCAT71((int7)((ulonglong)in_RAX >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000be80.c b/decomp/Agent_Release_x64/full/functions/0x14000be80.c new file mode 100644 index 00000000..fbab76d3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000be80.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000be80 FUN_14000be80 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000be80(longlong param_1,uint param_2,undefined8 param_3,longlong *param_4,longlong *param_5, + undefined8 param_6,undefined8 param_7) + +{ + undefined8 in_RAX; + short *psVar1; + short *psVar2; + + if (*(longlong *)(param_1 + 0x40) != 0) { + psVar2 = (short *)*param_5; + if ((short *)*param_5 == (short *)0x0) { + psVar2 = (short *)PTR_DAT_140155010; + } + psVar1 = (short *)*param_4; + if ((short *)*param_4 == (short *)0x0) { + psVar1 = (short *)PTR_DAT_140155010; + } + in_RAX = FUN_140008990(*(longlong *)(param_1 + 0x40),param_2,psVar1,psVar2,param_6,param_7); + } + return CONCAT71((int7)((ulonglong)in_RAX >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000bed0.c b/decomp/Agent_Release_x64/full/functions/0x14000bed0.c new file mode 100644 index 00000000..5a886ee0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000bed0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000bed0 FUN_14000bed0 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000bed0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined4 *param_4, + int *param_5) + +{ + undefined8 in_RAX; + + if (*(longlong *)(param_1 + 0x40) != 0) { + in_RAX = FUN_140008000(*(longlong *)(param_1 + 0x40),*param_4,*param_5); + } + return CONCAT71((int7)((ulonglong)in_RAX >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000bf00.c b/decomp/Agent_Release_x64/full/functions/0x14000bf00.c new file mode 100644 index 00000000..61fc0eaf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000bf00.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000bf00 FUN_14000bf00 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000bf00(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,longlong *param_5 + ) + +{ + undefined8 in_RAX; + short *psVar1; + + if (*(ulonglong *)(param_1 + 0x40) != 0) { + psVar1 = (short *)*param_5; + if ((short *)*param_5 == (short *)0x0) { + psVar1 = (short *)PTR_DAT_140155010; + } + in_RAX = FUN_1400080a0(*(ulonglong *)(param_1 + 0x40),(ulonglong)*param_4,psVar1,param_4); + } + return CONCAT71((int7)((ulonglong)in_RAX >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000bf30.c b/decomp/Agent_Release_x64/full/functions/0x14000bf30.c new file mode 100644 index 00000000..84a0ca15 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000bf30.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000bf30 FUN_14000bf30 + * Pseudocode, not original source. */ + +undefined1 FUN_14000bf30(longlong param_1,undefined8 param_2,undefined8 param_3,undefined4 *param_4) + +{ + if (*(longlong *)(param_1 + 0x40) != 0) { + FUN_140008ae0(*(longlong *)(param_1 + 0x40),*param_4); + } + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000bf50.c b/decomp/Agent_Release_x64/full/functions/0x14000bf50.c new file mode 100644 index 00000000..30fc2bb5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000bf50.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000bf50 FUN_14000bf50 + * Pseudocode, not original source. */ + +undefined1 FUN_14000bf50(longlong param_1) + +{ + if (*(longlong *)(param_1 + 0x40) != 0) { + FUN_140008b60(*(longlong *)(param_1 + 0x40)); + } + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000bf70.c b/decomp/Agent_Release_x64/full/functions/0x14000bf70.c new file mode 100644 index 00000000..4a99a566 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000bf70.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000bf70 FUN_14000bf70 + * Pseudocode, not original source. */ + +void * FUN_14000bf70(void *param_1,longlong param_2,void *param_3) + +{ + size_t _Size; + + _Size = (param_2 - (longlong)param_1 >> 2) * 4; + memmove(param_3,param_1,_Size); + return (void *)(_Size + (longlong)param_3); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000bfb0.c b/decomp/Agent_Release_x64/full/functions/0x14000bfb0.c new file mode 100644 index 00000000..3c17f678 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000bfb0.c @@ -0,0 +1,62 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000bfb0 FUN_14000bfb0 + * Pseudocode, not original source. */ + +longlong * FUN_14000bfb0(longlong *param_1,longlong *param_2) + +{ + size_t _Size; + void *_Dst; + longlong lVar1; + undefined8 uVar2; + void *pvVar3; + ulonglong uVar4; + void *_Src; + ulonglong uVar5; + + if (param_1 == param_2) { + return param_1; + } + pvVar3 = (void *)*param_2; + uVar4 = param_2[1] - (longlong)pvVar3 >> 2; + if (uVar4 == 0) { + pvVar3 = (void *)*param_1; + if (pvVar3 != (void *)param_1[1]) { + memmove(pvVar3,(void *)param_1[1],0); + param_1[1] = (longlong)pvVar3; + return param_1; + } + } + else { + _Dst = (void *)*param_1; + uVar5 = param_1[1] - (longlong)_Dst >> 2; + if (uVar4 <= uVar5) { + memmove(_Dst,pvVar3,param_2[1] - (longlong)pvVar3 & 0xfffffffffffffffc); + param_1[1] = *param_1 + (param_2[1] - *param_2 >> 2) * 4; + return param_1; + } + if ((ulonglong)(param_1[2] - (longlong)_Dst >> 2) < uVar4) { + if (_Dst != (void *)0x0) { + operator_delete(_Dst); + } + uVar2 = FUN_140004cb0(param_1,param_2[1] - *param_2 >> 2); + if ((char)uVar2 == '\0') { + return param_1; + } + _Src = (void *)*param_2; + pvVar3 = (void *)*param_1; + lVar1 = param_2[1] - (longlong)_Src; + } + else { + _Src = (void *)((longlong)pvVar3 + uVar5 * 4); + FUN_14000bf70(pvVar3,(longlong)_Src,_Dst); + pvVar3 = (void *)param_1[1]; + lVar1 = param_2[1] - (longlong)_Src; + } + _Size = (lVar1 >> 2) * 4; + pvVar3 = memmove(pvVar3,_Src,_Size); + param_1[1] = (longlong)((longlong)pvVar3 + _Size); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000c120.c b/decomp/Agent_Release_x64/full/functions/0x14000c120.c new file mode 100644 index 00000000..041f5366 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000c120.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000c120 FUN_14000c120 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000c120(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,byte *param_5, + uint *param_6,longlong *param_7) + +{ + int *piVar1; + longlong lVar2; + undefined8 in_RAX; + wchar_t *pwVar3; + short *psVar4; + + lVar2 = *(longlong *)(param_1 + 0x40); + if (lVar2 != 0) { + psVar4 = (short *)*param_7; + if ((short *)*param_7 == (short *)0x0) { + psVar4 = (short *)PTR_DAT_140155010; + } + piVar1 = (int *)(lVar2 + 0x28); + FUN_14002e6e0(piVar1); + if (**(longlong **)(lVar2 + 8) == 0) { + FUN_14002e770((longlong)piVar1); + pwVar3 = (wchar_t *)0x0; + } + else { + pwVar3 = (wchar_t *)**(longlong **)(lVar2 + 8); + FUN_14002e770((longlong)piVar1); + } + in_RAX = FUN_14000d480(pwVar3,(ulonglong)*param_4,(ulonglong)*param_5,(ulonglong)*param_6,psVar4 + ); + } + return CONCAT71((int7)((ulonglong)in_RAX >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000c1d0.c b/decomp/Agent_Release_x64/full/functions/0x14000c1d0.c new file mode 100644 index 00000000..e1905b8c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000c1d0.c @@ -0,0 +1,195 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000c1d0 FUN_14000c1d0 + * Pseudocode, not original source. */ + +void FUN_14000c1d0(longlong param_1,undefined8 param_2,ulonglong param_3,short *param_4) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + int *piVar4; + uint *puVar5; + longlong lVar6; + longlong *plVar7; + undefined ***pppuVar8; + uint *puVar9; + LPVOID pvVar10; + uint uVar11; + LPVOID pvVar12; + ulonglong uVar13; + short *psVar14; + undefined *puVar15; + uint uVar16; + uint *local_78; + undefined8 local_70; + int *local_68; + undefined1 local_60; + undefined **local_58; + longlong *local_50; + LPVOID local_48; + ulonglong local_40; + undefined8 local_38; + + local_70 = 0xfffffffffffffffe; + local_58 = Proud::CFastArray::vftable; + uVar16 = 0; + local_50 = (longlong *)0x0; + local_48 = (LPVOID)0x0; + local_40 = 0; + local_38 = 0; + pppuVar8 = &local_58; + lVar6 = DAT_140162d60; + psVar14 = param_4; + FUN_14002cb80(DAT_140162d60,(longlong)pppuVar8,param_3,(longlong)param_4); + FUN_140030200(lVar6,pppuVar8,param_3,psVar14); + local_78 = (uint *)PTR_DAT_140155010; + uVar1 = FUN_140030080(param_4); + uVar3 = 0; + pvVar12 = (LPVOID)0x0; + if ((local_78 != (uint *)0x0) && (pvVar12 = (LPVOID)0x0, local_78 != (uint *)PTR_DAT_140155010)) { + pvVar12 = (LPVOID)(ulonglong)local_78[-2]; + } + uVar2 = uVar1; + if ((((int)uVar1 <= (int)pvVar12) && (uVar2 = uVar3, local_78 != (uint *)0x0)) && + (local_78 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_78[-2]; + } + uVar11 = 1; + if (1 < (int)uVar2) { + uVar11 = uVar2; + } + uVar2 = uVar3; + if ((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_78[-2]; + } + if ((int)uVar2 < (int)uVar11) { + puVar5 = local_78; + if (local_78 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + local_78 = puVar5; + if ((int)uVar11 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar11 == 0) { + local_78 = (uint *)PTR_DAT_140155010; + if (((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) && + (puVar5 + -2 != (uint *)0x0)) { + local_78 = puVar5; + piVar4 = (int *)FUN_140030200(puVar5,PTR_DAT_140155010,pvVar12,psVar14); + local_68 = piVar4; + FUN_14002e6e0(piVar4); + local_60 = 1; + puVar9 = puVar5 + -1; + *puVar9 = *puVar9 - 1; + if (*puVar9 == 0) { + FUN_1400302f0(puVar5 + -2); + } + FUN_14002e770((longlong)piVar4); + local_78 = (uint *)PTR_DAT_140155010; + } + } + else { + uVar2 = uVar3; + if ((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) { + uVar2 = puVar5[-2]; + } + if (uVar11 != uVar2) { + puVar5 = (uint *)FUN_140030280((longlong)(int)uVar11 * 2 + 10); + if (puVar5 != (uint *)0x0) { + *puVar5 = 0; + puVar5[1] = 1; + } + *puVar5 = uVar11; + uVar2 = uVar3; + if ((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_78[-2]; + } + puVar9 = (uint *)PTR_DAT_140155010; + if ((int)uVar11 < (int)uVar2) { +LAB_14000c364: + if (local_78 != (uint *)0x0) { + puVar9 = local_78; + } + } + else { + uVar11 = uVar3; + if (local_78 != (uint *)0x0) { + if (local_78 != (uint *)PTR_DAT_140155010) { + uVar11 = local_78[-2]; + } + goto LAB_14000c364; + } + } + uVar13 = (ulonglong)uVar11; + FUN_1400300b0(puVar5 + 2,puVar9,uVar11); + FUN_140003240((longlong *)&local_78,puVar9,uVar13,psVar14); + local_78 = puVar5 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_78); + puVar5 = local_78; + if (local_78 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar5,param_4,uVar1); + puVar5 = local_78; + if (local_78 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + uVar3 = FUN_140030080((short *)puVar5); + pvVar12 = local_48; + uVar1 = uVar16; + if (0 < (int)uVar3) { + uVar1 = uVar3; + } + uVar3 = uVar16; + if ((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) { + uVar3 = local_78[-2]; + } + if (((int)uVar3 <= (int)uVar1) && (uVar1 = uVar16, local_78 != (uint *)0x0)) { + if (local_78 == (uint *)PTR_DAT_140155010) goto LAB_14000c414; + uVar1 = local_78[-2]; + } + if (((local_78 != (uint *)PTR_DAT_140155010) && (local_78 != (uint *)0x0)) && + (local_78 + -2 != (uint *)0x0)) { + local_78[-2] = uVar1; + *(undefined2 *)((longlong)local_78 + (longlong)(int)uVar1 * 2) = 0; + } +LAB_14000c414: + uVar13 = local_40 & 0xffffffff; + pvVar10 = local_48; + if ((int)local_40 == 0) { + pvVar10 = (LPVOID)0x0; + } + plVar7 = (longlong *)(param_1 + 0x50); + puVar15 = &DAT_1401555d0; + (**(code **)(*plVar7 + 0xb8))(); + puVar5 = local_78; + if (((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) && + (puVar9 = local_78 + -2, puVar9 != (uint *)0x0)) { + piVar4 = (int *)FUN_140030200(plVar7,pvVar10,uVar13,puVar15); + local_68 = piVar4; + FUN_14002e6e0(piVar4); + local_60 = 1; + puVar5 = puVar5 + -1; + *puVar5 = *puVar5 - 1; + if (*puVar5 == 0) { + FUN_1400302f0(puVar9); + } + FUN_14002e770((longlong)piVar4); + } + if (pvVar12 != (LPVOID)0x0) { + if (local_50 == (longlong *)0x0) { + FUN_1400302f0(pvVar12); + } + else { + (**(code **)(*local_50 + 0x18))(local_50,pvVar12); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000c4e0.c b/decomp/Agent_Release_x64/full/functions/0x14000c4e0.c new file mode 100644 index 00000000..80c69171 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000c4e0.c @@ -0,0 +1,195 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000c4e0 FUN_14000c4e0 + * Pseudocode, not original source. */ + +void FUN_14000c4e0(longlong param_1,undefined8 param_2,ulonglong param_3,short *param_4) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + int *piVar4; + uint *puVar5; + longlong lVar6; + longlong *plVar7; + undefined ***pppuVar8; + uint *puVar9; + LPVOID pvVar10; + uint uVar11; + LPVOID pvVar12; + ulonglong uVar13; + short *psVar14; + undefined *puVar15; + uint uVar16; + uint *local_78; + undefined8 local_70; + int *local_68; + undefined1 local_60; + undefined **local_58; + longlong *local_50; + LPVOID local_48; + ulonglong local_40; + undefined8 local_38; + + local_70 = 0xfffffffffffffffe; + local_58 = Proud::CFastArray::vftable; + uVar16 = 0; + local_50 = (longlong *)0x0; + local_48 = (LPVOID)0x0; + local_40 = 0; + local_38 = 0; + pppuVar8 = &local_58; + lVar6 = DAT_140162d60; + psVar14 = param_4; + FUN_14002cb80(DAT_140162d60,(longlong)pppuVar8,param_3,(longlong)param_4); + FUN_140030200(lVar6,pppuVar8,param_3,psVar14); + local_78 = (uint *)PTR_DAT_140155010; + uVar1 = FUN_140030080(param_4); + uVar3 = 0; + pvVar12 = (LPVOID)0x0; + if ((local_78 != (uint *)0x0) && (pvVar12 = (LPVOID)0x0, local_78 != (uint *)PTR_DAT_140155010)) { + pvVar12 = (LPVOID)(ulonglong)local_78[-2]; + } + uVar2 = uVar1; + if ((((int)uVar1 <= (int)pvVar12) && (uVar2 = uVar3, local_78 != (uint *)0x0)) && + (local_78 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_78[-2]; + } + uVar11 = 1; + if (1 < (int)uVar2) { + uVar11 = uVar2; + } + uVar2 = uVar3; + if ((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_78[-2]; + } + if ((int)uVar2 < (int)uVar11) { + puVar5 = local_78; + if (local_78 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + local_78 = puVar5; + if ((int)uVar11 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar11 == 0) { + local_78 = (uint *)PTR_DAT_140155010; + if (((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) && + (puVar5 + -2 != (uint *)0x0)) { + local_78 = puVar5; + piVar4 = (int *)FUN_140030200(puVar5,PTR_DAT_140155010,pvVar12,psVar14); + local_68 = piVar4; + FUN_14002e6e0(piVar4); + local_60 = 1; + puVar9 = puVar5 + -1; + *puVar9 = *puVar9 - 1; + if (*puVar9 == 0) { + FUN_1400302f0(puVar5 + -2); + } + FUN_14002e770((longlong)piVar4); + local_78 = (uint *)PTR_DAT_140155010; + } + } + else { + uVar2 = uVar3; + if ((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) { + uVar2 = puVar5[-2]; + } + if (uVar11 != uVar2) { + puVar5 = (uint *)FUN_140030280((longlong)(int)uVar11 * 2 + 10); + if (puVar5 != (uint *)0x0) { + *puVar5 = 0; + puVar5[1] = 1; + } + *puVar5 = uVar11; + uVar2 = uVar3; + if ((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_78[-2]; + } + puVar9 = (uint *)PTR_DAT_140155010; + if ((int)uVar11 < (int)uVar2) { +LAB_14000c674: + if (local_78 != (uint *)0x0) { + puVar9 = local_78; + } + } + else { + uVar11 = uVar3; + if (local_78 != (uint *)0x0) { + if (local_78 != (uint *)PTR_DAT_140155010) { + uVar11 = local_78[-2]; + } + goto LAB_14000c674; + } + } + uVar13 = (ulonglong)uVar11; + FUN_1400300b0(puVar5 + 2,puVar9,uVar11); + FUN_140003240((longlong *)&local_78,puVar9,uVar13,psVar14); + local_78 = puVar5 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_78); + puVar5 = local_78; + if (local_78 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar5,param_4,uVar1); + puVar5 = local_78; + if (local_78 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + uVar3 = FUN_140030080((short *)puVar5); + pvVar12 = local_48; + uVar1 = uVar16; + if (0 < (int)uVar3) { + uVar1 = uVar3; + } + uVar3 = uVar16; + if ((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) { + uVar3 = local_78[-2]; + } + if (((int)uVar3 <= (int)uVar1) && (uVar1 = uVar16, local_78 != (uint *)0x0)) { + if (local_78 == (uint *)PTR_DAT_140155010) goto LAB_14000c724; + uVar1 = local_78[-2]; + } + if (((local_78 != (uint *)PTR_DAT_140155010) && (local_78 != (uint *)0x0)) && + (local_78 + -2 != (uint *)0x0)) { + local_78[-2] = uVar1; + *(undefined2 *)((longlong)local_78 + (longlong)(int)uVar1 * 2) = 0; + } +LAB_14000c724: + uVar13 = local_40 & 0xffffffff; + pvVar10 = local_48; + if ((int)local_40 == 0) { + pvVar10 = (LPVOID)0x0; + } + plVar7 = (longlong *)(param_1 + 0x50); + puVar15 = &DAT_1401555d0; + (**(code **)(*plVar7 + 200))(); + puVar5 = local_78; + if (((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) && + (puVar9 = local_78 + -2, puVar9 != (uint *)0x0)) { + piVar4 = (int *)FUN_140030200(plVar7,pvVar10,uVar13,puVar15); + local_68 = piVar4; + FUN_14002e6e0(piVar4); + local_60 = 1; + puVar5 = puVar5 + -1; + *puVar5 = *puVar5 - 1; + if (*puVar5 == 0) { + FUN_1400302f0(puVar9); + } + FUN_14002e770((longlong)piVar4); + } + if (pvVar12 != (LPVOID)0x0) { + if (local_50 == (longlong *)0x0) { + FUN_1400302f0(pvVar12); + } + else { + (**(code **)(*local_50 + 0x18))(local_50,pvVar12); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000c7f0.c b/decomp/Agent_Release_x64/full/functions/0x14000c7f0.c new file mode 100644 index 00000000..3f6f6d0f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000c7f0.c @@ -0,0 +1,195 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000c7f0 FUN_14000c7f0 + * Pseudocode, not original source. */ + +void FUN_14000c7f0(longlong param_1,undefined8 param_2,ulonglong param_3,short *param_4) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + int *piVar4; + uint *puVar5; + longlong lVar6; + longlong *plVar7; + undefined ***pppuVar8; + uint *puVar9; + LPVOID pvVar10; + uint uVar11; + LPVOID pvVar12; + ulonglong uVar13; + short *psVar14; + undefined *puVar15; + uint uVar16; + uint *local_78; + undefined8 local_70; + int *local_68; + undefined1 local_60; + undefined **local_58; + longlong *local_50; + LPVOID local_48; + ulonglong local_40; + undefined8 local_38; + + local_70 = 0xfffffffffffffffe; + local_58 = Proud::CFastArray::vftable; + uVar16 = 0; + local_50 = (longlong *)0x0; + local_48 = (LPVOID)0x0; + local_40 = 0; + local_38 = 0; + pppuVar8 = &local_58; + lVar6 = DAT_140162d60; + psVar14 = param_4; + FUN_14002cb80(DAT_140162d60,(longlong)pppuVar8,param_3,(longlong)param_4); + FUN_140030200(lVar6,pppuVar8,param_3,psVar14); + local_78 = (uint *)PTR_DAT_140155010; + uVar1 = FUN_140030080(param_4); + uVar3 = 0; + pvVar12 = (LPVOID)0x0; + if ((local_78 != (uint *)0x0) && (pvVar12 = (LPVOID)0x0, local_78 != (uint *)PTR_DAT_140155010)) { + pvVar12 = (LPVOID)(ulonglong)local_78[-2]; + } + uVar2 = uVar1; + if ((((int)uVar1 <= (int)pvVar12) && (uVar2 = uVar3, local_78 != (uint *)0x0)) && + (local_78 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_78[-2]; + } + uVar11 = 1; + if (1 < (int)uVar2) { + uVar11 = uVar2; + } + uVar2 = uVar3; + if ((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_78[-2]; + } + if ((int)uVar2 < (int)uVar11) { + puVar5 = local_78; + if (local_78 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + local_78 = puVar5; + if ((int)uVar11 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar11 == 0) { + local_78 = (uint *)PTR_DAT_140155010; + if (((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) && + (puVar5 + -2 != (uint *)0x0)) { + local_78 = puVar5; + piVar4 = (int *)FUN_140030200(puVar5,PTR_DAT_140155010,pvVar12,psVar14); + local_68 = piVar4; + FUN_14002e6e0(piVar4); + local_60 = 1; + puVar9 = puVar5 + -1; + *puVar9 = *puVar9 - 1; + if (*puVar9 == 0) { + FUN_1400302f0(puVar5 + -2); + } + FUN_14002e770((longlong)piVar4); + local_78 = (uint *)PTR_DAT_140155010; + } + } + else { + uVar2 = uVar3; + if ((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) { + uVar2 = puVar5[-2]; + } + if (uVar11 != uVar2) { + puVar5 = (uint *)FUN_140030280((longlong)(int)uVar11 * 2 + 10); + if (puVar5 != (uint *)0x0) { + *puVar5 = 0; + puVar5[1] = 1; + } + *puVar5 = uVar11; + uVar2 = uVar3; + if ((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_78[-2]; + } + puVar9 = (uint *)PTR_DAT_140155010; + if ((int)uVar11 < (int)uVar2) { +LAB_14000c984: + if (local_78 != (uint *)0x0) { + puVar9 = local_78; + } + } + else { + uVar11 = uVar3; + if (local_78 != (uint *)0x0) { + if (local_78 != (uint *)PTR_DAT_140155010) { + uVar11 = local_78[-2]; + } + goto LAB_14000c984; + } + } + uVar13 = (ulonglong)uVar11; + FUN_1400300b0(puVar5 + 2,puVar9,uVar11); + FUN_140003240((longlong *)&local_78,puVar9,uVar13,psVar14); + local_78 = puVar5 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_78); + puVar5 = local_78; + if (local_78 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar5,param_4,uVar1); + puVar5 = local_78; + if (local_78 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + uVar3 = FUN_140030080((short *)puVar5); + pvVar12 = local_48; + uVar1 = uVar16; + if (0 < (int)uVar3) { + uVar1 = uVar3; + } + uVar3 = uVar16; + if ((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) { + uVar3 = local_78[-2]; + } + if (((int)uVar3 <= (int)uVar1) && (uVar1 = uVar16, local_78 != (uint *)0x0)) { + if (local_78 == (uint *)PTR_DAT_140155010) goto LAB_14000ca34; + uVar1 = local_78[-2]; + } + if (((local_78 != (uint *)PTR_DAT_140155010) && (local_78 != (uint *)0x0)) && + (local_78 + -2 != (uint *)0x0)) { + local_78[-2] = uVar1; + *(undefined2 *)((longlong)local_78 + (longlong)(int)uVar1 * 2) = 0; + } +LAB_14000ca34: + uVar13 = local_40 & 0xffffffff; + pvVar10 = local_48; + if ((int)local_40 == 0) { + pvVar10 = (LPVOID)0x0; + } + plVar7 = (longlong *)(param_1 + 0x50); + puVar15 = &DAT_1401555d0; + (**(code **)(*plVar7 + 0xd8))(); + puVar5 = local_78; + if (((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) && + (puVar9 = local_78 + -2, puVar9 != (uint *)0x0)) { + piVar4 = (int *)FUN_140030200(plVar7,pvVar10,uVar13,puVar15); + local_68 = piVar4; + FUN_14002e6e0(piVar4); + local_60 = 1; + puVar5 = puVar5 + -1; + *puVar5 = *puVar5 - 1; + if (*puVar5 == 0) { + FUN_1400302f0(puVar9); + } + FUN_14002e770((longlong)piVar4); + } + if (pvVar12 != (LPVOID)0x0) { + if (local_50 == (longlong *)0x0) { + FUN_1400302f0(pvVar12); + } + else { + (**(code **)(*local_50 + 0x18))(local_50,pvVar12); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000cb00.c b/decomp/Agent_Release_x64/full/functions/0x14000cb00.c new file mode 100644 index 00000000..ab599bae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000cb00.c @@ -0,0 +1,195 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000cb00 FUN_14000cb00 + * Pseudocode, not original source. */ + +void FUN_14000cb00(longlong param_1,undefined8 param_2,ulonglong param_3,short *param_4) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + int *piVar4; + uint *puVar5; + longlong lVar6; + longlong *plVar7; + undefined ***pppuVar8; + uint *puVar9; + LPVOID pvVar10; + uint uVar11; + LPVOID pvVar12; + ulonglong uVar13; + short *psVar14; + undefined *puVar15; + uint uVar16; + uint *local_78; + undefined8 local_70; + int *local_68; + undefined1 local_60; + undefined **local_58; + longlong *local_50; + LPVOID local_48; + ulonglong local_40; + undefined8 local_38; + + local_70 = 0xfffffffffffffffe; + local_58 = Proud::CFastArray::vftable; + uVar16 = 0; + local_50 = (longlong *)0x0; + local_48 = (LPVOID)0x0; + local_40 = 0; + local_38 = 0; + pppuVar8 = &local_58; + lVar6 = DAT_140162d60; + psVar14 = param_4; + FUN_14002cb80(DAT_140162d60,(longlong)pppuVar8,param_3,(longlong)param_4); + FUN_140030200(lVar6,pppuVar8,param_3,psVar14); + local_78 = (uint *)PTR_DAT_140155010; + uVar1 = FUN_140030080(param_4); + uVar3 = 0; + pvVar12 = (LPVOID)0x0; + if ((local_78 != (uint *)0x0) && (pvVar12 = (LPVOID)0x0, local_78 != (uint *)PTR_DAT_140155010)) { + pvVar12 = (LPVOID)(ulonglong)local_78[-2]; + } + uVar2 = uVar1; + if ((((int)uVar1 <= (int)pvVar12) && (uVar2 = uVar3, local_78 != (uint *)0x0)) && + (local_78 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_78[-2]; + } + uVar11 = 1; + if (1 < (int)uVar2) { + uVar11 = uVar2; + } + uVar2 = uVar3; + if ((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_78[-2]; + } + if ((int)uVar2 < (int)uVar11) { + puVar5 = local_78; + if (local_78 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + local_78 = puVar5; + if ((int)uVar11 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar11 == 0) { + local_78 = (uint *)PTR_DAT_140155010; + if (((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) && + (puVar5 + -2 != (uint *)0x0)) { + local_78 = puVar5; + piVar4 = (int *)FUN_140030200(puVar5,PTR_DAT_140155010,pvVar12,psVar14); + local_68 = piVar4; + FUN_14002e6e0(piVar4); + local_60 = 1; + puVar9 = puVar5 + -1; + *puVar9 = *puVar9 - 1; + if (*puVar9 == 0) { + FUN_1400302f0(puVar5 + -2); + } + FUN_14002e770((longlong)piVar4); + local_78 = (uint *)PTR_DAT_140155010; + } + } + else { + uVar2 = uVar3; + if ((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) { + uVar2 = puVar5[-2]; + } + if (uVar11 != uVar2) { + puVar5 = (uint *)FUN_140030280((longlong)(int)uVar11 * 2 + 10); + if (puVar5 != (uint *)0x0) { + *puVar5 = 0; + puVar5[1] = 1; + } + *puVar5 = uVar11; + uVar2 = uVar3; + if ((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_78[-2]; + } + puVar9 = (uint *)PTR_DAT_140155010; + if ((int)uVar11 < (int)uVar2) { +LAB_14000cc95: + if (local_78 != (uint *)0x0) { + puVar9 = local_78; + } + } + else { + uVar11 = uVar3; + if (local_78 != (uint *)0x0) { + if (local_78 != (uint *)PTR_DAT_140155010) { + uVar11 = local_78[-2]; + } + goto LAB_14000cc95; + } + } + uVar13 = (ulonglong)uVar11; + FUN_1400300b0(puVar5 + 2,puVar9,uVar11); + FUN_140003240((longlong *)&local_78,puVar9,uVar13,psVar14); + local_78 = puVar5 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_78); + puVar5 = local_78; + if (local_78 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar5,param_4,uVar1); + puVar5 = local_78; + if (local_78 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + uVar3 = FUN_140030080((short *)puVar5); + pvVar12 = local_48; + uVar1 = uVar16; + if (0 < (int)uVar3) { + uVar1 = uVar3; + } + uVar3 = uVar16; + if ((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) { + uVar3 = local_78[-2]; + } + if (((int)uVar3 <= (int)uVar1) && (uVar1 = uVar16, local_78 != (uint *)0x0)) { + if (local_78 == (uint *)PTR_DAT_140155010) goto LAB_14000cd45; + uVar1 = local_78[-2]; + } + if (((local_78 != (uint *)PTR_DAT_140155010) && (local_78 != (uint *)0x0)) && + (local_78 + -2 != (uint *)0x0)) { + local_78[-2] = uVar1; + *(undefined2 *)((longlong)local_78 + (longlong)(int)uVar1 * 2) = 0; + } +LAB_14000cd45: + uVar13 = local_40 & 0xffffffff; + pvVar10 = local_48; + if ((int)local_40 == 0) { + pvVar10 = (LPVOID)0x0; + } + plVar7 = (longlong *)(param_1 + 0x50); + puVar15 = &DAT_1401555d0; + (**(code **)(*plVar7 + 0xe8))(); + puVar5 = local_78; + if (((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) && + (puVar9 = local_78 + -2, puVar9 != (uint *)0x0)) { + piVar4 = (int *)FUN_140030200(plVar7,pvVar10,uVar13,puVar15); + local_68 = piVar4; + FUN_14002e6e0(piVar4); + local_60 = 1; + puVar5 = puVar5 + -1; + *puVar5 = *puVar5 - 1; + if (*puVar5 == 0) { + FUN_1400302f0(puVar9); + } + FUN_14002e770((longlong)piVar4); + } + if (pvVar12 != (LPVOID)0x0) { + if (local_50 == (longlong *)0x0) { + FUN_1400302f0(pvVar12); + } + else { + (**(code **)(*local_50 + 0x18))(local_50,pvVar12); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ce20.c b/decomp/Agent_Release_x64/full/functions/0x14000ce20.c new file mode 100644 index 00000000..1bdc0dc0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ce20.c @@ -0,0 +1,196 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ce20 FUN_14000ce20 + * Pseudocode, not original source. */ + +void FUN_14000ce20(longlong param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + undefined8 param_5,short *param_6) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + int *piVar4; + uint *puVar5; + longlong lVar6; + longlong *plVar7; + undefined ***pppuVar8; + uint *puVar9; + LPVOID pvVar10; + uint uVar11; + LPVOID pvVar12; + ulonglong uVar13; + ulonglong uVar14; + undefined *puVar15; + uint uVar16; + uint *local_78; + undefined8 local_70; + int *local_68; + undefined1 local_60; + undefined **local_58; + longlong *local_50; + LPVOID local_48; + ulonglong local_40; + undefined8 local_38; + + local_70 = 0xfffffffffffffffe; + local_58 = Proud::CFastArray::vftable; + uVar16 = 0; + local_50 = (longlong *)0x0; + local_48 = (LPVOID)0x0; + local_40 = 0; + local_38 = 0; + uVar14 = CONCAT71((int7)((ulonglong)param_4 >> 8),6); + pppuVar8 = &local_58; + lVar6 = DAT_140162d60; + FUN_14002cce0(DAT_140162d60,(longlong)pppuVar8,param_3,uVar14); + FUN_140030200(lVar6,pppuVar8,param_3,uVar14); + local_78 = (uint *)PTR_DAT_140155010; + uVar1 = FUN_140030080(param_6); + uVar3 = 0; + pvVar12 = (LPVOID)0x0; + if ((local_78 != (uint *)0x0) && (pvVar12 = (LPVOID)0x0, local_78 != (uint *)PTR_DAT_140155010)) { + pvVar12 = (LPVOID)(ulonglong)local_78[-2]; + } + uVar2 = uVar1; + if ((((int)uVar1 <= (int)pvVar12) && (uVar2 = uVar3, local_78 != (uint *)0x0)) && + (local_78 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_78[-2]; + } + uVar11 = 1; + if (1 < (int)uVar2) { + uVar11 = uVar2; + } + uVar2 = uVar3; + if ((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_78[-2]; + } + if ((int)uVar2 < (int)uVar11) { + puVar5 = local_78; + if (local_78 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + local_78 = puVar5; + if ((int)uVar11 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar11 == 0) { + local_78 = (uint *)PTR_DAT_140155010; + if (((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) && + (puVar5 + -2 != (uint *)0x0)) { + local_78 = puVar5; + piVar4 = (int *)FUN_140030200(puVar5,PTR_DAT_140155010,pvVar12,uVar14); + local_68 = piVar4; + FUN_14002e6e0(piVar4); + local_60 = 1; + puVar9 = puVar5 + -1; + *puVar9 = *puVar9 - 1; + if (*puVar9 == 0) { + FUN_1400302f0(puVar5 + -2); + } + FUN_14002e770((longlong)piVar4); + local_78 = (uint *)PTR_DAT_140155010; + } + } + else { + uVar2 = uVar3; + if ((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) { + uVar2 = puVar5[-2]; + } + if (uVar11 != uVar2) { + puVar5 = (uint *)FUN_140030280((longlong)(int)uVar11 * 2 + 10); + if (puVar5 != (uint *)0x0) { + *puVar5 = 0; + puVar5[1] = 1; + } + *puVar5 = uVar11; + uVar2 = uVar3; + if ((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_78[-2]; + } + puVar9 = (uint *)PTR_DAT_140155010; + if ((int)uVar11 < (int)uVar2) { +LAB_14000cfb5: + if (local_78 != (uint *)0x0) { + puVar9 = local_78; + } + } + else { + uVar11 = uVar3; + if (local_78 != (uint *)0x0) { + if (local_78 != (uint *)PTR_DAT_140155010) { + uVar11 = local_78[-2]; + } + goto LAB_14000cfb5; + } + } + uVar13 = (ulonglong)uVar11; + FUN_1400300b0(puVar5 + 2,puVar9,uVar11); + FUN_140003240((longlong *)&local_78,puVar9,uVar13,uVar14); + local_78 = puVar5 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_78); + puVar5 = local_78; + if (local_78 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar5,param_6,uVar1); + puVar5 = local_78; + if (local_78 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + uVar3 = FUN_140030080((short *)puVar5); + pvVar12 = local_48; + uVar1 = uVar16; + if (0 < (int)uVar3) { + uVar1 = uVar3; + } + uVar3 = uVar16; + if ((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) { + uVar3 = local_78[-2]; + } + if (((int)uVar3 <= (int)uVar1) && (uVar1 = uVar16, local_78 != (uint *)0x0)) { + if (local_78 == (uint *)PTR_DAT_140155010) goto LAB_14000d066; + uVar1 = local_78[-2]; + } + if (((local_78 != (uint *)PTR_DAT_140155010) && (local_78 != (uint *)0x0)) && + (local_78 + -2 != (uint *)0x0)) { + local_78[-2] = uVar1; + *(undefined2 *)((longlong)local_78 + (longlong)(int)uVar1 * 2) = 0; + } +LAB_14000d066: + uVar14 = local_40 & 0xffffffff; + pvVar10 = local_48; + if ((int)local_40 == 0) { + pvVar10 = (LPVOID)0x0; + } + plVar7 = (longlong *)(param_1 + 0x50); + puVar15 = &DAT_1401555d0; + (**(code **)(*plVar7 + 0xf8))(); + puVar5 = local_78; + if (((local_78 != (uint *)0x0) && (local_78 != (uint *)PTR_DAT_140155010)) && + (puVar9 = local_78 + -2, puVar9 != (uint *)0x0)) { + piVar4 = (int *)FUN_140030200(plVar7,pvVar10,uVar14,puVar15); + local_68 = piVar4; + FUN_14002e6e0(piVar4); + local_60 = 1; + puVar5 = puVar5 + -1; + *puVar5 = *puVar5 - 1; + if (*puVar5 == 0) { + FUN_1400302f0(puVar9); + } + FUN_14002e770((longlong)piVar4); + } + if (pvVar12 != (LPVOID)0x0) { + if (local_50 == (longlong *)0x0) { + FUN_1400302f0(pvVar12); + } + else { + (**(code **)(*local_50 + 0x18))(local_50,pvVar12); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000d140.c b/decomp/Agent_Release_x64/full/functions/0x14000d140.c new file mode 100644 index 00000000..ced5f84f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000d140.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000d140 FUN_14000d140 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000d140(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,uint *param_5, + longlong *param_6) + +{ + int iVar1; + undefined4 extraout_var; + longlong lVar2; + short *psVar3; + + lVar2 = DAT_140162d48; + if (*(char *)(DAT_140162d48 + 0x46) != '\0') { + iVar1 = wprintf(L"PWE_REQ_PLAYER_KICK - WORLD[%d] NAME[%s] \n"); + lVar2 = CONCAT44(extraout_var,iVar1); + } + if (*(longlong *)(param_1 + 0x48) != 0) { + psVar3 = (short *)*param_6; + if ((short *)*param_6 == (short *)0x0) { + psVar3 = (short *)PTR_DAT_140155010; + } + lVar2 = FUN_14000c1d0(*(longlong *)(param_1 + 0x48),(ulonglong)*param_4,(ulonglong)*param_5, + psVar3); + } + return CONCAT71((int7)((ulonglong)lVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000d1d0.c b/decomp/Agent_Release_x64/full/functions/0x14000d1d0.c new file mode 100644 index 00000000..6eba65d5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000d1d0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000d1d0 FUN_14000d1d0 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000d1d0(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,uint *param_5, + longlong *param_6) + +{ + int iVar1; + undefined4 extraout_var; + longlong lVar2; + short *psVar3; + + lVar2 = DAT_140162d48; + if (*(char *)(DAT_140162d48 + 0x46) != '\0') { + iVar1 = wprintf(L"PWE_REQ_PLAYER_BAN - WORLD[%d] NAME[%s] \n"); + lVar2 = CONCAT44(extraout_var,iVar1); + } + if (*(longlong *)(param_1 + 0x48) != 0) { + psVar3 = (short *)*param_6; + if ((short *)*param_6 == (short *)0x0) { + psVar3 = (short *)PTR_DAT_140155010; + } + lVar2 = FUN_14000c4e0(*(longlong *)(param_1 + 0x48),(ulonglong)*param_4,(ulonglong)*param_5, + psVar3); + } + return CONCAT71((int7)((ulonglong)lVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000d260.c b/decomp/Agent_Release_x64/full/functions/0x14000d260.c new file mode 100644 index 00000000..c60678af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000d260.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000d260 FUN_14000d260 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000d260(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,uint *param_5, + longlong *param_6) + +{ + int iVar1; + undefined4 extraout_var; + longlong lVar2; + short *psVar3; + + lVar2 = DAT_140162d48; + if (*(char *)(DAT_140162d48 + 0x46) != '\0') { + iVar1 = wprintf(L"PWE_REQ_INSERT_ITEM - WORLD[%d] NAME[%s] ITEM_CODE_COUNT [%d/%d] \n"); + lVar2 = CONCAT44(extraout_var,iVar1); + } + if (*(longlong *)(param_1 + 0x48) != 0) { + psVar3 = (short *)*param_6; + if ((short *)*param_6 == (short *)0x0) { + psVar3 = (short *)PTR_DAT_140155010; + } + lVar2 = FUN_14000cb00(*(longlong *)(param_1 + 0x48),(ulonglong)*param_4,(ulonglong)*param_5, + psVar3); + } + return CONCAT71((int7)((ulonglong)lVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000d320.c b/decomp/Agent_Release_x64/full/functions/0x14000d320.c new file mode 100644 index 00000000..874a05ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000d320.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000d320 FUN_14000d320 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000d320(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,uint *param_5, + longlong *param_6) + +{ + int iVar1; + undefined4 extraout_var; + longlong lVar2; + short *psVar3; + + lVar2 = DAT_140162d48; + if (*(char *)(DAT_140162d48 + 0x46) != '\0') { + iVar1 = wprintf(L"PWE_REQ_UPDATE_CASH - WORLD[%d] NAME[%s] \n"); + lVar2 = CONCAT44(extraout_var,iVar1); + } + if (*(longlong *)(param_1 + 0x48) != 0) { + psVar3 = (short *)*param_6; + if ((short *)*param_6 == (short *)0x0) { + psVar3 = (short *)PTR_DAT_140155010; + } + lVar2 = FUN_14000c7f0(*(longlong *)(param_1 + 0x48),(ulonglong)*param_4,(ulonglong)*param_5, + psVar3); + } + return CONCAT71((int7)((ulonglong)lVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000d3b0.c b/decomp/Agent_Release_x64/full/functions/0x14000d3b0.c new file mode 100644 index 00000000..1d8df895 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000d3b0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000d3b0 FUN_14000d3b0 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000d3b0(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,uint *param_5, + uint *param_6,undefined4 *param_7,longlong *param_8) + +{ + int iVar1; + undefined4 extraout_var; + short *psVar2; + longlong lVar3; + undefined4 in_stack_ffffffffffffffdc; + + lVar3 = DAT_140162d48; + if (*(char *)(DAT_140162d48 + 0x46) != '\0') { + iVar1 = wprintf( + L"PWE_REQ_NOTICE : CLIENT [ %d ] WORLD [ %d ] SERVER_TYPE [ %d ] NOTICE_TYPE [ %d ] NOTICE [ %s ] \n" + ); + lVar3 = CONCAT44(extraout_var,iVar1); + } + if (*(longlong *)(param_1 + 0x48) != 0) { + psVar2 = (short *)*param_8; + if ((short *)*param_8 == (short *)0x0) { + psVar2 = (short *)PTR_DAT_140155010; + } + lVar3 = FUN_14000ce20(*(longlong *)(param_1 + 0x48),(ulonglong)*param_4,(ulonglong)*param_5, + (ulonglong)*param_6,CONCAT44(in_stack_ffffffffffffffdc,*param_7),psVar2); + } + return CONCAT71((int7)((ulonglong)lVar3 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000d480.c b/decomp/Agent_Release_x64/full/functions/0x14000d480.c new file mode 100644 index 00000000..a877193d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000d480.c @@ -0,0 +1,185 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000d480 FUN_14000d480 + * Pseudocode, not original source. */ + +void FUN_14000d480(wchar_t *param_1,ulonglong param_2,ulonglong param_3,ulonglong param_4, + short *param_5) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + int *piVar4; + uint *puVar5; + wchar_t *pwVar6; + ulonglong uVar7; + uint *puVar8; + undefined8 uVar9; + uint uVar10; + undefined *puVar11; + undefined4 *puVar12; + uint uVar13; + undefined4 local_res10 [2]; + undefined1 local_res18; + undefined4 local_res20; + uint *local_48; + undefined8 local_40; + int *local_38; + undefined1 local_30; + + local_res20 = (undefined4)param_4; + local_res18 = (undefined1)param_3; + local_res10[0] = (undefined4)param_2; + local_40 = 0xfffffffffffffffe; + uVar7 = param_4 & 0xffffffff; + pwVar6 = param_1; + if (*(char *)(DAT_140162d48 + 0x46) != '\0') { + param_4 = param_3 & 0xff; + param_3 = param_2 & 0xffffffff; + pwVar6 = + L"sendPWE_RESP_RESULT_CODE : CLIENT [ %d ] RESULTCODE [ %d ] SUCCEED [ %d ] NAME [ %s ] \n"; + wprintf( + L"sendPWE_RESP_RESULT_CODE : CLIENT [ %d ] RESULTCODE [ %d ] SUCCEED [ %d ] NAME [ %s ] \n" + ); + param_2 = uVar7; + } + FUN_140030200(pwVar6,param_2,param_3,param_4); + local_48 = (uint *)PTR_DAT_140155010; + uVar1 = FUN_140030080(param_5); + uVar13 = 0; + uVar3 = 0; + uVar7 = 0; + if ((local_48 != (uint *)0x0) && (uVar7 = 0, local_48 != (uint *)PTR_DAT_140155010)) { + uVar7 = (ulonglong)local_48[-2]; + } + uVar2 = uVar1; + if ((((int)uVar1 <= (int)uVar7) && (uVar2 = uVar3, local_48 != (uint *)0x0)) && + (local_48 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_48[-2]; + } + uVar10 = 1; + if (1 < (int)uVar2) { + uVar10 = uVar2; + } + uVar2 = uVar3; + if ((local_48 != (uint *)0x0) && (local_48 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_48[-2]; + } + if ((int)uVar2 < (int)uVar10) { + puVar5 = local_48; + if (local_48 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + local_48 = puVar5; + if ((int)uVar10 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar10 == 0) { + local_48 = (uint *)PTR_DAT_140155010; + if (((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) && + (puVar5 + -2 != (uint *)0x0)) { + local_48 = puVar5; + piVar4 = (int *)FUN_140030200(puVar5,PTR_DAT_140155010,uVar7,param_4); + local_38 = piVar4; + FUN_14002e6e0(piVar4); + local_30 = 1; + puVar8 = puVar5 + -1; + *puVar8 = *puVar8 - 1; + if (*puVar8 == 0) { + FUN_1400302f0(puVar5 + -2); + } + FUN_14002e770((longlong)piVar4); + local_48 = (uint *)PTR_DAT_140155010; + } + } + else { + uVar2 = uVar3; + if ((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) { + uVar2 = puVar5[-2]; + } + if (uVar10 != uVar2) { + puVar5 = (uint *)FUN_140030280((longlong)(int)uVar10 * 2 + 10); + if (puVar5 != (uint *)0x0) { + *puVar5 = 0; + puVar5[1] = 1; + } + *puVar5 = uVar10; + uVar2 = uVar3; + if ((local_48 != (uint *)0x0) && (local_48 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_48[-2]; + } + puVar8 = (uint *)PTR_DAT_140155010; + if ((int)uVar10 < (int)uVar2) { +LAB_14000d61f: + if (local_48 != (uint *)0x0) { + puVar8 = local_48; + } + } + else { + uVar10 = uVar3; + if (local_48 != (uint *)0x0) { + if (local_48 != (uint *)PTR_DAT_140155010) { + uVar10 = local_48[-2]; + } + goto LAB_14000d61f; + } + } + uVar7 = (ulonglong)uVar10; + FUN_1400300b0(puVar5 + 2,puVar8,uVar10); + FUN_140003240((longlong *)&local_48,puVar8,uVar7,param_4); + local_48 = puVar5 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_48); + puVar5 = local_48; + if (local_48 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar5,param_5,uVar1); + puVar5 = local_48; + if (local_48 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + uVar3 = FUN_140030080((short *)puVar5); + uVar1 = uVar13; + if (0 < (int)uVar3) { + uVar1 = uVar3; + } + uVar3 = uVar13; + if ((local_48 != (uint *)0x0) && (local_48 != (uint *)PTR_DAT_140155010)) { + uVar3 = local_48[-2]; + } + if (((int)uVar3 <= (int)uVar1) && (uVar1 = uVar13, local_48 != (uint *)0x0)) { + if (local_48 == (uint *)PTR_DAT_140155010) goto LAB_14000d6d5; + uVar1 = local_48[-2]; + } + if (((local_48 != (uint *)PTR_DAT_140155010) && (local_48 != (uint *)0x0)) && + (local_48 + -2 != (uint *)0x0)) { + local_48[-2] = uVar1; + *(undefined2 *)((longlong)local_48 + (longlong)(int)uVar1 * 2) = 0; + } +LAB_14000d6d5: + pwVar6 = param_1 + 0x34; + puVar12 = local_res10; + puVar11 = &DAT_1401555d0; + uVar9 = 1; + (**(code **)(*(longlong *)pwVar6 + 0x60))(); + puVar5 = local_48; + if (((local_48 != (uint *)0x0) && (local_48 != (uint *)PTR_DAT_140155010)) && + (puVar8 = local_48 + -2, puVar8 != (uint *)0x0)) { + piVar4 = (int *)FUN_140030200(pwVar6,uVar9,puVar11,puVar12); + local_38 = piVar4; + FUN_14002e6e0(piVar4); + local_30 = 1; + puVar5 = puVar5 + -1; + *puVar5 = *puVar5 - 1; + if (*puVar5 == 0) { + FUN_1400302f0(puVar8); + } + FUN_14002e770((longlong)piVar4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000d780.c b/decomp/Agent_Release_x64/full/functions/0x14000d780.c new file mode 100644 index 00000000..23d865dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000d780.c @@ -0,0 +1,376 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000d780 FUN_14000d780 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Removing unreachable block (ram,0x00014000dd22) */ +/* WARNING: Type propagation algorithm not settling */ + +undefined8 +FUN_14000d780(longlong param_1,int param_2,undefined8 param_3,longlong *param_4,longlong *param_5, + longlong *param_6) + +{ + longlong lVar1; + ulonglong *puVar2; + ulonglong *puVar3; + undefined4 *puVar4; + int iVar5; + longlong *plVar6; + undefined2 *puVar7; + undefined4 extraout_var; + undefined8 extraout_RAX; + ulonglong *puVar9; + undefined2 *_Dst; + ulonglong *puVar10; + ulonglong *puVar11; + undefined4 *puVar12; + ulonglong *puVar13; + undefined8 *puVar14; + undefined8 *_Size; + undefined1 auStack_268 [32]; + ulonglong **local_248; + int local_238 [2]; + ulonglong *local_230; + ulonglong *local_228; + ulonglong *local_220; + longlong *local_210; + ulonglong *local_208; + ulonglong *puStack_200; + ulonglong local_1f8; + ulonglong *local_1f0; + longlong *local_1e8; + longlong *local_1e0; + undefined8 local_1d8; + undefined8 local_1d0 [5]; + undefined4 local_1a8; + int local_1a4; + undefined4 local_1a0; + undefined1 local_19c; + undefined4 local_198; + undefined4 local_194; + undefined4 local_190; + undefined4 local_18c; + undefined1 local_188; + longlong local_180 [2]; + longlong *local_170; + ulonglong local_168; + undefined2 local_158; + undefined6 uStack_156; + undefined8 local_148; + ulonglong local_140; + undefined2 local_130; + undefined6 uStack_12e; + undefined8 local_120; + ulonglong local_118; + ulonglong *local_108; + ulonglong *puStack_100; + ulonglong local_f8; + ulonglong local_f0; + ulonglong local_e8; + ulonglong local_e0; + ulonglong local_d8; + void *local_d0; + undefined8 local_c8; + undefined8 local_c0; + undefined4 local_a8; + undefined4 local_a4; + undefined2 local_a0; + undefined6 uStack_9e; + undefined8 local_90; + ulonglong local_88; + undefined8 local_78 [2]; + longlong *local_68; + ulonglong local_60; + ulonglong local_48; + undefined8 uVar8; + + local_1d8 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_268; + local_1e8 = param_5; + local_210 = param_6; + local_238[0] = param_2; + local_1e0 = param_4; + plVar6 = FUN_14000e5b0(local_1d0,param_4); + FUN_14002a840(DAT_140162d58,plVar6); + puVar9 = (ulonglong *)0x0; + local_230 = (ulonglong *)0x0; + local_228 = (ulonglong *)0x0; + local_220 = (ulonglong *)0x0; + puVar10 = puVar9; + if (*(longlong *)(DAT_140162d60 + 0x58) == 0) { + local_208 = (ulonglong *)0x0; + } + else { + local_208 = *(ulonglong **)(DAT_140162d60 + 0x68); + if (local_208 != (ulonglong *)0x0) { + puStack_200 = (ulonglong *)*local_208; + puVar13 = local_208; + puVar3 = puStack_200; + goto joined_r0x00014000d84f; + } + } + puStack_200 = (ulonglong *)0x0; + puVar13 = local_208; + puVar3 = puStack_200; +joined_r0x00014000d84f: + while (puVar3 != (ulonglong *)0x0) { + puVar2 = (ulonglong *)puVar3[2]; + if (puVar2 != (ulonglong *)0x0) { + if ((puVar2 < puVar10) && (puVar9 <= puVar2)) { + lVar1 = ((longlong)puVar2 - (longlong)puVar9) + + SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816((longlong)puVar2 - (longlong)puVar9),8 + ); + if (puVar10 == local_220) { + FUN_14002d140((longlong *)&local_230); + puVar9 = local_230; + puVar10 = local_228; + } + puVar11 = (ulonglong *)0x0; + local_208 = puVar10; + local_1f0 = puVar10; + if (puVar10 != (ulonglong *)0x0) { + FUN_140004950((undefined4 *)puVar10, + (undefined4 *)(puVar9 + ((lVar1 >> 7) - (lVar1 >> 0x3f)) * 0x1f)); + puVar9 = local_230; + puVar11 = local_228; + } + } + else { + if (puVar10 == local_220) { + FUN_14002d140((longlong *)&local_230); + puVar9 = local_230; + puVar10 = local_228; + } + puVar11 = (ulonglong *)0x0; + local_208 = puVar10; + local_1f0 = puVar10; + if (puVar10 != (ulonglong *)0x0) { + FUN_140004950((undefined4 *)puVar10,(undefined4 *)puVar2); + puVar9 = local_230; + puVar11 = local_228; + } + } + puVar10 = puVar11 + 0x1f; + local_228 = puVar10; + } + puVar3 = (ulonglong *)*puVar3; + while (puVar3 == (ulonglong *)0x0) { + puVar13 = puVar13 + 1; + puVar3 = (ulonglong *)*puVar13; + } + param_2 = local_238[0]; + param_5 = local_1e8; + param_6 = local_210; + if (puVar13 == puVar3) { + puVar3 = (ulonglong *)0x0; + } + } + if (puVar9 != puVar10) { + puVar9 = puVar9 + 0x17; + do { + FUN_140004ea0(&local_1a8,(undefined4 *)(puVar9 + -0x17)); + local_108 = (ulonglong *)puVar9[-3]; + puStack_100 = (ulonglong *)puVar9[-2]; + local_f8 = puVar9[-1]; + local_f0 = *puVar9; + local_e8 = puVar9[1]; + local_e0 = puVar9[2]; + local_d8 = puVar9[3]; + FUN_140004d60(&local_d0,(longlong *)(puVar9 + 4)); + local_238[0] = local_1a4; + local_208 = local_108; + puStack_200 = puStack_100; + local_1f8 = local_f8; + local_248 = &local_208; + (**(code **)(*(longlong *)(param_1 + 0x20) + 0x30)) + (param_1 + 0x20,param_2,&DAT_1401555d0,local_238); + if (local_d0 != (void *)0x0) { + operator_delete(local_d0); + } + local_d0 = (void *)0x0; + local_c8 = 0; + local_c0 = 0; + if (7 < local_118) { + operator_delete((void *)CONCAT62(uStack_12e,local_130)); + } + local_118 = 7; + local_120 = 0; + local_130 = 0; + if (7 < local_140) { + operator_delete((void *)CONCAT62(uStack_156,local_158)); + } + local_140 = 7; + local_148 = 0; + local_158 = 0; + if (7 < local_168) { + operator_delete((void *)CONCAT62(local_180[0]._2_6_,(undefined2)local_180[0])); + } + local_168 = 7; + local_170 = (longlong *)0x0; + local_180[0]._0_2_ = 0; + puVar3 = puVar9 + 8; + puVar9 = puVar9 + 0x1f; + param_6 = local_210; + } while (puVar3 != puVar10); + } + FUN_14002c400(DAT_140162d60); + puVar4 = (undefined4 *)param_5[1]; + for (puVar12 = (undefined4 *)*param_5; puVar12 != puVar4; puVar12 = puVar12 + 0x28) { + local_1a8 = *puVar12; + local_1a4 = puVar12[1]; + local_1a0 = puVar12[2]; + local_19c = *(undefined1 *)(puVar12 + 3); + local_198 = puVar12[4]; + local_194 = puVar12[5]; + local_190 = puVar12[6]; + local_18c = puVar12[7]; + local_188 = *(undefined1 *)(puVar12 + 8); + local_168 = 7; + local_170 = (longlong *)0x0; + local_180[0]._0_2_ = 0; + FUN_140001600(local_180,(longlong *)(puVar12 + 10),0,0xffffffffffffffff); + local_140 = 7; + local_148 = 0; + local_158 = 0; + FUN_140001600((longlong *)&local_158,(longlong *)(puVar12 + 0x14),0,0xffffffffffffffff); + local_118 = 7; + local_120 = 0; + local_130 = 0; + FUN_140001600((longlong *)&local_130,(longlong *)(puVar12 + 0x1e),0,0xffffffffffffffff); + if (*(int *)(DAT_140162d68 + 0x154) == local_1a4) { + FUN_140022a20(DAT_140162d68,&local_1a8); + } + else { + FUN_14002c820(DAT_140162d60,&local_1a8); + } + if (7 < local_118) { + operator_delete((void *)CONCAT62(uStack_12e,local_130)); + } + local_118 = 7; + local_120 = 0; + local_130 = 0; + if (7 < local_140) { + operator_delete((void *)CONCAT62(uStack_156,local_158)); + } + local_140 = 7; + local_148 = 0; + local_158 = 0; + if (7 < local_168) { + operator_delete((void *)CONCAT62(local_180[0]._2_6_,(undefined2)local_180[0])); + } + } + puVar4 = (undefined4 *)param_6[1]; + puVar12 = (undefined4 *)*param_6; + do { + if (puVar12 == puVar4) { +LAB_14000dea2: + printf("ServerFile Count: %d !!! \n",(local_1e0[1] - *local_1e0) / 0x30); + printf("ServerOption Count: %d !!! \n",(param_5[1] - *param_5) / 0xa0); + iVar5 = printf("AgentManager Count: %d !!! \n",(param_6[1] - *param_6) / 0xa0); + uVar8 = CONCAT44(extraout_var,iVar5); + *(undefined1 *)(param_1 + 0x40) = 1; + if (local_230 != (ulonglong *)0x0) { + std::_Container_base0::_Orphan_all((_Container_base0 *)&local_230); + FUN_140004b30(local_230,local_228); + operator_delete(local_230); + uVar8 = extraout_RAX; + } + return CONCAT71((int7)((ulonglong)uVar8 >> 8),1); + } + puVar14 = (undefined8 *)0xffffffffffffffff; + local_1a8 = *puVar12; + local_1a4 = puVar12[1]; + local_1a0 = puVar12[2]; + local_19c = *(undefined1 *)(puVar12 + 3); + local_198 = puVar12[4]; + local_194 = puVar12[5]; + local_190 = puVar12[6]; + local_18c = puVar12[7]; + local_188 = *(undefined1 *)(puVar12 + 8); + local_168 = 7; + local_170 = (longlong *)0x0; + local_180[0]._0_2_ = 0; + FUN_140001600(local_180,(longlong *)(puVar12 + 10),0,0xffffffffffffffff); + local_140 = 7; + local_148 = 0; + local_158 = 0; + FUN_140001600((longlong *)&local_158,(longlong *)(puVar12 + 0x14),0,0xffffffffffffffff); + local_118 = 7; + local_120 = 0; + local_130 = 0; + _Size = (undefined8 *)0x0; + FUN_140001600((longlong *)&local_130,(longlong *)(puVar12 + 0x1e),0,0xffffffffffffffff); + param_6 = local_170; + local_a8 = 0; + local_88 = 7; + local_90 = 0; + local_a0 = 0; + local_60 = 7; + local_68 = (longlong *)0x0; + local_78[0]._0_2_ = 0; + local_a4 = local_198; + if ((longlong *)0x7ffffffffffffffe < local_170) { + std::_Xlength_error("string too long"); + goto LAB_14000dea2; + } + if (local_170 < (longlong *)0x8) { + if (local_170 == (longlong *)0x0) { + local_68 = (longlong *)0x0; + local_78[0]._0_2_ = 0; + } + } + else { + _Size = (undefined8 *)0x0; + FUN_1400018f0(local_78,(ulonglong)local_170,0); + } + if (param_6 != (longlong *)0x0) { + puVar7 = (undefined2 *)local_180; + if (7 < local_168) { + puVar7 = (undefined2 *)CONCAT62(local_180[0]._2_6_,(undefined2)local_180[0]); + } + _Dst = (undefined2 *)local_78; + if (7 < local_60) { + _Dst = (undefined2 *)CONCAT62(local_78[0]._2_6_,(undefined2)local_78[0]); + } + _Size = (undefined8 *)((longlong)param_6 * 2); + memcpy(_Dst,puVar7,(size_t)_Size); + local_68 = param_6; + puVar7 = (undefined2 *)local_78; + if (7 < local_60) { + puVar7 = (undefined2 *)CONCAT62(local_78[0]._2_6_,(undefined2)local_78[0]); + } + puVar7[(longlong)param_6] = 0; + } + if (*(undefined8 **)(param_1 + 0x50) != (undefined8 *)0x0) { + FUN_140007a80(*(undefined8 **)(param_1 + 0x50),(undefined8 **)&local_a8,_Size,puVar14); + } + if (7 < local_60) { + operator_delete((void *)CONCAT62(local_78[0]._2_6_,(undefined2)local_78[0])); + } + local_60 = 7; + local_68 = (longlong *)0x0; + local_78[0]._0_2_ = 0; + if (7 < local_88) { + operator_delete((void *)CONCAT62(uStack_9e,local_a0)); + } + if (7 < local_118) { + operator_delete((void *)CONCAT62(uStack_12e,local_130)); + } + local_118 = 7; + local_120 = 0; + local_130 = 0; + if (7 < local_140) { + operator_delete((void *)CONCAT62(uStack_156,local_158)); + } + local_140 = 7; + local_148 = 0; + local_158 = 0; + if (7 < local_168) { + operator_delete((void *)CONCAT62(local_180[0]._2_6_,(undefined2)local_180[0])); + } + puVar12 = puVar12 + 0x28; + param_6 = local_210; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000df90.c b/decomp/Agent_Release_x64/full/functions/0x14000df90.c new file mode 100644 index 00000000..710a3e39 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000df90.c @@ -0,0 +1,51 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000df90 FUN_14000df90 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000df90(longlong param_1,undefined8 param_2,undefined8 param_3,int *param_4,longlong *param_5) + +{ + longlong lVar1; + undefined8 *puVar2; + undefined8 *puVar3; + undefined8 *extraout_RAX; + longlong *plVar4; + undefined8 uVar5; + undefined8 local_30 [5]; + + uVar5 = 0xfffffffffffffffe; + if (*(longlong *)(DAT_140162d60 + 0x58) != 0) { + for (puVar3 = *(undefined8 **) + (*(longlong *)(DAT_140162d60 + 0x38) + + ((ulonglong)(longlong)*param_4 % *(ulonglong *)(DAT_140162d60 + 0x40)) * 8); + puVar3 != (undefined8 *)0x0; puVar3 = (undefined8 *)*puVar3) { + if (*param_4 == *(int *)(puVar3 + 1)) { + if (puVar3 != (undefined8 *)0x0) { + lVar1 = puVar3[2]; + if ((lVar1 != 0) && (*(longlong *)(param_1 + 0x48) != 0)) { + puVar2 = FUN_14000e690(local_30,param_5); + plVar4 = (longlong *)(*(longlong *)(param_1 + 0x48) + 0x50); + puVar3 = (undefined8 *) + (**(code **)(*plVar4 + 0x30)) + (plVar4,*(undefined4 *)(lVar1 + 0xa0),&DAT_1401555d0,puVar2,uVar5); + if ((ulonglong *)*puVar2 != (ulonglong *)0x0) { + FUN_140006a60((ulonglong *)*puVar2,(ulonglong *)puVar2[1]); + operator_delete((void *)*puVar2); + puVar3 = extraout_RAX; + } + *puVar2 = 0; + puVar2[1] = 0; + puVar2[2] = 0; + } + goto LAB_14000e06a; + } + break; + } + } + } + puVar3 = (undefined8 *)0x0; +LAB_14000e06a: + return CONCAT71((int7)((ulonglong)puVar3 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e080.c b/decomp/Agent_Release_x64/full/functions/0x14000e080.c new file mode 100644 index 00000000..8cf637d5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e080.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e080 FUN_14000e080 + * Pseudocode, not original source. */ + +undefined8 FUN_14000e080(void) + +{ + longlong *plVar1; + undefined8 uVar2; + longlong *in_R9; + undefined8 local_28 [5]; + + plVar1 = FUN_14000e5b0(local_28,in_R9); + uVar2 = FUN_14002a840(DAT_140162d58,plVar1); + return CONCAT71((int7)((ulonglong)uVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e0b0.c b/decomp/Agent_Release_x64/full/functions/0x14000e0b0.c new file mode 100644 index 00000000..32c528c4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e0b0.c @@ -0,0 +1,64 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e0b0 FUN_14000e0b0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_14000e0b0(void) + +{ + undefined4 *puVar1; + ulonglong uVar2; + ulonglong extraout_RAX; + ulonglong extraout_RAX_00; + ulonglong extraout_RAX_01; + undefined4 *puVar3; + undefined8 *in_R9; + undefined1 auStack_e8 [32]; + undefined8 local_c8; + undefined4 local_b8; + int local_b4; + void *local_90; + ulonglong local_78; + undefined2 local_68; + undefined6 uStack_66; + undefined8 local_58; + ulonglong local_50; + undefined2 local_40; + undefined6 uStack_3e; + undefined8 local_30; + ulonglong local_28; + ulonglong local_18; + + local_c8 = 0xfffffffffffffffe; + uVar2 = DAT_1401555a0 ^ (ulonglong)auStack_e8; + puVar1 = (undefined4 *)in_R9[1]; + local_18 = uVar2; + for (puVar3 = (undefined4 *)*in_R9; puVar3 != puVar1; puVar3 = puVar3 + 0x28) { + FUN_140004ea0(&local_b8,puVar3); + uVar2 = DAT_140162d68; + if (local_b4 != *(int *)(DAT_140162d68 + 0x154)) { + uVar2 = FUN_14002c820(DAT_140162d60,&local_b8); + } + if (7 < local_28) { + operator_delete((void *)CONCAT62(uStack_3e,local_40)); + uVar2 = extraout_RAX; + } + local_28 = 7; + local_30 = 0; + local_40 = 0; + if (7 < local_50) { + operator_delete((void *)CONCAT62(uStack_66,local_68)); + uVar2 = extraout_RAX_00; + } + local_50 = 7; + local_58 = 0; + local_68 = 0; + if (7 < local_78) { + operator_delete(local_90); + uVar2 = extraout_RAX_01; + } + } + return CONCAT71((int7)(uVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e1e0.c b/decomp/Agent_Release_x64/full/functions/0x14000e1e0.c new file mode 100644 index 00000000..c216a699 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e1e0.c @@ -0,0 +1,99 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e1e0 FUN_14000e1e0 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000e1e0(longlong param_1,undefined8 param_2,ulonglong param_3,uint *param_4,int *param_5) + +{ + undefined4 *puVar1; + int iVar2; + undefined8 uVar3; + undefined4 extraout_var; + uint *puVar4; + char *pcVar5; + longlong lVar6; + uint *puVar7; + bool bVar8; + uint local_res20 [2]; + undefined4 local_a8 [40]; + + lVar6 = DAT_140162d68; + puVar7 = DAT_140162d60; + local_res20[0] = *param_4; + if (local_res20[0] == 4) { + uVar3 = FUN_14000a080(param_1,param_2,param_3,param_4); + return CONCAT71((int7)((ulonglong)uVar3 >> 8),1); + } + iVar2 = *param_5; + if (*(int *)(DAT_140162d68 + 0x154) == iVar2) { + if (local_res20[0] == 7) { + bVar8 = *(char *)(DAT_140162d68 + 0x171) == '\0'; + pcVar5 = "Auto Revive On !!!\n"; + *(bool *)(DAT_140162d68 + 0x171) = bVar8; + if (!bVar8) { + pcVar5 = "Auto Revive Off !!!\n"; + } + iVar2 = printf(pcVar5); + return CONCAT71((int7)(CONCAT44(extraout_var,iVar2) >> 8),1); + } + } + else { + if (*(longlong *)(DAT_140162d60 + 0x16) != 0) { + for (param_5 = *(int **)(*(longlong *)(DAT_140162d60 + 0xe) + + ((ulonglong)(longlong)iVar2 % *(ulonglong *)(DAT_140162d60 + 0x10)) * + 8); param_5 != (int *)0x0; param_5 = *(int **)param_5) { + if (iVar2 == param_5[2]) { + if (param_5 != (int *)0x0) goto LAB_14000e299; + break; + } + } + } + param_5 = (int *)0x0; +LAB_14000e299: + if (((param_5 != (int *)0x0) && + (puVar1 = *(undefined4 **)(param_5 + 4), puVar1 != (undefined4 *)0x0)) && + (local_res20[0] < 0xe)) { + param_5 = (int *)(longlong)(int)local_res20[0]; + switch(local_res20[0]) { + case 0: + puVar4 = FUN_14000b8e0(puVar1,local_a8); + uVar3 = FUN_140008ea0(DAT_140162d78,puVar4,lVar6,puVar7); + return CONCAT71((int7)((ulonglong)uVar3 >> 8),1); + default: + uVar3 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x48) + 0x50) + 0x40)) + (*(longlong *)(param_1 + 0x48) + 0x50,puVar1[0x28],&DAT_1401555d0, + local_res20); + return CONCAT71((int7)((ulonglong)uVar3 >> 8),1); + case 3: + FUN_140010960(L"REQ_SERVER_KILL", + IMAGE_DOS_HEADER_140000000.e_magic + + (&switchD_14000e2d6::switchdataD_14000e3d4)[(int)local_res20[0]],DAT_140162d68 + ,DAT_140162d60); + case 1: + uVar3 = FUN_140009720(puVar1[0x29]); + return CONCAT71((int7)((ulonglong)uVar3 >> 8),1); + case 4: + case 8: + case 9: + case 10: + case 0xc: + break; + case 0xb: + bVar8 = *(char *)(DAT_140162d68 + 0x171) == '\0'; + pcVar5 = "Auto Revive On !!!\n"; + *(bool *)(DAT_140162d68 + 0x171) = bVar8; + if (!bVar8) { + pcVar5 = "Auto Revive Off !!!\n"; + } + printf(pcVar5); + param_5 = (int *)FUN_140006940(*(longlong *)(param_1 + 0x48),0xb,lVar6,(longlong)puVar7); + if (*(longlong *)(DAT_1401626f8 + 0xa8) != 0) { + param_5 = (int *)FUN_140008a40(*(longlong *)(DAT_1401626f8 + 0xa8)); + } + } + } + } + return CONCAT71((int7)((ulonglong)param_5 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e410.c b/decomp/Agent_Release_x64/full/functions/0x14000e410.c new file mode 100644 index 00000000..f9c3fdc2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e410.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e410 FUN_14000e410 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000e410(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,uint *param_5, + uint *param_6,longlong *param_7) + +{ + undefined8 in_RAX; + short *psVar1; + + if (*(longlong *)(param_1 + 0x48) != 0) { + psVar1 = (short *)*param_7; + if ((short *)*param_7 == (short *)0x0) { + psVar1 = (short *)PTR_DAT_140155010; + } + in_RAX = FUN_140005bf0(*(longlong *)(param_1 + 0x48),(ulonglong)*param_4,*param_5, + (ulonglong)*param_6,psVar1); + } + return CONCAT71((int7)((ulonglong)in_RAX >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e460.c b/decomp/Agent_Release_x64/full/functions/0x14000e460.c new file mode 100644 index 00000000..90ce92aa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e460.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e460 FUN_14000e460 + * Pseudocode, not original source. */ + +undefined1 FUN_14000e460(longlong param_1,undefined8 param_2,undefined8 param_3,undefined4 *param_4) + +{ + if (*(longlong *)(param_1 + 0x48) != 0) { + FUN_140005f10(*(longlong *)(param_1 + 0x48),*param_4,param_3,(longlong)param_4); + } + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e480.c b/decomp/Agent_Release_x64/full/functions/0x14000e480.c new file mode 100644 index 00000000..75d40e85 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e480.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e480 FUN_14000e480 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000e480(longlong param_1,undefined8 param_2,undefined8 param_3,undefined4 *param_4, + byte *param_5,byte *param_6) + +{ + undefined8 in_RAX; + + if (*(longlong *)(param_1 + 0x48) != 0) { + in_RAX = FUN_140005ff0(*(longlong *)(param_1 + 0x48),*param_4,(ulonglong)*param_5, + (ulonglong)*param_6); + } + return CONCAT71((int7)((ulonglong)in_RAX >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e4c0.c b/decomp/Agent_Release_x64/full/functions/0x14000e4c0.c new file mode 100644 index 00000000..22b1f294 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e4c0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e4c0 FUN_14000e4c0 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000e4c0(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,longlong *param_5 + ) + +{ + undefined8 in_RAX; + short *psVar1; + + if (*(longlong *)(param_1 + 0x48) != 0) { + psVar1 = (short *)*param_5; + if ((short *)*param_5 == (short *)0x0) { + psVar1 = (short *)PTR_DAT_140155010; + } + in_RAX = FUN_1400060f0(*(longlong *)(param_1 + 0x48),*param_4,psVar1,(longlong)param_4); + } + return CONCAT71((int7)((ulonglong)in_RAX >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e4f0.c b/decomp/Agent_Release_x64/full/functions/0x14000e4f0.c new file mode 100644 index 00000000..d909ff9f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e4f0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e4f0 FUN_14000e4f0 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000e4f0(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4, + undefined4 *param_5) + +{ + undefined8 in_RAX; + + if (*(longlong *)(param_1 + 0x48) != 0) { + in_RAX = FUN_140006420(*(longlong *)(param_1 + 0x48),*param_4,*param_5,(longlong)param_4); + } + return CONCAT71((int7)((ulonglong)in_RAX >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e520.c b/decomp/Agent_Release_x64/full/functions/0x14000e520.c new file mode 100644 index 00000000..6bebb99b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e520.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e520 FUN_14000e520 + * Pseudocode, not original source. */ + +undefined1 FUN_14000e520(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4) + +{ + short *psVar1; + + if (*(longlong *)(param_1 + 0x48) != 0) { + psVar1 = *(short **)param_4; + if (*(short **)param_4 == (short *)0x0) { + psVar1 = (short *)PTR_DAT_140155010; + } + FUN_140005950(*(longlong *)(param_1 + 0x48),psVar1,param_3,param_4); + } + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e550.c b/decomp/Agent_Release_x64/full/functions/0x14000e550.c new file mode 100644 index 00000000..196be6c4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e550.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e550 FUN_14000e550 + * Pseudocode, not original source. */ + +undefined8 +FUN_14000e550(longlong param_1,undefined8 param_2,undefined8 param_3,undefined1 *param_4, + uint *param_5,void *param_6) + +{ + longlong lVar1; + undefined8 in_RAX; + undefined1 local_118 [272]; + + lVar1 = *(longlong *)(param_1 + 0x48); + if (lVar1 != 0) { + memcpy(local_118,param_6,0x108); + in_RAX = FUN_140006850(lVar1,*param_4,(ulonglong)*param_5,local_118); + } + return CONCAT71((int7)((ulonglong)in_RAX >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e5b0.c b/decomp/Agent_Release_x64/full/functions/0x14000e5b0.c new file mode 100644 index 00000000..b860b231 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e5b0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e5b0 FUN_14000e5b0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14000e5b0(undefined8 *param_1,longlong *param_2) + +{ + code *pcVar1; + undefined8 *puVar2; + undefined1 *puVar3; + longlong lVar4; + ulonglong uVar5; + + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + lVar4 = (param_2[1] - *param_2) / 6 + (param_2[1] - *param_2 >> 0x3f); + uVar5 = (lVar4 >> 3) - (lVar4 >> 0x3f); + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + if (uVar5 != 0) { + if (0x555555555555555 < uVar5) { + std::_Xlength_error("vector too long"); + pcVar1 = (code *)swi(3); + puVar2 = (undefined8 *)(*pcVar1)(); + return puVar2; + } + puVar3 = FUN_14000e8d0(uVar5); + *param_1 = puVar3; + param_1[1] = puVar3; + param_1[2] = puVar3 + uVar5 * 0x30; + puVar3 = FUN_14000e9b0((undefined1 *)*param_2,(undefined1 *)param_2[1],puVar3); + param_1[1] = puVar3; + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e690.c b/decomp/Agent_Release_x64/full/functions/0x14000e690.c new file mode 100644 index 00000000..ea7f374c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e690.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e690 FUN_14000e690 + * Pseudocode, not original source. */ + +undefined8 * FUN_14000e690(undefined8 *param_1,longlong *param_2) + +{ + code *pcVar1; + ulonglong uVar2; + undefined8 *puVar3; + undefined4 *puVar4; + + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + uVar2 = (param_2[1] - *param_2) / 0xa0; + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + if (uVar2 != 0) { + if (0x199999999999999 < uVar2) { + std::_Xlength_error("vector too long"); + pcVar1 = (code *)swi(3); + puVar3 = (undefined8 *)(*pcVar1)(); + return puVar3; + } + puVar4 = FUN_14000e940(uVar2); + *param_1 = puVar4; + param_1[1] = puVar4; + param_1[2] = puVar4 + uVar2 * 0x28; + puVar4 = FUN_14000ea50((undefined4 *)*param_2,(undefined4 *)param_2[1],puVar4); + param_1[1] = puVar4; + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e760.c b/decomp/Agent_Release_x64/full/functions/0x14000e760.c new file mode 100644 index 00000000..63621101 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e760.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e760 FUN_14000e760 + * Pseudocode, not original source. */ + +undefined8 FUN_14000e760(undefined8 *param_1,ulonglong param_2) + +{ + code *pcVar1; + undefined8 uVar2; + void *pvVar3; + + uVar2 = 0; + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + if (param_2 != 0) { + if (0x555555555555555 < param_2) { + std::_Xlength_error("vector too long"); + pcVar1 = (code *)swi(3); + uVar2 = (*pcVar1)(); + return uVar2; + } + pvVar3 = FUN_14000e8d0(param_2); + *param_1 = pvVar3; + param_1[1] = pvVar3; + uVar2 = CONCAT71((int7)((ulonglong)pvVar3 >> 8),1); + param_1[2] = (void *)(param_2 * 0x30 + (longlong)pvVar3); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e7d0.c b/decomp/Agent_Release_x64/full/functions/0x14000e7d0.c new file mode 100644 index 00000000..e42eedfb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e7d0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e7d0 FUN_14000e7d0 + * Pseudocode, not original source. */ + +void FUN_14000e7d0(longlong *param_1) + +{ + longlong lVar1; + ulonglong *puVar2; + longlong lVar3; + + lVar3 = *param_1; + if (lVar3 != 0) { + lVar1 = param_1[1]; + if (lVar3 != lVar1) { + puVar2 = (ulonglong *)(lVar3 + 0x20); + do { + if (7 < *puVar2) { + operator_delete((void *)puVar2[-3]); + } + *puVar2 = 7; + puVar2[-1] = 0; + lVar3 = lVar3 + 0x30; + *(undefined2 *)(puVar2 + -3) = 0; + puVar2 = puVar2 + 6; + } while (lVar3 != lVar1); + } + operator_delete((void *)*param_1); + } + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e870.c b/decomp/Agent_Release_x64/full/functions/0x14000e870.c new file mode 100644 index 00000000..696a92d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e870.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e870 FUN_14000e870 + * Pseudocode, not original source. */ + +void FUN_14000e870(ulonglong *param_1,ulonglong *param_2) + +{ + ulonglong *puVar1; + ulonglong *puVar2; + + if (param_1 != param_2) { + puVar2 = param_1 + 4; + do { + if (7 < *puVar2) { + operator_delete((void *)puVar2[-3]); + } + *puVar2 = 7; + puVar2[-1] = 0; + *(undefined2 *)(puVar2 + -3) = 0; + puVar1 = puVar2 + 2; + puVar2 = puVar2 + 6; + } while (puVar1 != param_2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e8d0.c b/decomp/Agent_Release_x64/full/functions/0x14000e8d0.c new file mode 100644 index 00000000..36c887d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e8d0.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e8d0 FUN_14000e8d0 + * Pseudocode, not original source. */ + +void * FUN_14000e8d0(ulonglong param_1) + +{ + void *pvVar1; + char *local_res8 [4]; + undefined **local_28 [5]; + + if (param_1 == 0) { + return (void *)0x0; + } + if ((param_1 < 0x555555555555556) && + (pvVar1 = operator_new(param_1 * 0x30), pvVar1 != (void *)0x0)) { + return pvVar1; + } + local_res8[0] = (char *)0x0; + std::exception::exception((exception *)local_28,local_res8); + local_28[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_28,(ThrowInfo *)&DAT_140151ad0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e940.c b/decomp/Agent_Release_x64/full/functions/0x14000e940.c new file mode 100644 index 00000000..260886e9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e940.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e940 FUN_14000e940 + * Pseudocode, not original source. */ + +void * FUN_14000e940(ulonglong param_1) + +{ + void *pvVar1; + char *local_res8 [4]; + undefined **local_28 [5]; + + if (param_1 == 0) { + return (void *)0x0; + } + if ((param_1 < 0x19999999999999a) && + (pvVar1 = operator_new(param_1 * 0xa0), pvVar1 != (void *)0x0)) { + return pvVar1; + } + local_res8[0] = (char *)0x0; + std::exception::exception((exception *)local_28,local_res8); + local_28[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_28,(ThrowInfo *)&DAT_140151ad0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000e9b0.c b/decomp/Agent_Release_x64/full/functions/0x14000e9b0.c new file mode 100644 index 00000000..98149363 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000e9b0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000e9b0 FUN_14000e9b0 + * Pseudocode, not original source. */ + +undefined1 * FUN_14000e9b0(undefined1 *param_1,undefined1 *param_2,undefined1 *param_3) + +{ + for (; param_1 != param_2; param_1 = param_1 + 0x30) { + if (param_3 != (undefined1 *)0x0) { + *param_3 = *param_1; + *(undefined8 *)(param_3 + 0x20) = 7; + *(undefined8 *)(param_3 + 0x18) = 0; + *(undefined2 *)(param_3 + 8) = 0; + FUN_140001600((longlong *)(param_3 + 8),(longlong *)(param_1 + 8),0,0xffffffffffffffff); + } + param_3 = param_3 + 0x30; + } + return param_3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ea50.c b/decomp/Agent_Release_x64/full/functions/0x14000ea50.c new file mode 100644 index 00000000..14d8fed3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ea50.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ea50 FUN_14000ea50 + * Pseudocode, not original source. */ + +undefined4 * FUN_14000ea50(undefined4 *param_1,undefined4 *param_2,undefined4 *param_3) + +{ + for (; param_1 != param_2; param_1 = param_1 + 0x28) { + if (param_3 != (undefined4 *)0x0) { + FUN_140004ea0(param_3,param_1); + } + param_3 = param_3 + 0x28; + } + return param_3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ead0.c b/decomp/Agent_Release_x64/full/functions/0x14000ead0.c new file mode 100644 index 00000000..7ff4c7fe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ead0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ead0 FUN_14000ead0 + * Pseudocode, not original source. */ + +void FUN_14000ead0(longlong param_1) + +{ + if (7 < *(ulonglong *)(param_1 + 0x20)) { + operator_delete(*(void **)(param_1 + 8)); + } + *(undefined8 *)(param_1 + 0x20) = 7; + *(undefined8 *)(param_1 + 0x18) = 0; + *(undefined2 *)(param_1 + 8) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000eb10.c b/decomp/Agent_Release_x64/full/functions/0x14000eb10.c new file mode 100644 index 00000000..b885ee0f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000eb10.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000eb10 FUN_14000eb10 + * Pseudocode, not original source. */ + +undefined8 * FUN_14000eb10(undefined8 *param_1,uint param_2) + +{ + FUN_1400de720(param_1); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000eb40.c b/decomp/Agent_Release_x64/full/functions/0x14000eb40.c new file mode 100644 index 00000000..6c623ddc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000eb40.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000eb40 FUN_14000eb40 + * Pseudocode, not original source. */ + +void FUN_14000eb40(undefined8 *param_1) + +{ + DAT_1401626e8 = 0; + *param_1 = MBISingleton::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000eb60.c b/decomp/Agent_Release_x64/full/functions/0x14000eb60.c new file mode 100644 index 00000000..90de6a29 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000eb60.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000eb60 FUN_14000eb60 + * Pseudocode, not original source. */ + +void FUN_14000eb60(void) + +{ + /* WARNING: Could not recover jumptable at 0x00014000eb67. Too many branches */ + /* WARNING: Treating indirect jump as call */ + LeaveCriticalSection(DAT_140162d80); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000eb70.c b/decomp/Agent_Release_x64/full/functions/0x14000eb70.c new file mode 100644 index 00000000..05aeda26 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000eb70.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000eb70 FUN_14000eb70 + * Pseudocode, not original source. */ + +undefined8 * FUN_14000eb70(undefined8 *param_1,byte param_2) + +{ + DAT_1401626e8 = 0; + *param_1 = MBISingleton::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ebb0.c b/decomp/Agent_Release_x64/full/functions/0x14000ebb0.c new file mode 100644 index 00000000..e966b1ed --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ebb0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ebb0 FUN_14000ebb0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14000ebb0(undefined8 *param_1,uint param_2) + +{ + LPCRITICAL_SECTION lpCriticalSection; + + lpCriticalSection = DAT_140162d80; + *param_1 = MBMultiThreadSync::vftable; + if (lpCriticalSection != (LPCRITICAL_SECTION)0x0) { + DeleteCriticalSection(lpCriticalSection); + operator_delete(lpCriticalSection); + } + DAT_140162d80 = (LPCRITICAL_SECTION)0x0; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ec20.c b/decomp/Agent_Release_x64/full/functions/0x14000ec20.c new file mode 100644 index 00000000..2e156717 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ec20.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ec20 FUN_14000ec20 + * Pseudocode, not original source. */ + +void FUN_14000ec20(wchar_t *param_1,size_t param_2,wchar_t *param_3,undefined8 param_4) + +{ + undefined8 local_res20; + + local_res20 = param_4; + _vsnwprintf_s(param_1,0x20,param_2,param_3,(va_list)&local_res20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ec50.c b/decomp/Agent_Release_x64/full/functions/0x14000ec50.c new file mode 100644 index 00000000..326facd2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ec50.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ec50 FUN_14000ec50 + * Pseudocode, not original source. */ + +void FUN_14000ec50(wchar_t *param_1,size_t param_2,wchar_t *param_3,undefined8 param_4) + +{ + undefined8 local_res20; + + local_res20 = param_4; + _vsnwprintf_s(param_1,0x104,param_2,param_3,(va_list)&local_res20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ec80.c b/decomp/Agent_Release_x64/full/functions/0x14000ec80.c new file mode 100644 index 00000000..61361c76 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ec80.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ec80 FUN_14000ec80 + * Pseudocode, not original source. */ + +void FUN_14000ec80(char *param_1,size_t param_2,char *param_3,undefined8 param_4) + +{ + undefined8 local_res20; + + local_res20 = param_4; + _vsnprintf_s(param_1,0x104,param_2,param_3,(va_list)&local_res20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ecb0.c b/decomp/Agent_Release_x64/full/functions/0x14000ecb0.c new file mode 100644 index 00000000..7931ca0d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ecb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ecb0 FUN_14000ecb0 + * Pseudocode, not original source. */ + +void FUN_14000ecb0(longlong param_1,uint param_2) + +{ + FUN_14000eb10((undefined8 *)(param_1 + -8),param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ecc0.c b/decomp/Agent_Release_x64/full/functions/0x14000ecc0.c new file mode 100644 index 00000000..8393a1ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ecc0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ecc0 FUN_14000ecc0 + * Pseudocode, not original source. */ + +void FUN_14000ecc0(undefined8 *param_1) + +{ + if ((undefined8 *)*param_1 != &DAT_140162cd0) { + operator_delete__((void *)param_1[1]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ece0.c b/decomp/Agent_Release_x64/full/functions/0x14000ece0.c new file mode 100644 index 00000000..a3a1e053 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ece0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ece0 FUN_14000ece0 + * Pseudocode, not original source. */ + +undefined8 FUN_14000ece0(void) + +{ + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ecf0.c b/decomp/Agent_Release_x64/full/functions/0x14000ecf0.c new file mode 100644 index 00000000..f30fbc41 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ecf0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ecf0 FUN_14000ecf0 + * Pseudocode, not original source. */ + +void FUN_14000ecf0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = TiXmlDocument::vftable; + if ((undefined8 *)param_1[0xc] != &DAT_140162cd0) { + operator_delete__((void *)param_1[0xd]); + } + FUN_1400118d0(param_1,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ed30.c b/decomp/Agent_Release_x64/full/functions/0x14000ed30.c new file mode 100644 index 00000000..3f93b28d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ed30.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ed30 FUN_14000ed30 + * Pseudocode, not original source. */ + +undefined8 * +FUN_14000ed30(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + + *param_1 = TiXmlDocument::vftable; + uVar1 = param_2; + if ((undefined8 *)param_1[0xc] != &DAT_140162cd0) { + operator_delete__((void *)param_1[0xd]); + } + FUN_1400118d0(param_1,uVar1,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ed90.c b/decomp/Agent_Release_x64/full/functions/0x14000ed90.c new file mode 100644 index 00000000..3470a79d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ed90.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ed90 FUN_14000ed90 + * Pseudocode, not original source. */ + +undefined1 * FUN_14000ed90(undefined1 *param_1) + +{ + *(undefined8 *)(param_1 + 0x18) = 0xf; + *(undefined8 *)(param_1 + 0x10) = 0; + *param_1 = 0; + *(undefined8 *)(param_1 + 0x40) = 0xf; + *(undefined8 *)(param_1 + 0x38) = 0; + param_1[0x28] = 0; + *(undefined8 *)(param_1 + 0x68) = 0xf; + *(undefined8 *)(param_1 + 0x60) = 0; + param_1[0x50] = 0; + *(undefined8 *)(param_1 + 0x90) = 0xf; + *(undefined8 *)(param_1 + 0x88) = 0; + param_1[0x78] = 0; + *(undefined8 *)(param_1 + 0xb8) = 0xf; + *(undefined8 *)(param_1 + 0xb0) = 0; + param_1[0xa0] = 0; + *(undefined8 *)(param_1 + 0xe0) = 0xf; + *(undefined8 *)(param_1 + 0xd8) = 0; + param_1[200] = 0; + *(undefined8 *)(param_1 + 0x108) = 0xf; + *(undefined8 *)(param_1 + 0x100) = 0; + param_1[0xf0] = 0; + *(undefined8 *)(param_1 + 0x130) = 0xf; + *(undefined8 *)(param_1 + 0x128) = 0; + param_1[0x118] = 0; + *(undefined8 *)(param_1 + 0x158) = 0xf; + *(undefined8 *)(param_1 + 0x150) = 0; + param_1[0x140] = 0; + *(undefined8 *)(param_1 + 0x168) = 0; + *(undefined2 *)(param_1 + 0x170) = 0; + param_1[0x172] = 0; + *(undefined8 *)(param_1 + 0x174) = 100; + *(undefined8 *)(param_1 + 0x198) = 0xf; + *(undefined8 *)(param_1 + 400) = 0; + param_1[0x180] = 0; + FUN_14000b810((ulonglong *)(param_1 + 0x180),&DAT_14011d750,3); + *(undefined4 *)(param_1 + 0x1a8) = 1000; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000eec0.c b/decomp/Agent_Release_x64/full/functions/0x14000eec0.c new file mode 100644 index 00000000..8332663f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000eec0.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000eec0 FUN_14000eec0 + * Pseudocode, not original source. */ + +void FUN_14000eec0(undefined8 *param_1) + +{ + if (0xf < (ulonglong)param_1[0x33]) { + operator_delete((void *)param_1[0x30]); + } + param_1[0x33] = 0xf; + param_1[0x32] = 0; + *(undefined1 *)(param_1 + 0x30) = 0; + if (0xf < (ulonglong)param_1[0x2b]) { + operator_delete((void *)param_1[0x28]); + } + param_1[0x2b] = 0xf; + param_1[0x2a] = 0; + *(undefined1 *)(param_1 + 0x28) = 0; + if (0xf < (ulonglong)param_1[0x26]) { + operator_delete((void *)param_1[0x23]); + } + param_1[0x26] = 0xf; + param_1[0x25] = 0; + *(undefined1 *)(param_1 + 0x23) = 0; + if (0xf < (ulonglong)param_1[0x21]) { + operator_delete((void *)param_1[0x1e]); + } + param_1[0x21] = 0xf; + param_1[0x20] = 0; + *(undefined1 *)(param_1 + 0x1e) = 0; + if (0xf < (ulonglong)param_1[0x1c]) { + operator_delete((void *)param_1[0x19]); + } + param_1[0x1c] = 0xf; + param_1[0x1b] = 0; + *(undefined1 *)(param_1 + 0x19) = 0; + if (0xf < (ulonglong)param_1[0x17]) { + operator_delete((void *)param_1[0x14]); + } + param_1[0x17] = 0xf; + param_1[0x16] = 0; + *(undefined1 *)(param_1 + 0x14) = 0; + if (0xf < (ulonglong)param_1[0x12]) { + operator_delete((void *)param_1[0xf]); + } + param_1[0x12] = 0xf; + param_1[0x11] = 0; + *(undefined1 *)(param_1 + 0xf) = 0; + if (0xf < (ulonglong)param_1[0xd]) { + operator_delete((void *)param_1[10]); + } + param_1[0xd] = 0xf; + param_1[0xc] = 0; + *(undefined1 *)(param_1 + 10) = 0; + if (0xf < (ulonglong)param_1[8]) { + operator_delete((void *)param_1[5]); + } + param_1[8] = 0xf; + param_1[7] = 0; + *(undefined1 *)(param_1 + 5) = 0; + if (0xf < (ulonglong)param_1[3]) { + operator_delete((void *)*param_1); + } + param_1[3] = 0xf; + param_1[2] = 0; + *(undefined1 *)param_1 = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000f090.c b/decomp/Agent_Release_x64/full/functions/0x14000f090.c new file mode 100644 index 00000000..92673c6f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000f090.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000f090 FUN_14000f090 + * Pseudocode, not original source. */ + +longlong * FUN_14000f090(longlong *param_1,longlong *param_2) + +{ + FUN_14000b540(param_1,param_2,0,0xffffffffffffffff); + FUN_14000b540(param_1 + 5,param_2 + 5,0,0xffffffffffffffff); + FUN_14000b540(param_1 + 10,param_2 + 10,0,0xffffffffffffffff); + FUN_14000b540(param_1 + 0xf,param_2 + 0xf,0,0xffffffffffffffff); + FUN_14000b540(param_1 + 0x14,param_2 + 0x14,0,0xffffffffffffffff); + FUN_14000b540(param_1 + 0x19,param_2 + 0x19,0,0xffffffffffffffff); + FUN_14000b540(param_1 + 0x1e,param_2 + 0x1e,0,0xffffffffffffffff); + FUN_14000b540(param_1 + 0x23,param_2 + 0x23,0,0xffffffffffffffff); + FUN_14000b540(param_1 + 0x28,param_2 + 0x28,0,0xffffffffffffffff); + *(int *)(param_1 + 0x2d) = (int)param_2[0x2d]; + *(undefined1 *)((longlong)param_1 + 0x16c) = *(undefined1 *)((longlong)param_2 + 0x16c); + *(undefined1 *)((longlong)param_1 + 0x16d) = *(undefined1 *)((longlong)param_2 + 0x16d); + *(undefined1 *)((longlong)param_1 + 0x16e) = *(undefined1 *)((longlong)param_2 + 0x16e); + *(undefined1 *)((longlong)param_1 + 0x16f) = *(undefined1 *)((longlong)param_2 + 0x16f); + *(char *)(param_1 + 0x2e) = (char)param_2[0x2e]; + *(undefined1 *)((longlong)param_1 + 0x171) = *(undefined1 *)((longlong)param_2 + 0x171); + *(undefined1 *)((longlong)param_1 + 0x172) = *(undefined1 *)((longlong)param_2 + 0x172); + *(undefined4 *)((longlong)param_1 + 0x174) = *(undefined4 *)((longlong)param_2 + 0x174); + *(int *)(param_1 + 0x2f) = (int)param_2[0x2f]; + FUN_14000b540(param_1 + 0x30,param_2 + 0x30,0,0xffffffffffffffff); + *(int *)(param_1 + 0x35) = (int)param_2[0x35]; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000f230.c b/decomp/Agent_Release_x64/full/functions/0x14000f230.c new file mode 100644 index 00000000..88a74844 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000f230.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000f230 FUN_14000f230 + * Pseudocode, not original source. */ + +void FUN_14000f230(longlong *param_1) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + + puVar2 = (undefined8 *)*param_1; + if (puVar2 != (undefined8 *)0x0) { + puVar1 = (undefined8 *)param_1[1]; + for (; puVar2 != puVar1; puVar2 = puVar2 + 0x36) { + FUN_14000eec0(puVar2); + } + operator_delete((void *)*param_1); + } + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000f290.c b/decomp/Agent_Release_x64/full/functions/0x14000f290.c new file mode 100644 index 00000000..959809a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000f290.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000f290 FUN_14000f290 + * Pseudocode, not original source. */ + +void FUN_14000f290(ulonglong *param_1,longlong *param_2) + +{ + longlong *plVar1; + longlong lVar2; + + plVar1 = (longlong *)param_1[1]; + if ((param_2 < plVar1) && ((longlong *)*param_1 <= param_2)) { + lVar2 = (longlong)param_2 - (longlong)*param_1; + lVar2 = lVar2 / 0x36 + (lVar2 >> 0x3f); + if (plVar1 == (longlong *)param_1[2]) { + FUN_14000f350((longlong *)param_1); + } + if ((longlong *)param_1[1] != (longlong *)0x0) { + FUN_14000f580((longlong *)param_1[1], + (longlong *)(((lVar2 >> 3) - (lVar2 >> 0x3f)) * 0x1b0 + *param_1)); + } + } + else { + if (plVar1 == (longlong *)param_1[2]) { + FUN_14000f350((longlong *)param_1); + } + if ((longlong *)param_1[1] != (longlong *)0x0) { + FUN_14000f580((longlong *)param_1[1],param_2); + } + } + param_1[1] = param_1[1] + 0x1b0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000f350.c b/decomp/Agent_Release_x64/full/functions/0x14000f350.c new file mode 100644 index 00000000..5da53c49 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000f350.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000f350 FUN_14000f350 + * Pseudocode, not original source. */ + +void FUN_14000f350(longlong *param_1) + +{ + code *pcVar1; + longlong lVar2; + ulonglong uVar3; + ulonglong uVar4; + + lVar2 = param_1[1] - *param_1; + lVar2 = lVar2 / 0x36 + (lVar2 >> 0x3f); + uVar4 = (lVar2 >> 3) - (lVar2 >> 0x3f); + if (0x97b425ed097b41 < uVar4) { + std::_Xlength_error("vector too long"); + pcVar1 = (code *)swi(3); + (*pcVar1)(); + return; + } + uVar4 = uVar4 + 1; + uVar3 = (param_1[2] - *param_1) / 0x1b0; + if (uVar3 < uVar4) { + if (0x97b425ed097b42 - (uVar3 >> 1) < uVar3) { + uVar3 = 0; + if (uVar4 != 0) { + uVar3 = uVar4; + } + FUN_14000f410(param_1,uVar3); + return; + } + uVar3 = uVar3 + (uVar3 >> 1); + if (uVar3 < uVar4) { + uVar3 = uVar4; + } + FUN_14000f410(param_1,uVar3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000f410.c b/decomp/Agent_Release_x64/full/functions/0x14000f410.c new file mode 100644 index 00000000..a459683c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000f410.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000f410 FUN_14000f410 + * Pseudocode, not original source. */ + +void FUN_14000f410(longlong *param_1,ulonglong param_2) + +{ + undefined8 *puVar1; + code *pcVar2; + longlong *plVar3; + longlong lVar4; + undefined8 *puVar5; + longlong *local_res10; + undefined **local_30 [3]; + + if (0x97b425ed097b42 < param_2) { + std::_Xlength_error("vector too long"); + pcVar2 = (code *)swi(3); + (*pcVar2)(); + return; + } + if ((ulonglong)((param_1[2] - *param_1) / 0x1b0) < param_2) { + local_res10 = (longlong *)0x0; + if ((param_2 != 0) && + (local_res10 = operator_new(param_2 * 0x1b0), local_res10 == (longlong *)0x0)) { + std::exception::exception((exception *)local_30,(char **)&local_res10); + local_30[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_30,(ThrowInfo *)&DAT_140151ad0); + } + plVar3 = local_res10; + FUN_14000f7d0((longlong *)*param_1,(longlong *)param_1[1],local_res10); + puVar1 = (undefined8 *)param_1[1]; + puVar5 = (undefined8 *)*param_1; + lVar4 = (longlong)puVar1 - (longlong)puVar5; + lVar4 = lVar4 / 0x36 + (lVar4 >> 0x3f); + if (puVar5 != (undefined8 *)0x0) { + for (; puVar5 != puVar1; puVar5 = puVar5 + 0x36) { + FUN_14000eec0(puVar5); + } + operator_delete((void *)*param_1); + } + param_1[2] = (longlong)(plVar3 + param_2 * 0x36); + param_1[1] = (longlong)(plVar3 + ((lVar4 >> 3) - (lVar4 >> 0x3f)) * 0x36); + *param_1 = (longlong)plVar3; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000f580.c b/decomp/Agent_Release_x64/full/functions/0x14000f580.c new file mode 100644 index 00000000..f42c8fec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000f580.c @@ -0,0 +1,61 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000f580 FUN_14000f580 + * Pseudocode, not original source. */ + +longlong * FUN_14000f580(longlong *param_1,longlong *param_2) + +{ + param_1[3] = 0xf; + param_1[2] = 0; + *(undefined1 *)param_1 = 0; + FUN_14000b540(param_1,param_2,0,0xffffffffffffffff); + param_1[8] = 0xf; + param_1[7] = 0; + *(undefined1 *)(param_1 + 5) = 0; + FUN_14000b540(param_1 + 5,param_2 + 5,0,0xffffffffffffffff); + param_1[0xd] = 0xf; + param_1[0xc] = 0; + *(undefined1 *)(param_1 + 10) = 0; + FUN_14000b540(param_1 + 10,param_2 + 10,0,0xffffffffffffffff); + param_1[0x12] = 0xf; + param_1[0x11] = 0; + *(undefined1 *)(param_1 + 0xf) = 0; + FUN_14000b540(param_1 + 0xf,param_2 + 0xf,0,0xffffffffffffffff); + param_1[0x17] = 0xf; + param_1[0x16] = 0; + *(undefined1 *)(param_1 + 0x14) = 0; + FUN_14000b540(param_1 + 0x14,param_2 + 0x14,0,0xffffffffffffffff); + param_1[0x1c] = 0xf; + param_1[0x1b] = 0; + *(undefined1 *)(param_1 + 0x19) = 0; + FUN_14000b540(param_1 + 0x19,param_2 + 0x19,0,0xffffffffffffffff); + param_1[0x21] = 0xf; + param_1[0x20] = 0; + *(undefined1 *)(param_1 + 0x1e) = 0; + FUN_14000b540(param_1 + 0x1e,param_2 + 0x1e,0,0xffffffffffffffff); + param_1[0x26] = 0xf; + param_1[0x25] = 0; + *(undefined1 *)(param_1 + 0x23) = 0; + FUN_14000b540(param_1 + 0x23,param_2 + 0x23,0,0xffffffffffffffff); + param_1[0x2b] = 0xf; + param_1[0x2a] = 0; + *(undefined1 *)(param_1 + 0x28) = 0; + FUN_14000b540(param_1 + 0x28,param_2 + 0x28,0,0xffffffffffffffff); + *(int *)(param_1 + 0x2d) = (int)param_2[0x2d]; + *(undefined1 *)((longlong)param_1 + 0x16c) = *(undefined1 *)((longlong)param_2 + 0x16c); + *(undefined1 *)((longlong)param_1 + 0x16d) = *(undefined1 *)((longlong)param_2 + 0x16d); + *(undefined1 *)((longlong)param_1 + 0x16e) = *(undefined1 *)((longlong)param_2 + 0x16e); + *(undefined1 *)((longlong)param_1 + 0x16f) = *(undefined1 *)((longlong)param_2 + 0x16f); + *(char *)(param_1 + 0x2e) = (char)param_2[0x2e]; + *(undefined1 *)((longlong)param_1 + 0x171) = *(undefined1 *)((longlong)param_2 + 0x171); + *(undefined1 *)((longlong)param_1 + 0x172) = *(undefined1 *)((longlong)param_2 + 0x172); + *(undefined4 *)((longlong)param_1 + 0x174) = *(undefined4 *)((longlong)param_2 + 0x174); + *(int *)(param_1 + 0x2f) = (int)param_2[0x2f]; + param_1[0x33] = 0xf; + param_1[0x32] = 0; + *(undefined1 *)(param_1 + 0x30) = 0; + FUN_14000b540(param_1 + 0x30,param_2 + 0x30,0,0xffffffffffffffff); + *(int *)(param_1 + 0x35) = (int)param_2[0x35]; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000f7d0.c b/decomp/Agent_Release_x64/full/functions/0x14000f7d0.c new file mode 100644 index 00000000..1aaa9831 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000f7d0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000f7d0 FUN_14000f7d0 + * Pseudocode, not original source. */ + +longlong * FUN_14000f7d0(longlong *param_1,longlong *param_2,longlong *param_3) + +{ + for (; param_1 != param_2; param_1 = param_1 + 0x36) { + if (param_3 != (longlong *)0x0) { + FUN_14000f580(param_3,param_1); + } + param_3 = param_3 + 0x36; + } + return param_3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000f830.c b/decomp/Agent_Release_x64/full/functions/0x14000f830.c new file mode 100644 index 00000000..e6c28793 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000f830.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000f830 FUN_14000f830 + * Pseudocode, not original source. */ + +undefined * FUN_14000f830(void) + +{ + void *pvVar1; + char *local_res8 [4]; + undefined **local_28 [5]; + + DAT_140162d00 = 0; + pvVar1 = operator_new(0x30); + if (pvVar1 != (void *)0x0) { + DAT_140162cf8 = pvVar1; + *(void **)pvVar1 = pvVar1; + *(void **)((longlong)DAT_140162cf8 + 8) = DAT_140162cf8; + *(void **)((longlong)DAT_140162cf8 + 0x10) = DAT_140162cf8; + *(undefined1 *)((longlong)DAT_140162cf8 + 0x28) = 1; + *(undefined1 *)((longlong)DAT_140162cf8 + 0x29) = 1; + return &DAT_140162cf0; + } + local_res8[0] = (char *)0x0; + std::exception::exception((exception *)local_28,local_res8); + local_28[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_28,(ThrowInfo *)&DAT_140151ad0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000f8d0.c b/decomp/Agent_Release_x64/full/functions/0x14000f8d0.c new file mode 100644 index 00000000..2d297876 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000f8d0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000f8d0 FUN_14000f8d0 + * Pseudocode, not original source. */ + +void FUN_14000f8d0(void) + +{ + /* WARNING: Could not recover jumptable at 0x00014000f8d7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(DAT_140162cf8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000f8e0.c b/decomp/Agent_Release_x64/full/functions/0x14000f8e0.c new file mode 100644 index 00000000..778a10c0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000f8e0.c @@ -0,0 +1,61 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000f8e0 FUN_14000f8e0 + * Pseudocode, not original source. */ + +ulonglong * FUN_14000f8e0(ulonglong *param_1,void *param_2,ulonglong param_3) + +{ + ulonglong uVar1; + code *pcVar2; + char cVar3; + ulonglong *puVar4; + + if (param_2 != (void *)0x0) { + uVar1 = param_1[3]; + puVar4 = param_1; + if (0xf < uVar1) { + puVar4 = (ulonglong *)*param_1; + } + if (puVar4 <= param_2) { + puVar4 = param_1; + if (0xf < uVar1) { + puVar4 = (ulonglong *)*param_1; + } + if (param_2 < (void *)((longlong)puVar4 + param_1[2])) { + puVar4 = param_1; + if (0xf < uVar1) { + puVar4 = (ulonglong *)*param_1; + } + puVar4 = (ulonglong *) + FUN_14000faa0((longlong *)param_1,param_1,(longlong)param_2 - (longlong)puVar4, + param_3); + return puVar4; + } + } + } + if (param_3 < -param_1[2] - 1) { + if (param_3 != 0) { + uVar1 = param_1[2] + param_3; + cVar3 = FUN_14000b7a0(param_1,uVar1); + if (cVar3 != '\0') { + puVar4 = param_1; + if (0xf < param_1[3]) { + puVar4 = (ulonglong *)*param_1; + } + memcpy((void *)((longlong)puVar4 + param_1[2]),param_2,param_3); + param_1[2] = uVar1; + puVar4 = param_1; + if (0xf < param_1[3]) { + puVar4 = (ulonglong *)*param_1; + } + *(undefined1 *)((longlong)puVar4 + uVar1) = 0; + } + } + return param_1; + } + std::_Xlength_error("string too long"); + pcVar2 = (code *)swi(3); + puVar4 = (ulonglong *)(*pcVar2)(); + return puVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000f9e0.c b/decomp/Agent_Release_x64/full/functions/0x14000f9e0.c new file mode 100644 index 00000000..ed88ef89 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000f9e0.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000f9e0 FUN_14000f9e0 + * Pseudocode, not original source. */ + +longlong * FUN_14000f9e0(longlong *param_1,longlong *param_2,longlong *param_3) + +{ + char cVar1; + longlong *plVar2; + longlong *plVar3; + longlong *local_res10; + undefined8 local_res20; + + if ((param_2 == (longlong *)*DAT_140162cf8) && (param_3 == DAT_140162cf8)) { + FUN_14000fed0(); + *param_1 = *DAT_140162cf8; + return param_1; + } + while (param_2 != param_3) { + local_res10 = param_2; + if (*(char *)((longlong)param_2 + 0x29) == '\0') { + local_res10 = (longlong *)param_2[2]; + if (*(char *)((longlong)local_res10 + 0x29) == '\0') { + cVar1 = *(char *)(*local_res10 + 0x29); + plVar2 = (longlong *)*local_res10; + while (cVar1 == '\0') { + cVar1 = *(char *)(*plVar2 + 0x29); + local_res10 = plVar2; + plVar2 = (longlong *)*plVar2; + } + } + else { + cVar1 = *(char *)(param_2[1] + 0x29); + plVar3 = (longlong *)param_2[1]; + plVar2 = param_2; + while ((local_res10 = plVar3, cVar1 == '\0' && (plVar2 == (longlong *)local_res10[2]))) { + cVar1 = *(char *)(local_res10[1] + 0x29); + plVar3 = (longlong *)local_res10[1]; + plVar2 = local_res10; + } + } + } + FUN_14000fb80(&local_res20,param_2); + param_2 = local_res10; + } + *param_1 = (longlong)param_2; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000faa0.c b/decomp/Agent_Release_x64/full/functions/0x14000faa0.c new file mode 100644 index 00000000..ebfcaf48 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000faa0.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000faa0 FUN_14000faa0 + * Pseudocode, not original source. */ + +longlong * FUN_14000faa0(longlong *param_1,undefined8 *param_2,ulonglong param_3,ulonglong param_4) + +{ + code *pcVar1; + char cVar2; + longlong *plVar3; + ulonglong uVar4; + + if ((ulonglong)param_2[2] < param_3) { + std::_Xout_of_range("invalid string position"); + pcVar1 = (code *)swi(3); + plVar3 = (longlong *)(*pcVar1)(); + return plVar3; + } + uVar4 = param_2[2] - param_3; + if (uVar4 < param_4) { + param_4 = uVar4; + } + if (param_4 < -param_1[2] - 1U) { + if (param_4 != 0) { + uVar4 = param_1[2] + param_4; + cVar2 = FUN_14000b7a0(param_1,uVar4); + if (cVar2 != '\0') { + if (0xf < (ulonglong)param_2[3]) { + param_2 = (undefined8 *)*param_2; + } + plVar3 = param_1; + if (0xf < (ulonglong)param_1[3]) { + plVar3 = (longlong *)*param_1; + } + memcpy((void *)((longlong)plVar3 + param_1[2]),(void *)((longlong)param_2 + param_3),param_4 + ); + param_1[2] = uVar4; + plVar3 = param_1; + if (0xf < (ulonglong)param_1[3]) { + plVar3 = (longlong *)*param_1; + } + *(undefined1 *)((longlong)plVar3 + uVar4) = 0; + } + } + return param_1; + } + std::_Xlength_error("string too long"); + pcVar1 = (code *)swi(3); + plVar3 = (longlong *)(*pcVar1)(); + return plVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000fb80.c b/decomp/Agent_Release_x64/full/functions/0x14000fb80.c new file mode 100644 index 00000000..505d1716 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000fb80.c @@ -0,0 +1,197 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000fb80 FUN_14000fb80 + * Pseudocode, not original source. */ + +undefined8 * FUN_14000fb80(undefined8 *param_1,longlong *param_2) + +{ + char cVar1; + longlong *plVar2; + code *pcVar3; + longlong *plVar4; + longlong lVar5; + undefined8 *puVar6; + longlong *plVar7; + longlong *plVar8; + longlong *plVar9; + longlong *plVar10; + + if (*(char *)((longlong)param_2 + 0x29) != '\0') { + std::_Xout_of_range("invalid map/set iterator"); + pcVar3 = (code *)swi(3); + puVar6 = (undefined8 *)(*pcVar3)(); + return puVar6; + } + plVar10 = (longlong *)param_2[2]; + plVar7 = param_2 + 2; + if (*(char *)((longlong)plVar10 + 0x29) == '\0') { + cVar1 = *(char *)(*plVar10 + 0x29); + plVar8 = (longlong *)*plVar10; + while (cVar1 == '\0') { + cVar1 = *(char *)(*plVar8 + 0x29); + plVar10 = plVar8; + plVar8 = (longlong *)*plVar8; + } + } + else { + cVar1 = *(char *)(param_2[1] + 0x29); + plVar9 = (longlong *)param_2[1]; + plVar8 = param_2; + while ((plVar10 = plVar9, cVar1 == '\0' && (plVar8 == (longlong *)plVar10[2]))) { + cVar1 = *(char *)(plVar10[1] + 0x29); + plVar9 = (longlong *)plVar10[1]; + plVar8 = plVar10; + } + } + plVar8 = (longlong *)*param_2; + if (*(char *)((longlong)plVar8 + 0x29) == '\0') { + plVar9 = plVar8; + if ((*(char *)(*plVar7 + 0x29) == '\0') && (plVar9 = (longlong *)plVar10[2], plVar10 != param_2) + ) { + plVar8[1] = (longlong)plVar10; + *plVar10 = *param_2; + plVar8 = plVar10; + if (plVar10 != (longlong *)*plVar7) { + plVar8 = (longlong *)plVar10[1]; + if (*(char *)((longlong)plVar9 + 0x29) == '\0') { + plVar9[1] = (longlong)plVar8; + } + *plVar8 = (longlong)plVar9; + plVar10[2] = *plVar7; + *(longlong **)(*plVar7 + 8) = plVar10; + } + if ((longlong *)DAT_140162cf8[1] == param_2) { + DAT_140162cf8[1] = (longlong)plVar10; + } + else { + plVar7 = (longlong *)param_2[1]; + if ((longlong *)*plVar7 == param_2) { + *plVar7 = (longlong)plVar10; + } + else { + plVar7[2] = (longlong)plVar10; + } + } + plVar10[1] = param_2[1]; + lVar5 = plVar10[5]; + *(char *)(plVar10 + 5) = (char)param_2[5]; + *(char *)(param_2 + 5) = (char)lVar5; + goto LAB_14000fd53; + } + } + else { + plVar9 = (longlong *)*plVar7; + } + plVar8 = (longlong *)param_2[1]; + if (*(char *)((longlong)plVar9 + 0x29) == '\0') { + plVar9[1] = (longlong)plVar8; + } + if ((longlong *)DAT_140162cf8[1] == param_2) { + DAT_140162cf8[1] = (longlong)plVar9; + } + else if ((longlong *)*plVar8 == param_2) { + *plVar8 = (longlong)plVar9; + } + else { + plVar8[2] = (longlong)plVar9; + } + if ((longlong *)*DAT_140162cf8 == param_2) { + plVar7 = plVar8; + if (*(char *)((longlong)plVar9 + 0x29) == '\0') { + cVar1 = *(char *)(*plVar9 + 0x29); + plVar2 = (longlong *)*plVar9; + plVar7 = plVar9; + while (plVar4 = plVar2, cVar1 == '\0') { + plVar2 = (longlong *)*plVar4; + cVar1 = *(char *)((longlong)plVar2 + 0x29); + plVar7 = plVar4; + } + } + *DAT_140162cf8 = (longlong)plVar7; + } + if ((longlong *)DAT_140162cf8[2] == param_2) { + if (*(char *)((longlong)plVar9 + 0x29) == '\0') { + cVar1 = *(char *)(plVar9[2] + 0x29); + plVar7 = (longlong *)plVar9[2]; + plVar2 = plVar9; + while (plVar4 = plVar7, cVar1 == '\0') { + plVar7 = (longlong *)plVar4[2]; + cVar1 = *(char *)((longlong)plVar7 + 0x29); + plVar2 = plVar4; + } + DAT_140162cf8[2] = (longlong)plVar2; + } + else { + DAT_140162cf8[2] = (longlong)plVar8; + } + } +LAB_14000fd53: + if ((char)param_2[5] == '\x01') { + if (plVar9 != (longlong *)DAT_140162cf8[1]) { + do { + plVar7 = plVar8; + if ((char)plVar9[5] != '\x01') break; + plVar8 = (longlong *)*plVar7; + if (plVar9 == plVar8) { + plVar8 = (longlong *)plVar7[2]; + if ((char)plVar8[5] == '\0') { + *(undefined1 *)(plVar8 + 5) = 1; + *(undefined1 *)(plVar7 + 5) = 0; + FUN_14000ffb0((longlong)plVar7); + plVar8 = (longlong *)plVar7[2]; + } + if (*(char *)((longlong)plVar8 + 0x29) == '\0') { + if ((*(char *)(*plVar8 + 0x28) != '\x01') || (*(char *)(plVar8[2] + 0x28) != '\x01')) { + if (*(char *)(plVar8[2] + 0x28) == '\x01') { + *(undefined1 *)(*plVar8 + 0x28) = 1; + *(undefined1 *)(plVar8 + 5) = 0; + FUN_140010010(plVar8); + plVar8 = (longlong *)plVar7[2]; + } + *(char *)(plVar8 + 5) = (char)plVar7[5]; + *(undefined1 *)(plVar7 + 5) = 1; + *(undefined1 *)(plVar8[2] + 0x28) = 1; + FUN_14000ffb0((longlong)plVar7); + break; + } +LAB_14000fe2d: + *(undefined1 *)(plVar8 + 5) = 0; + } + } + else { + if ((char)plVar8[5] == '\0') { + *(undefined1 *)(plVar8 + 5) = 1; + *(undefined1 *)(plVar7 + 5) = 0; + FUN_140010010(plVar7); + plVar8 = (longlong *)*plVar7; + } + if (*(char *)((longlong)plVar8 + 0x29) == '\0') { + if ((*(char *)(plVar8[2] + 0x28) == '\x01') && (*(char *)(*plVar8 + 0x28) == '\x01')) + goto LAB_14000fe2d; + if (*(char *)(*plVar8 + 0x28) == '\x01') { + *(undefined1 *)(plVar8[2] + 0x28) = 1; + *(undefined1 *)(plVar8 + 5) = 0; + FUN_14000ffb0((longlong)plVar8); + plVar8 = (longlong *)*plVar7; + } + *(char *)(plVar8 + 5) = (char)plVar7[5]; + *(undefined1 *)(plVar7 + 5) = 1; + *(undefined1 *)(*plVar8 + 0x28) = 1; + FUN_140010010(plVar7); + break; + } + } + plVar8 = (longlong *)plVar7[1]; + plVar9 = plVar7; + } while (plVar7 != (longlong *)DAT_140162cf8[1]); + } + *(undefined1 *)(plVar9 + 5) = 1; + } + operator_delete(param_2); + if (DAT_140162d00 != 0) { + DAT_140162d00 = DAT_140162d00 + -1; + } + *param_1 = plVar10; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000fed0.c b/decomp/Agent_Release_x64/full/functions/0x14000fed0.c new file mode 100644 index 00000000..bae9c1cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000fed0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000fed0 FUN_14000fed0 + * Pseudocode, not original source. */ + +void FUN_14000fed0(void) + +{ + char cVar1; + longlong *plVar2; + longlong *plVar3; + + cVar1 = *(char *)((longlong)*(longlong **)(DAT_140162cf8 + 8) + 0x29); + plVar3 = *(longlong **)(DAT_140162cf8 + 8); + while (cVar1 == '\0') { + FUN_14000ff50(&DAT_140162cf0,(longlong *)plVar3[2]); + plVar2 = (longlong *)*plVar3; + operator_delete(plVar3); + plVar3 = plVar2; + cVar1 = *(char *)((longlong)plVar2 + 0x29); + } + *(longlong *)(DAT_140162cf8 + 8) = DAT_140162cf8; + *(longlong *)DAT_140162cf8 = DAT_140162cf8; + *(longlong *)(DAT_140162cf8 + 0x10) = DAT_140162cf8; + DAT_140162d00 = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ff50.c b/decomp/Agent_Release_x64/full/functions/0x14000ff50.c new file mode 100644 index 00000000..8e300bc6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ff50.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ff50 FUN_14000ff50 + * Pseudocode, not original source. */ + +void FUN_14000ff50(undefined8 param_1,longlong *param_2) + +{ + char cVar1; + longlong *plVar2; + + cVar1 = *(char *)((longlong)param_2 + 0x29); + while (cVar1 == '\0') { + FUN_14000ff50(param_1,(longlong *)param_2[2]); + plVar2 = (longlong *)*param_2; + operator_delete(param_2); + param_2 = plVar2; + cVar1 = *(char *)((longlong)plVar2 + 0x29); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14000ffb0.c b/decomp/Agent_Release_x64/full/functions/0x14000ffb0.c new file mode 100644 index 00000000..ae62b06e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14000ffb0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14000ffb0 FUN_14000ffb0 + * Pseudocode, not original source. */ + +void FUN_14000ffb0(longlong param_1) + +{ + longlong *plVar1; + longlong *plVar2; + + plVar1 = *(longlong **)(param_1 + 0x10); + *(longlong *)(param_1 + 0x10) = *plVar1; + if (*(char *)(*plVar1 + 0x29) == '\0') { + *(longlong *)(*plVar1 + 8) = param_1; + } + plVar1[1] = *(longlong *)(param_1 + 8); + if (param_1 == *(longlong *)(DAT_140162cf8 + 8)) { + *(longlong **)(DAT_140162cf8 + 8) = plVar1; + *plVar1 = param_1; + *(longlong **)(param_1 + 8) = plVar1; + return; + } + plVar2 = *(longlong **)(param_1 + 8); + if (param_1 == *plVar2) { + *plVar2 = (longlong)plVar1; + *plVar1 = param_1; + *(longlong **)(param_1 + 8) = plVar1; + return; + } + plVar2[2] = (longlong)plVar1; + *plVar1 = param_1; + *(longlong **)(param_1 + 8) = plVar1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140010010.c b/decomp/Agent_Release_x64/full/functions/0x140010010.c new file mode 100644 index 00000000..01027e9c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140010010.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140010010 FUN_140010010 + * Pseudocode, not original source. */ + +void FUN_140010010(longlong *param_1) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *param_1; + *param_1 = *(longlong *)(lVar1 + 0x10); + if (*(char *)(*(longlong *)(lVar1 + 0x10) + 0x29) == '\0') { + *(longlong **)(*(longlong *)(lVar1 + 0x10) + 8) = param_1; + } + *(longlong *)(lVar1 + 8) = param_1[1]; + if (param_1 == *(longlong **)(DAT_140162cf8 + 8)) { + *(longlong *)(DAT_140162cf8 + 8) = lVar1; + *(longlong **)(lVar1 + 0x10) = param_1; + param_1[1] = lVar1; + return; + } + plVar2 = (longlong *)param_1[1]; + if (param_1 == (longlong *)plVar2[2]) { + plVar2[2] = lVar1; + *(longlong **)(lVar1 + 0x10) = param_1; + param_1[1] = lVar1; + return; + } + *plVar2 = lVar1; + *(longlong **)(lVar1 + 0x10) = param_1; + param_1[1] = lVar1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140010070.c b/decomp/Agent_Release_x64/full/functions/0x140010070.c new file mode 100644 index 00000000..e19b5cff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140010070.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140010070 FUN_140010070 + * Pseudocode, not original source. */ + +undefined8 * FUN_140010070(undefined8 *param_1) + +{ + *param_1 = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140010080.c b/decomp/Agent_Release_x64/full/functions/0x140010080.c new file mode 100644 index 00000000..a3f62a9d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140010080.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140010080 FUN_140010080 + * Pseudocode, not original source. */ + +void FUN_140010080(undefined8 *param_1) + +{ + ReleaseMutex((HANDLE)*param_1); + /* WARNING: Could not recover jumptable at 0x00014001009a. Too many branches */ + /* WARNING: Treating indirect jump as call */ + CloseHandle((HANDLE)*param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400100b0.c b/decomp/Agent_Release_x64/full/functions/0x1400100b0.c new file mode 100644 index 00000000..fa0591a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400100b0.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400100b0 FUN_1400100b0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400100b0(undefined8 *param_1) + +{ + DWORD DVar1; + uint extraout_EAX; + HANDLE pvVar2; + wchar_t *_Format; + + pvVar2 = CreateMutexW((LPSECURITY_ATTRIBUTES)0x0,1,L"Global\\RustyHearts_Agent"); + *param_1 = pvVar2; + DVar1 = GetLastError(); + if (DVar1 == 5) { + _Format = L"ERROR_ACCESS_DENIED!!! %s \n"; + } + else { + if (DVar1 != 0xb7) { + return CONCAT31((int3)(DVar1 >> 8),1); + } + _Format = L"ERROR_ALREADY_EXISTS!!! %s \n"; + } + wprintf(_Format); + Sleep(3000); + return extraout_EAX & 0xffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140010120.c b/decomp/Agent_Release_x64/full/functions/0x140010120.c new file mode 100644 index 00000000..ad8e68fc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140010120.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140010120 FUN_140010120 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140010120(void) + +{ + undefined1 auStack_278 [32]; + uint local_258; + uint local_250; + uint local_248; + _SYSTEMTIME local_238; + WCHAR local_228 [264]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_278; + memset(local_228,0,0x208); + local_238.wYear = 0; + local_238.wMonth = 0; + local_238.wDayOfWeek = 0; + local_238.wDay = 0; + local_238.wHour = 0; + local_238.wMinute = 0; + local_238.wSecond = 0; + local_238.wMilliseconds = 0; + GetCurrentDirectoryW(0x104,local_228); + GetLocalTime(&local_238); + local_248 = (uint)local_238.wDay; + local_250 = (uint)local_238.wMonth; + local_258 = (uint)local_238.wYear; + FUN_14000ec50(local_228,0x104,L"%s\\Dump_%d-%d-%d",local_228); + BT_InstallSehFilter(); + BT_SetAppVersion(&DAT_14011e0d4); + BT_SetAppName(L"AGENT"); + BT_SetSupportEMail(L"bug@stairway.co.kr"); + BT_SetFlags(3); + BT_SetSupportServer(L"203.239.161.83",9999); + BT_SetSupportURL(L"http://www.stairway.co.kr"); + BT_SetDumpType(0x1826); + BT_SetActivityType(2); + BT_SetReportFilePath(local_228); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140010240.c b/decomp/Agent_Release_x64/full/functions/0x140010240.c new file mode 100644 index 00000000..069e5a08 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140010240.c @@ -0,0 +1,87 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140010240 FUN_140010240 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_140010240(wchar_t *param_1,wchar_t *param_2,longlong param_3,int param_4) + +{ + undefined8 uVar1; + undefined1 auStack_2e8 [32]; + wchar_t *local_2c8; + longlong local_2c0; + uint local_2b8; + uint local_2b0; + uint local_2a8; + _SYSTEMTIME local_298; + wchar_t local_288 [33]; + undefined1 local_246 [526]; + ulonglong local_38; + + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_2e8; + if (((param_1 == (wchar_t *)0x0) || (param_3 == 0)) || (param_2 == (wchar_t *)0x0)) { + uVar1 = 0; + } + else { + local_288[0x20] = 0; + memset(local_246,0,0x206); + GetLocalTime(&local_298); + local_2b8 = (uint)local_298.wHour; + local_2c0._0_4_ = (uint)local_298.wDay; + local_2c8 = (wchar_t *)CONCAT44(local_2c8._4_4_,(uint)local_298.wMonth); + FUN_14000ec50(local_288 + 0x20,0x104,L"%04d-%02d-%02d_%02d.log",(ulonglong)local_298.wYear); + local_2c8 = local_288 + 0x20; + _snwprintf_s(param_2,0x104,0x104,L"%s"); + if (param_4 == 1) { + local_288[1] = L'\0'; + local_288[2] = L'\0'; + local_288[3] = L'\0'; + local_288[4] = L'\0'; + local_288[5] = L'\0'; + local_288[6] = L'\0'; + local_288[7] = L'\0'; + local_288[8] = L'\0'; + local_288[9] = L'\0'; + local_288[10] = L'\0'; + local_288[0xb] = L'\0'; + local_288[0xc] = L'\0'; + local_288[0xd] = L'\0'; + local_288[0xe] = L'\0'; + local_288[0xf] = L'\0'; + local_288[0x10] = L'\0'; + local_288[0x11] = L'\0'; + local_288[0x12] = L'\0'; + local_288[0x13] = L'\0'; + local_288[0x14] = L'\0'; + local_288[0x15] = L'\0'; + local_288[0x16] = L'\0'; + local_288[0x17] = L'\0'; + local_288[0x18] = L'\0'; + local_288[0x19] = L'\0'; + local_288[0x1a] = L'\0'; + local_288[0x1b] = L'\0'; + local_288[0x1c] = L'\0'; + local_288[0x1d] = L'\0'; + local_288[0x1e] = L'\0'; + local_288[0x1f] = 0; + local_288[0] = L'\0'; + local_2a8 = (uint)local_298.wSecond; + local_2b0 = (uint)local_298.wMinute; + local_2b8 = (uint)local_298.wHour; + local_2c0 = CONCAT44(local_2c0._4_4_,(uint)local_298.wDay); + local_2c8 = (wchar_t *)CONCAT44(local_2c8._4_4_,(uint)local_298.wMonth); + FUN_14000ec20(local_288,0x20,L"%04d-%02d-%02d %02d:%02d:%02d",(ulonglong)local_298.wYear); + local_2c8 = local_288; + local_2c0 = param_3; + _snwprintf_s(param_1,0x100,0x100,L"[%s] %s\n"); + } + else { + local_2c8 = (wchar_t *)param_3; + _snwprintf_s(param_1,0x100,0x100,L"%s\n"); + } + uVar1 = 1; + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140010410.c b/decomp/Agent_Release_x64/full/functions/0x140010410.c new file mode 100644 index 00000000..83cfe5c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140010410.c @@ -0,0 +1,80 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140010410 FUN_140010410 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_140010410(char *param_1,char *param_2,longlong param_3) + +{ + undefined8 uVar1; + undefined1 auStack_1b8 [32]; + char *local_198; + longlong local_190; + uint local_188; + uint local_180; + uint local_178; + _SYSTEMTIME local_168; + char local_158 [304]; + ulonglong local_28; + + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_1b8; + if (((param_1 == (char *)0x0) || (param_3 == 0)) || (param_2 == (char *)0x0)) { + uVar1 = 0; + } + else { + local_158[0x20] = 0; + memset(local_158 + 0x21,0,0x103); + GetLocalTime(&local_168); + local_188 = (uint)local_168.wHour; + local_190._0_4_ = (uint)local_168.wDay; + local_198 = (char *)CONCAT44(local_198._4_4_,(uint)local_168.wMonth); + FUN_14000ec80(local_158 + 0x20,0x104,"%04d-%02d-%02d_%02d.log",(ulonglong)local_168.wYear); + local_198 = local_158 + 0x20; + _snprintf_s(param_2,0x104,0x104,"%s"); + local_158[0] = '\0'; + local_158[1] = '\0'; + local_158[2] = '\0'; + local_158[3] = '\0'; + local_158[4] = '\0'; + local_158[5] = '\0'; + local_158[6] = '\0'; + local_158[7] = '\0'; + local_158[8] = '\0'; + local_158[9] = '\0'; + local_158[10] = '\0'; + local_158[0xb] = '\0'; + local_158[0xc] = '\0'; + local_158[0xd] = '\0'; + local_158[0xe] = '\0'; + local_158[0xf] = '\0'; + local_158[0x10] = '\0'; + local_158[0x11] = '\0'; + local_158[0x12] = '\0'; + local_158[0x13] = '\0'; + local_158[0x14] = '\0'; + local_158[0x15] = '\0'; + local_158[0x16] = '\0'; + local_158[0x17] = '\0'; + local_158[0x18] = '\0'; + local_158[0x19] = '\0'; + local_158[0x1a] = '\0'; + local_158[0x1b] = '\0'; + local_158[0x1c] = '\0'; + local_158[0x1d] = '\0'; + local_158[0x1e] = '\0'; + local_158[0x1f] = 0; + local_178 = (uint)local_168.wSecond; + local_180 = (uint)local_168.wMinute; + local_188 = (uint)local_168.wHour; + local_190 = CONCAT44(local_190._4_4_,(uint)local_168.wDay); + local_198 = (char *)CONCAT44(local_198._4_4_,(uint)local_168.wMonth); + FUN_140010e70(local_158,0x20,"%04d-%02d-%02d %02d:%02d:%02d",(ulonglong)local_168.wYear); + local_198 = local_158; + local_190 = param_3; + _snprintf_s(param_1,0x100,0x100,"[%s] %s\n"); + uVar1 = 1; + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140010590.c b/decomp/Agent_Release_x64/full/functions/0x140010590.c new file mode 100644 index 00000000..ca92d2e6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140010590.c @@ -0,0 +1,81 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140010590 FUN_140010590 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_140010590(wchar_t *param_1,wchar_t *param_2,longlong param_3) + +{ + undefined8 uVar1; + undefined1 auStack_2e8 [32]; + wchar_t *local_2c8; + longlong local_2c0; + uint local_2b8; + uint local_2b0; + uint local_2a8; + _SYSTEMTIME local_298; + wchar_t local_288 [33]; + undefined1 local_246 [526]; + ulonglong local_38; + + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_2e8; + if (((param_1 == (wchar_t *)0x0) || (param_3 == 0)) || (param_2 == (wchar_t *)0x0)) { + uVar1 = 0; + } + else { + local_288[0x20] = 0; + memset(local_246,0,0x206); + GetLocalTime(&local_298); + local_2b8 = (uint)local_298.wHour; + local_2c0._0_4_ = (uint)local_298.wDay; + local_2c8 = (wchar_t *)CONCAT44(local_2c8._4_4_,(uint)local_298.wMonth); + FUN_14000ec50(local_288 + 0x20,0x104,L"%04d-%02d-%02d_%02d.log",(ulonglong)local_298.wYear); + local_2c8 = local_288 + 0x20; + _snwprintf_s(param_2,0x104,0x104,L"%s"); + local_288[0] = L'\0'; + local_288[1] = L'\0'; + local_288[2] = L'\0'; + local_288[3] = L'\0'; + local_288[4] = L'\0'; + local_288[5] = L'\0'; + local_288[6] = L'\0'; + local_288[7] = L'\0'; + local_288[8] = L'\0'; + local_288[9] = L'\0'; + local_288[10] = L'\0'; + local_288[0xb] = L'\0'; + local_288[0xc] = L'\0'; + local_288[0xd] = L'\0'; + local_288[0xe] = L'\0'; + local_288[0xf] = L'\0'; + local_288[0x10] = L'\0'; + local_288[0x11] = L'\0'; + local_288[0x12] = L'\0'; + local_288[0x13] = L'\0'; + local_288[0x14] = L'\0'; + local_288[0x15] = L'\0'; + local_288[0x16] = L'\0'; + local_288[0x17] = L'\0'; + local_288[0x18] = L'\0'; + local_288[0x19] = L'\0'; + local_288[0x1a] = L'\0'; + local_288[0x1b] = L'\0'; + local_288[0x1c] = L'\0'; + local_288[0x1d] = L'\0'; + local_288[0x1e] = L'\0'; + local_288[0x1f] = 0; + local_2a8 = (uint)local_298.wSecond; + local_2b0 = (uint)local_298.wMinute; + local_2b8 = (uint)local_298.wHour; + local_2c0 = CONCAT44(local_2c0._4_4_,(uint)local_298.wDay); + local_2c8 = (wchar_t *)CONCAT44(local_2c8._4_4_,(uint)local_298.wMonth); + FUN_14000ec20(local_288,0x20,L"%04d-%02d-%02d %02d:%02d:%02d",(ulonglong)local_298.wYear); + local_2c8 = local_288; + local_2c0 = param_3; + _snwprintf_s(param_1,0x100,0x100,L"[%s] %s\n"); + uVar1 = 1; + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140010730.c b/decomp/Agent_Release_x64/full/functions/0x140010730.c new file mode 100644 index 00000000..2f2ffc01 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140010730.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140010730 FUN_140010730 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Removing unreachable block (ram,0x0001400107b0) */ + +undefined8 FUN_140010730(longlong param_1,longlong param_2) + +{ + errno_t eVar1; + undefined1 auStack_268 [32]; + longlong local_248; + FILE *local_238 [2]; + wchar_t local_228; + undefined1 local_226 [526]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_268; + if ((param_1 != 0) && (param_2 != 0)) { + local_228 = L'\0'; + memset(local_226,0,0x206); + local_248 = param_1; + FUN_14000ec50(&local_228,0x104,L"%s_%s",&DAT_14011e210); + local_238[0] = (FILE *)0x0; + eVar1 = _wfopen_s(local_238,&local_228,L"a"); + if ((eVar1 == 0) && (local_238[0] != (FILE *)0x0)) { + fwprintf(local_238[0],L"%s"); + fflush(local_238[0]); + fclose(local_238[0]); + return 1; + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140010850.c b/decomp/Agent_Release_x64/full/functions/0x140010850.c new file mode 100644 index 00000000..b48997fa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140010850.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140010850 FUN_140010850 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Removing unreachable block (ram,0x0001400108c6) */ + +undefined8 FUN_140010850(longlong param_1,longlong param_2) + +{ + errno_t eVar1; + undefined1 auStack_168 [32]; + longlong local_148; + FILE *local_138 [2]; + char local_128; + undefined1 local_127 [271]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_168; + if ((param_1 != 0) && (param_2 != 0)) { + local_128 = '\0'; + memset(local_127,0,0x103); + local_148 = param_1; + FUN_14000ec80(&local_128,0x104,"%s_%s",&DAT_14011e218); + local_138[0] = (FILE *)0x0; + eVar1 = fopen_s(local_138,&local_128,"a"); + if ((eVar1 == 0) && (local_138[0] != (FILE *)0x0)) { + fprintf(local_138[0],"%s"); + fflush(local_138[0]); + fclose(local_138[0]); + return 1; + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140010960.c b/decomp/Agent_Release_x64/full/functions/0x140010960.c new file mode 100644 index 00000000..f8fb8ab0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140010960.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140010960 FUN_140010960 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +bool FUN_140010960(wchar_t *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 uVar1; + bool bVar2; + undefined8 local_res10; + undefined8 local_res18; + undefined8 local_res20; + undefined1 auStack_648 [32]; + wchar_t local_628; + undefined1 local_626 [510]; + wchar_t local_428; + undefined1 local_426 [510]; + wchar_t local_228; + undefined1 local_226 [526]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_648; + local_res10 = param_2; + local_res18 = param_3; + local_res20 = param_4; + EnterCriticalSection((LPCRITICAL_SECTION)&DAT_140162d10); + local_428 = L'\0'; + memset(local_426,0,0x1fe); + vswprintf_s(&local_428,0x100,param_1,(va_list)&local_res10); + local_228 = L'\0'; + memset(local_226,0,0x206); + local_628 = L'\0'; + memset(local_626,0,0x1fe); + uVar1 = FUN_140010240(&local_628,&local_228,(longlong)&local_428,1); + bVar2 = (int)uVar1 != 0; + if (bVar2) { + FUN_140010730((longlong)&local_228,(longlong)&local_628); + OutputDebugStringW(&local_628); + wprintf(L"%s"); + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140162d10); + } + else { + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140162d10); + } + return bVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140010aa0.c b/decomp/Agent_Release_x64/full/functions/0x140010aa0.c new file mode 100644 index 00000000..41ba75a6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140010aa0.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140010aa0 FUN_140010aa0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +bool FUN_140010aa0(wchar_t *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 uVar1; + bool bVar2; + undefined8 local_res10; + undefined8 local_res18; + undefined8 local_res20; + undefined1 auStack_648 [32]; + wchar_t local_628; + undefined1 local_626 [510]; + wchar_t local_428; + undefined1 local_426 [510]; + wchar_t local_228; + undefined1 local_226 [526]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_648; + local_res10 = param_2; + local_res18 = param_3; + local_res20 = param_4; + EnterCriticalSection((LPCRITICAL_SECTION)&DAT_140162d10); + local_428 = L'\0'; + memset(local_426,0,0x1fe); + vswprintf_s(&local_428,0x100,param_1,(va_list)&local_res10); + local_228 = L'\0'; + memset(local_226,0,0x206); + local_628 = L'\0'; + memset(local_626,0,0x1fe); + uVar1 = FUN_140010240(&local_628,&local_228,(longlong)&local_428,0); + bVar2 = (int)uVar1 != 0; + if (bVar2) { + FUN_140010730((longlong)&local_228,(longlong)&local_628); + OutputDebugStringW(&local_628); + wprintf(L"%s"); + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140162d10); + } + else { + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140162d10); + } + return bVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140010be0.c b/decomp/Agent_Release_x64/full/functions/0x140010be0.c new file mode 100644 index 00000000..5c3f074b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140010be0.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140010be0 FUN_140010be0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_140010be0(char *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 uVar1; + undefined8 local_res10; + undefined8 local_res18; + undefined8 local_res20; + undefined1 auStack_348 [32]; + char local_328; + undefined1 local_327 [255]; + char local_228; + undefined1 local_227 [255]; + char local_128; + undefined1 local_127 [271]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_348; + local_res10 = param_2; + local_res18 = param_3; + local_res20 = param_4; + EnterCriticalSection((LPCRITICAL_SECTION)&DAT_140162d10); + local_228 = '\0'; + memset(local_227,0,0xff); + vsprintf_s(&local_228,0x100,param_1,(va_list)&local_res10); + local_128 = '\0'; + memset(local_127,0,0x103); + local_328 = '\0'; + memset(local_327,0,0xff); + uVar1 = FUN_140010410(&local_328,&local_128,(longlong)&local_228); + if ((int)uVar1 == 0) { + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140162d10); + return 0; + } + FUN_140010850((longlong)&local_128,(longlong)&local_328); + OutputDebugStringA(&local_328); + printf("%s"); + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140162d10); + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140010d30.c b/decomp/Agent_Release_x64/full/functions/0x140010d30.c new file mode 100644 index 00000000..015aff74 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140010d30.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140010d30 FUN_140010d30 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +bool FUN_140010d30(wchar_t *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 uVar1; + bool bVar2; + undefined8 local_res10; + undefined8 local_res18; + undefined8 local_res20; + undefined1 auStack_648 [32]; + wchar_t local_628; + undefined1 local_626 [510]; + wchar_t local_428; + undefined1 local_426 [510]; + wchar_t local_228; + undefined1 local_226 [526]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_648; + local_res10 = param_2; + local_res18 = param_3; + local_res20 = param_4; + EnterCriticalSection((LPCRITICAL_SECTION)&DAT_140162d10); + local_428 = L'\0'; + memset(local_426,0,0x1fe); + vswprintf_s(&local_428,0x100,param_1,(va_list)&local_res10); + local_228 = L'\0'; + memset(local_226,0,0x206); + local_628 = L'\0'; + memset(local_626,0,0x1fe); + uVar1 = FUN_140010590(&local_628,&local_228,(longlong)&local_428); + bVar2 = (int)uVar1 != 0; + if (bVar2) { + FUN_140010730((longlong)&local_228,(longlong)&local_628); + OutputDebugStringW(&local_628); + wprintf(L"%s"); + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140162d10); + } + else { + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140162d10); + } + return bVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140010e70.c b/decomp/Agent_Release_x64/full/functions/0x140010e70.c new file mode 100644 index 00000000..13d7d53d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140010e70.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140010e70 FUN_140010e70 + * Pseudocode, not original source. */ + +void FUN_140010e70(char *param_1,size_t param_2,char *param_3,undefined8 param_4) + +{ + undefined8 local_res20; + + local_res20 = param_4; + _vsnprintf_s(param_1,0x20,param_2,param_3,(va_list)&local_res20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140010ea0.c b/decomp/Agent_Release_x64/full/functions/0x140010ea0.c new file mode 100644 index 00000000..946071f9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140010ea0.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140010ea0 FUN_140010ea0 + * Pseudocode, not original source. */ + +void FUN_140010ea0(longlong *param_1,longlong param_2) + +{ + longlong lVar1; + void *pvVar2; + undefined8 *puVar3; + undefined1 auVar4 [16]; + __uint64 _Var5; + longlong *plVar6; + longlong *local_28; + + lVar1 = *(longlong *)*param_1; + if (param_2 == 0) { + plVar6 = &DAT_140162cd0; + } + else { + auVar4._8_8_ = 0; + auVar4._0_8_ = param_2 + 0x1bU >> 2; + _Var5 = SUB168(ZEXT816(4) * auVar4,0); + if (SUB168(ZEXT816(4) * auVar4,8) != 0) { + _Var5 = 0xffffffffffffffff; + } + plVar6 = operator_new(_Var5); + *plVar6 = lVar1; + *(undefined1 *)((longlong)plVar6 + lVar1 + 0x10) = 0; + plVar6[1] = param_2; + local_28 = plVar6; + } + memcpy(plVar6 + 2,(size_t *)*param_1 + 2,*(size_t *)*param_1); + pvVar2 = (void *)param_1[1]; + puVar3 = (undefined8 *)*param_1; + *param_1 = (longlong)plVar6; + param_1[1] = (longlong)local_28; + if (puVar3 != &DAT_140162cd0) { + operator_delete__(pvVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140010f70.c b/decomp/Agent_Release_x64/full/functions/0x140010f70.c new file mode 100644 index 00000000..2ec3aeaa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140010f70.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140010f70 FUN_140010f70 + * Pseudocode, not original source. */ + +longlong * FUN_140010f70(longlong *param_1,void *param_2,size_t param_3) + +{ + ulonglong uVar1; + void *pvVar2; + undefined8 *puVar3; + undefined1 auVar4 [16]; + __uint64 _Var5; + size_t *psVar6; + size_t *local_28; + + uVar1 = *(ulonglong *)(*param_1 + 8); + if ((uVar1 < param_3) || (param_3 * 3 + 0x18 < uVar1)) { + if (param_3 == 0) { + psVar6 = &DAT_140162cd0; + } + else { + auVar4._8_8_ = 0; + auVar4._0_8_ = param_3 + 0x1b >> 2; + _Var5 = SUB168(ZEXT816(4) * auVar4,0); + if (SUB168(ZEXT816(4) * auVar4,8) != 0) { + _Var5 = 0xffffffffffffffff; + } + psVar6 = operator_new(_Var5); + *psVar6 = param_3; + *(undefined1 *)((longlong)psVar6 + param_3 + 0x10) = 0; + psVar6[1] = param_3; + local_28 = psVar6; + } + memcpy(psVar6 + 2,param_2,param_3); + pvVar2 = (void *)param_1[1]; + puVar3 = (undefined8 *)*param_1; + *param_1 = (longlong)psVar6; + param_1[1] = (longlong)local_28; + if (puVar3 != &DAT_140162cd0) { + operator_delete__(pvVar2); + } + } + else { + memmove((void *)(*param_1 + 0x10),param_2,param_3); + *(size_t *)*param_1 = param_3; + *(undefined1 *)(*param_1 + 0x10 + param_3) = 0; + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011070.c b/decomp/Agent_Release_x64/full/functions/0x140011070.c new file mode 100644 index 00000000..5a4b1950 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011070.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011070 FUN_140011070 + * Pseudocode, not original source. */ + +longlong * FUN_140011070(longlong *param_1,void *param_2,size_t param_3) + +{ + ulonglong uVar1; + ulonglong uVar2; + longlong *plVar3; + + plVar3 = (longlong *)*param_1; + uVar1 = param_3 + *plVar3; + if (((ulonglong)plVar3[1] < uVar1) && (uVar2 = plVar3[1] + uVar1, (ulonglong)plVar3[1] < uVar2)) { + FUN_140010ea0(param_1,uVar2); + } + memmove((void *)(*(longlong *)*param_1 + 0x10 + *param_1),param_2,param_3); + *(ulonglong *)*param_1 = uVar1; + *(undefined1 *)(*param_1 + 0x10 + uVar1) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400110f0.c b/decomp/Agent_Release_x64/full/functions/0x1400110f0.c new file mode 100644 index 00000000..73bb6677 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400110f0.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400110f0 FUN_1400110f0 + * Pseudocode, not original source. */ + +longlong * FUN_1400110f0(longlong *param_1,undefined1 param_2) + +{ + ulonglong uVar1; + longlong *plVar2; + ulonglong uVar3; + undefined1 local_res10 [24]; + + plVar2 = (longlong *)*param_1; + uVar3 = *plVar2 + 1; + local_res10[0] = param_2; + if (((ulonglong)plVar2[1] < uVar3) && (uVar1 = plVar2[1] + uVar3, (ulonglong)plVar2[1] < uVar1)) { + FUN_140010ea0(param_1,uVar1); + } + memmove((void *)(*(longlong *)*param_1 + 0x10 + *param_1),local_res10,1); + *(ulonglong *)*param_1 = uVar3; + *(undefined1 *)(*param_1 + 0x10 + uVar3) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011160.c b/decomp/Agent_Release_x64/full/functions/0x140011160.c new file mode 100644 index 00000000..2bb00a88 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011160 FUN_140011160 + * Pseudocode, not original source. */ + +void FUN_140011160(undefined8 *param_1) + +{ + *param_1 = TiXmlBase::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011170.c b/decomp/Agent_Release_x64/full/functions/0x140011170.c new file mode 100644 index 00000000..fef0530a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011170.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011170 FUN_140011170 + * Pseudocode, not original source. */ + +undefined8 * FUN_140011170(undefined8 *param_1,byte param_2) + +{ + *param_1 = TiXmlBase::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400111a0.c b/decomp/Agent_Release_x64/full/functions/0x1400111a0.c new file mode 100644 index 00000000..7febfd39 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400111a0.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400111a0 FUN_1400111a0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400111a0(longlong *param_1) + +{ + longlong lVar1; + undefined8 uVar2; + + while( true ) { + if (param_1 == (longlong *)0x0) { + return 0; + } + lVar1 = (**(code **)(*param_1 + 0x20))(param_1); + if (lVar1 != 0) break; + param_1 = (longlong *)param_1[3]; + } + /* WARNING: Could not recover jumptable at 0x0001400111da. Too many branches */ + /* WARNING: Treating indirect jump as call */ + uVar2 = (**(code **)(*param_1 + 0x20))(param_1); + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400111e0.c b/decomp/Agent_Release_x64/full/functions/0x1400111e0.c new file mode 100644 index 00000000..4b32f031 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400111e0.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400111e0 FUN_1400111e0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400111e0(undefined8 *param_1,char *param_2,char *param_3) + +{ + char cVar1; + ulonglong uVar2; + char *pcVar3; + + param_1[1] = 0xffffffffffffffff; + param_1[2] = 0; + *param_1 = TiXmlAttribute::vftable; + param_1[4] = &DAT_140162cd0; + param_1[6] = &DAT_140162cd0; + uVar2 = 0xffffffffffffffff; + pcVar3 = param_2; + do { + if (uVar2 == 0) break; + uVar2 = uVar2 - 1; + cVar1 = *pcVar3; + pcVar3 = pcVar3 + 1; + } while (cVar1 != '\0'); + FUN_140010f70(param_1 + 4,param_2,~uVar2 - 1); + uVar2 = 0xffffffffffffffff; + pcVar3 = param_3; + do { + if (uVar2 == 0) break; + uVar2 = uVar2 - 1; + cVar1 = *pcVar3; + pcVar3 = pcVar3 + 1; + } while (cVar1 != '\0'); + FUN_140010f70(param_1 + 6,param_3,~uVar2 - 1); + param_1[3] = 0; + param_1[9] = 0; + param_1[8] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011290.c b/decomp/Agent_Release_x64/full/functions/0x140011290.c new file mode 100644 index 00000000..d45e1804 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011290.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011290 FUN_140011290 + * Pseudocode, not original source. */ + +void FUN_140011290(longlong param_1,FILE *param_2) + +{ + FUN_140012cc0(param_1,param_2,(longlong *)0x0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400112a0.c b/decomp/Agent_Release_x64/full/functions/0x1400112a0.c new file mode 100644 index 00000000..1a520f23 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400112a0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400112a0 FUN_1400112a0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400112a0(undefined8 *param_1,uint param_2) + +{ + if ((undefined8 *)param_1[6] != &DAT_140162cd0) { + operator_delete__((void *)param_1[7]); + } + if ((undefined8 *)param_1[4] != &DAT_140162cd0) { + operator_delete__((void *)param_1[5]); + } + *param_1 = TiXmlBase::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011310.c b/decomp/Agent_Release_x64/full/functions/0x140011310.c new file mode 100644 index 00000000..f253bc0b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011310.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011310 FUN_140011310 + * Pseudocode, not original source. */ + +void FUN_140011310(undefined8 *param_1) + +{ + if ((undefined8 *)param_1[6] != &DAT_140162cd0) { + operator_delete__((void *)param_1[7]); + } + if ((undefined8 *)param_1[4] != &DAT_140162cd0) { + operator_delete__((void *)param_1[5]); + } + *param_1 = TiXmlBase::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011360.c b/decomp/Agent_Release_x64/full/functions/0x140011360.c new file mode 100644 index 00000000..7045e510 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011360.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011360 std::bad_alloc::`scalar_deleting_destructor' + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: virtual void * __ptr64 __cdecl std::bad_alloc::`scalar deleting destructor'(unsigned + int) __ptr64 + + Libraries: Visual Studio 2012 Release, Visual Studio 2015 Release */ + +void * __thiscall std::bad_alloc::_scalar_deleting_destructor_(bad_alloc *this,uint param_1) + +{ + undefined4 in_register_00000014; + undefined8 in_R8; + undefined8 in_R9; + + *(undefined ***)this = TiXmlComment::vftable; + FUN_1400118d0((undefined8 *)this,CONCAT44(in_register_00000014,param_1),in_R8,in_R9); + if ((param_1 & 1) != 0) { + operator_delete(this); + } + return this; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400113a0.c b/decomp/Agent_Release_x64/full/functions/0x1400113a0.c new file mode 100644 index 00000000..210fa335 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400113a0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400113a0 FUN_1400113a0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400113a0(undefined8 *param_1) + +{ + param_1[1] = 0xffffffffffffffff; + param_1[2] = 0; + param_1[7] = &DAT_140162cd0; + param_1[3] = 0; + *(undefined4 *)(param_1 + 4) = 4; + param_1[5] = 0; + param_1[6] = 0; + param_1[9] = 0; + param_1[10] = 0; + *param_1 = TiXmlText::vftable; + FUN_140010f70(param_1 + 7,&DAT_14011e21c,0); + *(undefined1 *)(param_1 + 0xb) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011420.c b/decomp/Agent_Release_x64/full/functions/0x140011420.c new file mode 100644 index 00000000..a4cdface --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011420.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011420 FUN_140011420 + * Pseudocode, not original source. */ + +undefined8 FUN_140011420(undefined8 param_1) + +{ + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011430.c b/decomp/Agent_Release_x64/full/functions/0x140011430.c new file mode 100644 index 00000000..f1a32d87 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011430.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011430 std::bad_alloc::`scalar_deleting_destructor' + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: virtual void * __ptr64 __cdecl std::bad_alloc::`scalar deleting destructor'(unsigned + int) __ptr64 + + Libraries: Visual Studio 2012 Release, Visual Studio 2015 Release */ + +void * __thiscall std::bad_alloc::_scalar_deleting_destructor_(bad_alloc *this,uint param_1) + +{ + undefined4 in_register_00000014; + undefined8 in_R8; + undefined8 in_R9; + + *(undefined ***)this = TiXmlText::vftable; + FUN_1400118d0((undefined8 *)this,CONCAT44(in_register_00000014,param_1),in_R8,in_R9); + if ((param_1 & 1) != 0) { + operator_delete(this); + } + return this; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011470.c b/decomp/Agent_Release_x64/full/functions/0x140011470.c new file mode 100644 index 00000000..75fa7411 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011470.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011470 FUN_140011470 + * Pseudocode, not original source. */ + +void FUN_140011470(longlong *param_1) + +{ + /* WARNING: Could not recover jumptable at 0x000140011476. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*param_1 + 0x88))(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011480.c b/decomp/Agent_Release_x64/full/functions/0x140011480.c new file mode 100644 index 00000000..b1ab2f37 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011480.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011480 FUN_140011480 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140011480(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + + *param_1 = TiXmlDeclaration::vftable; + uVar1 = param_2; + if ((undefined8 *)param_1[0xf] != &DAT_140162cd0) { + operator_delete__((void *)param_1[0x10]); + } + if ((undefined8 *)param_1[0xd] != &DAT_140162cd0) { + operator_delete__((void *)param_1[0xe]); + } + if ((undefined8 *)param_1[0xb] != &DAT_140162cd0) { + operator_delete__((void *)param_1[0xc]); + } + FUN_1400118d0(param_1,uVar1,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011510.c b/decomp/Agent_Release_x64/full/functions/0x140011510.c new file mode 100644 index 00000000..0dbd3678 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011510.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011510 std::bad_alloc::`scalar_deleting_destructor' + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: virtual void * __ptr64 __cdecl std::bad_alloc::`scalar deleting destructor'(unsigned + int) __ptr64 + + Libraries: Visual Studio 2012 Release, Visual Studio 2015 Release */ + +void * __thiscall std::bad_alloc::_scalar_deleting_destructor_(bad_alloc *this,uint param_1) + +{ + undefined4 in_register_00000014; + undefined8 in_R8; + undefined8 in_R9; + + *(undefined ***)this = TiXmlUnknown::vftable; + FUN_1400118d0((undefined8 *)this,CONCAT44(in_register_00000014,param_1),in_R8,in_R9); + if ((param_1 & 1) != 0) { + operator_delete(this); + } + return this; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011550.c b/decomp/Agent_Release_x64/full/functions/0x140011550.c new file mode 100644 index 00000000..6904aa48 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011550.c @@ -0,0 +1,161 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011550 FUN_140011550 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140011550(undefined8 *param_1,longlong *param_2) + +{ + ulonglong uVar1; + char cVar2; + byte bVar3; + longlong lVar4; + undefined1 auVar5 [16]; + __uint64 _Var6; + longlong *plVar7; + longlong lVar8; + int *piVar9; + undefined *puVar10; + int iVar11; + uint uVar12; + ulonglong uVar13; + size_t sVar14; + undefined8 uVar15; + char *pcVar16; + undefined1 auStack_a8 [32]; + longlong *local_88; + undefined8 *local_80; + undefined8 *local_78; + longlong *local_70; + undefined8 local_68; + char local_60 [32]; + ulonglong local_40; + + local_68 = 0xfffffffffffffffe; + local_40 = DAT_1401555a0 ^ (ulonglong)auStack_a8; + iVar11 = 0; + piVar9 = (int *)*param_1; + uVar15 = *(undefined8 *)piVar9; + if (0 < (int)uVar15) { + local_88 = local_70; + local_80 = param_1; + do { + bVar3 = *(byte *)((longlong)iVar11 + 0x10 + (longlong)piVar9); + if (bVar3 == 0x26) { + puVar10 = PTR_s__amp__14015ad20; + uVar12 = DAT_14015ad28; + if ((((int)uVar15 + -2 <= iVar11) || + (*(char *)((longlong)(iVar11 + 1) + 0x10 + (longlong)piVar9) != '#')) || + (*(char *)((longlong)(iVar11 + 2) + 0x10 + (longlong)piVar9) != 'x')) { +LAB_140011735: + plVar7 = (longlong *)*param_2; + uVar13 = *plVar7 + (ulonglong)uVar12; + if (((ulonglong)plVar7[1] < uVar13) && + (uVar1 = plVar7[1] + uVar13, (ulonglong)plVar7[1] < uVar1)) { + FUN_140010ea0(param_2,uVar1); + } + memmove((void *)(*param_2 + *(longlong *)*param_2 + 0x10),puVar10,(ulonglong)uVar12); + *(ulonglong *)*param_2 = uVar13; + *(undefined1 *)(*param_2 + 0x10 + uVar13) = 0; + goto LAB_140011855; + } + lVar8 = (longlong)iVar11; + if (iVar11 < (int)uVar15 + -1) { + do { + plVar7 = (longlong *)*param_2; + uVar13 = *plVar7 + 1; + if (((ulonglong)plVar7[1] < uVar13) && + (uVar1 = plVar7[1] + uVar13, (ulonglong)plVar7[1] < uVar1)) { + local_78 = &DAT_140162cd0; + lVar4 = *plVar7; + if (uVar1 == 0) { + plVar7 = &DAT_140162cd0; + } + else { + auVar5._8_8_ = 0; + auVar5._0_8_ = uVar1 + 0x1b >> 2; + _Var6 = SUB168(ZEXT816(4) * auVar5,0); + if (SUB168(ZEXT816(4) * auVar5,8) != 0) { + _Var6 = 0xffffffffffffffff; + } + plVar7 = operator_new(_Var6); + *plVar7 = lVar4; + *(undefined1 *)((longlong)plVar7 + lVar4 + 0x10) = 0; + plVar7[1] = uVar1; + local_88 = plVar7; + } + memcpy(plVar7 + 2,(size_t *)*param_2 + 2,*(size_t *)*param_2); + local_70 = (longlong *)param_2[1]; + local_78 = (undefined8 *)*param_2; + *param_2 = (longlong)plVar7; + param_2[1] = (longlong)local_88; + local_88 = local_70; + if (local_78 != &DAT_140162cd0) { + operator_delete__(local_70); + } + } + memmove((void *)(*param_2 + *(longlong *)*param_2 + 0x10), + (void *)((longlong)iVar11 + 0x10 + (longlong)piVar9),1); + *(ulonglong *)*param_2 = uVar13; + *(undefined1 *)(*param_2 + 0x10 + uVar13) = 0; + iVar11 = iVar11 + 1; + piVar9 = (int *)*local_80; + } while ((*(char *)((longlong)piVar9 + lVar8 + 0x11) != ';') && + (lVar8 = lVar8 + 1, iVar11 < *piVar9 + -1)); + } + } + else { + puVar10 = PTR_DAT_14015ad30; + uVar12 = DAT_14015ad38; + if (bVar3 == 0x3c) goto LAB_140011735; + if (bVar3 == 0x3e) { + sVar14 = (size_t)DAT_14015ad48; + puVar10 = PTR_DAT_14015ad40; + } + else if (bVar3 == 0x22) { + sVar14 = (size_t)DAT_14015ad58; + puVar10 = PTR_s__quot__14015ad50; + } + else { + if (bVar3 != 0x27) { + if (bVar3 < 0x20) { + FUN_140010e70(local_60,0x20,"&#x%02X;",(ulonglong)bVar3); + lVar8 = -1; + pcVar16 = local_60; + do { + if (lVar8 == 0) break; + lVar8 = lVar8 + -1; + cVar2 = *pcVar16; + pcVar16 = pcVar16 + 1; + } while (cVar2 != '\0'); + sVar14 = (size_t)(int)(~(uint)lVar8 - 1); + plVar7 = (longlong *)*param_2; + uVar13 = *plVar7 + sVar14; + if (((ulonglong)plVar7[1] < uVar13) && + (uVar1 = plVar7[1] + uVar13, (ulonglong)plVar7[1] < uVar1)) { + FUN_140010ea0(param_2,uVar1); + } + memmove((void *)(*param_2 + *(longlong *)*param_2 + 0x10),local_60,sVar14); + *(ulonglong *)*param_2 = uVar13; + *(undefined1 *)(*param_2 + 0x10 + uVar13) = 0; + } + else { + FUN_1400110f0(param_2,bVar3); + } + goto LAB_140011855; + } + sVar14 = (size_t)DAT_14015ad68; + puVar10 = PTR_s__apos__14015ad60; + } + FUN_140011070(param_2,puVar10,sVar14); +LAB_140011855: + iVar11 = iVar11 + 1; + } + piVar9 = (int *)*local_80; + uVar15 = *(undefined8 *)piVar9; + } while (iVar11 < (int)uVar15); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400118a0.c b/decomp/Agent_Release_x64/full/functions/0x1400118a0.c new file mode 100644 index 00000000..511a3a13 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400118a0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400118a0 FUN_1400118a0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400118a0(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400118d0(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400118d0.c b/decomp/Agent_Release_x64/full/functions/0x1400118d0.c new file mode 100644 index 00000000..b4d83824 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400118d0.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400118d0 FUN_1400118d0 + * Pseudocode, not original source. */ + +void FUN_1400118d0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + + *param_1 = TiXmlNode::vftable; + puVar2 = (undefined8 *)param_1[5]; + while (puVar2 != (undefined8 *)0x0) { + puVar1 = (undefined8 *)puVar2[10]; + (**(code **)*puVar2)(puVar2,1); + puVar2 = puVar1; + } + if ((undefined8 *)param_1[7] != &DAT_140162cd0) { + operator_delete__((void *)param_1[8]); + } + *param_1 = TiXmlBase::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011950.c b/decomp/Agent_Release_x64/full/functions/0x140011950.c new file mode 100644 index 00000000..acb789c8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011950.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011950 FUN_140011950 + * Pseudocode, not original source. */ + +void FUN_140011950(longlong param_1) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + + puVar2 = *(undefined8 **)(param_1 + 0x28); + if (puVar2 == (undefined8 *)0x0) { + *(undefined8 *)(param_1 + 0x28) = 0; + *(undefined8 *)(param_1 + 0x30) = 0; + return; + } + do { + puVar1 = (undefined8 *)puVar2[10]; + (**(code **)*puVar2)(puVar2,1); + puVar2 = puVar1; + } while (puVar1 != (undefined8 *)0x0); + *(undefined8 *)(param_1 + 0x28) = 0; + *(undefined8 *)(param_1 + 0x30) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400119b0.c b/decomp/Agent_Release_x64/full/functions/0x1400119b0.c new file mode 100644 index 00000000..a8785f3a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400119b0.c @@ -0,0 +1,69 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400119b0 FUN_1400119b0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400119b0(longlong *param_1,undefined8 *param_2) + +{ + char cVar1; + longlong lVar2; + ulonglong uVar3; + longlong *plVar4; + char *pcVar5; + + if (*(int *)(param_2 + 4) != 0) { + param_2[3] = param_1; + param_2[9] = param_1[6]; + param_2[10] = 0; + if (param_1[6] != 0) { + *(undefined8 **)(param_1[6] + 0x50) = param_2; + param_1[6] = (longlong)param_2; + return param_2; + } + param_1[5] = (longlong)param_2; + param_1[6] = (longlong)param_2; + return param_2; + } + (**(code **)*param_2)(param_2,1); + plVar4 = param_1; + if (param_1 != (longlong *)0x0) { + while( true ) { + lVar2 = (**(code **)(*plVar4 + 0x20))(plVar4); + if (lVar2 != 0) break; + plVar4 = (longlong *)plVar4[3]; + if (plVar4 == (longlong *)0x0) { + return (undefined8 *)0x0; + } + } + lVar2 = (**(code **)(*plVar4 + 0x20))(plVar4); + if (lVar2 != 0) { + do { + lVar2 = (**(code **)(*param_1 + 0x20))(); + if (lVar2 != 0) { + lVar2 = (**(code **)(*param_1 + 0x20))(); + goto LAB_140011a3a; + } + param_1 = (longlong *)param_1[3]; + } while (param_1 != (longlong *)0x0); + lVar2 = 0; +LAB_140011a3a: + if (*(char *)(lVar2 + 0x58) == '\0') { + uVar3 = 0xffffffffffffffff; + *(undefined1 *)(lVar2 + 0x58) = 1; + *(undefined4 *)(lVar2 + 0x5c) = 0x10; + pcVar5 = PTR_s_Error_when_TiXmlDocument_added_t_14015ad10; + do { + if (uVar3 == 0) break; + uVar3 = uVar3 - 1; + cVar1 = *pcVar5; + pcVar5 = pcVar5 + 1; + } while (cVar1 != '\0'); + FUN_140010f70((longlong *)(lVar2 + 0x60),PTR_s_Error_when_TiXmlDocument_added_t_14015ad10, + ~uVar3 - 1); + *(undefined8 *)(lVar2 + 0x74) = 0xffffffffffffffff; + } + } + } + return (undefined8 *)0x0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011ad0.c b/decomp/Agent_Release_x64/full/functions/0x140011ad0.c new file mode 100644 index 00000000..89d7619e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011ad0.c @@ -0,0 +1,60 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011ad0 FUN_140011ad0 + * Pseudocode, not original source. */ + +undefined8 FUN_140011ad0(longlong param_1,longlong param_2) + +{ + char cVar1; + char cVar2; + char *pcVar3; + undefined8 uVar4; + longlong *plVar5; + longlong lVar6; + + plVar5 = *(longlong **)(param_1 + 0x28); + do { + if (plVar5 == (longlong *)0x0) { + return 0; + } + pcVar3 = (char *)(plVar5[7] + 0x10); + lVar6 = param_2 - (longlong)pcVar3; + do { + cVar1 = *pcVar3; + cVar2 = pcVar3[lVar6]; + if (cVar1 != cVar2) break; + pcVar3 = pcVar3 + 1; + } while (cVar2 != '\0'); + if (cVar1 == cVar2) { +LAB_140011b30: + lVar6 = (**(code **)(*plVar5 + 0x30))(plVar5); + if (lVar6 != 0) { + /* WARNING: Could not recover jumptable at 0x000140011b9d. Too many branches */ + /* WARNING: Treating indirect jump as call */ + uVar4 = (**(code **)(*plVar5 + 0x30))(plVar5); + return uVar4; + } + plVar5 = (longlong *)plVar5[10]; + if (plVar5 == (longlong *)0x0) { + return 0; + } + do { + pcVar3 = (char *)(plVar5[7] + 0x10); + lVar6 = param_2 - (longlong)pcVar3; + do { + cVar1 = *pcVar3; + cVar2 = pcVar3[lVar6]; + if (cVar1 != cVar2) break; + pcVar3 = pcVar3 + 1; + } while (cVar2 != '\0'); + if (cVar1 == cVar2) goto LAB_140011b30; + plVar5 = (longlong *)plVar5[10]; + if (plVar5 == (longlong *)0x0) { + return 0; + } + } while( true ); + } + plVar5 = (longlong *)plVar5[10]; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011bb0.c b/decomp/Agent_Release_x64/full/functions/0x140011bb0.c new file mode 100644 index 00000000..d400bb1c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011bb0.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011bb0 FUN_140011bb0 + * Pseudocode, not original source. */ + +undefined8 * FUN_140011bb0(undefined8 *param_1,char *param_2) + +{ + undefined8 *puVar1; + char cVar2; + ulonglong uVar3; + char *pcVar4; + + param_1[1] = 0xffffffffffffffff; + param_1[2] = 0; + param_1[7] = &DAT_140162cd0; + param_1[3] = 0; + *(undefined4 *)(param_1 + 4) = 1; + param_1[9] = 0; + param_1[10] = 0; + *param_1 = TiXmlElement::vftable; + puVar1 = param_1 + 0xb; + param_1[0xc] = 0xffffffffffffffff; + param_1[0xd] = 0; + *puVar1 = TiXmlAttribute::vftable; + param_1[0xf] = &DAT_140162cd0; + param_1[0x11] = &DAT_140162cd0; + param_1[0xe] = 0; + param_1[0x14] = puVar1; + param_1[0x13] = puVar1; + param_1[6] = 0; + param_1[5] = 0; + uVar3 = 0xffffffffffffffff; + pcVar4 = param_2; + do { + if (uVar3 == 0) break; + uVar3 = uVar3 - 1; + cVar2 = *pcVar4; + pcVar4 = pcVar4 + 1; + } while (cVar2 != '\0'); + FUN_140010f70(param_1 + 7,param_2,~uVar3 - 1); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011c70.c b/decomp/Agent_Release_x64/full/functions/0x140011c70.c new file mode 100644 index 00000000..2a491a4f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011c70.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011c70 FUN_140011c70 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140011c70(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140011ca0(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011ca0.c b/decomp/Agent_Release_x64/full/functions/0x140011ca0.c new file mode 100644 index 00000000..7f4915ed --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011ca0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011ca0 FUN_140011ca0 + * Pseudocode, not original source. */ + +void FUN_140011ca0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = TiXmlElement::vftable; + FUN_140011d20((longlong)param_1); + if ((undefined8 *)param_1[0x11] != &DAT_140162cd0) { + operator_delete__((void *)param_1[0x12]); + } + if ((undefined8 *)param_1[0xf] != &DAT_140162cd0) { + operator_delete__((void *)param_1[0x10]); + } + param_1[0xb] = TiXmlBase::vftable; + FUN_1400118d0(param_1,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011d20.c b/decomp/Agent_Release_x64/full/functions/0x140011d20.c new file mode 100644 index 00000000..fd3274d8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011d20.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011d20 FUN_140011d20 + * Pseudocode, not original source. */ + +void FUN_140011d20(longlong param_1) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + + puVar2 = *(undefined8 **)(param_1 + 0x28); + while (puVar2 != (undefined8 *)0x0) { + puVar1 = (undefined8 *)puVar2[10]; + (**(code **)*puVar2)(puVar2,1); + puVar2 = puVar1; + } + *(undefined8 *)(param_1 + 0x28) = 0; + *(undefined8 *)(param_1 + 0x30) = 0; + do { + puVar2 = *(undefined8 **)(param_1 + 0xa0); + if ((puVar2 == (undefined8 *)(param_1 + 0x58)) || (puVar1 = puVar2, puVar2 == (undefined8 *)0x0) + ) { + return; + } + for (; puVar1 != (undefined8 *)(param_1 + 0x58); puVar1 = (undefined8 *)puVar1[9]) { + if (puVar1 == puVar2) { + *(undefined8 *)(puVar1[8] + 0x48) = puVar1[9]; + *(undefined8 *)(puVar1[9] + 0x40) = puVar1[8]; + puVar1[9] = 0; + puVar1[8] = 0; + break; + } + } + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011de0.c b/decomp/Agent_Release_x64/full/functions/0x140011de0.c new file mode 100644 index 00000000..6aab2287 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011de0.c @@ -0,0 +1,88 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011de0 FUN_140011de0 + * Pseudocode, not original source. */ + +void FUN_140011de0(longlong *param_1,char *param_2,char *param_3) + +{ + char cVar1; + char cVar2; + longlong *plVar3; + char *pcVar4; + undefined8 *puVar5; + ulonglong uVar6; + longlong lVar7; + + for (plVar3 = (longlong *)param_1[0x14]; plVar3 != param_1 + 0xb; plVar3 = (longlong *)plVar3[9]) + { + pcVar4 = (char *)(plVar3[4] + 0x10); + lVar7 = (longlong)param_2 - (longlong)pcVar4; + do { + cVar1 = *pcVar4; + cVar2 = pcVar4[lVar7]; + if (cVar1 != cVar2) break; + pcVar4 = pcVar4 + 1; + } while (cVar2 != '\0'); + if (cVar1 == cVar2) { + if (plVar3 != (longlong *)0x0) { + uVar6 = 0xffffffffffffffff; + pcVar4 = param_3; + goto code_r0x000140011e60; + } + break; + } + } + puVar5 = operator_new(0x50); + if (puVar5 == (undefined8 *)0x0) { + puVar5 = (undefined8 *)0x0; + } + else { + puVar5 = FUN_1400111e0(puVar5,param_2,param_3); + } + if (puVar5 != (undefined8 *)0x0) { + puVar5[9] = param_1 + 0xb; + puVar5[8] = param_1[0x13]; + *(undefined8 **)(param_1[0x13] + 0x48) = puVar5; + param_1[0x13] = (longlong)puVar5; + return; + } + while( true ) { + if (param_1 == (longlong *)0x0) { + return; + } + lVar7 = (**(code **)(*param_1 + 0x20))(param_1); + if (lVar7 != 0) break; + param_1 = (longlong *)param_1[3]; + } + lVar7 = (**(code **)(*param_1 + 0x20))(); + if (lVar7 == 0) { + return; + } + if (*(char *)(lVar7 + 0x58) != '\0') { + return; + } + *(undefined1 *)(lVar7 + 0x58) = 1; + *(undefined4 *)(lVar7 + 0x5c) = 3; + uVar6 = 0xffffffffffffffff; + pcVar4 = PTR_s_Memory_allocation_failed__14015aca8; + do { + if (uVar6 == 0) break; + uVar6 = uVar6 - 1; + cVar1 = *pcVar4; + pcVar4 = pcVar4 + 1; + } while (cVar1 != '\0'); + FUN_140010f70((longlong *)(lVar7 + 0x60),PTR_s_Memory_allocation_failed__14015aca8,~uVar6 - 1); + *(undefined8 *)(lVar7 + 0x74) = 0xffffffffffffffff; + return; + while( true ) { + uVar6 = uVar6 - 1; + cVar1 = *pcVar4; + pcVar4 = pcVar4 + 1; + if (cVar1 == '\0') break; +code_r0x000140011e60: + if (uVar6 == 0) break; + } + FUN_140010f70(plVar3 + 6,param_3,~uVar6 - 1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140011f50.c b/decomp/Agent_Release_x64/full/functions/0x140011f50.c new file mode 100644 index 00000000..f686dc88 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140011f50.c @@ -0,0 +1,64 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140011f50 FUN_140011f50 + * Pseudocode, not original source. */ + +void FUN_140011f50(longlong param_1,FILE *param_2,uint param_3) + +{ + longlong *plVar1; + longlong lVar2; + ulonglong uVar3; + ulonglong uVar4; + + uVar4 = (ulonglong)param_3; + uVar3 = uVar4; + if (0 < (int)param_3) { + do { + fprintf(param_2," "); + uVar3 = uVar3 - 1; + } while (uVar3 != 0); + } + fprintf(param_2,"<%s"); + plVar1 = *(longlong **)(param_1 + 0xa0); + if (plVar1 != (longlong *)(param_1 + 0x58)) { + do { + if (plVar1 == (longlong *)0x0) break; + fprintf(param_2," "); + (**(code **)(*plVar1 + 8))(plVar1,param_2,uVar4); + plVar1 = (longlong *)plVar1[9]; + } while ((*(longlong *)plVar1[6] != 0) || (*(longlong *)plVar1[4] != 0)); + } + plVar1 = *(longlong **)(param_1 + 0x28); + if (plVar1 == (longlong *)0x0) { + fprintf(param_2," />"); + } + else { + if ((plVar1 == *(longlong **)(param_1 + 0x30)) && + (lVar2 = (**(code **)(*plVar1 + 0x58))(plVar1), lVar2 != 0)) { + fprintf(param_2,">"); + (**(code **)(**(longlong **)(param_1 + 0x28) + 8)) + (*(longlong **)(param_1 + 0x28),param_2,param_3 + 1); + } + else { + fprintf(param_2,">"); + for (plVar1 = *(longlong **)(param_1 + 0x28); plVar1 != (longlong *)0x0; + plVar1 = (longlong *)plVar1[10]) { + lVar2 = (**(code **)(*plVar1 + 0x58))(plVar1); + if (lVar2 == 0) { + fprintf(param_2,"\n"); + } + (**(code **)(*plVar1 + 8))(plVar1,param_2,param_3 + 1); + } + fprintf(param_2,"\n"); + if (0 < (int)param_3) { + do { + fprintf(param_2," "); + uVar4 = uVar4 - 1; + } while (uVar4 != 0); + } + } + fprintf(param_2,""); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140012120.c b/decomp/Agent_Release_x64/full/functions/0x140012120.c new file mode 100644 index 00000000..13dad636 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140012120.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140012120 FUN_140012120 + * Pseudocode, not original source. */ + +void FUN_140012120(longlong param_1,longlong *param_2) + +{ + char cVar1; + longlong lVar2; + longlong *plVar3; + undefined8 *puVar4; + ulonglong uVar5; + char *pcVar6; + char *pcVar7; + + uVar5 = 0xffffffffffffffff; + pcVar6 = (char *)(*(longlong *)(param_1 + 0x38) + 0x10); + pcVar7 = pcVar6; + do { + if (uVar5 == 0) break; + uVar5 = uVar5 - 1; + cVar1 = *pcVar7; + pcVar7 = pcVar7 + 1; + } while (cVar1 != '\0'); + FUN_140010f70(param_2 + 7,pcVar6,~uVar5 - 1); + param_2[2] = *(longlong *)(param_1 + 0x10); + lVar2 = *(longlong *)(param_1 + 0xa0); + if (lVar2 != param_1 + 0x58) { + do { + if (lVar2 == 0) break; + FUN_140011de0(param_2,(char *)(*(longlong *)(lVar2 + 0x20) + 0x10), + (char *)(*(longlong *)(lVar2 + 0x30) + 0x10)); + lVar2 = *(longlong *)(lVar2 + 0x48); + } while ((**(longlong **)(lVar2 + 0x30) != 0) || (**(longlong **)(lVar2 + 0x20) != 0)); + } + for (plVar3 = *(longlong **)(param_1 + 0x28); plVar3 != (longlong *)0x0; + plVar3 = (longlong *)plVar3[10]) { + puVar4 = (undefined8 *)(**(code **)(*plVar3 + 0x78))(plVar3); + FUN_1400119b0(param_2,puVar4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400121f0.c b/decomp/Agent_Release_x64/full/functions/0x1400121f0.c new file mode 100644 index 00000000..2c049517 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400121f0.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400121f0 FUN_1400121f0 + * Pseudocode, not original source. */ + +void FUN_1400121f0(longlong param_1,longlong *param_2) + +{ + longlong *plVar1; + char cVar2; + longlong lVar3; + + lVar3 = *(longlong *)(param_1 + 0xa0); + if (*(longlong *)(param_1 + 0xa0) == param_1 + 0x58) { + lVar3 = 0; + } + cVar2 = (**(code **)(*param_2 + 8))(param_2,param_1,lVar3); + if (cVar2 != '\0') { + plVar1 = *(longlong **)(param_1 + 0x28); + while ((plVar1 != (longlong *)0x0 && + (cVar2 = (**(code **)(*plVar1 + 0x80))(plVar1,param_2), cVar2 != '\0'))) { + plVar1 = (longlong *)plVar1[10]; + } + } + /* WARNING: Could not recover jumptable at 0x000140012264. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*param_2 + 0x18))(param_2,param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140012270.c b/decomp/Agent_Release_x64/full/functions/0x140012270.c new file mode 100644 index 00000000..57e7f6b0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140012270.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140012270 FUN_140012270 + * Pseudocode, not original source. */ + +longlong * FUN_140012270(longlong param_1) + +{ + undefined8 *puVar1; + longlong *plVar2; + + puVar1 = operator_new(0xa8); + if (puVar1 == (undefined8 *)0x0) { + plVar2 = (longlong *)0x0; + } + else { + plVar2 = FUN_140011bb0(puVar1,(char *)(*(longlong *)(param_1 + 0x38) + 0x10)); + } + if (plVar2 == (longlong *)0x0) { + plVar2 = (longlong *)0x0; + } + else { + FUN_140012120(param_1,plVar2); + } + return plVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400122e0.c b/decomp/Agent_Release_x64/full/functions/0x1400122e0.c new file mode 100644 index 00000000..7af67403 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400122e0.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400122e0 FUN_1400122e0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400122e0(undefined8 *param_1) + +{ + param_1[1] = 0xffffffffffffffff; + param_1[2] = 0; + param_1[7] = &DAT_140162cd0; + param_1[3] = 0; + *(undefined4 *)(param_1 + 4) = 0; + param_1[5] = 0; + param_1[6] = 0; + param_1[9] = 0; + param_1[10] = 0; + *param_1 = TiXmlDocument::vftable; + param_1[0xc] = &DAT_140162cd0; + *(undefined8 *)((longlong)param_1 + 0x74) = 0xffffffffffffffff; + *(undefined4 *)(param_1 + 0xe) = 4; + *(undefined1 *)((longlong)param_1 + 0x7c) = 0; + *(undefined1 *)(param_1 + 0xb) = 0; + *(undefined4 *)((longlong)param_1 + 0x5c) = 0; + FUN_140010f70(param_1 + 0xc,&DAT_14011e21c,0); + *(undefined8 *)((longlong)param_1 + 0x74) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140012380.c b/decomp/Agent_Release_x64/full/functions/0x140012380.c new file mode 100644 index 00000000..60b0ff5f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140012380.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140012380 FUN_140012380 + * Pseudocode, not original source. */ + +undefined8 * FUN_140012380(undefined8 *param_1,char *param_2) + +{ + char cVar1; + ulonglong uVar2; + char *pcVar3; + + param_1[1] = 0xffffffffffffffff; + param_1[2] = 0; + param_1[7] = &DAT_140162cd0; + param_1[3] = 0; + *(undefined4 *)(param_1 + 4) = 0; + param_1[5] = 0; + param_1[6] = 0; + param_1[9] = 0; + param_1[10] = 0; + *param_1 = TiXmlDocument::vftable; + param_1[0xc] = &DAT_140162cd0; + *(undefined8 *)((longlong)param_1 + 0x74) = 0xffffffffffffffff; + *(undefined4 *)(param_1 + 0xe) = 4; + *(undefined1 *)((longlong)param_1 + 0x7c) = 0; + uVar2 = 0xffffffffffffffff; + pcVar3 = param_2; + do { + if (uVar2 == 0) break; + uVar2 = uVar2 - 1; + cVar1 = *pcVar3; + pcVar3 = pcVar3 + 1; + } while (cVar1 != '\0'); + FUN_140010f70(param_1 + 7,param_2,~uVar2 - 1); + *(undefined1 *)(param_1 + 0xb) = 0; + *(undefined4 *)((longlong)param_1 + 0x5c) = 0; + FUN_140010f70(param_1 + 0xc,&DAT_14011e21c,0); + *(undefined8 *)((longlong)param_1 + 0x74) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140012450.c b/decomp/Agent_Release_x64/full/functions/0x140012450.c new file mode 100644 index 00000000..0fcbd858 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140012450.c @@ -0,0 +1,87 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140012450 FUN_140012450 + * Pseudocode, not original source. */ + +ulonglong FUN_140012450(longlong *param_1,char *param_2) + +{ + char cVar1; + undefined1 auVar2 [16]; + FILE *_File; + errno_t eVar3; + __uint64 _Var4; + undefined4 extraout_var; + longlong *plVar5; + longlong *extraout_RAX; + ulonglong uVar6; + size_t sVar7; + char *pcVar8; + size_t *psVar9; + FILE *local_res8; + size_t *local_38; + + uVar6 = 0xffffffffffffffff; + pcVar8 = param_2; + do { + if (uVar6 == 0) break; + uVar6 = uVar6 - 1; + cVar1 = *pcVar8; + pcVar8 = pcVar8 + 1; + } while (cVar1 != '\0'); + uVar6 = ~uVar6; + sVar7 = uVar6 - 1; + if (sVar7 == 0) { + psVar9 = &DAT_140162cd0; + } + else { + auVar2._8_8_ = 0; + auVar2._0_8_ = uVar6 + 0x1a >> 2; + _Var4 = SUB168(ZEXT816(4) * auVar2,0); + if (SUB168(ZEXT816(4) * auVar2,8) != 0) { + _Var4 = 0xffffffffffffffff; + } + local_38 = operator_new(_Var4); + *local_38 = sVar7; + *(undefined1 *)((longlong)local_38 + uVar6 + 0xf) = 0; + local_38[1] = sVar7; + psVar9 = local_38; + } + memcpy(psVar9 + 2,param_2,*psVar9); + FUN_140010f70(param_1 + 7,psVar9 + 2,*psVar9); + local_res8 = (FILE *)0x0; + eVar3 = fopen_s(&local_res8,(char *)(param_1[7] + 0x10),"rb"); + _File = local_res8; + plVar5 = (longlong *)CONCAT44(extraout_var,eVar3); + if ((eVar3 == 0) && (local_res8 != (FILE *)0x0)) { + uVar6 = FUN_1400125d0(param_1,local_res8); + fclose(_File); + if (psVar9 != &DAT_140162cd0) { + operator_delete__(local_38); + } + uVar6 = uVar6 & 0xff; + } + else { + if ((char)param_1[0xb] == '\0') { + *(undefined1 *)(param_1 + 0xb) = 1; + *(undefined4 *)((longlong)param_1 + 0x5c) = 2; + uVar6 = 0xffffffffffffffff; + pcVar8 = PTR_s_Failed_to_open_file_14015aca0; + do { + if (uVar6 == 0) break; + uVar6 = uVar6 - 1; + cVar1 = *pcVar8; + pcVar8 = pcVar8 + 1; + } while (cVar1 != '\0'); + plVar5 = FUN_140010f70(param_1 + 0xc,PTR_s_Failed_to_open_file_14015aca0,~uVar6 - 1); + *(undefined4 *)(param_1 + 0xf) = 0xffffffff; + *(undefined4 *)((longlong)param_1 + 0x74) = 0xffffffff; + } + if (psVar9 != &DAT_140162cd0) { + operator_delete__(local_38); + plVar5 = extraout_RAX; + } + uVar6 = (ulonglong)plVar5 & 0xffffffffffffff00; + } + return uVar6; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400125d0.c b/decomp/Agent_Release_x64/full/functions/0x1400125d0.c new file mode 100644 index 00000000..f86da308 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400125d0.c @@ -0,0 +1,264 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400125d0 FUN_1400125d0 + * Pseudocode, not original source. */ + +/* WARNING: Type propagation algorithm not settling */ + +ulonglong FUN_1400125d0(longlong *param_1,FILE *param_2) + +{ + char cVar1; + ulonglong uVar2; + ulonglong uVar3; + undefined1 auVar4 [16]; + undefined1 auVar5 [16]; + undefined1 auVar6 [16]; + ulonglong *puVar7; + long lVar8; + int iVar9; + longlong *in_RAX; + undefined4 extraout_var; + char *pcVar10; + size_t sVar11; + longlong *extraout_RAX; + longlong *extraout_RAX_00; + __uint64 _Var12; + ulonglong *puVar13; + ulonglong *puVar14; + longlong *extraout_RAX_01; + ulonglong uVar15; + ulonglong uVar16; + char *pcVar17; + char *_Src; + char *pcVar18; + ulonglong *local_res10; + ulonglong *local_res18; + ulonglong *local_res20; + ulonglong *local_a8; + ulonglong *local_88; + ulonglong *local_80; + ulonglong *local_78; + ulonglong *local_70; + ulonglong *local_68; + ulonglong *local_60; + ulonglong *local_58; + ulonglong *local_50; + + if (param_2 == (FILE *)0x0) { + if ((char)param_1[0xb] != '\0') goto LAB_14001263a; + *(undefined1 *)(param_1 + 0xb) = 1; + *(undefined4 *)((longlong)param_1 + 0x5c) = 2; + pcVar10 = PTR_s_Failed_to_open_file_14015aca0; + } + else { + FUN_140011950((longlong)param_1); + param_1[1] = -1; + fseek(param_2,0,2); + lVar8 = ftell(param_2); + uVar15 = (ulonglong)lVar8; + iVar9 = fseek(param_2,0,0); + in_RAX = (longlong *)CONCAT44(extraout_var,iVar9); + if (0 < lVar8) { + local_88 = &DAT_140162cd0; + if (DAT_140162cd8 < uVar15) { + FUN_140010ea0((longlong *)&local_88,uVar15); + } + puVar14 = local_88; + pcVar10 = operator_new((longlong)(lVar8 + 1)); + *pcVar10 = '\0'; + sVar11 = fread(pcVar10,uVar15,1,param_2); + if (sVar11 == 1) { + pcVar10[uVar15] = '\0'; + pcVar18 = pcVar10; + _Src = pcVar10; + if (*pcVar10 != '\0') { + local_res18 = local_70; + local_res20 = local_60; + local_a8 = local_50; + pcVar17 = pcVar10; + do { + puVar13 = &DAT_140162cd0; + if (*pcVar17 == '\n') { + pcVar18 = pcVar17 + (1 - (longlong)_Src) + *puVar14; + puVar7 = puVar14; + if (((char *)puVar14[1] < pcVar18) && + (uVar15 = puVar14[1] + (longlong)pcVar18, puVar14[1] < uVar15)) { + local_78 = &DAT_140162cd0; + local_res10 = (ulonglong *)*puVar14; + if (uVar15 != 0) { + auVar4._8_8_ = 0; + auVar4._0_8_ = uVar15 + 0x1b >> 2; + _Var12 = SUB168(ZEXT816(4) * auVar4,0); + if (SUB168(ZEXT816(4) * auVar4,8) != 0) { + _Var12 = 0xffffffffffffffff; + } + puVar13 = operator_new(_Var12); + *puVar13 = (ulonglong)local_res10; + *(undefined1 *)((longlong)(puVar13 + 2) + (longlong)local_res10) = 0; + puVar13[1] = uVar15; + local_res18 = puVar13; + } + memcpy(puVar13 + 2,puVar14 + 2,*puVar14); + local_70 = local_80; + local_80 = local_res18; + local_res18 = local_70; + puVar7 = puVar13; + local_88 = puVar13; + local_78 = puVar14; + if (puVar14 != &DAT_140162cd0) { + operator_delete__(local_70); + } + } + puVar14 = puVar7; + memmove((void *)(*puVar14 + 0x10 + (longlong)puVar14),_Src, + (size_t)(pcVar17 + (1 - (longlong)_Src))); + *puVar14 = (ulonglong)pcVar18; + *(char *)((longlong)puVar14 + (longlong)(pcVar18 + 0x10)) = '\0'; + pcVar18 = pcVar17 + 1; + _Src = pcVar18; + } + else if (*pcVar17 == '\r') { + sVar11 = (longlong)pcVar17 - (longlong)_Src; + puVar13 = puVar14; + if (0 < (longlong)sVar11) { + uVar15 = sVar11 + *puVar14; + if ((puVar14[1] < uVar15) && (uVar16 = puVar14[1] + uVar15, puVar14[1] < uVar16)) { + local_68 = &DAT_140162cd0; + uVar2 = *puVar14; + if (uVar16 == 0) { + local_res10 = &DAT_140162cd0; + } + else { + auVar5._8_8_ = 0; + auVar5._0_8_ = uVar16 + 0x1b >> 2; + _Var12 = SUB168(ZEXT816(4) * auVar5,0); + if (SUB168(ZEXT816(4) * auVar5,8) != 0) { + _Var12 = 0xffffffffffffffff; + } + local_res10 = operator_new(_Var12); + *local_res10 = uVar2; + *(undefined1 *)((longlong)local_res10 + uVar2 + 0x10) = 0; + local_res10[1] = uVar16; + local_res20 = local_res10; + } + memcpy(local_res10 + 2,puVar14 + 2,*puVar14); + local_60 = local_80; + puVar13 = local_res10; + local_88 = local_res10; + local_80 = local_res20; + local_res20 = local_60; + local_68 = puVar14; + if (puVar14 != &DAT_140162cd0) { + operator_delete__(local_60); + } + } + memmove((void *)(*puVar13 + 0x10 + (longlong)puVar13),_Src,sVar11); + *puVar13 = uVar15; + *(undefined1 *)(uVar15 + 0x10 + (longlong)puVar13) = 0; + } + local_res10 = (ulonglong *)CONCAT71(local_res10._1_7_,10); + uVar15 = *puVar13; + uVar16 = uVar15 + 1; + puVar14 = puVar13; + if ((puVar13[1] < uVar16) && (uVar2 = puVar13[1] + uVar16, puVar13[1] < uVar2)) { + local_58 = &DAT_140162cd0; + uVar3 = *puVar13; + if (uVar2 == 0) { + puVar14 = &DAT_140162cd0; + } + else { + auVar6._8_8_ = 0; + auVar6._0_8_ = uVar2 + 0x1b >> 2; + _Var12 = SUB168(ZEXT816(4) * auVar6,0); + if (SUB168(ZEXT816(4) * auVar6,8) != 0) { + _Var12 = 0xffffffffffffffff; + } + puVar14 = operator_new(_Var12); + *puVar14 = uVar3; + *(undefined1 *)((longlong)puVar14 + uVar3 + 0x10) = 0; + puVar14[1] = uVar2; + local_a8 = puVar14; + } + memcpy(puVar14 + 2,puVar13 + 2,*puVar13); + local_50 = local_80; + local_80 = local_a8; + local_a8 = local_50; + local_88 = puVar14; + local_58 = puVar13; + if (puVar13 != &DAT_140162cd0) { + operator_delete__(local_50); + } + } + memmove((void *)(*puVar14 + 0x10 + (longlong)puVar14),&local_res10,1); + *puVar14 = uVar16; + *(undefined1 *)(uVar15 + 0x11 + (longlong)puVar14) = 0; + pcVar18 = pcVar17 + 1; + _Src = pcVar18; + if (*pcVar18 == '\n') { + pcVar18 = pcVar17 + 2; + _Src = pcVar18; + } + } + else { + pcVar18 = pcVar17 + 1; + } + pcVar17 = pcVar18; + } while (*pcVar18 != '\0'); + } + if ((longlong)pcVar18 - (longlong)_Src != 0) { + FUN_140011070((longlong *)&local_88,_Src,(longlong)pcVar18 - (longlong)_Src); + puVar14 = local_88; + } + operator_delete(pcVar10); + in_RAX = (longlong *)(**(code **)(*param_1 + 0x10))(param_1,puVar14 + 2,0,0); + if ((char)param_1[0xb] == '\0') { + if (puVar14 != &DAT_140162cd0) { + operator_delete__(local_80); + in_RAX = extraout_RAX_01; + } + return CONCAT71((int7)((ulonglong)in_RAX >> 8),1); + } + } + else { + operator_delete(pcVar10); + in_RAX = extraout_RAX; + if ((char)param_1[0xb] == '\0') { + *(undefined1 *)(param_1 + 0xb) = 1; + *(undefined4 *)((longlong)param_1 + 0x5c) = 2; + uVar15 = 0xffffffffffffffff; + pcVar10 = PTR_s_Failed_to_open_file_14015aca0; + do { + if (uVar15 == 0) break; + uVar15 = uVar15 - 1; + cVar1 = *pcVar10; + pcVar10 = pcVar10 + 1; + } while (cVar1 != '\0'); + in_RAX = FUN_140010f70(param_1 + 0xc,PTR_s_Failed_to_open_file_14015aca0,~uVar15 - 1); + *(undefined8 *)((longlong)param_1 + 0x74) = 0xffffffffffffffff; + } + } + if (puVar14 != &DAT_140162cd0) { + operator_delete__(local_80); + in_RAX = extraout_RAX_00; + } + goto LAB_14001263a; + } + if ((char)param_1[0xb] != '\0') goto LAB_14001263a; + *(undefined1 *)(param_1 + 0xb) = 1; + *(undefined4 *)((longlong)param_1 + 0x5c) = 0xd; + pcVar10 = PTR_s_Error_document_empty__14015acf8; + } + uVar15 = 0xffffffffffffffff; + pcVar18 = pcVar10; + do { + if (uVar15 == 0) break; + uVar15 = uVar15 - 1; + cVar1 = *pcVar18; + pcVar18 = pcVar18 + 1; + } while (cVar1 != '\0'); + in_RAX = FUN_140010f70(param_1 + 0xc,pcVar10,~uVar15 - 1); + *(undefined8 *)((longlong)param_1 + 0x74) = 0xffffffffffffffff; +LAB_14001263a: + return (ulonglong)in_RAX & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140012ae0.c b/decomp/Agent_Release_x64/full/functions/0x140012ae0.c new file mode 100644 index 00000000..2329b856 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140012ae0.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140012ae0 FUN_140012ae0 + * Pseudocode, not original source. */ + +void FUN_140012ae0(longlong param_1,longlong *param_2) + +{ + char cVar1; + longlong *plVar2; + undefined8 *puVar3; + ulonglong uVar4; + char *pcVar5; + char *pcVar6; + + uVar4 = 0xffffffffffffffff; + pcVar5 = (char *)(*(longlong *)(param_1 + 0x38) + 0x10); + pcVar6 = pcVar5; + do { + if (uVar4 == 0) break; + uVar4 = uVar4 - 1; + cVar1 = *pcVar6; + pcVar6 = pcVar6 + 1; + } while (cVar1 != '\0'); + FUN_140010f70(param_2 + 7,pcVar5,~uVar4 - 1); + param_2[2] = *(longlong *)(param_1 + 0x10); + *(undefined1 *)(param_2 + 0xb) = *(undefined1 *)(param_1 + 0x58); + *(undefined4 *)((longlong)param_2 + 0x5c) = *(undefined4 *)(param_1 + 0x5c); + FUN_140010f70(param_2 + 0xc,*(size_t **)(param_1 + 0x60) + 2,**(size_t **)(param_1 + 0x60)); + *(undefined4 *)(param_2 + 0xe) = *(undefined4 *)(param_1 + 0x70); + *(undefined8 *)((longlong)param_2 + 0x74) = *(undefined8 *)(param_1 + 0x74); + *(undefined1 *)((longlong)param_2 + 0x7c) = *(undefined1 *)(param_1 + 0x7c); + for (plVar2 = *(longlong **)(param_1 + 0x28); plVar2 != (longlong *)0x0; + plVar2 = (longlong *)plVar2[10]) { + puVar3 = (undefined8 *)(**(code **)(*plVar2 + 0x78))(plVar2); + FUN_1400119b0(param_2,puVar3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140012b90.c b/decomp/Agent_Release_x64/full/functions/0x140012b90.c new file mode 100644 index 00000000..a23e78d3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140012b90.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140012b90 FUN_140012b90 + * Pseudocode, not original source. */ + +longlong * FUN_140012b90(longlong param_1) + +{ + undefined8 *puVar1; + longlong *plVar2; + + puVar1 = operator_new(0x80); + if (puVar1 == (undefined8 *)0x0) { + plVar2 = (longlong *)0x0; + } + else { + plVar2 = FUN_1400122e0(puVar1); + } + if (plVar2 == (longlong *)0x0) { + plVar2 = (longlong *)0x0; + } + else { + FUN_140012ae0(param_1,plVar2); + } + return plVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140012bf0.c b/decomp/Agent_Release_x64/full/functions/0x140012bf0.c new file mode 100644 index 00000000..2e7d6959 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140012bf0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140012bf0 FUN_140012bf0 + * Pseudocode, not original source. */ + +void FUN_140012bf0(longlong param_1,FILE *param_2,undefined4 param_3) + +{ + longlong *plVar1; + + for (plVar1 = *(longlong **)(param_1 + 0x28); plVar1 != (longlong *)0x0; + plVar1 = (longlong *)plVar1[10]) { + (**(code **)(*plVar1 + 8))(plVar1,param_2,param_3); + fprintf(param_2,"\n"); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140012c50.c b/decomp/Agent_Release_x64/full/functions/0x140012c50.c new file mode 100644 index 00000000..67d7288d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140012c50.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140012c50 FUN_140012c50 + * Pseudocode, not original source. */ + +void FUN_140012c50(longlong param_1,longlong *param_2) + +{ + longlong *plVar1; + char cVar2; + + cVar2 = (**(code **)(*param_2 + 0x10))(param_2,param_1); + if (cVar2 != '\0') { + plVar1 = *(longlong **)(param_1 + 0x28); + while ((plVar1 != (longlong *)0x0 && + (cVar2 = (**(code **)(*plVar1 + 0x80))(plVar1,param_2), cVar2 != '\0'))) { + plVar1 = (longlong *)plVar1[10]; + } + } + /* WARNING: Could not recover jumptable at 0x000140012cb4. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*param_2 + 0x20))(param_2,param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140012cc0.c b/decomp/Agent_Release_x64/full/functions/0x140012cc0.c new file mode 100644 index 00000000..724467a6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140012cc0.c @@ -0,0 +1,102 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140012cc0 FUN_140012cc0 + * Pseudocode, not original source. */ + +/* WARNING: Restarted to delay deadcode elimination for space: register */ + +void FUN_140012cc0(longlong param_1,FILE *param_2,longlong *param_3) + +{ + ulonglong uVar1; + char cVar2; + longlong *plVar3; + size_t *psVar4; + size_t *psVar5; + longlong *plVar6; + undefined *_Src; + ulonglong uVar7; + size_t *local_30; + void *local_28; + size_t *local_20; + void *local_18; + + local_20 = &DAT_140162cd0; + local_30 = &DAT_140162cd0; + FUN_140011550((undefined8 *)(param_1 + 0x20),(longlong *)&local_20); + FUN_140011550((undefined8 *)(param_1 + 0x30),(longlong *)&local_30); + psVar5 = local_20; + psVar4 = local_30; + plVar3 = *(longlong **)(param_1 + 0x30); + if (*plVar3 != 0) { + plVar6 = plVar3 + 2; + cVar2 = (char)*plVar6; + while (cVar2 != '\0') { + if (cVar2 == '\"') { + if ((longlong)plVar6 - (longlong)plVar3 != 0xf) { + if (param_2 != (FILE *)0x0) { + fprintf(param_2,"%s=\'%s\'",local_20 + 2,local_30 + 2); + } + if (param_3 == (longlong *)0x0) goto LAB_140012f15; + FUN_140011070(param_3,psVar5 + 2,*psVar5); + plVar3 = (longlong *)*param_3; + uVar7 = *plVar3 + 2; + if (((ulonglong)plVar3[1] < uVar7) && + (uVar1 = plVar3[1] + uVar7, (ulonglong)plVar3[1] < uVar1)) { + FUN_140010ea0(param_3,uVar1); + } + memmove((void *)(*param_3 + *(longlong *)*param_3 + 0x10),&DAT_14011e278,2); + *(ulonglong *)*param_3 = uVar7; + *(undefined1 *)(*param_3 + 0x10 + uVar7) = 0; + FUN_140011070(param_3,psVar4 + 2,*psVar4); + plVar3 = (longlong *)*param_3; + uVar7 = *plVar3 + 1; + if (((ulonglong)plVar3[1] < uVar7) && + (uVar1 = plVar3[1] + uVar7, (ulonglong)plVar3[1] < uVar1)) { + FUN_140010ea0(param_3,uVar1); + } + _Src = &DAT_14011e27c; + goto LAB_140012ef0; + } + break; + } + plVar6 = (longlong *)((longlong)plVar6 + 1); + cVar2 = *(char *)plVar6; + } + } + if (param_2 != (FILE *)0x0) { + fprintf(param_2,"%s=\"%s\"",local_20 + 2,local_30 + 2); + } + if (param_3 != (longlong *)0x0) { + FUN_140011070(param_3,psVar5 + 2,*psVar5); + plVar3 = (longlong *)*param_3; + uVar7 = *plVar3 + 2; + if (((ulonglong)plVar3[1] < uVar7) && (uVar1 = plVar3[1] + uVar7, (ulonglong)plVar3[1] < uVar1)) + { + FUN_140010ea0(param_3,uVar1); + } + memmove((void *)(*param_3 + *(longlong *)*param_3 + 0x10),&DAT_14011e268,2); + *(ulonglong *)*param_3 = uVar7; + *(undefined1 *)(*param_3 + 0x10 + uVar7) = 0; + FUN_140011070(param_3,psVar4 + 2,*psVar4); + plVar3 = (longlong *)*param_3; + uVar7 = *plVar3 + 1; + if (((ulonglong)plVar3[1] < uVar7) && (uVar1 = plVar3[1] + uVar7, (ulonglong)plVar3[1] < uVar1)) + { + FUN_140010ea0(param_3,uVar1); + } + _Src = &DAT_14011e26c; +LAB_140012ef0: + memmove((void *)(*param_3 + *(longlong *)*param_3 + 0x10),_Src,1); + *(ulonglong *)*param_3 = uVar7; + *(undefined1 *)(*param_3 + 0x10 + uVar7) = 0; + } +LAB_140012f15: + if (psVar4 != &DAT_140162cd0) { + operator_delete__(local_28); + } + if (psVar5 != &DAT_140162cd0) { + operator_delete__(local_18); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140012f60.c b/decomp/Agent_Release_x64/full/functions/0x140012f60.c new file mode 100644 index 00000000..fbdeb580 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140012f60.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140012f60 FUN_140012f60 + * Pseudocode, not original source. */ + +void FUN_140012f60(undefined8 param_1,FILE *param_2,uint param_3) + +{ + ulonglong uVar1; + + if (0 < (int)param_3) { + uVar1 = (ulonglong)param_3; + do { + fprintf(param_2," "); + uVar1 = uVar1 - 1; + } while (uVar1 != 0); + } + /* WARNING: Could not recover jumptable at 0x000140012fb6. Too many branches */ + /* WARNING: Treating indirect jump as call */ + fprintf(param_2,""); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140012fc0.c b/decomp/Agent_Release_x64/full/functions/0x140012fc0.c new file mode 100644 index 00000000..57434ddb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140012fc0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140012fc0 FUN_140012fc0 + * Pseudocode, not original source. */ + +void FUN_140012fc0(undefined8 param_1,longlong *param_2) + +{ + /* WARNING: Could not recover jumptable at 0x000140012fcc. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*param_2 + 0x30))(param_2,param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140012fd0.c b/decomp/Agent_Release_x64/full/functions/0x140012fd0.c new file mode 100644 index 00000000..3744c285 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140012fd0.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140012fd0 FUN_140012fd0 + * Pseudocode, not original source. */ + +undefined8 * FUN_140012fd0(longlong param_1) + +{ + char cVar1; + undefined8 *puVar2; + ulonglong uVar3; + char *pcVar4; + char *pcVar5; + + puVar2 = operator_new(0x58); + if (puVar2 == (undefined8 *)0x0) { + return (undefined8 *)0x0; + } + puVar2[1] = 0xffffffffffffffff; + uVar3 = 0xffffffffffffffff; + puVar2[2] = 0; + puVar2[7] = &DAT_140162cd0; + puVar2[3] = 0; + puVar2[5] = 0; + puVar2[6] = 0; + puVar2[9] = 0; + puVar2[10] = 0; + *(undefined4 *)(puVar2 + 4) = 2; + *puVar2 = TiXmlComment::vftable; + pcVar4 = (char *)(*(longlong *)(param_1 + 0x38) + 0x10); + pcVar5 = pcVar4; + do { + if (uVar3 == 0) break; + uVar3 = uVar3 - 1; + cVar1 = *pcVar5; + pcVar5 = pcVar5 + 1; + } while (cVar1 != '\0'); + FUN_140010f70(puVar2 + 7,pcVar4,~uVar3 - 1); + puVar2[2] = *(undefined8 *)(param_1 + 0x10); + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140013160.c b/decomp/Agent_Release_x64/full/functions/0x140013160.c new file mode 100644 index 00000000..115d4e0b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140013160.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140013160 FUN_140013160 + * Pseudocode, not original source. */ + +void FUN_140013160(undefined8 param_1,longlong *param_2) + +{ + /* WARNING: Could not recover jumptable at 0x00014001316c. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*param_2 + 0x38))(param_2,param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140013170.c b/decomp/Agent_Release_x64/full/functions/0x140013170.c new file mode 100644 index 00000000..3629e132 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140013170.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140013170 FUN_140013170 + * Pseudocode, not original source. */ + +undefined8 * FUN_140013170(longlong param_1) + +{ + char cVar1; + undefined8 *puVar2; + undefined8 *puVar3; + ulonglong uVar4; + char *pcVar5; + char *pcVar6; + + puVar2 = operator_new(0x60); + if (puVar2 == (undefined8 *)0x0) { + puVar2 = (undefined8 *)0x0; + } + else { + puVar2 = FUN_1400113a0(puVar2); + } + puVar3 = (undefined8 *)0x0; + if (puVar2 != (undefined8 *)0x0) { + pcVar5 = (char *)(*(longlong *)(param_1 + 0x38) + 0x10); + uVar4 = 0xffffffffffffffff; + pcVar6 = pcVar5; + do { + if (uVar4 == 0) break; + uVar4 = uVar4 - 1; + cVar1 = *pcVar6; + pcVar6 = pcVar6 + 1; + } while (cVar1 != '\0'); + FUN_140010f70(puVar2 + 7,pcVar5,~uVar4 - 1); + puVar2[2] = *(undefined8 *)(param_1 + 0x10); + *(undefined1 *)(puVar2 + 0xb) = *(undefined1 *)(param_1 + 0x58); + puVar3 = puVar2; + } + return puVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140013200.c b/decomp/Agent_Release_x64/full/functions/0x140013200.c new file mode 100644 index 00000000..77291631 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140013200.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140013200 FUN_140013200 + * Pseudocode, not original source. */ + +undefined8 * FUN_140013200(undefined8 *param_1) + +{ + param_1[1] = 0xffffffffffffffff; + param_1[2] = 0; + param_1[7] = &DAT_140162cd0; + param_1[3] = 0; + *(undefined4 *)(param_1 + 4) = 5; + param_1[5] = 0; + param_1[6] = 0; + param_1[9] = 0; + param_1[10] = 0; + *param_1 = TiXmlDeclaration::vftable; + param_1[0xb] = &DAT_140162cd0; + param_1[0xd] = &DAT_140162cd0; + param_1[0xf] = &DAT_140162cd0; + FUN_140010f70(param_1 + 0xb,&DAT_14011fcfc,3); + FUN_140010f70(param_1 + 0xd,&DAT_14011e21c,0); + FUN_140010f70(param_1 + 0xf,&DAT_14011e21c,0); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400132c0.c b/decomp/Agent_Release_x64/full/functions/0x1400132c0.c new file mode 100644 index 00000000..e4e7db0b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400132c0.c @@ -0,0 +1,123 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400132c0 FUN_1400132c0 + * Pseudocode, not original source. */ + +void FUN_1400132c0(longlong param_1,FILE *param_2,undefined8 param_3,longlong *param_4) + +{ + ulonglong uVar1; + longlong *plVar2; + longlong lVar3; + ulonglong uVar4; + + if (param_2 != (FILE *)0x0) { + fprintf(param_2,""); + } + if (param_4 != (longlong *)0x0) { + plVar2 = (longlong *)*param_4; + lVar3 = *plVar2; + uVar4 = lVar3 + 2; + if (((ulonglong)plVar2[1] < uVar4) && (uVar1 = plVar2[1] + uVar4, (ulonglong)plVar2[1] < uVar1)) + { + FUN_140010ea0(param_4,uVar1); + } + memmove((void *)(*param_4 + *(longlong *)*param_4 + 0x10),&DAT_14011e310,2); + *(ulonglong *)*param_4 = uVar4; + *(undefined1 *)(lVar3 + 0x12 + *param_4) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140013680.c b/decomp/Agent_Release_x64/full/functions/0x140013680.c new file mode 100644 index 00000000..0fb953d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140013680.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140013680 FUN_140013680 + * Pseudocode, not original source. */ + +void FUN_140013680(longlong param_1,longlong param_2) + +{ + char cVar1; + ulonglong uVar2; + char *pcVar3; + char *pcVar4; + + uVar2 = 0xffffffffffffffff; + pcVar3 = (char *)(*(longlong *)(param_1 + 0x38) + 0x10); + pcVar4 = pcVar3; + do { + if (uVar2 == 0) break; + uVar2 = uVar2 - 1; + cVar1 = *pcVar4; + pcVar4 = pcVar4 + 1; + } while (cVar1 != '\0'); + FUN_140010f70((longlong *)(param_2 + 0x38),pcVar3,~uVar2 - 1); + *(undefined8 *)(param_2 + 0x10) = *(undefined8 *)(param_1 + 0x10); + FUN_140010f70((longlong *)(param_2 + 0x58),*(size_t **)(param_1 + 0x58) + 2, + **(size_t **)(param_1 + 0x58)); + FUN_140010f70((longlong *)(param_2 + 0x68),*(size_t **)(param_1 + 0x68) + 2, + **(size_t **)(param_1 + 0x68)); + FUN_140010f70((longlong *)(param_2 + 0x78),*(size_t **)(param_1 + 0x78) + 2, + **(size_t **)(param_1 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140013710.c b/decomp/Agent_Release_x64/full/functions/0x140013710.c new file mode 100644 index 00000000..36176241 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140013710.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140013710 FUN_140013710 + * Pseudocode, not original source. */ + +void FUN_140013710(undefined8 param_1,longlong *param_2) + +{ + /* WARNING: Could not recover jumptable at 0x00014001371c. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*param_2 + 0x40))(param_2,param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140013720.c b/decomp/Agent_Release_x64/full/functions/0x140013720.c new file mode 100644 index 00000000..c6c6f76e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140013720.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140013720 FUN_140013720 + * Pseudocode, not original source. */ + +undefined8 * FUN_140013720(longlong param_1) + +{ + undefined8 *puVar1; + + puVar1 = operator_new(0x88); + if (puVar1 != (undefined8 *)0x0) { + puVar1[1] = 0xffffffffffffffff; + puVar1[2] = 0; + puVar1[7] = &DAT_140162cd0; + puVar1[3] = 0; + puVar1[5] = 0; + puVar1[6] = 0; + puVar1[9] = 0; + puVar1[10] = 0; + *(undefined4 *)(puVar1 + 4) = 5; + *puVar1 = TiXmlDeclaration::vftable; + puVar1[0xb] = &DAT_140162cd0; + puVar1[0xd] = &DAT_140162cd0; + puVar1[0xf] = &DAT_140162cd0; + FUN_140013680(param_1,(longlong)puVar1); + return puVar1; + } + return (undefined8 *)0x0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400137b0.c b/decomp/Agent_Release_x64/full/functions/0x1400137b0.c new file mode 100644 index 00000000..87d3c4ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400137b0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400137b0 FUN_1400137b0 + * Pseudocode, not original source. */ + +void FUN_1400137b0(undefined8 param_1,FILE *param_2,uint param_3) + +{ + ulonglong uVar1; + + if (0 < (int)param_3) { + uVar1 = (ulonglong)param_3; + do { + fprintf(param_2," "); + uVar1 = uVar1 - 1; + } while (uVar1 != 0); + } + /* WARNING: Could not recover jumptable at 0x000140013806. Too many branches */ + /* WARNING: Treating indirect jump as call */ + fprintf(param_2,"<%s>"); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140013810.c b/decomp/Agent_Release_x64/full/functions/0x140013810.c new file mode 100644 index 00000000..6fb05d71 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140013810.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140013810 FUN_140013810 + * Pseudocode, not original source. */ + +void FUN_140013810(undefined8 param_1,longlong *param_2) + +{ + /* WARNING: Could not recover jumptable at 0x00014001381c. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*param_2 + 0x28))(param_2,param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140013820.c b/decomp/Agent_Release_x64/full/functions/0x140013820.c new file mode 100644 index 00000000..e0e2e60f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140013820.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140013820 FUN_140013820 + * Pseudocode, not original source. */ + +undefined8 * FUN_140013820(longlong param_1) + +{ + char cVar1; + undefined8 *puVar2; + ulonglong uVar3; + char *pcVar4; + char *pcVar5; + + puVar2 = operator_new(0x58); + if (puVar2 == (undefined8 *)0x0) { + return (undefined8 *)0x0; + } + puVar2[1] = 0xffffffffffffffff; + uVar3 = 0xffffffffffffffff; + puVar2[2] = 0; + puVar2[7] = &DAT_140162cd0; + puVar2[3] = 0; + puVar2[5] = 0; + puVar2[6] = 0; + puVar2[9] = 0; + puVar2[10] = 0; + *(undefined4 *)(puVar2 + 4) = 3; + *puVar2 = TiXmlUnknown::vftable; + pcVar4 = (char *)(*(longlong *)(param_1 + 0x38) + 0x10); + pcVar5 = pcVar4; + do { + if (uVar3 == 0) break; + uVar3 = uVar3 - 1; + cVar1 = *pcVar5; + pcVar5 = pcVar5 + 1; + } while (cVar1 != '\0'); + FUN_140010f70(puVar2 + 7,pcVar4,~uVar3 - 1); + puVar2[2] = *(undefined8 *)(param_1 + 0x10); + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400138d0.c b/decomp/Agent_Release_x64/full/functions/0x1400138d0.c new file mode 100644 index 00000000..19b9e88c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400138d0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400138d0 FUN_1400138d0 + * Pseudocode, not original source. */ + +void FUN_1400138d0(char *param_1,size_t param_2,char *param_3,undefined8 param_4) + +{ + undefined8 local_res20; + + local_res20 = param_4; + _vsnprintf_s(param_1,0x40,param_2,param_3,(va_list)&local_res20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140013900.c b/decomp/Agent_Release_x64/full/functions/0x140013900.c new file mode 100644 index 00000000..61a78ef9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140013900.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140013900 FUN_140013900 + * Pseudocode, not original source. */ + +undefined4 FUN_140013900(byte param_1) + +{ + int iVar1; + + iVar1 = isspace((uint)param_1); + if (((iVar1 == 0) && (param_1 != 10)) && (param_1 != 0xd)) { + return 0; + } + return CONCAT31((int3)((uint)iVar1 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140013930.c b/decomp/Agent_Release_x64/full/functions/0x140013930.c new file mode 100644 index 00000000..17372173 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140013930.c @@ -0,0 +1,87 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140013930 FUN_140013930 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140013930(uint param_1,longlong param_2,int *param_3) + +{ + int iVar1; + byte bVar2; + byte *pbVar3; + byte local_38 [32]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)local_38; + local_38[8] = 0xc0; + local_38[9] = 0; + local_38[10] = 0; + local_38[0xb] = 0; + local_38[0xc] = 0xe0; + local_38[0xd] = 0; + local_38[0xe] = 0; + local_38[0xf] = 0; + local_38[0x10] = 0xf0; + local_38[0x11] = 0; + local_38[0x12] = 0; + local_38[0x13] = 0; + local_38[0x14] = 0xf8; + local_38[0x15] = 0; + local_38[0x16] = 0; + local_38[0x17] = 0; + local_38[0] = 0; + local_38[1] = 0; + local_38[2] = 0; + local_38[3] = 0; + local_38[4] = 0; + local_38[5] = 0; + local_38[6] = 0; + local_38[7] = 0; + local_38[0x18] = 0xfc; + local_38[0x19] = 0; + local_38[0x1a] = 0; + local_38[0x1b] = 0; + if (param_1 < 0x80) { + *param_3 = 1; + } + else if (param_1 < 0x800) { + *param_3 = 2; + } + else if (param_1 < 0x10000) { + *param_3 = 3; + } + else { + if (0x1fffff < param_1) { + *param_3 = 0; + return; + } + *param_3 = 4; + } + iVar1 = *param_3; + pbVar3 = (byte *)(param_2 + iVar1); + if (iVar1 != 1) { + if (iVar1 != 2) { + if (iVar1 != 3) { + if (iVar1 != 4) { + return; + } + pbVar3 = pbVar3 + -1; + bVar2 = (byte)param_1; + param_1 = param_1 >> 6; + *pbVar3 = bVar2 & 0x3f | 0x80; + } + pbVar3 = pbVar3 + -1; + bVar2 = (byte)param_1; + param_1 = param_1 >> 6; + *pbVar3 = bVar2 & 0x3f | 0x80; + } + pbVar3 = pbVar3 + -1; + bVar2 = (byte)param_1; + param_1 = param_1 >> 6; + *pbVar3 = bVar2 & 0x3f | 0x80; + } + pbVar3[-1] = local_38[(longlong)*param_3 * 4] | (byte)param_1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140013a40.c b/decomp/Agent_Release_x64/full/functions/0x140013a40.c new file mode 100644 index 00000000..8f2d92ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140013a40.c @@ -0,0 +1,97 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140013a40 FUN_140013a40 + * Pseudocode, not original source. */ + +void FUN_140013a40(int *param_1,byte *param_2,int param_3) + +{ + byte bVar1; + byte bVar2; + int iVar3; + byte *pbVar4; + byte *pbVar5; + int iVar6; + int iVar7; + int iVar8; + + iVar3 = param_1[4]; + if (0 < iVar3) { + iVar8 = *param_1; + iVar7 = param_1[1]; + pbVar5 = *(byte **)(param_1 + 2); +joined_r0x000140013a78: + pbVar4 = pbVar5; + if (pbVar4 < param_2) { + bVar1 = *pbVar4; + if (bVar1 == 0) { + return; + } + if (bVar1 == 9) { + iVar7 = (iVar7 / iVar3 + 1) * iVar3; + pbVar5 = pbVar4 + 1; + } + else { + if (bVar1 != 10) { + if (bVar1 == 0xd) { + iVar8 = iVar8 + 1; + iVar7 = 0; + pbVar5 = pbVar4 + 1; + if (pbVar4[1] == 10) { + pbVar5 = pbVar4 + 2; + } + goto joined_r0x000140013a78; + } + if (bVar1 == 0xef) { + if (param_3 == 1) { + bVar1 = pbVar4[1]; + pbVar5 = pbVar4; + if ((bVar1 != 0) && (bVar2 = pbVar4[2], bVar2 != 0)) { + if ((bVar1 != 0xbb) || (bVar2 != 0xbf)) { + if (bVar1 == 0xbf) { + if (bVar2 == 0xbe) { + pbVar5 = pbVar4 + 3; + goto joined_r0x000140013a78; + } + if (bVar2 == 0xbf) { + pbVar5 = pbVar4 + 3; + goto joined_r0x000140013a78; + } + } + iVar7 = iVar7 + 1; + pbVar5 = pbVar4 + 3; + goto joined_r0x000140013a78; + } + pbVar5 = pbVar4 + 3; + } + goto joined_r0x000140013a78; + } + } + else if (param_3 == 1) { + iVar6 = *(int *)(&DAT_14011c2e0 + (ulonglong)bVar1 * 4); + if (iVar6 == 0) { + iVar6 = 1; + } + iVar7 = iVar7 + 1; + pbVar5 = pbVar4 + iVar6; + goto joined_r0x000140013a78; + } + iVar7 = iVar7 + 1; + pbVar5 = pbVar4 + 1; + goto joined_r0x000140013a78; + } + iVar8 = iVar8 + 1; + iVar7 = 0; + pbVar5 = pbVar4 + 1; + if (pbVar4[1] == 0xd) { + pbVar5 = pbVar4 + 2; + } + } + goto joined_r0x000140013a78; + } + *param_1 = iVar8; + param_1[1] = iVar7; + *(byte **)(param_1 + 2) = pbVar4; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140013b90.c b/decomp/Agent_Release_x64/full/functions/0x140013b90.c new file mode 100644 index 00000000..7f6c8e15 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140013b90.c @@ -0,0 +1,51 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140013b90 FUN_140013b90 + * Pseudocode, not original source. */ + +byte * FUN_140013b90(byte *param_1,int param_2) + +{ + int iVar1; + byte bVar2; + + if ((param_1 == (byte *)0x0) || (bVar2 = *param_1, bVar2 == 0)) { + return (byte *)0x0; + } + if (param_2 == 1) { + do { + if (bVar2 == 0xef) { + if ((param_1[1] == 0xbb) && (param_1[2] == 0xbf)) { + param_1 = param_1 + 3; + } + else { + if (param_1[1] != 0xbf) goto LAB_140013bf0; + if (param_1[2] == 0xbe) { + param_1 = param_1 + 3; + } + else { + if (param_1[2] != 0xbf) goto LAB_140013bf0; + param_1 = param_1 + 3; + } + } + } + else { +LAB_140013bf0: + iVar1 = isspace((uint)bVar2); + if ((((iVar1 == 0) && (bVar2 != 10)) && (bVar2 != 0xd)) && + ((*param_1 != 10 && (*param_1 != 0xd)))) { + return param_1; + } + param_1 = param_1 + 1; + } + bVar2 = *param_1; + } while (bVar2 != 0); + } + else { + for (; ((bVar2 = *param_1, bVar2 != 0 && + (((iVar1 = isspace((uint)bVar2), iVar1 != 0 || (bVar2 == 10)) || (bVar2 == 0xd)))) || + ((*param_1 == 10 || (*param_1 == 0xd)))); param_1 = param_1 + 1) { + } + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140013c70.c b/decomp/Agent_Release_x64/full/functions/0x140013c70.c new file mode 100644 index 00000000..fef364a5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140013c70.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140013c70 FUN_140013c70 + * Pseudocode, not original source. */ + +byte * FUN_140013c70(byte *param_1,longlong *param_2) + +{ + byte bVar1; + int iVar2; + byte *pbVar3; + + FUN_140010f70(param_2,&DAT_14011e21c,0); + if (((param_1 == (byte *)0x0) || (bVar1 = *param_1, bVar1 == 0)) || + ((pbVar3 = param_1, bVar1 < 0x7f && + ((iVar2 = isalpha((uint)bVar1), iVar2 == 0 && (*param_1 != 0x5f)))))) { + return (byte *)0x0; + } + do { + bVar1 = *pbVar3; + if ((bVar1 == 0) || + (((((bVar1 < 0x7f && (iVar2 = isalnum((uint)bVar1), iVar2 == 0)) && + (bVar1 = *pbVar3, bVar1 != 0x5f)) && ((bVar1 != 0x2d && (bVar1 != 0x2e)))) && + (bVar1 != 0x3a)))) break; + pbVar3 = pbVar3 + 1; + } while (pbVar3 != (byte *)0x0); + if (0 < (longlong)pbVar3 - (longlong)param_1) { + FUN_140010f70(param_2,param_1,(longlong)pbVar3 - (longlong)param_1); + } + return pbVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140013d30.c b/decomp/Agent_Release_x64/full/functions/0x140013d30.c new file mode 100644 index 00000000..36d9e898 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140013d30.c @@ -0,0 +1,101 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140013d30 FUN_140013d30 + * Pseudocode, not original source. */ + +char * FUN_140013d30(char *param_1,char *param_2,int *param_3,int param_4) + +{ + char cVar1; + int iVar2; + char *pcVar3; + uint uVar4; + int iVar5; + undefined **ppuVar6; + longlong lVar7; + char *pcVar8; + + cVar1 = param_1[1]; + uVar4 = 0; + *param_3 = 0; + if ((cVar1 != '\0') && (cVar1 == '#')) { + if (param_1[2] != '\0') { + iVar5 = 1; + if (param_1[2] == 'x') { + if (((param_1[3] != '\0') && (pcVar3 = strchr(param_1 + 3,0x3b), pcVar3 != (char *)0x0)) && + (*pcVar3 != '\0')) { + pcVar8 = pcVar3 + -1; + lVar7 = (longlong)pcVar3 - (longlong)param_1; + cVar1 = *pcVar8; + while (cVar1 != 'x') { + if ((cVar1 < '0') || ('9' < cVar1)) { + if ((cVar1 < 'a') || ('f' < cVar1)) { + if (cVar1 < 'A') { + return (char *)0x0; + } + if ('F' < cVar1) { + return (char *)0x0; + } + iVar2 = cVar1 + -0x37; + } + else { + iVar2 = cVar1 + -0x57; + } + } + else { + iVar2 = cVar1 + -0x30; + } + iVar2 = iVar2 * iVar5; + pcVar8 = pcVar8 + -1; + iVar5 = iVar5 << 4; + uVar4 = uVar4 + iVar2; + cVar1 = *pcVar8; + } +LAB_140013e60: + if (param_4 != 1) { + *param_2 = (char)uVar4; + *param_3 = 1; + return param_1 + lVar7 + 1; + } + FUN_140013930(uVar4,(longlong)param_2,param_3); + return param_1 + lVar7 + 1; + } + } + else { + pcVar3 = strchr(param_1 + 2,0x3b); + if ((pcVar3 != (char *)0x0) && (*pcVar3 != '\0')) { + pcVar8 = pcVar3 + -1; + lVar7 = (longlong)pcVar3 - (longlong)param_1; + cVar1 = *pcVar8; + while (cVar1 != '#') { + if (cVar1 < '0') { + return (char *)0x0; + } + if ('9' < cVar1) { + return (char *)0x0; + } + pcVar8 = pcVar8 + -1; + uVar4 = uVar4 + (cVar1 + -0x30) * iVar5; + iVar5 = iVar5 * 10; + cVar1 = *pcVar8; + } + goto LAB_140013e60; + } + } + return (char *)0x0; + } + } + ppuVar6 = &PTR_s__amp__14015ad20; + do { + iVar5 = strncmp(*ppuVar6,param_1,(ulonglong)*(uint *)(ppuVar6 + 1)); + if (iVar5 == 0) { + *param_3 = 1; + *param_2 = (&DAT_14015ad2c)[(longlong)(int)uVar4 * 0x10]; + return param_1 + (uint)(&DAT_14015ad28)[(longlong)(int)uVar4 * 4]; + } + ppuVar6 = ppuVar6 + 2; + uVar4 = uVar4 + 1; + } while ((longlong)ppuVar6 < 0x14015ad70); + *param_2 = *param_1; + return param_1 + 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140013f20.c b/decomp/Agent_Release_x64/full/functions/0x140013f20.c new file mode 100644 index 00000000..935212df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140013f20.c @@ -0,0 +1,56 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140013f20 FUN_140013f20 + * Pseudocode, not original source. */ + +ulonglong FUN_140013f20(char *param_1,char *param_2,char param_3,int param_4) + +{ + char cVar1; + uint _C; + int iVar2; + ulonglong in_RAX; + undefined4 extraout_var; + ulonglong uVar3; + int _C_00; + longlong lVar4; + + if ((param_1 == (char *)0x0) || (*param_1 == '\0')) { + return in_RAX & 0xffffffffffffff00; + } + if (param_3 == '\0') { + do { + in_RAX = 0; + if (*param_2 == '\0') goto LAB_140013fa0; + if (*param_1 != *param_2) break; + param_1 = param_1 + 1; + param_2 = param_2 + 1; + } while (*param_1 != '\0'); + cVar1 = *param_2; + } + else { + lVar4 = (longlong)param_1 - (longlong)param_2; + do { + if (*param_2 == '\0') goto LAB_140013fa0; + _C_00 = (int)param_2[lVar4]; + if ((param_4 != 1) || (_C_00 < 0x80)) { + _C_00 = tolower(_C_00); + } + _C = (uint)*param_2; + in_RAX = (ulonglong)_C; + if ((param_4 != 1) || ((int)_C < 0x80)) { + iVar2 = tolower(_C); + in_RAX = CONCAT44(extraout_var,iVar2); + } + } while ((_C_00 == (int)in_RAX) && (param_2 = param_2 + 1, param_2[lVar4] != '\0')); + cVar1 = *param_2; + } + if (cVar1 == '\0') { +LAB_140013fa0: + uVar3 = CONCAT71((int7)(in_RAX >> 8),1); + } + else { + uVar3 = in_RAX & 0xffffffffffffff00; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140013ff0.c b/decomp/Agent_Release_x64/full/functions/0x140013ff0.c new file mode 100644 index 00000000..08ac4129 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140013ff0.c @@ -0,0 +1,188 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140013ff0 FUN_140013ff0 + * Pseudocode, not original source. */ + +byte * FUN_140013ff0(byte *param_1,longlong *param_2,char param_3,char *param_4,int param_5) + +{ + ulonglong uVar1; + char cVar2; + byte bVar3; + longlong *plVar4; + longlong lVar5; + undefined8 *puVar6; + undefined1 auVar7 [16]; + bool bVar8; + int iVar9; + undefined8 uVar10; + __uint64 _Var11; + longlong *plVar12; + byte *pbVar13; + ulonglong uVar14; + size_t sVar15; + int local_res8 [2]; + uint local_res18 [2]; + char *local_res20; + longlong *local_58; + longlong *local_40; + + local_res20 = param_4; + FUN_140010f70(param_2,&DAT_14011e21c,0); + if ((param_3 == '\0') || (DAT_14015ad18 == '\0')) { + if (param_1 != (byte *)0x0) { + local_58 = local_40; + do { + plVar12 = &DAT_140162cd0; + param_4 = local_res20; + if ((*param_1 == 0) || + (uVar10 = FUN_140013f20((char *)param_1,local_res20,'\0',param_5), param_4 = local_res20, + (char)uVar10 != '\0')) goto LAB_140014394; + local_res18[0] = 0; + if (param_5 == 1) { + local_res8[0] = *(int *)(&DAT_14011c2e0 + (ulonglong)*param_1 * 4); + if (local_res8[0] == 1) goto LAB_140014277; + if (local_res8[0] == 0) { + param_1 = (byte *)0x0; + } + else { + iVar9 = 0; + if (*param_1 != 0) { + pbVar13 = param_1; + do { + if (local_res8[0] <= iVar9) break; + pbVar13[(longlong)local_res18 - (longlong)param_1] = *pbVar13; + iVar9 = iVar9 + 1; + pbVar13 = pbVar13 + 1; + } while (*pbVar13 != 0); + } + param_1 = param_1 + local_res8[0]; + } + } + else { + local_res8[0] = 1; +LAB_140014277: + if (*param_1 == 0x26) { + param_1 = (byte *)FUN_140013d30((char *)param_1,(char *)local_res18,local_res8,param_5); + } + else { + local_res18[0] = (uint)*param_1; + param_1 = param_1 + 1; + } + } + sVar15 = (size_t)local_res8[0]; + plVar4 = (longlong *)*param_2; + uVar14 = *plVar4 + sVar15; + if (((ulonglong)plVar4[1] < uVar14) && + (uVar1 = plVar4[1] + uVar14, (ulonglong)plVar4[1] < uVar1)) { + lVar5 = *plVar4; + if (uVar1 != 0) { + auVar7._8_8_ = 0; + auVar7._0_8_ = uVar1 + 0x1b >> 2; + _Var11 = SUB168(ZEXT816(4) * auVar7,0); + if (SUB168(ZEXT816(4) * auVar7,8) != 0) { + _Var11 = 0xffffffffffffffff; + } + plVar12 = operator_new(_Var11); + *plVar12 = lVar5; + *(undefined1 *)(lVar5 + 0x10 + (longlong)plVar12) = 0; + plVar12[1] = uVar1; + local_58 = plVar12; + } + memcpy(plVar12 + 2,(size_t *)*param_2 + 2,*(size_t *)*param_2); + plVar4 = (longlong *)param_2[1]; + puVar6 = (undefined8 *)*param_2; + *param_2 = (longlong)plVar12; + param_2[1] = (longlong)local_58; + local_58 = plVar4; + if (puVar6 != &DAT_140162cd0) { + operator_delete__(plVar4); + } + } + memmove((void *)(*(longlong *)*param_2 + 0x10 + *param_2),local_res18,sVar15); + *(ulonglong *)*param_2 = uVar14; + *(undefined1 *)(*param_2 + 0x10 + uVar14) = 0; + } while (param_1 != (byte *)0x0); + } + } + else { + bVar8 = false; + param_1 = FUN_140013b90(param_1,param_5); + if (param_1 == (byte *)0x0) { + return (byte *)0x0; + } + do { + if ((*param_1 == 0) || + (uVar10 = FUN_140013f20((char *)param_1,param_4,'\0',param_5), (char)uVar10 != '\0')) + goto LAB_140014394; + bVar3 = *param_1; + if ((((bVar3 == 0xd) || (bVar3 == 10)) || (iVar9 = isspace((uint)bVar3), iVar9 != 0)) || + ((bVar3 == 10 || (bVar3 == 0xd)))) { + param_1 = param_1 + 1; + bVar8 = true; + } + else { + if (bVar8) { + FUN_1400110f0(param_2,0x20); + bVar8 = false; + } + local_res18[0] = 0; + if (param_5 == 1) { + local_res8[0] = *(int *)(&DAT_14011c2e0 + (ulonglong)*param_1 * 4); + if (local_res8[0] == 1) goto LAB_140014137; + if (local_res8[0] != 0) { + iVar9 = 0; + if (*param_1 != 0) { + pbVar13 = param_1; + do { + if (local_res8[0] <= iVar9) break; + pbVar13[(longlong)local_res18 - (longlong)param_1] = *pbVar13; + iVar9 = iVar9 + 1; + pbVar13 = pbVar13 + 1; + } while (*pbVar13 != 0); + } + param_1 = param_1 + local_res8[0]; + goto LAB_140014157; + } + param_1 = (byte *)0x0; +LAB_14001415c: + sVar15 = (size_t)local_res8[0]; + plVar12 = (longlong *)*param_2; + uVar14 = sVar15 + *plVar12; + if (((ulonglong)plVar12[1] < uVar14) && + (uVar1 = plVar12[1] + uVar14, (ulonglong)plVar12[1] < uVar1)) { + FUN_140010ea0(param_2,uVar1); + } + memmove((void *)(*(longlong *)*param_2 + 0x10 + *param_2),local_res18,sVar15); + *(ulonglong *)*param_2 = uVar14; + *(undefined1 *)(*param_2 + 0x10 + uVar14) = 0; + param_4 = local_res20; + } + else { + local_res8[0] = 1; +LAB_140014137: + if (*param_1 == 0x26) { + param_1 = (byte *)FUN_140013d30((char *)param_1,(char *)local_res18,local_res8,param_5); +LAB_140014157: + if (local_res8[0] != 1) goto LAB_14001415c; + } + else { + local_res18[0] = (uint)*param_1; + param_1 = param_1 + 1; + } + FUN_1400110f0(param_2,(undefined1)local_res18[0]); + } + } + } while (param_1 != (byte *)0x0); + } + return (byte *)0x0; +LAB_140014394: + uVar14 = 0xffffffffffffffff; + do { + if (uVar14 == 0) break; + uVar14 = uVar14 - 1; + cVar2 = *param_4; + param_4 = param_4 + 1; + } while (cVar2 != '\0'); + return param_1 + (~uVar14 - 1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400143d0.c b/decomp/Agent_Release_x64/full/functions/0x1400143d0.c new file mode 100644 index 00000000..8bb52811 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400143d0.c @@ -0,0 +1,109 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400143d0 FUN_1400143d0 + * Pseudocode, not original source. */ + +byte * FUN_1400143d0(longlong *param_1,byte *param_2,undefined4 *param_3,int param_4) + +{ + char cVar1; + int iVar2; + int iVar3; + byte *pbVar4; + longlong *plVar5; + longlong lVar6; + ulonglong uVar7; + char *pcVar8; + undefined4 local_48; + undefined4 uStack_44; + byte *local_40; + undefined4 local_38; + + *(undefined1 *)(param_1 + 0xb) = 0; + *(undefined4 *)((longlong)param_1 + 0x5c) = 0; + FUN_140010f70(param_1 + 0xc,&DAT_14011e21c,0); + *(undefined8 *)((longlong)param_1 + 0x74) = 0; + if ((param_2 != (byte *)0x0) && (*param_2 != 0)) { + param_1[1] = -1; + if (param_3 == (undefined4 *)0x0) { + param_1[1] = 0; + } + else { + *(undefined4 *)(param_1 + 1) = *param_3; + *(undefined4 *)((longlong)param_1 + 0xc) = param_3[1]; + } + local_38 = (undefined4)param_1[0xe]; + local_48 = (undefined4)param_1[1]; + uStack_44 = *(undefined4 *)((longlong)param_1 + 0xc); + param_1[1] = param_1[1]; + if (((((param_4 == 0) && (*param_2 != 0)) && (*param_2 == 0xef)) && + ((param_2[1] != 0 && (param_2[1] == 0xbb)))) && ((param_2[2] != 0 && (param_2[2] == 0xbf)))) + { + param_4 = 1; + *(undefined1 *)((longlong)param_1 + 0x7c) = 1; + } + local_40 = param_2; + pbVar4 = FUN_140013b90(param_2,param_4); + if (pbVar4 != (byte *)0x0) { + do { + if ((*pbVar4 == 0) || + (plVar5 = FUN_1400146f0(param_1,pbVar4,param_4), plVar5 == (longlong *)0x0)) break; + pbVar4 = (byte *)(**(code **)(*plVar5 + 0x10))(plVar5,pbVar4,&local_48,param_4); + FUN_1400119b0(param_1,plVar5); + if ((param_4 == 0) && (lVar6 = (**(code **)(*plVar5 + 0x68))(plVar5), lVar6 != 0)) { + lVar6 = (**(code **)(*plVar5 + 0x68))(plVar5); + lVar6 = *(longlong *)(lVar6 + 0x68); + if (*(char *)(lVar6 + 0x10) != '\0') { + pcVar8 = "UTF-8"; + do { + if (*pcVar8 == '\0') goto LAB_1400145ba; + iVar2 = tolower((int)pcVar8[lVar6 + -0x14011e718]); + iVar3 = tolower((int)*pcVar8); + } while ((iVar2 == iVar3) && (pcVar8 = pcVar8 + 1, pcVar8[lVar6 + -0x14011e718] != '\0') + ); + if (*pcVar8 != '\0') { + pcVar8 = "UTF8"; + if (*(char *)(lVar6 + 0x10) != '\0') { + do { + if (*pcVar8 == '\0') goto LAB_1400145ba; + iVar2 = tolower((int)pcVar8[lVar6 + -0x14011e720]); + iVar3 = tolower((int)*pcVar8); + } while ((iVar2 == iVar3) && + (pcVar8 = pcVar8 + 1, pcVar8[lVar6 + -0x14011e720] != '\0')); + if (*pcVar8 == '\0') goto LAB_1400145ba; + } + param_4 = 2; + goto LAB_1400145bf; + } + } +LAB_1400145ba: + param_4 = 1; + } +LAB_1400145bf: + pbVar4 = FUN_140013b90(pbVar4,param_4); + } while (pbVar4 != (byte *)0x0); + if (param_1[5] != 0) { + return pbVar4; + } + cVar1 = (char)param_1[0xb]; + goto LAB_1400145f9; + } + } + cVar1 = (char)param_1[0xb]; +LAB_1400145f9: + if (cVar1 == '\0') { + uVar7 = 0xffffffffffffffff; + *(undefined1 *)(param_1 + 0xb) = 1; + *(undefined4 *)((longlong)param_1 + 0x5c) = 0xd; + pcVar8 = PTR_s_Error_document_empty__14015acf8; + do { + if (uVar7 == 0) break; + uVar7 = uVar7 - 1; + cVar1 = *pcVar8; + pcVar8 = pcVar8 + 1; + } while (cVar1 != '\0'); + FUN_140010f70(param_1 + 0xc,PTR_s_Error_document_empty__14015acf8,~uVar7 - 1); + *(undefined8 *)((longlong)param_1 + 0x74) = 0xffffffffffffffff; + } + return (byte *)0x0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140014650.c b/decomp/Agent_Release_x64/full/functions/0x140014650.c new file mode 100644 index 00000000..7c879806 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140014650.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140014650 FUN_140014650 + * Pseudocode, not original source. */ + +void FUN_140014650(longlong param_1,int param_2,byte *param_3,int *param_4,int param_5) + +{ + char cVar1; + ulonglong uVar2; + char *pcVar3; + + if (*(char *)(param_1 + 0x58) == '\0') { + *(int *)(param_1 + 0x5c) = param_2; + *(undefined1 *)(param_1 + 0x58) = 1; + uVar2 = 0xffffffffffffffff; + pcVar3 = (&PTR_s_No_error_14015ac90)[param_2]; + do { + if (uVar2 == 0) break; + uVar2 = uVar2 - 1; + cVar1 = *pcVar3; + pcVar3 = pcVar3 + 1; + } while (cVar1 != '\0'); + FUN_140010f70((longlong *)(param_1 + 0x60),(&PTR_s_No_error_14015ac90)[param_2],~uVar2 - 1); + *(undefined8 *)(param_1 + 0x74) = 0xffffffffffffffff; + if ((param_3 != (byte *)0x0) && (param_4 != (int *)0x0)) { + FUN_140013a40(param_4,param_3,param_5); + *(undefined8 *)(param_1 + 0x74) = *(undefined8 *)param_4; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400146f0.c b/decomp/Agent_Release_x64/full/functions/0x1400146f0.c new file mode 100644 index 00000000..f0ab0014 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400146f0.c @@ -0,0 +1,159 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400146f0 FUN_1400146f0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400146f0(longlong *param_1,byte *param_2,int param_3) + +{ + char cVar1; + byte bVar2; + int iVar3; + byte *pbVar4; + longlong lVar5; + undefined8 uVar6; + undefined8 *puVar7; + byte *pbVar8; + undefined8 *puVar9; + char *pcVar10; + ulonglong uVar11; + + pbVar4 = FUN_140013b90(param_2,param_3); + if (((pbVar4 == (byte *)0x0) || (*pbVar4 == 0)) || (*pbVar4 != 0x3c)) { + return (undefined8 *)0x0; + } + lVar5 = FUN_1400111a0(param_1); + pbVar4 = FUN_140013b90(pbVar4,param_3); + if (pbVar4 == (byte *)0x0) { + return (undefined8 *)0x0; + } + if (*pbVar4 == 0) { + return (undefined8 *)0x0; + } + uVar6 = FUN_140013f20((char *)pbVar4,"> 2; + _Var13 = SUB168(ZEXT816(4) * auVar8,0); + if (SUB168(ZEXT816(4) * auVar8,8) != 0) { + _Var13 = 0xffffffffffffffff; + } + local_res10 = operator_new(_Var13); + *local_res10 = sVar6; + *(undefined1 *)((longlong)local_res10 + sVar6 + 0x10) = 0; + local_res10[1] = uVar1; + local_60 = local_res10; + } + memcpy(local_res10 + 2,psVar14 + 2,*psVar14); + if (psVar14 != &DAT_140162cd0) { + operator_delete__(psVar14); + } + } + memmove((void *)(*local_res10 + 0x10 + (longlong)local_res10),psVar20 + 2,sVar5); + *local_res10 = uVar18; + *(undefined1 *)((longlong)local_res10 + uVar18 + 0x10) = 0; + sVar5 = *local_res10; + uVar18 = sVar5 + 1; + psVar20 = local_60; + psVar14 = local_res10; + if ((local_res10[1] < uVar18) && (uVar1 = local_res10[1] + uVar18, local_res10[1] < uVar1)) { + sVar6 = *local_res10; + if (uVar1 == 0) { + psVar14 = &DAT_140162cd0; + } + else { + auVar9._8_8_ = 0; + auVar9._0_8_ = uVar1 + 0x1b >> 2; + _Var13 = SUB168(ZEXT816(4) * auVar9,0); + if (SUB168(ZEXT816(4) * auVar9,8) != 0) { + _Var13 = 0xffffffffffffffff; + } + psVar14 = operator_new(_Var13); + *psVar14 = sVar6; + *(undefined1 *)((longlong)psVar14 + sVar6 + 0x10) = 0; + psVar14[1] = uVar1; + local_50 = psVar14; + } + memcpy(psVar14 + 2,local_res10 + 2,*local_res10); + psVar20 = local_50; + if (local_res10 != &DAT_140162cd0) { + operator_delete__(local_60); + } + } + memmove((void *)(*psVar14 + 0x10 + (longlong)psVar14),&DAT_14011e24c,1); + *psVar14 = uVar18; + *(undefined1 *)(sVar5 + 0x11 + (longlong)psVar14) = 0; + while( true ) { + if (*pbVar12 == 0) { + if (psVar14 != &DAT_140162cd0) { + operator_delete__(psVar20); + return pbVar12; + } + return pbVar12; + } + pbVar10 = FUN_140013b90(pbVar12,param_4); + if ((pbVar10 == (byte *)0x0) || (bVar2 = *pbVar10, bVar2 == 0)) { + if (lVar11 != 0) { + FUN_140014650(lVar11,7,pbVar12,(int *)param_3,param_4); + } + goto LAB_140014ea4; + } + if (bVar2 == 0x2f) { + if (pbVar10[1] == 0x3e) { + if (psVar14 != &DAT_140162cd0) { + operator_delete__(psVar20); + } + return pbVar10 + 2; + } + if (lVar11 != 0) { + FUN_140014650(lVar11,8,pbVar10 + 1,(int *)param_3,param_4); + } + goto LAB_140014ea4; + } + if (bVar2 == 0x3e) break; + plVar15 = operator_new(0x50); + if (plVar15 == (longlong *)0x0) { + if (lVar11 != 0) { + FUN_140014650(lVar11,3,pbVar12,(int *)param_3,param_4); + } + goto LAB_140014ea4; + } + *(undefined4 *)((longlong)plVar15 + 0xc) = 0xffffffff; + *(undefined4 *)(plVar15 + 1) = 0xffffffff; + plVar15[2] = 0; + *plVar15 = (longlong)TiXmlAttribute::vftable; + plVar15[4] = (longlong)&DAT_140162cd0; + plVar15[6] = (longlong)&DAT_140162cd0; + plVar15[9] = 0; + plVar15[8] = 0; + plVar15[3] = lVar11; + pbVar12 = (byte *)(**(code **)(*plVar15 + 0x10))(plVar15,pbVar10,param_3,param_4); + if ((pbVar12 == (byte *)0x0) || (*pbVar12 == 0)) { + if (lVar11 != 0) { + FUN_140014650(lVar11,4,pbVar10,(int *)param_3,param_4); + } + (**(code **)*plVar15)(plVar15,1); + goto LAB_140014ea4; + } + for (plVar7 = (longlong *)param_1[0x14]; plVar7 != param_1 + 0xb; plVar7 = (longlong *)plVar7[9] + ) { + pcVar16 = (char *)(plVar7[4] + 0x10); + lVar19 = (plVar15[4] + 0x10) - (longlong)pcVar16; + do { + cVar3 = *pcVar16; + cVar4 = pcVar16[lVar19]; + if (cVar3 != cVar4) break; + pcVar16 = pcVar16 + 1; + } while (cVar4 != '\0'); + if (cVar3 == cVar4) { + if (plVar7 != (longlong *)0x0) { + uVar18 = 0xffffffffffffffff; + pcVar16 = (char *)(plVar15[6] + 0x10); + goto code_r0x000140014e84; + } + break; + } + } + plVar15[9] = (longlong)(param_1 + 0xb); + plVar15[8] = param_1[0x13]; + *(longlong **)(param_1[0x13] + 0x48) = plVar15; + param_1[0x13] = (longlong)plVar15; + } + pbVar10 = (byte *)FUN_1400150c0(param_1,pbVar10 + 1,param_3,param_4); + if ((pbVar10 == (byte *)0x0) || (*pbVar10 == 0)) { + if (lVar11 != 0) { + FUN_140014650(lVar11,9,pbVar10,(int *)param_3,param_4); + } + } + else { + psVar17 = psVar14 + 2; + lVar19 = (longlong)pbVar10 - (longlong)psVar17; + do { + if ((char)*psVar17 == '\0') goto LAB_140014f79; + } while ((*(char *)(lVar19 + (longlong)psVar17) == (char)*psVar17) && + (psVar17 = (size_t *)((longlong)psVar17 + 1), + *(char *)(lVar19 + (longlong)psVar17) != '\0')); + if ((char)*psVar17 == '\0') { +LAB_140014f79: + sVar5 = *psVar14; + if (psVar14 != &DAT_140162cd0) { + operator_delete__(psVar20); + return pbVar10 + sVar5; + } + return pbVar10 + sVar5; + } + if (lVar11 != 0) { + FUN_140014650(lVar11,9,pbVar10,(int *)param_3,param_4); + } + } + goto LAB_140014ea4; + while( true ) { + uVar18 = uVar18 - 1; + cVar3 = *pcVar16; + pcVar16 = pcVar16 + 1; + if (cVar3 == '\0') break; +code_r0x000140014e84: + if (uVar18 == 0) break; + } + FUN_140010f70(plVar7 + 6,(char *)(plVar15[6] + 0x10),~uVar18 - 1); + (**(code **)*plVar15)(plVar15,1); +LAB_140014ea4: + if (psVar14 != &DAT_140162cd0) { + operator_delete__(psVar20); + } + return (byte *)0x0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400150c0.c b/decomp/Agent_Release_x64/full/functions/0x1400150c0.c new file mode 100644 index 00000000..1099a274 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400150c0.c @@ -0,0 +1,131 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400150c0 FUN_1400150c0 + * Pseudocode, not original source. */ + +byte * FUN_1400150c0(longlong *param_1,byte *param_2,undefined8 param_3,int param_4) + +{ + char cVar1; + byte bVar2; + int iVar3; + longlong lVar4; + byte *pbVar5; + longlong *plVar6; + byte *pbVar7; + longlong *plVar8; + ulonglong uVar9; + longlong *plVar10; + char *pcVar11; + + for (plVar10 = param_1; plVar10 != (longlong *)0x0; plVar10 = (longlong *)plVar10[3]) { + lVar4 = (**(code **)(*plVar10 + 0x20))(plVar10); + if (lVar4 != 0) { + lVar4 = (**(code **)(*plVar10 + 0x20))(plVar10); + goto LAB_14001512d; + } + } + lVar4 = 0; +LAB_14001512d: + pbVar5 = FUN_140013b90(param_2,param_4); + while (pbVar5 != (byte *)0x0) { + plVar10 = (longlong *)0x0; + if (*pbVar5 == 0) { + return pbVar5; + } + if (*pbVar5 == 0x3c) { + pbVar7 = &DAT_14011e320; + do { + if (*pbVar7 == 0) { + return pbVar5; + } + } while (((pbVar5 + -0x14011e320)[(longlong)pbVar7] == *pbVar7) && + (pbVar7 = pbVar7 + 1, (pbVar5 + -0x14011e320)[(longlong)pbVar7] != 0)); + if (*pbVar7 == 0) { + return pbVar5; + } + plVar8 = FUN_1400146f0(param_1,pbVar5,param_4); + if (plVar8 == (longlong *)0x0) { + return (byte *)0x0; + } + param_2 = (byte *)(**(code **)(*plVar8 + 0x10))(plVar8,pbVar5,param_3,param_4); +LAB_1400152b0: + FUN_1400119b0(param_1,plVar8); + } + else { + plVar6 = operator_new(0x60); + plVar8 = plVar10; + if (plVar6 != (longlong *)0x0) { + plVar6[1] = -1; + plVar6[2] = 0; + plVar6[7] = (longlong)&DAT_140162cd0; + plVar6[3] = 0; + *(undefined4 *)(plVar6 + 4) = 4; + plVar6[5] = 0; + plVar6[6] = 0; + plVar6[9] = 0; + plVar6[10] = 0; + *plVar6 = (longlong)TiXmlText::vftable; + FUN_140010f70(plVar6 + 7,&DAT_14011e21c,0); + *(undefined1 *)(plVar6 + 0xb) = 0; + plVar8 = plVar6; + } + if (plVar8 == (longlong *)0x0) { + if (lVar4 == 0) { + return (byte *)0x0; + } + if (*(char *)(lVar4 + 0x58) != '\0') { + return (byte *)0x0; + } + *(undefined1 *)(lVar4 + 0x58) = 1; + *(undefined4 *)(lVar4 + 0x5c) = 3; + uVar9 = 0xffffffffffffffff; + pcVar11 = PTR_s_Memory_allocation_failed__14015aca8; + goto code_r0x0001400152f8; + } + if (DAT_14015ad18 == '\0') { + pbVar5 = param_2; + } + param_2 = (byte *)(**(code **)(*plVar8 + 0x10))(plVar8,pbVar5,param_3,param_4); + plVar6 = (longlong *)plVar8[7]; + if (*plVar6 != 0) { + do { + bVar2 = *(byte *)((longlong)(plVar6 + 2) + (longlong)plVar10); + iVar3 = isspace((uint)bVar2); + if (((iVar3 == 0) && (bVar2 != 10)) && (bVar2 != 0xd)) goto LAB_1400152b0; + plVar10 = (longlong *)(ulonglong)((int)plVar10 + 1); + plVar6 = (longlong *)plVar8[7]; + } while (plVar10 < (longlong *)*plVar6); + } + (**(code **)*plVar8)(plVar8,1); + } + pbVar5 = FUN_140013b90(param_2,param_4); + } + if ((lVar4 != 0) && (*(char *)(lVar4 + 0x58) == '\0')) { + *(undefined1 *)(lVar4 + 0x58) = 1; + *(undefined4 *)(lVar4 + 0x5c) = 6; + uVar9 = 0xffffffffffffffff; + pcVar11 = PTR_s_Error_reading_Element_value__14015acc0; + do { + if (uVar9 == 0) break; + uVar9 = uVar9 - 1; + cVar1 = *pcVar11; + pcVar11 = pcVar11 + 1; + } while (cVar1 != '\0'); + FUN_140010f70((longlong *)(lVar4 + 0x60),PTR_s_Error_reading_Element_value__14015acc0,~uVar9 - 1 + ); + *(undefined8 *)(lVar4 + 0x74) = 0xffffffffffffffff; + } + return (byte *)0x0; + while( true ) { + uVar9 = uVar9 - 1; + cVar1 = *pcVar11; + pcVar11 = pcVar11 + 1; + if (cVar1 == '\0') break; +code_r0x0001400152f8: + if (uVar9 == 0) break; + } + FUN_140010f70((longlong *)(lVar4 + 0x60),PTR_s_Memory_allocation_failed__14015aca8,~uVar9 - 1); + *(undefined8 *)(lVar4 + 0x74) = 0xffffffffffffffff; + return (byte *)0x0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140015380.c b/decomp/Agent_Release_x64/full/functions/0x140015380.c new file mode 100644 index 00000000..251f5482 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140015380.c @@ -0,0 +1,90 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140015380 FUN_140015380 + * Pseudocode, not original source. */ + +byte * FUN_140015380(longlong *param_1,byte *param_2,longlong *param_3,int param_4) + +{ + ulonglong uVar1; + char cVar2; + longlong *plVar3; + longlong lVar4; + byte *pbVar5; + ulonglong uVar6; + char *pcVar7; + byte local_res8 [8]; + + for (plVar3 = param_1; plVar3 != (longlong *)0x0; plVar3 = (longlong *)plVar3[3]) { + lVar4 = (**(code **)(*plVar3 + 0x20))(plVar3); + if (lVar4 != 0) { + lVar4 = (**(code **)(*plVar3 + 0x20))(plVar3); + goto LAB_1400153cd; + } + } + lVar4 = 0; +LAB_1400153cd: + pbVar5 = FUN_140013b90(param_2,param_4); + if (param_3 != (longlong *)0x0) { + FUN_140013a40((int *)param_3,pbVar5,param_4); + param_1[1] = *param_3; + } + if (((pbVar5 == (byte *)0x0) || (*pbVar5 == 0)) || (*pbVar5 != 0x3c)) { + if ((lVar4 != 0) && (*(char *)(lVar4 + 0x58) == '\0')) { + uVar6 = 0xffffffffffffffff; + *(undefined1 *)(lVar4 + 0x58) = 1; + *(undefined4 *)(lVar4 + 0x5c) = 10; + pcVar7 = PTR_s_Error_parsing_Unknown__14015ace0; + do { + if (uVar6 == 0) break; + uVar6 = uVar6 - 1; + cVar2 = *pcVar7; + pcVar7 = pcVar7 + 1; + } while (cVar2 != '\0'); + FUN_140010f70((longlong *)(lVar4 + 0x60),PTR_s_Error_parsing_Unknown__14015ace0,~uVar6 - 1); + *(undefined8 *)(lVar4 + 0x74) = 0xffffffffffffffff; + if ((pbVar5 != (byte *)0x0) && (param_3 != (longlong *)0x0)) { + FUN_140013a40((int *)param_3,pbVar5,param_4); + *(longlong *)(lVar4 + 0x74) = *param_3; + } + } + pbVar5 = (byte *)0x0; + } + else { + FUN_140010f70(param_1 + 7,&DAT_14011e21c,0); + while (pbVar5 = pbVar5 + 1, pbVar5 != (byte *)0x0) { + local_res8[0] = *pbVar5; + if (local_res8[0] == 0) goto LAB_1400154e4; + if (local_res8[0] == 0x3e) goto LAB_1400154e9; + plVar3 = (longlong *)param_1[7]; + uVar6 = *plVar3 + 1; + if (((ulonglong)plVar3[1] < uVar6) && + (uVar1 = plVar3[1] + uVar6, (ulonglong)plVar3[1] < uVar1)) { + FUN_140010ea0(param_1 + 7,uVar1); + } + memmove((void *)(param_1[7] + *(longlong *)param_1[7] + 0x10),local_res8,1); + *(ulonglong *)param_1[7] = uVar6; + *(undefined1 *)(param_1[7] + 0x10 + uVar6) = 0; + } + if ((lVar4 != 0) && (*(char *)(lVar4 + 0x58) == '\0')) { + uVar6 = 0xffffffffffffffff; + *(undefined1 *)(lVar4 + 0x58) = 1; + *(undefined4 *)(lVar4 + 0x5c) = 10; + pcVar7 = PTR_s_Error_parsing_Unknown__14015ace0; + do { + if (uVar6 == 0) break; + uVar6 = uVar6 - 1; + cVar2 = *pcVar7; + pcVar7 = pcVar7 + 1; + } while (cVar2 != '\0'); + FUN_140010f70((longlong *)(lVar4 + 0x60),PTR_s_Error_parsing_Unknown__14015ace0,~uVar6 - 1); + *(undefined8 *)(lVar4 + 0x74) = 0xffffffffffffffff; + } +LAB_1400154e4: + if (*pbVar5 == 0x3e) { +LAB_1400154e9: + pbVar5 = pbVar5 + 1; + } + } + return pbVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140015580.c b/decomp/Agent_Release_x64/full/functions/0x140015580.c new file mode 100644 index 00000000..c98230fc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140015580.c @@ -0,0 +1,108 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140015580 FUN_140015580 + * Pseudocode, not original source. */ + +byte * FUN_140015580(longlong *param_1,byte *param_2,longlong *param_3,int param_4) + +{ + ulonglong uVar1; + longlong *plVar2; + longlong lVar3; + undefined8 *puVar4; + undefined1 auVar5 [16]; + longlong lVar6; + byte *pbVar7; + byte *pbVar8; + __uint64 _Var9; + longlong *plVar10; + byte *pbVar11; + ulonglong uVar12; + longlong *plVar13; + longlong *local_38; + + for (plVar2 = param_1; plVar2 != (longlong *)0x0; plVar2 = (longlong *)plVar2[3]) { + lVar6 = (**(code **)(*plVar2 + 0x20))(plVar2); + if (lVar6 != 0) { + lVar6 = (**(code **)(*plVar2 + 0x20))(plVar2); + goto LAB_1400155e9; + } + } + lVar6 = 0; +LAB_1400155e9: + plVar2 = param_1 + 7; + FUN_140010f70(plVar2,&DAT_14011e21c,0); + pbVar7 = FUN_140013b90(param_2,param_4); + if (param_3 != (longlong *)0x0) { + FUN_140013a40((int *)param_3,pbVar7,param_4); + param_1[1] = *param_3; + } + pbVar11 = &DAT_14011e338; + if ((pbVar7 != (byte *)0x0) && (*pbVar7 != 0)) { + do { + if (*pbVar11 == 0) goto LAB_140015667; + } while (((pbVar7 + -0x14011e338)[(longlong)pbVar11] == *pbVar11) && + (pbVar11 = pbVar11 + 1, (pbVar7 + -0x14011e338)[(longlong)pbVar11] != 0)); + if (*pbVar11 == 0) { +LAB_140015667: + FUN_140010f70(plVar2,&DAT_14011e21c,0); + pbVar11 = pbVar7 + 4; + if (pbVar11 == (byte *)0x0) { + return (byte *)0x0; + } + pbVar7 = pbVar7 + -0x14011e33c; + while (pbVar8 = &DAT_14011e340, *pbVar11 != 0) { + do { + if (*pbVar8 == 0) goto LAB_1400157b5; + } while ((pbVar7[(longlong)pbVar8] == *pbVar8) && + (pbVar8 = pbVar8 + 1, pbVar7[(longlong)pbVar8] != 0)); + if (*pbVar8 == 0) break; + plVar10 = (longlong *)*plVar2; + lVar6 = *plVar10; + uVar12 = lVar6 + 1; + plVar13 = local_38; + if (((ulonglong)plVar10[1] < uVar12) && + (uVar1 = plVar10[1] + uVar12, (ulonglong)plVar10[1] < uVar1)) { + lVar3 = *plVar10; + if (uVar1 == 0) { + plVar10 = &DAT_140162cd0; + } + else { + auVar5._8_8_ = 0; + auVar5._0_8_ = uVar1 + 0x1b >> 2; + _Var9 = SUB168(ZEXT816(4) * auVar5,0); + if (SUB168(ZEXT816(4) * auVar5,8) != 0) { + _Var9 = 0xffffffffffffffff; + } + plVar10 = operator_new(_Var9); + *plVar10 = lVar3; + *(undefined1 *)(lVar3 + 0x10 + (longlong)plVar10) = 0; + plVar10[1] = uVar1; + local_38 = plVar10; + } + memcpy(plVar10 + 2,(size_t *)*plVar2 + 2,*(size_t *)*plVar2); + plVar13 = (longlong *)param_1[8]; + puVar4 = (undefined8 *)*plVar2; + *plVar2 = (longlong)plVar10; + param_1[8] = (longlong)local_38; + if (puVar4 != &DAT_140162cd0) { + operator_delete__(plVar13); + } + } + memmove((void *)(*plVar2 + *(longlong *)*plVar2 + 0x10),pbVar11,1); + *(ulonglong *)*plVar2 = uVar12; + *(undefined1 *)(lVar6 + 0x11 + *plVar2) = 0; + pbVar7 = pbVar7 + 1; + pbVar11 = pbVar11 + 1; + local_38 = plVar13; + if (pbVar11 == (byte *)0x0) { + return (byte *)0x0; + } + } +LAB_1400157b5: + return pbVar11 + 3; + } + } + FUN_140014650(lVar6,0xb,pbVar7,(int *)param_3,param_4); + return (byte *)0x0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140015800.c b/decomp/Agent_Release_x64/full/functions/0x140015800.c new file mode 100644 index 00000000..a0499088 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140015800.c @@ -0,0 +1,82 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140015800 FUN_140015800 + * Pseudocode, not original source. */ + +byte * FUN_140015800(longlong param_1,byte *param_2,int *param_3,int param_4) + +{ + byte bVar1; + undefined4 uVar2; + byte *pbVar3; + byte *pbVar4; + char *pcVar5; + + pbVar3 = FUN_140013b90(param_2,param_4); + if ((pbVar3 != (byte *)0x0) && (*pbVar3 != 0)) { + if (param_3 != (int *)0x0) { + FUN_140013a40(param_3,pbVar3,param_4); + *(undefined8 *)(param_1 + 8) = *(undefined8 *)param_3; + } + pbVar4 = FUN_140013c70(pbVar3,(longlong *)(param_1 + 0x20)); + if ((pbVar4 != (byte *)0x0) && (*pbVar4 != 0)) { + pbVar3 = FUN_140013b90(pbVar4,param_4); + if ((pbVar3 == (byte *)0x0) || ((*pbVar3 == 0 || (*pbVar3 != 0x3d)))) { + if (*(longlong *)(param_1 + 0x18) != 0) { + FUN_140014650(*(longlong *)(param_1 + 0x18),7,pbVar3,param_3,param_4); + } + return (byte *)0x0; + } + pbVar3 = FUN_140013b90(pbVar3 + 1,param_4); + if ((pbVar3 != (byte *)0x0) && (bVar1 = *pbVar3, bVar1 != 0)) { + if (bVar1 == 0x27) { + pcVar5 = "\'"; + } + else { + if (bVar1 != 0x22) { + FUN_140010f70((longlong *)(param_1 + 0x30),&DAT_14011e21c,0); + while( true ) { + if (*pbVar3 == 0) { + return pbVar3; + } + uVar2 = FUN_140013900(*pbVar3); + if ((char)uVar2 != '\0') { + return pbVar3; + } + bVar1 = *pbVar3; + if (bVar1 == 10) { + return pbVar3; + } + if (bVar1 == 0xd) break; + if (bVar1 == 0x2f) { + return pbVar3; + } + if (bVar1 == 0x3e) { + return pbVar3; + } + if ((bVar1 == 0x27) || (bVar1 == 0x22)) { + if (*(longlong *)(param_1 + 0x18) != 0) { + FUN_140014650(*(longlong *)(param_1 + 0x18),7,pbVar3,param_3,param_4); + } + return (byte *)0x0; + } + FUN_1400110f0((longlong *)(param_1 + 0x30),bVar1); + pbVar3 = pbVar3 + 1; + if (pbVar3 == (byte *)0x0) { + return (byte *)0x0; + } + } + return pbVar3; + } + pcVar5 = "\""; + } + pbVar3 = FUN_140013ff0(pbVar3 + 1,(longlong *)(param_1 + 0x30),'\0',pcVar5,param_4); + return pbVar3; + } + } + if (*(longlong *)(param_1 + 0x18) != 0) { + FUN_140014650(*(longlong *)(param_1 + 0x18),7,pbVar3,param_3,param_4); + } + } + return (byte *)0x0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400159f0.c b/decomp/Agent_Release_x64/full/functions/0x1400159f0.c new file mode 100644 index 00000000..901e0a8c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400159f0.c @@ -0,0 +1,100 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400159f0 FUN_1400159f0 + * Pseudocode, not original source. */ + +byte * FUN_1400159f0(longlong *param_1,byte *param_2,longlong *param_3,int param_4) + +{ + longlong *plVar1; + ulonglong uVar2; + byte bVar3; + longlong *plVar4; + longlong lVar5; + byte *pbVar6; + byte *pbVar7; + byte *pbVar8; + ulonglong uVar9; + byte local_res8 [8]; + undefined8 *local_30; + void *local_28; + + plVar1 = param_1 + 7; + FUN_140010f70(plVar1,&DAT_14011e21c,0); + for (plVar4 = param_1; plVar4 != (longlong *)0x0; plVar4 = (longlong *)plVar4[3]) { + lVar5 = (**(code **)(*plVar4 + 0x20))(plVar4); + if (lVar5 != 0) { + lVar5 = (**(code **)(*plVar4 + 0x20))(plVar4); + goto LAB_140015a69; + } + } + lVar5 = 0; +LAB_140015a69: + if (param_3 != (longlong *)0x0) { + FUN_140013a40((int *)param_3,param_2,param_4); + param_1[1] = *param_3; + } + pbVar6 = &DAT_14011e328; + if ((char)param_1[0xb] == '\0') { + pbVar8 = &DAT_14011e328; + if ((param_2 != (byte *)0x0) && (*param_2 != 0)) { + do { + if (*pbVar8 == 0) goto LAB_140015aeb; + } while (((param_2 + -0x14011e328)[(longlong)pbVar8] == *pbVar8) && + (pbVar8 = pbVar8 + 1, (param_2 + -0x14011e328)[(longlong)pbVar8] != 0)); + if (*pbVar8 == 0) goto LAB_140015aeb; + } + pbVar6 = FUN_140013ff0(param_2,plVar1,'\x01',"<",param_4); + if (pbVar6 != (byte *)0x0) { + return pbVar6 + -1; + } + } + else { +LAB_140015aeb: + *(undefined1 *)(param_1 + 0xb) = 1; + if ((param_2 != (byte *)0x0) && (*param_2 != 0)) { + do { + if (*pbVar6 == 0) goto LAB_140015b25; + } while (((param_2 + -0x14011e328)[(longlong)pbVar6] == *pbVar6) && + (pbVar6 = pbVar6 + 1, (param_2 + -0x14011e328)[(longlong)pbVar6] != 0)); + if (*pbVar6 == 0) { +LAB_140015b25: + pbVar6 = param_2 + 9; + if (pbVar6 != (byte *)0x0) { + pbVar8 = param_2 + -0x14011e32b; + while (bVar3 = *pbVar6, bVar3 != 0) { + pbVar7 = &DAT_14011e334; + do { + if (*pbVar7 == 0) goto LAB_140015bcc; + } while ((pbVar8[(longlong)pbVar7] == *pbVar7) && + (pbVar7 = pbVar7 + 1, pbVar8[(longlong)pbVar7] != 0)); + if (*pbVar7 == 0) break; + plVar4 = (longlong *)*plVar1; + uVar9 = *plVar4 + 1; + local_res8[0] = bVar3; + if (((ulonglong)plVar4[1] < uVar9) && + (uVar2 = plVar4[1] + uVar9, (ulonglong)plVar4[1] < uVar2)) { + FUN_140010ea0(plVar1,uVar2); + } + memmove((void *)(*plVar1 + *(longlong *)*plVar1 + 0x10),local_res8,1); + *(ulonglong *)*plVar1 = uVar9; + *(undefined1 *)(*plVar1 + 0x10 + uVar9) = 0; + pbVar8 = pbVar8 + 1; + pbVar6 = pbVar6 + 1; + if (pbVar6 == (byte *)0x0) break; + } + } +LAB_140015bcc: + local_30 = &DAT_140162cd0; + pbVar6 = FUN_140013ff0(pbVar6,(longlong *)&local_30,'\0',"]]>",param_4); + if (local_30 == &DAT_140162cd0) { + return pbVar6; + } + operator_delete__(local_28); + return pbVar6; + } + } + FUN_140014650(lVar5,0xf,param_2,(int *)param_3,param_4); + } + return (byte *)0x0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140015c40.c b/decomp/Agent_Release_x64/full/functions/0x140015c40.c new file mode 100644 index 00000000..684f4f41 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140015c40.c @@ -0,0 +1,223 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140015c40 FUN_140015c40 + * Pseudocode, not original source. */ + +byte * FUN_140015c40(longlong *param_1,byte *param_2,longlong *param_3,int param_4) + +{ + char cVar1; + byte bVar2; + longlong *plVar3; + int iVar4; + byte *pbVar5; + longlong lVar6; + ulonglong uVar7; + int iVar8; + undefined8 *puVar9; + char *pcVar10; + undefined **local_88; + undefined8 local_80; + undefined8 local_78; + undefined8 local_70; + undefined8 *local_68; + void *local_60; + undefined8 *local_58; + void *local_50; + undefined8 local_48; + undefined8 local_40; + + pbVar5 = FUN_140013b90(param_2,param_4); + for (plVar3 = param_1; plVar3 != (longlong *)0x0; plVar3 = (longlong *)plVar3[3]) { + lVar6 = (**(code **)(*plVar3 + 0x20))(); + if (lVar6 != 0) { + lVar6 = (**(code **)(*plVar3 + 0x20))(); + goto LAB_140015cba; + } + } + lVar6 = 0; +LAB_140015cba: + if ((pbVar5 != (byte *)0x0) && (*pbVar5 != 0)) { + pcVar10 = "::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140016200.c b/decomp/Agent_Release_x64/full/functions/0x140016200.c new file mode 100644 index 00000000..25d120fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140016200.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140016200 FUN_140016200 + * Pseudocode, not original source. */ + +void FUN_140016200(ulonglong *param_1,undefined8 *param_2) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + + puVar1 = (undefined8 *)param_1[1]; + if ((param_2 < puVar1) && (puVar2 = (undefined8 *)*param_1, puVar2 <= param_2)) { + if (puVar1 == (undefined8 *)param_1[2]) { + FUN_140001e70((longlong *)param_1); + } + if ((undefined8 *)param_1[1] != (undefined8 *)0x0) { + *(undefined8 *)param_1[1] = + *(undefined8 *)(*param_1 + ((longlong)param_2 - (longlong)puVar2 >> 3) * 8); + param_1[1] = param_1[1] + 8; + return; + } + } + else { + if (puVar1 == (undefined8 *)param_1[2]) { + FUN_140001e70((longlong *)param_1); + } + if ((undefined8 *)param_1[1] != (undefined8 *)0x0) { + *(undefined8 *)param_1[1] = *param_2; + } + } + param_1[1] = param_1[1] + 8; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140016290.c b/decomp/Agent_Release_x64/full/functions/0x140016290.c new file mode 100644 index 00000000..9140b6b7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140016290.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140016290 FUN_140016290 + * Pseudocode, not original source. */ + +undefined8 * FUN_140016290(undefined8 *param_1,byte param_2) + +{ + DAT_140162d50 = 0; + *param_1 = MBISingleton::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400162d0.c b/decomp/Agent_Release_x64/full/functions/0x1400162d0.c new file mode 100644 index 00000000..c6487835 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400162d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400162d0 FUN_1400162d0 + * Pseudocode, not original source. */ + +void FUN_1400162d0(longlong param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400161b0((undefined8 *)(param_1 + -8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400162e0.c b/decomp/Agent_Release_x64/full/functions/0x1400162e0.c new file mode 100644 index 00000000..45056fff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400162e0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400162e0 FUN_1400162e0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400162e0(undefined8 *param_1,byte param_2) + +{ + *param_1 = TimeSource::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140016310.c b/decomp/Agent_Release_x64/full/functions/0x140016310.c new file mode 100644 index 00000000..ef2646c0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140016310.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140016310 FUN_140016310 + * Pseudocode, not original source. */ + +void FUN_140016310(undefined8 *param_1) + +{ + *param_1 = IObserver::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140016320.c b/decomp/Agent_Release_x64/full/functions/0x140016320.c new file mode 100644 index 00000000..5713928b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140016320.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140016320 FUN_140016320 + * Pseudocode, not original source. */ + +undefined8 * FUN_140016320(undefined8 *param_1,byte param_2) + +{ + *param_1 = IObserver::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140016350.c b/decomp/Agent_Release_x64/full/functions/0x140016350.c new file mode 100644 index 00000000..56162932 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140016350.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140016350 FUN_140016350 + * Pseudocode, not original source. */ + +undefined8 * FUN_140016350(undefined8 *param_1,uint param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = Magi::Timer::vftable; + (**(code **)(*(longlong *)param_1[1] + 0x18)) + ((longlong *)param_1[1],param_1,param_3,param_4,0xfffffffffffffffe); + *param_1 = IObserver::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400163b0.c b/decomp/Agent_Release_x64/full/functions/0x1400163b0.c new file mode 100644 index 00000000..9e442654 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400163b0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400163b0 FUN_1400163b0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400163b0(void) + +{ + return 34000; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400163c0.c b/decomp/Agent_Release_x64/full/functions/0x1400163c0.c new file mode 100644 index 00000000..6abb5737 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400163c0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400163c0 FUN_1400163c0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400163c0(void) + +{ + return 0x84df; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400163d0.c b/decomp/Agent_Release_x64/full/functions/0x1400163d0.c new file mode 100644 index 00000000..148dbff5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400163d0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400163d0 FUN_1400163d0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400163d0(undefined8 *param_1,uint param_2) + +{ + FUN_140081fe0(param_1); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140016400.c b/decomp/Agent_Release_x64/full/functions/0x140016400.c new file mode 100644 index 00000000..fd18601c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140016400.c @@ -0,0 +1,74 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140016400 FUN_140016400 + * Pseudocode, not original source. */ + +undefined1 FUN_140016400(longlong *param_1,undefined8 param_2,SIZE_T param_3,longlong *param_4) + +{ + undefined1 uVar1; + ulonglong *puVar2; + uint *puVar3; + ulonglong *puVar4; + SIZE_T SVar5; + longlong *plVar6; + undefined4 local_res10 [2]; + undefined4 local_50 [2]; + longlong local_48; + longlong local_40; + int local_34; + + local_res10[0] = (undefined4)param_2; + SVar5 = param_3; + plVar6 = param_4; + FUN_1400806d0(local_50); + FUN_1400801a0((longlong)local_50,param_2,SVar5,plVar6); + FUN_1400221b0((longlong)local_50,0x84d1,SVar5,plVar6); + FUN_140021e80((longlong)local_50,(param_4[1] - *param_4) / 0xa0,SVar5,plVar6); + puVar3 = (uint *)*param_4; + if (puVar3 != (uint *)param_4[1]) { + puVar4 = (ulonglong *)(puVar3 + 0x1a); + do { + FUN_140021e80((longlong)local_50,(ulonglong)*puVar3,SVar5,plVar6); + FUN_140021e80((longlong)local_50,(ulonglong)*(uint *)((longlong)puVar4 + -100),SVar5,plVar6); + FUN_140021e80((longlong)local_50,(ulonglong)(uint)puVar4[-0xc],SVar5,plVar6); + FUN_14001ba80((longlong)local_50,(ulonglong)*(byte *)((longlong)puVar4 + -0x5c),SVar5,plVar6); + FUN_140021e80((longlong)local_50,(ulonglong)(uint)puVar4[-0xb],SVar5,plVar6); + FUN_140021e80((longlong)local_50,(ulonglong)*(uint *)((longlong)puVar4 + -0x54),SVar5,plVar6); + FUN_140021e80((longlong)local_50,(ulonglong)(uint)puVar4[-10],SVar5,plVar6); + FUN_140021e80((longlong)local_50,(ulonglong)*(uint *)((longlong)puVar4 + -0x4c),SVar5,plVar6); + FUN_14001ba80((longlong)local_50,(ulonglong)(byte)puVar4[-9],SVar5,plVar6); + if (puVar4[-5] < 8) { + puVar2 = puVar4 + -8; + } + else { + puVar2 = (ulonglong *)puVar4[-8]; + } + FUN_140081ee0((longlong)local_50,(short *)puVar2); + if (*puVar4 < 8) { + puVar2 = puVar4 + -3; + } + else { + puVar2 = (ulonglong *)puVar4[-3]; + } + FUN_140081ee0((longlong)local_50,(short *)puVar2); + if (puVar4[5] < 8) { + puVar2 = puVar4 + 2; + } + else { + puVar2 = (ulonglong *)puVar4[2]; + } + FUN_140081ee0((longlong)local_50,(short *)puVar2); + puVar3 = puVar3 + 0x28; + puVar4 = puVar4 + 0x14; + } while (puVar3 != (uint *)param_4[1]); + } + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_50,L"PT_SERVER_OPTIONS",0x84d1); + FUN_140095270(&local_48); + if ((local_40 != 0) && (local_34 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400165e0.c b/decomp/Agent_Release_x64/full/functions/0x1400165e0.c new file mode 100644 index 00000000..f4c644d9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400165e0.c @@ -0,0 +1,79 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400165e0 FUN_1400165e0 + * Pseudocode, not original source. */ + +undefined1 +FUN_1400165e0(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4, + longlong *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong *puVar3; + uint *puVar4; + ulonglong *puVar5; + undefined8 uVar6; + ulonglong uVar7; + undefined4 local_40 [2]; + longlong local_38; + longlong local_30; + int local_24; + + uVar7 = param_3 & 0xffffffff; + uVar2 = param_2; + uVar6 = param_4; + FUN_1400806d0(local_40); + FUN_1400801a0((longlong)local_40,uVar2,param_3,uVar6); + FUN_1400221b0((longlong)local_40,0x84d1,param_3,uVar6); + FUN_140021e80((longlong)local_40,(param_5[1] - *param_5) / 0xa0,param_3,uVar6); + puVar4 = (uint *)*param_5; + if (puVar4 != (uint *)param_5[1]) { + puVar5 = (ulonglong *)(puVar4 + 0x1a); + do { + FUN_140021e80((longlong)local_40,(ulonglong)*puVar4,param_3,uVar6); + FUN_140021e80((longlong)local_40,(ulonglong)*(uint *)((longlong)puVar5 + -100),param_3,uVar6); + FUN_140021e80((longlong)local_40,(ulonglong)(uint)puVar5[-0xc],param_3,uVar6); + FUN_14001ba80((longlong)local_40,(ulonglong)*(byte *)((longlong)puVar5 + -0x5c),param_3,uVar6) + ; + FUN_140021e80((longlong)local_40,(ulonglong)(uint)puVar5[-0xb],param_3,uVar6); + FUN_140021e80((longlong)local_40,(ulonglong)*(uint *)((longlong)puVar5 + -0x54),param_3,uVar6) + ; + FUN_140021e80((longlong)local_40,(ulonglong)(uint)puVar5[-10],param_3,uVar6); + FUN_140021e80((longlong)local_40,(ulonglong)*(uint *)((longlong)puVar5 + -0x4c),param_3,uVar6) + ; + FUN_14001ba80((longlong)local_40,(ulonglong)(byte)puVar5[-9],param_3,uVar6); + if (puVar5[-5] < 8) { + puVar3 = puVar5 + -8; + } + else { + puVar3 = (ulonglong *)puVar5[-8]; + } + FUN_140081ee0((longlong)local_40,(short *)puVar3); + if (*puVar5 < 8) { + puVar3 = puVar5 + -3; + } + else { + puVar3 = (ulonglong *)puVar5[-3]; + } + FUN_140081ee0((longlong)local_40,(short *)puVar3); + if (puVar5[5] < 8) { + puVar3 = puVar5 + 2; + } + else { + puVar3 = (ulonglong *)puVar5[2]; + } + FUN_140081ee0((longlong)local_40,(short *)puVar3); + puVar4 = puVar4 + 0x28; + puVar5 = puVar5 + 0x14; + } while (puVar4 != (uint *)param_5[1]); + } + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,uVar7,param_4,local_40,L"PT_SERVER_OPTIONS",0x84d1); + FUN_140095270(&local_38); + if ((local_30 != 0) && (local_24 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400167f0.c b/decomp/Agent_Release_x64/full/functions/0x1400167f0.c new file mode 100644 index 00000000..c73baa77 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400167f0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400167f0 FUN_1400167f0 + * Pseudocode, not original source. */ + +undefined1 FUN_1400167f0(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x84d2,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PT_SERVER_COMMAND",0x84d2); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400168d0.c b/decomp/Agent_Release_x64/full/functions/0x1400168d0.c new file mode 100644 index 00000000..d1100bbe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400168d0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400168d0 FUN_1400168d0 + * Pseudocode, not original source. */ + +undefined1 +FUN_1400168d0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x84d2,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"PT_SERVER_COMMAND", + 0x84d2); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400169b0.c b/decomp/Agent_Release_x64/full/functions/0x1400169b0.c new file mode 100644 index 00000000..62bff144 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400169b0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400169b0 FUN_1400169b0 + * Pseudocode, not original source. */ + +undefined1 +FUN_1400169b0(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,longlong *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x84d3,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140081ea0((longlong)local_30,param_5,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PT_SERVER_NOTICE",0x84d3); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140016aa0.c b/decomp/Agent_Release_x64/full/functions/0x140016aa0.c new file mode 100644 index 00000000..bacb4223 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140016aa0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140016aa0 FUN_140016aa0 + * Pseudocode, not original source. */ + +undefined1 +FUN_140016aa0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,longlong *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x84d3,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_6,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"PT_SERVER_NOTICE", + 0x84d3); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140016b90.c b/decomp/Agent_Release_x64/full/functions/0x140016b90.c new file mode 100644 index 00000000..8773bb4e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140016b90.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140016b90 FUN_140016b90 + * Pseudocode, not original source. */ + +undefined1 FUN_140016b90(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x84d4,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PT_SERVER_CONNECT",0x84d4); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140016c70.c b/decomp/Agent_Release_x64/full/functions/0x140016c70.c new file mode 100644 index 00000000..4fd95d3e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140016c70.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140016c70 FUN_140016c70 + * Pseudocode, not original source. */ + +undefined1 +FUN_140016c70(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x84d4,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"PT_SERVER_CONNECT", + 0x84d4); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140016d50.c b/decomp/Agent_Release_x64/full/functions/0x140016d50.c new file mode 100644 index 00000000..ffdbbab3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140016d50.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140016d50 FUN_140016d50 + * Pseudocode, not original source. */ + +undefined1 +FUN_140016d50(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,uint *param_5, + uint *param_6) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x84d5,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PT_CHANNEL_STATUS_CHANGE",0x84d5); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140016e50.c b/decomp/Agent_Release_x64/full/functions/0x140016e50.c new file mode 100644 index 00000000..de330754 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140016e50.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140016e50 FUN_140016e50 + * Pseudocode, not original source. */ + +undefined1 +FUN_140016e50(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,uint *param_6,uint *param_7) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x84d5,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_7,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30, + L"PT_CHANNEL_STATUS_CHANGE",0x84d5); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140016f60.c b/decomp/Agent_Release_x64/full/functions/0x140016f60.c new file mode 100644 index 00000000..66a9fdb1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140016f60.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140016f60 FUN_140016f60 + * Pseudocode, not original source. */ + +undefined1 FUN_140016f60(longlong *param_1,undefined8 param_2,SIZE_T param_3,longlong *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + longlong *plVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + plVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,plVar3); + FUN_1400221b0((longlong)local_30,0x84d6,SVar2,plVar3); + FUN_140081ea0((longlong)local_30,param_4,SVar2,plVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PT_USER_KICK",0x84d6); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140017040.c b/decomp/Agent_Release_x64/full/functions/0x140017040.c new file mode 100644 index 00000000..08d7dc7b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140017040.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140017040 FUN_140017040 + * Pseudocode, not original source. */ + +undefined1 +FUN_140017040(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + longlong *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x84d6,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"PT_USER_KICK",0x84d6); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140017120.c b/decomp/Agent_Release_x64/full/functions/0x140017120.c new file mode 100644 index 00000000..30fa8923 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140017120.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140017120 FUN_140017120 + * Pseudocode, not original source. */ + +undefined1 +FUN_140017120(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,uint *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x84d7,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PT_CURRENT_USER_COUNT",0x84d7); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140017210.c b/decomp/Agent_Release_x64/full/functions/0x140017210.c new file mode 100644 index 00000000..3712bb0e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140017210.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140017210 FUN_140017210 + * Pseudocode, not original source. */ + +undefined1 +FUN_140017210(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,uint *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x84d7,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"PT_CURRENT_USER_COUNT", + 0x84d7); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140017310.c b/decomp/Agent_Release_x64/full/functions/0x140017310.c new file mode 100644 index 00000000..3f9a9b63 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140017310.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140017310 FUN_140017310 + * Pseudocode, not original source. */ + +undefined1 FUN_140017310(longlong *param_1,undefined8 param_2,SIZE_T param_3,longlong *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + longlong *plVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + plVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,plVar3); + FUN_1400221b0((longlong)local_30,0x84d8,SVar2,plVar3); + FUN_140081ea0((longlong)local_30,param_4,SVar2,plVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PT_STRING_COMMAND",0x84d8); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400173f0.c b/decomp/Agent_Release_x64/full/functions/0x1400173f0.c new file mode 100644 index 00000000..cb63a714 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400173f0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400173f0 FUN_1400173f0 + * Pseudocode, not original source. */ + +undefined1 +FUN_1400173f0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + longlong *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x84d8,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"PT_STRING_COMMAND", + 0x84d8); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400174d0.c b/decomp/Agent_Release_x64/full/functions/0x1400174d0.c new file mode 100644 index 00000000..7fad0d5b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400174d0.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400174d0 FUN_1400174d0 + * Pseudocode, not original source. */ + +undefined1 +FUN_1400174d0(longlong *param_1,undefined8 param_2,SIZE_T param_3,byte *param_4,uint *param_5, + uint *param_6) + +{ + undefined1 uVar1; + SIZE_T SVar2; + byte *pbVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + pbVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,pbVar3); + FUN_1400221b0((longlong)local_30,0x84d9,SVar2,pbVar3); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_4,SVar2,pbVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,SVar2,pbVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,SVar2,pbVar3); + FUN_140021e80((longlong)local_30,(ulonglong)param_6[1],SVar2,pbVar3); + FUN_140081ee0((longlong)local_30,(short *)(param_6 + 2)); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PT_REAL_TIME_EVENT",0x84d9); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400175f0.c b/decomp/Agent_Release_x64/full/functions/0x1400175f0.c new file mode 100644 index 00000000..65773614 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400175f0.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400175f0 FUN_1400175f0 + * Pseudocode, not original source. */ + +undefined1 +FUN_1400175f0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + byte *param_5,uint *param_6,uint *param_7) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x84d9,uVar3,uVar4); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_7,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)param_7[1],uVar3,uVar4); + FUN_140081ee0((longlong)local_30,(short *)(param_7 + 2)); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"PT_REAL_TIME_EVENT", + 0x84d9); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140017720.c b/decomp/Agent_Release_x64/full/functions/0x140017720.c new file mode 100644 index 00000000..7f376049 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140017720.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140017720 FUN_140017720 + * Pseudocode, not original source. */ + +undefined1 +FUN_140017720(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,longlong *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x84da,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140081ea0((longlong)local_30,param_5,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PWE_REQ_PLAYER_KICK",0x84da); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140017810.c b/decomp/Agent_Release_x64/full/functions/0x140017810.c new file mode 100644 index 00000000..d21f9be4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140017810.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140017810 FUN_140017810 + * Pseudocode, not original source. */ + +undefined1 +FUN_140017810(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,longlong *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x84da,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_6,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"PWE_REQ_PLAYER_KICK", + 0x84da); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140017900.c b/decomp/Agent_Release_x64/full/functions/0x140017900.c new file mode 100644 index 00000000..8c92c5ce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140017900.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140017900 FUN_140017900 + * Pseudocode, not original source. */ + +undefined1 +FUN_140017900(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,longlong *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x84db,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140081ea0((longlong)local_30,param_5,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PWE_REQ_PLAYER_BAN",0x84db); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400179f0.c b/decomp/Agent_Release_x64/full/functions/0x1400179f0.c new file mode 100644 index 00000000..541ae6bf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400179f0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400179f0 FUN_1400179f0 + * Pseudocode, not original source. */ + +undefined1 +FUN_1400179f0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,longlong *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x84db,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_6,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"PWE_REQ_PLAYER_BAN", + 0x84db); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140017ae0.c b/decomp/Agent_Release_x64/full/functions/0x140017ae0.c new file mode 100644 index 00000000..3043215e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140017ae0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140017ae0 FUN_140017ae0 + * Pseudocode, not original source. */ + +undefined1 +FUN_140017ae0(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,longlong *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x84dc,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140081ea0((longlong)local_30,param_5,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PWE_REQ_UPDATE_CASH",0x84dc); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140017bd0.c b/decomp/Agent_Release_x64/full/functions/0x140017bd0.c new file mode 100644 index 00000000..dd18b8c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140017bd0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140017bd0 FUN_140017bd0 + * Pseudocode, not original source. */ + +undefined1 +FUN_140017bd0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,longlong *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x84dc,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_6,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"PWE_REQ_UPDATE_CASH", + 0x84dc); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140017cc0.c b/decomp/Agent_Release_x64/full/functions/0x140017cc0.c new file mode 100644 index 00000000..eff8bddb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140017cc0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140017cc0 FUN_140017cc0 + * Pseudocode, not original source. */ + +undefined1 +FUN_140017cc0(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,longlong *param_5, + uint *param_6,uint *param_7) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x84dd,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140081ea0((longlong)local_30,param_5,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_7,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PWE_REQ_INSERT_ITEM",0x84dd); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140017dd0.c b/decomp/Agent_Release_x64/full/functions/0x140017dd0.c new file mode 100644 index 00000000..7c5ccca9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140017dd0.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140017dd0 FUN_140017dd0 + * Pseudocode, not original source. */ + +undefined1 +FUN_140017dd0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,longlong *param_6,uint *param_7,uint *param_8) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x84dd,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_6,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_7,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_8,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"PWE_REQ_INSERT_ITEM", + 0x84dd); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140017ef0.c b/decomp/Agent_Release_x64/full/functions/0x140017ef0.c new file mode 100644 index 00000000..196e3599 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140017ef0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140017ef0 FUN_140017ef0 + * Pseudocode, not original source. */ + +undefined1 +FUN_140017ef0(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,uint *param_5, + uint *param_6,longlong *param_7) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x84de,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,SVar2,puVar3); + FUN_140081ea0((longlong)local_30,param_7,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PWE_REQ_NOTICE",0x84de); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140018000.c b/decomp/Agent_Release_x64/full/functions/0x140018000.c new file mode 100644 index 00000000..fb78ca79 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140018000.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140018000 FUN_140018000 + * Pseudocode, not original source. */ + +undefined1 +FUN_140018000(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,uint *param_6,uint *param_7,longlong *param_8) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x84de,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_7,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_8,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"PWE_REQ_NOTICE",0x84de) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140018120.c b/decomp/Agent_Release_x64/full/functions/0x140018120.c new file mode 100644 index 00000000..ce842ff5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140018120.c @@ -0,0 +1,1671 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140018120 FUN_140018120 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +ulonglong FUN_140018120(longlong *param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong ******pppppplVar1; + int *piVar2; + uint uVar3; + char cVar4; + int iVar5; + DWORD DVar6; + DWORD DVar7; + undefined8 uVar8; + longlong *******ppppppplVar9; + longlong ******extraout_RAX; + longlong ******pppppplVar10; + longlong *******ppppppplVar11; + undefined *puVar12; + longlong *******ppppppplVar13; + longlong *******ppppppplVar14; + longlong *plVar15; + longlong *plVar16; + longlong *******ppppppplVar17; + ulonglong uVar18; + uint uVar19; + ulong uVar20; + undefined1 *puVar21; + uint *puVar22; + IMAGE_DOS_HEADER *pIVar23; + undefined **ppuVar24; + longlong lVar25; + wchar_t *pwVar26; + undefined8 uVar27; + undefined8 *puVar28; + undefined1 auStack_2c8 [32]; + longlong *******local_2a8; + longlong *******local_2a0; + longlong *******local_298; + longlong *******local_288; + uint local_280; + undefined1 local_27c [4]; + longlong *******local_278; + undefined8 local_270; + void *local_268; + wchar_t *local_260; + undefined8 local_258; + undefined8 local_250; + int local_248; + longlong *******local_240; + undefined1 local_238; + longlong *******local_230; + undefined8 local_228; + undefined8 local_220; + uint local_218; + undefined2 local_214; + longlong *******local_210; + longlong *******local_208; + longlong *******local_200; + longlong *******local_1f8 [2]; + undefined1 local_1e8 [4]; + uint local_1e4; + undefined8 local_1b0; + longlong *******local_188; + undefined *local_180; + longlong ******local_178; + longlong ******local_170; + longlong ******local_168; + longlong ******local_160; + longlong ******local_158; + undefined *local_150; + undefined *local_148; + undefined *local_140; + longlong ******local_138; + uint local_130 [2]; + longlong ******local_128; + undefined *local_120; + undefined *local_118; + undefined *local_110; + undefined *local_108; + undefined *local_100; + undefined *local_f8; + longlong local_f0; + longlong local_e8; + longlong local_e0; + longlong local_d8; + longlong local_d0; + longlong local_c8; + longlong local_c0; + longlong local_b8; + longlong local_b0; + longlong local_a8; + longlong local_a0; + longlong local_98; + longlong local_90 [3]; + UUID local_78; + UUID local_68; + uint local_58; + undefined8 local_50; + int local_48; + ulonglong local_40; + + local_90[1] = 0xfffffffffffffffe; + local_40 = DAT_1401555a0 ^ (ulonglong)auStack_2c8; + uVar3 = param_2[10]; + uVar27 = param_3; + if (uVar3 == 0) { + FUN_140093300(); + } + uVar19 = *param_2; + uVar8 = FUN_140080fb0(param_2,local_130,uVar27,param_4); + if ((char)uVar8 == '\0') { +switchD_1400181c4_default: + uVar18 = FUN_1400802d0((int *)param_2, + (ulonglong)(uint)((int)(((int)uVar19 >> 0x1f & 7U) + uVar19) >> 3),uVar27 + ,param_4); + uVar18 = uVar18 & 0xffffffffffffff00; + } + else { + pIVar23 = &IMAGE_DOS_HEADER_140000000; + local_1b0 = param_3; + switch(local_130[0]) { + case 0x8535: + FUN_14003b570(local_1e8); + local_1e4 = param_2[10]; + local_1e8[0] = (undefined1)param_2[0x10]; + uVar8 = 4; + uVar27 = FUN_140080600(param_2,(undefined8 *)&local_280,4); + uVar19 = local_78.Data1; + if ((char)uVar27 != '\0') { + uVar19 = local_280; + } + local_78.Data1 = uVar19; + DVar6 = 0; + local_230 = (longlong *******)0x0; + iVar5 = 0; + local_228 = (ulonglong)local_228._4_4_ << 0x20; + local_220 = 0; + FUN_140021ce0(param_2,(undefined4 *)&local_230,uVar8,param_4); + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"PT_SERVER_REGISTER"; + (**(code **)(*plVar16 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_2a8 = (longlong *******)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x8535,L"PT_SERVER_REGISTER"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar16,param_2,pwVar26,param_4); + local_288 = (longlong *******)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_288); + puVar12 = &DAT_14011eebc; + ppppppplVar17 = (longlong *******)&local_288; + FUN_14001b850((longlong *)ppppppplVar17,(short *)&DAT_14011eebc); + FUN_140030200(ppppppplVar17,puVar12,pwVar26,param_4); + local_278 = (longlong *******)PTR_DAT_140155010; + uVar18 = local_228 & 0xffffffff; + FUN_14001b7a0((longlong *)&local_278,L"{ %d }",uVar18,param_4); + ppppppplVar17 = (longlong *******)&local_278; + ppppppplVar13 = (longlong *******)&local_288; + FUN_14001b5a0((longlong *)ppppppplVar13,(longlong *)ppppppplVar17); + ppppppplVar11 = local_278; + if (((local_278 != (longlong *******)0x0) && + (local_278 != (longlong *******)PTR_DAT_140155010)) && + (pppppplVar1 = (longlong ******)(local_278 + -1), pppppplVar1 != (longlong ******)0x0)) { + ppppppplVar17 = + (longlong *******)FUN_140030200(ppppppplVar13,ppppppplVar17,uVar18,param_4); + local_68._0_8_ = ppppppplVar17; + FUN_14002e6e0((int *)ppppppplVar17); + local_68.Data4[0] = '\x01'; + piVar2 = (int *)((longlong)ppppppplVar11 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(pppppplVar1); + } + FUN_14002e770((longlong)ppppppplVar17); + } + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + if ((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) { + iVar5 = *(int *)(local_288 + -1); + } + uVar18 = (ulonglong)(iVar5 - 2U); + local_278 = (longlong *******) + FUN_14001ac70((longlong *)&local_288,(longlong *)&local_118,iVar5 - 2U); + ppppppplVar17 = local_288; + if (local_288 == (longlong *******)0x0) { + ppppppplVar17 = (longlong *******)PTR_DAT_140155010; + } + local_288 = ppppppplVar17; + if ((longlong *******)*local_278 != ppppppplVar17) { + ppppppplVar17 = + (longlong *******)FUN_140030200(ppppppplVar17,PTR_DAT_140155010,uVar18,param_4); + local_68._0_8_ = ppppppplVar17; + FUN_14002e6e0((int *)ppppppplVar17); + ppppppplVar13 = local_288; + local_68.Data4[0] = '\x01'; + if (((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) && + (ppppppplVar11 = local_288 + -1, ppppppplVar11 != (longlong *******)0x0)) { + ppppppplVar14 = + (longlong *******)FUN_140030200(local_288,PTR_DAT_140155010,uVar18,param_4); + local_240 = ppppppplVar14; + FUN_14002e6e0((int *)ppppppplVar14); + local_238 = 1; + piVar2 = (int *)((longlong)ppppppplVar13 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppppppplVar11); + } + FUN_14002e770((longlong)ppppppplVar14); + } + local_288 = (longlong *******)*local_278; + if (((local_288 != (longlong *******)PTR_DAT_140155010) && + (local_288 != (longlong *******)0x0)) && (local_288 != (longlong *******)0x8)) { + *(int *)((longlong)local_288 + -4) = *(int *)((longlong)local_288 + -4) + 1; + } + FUN_14002e770((longlong)ppppppplVar17); + } + if (((local_118 != (undefined *)0x0) && (local_118 != PTR_DAT_140155010)) && + (local_118 + -8 != (undefined *)0x0)) { + ppppppplVar17 = + (longlong *******)FUN_140030200(ppppppplVar17,PTR_DAT_140155010,uVar18,param_4); + local_68._0_8_ = ppppppplVar17; + FUN_14002e6e0((int *)ppppppplVar17); + local_68.Data4[0] = '\x01'; + piVar2 = (int *)(local_118 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(local_118 + -8); + } + FUN_14002e770((longlong)ppppppplVar17); + } + local_240 = (longlong *******)&local_208; + puVar12 = PTR_DAT_140155010; + local_118 = PTR_DAT_140155010; + FUN_140030200(ppppppplVar17,PTR_DAT_140155010,uVar18,param_4); + local_208 = (longlong *******)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_208 = (longlong *******)0x0; + } + if (local_288 != (longlong *******)PTR_DAT_140155010) { + ppppppplVar17 = (longlong *******)FUN_140030200(ppppppplVar17,puVar12,uVar18,param_4); + local_68._0_8_ = ppppppplVar17; + FUN_14002e6e0((int *)ppppppplVar17); + local_68.Data4[0] = '\x01'; + FUN_140003240((longlong *)&local_208,puVar12,uVar18,param_4); + local_208 = local_288; + if (((local_288 != (longlong *******)PTR_DAT_140155010) && + (local_288 != (longlong *******)0x0)) && (local_288 != (longlong *******)0x8)) { + *(int *)((longlong)local_288 + -4) = *(int *)((longlong)local_288 + -4) + 1; + } + FUN_14002e770((longlong)ppppppplVar17); + } + FUN_140030200(ppppppplVar17,puVar12,uVar18,param_4); + local_150 = PTR_DAT_140155010; + iVar5 = FUN_140030080(L"PT_SERVER_REGISTER"); + puVar12 = FUN_140002f90((longlong *)&local_150,iVar5); + FUN_1400300b0(puVar12,L"PT_SERVER_REGISTER",iVar5); + FUN_140003070((longlong *)&local_150); + (**(code **)(*param_1 + 0x28))(param_1,0x8535,&local_150,&local_208); + local_2a8 = local_288; + if (local_288 == (longlong *******)0x0) { + local_2a8 = (longlong *******)PTR_DAT_140155010; + } + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"PT_SERVER_REGISTER"; + uVar27 = 0x8535; + uVar18 = (ulonglong)uVar3; + (**(code **)(*plVar16 + 0x70))(); + ppppppplVar17 = local_288; + if (((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) && + (ppppppplVar13 = local_288 + -1, ppppppplVar13 != (longlong *******)0x0)) { + ppppppplVar11 = (longlong *******)FUN_140030200(plVar16,uVar18,uVar27,pwVar26); + local_68._0_8_ = ppppppplVar11; + FUN_14002e6e0((int *)ppppppplVar11); + local_68.Data4[0] = '\x01'; + piVar2 = (int *)((longlong)ppppppplVar17 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppppppplVar13); + } + FUN_14002e770((longlong)ppppppplVar11); + } + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x8535); + local_260 = L"PT_SERVER_REGISTER"; + local_258 = CONCAT44(local_258._4_4_,uVar3); + local_250 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_268); + DVar6 = GetTickCount(); + } + local_2a8 = (longlong *******)&local_230; + ppppppplVar17 = + (longlong *******)(**(code **)(*param_1 + 0x38))(param_1,uVar3,local_1e8,&local_78); + if ((char)ppppppplVar17 == '\0') { + ppppppplVar17 = + (longlong *******) + (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],L"PT_SERVER_REGISTER"); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x8535); + local_260 = L"PT_SERVER_REGISTER"; +LAB_14001ab3c: + local_258 = CONCAT44(local_258._4_4_,uVar3); + local_250 = param_3; + DVar7 = GetTickCount(); + local_248 = DVar7 - DVar6; + ppppppplVar17 = (longlong *******)(**(code **)(*param_1 + 0x18))(param_1,&local_268); + } + break; + case 0x8536: + FUN_14003b570(local_1e8); + local_1e4 = param_2[10]; + local_1e8[0] = (undefined1)param_2[0x10]; + uVar8 = 4; + uVar27 = FUN_140080600(param_2,(undefined8 *)&local_280,4); + uVar19 = local_78.Data1; + if ((char)uVar27 != '\0') { + uVar19 = local_280; + } + local_78.Data1 = uVar19; + ppppppplVar17 = (longlong *******)0x0; + ppppppplVar13 = (longlong *******)0x0; + local_230 = (longlong *******)0x0; + local_228 = 0; + local_220 = 0; + iVar5 = 0; + local_218 = 0; + local_214 = 0; + FUN_140021d70(param_2,(undefined4 *)&local_230); + local_268 = (void *)0x0; + local_260 = (wchar_t *)0x0; + local_258 = 0; + FUN_14001b020(param_2,(ulonglong *)&local_268,uVar8,param_4); + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"PT_SERVER_INFORMATION"; + (**(code **)(*plVar16 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_2a8 = (longlong *******)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x8536,L"PT_SERVER_INFORMATION"); + goto LAB_140018b7a; + } + } + else { + ppppppplVar13 = ppppppplVar17; + if ((char)param_1[3] == '\0') { + FUN_140030200(plVar16,param_2,pwVar26,param_4); + local_288 = (longlong *******)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_288); + puVar12 = &DAT_14011eebc; + ppppppplVar13 = (longlong *******)&local_288; + FUN_14001b850((longlong *)ppppppplVar13,(short *)&DAT_14011eebc); + FUN_140030200(ppppppplVar13,puVar12,pwVar26,param_4); + local_278 = (longlong *******)PTR_DAT_140155010; + uVar18 = (ulonglong)local_218; + FUN_14001b7a0((longlong *)&local_278,L"{ %d }",uVar18,param_4); + ppppppplVar13 = (longlong *******)&local_278; + ppppppplVar11 = (longlong *******)&local_288; + FUN_14001b5a0((longlong *)ppppppplVar11,(longlong *)ppppppplVar13); + ppppppplVar14 = local_278; + if (((local_278 != (longlong *******)0x0) && + (local_278 != (longlong *******)PTR_DAT_140155010)) && + (pppppplVar1 = (longlong ******)(local_278 + -1), pppppplVar1 != (longlong ******)0x0)) + { + ppppppplVar13 = + (longlong *******)FUN_140030200(ppppppplVar11,ppppppplVar13,uVar18,param_4); + local_68._0_8_ = ppppppplVar13; + FUN_14002e6e0((int *)ppppppplVar13); + local_68.Data4[0] = '\x01'; + piVar2 = (int *)((longlong)ppppppplVar14 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(pppppplVar1); + } + FUN_14002e770((longlong)ppppppplVar13); + } + puVar12 = &DAT_14011eebc; + ppppppplVar13 = (longlong *******)&local_288; + FUN_14001b850((longlong *)ppppppplVar13,(short *)&DAT_14011eebc); + FUN_140030200(ppppppplVar13,puVar12,uVar18,param_4); + local_278 = (longlong *******)PTR_DAT_140155010; + lVar25 = (longlong)local_260 - (longlong)local_268 >> 2; + FUN_14001b7a0((longlong *)&local_278,L"",lVar25,param_4); + ppppppplVar13 = (longlong *******)&local_278; + ppppppplVar11 = (longlong *******)&local_288; + FUN_14001b5a0((longlong *)ppppppplVar11,(longlong *)ppppppplVar13); + ppppppplVar14 = local_278; + if (((local_278 != (longlong *******)0x0) && + (local_278 != (longlong *******)PTR_DAT_140155010)) && + (pppppplVar1 = (longlong ******)(local_278 + -1), pppppplVar1 != (longlong ******)0x0)) + { + ppppppplVar13 = + (longlong *******)FUN_140030200(ppppppplVar11,ppppppplVar13,lVar25,param_4); + local_68._0_8_ = ppppppplVar13; + FUN_14002e6e0((int *)ppppppplVar13); + local_68.Data4[0] = '\x01'; + piVar2 = (int *)((longlong)ppppppplVar14 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(pppppplVar1); + } + FUN_14002e770((longlong)ppppppplVar13); + } + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + if ((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) { + iVar5 = *(int *)(local_288 + -1); + } + uVar18 = (ulonglong)(iVar5 - 2U); + local_278 = (longlong *******) + FUN_14001ac70((longlong *)&local_288,(longlong *)&local_f8,iVar5 - 2U); + ppppppplVar13 = local_288; + if (local_288 == (longlong *******)0x0) { + ppppppplVar13 = (longlong *******)PTR_DAT_140155010; + } + local_288 = ppppppplVar13; + if ((longlong *******)*local_278 != ppppppplVar13) { + ppppppplVar13 = + (longlong *******)FUN_140030200(ppppppplVar13,PTR_DAT_140155010,uVar18,param_4); + local_68._0_8_ = ppppppplVar13; + FUN_14002e6e0((int *)ppppppplVar13); + ppppppplVar11 = local_288; + local_68.Data4[0] = '\x01'; + if (((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) && + (ppppppplVar14 = local_288 + -1, ppppppplVar14 != (longlong *******)0x0)) { + ppppppplVar9 = (longlong *******) + FUN_140030200(local_288,PTR_DAT_140155010,uVar18,param_4); + local_240 = ppppppplVar9; + FUN_14002e6e0((int *)ppppppplVar9); + local_238 = 1; + piVar2 = (int *)((longlong)ppppppplVar11 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppppppplVar14); + } + FUN_14002e770((longlong)ppppppplVar9); + } + local_288 = (longlong *******)*local_278; + if (((local_288 != (longlong *******)PTR_DAT_140155010) && + (local_288 != (longlong *******)0x0)) && (local_288 != (longlong *******)0x8)) { + *(int *)((longlong)local_288 + -4) = *(int *)((longlong)local_288 + -4) + 1; + } + FUN_14002e770((longlong)ppppppplVar13); + } + if (((local_f8 != (undefined *)0x0) && (local_f8 != PTR_DAT_140155010)) && + (local_f8 + -8 != (undefined *)0x0)) { + ppppppplVar13 = + (longlong *******)FUN_140030200(ppppppplVar13,PTR_DAT_140155010,uVar18,param_4); + local_68._0_8_ = ppppppplVar13; + FUN_14002e6e0((int *)ppppppplVar13); + local_68.Data4[0] = '\x01'; + piVar2 = (int *)(local_f8 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(local_f8 + -8); + } + FUN_14002e770((longlong)ppppppplVar13); + } + local_240 = (longlong *******)&local_188; + puVar12 = PTR_DAT_140155010; + local_f8 = PTR_DAT_140155010; + FUN_140030200(ppppppplVar13,PTR_DAT_140155010,uVar18,param_4); + local_188 = (longlong *******)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_188 = ppppppplVar17; + } + if (local_288 != (longlong *******)PTR_DAT_140155010) { + ppppppplVar13 = (longlong *******)FUN_140030200(ppppppplVar13,puVar12,uVar18,param_4); + local_68._0_8_ = ppppppplVar13; + FUN_14002e6e0((int *)ppppppplVar13); + local_68.Data4[0] = '\x01'; + FUN_140003240((longlong *)&local_188,puVar12,uVar18,param_4); + local_188 = local_288; + if (((local_288 != (longlong *******)PTR_DAT_140155010) && + (local_288 != (longlong *******)0x0)) && (local_288 != (longlong *******)0x8)) { + *(int *)((longlong)local_288 + -4) = *(int *)((longlong)local_288 + -4) + 1; + } + FUN_14002e770((longlong)ppppppplVar13); + } + FUN_140030200(ppppppplVar13,puVar12,uVar18,param_4); + local_140 = PTR_DAT_140155010; + iVar5 = FUN_140030080(L"PT_SERVER_INFORMATION"); + puVar12 = FUN_140002f90((longlong *)&local_140,iVar5); + FUN_1400300b0(puVar12,L"PT_SERVER_INFORMATION",iVar5); + FUN_140003070((longlong *)&local_140); + (**(code **)(*param_1 + 0x28))(param_1,0x8536,&local_140,&local_188); + local_2a8 = local_288; + if (local_288 == (longlong *******)0x0) { + local_2a8 = (longlong *******)PTR_DAT_140155010; + } + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"PT_SERVER_INFORMATION"; + uVar27 = 0x8536; + uVar18 = (ulonglong)uVar3; + (**(code **)(*plVar16 + 0x70))(); + ppppppplVar13 = local_288; + if (((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) && + (ppppppplVar11 = local_288 + -1, ppppppplVar11 != (longlong *******)0x0)) { + ppppppplVar14 = (longlong *******)FUN_140030200(plVar16,uVar18,uVar27,pwVar26); + local_68._0_8_ = ppppppplVar14; + FUN_14002e6e0((int *)ppppppplVar14); + local_68.Data4[0] = '\x01'; + piVar2 = (int *)((longlong)ppppppplVar13 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppppppplVar11); + } + FUN_14002e770((longlong)ppppppplVar14); + } +LAB_140018b7a: + ppppppplVar13 = ppppppplVar17; + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_68.Data1 = 0x8536; + local_68.Data4 = (uchar [8])0x14011ec30; + local_58 = uVar3; + local_50 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_68); + DVar6 = GetTickCount(); + ppppppplVar13 = (longlong *******)(ulonglong)DVar6; + } + } + } + local_2a0 = &local_268; + local_2a8 = (longlong *******)&local_230; + ppppppplVar17 = + (longlong *******)(**(code **)(*param_1 + 0x40))(param_1,uVar3,local_1e8,&local_78); + if ((char)ppppppplVar17 == '\0') { + ppppppplVar17 = + (longlong *******) + (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],L"PT_SERVER_INFORMATION"); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_68.Data1 = 0x8536; + local_68.Data4 = (uchar [8])0x14011ec30; + local_58 = uVar3; + local_50 = param_3; + DVar6 = GetTickCount(); + local_48 = DVar6 - (int)ppppppplVar13; + ppppppplVar17 = (longlong *******)(**(code **)(*param_1 + 0x18))(param_1,&local_68); + } + if (local_268 != (void *)0x0) { + operator_delete(local_268); + ppppppplVar17 = (longlong *******)extraout_RAX; + } + break; + case 0x8537: + FUN_14003b570(local_1e8); + local_1e4 = param_2[10]; + local_1e8[0] = (undefined1)param_2[0x10]; + FUN_140080600(param_2,&local_270,1); + uVar27 = FUN_140080600(param_2,&local_288,4); + if ((char)uVar27 != '\0') { + local_280 = (uint)local_288; + } + uVar27 = FUN_140080600(param_2,&local_288,4); + uVar20 = local_78.Data1; + if ((char)uVar27 != '\0') { + uVar20 = (uint)local_288; + } + local_78.Data1 = uVar20; + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"PT_SERVER_COMMAND_RESULT"; + (**(code **)(*plVar16 + 0x48))(); + DVar6 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_2a8 = (longlong *******)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x8537,L"PT_SERVER_COMMAND_RESULT"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar16,param_2,pwVar26,param_4); + local_288 = (longlong *******)PTR_DAT_140155010; + FUN_14009d760((longlong *)&local_288,local_27c); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_288); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_288); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + iVar5 = 0; + if ((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) { + iVar5 = *(int *)(local_288 + -1); + } + uVar18 = (ulonglong)(iVar5 - 2U); + local_278 = (longlong *******) + FUN_14001ac70((longlong *)&local_288,(longlong *)&local_100,iVar5 - 2U); + ppppppplVar17 = local_288; + if (local_288 == (longlong *******)0x0) { + ppppppplVar17 = (longlong *******)PTR_DAT_140155010; + } + local_288 = ppppppplVar17; + if ((longlong *******)*local_278 != ppppppplVar17) { + ppppppplVar17 = + (longlong *******)FUN_140030200(ppppppplVar17,PTR_DAT_140155010,uVar18,param_4); + local_68._0_8_ = ppppppplVar17; + FUN_14002e6e0((int *)ppppppplVar17); + ppppppplVar13 = local_288; + local_68.Data4[0] = '\x01'; + if (((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) && + (ppppppplVar11 = local_288 + -1, ppppppplVar11 != (longlong *******)0x0)) { + ppppppplVar14 = + (longlong *******)FUN_140030200(local_288,PTR_DAT_140155010,uVar18,param_4); + local_240 = ppppppplVar14; + FUN_14002e6e0((int *)ppppppplVar14); + local_238 = 1; + piVar2 = (int *)((longlong)ppppppplVar13 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppppppplVar11); + } + FUN_14002e770((longlong)ppppppplVar14); + } + local_288 = (longlong *******)*local_278; + if (((local_288 != (longlong *******)PTR_DAT_140155010) && + (local_288 != (longlong *******)0x0)) && (local_288 != (longlong *******)0x8)) { + *(int *)((longlong)local_288 + -4) = *(int *)((longlong)local_288 + -4) + 1; + } + FUN_14002e770((longlong)ppppppplVar17); + } + if (((local_100 != (undefined *)0x0) && (local_100 != PTR_DAT_140155010)) && + (local_100 + -8 != (undefined *)0x0)) { + ppppppplVar17 = + (longlong *******)FUN_140030200(ppppppplVar17,PTR_DAT_140155010,uVar18,param_4); + local_68._0_8_ = ppppppplVar17; + FUN_14002e6e0((int *)ppppppplVar17); + local_68.Data4[0] = '\x01'; + piVar2 = (int *)(local_100 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(local_100 + -8); + } + FUN_14002e770((longlong)ppppppplVar17); + } + local_240 = (longlong *******)&local_210; + puVar12 = PTR_DAT_140155010; + local_100 = PTR_DAT_140155010; + FUN_140030200(ppppppplVar17,PTR_DAT_140155010,uVar18,param_4); + local_210 = (longlong *******)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_210 = (longlong *******)0x0; + } + if (local_288 != (longlong *******)PTR_DAT_140155010) { + ppppppplVar17 = (longlong *******)FUN_140030200(ppppppplVar17,puVar12,uVar18,param_4); + local_68._0_8_ = ppppppplVar17; + FUN_14002e6e0((int *)ppppppplVar17); + local_68.Data4[0] = '\x01'; + FUN_140003240((longlong *)&local_210,puVar12,uVar18,param_4); + local_210 = local_288; + if (((local_288 != (longlong *******)PTR_DAT_140155010) && + (local_288 != (longlong *******)0x0)) && (local_288 != (longlong *******)0x8)) { + *(int *)((longlong)local_288 + -4) = *(int *)((longlong)local_288 + -4) + 1; + } + FUN_14002e770((longlong)ppppppplVar17); + } + FUN_140030200(ppppppplVar17,puVar12,uVar18,param_4); + local_180 = PTR_DAT_140155010; + iVar5 = FUN_140030080(L"PT_SERVER_COMMAND_RESULT"); + puVar12 = FUN_140002f90((longlong *)&local_180,iVar5); + FUN_1400300b0(puVar12,L"PT_SERVER_COMMAND_RESULT",iVar5); + FUN_140003070((longlong *)&local_180); + (**(code **)(*param_1 + 0x28))(param_1,0x8537,&local_180,&local_210); + local_2a8 = local_288; + if (local_288 == (longlong *******)0x0) { + local_2a8 = (longlong *******)PTR_DAT_140155010; + } + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"PT_SERVER_COMMAND_RESULT"; + uVar27 = 0x8537; + uVar18 = (ulonglong)uVar3; + (**(code **)(*plVar16 + 0x70))(); + ppppppplVar17 = local_288; + if (((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) && + (ppppppplVar13 = local_288 + -1, ppppppplVar13 != (longlong *******)0x0)) { + ppppppplVar11 = (longlong *******)FUN_140030200(plVar16,uVar18,uVar27,pwVar26); + local_68._0_8_ = ppppppplVar11; + FUN_14002e6e0((int *)ppppppplVar11); + local_68.Data4[0] = '\x01'; + piVar2 = (int *)((longlong)ppppppplVar17 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppppppplVar13); + } + FUN_14002e770((longlong)ppppppplVar11); + } + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x8537); + local_260 = L"PT_SERVER_COMMAND_RESULT"; + local_258 = CONCAT44(local_258._4_4_,uVar3); + local_250 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_268); + DVar6 = GetTickCount(); + } + local_2a0 = (longlong *******)&local_78; + local_2a8 = (longlong *******)&local_280; + ppppppplVar17 = + (longlong *******)(**(code **)(*param_1 + 0x48))(param_1,uVar3,local_1e8,local_27c); + if ((char)ppppppplVar17 == '\0') { + ppppppplVar17 = + (longlong *******) + (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],L"PT_SERVER_COMMAND_RESULT"); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x8537); + local_260 = L"PT_SERVER_COMMAND_RESULT"; + goto LAB_14001ab3c; + } + break; + case 0x8538: + FUN_14003b570(local_1e8); + local_1e4 = param_2[10]; + local_1e8[0] = (undefined1)param_2[0x10]; + uVar27 = FUN_140080600(param_2,&local_288,4); + uVar20 = local_78.Data1; + if ((char)uVar27 != '\0') { + uVar20 = (uint)local_288; + } + local_78.Data1 = uVar20; + FUN_140080600(param_2,&local_270,1); + uVar8 = 4; + ppppppplVar17 = (longlong *******)&local_288; + uVar27 = FUN_140080600(param_2,ppppppplVar17,4); + if ((char)uVar27 != '\0') { + local_280 = (uint)local_288; + } + FUN_140030200((ulonglong)local_280,ppppppplVar17,uVar8,param_4); + local_278 = (longlong *******)PTR_DAT_140155010; + thunk_FUN_140081740(param_2,(longlong *)&local_278,uVar8,param_4); + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"PWE_RESP_RESULT_CODE"; + (**(code **)(*plVar16 + 0x48))(); + DVar6 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_2a8 = (longlong *******)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x8538,L"PWE_RESP_RESULT_CODE"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar16,param_2,pwVar26,param_4); + local_288 = (longlong *******)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_288); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + FUN_14009d760((longlong *)&local_288,local_27c); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_288); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + FUN_14009da40((longlong *)&local_288,(longlong *)&local_278); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + DVar7 = DVar6; + if ((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) { + DVar7 = *(DWORD *)(local_288 + -1); + } + uVar18 = (ulonglong)(DVar7 - 2); + local_240 = (longlong *******) + FUN_14001ac70((longlong *)&local_288,(longlong *)&local_110,DVar7 - 2); + ppppppplVar17 = local_288; + if (local_288 == (longlong *******)0x0) { + ppppppplVar17 = (longlong *******)PTR_DAT_140155010; + } + local_288 = ppppppplVar17; + if ((longlong *******)*local_240 != ppppppplVar17) { + ppppppplVar17 = + (longlong *******)FUN_140030200(ppppppplVar17,PTR_DAT_140155010,uVar18,param_4); + local_68._0_8_ = ppppppplVar17; + FUN_14002e6e0((int *)ppppppplVar17); + ppppppplVar13 = local_288; + local_68.Data4[0] = '\x01'; + if (((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) && + (ppppppplVar11 = local_288 + -1, ppppppplVar11 != (longlong *******)0x0)) { + ppppppplVar14 = + (longlong *******)FUN_140030200(local_288,PTR_DAT_140155010,uVar18,param_4); + local_230 = ppppppplVar14; + FUN_14002e6e0((int *)ppppppplVar14); + local_228 = CONCAT71(local_228._1_7_,1); + piVar2 = (int *)((longlong)ppppppplVar13 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppppppplVar11); + } + FUN_14002e770((longlong)ppppppplVar14); + } + local_288 = (longlong *******)*local_240; + if (((local_288 != (longlong *******)PTR_DAT_140155010) && + (local_288 != (longlong *******)0x0)) && (local_288 != (longlong *******)0x8)) { + *(int *)((longlong)local_288 + -4) = *(int *)((longlong)local_288 + -4) + 1; + } + FUN_14002e770((longlong)ppppppplVar17); + } + if (((local_110 != (undefined *)0x0) && (local_110 != PTR_DAT_140155010)) && + (local_110 + -8 != (undefined *)0x0)) { + ppppppplVar17 = + (longlong *******)FUN_140030200(ppppppplVar17,PTR_DAT_140155010,uVar18,param_4); + local_230 = ppppppplVar17; + FUN_14002e6e0((int *)ppppppplVar17); + local_228 = CONCAT71(local_228._1_7_,1); + piVar2 = (int *)(local_110 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(local_110 + -8); + } + FUN_14002e770((longlong)ppppppplVar17); + } + local_240 = (longlong *******)local_1f8; + puVar12 = PTR_DAT_140155010; + local_110 = PTR_DAT_140155010; + FUN_140030200(ppppppplVar17,PTR_DAT_140155010,uVar18,param_4); + local_1f8[0] = (longlong *******)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_1f8[0] = (longlong *******)0x0; + } + if (local_288 != (longlong *******)PTR_DAT_140155010) { + ppppppplVar17 = (longlong *******)FUN_140030200(ppppppplVar17,puVar12,uVar18,param_4); + local_230 = ppppppplVar17; + FUN_14002e6e0((int *)ppppppplVar17); + local_228 = CONCAT71(local_228._1_7_,1); + FUN_140003240((longlong *)local_1f8,puVar12,uVar18,param_4); + local_1f8[0] = local_288; + if (((local_288 != (longlong *******)PTR_DAT_140155010) && + (local_288 != (longlong *******)0x0)) && (local_288 != (longlong *******)0x8)) { + *(int *)((longlong)local_288 + -4) = *(int *)((longlong)local_288 + -4) + 1; + } + FUN_14002e770((longlong)ppppppplVar17); + } + FUN_140030200(ppppppplVar17,puVar12,uVar18,param_4); + local_120 = PTR_DAT_140155010; + iVar5 = FUN_140030080(L"PWE_RESP_RESULT_CODE"); + puVar12 = FUN_140002f90((longlong *)&local_120,iVar5); + FUN_1400300b0(puVar12,L"PWE_RESP_RESULT_CODE",iVar5); + FUN_140003070((longlong *)&local_120); + (**(code **)(*param_1 + 0x28))(param_1,0x8538,&local_120,local_1f8); + local_2a8 = local_288; + if (local_288 == (longlong *******)0x0) { + local_2a8 = (longlong *******)PTR_DAT_140155010; + } + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"PWE_RESP_RESULT_CODE"; + uVar27 = 0x8538; + uVar18 = (ulonglong)uVar3; + (**(code **)(*plVar16 + 0x70))(); + ppppppplVar17 = local_288; + if (((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) && + (ppppppplVar13 = local_288 + -1, ppppppplVar13 != (longlong *******)0x0)) { + ppppppplVar11 = (longlong *******)FUN_140030200(plVar16,uVar18,uVar27,pwVar26); + local_230 = ppppppplVar11; + FUN_14002e6e0((int *)ppppppplVar11); + local_228 = CONCAT71(local_228._1_7_,1); + piVar2 = (int *)((longlong)ppppppplVar17 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppppppplVar13); + } + FUN_14002e770((longlong)ppppppplVar11); + } + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x8538); + local_260 = L"PWE_RESP_RESULT_CODE"; + local_258 = CONCAT44(local_258._4_4_,uVar3); + local_250 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_268); + DVar6 = GetTickCount(); + } + local_298 = (longlong *******)&local_278; + local_2a0 = (longlong *******)&local_280; + local_2a8 = (longlong *******)local_27c; + ppuVar24 = (undefined **)&local_78; + puVar21 = local_1e8; + pwVar26 = (wchar_t *)(ulonglong)uVar3; + plVar16 = param_1; + cVar4 = (**(code **)(*param_1 + 0x50))(); + if (cVar4 == '\0') { + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"PWE_RESP_RESULT_CODE"; + (**(code **)(*plVar16 + 0x40))(); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x8538); + local_260 = L"PWE_RESP_RESULT_CODE"; + local_258 = CONCAT44(local_258._4_4_,uVar3); + local_250 = param_3; + DVar7 = GetTickCount(); + local_248 = DVar7 - DVar6; + pwVar26 = (wchar_t *)&local_268; + (**(code **)(*param_1 + 0x18))(); + plVar16 = param_1; + } + ppppppplVar17 = local_278; + if (((local_278 != (longlong *******)0x0) && + (local_278 != (longlong *******)PTR_DAT_140155010)) && + (pppppplVar1 = (longlong ******)(local_278 + -1), pppppplVar1 != (longlong ******)0x0)) { + pppppplVar10 = (longlong ******)FUN_140030200(plVar16,pwVar26,puVar21,ppuVar24); + local_230 = (longlong *******)pppppplVar10; + FUN_14002e6e0((int *)pppppplVar10); + local_228 = CONCAT71(local_228._1_7_,1); + piVar2 = (int *)((longlong)ppppppplVar17 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(pppppplVar1); + } + ppppppplVar17 = (longlong *******)FUN_14002e770((longlong)pppppplVar10); + } + break; + case 0x8539: + FUN_14003b570(local_1e8); + local_1e4 = param_2[10]; + local_1e8[0] = (undefined1)param_2[0x10]; + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"RESP_SERVER_LOCK"; + (**(code **)(*plVar16 + 0x48))(); + DVar6 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_2a8 = (longlong *******)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x8539,L"RESP_SERVER_LOCK"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar16,param_2,pwVar26,param_4); + ppppppplVar17 = (longlong *******)PTR_DAT_140155010; + local_278 = (longlong *******)PTR_DAT_140155010; + uVar27 = 0xfffffffe; + ppuVar24 = &local_108; + local_240 = (longlong *******) + FUN_14001ac70((longlong *)&local_278,(longlong *)ppuVar24,0xfffffffe); + if (ppppppplVar17 == (longlong *******)0x0) { + ppppppplVar17 = (longlong *******)PTR_DAT_140155010; + } + local_278 = ppppppplVar17; + if ((longlong *******)*local_240 != ppppppplVar17) { + ppppppplVar11 = (longlong *******)FUN_140030200(PTR_DAT_140155010,ppuVar24,uVar27,param_4) + ; + ppppppplVar13 = ppppppplVar11; + local_230 = ppppppplVar11; + FUN_14002e6e0((int *)ppppppplVar11); + local_228 = CONCAT71(local_228._1_7_,1); + if (((ppppppplVar17 != (longlong *******)0x0) && + (ppppppplVar17 != (longlong *******)PTR_DAT_140155010)) && + (ppppppplVar17 + -1 != (longlong *******)0x0)) { + ppppppplVar13 = (longlong *******)FUN_140030200(ppppppplVar13,ppuVar24,uVar27,param_4); + local_68._0_8_ = ppppppplVar13; + FUN_14002e6e0((int *)ppppppplVar13); + local_68.Data4[0] = '\x01'; + piVar2 = (int *)((longlong)ppppppplVar17 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppppppplVar17 + -1); + } + FUN_14002e770((longlong)ppppppplVar13); + } + ppppppplVar17 = (longlong *******)*local_240; + if (((ppppppplVar17 != (longlong *******)PTR_DAT_140155010) && + (ppppppplVar17 != (longlong *******)0x0)) && (ppppppplVar17 != (longlong *******)0x8)) + { + *(int *)((longlong)ppppppplVar17 + -4) = *(int *)((longlong)ppppppplVar17 + -4) + 1; + } + local_278 = ppppppplVar17; + FUN_14002e770((longlong)ppppppplVar11); + } + if (((local_108 != (undefined *)0x0) && (local_108 != PTR_DAT_140155010)) && + (local_108 + -8 != (undefined *)0x0)) { + ppppppplVar13 = (longlong *******)FUN_140030200(PTR_DAT_140155010,ppuVar24,uVar27,param_4) + ; + local_230 = ppppppplVar13; + FUN_14002e6e0((int *)ppppppplVar13); + local_228 = CONCAT71(local_228._1_7_,1); + piVar2 = (int *)(local_108 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(local_108 + -8); + } + FUN_14002e770((longlong)ppppppplVar13); + } + local_240 = (longlong *******)&local_200; + ppppppplVar13 = (longlong *******)PTR_DAT_140155010; + local_108 = PTR_DAT_140155010; + FUN_140030200(PTR_DAT_140155010,ppuVar24,uVar27,param_4); + local_200 = (longlong *******)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_200 = (longlong *******)0x0; + } + if (ppppppplVar17 != (longlong *******)PTR_DAT_140155010) { + ppppppplVar13 = (longlong *******)FUN_140030200(ppppppplVar13,ppuVar24,uVar27,param_4); + local_230 = ppppppplVar13; + FUN_14002e6e0((int *)ppppppplVar13); + local_228 = CONCAT71(local_228._1_7_,1); + FUN_140003240((longlong *)&local_200,ppuVar24,uVar27,param_4); + if (((ppppppplVar17 != (longlong *******)PTR_DAT_140155010) && + (ppppppplVar17 != (longlong *******)0x0)) && (ppppppplVar17 != (longlong *******)0x8)) + { + *(int *)((longlong)ppppppplVar17 + -4) = *(int *)((longlong)ppppppplVar17 + -4) + 1; + } + local_200 = ppppppplVar17; + FUN_14002e770((longlong)ppppppplVar13); + } + FUN_140030200(ppppppplVar13,ppuVar24,uVar27,param_4); + local_148 = PTR_DAT_140155010; + iVar5 = FUN_140030080(L"RESP_SERVER_LOCK"); + puVar12 = FUN_140002f90((longlong *)&local_148,iVar5); + FUN_1400300b0(puVar12,L"RESP_SERVER_LOCK",iVar5); + FUN_140003070((longlong *)&local_148); + (**(code **)(*param_1 + 0x28))(param_1,0x8539,&local_148,&local_200); + local_2a8 = ppppppplVar17; + if (ppppppplVar17 == (longlong *******)0x0) { + local_2a8 = (longlong *******)PTR_DAT_140155010; + } + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"RESP_SERVER_LOCK"; + uVar27 = 0x8539; + uVar18 = (ulonglong)uVar3; + (**(code **)(*plVar16 + 0x70))(); + if (((ppppppplVar17 != (longlong *******)0x0) && + (ppppppplVar17 != (longlong *******)PTR_DAT_140155010)) && + (ppppppplVar17 + -1 != (longlong *******)0x0)) { + ppppppplVar13 = (longlong *******)FUN_140030200(plVar16,uVar18,uVar27,pwVar26); + local_230 = ppppppplVar13; + FUN_14002e6e0((int *)ppppppplVar13); + local_228 = CONCAT71(local_228._1_7_,1); + piVar2 = (int *)((longlong)ppppppplVar17 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppppppplVar17 + -1); + } + FUN_14002e770((longlong)ppppppplVar13); + } + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x8539); + local_260 = L"RESP_SERVER_LOCK"; + local_258 = CONCAT44(local_258._4_4_,uVar3); + local_250 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_268); + DVar6 = GetTickCount(); + } + ppppppplVar17 = (longlong *******)(**(code **)(*param_1 + 0x58))(param_1,uVar3,local_1e8); + if ((char)ppppppplVar17 == '\0') { + ppppppplVar17 = + (longlong *******) + (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],L"RESP_SERVER_LOCK"); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x8539); + local_260 = L"RESP_SERVER_LOCK"; + goto LAB_14001ab3c; + } + break; + case 0x853a: + puVar21 = local_1e8; + FUN_14003b570(puVar21); + local_1e4 = param_2[10]; + local_1e8[0] = (undefined1)param_2[0x10]; + FUN_140030200(puVar21,pIVar23,uVar27,param_4); + local_278 = (longlong *******)PTR_DAT_140155010; + thunk_FUN_140081740(param_2,(longlong *)&local_278,uVar27,param_4); + FUN_14009d5b0(param_2,(undefined8 *)&local_78); + uVar27 = FUN_140080600(param_2,&local_288,4); + if ((char)uVar27 != '\0') { + local_280 = (uint)local_288; + } + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"NOTIFY_STORAGE_ALARM"; + (**(code **)(*plVar16 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_2a8 = (longlong *******)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x853a,L"NOTIFY_STORAGE_ALARM"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar16,param_2,pwVar26,param_4); + local_288 = (longlong *******)PTR_DAT_140155010; + FUN_14009da40((longlong *)&local_288,(longlong *)&local_278); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + FUN_14009da90((longlong *)&local_288,&local_78); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_288); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + iVar5 = 0; + if ((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) { + iVar5 = *(int *)(local_288 + -1); + } + uVar18 = (ulonglong)(iVar5 - 2U); + plVar16 = &local_c8; + local_240 = (longlong *******)FUN_14001ac70((longlong *)&local_288,plVar16,iVar5 - 2U); + if (local_288 == (longlong *******)0x0) { + local_288 = (longlong *******)PTR_DAT_140155010; + } + if ((longlong *******)*local_240 != local_288) { + ppppppplVar13 = (longlong *******)FUN_140030200(local_288,plVar16,uVar18,param_4); + local_230 = ppppppplVar13; + FUN_14002e6e0((int *)ppppppplVar13); + ppppppplVar17 = local_288; + local_228 = CONCAT71(local_228._1_7_,1); + if (((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) && + (ppppppplVar11 = local_288 + -1, ppppppplVar11 != (longlong *******)0x0)) { + ppppppplVar14 = + (longlong *******)FUN_140030200(local_288,PTR_DAT_140155010,uVar18,param_4); + local_68._0_8_ = ppppppplVar14; + FUN_14002e6e0((int *)ppppppplVar14); + local_68.Data4[0] = '\x01'; + piVar2 = (int *)((longlong)ppppppplVar17 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppppppplVar11); + } + FUN_14002e770((longlong)ppppppplVar14); + } + plVar16 = (longlong *)PTR_DAT_140155010; + local_288 = (longlong *******)*local_240; + if (((local_288 != (longlong *******)PTR_DAT_140155010) && + (local_288 != (longlong *******)0x0)) && (local_288 != (longlong *******)0x8)) { + *(int *)((longlong)local_288 + -4) = *(int *)((longlong)local_288 + -4) + 1; + } + FUN_14002e770((longlong)ppppppplVar13); + } + plVar15 = &local_c8; + FUN_140003240(plVar15,plVar16,uVar18,param_4); + local_240 = &local_168; + FUN_140030200(plVar15,plVar16,uVar18,param_4); + local_168 = (longlong ******)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_168,(longlong *)&local_288,uVar18,param_4); + plVar16 = FUN_1400030f0(&local_b8,L"NOTIFY_STORAGE_ALARM",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x853a,plVar16,&local_168); + local_2a8 = local_288; + if (local_288 == (longlong *******)0x0) { + local_2a8 = (longlong *******)PTR_DAT_140155010; + } + pwVar26 = L"NOTIFY_STORAGE_ALARM"; + uVar27 = 0x853a; + uVar18 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_288,uVar18,uVar27,pwVar26); + } + DVar6 = 0; + if (((char)param_1[3] == '\0') && (DVar6 = 0, *(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x853a); + local_260 = L"NOTIFY_STORAGE_ALARM"; + local_258 = CONCAT44(local_258._4_4_,uVar3); + local_250 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_268); + DVar6 = GetTickCount(); + } + local_2a0 = (longlong *******)&local_280; + local_2a8 = (longlong *******)&local_78; + ppppppplVar17 = (longlong *******)&local_278; + puVar21 = local_1e8; + pwVar26 = (wchar_t *)(ulonglong)uVar3; + cVar4 = (**(code **)(*param_1 + 0x60))(param_1); + if (cVar4 == '\0') { + pwVar26 = L"NOTIFY_STORAGE_ALARM"; + (**(code **)(*(longlong *)param_1[2] + 0x40))(); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x853a); + local_260 = L"NOTIFY_STORAGE_ALARM"; + local_258 = CONCAT44(local_258._4_4_,uVar3); + local_250 = param_3; + DVar7 = GetTickCount(); + local_248 = DVar7 - DVar6; + pwVar26 = (wchar_t *)&local_268; + (**(code **)(*param_1 + 0x18))(param_1); + } + ppppppplVar17 = + (longlong *******)FUN_140003240((longlong *)&local_278,pwVar26,puVar21,ppppppplVar17); + break; + case 0x853b: + puVar21 = local_1e8; + FUN_14003b570(puVar21); + local_1e4 = param_2[10]; + local_1e8[0] = (undefined1)param_2[0x10]; + FUN_140030200(puVar21,pIVar23,uVar27,param_4); + local_78._0_8_ = PTR_DAT_140155010; + ppuVar24 = (undefined **)&local_78; + puVar22 = param_2; + thunk_FUN_140081740(param_2,(longlong *)ppuVar24,uVar27,param_4); + FUN_140030200(puVar22,ppuVar24,uVar27,param_4); + local_278 = (longlong *******)PTR_DAT_140155010; + thunk_FUN_140081740(param_2,(longlong *)&local_278,uVar27,param_4); + FUN_14009d5b0(param_2,(undefined8 *)&local_68); + uVar27 = FUN_140080600(param_2,&local_288,4); + if ((char)uVar27 != '\0') { + local_280 = (uint)local_288; + } + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"NOTIFY_MAIL_ALARM"; + (**(code **)(*plVar16 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_2a8 = (longlong *******)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x853b,L"NOTIFY_MAIL_ALARM"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar16,param_2,pwVar26,param_4); + local_288 = (longlong *******)PTR_DAT_140155010; + FUN_14009da40((longlong *)&local_288,(longlong *)&local_78); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + FUN_14009da40((longlong *)&local_288,(longlong *)&local_278); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + FUN_14009da90((longlong *)&local_288,&local_68); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_288); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + iVar5 = 0; + if ((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) { + iVar5 = *(int *)(local_288 + -1); + } + uVar18 = (ulonglong)(iVar5 - 2U); + plVar15 = FUN_14001ac70((longlong *)&local_288,&local_e0,iVar5 - 2U); + FUN_140003170((longlong *)&local_288,plVar15,uVar18,param_4); + plVar16 = &local_e0; + FUN_140003240(plVar16,plVar15,uVar18,param_4); + local_240 = &local_128; + FUN_140030200(plVar16,plVar15,uVar18,param_4); + local_128 = (longlong ******)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_128,(longlong *)&local_288,uVar18,param_4); + plVar16 = FUN_1400030f0(local_90 + 2,L"NOTIFY_MAIL_ALARM",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x853b,plVar16,&local_128); + local_2a8 = local_288; + if (local_288 == (longlong *******)0x0) { + local_2a8 = (longlong *******)PTR_DAT_140155010; + } + pwVar26 = L"NOTIFY_MAIL_ALARM"; + uVar27 = 0x853b; + uVar18 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_288,uVar18,uVar27,pwVar26); + } + DVar6 = 0; + if (((char)param_1[3] == '\0') && (DVar6 = 0, *(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x853b); + local_260 = L"NOTIFY_MAIL_ALARM"; + local_258 = CONCAT44(local_258._4_4_,uVar3); + local_250 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_268); + DVar6 = GetTickCount(); + } + local_298 = (longlong *******)&local_280; + local_2a0 = (longlong *******)&local_68; + local_2a8 = (longlong *******)&local_278; + ppuVar24 = (undefined **)&local_78; + puVar21 = local_1e8; + pwVar26 = (wchar_t *)(ulonglong)uVar3; + cVar4 = (**(code **)(*param_1 + 0x68))(param_1); + if (cVar4 == '\0') { + pwVar26 = L"NOTIFY_MAIL_ALARM"; + (**(code **)(*(longlong *)param_1[2] + 0x40))(); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x853b); + local_260 = L"NOTIFY_MAIL_ALARM"; + local_258 = CONCAT44(local_258._4_4_,uVar3); + local_250 = param_3; + DVar7 = GetTickCount(); + local_248 = DVar7 - DVar6; + pwVar26 = (wchar_t *)&local_268; + (**(code **)(*param_1 + 0x18))(param_1); + } + FUN_140003240((longlong *)&local_278,pwVar26,puVar21,ppuVar24); + ppppppplVar17 = + (longlong *******)FUN_140003240((longlong *)&local_78,pwVar26,puVar21,ppuVar24); + break; + case 0x853c: + FUN_14003b570(local_1e8); + local_1e4 = param_2[10]; + local_1e8[0] = (undefined1)param_2[0x10]; + uVar27 = FUN_140080600(param_2,&local_288,4); + if ((char)uVar27 != '\0') { + local_280 = (uint)local_288; + } + uVar27 = FUN_140080600(param_2,&local_240,8); + if ((char)uVar27 != '\0') { + local_278 = local_240; + } + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"REQ_STATISTICS"; + (**(code **)(*plVar16 + 0x48))(); + DVar6 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_2a8 = (longlong *******)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x853c,L"REQ_STATISTICS"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar16,param_2,pwVar26,param_4); + local_288 = (longlong *******)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_288); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + FUN_14009d900((longlong *)&local_288); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + iVar5 = 0; + if ((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) { + iVar5 = *(int *)(local_288 + -1); + } + uVar18 = (ulonglong)(iVar5 - 2U); + plVar15 = FUN_14001ac70((longlong *)&local_288,&local_d0,iVar5 - 2U); + FUN_140003170((longlong *)&local_288,plVar15,uVar18,param_4); + plVar16 = &local_d0; + FUN_140003240(plVar16,plVar15,uVar18,param_4); + local_240 = &local_158; + FUN_140030200(plVar16,plVar15,uVar18,param_4); + local_158 = (longlong ******)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_158,(longlong *)&local_288,uVar18,param_4); + plVar16 = FUN_1400030f0(&local_a8,L"REQ_STATISTICS",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x853c,plVar16,&local_158); + local_2a8 = local_288; + if (local_288 == (longlong *******)0x0) { + local_2a8 = (longlong *******)PTR_DAT_140155010; + } + pwVar26 = L"REQ_STATISTICS"; + uVar27 = 0x853c; + uVar18 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_288,uVar18,uVar27,pwVar26); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x853c); + local_260 = L"REQ_STATISTICS"; + local_258 = CONCAT44(local_258._4_4_,uVar3); + local_250 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_268); + DVar6 = GetTickCount(); + } + local_2a8 = (longlong *******)&local_278; + ppppppplVar17 = + (longlong *******)(**(code **)(*param_1 + 0x70))(param_1,uVar3,local_1e8,&local_280); + if ((char)ppppppplVar17 == '\0') { + ppppppplVar17 = + (longlong *******) + (**(code **)(*(longlong *)param_1[2] + 0x40))((longlong *)param_1[2],L"REQ_STATISTICS") + ; + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x853c); + local_260 = L"REQ_STATISTICS"; + goto LAB_14001ab3c; + } + break; + case 0x853d: + FUN_14003b570(local_1e8); + local_1e4 = param_2[10]; + local_1e8[0] = (undefined1)param_2[0x10]; + uVar27 = FUN_140080600(param_2,&local_288,4); + if ((char)uVar27 != '\0') { + local_280 = (uint)local_288; + } + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"PT_SERVER_STEP"; + (**(code **)(*plVar16 + 0x48))(); + DVar6 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_2a8 = (longlong *******)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x853d,L"PT_SERVER_STEP"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar16,param_2,pwVar26,param_4); + local_288 = (longlong *******)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_288); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + iVar5 = 0; + if ((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) { + iVar5 = *(int *)(local_288 + -1); + } + uVar18 = (ulonglong)(iVar5 - 2U); + plVar15 = FUN_14001ac70((longlong *)&local_288,&local_c0,iVar5 - 2U); + FUN_140003170((longlong *)&local_288,plVar15,uVar18,param_4); + plVar16 = &local_c0; + FUN_140003240(plVar16,plVar15,uVar18,param_4); + local_240 = &local_138; + FUN_140030200(plVar16,plVar15,uVar18,param_4); + local_138 = (longlong ******)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_138,(longlong *)&local_288,uVar18,param_4); + plVar16 = FUN_1400030f0(&local_a0,L"PT_SERVER_STEP",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x853d,plVar16,&local_138); + local_2a8 = local_288; + if (local_288 == (longlong *******)0x0) { + local_2a8 = (longlong *******)PTR_DAT_140155010; + } + pwVar26 = L"PT_SERVER_STEP"; + uVar27 = 0x853d; + uVar18 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_288,uVar18,uVar27,pwVar26); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x853d); + local_260 = L"PT_SERVER_STEP"; + local_258 = CONCAT44(local_258._4_4_,uVar3); + local_250 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_268); + DVar6 = GetTickCount(); + } + ppppppplVar17 = + (longlong *******)(**(code **)(*param_1 + 0x78))(param_1,uVar3,local_1e8,&local_280); + if ((char)ppppppplVar17 == '\0') { + ppppppplVar17 = + (longlong *******) + (**(code **)(*(longlong *)param_1[2] + 0x40))((longlong *)param_1[2],L"PT_SERVER_STEP") + ; + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x853d); + local_260 = L"PT_SERVER_STEP"; + goto LAB_14001ab3c; + } + break; + case 0x853e: + FUN_14003b570(local_1e8); + local_1e4 = param_2[10]; + local_1e8[0] = (undefined1)param_2[0x10]; + uVar8 = 4; + ppppppplVar17 = (longlong *******)&local_288; + uVar27 = FUN_140080600(param_2,ppppppplVar17,4); + if ((char)uVar27 != '\0') { + local_280 = (uint)local_288; + } + FUN_140030200((ulonglong)local_280,ppppppplVar17,uVar8,param_4); + local_278 = (longlong *******)PTR_DAT_140155010; + thunk_FUN_140081740(param_2,(longlong *)&local_278,uVar8,param_4); + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"PT_MESSAGE"; + (**(code **)(*plVar16 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_2a8 = (longlong *******)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x853e,L"PT_MESSAGE"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar16,param_2,pwVar26,param_4); + local_288 = (longlong *******)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_288); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + FUN_14009da40((longlong *)&local_288,(longlong *)&local_278); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + iVar5 = 0; + if ((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) { + iVar5 = *(int *)(local_288 + -1); + } + uVar18 = (ulonglong)(iVar5 - 2U); + plVar15 = FUN_14001ac70((longlong *)&local_288,&local_f0,iVar5 - 2U); + FUN_140003170((longlong *)&local_288,plVar15,uVar18,param_4); + plVar16 = &local_f0; + FUN_140003240(plVar16,plVar15,uVar18,param_4); + local_240 = &local_178; + FUN_140030200(plVar16,plVar15,uVar18,param_4); + local_178 = (longlong ******)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_178,(longlong *)&local_288,uVar18,param_4); + plVar16 = FUN_1400030f0(&local_98,L"PT_MESSAGE",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x853e,plVar16,&local_178); + local_2a8 = local_288; + if (local_288 == (longlong *******)0x0) { + local_2a8 = (longlong *******)PTR_DAT_140155010; + } + pwVar26 = L"PT_MESSAGE"; + uVar27 = 0x853e; + uVar18 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_288,uVar18,uVar27,pwVar26); + } + DVar6 = 0; + if (((char)param_1[3] == '\0') && (DVar6 = 0, *(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x853e); + local_260 = L"PT_MESSAGE"; + local_258 = CONCAT44(local_258._4_4_,uVar3); + local_250 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_268); + DVar6 = GetTickCount(); + } + local_2a8 = (longlong *******)&local_278; + puVar28 = (undefined8 *)&local_280; + puVar21 = local_1e8; + pwVar26 = (wchar_t *)(ulonglong)uVar3; + cVar4 = (**(code **)(*param_1 + 0x80))(param_1); + if (cVar4 == '\0') { + pwVar26 = L"PT_MESSAGE"; + (**(code **)(*(longlong *)param_1[2] + 0x40))(); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x853e); + local_260 = L"PT_MESSAGE"; + local_258 = CONCAT44(local_258._4_4_,uVar3); + local_250 = param_3; + DVar7 = GetTickCount(); + local_248 = DVar7 - DVar6; + pwVar26 = (wchar_t *)&local_268; + (**(code **)(*param_1 + 0x18))(param_1); + } + ppppppplVar17 = + (longlong *******)FUN_140003240((longlong *)&local_278,pwVar26,puVar21,puVar28); + break; + case 0x853f: + FUN_14003b570(local_1e8); + local_1e4 = param_2[10]; + local_1e8[0] = (undefined1)param_2[0x10]; + uVar27 = FUN_140080600(param_2,&local_288,4); + if ((char)uVar27 != '\0') { + local_280 = (uint)local_288; + } + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"PT_BACKUP_CHARACTER_TABLE_COUNT"; + (**(code **)(*plVar16 + 0x48))(); + DVar6 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_2a8 = (longlong *******)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x853f,L"PT_BACKUP_CHARACTER_TABLE_COUNT"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar16,param_2,pwVar26,param_4); + local_288 = (longlong *******)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_288); + FUN_14001b850((longlong *)&local_288,(short *)&DAT_14011eebc); + iVar5 = 0; + if ((local_288 != (longlong *******)0x0) && + (local_288 != (longlong *******)PTR_DAT_140155010)) { + iVar5 = *(int *)(local_288 + -1); + } + uVar18 = (ulonglong)(iVar5 - 2U); + plVar15 = FUN_14001ac70((longlong *)&local_288,&local_d8,iVar5 - 2U); + FUN_140003170((longlong *)&local_288,plVar15,uVar18,param_4); + plVar16 = &local_d8; + FUN_140003240(plVar16,plVar15,uVar18,param_4); + local_240 = &local_170; + FUN_140030200(plVar16,plVar15,uVar18,param_4); + local_170 = (longlong ******)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_170,(longlong *)&local_288,uVar18,param_4); + plVar16 = FUN_1400030f0(local_90,L"PT_BACKUP_CHARACTER_TABLE_COUNT",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x853f,plVar16,&local_170); + local_2a8 = local_288; + if (local_288 == (longlong *******)0x0) { + local_2a8 = (longlong *******)PTR_DAT_140155010; + } + pwVar26 = L"PT_BACKUP_CHARACTER_TABLE_COUNT"; + uVar27 = 0x853f; + uVar18 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_288,uVar18,uVar27,pwVar26); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x853f); + local_260 = L"PT_BACKUP_CHARACTER_TABLE_COUNT"; + local_258 = CONCAT44(local_258._4_4_,uVar3); + local_250 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_268); + DVar6 = GetTickCount(); + } + ppppppplVar17 = + (longlong *******)(**(code **)(*param_1 + 0x88))(param_1,uVar3,local_1e8,&local_280); + if ((char)ppppppplVar17 == '\0') { + ppppppplVar17 = + (longlong *******) + (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],L"PT_BACKUP_CHARACTER_TABLE_COUNT"); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x853f); + local_260 = L"PT_BACKUP_CHARACTER_TABLE_COUNT"; + goto LAB_14001ab3c; + } + break; + case 0x8540: + FUN_14003b570(local_1e8); + local_1e4 = param_2[10]; + local_1e8[0] = (undefined1)param_2[0x10]; + plVar16 = (longlong *)param_1[2]; + pwVar26 = L"PT_BACKUP_CHARACTER_TABLE_END"; + (**(code **)(*plVar16 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_2a8 = (longlong *******)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x8540,L"PT_BACKUP_CHARACTER_TABLE_END"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar16,param_2,pwVar26,param_4); + local_288 = (longlong *******)PTR_DAT_140155010; + uVar27 = 0xfffffffe; + plVar15 = FUN_14001ac70((longlong *)&local_288,&local_e8,0xfffffffe); + FUN_140003170((longlong *)&local_288,plVar15,uVar27,param_4); + plVar16 = &local_e8; + FUN_140003240(plVar16,plVar15,uVar27,param_4); + local_240 = &local_160; + FUN_140030200(plVar16,plVar15,uVar27,param_4); + local_160 = (longlong ******)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_160,(longlong *)&local_288,uVar27,param_4); + plVar16 = FUN_1400030f0(&local_b0,L"PT_BACKUP_CHARACTER_TABLE_END",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x8540,plVar16,&local_160); + local_2a8 = local_288; + if (local_288 == (longlong *******)0x0) { + local_2a8 = (longlong *******)PTR_DAT_140155010; + } + pwVar26 = L"PT_BACKUP_CHARACTER_TABLE_END"; + uVar27 = 0x8540; + uVar18 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_288,uVar18,uVar27,pwVar26); + } + DVar6 = 0; + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x8540); + local_260 = L"PT_BACKUP_CHARACTER_TABLE_END"; + local_258 = CONCAT44(local_258._4_4_,uVar3); + local_250 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_268); + DVar6 = GetTickCount(); + } + ppppppplVar17 = (longlong *******)(**(code **)(*param_1 + 0x90))(param_1,uVar3,local_1e8); + if ((char)ppppppplVar17 == '\0') { + ppppppplVar17 = + (longlong *******) + (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],L"PT_BACKUP_CHARACTER_TABLE_END"); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_268 = (void *)CONCAT44(local_268._4_4_,0x8540); + local_260 = L"PT_BACKUP_CHARACTER_TABLE_END"; + goto LAB_14001ab3c; + } + break; + default: + goto switchD_1400181c4_default; + } + uVar18 = CONCAT71((int7)((ulonglong)ppppppplVar17 >> 8),1); + } + return uVar18; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001abd0.c b/decomp/Agent_Release_x64/full/functions/0x14001abd0.c new file mode 100644 index 00000000..b64b6043 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001abd0.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001abd0 std::bad_alloc::`scalar_deleting_destructor' + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: virtual void * __ptr64 __cdecl std::bad_alloc::`scalar deleting destructor'(unsigned + int) __ptr64 + + Libraries: Visual Studio 2012 Release, Visual Studio 2015 Release */ + +void * __thiscall std::bad_alloc::_scalar_deleting_destructor_(bad_alloc *this,uint param_1) + +{ + *(undefined ***)this = RNP::Agent2ServerProxy::vftable; + FUN_140081fe0((undefined8 *)this); + if ((param_1 & 1) != 0) { + operator_delete(this); + } + return this; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001ac10.c b/decomp/Agent_Release_x64/full/functions/0x14001ac10.c new file mode 100644 index 00000000..56620d61 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001ac10.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001ac10 FUN_14001ac10 + * Pseudocode, not original source. */ + +void FUN_14001ac10(undefined8 *param_1) + +{ + *param_1 = RNP::Agent2ServerProxy::vftable; + FUN_140081fe0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001ac20.c b/decomp/Agent_Release_x64/full/functions/0x14001ac20.c new file mode 100644 index 00000000..dfbca79b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001ac20.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001ac20 std::bad_alloc::`scalar_deleting_destructor' + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: virtual void * __ptr64 __cdecl std::bad_alloc::`scalar deleting destructor'(unsigned + int) __ptr64 + + Libraries: Visual Studio 2012 Release, Visual Studio 2015 Release */ + +void * __thiscall std::bad_alloc::_scalar_deleting_destructor_(bad_alloc *this,uint param_1) + +{ + *(undefined ***)this = RNP::Server2AgentStub::vftable; + FUN_140085260((undefined8 *)this); + if ((param_1 & 1) != 0) { + operator_delete(this); + } + return this; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001ac60.c b/decomp/Agent_Release_x64/full/functions/0x14001ac60.c new file mode 100644 index 00000000..fa3a9480 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001ac60.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001ac60 FUN_14001ac60 + * Pseudocode, not original source. */ + +void FUN_14001ac60(undefined8 *param_1) + +{ + *param_1 = RNP::Server2AgentStub::vftable; + FUN_140085260(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001ac70.c b/decomp/Agent_Release_x64/full/functions/0x14001ac70.c new file mode 100644 index 00000000..e226fbbd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001ac70.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001ac70 FUN_14001ac70 + * Pseudocode, not original source. */ + +longlong * FUN_14001ac70(longlong *param_1,longlong *param_2,uint param_3) + +{ + int iVar1; + short *psVar2; + ulonglong uVar3; + undefined *puVar4; + + psVar2 = (short *)*param_1; + uVar3 = (ulonglong)param_3; + if ((int)param_3 < 0) { + uVar3 = 0; + } + iVar1 = 0; + if ((psVar2 != (short *)0x0) && (iVar1 = 0, psVar2 != (short *)PTR_DAT_140155010)) { + iVar1 = *(int *)(psVar2 + -4); + } + if (iVar1 <= (int)uVar3) { + puVar4 = PTR_DAT_140155010; + FUN_140030200(param_1,psVar2,uVar3,PTR_DAT_140155010); + *param_2 = (longlong)PTR_DAT_140155010; + FUN_140003170(param_2,param_1,uVar3,puVar4); + return param_2; + } + if (psVar2 == (short *)0x0) { + psVar2 = (short *)PTR_DAT_140155010; + } + FUN_1400030f0(param_2,psVar2,uVar3,PTR_DAT_140155010); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001acf0.c b/decomp/Agent_Release_x64/full/functions/0x14001acf0.c new file mode 100644 index 00000000..4339e10f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001acf0.c @@ -0,0 +1,125 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001acf0 FUN_14001acf0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +uint * FUN_14001acf0(uint *param_1,ulonglong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + longlong lVar3; + uint uVar4; + ulonglong *puVar5; + undefined4 **ppuVar6; + ulonglong uVar7; + undefined8 uVar8; + undefined4 *puVar9; + undefined4 *puVar10; + undefined1 auStack_118 [32]; + undefined4 *local_f8; + undefined4 *local_f0; + undefined8 local_e8; + undefined8 local_d8; + undefined4 local_d0; + undefined1 local_cc; + undefined8 local_c8; + undefined8 local_c0; + undefined1 local_b8; + undefined2 local_b0; + undefined6 uStack_ae; + undefined8 local_a0; + ulonglong local_98; + undefined2 local_88; + undefined6 uStack_86; + undefined8 local_78; + ulonglong local_70; + undefined2 local_60; + undefined6 uStack_5e; + undefined8 local_50; + ulonglong local_48; + ulonglong local_38; + + local_e8 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_118; + uVar8 = 4; + ppuVar6 = &local_f8; + FUN_140080600(param_1,ppuVar6,4); + uVar4 = (uint)local_f8; + uVar7 = (ulonglong)local_f8 & 0xffffffff; + if (((int)(uint)local_f8 < 0) || (DAT_140155140 <= (int)(uint)local_f8)) { + FUN_14009d5d0((uint)local_f8,ppuVar6,uVar8,param_4); + } + FUN_14001b230((longlong *)param_2,(longlong)(int)uVar4); + puVar10 = (undefined4 *)param_2[1]; + puVar9 = (undefined4 *)*param_2; + lVar3 = (longlong)puVar10 - (longlong)puVar9 >> 0x3f; + if ((((longlong)puVar10 - (longlong)puVar9) / 0xa0 + lVar3 != lVar3) && (puVar9 != puVar10)) { + puVar5 = (ulonglong *)FUN_14001b3e0(puVar10,puVar10,puVar9); + FUN_140006a60(puVar5,(ulonglong *)param_2[1]); + param_2[1] = (ulonglong)puVar5; + } + if (0 < (int)uVar4) { + do { + local_d8 = 0; + local_d0 = 0; + local_cc = 0; + local_c8 = 0; + local_c0 = 0; + local_b8 = 0; + local_98 = 7; + local_a0 = 0; + local_b0 = 0; + local_70 = 7; + local_78 = 0; + local_88 = 0; + local_48 = 7; + local_50 = 0; + local_60 = 0; + FUN_1400219f0(param_1,(undefined4 *)&local_d8,puVar9,puVar10); + puVar1 = (undefined8 *)param_2[1]; + if ((&local_d8 < puVar1) && (puVar2 = (undefined8 *)*param_2, puVar2 <= &local_d8)) { + if (puVar1 == (undefined8 *)param_2[2]) { + FUN_14001b330((longlong *)param_2,1); + } + local_f8 = (undefined4 *)param_2[1]; + local_f0 = local_f8; + if (local_f8 != (undefined4 *)0x0) { + FUN_140004ea0(local_f8,(undefined4 *) + ((((longlong)&local_d8 - (longlong)puVar2) / 0xa0) * 0xa0 + + *param_2)); + } + } + else { + if (puVar1 == (undefined8 *)param_2[2]) { + FUN_14001b330((longlong *)param_2,1); + } + local_f8 = (undefined4 *)param_2[1]; + local_f0 = local_f8; + if (local_f8 != (undefined4 *)0x0) { + FUN_140004ea0(local_f8,(undefined4 *)&local_d8); + } + } + param_2[1] = param_2[1] + 0xa0; + if (7 < local_48) { + operator_delete((void *)CONCAT62(uStack_5e,local_60)); + } + local_48 = 7; + local_50 = 0; + local_60 = 0; + if (7 < local_70) { + operator_delete((void *)CONCAT62(uStack_86,local_88)); + } + local_70 = 7; + local_78 = 0; + local_88 = 0; + if (7 < local_98) { + operator_delete((void *)CONCAT62(uStack_ae,local_b0)); + } + uVar7 = uVar7 - 1; + } while (uVar7 != 0); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001af50.c b/decomp/Agent_Release_x64/full/functions/0x14001af50.c new file mode 100644 index 00000000..0f9bab48 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001af50.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001af50 FUN_14001af50 + * Pseudocode, not original source. */ + +void FUN_14001af50(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *puVar1; + int *piVar2; + undefined *puVar3; + int *piVar4; + undefined **ppuVar5; + longlong lVar6; + undefined *local_res10 [3]; + + FUN_140030200(param_1,param_2,param_3,param_4); + local_res10[0] = PTR_DAT_140155010; + lVar6 = (param_2[1] - *param_2) / 0xa0; + FUN_14001b7a0((longlong *)local_res10,L"",lVar6,param_4); + ppuVar5 = local_res10; + FUN_14001b5a0(param_1,(longlong *)ppuVar5); + puVar3 = local_res10[0]; + if (((local_res10[0] != (undefined *)0x0) && (local_res10[0] != PTR_DAT_140155010)) && + (puVar1 = local_res10[0] + -8, puVar1 != (undefined *)0x0)) { + piVar4 = (int *)FUN_140030200(param_1,ppuVar5,lVar6,param_4); + FUN_14002e6e0(piVar4); + piVar2 = (int *)(puVar3 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)piVar4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001b020.c b/decomp/Agent_Release_x64/full/functions/0x14001b020.c new file mode 100644 index 00000000..ed4b06ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001b020.c @@ -0,0 +1,108 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001b020 FUN_14001b020 + * Pseudocode, not original source. */ + +uint * FUN_14001b020(uint *param_1,ulonglong *param_2,undefined8 param_3,undefined8 param_4) + +{ + void *_Src; + void *_Dst; + uint *puVar1; + code *pcVar2; + uint uVar3; + uint *puVar4; + ulonglong uVar5; + ulonglong uVar6; + int iVar7; + undefined8 uVar8; + uint uVar9; + uint local_res10 [2]; + uint local_res18 [4]; + + puVar4 = local_res10; + uVar8 = 4; + FUN_140080600(param_1,(undefined8 *)puVar4,4); + uVar3 = local_res10[0]; + if (((int)local_res10[0] < 0) || (DAT_140155140 <= (int)local_res10[0])) { + FUN_14009d5d0(local_res10[0],puVar4,uVar8,param_4); + } + FUN_14000b0f0((longlong *)param_2,(longlong)(int)uVar3); + _Src = (void *)param_2[1]; + _Dst = (void *)*param_2; + if (((longlong)_Src - (longlong)_Dst >> 2 != 0) && (_Dst != _Src)) { + memmove(_Dst,_Src,0); + param_2[1] = (ulonglong)_Dst; + } + iVar7 = 0; + uVar9 = local_res10[0]; + if (0 < (int)uVar3) { + do { + uVar8 = FUN_140080600(param_1,(undefined8 *)local_res18,4); + puVar4 = (uint *)param_2[1]; + if ((char)uVar8 != '\0') { + uVar9 = local_res18[0]; + } + if ((local_res10 < puVar4) && (puVar1 = (uint *)*param_2, puVar1 <= local_res10)) { + if (puVar4 == (uint *)param_2[2]) { + uVar5 = (longlong)puVar4 - (longlong)puVar1 >> 2; + if (0x3ffffffffffffffe < uVar5) { + std::_Xlength_error("vector too long"); + pcVar2 = (code *)swi(3); + puVar4 = (uint *)(*pcVar2)(); + return puVar4; + } + uVar5 = uVar5 + 1; + uVar6 = (longlong)param_2[2] - (longlong)puVar1 >> 2; + if (uVar6 < uVar5) { + if (0x3fffffffffffffff - (uVar6 >> 1) < uVar6) { + uVar6 = 0; + } + else { + uVar6 = uVar6 + (uVar6 >> 1); + } + if (uVar6 < uVar5) { + uVar6 = uVar5; + } + FUN_14000b0f0((longlong *)param_2,uVar6); + } + } + if ((undefined4 *)param_2[1] != (undefined4 *)0x0) { + *(undefined4 *)param_2[1] = + *(undefined4 *)(*param_2 + ((longlong)local_res10 - (longlong)puVar1 >> 2) * 4); + } + } + else { + if (puVar4 == (uint *)param_2[2]) { + uVar5 = (longlong)((longlong)puVar4 - *param_2) >> 2; + if (0x3ffffffffffffffe < uVar5) { + std::_Xlength_error("vector too long"); + pcVar2 = (code *)swi(3); + puVar4 = (uint *)(*pcVar2)(); + return puVar4; + } + uVar5 = uVar5 + 1; + uVar6 = (longlong)((longlong)param_2[2] - *param_2) >> 2; + if (uVar6 < uVar5) { + if (0x3fffffffffffffff - (uVar6 >> 1) < uVar6) { + uVar6 = 0; + } + else { + uVar6 = uVar6 + (uVar6 >> 1); + } + if (uVar6 < uVar5) { + uVar6 = uVar5; + } + FUN_14000b0f0((longlong *)param_2,uVar6); + } + } + if ((uint *)param_2[1] != (uint *)0x0) { + *(uint *)param_2[1] = uVar9; + } + } + param_2[1] = param_2[1] + 4; + iVar7 = iVar7 + 1; + } while (iVar7 < (int)uVar3); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001b230.c b/decomp/Agent_Release_x64/full/functions/0x14001b230.c new file mode 100644 index 00000000..d71f82d7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001b230.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001b230 FUN_14001b230 + * Pseudocode, not original source. */ + +void FUN_14001b230(longlong *param_1,ulonglong param_2) + +{ + ulonglong *puVar1; + ulonglong *puVar2; + code *pcVar3; + undefined4 *puVar4; + + if (0x199999999999999 < param_2) { + std::_Xlength_error("vector too long"); + pcVar3 = (code *)swi(3); + (*pcVar3)(); + return; + } + if ((ulonglong)((param_1[2] - *param_1) / 0xa0) < param_2) { + puVar4 = FUN_14000e940(param_2); + FUN_14001b540((undefined4 *)*param_1,(undefined4 *)param_1[1],puVar4); + puVar1 = (ulonglong *)param_1[1]; + puVar2 = (ulonglong *)*param_1; + if (puVar2 != (ulonglong *)0x0) { + FUN_140006a60(puVar2,puVar1); + operator_delete((void *)*param_1); + } + param_1[2] = (longlong)(puVar4 + param_2 * 0x28); + param_1[1] = (longlong)(puVar4 + (((longlong)puVar1 - (longlong)puVar2) / 0xa0) * 0x28); + *param_1 = (longlong)puVar4; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001b330.c b/decomp/Agent_Release_x64/full/functions/0x14001b330.c new file mode 100644 index 00000000..e4d2714a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001b330.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001b330 FUN_14001b330 + * Pseudocode, not original source. */ + +void FUN_14001b330(longlong *param_1,longlong param_2) + +{ + code *pcVar1; + ulonglong uVar2; + ulonglong uVar3; + + uVar3 = (param_1[1] - *param_1) / 0xa0; + if (0x199999999999999U - param_2 < uVar3) { + std::_Xlength_error("vector too long"); + pcVar1 = (code *)swi(3); + (*pcVar1)(); + return; + } + uVar3 = uVar3 + param_2; + uVar2 = (param_1[2] - *param_1) / 0xa0; + if (uVar2 < uVar3) { + if (0x199999999999999 - (uVar2 >> 1) < uVar2) { + uVar2 = 0; + } + else { + uVar2 = uVar2 + (uVar2 >> 1); + } + if (uVar2 < uVar3) { + uVar2 = uVar3; + } + FUN_14001b230(param_1,uVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001b3e0.c b/decomp/Agent_Release_x64/full/functions/0x14001b3e0.c new file mode 100644 index 00000000..685a133f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001b3e0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001b3e0 FUN_14001b3e0 + * Pseudocode, not original source. */ + +undefined4 * FUN_14001b3e0(undefined4 *param_1,undefined4 *param_2,undefined4 *param_3) + +{ + undefined4 *puVar1; + undefined4 *puVar2; + + if (param_1 != param_2) { + puVar2 = param_1 + 2; + do { + *param_3 = puVar2[-2]; + param_3[1] = puVar2[-1]; + param_3[2] = *puVar2; + *(undefined1 *)(param_3 + 3) = *(undefined1 *)(puVar2 + 1); + param_3[4] = puVar2[2]; + param_3[5] = puVar2[3]; + param_3[6] = puVar2[4]; + param_3[7] = puVar2[5]; + *(undefined1 *)(param_3 + 8) = *(undefined1 *)(puVar2 + 6); + FUN_140001600((longlong *)(param_3 + 10),(longlong *)(puVar2 + 8),0,0xffffffffffffffff); + FUN_140001600((longlong *)(param_3 + 0x14),(longlong *)(puVar2 + 0x12),0,0xffffffffffffffff); + FUN_140001600((longlong *)(param_3 + 0x1e),(longlong *)(puVar2 + 0x1c),0,0xffffffffffffffff); + param_3 = param_3 + 0x28; + puVar1 = puVar2 + 0x26; + puVar2 = puVar2 + 0x28; + } while (puVar1 != param_2); + } + return param_3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001b4b0.c b/decomp/Agent_Release_x64/full/functions/0x14001b4b0.c new file mode 100644 index 00000000..f8b361ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001b4b0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001b4b0 FUN_14001b4b0 + * Pseudocode, not original source. */ + +undefined4 * FUN_14001b4b0(undefined4 *param_1,undefined4 *param_2) + +{ + *param_1 = *param_2; + param_1[1] = param_2[1]; + param_1[2] = param_2[2]; + *(undefined1 *)(param_1 + 3) = *(undefined1 *)(param_2 + 3); + param_1[4] = param_2[4]; + param_1[5] = param_2[5]; + param_1[6] = param_2[6]; + param_1[7] = param_2[7]; + *(undefined1 *)(param_1 + 8) = *(undefined1 *)(param_2 + 8); + FUN_140001600((longlong *)(param_1 + 10),(longlong *)(param_2 + 10),0,0xffffffffffffffff); + FUN_140001600((longlong *)(param_1 + 0x14),(longlong *)(param_2 + 0x14),0,0xffffffffffffffff); + FUN_140001600((longlong *)(param_1 + 0x1e),(longlong *)(param_2 + 0x1e),0,0xffffffffffffffff); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001b540.c b/decomp/Agent_Release_x64/full/functions/0x14001b540.c new file mode 100644 index 00000000..7090f355 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001b540.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001b540 FUN_14001b540 + * Pseudocode, not original source. */ + +undefined4 * FUN_14001b540(undefined4 *param_1,undefined4 *param_2,undefined4 *param_3) + +{ + for (; param_1 != param_2; param_1 = param_1 + 0x28) { + if (param_3 != (undefined4 *)0x0) { + FUN_140004ea0(param_3,param_1); + } + param_3 = param_3 + 0x28; + } + return param_3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001b5a0.c b/decomp/Agent_Release_x64/full/functions/0x14001b5a0.c new file mode 100644 index 00000000..b6f5729b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001b5a0.c @@ -0,0 +1,85 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001b5a0 FUN_14001b5a0 + * Pseudocode, not original source. */ + +void FUN_14001b5a0(longlong *param_1,longlong *param_2) + +{ + int iVar1; + int iVar2; + undefined *puVar3; + int iVar4; + int iVar5; + undefined *puVar6; + + puVar3 = (undefined *)*param_2; + if (((puVar3 != (undefined *)0x0) && (puVar3 != PTR_DAT_140155010)) && (0 < *(int *)(puVar3 + -8)) + ) { + puVar6 = (undefined *)*param_1; + iVar4 = 0; + if ((puVar6 != (undefined *)0x0) && (puVar6 != PTR_DAT_140155010)) { + iVar4 = *(int *)(puVar6 + -8); + } + iVar2 = *(int *)(puVar3 + -8) + iVar4; + iVar1 = 0; + if ((puVar6 != (undefined *)0x0) && (iVar1 = 0, puVar6 != PTR_DAT_140155010)) { + iVar1 = *(int *)(puVar6 + -8); + } + if (((iVar2 <= iVar1) && (iVar2 = 0, puVar6 != (undefined *)0x0)) && + (puVar6 != PTR_DAT_140155010)) { + iVar2 = *(int *)(puVar6 + -8); + } + iVar1 = 0; + iVar5 = 1; + if (1 < iVar2) { + iVar5 = iVar2; + } + if ((puVar6 != (undefined *)0x0) && (puVar6 != PTR_DAT_140155010)) { + iVar1 = *(int *)(puVar6 + -8); + } + if (iVar1 < iVar5) { + FUN_140002dc0(param_1,iVar5); + } + FUN_140002ea0(param_1); + puVar3 = (undefined *)*param_2; + puVar6 = (undefined *)*param_1; + if ((undefined *)*param_1 == (undefined *)0x0) { + puVar6 = PTR_DAT_140155010; + } + iVar1 = 0; + if ((puVar3 != (undefined *)0x0) && (iVar1 = 0, puVar3 != PTR_DAT_140155010)) { + iVar1 = *(int *)(puVar3 + -8); + } + if (puVar3 == (undefined *)0x0) { + puVar3 = PTR_DAT_140155010; + } + FUN_1400300b0(puVar6 + (longlong)iVar4 * 2,puVar3,iVar1); + puVar3 = (undefined *)*param_2; + iVar1 = 0; + if ((puVar3 != (undefined *)0x0) && (puVar3 != PTR_DAT_140155010)) { + iVar1 = *(int *)(puVar3 + -8); + } + iVar2 = 0; + iVar5 = 0; + if (0 < iVar1 + iVar4) { + iVar5 = iVar1 + iVar4; + } + puVar3 = (undefined *)*param_1; + if ((puVar3 != (undefined *)0x0) && (puVar3 != PTR_DAT_140155010)) { + iVar2 = *(int *)(puVar3 + -8); + } + if ((iVar2 <= iVar5) && (iVar5 = 0, puVar3 != (undefined *)0x0)) { + if (puVar3 == PTR_DAT_140155010) { + return; + } + iVar5 = *(int *)(puVar3 + -8); + } + if (((puVar3 != PTR_DAT_140155010) && (puVar3 != (undefined *)0x0)) && + ((int *)(puVar3 + -8) != (int *)0x0)) { + *(int *)(puVar3 + -8) = iVar5; + *(undefined2 *)(puVar3 + (longlong)iVar5 * 2) = 0; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001b710.c b/decomp/Agent_Release_x64/full/functions/0x14001b710.c new file mode 100644 index 00000000..4738622a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001b710.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001b710 FUN_14001b710 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14001b710(longlong *param_1,wchar_t *param_2,va_list param_3) + +{ + int iVar1; + undefined *puVar2; + undefined1 auStack_858 [32]; + wchar_t local_838 [1040]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_858; + if (param_2 == (wchar_t *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + iVar1 = vswprintf_s(local_838,0x400,param_2,param_3); + puVar2 = FUN_140002f90(param_1,iVar1); + FUN_1400300b0(puVar2,local_838,iVar1); + FUN_140003070(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001b7a0.c b/decomp/Agent_Release_x64/full/functions/0x14001b7a0.c new file mode 100644 index 00000000..d9295b68 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001b7a0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001b7a0 FUN_14001b7a0 + * Pseudocode, not original source. */ + +void FUN_14001b7a0(longlong *param_1,wchar_t *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 local_res18; + undefined8 local_res20; + + local_res18 = param_3; + local_res20 = param_4; + FUN_14001b710(param_1,param_2,(va_list)&local_res18); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001b7d0.c b/decomp/Agent_Release_x64/full/functions/0x14001b7d0.c new file mode 100644 index 00000000..515890c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001b7d0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001b7d0 FUN_14001b7d0 + * Pseudocode, not original source. */ + +undefined8 FUN_14001b7d0(uint *param_1,undefined1 *param_2) + +{ + undefined8 uVar1; + undefined1 local_res18 [16]; + + uVar1 = FUN_140080600(param_1,(undefined8 *)local_res18,1); + if ((char)uVar1 == '\0') { + return uVar1; + } + *param_2 = local_res18[0]; + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001b810.c b/decomp/Agent_Release_x64/full/functions/0x14001b810.c new file mode 100644 index 00000000..dc3a4b67 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001b810.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001b810 FUN_14001b810 + * Pseudocode, not original source. */ + +longlong * FUN_14001b810(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140030200(param_1,param_2,param_3,param_4); + *param_1 = (longlong)PTR_DAT_140155010; + FUN_140003170(param_1,param_2,param_3,param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001b850.c b/decomp/Agent_Release_x64/full/functions/0x14001b850.c new file mode 100644 index 00000000..86c297c4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001b850.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001b850 FUN_14001b850 + * Pseudocode, not original source. */ + +void FUN_14001b850(longlong *param_1,short *param_2) + +{ + int iVar1; + int iVar2; + int iVar3; + int iVar4; + int iVar5; + undefined *puVar6; + + if (param_2 != (short *)0x0) { + iVar2 = FUN_140030080(param_2); + puVar6 = (undefined *)*param_1; + iVar5 = 0; + if ((puVar6 != (undefined *)0x0) && (iVar5 = 0, puVar6 != PTR_DAT_140155010)) { + iVar5 = *(int *)(puVar6 + -8); + } + iVar1 = iVar5 + iVar2; + iVar3 = 0; + if ((puVar6 != (undefined *)0x0) && (iVar3 = 0, puVar6 != PTR_DAT_140155010)) { + iVar3 = *(int *)(puVar6 + -8); + } + iVar4 = iVar1; + if (((iVar1 <= iVar3) && (iVar4 = 0, puVar6 != (undefined *)0x0)) && + (puVar6 != PTR_DAT_140155010)) { + iVar4 = *(int *)(puVar6 + -8); + } + iVar3 = 1; + if (1 < iVar4) { + iVar3 = iVar4; + } + iVar4 = 0; + if ((puVar6 != (undefined *)0x0) && (puVar6 != PTR_DAT_140155010)) { + iVar4 = *(int *)(puVar6 + -8); + } + if (iVar4 < iVar3) { + FUN_140002dc0(param_1,iVar3); + } + FUN_140002ea0(param_1); + puVar6 = (undefined *)*param_1; + if ((undefined *)*param_1 == (undefined *)0x0) { + puVar6 = PTR_DAT_140155010; + } + FUN_1400300b0(puVar6 + (longlong)iVar5 * 2,param_2,iVar2); + puVar6 = (undefined *)*param_1; + iVar5 = 0; + iVar2 = 0; + if (0 < iVar1) { + iVar2 = iVar1; + } + if ((puVar6 != (undefined *)0x0) && (puVar6 != PTR_DAT_140155010)) { + iVar5 = *(int *)(puVar6 + -8); + } + if ((iVar5 <= iVar2) && (iVar2 = 0, puVar6 != (undefined *)0x0)) { + if (puVar6 == PTR_DAT_140155010) { + return; + } + iVar2 = *(int *)(puVar6 + -8); + } + if (((puVar6 != PTR_DAT_140155010) && (puVar6 != (undefined *)0x0)) && + ((int *)(puVar6 + -8) != (int *)0x0)) { + *(int *)(puVar6 + -8) = iVar2; + *(undefined2 *)(puVar6 + (longlong)iVar2 * 2) = 0; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001b9a0.c b/decomp/Agent_Release_x64/full/functions/0x14001b9a0.c new file mode 100644 index 00000000..7b9c2c28 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001b9a0.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001b9a0 FUN_14001b9a0 + * Pseudocode, not original source. */ + +void FUN_14001b9a0(longlong param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong lVar1; + int iVar2; + uint uVar3; + ulonglong uVar4; + longlong lVar5; + exception local_58 [80]; + + lVar5 = 0; + *(undefined4 *)(param_1 + 4) = 0; + lVar1 = *(longlong *)(param_1 + 8); + if (lVar1 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + } + else if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + iVar2 = *(int *)(lVar1 + 0x18); + uVar3 = iVar2 + 8; + uVar4 = (ulonglong)uVar3; + FUN_14001bc70(lVar1,uVar3,param_3); + if (*(int *)(lVar1 + 0x18) != 0) { + lVar5 = *(longlong *)(lVar1 + 0x10); + } + *(undefined8 *)(iVar2 + lVar5) = param_2; + goto LAB_14001ba58; + } + if (*(longlong *)(param_1 + 0x10) == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + uVar4 = (ulonglong)*(int *)(param_1 + 0x18); + iVar2 = *(int *)(param_1 + 0x18) + 8; + if ((iVar2 < 0) || (*(int *)(param_1 + 0x1c) < iVar2)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(int *)(param_1 + 0x18) = iVar2; + *(undefined8 *)(uVar4 + *(longlong *)(param_1 + 0x10)) = param_2; +LAB_14001ba58: + FUN_14001be00(param_1,uVar4,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001ba80.c b/decomp/Agent_Release_x64/full/functions/0x14001ba80.c new file mode 100644 index 00000000..7d7c0269 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001ba80.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001ba80 FUN_14001ba80 + * Pseudocode, not original source. */ + +void FUN_14001ba80(longlong param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong lVar1; + int iVar2; + uint uVar3; + ulonglong uVar4; + longlong lVar5; + exception local_58 [80]; + + lVar5 = 0; + *(undefined4 *)(param_1 + 4) = 0; + lVar1 = *(longlong *)(param_1 + 8); + if (lVar1 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + } + else if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + iVar2 = *(int *)(lVar1 + 0x18); + uVar3 = iVar2 + 1; + uVar4 = (ulonglong)uVar3; + FUN_14001bc70(lVar1,uVar3,param_3); + if (*(int *)(lVar1 + 0x18) != 0) { + lVar5 = *(longlong *)(lVar1 + 0x10); + } + *(char *)(iVar2 + lVar5) = (char)param_2; + goto LAB_14001bb39; + } + if (*(longlong *)(param_1 + 0x10) == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + uVar4 = (ulonglong)*(int *)(param_1 + 0x18); + iVar2 = *(int *)(param_1 + 0x18) + 1; + if ((iVar2 < 0) || (*(int *)(param_1 + 0x1c) < iVar2)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(int *)(param_1 + 0x18) = iVar2; + *(char *)(uVar4 + *(longlong *)(param_1 + 0x10)) = (char)param_2; +LAB_14001bb39: + FUN_14001be00(param_1,uVar4,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001bb60.c b/decomp/Agent_Release_x64/full/functions/0x14001bb60.c new file mode 100644 index 00000000..1bd091ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001bb60.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001bb60 FUN_14001bb60 + * Pseudocode, not original source. */ + +void FUN_14001bb60(longlong *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + int iVar2; + int iVar3; + exception local_58 [88]; + + iVar3 = (int)param_3; + if (iVar3 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (iVar3 != 0) { + if (*param_1 == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + lVar1 = param_1[1]; + iVar2 = (int)lVar1 + iVar3; + if ((iVar2 < 0) || (*(int *)((longlong)param_1 + 0xc) < iVar2)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(int *)(param_1 + 1) = iVar2; + FUN_14001bd30((undefined8 *)(*param_1 + (longlong)(int)lVar1),param_2,(longlong)iVar3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001bbd0.c b/decomp/Agent_Release_x64/full/functions/0x14001bbd0.c new file mode 100644 index 00000000..7755b887 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001bbd0.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001bbd0 FUN_14001bbd0 + * Pseudocode, not original source. */ + +int FUN_14001bbd0(longlong param_1,int param_2) + +{ + uint uVar1; + int iVar2; + uint uVar3; + int iVar4; + + iVar4 = *(int *)(param_1 + 0x24); + if (iVar4 == 0) { + iVar2 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + iVar4 = 0x400; + if (iVar2 < 0x400) { + iVar4 = iVar2; + } + iVar2 = 4; + if (4 < iVar4) { + iVar2 = iVar4; + } + iVar4 = iVar2 + param_2; + if (iVar2 + param_2 < *(int *)(param_1 + 0x20)) { + iVar4 = *(int *)(param_1 + 0x20); + } + return iVar4; + } + if (iVar4 != 1) { + if (iVar4 != 2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 < *(int *)(param_1 + 0x20)) { + param_2 = *(int *)(param_1 + 0x20); + } + return param_2; + } + uVar1 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + uVar3 = 0x10; + if (0x10 < (int)uVar1) { + uVar3 = uVar1; + } + if (uVar3 < 0x41) { + uVar3 = 0x40; + } + iVar4 = uVar3 + param_2; + if ((int)(uVar3 + param_2) < *(int *)(param_1 + 0x20)) { + iVar4 = *(int *)(param_1 + 0x20); + } + return iVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001bc70.c b/decomp/Agent_Release_x64/full/functions/0x14001bc70.c new file mode 100644 index 00000000..3546e86b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001bc70.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001bc70 FUN_14001bc70 + * Pseudocode, not original source. */ + +void FUN_14001bc70(longlong param_1,int param_2,SIZE_T param_3) + +{ + longlong *plVar1; + int iVar2; + longlong lVar3; + SIZE_T SVar4; + undefined8 uVar5; + exception local_58 [80]; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 != *(int *)(param_1 + 0x18)) { + if (*(int *)(param_1 + 0x1c) < param_2) { + iVar2 = FUN_14001bbd0(param_1,param_2); + plVar1 = *(longlong **)(param_1 + 8); + SVar4 = (SIZE_T)iVar2; + if (*(int *)(param_1 + 0x1c) == 0) { + if (plVar1 == (longlong *)0x0) { + lVar3 = FUN_140030280(SVar4); + } + else { + lVar3 = (**(code **)(*plVar1 + 8))(plVar1,SVar4); + } + } + else { + uVar5 = *(undefined8 *)(param_1 + 0x10); + if (plVar1 == (longlong *)0x0) { + lVar3 = FUN_1400302b0(uVar5,SVar4); + } + else { + lVar3 = (**(code **)(*plVar1 + 0x10))(plVar1,uVar5); + param_3 = SVar4; + } + if (lVar3 == 0) { + FUN_14002f1e0(local_58,L"Memory allocation failure!",param_3,uVar5); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + } + *(longlong *)(param_1 + 0x10) = lVar3; + *(int *)(param_1 + 0x1c) = iVar2; + } + *(int *)(param_1 + 0x18) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001bd30.c b/decomp/Agent_Release_x64/full/functions/0x14001bd30.c new file mode 100644 index 00000000..b9c9f523 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001bd30.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001bd30 FUN_14001bd30 + * Pseudocode, not original source. */ + +void FUN_14001bd30(undefined8 *param_1,undefined8 *param_2,size_t param_3) + +{ + undefined1 uVar1; + undefined8 uVar2; + undefined8 *puVar3; + ulonglong uVar4; + ulonglong uVar5; + + if (param_3 < 0x21) { + uVar5 = (ulonglong)((uint)param_3 & 7); + for (uVar4 = param_3 >> 3; uVar4 != 0; uVar4 = uVar4 - 1) { + uVar2 = *param_2; + param_2 = param_2 + 1; + *param_1 = uVar2; + param_1 = param_1 + 1; + } + if (uVar5 != 0) { + puVar3 = param_2; + do { + uVar1 = *(undefined1 *)puVar3; + puVar3 = (undefined8 *)((longlong)puVar3 + 1); + uVar5 = uVar5 - 1; + *(undefined1 *)((longlong)param_1 + (-1 - (longlong)param_2) + (longlong)puVar3) = uVar1; + } while (uVar5 != 0); + return; + } + } + else { + memcpy(param_1,param_2,param_3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001bd90.c b/decomp/Agent_Release_x64/full/functions/0x14001bd90.c new file mode 100644 index 00000000..f809d036 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001bd90.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001bd90 FUN_14001bd90 + * Pseudocode, not original source. */ + +void FUN_14001bd90(longlong param_1,undefined8 *param_2,SIZE_T param_3) + +{ + int iVar1; + longlong lVar2; + int iVar3; + + iVar3 = (int)param_3; + if (iVar3 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (iVar3 != 0) { + iVar1 = *(int *)(param_1 + 0x18); + FUN_14001bc70(param_1,iVar1 + iVar3,param_3); + if (*(int *)(param_1 + 0x18) == 0) { + lVar2 = 0; + } + else { + lVar2 = *(longlong *)(param_1 + 0x10); + } + FUN_14001bd30((undefined8 *)(lVar2 + iVar1),param_2,(longlong)iVar3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001be00.c b/decomp/Agent_Release_x64/full/functions/0x14001be00.c new file mode 100644 index 00000000..2ad3db92 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001be00.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001be00 FUN_14001be00 + * Pseudocode, not original source. */ + +void FUN_14001be00(longlong param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + int iVar1; + longlong lVar2; + int iVar3; + exception local_58 [80]; + + if (*(char *)(param_1 + 0x20) != '\0') { + lVar2 = *(longlong *)(param_1 + 8); + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + } + else if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + iVar1 = *(int *)(lVar2 + 0x18); + FUN_14001bc70(lVar2,iVar1 + 1,param_3); + if (*(int *)(lVar2 + 0x18) == 0) { + *(undefined1 *)(longlong)iVar1 = 0xfe; + return; + } + ((undefined1 *)(longlong)iVar1)[*(longlong *)(lVar2 + 0x10)] = 0xfe; + return; + } + if (*(longlong *)(param_1 + 0x10) == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + iVar1 = *(int *)(param_1 + 0x18); + iVar3 = iVar1 + 1; + if ((iVar3 < 0) || (*(int *)(param_1 + 0x1c) < iVar3)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(int *)(param_1 + 0x18) = iVar3; + *(undefined1 *)((longlong)iVar1 + *(longlong *)(param_1 + 0x10)) = 0xfe; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001bee0.c b/decomp/Agent_Release_x64/full/functions/0x14001bee0.c new file mode 100644 index 00000000..3a0859b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001bee0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001bee0 FUN_14001bee0 + * Pseudocode, not original source. */ + +void FUN_14001bee0(longlong param_1,undefined8 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong lVar1; + + if ((int)param_3 == 0) { + return; + } + *(undefined4 *)(param_1 + 4) = 0; + lVar1 = *(longlong *)(param_1 + 8); + if (lVar1 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,param_2,param_3,param_4); + } + } + else if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar1 != 0) { + FUN_14001bd90(lVar1,param_2,param_3); + FUN_14001be00(param_1,param_2,param_3,param_4); + return; + } + /* WARNING: Subroutine does not return */ + FUN_140095370(0,param_2,param_3,param_4); + } + FUN_14001bb60((longlong *)(param_1 + 0x10),param_2,param_3,param_4); + FUN_14001be00(param_1,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001bf50.c b/decomp/Agent_Release_x64/full/functions/0x14001bf50.c new file mode 100644 index 00000000..01ff81d8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001bf50.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001bf50 FUN_14001bf50 + * Pseudocode, not original source. */ + +exception * FUN_14001bf50(exception *param_1,uint param_2) + +{ + FUN_14002ed50(param_1); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001bf80.c b/decomp/Agent_Release_x64/full/functions/0x14001bf80.c new file mode 100644 index 00000000..07e97f4a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001bf80.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001bf80 FUN_14001bf80 + * Pseudocode, not original source. */ + +void FUN_14001bf80(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *puVar1; + int *piVar2; + + puVar1 = (undefined *)*param_1; + if ((undefined *)*param_1 == (undefined *)0x0) { + puVar1 = PTR_DAT_140155008; + } + *param_1 = (longlong)puVar1; + if ((undefined *)*param_2 != puVar1) { + piVar2 = (int *)FUN_140030200(param_1,param_2,param_3,param_4); + FUN_14002e6e0(piVar2); + FUN_14001c020(param_1); + puVar1 = (undefined *)*param_2; + *param_1 = (longlong)puVar1; + if (((puVar1 != PTR_DAT_140155008) && (puVar1 != (undefined *)0x0)) && + (puVar1 != (undefined *)0x8)) { + *(int *)(puVar1 + -4) = *(int *)(puVar1 + -4) + 1; + } + FUN_14002e770((longlong)piVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001c020.c b/decomp/Agent_Release_x64/full/functions/0x14001c020.c new file mode 100644 index 00000000..2b6efc77 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001c020.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001c020 FUN_14001c020 + * Pseudocode, not original source. */ + +void FUN_14001c020(longlong *param_1) + +{ + int *piVar1; + undefined *puVar2; + int *piVar3; + undefined8 in_RDX; + undefined8 in_R8; + undefined8 in_R9; + + puVar2 = (undefined *)*param_1; + if (((puVar2 == (undefined *)0x0) || (puVar2 == PTR_DAT_140155008)) || + (puVar2 + -8 == (undefined *)0x0)) { + *param_1 = (longlong)PTR_DAT_140155008; + } + else { + piVar3 = (int *)FUN_140030200(puVar2,in_RDX,in_R8,in_R9); + FUN_14002e6e0(piVar3); + piVar1 = (int *)(puVar2 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(puVar2 + -8); + } + FUN_14002e770((longlong)piVar3); + *param_1 = (longlong)PTR_DAT_140155008; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001c0c0.c b/decomp/Agent_Release_x64/full/functions/0x14001c0c0.c new file mode 100644 index 00000000..f77cd9bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001c0c0.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001c0c0 FUN_14001c0c0 + * Pseudocode, not original source. */ + +exception * +FUN_14001c0c0(exception *param_1,exception *param_2,undefined8 param_3,undefined8 param_4) + +{ + exception *peVar1; + exception *peVar2; + + peVar1 = param_1; + peVar2 = param_2; + std::exception::exception(param_1,param_2); + *(undefined ***)param_1 = Proud::Exception::vftable; + *(undefined4 *)(param_1 + 0x18) = *(undefined4 *)(param_2 + 0x18); + *(undefined8 *)(param_1 + 0x20) = *(undefined8 *)(param_2 + 0x20); + *(undefined8 *)(param_1 + 0x28) = *(undefined8 *)(param_2 + 0x28); + *(undefined8 *)(param_1 + 0x30) = *(undefined8 *)(param_2 + 0x30); + *(undefined4 *)(param_1 + 0x38) = *(undefined4 *)(param_2 + 0x38); + FUN_140030200(peVar1,peVar2,param_3,param_4); + *(undefined **)(param_1 + 0x40) = PTR_DAT_140155008; + FUN_14001bf80((longlong *)(param_1 + 0x40),(longlong *)(param_2 + 0x40),param_3,param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001c150.c b/decomp/Agent_Release_x64/full/functions/0x14001c150.c new file mode 100644 index 00000000..dd0bafbc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001c150.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001c150 FUN_14001c150 + * Pseudocode, not original source. */ + +void FUN_14001c150(longlong *param_1) + +{ + if (*param_1 != 0) { + if (*(int *)((longlong)param_1 + 0xc) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(param_1 + 1) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001c180.c b/decomp/Agent_Release_x64/full/functions/0x14001c180.c new file mode 100644 index 00000000..a08a0951 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001c180.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001c180 FUN_14001c180 + * Pseudocode, not original source. */ + +void FUN_14001c180(longlong *param_1) + +{ + FUN_140095270(param_1); + if (param_1[1] != 0) { + if (*(int *)((longlong)param_1 + 0x14) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(param_1 + 2) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001c1c0.c b/decomp/Agent_Release_x64/full/functions/0x14001c1c0.c new file mode 100644 index 00000000..8b03eda4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001c1c0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001c1c0 FUN_14001c1c0 + * Pseudocode, not original source. */ + +void FUN_14001c1c0(longlong param_1) + +{ + FUN_140095270((longlong *)(param_1 + 8)); + if (*(longlong *)(param_1 + 0x10) != 0) { + if (*(int *)(param_1 + 0x1c) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(param_1 + 0x18) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001c210.c b/decomp/Agent_Release_x64/full/functions/0x14001c210.c new file mode 100644 index 00000000..69dc00c6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001c210.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001c210 FUN_14001c210 + * Pseudocode, not original source. */ + +undefined8 FUN_14001c210(void) + +{ + return 0x8598; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001c220.c b/decomp/Agent_Release_x64/full/functions/0x14001c220.c new file mode 100644 index 00000000..bd78b396 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001c220.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001c220 FUN_14001c220 + * Pseudocode, not original source. */ + +undefined8 FUN_14001c220(void) + +{ + return 0x85a4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001c230.c b/decomp/Agent_Release_x64/full/functions/0x14001c230.c new file mode 100644 index 00000000..42467bfe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001c230.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001c230 FUN_14001c230 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001c230(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,uint *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x8599,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)param_5[1],SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)param_5[2],SVar2,puVar3); + FUN_1400220c0((longlong)local_30,*(undefined8 *)(param_5 + 4),SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PT_SERVER_REGISTER",0x8599); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001c340.c b/decomp/Agent_Release_x64/full/functions/0x14001c340.c new file mode 100644 index 00000000..8d09b782 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001c340.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001c340 FUN_14001c340 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001c340(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,uint *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x8599,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)param_6[1],uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)param_6[2],uVar3,uVar4); + FUN_1400220c0((longlong)local_30,*(undefined8 *)(param_6 + 4),uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"PT_SERVER_REGISTER", + 0x8599); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001c470.c b/decomp/Agent_Release_x64/full/functions/0x14001c470.c new file mode 100644 index 00000000..384162b1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001c470.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001c470 FUN_14001c470 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001c470(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,uint *param_5, + longlong *param_6) + +{ + undefined1 uVar1; + uint *puVar2; + SIZE_T SVar3; + uint *puVar4; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar3 = param_3; + puVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar3,puVar4); + FUN_1400221b0((longlong)local_30,0x859a,SVar3,puVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar3,puVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,SVar3,puVar4); + FUN_140021e80((longlong)local_30,(ulonglong)param_5[1],SVar3,puVar4); + FUN_140021e80((longlong)local_30,(ulonglong)param_5[2],SVar3,puVar4); + FUN_140021e80((longlong)local_30,(ulonglong)param_5[6],SVar3,puVar4); + FUN_140021e80((longlong)local_30,(ulonglong)param_5[3],SVar3,puVar4); + FUN_14001ba80((longlong)local_30,(ulonglong)(byte)param_5[7],SVar3,puVar4); + FUN_14001ba80((longlong)local_30,(ulonglong)*(byte *)((longlong)param_5 + 0x1d),SVar3,puVar4); + FUN_1400220c0((longlong)local_30,*(undefined8 *)(param_5 + 4),SVar3,puVar4); + FUN_140021e80((longlong)local_30,param_6[1] - *param_6 >> 2,SVar3,puVar4); + puVar2 = (uint *)*param_6; + if (puVar2 != (uint *)param_6[1]) { + do { + FUN_140021e80((longlong)local_30,(ulonglong)*puVar2,SVar3,puVar4); + puVar2 = puVar2 + 1; + } while (puVar2 != (uint *)param_6[1]); + } + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PT_SERVER_INFORMATION",0x859a); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001c600.c b/decomp/Agent_Release_x64/full/functions/0x14001c600.c new file mode 100644 index 00000000..d505d22a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001c600.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001c600 FUN_14001c600 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001c600(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4,uint *param_5, + uint *param_6,longlong *param_7) + +{ + undefined1 uVar1; + undefined8 uVar2; + uint *puVar3; + undefined8 uVar4; + ulonglong uVar5; + undefined4 local_40 [2]; + longlong local_38; + longlong local_30; + int local_24; + + uVar5 = param_3 & 0xffffffff; + uVar2 = param_2; + uVar4 = param_4; + FUN_1400806d0(local_40); + FUN_1400801a0((longlong)local_40,uVar2,param_3,uVar4); + FUN_1400221b0((longlong)local_40,0x859a,param_3,uVar4); + FUN_140021e80((longlong)local_40,(ulonglong)*param_5,param_3,uVar4); + FUN_140021e80((longlong)local_40,(ulonglong)*param_6,param_3,uVar4); + FUN_140021e80((longlong)local_40,(ulonglong)param_6[1],param_3,uVar4); + FUN_140021e80((longlong)local_40,(ulonglong)param_6[2],param_3,uVar4); + FUN_140021e80((longlong)local_40,(ulonglong)param_6[6],param_3,uVar4); + FUN_140021e80((longlong)local_40,(ulonglong)param_6[3],param_3,uVar4); + FUN_14001ba80((longlong)local_40,(ulonglong)(byte)param_6[7],param_3,uVar4); + FUN_14001ba80((longlong)local_40,(ulonglong)*(byte *)((longlong)param_6 + 0x1d),param_3,uVar4); + FUN_1400220c0((longlong)local_40,*(undefined8 *)(param_6 + 4),param_3,uVar4); + FUN_140021e80((longlong)local_40,param_7[1] - *param_7 >> 2,param_3,uVar4); + puVar3 = (uint *)*param_7; + if (puVar3 != (uint *)param_7[1]) { + do { + FUN_140021e80((longlong)local_40,(ulonglong)*puVar3,param_3,uVar4); + puVar3 = puVar3 + 1; + } while (puVar3 != (uint *)param_7[1]); + } + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,uVar5,param_4,local_40,L"PT_SERVER_INFORMATION",0x859a); + FUN_140095270(&local_38); + if ((local_30 != 0) && (local_24 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001c7a0.c b/decomp/Agent_Release_x64/full/functions/0x14001c7a0.c new file mode 100644 index 00000000..3038ec98 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001c7a0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001c7a0 FUN_14001c7a0 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001c7a0(longlong *param_1,undefined8 param_2,SIZE_T param_3,byte *param_4,uint *param_5, + uint *param_6) + +{ + undefined1 uVar1; + SIZE_T SVar2; + byte *pbVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + pbVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,pbVar3); + FUN_1400221b0((longlong)local_30,0x859b,SVar2,pbVar3); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_4,SVar2,pbVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,SVar2,pbVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,SVar2,pbVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PT_SERVER_COMMAND_RESULT",0x859b); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001c8a0.c b/decomp/Agent_Release_x64/full/functions/0x14001c8a0.c new file mode 100644 index 00000000..6c3e7be2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001c8a0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001c8a0 FUN_14001c8a0 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001c8a0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + byte *param_5,uint *param_6,uint *param_7) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x859b,uVar3,uVar4); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_7,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30, + L"PT_SERVER_COMMAND_RESULT",0x859b); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001c9b0.c b/decomp/Agent_Release_x64/full/functions/0x14001c9b0.c new file mode 100644 index 00000000..9207d78c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001c9b0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001c9b0 FUN_14001c9b0 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001c9b0(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,byte *param_5, + uint *param_6,longlong *param_7) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x859c,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_5,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,SVar2,puVar3); + FUN_140081ea0((longlong)local_30,param_7,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PWE_RESP_RESULT_CODE",0x859c); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001cac0.c b/decomp/Agent_Release_x64/full/functions/0x14001cac0.c new file mode 100644 index 00000000..337926b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001cac0.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001cac0 FUN_14001cac0 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001cac0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,byte *param_6,uint *param_7,longlong *param_8) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x859c,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_6,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_7,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_8,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"PWE_RESP_RESULT_CODE", + 0x859c); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001cbe0.c b/decomp/Agent_Release_x64/full/functions/0x14001cbe0.c new file mode 100644 index 00000000..d10c15cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001cbe0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001cbe0 FUN_14001cbe0 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001cbe0(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,longlong *param_5, + undefined8 *param_6,uint *param_7) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x859d,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140081ea0((longlong)local_30,param_5,SVar2,puVar3); + FUN_14009d660((longlong)local_30,param_6,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_7,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"NOTIFY_STORAGE_ALARM",0x859d); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001ccf0.c b/decomp/Agent_Release_x64/full/functions/0x14001ccf0.c new file mode 100644 index 00000000..6fc8179c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001ccf0.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001ccf0 FUN_14001ccf0 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001ccf0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,longlong *param_6,undefined8 *param_7,uint *param_8) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x859d,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_6,uVar3,uVar4); + FUN_14009d660((longlong)local_30,param_7,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_8,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"NOTIFY_STORAGE_ALARM", + 0x859d); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001ce10.c b/decomp/Agent_Release_x64/full/functions/0x14001ce10.c new file mode 100644 index 00000000..02792abc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001ce10.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001ce10 FUN_14001ce10 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001ce10(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,longlong *param_5, + longlong *param_6,undefined8 *param_7,uint *param_8) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x859e,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140081ea0((longlong)local_30,param_5,SVar2,puVar3); + FUN_140081ea0((longlong)local_30,param_6,SVar2,puVar3); + FUN_14009d660((longlong)local_30,param_7,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_8,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"NOTIFY_MAIL_ALARM",0x859e); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001cf30.c b/decomp/Agent_Release_x64/full/functions/0x14001cf30.c new file mode 100644 index 00000000..6e0399cd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001cf30.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001cf30 FUN_14001cf30 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001cf30(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,longlong *param_6,longlong *param_7,undefined8 *param_8,uint *param_9) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x859e,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_6,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_7,uVar3,uVar4); + FUN_14009d660((longlong)local_30,param_8,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_9,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"NOTIFY_MAIL_ALARM", + 0x859e); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001d060.c b/decomp/Agent_Release_x64/full/functions/0x14001d060.c new file mode 100644 index 00000000..80d83e51 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001d060.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001d060 FUN_14001d060 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001d060(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,undefined8 *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x859f,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_14001b9a0((longlong)local_30,*param_5,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"REQ_STATISTICS",0x859f); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001d150.c b/decomp/Agent_Release_x64/full/functions/0x14001d150.c new file mode 100644 index 00000000..ba47e99b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001d150.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001d150 FUN_14001d150 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001d150(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,undefined8 *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x859f,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_14001b9a0((longlong)local_30,*param_6,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"REQ_STATISTICS",0x859f) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001d250.c b/decomp/Agent_Release_x64/full/functions/0x14001d250.c new file mode 100644 index 00000000..7b0e5eca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001d250.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001d250 FUN_14001d250 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001d250(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,longlong *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x85a0,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140081ea0((longlong)local_30,param_5,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PT_MESSAGE",0x85a0); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001d340.c b/decomp/Agent_Release_x64/full/functions/0x14001d340.c new file mode 100644 index 00000000..70842d4e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001d340.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001d340 FUN_14001d340 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001d340(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,longlong *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x85a0,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_6,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"PT_MESSAGE",0x85a0); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001d430.c b/decomp/Agent_Release_x64/full/functions/0x14001d430.c new file mode 100644 index 00000000..4da82709 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001d430.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001d430 FUN_14001d430 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001d430(longlong *param_1,undefined8 param_2,SIZE_T param_3,longlong *param_4,uint *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + longlong *plVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + plVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,plVar3); + FUN_1400221b0((longlong)local_30,0x85a1,SVar2,plVar3); + FUN_140081ea0((longlong)local_30,param_4,SVar2,plVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,SVar2,plVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PT_PATCH_SERVER",0x85a1); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001d520.c b/decomp/Agent_Release_x64/full/functions/0x14001d520.c new file mode 100644 index 00000000..245572b1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001d520.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001d520 FUN_14001d520 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001d520(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + longlong *param_5,uint *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x85a1,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_5,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,L"PT_PATCH_SERVER",0x85a1 + ); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001d610.c b/decomp/Agent_Release_x64/full/functions/0x14001d610.c new file mode 100644 index 00000000..778e8467 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001d610.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001d610 FUN_14001d610 + * Pseudocode, not original source. */ + +undefined1 FUN_14001d610(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x85a2,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PT_BACKUP_CHARACTER_TABLE_COUNT", + 0x85a2); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001d6f0.c b/decomp/Agent_Release_x64/full/functions/0x14001d6f0.c new file mode 100644 index 00000000..a6960302 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001d6f0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001d6f0 FUN_14001d6f0 + * Pseudocode, not original source. */ + +undefined1 +FUN_14001d6f0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x85a2,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30, + L"PT_BACKUP_CHARACTER_TABLE_COUNT",0x85a2); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001d7d0.c b/decomp/Agent_Release_x64/full/functions/0x14001d7d0.c new file mode 100644 index 00000000..1e23a6a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001d7d0.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001d7d0 FUN_14001d7d0 + * Pseudocode, not original source. */ + +undefined1 FUN_14001d7d0(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,param_4); + FUN_1400221b0((longlong)local_30,0x85a3,SVar2,param_4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,L"PT_BACKUP_CHARACTER_TABLE_END",0x85a3) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001d890.c b/decomp/Agent_Release_x64/full/functions/0x14001d890.c new file mode 100644 index 00000000..9217a1ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001d890.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001d890 FUN_14001d890 + * Pseudocode, not original source. */ + +undefined1 FUN_14001d890(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x85a3,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30, + L"PT_BACKUP_CHARACTER_TABLE_END",0x85a3); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14001d960.c b/decomp/Agent_Release_x64/full/functions/0x14001d960.c new file mode 100644 index 00000000..b5753258 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14001d960.c @@ -0,0 +1,1960 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14001d960 FUN_14001d960 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +ulonglong FUN_14001d960(longlong *param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong *puVar1; + int *piVar2; + uint uVar3; + uint uVar4; + char cVar5; + int iVar6; + DWORD DVar7; + DWORD DVar8; + undefined8 uVar9; + int *****extraout_RAX; + int *****extraout_RAX_00; + int *****extraout_RAX_01; + int *****pppppiVar10; + int *****extraout_RAX_02; + undefined *****pppppuVar11; + int *****pppppiVar12; + undefined *puVar13; + int *****pppppiVar14; + int *****extraout_RAX_03; + undefined8 uVar15; + longlong *plVar16; + longlong *plVar17; + int *****pppppiVar18; + ulonglong uVar19; + undefined1 *puVar20; + int ******ppppppiVar21; + IMAGE_DOS_HEADER *pIVar22; + undefined **ppuVar23; + undefined8 *puVar24; + uint *puVar25; + ulonglong *puVar26; + wchar_t *pwVar27; + undefined1 *puVar28; + int *****pppppiVar29; + undefined1 auStack_488 [32]; + int *****local_468; + int ******local_460; + int *****local_458; + int ******local_450; + int *****local_448; + undefined1 local_440 [8]; + undefined1 local_438 [8]; + uint local_430 [2]; + ulonglong *local_428; + wchar_t *local_420; + undefined8 local_418; + undefined8 local_410; + int local_408; + undefined ******local_400; + undefined1 local_3f8 [8]; + int *****local_3f0; + undefined1 local_3e8; + undefined8 local_3e0; + ulonglong *local_3d8; + wchar_t *local_3d0; + undefined8 local_3c8; + undefined8 local_3c0; + int local_3b8; + uint local_3b0; + uint local_3ac; + int *****local_3a8; + ulonglong *local_3a0; + undefined8 local_398; + undefined1 local_388 [4]; + uint local_384; + undefined8 local_350; + int *****local_328; + wchar_t *local_320; + uint local_318; + undefined8 local_310; + int local_308; + int *****local_300; + int *****local_2f8; + int *****local_2f0; + int *****local_2e8; + undefined *local_2e0; + undefined *****local_2d8; + undefined *****local_2d0; + undefined *****local_2c8; + undefined *****local_2c0; + int ****local_2b8; + undefined *****local_2b0; + int ****local_2a8; + undefined *****local_2a0; + undefined *local_298; + undefined *****local_290; + uint local_288 [2]; + undefined *****local_280; + undefined *local_278; + undefined *****local_270; + undefined *local_268; + undefined *****local_260; + undefined *****local_258; + undefined *local_250; + undefined *local_248; + undefined *local_240; + undefined *local_238; + longlong local_230; + longlong local_228; + longlong local_220; + longlong local_218; + longlong local_210; + longlong local_208; + longlong local_200; + longlong local_1f8; + longlong local_1f0; + longlong local_1e8; + longlong local_1e0; + longlong local_1d8; + longlong local_1d0; + longlong local_1c8; + longlong local_1c0; + longlong local_1b8; + longlong local_1b0; + longlong local_1a8; + longlong local_1a0; + longlong local_198; + longlong local_190; + longlong local_188; + longlong local_180 [3]; + longlong local_168; + longlong local_160 [2]; + undefined1 local_150 [264]; + ulonglong local_48; + + puVar28 = local_388; + local_180[1] = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_488; + uVar3 = param_2[10]; + uVar15 = param_3; + if (uVar3 == 0) { + FUN_140093300(); + } + uVar4 = *param_2; + uVar9 = FUN_140080fb0(param_2,local_288,uVar15,param_4); + if ((char)uVar9 == '\0') { +switchD_14001da04_default: + uVar19 = FUN_1400802d0((int *)param_2, + (ulonglong)(uint)((int)(((int)uVar4 >> 0x1f & 7U) + uVar4) >> 3),uVar15, + param_4); + return uVar19 & 0xffffffffffffff00; + } + pIVar22 = &IMAGE_DOS_HEADER_140000000; + local_350 = param_3; + switch(local_288[0]) { + case 0x85fd: + FUN_14003b570(puVar28); + local_384 = param_2[10]; + local_388[0] = (undefined1)param_2[0x10]; + local_428 = (ulonglong *)0x0; + local_420 = (wchar_t *)0x0; + local_418 = 0; + FUN_140021160(param_2,(longlong *)&local_428,uVar15,param_4); + local_3d8 = (ulonglong *)0x0; + local_3d0 = (wchar_t *)0x0; + local_3c8 = 0; + FUN_14001acf0(param_2,(ulonglong *)&local_3d8,uVar15,param_4); + local_3a8 = (int *****)0x0; + local_3a0 = (ulonglong *)0x0; + local_398 = 0; + FUN_14001acf0(param_2,(ulonglong *)&local_3a8,uVar15,param_4); + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PT_AGENT_DATA"; + (**(code **)(*plVar17 + 0x48))(); + DVar7 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_468 = (int *****)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x85fd,L"PT_AGENT_DATA"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar17,param_2,pwVar27,param_4); + local_448 = (int *****)PTR_DAT_140155010; + FUN_140021280((longlong *)&local_448,(longlong *)&local_428,pwVar27,param_4); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14001af50((longlong *)&local_448,(longlong *)&local_3d8,pwVar27,param_4); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14001af50((longlong *)&local_448,(longlong *)&local_3a8,pwVar27,param_4); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + pppppiVar18 = local_448; + DVar8 = DVar7; + if ((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) { + DVar8 = *(DWORD *)(local_448 + -1); + } + uVar19 = (ulonglong)(DVar8 - 2); + ppuVar23 = &local_250; + local_400 = (undefined ******) + FUN_14001ac70((longlong *)&local_448,(longlong *)ppuVar23,DVar8 - 2); + if (pppppiVar18 == (int *****)0x0) { + pppppiVar18 = (int *****)PTR_DAT_140155010; + } + local_448 = pppppiVar18; + if ((int *****)*local_400 != pppppiVar18) { + pppppiVar14 = (int *****)FUN_140030200(PTR_DAT_140155010,ppuVar23,uVar19,param_4); + pppppiVar29 = pppppiVar14; + local_3f0 = pppppiVar14; + FUN_14002e6e0((int *)pppppiVar14); + local_3e8 = 1; + if (((pppppiVar18 != (int *****)0x0) && (pppppiVar18 != (int *****)PTR_DAT_140155010)) && + (pppppiVar18 + -1 != (int *****)0x0)) { + pppppiVar29 = (int *****)FUN_140030200(pppppiVar29,ppuVar23,uVar19,param_4); + local_328 = pppppiVar29; + FUN_14002e6e0((int *)pppppiVar29); + local_320 = (wchar_t *)CONCAT71(local_320._1_7_,1); + piVar2 = (int *)((longlong)pppppiVar18 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(pppppiVar18 + -1); + } + FUN_14002e770((longlong)pppppiVar29); + } + pppppiVar18 = (int *****)*local_400; + if (((pppppiVar18 != (int *****)PTR_DAT_140155010) && (pppppiVar18 != (int *****)0x0)) && + (pppppiVar18 != (int *****)0x8)) { + *(int *)((longlong)pppppiVar18 + -4) = *(int *)((longlong)pppppiVar18 + -4) + 1; + } + local_448 = pppppiVar18; + FUN_14002e770((longlong)pppppiVar14); + } + if (((local_250 != (undefined *)0x0) && (local_250 != PTR_DAT_140155010)) && + (local_250 + -8 != (undefined *)0x0)) { + pppppiVar29 = (int *****)FUN_140030200(PTR_DAT_140155010,ppuVar23,uVar19,param_4); + local_328 = pppppiVar29; + FUN_14002e6e0((int *)pppppiVar29); + local_320 = (wchar_t *)CONCAT71(local_320._1_7_,1); + piVar2 = (int *)(local_250 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(local_250 + -8); + } + FUN_14002e770((longlong)pppppiVar29); + } + local_400 = (undefined ******)&local_2f0; + pppppiVar29 = (int *****)PTR_DAT_140155010; + local_250 = PTR_DAT_140155010; + FUN_140030200(PTR_DAT_140155010,ppuVar23,uVar19,param_4); + local_2f0 = (int *****)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_2f0 = (int *****)0x0; + } + if (pppppiVar18 != (int *****)PTR_DAT_140155010) { + pppppiVar29 = (int *****)FUN_140030200(pppppiVar29,ppuVar23,uVar19,param_4); + local_328 = pppppiVar29; + FUN_14002e6e0((int *)pppppiVar29); + local_320 = (wchar_t *)CONCAT71(local_320._1_7_,1); + FUN_140003240((longlong *)&local_2f0,ppuVar23,uVar19,param_4); + if (((pppppiVar18 != (int *****)PTR_DAT_140155010) && (pppppiVar18 != (int *****)0x0)) && + (pppppiVar18 != (int *****)0x8)) { + *(int *)((longlong)pppppiVar18 + -4) = *(int *)((longlong)pppppiVar18 + -4) + 1; + } + local_2f0 = pppppiVar18; + FUN_14002e770((longlong)pppppiVar29); + } + FUN_140030200(pppppiVar29,ppuVar23,uVar19,param_4); + local_298 = PTR_DAT_140155010; + iVar6 = FUN_140030080(L"PT_AGENT_DATA"); + puVar13 = FUN_140002f90((longlong *)&local_298,iVar6); + FUN_1400300b0(puVar13,L"PT_AGENT_DATA",iVar6); + FUN_140003070((longlong *)&local_298); + (**(code **)(*param_1 + 0x28))(param_1,0x85fd,&local_298,&local_2f0); + local_468 = pppppiVar18; + if (pppppiVar18 == (int *****)0x0) { + local_468 = (int *****)PTR_DAT_140155010; + } + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PT_AGENT_DATA"; + uVar15 = 0x85fd; + uVar19 = (ulonglong)uVar3; + (**(code **)(*plVar17 + 0x70))(); + if (((pppppiVar18 != (int *****)0x0) && (pppppiVar18 != (int *****)PTR_DAT_140155010)) && + (pppppiVar18 + -1 != (int *****)0x0)) { + pppppiVar29 = (int *****)FUN_140030200(plVar17,uVar19,uVar15,pwVar27); + local_328 = pppppiVar29; + FUN_14002e6e0((int *)pppppiVar29); + local_320 = (wchar_t *)CONCAT71(local_320._1_7_,1); + piVar2 = (int *)((longlong)pppppiVar18 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(pppppiVar18 + -1); + } + FUN_14002e770((longlong)pppppiVar29); + } + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_328 = (int *****)CONCAT44(local_328._4_4_,0x85fd); + local_320 = L"PT_AGENT_DATA"; + local_318 = uVar3; + local_310 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_328); + DVar7 = GetTickCount(); + } + local_460 = &local_3a8; + local_468 = (int *****)&local_3d8; + pppppiVar18 = (int *****)(**(code **)(*param_1 + 0x38))(param_1,uVar3,puVar28,&local_428); + if ((char)pppppiVar18 == '\0') { + pppppiVar18 = (int *****) + (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],L"PT_AGENT_DATA"); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_328 = (int *****)CONCAT44(local_328._4_4_,0x85fd); + local_320 = L"PT_AGENT_DATA"; + local_318 = uVar3; + local_310 = param_3; + DVar8 = GetTickCount(); + local_308 = DVar8 - DVar7; + pppppiVar18 = (int *****)(**(code **)(*param_1 + 0x18))(param_1,&local_328); + } + if (local_3a8 != (int *****)0x0) { + FUN_140006a60((ulonglong *)local_3a8,local_3a0); + operator_delete(local_3a8); + pppppiVar18 = extraout_RAX; + } + local_3a8 = (int *****)0x0; + local_3a0 = (ulonglong *)0x0; + local_398 = 0; + if (local_3d8 != (ulonglong *)0x0) { + FUN_140006a60(local_3d8,(ulonglong *)local_3d0); + operator_delete(local_3d8); + pppppiVar18 = extraout_RAX_00; + } + pwVar27 = local_420; + local_3d8 = (ulonglong *)0x0; + local_3d0 = (wchar_t *)0x0; + local_3c8 = 0; + if (local_428 != (ulonglong *)0x0) { + if ((wchar_t *)local_428 != local_420) { + puVar26 = local_428 + 4; + do { + if (7 < *puVar26) { + operator_delete((void *)puVar26[-3]); + } + *puVar26 = 7; + puVar26[-1] = 0; + *(undefined2 *)(puVar26 + -3) = 0; + puVar1 = puVar26 + 2; + puVar26 = puVar26 + 6; + } while ((wchar_t *)puVar1 != pwVar27); + } + operator_delete(local_428); + pppppiVar18 = extraout_RAX_01; + } + goto LAB_140021038; + case 0x85fe: + FUN_14003b570(puVar28); + local_384 = param_2[10]; + local_388[0] = (undefined1)param_2[0x10]; + uVar15 = 4; + FUN_140080600(param_2,(undefined8 *)(local_440 + 4),4); + pppppiVar18 = (int *****)0x0; + pppppiVar29 = (int *****)0x0; + local_428 = (ulonglong *)0x0; + local_420 = (wchar_t *)0x0; + local_418 = 0; + FUN_14001acf0(param_2,(ulonglong *)&local_428,uVar15,param_4); + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PT_SERVER_OPTIONS"; + (**(code **)(*plVar17 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_468 = (int *****)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x85fe,L"PT_SERVER_OPTIONS"); + goto LAB_14001e2b8; + } + } + else { + pppppiVar29 = pppppiVar18; + if ((char)param_1[3] == '\0') { + FUN_140030200(plVar17,param_2,pwVar27,param_4); + local_448 = (int *****)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14001af50((longlong *)&local_448,(longlong *)&local_428,pwVar27,param_4); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + iVar6 = 0; + if ((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_448 + -1); + } + uVar19 = (ulonglong)(iVar6 - 2U); + local_400 = (undefined ******) + FUN_14001ac70((longlong *)&local_448,(longlong *)&local_248,iVar6 - 2U); + pppppiVar29 = local_448; + if (local_448 == (int *****)0x0) { + pppppiVar29 = (int *****)PTR_DAT_140155010; + } + local_448 = pppppiVar29; + if ((int *****)*local_400 != pppppiVar29) { + pppppiVar29 = (int *****)FUN_140030200(pppppiVar29,PTR_DAT_140155010,uVar19,param_4); + local_328 = pppppiVar29; + FUN_14002e6e0((int *)pppppiVar29); + pppppiVar14 = local_448; + local_320 = (wchar_t *)CONCAT71(local_320._1_7_,1); + if (((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) && + (pppppiVar12 = local_448 + -1, pppppiVar12 != (int *****)0x0)) { + pppppiVar10 = (int *****)FUN_140030200(local_448,PTR_DAT_140155010,uVar19,param_4); + local_3f0 = pppppiVar10; + FUN_14002e6e0((int *)pppppiVar10); + local_3e8 = 1; + piVar2 = (int *)((longlong)pppppiVar14 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(pppppiVar12); + } + FUN_14002e770((longlong)pppppiVar10); + } + local_448 = (int *****)*local_400; + if (((local_448 != (int *****)PTR_DAT_140155010) && (local_448 != (int *****)0x0)) && + (local_448 != (int *****)0x8)) { + *(int *)((longlong)local_448 + -4) = *(int *)((longlong)local_448 + -4) + 1; + } + FUN_14002e770((longlong)pppppiVar29); + } + if (((local_248 != (undefined *)0x0) && (local_248 != PTR_DAT_140155010)) && + (local_248 + -8 != (undefined *)0x0)) { + pppppiVar29 = (int *****)FUN_140030200(pppppiVar29,PTR_DAT_140155010,uVar19,param_4); + local_328 = pppppiVar29; + FUN_14002e6e0((int *)pppppiVar29); + local_320 = (wchar_t *)CONCAT71(local_320._1_7_,1); + piVar2 = (int *)(local_248 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(local_248 + -8); + } + FUN_14002e770((longlong)pppppiVar29); + } + local_400 = (undefined ******)&local_2e8; + puVar13 = PTR_DAT_140155010; + local_248 = PTR_DAT_140155010; + FUN_140030200(pppppiVar29,PTR_DAT_140155010,uVar19,param_4); + local_2e8 = (int *****)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_2e8 = pppppiVar18; + } + if (local_448 != (int *****)PTR_DAT_140155010) { + pppppiVar29 = (int *****)FUN_140030200(pppppiVar29,puVar13,uVar19,param_4); + local_328 = pppppiVar29; + FUN_14002e6e0((int *)pppppiVar29); + local_320 = (wchar_t *)CONCAT71(local_320._1_7_,1); + FUN_140003240((longlong *)&local_2e8,puVar13,uVar19,param_4); + local_2e8 = local_448; + if (((local_448 != (int *****)PTR_DAT_140155010) && (local_448 != (int *****)0x0)) && + (local_448 != (int *****)0x8)) { + *(int *)((longlong)local_448 + -4) = *(int *)((longlong)local_448 + -4) + 1; + } + FUN_14002e770((longlong)pppppiVar29); + } + FUN_140030200(pppppiVar29,puVar13,uVar19,param_4); + local_2e0 = PTR_DAT_140155010; + iVar6 = FUN_140030080(L"PT_SERVER_OPTIONS"); + puVar13 = FUN_140002f90((longlong *)&local_2e0,iVar6); + FUN_1400300b0(puVar13,L"PT_SERVER_OPTIONS",iVar6); + FUN_140003070((longlong *)&local_2e0); + (**(code **)(*param_1 + 0x28))(param_1,0x85fe,&local_2e0,&local_2e8); + local_468 = local_448; + if (local_448 == (int *****)0x0) { + local_468 = (int *****)PTR_DAT_140155010; + } + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PT_SERVER_OPTIONS"; + uVar15 = 0x85fe; + uVar19 = (ulonglong)uVar3; + (**(code **)(*plVar17 + 0x70))(); + pppppiVar29 = local_448; + if (((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) && + (pppppiVar14 = local_448 + -1, pppppiVar14 != (int *****)0x0)) { + pppppiVar12 = (int *****)FUN_140030200(plVar17,uVar19,uVar15,pwVar27); + local_328 = pppppiVar12; + FUN_14002e6e0((int *)pppppiVar12); + local_320 = (wchar_t *)CONCAT71(local_320._1_7_,1); + piVar2 = (int *)((longlong)pppppiVar29 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(pppppiVar14); + } + FUN_14002e770((longlong)pppppiVar12); + } +LAB_14001e2b8: + pppppiVar29 = pppppiVar18; + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_3d8 = (ulonglong *)CONCAT44(local_3d8._4_4_,0x85fe); + local_3d0 = L"PT_SERVER_OPTIONS"; + local_3c8 = CONCAT44(local_3c8._4_4_,uVar3); + local_3c0 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_3d8); + DVar7 = GetTickCount(); + pppppiVar29 = (int *****)(ulonglong)DVar7; + } + } + } + local_468 = (int *****)&local_428; + pppppiVar18 = (int *****)(**(code **)(*param_1 + 0x40))(param_1,uVar3,puVar28,local_430); + if ((char)pppppiVar18 == '\0') { + pppppiVar18 = (int *****) + (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],L"PT_SERVER_OPTIONS"); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_3d8 = (ulonglong *)CONCAT44(local_3d8._4_4_,0x85fe); + local_3d0 = L"PT_SERVER_OPTIONS"; + local_3c8 = CONCAT44(local_3c8._4_4_,uVar3); + local_3c0 = param_3; + DVar7 = GetTickCount(); + local_3b8 = DVar7 - (int)pppppiVar29; + pppppiVar18 = (int *****)(**(code **)(*param_1 + 0x18))(param_1,&local_3d8); + } + if (local_428 != (ulonglong *)0x0) { + FUN_140006a60(local_428,(ulonglong *)local_420); + operator_delete(local_428); + pppppiVar18 = extraout_RAX_02; + } + goto LAB_140021038; + case 0x85ff: + FUN_14003b570(puVar28); + local_384 = param_2[10]; + local_388[0] = (undefined1)param_2[0x10]; + FUN_140080600(param_2,(undefined8 *)(local_440 + 4),4); + FUN_140080600(param_2,(undefined8 *)(local_440 + 4),4); + uVar9 = 4; + puVar24 = (undefined8 *)(local_440 + 4); + uVar15 = FUN_140080600(param_2,puVar24,4); + if ((char)uVar15 != '\0') { + local_430[0] = local_440._4_4_; + } + FUN_140030200((ulonglong)local_430[0],puVar24,uVar9,param_4); + local_3f0 = (int *****)PTR_DAT_140155010; + thunk_FUN_140081740(param_2,(longlong *)&local_3f0,uVar9,param_4); + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PT_SERVER_NOTICE"; + (**(code **)(*plVar17 + 0x48))(); + DVar7 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_468 = (int *****)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x85ff,L"PT_SERVER_NOTICE"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar17,param_2,pwVar27,param_4); + local_448 = (int *****)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009da40((longlong *)&local_448,(longlong *)&local_3f0); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + DVar8 = DVar7; + if ((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) { + DVar8 = *(DWORD *)(local_448 + -1); + } + uVar19 = (ulonglong)(DVar8 - 2); + local_400 = (undefined ******) + FUN_14001ac70((longlong *)&local_448,(longlong *)&local_238,DVar8 - 2); + pppppiVar18 = local_448; + if (local_448 == (int *****)0x0) { + pppppiVar18 = (int *****)PTR_DAT_140155010; + } + local_448 = pppppiVar18; + if ((int *****)*local_400 != pppppiVar18) { + pppppiVar18 = (int *****)FUN_140030200(pppppiVar18,PTR_DAT_140155010,uVar19,param_4); + local_328 = pppppiVar18; + FUN_14002e6e0((int *)pppppiVar18); + pppppiVar29 = local_448; + local_320 = (wchar_t *)CONCAT71(local_320._1_7_,1); + if (((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) && + (pppppiVar14 = local_448 + -1, pppppiVar14 != (int *****)0x0)) { + pppppiVar12 = (int *****)FUN_140030200(local_448,PTR_DAT_140155010,uVar19,param_4); + local_3a8 = pppppiVar12; + FUN_14002e6e0((int *)pppppiVar12); + local_3a0 = (ulonglong *)CONCAT71(local_3a0._1_7_,1); + piVar2 = (int *)((longlong)pppppiVar29 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(pppppiVar14); + } + FUN_14002e770((longlong)pppppiVar12); + } + local_448 = (int *****)*local_400; + if (((local_448 != (int *****)PTR_DAT_140155010) && (local_448 != (int *****)0x0)) && + (local_448 != (int *****)0x8)) { + *(int *)((longlong)local_448 + -4) = *(int *)((longlong)local_448 + -4) + 1; + } + FUN_14002e770((longlong)pppppiVar18); + } + if (((local_238 != (undefined *)0x0) && (local_238 != PTR_DAT_140155010)) && + (local_238 + -8 != (undefined *)0x0)) { + pppppiVar18 = (int *****)FUN_140030200(pppppiVar18,PTR_DAT_140155010,uVar19,param_4); + local_3a8 = pppppiVar18; + FUN_14002e6e0((int *)pppppiVar18); + local_3a0 = (ulonglong *)CONCAT71(local_3a0._1_7_,1); + piVar2 = (int *)(local_238 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(local_238 + -8); + } + FUN_14002e770((longlong)pppppiVar18); + } + local_400 = (undefined ******)&local_300; + puVar13 = PTR_DAT_140155010; + local_238 = PTR_DAT_140155010; + FUN_140030200(pppppiVar18,PTR_DAT_140155010,uVar19,param_4); + local_300 = (int *****)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_300 = (int *****)0x0; + } + if (local_448 != (int *****)PTR_DAT_140155010) { + pppppiVar18 = (int *****)FUN_140030200(pppppiVar18,puVar13,uVar19,param_4); + local_3a8 = pppppiVar18; + FUN_14002e6e0((int *)pppppiVar18); + local_3a0 = (ulonglong *)CONCAT71(local_3a0._1_7_,1); + FUN_140003240((longlong *)&local_300,puVar13,uVar19,param_4); + local_300 = local_448; + if (((local_448 != (int *****)PTR_DAT_140155010) && (local_448 != (int *****)0x0)) && + (local_448 != (int *****)0x8)) { + *(int *)((longlong)local_448 + -4) = *(int *)((longlong)local_448 + -4) + 1; + } + FUN_14002e770((longlong)pppppiVar18); + } + FUN_140030200(pppppiVar18,puVar13,uVar19,param_4); + local_278 = PTR_DAT_140155010; + iVar6 = FUN_140030080(L"PT_SERVER_NOTICE"); + puVar13 = FUN_140002f90((longlong *)&local_278,iVar6); + FUN_1400300b0(puVar13,L"PT_SERVER_NOTICE",iVar6); + FUN_140003070((longlong *)&local_278); + (**(code **)(*param_1 + 0x28))(param_1,0x85ff,&local_278,&local_300); + local_468 = local_448; + if (local_448 == (int *****)0x0) { + local_468 = (int *****)PTR_DAT_140155010; + } + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PT_SERVER_NOTICE"; + uVar15 = 0x85ff; + uVar19 = (ulonglong)uVar3; + (**(code **)(*plVar17 + 0x70))(); + pppppiVar18 = local_448; + if (((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) && + (pppppiVar29 = local_448 + -1, pppppiVar29 != (int *****)0x0)) { + pppppiVar14 = (int *****)FUN_140030200(plVar17,uVar19,uVar15,pwVar27); + local_3a8 = pppppiVar14; + FUN_14002e6e0((int *)pppppiVar14); + local_3a0 = (ulonglong *)CONCAT71(local_3a0._1_7_,1); + piVar2 = (int *)((longlong)pppppiVar18 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(pppppiVar29); + } + FUN_14002e770((longlong)pppppiVar14); + } + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x85ff); + local_420 = L"PT_SERVER_NOTICE"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_428); + DVar7 = GetTickCount(); + } + local_458 = (int *****)&local_3f0; + local_460 = (int ******)local_430; + local_468 = (int *****)local_438; + puVar20 = local_440; + pwVar27 = (wchar_t *)(ulonglong)uVar3; + plVar17 = param_1; + cVar5 = (**(code **)(*param_1 + 0x48))(); + if (cVar5 == '\0') { + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PT_SERVER_NOTICE"; + (**(code **)(*plVar17 + 0x40))(); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x85ff); + local_420 = L"PT_SERVER_NOTICE"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + DVar8 = GetTickCount(); + local_408 = DVar8 - DVar7; + pwVar27 = (wchar_t *)&local_428; + (**(code **)(*param_1 + 0x18))(); + plVar17 = param_1; + } + pppppiVar18 = local_3f0; + if (((local_3f0 != (int *****)0x0) && (local_3f0 != (int *****)PTR_DAT_140155010)) && + (pppppiVar29 = local_3f0 + -1, pppppiVar29 != (int *****)0x0)) { + pppppuVar11 = (undefined *****)FUN_140030200(plVar17,pwVar27,puVar28,puVar20); + local_3a8 = (int *****)pppppuVar11; + FUN_14002e6e0((int *)pppppuVar11); + local_3a0 = (ulonglong *)CONCAT71(local_3a0._1_7_,1); + piVar2 = (int *)((longlong)pppppiVar18 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(pppppiVar29); + } + pppppiVar18 = (int *****)FUN_14002e770((longlong)pppppuVar11); + } + goto LAB_140021038; + case 0x8600: + FUN_14003b570(puVar28); + local_384 = param_2[10]; + local_388[0] = (undefined1)param_2[0x10]; + FUN_140080600(param_2,(undefined8 *)(local_440 + 4),4); + FUN_140080600(param_2,(undefined8 *)(local_440 + 4),4); + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PT_SERVER_COMMAND"; + (**(code **)(*plVar17 + 0x48))(); + DVar7 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_468 = (int *****)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x8600,L"PT_SERVER_COMMAND"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar17,param_2,pwVar27,param_4); + local_448 = (int *****)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + iVar6 = 0; + if ((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_448 + -1); + } + uVar19 = (ulonglong)(iVar6 - 2U); + local_400 = (undefined ******) + FUN_14001ac70((longlong *)&local_448,(longlong *)&local_240,iVar6 - 2U); + pppppiVar18 = local_448; + if (local_448 == (int *****)0x0) { + pppppiVar18 = (int *****)PTR_DAT_140155010; + } + local_448 = pppppiVar18; + if ((int *****)*local_400 != pppppiVar18) { + pppppiVar18 = (int *****)FUN_140030200(pppppiVar18,PTR_DAT_140155010,uVar19,param_4); + local_3a8 = pppppiVar18; + FUN_14002e6e0((int *)pppppiVar18); + pppppiVar29 = local_448; + local_3a0 = (ulonglong *)CONCAT71(local_3a0._1_7_,1); + if (((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) && + (pppppiVar14 = local_448 + -1, pppppiVar14 != (int *****)0x0)) { + pppppiVar12 = (int *****)FUN_140030200(local_448,PTR_DAT_140155010,uVar19,param_4); + local_328 = pppppiVar12; + FUN_14002e6e0((int *)pppppiVar12); + local_320 = (wchar_t *)CONCAT71(local_320._1_7_,1); + piVar2 = (int *)((longlong)pppppiVar29 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(pppppiVar14); + } + FUN_14002e770((longlong)pppppiVar12); + } + local_448 = (int *****)*local_400; + if (((local_448 != (int *****)PTR_DAT_140155010) && (local_448 != (int *****)0x0)) && + (local_448 != (int *****)0x8)) { + *(int *)((longlong)local_448 + -4) = *(int *)((longlong)local_448 + -4) + 1; + } + FUN_14002e770((longlong)pppppiVar18); + } + if (((local_240 != (undefined *)0x0) && (local_240 != PTR_DAT_140155010)) && + (local_240 + -8 != (undefined *)0x0)) { + pppppiVar18 = (int *****)FUN_140030200(pppppiVar18,PTR_DAT_140155010,uVar19,param_4); + local_3a8 = pppppiVar18; + FUN_14002e6e0((int *)pppppiVar18); + local_3a0 = (ulonglong *)CONCAT71(local_3a0._1_7_,1); + piVar2 = (int *)(local_240 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(local_240 + -8); + } + FUN_14002e770((longlong)pppppiVar18); + } + local_400 = (undefined ******)&local_2f8; + puVar13 = PTR_DAT_140155010; + local_240 = PTR_DAT_140155010; + FUN_140030200(pppppiVar18,PTR_DAT_140155010,uVar19,param_4); + local_2f8 = (int *****)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_2f8 = (int *****)0x0; + } + if (local_448 != (int *****)PTR_DAT_140155010) { + pppppiVar18 = (int *****)FUN_140030200(pppppiVar18,puVar13,uVar19,param_4); + local_3a8 = pppppiVar18; + FUN_14002e6e0((int *)pppppiVar18); + local_3a0 = (ulonglong *)CONCAT71(local_3a0._1_7_,1); + FUN_140003240((longlong *)&local_2f8,puVar13,uVar19,param_4); + local_2f8 = local_448; + if (((local_448 != (int *****)PTR_DAT_140155010) && (local_448 != (int *****)0x0)) && + (local_448 != (int *****)0x8)) { + *(int *)((longlong)local_448 + -4) = *(int *)((longlong)local_448 + -4) + 1; + } + FUN_14002e770((longlong)pppppiVar18); + } + FUN_140030200(pppppiVar18,puVar13,uVar19,param_4); + local_268 = PTR_DAT_140155010; + iVar6 = FUN_140030080(L"PT_SERVER_COMMAND"); + puVar13 = FUN_140002f90((longlong *)&local_268,iVar6); + FUN_1400300b0(puVar13,L"PT_SERVER_COMMAND",iVar6); + FUN_140003070((longlong *)&local_268); + (**(code **)(*param_1 + 0x28))(param_1,0x8600,&local_268,&local_2f8); + local_468 = local_448; + if (local_448 == (int *****)0x0) { + local_468 = (int *****)PTR_DAT_140155010; + } + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PT_SERVER_COMMAND"; + uVar15 = 0x8600; + uVar19 = (ulonglong)uVar3; + (**(code **)(*plVar17 + 0x70))(); + pppppiVar18 = local_448; + if (((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) && + (pppppiVar29 = local_448 + -1, pppppiVar29 != (int *****)0x0)) { + pppppiVar14 = (int *****)FUN_140030200(plVar17,uVar19,uVar15,pwVar27); + local_3a8 = pppppiVar14; + FUN_14002e6e0((int *)pppppiVar14); + local_3a0 = (ulonglong *)CONCAT71(local_3a0._1_7_,1); + piVar2 = (int *)((longlong)pppppiVar18 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(pppppiVar29); + } + FUN_14002e770((longlong)pppppiVar14); + } + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8600); + local_420 = L"PT_SERVER_COMMAND"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_428); + DVar7 = GetTickCount(); + } + local_468 = (int *****)local_440; + pppppiVar18 = (int *****)(**(code **)(*param_1 + 0x50))(param_1,uVar3,puVar28,local_438); + if ((char)pppppiVar18 == '\0') { + pppppiVar18 = (int *****) + (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],L"PT_SERVER_COMMAND"); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_140021038; + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8600); + local_420 = L"PT_SERVER_COMMAND"; + goto LAB_14001ecfe; + case 0x8601: + FUN_14003b570(puVar28); + local_384 = param_2[10]; + local_388[0] = (undefined1)param_2[0x10]; + FUN_140080600(param_2,(undefined8 *)(local_440 + 4),4); + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PT_SERVER_CONNECT"; + (**(code **)(*plVar17 + 0x48))(); + DVar7 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_468 = (int *****)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x8601,L"PT_SERVER_CONNECT"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar17,param_2,pwVar27,param_4); + local_448 = (int *****)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + iVar6 = 0; + if ((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_448 + -1); + } + uVar19 = (ulonglong)(iVar6 - 2U); + plVar16 = FUN_14001ac70((longlong *)&local_448,&local_1d0,iVar6 - 2U); + FUN_140003170((longlong *)&local_448,plVar16,uVar19,param_4); + plVar17 = &local_1d0; + FUN_140003240(plVar17,plVar16,uVar19,param_4); + local_400 = &local_258; + FUN_140030200(plVar17,plVar16,uVar19,param_4); + local_258 = (undefined *****)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_258,(longlong *)&local_448,uVar19,param_4); + plVar17 = FUN_1400030f0(&local_1a8,L"PT_SERVER_CONNECT",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x8601,plVar17,&local_258); + local_468 = local_448; + if (local_448 == (int *****)0x0) { + local_468 = (int *****)PTR_DAT_140155010; + } + pwVar27 = L"PT_SERVER_CONNECT"; + uVar15 = 0x8601; + uVar19 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_448,uVar19,uVar15,pwVar27); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8601); + local_420 = L"PT_SERVER_CONNECT"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_428); + DVar7 = GetTickCount(); + } + pppppiVar18 = (int *****)(**(code **)(*param_1 + 0x58))(param_1,uVar3,puVar28,local_440); + if ((char)pppppiVar18 == '\0') { + pppppiVar18 = (int *****) + (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],L"PT_SERVER_CONNECT"); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_140021038; + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8601); + local_420 = L"PT_SERVER_CONNECT"; + goto LAB_14001ecfe; + case 0x8602: + FUN_14003b570(puVar28); + local_384 = param_2[10]; + local_388[0] = (undefined1)param_2[0x10]; + DVar8 = 0; + DVar7 = 0; + local_428 = (ulonglong *)0x0; + local_420 = (wchar_t *)0x0; + local_418 = 0; + FUN_140021160(param_2,(longlong *)&local_428,uVar15,param_4); + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PT_REFRESH_SERVER_FILE"; + (**(code **)(*plVar17 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_468 = (int *****)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x8602,L"PT_REFRESH_SERVER_FILE"); + goto LAB_14001f0eb; + } + } + else { + DVar7 = DVar8; + if ((char)param_1[3] == '\0') { + FUN_140030200(plVar17,param_2,pwVar27,param_4); + local_448 = (int *****)PTR_DAT_140155010; + FUN_140021280((longlong *)&local_448,(longlong *)&local_428,pwVar27,param_4); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + iVar6 = 0; + if ((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_448 + -1); + } + uVar19 = (ulonglong)(iVar6 - 2U); + plVar16 = FUN_14001ac70((longlong *)&local_448,&local_208,iVar6 - 2U); + FUN_140003170((longlong *)&local_448,plVar16,uVar19,param_4); + plVar17 = &local_208; + FUN_140003240(plVar17,plVar16,uVar19,param_4); + local_400 = &local_2d0; + FUN_140030200(plVar17,plVar16,uVar19,param_4); + local_2d0 = (undefined *****)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_2d0,(longlong *)&local_448,uVar19,param_4); + plVar17 = FUN_1400030f0(&local_198,L"PT_REFRESH_SERVER_FILE",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x8602,plVar17,&local_2d0); + local_468 = local_448; + if (local_448 == (int *****)0x0) { + local_468 = (int *****)PTR_DAT_140155010; + } + pwVar27 = L"PT_REFRESH_SERVER_FILE"; + uVar15 = 0x8602; + uVar19 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_448,uVar19,uVar15,pwVar27); +LAB_14001f0eb: + DVar7 = DVar8; + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_3d8 = (ulonglong *)CONCAT44(local_3d8._4_4_,0x8602); + local_3d0 = L"PT_REFRESH_SERVER_FILE"; + local_3c8 = CONCAT44(local_3c8._4_4_,uVar3); + local_3c0 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_3d8); + DVar7 = GetTickCount(); + } + } + } + cVar5 = (**(code **)(*param_1 + 0x60))(param_1,uVar3,puVar28,&local_428); + if (cVar5 == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],L"PT_REFRESH_SERVER_FILE"); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_3d8 = (ulonglong *)CONCAT44(local_3d8._4_4_,0x8602); + local_3d0 = L"PT_REFRESH_SERVER_FILE"; + local_3c8 = CONCAT44(local_3c8._4_4_,uVar3); + local_3c0 = param_3; + DVar8 = GetTickCount(); + local_3b8 = DVar8 - DVar7; + (**(code **)(*param_1 + 0x18))(param_1,&local_3d8); + } + pppppiVar18 = (int *****)FUN_14000e7d0((longlong *)&local_428); + goto LAB_140021038; + case 0x8603: + FUN_14003b570(puVar28); + local_384 = param_2[10]; + local_388[0] = (undefined1)param_2[0x10]; + DVar8 = 0; + DVar7 = 0; + local_3d8 = (ulonglong *)0x0; + local_3d0 = (wchar_t *)0x0; + local_3c8 = 0; + FUN_14001acf0(param_2,(ulonglong *)&local_3d8,uVar15,param_4); + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PT_REFRESH_SERVER_OPTION"; + (**(code **)(*plVar17 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_468 = (int *****)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x8603,L"PT_REFRESH_SERVER_OPTION"); + goto LAB_14001f325; + } + } + else { + DVar7 = DVar8; + if ((char)param_1[3] == '\0') { + FUN_140030200(plVar17,param_2,pwVar27,param_4); + local_448 = (int *****)PTR_DAT_140155010; + FUN_14001af50((longlong *)&local_448,(longlong *)&local_3d8,pwVar27,param_4); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + iVar6 = 0; + if ((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_448 + -1); + } + uVar19 = (ulonglong)(iVar6 - 2U); + plVar16 = FUN_14001ac70((longlong *)&local_448,&local_210,iVar6 - 2U); + FUN_140003170((longlong *)&local_448,plVar16,uVar19,param_4); + plVar17 = &local_210; + FUN_140003240(plVar17,plVar16,uVar19,param_4); + local_400 = &local_290; + FUN_140030200(plVar17,plVar16,uVar19,param_4); + local_290 = (undefined *****)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_290,(longlong *)&local_448,uVar19,param_4); + plVar17 = FUN_1400030f0(&local_188,L"PT_REFRESH_SERVER_OPTION",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x8603,plVar17,&local_290); + local_468 = local_448; + if (local_448 == (int *****)0x0) { + local_468 = (int *****)PTR_DAT_140155010; + } + pwVar27 = L"PT_REFRESH_SERVER_OPTION"; + uVar15 = 0x8603; + uVar19 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_448,uVar19,uVar15,pwVar27); +LAB_14001f325: + DVar7 = DVar8; + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8603); + local_420 = L"PT_REFRESH_SERVER_OPTION"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_428); + DVar7 = GetTickCount(); + } + } + } + pppppiVar18 = (int *****)(**(code **)(*param_1 + 0x68))(param_1,uVar3,puVar28,&local_3d8); + if ((char)pppppiVar18 == '\0') { + pppppiVar18 = (int *****) + (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],L"PT_REFRESH_SERVER_OPTION"); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8603); + local_420 = L"PT_REFRESH_SERVER_OPTION"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + DVar8 = GetTickCount(); + local_408 = DVar8 - DVar7; + pppppiVar18 = (int *****)(**(code **)(*param_1 + 0x18))(param_1,&local_428); + } + if (local_3d8 != (ulonglong *)0x0) { + std::_Container_base0::_Orphan_all((_Container_base0 *)&local_3d8); + FUN_140006a60(local_3d8,(ulonglong *)local_3d0); + operator_delete(local_3d8); + pppppiVar18 = extraout_RAX_03; + } + goto LAB_140021038; + case 0x8604: + FUN_14003b570(puVar28); + local_384 = param_2[10]; + local_388[0] = (undefined1)param_2[0x10]; + FUN_140080600(param_2,(undefined8 *)(local_440 + 4),4); + FUN_140080600(param_2,&local_3e0,1); + FUN_140080600(param_2,(undefined8 *)local_3f8,1); + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PT_CHANNEL_STATUS_CHANGE"; + (**(code **)(*plVar17 + 0x48))(); + DVar7 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_468 = (int *****)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x8604,L"PT_CHANNEL_STATUS_CHANGE"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar17,param_2,pwVar27,param_4); + local_448 = (int *****)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009d780((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009d780((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + iVar6 = 0; + if ((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_448 + -1); + } + uVar19 = (ulonglong)(iVar6 - 2U); + plVar16 = FUN_14001ac70((longlong *)&local_448,&local_200,iVar6 - 2U); + FUN_140003170((longlong *)&local_448,plVar16,uVar19,param_4); + plVar17 = &local_200; + FUN_140003240(plVar17,plVar16,uVar19,param_4); + local_400 = &local_2c0; + FUN_140030200(plVar17,plVar16,uVar19,param_4); + local_2c0 = (undefined *****)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_2c0,(longlong *)&local_448,uVar19,param_4); + plVar17 = FUN_1400030f0(&local_1c8,L"PT_CHANNEL_STATUS_CHANGE",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x8604,plVar17,&local_2c0); + local_468 = local_448; + if (local_448 == (int *****)0x0) { + local_468 = (int *****)PTR_DAT_140155010; + } + pwVar27 = L"PT_CHANNEL_STATUS_CHANGE"; + uVar15 = 0x8604; + uVar19 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_448,uVar19,uVar15,pwVar27); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8604); + local_420 = L"PT_CHANNEL_STATUS_CHANGE"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_428); + DVar7 = GetTickCount(); + } + local_460 = (int ******)(local_3f8 + 1); + local_468 = (int *****)(local_438 + 4); + pppppiVar18 = (int *****)(**(code **)(*param_1 + 0x70))(param_1,uVar3,puVar28,local_440); + if ((char)pppppiVar18 == '\0') { + pppppiVar18 = (int *****) + (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],L"PT_CHANNEL_STATUS_CHANGE"); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_140021038; + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8604); + local_420 = L"PT_CHANNEL_STATUS_CHANGE"; + goto LAB_14001ecfe; + case 0x8605: + FUN_14003b570(puVar28); + local_384 = param_2[10]; + local_388[0] = (undefined1)param_2[0x10]; + uVar9 = 4; + puVar24 = (undefined8 *)(local_440 + 4); + uVar15 = FUN_140080600(param_2,puVar24,4); + if ((char)uVar15 != '\0') { + local_440._0_4_ = local_440._4_4_; + } + FUN_140030200((ulonglong)(uint)local_440._0_4_,puVar24,uVar9,param_4); + local_3f0 = (int *****)PTR_DAT_140155010; + thunk_FUN_140081740(param_2,(longlong *)&local_3f0,uVar9,param_4); + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PT_USER_KICK"; + (**(code **)(*plVar17 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_468 = (int *****)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x8605,L"PT_USER_KICK"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar17,param_2,pwVar27,param_4); + local_448 = (int *****)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009da40((longlong *)&local_448,(longlong *)&local_3f0); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + iVar6 = 0; + if ((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_448 + -1); + } + uVar19 = (ulonglong)(iVar6 - 2U); + plVar16 = FUN_14001ac70((longlong *)&local_448,&local_1f0,iVar6 - 2U); + FUN_140003170((longlong *)&local_448,plVar16,uVar19,param_4); + plVar17 = &local_1f0; + FUN_140003240(plVar17,plVar16,uVar19,param_4); + local_400 = &local_270; + FUN_140030200(plVar17,plVar16,uVar19,param_4); + local_270 = (undefined *****)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_270,(longlong *)&local_448,uVar19,param_4); + plVar17 = FUN_1400030f0(&local_168,L"PT_USER_KICK",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x8605,plVar17,&local_270); + local_468 = local_448; + if (local_448 == (int *****)0x0) { + local_468 = (int *****)PTR_DAT_140155010; + } + pwVar27 = L"PT_USER_KICK"; + uVar15 = 0x8605; + uVar19 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_448,uVar19,uVar15,pwVar27); + } + DVar7 = 0; + if (((char)param_1[3] == '\0') && (DVar7 = 0, *(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8605); + local_420 = L"PT_USER_KICK"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_428); + DVar7 = GetTickCount(); + } + local_468 = (int *****)&local_3f0; + pppppiVar18 = (int *****)local_440; + pwVar27 = (wchar_t *)(ulonglong)uVar3; + cVar5 = (**(code **)(*param_1 + 0x78))(param_1); + if (cVar5 == '\0') { + pwVar27 = L"PT_USER_KICK"; + (**(code **)(*(longlong *)param_1[2] + 0x40))(); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8605); + local_420 = L"PT_USER_KICK"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + DVar8 = GetTickCount(); + local_408 = DVar8 - DVar7; + pwVar27 = (wchar_t *)&local_428; + (**(code **)(*param_1 + 0x18))(param_1); + } + ppppppiVar21 = &local_3f0; + break; + case 0x8606: + FUN_14003b570(puVar28); + local_384 = param_2[10]; + local_388[0] = (undefined1)param_2[0x10]; + FUN_140080600(param_2,(undefined8 *)(local_440 + 4),4); + FUN_140080600(param_2,(undefined8 *)local_430,4); + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PT_CURRENT_USER_COUNT"; + (**(code **)(*plVar17 + 0x48))(); + DVar7 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_468 = (int *****)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x8606,L"PT_CURRENT_USER_COUNT"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar17,param_2,pwVar27,param_4); + local_448 = (int *****)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + iVar6 = 0; + if ((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_448 + -1); + } + uVar19 = (ulonglong)(iVar6 - 2U); + plVar16 = FUN_14001ac70((longlong *)&local_448,&local_1e0,iVar6 - 2U); + FUN_140003170((longlong *)&local_448,plVar16,uVar19,param_4); + plVar17 = &local_1e0; + FUN_140003240(plVar17,plVar16,uVar19,param_4); + local_400 = &local_2b0; + FUN_140030200(plVar17,plVar16,uVar19,param_4); + local_2b0 = (undefined *****)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_2b0,(longlong *)&local_448,uVar19,param_4); + plVar17 = FUN_1400030f0(local_180 + 2,L"PT_CURRENT_USER_COUNT",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x8606,plVar17,&local_2b0); + local_468 = local_448; + if (local_448 == (int *****)0x0) { + local_468 = (int *****)PTR_DAT_140155010; + } + pwVar27 = L"PT_CURRENT_USER_COUNT"; + uVar15 = 0x8606; + uVar19 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_448,uVar19,uVar15,pwVar27); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8606); + local_420 = L"PT_CURRENT_USER_COUNT"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_428); + DVar7 = GetTickCount(); + } + local_468 = (int *****)local_440; + pppppiVar18 = (int *****)(**(code **)(*param_1 + 0x80))(param_1,uVar3,puVar28,local_438); + if ((char)pppppiVar18 == '\0') { + pppppiVar18 = (int *****) + (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],L"PT_CURRENT_USER_COUNT"); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_140021038; + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8606); + local_420 = L"PT_CURRENT_USER_COUNT"; + goto LAB_14001ecfe; + case 0x8607: + puVar20 = puVar28; + FUN_14003b570(puVar28); + local_384 = param_2[10]; + local_388[0] = (undefined1)param_2[0x10]; + FUN_140030200(puVar20,pIVar22,uVar15,param_4); + local_3f0 = (int *****)PTR_DAT_140155010; + thunk_FUN_140081740(param_2,(longlong *)&local_3f0,uVar15,param_4); + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PT_STRING_COMMAND"; + (**(code **)(*plVar17 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_468 = (int *****)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x8607,L"PT_STRING_COMMAND"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar17,param_2,pwVar27,param_4); + local_448 = (int *****)PTR_DAT_140155010; + FUN_14009da40((longlong *)&local_448,(longlong *)&local_3f0); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + iVar6 = 0; + if ((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_448 + -1); + } + uVar19 = (ulonglong)(iVar6 - 2U); + plVar16 = FUN_14001ac70((longlong *)&local_448,&local_1f8,iVar6 - 2U); + FUN_140003170((longlong *)&local_448,plVar16,uVar19,param_4); + plVar17 = &local_1f8; + FUN_140003240(plVar17,plVar16,uVar19,param_4); + local_400 = &local_280; + FUN_140030200(plVar17,plVar16,uVar19,param_4); + local_280 = (undefined *****)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_280,(longlong *)&local_448,uVar19,param_4); + plVar17 = FUN_1400030f0(&local_1b0,L"PT_STRING_COMMAND",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x8607,plVar17,&local_280); + local_468 = local_448; + if (local_448 == (int *****)0x0) { + local_468 = (int *****)PTR_DAT_140155010; + } + pwVar27 = L"PT_STRING_COMMAND"; + uVar15 = 0x8607; + uVar19 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_448,uVar19,uVar15,pwVar27); + } + DVar7 = 0; + if (((char)param_1[3] == '\0') && (DVar7 = 0, *(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8607); + local_420 = L"PT_STRING_COMMAND"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_428); + DVar7 = GetTickCount(); + } + pppppiVar18 = (int *****)&local_3f0; + pwVar27 = (wchar_t *)(ulonglong)uVar3; + cVar5 = (**(code **)(*param_1 + 0x88))(param_1); + if (cVar5 == '\0') { + pwVar27 = L"PT_STRING_COMMAND"; + (**(code **)(*(longlong *)param_1[2] + 0x40))(); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8607); + local_420 = L"PT_STRING_COMMAND"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + DVar8 = GetTickCount(); + local_408 = DVar8 - DVar7; + pwVar27 = (wchar_t *)&local_428; + (**(code **)(*param_1 + 0x18))(param_1); + } + ppppppiVar21 = &local_3f0; + break; + case 0x8608: + FUN_14003b570(puVar28); + local_384 = param_2[10]; + local_388[0] = (undefined1)param_2[0x10]; + FUN_140080600(param_2,(undefined8 *)local_3f8,1); + FUN_140080600(param_2,(undefined8 *)(local_440 + 4),4); + DVar7 = 0; + local_160[1] = 0; + uVar15 = 0x100; + memset(local_150,0,0x100); + FUN_1400218f0(param_2,(undefined4 *)(local_160 + 1),uVar15,param_4); + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PT_REAL_TIME_EVENT"; + (**(code **)(*plVar17 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_468 = (int *****)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x8608,L"PT_REAL_TIME_EVENT"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar17,param_2,pwVar27,param_4); + local_448 = (int *****)PTR_DAT_140155010; + FUN_14009d760((longlong *)&local_448,local_438 + 4); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_140021840((longlong *)&local_448,(longlong)(local_160 + 1),pwVar27,param_4); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + DVar8 = DVar7; + if ((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) { + DVar8 = *(DWORD *)(local_448 + -1); + } + uVar19 = (ulonglong)(DVar8 - 2); + plVar16 = FUN_14001ac70((longlong *)&local_448,&local_218,DVar8 - 2); + FUN_140003170((longlong *)&local_448,plVar16,uVar19,param_4); + plVar17 = &local_218; + FUN_140003240(plVar17,plVar16,uVar19,param_4); + local_400 = &local_2a0; + FUN_140030200(plVar17,plVar16,uVar19,param_4); + local_2a0 = (undefined *****)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_2a0,(longlong *)&local_448,uVar19,param_4); + plVar17 = FUN_1400030f0(local_180,L"PT_REAL_TIME_EVENT",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x8608,plVar17,&local_2a0); + local_468 = local_448; + if (local_448 == (int *****)0x0) { + local_468 = (int *****)PTR_DAT_140155010; + } + pwVar27 = L"PT_REAL_TIME_EVENT"; + uVar15 = 0x8608; + uVar19 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_448,uVar19,uVar15,pwVar27); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8608); + local_420 = L"PT_REAL_TIME_EVENT"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_428); + DVar7 = GetTickCount(); + } + local_460 = (int ******)(local_160 + 1); + local_468 = (int *****)local_440; + pppppiVar18 = (int *****)(**(code **)(*param_1 + 0x90))(param_1,uVar3,puVar28,local_438 + 4); + if ((char)pppppiVar18 == '\0') { + pppppiVar18 = (int *****) + (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],L"PT_REAL_TIME_EVENT"); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_140021038; + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8608); + local_420 = L"PT_REAL_TIME_EVENT"; +LAB_14001ecfe: + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + DVar8 = GetTickCount(); + local_408 = DVar8 - DVar7; + pppppiVar18 = (int *****)(**(code **)(*param_1 + 0x18))(param_1,&local_428); + goto LAB_140021038; + case 0x8609: + FUN_14003b570(puVar28); + local_384 = param_2[10]; + local_388[0] = (undefined1)param_2[0x10]; + uVar15 = FUN_140080600(param_2,(undefined8 *)(local_440 + 4),4); + if ((char)uVar15 != '\0') { + local_438._0_4_ = local_440._4_4_; + } + uVar9 = 4; + pppppuVar11 = (undefined *****)local_430; + uVar15 = FUN_140080600(param_2,pppppuVar11,4); + if ((char)uVar15 != '\0') { + local_440._0_4_ = local_430[0]; + } + FUN_140030200((ulonglong)(uint)local_440._0_4_,pppppuVar11,uVar9,param_4); + local_3f0 = (int *****)PTR_DAT_140155010; + thunk_FUN_140081740(param_2,(longlong *)&local_3f0,uVar9,param_4); + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PWE_REQ_PLAYER_KICK"; + (**(code **)(*plVar17 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_468 = (int *****)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x8609,L"PWE_REQ_PLAYER_KICK"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar17,param_2,pwVar27,param_4); + local_448 = (int *****)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009da40((longlong *)&local_448,(longlong *)&local_3f0); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + iVar6 = 0; + if ((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_448 + -1); + } + uVar19 = (ulonglong)(iVar6 - 2U); + plVar16 = FUN_14001ac70((longlong *)&local_448,&local_1d8,iVar6 - 2U); + FUN_140003170((longlong *)&local_448,plVar16,uVar19,param_4); + plVar17 = &local_1d8; + FUN_140003240(plVar17,plVar16,uVar19,param_4); + local_400 = &local_260; + FUN_140030200(plVar17,plVar16,uVar19,param_4); + local_260 = (undefined *****)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_260,(longlong *)&local_448,uVar19,param_4); + plVar17 = FUN_1400030f0(&local_1a0,L"PWE_REQ_PLAYER_KICK",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x8609,plVar17,&local_260); + local_468 = local_448; + if (local_448 == (int *****)0x0) { + local_468 = (int *****)PTR_DAT_140155010; + } + pwVar27 = L"PWE_REQ_PLAYER_KICK"; + uVar15 = 0x8609; + uVar19 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_448,uVar19,uVar15,pwVar27); + } + DVar7 = 0; + if (((char)param_1[3] == '\0') && (DVar7 = 0, *(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8609); + local_420 = L"PWE_REQ_PLAYER_KICK"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_428); + DVar7 = GetTickCount(); + } + local_460 = &local_3f0; + local_468 = (int *****)local_440; + pppppiVar18 = (int *****)local_438; + pwVar27 = (wchar_t *)(ulonglong)uVar3; + cVar5 = (**(code **)(*param_1 + 0x98))(param_1); + if (cVar5 == '\0') { + pwVar27 = L"PWE_REQ_PLAYER_KICK"; + (**(code **)(*(longlong *)param_1[2] + 0x40))(); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x8609); + local_420 = L"PWE_REQ_PLAYER_KICK"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + DVar8 = GetTickCount(); + local_408 = DVar8 - DVar7; + pwVar27 = (wchar_t *)&local_428; + (**(code **)(*param_1 + 0x18))(param_1); + } + ppppppiVar21 = &local_3f0; + break; + case 0x860a: + FUN_14003b570(puVar28); + local_384 = param_2[10]; + local_388[0] = (undefined1)param_2[0x10]; + uVar15 = FUN_140080600(param_2,(undefined8 *)(local_440 + 4),4); + if ((char)uVar15 != '\0') { + local_438._0_4_ = local_440._4_4_; + } + uVar9 = 4; + pppppuVar11 = (undefined *****)local_430; + uVar15 = FUN_140080600(param_2,pppppuVar11,4); + if ((char)uVar15 != '\0') { + local_440._0_4_ = local_430[0]; + } + FUN_140030200((ulonglong)(uint)local_440._0_4_,pppppuVar11,uVar9,param_4); + local_3f0 = (int *****)PTR_DAT_140155010; + thunk_FUN_140081740(param_2,(longlong *)&local_3f0,uVar9,param_4); + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PWE_REQ_PLAYER_BAN"; + (**(code **)(*plVar17 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_468 = (int *****)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x860a,L"PWE_REQ_PLAYER_BAN"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar17,param_2,pwVar27,param_4); + local_448 = (int *****)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009da40((longlong *)&local_448,(longlong *)&local_3f0); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + iVar6 = 0; + if ((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_448 + -1); + } + uVar19 = (ulonglong)(iVar6 - 2U); + plVar16 = FUN_14001ac70((longlong *)&local_448,&local_230,iVar6 - 2U); + FUN_140003170((longlong *)&local_448,plVar16,uVar19,param_4); + plVar17 = &local_230; + FUN_140003240(plVar17,plVar16,uVar19,param_4); + local_400 = &local_2d8; + FUN_140030200(plVar17,plVar16,uVar19,param_4); + local_2d8 = (undefined *****)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_2d8,(longlong *)&local_448,uVar19,param_4); + plVar17 = FUN_1400030f0(local_160,L"PWE_REQ_PLAYER_BAN",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x860a,plVar17,&local_2d8); + local_468 = local_448; + if (local_448 == (int *****)0x0) { + local_468 = (int *****)PTR_DAT_140155010; + } + pwVar27 = L"PWE_REQ_PLAYER_BAN"; + uVar15 = 0x860a; + uVar19 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_448,uVar19,uVar15,pwVar27); + } + DVar7 = 0; + if (((char)param_1[3] == '\0') && (DVar7 = 0, *(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x860a); + local_420 = L"PWE_REQ_PLAYER_BAN"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_428); + DVar7 = GetTickCount(); + } + local_460 = &local_3f0; + local_468 = (int *****)local_440; + pppppiVar18 = (int *****)local_438; + pwVar27 = (wchar_t *)(ulonglong)uVar3; + cVar5 = (**(code **)(*param_1 + 0xa0))(param_1); + if (cVar5 == '\0') { + pwVar27 = L"PWE_REQ_PLAYER_BAN"; + (**(code **)(*(longlong *)param_1[2] + 0x40))(); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x860a); + local_420 = L"PWE_REQ_PLAYER_BAN"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + DVar8 = GetTickCount(); + local_408 = DVar8 - DVar7; + pwVar27 = (wchar_t *)&local_428; + (**(code **)(*param_1 + 0x18))(param_1); + } + ppppppiVar21 = &local_3f0; + break; + case 0x860b: + FUN_14003b570(puVar28); + local_384 = param_2[10]; + local_388[0] = (undefined1)param_2[0x10]; + uVar15 = FUN_140080600(param_2,(undefined8 *)(local_440 + 4),4); + if ((char)uVar15 != '\0') { + local_438._0_4_ = local_440._4_4_; + } + uVar9 = 4; + pppppuVar11 = (undefined *****)local_430; + uVar15 = FUN_140080600(param_2,pppppuVar11,4); + if ((char)uVar15 != '\0') { + local_440._0_4_ = local_430[0]; + } + FUN_140030200((ulonglong)(uint)local_440._0_4_,pppppuVar11,uVar9,param_4); + local_3f0 = (int *****)PTR_DAT_140155010; + thunk_FUN_140081740(param_2,(longlong *)&local_3f0,uVar9,param_4); + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PWE_REQ_UPDATE_CASH"; + (**(code **)(*plVar17 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_468 = (int *****)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x860b,L"PWE_REQ_UPDATE_CASH"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar17,param_2,pwVar27,param_4); + local_448 = (int *****)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009da40((longlong *)&local_448,(longlong *)&local_3f0); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + iVar6 = 0; + if ((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_448 + -1); + } + uVar19 = (ulonglong)(iVar6 - 2U); + plVar16 = FUN_14001ac70((longlong *)&local_448,&local_1e8,iVar6 - 2U); + FUN_140003170((longlong *)&local_448,plVar16,uVar19,param_4); + plVar17 = &local_1e8; + FUN_140003240(plVar17,plVar16,uVar19,param_4); + local_400 = &local_2c8; + FUN_140030200(plVar17,plVar16,uVar19,param_4); + local_2c8 = (undefined *****)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_2c8,(longlong *)&local_448,uVar19,param_4); + plVar17 = FUN_1400030f0(&local_190,L"PWE_REQ_UPDATE_CASH",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x860b,plVar17,&local_2c8); + local_468 = local_448; + if (local_448 == (int *****)0x0) { + local_468 = (int *****)PTR_DAT_140155010; + } + pwVar27 = L"PWE_REQ_UPDATE_CASH"; + uVar15 = 0x860b; + uVar19 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_448,uVar19,uVar15,pwVar27); + } + DVar7 = 0; + if (((char)param_1[3] == '\0') && (DVar7 = 0, *(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x860b); + local_420 = L"PWE_REQ_UPDATE_CASH"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_428); + DVar7 = GetTickCount(); + } + local_460 = &local_3f0; + local_468 = (int *****)local_440; + pppppiVar18 = (int *****)local_438; + pwVar27 = (wchar_t *)(ulonglong)uVar3; + cVar5 = (**(code **)(*param_1 + 0xa8))(param_1); + if (cVar5 == '\0') { + pwVar27 = L"PWE_REQ_UPDATE_CASH"; + (**(code **)(*(longlong *)param_1[2] + 0x40))(); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x860b); + local_420 = L"PWE_REQ_UPDATE_CASH"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + DVar8 = GetTickCount(); + local_408 = DVar8 - DVar7; + pwVar27 = (wchar_t *)&local_428; + (**(code **)(*param_1 + 0x18))(param_1); + } + ppppppiVar21 = &local_3f0; + break; + case 0x860c: + FUN_14003b570(puVar28); + local_384 = param_2[10]; + local_388[0] = (undefined1)param_2[0x10]; + FUN_140080600(param_2,(undefined8 *)&local_3ac,4); + uVar9 = 4; + puVar25 = &local_3b0; + uVar15 = FUN_140080600(param_2,(undefined8 *)puVar25,4); + if ((char)uVar15 != '\0') { + local_430[0] = local_3b0; + } + FUN_140030200((ulonglong)local_430[0],puVar25,uVar9,param_4); + local_400 = (undefined ******)PTR_DAT_140155010; + thunk_FUN_140081740(param_2,(longlong *)&local_400,uVar9,param_4); + uVar15 = FUN_140080600(param_2,&local_3f0,4); + if ((char)uVar15 != '\0') { + local_438._0_4_ = (uint)local_3f0; + } + uVar15 = FUN_140080600(param_2,&local_448,4); + if ((char)uVar15 != '\0') { + local_440._0_4_ = (uint)local_448; + } + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PWE_REQ_INSERT_ITEM"; + (**(code **)(*plVar17 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_468 = (int *****)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x860c,L"PWE_REQ_INSERT_ITEM"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar17,param_2,pwVar27,param_4); + local_448 = (int *****)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009da40((longlong *)&local_448,(longlong *)&local_400); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + iVar6 = 0; + if ((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_448 + -1); + } + uVar19 = (ulonglong)(iVar6 - 2U); + plVar16 = FUN_14001ac70((longlong *)&local_448,&local_228,iVar6 - 2U); + FUN_140003170((longlong *)&local_448,plVar16,uVar19,param_4); + plVar17 = &local_228; + FUN_140003240(plVar17,plVar16,uVar19,param_4); + local_3f0 = &local_2b8; + FUN_140030200(plVar17,plVar16,uVar19,param_4); + local_2b8 = (int ****)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_2b8,(longlong *)&local_448,uVar19,param_4); + plVar17 = FUN_1400030f0(&local_1c0,L"PWE_REQ_INSERT_ITEM",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x860c,plVar17,&local_2b8); + local_468 = local_448; + if (local_448 == (int *****)0x0) { + local_468 = (int *****)PTR_DAT_140155010; + } + pwVar27 = L"PWE_REQ_INSERT_ITEM"; + uVar15 = 0x860c; + uVar19 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_448,uVar19,uVar15,pwVar27); + } + DVar7 = 0; + if (((char)param_1[3] == '\0') && (DVar7 = 0, *(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x860c); + local_420 = L"PWE_REQ_INSERT_ITEM"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_428); + DVar7 = GetTickCount(); + } + local_450 = (int ******)local_440; + local_458 = (int *****)local_438; + local_460 = (int ******)&local_400; + local_468 = (int *****)local_430; + pppppiVar18 = (int *****)(local_440 + 4); + pwVar27 = (wchar_t *)(ulonglong)uVar3; + cVar5 = (**(code **)(*param_1 + 0xb0))(param_1); + if (cVar5 == '\0') { + pwVar27 = L"PWE_REQ_INSERT_ITEM"; + (**(code **)(*(longlong *)param_1[2] + 0x40))(); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x860c); + local_420 = L"PWE_REQ_INSERT_ITEM"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + DVar8 = GetTickCount(); + local_408 = DVar8 - DVar7; + pwVar27 = (wchar_t *)&local_428; + (**(code **)(*param_1 + 0x18))(param_1); + } + goto LAB_14002102f; + case 0x860d: + FUN_14003b570(puVar28); + local_384 = param_2[10]; + local_388[0] = (undefined1)param_2[0x10]; + uVar15 = FUN_140080600(param_2,&local_448,4); + if ((char)uVar15 != '\0') { + local_430[0] = (uint)local_448; + } + uVar15 = FUN_140080600(param_2,&local_3f0,4); + if ((char)uVar15 != '\0') { + local_438._0_4_ = (uint)local_3f0; + } + uVar15 = FUN_140080600(param_2,(undefined8 *)&local_3b0,4); + if ((char)uVar15 != '\0') { + local_440._0_4_ = local_3b0; + } + uVar9 = 4; + puVar25 = &local_3ac; + uVar15 = FUN_140080600(param_2,(undefined8 *)puVar25,4); + if ((char)uVar15 != '\0') { + local_440._4_4_ = local_3ac; + } + FUN_140030200((ulonglong)(uint)local_440._4_4_,puVar25,uVar9,param_4); + local_400 = (undefined ******)PTR_DAT_140155010; + thunk_FUN_140081740(param_2,(longlong *)&local_400,uVar9,param_4); + plVar17 = (longlong *)param_1[2]; + pwVar27 = L"PWE_REQ_NOTICE"; + (**(code **)(*plVar17 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_468 = (int *****)&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0x860d,L"PWE_REQ_NOTICE"); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar17,param_2,pwVar27,param_4); + local_448 = (int *****)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009d840((longlong *)&local_448); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + FUN_14009da40((longlong *)&local_448,(longlong *)&local_400); + FUN_14001b850((longlong *)&local_448,(short *)&DAT_14011eebc); + iVar6 = 0; + if ((local_448 != (int *****)0x0) && (local_448 != (int *****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_448 + -1); + } + uVar19 = (ulonglong)(iVar6 - 2U); + plVar16 = FUN_14001ac70((longlong *)&local_448,&local_220,iVar6 - 2U); + FUN_140003170((longlong *)&local_448,plVar16,uVar19,param_4); + plVar17 = &local_220; + FUN_140003240(plVar17,plVar16,uVar19,param_4); + local_3f0 = &local_2a8; + FUN_140030200(plVar17,plVar16,uVar19,param_4); + local_2a8 = (int ****)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_2a8,(longlong *)&local_448,uVar19,param_4); + plVar17 = FUN_1400030f0(&local_1b8,L"PWE_REQ_NOTICE",0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0x860d,plVar17,&local_2a8); + local_468 = local_448; + if (local_448 == (int *****)0x0) { + local_468 = (int *****)PTR_DAT_140155010; + } + pwVar27 = L"PWE_REQ_NOTICE"; + uVar15 = 0x860d; + uVar19 = (ulonglong)uVar3; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_448,uVar19,uVar15,pwVar27); + } + DVar7 = 0; + if (((char)param_1[3] == '\0') && (DVar7 = 0, *(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x860d); + local_420 = L"PWE_REQ_NOTICE"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_428); + DVar7 = GetTickCount(); + } + local_450 = (int ******)&local_400; + local_458 = (int *****)(local_440 + 4); + local_460 = (int ******)local_440; + local_468 = (int *****)local_438; + pppppiVar18 = (int *****)local_430; + pwVar27 = (wchar_t *)(ulonglong)uVar3; + cVar5 = (**(code **)(*param_1 + 0xb8))(param_1); + if (cVar5 == '\0') { + pwVar27 = L"PWE_REQ_NOTICE"; + (**(code **)(*(longlong *)param_1[2] + 0x40))(); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_428 = (ulonglong *)CONCAT44(local_428._4_4_,0x860d); + local_420 = L"PWE_REQ_NOTICE"; + local_418 = CONCAT44(local_418._4_4_,uVar3); + local_410 = param_3; + DVar8 = GetTickCount(); + local_408 = DVar8 - DVar7; + pwVar27 = (wchar_t *)&local_428; + (**(code **)(*param_1 + 0x18))(param_1); + } +LAB_14002102f: + ppppppiVar21 = (int ******)&local_400; + break; + default: + goto switchD_14001da04_default; + } + pppppiVar18 = (int *****)FUN_140003240((longlong *)ppppppiVar21,pwVar27,puVar28,pppppiVar18); +LAB_140021038: + return CONCAT71((int7)((ulonglong)pppppiVar18 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400210c0.c b/decomp/Agent_Release_x64/full/functions/0x1400210c0.c new file mode 100644 index 00000000..2871b813 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400210c0.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400210c0 std::bad_alloc::`scalar_deleting_destructor' + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: virtual void * __ptr64 __cdecl std::bad_alloc::`scalar deleting destructor'(unsigned + int) __ptr64 + + Libraries: Visual Studio 2012 Release, Visual Studio 2015 Release */ + +void * __thiscall std::bad_alloc::_scalar_deleting_destructor_(bad_alloc *this,uint param_1) + +{ + *(undefined ***)this = RNP::Agent2AgentManagerProxy::vftable; + FUN_140081fe0((undefined8 *)this); + if ((param_1 & 1) != 0) { + operator_delete(this); + } + return this; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140021100.c b/decomp/Agent_Release_x64/full/functions/0x140021100.c new file mode 100644 index 00000000..0ae9fb9e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140021100.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140021100 FUN_140021100 + * Pseudocode, not original source. */ + +void FUN_140021100(undefined8 *param_1) + +{ + *param_1 = RNP::Agent2AgentManagerProxy::vftable; + FUN_140081fe0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140021110.c b/decomp/Agent_Release_x64/full/functions/0x140021110.c new file mode 100644 index 00000000..cb67cf2d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140021110.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140021110 std::bad_alloc::`scalar_deleting_destructor' + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: virtual void * __ptr64 __cdecl std::bad_alloc::`scalar deleting destructor'(unsigned + int) __ptr64 + + Libraries: Visual Studio 2012 Release, Visual Studio 2015 Release */ + +void * __thiscall std::bad_alloc::_scalar_deleting_destructor_(bad_alloc *this,uint param_1) + +{ + *(undefined ***)this = RNP::AgentManager2AgentStub::vftable; + FUN_140085260((undefined8 *)this); + if ((param_1 & 1) != 0) { + operator_delete(this); + } + return this; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140021150.c b/decomp/Agent_Release_x64/full/functions/0x140021150.c new file mode 100644 index 00000000..6e346495 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140021150.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140021150 FUN_140021150 + * Pseudocode, not original source. */ + +void FUN_140021150(undefined8 *param_1) + +{ + *param_1 = RNP::AgentManager2AgentStub::vftable; + FUN_140085260(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140021160.c b/decomp/Agent_Release_x64/full/functions/0x140021160.c new file mode 100644 index 00000000..b4a4d1f8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140021160.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140021160 FUN_140021160 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +uint * FUN_140021160(uint *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + uint *puVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined1 *puVar5; + undefined1 *puVar6; + undefined1 auStack_88 [32]; + uint local_68 [2]; + undefined8 local_60; + undefined1 local_58 [8]; + undefined2 local_50; + undefined6 uStack_4e; + undefined8 local_40; + ulonglong local_38; + ulonglong local_28; + + local_60 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_88; + uVar4 = 4; + puVar2 = local_68; + FUN_140080600(param_1,(undefined8 *)puVar2,4); + uVar3 = (ulonglong)local_68[0]; + if (((int)local_68[0] < 0) || (DAT_140155140 <= (int)local_68[0])) { + FUN_14009d5d0(local_68[0],puVar2,uVar4,param_4); + } + FUN_140021350(param_2,(longlong)(int)local_68[0]); + puVar6 = (undefined1 *)param_2[1]; + puVar5 = (undefined1 *)*param_2; + lVar1 = (longlong)puVar6 - (longlong)puVar5 >> 0x3f; + if (((longlong)puVar6 - (longlong)puVar5) / 0x30 + lVar1 != lVar1) { + FUN_140021560((longlong)param_2,(undefined8 *)local_68,puVar5,puVar6); + } + if (0 < (int)local_68[0]) { + do { + local_38 = 7; + local_40 = 0; + local_50 = 0; + FUN_140021750(param_1,local_58,puVar5,puVar6); + FUN_140021450(param_2,local_58); + if (7 < local_38) { + operator_delete((void *)CONCAT62(uStack_4e,local_50)); + } + uVar3 = uVar3 - 1; + } while (uVar3 != 0); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140021280.c b/decomp/Agent_Release_x64/full/functions/0x140021280.c new file mode 100644 index 00000000..f40b46bd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140021280.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140021280 FUN_140021280 + * Pseudocode, not original source. */ + +void FUN_140021280(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *puVar1; + int *piVar2; + undefined *puVar3; + int *piVar4; + undefined **ppuVar5; + longlong lVar6; + undefined *local_res10 [3]; + + FUN_140030200(param_1,param_2,param_3,param_4); + local_res10[0] = PTR_DAT_140155010; + lVar6 = (param_2[1] - *param_2) / 0x30; + FUN_14001b7a0((longlong *)local_res10,L"",lVar6,param_4); + ppuVar5 = local_res10; + FUN_14001b5a0(param_1,(longlong *)ppuVar5); + puVar3 = local_res10[0]; + if (((local_res10[0] != (undefined *)0x0) && (local_res10[0] != PTR_DAT_140155010)) && + (puVar1 = local_res10[0] + -8, puVar1 != (undefined *)0x0)) { + piVar4 = (int *)FUN_140030200(param_1,ppuVar5,lVar6,param_4); + FUN_14002e6e0(piVar4); + piVar2 = (int *)(puVar3 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)piVar4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140021350.c b/decomp/Agent_Release_x64/full/functions/0x140021350.c new file mode 100644 index 00000000..448782dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140021350.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140021350 FUN_140021350 + * Pseudocode, not original source. */ + +void FUN_140021350(longlong *param_1,ulonglong param_2) + +{ + ulonglong *puVar1; + code *pcVar2; + undefined1 *puVar3; + longlong lVar4; + + if (0x555555555555555 < param_2) { + std::_Xlength_error("vector too long"); + pcVar2 = (code *)swi(3); + (*pcVar2)(); + return; + } + if ((ulonglong)((param_1[2] - *param_1) / 0x30) < param_2) { + puVar3 = FUN_14000e8d0(param_2); + FUN_14002ab60((undefined1 *)*param_1,(undefined1 *)param_1[1],puVar3); + puVar1 = (ulonglong *)*param_1; + lVar4 = param_1[1] - (longlong)puVar1; + lVar4 = lVar4 / 6 + (lVar4 >> 0x3f); + if (puVar1 != (ulonglong *)0x0) { + FUN_14000e870(puVar1,(ulonglong *)param_1[1]); + operator_delete((void *)*param_1); + } + param_1[2] = (longlong)(puVar3 + param_2 * 0x30); + param_1[1] = (longlong)(puVar3 + ((lVar4 >> 3) - (lVar4 >> 0x3f)) * 0x30); + *param_1 = (longlong)puVar3; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140021450.c b/decomp/Agent_Release_x64/full/functions/0x140021450.c new file mode 100644 index 00000000..33945968 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140021450.c @@ -0,0 +1,45 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140021450 FUN_140021450 + * Pseudocode, not original source. */ + +void FUN_140021450(longlong *param_1,undefined1 *param_2) + +{ + undefined1 *puVar1; + undefined1 *puVar2; + longlong lVar3; + + puVar1 = (undefined1 *)param_1[1]; + if ((param_2 < puVar1) && ((undefined1 *)*param_1 <= param_2)) { + lVar3 = (longlong)param_2 - *param_1; + lVar3 = lVar3 / 6 + (lVar3 >> 0x3f); + if (puVar1 == (undefined1 *)param_1[2]) { + FUN_140021620(param_1,1); + } + puVar2 = (undefined1 *)(((lVar3 >> 3) - (lVar3 >> 0x3f)) * 0x30 + *param_1); + puVar1 = (undefined1 *)param_1[1]; + if (puVar1 != (undefined1 *)0x0) { + *puVar1 = *puVar2; + *(undefined8 *)(puVar1 + 0x20) = 7; + *(undefined8 *)(puVar1 + 0x18) = 0; + *(undefined2 *)(puVar1 + 8) = 0; + FUN_140001600((longlong *)(puVar1 + 8),(longlong *)(puVar2 + 8),0,0xffffffffffffffff); + } + } + else { + if (puVar1 == (undefined1 *)param_1[2]) { + FUN_140021620(param_1,1); + } + puVar1 = (undefined1 *)param_1[1]; + if (puVar1 != (undefined1 *)0x0) { + *puVar1 = *param_2; + *(undefined8 *)(puVar1 + 0x20) = 7; + *(undefined8 *)(puVar1 + 0x18) = 0; + *(undefined2 *)(puVar1 + 8) = 0; + FUN_140001600((longlong *)(puVar1 + 8),(longlong *)(param_2 + 8),0,0xffffffffffffffff); + } + } + param_1[1] = param_1[1] + 0x30; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140021560.c b/decomp/Agent_Release_x64/full/functions/0x140021560.c new file mode 100644 index 00000000..76b7c367 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140021560.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140021560 FUN_140021560 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140021560(longlong param_1,undefined8 *param_2,undefined1 *param_3,undefined1 *param_4) + +{ + ulonglong *puVar1; + ulonglong *puVar2; + ulonglong *puVar3; + ulonglong *puVar4; + + if (param_3 == param_4) { + *param_2 = param_3; + return param_2; + } + puVar3 = (ulonglong *)FUN_1400216d0(param_4,*(undefined1 **)(param_1 + 8),param_3); + puVar2 = *(ulonglong **)(param_1 + 8); + if (puVar3 != puVar2) { + puVar4 = puVar3 + 4; + do { + if (7 < *puVar4) { + operator_delete((void *)puVar4[-3]); + } + *puVar4 = 7; + puVar4[-1] = 0; + *(undefined2 *)(puVar4 + -3) = 0; + puVar1 = puVar4 + 2; + puVar4 = puVar4 + 6; + } while (puVar1 != puVar2); + } + *(ulonglong **)(param_1 + 8) = puVar3; + *param_2 = param_3; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140021620.c b/decomp/Agent_Release_x64/full/functions/0x140021620.c new file mode 100644 index 00000000..5d7491f3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140021620.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140021620 FUN_140021620 + * Pseudocode, not original source. */ + +void FUN_140021620(longlong *param_1,longlong param_2) + +{ + code *pcVar1; + longlong lVar2; + ulonglong uVar3; + ulonglong uVar4; + + lVar2 = (param_1[1] - *param_1) / 6 + (param_1[1] - *param_1 >> 0x3f); + uVar4 = (lVar2 >> 3) - (lVar2 >> 0x3f); + if (0x555555555555555U - param_2 < uVar4) { + std::_Xlength_error("vector too long"); + pcVar1 = (code *)swi(3); + (*pcVar1)(); + return; + } + uVar4 = uVar4 + param_2; + uVar3 = (param_1[2] - *param_1) / 0x30; + if (uVar3 < uVar4) { + if (0x555555555555555 - (uVar3 >> 1) < uVar3) { + uVar3 = 0; + } + else { + uVar3 = uVar3 + (uVar3 >> 1); + } + if (uVar3 < uVar4) { + uVar3 = uVar4; + } + FUN_140021350(param_1,uVar3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400216d0.c b/decomp/Agent_Release_x64/full/functions/0x1400216d0.c new file mode 100644 index 00000000..ec52b4ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400216d0.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400216d0 FUN_1400216d0 + * Pseudocode, not original source. */ + +undefined1 * FUN_1400216d0(undefined1 *param_1,undefined1 *param_2,undefined1 *param_3) + +{ + undefined1 *puVar1; + undefined1 *puVar2; + + puVar1 = param_3; + if (param_1 != param_2) { + puVar2 = param_1; + do { + *puVar1 = *puVar2; + FUN_140001600((longlong *)(puVar2 + (longlong)(param_3 + (8 - (longlong)param_1))), + (longlong *) + ((longlong)(puVar2 + (longlong)(param_3 + (8 - (longlong)param_1))) + + ((longlong)param_1 - (longlong)param_3)),0,0xffffffffffffffff); + puVar2 = puVar2 + 0x30; + puVar1 = puVar1 + 0x30; + } while (puVar2 != param_2); + } + return puVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140021750.c b/decomp/Agent_Release_x64/full/functions/0x140021750.c new file mode 100644 index 00000000..eeadf3e1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140021750.c @@ -0,0 +1,62 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140021750 FUN_140021750 + * Pseudocode, not original source. */ + +uint * FUN_140021750(uint *param_1,undefined1 *param_2,undefined8 param_3,undefined8 param_4) + +{ + short *psVar1; + int *piVar2; + short sVar3; + undefined8 uVar4; + int *piVar5; + uint *puVar6; + ulonglong uVar7; + ulonglong *puVar8; + undefined8 *puVar9; + short *psVar10; + short *psVar11; + undefined8 uVar12; + undefined1 local_res8 [8]; + short *local_res10; + + uVar12 = 1; + puVar9 = (undefined8 *)local_res8; + puVar6 = param_1; + uVar4 = FUN_140080600(param_1,puVar9,1); + if ((char)uVar4 != '\0') { + *param_2 = local_res8[0]; + } + FUN_140030200(puVar6,puVar9,uVar12,param_4); + local_res10 = (short *)PTR_DAT_140155010; + thunk_FUN_140081740(param_1,(longlong *)&local_res10,uVar12,param_4); + psVar10 = local_res10; + if (local_res10 == (short *)0x0) { + psVar10 = (short *)PTR_DAT_140155010; + } + uVar7 = 0xffffffffffffffff; + psVar11 = psVar10; + do { + if (uVar7 == 0) break; + uVar7 = uVar7 - 1; + sVar3 = *psVar11; + psVar11 = psVar11 + 1; + } while (sVar3 != 0); + uVar7 = ~uVar7 - 1; + puVar8 = (ulonglong *)(param_2 + 8); + FUN_1400016e0(puVar8,psVar10,uVar7); + psVar11 = local_res10; + if (((local_res10 != (short *)0x0) && (local_res10 != (short *)PTR_DAT_140155010)) && + (psVar1 = local_res10 + -4, psVar1 != (short *)0x0)) { + piVar5 = (int *)FUN_140030200(puVar8,psVar10,uVar7,param_4); + FUN_14002e6e0(piVar5); + piVar2 = (int *)(psVar11 + -2); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(psVar1); + } + FUN_14002e770((longlong)piVar5); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140021840.c b/decomp/Agent_Release_x64/full/functions/0x140021840.c new file mode 100644 index 00000000..fe9976ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140021840.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140021840 FUN_140021840 + * Pseudocode, not original source. */ + +void FUN_140021840(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *puVar1; + int *piVar2; + undefined *puVar3; + int *piVar4; + undefined **ppuVar5; + longlong lVar6; + undefined *local_res10 [3]; + + FUN_140030200(param_1,param_2,param_3,param_4); + local_res10[0] = PTR_DAT_140155010; + lVar6 = param_2 + 8; + FUN_14001b7a0((longlong *)local_res10,L"{ %s }",lVar6,param_4); + ppuVar5 = local_res10; + FUN_14001b5a0(param_1,(longlong *)ppuVar5); + puVar3 = local_res10[0]; + if (((local_res10[0] != (undefined *)0x0) && (local_res10[0] != PTR_DAT_140155010)) && + (puVar1 = local_res10[0] + -8, puVar1 != (undefined *)0x0)) { + piVar4 = (int *)FUN_140030200(param_1,ppuVar5,lVar6,param_4); + FUN_14002e6e0(piVar4); + piVar2 = (int *)(puVar3 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)piVar4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400218f0.c b/decomp/Agent_Release_x64/full/functions/0x1400218f0.c new file mode 100644 index 00000000..9cd7d206 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400218f0.c @@ -0,0 +1,55 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400218f0 FUN_1400218f0 + * Pseudocode, not original source. */ + +uint * FUN_1400218f0(uint *param_1,undefined4 *param_2,undefined8 param_3,undefined8 param_4) + +{ + wchar_t *pwVar1; + wchar_t *pwVar2; + undefined8 uVar3; + int *piVar4; + uint *puVar5; + wchar_t *_Dst; + undefined8 *puVar6; + undefined8 uVar7; + wchar_t *_Src; + undefined4 local_res8 [2]; + wchar_t *local_res10; + + uVar3 = FUN_140080600(param_1,(undefined8 *)local_res8,4); + if ((char)uVar3 != '\0') { + *param_2 = local_res8[0]; + } + uVar7 = 4; + puVar6 = (undefined8 *)local_res8; + puVar5 = param_1; + uVar3 = FUN_140080600(param_1,puVar6,4); + if ((char)uVar3 != '\0') { + param_2[1] = local_res8[0]; + } + FUN_140030200(puVar5,puVar6,uVar7,param_4); + local_res10 = (wchar_t *)PTR_DAT_140155010; + thunk_FUN_140081740(param_1,(longlong *)&local_res10,uVar7,param_4); + _Src = local_res10; + if (local_res10 == (wchar_t *)0x0) { + _Src = (wchar_t *)PTR_DAT_140155010; + } + _Dst = (wchar_t *)(param_2 + 2); + uVar3 = 0x80; + wcscpy_s(_Dst,0x80,_Src); + pwVar2 = local_res10; + if (((local_res10 != (wchar_t *)0x0) && (local_res10 != (wchar_t *)PTR_DAT_140155010)) && + (pwVar1 = local_res10 + -4, pwVar1 != (wchar_t *)0x0)) { + piVar4 = (int *)FUN_140030200(_Dst,uVar3,_Src,param_4); + FUN_14002e6e0(piVar4); + pwVar2 = pwVar2 + -2; + *(int *)pwVar2 = *(int *)pwVar2 + -1; + if (*(int *)pwVar2 == 0) { + FUN_1400302f0(pwVar1); + } + FUN_14002e770((longlong)piVar4); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400219f0.c b/decomp/Agent_Release_x64/full/functions/0x1400219f0.c new file mode 100644 index 00000000..64cfd3fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400219f0.c @@ -0,0 +1,153 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400219f0 FUN_1400219f0 + * Pseudocode, not original source. */ + +uint * FUN_1400219f0(uint *param_1,undefined4 *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + short sVar2; + undefined8 uVar3; + ulonglong *puVar4; + int *piVar5; + uint *puVar6; + ulonglong uVar7; + undefined8 *puVar8; + short *psVar9; + short *psVar10; + undefined8 uVar11; + undefined4 local_res8 [2]; + short *local_res10; + short *local_res18; + short *local_res20; + + uVar3 = FUN_140080600(param_1,(undefined8 *)local_res8,4); + if ((char)uVar3 != '\0') { + *param_2 = local_res8[0]; + } + uVar3 = FUN_140080600(param_1,(undefined8 *)local_res8,4); + if ((char)uVar3 != '\0') { + param_2[1] = local_res8[0]; + } + uVar3 = FUN_140080600(param_1,(undefined8 *)local_res8,4); + if ((char)uVar3 != '\0') { + param_2[2] = local_res8[0]; + } + uVar3 = FUN_140080600(param_1,(undefined8 *)local_res8,1); + if ((char)uVar3 != '\0') { + *(undefined1 *)(param_2 + 3) = (undefined1)local_res8[0]; + } + uVar3 = FUN_140080600(param_1,(undefined8 *)local_res8,4); + if ((char)uVar3 != '\0') { + param_2[4] = local_res8[0]; + } + uVar3 = FUN_140080600(param_1,(undefined8 *)local_res8,4); + if ((char)uVar3 != '\0') { + param_2[5] = local_res8[0]; + } + uVar3 = FUN_140080600(param_1,(undefined8 *)local_res8,4); + if ((char)uVar3 != '\0') { + param_2[6] = local_res8[0]; + } + uVar3 = FUN_140080600(param_1,(undefined8 *)local_res8,4); + if ((char)uVar3 != '\0') { + param_2[7] = local_res8[0]; + } + uVar11 = 1; + puVar8 = (undefined8 *)local_res8; + puVar6 = param_1; + uVar3 = FUN_140080600(param_1,puVar8,1); + if ((char)uVar3 != '\0') { + *(undefined1 *)(param_2 + 8) = (undefined1)local_res8[0]; + } + FUN_140030200(puVar6,puVar8,uVar11,param_4); + local_res20 = (short *)PTR_DAT_140155010; + FUN_140030200(puVar6,PTR_DAT_140155010,uVar11,param_4); + local_res18 = (short *)PTR_DAT_140155010; + FUN_140030200(puVar6,PTR_DAT_140155010,uVar11,param_4); + local_res10 = (short *)PTR_DAT_140155010; + thunk_FUN_140081740(param_1,(longlong *)&local_res20,uVar11,param_4); + thunk_FUN_140081740(param_1,(longlong *)&local_res18,uVar11,param_4); + thunk_FUN_140081740(param_1,(longlong *)&local_res10,uVar11,param_4); + psVar9 = local_res20; + if (local_res20 == (short *)0x0) { + psVar9 = (short *)PTR_DAT_140155010; + } + uVar7 = 0xffffffffffffffff; + psVar10 = psVar9; + do { + if (uVar7 == 0) break; + uVar7 = uVar7 - 1; + sVar2 = *psVar10; + psVar10 = psVar10 + 1; + } while (sVar2 != 0); + FUN_1400016e0((ulonglong *)(param_2 + 10),psVar9,~uVar7 - 1); + psVar9 = local_res18; + if (local_res18 == (short *)0x0) { + psVar9 = (short *)PTR_DAT_140155010; + } + uVar7 = 0xffffffffffffffff; + psVar10 = psVar9; + do { + if (uVar7 == 0) break; + uVar7 = uVar7 - 1; + sVar2 = *psVar10; + psVar10 = psVar10 + 1; + } while (sVar2 != 0); + FUN_1400016e0((ulonglong *)(param_2 + 0x14),psVar9,~uVar7 - 1); + psVar9 = local_res10; + if (local_res10 == (short *)0x0) { + psVar9 = (short *)PTR_DAT_140155010; + } + uVar7 = 0xffffffffffffffff; + psVar10 = psVar9; + do { + if (uVar7 == 0) break; + uVar7 = uVar7 - 1; + sVar2 = *psVar10; + psVar10 = psVar10 + 1; + } while (sVar2 != 0); + uVar7 = ~uVar7 - 1; + puVar4 = (ulonglong *)(param_2 + 0x1e); + FUN_1400016e0(puVar4,psVar9,uVar7); + psVar9 = local_res10; + if (((local_res10 != (short *)0x0) && (local_res10 != (short *)PTR_DAT_140155010)) && + (psVar10 = local_res10 + -4, psVar10 != (short *)0x0)) { + puVar4 = (ulonglong *)FUN_140030200(puVar4,PTR_DAT_140155010,uVar7,param_4); + FUN_14002e6e0((int *)puVar4); + piVar1 = (int *)(psVar9 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar10); + } + FUN_14002e770((longlong)puVar4); + } + psVar9 = local_res18; + local_res10 = (short *)PTR_DAT_140155010; + if (((local_res18 != (short *)0x0) && (local_res18 != (short *)PTR_DAT_140155010)) && + (psVar10 = local_res18 + -4, psVar10 != (short *)0x0)) { + puVar4 = (ulonglong *)FUN_140030200(puVar4,PTR_DAT_140155010,uVar7,param_4); + FUN_14002e6e0((int *)puVar4); + piVar1 = (int *)(psVar9 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar10); + } + FUN_14002e770((longlong)puVar4); + } + psVar9 = local_res20; + if (((local_res20 != (short *)0x0) && (local_res20 != (short *)PTR_DAT_140155010)) && + (psVar10 = local_res20 + -4, psVar10 != (short *)0x0)) { + local_res18 = (short *)PTR_DAT_140155010; + piVar5 = (int *)FUN_140030200(puVar4,PTR_DAT_140155010,uVar7,param_4); + FUN_14002e6e0(piVar5); + piVar1 = (int *)(psVar9 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar10); + } + FUN_14002e770((longlong)piVar5); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140021ce0.c b/decomp/Agent_Release_x64/full/functions/0x140021ce0.c new file mode 100644 index 00000000..9124f4e4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140021ce0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140021ce0 FUN_140021ce0 + * Pseudocode, not original source. */ + +uint * FUN_140021ce0(uint *param_1,undefined4 *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 uVar1; + undefined4 local_res8; + undefined4 uStackX_c; + + FUN_140081090(param_1,param_2,param_3,param_4); + uVar1 = FUN_140080600(param_1,(undefined8 *)&local_res8,4); + if ((char)uVar1 != '\0') { + param_2[1] = local_res8; + } + uVar1 = FUN_140080600(param_1,(undefined8 *)&local_res8,4); + if ((char)uVar1 != '\0') { + param_2[2] = local_res8; + } + uVar1 = FUN_140080600(param_1,(undefined8 *)&local_res8,8); + if ((char)uVar1 != '\0') { + *(ulonglong *)(param_2 + 4) = CONCAT44(uStackX_c,local_res8); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140021d70.c b/decomp/Agent_Release_x64/full/functions/0x140021d70.c new file mode 100644 index 00000000..f44ff35e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140021d70.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140021d70 FUN_140021d70 + * Pseudocode, not original source. */ + +uint * FUN_140021d70(uint *param_1,undefined4 *param_2) + +{ + undefined8 uVar1; + undefined4 local_res8; + undefined4 uStackX_c; + + uVar1 = FUN_140080600(param_1,(undefined8 *)&local_res8,4); + if ((char)uVar1 != '\0') { + *param_2 = local_res8; + } + uVar1 = FUN_140080600(param_1,(undefined8 *)&local_res8,4); + if ((char)uVar1 != '\0') { + param_2[1] = local_res8; + } + uVar1 = FUN_140080600(param_1,(undefined8 *)&local_res8,4); + if ((char)uVar1 != '\0') { + param_2[2] = local_res8; + } + uVar1 = FUN_140080600(param_1,(undefined8 *)&local_res8,4); + if ((char)uVar1 != '\0') { + param_2[6] = local_res8; + } + uVar1 = FUN_140080600(param_1,(undefined8 *)&local_res8,4); + if ((char)uVar1 != '\0') { + param_2[3] = local_res8; + } + uVar1 = FUN_140080600(param_1,(undefined8 *)&local_res8,1); + if ((char)uVar1 != '\0') { + *(undefined1 *)(param_2 + 7) = (undefined1)local_res8; + } + uVar1 = FUN_140080600(param_1,(undefined8 *)&local_res8,1); + if ((char)uVar1 != '\0') { + *(undefined1 *)((longlong)param_2 + 0x1d) = (undefined1)local_res8; + } + uVar1 = FUN_140080600(param_1,(undefined8 *)&local_res8,8); + if ((char)uVar1 != '\0') { + *(ulonglong *)(param_2 + 4) = CONCAT44(uStackX_c,local_res8); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140021e80.c b/decomp/Agent_Release_x64/full/functions/0x140021e80.c new file mode 100644 index 00000000..9de628d9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140021e80.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140021e80 FUN_140021e80 + * Pseudocode, not original source. */ + +void FUN_140021e80(longlong param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong lVar1; + int iVar2; + uint uVar3; + ulonglong uVar4; + longlong lVar5; + exception local_58 [80]; + + lVar5 = 0; + *(undefined4 *)(param_1 + 4) = 0; + lVar1 = *(longlong *)(param_1 + 8); + if (lVar1 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + } + else if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + iVar2 = *(int *)(lVar1 + 0x18); + uVar3 = iVar2 + 4; + uVar4 = (ulonglong)uVar3; + FUN_14001bc70(lVar1,uVar3,param_3); + if (*(int *)(lVar1 + 0x18) != 0) { + lVar5 = *(longlong *)(lVar1 + 0x10); + } + *(int *)(iVar2 + lVar5) = (int)param_2; + goto LAB_140021f38; + } + if (*(longlong *)(param_1 + 0x10) == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + uVar4 = (ulonglong)*(int *)(param_1 + 0x18); + iVar2 = *(int *)(param_1 + 0x18) + 4; + if ((iVar2 < 0) || (*(int *)(param_1 + 0x1c) < iVar2)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(int *)(param_1 + 0x18) = iVar2; + *(int *)(uVar4 + *(longlong *)(param_1 + 0x10)) = (int)param_2; +LAB_140021f38: + FUN_14001be00(param_1,uVar4,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140021f60.c b/decomp/Agent_Release_x64/full/functions/0x140021f60.c new file mode 100644 index 00000000..9b4ece29 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140021f60.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140021f60 FUN_140021f60 + * Pseudocode, not original source. */ + +undefined8 FUN_140021f60(uint *param_1,undefined4 *param_2) + +{ + undefined8 uVar1; + undefined4 local_res18 [4]; + + uVar1 = FUN_140080600(param_1,(undefined8 *)local_res18,4); + if ((char)uVar1 == '\0') { + return uVar1; + } + *param_2 = local_res18[0]; + return CONCAT71((uint7)(uint3)((uint)local_res18[0] >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140021fa0.c b/decomp/Agent_Release_x64/full/functions/0x140021fa0.c new file mode 100644 index 00000000..4a3ae9e1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140021fa0.c @@ -0,0 +1,60 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140021fa0 FUN_140021fa0 + * Pseudocode, not original source. */ + +void FUN_140021fa0(longlong param_1,undefined4 param_2,SIZE_T param_3,undefined8 param_4) + +{ + int iVar1; + longlong lVar2; + int iVar3; + uint uVar4; + undefined8 in_RDX; + longlong lVar6; + exception local_58 [80]; + ulonglong uVar5; + + lVar6 = 0; + *(undefined4 *)(param_1 + 4) = 0; + lVar2 = *(longlong *)(param_1 + 8); + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,in_RDX,param_3,param_4); + } + } + else if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,in_RDX,param_3,param_4); + } + iVar1 = *(int *)(lVar2 + 0x18); + uVar4 = iVar1 + 4; + uVar5 = (ulonglong)uVar4; + FUN_14001bc70(lVar2,uVar4,param_3); + if (*(int *)(lVar2 + 0x18) != 0) { + lVar6 = *(longlong *)(lVar2 + 0x10); + } + *(undefined4 *)(iVar1 + lVar6) = param_2; + goto LAB_140022061; + } + uVar5 = *(ulonglong *)(param_1 + 0x10); + if (uVar5 == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + iVar1 = *(int *)(param_1 + 0x18); + iVar3 = iVar1 + 4; + if ((iVar3 < 0) || (*(int *)(param_1 + 0x1c) < iVar3)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(int *)(param_1 + 0x18) = iVar3; + *(undefined4 *)((longlong)iVar1 + uVar5) = param_2; +LAB_140022061: + FUN_14001be00(param_1,uVar5,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140022080.c b/decomp/Agent_Release_x64/full/functions/0x140022080.c new file mode 100644 index 00000000..fd21f584 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140022080.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140022080 FUN_140022080 + * Pseudocode, not original source. */ + +undefined8 FUN_140022080(uint *param_1,undefined2 *param_2) + +{ + undefined8 uVar1; + undefined2 local_res18 [8]; + + uVar1 = FUN_140080600(param_1,(undefined8 *)local_res18,2); + if ((char)uVar1 == '\0') { + return uVar1; + } + *param_2 = local_res18[0]; + return CONCAT71((uint7)(byte)((ushort)local_res18[0] >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400220c0.c b/decomp/Agent_Release_x64/full/functions/0x1400220c0.c new file mode 100644 index 00000000..137f016d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400220c0.c @@ -0,0 +1,60 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400220c0 FUN_1400220c0 + * Pseudocode, not original source. */ + +void FUN_1400220c0(longlong param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + int iVar1; + longlong lVar2; + int iVar3; + uint uVar4; + undefined8 in_RDX; + longlong lVar6; + exception local_58 [80]; + ulonglong uVar5; + + lVar6 = 0; + *(undefined4 *)(param_1 + 4) = 0; + lVar2 = *(longlong *)(param_1 + 8); + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,in_RDX,param_3,param_4); + } + } + else if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,in_RDX,param_3,param_4); + } + iVar1 = *(int *)(lVar2 + 0x18); + uVar4 = iVar1 + 8; + uVar5 = (ulonglong)uVar4; + FUN_14001bc70(lVar2,uVar4,param_3); + if (*(int *)(lVar2 + 0x18) != 0) { + lVar6 = *(longlong *)(lVar2 + 0x10); + } + *(undefined8 *)(iVar1 + lVar6) = param_2; + goto LAB_140022185; + } + uVar5 = *(ulonglong *)(param_1 + 0x10); + if (uVar5 == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + iVar1 = *(int *)(param_1 + 0x18); + iVar3 = iVar1 + 8; + if ((iVar3 < 0) || (*(int *)(param_1 + 0x1c) < iVar3)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(int *)(param_1 + 0x18) = iVar3; + *(undefined8 *)((longlong)iVar1 + uVar5) = param_2; +LAB_140022185: + FUN_14001be00(param_1,uVar5,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400221b0.c b/decomp/Agent_Release_x64/full/functions/0x1400221b0.c new file mode 100644 index 00000000..d102273c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400221b0.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400221b0 FUN_1400221b0 + * Pseudocode, not original source. */ + +void FUN_1400221b0(longlong param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong lVar1; + int iVar2; + uint uVar3; + ulonglong uVar4; + longlong lVar5; + exception local_58 [80]; + + lVar5 = 0; + *(undefined4 *)(param_1 + 4) = 0; + lVar1 = *(longlong *)(param_1 + 8); + if (lVar1 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + } + else if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + iVar2 = *(int *)(lVar1 + 0x18); + uVar3 = iVar2 + 2; + uVar4 = (ulonglong)uVar3; + FUN_14001bc70(lVar1,uVar3,param_3); + if (*(int *)(lVar1 + 0x18) != 0) { + lVar5 = *(longlong *)(lVar1 + 0x10); + } + *(short *)(iVar2 + lVar5) = (short)param_2; + goto LAB_14002226b; + } + if (*(longlong *)(param_1 + 0x10) == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + uVar4 = (ulonglong)*(int *)(param_1 + 0x18); + iVar2 = *(int *)(param_1 + 0x18) + 2; + if ((iVar2 < 0) || (*(int *)(param_1 + 0x1c) < iVar2)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(int *)(param_1 + 0x18) = iVar2; + *(short *)(uVar4 + *(longlong *)(param_1 + 0x10)) = (short)param_2; +LAB_14002226b: + FUN_14001be00(param_1,uVar4,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140022290.c b/decomp/Agent_Release_x64/full/functions/0x140022290.c new file mode 100644 index 00000000..33e5ce63 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140022290.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140022290 FUN_140022290 + * Pseudocode, not original source. */ + +undefined8 FUN_140022290(uint *param_1,undefined8 *param_2) + +{ + undefined8 uVar1; + undefined8 local_res18 [2]; + + uVar1 = FUN_140080600(param_1,local_res18,8); + if ((char)uVar1 == '\0') { + return uVar1; + } + *param_2 = local_res18[0]; + return CONCAT71((int7)((ulonglong)uVar1 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400222d0.c b/decomp/Agent_Release_x64/full/functions/0x1400222d0.c new file mode 100644 index 00000000..99f9d039 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400222d0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400222d0 FUN_1400222d0 + * Pseudocode, not original source. */ + +void FUN_1400222d0(longlong param_1) + +{ + longlong *plVar1; + char *_Str; + uint uVar2; + ulonglong uVar3; + ulonglong uVar4; + + if (param_1 != 0) { + plVar1 = *(longlong **)(param_1 + 0x18); + uVar3 = 0; + uVar4 = uVar3; + if (*plVar1 != 0) { + do { + _Str = (char *)Ordinal_12(*(undefined4 *)*plVar1); + puts(_Str); + uVar4 = uVar4 + 1; + plVar1 = (longlong *)(*(longlong *)(param_1 + 0x18) + uVar4 * 8); + uVar2 = (int)uVar3 + 1; + uVar3 = (ulonglong)uVar2; + } while (*plVar1 != 0); + if (1 < (int)uVar2) { + puts("!!! DNS to Multi !!!"); + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140022340.c b/decomp/Agent_Release_x64/full/functions/0x140022340.c new file mode 100644 index 00000000..f1a94db7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140022340.c @@ -0,0 +1,137 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140022340 FUN_140022340 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 * +FUN_140022340(undefined8 *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + short sVar1; + ulonglong uVar2; + LPCSTR pCVar3; + short *psVar4; + undefined1 auStack_1e8 [32]; + undefined **local_1c8; + longlong *local_1c0; + longlong *local_1b8; + undefined8 local_1b0; + undefined8 local_1a8; + undefined8 *local_1a0; + undefined8 local_198; + undefined2 local_190; + undefined6 uStack_18e; + undefined8 local_180; + ulonglong local_178; + undefined1 local_168; + undefined8 local_158; + undefined8 local_150; + short *local_138; + short local_130 [132]; + ulonglong local_28; + + local_198 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_1e8; + *param_1 = MagiServerOption::vftable; + param_1[4] = 7; + param_1[3] = 0; + *(undefined2 *)(param_1 + 1) = 0; + param_1[9] = 7; + param_1[8] = 0; + *(undefined2 *)(param_1 + 6) = 0; + param_1[0xe] = 7; + param_1[0xd] = 0; + *(undefined2 *)(param_1 + 0xb) = 0; + param_1[0x10] = 0; + *(undefined4 *)(param_1 + 0x11) = 0; + *(undefined4 *)((longlong)param_1 + 0x8c) = 0x32; + param_1[0x15] = 0xf; + param_1[0x14] = 0; + *(undefined1 *)(param_1 + 0x12) = 0; + param_1[0x1a] = 0xf; + param_1[0x19] = 0; + *(undefined1 *)(param_1 + 0x17) = 0; + param_1[0x1f] = 0xf; + param_1[0x1e] = 0; + *(undefined1 *)(param_1 + 0x1c) = 0; + param_1[0x24] = 0xf; + param_1[0x23] = 0; + *(undefined1 *)(param_1 + 0x21) = 0; + param_1[0x26] = 0; + param_1[0x27] = 0; + *(undefined4 *)(param_1 + 0x28) = 1; + *(undefined4 *)((longlong)param_1 + 0x144) = 1; + param_1[0x29] = 1; + *(undefined2 *)(param_1 + 0x2a) = 0; + *(undefined1 *)((longlong)param_1 + 0x152) = 0; + *(undefined8 *)((longlong)param_1 + 0x154) = 0; + *(undefined8 *)((longlong)param_1 + 0x15c) = 1; + *(undefined2 *)((longlong)param_1 + 0x164) = 1; + *(undefined1 *)((longlong)param_1 + 0x166) = 1; + param_1[0x2d] = 0; + *(undefined2 *)(param_1 + 0x2e) = 0; + param_1[0x2f] = 0; + *(undefined1 *)(param_1 + 0x30) = 1; + param_1[0x31] = 0; + param_1[0x32] = 0; + param_1[0x33] = 0; + local_1a0 = param_1; + FUN_1400296a0(param_1 + 0x35); + *(undefined1 *)(param_1 + 0x3d) = 0; + *(undefined4 *)((longlong)param_1 + 0x1ec) = 0; + param_1[0x3e] = 0; + local_1c8 = Proud::CFastArray,0>::vftable; + local_1c0 = (longlong *)0x0; + local_1b8 = (longlong *)0x0; + local_1b0 = 0; + local_1a8 = 0; + FUN_1400346e0((longlong)&local_1c8,param_2,param_3,param_4); + local_178 = 7; + local_180 = 0; + local_190 = 0; + local_150 = 0xf; + local_158 = 0; + local_168 = 0; + if (0 < (int)local_1b0) { + pCVar3 = (LPCSTR)*local_1b8; + if ((LPCSTR)*local_1b8 == (LPCSTR)0x0) { + pCVar3 = PTR_DAT_140155008; + } + local_138 = local_130; + FUN_14002a670((longlong *)&local_138,pCVar3,3); + uVar2 = 0xffffffffffffffff; + psVar4 = local_138; + do { + if (uVar2 == 0) break; + uVar2 = uVar2 - 1; + sVar1 = *psVar4; + psVar4 = psVar4 + 1; + } while (sVar1 != 0); + param_3 = ~uVar2 - 1; + FUN_1400016e0((ulonglong *)&local_190,local_138,param_3); + if (local_138 != local_130) { + free(local_138); + } + } + if (7 < local_178) { + operator_delete((void *)CONCAT62(uStack_18e,local_190)); + } + local_178 = 7; + local_180 = 0; + local_190 = 0; + local_1c8 = Proud::CFastArray,0>::vftable; + if (0 < (int)local_1b0) { + FUN_140029720(local_1b8,(longlong)(int)local_1b0,param_3,param_4); + } + if (local_1b8 != (longlong *)0x0) { + if (local_1c0 == (longlong *)0x0) { + FUN_1400302f0(local_1b8); + } + else { + (**(code **)(*local_1c0 + 0x18))(local_1c0,local_1b8); + } + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140022630.c b/decomp/Agent_Release_x64/full/functions/0x140022630.c new file mode 100644 index 00000000..e5dad6fc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140022630.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140022630 FUN_140022630 + * Pseudocode, not original source. */ + +undefined8 * FUN_140022630(undefined8 *param_1,uint param_2) + +{ + FUN_140022660(param_1); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140022660.c b/decomp/Agent_Release_x64/full/functions/0x140022660.c new file mode 100644 index 00000000..e9639b4e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140022660.c @@ -0,0 +1,59 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140022660 FUN_140022660 + * Pseudocode, not original source. */ + +void FUN_140022660(undefined8 *param_1) + +{ + *param_1 = MagiServerOption::vftable; + if (param_1[0x35] != 0) { + FUN_1400297d0(param_1 + 0x35); + } + FUN_140028f70(param_1 + 0x31); + if (0xf < (ulonglong)param_1[0x24]) { + operator_delete((void *)param_1[0x21]); + } + param_1[0x24] = 0xf; + param_1[0x23] = 0; + *(undefined1 *)(param_1 + 0x21) = 0; + if (0xf < (ulonglong)param_1[0x1f]) { + operator_delete((void *)param_1[0x1c]); + } + param_1[0x1f] = 0xf; + param_1[0x1e] = 0; + *(undefined1 *)(param_1 + 0x1c) = 0; + if (0xf < (ulonglong)param_1[0x1a]) { + operator_delete((void *)param_1[0x17]); + } + param_1[0x1a] = 0xf; + param_1[0x19] = 0; + *(undefined1 *)(param_1 + 0x17) = 0; + if (0xf < (ulonglong)param_1[0x15]) { + operator_delete((void *)param_1[0x12]); + } + param_1[0x15] = 0xf; + param_1[0x14] = 0; + *(undefined1 *)(param_1 + 0x12) = 0; + if (7 < (ulonglong)param_1[0xe]) { + operator_delete((void *)param_1[0xb]); + } + param_1[0xe] = 7; + param_1[0xd] = 0; + *(undefined2 *)(param_1 + 0xb) = 0; + if (7 < (ulonglong)param_1[9]) { + operator_delete((void *)param_1[6]); + } + param_1[9] = 7; + param_1[8] = 0; + *(undefined2 *)(param_1 + 6) = 0; + if (7 < (ulonglong)param_1[4]) { + operator_delete((void *)param_1[1]); + } + param_1[4] = 7; + param_1[3] = 0; + *(undefined2 *)(param_1 + 1) = 0; + DAT_140162d68 = 0; + *param_1 = MBISingleton::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400227e0.c b/decomp/Agent_Release_x64/full/functions/0x1400227e0.c new file mode 100644 index 00000000..f87ce174 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400227e0.c @@ -0,0 +1,136 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400227e0 FUN_1400227e0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_1400227e0(longlong param_1,LPCWSTR param_2,undefined8 param_3,undefined8 param_4) + +{ + WCHAR WVar1; + ulonglong uVar2; + DWORD DVar3; + errno_t eVar4; + int iVar5; + ulonglong *puVar6; + ulonglong uVar7; + char *_Str; + LPCWSTR pWVar8; + ulonglong *puVar9; + undefined1 auStack_f8 [32]; + undefined8 local_d8; + undefined4 local_d0; + __time64_t local_c8 [2]; + short local_b8; + short local_b6; + undefined2 local_b4; + undefined2 local_b2; + undefined2 local_b0; + undefined2 local_ae; + undefined2 local_ac; + undefined2 local_aa; + tm local_a8; + undefined1 local_80; + undefined7 uStack_7f; + undefined8 local_70; + ulonglong local_68; + undefined8 local_58; + undefined8 local_50; + undefined1 local_48; + undefined7 uStack_47; + undefined8 local_38; + ulonglong local_30; + ulonglong local_20; + + local_c8[1] = 0xfffffffffffffffe; + local_20 = DAT_1401555a0 ^ (ulonglong)auStack_f8; + DVar3 = GetCurrentProcessId(); + *(DWORD *)(param_1 + 0x1ec) = DVar3; + local_c8[0] = _time64((__time64_t *)0x0); + local_d8 = 0; + local_d0 = 0; + eVar4 = _localtime64_s(&local_a8,local_c8); + if (eVar4 == 0) { + local_b8 = (short)local_a8.tm_year + 0x76c; + local_b6 = (short)local_a8.tm_mon + 1; + local_b4 = (undefined2)local_a8.tm_wday; + local_b2 = (undefined2)local_a8.tm_mday; + local_b0 = (undefined2)local_a8.tm_hour; + local_ae = (undefined2)local_a8.tm_min; + local_ac = (undefined2)local_a8.tm_sec; + local_aa = 0; + iVar5 = Ordinal_184(&local_b8,&local_d8); + local_58 = 0; + local_50 = 0; + if (iVar5 != 0) { + Ordinal_185(local_d8,&local_58); + } + } + *(undefined8 *)(param_1 + 0x1f0) = local_d8; + if (((ushort)*param_2 < 0x30) || (0x39 < (ushort)*param_2)) { + uVar7 = FUN_140023be0(param_1,param_2); + } + else { + wprintf(L"\t-AGNET MODE-\t \n"); + local_a8.tm_wday = 7; + local_a8.tm_yday = 0; + local_a8.tm_mon = 0; + local_a8.tm_year = 0; + local_a8.tm_sec._0_2_ = 0; + uVar7 = 0xffffffffffffffff; + pWVar8 = param_2; + do { + if (uVar7 == 0) break; + uVar7 = uVar7 - 1; + WVar1 = *pWVar8; + pWVar8 = pWVar8 + 1; + } while (WVar1 != L'\0'); + FUN_1400016e0((ulonglong *)&local_a8,param_2,~uVar7 - 1); + puVar6 = FUN_1400dca90((ulonglong *)&local_48,(LPCWSTR)&local_a8); + if (0xf < puVar6[3]) { + puVar6 = (ulonglong *)*puVar6; + } + local_68 = 0xf; + local_70 = 0; + local_80 = '\0'; + uVar7 = 0xffffffffffffffff; + puVar9 = puVar6; + do { + if (uVar7 == 0) break; + uVar7 = uVar7 - 1; + uVar2 = *puVar9; + puVar9 = (ulonglong *)((longlong)puVar9 + 1); + } while ((char)uVar2 != '\0'); + uVar7 = ~uVar7 - 1; + FUN_14000b810((ulonglong *)&local_80,puVar6,uVar7); + if (0xf < local_30) { + operator_delete((void *)CONCAT71(uStack_47,local_48)); + } + local_30 = 0xf; + local_38 = 0; + local_48 = 0; + if (7 < (ulonglong)local_a8._24_8_) { + operator_delete((void *)CONCAT26(local_a8.tm_min._2_2_, + CONCAT24((undefined2)local_a8.tm_min, + CONCAT22(local_a8.tm_sec._2_2_, + (undefined2)local_a8.tm_sec)))); + } + local_a8.tm_wday = 7; + local_a8.tm_yday = 0; + local_a8.tm_mon = 0; + local_a8.tm_year = 0; + local_a8.tm_sec._0_2_ = 0; + _Str = &local_80; + if (0xf < local_68) { + _Str = (char *)CONCAT71(uStack_7f,local_80); + } + iVar5 = atoi(_Str); + uVar7 = FUN_140022ee0(param_1,iVar5,uVar7,param_4); + if (0xf < local_68) { + operator_delete((void *)CONCAT71(uStack_7f,local_80)); + } + uVar7 = uVar7 & 0xff; + } + return uVar7; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140022a20.c b/decomp/Agent_Release_x64/full/functions/0x140022a20.c new file mode 100644 index 00000000..fcb79f68 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140022a20.c @@ -0,0 +1,238 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140022a20 FUN_140022a20 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +undefined8 FUN_140022a20(longlong param_1,undefined4 *param_2) + +{ + short sVar1; + char cVar2; + int iVar3; + undefined **ppuVar4; + undefined **extraout_RAX; + longlong lVar5; + undefined **extraout_RAX_00; + ulonglong uVar6; + longlong lVar7; + longlong lVar8; + short *psVar9; + char *******pppppppcVar10; + char *pcVar11; + longlong *plVar12; + short *psVar13; + char *pcVar14; + bool bVar15; + undefined1 auStack_128 [32]; + undefined **local_108 [5]; + longlong *local_e0; + undefined8 *local_d0; + void *local_c8; + uint local_ac; + undefined8 *local_a8; + void *local_a0; + undefined8 local_88; + char *******local_80 [3]; + ulonglong local_68; + WCHAR local_58; + undefined6 uStack_56; + undefined8 local_48; + ulonglong local_40; + ulonglong local_30; + + local_88 = 0xfffffffffffffffe; + local_30 = DAT_1401555a0 ^ (ulonglong)auStack_128; + *(undefined4 *)(param_1 + 0x140) = *param_2; + *(undefined1 *)(param_1 + 0x1e8) = *(undefined1 *)(param_2 + 3); + FUN_140001600((longlong *)(param_1 + 8),(longlong *)(param_2 + 0x1e),0,0xffffffffffffffff); + FUN_140001600((longlong *)(param_1 + 0x30),(longlong *)(param_2 + 10),0,0xffffffffffffffff); + FUN_140001600((longlong *)(param_1 + 0x58),(longlong *)(param_2 + 0x14),0,0xffffffffffffffff); + *(undefined4 *)(param_1 + 0x80) = param_2[4]; + *(undefined4 *)(param_1 + 0x84) = param_2[5]; + *(undefined4 *)(param_1 + 0x88) = param_2[6]; + *(undefined4 *)(param_1 + 0x8c) = param_2[7]; + psVar9 = (short *)&DAT_14015b0b0; + if (7 < DAT_14015b0c8) { + psVar9 = DAT_14015b0b0; + } + local_40 = 7; + lVar5 = 0; + local_48 = 0; + local_58 = L'\0'; + uVar6 = 0xffffffffffffffff; + psVar13 = psVar9; + do { + if (uVar6 == 0) break; + uVar6 = uVar6 - 1; + sVar1 = *psVar13; + psVar13 = psVar13 + 1; + } while (sVar1 != 0); + FUN_1400016e0((ulonglong *)&local_58,psVar9,~uVar6 - 1); + FUN_1400dca90((ulonglong *)local_80,&local_58); + if (7 < local_40) { + operator_delete((void *)CONCAT62(uStack_56,local_58)); + } + local_40 = 7; + local_48 = 0; + local_58 = L'\0'; + pppppppcVar10 = (char *******)local_80; + if (0xf < local_68) { + pppppppcVar10 = local_80[0]; + } + FUN_140012380(local_108,(char *)pppppppcVar10); + DAT_14015ad18 = 0; + uVar6 = FUN_140012450((longlong *)local_108,(char *)(local_d0 + 2)); + plVar12 = local_e0; + if ((char)uVar6 == '\0') { + pppppppcVar10 = (char *******)local_80; + if (0xf < local_68) { + pppppppcVar10 = local_80[0]; + } + FUN_140010be0("Error File Name %s : %d - %s",pppppppcVar10,(ulonglong)local_ac,local_a8 + 2); + local_108[0] = TiXmlDocument::vftable; + if (local_a8 != &DAT_140162cd0) { + operator_delete__(local_a0); + } + local_108[0] = TiXmlNode::vftable; + while (local_e0 != (longlong *)0x0) { + plVar12 = (longlong *)local_e0[10]; + (**(code **)*local_e0)(local_e0,1); + local_e0 = plVar12; + } + if (local_d0 != &DAT_140162cd0) { + operator_delete__(local_c8); + } + ppuVar4 = TiXmlBase::vftable; + local_108[0] = TiXmlBase::vftable; + if (0xf < local_68) { + operator_delete(local_80[0]); + ppuVar4 = extraout_RAX; + } + return (ulonglong)ppuVar4 & 0xffffffffffffff00; + } + for (; plVar12 != (longlong *)0x0; plVar12 = (longlong *)plVar12[10]) { + bVar15 = (char *)(plVar12[7] + 0x10) == (char *)0x0; + lVar7 = 3; + pcVar11 = (char *)(plVar12[7] + 0x10); + pcVar14 = "db"; + do { + if (lVar7 == 0) break; + lVar7 = lVar7 + -1; + bVar15 = *pcVar11 == *pcVar14; + pcVar11 = pcVar11 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar15); + if (bVar15) goto LAB_140022c63; + } +LAB_140022ca0: + cVar2 = *(char *)(param_1 + 0x1e8); + if (cVar2 == '\x05') { + *(undefined4 *)(param_1 + 0x158) = 1; + } + else { + if (cVar2 == '\f') { + if (lVar5 == 0) goto LAB_140022e37; + pcVar11 = "game"; + } + else if (cVar2 == '\x11') { + if (lVar5 == 0) goto LAB_140022e37; + pcVar11 = "log"; + } + else if (cVar2 == '\x12') { + if (lVar5 == 0) goto LAB_140022e37; + pcVar11 = "chat"; + } + else { + if ((cVar2 != '\x13') || (lVar5 == 0)) goto LAB_140022e37; + pcVar11 = "emergency"; + } + lVar5 = FUN_140011ad0(lVar5,(longlong)pcVar11); + if (lVar5 != 0) { + lVar7 = FUN_140011ad0(lVar5,0x14011f610); + if (lVar7 != 0) { + FUN_140025b80((ulonglong *)(param_1 + 0x90),(int *)(param_1 + 0x130),lVar7); + } + lVar7 = FUN_140011ad0(lVar5,0x14011f61c); + if (lVar7 != 0) { + FUN_140025b80((ulonglong *)(param_1 + 0xb8),(int *)(param_1 + 0x134),lVar7); + } + lVar7 = FUN_140011ad0(lVar5,0x14011f628); + if (lVar7 != 0) { + FUN_140025b80((ulonglong *)(param_1 + 0xe0),(int *)(param_1 + 0x138),lVar7); + } + lVar7 = FUN_140011ad0(lVar5,0x14011f630); + if (lVar7 != 0) { + FUN_140025b80((ulonglong *)(param_1 + 0x108),(int *)(param_1 + 0x13c),lVar7); + } + lVar5 = FUN_140011ad0(lVar5,0x14011f638); + if (lVar5 != 0) { + for (lVar7 = *(longlong *)(lVar5 + 0xa0); lVar7 != lVar5 + 0x58; + lVar7 = *(longlong *)(lVar7 + 0x48)) { + pcVar11 = (char *)(*(longlong *)(lVar7 + 0x20) + 0x10); + bVar15 = pcVar11 == (char *)0x0; + lVar8 = 6; + pcVar14 = "count"; + do { + if (lVar8 == 0) break; + lVar8 = lVar8 + -1; + bVar15 = *pcVar11 == *pcVar14; + pcVar11 = pcVar11 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar15); + if (bVar15) { + pcVar11 = (char *)(*(longlong *)(lVar7 + 0x30) + 0x10); + if (pcVar11 != (char *)0x0) { + iVar3 = atoi(pcVar11); + *(int *)(param_1 + 0x14c) = iVar3; + } + break; + } + } + } + } + } +LAB_140022e37: + local_108[0] = TiXmlDocument::vftable; + if (local_a8 != &DAT_140162cd0) { + operator_delete__(local_a0); + } + local_108[0] = TiXmlNode::vftable; + while (local_e0 != (longlong *)0x0) { + plVar12 = (longlong *)local_e0[10]; + (**(code **)*local_e0)(local_e0,1); + local_e0 = plVar12; + } + if (local_d0 != &DAT_140162cd0) { + operator_delete__(local_c8); + } + ppuVar4 = TiXmlBase::vftable; + local_108[0] = TiXmlBase::vftable; + if (0xf < local_68) { + operator_delete(local_80[0]); + ppuVar4 = extraout_RAX_00; + } + return CONCAT71((int7)((ulonglong)ppuVar4 >> 8),1); +LAB_140022c63: + while (lVar7 = (**(code **)(*plVar12 + 0x30))(plVar12), lVar7 == 0) { + do { + plVar12 = (longlong *)plVar12[10]; + if (plVar12 == (longlong *)0x0) goto LAB_140022ca0; + bVar15 = (char *)(plVar12[7] + 0x10) == (char *)0x0; + lVar7 = 3; + pcVar11 = (char *)(plVar12[7] + 0x10); + pcVar14 = "db"; + do { + if (lVar7 == 0) break; + lVar7 = lVar7 + -1; + bVar15 = *pcVar11 == *pcVar14; + pcVar11 = pcVar11 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar15); + } while (!bVar15); + } + lVar5 = (**(code **)(*plVar12 + 0x30))(plVar12); + goto LAB_140022ca0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140022ee0.c b/decomp/Agent_Release_x64/full/functions/0x140022ee0.c new file mode 100644 index 00000000..f2143dce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140022ee0.c @@ -0,0 +1,786 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140022ee0 FUN_140022ee0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +undefined8 FUN_140022ee0(longlong param_1,int param_2,undefined8 param_3,undefined8 param_4) + +{ + short sVar1; + int iVar2; + undefined **ppuVar3; + undefined **extraout_RAX; + longlong lVar4; + undefined **extraout_RAX_00; + ulonglong uVar5; + longlong lVar6; + longlong lVar7; + longlong lVar8; + short **ppsVar9; + char *******pppppppcVar10; + longlong *plVar11; + longlong *plVar12; + char *pcVar13; + char *pcVar14; + char *pcVar15; + char *pcVar16; + char *pcVar17; + char *pcVar18; + short **ppsVar19; + char *pcVar20; + char *_Str; + bool bVar21; + undefined1 auStack_278 [32]; + undefined4 local_258; + undefined **local_248 [5]; + longlong *local_220; + undefined8 *local_210; + void *local_208; + uint local_1ec; + undefined8 *local_1e8; + void *local_1e0; + undefined8 local_1c8; + undefined *local_1b8; + undefined **local_1b0 [14]; + undefined8 local_140; + undefined4 local_138; + basic_ios_> local_130 [104]; + WCHAR local_c8; + undefined6 uStack_c6; + undefined8 local_b8; + ulonglong local_b0; + void *local_a0 [2]; + undefined8 local_90; + ulonglong local_88; + char *******local_78 [3]; + ulonglong local_60; + ulonglong local_48; + + local_1c8 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_278; + _Str = (char *)0x0; + local_258 = 0; + ppsVar9 = &DAT_14015b0b0; + if (7 < DAT_14015b0c8) { + ppsVar9 = (short **)DAT_14015b0b0; + } + local_b0 = 7; + local_b8 = 0; + local_c8 = L'\0'; + uVar5 = 0xffffffffffffffff; + ppsVar19 = ppsVar9; + do { + if (uVar5 == 0) break; + uVar5 = uVar5 - 1; + sVar1 = *(short *)ppsVar19; + ppsVar19 = (short **)((longlong)ppsVar19 + 2); + } while (sVar1 != 0); + FUN_1400016e0((ulonglong *)&local_c8,ppsVar9,~uVar5 - 1); + FUN_1400dca90((ulonglong *)local_78,&local_c8); + if (7 < local_b0) { + operator_delete((void *)CONCAT62(uStack_c6,local_c8)); + } + local_b0 = 7; + local_b8 = 0; + local_c8 = L'\0'; + pppppppcVar10 = (char *******)local_78; + if (0xf < local_60) { + pppppppcVar10 = local_78[0]; + } + FUN_140012380(local_248,(char *)pppppppcVar10); + DAT_14015ad18 = 0; + uVar5 = FUN_140012450((longlong *)local_248,(char *)(local_210 + 2)); + if ((char)uVar5 == '\0') { + FUN_140010be0("Error : %d - %s",(ulonglong)local_1ec,local_1e8 + 2,param_4); + local_248[0] = TiXmlDocument::vftable; + if (local_1e8 != &DAT_140162cd0) { + operator_delete__(local_1e0); + } + local_248[0] = TiXmlNode::vftable; + while (local_220 != (longlong *)0x0) { + plVar12 = (longlong *)local_220[10]; + (**(code **)*local_220)(local_220,1); + local_220 = plVar12; + } + if (local_210 != &DAT_140162cd0) { + operator_delete__(local_208); + } + ppuVar3 = TiXmlBase::vftable; + local_248[0] = TiXmlBase::vftable; + if (0xf < local_60) { + operator_delete(local_78[0]); + ppuVar3 = extraout_RAX; + } + return (ulonglong)ppuVar3 & 0xffffffffffffff00; + } + if ((*(byte *)(param_1 + 0x1e8) < 0xd) || + (plVar12 = local_220, (byte)(*(byte *)(param_1 + 0x1e8) - 0x11) < 3)) { + FUN_1400265f0(param_1); + plVar12 = local_220; + } + for (; plVar12 != (longlong *)0x0; plVar12 = (longlong *)plVar12[10]) { + bVar21 = (char *)(plVar12[7] + 0x10) == (char *)0x0; + lVar6 = 0xd; + pcVar13 = (char *)(plVar12[7] + 0x10); + pcVar14 = "agentmanager"; + do { + if (lVar6 == 0) break; + lVar6 = lVar6 + -1; + bVar21 = *pcVar13 == *pcVar14; + pcVar13 = pcVar13 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar21); + if (bVar21) goto LAB_140023103; + } +LAB_140023164: + *(int *)(param_1 + 0x154) = param_2; + *(undefined1 *)(param_1 + 0x150) = 1; + local_1b8 = &DAT_14011d220; + std::basic_ios_>::basic_ios_>(local_130); + local_258 = 1; + std::basic_ostream_>::basic_ostream_> + ((basic_ostream_> *)&local_1b8, + (basic_streambuf_> *)local_1b0,false); + *(undefined ***)((longlong)local_1b0 + (longlong)*(int *)(local_1b8 + 4) + -8) = + std::basic_ostringstream,std::allocator_>::vftable; + std::basic_streambuf_>::basic_streambuf_> + ((basic_streambuf_> *)local_1b0); + local_1b0[0] = std::basic_stringbuf,std::allocator_>::vftable; + local_140 = 0; + local_138 = 4; + std::basic_ostream_>::operator<< + ((basic_ostream_> *)&local_1b8,param_2); + FUN_1400286a0((longlong)&local_1b8,local_a0); + for (plVar12 = local_220; plVar11 = local_220, plVar12 != (longlong *)0x0; + plVar12 = (longlong *)plVar12[10]) { + bVar21 = (char *)(plVar12[7] + 0x10) == (char *)0x0; + lVar6 = 0xc; + pcVar13 = (char *)(plVar12[7] + 0x10); + pcVar14 = "each_option"; + do { + if (lVar6 == 0) break; + lVar6 = lVar6 + -1; + bVar21 = *pcVar13 == *pcVar14; + pcVar13 = pcVar13 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar21); + if (bVar21) goto LAB_140023236; + } +joined_r0x0001400233bb: + do { + plVar12 = local_220; + if (plVar11 == (longlong *)0x0) goto joined_r0x000140023487; + bVar21 = (char *)(plVar11[7] + 0x10) == (char *)0x0; + lVar6 = 4; + pcVar13 = (char *)(plVar11[7] + 0x10); + pcVar14 = "dns"; + do { + if (lVar6 == 0) break; + lVar6 = lVar6 + -1; + bVar21 = *pcVar13 == *pcVar14; + pcVar13 = pcVar13 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar21); + if (bVar21) goto LAB_1400233e7; + plVar11 = (longlong *)plVar11[10]; + } while( true ); +LAB_140023103: + while (lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12), lVar6 == 0) { + do { + plVar12 = (longlong *)plVar12[10]; + if (plVar12 == (longlong *)0x0) goto LAB_140023164; + bVar21 = (char *)(plVar12[7] + 0x10) == (char *)0x0; + lVar6 = 0xd; + pcVar13 = (char *)(plVar12[7] + 0x10); + pcVar14 = "agentmanager"; + do { + if (lVar6 == 0) break; + lVar6 = lVar6 + -1; + bVar21 = *pcVar13 == *pcVar14; + pcVar13 = pcVar13 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar21); + } while (!bVar21); + } + lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12); + if ((lVar6 != 0) && (lVar6 = FUN_140011ad0(lVar6,0x14011f670), lVar6 != 0)) { + FUN_140025c60(param_1,lVar6,0x15); + } + goto LAB_140023164; +LAB_140023236: + while (lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12), lVar6 == 0) { + do { + plVar12 = (longlong *)plVar12[10]; + plVar11 = local_220; + if (plVar12 == (longlong *)0x0) goto joined_r0x0001400233bb; + bVar21 = (char *)(plVar12[7] + 0x10) == (char *)0x0; + lVar6 = 0xc; + pcVar13 = (char *)(plVar12[7] + 0x10); + pcVar14 = "each_option"; + do { + if (lVar6 == 0) break; + lVar6 = lVar6 + -1; + bVar21 = *pcVar13 == *pcVar14; + pcVar13 = pcVar13 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar21); + } while (!bVar21); + } + lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12); + plVar11 = local_220; + if (lVar6 != 0) { + for (plVar12 = *(longlong **)(lVar6 + 0x28); pcVar13 = _Str, plVar12 != (longlong *)0x0; + plVar12 = (longlong *)plVar12[10]) { + lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12); + if (lVar6 != 0) { + pcVar13 = (char *)(**(code **)(*plVar12 + 0x30))(plVar12); + break; + } + } +joined_r0x0001400232b3: + plVar11 = local_220; + if (pcVar13 != (char *)0x0) { + pcVar14 = (char *)(*(longlong *)(pcVar13 + 0x38) + 0x10); + if (pcVar14 != (char *)0x0) { + for (pcVar15 = *(char **)(pcVar13 + 0xa0); pcVar15 != pcVar13 + 0x58; + pcVar15 = *(char **)(pcVar15 + 0x48)) { + bVar21 = (char *)(*(longlong *)(pcVar15 + 0x20) + 0x10) == (char *)0x0; + lVar6 = 5; + pcVar16 = (char *)(*(longlong *)(pcVar15 + 0x20) + 0x10); + pcVar17 = "code"; + do { + if (lVar6 == 0) break; + lVar6 = lVar6 + -1; + bVar21 = *pcVar16 == *pcVar17; + pcVar16 = pcVar16 + 1; + pcVar17 = pcVar17 + 1; + } while (bVar21); + if (bVar21) { + if ((char *)(*(longlong *)(pcVar15 + 0x30) + 0x10) != (char *)0x0) { + pcVar16 = (char *)local_a0; + if (0xf < local_88) { + pcVar16 = (char *)CONCAT71(local_a0[0]._1_7_,(char)local_a0[0]); + } + iVar2 = _stricmp(pcVar16,(char *)(*(longlong *)(pcVar15 + 0x30) + 0x10)); + if (iVar2 == 0) { + iVar2 = _stricmp(pcVar14,"guild"); + if (iVar2 == 0) { + *(undefined4 *)(param_1 + 0x158) = 1; + } + else { + iVar2 = _stricmp(pcVar14,"api"); + if (iVar2 == 0) { + FUN_140025c60(param_1,(longlong)pcVar13,0x17); + } + } + } + } + break; + } + } + } + for (plVar12 = *(longlong **)(pcVar13 + 0x50); pcVar13 = _Str, plVar12 != (longlong *)0x0; + plVar12 = (longlong *)plVar12[10]) { + lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12); + if (lVar6 != 0) { + pcVar13 = (char *)(**(code **)(*plVar12 + 0x30))(plVar12); + break; + } + } + goto joined_r0x0001400232b3; + } + } + goto joined_r0x0001400233bb; +LAB_1400233e7: + while (lVar6 = (**(code **)(*plVar11 + 0x30))(plVar11), lVar6 == 0) { + do { + plVar11 = (longlong *)plVar11[10]; + plVar12 = local_220; + if (plVar11 == (longlong *)0x0) goto joined_r0x000140023487; + bVar21 = (char *)(plVar11[7] + 0x10) == (char *)0x0; + lVar6 = 4; + pcVar13 = (char *)(plVar11[7] + 0x10); + pcVar14 = "dns"; + do { + if (lVar6 == 0) break; + lVar6 = lVar6 + -1; + bVar21 = *pcVar13 == *pcVar14; + pcVar13 = pcVar13 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar21); + } while (!bVar21); + } + lVar6 = (**(code **)(*plVar11 + 0x30))(plVar11); + plVar12 = local_220; + if (lVar6 != 0) { + for (lVar8 = *(longlong *)(lVar6 + 0xa0); lVar8 != lVar6 + 0x58; + lVar8 = *(longlong *)(lVar8 + 0x48)) { + pcVar13 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); + bVar21 = pcVar13 == (char *)0x0; + lVar4 = 4; + pcVar14 = "dns"; + do { + if (lVar4 == 0) break; + lVar4 = lVar4 + -1; + bVar21 = *pcVar13 == *pcVar14; + pcVar13 = pcVar13 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar21); + if (bVar21) { + pcVar13 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); + if (pcVar13 != (char *)0x0) { + iVar2 = atoi(pcVar13); + *(bool *)(param_1 + 0x151) = 0 < iVar2; + plVar12 = local_220; + } + break; + } + } + } +joined_r0x000140023487: + do { + plVar11 = local_220; + if (plVar12 == (longlong *)0x0) goto joined_r0x000140023557; + bVar21 = (char *)(plVar12[7] + 0x10) == (char *)0x0; + lVar6 = 0xb; + pcVar13 = (char *)(plVar12[7] + 0x10); + pcVar14 = "code_start"; + do { + if (lVar6 == 0) break; + lVar6 = lVar6 + -1; + bVar21 = *pcVar13 == *pcVar14; + pcVar13 = pcVar13 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar21); + if (bVar21) break; + plVar12 = (longlong *)plVar12[10]; + } while( true ); + while (lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12), lVar6 == 0) { + do { + plVar12 = (longlong *)plVar12[10]; + plVar11 = local_220; + if (plVar12 == (longlong *)0x0) goto joined_r0x000140023557; + bVar21 = (char *)(plVar12[7] + 0x10) == (char *)0x0; + lVar6 = 0xb; + pcVar13 = (char *)(plVar12[7] + 0x10); + pcVar14 = "code_start"; + do { + if (lVar6 == 0) break; + lVar6 = lVar6 + -1; + bVar21 = *pcVar13 == *pcVar14; + pcVar13 = pcVar13 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar21); + } while (!bVar21); + } + lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12); + plVar11 = local_220; + if (lVar6 != 0) { + for (lVar8 = *(longlong *)(lVar6 + 0xa0); lVar8 != lVar6 + 0x58; + lVar8 = *(longlong *)(lVar8 + 0x48)) { + pcVar13 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); + bVar21 = pcVar13 == (char *)0x0; + lVar4 = 0xb; + pcVar14 = "code_start"; + do { + if (lVar4 == 0) break; + lVar4 = lVar4 + -1; + bVar21 = *pcVar13 == *pcVar14; + pcVar13 = pcVar13 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar21); + if (bVar21) { + pcVar13 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); + if (pcVar13 != (char *)0x0) { + iVar2 = atoi(pcVar13); + *(bool *)(param_1 + 0x152) = 0 < iVar2; + plVar11 = local_220; + } + break; + } + } + } +joined_r0x000140023557: + do { + if (plVar11 == (longlong *)0x0) goto LAB_14002379c; + bVar21 = (char *)(plVar11[7] + 0x10) == (char *)0x0; + lVar6 = 8; + pcVar13 = (char *)(plVar11[7] + 0x10); + pcVar14 = "setting"; + do { + if (lVar6 == 0) break; + lVar6 = lVar6 + -1; + bVar21 = *pcVar13 == *pcVar14; + pcVar13 = pcVar13 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar21); + if (bVar21) break; + plVar11 = (longlong *)plVar11[10]; + } while( true ); + while (lVar6 = (**(code **)(*plVar11 + 0x30))(plVar11), lVar6 == 0) { + do { + plVar11 = (longlong *)plVar11[10]; + if (plVar11 == (longlong *)0x0) goto LAB_14002379c; + bVar21 = (char *)(plVar11[7] + 0x10) == (char *)0x0; + lVar6 = 8; + pcVar13 = (char *)(plVar11[7] + 0x10); + pcVar14 = "setting"; + do { + if (lVar6 == 0) break; + lVar6 = lVar6 + -1; + bVar21 = *pcVar13 == *pcVar14; + pcVar13 = pcVar13 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar21); + } while (!bVar21); + } + lVar6 = (**(code **)(*plVar11 + 0x30))(plVar11); + if (lVar6 != 0) { + lVar4 = lVar6 + 0x58; + for (lVar8 = *(longlong *)(lVar6 + 0xa0); pcVar13 = _Str, lVar8 != lVar4; + lVar8 = *(longlong *)(lVar8 + 0x48)) { + pcVar13 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); + bVar21 = pcVar13 == (char *)0x0; + lVar7 = 6; + pcVar14 = "multi"; + do { + if (lVar7 == 0) break; + lVar7 = lVar7 + -1; + bVar21 = *pcVar13 == *pcVar14; + pcVar13 = pcVar13 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar21); + if (bVar21) { + pcVar13 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); + break; + } + } + for (lVar8 = *(longlong *)(lVar6 + 0xa0); pcVar14 = _Str, lVar8 != lVar4; + lVar8 = *(longlong *)(lVar8 + 0x48)) { + pcVar14 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); + bVar21 = pcVar14 == (char *)0x0; + lVar7 = 5; + pcVar15 = "lock"; + do { + if (lVar7 == 0) break; + lVar7 = lVar7 + -1; + bVar21 = *pcVar14 == *pcVar15; + pcVar14 = pcVar14 + 1; + pcVar15 = pcVar15 + 1; + } while (bVar21); + if (bVar21) { + pcVar14 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); + break; + } + } + for (lVar8 = *(longlong *)(lVar6 + 0xa0); pcVar15 = _Str, lVar8 != lVar4; + lVar8 = *(longlong *)(lVar8 + 0x48)) { + pcVar15 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); + bVar21 = pcVar15 == (char *)0x0; + lVar7 = 0xd; + pcVar16 = "start_server"; + do { + if (lVar7 == 0) break; + lVar7 = lVar7 + -1; + bVar21 = *pcVar15 == *pcVar16; + pcVar15 = pcVar15 + 1; + pcVar16 = pcVar16 + 1; + } while (bVar21); + if (bVar21) { + pcVar15 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); + break; + } + } + for (lVar8 = *(longlong *)(lVar6 + 0xa0); pcVar16 = _Str, lVar8 != lVar4; + lVar8 = *(longlong *)(lVar8 + 0x48)) { + pcVar16 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); + bVar21 = pcVar16 == (char *)0x0; + lVar7 = 0xe; + pcVar17 = "revive_server"; + do { + if (lVar7 == 0) break; + lVar7 = lVar7 + -1; + bVar21 = *pcVar16 == *pcVar17; + pcVar16 = pcVar16 + 1; + pcVar17 = pcVar17 + 1; + } while (bVar21); + if (bVar21) { + pcVar16 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); + break; + } + } + for (lVar6 = *(longlong *)(lVar6 + 0xa0); pcVar17 = _Str, lVar6 != lVar4; + lVar6 = *(longlong *)(lVar6 + 0x48)) { + pcVar17 = (char *)(*(longlong *)(lVar6 + 0x20) + 0x10); + bVar21 = pcVar17 == (char *)0x0; + lVar8 = 0xd; + pcVar18 = "open_channel"; + do { + if (lVar8 == 0) break; + lVar8 = lVar8 + -1; + bVar21 = *pcVar17 == *pcVar18; + pcVar17 = pcVar17 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar21); + if (bVar21) { + pcVar17 = (char *)(*(longlong *)(lVar6 + 0x30) + 0x10); + break; + } + } + if (pcVar13 != (char *)0x0) { + iVar2 = atoi(pcVar13); + *(bool *)(param_1 + 0x166) = 0 < iVar2; + } + if (pcVar16 != (char *)0x0) { + iVar2 = atoi(pcVar16); + *(bool *)(param_1 + 0x171) = 0 < iVar2; + } + if (pcVar17 != (char *)0x0) { + iVar2 = atoi(pcVar17); + *(bool *)(param_1 + 0x170) = 0 < iVar2; + } + if (pcVar14 != (char *)0x0) { + iVar2 = atoi(pcVar14); + *(double *)(param_1 + 0x168) = (double)iVar2; + } + if (pcVar15 != (char *)0x0) { + iVar2 = atoi(pcVar15); + *(double *)(param_1 + 0x178) = (double)iVar2; + } + } +LAB_14002379c: + DAT_14016270a = 0; + DAT_140162709 = 0; + DAT_140162708 = 0; + DAT_140162707 = 0; + DAT_140162706 = 0; + DAT_140162705 = 1; + DAT_140162704 = 1; + for (plVar12 = local_220; plVar12 != (longlong *)0x0; plVar12 = (longlong *)plVar12[10]) { + bVar21 = (char *)(plVar12[7] + 0x10) == (char *)0x0; + lVar6 = 8; + pcVar13 = (char *)(plVar12[7] + 0x10); + pcVar14 = "develop"; + do { + if (lVar6 == 0) break; + lVar6 = lVar6 + -1; + bVar21 = *pcVar13 == *pcVar14; + pcVar13 = pcVar13 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar21); + if (bVar21) goto LAB_140023806; + } + goto LAB_140023ab3; +LAB_140023806: + while (lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12), lVar6 == 0) { + do { + plVar12 = (longlong *)plVar12[10]; + if (plVar12 == (longlong *)0x0) goto LAB_140023ab3; + bVar21 = (char *)(plVar12[7] + 0x10) == (char *)0x0; + lVar6 = 8; + pcVar13 = (char *)(plVar12[7] + 0x10); + pcVar14 = "develop"; + do { + if (lVar6 == 0) break; + lVar6 = lVar6 + -1; + bVar21 = *pcVar13 == *pcVar14; + pcVar13 = pcVar13 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar21); + } while (!bVar21); + } + lVar6 = (**(code **)(*plVar12 + 0x30))(plVar12); + if (lVar6 != 0) { + lVar4 = lVar6 + 0x58; + for (lVar8 = *(longlong *)(lVar6 + 0xa0); pcVar13 = _Str, lVar8 != lVar4; + lVar8 = *(longlong *)(lVar8 + 0x48)) { + pcVar13 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); + bVar21 = pcVar13 == (char *)0x0; + lVar7 = 8; + pcVar14 = "preload"; + do { + if (lVar7 == 0) break; + lVar7 = lVar7 + -1; + bVar21 = *pcVar13 == *pcVar14; + pcVar13 = pcVar13 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar21); + if (bVar21) { + pcVar13 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); + break; + } + } + for (lVar8 = *(longlong *)(lVar6 + 0xa0); lVar8 != lVar4; lVar8 = *(longlong *)(lVar8 + 0x48)) { + pcVar14 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); + bVar21 = pcVar14 == (char *)0x0; + lVar7 = 0xd; + pcVar15 = "preload_char"; + do { + if (lVar7 == 0) break; + lVar7 = lVar7 + -1; + bVar21 = *pcVar14 == *pcVar15; + pcVar14 = pcVar14 + 1; + pcVar15 = pcVar15 + 1; + } while (bVar21); + if (bVar21) { + _Str = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); + break; + } + } + for (lVar8 = *(longlong *)(lVar6 + 0xa0); lVar8 != lVar4; lVar8 = *(longlong *)(lVar8 + 0x48)) { + pcVar14 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); + bVar21 = pcVar14 == (char *)0x0; + lVar7 = 0xc; + pcVar15 = "enemy_debug"; + do { + if (lVar7 == 0) break; + lVar7 = lVar7 + -1; + bVar21 = *pcVar14 == *pcVar15; + pcVar14 = pcVar14 + 1; + pcVar15 = pcVar15 + 1; + } while (bVar21); + if (bVar21) { + pcVar14 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); + goto LAB_140023910; + } + } + pcVar14 = (char *)0x0; +LAB_140023910: + for (lVar8 = *(longlong *)(lVar6 + 0xa0); lVar8 != lVar4; lVar8 = *(longlong *)(lVar8 + 0x48)) { + pcVar15 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); + bVar21 = pcVar15 == (char *)0x0; + lVar7 = 10; + pcVar16 = "enemy_one"; + do { + if (lVar7 == 0) break; + lVar7 = lVar7 + -1; + bVar21 = *pcVar15 == *pcVar16; + pcVar15 = pcVar15 + 1; + pcVar16 = pcVar16 + 1; + } while (bVar21); + if (bVar21) { + pcVar15 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); + goto LAB_140023950; + } + } + pcVar15 = (char *)0x0; +LAB_140023950: + for (lVar8 = *(longlong *)(lVar6 + 0xa0); lVar8 != lVar4; lVar8 = *(longlong *)(lVar8 + 0x48)) { + pcVar16 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); + bVar21 = pcVar16 == (char *)0x0; + lVar7 = 0xd; + pcVar17 = "player_debug"; + do { + if (lVar7 == 0) break; + lVar7 = lVar7 + -1; + bVar21 = *pcVar16 == *pcVar17; + pcVar16 = pcVar16 + 1; + pcVar17 = pcVar17 + 1; + } while (bVar21); + if (bVar21) { + pcVar16 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); + goto LAB_140023990; + } + } + pcVar16 = (char *)0x0; +LAB_140023990: + for (lVar8 = *(longlong *)(lVar6 + 0xa0); lVar8 != lVar4; lVar8 = *(longlong *)(lVar8 + 0x48)) { + pcVar17 = (char *)(*(longlong *)(lVar8 + 0x20) + 0x10); + bVar21 = pcVar17 == (char *)0x0; + lVar7 = 9; + pcVar18 = "lua_text"; + do { + if (lVar7 == 0) break; + lVar7 = lVar7 + -1; + bVar21 = *pcVar17 == *pcVar18; + pcVar17 = pcVar17 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar21); + if (bVar21) { + pcVar17 = (char *)(*(longlong *)(lVar8 + 0x30) + 0x10); + goto LAB_1400239cf; + } + } + pcVar17 = (char *)0x0; +LAB_1400239cf: + for (lVar6 = *(longlong *)(lVar6 + 0xa0); lVar6 != lVar4; lVar6 = *(longlong *)(lVar6 + 0x48)) { + pcVar18 = (char *)(*(longlong *)(lVar6 + 0x20) + 0x10); + bVar21 = pcVar18 == (char *)0x0; + lVar8 = 9; + pcVar20 = "lua_send"; + do { + if (lVar8 == 0) break; + lVar8 = lVar8 + -1; + bVar21 = *pcVar18 == *pcVar20; + pcVar18 = pcVar18 + 1; + pcVar20 = pcVar20 + 1; + } while (bVar21); + if (bVar21) { + pcVar18 = (char *)(*(longlong *)(lVar6 + 0x30) + 0x10); + goto LAB_140023a0f; + } + } + pcVar18 = (char *)0x0; +LAB_140023a0f: + if (pcVar13 != (char *)0x0) { + iVar2 = atoi(pcVar13); + DAT_140162705 = 0 < iVar2; + } + if (_Str != (char *)0x0) { + iVar2 = atoi(_Str); + DAT_140162704 = 0 < iVar2; + } + if (pcVar15 != (char *)0x0) { + iVar2 = atoi(pcVar15); + DAT_140162709 = 0 < iVar2; + } + if (pcVar14 != (char *)0x0) { + iVar2 = atoi(pcVar14); + DAT_14016270a = 0 < iVar2; + } + if (pcVar16 != (char *)0x0) { + iVar2 = atoi(pcVar16); + DAT_140162708 = 0 < iVar2; + } + if (pcVar17 != (char *)0x0) { + iVar2 = atoi(pcVar17); + DAT_140162707 = 0 < iVar2; + } + if (pcVar18 != (char *)0x0) { + iVar2 = atoi(pcVar18); + DAT_140162706 = 0 < iVar2; + } + } +LAB_140023ab3: + if (0xf < local_88) { + operator_delete((void *)CONCAT71(local_a0[0]._1_7_,(char)local_a0[0])); + } + local_88 = 0xf; + local_90 = 0; + local_a0[0]._0_1_ = '\0'; + FUN_1400285f0((longlong)local_130); + std::basic_ios_>::~basic_ios_>(local_130); + local_248[0] = TiXmlDocument::vftable; + if (local_1e8 != &DAT_140162cd0) { + operator_delete__(local_1e0); + } + local_248[0] = TiXmlNode::vftable; + while (local_220 != (longlong *)0x0) { + plVar12 = (longlong *)local_220[10]; + (**(code **)*local_220)(local_220,1); + local_220 = plVar12; + } + if (local_210 != &DAT_140162cd0) { + operator_delete__(local_208); + } + ppuVar3 = TiXmlBase::vftable; + local_248[0] = TiXmlBase::vftable; + if (0xf < local_60) { + operator_delete(local_78[0]); + ppuVar3 = extraout_RAX_00; + } + return CONCAT71((int7)((ulonglong)ppuVar3 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140023bb0.c b/decomp/Agent_Release_x64/full/functions/0x140023bb0.c new file mode 100644 index 00000000..ea7bea8e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140023bb0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140023bb0 FUN_140023bb0 + * Pseudocode, not original source. */ + +void FUN_140023bb0(longlong param_1) + +{ + FUN_1400285f0(param_1 + 0x88); + /* WARNING: Could not recover jumptable at 0x000140023bcd. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::basic_ios_>::~basic_ios_> + ((basic_ios_> *)(param_1 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140023be0.c b/decomp/Agent_Release_x64/full/functions/0x140023be0.c new file mode 100644 index 00000000..45a29e7e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140023be0.c @@ -0,0 +1,2101 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140023be0 FUN_140023be0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +ulonglong FUN_140023be0(longlong param_1,LPCWSTR param_2) + +{ + char **ppcVar1; + char cVar2; + WCHAR WVar3; + int iVar4; + undefined **ppuVar5; + undefined **extraout_RAX; + ulonglong *puVar6; + char **ppcVar7; + char *pcVar8; + undefined8 uVar9; + ulonglong uVar10; + longlong lVar11; + longlong lVar12; + longlong lVar13; + longlong lVar14; + wchar_t *_Format; + longlong *plVar15; + longlong *plVar16; + char *pcVar17; + char *pcVar18; + char *pcVar19; + char *pcVar20; + char *pcVar21; + char *pcVar22; + char *pcVar23; + char *pcVar24; + LPCWSTR pWVar25; + char *pcVar26; + LPCSTR pCVar27; + WCHAR *pWVar28; + ulonglong uVar29; + LPCSTR pCVar30; + bool bVar31; + undefined1 auStackY_4e8 [32]; + char *local_4a0; + undefined **local_498; + undefined8 local_490; + undefined8 local_488; + undefined8 local_480; + undefined4 local_478; + longlong *local_470; + undefined8 local_468; + undefined8 *local_460; + void *local_458; + undefined8 local_450; + undefined8 local_448; + undefined1 local_440; + uint local_43c; + undefined8 *local_438; + void *local_430; + undefined4 local_428; + undefined8 local_424; + undefined1 local_41c; + char *local_418; + char *local_410; + char *local_408; + char *local_400; + char *local_3f8; + char *local_3f0; + undefined8 local_3e8; + undefined2 local_3d8; + undefined6 uStack_3d6; + undefined8 local_3c8; + ulonglong local_3c0; + undefined8 local_3b0; + undefined8 local_3a8; + undefined8 local_3a0; + ulonglong local_398 [2]; + undefined8 local_388; + ulonglong local_380; + CHAR local_368 [272]; + WCHAR local_258 [264]; + ulonglong local_48; + + local_3e8 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStackY_4e8; + local_368[0] = '\0'; + memset(local_368 + 1,0,0x103); + uVar10 = 0xffffffffffffffff; + pWVar25 = param_2; + do { + if (uVar10 == 0) break; + uVar10 = uVar10 - 1; + WVar3 = *pWVar25; + pWVar25 = pWVar25 + 1; + } while (WVar3 != L'\0'); + pCVar30 = (LPCSTR)0x0; + uVar29 = ~uVar10 & 0xffffffff; + WideCharToMultiByte(0,0,param_2,(int)~uVar10,local_368,0x104,(LPCSTR)0x0,(LPBOOL)0x0); + local_490 = 0xffffffffffffffff; + local_488 = 0; + local_460 = &DAT_140162cd0; + local_480 = 0; + local_478 = 0; + local_470 = (longlong *)0x0; + local_468 = 0; + local_450 = 0; + local_448 = 0; + local_498 = TiXmlDocument::vftable; + local_438 = &DAT_140162cd0; + local_424 = 0xffffffffffffffff; + local_428 = 4; + local_41c = 0; + uVar10 = 0xffffffffffffffff; + pcVar8 = local_368; + do { + if (uVar10 == 0) break; + uVar10 = uVar10 - 1; + cVar2 = *pcVar8; + pcVar8 = pcVar8 + 1; + } while (cVar2 != '\0'); + FUN_140010f70((longlong *)&local_460,local_368,~uVar10 - 1); + local_440 = 0; + local_43c = 0; + FUN_140010f70((longlong *)&local_438,&DAT_14011e21c,0); + local_424 = 0; + DAT_14015ad18 = 0; + uVar10 = FUN_140012450((longlong *)&local_498,(char *)(local_460 + 2)); + if ((char)uVar10 == '\0') { + FUN_140010be0("Error : %d - %s",(ulonglong)local_43c,local_438 + 2,uVar29); + local_498 = TiXmlDocument::vftable; + if (local_438 != &DAT_140162cd0) { + operator_delete__(local_430); + } + ppuVar5 = TiXmlNode::vftable; + local_498 = TiXmlNode::vftable; + plVar15 = local_470; + while (plVar15 != (longlong *)0x0) { + plVar16 = (longlong *)plVar15[10]; + ppuVar5 = (undefined **)(**(code **)*plVar15)(plVar15,1); + plVar15 = plVar16; + } + if (local_460 != &DAT_140162cd0) { + operator_delete__(local_458); + ppuVar5 = extraout_RAX; + } + return (ulonglong)ppuVar5 & 0xffffffffffffff00; + } + memset(local_258,0,0x208); + for (plVar15 = local_470; plVar15 != (longlong *)0x0; plVar15 = (longlong *)plVar15[10]) { + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 7; + pcVar8 = (char *)(plVar15[7] + 0x10); + pcVar18 = "server"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar8 == *pcVar18; + pcVar8 = pcVar8 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar31); + if (bVar31) goto LAB_140023df6; + } + goto LAB_1400245c6; +LAB_140023df6: + while (lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15), lVar11 == 0) { + do { + plVar15 = (longlong *)plVar15[10]; + if (plVar15 == (longlong *)0x0) goto LAB_1400245c6; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 7; + pcVar8 = (char *)(plVar15[7] + 0x10); + pcVar18 = "server"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar8 == *pcVar18; + pcVar8 = pcVar8 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar15 + 0x30))(); + if (lVar11 != 0) { + lVar12 = lVar11 + 0x58; + for (lVar14 = *(longlong *)(lVar11 + 0xa0); lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar8 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar8 == (char *)0x0; + lVar13 = 5; + pcVar18 = "name"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar8 == *pcVar18; + pcVar8 = pcVar8 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar31); + if (bVar31) { + local_418 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + goto LAB_140023e85; + } + } + local_418 = (char *)0x0; +LAB_140023e85: + for (lVar14 = *(longlong *)(lVar11 + 0xa0); lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar8 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar8 == (char *)0x0; + lVar13 = 5; + pcVar18 = "code"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar8 == *pcVar18; + pcVar8 = pcVar8 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar31); + if (bVar31) { + local_400 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + goto LAB_140023ec5; + } + } + local_400 = (char *)0x0; +LAB_140023ec5: + for (lVar14 = *(longlong *)(lVar11 + 0xa0); lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar8 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar8 == (char *)0x0; + lVar13 = 0xb; + pcVar18 = "private_ip"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar8 == *pcVar18; + pcVar8 = pcVar8 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar31); + if (bVar31) { + local_4a0 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + goto LAB_140023f07; + } + } + local_4a0 = (char *)0x0; +LAB_140023f07: + for (lVar14 = *(longlong *)(lVar11 + 0xa0); lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar8 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar8 == (char *)0x0; + lVar13 = 0xd; + pcVar18 = "private_port"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar8 == *pcVar18; + pcVar8 = pcVar8 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar31); + if (bVar31) { + local_408 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + goto LAB_140023f45; + } + } + local_408 = (char *)0x0; +LAB_140023f45: + for (lVar14 = *(longlong *)(lVar11 + 0xa0); lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar8 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar8 == (char *)0x0; + lVar13 = 10; + pcVar18 = "public_ip"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar8 == *pcVar18; + pcVar8 = pcVar8 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar31); + if (bVar31) { + local_410 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + goto LAB_140023f85; + } + } + local_410 = (char *)0x0; +LAB_140023f85: + for (lVar14 = *(longlong *)(lVar11 + 0xa0); lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar8 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar8 == (char *)0x0; + lVar13 = 0xc; + pcVar18 = "public_port"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar8 == *pcVar18; + pcVar8 = pcVar8 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar31); + if (bVar31) { + local_3f0 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + goto LAB_140023fc5; + } + } + local_3f0 = (char *)0x0; +LAB_140023fc5: + for (lVar14 = *(longlong *)(lVar11 + 0xa0); lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar8 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar8 == (char *)0x0; + lVar13 = 0xf; + pcVar18 = "public_udpport"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar8 == *pcVar18; + pcVar8 = pcVar8 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar31); + if (bVar31) { + local_3f8 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + goto LAB_140024005; + } + } + local_3f8 = (char *)0x0; +LAB_140024005: + for (lVar14 = *(longlong *)(lVar11 + 0xa0); lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar8 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar8 == (char *)0x0; + lVar13 = 0xb; + pcVar18 = "thread_num"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar8 == *pcVar18; + pcVar8 = pcVar8 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar31); + if (bVar31) { + pCVar30 = (LPCSTR)(*(longlong *)(lVar14 + 0x30) + 0x10); + break; + } + } + for (lVar14 = *(longlong *)(lVar11 + 0xa0); lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar8 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar8 == (char *)0x0; + lVar13 = 6; + pcVar18 = "agent"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar8 == *pcVar18; + pcVar8 = pcVar8 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar31); + if (bVar31) { + pcVar8 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + goto LAB_140024086; + } + } + pcVar8 = (char *)0x0; +LAB_140024086: + pcVar18 = (char *)0x0; + for (lVar14 = *(longlong *)(lVar11 + 0xa0); pcVar21 = pcVar18, lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar21 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar21 == (char *)0x0; + lVar13 = 6; + pcVar22 = "debug"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar21 == *pcVar22; + pcVar21 = pcVar21 + 1; + pcVar22 = pcVar22 + 1; + } while (bVar31); + if (bVar31) { + pcVar21 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + break; + } + } + for (lVar14 = *(longlong *)(lVar11 + 0xa0); pcVar22 = pcVar18, lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar22 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar22 == (char *)0x0; + lVar13 = 6; + pcVar20 = "world"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar22 == *pcVar20; + pcVar22 = pcVar22 + 1; + pcVar20 = pcVar20 + 1; + } while (bVar31); + if (bVar31) { + pcVar22 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + break; + } + } + for (lVar14 = *(longlong *)(lVar11 + 0xa0); pcVar20 = pcVar18, lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar20 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar20 == (char *)0x0; + lVar13 = 10; + pcVar23 = "udp_count"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar20 == *pcVar23; + pcVar20 = pcVar20 + 1; + pcVar23 = pcVar23 + 1; + } while (bVar31); + if (bVar31) { + pcVar20 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + break; + } + } + for (lVar14 = *(longlong *)(lVar11 + 0xa0); lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar23 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar23 == (char *)0x0; + lVar13 = 0xc; + pcVar24 = "private_dns"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar23 == *pcVar24; + pcVar23 = pcVar23 + 1; + pcVar24 = pcVar24 + 1; + } while (bVar31); + if (bVar31) { + pcVar18 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + break; + } + } + for (lVar11 = *(longlong *)(lVar11 + 0xa0); lVar11 != lVar12; + lVar11 = *(longlong *)(lVar11 + 0x48)) { + pcVar23 = (char *)(*(longlong *)(lVar11 + 0x20) + 0x10); + bVar31 = pcVar23 == (char *)0x0; + lVar14 = 0xb; + pcVar24 = "public_dns"; + do { + if (lVar14 == 0) break; + lVar14 = lVar14 + -1; + bVar31 = *pcVar23 == *pcVar24; + pcVar23 = pcVar23 + 1; + pcVar24 = pcVar24 + 1; + } while (bVar31); + if (bVar31) { + pcVar23 = (char *)(*(longlong *)(lVar11 + 0x30) + 0x10); + goto LAB_1400241c3; + } + } + pcVar23 = (char *)0x0; +LAB_1400241c3: + if (pcVar18 != (char *)0x0) { + local_380 = 0xf; + local_388 = 0; + local_398[0]._0_1_ = '\0'; + uVar10 = 0xffffffffffffffff; + pcVar24 = pcVar18; + do { + if (uVar10 == 0) break; + uVar10 = uVar10 - 1; + cVar2 = *pcVar24; + pcVar24 = pcVar24 + 1; + } while (cVar2 != '\0'); + FUN_14000b810(local_398,pcVar18,~uVar10 - 1); + puVar6 = FUN_1400dc8f0((ulonglong *)&local_3d8,(LPCSTR)local_398); + FUN_14000b320((undefined8 *)(param_1 + 0x30),puVar6); + if (7 < local_3c0) { + operator_delete((void *)CONCAT62(uStack_3d6,local_3d8)); + } + local_3c0 = 7; + local_3c8 = 0; + local_3d8 = 0; + if (0xf < local_380) { + operator_delete((void *)CONCAT71(local_398[0]._1_7_,(CHAR)local_398[0])); + } + } + if (local_4a0 != (char *)0x0) { + local_380 = 0xf; + local_388 = 0; + local_398[0]._0_1_ = '\0'; + uVar10 = 0xffffffffffffffff; + pcVar18 = local_4a0; + do { + if (uVar10 == 0) break; + uVar10 = uVar10 - 1; + cVar2 = *pcVar18; + pcVar18 = pcVar18 + 1; + } while (cVar2 != '\0'); + FUN_14000b810(local_398,local_4a0,~uVar10 - 1); + puVar6 = FUN_1400dc8f0((ulonglong *)&local_3d8,(LPCSTR)local_398); + FUN_14000b320((undefined8 *)(param_1 + 0x30),puVar6); + if (7 < local_3c0) { + operator_delete((void *)CONCAT62(uStack_3d6,local_3d8)); + } + local_3c0 = 7; + local_3c8 = 0; + local_3d8 = 0; + if (0xf < local_380) { + operator_delete((void *)CONCAT71(local_398[0]._1_7_,(CHAR)local_398[0])); + } + } + if (pcVar23 != (char *)0x0) { + local_380 = 0xf; + local_388 = 0; + local_398[0]._0_1_ = '\0'; + uVar10 = 0xffffffffffffffff; + pcVar18 = pcVar23; + do { + if (uVar10 == 0) break; + uVar10 = uVar10 - 1; + cVar2 = *pcVar18; + pcVar18 = pcVar18 + 1; + } while (cVar2 != '\0'); + FUN_14000b810(local_398,pcVar23,~uVar10 - 1); + puVar6 = FUN_1400dc8f0((ulonglong *)&local_3d8,(LPCSTR)local_398); + FUN_14000b320((undefined8 *)(param_1 + 0x58),puVar6); + if (7 < local_3c0) { + operator_delete((void *)CONCAT62(uStack_3d6,local_3d8)); + } + local_3c0 = 7; + local_3c8 = 0; + local_3d8 = 0; + if (0xf < local_380) { + operator_delete((void *)CONCAT71(local_398[0]._1_7_,(CHAR)local_398[0])); + } + } + if (local_410 != (char *)0x0) { + local_380 = 0xf; + local_388 = 0; + local_398[0]._0_1_ = '\0'; + uVar10 = 0xffffffffffffffff; + pcVar18 = local_410; + do { + if (uVar10 == 0) break; + uVar10 = uVar10 - 1; + cVar2 = *pcVar18; + pcVar18 = pcVar18 + 1; + } while (cVar2 != '\0'); + FUN_14000b810(local_398,local_410,~uVar10 - 1); + puVar6 = FUN_1400dc8f0((ulonglong *)&local_3d8,(LPCSTR)local_398); + FUN_14000b320((undefined8 *)(param_1 + 0x58),puVar6); + if (7 < local_3c0) { + operator_delete((void *)CONCAT62(uStack_3d6,local_3d8)); + } + local_3c0 = 7; + local_3c8 = 0; + local_3d8 = 0; + if (0xf < local_380) { + operator_delete((void *)CONCAT71(local_398[0]._1_7_,(CHAR)local_398[0])); + } + } + if (local_408 != (char *)0x0) { + iVar4 = atoi(local_408); + *(int *)(param_1 + 0x80) = iVar4; + } + if (local_3f0 != (char *)0x0) { + iVar4 = atoi(local_3f0); + *(int *)(param_1 + 0x84) = iVar4; + } + if (local_3f8 != (char *)0x0) { + iVar4 = atoi(local_3f8); + *(int *)(param_1 + 0x88) = iVar4; + } + if (local_418 != (char *)0x0) { + local_380 = 0xf; + local_388 = 0; + local_398[0]._0_1_ = '\0'; + uVar10 = 0xffffffffffffffff; + pcVar18 = local_418; + do { + if (uVar10 == 0) break; + uVar10 = uVar10 - 1; + cVar2 = *pcVar18; + pcVar18 = pcVar18 + 1; + } while (cVar2 != '\0'); + FUN_14000b810(local_398,local_418,~uVar10 - 1); + puVar6 = FUN_1400dc8f0((ulonglong *)&local_3d8,(LPCSTR)local_398); + FUN_14000b320((undefined8 *)(param_1 + 8),puVar6); + if (7 < local_3c0) { + operator_delete((void *)CONCAT62(uStack_3d6,local_3d8)); + } + local_3c0 = 7; + local_3c8 = 0; + local_3d8 = 0; + if (0xf < local_380) { + operator_delete((void *)CONCAT71(local_398[0]._1_7_,(CHAR)local_398[0])); + } + } + if (pCVar30 == (LPCSTR)0x0) { + *(undefined4 *)(param_1 + 0x15c) = 1; + } + else { + memset(local_258,0,0x208); + MultiByteToWideChar(0,1,pCVar30,0x104,local_258,0x104); + ppcVar1 = (char **)(param_1 + 0x15c); + iVar4 = _wtoi(local_258); + *(int *)ppcVar1 = iVar4; + local_4a0 = (char *)CONCAT44(local_4a0._4_4_,1); + ppcVar7 = &local_4a0; + if (1 < *(int *)ppcVar1) { + ppcVar7 = ppcVar1; + } + *(int *)ppcVar1 = *(int *)ppcVar7; + } + if (local_400 != (char *)0x0) { + iVar4 = atoi(local_400); + *(int *)(param_1 + 0x154) = iVar4; + } + if (pcVar8 != (char *)0x0) { + iVar4 = atoi(pcVar8); + *(bool *)(param_1 + 0x150) = iVar4 == 1; + } + if (pcVar21 != (char *)0x0) { + iVar4 = atoi(pcVar21); + *(bool *)(param_1 + 0x165) = iVar4 == 1; + } + if (pcVar22 != (char *)0x0) { + iVar4 = atoi(pcVar22); + *(int *)(param_1 + 0x140) = iVar4; + } + if (pcVar20 != (char *)0x0) { + iVar4 = atoi(pcVar20); + *(int *)(param_1 + 0x8c) = iVar4; + } + } +LAB_1400245c6: + pcVar8 = (char *)0x0; + for (plVar15 = local_470; plVar16 = local_470, plVar15 != (longlong *)0x0; + plVar15 = (longlong *)plVar15[10]) { + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 0xb; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "db_account"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) goto LAB_140024603; + } +joined_r0x000140024660: + do { + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x0001400246f0; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 7; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "db_web"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) goto LAB_140024693; + plVar16 = (longlong *)plVar16[10]; + } while( true ); +LAB_140024603: + while (lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15), lVar11 == 0) { + do { + plVar15 = (longlong *)plVar15[10]; + plVar16 = local_470; + if (plVar15 == (longlong *)0x0) goto joined_r0x000140024660; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 0xb; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "db_account"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15); + plVar16 = local_470; + if (lVar11 != 0) { + FUN_140025b80((ulonglong *)(param_1 + 0x90),(int *)(param_1 + 0x130),lVar11); + plVar16 = local_470; + } + goto joined_r0x000140024660; +LAB_140024693: + while (lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16), lVar11 == 0) { + do { + plVar16 = (longlong *)plVar16[10]; + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x0001400246f0; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 7; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "db_web"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16); + plVar15 = local_470; + if (lVar11 != 0) { + FUN_140025b80((ulonglong *)(param_1 + 0xb8),(int *)(param_1 + 0x134),lVar11); + plVar15 = local_470; + } +joined_r0x0001400246f0: + do { + plVar16 = local_470; + if (plVar15 == (longlong *)0x0) goto joined_r0x000140024780; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 8; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "db_game"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) break; + plVar15 = (longlong *)plVar15[10]; + } while( true ); + while (lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15), lVar11 == 0) { + do { + plVar15 = (longlong *)plVar15[10]; + plVar16 = local_470; + if (plVar15 == (longlong *)0x0) goto joined_r0x000140024780; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 8; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "db_game"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15); + plVar16 = local_470; + if (lVar11 != 0) { + FUN_140025b80((ulonglong *)(param_1 + 0xe0),(int *)(param_1 + 0x138),lVar11); + plVar16 = local_470; + } +joined_r0x000140024780: + do { + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x000140024810; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 0xc; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "db_game_log"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) break; + plVar16 = (longlong *)plVar16[10]; + } while( true ); + while (lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16), lVar11 == 0) { + do { + plVar16 = (longlong *)plVar16[10]; + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x000140024810; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 0xc; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "db_game_log"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16); + plVar15 = local_470; + if (lVar11 != 0) { + FUN_140025b80((ulonglong *)(param_1 + 0x108),(int *)(param_1 + 0x13c),lVar11); + plVar15 = local_470; + } +joined_r0x000140024810: + do { + plVar16 = local_470; + if (plVar15 == (longlong *)0x0) goto joined_r0x0001400248e2; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 4; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "dbc"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) break; + plVar15 = (longlong *)plVar15[10]; + } while( true ); + while (lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15), lVar11 == 0) { + do { + plVar15 = (longlong *)plVar15[10]; + plVar16 = local_470; + if (plVar15 == (longlong *)0x0) goto joined_r0x0001400248e2; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 4; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "dbc"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15); + plVar16 = local_470; + if (lVar11 != 0) { + for (lVar14 = *(longlong *)(lVar11 + 0xa0); lVar14 != lVar11 + 0x58; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar18 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar18 == (char *)0x0; + lVar12 = 0x13; + pcVar21 = "write_thread_count"; + do { + if (lVar12 == 0) break; + lVar12 = lVar12 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) { + pcVar18 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + if (pcVar18 != (char *)0x0) { + iVar4 = atoi(pcVar18); + *(int *)(param_1 + 0x14c) = iVar4; + plVar16 = local_470; + } + break; + } + } + } +joined_r0x0001400248e2: + do { + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x0001400249b2; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 9; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "db_cache"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) break; + plVar16 = (longlong *)plVar16[10]; + } while( true ); + while (lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16), lVar11 == 0) { + do { + plVar16 = (longlong *)plVar16[10]; + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x0001400249b2; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 9; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "db_cache"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16); + plVar15 = local_470; + if (lVar11 != 0) { + for (lVar14 = *(longlong *)(lVar11 + 0xa0); lVar14 != lVar11 + 0x58; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar18 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar18 == (char *)0x0; + lVar12 = 0xe; + pcVar21 = "session_count"; + do { + if (lVar12 == 0) break; + lVar12 = lVar12 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) { + pcVar18 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + if (pcVar18 != (char *)0x0) { + iVar4 = atoi(pcVar18); + *(int *)(param_1 + 0x144) = iVar4; + plVar15 = local_470; + } + break; + } + } + } +joined_r0x0001400249b2: + do { + if (plVar15 == (longlong *)0x0) goto LAB_140024a75; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 0xd; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "db_log_cache"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) break; + plVar15 = (longlong *)plVar15[10]; + } while( true ); + while (lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15), lVar11 == 0) { + do { + plVar15 = (longlong *)plVar15[10]; + if (plVar15 == (longlong *)0x0) goto LAB_140024a75; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 0xd; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "db_log_cache"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15); + if (lVar11 == 0) { +LAB_140024a75: + iVar4 = *(int *)(param_1 + 0x144); +LAB_140024a7c: + *(int *)(param_1 + 0x148) = iVar4; + plVar15 = local_470; + } + else { + for (lVar14 = *(longlong *)(lVar11 + 0xa0); plVar15 = local_470, lVar14 != lVar11 + 0x58; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar18 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar18 == (char *)0x0; + lVar12 = 0xe; + pcVar21 = "session_count"; + do { + if (lVar12 == 0) break; + lVar12 = lVar12 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) { + pcVar18 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + if (pcVar18 != (char *)0x0) { + iVar4 = atoi(pcVar18); + goto LAB_140024a7c; + } + break; + } + } + } + do { + plVar16 = local_470; + if (plVar15 == (longlong *)0x0) goto joined_r0x000140024b08; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 0xd; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "agentmanager"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) break; + plVar15 = (longlong *)plVar15[10]; + } while( true ); + while (lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15), lVar11 == 0) { + do { + plVar15 = (longlong *)plVar15[10]; + plVar16 = local_470; + if (plVar15 == (longlong *)0x0) goto joined_r0x000140024b08; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 0xd; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "agentmanager"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15); + plVar16 = local_470; + if (lVar11 != 0) { + FUN_140025c60(param_1,lVar11,0x15); + plVar16 = local_470; + } +joined_r0x000140024b08: + do { + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x000140024b88; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 9; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "db_cache"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) break; + plVar16 = (longlong *)plVar16[10]; + } while( true ); + while (lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16), lVar11 == 0) { + do { + plVar16 = (longlong *)plVar16[10]; + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x000140024b88; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 9; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "db_cache"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16); + plVar15 = local_470; + if (lVar11 != 0) { + FUN_140025c60(param_1,lVar11,0xc); + plVar15 = local_470; + } +joined_r0x000140024b88: + do { + plVar16 = local_470; + if (plVar15 == (longlong *)0x0) goto joined_r0x000140024c08; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 0xd; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "db_log_cache"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) break; + plVar15 = (longlong *)plVar15[10]; + } while( true ); + while (lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15), lVar11 == 0) { + do { + plVar15 = (longlong *)plVar15[10]; + plVar16 = local_470; + if (plVar15 == (longlong *)0x0) goto joined_r0x000140024c08; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 0xd; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "db_log_cache"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15); + plVar16 = local_470; + if (lVar11 != 0) { + FUN_140025c60(param_1,lVar11,0x11); + plVar16 = local_470; + } +joined_r0x000140024c08: + do { + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x000140024c88; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 0xb; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "msg_server"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) break; + plVar16 = (longlong *)plVar16[10]; + } while( true ); + while (lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16), lVar11 == 0) { + do { + plVar16 = (longlong *)plVar16[10]; + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x000140024c88; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 0xb; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "msg_server"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16); + plVar15 = local_470; + if (lVar11 != 0) { + FUN_140025c60(param_1,lVar11,6); + plVar15 = local_470; + } +joined_r0x000140024c88: + do { + plVar16 = local_470; + if (plVar15 == (longlong *)0x0) goto joined_r0x000140024d08; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 10; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "gm_server"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) break; + plVar15 = (longlong *)plVar15[10]; + } while( true ); + while (lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15), lVar11 == 0) { + do { + plVar15 = (longlong *)plVar15[10]; + plVar16 = local_470; + if (plVar15 == (longlong *)0x0) goto joined_r0x000140024d08; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 10; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "gm_server"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15); + plVar16 = local_470; + if (lVar11 != 0) { + FUN_140025c60(param_1,lVar11,7); + plVar16 = local_470; + } +joined_r0x000140024d08: + do { + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x000140024d88; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 0xf; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "auction_server"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) break; + plVar16 = (longlong *)plVar16[10]; + } while( true ); + while (lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16), lVar11 == 0) { + do { + plVar16 = (longlong *)plVar16[10]; + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x000140024d88; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 0xf; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "auction_server"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16); + plVar15 = local_470; + if (lVar11 != 0) { + FUN_140025c60(param_1,lVar11,10); + plVar15 = local_470; + } +joined_r0x000140024d88: + do { + plVar16 = local_470; + if (plVar15 == (longlong *)0x0) goto joined_r0x000140024e08; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 0xf; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "manager_server"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) break; + plVar15 = (longlong *)plVar15[10]; + } while( true ); + while (lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15), lVar11 == 0) { + do { + plVar15 = (longlong *)plVar15[10]; + plVar16 = local_470; + if (plVar15 == (longlong *)0x0) goto joined_r0x000140024e08; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 0xf; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "manager_server"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15); + plVar16 = local_470; + if (lVar11 != 0) { + FUN_140025c60(param_1,lVar11,9); + plVar16 = local_470; + } +joined_r0x000140024e08: + do { + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x000140024e88; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 0xd; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "match_server"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) break; + plVar16 = (longlong *)plVar16[10]; + } while( true ); + while (lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16), lVar11 == 0) { + do { + plVar16 = (longlong *)plVar16[10]; + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x000140024e88; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 0xd; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "match_server"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16); + plVar15 = local_470; + if (lVar11 != 0) { + FUN_140025c60(param_1,lVar11,0xb); + plVar15 = local_470; + } +joined_r0x000140024e88: + do { + plVar16 = local_470; + if (plVar15 == (longlong *)0x0) goto joined_r0x000140024f08; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 0xd; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "agent_server"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) break; + plVar15 = (longlong *)plVar15[10]; + } while( true ); + while (lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15), lVar11 == 0) { + do { + plVar15 = (longlong *)plVar15[10]; + plVar16 = local_470; + if (plVar15 == (longlong *)0x0) goto joined_r0x000140024f08; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 0xd; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "agent_server"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15); + plVar16 = local_470; + if (lVar11 != 0) { + FUN_140025c60(param_1,lVar11,0xd); + plVar16 = local_470; + } +joined_r0x000140024f08: + do { + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x000140024f88; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 4; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "api"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) break; + plVar16 = (longlong *)plVar16[10]; + } while( true ); + while (lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16), lVar11 == 0) { + do { + plVar16 = (longlong *)plVar16[10]; + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x000140024f88; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 4; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "api"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16); + plVar15 = local_470; + if (lVar11 != 0) { + FUN_140025c60(param_1,lVar11,0x17); + plVar15 = local_470; + } +joined_r0x000140024f88: + do { + plVar16 = local_470; + if (plVar15 == (longlong *)0x0) goto joined_r0x000140025057; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 4; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "dns"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) break; + plVar15 = (longlong *)plVar15[10]; + } while( true ); + while (lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15), lVar11 == 0) { + do { + plVar15 = (longlong *)plVar15[10]; + plVar16 = local_470; + if (plVar15 == (longlong *)0x0) goto joined_r0x000140025057; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 4; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "dns"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15); + plVar16 = local_470; + if (lVar11 != 0) { + for (lVar14 = *(longlong *)(lVar11 + 0xa0); lVar14 != lVar11 + 0x58; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar18 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar18 == (char *)0x0; + lVar12 = 4; + pcVar21 = "dns"; + do { + if (lVar12 == 0) break; + lVar12 = lVar12 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) { + pcVar18 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + if (pcVar18 != (char *)0x0) { + iVar4 = atoi(pcVar18); + *(bool *)(param_1 + 0x151) = 0 < iVar4; + plVar16 = local_470; + } + break; + } + } + } +joined_r0x000140025057: + do { + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x000140025191; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 8; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "setting"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) break; + plVar16 = (longlong *)plVar16[10]; + } while( true ); + while (lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16), lVar11 == 0) { + do { + plVar16 = (longlong *)plVar16[10]; + plVar15 = local_470; + if (plVar16 == (longlong *)0x0) goto joined_r0x000140025191; + bVar31 = (char *)(plVar16[7] + 0x10) == (char *)0x0; + lVar11 = 8; + pcVar18 = (char *)(plVar16[7] + 0x10); + pcVar21 = "setting"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar16 + 0x30))(plVar16); + plVar15 = local_470; + if (lVar11 != 0) { + for (lVar14 = *(longlong *)(lVar11 + 0xa0); pcVar18 = pcVar8, lVar14 != lVar11 + 0x58; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar18 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar18 == (char *)0x0; + lVar12 = 6; + pcVar21 = "multi"; + do { + if (lVar12 == 0) break; + lVar12 = lVar12 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) { + pcVar18 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + break; + } + } + for (lVar14 = *(longlong *)(lVar11 + 0xa0); pcVar21 = pcVar8, lVar14 != lVar11 + 0x58; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar21 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar21 == (char *)0x0; + lVar12 = 5; + pcVar22 = "lock"; + do { + if (lVar12 == 0) break; + lVar12 = lVar12 + -1; + bVar31 = *pcVar21 == *pcVar22; + pcVar21 = pcVar21 + 1; + pcVar22 = pcVar22 + 1; + } while (bVar31); + if (bVar31) { + pcVar21 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + break; + } + } + if (pcVar18 != (char *)0x0) { + iVar4 = atoi(pcVar18); + *(bool *)(param_1 + 0x166) = 0 < iVar4; + } + plVar15 = local_470; + if (pcVar21 != (char *)0x0) { + iVar4 = atoi(pcVar21); + *(double *)(param_1 + 0x168) = (double)iVar4; + plVar15 = local_470; + } + } +joined_r0x000140025191: + do { + if (plVar15 == (longlong *)0x0) goto LAB_140025323; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 5; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "auto"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) goto LAB_1400251c6; + plVar15 = (longlong *)plVar15[10]; + } while( true ); +joined_r0x0001400255e4: + if (pcVar8 == pcVar18) goto LAB_140025629; + bVar31 = (char *)(*(longlong *)(pcVar8 + 0x20) + 0x10) == (char *)0x0; + lVar11 = 3; + pcVar22 = (char *)(*(longlong *)(pcVar8 + 0x20) + 0x10); + pcVar19 = "id"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar22 == *pcVar19; + pcVar22 = pcVar22 + 1; + pcVar19 = pcVar19 + 1; + } while (bVar31); + if (bVar31) { + pcVar20 = (char *)(*(longlong *)(pcVar8 + 0x30) + 0x10); + goto LAB_140025629; + } + pcVar8 = *(char **)(pcVar8 + 0x48); + goto joined_r0x0001400255e4; +LAB_1400251c6: + while (lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15), lVar11 == 0) { + do { + plVar15 = (longlong *)plVar15[10]; + if (plVar15 == (longlong *)0x0) goto LAB_140025323; + bVar31 = (char *)(plVar15[7] + 0x10) == (char *)0x0; + lVar11 = 5; + pcVar18 = (char *)(plVar15[7] + 0x10); + pcVar21 = "auto"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + } while (!bVar31); + } + lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15); + if (lVar11 != 0) { + lVar14 = lVar11 + 0x58; + for (lVar12 = *(longlong *)(lVar11 + 0xa0); pcVar18 = pcVar8, lVar12 != lVar14; + lVar12 = *(longlong *)(lVar12 + 0x48)) { + pcVar18 = (char *)(*(longlong *)(lVar12 + 0x20) + 0x10); + bVar31 = pcVar18 == (char *)0x0; + lVar13 = 0xd; + pcVar21 = "start_server"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) { + pcVar18 = (char *)(*(longlong *)(lVar12 + 0x30) + 0x10); + break; + } + } + for (lVar12 = *(longlong *)(lVar11 + 0xa0); pcVar21 = pcVar8, lVar12 != lVar14; + lVar12 = *(longlong *)(lVar12 + 0x48)) { + pcVar21 = (char *)(*(longlong *)(lVar12 + 0x20) + 0x10); + bVar31 = pcVar21 == (char *)0x0; + lVar13 = 0xe; + pcVar22 = "revive_server"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar21 == *pcVar22; + pcVar21 = pcVar21 + 1; + pcVar22 = pcVar22 + 1; + } while (bVar31); + if (bVar31) { + pcVar21 = (char *)(*(longlong *)(lVar12 + 0x30) + 0x10); + break; + } + } + for (lVar11 = *(longlong *)(lVar11 + 0xa0); pcVar22 = pcVar8, lVar11 != lVar14; + lVar11 = *(longlong *)(lVar11 + 0x48)) { + pcVar22 = (char *)(*(longlong *)(lVar11 + 0x20) + 0x10); + bVar31 = pcVar22 == (char *)0x0; + lVar12 = 0xd; + pcVar20 = "open_channel"; + do { + if (lVar12 == 0) break; + lVar12 = lVar12 + -1; + bVar31 = *pcVar22 == *pcVar20; + pcVar22 = pcVar22 + 1; + pcVar20 = pcVar20 + 1; + } while (bVar31); + if (bVar31) { + pcVar22 = (char *)(*(longlong *)(lVar11 + 0x30) + 0x10); + break; + } + } + if (pcVar18 != (char *)0x0) { + iVar4 = atoi(pcVar18); + *(double *)(param_1 + 0x178) = (double)iVar4; + } + if (pcVar21 != (char *)0x0) { + iVar4 = atoi(pcVar21); + *(bool *)(param_1 + 0x171) = 0 < iVar4; + } + if (pcVar22 != (char *)0x0) { + iVar4 = atoi(pcVar22); + *(bool *)(param_1 + 0x170) = 0 < iVar4; + } + } +LAB_140025323: + lVar11 = FUN_140011ad0((longlong)&local_498,0x14011f8d8); + if (lVar11 != 0) { + for (lVar14 = *(longlong *)(lVar11 + 0xa0); lVar14 != lVar11 + 0x58; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar18 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar18 == (char *)0x0; + lVar12 = 6; + pcVar21 = "value"; + do { + if (lVar12 == 0) break; + lVar12 = lVar12 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) { + pcVar18 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + if (pcVar18 != (char *)0x0) { + iVar4 = atoi(pcVar18); + *(uint *)(param_1 + 0x158) = (uint)(0 < iVar4); + } + break; + } + } + } + DAT_140162706 = 0; + lVar11 = FUN_140011ad0((longlong)&local_498,0x14011f758); + if (lVar11 != 0) { + for (lVar14 = *(longlong *)(lVar11 + 0xa0); lVar14 != lVar11 + 0x58; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar18 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar18 == (char *)0x0; + lVar12 = 5; + pcVar21 = "send"; + do { + if (lVar12 == 0) break; + lVar12 = lVar12 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) { + pcVar8 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + break; + } + } + iVar4 = atoi(pcVar8); + DAT_140162706 = 0 < iVar4; + } + if ((*(int *)(param_1 + 0x154) == 0) && + (lVar11 = FUN_140011ad0((longlong)&local_498,0x14011f8f4), lVar11 != 0)) { + lVar11 = FUN_140011ad0((longlong)&local_498,0x14011f8f4); + pcVar8 = (char *)FUN_140011ad0(lVar11,0x14011f900); + local_4a0 = pcVar8; + while (pcVar8 != (char *)0x0) { + pCVar30 = (LPCSTR)0x0; + pcVar18 = (char *)((longlong)pcVar8 + 0x58); + for (pcVar21 = *(char **)((longlong)pcVar8 + 0xa0); pcVar21 != pcVar18; + pcVar21 = *(char **)(pcVar21 + 0x48)) { + bVar31 = (char *)(*(longlong *)(pcVar21 + 0x20) + 0x10) == (char *)0x0; + lVar11 = 5; + pcVar22 = (char *)(*(longlong *)(pcVar21 + 0x20) + 0x10); + pcVar20 = "name"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar22 == *pcVar20; + pcVar22 = pcVar22 + 1; + pcVar20 = pcVar20 + 1; + } while (bVar31); + if (bVar31) { + pCVar30 = (LPCSTR)(*(longlong *)(pcVar21 + 0x30) + 0x10); + break; + } + } + for (pcVar21 = *(char **)((longlong)pcVar8 + 0xa0); pcVar21 != pcVar18; + pcVar21 = *(char **)(pcVar21 + 0x48)) { + bVar31 = (char *)(*(longlong *)(pcVar21 + 0x20) + 0x10) == (char *)0x0; + lVar11 = 7; + pcVar22 = (char *)(*(longlong *)(pcVar21 + 0x20) + 0x10); + pcVar20 = "minlev"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar22 == *pcVar20; + pcVar22 = pcVar22 + 1; + pcVar20 = pcVar20 + 1; + } while (bVar31); + if (bVar31) { + pcVar21 = (char *)(*(longlong *)(pcVar21 + 0x30) + 0x10); + goto LAB_1400254e6; + } + } + pcVar21 = (char *)0x0; +LAB_1400254e6: + pcVar20 = (char *)0x0; + for (pcVar22 = *(char **)((longlong)pcVar8 + 0xa0); pcVar23 = pcVar20, pcVar22 != pcVar18; + pcVar22 = *(char **)(pcVar22 + 0x48)) { + bVar31 = (char *)(*(longlong *)(pcVar22 + 0x20) + 0x10) == (char *)0x0; + lVar11 = 7; + pcVar23 = (char *)(*(longlong *)(pcVar22 + 0x20) + 0x10); + pcVar24 = "maxlev"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar23 == *pcVar24; + pcVar23 = pcVar23 + 1; + pcVar24 = pcVar24 + 1; + } while (bVar31); + if (bVar31) { + pcVar23 = (char *)(*(longlong *)(pcVar22 + 0x30) + 0x10); + break; + } + } + for (pcVar22 = *(char **)((longlong)pcVar8 + 0xa0); pcVar24 = pcVar20, pcVar22 != pcVar18; + pcVar22 = *(char **)(pcVar22 + 0x48)) { + bVar31 = (char *)(*(longlong *)(pcVar22 + 0x20) + 0x10) == (char *)0x0; + lVar11 = 6; + pcVar24 = (char *)(*(longlong *)(pcVar22 + 0x20) + 0x10); + pcVar17 = "group"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar24 == *pcVar17; + pcVar24 = pcVar24 + 1; + pcVar17 = pcVar17 + 1; + } while (bVar31); + if (bVar31) { + pcVar24 = (char *)(*(longlong *)(pcVar22 + 0x30) + 0x10); + break; + } + } + for (pcVar22 = *(char **)((longlong)pcVar8 + 0xa0); pcVar17 = pcVar20, pcVar22 != pcVar18; + pcVar22 = *(char **)(pcVar22 + 0x48)) { + bVar31 = (char *)(*(longlong *)(pcVar22 + 0x20) + 0x10) == (char *)0x0; + lVar11 = 5; + pcVar17 = (char *)(*(longlong *)(pcVar22 + 0x20) + 0x10); + pcVar19 = "type"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar17 == *pcVar19; + pcVar17 = pcVar17 + 1; + pcVar19 = pcVar19 + 1; + } while (bVar31); + if (bVar31) { + pcVar17 = (char *)(*(longlong *)(pcVar22 + 0x30) + 0x10); + break; + } + } + for (pcVar22 = *(char **)((longlong)pcVar8 + 0xa0); pcVar22 != pcVar18; + pcVar22 = *(char **)(pcVar22 + 0x48)) { + bVar31 = (char *)(*(longlong *)(pcVar22 + 0x20) + 0x10) == (char *)0x0; + lVar11 = 3; + pcVar19 = (char *)(*(longlong *)(pcVar22 + 0x20) + 0x10); + pcVar26 = "id"; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + bVar31 = *pcVar19 == *pcVar26; + pcVar19 = pcVar19 + 1; + pcVar26 = pcVar26 + 1; + } while (bVar31); + if (bVar31) { + if (*(longlong *)(pcVar22 + 0x30) != -0x10) { + pcVar8 = *(char **)((longlong)pcVar8 + 0xa0); + goto joined_r0x0001400255e4; + } + break; + } + } + pcVar20 = "1"; +LAB_140025629: + memset(local_258,0,0x208); + lVar11 = -1; + pCVar27 = pCVar30; + do { + if (lVar11 == 0) break; + lVar11 = lVar11 + -1; + cVar2 = *pCVar27; + pCVar27 = pCVar27 + 1; + } while (cVar2 != '\0'); + MultiByteToWideChar(0,1,pCVar30,~(uint)lVar11,local_258,0x104); + local_3c0 = 7; + pcVar8 = (char *)0x0; + local_3c8 = 0; + local_3d8 = 0; + local_3b0 = 0; + local_3a8 = 0; + local_3a0 = 0; + uVar10 = 0xffffffffffffffff; + pWVar28 = local_258; + do { + if (uVar10 == 0) break; + uVar10 = uVar10 - 1; + WVar3 = *pWVar28; + pWVar28 = pWVar28 + 1; + } while (WVar3 != L'\0'); + FUN_1400016e0((ulonglong *)&local_3d8,local_258,~uVar10 - 1); + if (pcVar21 != (char *)0x0) { + iVar4 = atoi(pcVar21); + local_3b0 = CONCAT44(local_3b0._4_4_,iVar4); + } + if (pcVar23 != (char *)0x0) { + iVar4 = atoi(pcVar23); + local_3b0 = CONCAT44(iVar4,(undefined4)local_3b0); + } + if (pcVar24 != (char *)0x0) { + iVar4 = atoi(pcVar24); + local_3a8 = CONCAT44(local_3a8._4_4_,iVar4); + } + if (pcVar17 != (char *)0x0) { + iVar4 = atoi(pcVar17); + local_3a0 = CONCAT44(local_3a0._4_4_,iVar4); + } + if (pcVar20 != (char *)0x0) { + iVar4 = atoi(pcVar20); + local_3a8 = CONCAT44(iVar4,(undefined4)local_3a8); + } + FUN_1400284f0((ulonglong *)(param_1 + 0x188),(longlong *)&local_3d8); + for (plVar15 = *(longlong **)(local_4a0 + 0x50); plVar15 != (longlong *)0x0; + plVar15 = (longlong *)plVar15[10]) { + lVar11 = (**(code **)(*plVar15 + 0x30))(plVar15); + if (lVar11 != 0) { + pcVar8 = (char *)(**(code **)(*plVar15 + 0x30))(plVar15); + break; + } + } + local_4a0 = pcVar8; + if (7 < local_3c0) { + operator_delete((void *)CONCAT62(uStack_3d6,local_3d8)); + } + } + if ((*(longlong *)(param_1 + 400) - *(longlong *)(param_1 + 0x188) & 0xffffffffffffffc0U) == 0) + { + local_3c0 = 7; + local_3c8 = 0; + local_3d8 = 0; + local_3b0 = 0; + local_3a8 = 0; + local_3a0 = 0; + FUN_1400016e0((ulonglong *)&local_3d8,&DAT_14011f930,3); + local_3b0 = 0x6400000001; + local_3a8 = 0x100000001; + local_3a0 = CONCAT44(local_3a0._4_4_,1); + FUN_1400284f0((ulonglong *)(param_1 + 0x188),(longlong *)&local_3d8); + if (7 < local_3c0) { + operator_delete((void *)CONCAT62(uStack_3d6,local_3d8)); + } + } + } + pcVar8 = (char *)0x0; + DAT_14016270a = 0; + DAT_140162709 = 0; + DAT_140162708 = 0; + DAT_140162707 = 0; + DAT_140162705 = 1; + DAT_140162704 = 1; + lVar11 = FUN_140011ad0((longlong)&local_498,0x14011f6f8); + if (lVar11 != 0) { + lVar12 = lVar11 + 0x58; + for (lVar14 = *(longlong *)(lVar11 + 0xa0); pcVar18 = pcVar8, lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar18 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar18 == (char *)0x0; + lVar13 = 8; + pcVar21 = "preload"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar18 == *pcVar21; + pcVar18 = pcVar18 + 1; + pcVar21 = pcVar21 + 1; + } while (bVar31); + if (bVar31) { + pcVar18 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + break; + } + } + for (lVar14 = *(longlong *)(lVar11 + 0xa0); pcVar21 = pcVar8, lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar21 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar21 == (char *)0x0; + lVar13 = 0xd; + pcVar22 = "preload_char"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar21 == *pcVar22; + pcVar21 = pcVar21 + 1; + pcVar22 = pcVar22 + 1; + } while (bVar31); + if (bVar31) { + pcVar21 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + break; + } + } + for (lVar14 = *(longlong *)(lVar11 + 0xa0); pcVar22 = pcVar8, lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar22 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar22 == (char *)0x0; + lVar13 = 0xc; + pcVar20 = "enemy_debug"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar22 == *pcVar20; + pcVar22 = pcVar22 + 1; + pcVar20 = pcVar20 + 1; + } while (bVar31); + if (bVar31) { + pcVar22 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + break; + } + } + for (lVar14 = *(longlong *)(lVar11 + 0xa0); pcVar20 = pcVar8, lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar20 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar20 == (char *)0x0; + lVar13 = 10; + pcVar23 = "enemy_one"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar20 == *pcVar23; + pcVar20 = pcVar20 + 1; + pcVar23 = pcVar23 + 1; + } while (bVar31); + if (bVar31) { + pcVar20 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + break; + } + } + for (lVar14 = *(longlong *)(lVar11 + 0xa0); pcVar23 = pcVar8, lVar14 != lVar12; + lVar14 = *(longlong *)(lVar14 + 0x48)) { + pcVar23 = (char *)(*(longlong *)(lVar14 + 0x20) + 0x10); + bVar31 = pcVar23 == (char *)0x0; + lVar13 = 0xd; + pcVar24 = "player_debug"; + do { + if (lVar13 == 0) break; + lVar13 = lVar13 + -1; + bVar31 = *pcVar23 == *pcVar24; + pcVar23 = pcVar23 + 1; + pcVar24 = pcVar24 + 1; + } while (bVar31); + if (bVar31) { + pcVar23 = (char *)(*(longlong *)(lVar14 + 0x30) + 0x10); + break; + } + } + for (lVar11 = *(longlong *)(lVar11 + 0xa0); lVar11 != lVar12; + lVar11 = *(longlong *)(lVar11 + 0x48)) { + pcVar24 = (char *)(*(longlong *)(lVar11 + 0x20) + 0x10); + bVar31 = pcVar24 == (char *)0x0; + lVar14 = 9; + pcVar17 = "lua_text"; + do { + if (lVar14 == 0) break; + lVar14 = lVar14 + -1; + bVar31 = *pcVar24 == *pcVar17; + pcVar24 = pcVar24 + 1; + pcVar17 = pcVar17 + 1; + } while (bVar31); + if (bVar31) { + pcVar8 = (char *)(*(longlong *)(lVar11 + 0x30) + 0x10); + break; + } + } + if (pcVar18 != (char *)0x0) { + iVar4 = atoi(pcVar18); + DAT_140162705 = 0 < iVar4; + } + if (pcVar21 != (char *)0x0) { + iVar4 = atoi(pcVar21); + DAT_140162704 = 0 < iVar4; + } + if (pcVar20 != (char *)0x0) { + iVar4 = atoi(pcVar20); + DAT_140162709 = 0 < iVar4; + } + if (pcVar22 != (char *)0x0) { + iVar4 = atoi(pcVar22); + DAT_14016270a = 0 < iVar4; + } + if (pcVar23 != (char *)0x0) { + iVar4 = atoi(pcVar23); + DAT_140162708 = 0 < iVar4; + } + if (pcVar8 != (char *)0x0) { + iVar4 = atoi(pcVar8); + DAT_140162707 = 0 < iVar4; + } + } + _Format = L"=================DNS. ServerParseOption============== \n"; + if (*(char *)(param_1 + 0x151) == '\0') { + _Format = L"=================IP. ServerParseOption============== \n"; + } + wprintf(_Format); + wprintf(L"(PRIVATE)\t[ADDRESS:%s] [PORT:%d] \n"); + plVar15 = (longlong *)(param_1 + 0x58); + if (7 < *(ulonglong *)(param_1 + 0x70)) { + plVar15 = (longlong *)*plVar15; + } + uVar29 = (ulonglong)*(uint *)(param_1 + 0x88); + uVar10 = (ulonglong)*(uint *)(param_1 + 0x84); + wprintf(L"(PUBLIC)\t[ADDRESS:%s] [PORT:%d] [UDP:%d] [UDPCOUNT:%d] \n"); + wprintf(L"==================================================== \n"); + local_498 = TiXmlDocument::vftable; + if (local_438 != &DAT_140162cd0) { + operator_delete__(local_430); + } + uVar9 = FUN_1400118d0(&local_498,plVar15,uVar10,uVar29); + return CONCAT71((int7)((ulonglong)uVar9 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140025b50.c b/decomp/Agent_Release_x64/full/functions/0x140025b50.c new file mode 100644 index 00000000..485e285a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140025b50.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140025b50 FUN_140025b50 + * Pseudocode, not original source. */ + +void FUN_140025b50(undefined8 *param_1) + +{ + if (7 < (ulonglong)param_1[3]) { + operator_delete((void *)*param_1); + } + param_1[3] = 7; + param_1[2] = 0; + *(undefined2 *)param_1 = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140025b80.c b/decomp/Agent_Release_x64/full/functions/0x140025b80.c new file mode 100644 index 00000000..e50328d9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140025b80.c @@ -0,0 +1,75 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140025b80 FUN_140025b80 + * Pseudocode, not original source. */ + +void FUN_140025b80(ulonglong *param_1,int *param_2,longlong param_3) + +{ + char cVar1; + longlong lVar2; + int iVar3; + longlong lVar4; + longlong lVar5; + ulonglong uVar6; + char *_Str; + char *pcVar7; + char *pcVar8; + char *pcVar9; + bool bVar10; + + _Str = (char *)0x0; + lVar2 = *(longlong *)(param_3 + 0xa0); + for (lVar5 = lVar2; pcVar7 = _Str, lVar5 != param_3 + 0x58; lVar5 = *(longlong *)(lVar5 + 0x48)) { + lVar4 = 7; + pcVar7 = (char *)(*(longlong *)(lVar5 + 0x20) + 0x10); + bVar10 = pcVar7 == (char *)0x0; + pcVar8 = "string"; + do { + if (lVar4 == 0) break; + lVar4 = lVar4 + -1; + bVar10 = *pcVar7 == *pcVar8; + pcVar7 = pcVar7 + 1; + pcVar8 = pcVar8 + 1; + } while (bVar10); + if (bVar10) { + pcVar7 = (char *)(*(longlong *)(lVar5 + 0x30) + 0x10); + break; + } + } + do { + if (lVar2 == param_3 + 0x58) break; + lVar5 = 8; + pcVar8 = (char *)(*(longlong *)(lVar2 + 0x20) + 0x10); + bVar10 = pcVar8 == (char *)0x0; + pcVar9 = "timeout"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar10 = *pcVar8 == *pcVar9; + pcVar8 = pcVar8 + 1; + pcVar9 = pcVar9 + 1; + } while (bVar10); + if (bVar10) { + _Str = (char *)(*(longlong *)(lVar2 + 0x30) + 0x10); + break; + } + lVar2 = *(longlong *)(lVar2 + 0x48); + } while( true ); + if (pcVar7 != (char *)0x0) { + uVar6 = 0xffffffffffffffff; + pcVar8 = pcVar7; + do { + if (uVar6 == 0) break; + uVar6 = uVar6 - 1; + cVar1 = *pcVar8; + pcVar8 = pcVar8 + 1; + } while (cVar1 != '\0'); + FUN_14000b810(param_1,pcVar7,~uVar6 - 1); + } + if (_Str != (char *)0x0) { + iVar3 = atoi(_Str); + *param_2 = iVar3; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140025c60.c b/decomp/Agent_Release_x64/full/functions/0x140025c60.c new file mode 100644 index 00000000..b0d8d09b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140025c60.c @@ -0,0 +1,212 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140025c60 FUN_140025c60 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140025c60(longlong param_1,longlong param_2,byte param_3) + +{ + char cVar1; + longlong lVar2; + undefined8 *puVar3; + ulonglong *puVar4; + ulonglong *puVar5; + ulonglong *puVar6; + void **_Src; + longlong lVar7; + ulonglong uVar8; + char *pcVar9; + char *pcVar10; + char *pcVar11; + bool bVar12; + undefined1 auStack_178 [32]; + ulonglong *local_158; + ulonglong *local_150; + undefined8 local_148; + undefined4 *local_138; + undefined4 *local_130; + undefined8 local_128; + longlong local_120 [3]; + longlong local_108 [3]; + ulonglong local_f0; + ulonglong *local_e8; + ulonglong *local_e0; + ulonglong local_d8; + undefined8 local_c8; + undefined2 local_c0; + undefined6 uStack_be; + undefined8 local_b0; + ulonglong local_a8; + void *local_98 [2]; + void *local_88; + void *local_80; + undefined8 local_68; + ulonglong *local_60; + ulonglong *local_58; + ulonglong local_50; + ulonglong local_40; + + local_128 = 0xfffffffffffffffe; + local_40 = DAT_1401555a0 ^ (ulonglong)auStack_178; + pcVar10 = (char *)0x0; + local_c8 = 0; + local_a8 = 7; + local_b0 = 0; + local_c0 = 0; + local_80 = (void *)0x7; + local_88 = (void *)0x0; + local_98[0] = (void *)((ulonglong)local_98[0] & 0xffffffffffff0000); + for (lVar2 = *(longlong *)(param_2 + 0xa0); lVar2 != param_2 + 0x58; + lVar2 = *(longlong *)(lVar2 + 0x48)) { + pcVar9 = (char *)(*(longlong *)(lVar2 + 0x20) + 0x10); + bVar12 = pcVar9 == (char *)0x0; + lVar7 = 3; + pcVar11 = "ip"; + do { + if (lVar7 == 0) break; + lVar7 = lVar7 + -1; + bVar12 = *pcVar9 == *pcVar11; + pcVar9 = pcVar9 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar12); + if (bVar12) { + pcVar10 = (char *)(*(longlong *)(lVar2 + 0x30) + 0x10); + break; + } + } + local_d8 = 0xf; + local_e0 = (ulonglong *)0x0; + local_f0._0_1_ = 0; + uVar8 = 0xffffffffffffffff; + pcVar9 = pcVar10; + do { + if (uVar8 == 0) break; + uVar8 = uVar8 - 1; + cVar1 = *pcVar9; + pcVar9 = pcVar9 + 1; + } while (cVar1 != '\0'); + FUN_14000b810(&local_f0,pcVar10,~uVar8 - 1); + _Src = (void **)FUN_1400dc8f0(&local_68,(LPCSTR)&local_f0); + if (local_98 != _Src) { + if ((void *)0x7 < local_80) { + operator_delete(local_98[0]); + } + local_80 = (void *)0x7; + local_88 = (void *)0x0; + local_98[0] = (void *)((ulonglong)local_98[0] & 0xffffffffffff0000); + if (_Src[3] < (void *)0x8) { + memmove(local_98,_Src,((longlong)_Src[2] + 1U) * 2); + } + else { + local_98[0] = *_Src; + *_Src = (void *)0x0; + } + local_88 = _Src[2]; + local_80 = _Src[3]; + _Src[3] = (void *)0x7; + _Src[2] = (void *)0x0; + *(undefined2 *)_Src = 0; + } + if (7 < local_50) { + operator_delete((void *)CONCAT62(local_68._2_6_,CONCAT11(local_68._1_1_,(byte)local_68))); + } + local_50 = 7; + local_58 = (ulonglong *)0x0; + local_68._0_1_ = 0; + local_68._1_1_ = 0; + if (0xf < local_d8) { + operator_delete((void *)CONCAT71(local_f0._1_7_,(byte)local_f0)); + } + for (lVar2 = *(longlong *)(param_2 + 0xa0); lVar2 != param_2 + 0x58; + lVar2 = *(longlong *)(lVar2 + 0x48)) { + pcVar10 = (char *)(*(longlong *)(lVar2 + 0x20) + 0x10); + bVar12 = pcVar10 == (char *)0x0; + lVar7 = 5; + pcVar9 = "port"; + do { + if (lVar7 == 0) break; + lVar7 = lVar7 + -1; + bVar12 = *pcVar10 == *pcVar9; + pcVar10 = pcVar10 + 1; + pcVar9 = pcVar9 + 1; + } while (bVar12); + if (bVar12) { + sscanf_s((char *)(*(longlong *)(lVar2 + 0x30) + 0x10),"%d"); + break; + } + } + if (*(longlong *)(param_1 + 0x1c8) != 0) { + for (puVar3 = *(undefined8 **) + (*(longlong *)(param_1 + 0x1a8) + + ((ulonglong)param_3 % *(ulonglong *)(param_1 + 0x1b0)) * 8); + puVar3 != (undefined8 *)0x0; puVar3 = (undefined8 *)*puVar3) { + if (param_3 == *(byte *)(puVar3 + 1)) { + if (puVar3 != (undefined8 *)0x0) { + FUN_140028cc0(puVar3 + 2,(undefined4 *)&local_c8); + goto LAB_140025fb9; + } + break; + } + } + } + local_158 = (ulonglong *)0x0; + local_150 = (ulonglong *)0x0; + local_148 = 0; + FUN_140029280((longlong *)&local_158); + puVar5 = local_150; + local_138 = (undefined4 *)local_150; + local_130 = (undefined4 *)local_150; + if (local_150 != (ulonglong *)0x0) { + *(undefined4 *)local_150 = (undefined4)local_c8; + *(undefined4 *)((longlong)local_150 + 4) = local_c8._4_4_; + *(undefined8 *)((longlong)local_150 + 0x20) = 7; + *(undefined8 *)((longlong)local_150 + 0x18) = 0; + *(undefined2 *)((longlong)local_150 + 8) = 0; + FUN_140001600((longlong *)((longlong)local_150 + 8),(longlong *)&local_c0,0,0xffffffffffffffff); + *(undefined8 *)((longlong)puVar5 + 0x48) = 7; + *(undefined8 *)((longlong)puVar5 + 0x40) = 0; + *(undefined2 *)((longlong)puVar5 + 0x30) = 0; + FUN_140001600((longlong *)((longlong)puVar5 + 0x30),(longlong *)local_98,0,0xffffffffffffffff); + } + local_150 = (ulonglong *)((longlong)puVar5 + 0x58); + local_f0._0_1_ = param_3; + FUN_140029cf0(&local_e8,(longlong *)&local_158); + puVar6 = local_e0; + puVar4 = local_e8; + local_68._0_1_ = (byte)local_f0; + local_60 = local_e8; + local_58 = local_e0; + local_50 = local_d8; + local_e8 = (ulonglong *)0x0; + local_e0 = (ulonglong *)0x0; + local_d8 = 0; + if (*(longlong *)(param_1 + 0x1c8) == 0) { + FUN_140029a80((longlong *)(param_1 + 0x1a8),local_120,(undefined1 *)&local_68); + } + else { + FUN_140029920((longlong *)(param_1 + 0x1a8),local_108,(byte *)&local_68,(undefined1 *)&local_68) + ; + } + if (puVar4 != (ulonglong *)0x0) { + FUN_140029b60(puVar4,puVar6); + operator_delete(puVar4); + } + puVar4 = local_158; + if (local_158 != (ulonglong *)0x0) { + FUN_140029b60(local_158,(ulonglong *)((longlong)puVar5 + 0x58)); + operator_delete(puVar4); + } +LAB_140025fb9: + if ((void *)0x7 < local_80) { + operator_delete(local_98[0]); + } + local_80 = (void *)0x7; + local_88 = (void *)0x0; + local_98[0] = (void *)((ulonglong)local_98[0] & 0xffffffffffff0000); + if (7 < local_a8) { + operator_delete((void *)CONCAT62(uStack_be,local_c0)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140026010.c b/decomp/Agent_Release_x64/full/functions/0x140026010.c new file mode 100644 index 00000000..ebbd645b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140026010.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140026010 FUN_140026010 + * Pseudocode, not original source. */ + +void FUN_140026010(longlong param_1) + +{ + if (*(ulonglong **)(param_1 + 8) != (ulonglong *)0x0) { + FUN_140029b60(*(ulonglong **)(param_1 + 8),*(ulonglong **)(param_1 + 0x10)); + operator_delete(*(void **)(param_1 + 8)); + } + *(undefined8 *)(param_1 + 8) = 0; + *(undefined8 *)(param_1 + 0x10) = 0; + *(undefined8 *)(param_1 + 0x18) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140026050.c b/decomp/Agent_Release_x64/full/functions/0x140026050.c new file mode 100644 index 00000000..e79bd0fe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140026050.c @@ -0,0 +1,106 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140026050 FUN_140026050 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong * FUN_140026050(ulonglong *param_1,LPCWSTR param_2) + +{ + char cVar1; + WCHAR WVar2; + ulonglong uVar3; + char *pcVar4; + ulonglong *puVar5; + longlong lVar6; + ulonglong uVar7; + wchar_t *pwVar8; + LPCWSTR pWVar9; + char *pcVar10; + ulonglong *puVar11; + undefined1 auStackY_1d8 [32]; + ulonglong local_188 [2]; + undefined8 local_178; + ulonglong local_170; + undefined2 local_160; + undefined6 uStack_15e; + undefined8 local_150; + ulonglong local_148; + CHAR local_138; + undefined1 local_137 [271]; + ulonglong local_28; + + local_28 = DAT_1401555a0 ^ (ulonglong)auStackY_1d8; + if (param_2 == (LPCWSTR)0x0) { + param_1[3] = 7; + param_1[2] = 0; + *(undefined2 *)param_1 = 0; + uVar7 = 10; + pwVar8 = L"Invalid-IP"; + } + else { + local_138 = '\0'; + memset(local_137,0,0x103); + lVar6 = -1; + pWVar9 = param_2; + do { + if (lVar6 == 0) break; + lVar6 = lVar6 + -1; + WVar2 = *pWVar9; + pWVar9 = pWVar9 + 1; + } while (WVar2 != L'\0'); + WideCharToMultiByte(0,0,param_2,~(uint)lVar6,&local_138,0x104,(LPCSTR)0x0,(LPBOOL)0x0); + lVar6 = Ordinal_52(&local_138); + if (lVar6 != 0) { + FUN_1400222d0(lVar6); + pcVar4 = (char *)Ordinal_12(); + local_170 = 0xf; + local_178 = 0; + local_188[0]._0_1_ = 0; + uVar7 = 0xffffffffffffffff; + pcVar10 = pcVar4; + do { + if (uVar7 == 0) break; + uVar7 = uVar7 - 1; + cVar1 = *pcVar10; + pcVar10 = pcVar10 + 1; + } while (cVar1 != '\0'); + FUN_14000b810(local_188,pcVar4,~uVar7 - 1); + puVar5 = FUN_1400dc8f0((ulonglong *)&local_160,(LPCSTR)local_188); + if (7 < puVar5[3]) { + puVar5 = (ulonglong *)*puVar5; + } + param_1[3] = 7; + param_1[2] = 0; + *(undefined2 *)param_1 = 0; + uVar7 = 0xffffffffffffffff; + puVar11 = puVar5; + do { + if (uVar7 == 0) break; + uVar7 = uVar7 - 1; + uVar3 = *puVar11; + puVar11 = (ulonglong *)((longlong)puVar11 + 2); + } while ((short)uVar3 != 0); + FUN_1400016e0(param_1,puVar5,~uVar7 - 1); + if (7 < local_148) { + operator_delete((void *)CONCAT62(uStack_15e,local_160)); + } + local_148 = 7; + local_150 = 0; + local_160 = 0; + if (local_170 < 0x10) { + return param_1; + } + operator_delete((void *)CONCAT71(local_188[0]._1_7_,(undefined1)local_188[0])); + return param_1; + } + param_1[3] = 7; + param_1[2] = 0; + *(undefined2 *)param_1 = 0; + uVar7 = 7; + pwVar8 = L"None-IP"; + } + FUN_1400016e0(param_1,pwVar8,uVar7); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140026250.c b/decomp/Agent_Release_x64/full/functions/0x140026250.c new file mode 100644 index 00000000..0700a782 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140026250.c @@ -0,0 +1,115 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140026250 FUN_140026250 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140026250(ulonglong *param_1,undefined1 param_2,int param_3) + +{ + void **ppvVar1; + undefined1 auStack_178 [32]; + undefined4 local_158; + undefined8 local_150; + undefined *local_148; + undefined **local_140 [14]; + undefined8 local_d0; + undefined4 local_c8; + basic_ios_> local_c0 [104]; + void *local_58 [3]; + ulonglong local_40; + ulonglong local_28; + + local_150 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_178; + local_158 = 0; + switch(param_2) { + case 1: + FUN_1400016e0(param_1,L"LOBBY",5); + break; + case 2: + FUN_1400016e0(param_1,L"DUNGEON",7); + break; + case 3: + FUN_1400016e0(param_1,&DAT_14011b3f0,3); + break; + case 4: + FUN_1400016e0(param_1,&DAT_14011b3f8,3); + break; + case 5: + FUN_1400016e0(param_1,L"GUILD",5); + break; + case 6: + FUN_1400016e0(param_1,&DAT_14011fbe8,3); + break; + case 7: + FUN_1400016e0(param_1,&DAT_14011b420,2); + break; + case 8: + FUN_1400016e0(param_1,L"GATE",4); + break; + case 9: + FUN_1400016e0(param_1,L"MANAGER",7); + break; + case 10: + FUN_1400016e0(param_1,L"AUCTION",7); + break; + case 0xb: + FUN_1400016e0(param_1,L"MATCH",5); + break; + case 0xc: + FUN_1400016e0(param_1,L"DBC_GAME",8); + break; + case 0xd: + FUN_1400016e0(param_1,L"AGENT",5); + break; + default: + wprintf(L"ServerNameByTypeAndCode ERROR - NOT TYPE : Type [ %d ] Code [ %d ]\n"); + break; + case 0x11: + FUN_1400016e0(param_1,L"DBC_LOG",7); + break; + case 0x12: + FUN_1400016e0(param_1,L"DBC_CHAT",8); + break; + case 0x13: + FUN_1400016e0(param_1,L"DBC_EMERGENCY",0xd); + break; + case 0x15: + FUN_1400016e0(param_1,L"AGENTMANAGER",0xc); + break; + case 0x18: + FUN_1400016e0(param_1,L"PATCH",5); + } + local_148 = &DAT_14011d220; + std::basic_ios_>::basic_ios_> + (local_c0); + local_158 = 1; + std::basic_ostream_>:: + basic_ostream_> + ((basic_ostream_> *)&local_148, + (basic_streambuf_> *)local_140,false); + *(undefined ***)((longlong)local_140 + (longlong)*(int *)(local_148 + 4) + -8) = + std::basic_ostringstream,std::allocator_>::vftable + ; + std::basic_streambuf_>:: + basic_streambuf_> + ((basic_streambuf_> *)local_140); + local_140[0] = std::basic_stringbuf,std::allocator_>:: + vftable; + local_d0 = 0; + local_c8 = 4; + std::basic_ostream_>::operator<< + ((basic_ostream_> *)&local_148,param_3); + FUN_14000b3c0((longlong *)param_1); + ppvVar1 = FUN_14000a600((longlong)&local_148,local_58); + FUN_140002cd0((longlong *)param_1,ppvVar1,0,0xffffffffffffffff); + if (7 < local_40) { + operator_delete(local_58[0]); + } + FUN_14000a550((longlong)local_c0); + std::basic_ios_>::~basic_ios_> + (local_c0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400265f0.c b/decomp/Agent_Release_x64/full/functions/0x1400265f0.c new file mode 100644 index 00000000..4007fbbd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400265f0.c @@ -0,0 +1,108 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400265f0 FUN_1400265f0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400265f0(longlong param_1) + +{ + ulonglong uVar1; + undefined **ppuVar2; + undefined **extraout_RAX; + undefined **extraout_RAX_00; + longlong lVar3; + char *pcVar4; + longlong *plVar5; + char *pcVar6; + bool bVar7; + undefined **local_98 [5]; + longlong *local_70; + undefined8 *local_60; + void *local_58; + undefined8 *local_38; + void *local_30; + undefined8 local_18; + + local_18 = 0xfffffffffffffffe; + pcVar4 = (char *)&DAT_14015b0d8; + if (0xf < DAT_14015b0f0) { + pcVar4 = DAT_14015b0d8; + } + FUN_140012380(local_98,pcVar4); + DAT_14015ad18 = 0; + uVar1 = FUN_140012450((longlong *)local_98,(char *)(local_60 + 2)); + plVar5 = local_70; + if ((char)uVar1 == '\0') { + printf("%s Error Agent Parse !!! \n"); + local_98[0] = TiXmlDocument::vftable; + if (local_38 != &DAT_140162cd0) { + operator_delete__(local_30); + } + ppuVar2 = TiXmlNode::vftable; + local_98[0] = TiXmlNode::vftable; + while (local_70 != (longlong *)0x0) { + plVar5 = (longlong *)local_70[10]; + ppuVar2 = (undefined **)(**(code **)*local_70)(local_70,1); + local_70 = plVar5; + } + if (local_60 != &DAT_140162cd0) { + operator_delete__(local_58); + ppuVar2 = extraout_RAX; + } + return (ulonglong)ppuVar2 & 0xffffffffffffff00; + } + for (; plVar5 != (longlong *)0x0; plVar5 = (longlong *)plVar5[10]) { + bVar7 = (char *)(plVar5[7] + 0x10) == (char *)0x0; + lVar3 = 7; + pcVar4 = (char *)(plVar5[7] + 0x10); + pcVar6 = "server"; + do { + if (lVar3 == 0) break; + lVar3 = lVar3 + -1; + bVar7 = *pcVar4 == *pcVar6; + pcVar4 = pcVar4 + 1; + pcVar6 = pcVar6 + 1; + } while (bVar7); + if (bVar7) goto LAB_140026733; + } +LAB_140026785: + local_98[0] = TiXmlDocument::vftable; + if (local_38 != &DAT_140162cd0) { + operator_delete__(local_30); + } + ppuVar2 = TiXmlNode::vftable; + local_98[0] = TiXmlNode::vftable; + while (local_70 != (longlong *)0x0) { + plVar5 = (longlong *)local_70[10]; + ppuVar2 = (undefined **)(**(code **)*local_70)(local_70,1); + local_70 = plVar5; + } + if (local_60 != &DAT_140162cd0) { + operator_delete__(local_58); + ppuVar2 = extraout_RAX_00; + } + return CONCAT71((int7)((ulonglong)ppuVar2 >> 8),1); +LAB_140026733: + while (lVar3 = (**(code **)(*plVar5 + 0x30))(plVar5), lVar3 == 0) { + do { + plVar5 = (longlong *)plVar5[10]; + if (plVar5 == (longlong *)0x0) goto LAB_140026785; + bVar7 = (char *)(plVar5[7] + 0x10) == (char *)0x0; + lVar3 = 7; + pcVar4 = (char *)(plVar5[7] + 0x10); + pcVar6 = "server"; + do { + if (lVar3 == 0) break; + lVar3 = lVar3 + -1; + bVar7 = *pcVar4 == *pcVar6; + pcVar4 = pcVar4 + 1; + pcVar6 = pcVar6 + 1; + } while (bVar7); + } while (!bVar7); + } + lVar3 = (**(code **)(*plVar5 + 0x30))(plVar5); + if (lVar3 != 0) { + FUN_140025c60(param_1,lVar3,0xd); + } + goto LAB_140026785; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140026820.c b/decomp/Agent_Release_x64/full/functions/0x140026820.c new file mode 100644 index 00000000..b3a3afd0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140026820.c @@ -0,0 +1,485 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140026820 FUN_140026820 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Removing unreachable block (ram,0x000140026d8c) */ +/* WARNING: Removing unreachable block (ram,0x000140026dbf) */ + +undefined8 FUN_140026820(longlong param_1) + +{ + short sVar1; + undefined8 *puVar2; + undefined1 auVar3 [16]; + undefined1 auVar4 [16]; + FILE *_File; + errno_t eVar5; + ulonglong uVar6; + longlong *plVar7; + longlong *plVar8; + char *pcVar9; + ulonglong *puVar10; + char *******pppppppcVar11; + longlong *plVar12; + undefined **ppuVar13; + undefined **extraout_RAX; + longlong lVar14; + short *psVar15; + short *psVar16; + longlong *plVar17; + char *pcVar18; + uint uVar19; + bool bVar20; + undefined1 auStack_1c8 [32]; + FILE *local_1a8 [2]; + undefined **local_198 [5]; + longlong *local_170; + undefined8 *local_160; + void *local_158; + undefined8 *local_138; + void *local_130; + char local_11c; + undefined8 local_118; + undefined8 local_110; + undefined4 local_108; + undefined1 uStack_104; + undefined8 local_100; + ulonglong local_f8; + char ******local_e8 [2]; + char *****local_d8; + char *****local_d0; + undefined1 local_b8; + undefined7 uStack_b7; + undefined8 local_a8; + ulonglong local_a0; + undefined2 local_78; + undefined6 uStack_76; + undefined8 local_68; + ulonglong local_60; + ulonglong local_38; + + local_118 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_1c8; + pcVar9 = (char *)&DAT_14015b100; + if (0xf < DAT_14015b118) { + pcVar9 = DAT_14015b100; + } + FUN_140012380(local_198,pcVar9); + DAT_14015ad18 = 0; + uVar6 = FUN_140012450((longlong *)local_198,(char *)(local_160 + 2)); + plVar12 = (longlong *)0x0; + plVar7 = local_170; + if ((char)uVar6 == '\0') { + local_1a8[0] = operator_new(0x88); + plVar7 = plVar12; + if (local_1a8[0] != (FILE *)0x0) { + plVar7 = FUN_140013200(&local_1a8[0]->_ptr); + } + FUN_1400119b0((longlong *)local_198,plVar7); + plVar7 = local_170; + } + for (; plVar8 = plVar12, plVar7 != (longlong *)0x0; plVar7 = (longlong *)plVar7[10]) { + bVar20 = (char *)(plVar7[7] + 0x10) == (char *)0x0; + lVar14 = 7; + pcVar9 = (char *)(plVar7[7] + 0x10); + pcVar18 = "server"; + do { + if (lVar14 == 0) break; + lVar14 = lVar14 + -1; + bVar20 = *pcVar9 == *pcVar18; + pcVar9 = pcVar9 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar20); + if (bVar20) goto LAB_140026904; + } +LAB_140026946: + if (plVar8 == (longlong *)0x0) { + local_1a8[0] = operator_new(0xa8); + plVar8 = plVar12; + if (local_1a8[0] != (FILE *)0x0) { + plVar8 = FUN_140011bb0(&local_1a8[0]->_ptr,"server"); + } + FUN_1400119b0((longlong *)local_198,plVar8); + } + for (pcVar9 = *(char **)(DAT_140162d58 + 8); plVar7 = plVar12, + pcVar9 != *(char **)(DAT_140162d58 + 0x10); pcVar9 = pcVar9 + 0x30) { + if (*pcVar9 == '\x18') { + plVar7 = (longlong *)(pcVar9 + 8); + if (7 < *(ulonglong *)(pcVar9 + 0x20)) { + plVar7 = *(longlong **)(pcVar9 + 8); + } + break; + } + } + local_f8 = 7; + local_100 = 0; + local_110 = (char *)((ulonglong)local_110 & 0xffffffffffff0000); + uVar6 = 0xffffffffffffffff; + plVar17 = plVar7; + do { + if (uVar6 == 0) break; + uVar6 = uVar6 - 1; + lVar14 = *plVar17; + plVar17 = (longlong *)((longlong)plVar17 + 2); + } while ((short)lVar14 != 0); + FUN_1400016e0(&local_110,plVar7,~uVar6 - 1); + FUN_1400dca90((ulonglong *)&local_b8,(LPCWSTR)&local_110); + if (7 < local_f8) { + operator_delete(local_110); + } + local_f8 = 7; + local_100 = 0; + local_110 = (char *)((ulonglong)local_110 & 0xffffffffffff0000); + psVar15 = (short *)(param_1 + 0x30); + if (7 < *(ulonglong *)(param_1 + 0x48)) { + psVar15 = *(short **)psVar15; + } + local_d0 = (char *****)0x7; + local_d8 = (char *****)0x0; + local_e8[0] = (char ******)((ulonglong)local_e8[0] & 0xffffffffffff0000); + uVar6 = 0xffffffffffffffff; + psVar16 = psVar15; + do { + if (uVar6 == 0) break; + uVar6 = uVar6 - 1; + sVar1 = *psVar16; + psVar16 = psVar16 + 1; + } while (sVar1 != 0); + FUN_1400016e0((ulonglong *)local_e8,psVar15,~uVar6 - 1); + puVar10 = FUN_1400dca90((ulonglong *)&local_78,(LPCWSTR)local_e8); + if (0xf < puVar10[3]) { + puVar10 = (ulonglong *)*puVar10; + } + FUN_140011de0(plVar8,"ip",(char *)puVar10); + if (0xf < local_60) { + operator_delete((void *)CONCAT62(uStack_76,CONCAT11(local_78._1_1_,(char)local_78))); + } + local_60 = 0xf; + local_68 = 0; + local_78._0_1_ = '\0'; + if (7 < local_d0) { + operator_delete(local_e8[0]); + } + FUN_1400138d0((char *)&local_78,0x40,"%d",0xc3b1); + FUN_140011de0(plVar8,"port",(char *)&local_78); + pcVar9 = &local_b8; + if (0xf < local_a0) { + pcVar9 = (char *)CONCAT71(uStack_b7,local_b8); + } + FUN_140011de0(plVar8,"file",pcVar9); + plVar7 = local_170; + if (0xf < local_a0) { + operator_delete((void *)CONCAT71(uStack_b7,local_b8)); + plVar7 = local_170; + } + for (; plVar8 = plVar12, plVar7 != (longlong *)0x0; plVar7 = (longlong *)plVar7[10]) { + bVar20 = (char *)(plVar7[7] + 0x10) == (char *)0x0; + lVar14 = 8; + pcVar9 = (char *)(plVar7[7] + 0x10); + pcVar18 = "connect"; + do { + if (lVar14 == 0) break; + lVar14 = lVar14 + -1; + bVar20 = *pcVar9 == *pcVar18; + pcVar9 = pcVar9 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar20); + if (bVar20) goto LAB_140026b43; + } +LAB_140026b85: + if (plVar8 == (longlong *)0x0) { + local_1a8[0] = operator_new(0xa8); + plVar8 = plVar12; + if (local_1a8[0] != (FILE *)0x0) { + plVar8 = FUN_140011bb0(&local_1a8[0]->_ptr,"connect"); + } + FUN_1400119b0((longlong *)local_198,plVar8); + } + plVar7 = plVar12; + if (*(longlong *)(param_1 + 0x1c8) != 0) { + auVar3._8_8_ = 0; + auVar3._0_8_ = *(ulonglong *)(param_1 + 0x1b0); + for (puVar2 = *(undefined8 **) + (*(longlong *)(param_1 + 0x1a8) + + SUB168((ZEXT816(0) << 0x40 | ZEXT816(0x15)) % auVar3,0) * 8); + puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { + if (*(char *)(puVar2 + 1) == '\x15') { + if (((puVar2 != (undefined8 *)0x0) && (lVar14 = puVar2[2], lVar14 != puVar2[3])) && + (plVar7 = (longlong *)(lVar14 + 0x30), 7 < *(ulonglong *)(lVar14 + 0x48))) { + plVar7 = *(longlong **)(lVar14 + 0x30); + } + break; + } + } + } + local_f8 = 7; + local_100 = 0; + local_110 = (char *)((ulonglong)local_110 & 0xffffffffffff0000); + uVar6 = 0xffffffffffffffff; + plVar17 = plVar7; + do { + if (uVar6 == 0) break; + uVar6 = uVar6 - 1; + lVar14 = *plVar17; + plVar17 = (longlong *)((longlong)plVar17 + 2); + } while ((short)lVar14 != 0); + FUN_1400016e0(&local_110,plVar7,~uVar6 - 1); + FUN_1400dca90((ulonglong *)&local_b8,(LPCWSTR)&local_110); + if (7 < local_f8) { + operator_delete(local_110); + } + local_f8 = 7; + local_100 = 0; + local_110 = (char *)((ulonglong)local_110 & 0xffffffffffff0000); + uVar19 = 0; + if (*(longlong *)(param_1 + 0x1c8) != 0) { + auVar4._8_8_ = 0; + auVar4._0_8_ = *(ulonglong *)(param_1 + 0x1b0); + for (puVar2 = *(undefined8 **) + (*(longlong *)(param_1 + 0x1a8) + + SUB168((ZEXT816(0) << 0x40 | ZEXT816(0x15)) % auVar4,0) * 8); + puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { + if (*(char *)(puVar2 + 1) == '\x15') { + if ((puVar2 != (undefined8 *)0x0) && (puVar2[2] != puVar2[3])) { + uVar19 = *(uint *)(puVar2[2] + 4); + } + break; + } + } + } + pcVar9 = &local_b8; + if (0xf < local_a0) { + pcVar9 = (char *)CONCAT71(uStack_b7,local_b8); + } + FUN_140011de0(plVar8,"ip",pcVar9); + FUN_1400138d0((char *)&local_78,0x40,"%d",(ulonglong)uVar19); + FUN_140011de0(plVar8,"port",(char *)&local_78); + if (0xf < local_a0) { + operator_delete((void *)CONCAT71(uStack_b7,local_b8)); + } + local_f8 = 0xf; + local_100 = 0; + uVar6 = (ulonglong)local_110 >> 0x28; + local_110 = (char *)((ulonglong)local_110 & 0xffffffffffffff00); + local_d0 = (char *****)0xf; + local_d8 = (char *****)0x0; + local_e8[0] = (char ******)((ulonglong)local_e8[0] & 0xffffffffffffff00); + if (*(char *)(param_1 + 0x1e8) == '\r') { + local_110 = (char *)CONCAT35((int3)uVar6,0x746e656761); + local_100 = 5; + /* WARNING: Ignoring partial resolution of indirect */ + local_110._5_1_ = 0; + } + else if (*(char *)(param_1 + 0x1e8) == '\x15') { + local_110 = (char *)0x6e616d746e656761; + local_108 = 0x72656761; + local_100 = 0xc; + uStack_104 = 0; + } + plVar7 = (longlong *)FUN_140011ad0((longlong)local_198,(longlong)&local_110); + if (plVar7 == (longlong *)0x0) { + local_1a8[0] = operator_new(0xa8); + plVar7 = plVar12; + if (local_1a8[0] != (FILE *)0x0) { + pcVar9 = (char *)&local_110; + if (0xf < local_f8) { + pcVar9 = local_110; + } + plVar7 = FUN_140011bb0(&local_1a8[0]->_ptr,pcVar9); + } + FUN_1400119b0((longlong *)local_198,plVar7); + } + for (pcVar9 = *(char **)(DAT_140162d58 + 8); plVar8 = plVar12, + pcVar9 != *(char **)(DAT_140162d58 + 0x10); pcVar9 = pcVar9 + 0x30) { + if (*pcVar9 == *(char *)(param_1 + 0x1e8)) { + plVar8 = (longlong *)(pcVar9 + 8); + if (7 < *(ulonglong *)(pcVar9 + 0x20)) { + plVar8 = *(longlong **)(pcVar9 + 8); + } + break; + } + } + local_60 = 7; + local_68 = 0; + local_78._0_1_ = '\0'; + local_78._1_1_ = 0; + uVar6 = 0xffffffffffffffff; + plVar17 = plVar8; + do { + if (uVar6 == 0) break; + uVar6 = uVar6 - 1; + lVar14 = *plVar17; + plVar17 = (longlong *)((longlong)plVar17 + 2); + } while ((short)lVar14 != 0); + FUN_1400016e0((ulonglong *)&local_78,plVar8,~uVar6 - 1); + pppppppcVar11 = (char *******)FUN_1400dca90((ulonglong *)&local_b8,&local_78); + if (local_e8 != pppppppcVar11) { + if ((char ******)0xf < local_d0) { + operator_delete(local_e8[0]); + } + local_d0 = (char *****)0xf; + local_d8 = (char *****)0x0; + local_e8[0] = (char ******)((ulonglong)local_e8[0] & 0xffffffffffffff00); + if (pppppppcVar11[3] < (char ******)0x10) { + memmove(local_e8,pppppppcVar11,(longlong)pppppppcVar11[2] + 1); + } + else { + local_e8[0] = *pppppppcVar11; + *pppppppcVar11 = (char ******)0x0; + } + local_d8 = (char *****)pppppppcVar11[2]; + local_d0 = (char *****)pppppppcVar11[3]; + pppppppcVar11[3] = (char ******)0xf; + pppppppcVar11[2] = (char ******)0x0; + *(undefined1 *)pppppppcVar11 = 0; + } + if (0xf < local_a0) { + operator_delete((void *)CONCAT71(uStack_b7,local_b8)); + } + local_a0 = 0xf; + local_a8 = 0; + local_b8 = '\0'; + if (7 < local_60) { + operator_delete((void *)CONCAT62(uStack_76,CONCAT11(local_78._1_1_,(char)local_78))); + } + pppppppcVar11 = local_e8; + if ((char ******)0xf < local_d0) { + pppppppcVar11 = (char *******)local_e8[0]; + } + FUN_140011de0(plVar7,"file",(char *)pppppppcVar11); + FUN_1400138d0(&local_b8,0x40,"%d",(ulonglong)*(uint *)(param_1 + 0x154)); + FUN_140011de0(plVar7,"code",&local_b8); + if ((char ******)0xf < local_d0) { + operator_delete(local_e8[0]); + } + local_d0 = (char *****)0xf; + local_d8 = (char *****)0x0; + local_e8[0] = (char ******)((ulonglong)local_e8[0] & 0xffffffffffffff00); + if (0xf < local_f8) { + operator_delete(local_110); + } + plVar7 = local_170; + if (*(char *)(param_1 + 0x151) != '\0') { + for (; plVar8 = plVar12, plVar7 != (longlong *)0x0; plVar7 = (longlong *)plVar7[10]) { + bVar20 = (char *)(plVar7[7] + 0x10) == (char *)0x0; + lVar14 = 4; + pcVar9 = (char *)(plVar7[7] + 0x10); + pcVar18 = "dns"; + do { + if (lVar14 == 0) break; + lVar14 = lVar14 + -1; + bVar20 = *pcVar9 == *pcVar18; + pcVar9 = pcVar9 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar20); + if (bVar20) goto LAB_140026ff3; + } +LAB_140027035: + if (plVar8 == (longlong *)0x0) { + local_1a8[0] = operator_new(0xa8); + if (local_1a8[0] != (FILE *)0x0) { + plVar12 = FUN_140011bb0(&local_1a8[0]->_ptr,"dns"); + } + FUN_1400119b0((longlong *)local_198,plVar12); + plVar8 = plVar12; + } + FUN_1400138d0(&local_b8,0x40,"%d",1); + FUN_140011de0(plVar8,"dns",&local_b8); + } + pcVar9 = (char *)&DAT_14015b100; + if (0xf < DAT_14015b118) { + pcVar9 = DAT_14015b100; + } + local_1a8[0] = (FILE *)0x0; + eVar5 = fopen_s(local_1a8,pcVar9,"w"); + _File = local_1a8[0]; + if ((eVar5 == 0) && (local_1a8[0] != (FILE *)0x0)) { + if (local_11c != '\0') { + fputc(0xef,local_1a8[0]); + fputc(0xbb,_File); + fputc(0xbf,_File); + } + (*(code *)local_198[0][1])(local_198,_File,0); + ferror(_File); + fclose(_File); + } + printf("Create Patch Option File Succeed \n"); + local_198[0] = TiXmlDocument::vftable; + if (local_138 != &DAT_140162cd0) { + operator_delete__(local_130); + } + ppuVar13 = TiXmlNode::vftable; + local_198[0] = TiXmlNode::vftable; + while (local_170 != (longlong *)0x0) { + plVar7 = (longlong *)local_170[10]; + ppuVar13 = (undefined **)(**(code **)*local_170)(local_170,1); + local_170 = plVar7; + } + if (local_160 != &DAT_140162cd0) { + operator_delete__(local_158); + ppuVar13 = extraout_RAX; + } + return CONCAT71((int7)((ulonglong)ppuVar13 >> 8),1); +LAB_140026904: + while (lVar14 = (**(code **)(*plVar7 + 0x30))(plVar7), lVar14 == 0) { + do { + plVar7 = (longlong *)plVar7[10]; + if (plVar7 == (longlong *)0x0) goto LAB_140026946; + bVar20 = (char *)(plVar7[7] + 0x10) == (char *)0x0; + lVar14 = 7; + pcVar9 = (char *)(plVar7[7] + 0x10); + pcVar18 = "server"; + do { + if (lVar14 == 0) break; + lVar14 = lVar14 + -1; + bVar20 = *pcVar9 == *pcVar18; + pcVar9 = pcVar9 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar20); + } while (!bVar20); + } + plVar8 = (longlong *)(**(code **)(*plVar7 + 0x30))(plVar7); + goto LAB_140026946; +LAB_140026b43: + while (lVar14 = (**(code **)(*plVar7 + 0x30))(plVar7), lVar14 == 0) { + do { + plVar7 = (longlong *)plVar7[10]; + if (plVar7 == (longlong *)0x0) goto LAB_140026b85; + bVar20 = (char *)(plVar7[7] + 0x10) == (char *)0x0; + lVar14 = 8; + pcVar9 = (char *)(plVar7[7] + 0x10); + pcVar18 = "connect"; + do { + if (lVar14 == 0) break; + lVar14 = lVar14 + -1; + bVar20 = *pcVar9 == *pcVar18; + pcVar9 = pcVar9 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar20); + } while (!bVar20); + } + plVar8 = (longlong *)(**(code **)(*plVar7 + 0x30))(plVar7); + goto LAB_140026b85; +LAB_140026ff3: + while (lVar14 = (**(code **)(*plVar7 + 0x30))(plVar7), lVar14 == 0) { + do { + plVar7 = (longlong *)plVar7[10]; + if (plVar7 == (longlong *)0x0) goto LAB_140027035; + bVar20 = (char *)(plVar7[7] + 0x10) == (char *)0x0; + lVar14 = 4; + pcVar9 = (char *)(plVar7[7] + 0x10); + pcVar18 = "dns"; + do { + if (lVar14 == 0) break; + lVar14 = lVar14 + -1; + bVar20 = *pcVar9 == *pcVar18; + pcVar9 = pcVar9 + 1; + pcVar18 = pcVar18 + 1; + } while (bVar20); + } while (!bVar20); + } + plVar8 = (longlong *)(**(code **)(*plVar7 + 0x30))(plVar7); + goto LAB_140027035; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400271e0.c b/decomp/Agent_Release_x64/full/functions/0x1400271e0.c new file mode 100644 index 00000000..dc00f23f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400271e0.c @@ -0,0 +1,175 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400271e0 FUN_1400271e0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_1400271e0(longlong param_1) + +{ + short sVar1; + FILE *_File; + errno_t eVar2; + ulonglong uVar3; + longlong *plVar4; + longlong *plVar5; + longlong *plVar6; + ulonglong *puVar7; + undefined **ppuVar8; + undefined **extraout_RAX; + longlong lVar9; + char *pcVar10; + short *psVar11; + char *pcVar12; + short *psVar13; + bool bVar14; + undefined1 auStack_158 [32]; + FILE *local_138; + undefined8 local_130; + undefined **local_128 [5]; + longlong *local_100; + undefined8 *local_f0; + void *local_e8; + undefined8 *local_c8; + void *local_c0; + char local_ac; + WCHAR local_a8; + undefined6 uStack_a6; + undefined8 local_98; + ulonglong local_90; + ulonglong local_78 [2]; + undefined8 local_68; + ulonglong local_60; + ulonglong local_38; + + local_130 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_158; + pcVar10 = (char *)&DAT_14015b0d8; + if (0xf < DAT_14015b0f0) { + pcVar10 = DAT_14015b0d8; + } + FUN_140012380(local_128,pcVar10); + DAT_14015ad18 = 0; + uVar3 = FUN_140012450((longlong *)local_128,(char *)(local_f0 + 2)); + plVar6 = (longlong *)0x0; + plVar4 = local_100; + if ((char)uVar3 == '\0') { + local_138 = operator_new(0x88); + plVar4 = plVar6; + if (local_138 != (FILE *)0x0) { + plVar4 = FUN_140013200(&local_138->_ptr); + } + FUN_1400119b0((longlong *)local_128,plVar4); + plVar4 = local_100; + } + for (; plVar5 = plVar6, plVar4 != (longlong *)0x0; plVar4 = (longlong *)plVar4[10]) { + bVar14 = (char *)(plVar4[7] + 0x10) == (char *)0x0; + lVar9 = 7; + pcVar10 = (char *)(plVar4[7] + 0x10); + pcVar12 = "server"; + do { + if (lVar9 == 0) break; + lVar9 = lVar9 + -1; + bVar14 = *pcVar10 == *pcVar12; + pcVar10 = pcVar10 + 1; + pcVar12 = pcVar12 + 1; + } while (bVar14); + if (bVar14) goto LAB_1400272c3; + } +LAB_140027305: + if (plVar5 == (longlong *)0x0) { + local_138 = operator_new(0xa8); + if (local_138 != (FILE *)0x0) { + plVar6 = FUN_140011bb0(&local_138->_ptr,"server"); + } + FUN_1400119b0((longlong *)local_128,plVar6); + plVar5 = plVar6; + } + psVar11 = (short *)(param_1 + 0x30); + if (7 < *(ulonglong *)(param_1 + 0x48)) { + psVar11 = *(short **)psVar11; + } + local_90 = 7; + local_98 = 0; + local_a8 = L'\0'; + uVar3 = 0xffffffffffffffff; + psVar13 = psVar11; + do { + if (uVar3 == 0) break; + uVar3 = uVar3 - 1; + sVar1 = *psVar13; + psVar13 = psVar13 + 1; + } while (sVar1 != 0); + FUN_1400016e0((ulonglong *)&local_a8,psVar11,~uVar3 - 1); + puVar7 = FUN_1400dca90(local_78,&local_a8); + if (0xf < puVar7[3]) { + puVar7 = (ulonglong *)*puVar7; + } + FUN_140011de0(plVar5,"ip",(char *)puVar7); + if (0xf < local_60) { + operator_delete((void *)CONCAT71(local_78[0]._1_7_,(undefined1)local_78[0])); + } + local_60 = 0xf; + local_68 = 0; + local_78[0]._0_1_ = 0; + if (7 < local_90) { + operator_delete((void *)CONCAT62(uStack_a6,local_a8)); + } + FUN_1400138d0((char *)local_78,0x40,"%d",(ulonglong)*(uint *)(param_1 + 0x80)); + FUN_140011de0(plVar5,"port",(char *)local_78); + pcVar10 = (char *)&DAT_14015b0d8; + if (0xf < DAT_14015b0f0) { + pcVar10 = DAT_14015b0d8; + } + local_138 = (FILE *)0x0; + eVar2 = fopen_s(&local_138,pcVar10,"w"); + _File = local_138; + if ((eVar2 == 0) && (local_138 != (FILE *)0x0)) { + if (local_ac != '\0') { + fputc(0xef,local_138); + fputc(0xbb,_File); + fputc(0xbf,_File); + } + (*(code *)local_128[0][1])(local_128,_File,0); + ferror(_File); + fclose(_File); + } + printf("Create Agent Option File Succeed \n"); + local_128[0] = TiXmlDocument::vftable; + if (local_c8 != &DAT_140162cd0) { + operator_delete__(local_c0); + } + ppuVar8 = TiXmlNode::vftable; + local_128[0] = TiXmlNode::vftable; + while (local_100 != (longlong *)0x0) { + plVar4 = (longlong *)local_100[10]; + ppuVar8 = (undefined **)(**(code **)*local_100)(local_100,1); + local_100 = plVar4; + } + if (local_f0 != &DAT_140162cd0) { + operator_delete__(local_e8); + ppuVar8 = extraout_RAX; + } + return CONCAT71((int7)((ulonglong)ppuVar8 >> 8),1); +LAB_1400272c3: + while (lVar9 = (**(code **)(*plVar4 + 0x30))(), lVar9 == 0) { + do { + plVar4 = (longlong *)plVar4[10]; + if (plVar4 == (longlong *)0x0) goto LAB_140027305; + bVar14 = (char *)(plVar4[7] + 0x10) == (char *)0x0; + lVar9 = 7; + pcVar10 = (char *)(plVar4[7] + 0x10); + pcVar12 = "server"; + do { + if (lVar9 == 0) break; + lVar9 = lVar9 + -1; + bVar14 = *pcVar10 == *pcVar12; + pcVar10 = pcVar10 + 1; + pcVar12 = pcVar12 + 1; + } while (bVar14); + } while (!bVar14); + } + plVar5 = (longlong *)(**(code **)(*plVar4 + 0x30))(); + goto LAB_140027305; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140027540.c b/decomp/Agent_Release_x64/full/functions/0x140027540.c new file mode 100644 index 00000000..668b86c6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140027540.c @@ -0,0 +1,552 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140027540 FUN_140027540 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +ulonglong FUN_140027540(longlong param_1,ulonglong *param_2,uint *param_3) + +{ + char cVar1; + short sVar2; + undefined8 *puVar3; + code *pcVar4; + uint uVar5; + FILE *_File; + int iVar6; + errno_t eVar7; + char *******pppppppcVar8; + undefined4 extraout_var; + ulonglong extraout_RAX; + ulonglong extraout_RAX_00; + ulonglong extraout_RAX_01; + ulonglong extraout_RAX_02; + longlong *plVar9; + undefined8 uVar10; + longlong *plVar11; + undefined4 extraout_var_00; + undefined8 extraout_RAX_03; + undefined8 extraout_RAX_04; + undefined8 extraout_RAX_05; + undefined8 extraout_RAX_06; + undefined8 extraout_RAX_07; + undefined8 extraout_RAX_08; + ulonglong uVar12; + ulonglong uVar13; + short *psVar14; + ulonglong *puVar15; + uint *puVar16; + short *psVar17; + uint *puVar18; + char *pcVar19; + LPCWSTR lpWideCharStr; + undefined1 auStackY_3b8 [32]; + FILE *local_378 [2]; + undefined **local_368 [5]; + undefined8 *local_340; + undefined8 *local_330; + void *local_328; + undefined8 *local_308; + void *local_300; + char local_2ec; + undefined **local_2e8 [5]; + undefined8 *local_2c0; + undefined8 *local_2b0; + void *local_2a8; + undefined8 *local_288; + void *local_280; + undefined8 local_268; + char *******local_260 [2]; + char ******local_250; + char ******local_248; + char *******local_238 [2]; + char ******local_228; + char ******local_220; + char *******local_210 [2]; + char ******local_200; + char ******local_1f8; + undefined8 local_1e8; + undefined8 local_1d8; + ulonglong local_1d0; + ulonglong local_1c0 [2]; + undefined8 local_1b0; + ulonglong local_1a8; + ulonglong local_198 [2]; + undefined8 local_188; + ulonglong local_180; + CHAR local_158 [272]; + ulonglong local_48; + + local_268 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStackY_3b8; + local_1a8 = 7; + plVar11 = (longlong *)0x0; + local_1b0 = 0; + local_1c0[0]._0_2_ = 0; + local_220 = (char ******)0xf; + local_228 = (char ******)0x0; + local_238[0] = (char *******)((ulonglong)local_238[0] & 0xffffffffffffff00); + FUN_140026250(local_1c0,(char)param_3[3],param_3[1]); + psVar14 = (short *)local_1c0; + if (7 < local_1a8) { + psVar14 = (short *)CONCAT62(local_1c0[0]._2_6_,(short)local_1c0[0]); + } + local_248 = (char ******)0x7; + local_250 = (char ******)0x0; + local_260[0] = (char *******)((ulonglong)local_260[0] & 0xffffffffffff0000); + uVar12 = 0xffffffffffffffff; + psVar17 = psVar14; + do { + if (uVar12 == 0) break; + uVar12 = uVar12 - 1; + sVar2 = *psVar17; + psVar17 = psVar17 + 1; + } while (sVar2 != 0); + FUN_1400016e0((ulonglong *)local_260,psVar14,~uVar12 - 1); + pppppppcVar8 = (char *******)FUN_1400dca90(&local_1e8,(LPCWSTR)local_260); + if (local_238 != (char ********)pppppppcVar8) { + if ((char ******)0xf < local_220) { + operator_delete(local_238[0]); + } + local_220 = (char ******)0xf; + local_228 = (char ******)0x0; + local_238[0] = (char *******)((ulonglong)local_238[0] & 0xffffffffffffff00); + if (pppppppcVar8[3] < (char ******)0x10) { + memmove(local_238,pppppppcVar8,(longlong)pppppppcVar8[2] + 1); + } + else { + local_238[0] = (char *******)*pppppppcVar8; + *pppppppcVar8 = (char ******)0x0; + } + local_228 = pppppppcVar8[2]; + local_220 = pppppppcVar8[3]; + pppppppcVar8[3] = (char ******)0xf; + pppppppcVar8[2] = (char ******)0x0; + *(undefined1 *)pppppppcVar8 = 0; + } + if (0xf < local_1d0) { + operator_delete((void *)CONCAT62(local_1e8._2_6_,CONCAT11(local_1e8._1_1_,(undefined1)local_1e8) + )); + } + local_1d0 = 0xf; + local_1d8 = 0; + local_1e8._0_1_ = 0; + if (7 < local_248) { + operator_delete(local_260[0]); + } + FUN_14000f8e0(param_2,"option\\",7); + FUN_14000faa0((longlong *)param_2,local_238,0,0xffffffffffffffff); + FUN_14000f8e0(param_2,&DAT_14011fd68,4); + puVar15 = param_2; + if (0xf < param_2[3]) { + puVar15 = (ulonglong *)*param_2; + } + FUN_140012380(local_2e8,(char *)puVar15); + DAT_14015ad18 = 0; + uVar12 = FUN_140012450((longlong *)local_2e8,(char *)(local_2b0 + 2)); + if ((char)uVar12 == '\0') { + puVar15 = param_2; + if (0xf < param_2[3]) { + puVar15 = (ulonglong *)*param_2; + } + FUN_140012380(local_368,(char *)puVar15); + local_378[0] = operator_new(0x88); + plVar9 = plVar11; + if (local_378[0] != (FILE *)0x0) { + plVar9 = FUN_140013200(&local_378[0]->_ptr); + } + FUN_1400119b0((longlong *)local_368,plVar9); + local_378[0] = operator_new(0xa8); + plVar9 = plVar11; + if (local_378[0] != (FILE *)0x0) { + plVar9 = FUN_140011bb0(&local_378[0]->_ptr,"server"); + } + FUN_1400119b0((longlong *)local_368,plVar9); + local_248 = (char ******)0xf; + local_250 = (char ******)0x0; + local_260[0] = (char *******)((ulonglong)local_260[0] & 0xffffffffffffff00); + local_1f8 = (char ******)0xf; + local_200 = (char ******)0x0; + local_210[0] = (char *******)((ulonglong)local_210[0] & 0xffffffffffffff00); + puVar16 = param_3 + 10; + if (7 < *(ulonglong *)(param_3 + 0x10)) { + puVar16 = *(uint **)puVar16; + } + local_1d0 = 7; + local_1d8 = 0; + local_1e8._0_1_ = 0; + local_1e8._1_1_ = 0; + uVar12 = 0xffffffffffffffff; + puVar18 = puVar16; + do { + if (uVar12 == 0) break; + uVar12 = uVar12 - 1; + uVar5 = *puVar18; + puVar18 = (uint *)((longlong)puVar18 + 2); + } while ((short)uVar5 != 0); + FUN_1400016e0(&local_1e8,puVar16,~uVar12 - 1); + pppppppcVar8 = (char *******)FUN_1400dca90(local_198,(LPCWSTR)&local_1e8); + if (local_260 != (char ********)pppppppcVar8) { + if ((char ******)0xf < local_248) { + operator_delete(local_260[0]); + } + local_248 = (char ******)0xf; + local_250 = (char ******)0x0; + local_260[0] = (char *******)((ulonglong)local_260[0] & 0xffffffffffffff00); + if (pppppppcVar8[3] < (char ******)0x10) { + memmove(local_260,pppppppcVar8,(longlong)pppppppcVar8[2] + 1); + } + else { + local_260[0] = (char *******)*pppppppcVar8; + *pppppppcVar8 = (char ******)0x0; + } + local_250 = pppppppcVar8[2]; + local_248 = pppppppcVar8[3]; + pppppppcVar8[3] = (char ******)0xf; + pppppppcVar8[2] = (char ******)0x0; + *(undefined1 *)pppppppcVar8 = 0; + } + if (0xf < local_180) { + operator_delete((void *)CONCAT71(local_198[0]._1_7_,(char)local_198[0])); + } + local_180 = 0xf; + local_188 = 0; + local_198[0]._0_1_ = '\0'; + if (7 < local_1d0) { + operator_delete((void *)CONCAT62(local_1e8._2_6_, + CONCAT11(local_1e8._1_1_,(undefined1)local_1e8))); + } + puVar16 = param_3 + 0x14; + if (7 < *(ulonglong *)(param_3 + 0x1a)) { + puVar16 = *(uint **)puVar16; + } + local_1d0 = 7; + local_1d8 = 0; + local_1e8._0_1_ = 0; + local_1e8._1_1_ = 0; + uVar12 = 0xffffffffffffffff; + puVar18 = puVar16; + do { + if (uVar12 == 0) break; + uVar12 = uVar12 - 1; + uVar5 = *puVar18; + puVar18 = (uint *)((longlong)puVar18 + 2); + } while ((short)uVar5 != 0); + FUN_1400016e0(&local_1e8,puVar16,~uVar12 - 1); + pppppppcVar8 = (char *******)FUN_1400dca90(local_198,(LPCWSTR)&local_1e8); + if (local_210 != (char ********)pppppppcVar8) { + if ((char ******)0xf < local_1f8) { + operator_delete(local_210[0]); + } + local_1f8 = (char ******)0xf; + local_200 = (char ******)0x0; + local_210[0] = (char *******)((ulonglong)local_210[0] & 0xffffffffffffff00); + if (pppppppcVar8[3] < (char ******)0x10) { + memmove(local_210,pppppppcVar8,(longlong)pppppppcVar8[2] + 1); + } + else { + local_210[0] = (char *******)*pppppppcVar8; + *pppppppcVar8 = (char ******)0x0; + } + local_200 = pppppppcVar8[2]; + local_1f8 = pppppppcVar8[3]; + pppppppcVar8[3] = (char ******)0xf; + pppppppcVar8[2] = (char ******)0x0; + *(undefined1 *)pppppppcVar8 = 0; + } + if (0xf < local_180) { + operator_delete((void *)CONCAT71(local_198[0]._1_7_,(char)local_198[0])); + } + local_180 = 0xf; + local_188 = 0; + local_198[0]._0_1_ = '\0'; + if (7 < local_1d0) { + operator_delete((void *)CONCAT62(local_1e8._2_6_, + CONCAT11(local_1e8._1_1_,(undefined1)local_1e8))); + } + pppppppcVar8 = (char *******)local_238; + if ((char ******)0xf < local_220) { + pppppppcVar8 = local_238[0]; + } + FUN_140011de0(plVar9,"name",(char *)pppppppcVar8); + pppppppcVar8 = (char *******)local_260; + if ((char ******)0xf < local_248) { + pppppppcVar8 = local_260[0]; + } + FUN_140011de0(plVar9,"private_ip",(char *)pppppppcVar8); + pppppppcVar8 = (char *******)local_210; + if ((char ******)0xf < local_1f8) { + pppppppcVar8 = local_210[0]; + } + FUN_140011de0(plVar9,"public_ip",(char *)pppppppcVar8); + FUN_1400138d0((char *)local_198,0x40,"%d",(ulonglong)param_3[1]); + FUN_140011de0(plVar9,"code",(char *)local_198); + FUN_1400138d0((char *)local_198,0x40,"%d",(ulonglong)param_3[4]); + FUN_140011de0(plVar9,"private_port",(char *)local_198); + FUN_1400138d0((char *)local_198,0x40,"%d",(ulonglong)param_3[5]); + FUN_140011de0(plVar9,"public_port",(char *)local_198); + FUN_1400138d0((char *)local_198,0x40,"%d",(ulonglong)param_3[6]); + FUN_140011de0(plVar9,"public_udpport",(char *)local_198); + FUN_1400138d0((char *)local_198,0x40,"%d",(ulonglong)*param_3); + FUN_140011de0(plVar9,"world",(char *)local_198); + if (0 < (int)param_3[6]) { + FUN_1400138d0((char *)local_198,0x40,"%d",(ulonglong)param_3[7]); + FUN_140011de0(plVar9,"udp_count",(char *)local_198); + } + FUN_1400138d0((char *)local_198,0x40,"%d",1); + FUN_140011de0(plVar9,"agent",(char *)local_198); + if ((char ******)0xf < local_1f8) { + operator_delete(local_210[0]); + } + local_1f8 = (char ******)0xf; + local_200 = (char ******)0x0; + local_210[0] = (char *******)((ulonglong)local_210[0] & 0xffffffffffffff00); + if ((char ******)0xf < local_248) { + operator_delete(local_260[0]); + } + if ((char)param_3[3] == '\f') { + local_378[0] = operator_new(0xa8); + plVar9 = plVar11; + if (local_378[0] != (FILE *)0x0) { + plVar9 = FUN_140011bb0(&local_378[0]->_ptr,"dbc"); + } + FUN_1400119b0((longlong *)local_368,plVar9); + FUN_1400138d0((char *)local_198,0x40,"%d",3); + FUN_140011de0(plVar9,"write_thread_count",(char *)local_198); + } + if ((char)param_3[3] == '\x02') { + local_378[0] = operator_new(0xa8); + plVar9 = plVar11; + if (local_378[0] != (FILE *)0x0) { + plVar9 = FUN_140011bb0(&local_378[0]->_ptr,"develop"); + } + FUN_1400119b0((longlong *)local_368,plVar9); + FUN_1400138d0((char *)local_198,0x40,"%d",1); + FUN_140011de0(plVar9,"preload",(char *)local_198); + FUN_1400138d0((char *)local_198,0x40,"%d",1); + FUN_140011de0(plVar9,"preload_char",(char *)local_198); + } + if ((char)param_3[3] == '\x05') { + local_378[0] = operator_new(0xa8); + plVar9 = plVar11; + if (local_378[0] != (FILE *)0x0) { + plVar9 = FUN_140011bb0(&local_378[0]->_ptr,"guildlobby"); + } + FUN_1400119b0((longlong *)local_368,plVar9); + FUN_1400138d0((char *)local_198,0x40,"%d",1); + FUN_140011de0(plVar9,"value",(char *)local_198); + } + if ((char)param_3[3] == '\x03') { + local_378[0] = operator_new(0xa8); + plVar9 = plVar11; + if (local_378[0] != (FILE *)0x0) { + plVar9 = FUN_140011bb0(&local_378[0]->_ptr,"pvp"); + } + FUN_1400119b0((longlong *)local_368,plVar9); + FUN_1400138d0((char *)local_198,0x40,"%d",0x32); + FUN_140011de0(plVar9,"value",(char *)local_198); + } + local_378[0] = operator_new(0xa8); + plVar9 = plVar11; + if (local_378[0] != (FILE *)0x0) { + plVar9 = FUN_140011bb0(&local_378[0]->_ptr,"agent_server"); + } + FUN_1400119b0((longlong *)local_368,plVar9); + local_158[0] = '\0'; + memset(local_158 + 1,0,0x103); + lpWideCharStr = (LPCWSTR)(param_1 + 0x30); + if (7 < *(ulonglong *)(param_1 + 0x48)) { + lpWideCharStr = *(LPCWSTR *)lpWideCharStr; + } + WideCharToMultiByte(0,0,lpWideCharStr,0x10,local_158,0x10,(LPCSTR)0x0,(LPBOOL)0x0); + local_248 = (char ******)0xf; + local_250 = (char ******)0x0; + uVar12 = (ulonglong)local_260[0] >> 8; + local_260[0] = (char *******)(uVar12 << 8); + uVar13 = 0xffffffffffffffff; + pcVar19 = local_158; + do { + if (uVar13 == 0) break; + uVar13 = uVar13 - 1; + cVar1 = *pcVar19; + pcVar19 = pcVar19 + 1; + } while (cVar1 != '\0'); + uVar13 = ~uVar13 - 1; + if (uVar13 == 0xffffffffffffffff) { + std::_Xlength_error("string too long"); + pcVar4 = (code *)swi(3); + uVar10 = (*pcVar4)(); + return uVar10; + } + if (uVar13 < 0x10) { + if (uVar13 == 0) { + local_250 = (char ******)0x0; + local_260[0] = (char *******)(uVar12 << 8); + } + } + else { + FUN_14000b660(local_260,uVar13,0); + } + if (uVar13 != 0) { + pppppppcVar8 = (char *******)local_260; + if (0xf < local_248) { + pppppppcVar8 = local_260[0]; + } + memcpy(pppppppcVar8,local_158,uVar13); + pppppppcVar8 = (char *******)local_260; + if (0xf < local_248) { + pppppppcVar8 = local_260[0]; + } + local_250 = (char ******)uVar13; + *(undefined1 *)((longlong)pppppppcVar8 + uVar13) = 0; + } + pppppppcVar8 = (char *******)local_260; + if (0xf < local_248) { + pppppppcVar8 = local_260[0]; + } + FUN_140011de0(plVar9,"ip",(char *)pppppppcVar8); + FUN_1400138d0((char *)local_198,0x40,"%d",(ulonglong)*(uint *)(param_1 + 0x80)); + FUN_140011de0(plVar9,"port",(char *)local_198); + if (0xf < local_248) { + operator_delete(local_260[0]); + } + local_378[0] = operator_new(0xa8); + plVar9 = plVar11; + if (local_378[0] != (FILE *)0x0) { + plVar9 = FUN_140011bb0(&local_378[0]->_ptr,"auto"); + } + FUN_1400119b0((longlong *)local_368,plVar9); + if (*(char *)(param_1 + 0x170) != '\0') { + FUN_1400138d0((char *)local_198,0x40,"%d",1); + FUN_140011de0(plVar9,"open_channel",(char *)local_198); + } + if (*(char *)(param_1 + 0x171) != '\0') { + FUN_1400138d0((char *)local_198,0x40,"%d",1); + FUN_140011de0(plVar9,"revive_server",(char *)local_198); + } + if (0.0 < *(double *)(param_1 + 0x178)) { + FUN_1400138d0((char *)local_198,0x40,"%d",(ulonglong)(uint)(int)*(double *)(param_1 + 0x178)); + FUN_140011de0(plVar9,"start_server",(char *)local_198); + } + local_378[0] = operator_new(0xa8); + plVar9 = plVar11; + if (local_378[0] != (FILE *)0x0) { + plVar9 = FUN_140011bb0(&local_378[0]->_ptr,"setting"); + } + FUN_1400119b0((longlong *)local_368,plVar9); + if (*(char *)(param_1 + 0x166) != '\0') { + FUN_1400138d0((char *)local_198,0x40,"%d",1); + FUN_140011de0(plVar9,"multi",(char *)local_198); + } + if (0.0 < *(double *)(param_1 + 0x168)) { + FUN_1400138d0((char *)local_198,0x40,"%d",(ulonglong)(uint)(int)*(double *)(param_1 + 0x168)); + FUN_140011de0(plVar9,"lock",(char *)local_198); + } + if (*(char *)(param_1 + 0x151) != '\0') { + local_378[0] = operator_new(0xa8); + if (local_378[0] != (FILE *)0x0) { + plVar11 = FUN_140011bb0(&local_378[0]->_ptr,"dns"); + } + FUN_1400119b0((longlong *)local_368,plVar11); + FUN_1400138d0((char *)local_198,0x40,"%d",1); + FUN_140011de0(plVar11,"dns",(char *)local_198); + } + if (0xf < param_2[3]) { + param_2 = (ulonglong *)*param_2; + } + local_378[0] = (FILE *)0x0; + eVar7 = fopen_s(local_378,(char *)param_2,"w"); + _File = local_378[0]; + if ((eVar7 == 0) && (local_378[0] != (FILE *)0x0)) { + if (local_2ec != '\0') { + fputc(0xef,local_378[0]); + fputc(0xbb,_File); + fputc(0xbf,_File); + } + (*(code *)local_368[0][1])(local_368,_File,0); + ferror(_File); + fclose(_File); + } + iVar6 = printf("Create File Succeed \n"); + uVar10 = CONCAT44(extraout_var_00,iVar6); + local_368[0] = TiXmlDocument::vftable; + if (local_308 != &DAT_140162cd0) { + operator_delete__(local_300); + uVar10 = extraout_RAX_03; + } + local_368[0] = TiXmlNode::vftable; + while (local_340 != (undefined8 *)0x0) { + puVar3 = (undefined8 *)local_340[10]; + uVar10 = (**(code **)*local_340)(local_340,1); + local_340 = puVar3; + } + if (local_330 != &DAT_140162cd0) { + operator_delete__(local_328); + uVar10 = extraout_RAX_04; + } + local_368[0] = TiXmlBase::vftable; + local_2e8[0] = TiXmlDocument::vftable; + if (local_288 != &DAT_140162cd0) { + operator_delete__(local_280); + uVar10 = extraout_RAX_05; + } + local_2e8[0] = TiXmlNode::vftable; + while (local_2c0 != (undefined8 *)0x0) { + puVar3 = (undefined8 *)local_2c0[10]; + uVar10 = (**(code **)*local_2c0)(local_2c0,1); + local_2c0 = puVar3; + } + if (local_2b0 != &DAT_140162cd0) { + operator_delete__(local_2a8); + uVar10 = extraout_RAX_06; + } + local_2e8[0] = TiXmlBase::vftable; + if ((char ******)0xf < local_220) { + operator_delete(local_238[0]); + uVar10 = extraout_RAX_07; + } + local_220 = (char ******)0xf; + local_228 = (char ******)0x0; + local_238[0] = (char *******)((ulonglong)local_238[0] & 0xffffffffffffff00); + if (7 < local_1a8) { + operator_delete((void *)CONCAT62(local_1c0[0]._2_6_,(short)local_1c0[0])); + uVar10 = extraout_RAX_08; + } + uVar12 = CONCAT71((int7)((ulonglong)uVar10 >> 8),1); + } + else { + iVar6 = printf("%s Exist File CreateOption \n"); + uVar12 = CONCAT44(extraout_var,iVar6); + local_2e8[0] = TiXmlDocument::vftable; + if (local_288 != &DAT_140162cd0) { + operator_delete__(local_280); + uVar12 = extraout_RAX; + } + local_2e8[0] = TiXmlNode::vftable; + while (local_2c0 != (undefined8 *)0x0) { + puVar3 = (undefined8 *)local_2c0[10]; + uVar12 = (**(code **)*local_2c0)(local_2c0,1); + local_2c0 = puVar3; + } + if (local_2b0 != &DAT_140162cd0) { + operator_delete__(local_2a8); + uVar12 = extraout_RAX_00; + } + local_2e8[0] = TiXmlBase::vftable; + if ((char ******)0xf < local_220) { + operator_delete(local_238[0]); + uVar12 = extraout_RAX_01; + } + local_220 = (char ******)0xf; + local_228 = (char ******)0x0; + local_238[0] = (char *******)((ulonglong)local_238[0] & 0xffffffffffffff00); + if (7 < local_1a8) { + operator_delete((void *)CONCAT62(local_1c0[0]._2_6_,(short)local_1c0[0])); + uVar12 = extraout_RAX_02; + } + uVar12 = uVar12 & 0xffffffffffffff00; + } + return uVar12; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400284f0.c b/decomp/Agent_Release_x64/full/functions/0x1400284f0.c new file mode 100644 index 00000000..7baefb3b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400284f0.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400284f0 FUN_1400284f0 + * Pseudocode, not original source. */ + +void FUN_1400284f0(ulonglong *param_1,longlong *param_2) + +{ + longlong *plVar1; + longlong *plVar2; + + plVar1 = (longlong *)param_1[1]; + if ((param_2 < plVar1) && (plVar2 = (longlong *)*param_1, plVar2 <= param_2)) { + if (plVar1 == (longlong *)param_1[2]) { + FUN_140028ee0((longlong *)param_1); + } + FUN_140029620((longlong *)param_1[1], + (longlong *) + (((longlong)param_2 - (longlong)plVar2 & 0xffffffffffffffc0U) + *param_1)); + param_1[1] = param_1[1] + 0x40; + return; + } + if (plVar1 == (longlong *)param_1[2]) { + FUN_140028ee0((longlong *)param_1); + } + FUN_140029be0((longlong *)param_1[1],param_2); + param_1[1] = param_1[1] + 0x40; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140028570.c b/decomp/Agent_Release_x64/full/functions/0x140028570.c new file mode 100644 index 00000000..1754898c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140028570.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140028570 FUN_140028570 + * Pseudocode, not original source. */ + +void FUN_140028570(longlong *param_1) + +{ + if (*param_1 != 0) { + FUN_1400297d0(param_1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140028590.c b/decomp/Agent_Release_x64/full/functions/0x140028590.c new file mode 100644 index 00000000..379f6fc9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140028590.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140028590 FUN_140028590 + * Pseudocode, not original source. */ + +void FUN_140028590(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + LPVOID pvVar1; + longlong *plVar2; + + *param_1 = Proud::CFastArray,0>::vftable; + if (0 < *(int *)(param_1 + 3)) { + FUN_140029720((longlong *)param_1[2],(longlong)*(int *)(param_1 + 3),param_3,param_4); + } + pvVar1 = (LPVOID)param_1[2]; + if (pvVar1 != (LPVOID)0x0) { + plVar2 = (longlong *)param_1[1]; + if (plVar2 != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x0001400285d7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*plVar2 + 0x18))(plVar2,pvVar1); + return; + } + FUN_1400302f0(pvVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400285f0.c b/decomp/Agent_Release_x64/full/functions/0x1400285f0.c new file mode 100644 index 00000000..34c86a88 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400285f0.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400285f0 FUN_1400285f0 + * Pseudocode, not original source. */ + +void FUN_1400285f0(longlong param_1) + +{ + basic_streambuf_> *this; + + *(undefined ***)((longlong)*(int *)(*(longlong *)(param_1 + -0x88) + 4) + -0x88 + param_1) = + std::basic_ostringstream,std::allocator_>::vftable; + this = (basic_streambuf_> *)(param_1 + -0x80); + *(undefined ***)this = + std::basic_stringbuf,std::allocator_>::vftable; + if ((*(byte *)(param_1 + -8) & 1) != 0) { + operator_delete((void *)**(undefined8 **)(param_1 + -0x60)); + } + **(undefined8 **)(param_1 + -0x60) = 0; + **(undefined8 **)(param_1 + -0x40) = 0; + **(undefined4 **)(param_1 + -0x28) = 0; + **(undefined8 **)(param_1 + -0x58) = 0; + **(undefined8 **)(param_1 + -0x38) = 0; + **(undefined4 **)(param_1 + -0x20) = 0; + *(undefined8 *)(param_1 + -0x10) = 0; + *(uint *)(param_1 + -8) = *(uint *)(param_1 + -8) & 0xfffffffe; + std::basic_streambuf_>::~basic_streambuf_> + (this); + *(code **)(this + (longlong)*(int *)(*(longlong *)(param_1 + -0x88) + 4) + -8) = _vftable__exref; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400286a0.c b/decomp/Agent_Release_x64/full/functions/0x1400286a0.c new file mode 100644 index 00000000..46aa4115 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400286a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400286a0 FUN_1400286a0 + * Pseudocode, not original source. */ + +void ** FUN_1400286a0(longlong param_1,void **param_2) + +{ + FUN_140029000(param_1 + 8,param_2); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400286d0.c b/decomp/Agent_Release_x64/full/functions/0x1400286d0.c new file mode 100644 index 00000000..6e5c5e51 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400286d0.c @@ -0,0 +1,110 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400286d0 FUN_1400286d0 + * Pseudocode, not original source. */ + +int FUN_1400286d0(basic_streambuf_> *param_1,int param_2) + +{ + basic_streambuf_> bVar1; + void *_Src; + undefined8 uVar2; + char *pcVar3; + void *_Dst; + ulonglong uVar4; + longlong lVar5; + int iVar6; + ulonglong uVar7; + int iVar8; + + if (((byte)param_1[0x78] & 8) != 0) { + uVar7 = **(ulonglong **)(param_1 + 0x48); + if ((uVar7 != 0) && (uVar4 = *(ulonglong *)(param_1 + 0x70), uVar7 < uVar4)) { + iVar6 = **(int **)(param_1 + 0x60); + **(ulonglong **)(param_1 + 0x48) = uVar4; + **(int **)(param_1 + 0x60) = (iVar6 + (int)uVar7) - (int)uVar4; + } + } + if (param_2 == -1) { + return 0; + } + uVar7 = **(ulonglong **)(param_1 + 0x48); + if ((uVar7 != 0) && (uVar7 < (longlong)**(int **)(param_1 + 0x60) + uVar7)) { + pcVar3 = std::basic_streambuf_>::_Pninc(param_1); + *pcVar3 = (char)param_2; + return param_2; + } + if (((byte)param_1[0x78] & 2) != 0) { + return -1; + } + if (uVar7 == 0) { + uVar7 = 0; + } + else { + uVar7 = ((longlong)**(int **)(param_1 + 0x60) - **(longlong **)(param_1 + 0x20)) + uVar7; + } + uVar4 = uVar7 >> 1; + if (uVar4 < 0x20) { + uVar4 = 0x20; + } + else if (uVar4 == 0) { + return -1; + } + do { + if (uVar7 <= 0x7fffffff - uVar4) break; + uVar4 = uVar4 >> 1; + } while (uVar4 != 0); + if (uVar4 != 0) { + _Dst = FUN_14000b600(uVar4 + uVar7); + _Src = (void *)**(undefined8 **)(param_1 + 0x20); + iVar8 = (int)(uVar4 + uVar7); + iVar6 = (int)_Dst; + if ((uVar7 == 0) || (memcpy(_Dst,_Src,uVar7), uVar7 == 0)) { + *(void **)(param_1 + 0x70) = _Dst; + **(undefined8 **)(param_1 + 0x28) = _Dst; + **(undefined8 **)(param_1 + 0x48) = _Dst; + **(int **)(param_1 + 0x60) = iVar8; + bVar1 = param_1[0x78]; + **(undefined8 **)(param_1 + 0x20) = _Dst; + if (((byte)bVar1 & 4) == 0) { + **(undefined8 **)(param_1 + 0x40) = _Dst; + **(undefined4 **)(param_1 + 0x58) = 1; + } + else { + **(undefined8 **)(param_1 + 0x40) = 0; + **(int **)(param_1 + 0x58) = iVar6; + } + } + else { + *(longlong *)(param_1 + 0x70) = + (longlong)_Dst + (*(longlong *)(param_1 + 0x70) - (longlong)_Src); + lVar5 = **(longlong **)(param_1 + 0x48); + **(longlong **)(param_1 + 0x28) = + (longlong)_Dst + (**(longlong **)(param_1 + 0x28) - (longlong)_Src); + lVar5 = (lVar5 - (longlong)_Src) + (longlong)_Dst; + **(longlong **)(param_1 + 0x48) = lVar5; + **(int **)(param_1 + 0x60) = (iVar6 - (int)lVar5) + iVar8; + if (((byte)param_1[0x78] & 4) == 0) { + uVar2 = **(undefined8 **)(param_1 + 0x48); + lVar5 = **(longlong **)(param_1 + 0x40); + **(undefined8 **)(param_1 + 0x20) = _Dst; + lVar5 = (lVar5 - (longlong)_Src) + (longlong)_Dst; + **(longlong **)(param_1 + 0x40) = lVar5; + **(int **)(param_1 + 0x58) = ((int)uVar2 - (int)lVar5) + 1; + } + else { + **(undefined8 **)(param_1 + 0x20) = _Dst; + **(undefined8 **)(param_1 + 0x40) = 0; + **(int **)(param_1 + 0x58) = iVar6; + } + } + if (((byte)param_1[0x78] & 1) != 0) { + operator_delete(_Src); + } + *(uint *)(param_1 + 0x78) = *(uint *)(param_1 + 0x78) | 1; + pcVar3 = std::basic_streambuf_>::_Pninc(param_1); + *pcVar3 = (char)param_2; + return param_2; + } + return -1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140028910.c b/decomp/Agent_Release_x64/full/functions/0x140028910.c new file mode 100644 index 00000000..90b2d50e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140028910.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140028910 FUN_140028910 + * Pseudocode, not original source. */ + +int FUN_140028910(longlong param_1,int param_2) + +{ + ulonglong uVar1; + + uVar1 = **(ulonglong **)(param_1 + 0x40); + if (((uVar1 != 0) && (**(ulonglong **)(param_1 + 0x20) < uVar1)) && + ((param_2 == -1 || + (((char)param_2 == *(char *)(uVar1 - 1) || ((*(byte *)(param_1 + 0x78) & 2) == 0)))))) { + **(int **)(param_1 + 0x58) = **(int **)(param_1 + 0x58) + 1; + **(longlong **)(param_1 + 0x40) = **(longlong **)(param_1 + 0x40) + -1; + if (param_2 != -1) { + *(char *)**(undefined8 **)(param_1 + 0x40) = (char)param_2; + return param_2; + } + return 0; + } + return -1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140028960.c b/decomp/Agent_Release_x64/full/functions/0x140028960.c new file mode 100644 index 00000000..e62c3793 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140028960.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140028960 FUN_140028960 + * Pseudocode, not original source. */ + +ulonglong FUN_140028960(longlong param_1) + +{ + byte *pbVar1; + byte *pbVar2; + + pbVar1 = *(byte **)*(int **)(param_1 + 0x40); + if (pbVar1 != (byte *)0x0) { + if (pbVar1 < pbVar1 + **(int **)(param_1 + 0x58)) { + return (ulonglong)*pbVar1; + } + if ((((*(byte *)(param_1 + 0x78) & 4) == 0) && + (pbVar2 = (byte *)**(undefined8 **)(param_1 + 0x48), pbVar2 != (byte *)0x0)) && + ((pbVar1 < pbVar2 || (pbVar1 < *(byte **)(param_1 + 0x70))))) { + if (*(byte **)(param_1 + 0x70) < pbVar2) { + *(byte **)(param_1 + 0x70) = pbVar2; + } + **(int **)(param_1 + 0x58) = (int)*(undefined8 *)(param_1 + 0x70) - **(int **)(param_1 + 0x40) + ; + return (ulonglong)*(byte *)**(undefined8 **)(param_1 + 0x40); + } + } + return 0xffffffff; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400289d0.c b/decomp/Agent_Release_x64/full/functions/0x1400289d0.c new file mode 100644 index 00000000..25159cbb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400289d0.c @@ -0,0 +1,80 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400289d0 FUN_1400289d0 + * Pseudocode, not original source. */ + +longlong * +FUN_1400289d0(longlong param_1,longlong *param_2,longlong param_3,int param_4,uint param_5) + +{ + ulonglong uVar1; + longlong lVar2; + longlong lVar3; + int iVar4; + + uVar1 = **(ulonglong **)(param_1 + 0x48); + if ((uVar1 != 0) && (*(ulonglong *)(param_1 + 0x70) < uVar1)) { + *(ulonglong *)(param_1 + 0x70) = uVar1; + } + if (((param_5 & 1) == 0) || (lVar2 = **(longlong **)(param_1 + 0x40), lVar2 == 0)) { + if (((param_5 & 2) == 0) || (uVar1 = **(ulonglong **)(param_1 + 0x48), uVar1 == 0)) { + if (param_3 != 0) { + param_3 = *(longlong *)_BADOFF_exref; + } + goto LAB_140028b4e; + } + if (param_4 == 2) { + param_3 = param_3 + (*(longlong *)(param_1 + 0x70) - **(longlong **)(param_1 + 0x20)); + } + else if (param_4 == 1) { + param_3 = param_3 + (uVar1 - **(longlong **)(param_1 + 0x20)); + } + else if (param_4 != 0) { + param_3 = *(longlong *)_BADOFF_exref; + } + if ((-1 < param_3) && + (param_3 <= *(longlong *)(param_1 + 0x70) - **(longlong **)(param_1 + 0x20))) { + iVar4 = ((int)**(longlong **)(param_1 + 0x20) - (int)uVar1) + (int)param_3; + **(int **)(param_1 + 0x60) = **(int **)(param_1 + 0x60) - iVar4; + **(longlong **)(param_1 + 0x48) = **(longlong **)(param_1 + 0x48) + (longlong)iVar4; + goto LAB_140028b4e; + } + } + else { + if (param_4 == 2) { + param_3 = param_3 + (*(longlong *)(param_1 + 0x70) - **(longlong **)(param_1 + 0x20)); + } + else if (param_4 == 1) { + if ((param_5 & 2) == 0) { + param_3 = param_3 + (lVar2 - **(longlong **)(param_1 + 0x20)); + } + else { +LAB_140028a50: + param_3 = *(longlong *)_BADOFF_exref; + } + } + else if (param_4 != 0) goto LAB_140028a50; + if ((-1 < param_3) && + (param_3 <= *(longlong *)(param_1 + 0x70) - **(longlong **)(param_1 + 0x20))) { + iVar4 = ((int)**(longlong **)(param_1 + 0x20) - (int)lVar2) + (int)param_3; + **(int **)(param_1 + 0x58) = **(int **)(param_1 + 0x58) - iVar4; + **(longlong **)(param_1 + 0x40) = **(longlong **)(param_1 + 0x40) + (longlong)iVar4; + if ((param_5 & 2) != 0) { + lVar2 = **(longlong **)(param_1 + 0x48); + if (lVar2 != 0) { + iVar4 = **(int **)(param_1 + 0x60); + lVar3 = **(longlong **)(param_1 + 0x40); + **(longlong **)(param_1 + 0x48) = lVar3; + **(int **)(param_1 + 0x60) = (iVar4 + (int)lVar2) - (int)lVar3; + } + } + goto LAB_140028b4e; + } + } + param_3 = *(longlong *)_BADOFF_exref; +LAB_140028b4e: + *param_2 = param_3; + param_2[1] = 0; + *(undefined4 *)(param_2 + 2) = 0; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140028b70.c b/decomp/Agent_Release_x64/full/functions/0x140028b70.c new file mode 100644 index 00000000..75fb36e9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140028b70.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140028b70 FUN_140028b70 + * Pseudocode, not original source. */ + +longlong * FUN_140028b70(longlong param_1,longlong *param_2,longlong *param_3,uint param_4) + +{ + ulonglong uVar1; + longlong lVar2; + int iVar3; + longlong lVar4; + longlong lVar5; + + lVar4 = (longlong)(int)param_3[1] + *param_3; + uVar1 = **(ulonglong **)(param_1 + 0x48); + if ((uVar1 != 0) && (*(ulonglong *)(param_1 + 0x70) < uVar1)) { + *(ulonglong *)(param_1 + 0x70) = uVar1; + } + lVar2 = *(longlong *)_BADOFF_exref; + lVar5 = lVar4; + if (lVar4 != lVar2) { + lVar5 = lVar2; + if (((param_4 & 1) == 0) || (**(longlong **)(param_1 + 0x40) == 0)) { + if (((param_4 & 2) != 0) && + (((uVar1 = **(ulonglong **)(param_1 + 0x48), uVar1 != 0 && (-1 < lVar4)) && + (lVar4 <= *(longlong *)(param_1 + 0x70) - **(longlong **)(param_1 + 0x20))))) { + iVar3 = ((int)**(longlong **)(param_1 + 0x20) - (int)uVar1) + (int)lVar4; + **(int **)(param_1 + 0x60) = **(int **)(param_1 + 0x60) - iVar3; + **(longlong **)(param_1 + 0x48) = **(longlong **)(param_1 + 0x48) + (longlong)iVar3; + lVar5 = lVar4; + } + } + else if ((-1 < lVar4) && + (lVar4 <= *(longlong *)(param_1 + 0x70) - **(longlong **)(param_1 + 0x20))) { + iVar3 = ((int)**(longlong **)(param_1 + 0x20) - (int)**(longlong **)(param_1 + 0x40)) + + (int)lVar4; + **(int **)(param_1 + 0x58) = **(int **)(param_1 + 0x58) - iVar3; + **(longlong **)(param_1 + 0x40) = **(longlong **)(param_1 + 0x40) + (longlong)iVar3; + lVar5 = lVar4; + if ((param_4 & 2) != 0) { + lVar2 = **(longlong **)(param_1 + 0x48); + if (lVar2 != 0) { + iVar3 = **(int **)(param_1 + 0x60); + lVar5 = **(longlong **)(param_1 + 0x40); + **(longlong **)(param_1 + 0x48) = lVar5; + **(int **)(param_1 + 0x60) = (iVar3 + (int)lVar2) - (int)lVar5; + lVar5 = lVar4; + } + } + } + } + *param_2 = lVar5; + param_2[1] = 0; + *(undefined4 *)(param_2 + 2) = 0; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140028c80.c b/decomp/Agent_Release_x64/full/functions/0x140028c80.c new file mode 100644 index 00000000..72ae9f3a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140028c80.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140028c80 FUN_140028c80 + * Pseudocode, not original source. */ + +void FUN_140028c80(undefined8 *param_1) + +{ + if ((ulonglong *)*param_1 != (ulonglong *)0x0) { + FUN_140029b60((ulonglong *)*param_1,(ulonglong *)param_1[1]); + operator_delete((void *)*param_1); + } + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140028cc0.c b/decomp/Agent_Release_x64/full/functions/0x140028cc0.c new file mode 100644 index 00000000..12a284db --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140028cc0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140028cc0 FUN_140028cc0 + * Pseudocode, not original source. */ + +void FUN_140028cc0(ulonglong *param_1,undefined4 *param_2) + +{ + undefined4 *puVar1; + undefined4 *puVar2; + + puVar1 = (undefined4 *)param_1[1]; + if ((param_2 < puVar1) && (puVar2 = (undefined4 *)*param_1, puVar2 <= param_2)) { + if (puVar1 == (undefined4 *)param_1[2]) { + FUN_140029280((longlong *)param_1); + } + if ((undefined4 *)param_1[1] != (undefined4 *)0x0) { + FUN_140029c60((undefined4 *)param_1[1], + (undefined4 *) + ((((longlong)param_2 - (longlong)puVar2) / 0x58) * 0x58 + *param_1)); + } + } + else { + if (puVar1 == (undefined4 *)param_1[2]) { + FUN_140029280((longlong *)param_1); + } + if ((undefined4 *)param_1[1] != (undefined4 *)0x0) { + FUN_140029c60((undefined4 *)param_1[1],param_2); + } + } + param_1[1] = param_1[1] + 0x58; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140028d80.c b/decomp/Agent_Release_x64/full/functions/0x140028d80.c new file mode 100644 index 00000000..b7b3a829 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140028d80.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140028d80 FUN_140028d80 + * Pseudocode, not original source. */ + +undefined8 * FUN_140028d80(undefined8 *param_1,uint param_2,undefined8 param_3,undefined8 param_4) + +{ + LPVOID pvVar1; + longlong *plVar2; + + *param_1 = Proud::CFastArray,0>::vftable; + if (0 < *(int *)(param_1 + 3)) { + FUN_140029720((longlong *)param_1[2],(longlong)*(int *)(param_1 + 3),param_3,param_4); + } + pvVar1 = (LPVOID)param_1[2]; + if (pvVar1 != (LPVOID)0x0) { + plVar2 = (longlong *)param_1[1]; + if (plVar2 == (longlong *)0x0) { + FUN_1400302f0(pvVar1); + } + else { + (**(code **)(*plVar2 + 0x18))(plVar2,pvVar1); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140028df0.c b/decomp/Agent_Release_x64/full/functions/0x140028df0.c new file mode 100644 index 00000000..fdc9224f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140028df0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140028df0 FUN_140028df0 + * Pseudocode, not original source. */ + +basic_ios_> * +FUN_140028df0(basic_ios_> *param_1,uint param_2) + +{ + FUN_1400285f0((longlong)param_1); + std::basic_ios_>::~basic_ios_>(param_1); + if ((param_2 & 1) != 0) { + operator_delete(param_1 + -0x88); + } + return param_1 + -0x88; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140028e50.c b/decomp/Agent_Release_x64/full/functions/0x140028e50.c new file mode 100644 index 00000000..1b8a0855 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140028e50.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140028e50 FUN_140028e50 + * Pseudocode, not original source. */ + +basic_streambuf_> * +FUN_140028e50(basic_streambuf_> *param_1,uint param_2) + +{ + *(undefined ***)param_1 = + std::basic_stringbuf,std::allocator_>::vftable; + if (((byte)param_1[0x78] & 1) != 0) { + operator_delete((void *)**(undefined8 **)(param_1 + 0x20)); + } + **(undefined8 **)(param_1 + 0x20) = 0; + **(undefined8 **)(param_1 + 0x40) = 0; + **(undefined4 **)(param_1 + 0x58) = 0; + **(undefined8 **)(param_1 + 0x28) = 0; + **(undefined8 **)(param_1 + 0x48) = 0; + **(undefined4 **)(param_1 + 0x60) = 0; + *(uint *)(param_1 + 0x78) = *(uint *)(param_1 + 0x78) & 0xfffffffe; + *(undefined8 *)(param_1 + 0x70) = 0; + std::basic_streambuf_>::~basic_streambuf_> + (param_1); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140028ee0.c b/decomp/Agent_Release_x64/full/functions/0x140028ee0.c new file mode 100644 index 00000000..aed52d28 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140028ee0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140028ee0 FUN_140028ee0 + * Pseudocode, not original source. */ + +void FUN_140028ee0(longlong *param_1) + +{ + code *pcVar1; + ulonglong uVar2; + ulonglong uVar3; + + uVar3 = param_1[1] - *param_1 >> 6; + if (0x3fffffffffffffe < uVar3) { + std::_Xlength_error("vector too long"); + pcVar1 = (code *)swi(3); + (*pcVar1)(); + return; + } + uVar3 = uVar3 + 1; + uVar2 = param_1[2] - *param_1 >> 6; + if (uVar2 < uVar3) { + if (0x3ffffffffffffff - (uVar2 >> 1) < uVar2) { + uVar2 = 0; + if (uVar3 != 0) { + uVar2 = uVar3; + } + FUN_140029340(param_1,uVar2); + return; + } + uVar2 = uVar2 + (uVar2 >> 1); + if (uVar2 < uVar3) { + uVar2 = uVar3; + } + FUN_140029340(param_1,uVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140028f70.c b/decomp/Agent_Release_x64/full/functions/0x140028f70.c new file mode 100644 index 00000000..b17bc979 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140028f70.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140028f70 FUN_140028f70 + * Pseudocode, not original source. */ + +void FUN_140028f70(undefined8 *param_1) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + + puVar2 = (undefined8 *)*param_1; + if (puVar2 != (undefined8 *)0x0) { + puVar1 = (undefined8 *)param_1[1]; + for (; puVar2 != puVar1; puVar2 = puVar2 + 8) { + if (7 < (ulonglong)puVar2[3]) { + operator_delete((void *)*puVar2); + } + puVar2[3] = 7; + puVar2[2] = 0; + *(undefined2 *)puVar2 = 0; + } + operator_delete((void *)*param_1); + } + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140029000.c b/decomp/Agent_Release_x64/full/functions/0x140029000.c new file mode 100644 index 00000000..6d9f2eaa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140029000.c @@ -0,0 +1,122 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140029000 FUN_140029000 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void ** FUN_140029000(longlong param_1,void **param_2) + +{ + ulonglong uVar1; + ulonglong uVar2; + undefined1 auStack_78 [32]; + undefined4 local_58; + undefined8 local_50; + void *local_48 [2]; + void *local_38; + void *local_30; + ulonglong local_20; + + local_50 = 0xfffffffffffffffe; + local_20 = DAT_1401555a0 ^ (ulonglong)auStack_78; + local_58 = 0; + if (((*(uint *)(param_1 + 0x78) & 2) == 0) && (**(ulonglong **)(param_1 + 0x48) != 0)) { + uVar1 = **(ulonglong **)(param_1 + 0x48); + uVar2 = *(ulonglong *)(param_1 + 0x70); + if (*(ulonglong *)(param_1 + 0x70) < uVar1) { + uVar2 = uVar1; + } + local_30 = (void *)0xf; + local_38 = (void *)0x0; + local_48[0] = (void *)((ulonglong)local_48[0]._1_7_ << 8); + FUN_14000b810((ulonglong *)local_48,(void *)**(undefined8 **)(param_1 + 0x28), + uVar2 - (longlong)**(undefined8 **)(param_1 + 0x28)); + param_2[3] = (void *)0xf; + param_2[2] = (void *)0x0; + *(undefined1 *)param_2 = 0; + if (param_2 != local_48) { + if ((void *)0xf < param_2[3]) { + operator_delete(*param_2); + } + param_2[3] = (void *)0xf; + param_2[2] = (void *)0x0; + *(undefined1 *)param_2 = 0; + if (local_30 < (void *)0x10) { + memmove(param_2,local_48,(longlong)local_38 + 1); + } + else { + *param_2 = local_48[0]; + local_48[0] = (void *)0x0; + } + param_2[2] = local_38; + param_2[3] = local_30; + local_30 = (void *)0xf; + local_38 = (void *)0x0; + local_48[0] = (void *)((ulonglong)local_48[0] & 0xffffffffffffff00); + } + } + else if (((*(uint *)(param_1 + 0x78) & 4) == 0) && (**(longlong **)(param_1 + 0x40) != 0)) { + local_30 = (void *)0xf; + local_38 = (void *)0x0; + local_48[0] = (void *)((ulonglong)local_48[0]._1_7_ << 8); + FUN_14000b810((ulonglong *)local_48,(void *)**(undefined8 **)(param_1 + 0x20), + ((longlong)**(int **)(param_1 + 0x58) + **(longlong **)(param_1 + 0x40)) - + (longlong)**(undefined8 **)(param_1 + 0x20)); + param_2[3] = (void *)0xf; + param_2[2] = (void *)0x0; + *(undefined1 *)param_2 = 0; + if (param_2 != local_48) { + if ((void *)0xf < param_2[3]) { + operator_delete(*param_2); + } + param_2[3] = (void *)0xf; + param_2[2] = (void *)0x0; + *(undefined1 *)param_2 = 0; + if (local_30 < (void *)0x10) { + memmove(param_2,local_48,(longlong)local_38 + 1); + } + else { + *param_2 = local_48[0]; + local_48[0] = (void *)0x0; + } + param_2[2] = local_38; + param_2[3] = local_30; + local_30 = (void *)0xf; + local_38 = (void *)0x0; + local_48[0] = (void *)((ulonglong)local_48[0] & 0xffffffffffffff00); + } + } + else { + local_30 = (void *)0xf; + local_38 = (void *)0x0; + local_48[0] = (void *)((ulonglong)local_48[0]._1_7_ << 8); + param_2[3] = (void *)0xf; + param_2[2] = (void *)0x0; + *(undefined1 *)param_2 = 0; + if (param_2 != local_48) { + if ((void *)0xf < param_2[3]) { + operator_delete(*param_2); + } + param_2[3] = (void *)0xf; + param_2[2] = (void *)0x0; + *(undefined1 *)param_2 = 0; + if (local_30 < (void *)0x10) { + memmove(param_2,local_48,(longlong)local_38 + 1); + } + else { + *param_2 = local_48[0]; + local_48[0] = (void *)0x0; + } + param_2[2] = local_38; + param_2[3] = local_30; + local_30 = (void *)0xf; + local_38 = (void *)0x0; + local_48[0] = (void *)((ulonglong)local_48[0] & 0xffffffffffffff00); + } + } + if ((void *)0xf < local_30) { + operator_delete(local_48[0]); + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140029280.c b/decomp/Agent_Release_x64/full/functions/0x140029280.c new file mode 100644 index 00000000..f4f495e1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140029280.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140029280 FUN_140029280 + * Pseudocode, not original source. */ + +void FUN_140029280(longlong *param_1) + +{ + code *pcVar1; + ulonglong uVar2; + ulonglong uVar3; + + uVar3 = (param_1[1] - *param_1) / 0x58; + if (0x2e8ba2e8ba2e8b9 < uVar3) { + std::_Xlength_error("vector too long"); + pcVar1 = (code *)swi(3); + (*pcVar1)(); + return; + } + uVar3 = uVar3 + 1; + uVar2 = (param_1[2] - *param_1) / 0x58; + if (uVar2 < uVar3) { + if (0x2e8ba2e8ba2e8ba - (uVar2 >> 1) < uVar2) { + uVar2 = 0; + if (uVar3 != 0) { + uVar2 = uVar3; + } + FUN_1400294b0(param_1,uVar2); + return; + } + uVar2 = uVar2 + (uVar2 >> 1); + if (uVar2 < uVar3) { + uVar2 = uVar3; + } + FUN_1400294b0(param_1,uVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140029340.c b/decomp/Agent_Release_x64/full/functions/0x140029340.c new file mode 100644 index 00000000..c2659be6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140029340.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140029340 FUN_140029340 + * Pseudocode, not original source. */ + +void FUN_140029340(longlong *param_1,ulonglong param_2) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + code *pcVar3; + longlong *plVar4; + longlong *local_res10; + undefined **local_20 [3]; + + if (0x3ffffffffffffff < param_2) { + std::_Xlength_error("vector too long"); + pcVar3 = (code *)swi(3); + (*pcVar3)(); + return; + } + if ((ulonglong)(param_1[2] - *param_1 >> 6) < param_2) { + local_res10 = (longlong *)0x0; + if (param_2 != 0) { + local_res10 = operator_new(param_2 << 6); + if (local_res10 == (longlong *)0x0) { + std::exception::exception((exception *)local_20,(char **)&local_res10); + local_20[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_20,(ThrowInfo *)&DAT_140151ad0); + } + } + plVar4 = local_res10; + FUN_140029fc0((longlong *)*param_1,(longlong *)param_1[1],local_res10); + puVar1 = (undefined8 *)param_1[1]; + puVar2 = (undefined8 *)*param_1; + if (puVar2 != (undefined8 *)0x0) { + FUN_140029450(puVar2,puVar1); + operator_delete((void *)*param_1); + } + param_1[2] = (longlong)(plVar4 + param_2 * 8); + param_1[1] = ((longlong)puVar1 - (longlong)puVar2 & 0xffffffffffffffc0U) + (longlong)plVar4; + *param_1 = (longlong)plVar4; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140029450.c b/decomp/Agent_Release_x64/full/functions/0x140029450.c new file mode 100644 index 00000000..eafc4293 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140029450.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140029450 FUN_140029450 + * Pseudocode, not original source. */ + +void FUN_140029450(undefined8 *param_1,undefined8 *param_2) + +{ + for (; param_1 != param_2; param_1 = param_1 + 8) { + if (7 < (ulonglong)param_1[3]) { + operator_delete((void *)*param_1); + } + param_1[3] = 7; + param_1[2] = 0; + *(undefined2 *)param_1 = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400294b0.c b/decomp/Agent_Release_x64/full/functions/0x1400294b0.c new file mode 100644 index 00000000..166f179b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400294b0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400294b0 FUN_1400294b0 + * Pseudocode, not original source. */ + +void FUN_1400294b0(longlong *param_1,ulonglong param_2) + +{ + ulonglong *puVar1; + ulonglong *puVar2; + code *pcVar3; + undefined4 *puVar4; + + if (0x2e8ba2e8ba2e8ba < param_2) { + std::_Xlength_error("vector too long"); + pcVar3 = (code *)swi(3); + (*pcVar3)(); + return; + } + if ((ulonglong)((param_1[2] - *param_1) / 0x58) < param_2) { + puVar4 = FUN_1400295b0(param_2); + FUN_14002a070((undefined4 *)*param_1,(undefined4 *)param_1[1],puVar4); + puVar1 = (ulonglong *)param_1[1]; + puVar2 = (ulonglong *)*param_1; + if (puVar2 != (ulonglong *)0x0) { + FUN_140029b60(puVar2,puVar1); + operator_delete((void *)*param_1); + } + param_1[2] = (longlong)(puVar4 + param_2 * 0x16); + param_1[1] = (longlong)(puVar4 + (((longlong)puVar1 - (longlong)puVar2) / 0x58) * 0x16); + *param_1 = (longlong)puVar4; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400295b0.c b/decomp/Agent_Release_x64/full/functions/0x1400295b0.c new file mode 100644 index 00000000..ea5c2c5c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400295b0.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400295b0 FUN_1400295b0 + * Pseudocode, not original source. */ + +void * FUN_1400295b0(ulonglong param_1) + +{ + void *pvVar1; + char *local_res8 [4]; + undefined **local_28 [5]; + + if (param_1 == 0) { + return (void *)0x0; + } + if ((param_1 < 0x2e8ba2e8ba2e8bb) && + (pvVar1 = operator_new(param_1 * 0x58), pvVar1 != (void *)0x0)) { + return pvVar1; + } + local_res8[0] = (char *)0x0; + std::exception::exception((exception *)local_28,local_res8); + local_28[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_28,(ThrowInfo *)&DAT_140151ad0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140029620.c b/decomp/Agent_Release_x64/full/functions/0x140029620.c new file mode 100644 index 00000000..9db2cfee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140029620.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140029620 FUN_140029620 + * Pseudocode, not original source. */ + +void FUN_140029620(longlong *param_1,longlong *param_2) + +{ + if (param_1 != (longlong *)0x0) { + param_1[3] = 7; + param_1[2] = 0; + *(undefined2 *)param_1 = 0; + FUN_140001600(param_1,param_2,0,0xffffffffffffffff); + *(int *)(param_1 + 5) = (int)param_2[5]; + *(undefined4 *)((longlong)param_1 + 0x2c) = *(undefined4 *)((longlong)param_2 + 0x2c); + *(int *)(param_1 + 6) = (int)param_2[6]; + *(undefined4 *)((longlong)param_1 + 0x34) = *(undefined4 *)((longlong)param_2 + 0x34); + *(int *)(param_1 + 7) = (int)param_2[7]; + *(undefined4 *)((longlong)param_1 + 0x3c) = *(undefined4 *)((longlong)param_2 + 0x3c); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400296a0.c b/decomp/Agent_Release_x64/full/functions/0x1400296a0.c new file mode 100644 index 00000000..84d81236 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400296a0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400296a0 FUN_1400296a0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400296a0(undefined8 *param_1) + +{ + longlong lVar1; + longlong lVar2; + undefined **ppuVar3; + + ppuVar3 = (undefined **)&DAT_14011fe50; + lVar2 = 0x28; + do { + lVar1 = lVar2 / 2; + if (ppuVar3[lVar1] < (undefined *)0xb) { + ppuVar3 = ppuVar3 + lVar1 + 1; + lVar1 = lVar2 + (-1 - lVar1); + } + lVar2 = lVar1; + } while (0 < lVar1); + if (ppuVar3 == &MBISingleton::vftable_meta_ptr) { + ppuVar3 = (undefined **)&UNK_14011ff88; + } + param_1[1] = *ppuVar3; + *param_1 = 0; + *(undefined1 *)(param_1 + 3) = 0; + param_1[4] = 0; + *(undefined4 *)(param_1 + 5) = 0x3f800000; + param_1[6] = 0; + param_1[7] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140029720.c b/decomp/Agent_Release_x64/full/functions/0x140029720.c new file mode 100644 index 00000000..ca8c5f42 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140029720.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140029720 FUN_140029720 + * Pseudocode, not original source. */ + +void FUN_140029720(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + undefined *puVar2; + int *piVar3; + undefined *puVar4; + longlong lVar5; + int iVar6; + + if (0 < param_2) { + iVar6 = 0; + puVar4 = PTR_DAT_140155008; + lVar5 = param_2; + do { + puVar2 = (undefined *)*param_1; + if (puVar2 == (undefined *)0x0) { + *param_1 = (longlong)puVar4; + } + else if ((puVar2 != puVar4) && (puVar2 + -8 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(puVar4,lVar5,param_3,param_4); + FUN_14002e6e0(piVar3); + piVar1 = (int *)(puVar2 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(puVar2 + -8); + } + FUN_14002e770((longlong)piVar3); + puVar4 = PTR_DAT_140155008; + } + iVar6 = iVar6 + 1; + *param_1 = (longlong)puVar4; + param_1 = param_1 + 1; + } while (iVar6 < param_2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400297d0.c b/decomp/Agent_Release_x64/full/functions/0x1400297d0.c new file mode 100644 index 00000000..dfd626b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400297d0.c @@ -0,0 +1,58 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400297d0 FUN_1400297d0 + * Pseudocode, not original source. */ + +void FUN_1400297d0(undefined8 *param_1) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + undefined8 *puVar3; + longlong lVar4; + ulonglong *puVar5; + longlong lVar6; + undefined8 *puVar7; + + puVar7 = (undefined8 *)*param_1; + puVar1 = puVar7 + param_1[1]; + for (; puVar7 != puVar1; puVar7 = puVar7 + 1) { + puVar2 = (undefined8 *)*puVar7; + *puVar7 = 0; + while (puVar2 != (undefined8 *)0x0) { + puVar3 = (undefined8 *)*puVar2; + lVar6 = puVar2[2]; + if (lVar6 != 0) { + lVar4 = puVar2[3]; + if (lVar6 != lVar4) { + puVar5 = (ulonglong *)(lVar6 + 0x48); + do { + if (7 < *puVar5) { + operator_delete((void *)puVar5[-3]); + } + *puVar5 = 7; + puVar5[-1] = 0; + *(undefined2 *)(puVar5 + -3) = 0; + if (7 < puVar5[-5]) { + operator_delete((void *)puVar5[-8]); + } + puVar5[-5] = 7; + puVar5[-6] = 0; + lVar6 = lVar6 + 0x58; + *(undefined2 *)(puVar5 + -8) = 0; + puVar5 = puVar5 + 0xb; + } while (lVar6 != lVar4); + } + operator_delete((void *)puVar2[2]); + } + puVar2[2] = 0; + puVar2[3] = 0; + puVar2[4] = 0; + operator_delete(puVar2); + puVar2 = puVar3; + } + } + operator_delete((void *)*param_1); + *param_1 = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140029920.c b/decomp/Agent_Release_x64/full/functions/0x140029920.c new file mode 100644 index 00000000..55c2c0fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140029920.c @@ -0,0 +1,78 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140029920 FUN_140029920 + * Pseudocode, not original source. */ + +longlong * FUN_140029920(longlong *param_1,longlong *param_2,byte *param_3,undefined1 *param_4) + +{ + byte bVar1; + undefined8 *puVar2; + ulonglong uVar3; + undefined *puVar4; + undefined8 *puVar5; + longlong **pplVar6; + undefined8 *puVar7; + longlong *local_res8; + longlong *local_res18 [2]; + longlong *local_40; + undefined8 *local_38; + undefined2 local_30; + + bVar1 = *param_3; + puVar7 = (undefined8 *)(*param_1 + ((ulonglong)bVar1 % (ulonglong)param_1[1]) * 8); + puVar2 = (undefined8 *)*puVar7; + do { + if (puVar2 == (undefined8 *)0x0) { +LAB_140029985: + local_38 = (undefined8 *)0x0; + local_30 = 0; + local_40 = param_1; + FUN_14002a3d0((longlong)&local_40); + puVar2 = local_38; + local_res8 = local_38 + 1; + if (local_res8 != (longlong *)0x0) { + *(undefined1 *)local_res8 = *param_4; + local_res18[0] = local_res8; + FUN_140029cf0(local_38 + 2,(longlong *)(param_4 + 8)); + } + local_30 = CONCAT11(1,(undefined1)local_30); + uVar3 = param_1[4]; + local_res18[0] = (longlong *)(uVar3 + 1); + if ((longlong *)param_1[7] <= local_res18[0]) { + local_res8 = (longlong *)((uVar3 >> 1) + uVar3); + pplVar6 = &local_res8; + if (local_res8 <= local_res18[0]) { + pplVar6 = local_res18; + } + puVar4 = FUN_14002a130((longlong)param_1,(longlong)*pplVar6); + if (puVar4 != (undefined *)param_1[1]) { + FUN_14002a210(param_1,(ulonglong)puVar4); + puVar7 = (undefined8 *)(*param_1 + ((ulonglong)bVar1 % (ulonglong)param_1[1]) * 8); + } + } + *puVar2 = *puVar7; + *puVar7 = puVar2; + param_1[4] = param_1[4] + 1; + puVar5 = (undefined8 *)param_1[6]; + if (puVar7 < (undefined8 *)param_1[6]) { + puVar5 = puVar7; + } + param_1[6] = (longlong)puVar5; + *param_2 = (longlong)puVar7; + param_2[1] = (longlong)puVar2; + *(undefined1 *)(param_2 + 2) = 1; + return param_2; + } + if (bVar1 == *(byte *)(puVar2 + 1)) { + if (puVar2 != (undefined8 *)0x0) { + *param_2 = (longlong)puVar7; + param_2[1] = (longlong)puVar2; + *(undefined1 *)(param_2 + 2) = 0; + return param_2; + } + goto LAB_140029985; + } + puVar2 = (undefined8 *)*puVar2; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140029a80.c b/decomp/Agent_Release_x64/full/functions/0x140029a80.c new file mode 100644 index 00000000..6c00f0d7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140029a80.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140029a80 FUN_140029a80 + * Pseudocode, not original source. */ + +longlong * FUN_140029a80(longlong *param_1,longlong *param_2,undefined1 *param_3) + +{ + void *pvVar1; + longlong *plVar2; + longlong local_40 [2]; + longlong *local_30; + void *local_28; + undefined2 local_20; + + local_28 = (void *)0x0; + local_20 = 0; + local_30 = param_1; + FUN_14002a3d0((longlong)&local_30); + if ((undefined1 *)((longlong)local_28 + 8) != (undefined1 *)0x0) { + *(undefined1 *)((longlong)local_28 + 8) = *param_3; + FUN_140029cf0((undefined8 *)((longlong)local_28 + 0x10),(longlong *)(param_3 + 8)); + } + local_20._1_1_ = '\x01'; + plVar2 = FUN_140029db0(param_1,local_40,(longlong)&local_30); + pvVar1 = local_28; + *param_2 = *plVar2; + param_2[1] = plVar2[1]; + *(undefined1 *)(param_2 + 2) = 1; + if (local_28 != (void *)0x0) { + if (local_20._1_1_ != '\0') { + if (*(ulonglong **)((longlong)local_28 + 0x10) != (ulonglong *)0x0) { + FUN_140029b60(*(ulonglong **)((longlong)local_28 + 0x10), + *(ulonglong **)((longlong)local_28 + 0x18)); + operator_delete(*(void **)((longlong)pvVar1 + 0x10)); + } + *(undefined8 *)((longlong)pvVar1 + 0x10) = 0; + *(undefined8 *)((longlong)pvVar1 + 0x18) = 0; + *(undefined8 *)((longlong)pvVar1 + 0x20) = 0; + } + operator_delete(pvVar1); + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140029b60.c b/decomp/Agent_Release_x64/full/functions/0x140029b60.c new file mode 100644 index 00000000..cb33910a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140029b60.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140029b60 FUN_140029b60 + * Pseudocode, not original source. */ + +void FUN_140029b60(ulonglong *param_1,ulonglong *param_2) + +{ + ulonglong *puVar1; + ulonglong *puVar2; + + if (param_1 != param_2) { + puVar2 = param_1 + 9; + do { + if (7 < *puVar2) { + operator_delete((void *)puVar2[-3]); + } + *puVar2 = 7; + puVar2[-1] = 0; + *(undefined2 *)(puVar2 + -3) = 0; + if (7 < puVar2[-5]) { + operator_delete((void *)puVar2[-8]); + } + puVar2[-5] = 7; + puVar2[-6] = 0; + *(undefined2 *)(puVar2 + -8) = 0; + puVar1 = puVar2 + 2; + puVar2 = puVar2 + 0xb; + } while (puVar1 != param_2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140029be0.c b/decomp/Agent_Release_x64/full/functions/0x140029be0.c new file mode 100644 index 00000000..4212b042 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140029be0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140029be0 FUN_140029be0 + * Pseudocode, not original source. */ + +void FUN_140029be0(longlong *param_1,longlong *param_2) + +{ + if (param_1 != (longlong *)0x0) { + param_1[3] = 7; + param_1[2] = 0; + *(undefined2 *)param_1 = 0; + FUN_140001600(param_1,param_2,0,0xffffffffffffffff); + *(int *)(param_1 + 5) = (int)param_2[5]; + *(undefined4 *)((longlong)param_1 + 0x2c) = *(undefined4 *)((longlong)param_2 + 0x2c); + *(int *)(param_1 + 6) = (int)param_2[6]; + *(undefined4 *)((longlong)param_1 + 0x34) = *(undefined4 *)((longlong)param_2 + 0x34); + *(int *)(param_1 + 7) = (int)param_2[7]; + *(undefined4 *)((longlong)param_1 + 0x3c) = *(undefined4 *)((longlong)param_2 + 0x3c); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140029c60.c b/decomp/Agent_Release_x64/full/functions/0x140029c60.c new file mode 100644 index 00000000..3b2586e0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140029c60.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140029c60 FUN_140029c60 + * Pseudocode, not original source. */ + +undefined4 * FUN_140029c60(undefined4 *param_1,undefined4 *param_2) + +{ + *param_1 = *param_2; + param_1[1] = param_2[1]; + *(undefined8 *)(param_1 + 8) = 7; + *(undefined8 *)(param_1 + 6) = 0; + *(undefined2 *)(param_1 + 2) = 0; + FUN_140001600((longlong *)(param_1 + 2),(longlong *)(param_2 + 2),0,0xffffffffffffffff); + *(undefined8 *)(param_1 + 0x12) = 7; + *(undefined8 *)(param_1 + 0x10) = 0; + *(undefined2 *)(param_1 + 0xc) = 0; + FUN_140001600((longlong *)(param_1 + 0xc),(longlong *)(param_2 + 0xc),0,0xffffffffffffffff); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140029cf0.c b/decomp/Agent_Release_x64/full/functions/0x140029cf0.c new file mode 100644 index 00000000..d4617e14 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140029cf0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140029cf0 FUN_140029cf0 + * Pseudocode, not original source. */ + +undefined8 * FUN_140029cf0(undefined8 *param_1,longlong *param_2) + +{ + code *pcVar1; + ulonglong uVar2; + undefined8 *puVar3; + undefined4 *puVar4; + + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + uVar2 = (param_2[1] - *param_2) / 0x58; + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + if (uVar2 != 0) { + if (0x2e8ba2e8ba2e8ba < uVar2) { + std::_Xlength_error("vector too long"); + pcVar1 = (code *)swi(3); + puVar3 = (undefined8 *)(*pcVar1)(); + return puVar3; + } + puVar4 = FUN_1400295b0(uVar2); + *param_1 = puVar4; + param_1[1] = puVar4; + param_1[2] = puVar4 + uVar2 * 0x16; + puVar4 = FUN_14002a4b0((undefined4 *)*param_2,(undefined4 *)param_2[1],puVar4); + param_1[1] = puVar4; + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140029db0.c b/decomp/Agent_Release_x64/full/functions/0x140029db0.c new file mode 100644 index 00000000..4fcc50a4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140029db0.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140029db0 FUN_140029db0 + * Pseudocode, not original source. */ + +longlong * FUN_140029db0(longlong *param_1,longlong *param_2,longlong param_3) + +{ + undefined8 *puVar1; + byte bVar2; + undefined8 *puVar3; + undefined8 uVar4; + undefined *puVar5; + undefined **ppuVar6; + longlong *plVar7; + longlong lVar8; + undefined **ppuVar9; + undefined *local_res8; + undefined *local_res10; + + bVar2 = *(byte *)(*(longlong *)(param_3 + 8) + 8); + if (*param_1 == 0) { + local_res8 = FUN_14002a130((longlong)param_1,1); + ppuVar9 = (undefined **)(param_1 + 1); + ppuVar6 = &local_res8; + if (local_res8 <= *ppuVar9) { + ppuVar6 = ppuVar9; + } + *ppuVar9 = *ppuVar6; + FUN_14002dff0(param_1); + if (param_1[4] == 0) { + param_1[6] = *param_1 + (longlong)*ppuVar9 * 8; + } + else { + plVar7 = (longlong *)*param_1; + param_1[6] = (longlong)plVar7; + lVar8 = *plVar7; + while (lVar8 == 0) { + plVar7 = plVar7 + 1; + param_1[6] = (longlong)plVar7; + lVar8 = *plVar7; + } + } + lVar8 = FUN_14002e100((longlong)param_1); + param_1[7] = lVar8; + } + else { + local_res10 = (undefined *)0x1; + if ((ulonglong)param_1[7] < 2) { + local_res8 = (undefined *)(((ulonglong)param_1[4] >> 1) + param_1[4]); + ppuVar9 = &local_res8; + if (local_res8 < (undefined *)0x2) { + ppuVar9 = &local_res10; + } + puVar5 = FUN_14002a130((longlong)param_1,(longlong)*ppuVar9); + if (puVar5 != (undefined *)param_1[1]) { + FUN_14002a210(param_1,(ulonglong)puVar5); + } + } + } + puVar1 = (undefined8 *)(*param_1 + ((ulonglong)bVar2 % (ulonglong)param_1[1]) * 8); + puVar3 = *(undefined8 **)(param_3 + 8); + *(undefined8 *)(param_3 + 8) = 0; + uVar4 = *puVar1; + *param_2 = (longlong)puVar1; + param_2[1] = (longlong)puVar3; + *puVar3 = uVar4; + *puVar1 = puVar3; + param_1[4] = param_1[4] + 1; + param_1[6] = (longlong)puVar1; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140029f00.c b/decomp/Agent_Release_x64/full/functions/0x140029f00.c new file mode 100644 index 00000000..e1bb6ba6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140029f00.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140029f00 FUN_140029f00 + * Pseudocode, not original source. */ + +void FUN_140029f00(longlong param_1) + +{ + longlong lVar1; + + lVar1 = *(longlong *)(param_1 + 8); + if (lVar1 != 0) { + if (*(char *)(param_1 + 0x11) != '\0') { + if (*(ulonglong **)(lVar1 + 0x10) != (ulonglong *)0x0) { + FUN_140029b60(*(ulonglong **)(lVar1 + 0x10),*(ulonglong **)(lVar1 + 0x18)); + operator_delete(*(void **)(lVar1 + 0x10)); + } + *(undefined8 *)(lVar1 + 0x10) = 0; + *(undefined8 *)(lVar1 + 0x18) = 0; + *(undefined8 *)(lVar1 + 0x20) = 0; + } + operator_delete(*(void **)(param_1 + 8)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140029f60.c b/decomp/Agent_Release_x64/full/functions/0x140029f60.c new file mode 100644 index 00000000..a9ca20a6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140029f60.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140029f60 FUN_140029f60 + * Pseudocode, not original source. */ + +void FUN_140029f60(longlong param_1) + +{ + if (7 < *(ulonglong *)(param_1 + 0x48)) { + operator_delete(*(void **)(param_1 + 0x30)); + } + *(undefined8 *)(param_1 + 0x48) = 7; + *(undefined8 *)(param_1 + 0x40) = 0; + *(undefined2 *)(param_1 + 0x30) = 0; + if (7 < *(ulonglong *)(param_1 + 0x20)) { + operator_delete(*(void **)(param_1 + 8)); + } + *(undefined8 *)(param_1 + 0x20) = 7; + *(undefined8 *)(param_1 + 0x18) = 0; + *(undefined2 *)(param_1 + 8) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140029fc0.c b/decomp/Agent_Release_x64/full/functions/0x140029fc0.c new file mode 100644 index 00000000..6aabb128 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140029fc0.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140029fc0 FUN_140029fc0 + * Pseudocode, not original source. */ + +longlong * FUN_140029fc0(longlong *param_1,longlong *param_2,longlong *param_3) + +{ + for (; param_1 != param_2; param_1 = param_1 + 8) { + if (param_3 != (longlong *)0x0) { + param_3[3] = 7; + param_3[2] = 0; + *(undefined2 *)param_3 = 0; + FUN_140001600(param_3,param_1,0,0xffffffffffffffff); + *(int *)(param_3 + 5) = (int)param_1[5]; + *(undefined4 *)((longlong)param_3 + 0x2c) = *(undefined4 *)((longlong)param_1 + 0x2c); + *(int *)(param_3 + 6) = (int)param_1[6]; + *(undefined4 *)((longlong)param_3 + 0x34) = *(undefined4 *)((longlong)param_1 + 0x34); + *(int *)(param_3 + 7) = (int)param_1[7]; + *(undefined4 *)((longlong)param_3 + 0x3c) = *(undefined4 *)((longlong)param_1 + 0x3c); + } + param_3 = param_3 + 8; + } + return param_3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002a070.c b/decomp/Agent_Release_x64/full/functions/0x14002a070.c new file mode 100644 index 00000000..49fc756f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002a070.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002a070 FUN_14002a070 + * Pseudocode, not original source. */ + +undefined4 * FUN_14002a070(undefined4 *param_1,undefined4 *param_2,undefined4 *param_3) + +{ + for (; param_1 != param_2; param_1 = param_1 + 0x16) { + if (param_3 != (undefined4 *)0x0) { + *param_3 = *param_1; + param_3[1] = param_1[1]; + *(undefined8 *)(param_3 + 8) = 7; + *(undefined8 *)(param_3 + 6) = 0; + *(undefined2 *)(param_3 + 2) = 0; + FUN_140001600((longlong *)(param_3 + 2),(longlong *)(param_1 + 2),0,0xffffffffffffffff); + *(undefined8 *)(param_3 + 0x12) = 7; + *(undefined8 *)(param_3 + 0x10) = 0; + *(undefined2 *)(param_3 + 0xc) = 0; + FUN_140001600((longlong *)(param_3 + 0xc),(longlong *)(param_1 + 0xc),0,0xffffffffffffffff); + } + param_3 = param_3 + 0x16; + } + return param_3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002a130.c b/decomp/Agent_Release_x64/full/functions/0x14002a130.c new file mode 100644 index 00000000..b07240e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002a130.c @@ -0,0 +1,45 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002a130 FUN_14002a130 + * Pseudocode, not original source. */ + +undefined * FUN_14002a130(longlong param_1,longlong param_2) + +{ + longlong lVar1; + longlong lVar2; + longlong lVar3; + undefined **ppuVar4; + double dVar5; + + dVar5 = (double)param_2; + if (param_2 < 0) { + dVar5 = dVar5 + 1.8446744073709552e+19; + } + dVar5 = floor(dVar5 / (double)*(float *)(param_1 + 0x28)); + if (dVar5 < 1.8446744073709552e+19) { + lVar1 = 0; + if ((9.223372036854776e+18 < dVar5) && + (dVar5 = dVar5 - 9.223372036854776e+18, dVar5 < 9.223372036854776e+18)) { + lVar1 = -0x8000000000000000; + } + lVar1 = (longlong)dVar5 + lVar1; + } + else { + lVar1 = -1; + } + ppuVar4 = (undefined **)&DAT_14011fe50; + lVar3 = 0x28; + do { + lVar2 = lVar3 / 2; + if (ppuVar4[lVar2] < (undefined *)(lVar1 + 1U)) { + ppuVar4 = ppuVar4 + lVar2 + 1; + lVar2 = lVar3 + (-1 - lVar2); + } + lVar3 = lVar2; + } while (0 < lVar2); + if (ppuVar4 == &MBISingleton::vftable_meta_ptr) { + return (undefined *)0xfffffffb; + } + return *ppuVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002a210.c b/decomp/Agent_Release_x64/full/functions/0x14002a210.c new file mode 100644 index 00000000..028c8ed4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002a210.c @@ -0,0 +1,89 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002a210 FUN_14002a210 + * Pseudocode, not original source. */ + +void FUN_14002a210(longlong *param_1,ulonglong param_2) + +{ + byte bVar1; + longlong lVar2; + longlong lVar3; + undefined8 *puVar4; + longlong *plVar5; + longlong lVar6; + longlong lVar7; + undefined8 *puVar8; + double dVar9; + longlong local_40; + ulonglong local_38; + longlong local_28; + longlong local_20; + + lVar7 = param_1[4]; + lVar6 = param_1[1]; + lVar2 = *param_1; + local_40 = 0; + local_38 = param_2; + FUN_14002dff0(&local_40); + local_20 = param_1[1]; + lVar3 = *param_1; + *param_1 = 0; + param_1[1] = local_20; + param_1[4] = 0; + for (puVar8 = (undefined8 *)param_1[6]; puVar8 != (undefined8 *)(lVar2 + lVar6 * 8); + puVar8 = puVar8 + 1) { + puVar4 = (undefined8 *)*puVar8; + while (puVar4 != (undefined8 *)0x0) { + bVar1 = *(byte *)(puVar4 + 1); + *puVar8 = *puVar4; + *puVar4 = *(undefined8 *)(local_40 + ((ulonglong)bVar1 % local_38) * 8); + *(undefined8 **)(local_40 + ((ulonglong)bVar1 % local_38) * 8) = puVar4; + puVar4 = (undefined8 *)*puVar8; + } + } + param_1[4] = lVar7; + lVar7 = *param_1; + *param_1 = local_40; + lVar6 = param_1[1]; + param_1[1] = local_38; + plVar5 = (longlong *)*param_1; + if (param_1[4] == 0) { + param_1[6] = (longlong)(plVar5 + local_38); + } + else { + param_1[6] = (longlong)plVar5; + lVar2 = *plVar5; + while (lVar2 == 0) { + plVar5 = plVar5 + 1; + param_1[6] = (longlong)plVar5; + lVar2 = *plVar5; + } + } + dVar9 = (double)param_1[1]; + if (param_1[1] < 0) { + dVar9 = dVar9 + 1.8446744073709552e+19; + } + local_40 = lVar7; + local_38 = lVar6; + local_28 = lVar3; + dVar9 = ceil((double)*(float *)(param_1 + 5) * dVar9); + lVar6 = -1; + if (dVar9 < 1.8446744073709552e+19) { + lVar6 = 0; + if ((9.223372036854776e+18 < dVar9) && + (dVar9 = dVar9 - 9.223372036854776e+18, dVar9 < 9.223372036854776e+18)) { + lVar6 = -0x8000000000000000; + } + lVar6 = (longlong)dVar9 + lVar6; + } + param_1[7] = lVar6; + if (lVar3 != 0) { + FUN_1400297d0(&local_28); + lVar7 = local_40; + } + if (lVar7 != 0) { + FUN_1400297d0(&local_40); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002a3d0.c b/decomp/Agent_Release_x64/full/functions/0x14002a3d0.c new file mode 100644 index 00000000..d69b7258 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002a3d0.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002a3d0 FUN_14002a3d0 + * Pseudocode, not original source. */ + +void FUN_14002a3d0(longlong param_1) + +{ + longlong lVar1; + undefined8 *puVar2; + char *local_res8; + undefined **local_38; + undefined8 local_30; + undefined8 local_28; + undefined8 local_20; + undefined8 local_18; + undefined8 local_10; + + lVar1 = *(longlong *)(param_1 + 8); + if (lVar1 != 0) { + if (*(ulonglong **)(lVar1 + 0x10) != (ulonglong *)0x0) { + FUN_140029b60(*(ulonglong **)(lVar1 + 0x10),*(ulonglong **)(lVar1 + 0x18)); + operator_delete(*(void **)(lVar1 + 0x10)); + } + *(undefined8 *)(lVar1 + 0x10) = 0; + *(undefined8 *)(lVar1 + 0x18) = 0; + *(undefined8 *)(lVar1 + 0x20) = 0; + *(undefined1 *)(param_1 + 0x11) = 0; + return; + } + *(undefined2 *)(param_1 + 0x10) = 0; + puVar2 = operator_new(0x30); + if (puVar2 != (undefined8 *)0x0) { + *(undefined8 **)(param_1 + 8) = puVar2; + *puVar2 = 0; + puVar2[1] = local_30; + puVar2[2] = local_28; + puVar2[3] = local_20; + puVar2[4] = local_18; + puVar2[5] = local_10; + *(undefined1 *)(param_1 + 0x10) = 1; + return; + } + local_res8 = (char *)0x0; + std::exception::exception((exception *)&local_38,&local_res8); + local_38 = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(&local_38,(ThrowInfo *)&DAT_140151ad0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002a4b0.c b/decomp/Agent_Release_x64/full/functions/0x14002a4b0.c new file mode 100644 index 00000000..5ab39b05 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002a4b0.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002a4b0 FUN_14002a4b0 + * Pseudocode, not original source. */ + +undefined4 * FUN_14002a4b0(undefined4 *param_1,undefined4 *param_2,undefined4 *param_3) + +{ + for (; param_1 != param_2; param_1 = param_1 + 0x16) { + if (param_3 != (undefined4 *)0x0) { + *param_3 = *param_1; + param_3[1] = param_1[1]; + *(undefined8 *)(param_3 + 8) = 7; + *(undefined8 *)(param_3 + 6) = 0; + *(undefined2 *)(param_3 + 2) = 0; + FUN_140001600((longlong *)(param_3 + 2),(longlong *)(param_1 + 2),0,0xffffffffffffffff); + *(undefined8 *)(param_3 + 0x12) = 7; + *(undefined8 *)(param_3 + 0x10) = 0; + *(undefined2 *)(param_3 + 0xc) = 0; + FUN_140001600((longlong *)(param_3 + 0xc),(longlong *)(param_1 + 0xc),0,0xffffffffffffffff); + } + param_3 = param_3 + 0x16; + } + return param_3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002a580.c b/decomp/Agent_Release_x64/full/functions/0x14002a580.c new file mode 100644 index 00000000..2efdddcc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002a580.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002a580 FUN_14002a580 + * Pseudocode, not original source. */ + +void FUN_14002a580(undefined8 *param_1) + +{ + if ((undefined8 *)*param_1 != param_1 + 1) { + free((undefined8 *)*param_1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002a5a0.c b/decomp/Agent_Release_x64/full/functions/0x14002a5a0.c new file mode 100644 index 00000000..18e5e032 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002a5a0.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002a5a0 FUN_14002a5a0 + * Pseudocode, not original source. */ + +void FUN_14002a5a0(longlong *param_1,int param_2,void *param_3,int param_4) + +{ + void *pvVar1; + + if (param_1 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (param_3 == (void *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + pvVar1 = (void *)*param_1; + if (pvVar1 == param_3) { + if (param_2 <= param_4) { + *param_1 = (longlong)param_3; + goto LAB_14002a631; + } + pvVar1 = calloc((longlong)param_2,2); + } + else { + if (param_2 <= param_4) { + free(pvVar1); + *param_1 = (longlong)param_3; + goto LAB_14002a631; + } + pvVar1 = _recalloc(pvVar1,(longlong)param_2,2); + if (pvVar1 == (void *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + *param_1 = (longlong)pvVar1; +LAB_14002a631: + if (*param_1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002a650.c b/decomp/Agent_Release_x64/full/functions/0x14002a650.c new file mode 100644 index 00000000..08041de8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002a650.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002a650 FUN_14002a650 + * Pseudocode, not original source. */ + +void FUN_14002a650(void) + +{ + DWORD DVar1; + + DVar1 = GetLastError(); + if (0 < (int)DVar1) { + DVar1 = DVar1 & 0xffff | 0x80070000; + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(DVar1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002a670.c b/decomp/Agent_Release_x64/full/functions/0x14002a670.c new file mode 100644 index 00000000..666f0924 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002a670.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002a670 FUN_14002a670 + * Pseudocode, not original source. */ + +void FUN_14002a670(longlong *param_1,LPCSTR param_2,UINT param_3) + +{ + code *pcVar1; + int iVar2; + int iVar3; + DWORD DVar4; + bool bVar5; + + if (param_2 == (LPCSTR)0x0) { + *param_1 = 0; + return; + } + iVar2 = lstrlenA(param_2); + iVar2 = iVar2 + 1; + FUN_14002a5a0(param_1,iVar2,param_1 + 1,0x80); + iVar3 = MultiByteToWideChar(param_3,0,param_2,iVar2,(LPWSTR)*param_1,iVar2); + if (iVar3 == 0) { + DVar4 = GetLastError(); + bVar5 = true; + if (DVar4 == 0x7a) { + iVar3 = MultiByteToWideChar(param_3,0,param_2,iVar2,(LPWSTR)0x0,0); + FUN_14002a5a0(param_1,iVar3,param_1 + 1,0x80); + iVar2 = MultiByteToWideChar(param_3,0,param_2,iVar2,(LPWSTR)*param_1,iVar3); + bVar5 = iVar2 == 0; + } + if (bVar5) { + FUN_14002a650(); + pcVar1 = (code *)swi(3); + (*pcVar1)(); + return; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002a780.c b/decomp/Agent_Release_x64/full/functions/0x14002a780.c new file mode 100644 index 00000000..83705ad7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002a780.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002a780 FUN_14002a780 + * Pseudocode, not original source. */ + +undefined8 * FUN_14002a780(undefined8 *param_1,byte param_2) + +{ + DAT_140162d68 = 0; + *param_1 = MBISingleton::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002a7c0.c b/decomp/Agent_Release_x64/full/functions/0x14002a7c0.c new file mode 100644 index 00000000..bf59eaeb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002a7c0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002a7c0 FUN_14002a7c0 + * Pseudocode, not original source. */ + +void FUN_14002a7c0(undefined8 *param_1) + +{ + DAT_140162d68 = 0; + *param_1 = MBISingleton::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002a7e0.c b/decomp/Agent_Release_x64/full/functions/0x14002a7e0.c new file mode 100644 index 00000000..86033b5b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002a7e0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002a7e0 FUN_14002a7e0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14002a7e0(undefined8 *param_1,uint param_2) + +{ + *param_1 = MagiServerFile::vftable; + FUN_14000e7d0(param_1 + 1); + DAT_140162d58 = 0; + *param_1 = MBISingleton::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002a840.c b/decomp/Agent_Release_x64/full/functions/0x14002a840.c new file mode 100644 index 00000000..462a10aa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002a840.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002a840 FUN_14002a840 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14002a840(longlong param_1,longlong *param_2) + +{ + undefined1 *puVar1; + undefined1 *puVar2; + undefined1 auStack_88 [32]; + longlong *local_68; + undefined8 local_60; + undefined1 local_58; + undefined2 local_50; + undefined6 uStack_4e; + undefined8 local_40; + ulonglong local_38; + ulonglong local_28; + + local_60 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_88; + local_68 = param_2; + FUN_14002a930((longlong *)(param_1 + 8),param_2); + puVar1 = *(undefined1 **)(param_1 + 0x10); + for (puVar2 = *(undefined1 **)(param_1 + 8); puVar2 != puVar1; puVar2 = puVar2 + 0x30) { + local_58 = *puVar2; + local_38 = 7; + local_40 = 0; + local_50 = 0; + FUN_140001600((longlong *)&local_50,(longlong *)(puVar2 + 8),0,0xffffffffffffffff); + wprintf(L"SERVER_FILE_INSERT : %d : %s \n"); + if (7 < local_38) { + operator_delete((void *)CONCAT62(uStack_4e,local_50)); + } + } + FUN_14000e7d0(param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002a930.c b/decomp/Agent_Release_x64/full/functions/0x14002a930.c new file mode 100644 index 00000000..04c032b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002a930.c @@ -0,0 +1,65 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002a930 FUN_14002a930 + * Pseudocode, not original source. */ + +longlong * FUN_14002a930(longlong *param_1,longlong *param_2) + +{ + ulonglong *puVar1; + undefined1 *puVar2; + undefined8 uVar3; + undefined1 *puVar4; + undefined1 *puVar5; + longlong lVar6; + longlong lVar7; + ulonglong uVar8; + ulonglong uVar9; + + if (param_1 == param_2) { + return param_1; + } + puVar2 = (undefined1 *)*param_2; + lVar6 = param_2[1] - (longlong)puVar2; + lVar6 = lVar6 / 6 + (lVar6 >> 0x3f); + lVar7 = lVar6 >> 3; + lVar6 = lVar6 >> 0x3f; + uVar8 = lVar7 - lVar6; + if (lVar7 != lVar6) { + puVar1 = (ulonglong *)*param_1; + lVar6 = param_1[1] - (longlong)puVar1; + lVar6 = lVar6 / 6 + (lVar6 >> 0x3f); + uVar9 = (lVar6 >> 3) - (lVar6 >> 0x3f); + if (uVar9 < uVar8) { + if ((ulonglong)((param_1[2] - (longlong)puVar1) / 0x30) < uVar8) { + if (puVar1 != (ulonglong *)0x0) { + FUN_14000e870(puVar1,(ulonglong *)param_1[1]); + operator_delete((void *)*param_1); + } + uVar3 = FUN_14000e760(param_1,(param_2[1] - *param_2) / 0x30); + if ((char)uVar3 == '\0') { + return param_1; + } + puVar2 = (undefined1 *)*param_1; + puVar4 = (undefined1 *)param_2[1]; + puVar5 = (undefined1 *)*param_2; + } + else { + puVar5 = puVar2 + uVar9 * 0x30; + FUN_1400216d0(puVar2,puVar5,(undefined1 *)puVar1); + puVar2 = (undefined1 *)param_1[1]; + puVar4 = (undefined1 *)param_2[1]; + } + puVar2 = FUN_14002ab60(puVar5,puVar4,puVar2); + } + else { + puVar1 = (ulonglong *)FUN_1400216d0(puVar2,(undefined1 *)param_2[1],(undefined1 *)puVar1); + FUN_14000e870(puVar1,(ulonglong *)param_1[1]); + puVar2 = (undefined1 *)(((param_2[1] - *param_2) / 0x30) * 0x30 + *param_1); + } + param_1[1] = (longlong)puVar2; + return param_1; + } + FUN_14002aad0(param_1); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002aad0.c b/decomp/Agent_Release_x64/full/functions/0x14002aad0.c new file mode 100644 index 00000000..80d524ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002aad0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002aad0 FUN_14002aad0 + * Pseudocode, not original source. */ + +void FUN_14002aad0(undefined8 *param_1) + +{ + ulonglong *puVar1; + undefined1 *puVar2; + ulonglong *puVar3; + ulonglong *puVar4; + ulonglong *puVar5; + + puVar2 = (undefined1 *)param_1[1]; + if ((undefined1 *)*param_1 != puVar2) { + puVar4 = (ulonglong *)FUN_1400216d0(puVar2,puVar2,(undefined1 *)*param_1); + puVar3 = (ulonglong *)param_1[1]; + if (puVar4 != puVar3) { + puVar5 = puVar4 + 4; + do { + if (7 < *puVar5) { + operator_delete((void *)puVar5[-3]); + } + *puVar5 = 7; + puVar5[-1] = 0; + *(undefined2 *)(puVar5 + -3) = 0; + puVar1 = puVar5 + 2; + puVar5 = puVar5 + 6; + } while (puVar1 != puVar3); + } + param_1[1] = puVar4; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002ab60.c b/decomp/Agent_Release_x64/full/functions/0x14002ab60.c new file mode 100644 index 00000000..bdbcd917 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002ab60.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002ab60 FUN_14002ab60 + * Pseudocode, not original source. */ + +undefined1 * FUN_14002ab60(undefined1 *param_1,undefined1 *param_2,undefined1 *param_3) + +{ + for (; param_1 != param_2; param_1 = param_1 + 0x30) { + if (param_3 != (undefined1 *)0x0) { + *param_3 = *param_1; + *(undefined8 *)(param_3 + 0x20) = 7; + *(undefined8 *)(param_3 + 0x18) = 0; + *(undefined2 *)(param_3 + 8) = 0; + FUN_140001600((longlong *)(param_3 + 8),(longlong *)(param_1 + 8),0,0xffffffffffffffff); + } + param_3 = param_3 + 0x30; + } + return param_3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002abf0.c b/decomp/Agent_Release_x64/full/functions/0x14002abf0.c new file mode 100644 index 00000000..bd1035ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002abf0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002abf0 FUN_14002abf0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14002abf0(undefined8 *param_1,byte param_2) + +{ + DAT_140162d58 = 0; + *param_1 = MBISingleton::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002ac30.c b/decomp/Agent_Release_x64/full/functions/0x14002ac30.c new file mode 100644 index 00000000..38c60b26 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002ac30.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002ac30 FUN_14002ac30 + * Pseudocode, not original source. */ + +void FUN_14002ac30(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((undefined8 *)*param_1 != (undefined8 *)0x0) { + param_2 = 1; + (*(code *)**(undefined8 **)*param_1)(); + } + *param_1 = 0; + FUN_140003240(param_1 + 1,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002ac70.c b/decomp/Agent_Release_x64/full/functions/0x14002ac70.c new file mode 100644 index 00000000..d8a4252a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002ac70.c @@ -0,0 +1,330 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002ac70 FUN_14002ac70 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Removing unreachable block (ram,0x00014002b060) */ +/* WARNING: Removing unreachable block (ram,0x00014002b067) */ +/* WARNING: Removing unreachable block (ram,0x00014002b080) */ +/* WARNING: Removing unreachable block (ram,0x00014002b08c) */ +/* WARNING: Removing unreachable block (ram,0x00014002b084) */ +/* WARNING: Removing unreachable block (ram,0x00014002b092) */ +/* WARNING: Removing unreachable block (ram,0x00014002b0a4) */ +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_14002ac70(undefined8 *param_1,undefined8 param_2,longlong param_3,longlong param_4) + +{ + uint uVar1; + int *piVar2; + int *piVar3; + ulonglong *puVar4; + undefined *puVar5; + int *piVar6; + undefined4 *puVar7; + undefined4 *puVar8; + undefined4 **ppuVar9; + LPCWSTR pWVar10; + longlong lVar11; + int iVar12; + undefined4 *puVar13; + undefined *puVar14; + undefined4 *puVar15; + longlong lVar16; + longlong *plVar17; + int iVar18; + undefined1 auStack_178 [32]; + int *local_158; + int *local_150; + undefined1 local_148; + int *local_140; + undefined1 local_138; + undefined8 local_128; + undefined4 **local_120; + longlong *local_118; + undefined4 *local_110; + uint local_108; + undefined4 uStack_104; + undefined4 uStack_100; + undefined4 local_fc; + undefined *local_f8; + undefined4 *local_f0; + uint local_e8; + undefined **local_e0; + longlong *local_d8; + undefined4 *local_d0; + int local_c8; + undefined4 local_b8; + undefined4 local_b4; + undefined4 local_b0; + undefined4 local_ac; + undefined4 local_a8; + undefined8 local_a4; + undefined4 local_9c; + undefined1 local_91; + undefined1 local_80; + undefined **local_70; + longlong *local_68; + undefined4 *local_60; + ulonglong local_38; + + local_128 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_178; + (**(code **)(*(longlong *)*param_1 + 0x178))((longlong *)*param_1,0x406e000000000000); + FUN_14003b670(&local_f8,param_2,param_3,param_4); + if (*(char *)(DAT_140162d68 + 0x151) == '\0') { + if (local_f0 == (undefined4 *)0x0) { + local_f0 = (undefined4 *)PTR_DAT_140155010; + } + if ((undefined4 *)param_1[1] != local_f0) { + puVar5 = PTR_DAT_140155010; + piVar2 = (int *)FUN_140030200(local_f0,PTR_DAT_140155010,param_3,param_4); + piVar6 = piVar2; + local_150 = piVar2; + FUN_14002e6e0(piVar2); + puVar7 = local_f0; + local_148 = 1; + if (((local_f0 != (undefined4 *)0x0) && (local_f0 != (undefined4 *)PTR_DAT_140155010)) && + (puVar13 = local_f0 + -2, puVar13 != (undefined4 *)0x0)) { + piVar3 = (int *)FUN_140030200(piVar6,puVar5,param_3,param_4); + local_140 = piVar3; + FUN_14002e6e0(piVar3); + local_138 = 1; + piVar6 = puVar7 + -1; + *piVar6 = *piVar6 + -1; + if (*piVar6 == 0) { + FUN_1400302f0(puVar13); + } + FUN_14002e770((longlong)piVar3); + } + local_f0 = (undefined4 *)param_1[1]; + if (((local_f0 != (undefined4 *)PTR_DAT_140155010) && (local_f0 != (undefined4 *)0x0)) && + (local_f0 != (undefined4 *)0x8)) { + local_f0[-1] = local_f0[-1] + 1; + } + FUN_14002e770((longlong)piVar2); + } + puVar5 = PTR_DAT_140155010; + puVar7 = (undefined4 *)param_1[1]; + if ((undefined4 *)param_1[1] == (undefined4 *)0x0) { + puVar7 = (undefined4 *)PTR_DAT_140155010; + } + param_1[1] = puVar7; + if (local_f0 == puVar7) goto LAB_14002af7d; + piVar6 = (int *)FUN_140030200(local_f0,puVar5,param_3,param_4); + local_150 = piVar6; + FUN_14002e6e0(piVar6); + local_148 = 1; + FUN_140003240(param_1 + 1,puVar5,param_3,param_4); + param_1[1] = local_f0; + if (((local_f0 != (undefined4 *)PTR_DAT_140155010) && (local_f0 != (undefined4 *)0x0)) && + (local_f0 != (undefined4 *)0x8)) { + local_f0[-1] = local_f0[-1] + 1; + } + } + else { + if (local_f8 == (undefined *)0x0) { + local_f8 = PTR_DAT_140155010; + } + if ((undefined *)param_1[1] != local_f8) { + piVar2 = (int *)FUN_140030200(PTR_DAT_140155010,param_2,param_3,param_4); + piVar6 = piVar2; + local_140 = piVar2; + FUN_14002e6e0(piVar2); + puVar5 = local_f8; + local_138 = 1; + if (((local_f8 != (undefined *)0x0) && (local_f8 != PTR_DAT_140155010)) && + (puVar14 = local_f8 + -8, puVar14 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(piVar6,param_2,param_3,param_4); + local_150 = piVar3; + FUN_14002e6e0(piVar3); + local_148 = 1; + piVar6 = (int *)(puVar5 + -4); + *piVar6 = *piVar6 + -1; + if (*piVar6 == 0) { + FUN_1400302f0(puVar14); + } + FUN_14002e770((longlong)piVar3); + } + local_f8 = (undefined *)param_1[1]; + if (((local_f8 != PTR_DAT_140155010) && (local_f8 != (undefined *)0x0)) && + (local_f8 != (undefined *)0x8)) { + *(int *)(local_f8 + -4) = *(int *)(local_f8 + -4) + 1; + } + FUN_14002e770((longlong)piVar2); + } + pWVar10 = (LPCWSTR)param_1[1]; + if ((LPCWSTR)param_1[1] == (LPCWSTR)0x0) { + pWVar10 = (LPCWSTR)PTR_DAT_140155010; + } + puVar4 = FUN_140026050((ulonglong *)&local_120,pWVar10); + if (7 < puVar4[3]) { + puVar4 = (ulonglong *)*puVar4; + } + ppuVar9 = &local_f0; + FUN_140006c60((longlong *)ppuVar9,(short *)puVar4,param_3,param_4); + if (7 < CONCAT44(uStack_104,local_108)) { + ppuVar9 = local_120; + operator_delete(local_120); + } + puVar5 = (undefined *)param_1[1]; + if ((undefined *)param_1[1] == (undefined *)0x0) { + puVar5 = PTR_DAT_140155010; + } + param_1[1] = puVar5; + if (local_f8 == puVar5) goto LAB_14002af7d; + piVar6 = (int *)FUN_140030200(ppuVar9,puVar4,param_3,param_4); + local_150 = piVar6; + FUN_14002e6e0(piVar6); + local_148 = 1; + FUN_140003240(param_1 + 1,puVar4,param_3,param_4); + param_1[1] = local_f8; + if (((local_f8 != PTR_DAT_140155010) && (local_f8 != (undefined *)0x0)) && + (local_f8 != (undefined *)0x8)) { + *(int *)(local_f8 + -4) = *(int *)(local_f8 + -4) + 1; + } + } + FUN_14002e770((longlong)piVar6); +LAB_14002af7d: + local_e8 = *(uint *)(param_1 + 2); + local_b4 = DAT_140162d38; + local_b0 = _DAT_140162d3c; + local_ac = _DAT_140162d40; + local_a8 = _DAT_140162d44; + local_80 = 0; + local_9c = 0x80; + puVar7 = (undefined4 *)0x0; + local_a4 = 0; + local_91 = 1; + iVar18 = *(int *)((longlong)param_1 + 0x14); + if ((iVar18 < 1) || (*(int *)(param_1 + 3) < 1)) { + (**(code **)(*(longlong *)*param_1 + 0x180))((longlong *)*param_1,2); + } + else { + local_120 = (undefined4 **)Proud::CFastArray::vftable; + local_118 = (longlong *)0x0; + local_fc = 0; + local_110 = (undefined4 *)0x0; + local_108 = 0; + uStack_104 = 0; + uStack_100 = 0; + local_b8 = 1; + puVar13 = puVar7; + if (iVar18 < *(int *)(param_1 + 3) + iVar18) { + do { + iVar12 = (int)puVar13; + if (iVar12 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14002d430((longlong)&local_120,iVar12 + 1,param_3,param_4); + param_4 = (longlong)iVar12; + puVar13 = (undefined4 *)(ulonglong)local_108; + puVar8 = local_110; + if (local_108 == 0) { + puVar8 = puVar7; + } + puVar8[param_4] = iVar18; + iVar18 = iVar18 + 1; + } while (iVar18 < *(int *)(param_1 + 3) + *(int *)((longlong)param_1 + 0x14)); + if ((int)local_108 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + uVar1 = local_108; + puVar13 = local_110; + plVar17 = local_118; + FUN_14002d430((longlong)&local_e0,local_108,param_3,param_4); + puVar8 = local_d0; + if (local_c8 == 0) { + puVar8 = puVar7; + } + puVar15 = puVar13; + if (uVar1 == 0) { + puVar15 = puVar7; + } + lVar11 = (longlong)(int)uVar1; + if (0 < (int)uVar1) { + lVar16 = (longlong)puVar15 - (longlong)puVar8; + do { + *puVar8 = *(undefined4 *)(lVar16 + (longlong)puVar8); + puVar8 = puVar8 + 1; + lVar11 = lVar11 + -1; + } while (lVar11 != 0); + } + if (puVar13 != (undefined4 *)0x0) { + if (plVar17 == (longlong *)0x0) { + FUN_1400302f0(puVar13); + } + else { + (**(code **)(*plVar17 + 0x18))(plVar17,puVar13); + } + } + } + local_158 = (int *)0x0; + (**(code **)(*(longlong *)*param_1 + 0x138))((longlong *)*param_1,&local_f8,&local_158); + puVar7 = local_f0; + if (local_f0 == (undefined4 *)0x0) { + puVar7 = (undefined4 *)PTR_DAT_140155010; + } + plVar17 = (longlong *)(ulonglong)local_e8; + FUN_140010960(L"Server Start : ADDRESS[%s] PORT[%d]",puVar7,plVar17,param_4); + piVar6 = local_158; + if (local_158 != (int *)0x0) { + local_140 = local_158; + FUN_14002e6e0(local_158); + local_138 = 1; + *(longlong *)(local_158 + 0x10) = *(longlong *)(local_158 + 0x10) + -1; + if (*(longlong *)(local_158 + 0x10) == 0) { + FUN_14002e770((longlong)piVar6); + local_138 = 0; + FUN_14002b500(local_158,puVar7,plVar17,param_4); + } + else { + FUN_14002e770((longlong)piVar6); + } + } + local_70 = Proud::CFastArray::vftable; + if (local_60 != (undefined4 *)0x0) { + if (local_68 == (longlong *)0x0) { + FUN_1400302f0(local_60); + plVar17 = local_68; + } + else { + (**(code **)(*local_68 + 0x18))(local_68); + puVar7 = local_60; + plVar17 = local_68; + } + } + local_e0 = Proud::CFastArray::vftable; + if (local_d0 != (undefined4 *)0x0) { + if (local_d8 == (longlong *)0x0) { + FUN_1400302f0(local_d0); + plVar17 = local_d8; + } + else { + (**(code **)(*local_d8 + 0x18))(local_d8); + puVar7 = local_d0; + plVar17 = local_d8; + } + } + ppuVar9 = &local_f0; + FUN_140003240((longlong *)ppuVar9,puVar7,plVar17,param_4); + puVar5 = local_f8; + if (((local_f8 != (undefined *)0x0) && (local_f8 != PTR_DAT_140155010)) && + (puVar14 = local_f8 + -8, puVar14 != (undefined *)0x0)) { + piVar2 = (int *)FUN_140030200(ppuVar9,puVar7,plVar17,param_4); + local_150 = piVar2; + FUN_14002e6e0(piVar2); + local_148 = 1; + piVar6 = (int *)(puVar5 + -4); + *piVar6 = *piVar6 + -1; + if (*piVar6 == 0) { + FUN_1400302f0(puVar14); + } + FUN_14002e770((longlong)piVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002b320.c b/decomp/Agent_Release_x64/full/functions/0x14002b320.c new file mode 100644 index 00000000..ebe4f70e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002b320.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002b320 FUN_14002b320 + * Pseudocode, not original source. */ + +void FUN_14002b320(longlong *param_1,LPVOID param_2,longlong *param_3,undefined8 param_4) + +{ + LPVOID pvVar1; + + param_1[0x11] = (longlong)Proud::CFastArray::vftable; + pvVar1 = (LPVOID)param_1[0x13]; + if (pvVar1 != (LPVOID)0x0) { + param_3 = (longlong *)param_1[0x12]; + if (param_3 == (longlong *)0x0) { + FUN_1400302f0(pvVar1); + } + else { + (**(code **)(*param_3 + 0x18))(param_3); + param_2 = pvVar1; + } + } + param_1[3] = (longlong)Proud::CFastArray::vftable; + pvVar1 = (LPVOID)param_1[5]; + if (pvVar1 != (LPVOID)0x0) { + param_3 = (longlong *)param_1[4]; + if (param_3 == (longlong *)0x0) { + FUN_1400302f0(pvVar1); + } + else { + (**(code **)(*param_3 + 0x18))(param_3); + param_2 = pvVar1; + } + } + FUN_140003240(param_1 + 1,param_2,param_3,param_4); + FUN_140003240(param_1,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002b3c0.c b/decomp/Agent_Release_x64/full/functions/0x14002b3c0.c new file mode 100644 index 00000000..57bb4218 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002b3c0.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002b3c0 FUN_14002b3c0 + * Pseudocode, not original source. */ + +void FUN_14002b3c0(longlong param_1,longlong param_2,undefined8 param_3,longlong param_4) + +{ + int iVar1; + undefined4 *puVar2; + undefined4 *puVar3; + longlong lVar4; + undefined4 *puVar5; + + iVar1 = *(int *)(param_1 + 0x18); + lVar4 = (longlong)iVar1; + if (-1 < iVar1) { + FUN_14002d430(param_2,iVar1,param_3,param_4); + puVar5 = (undefined4 *)0x0; + puVar2 = puVar5; + if (*(int *)(param_2 + 0x18) != 0) { + puVar2 = *(undefined4 **)(param_2 + 0x10); + } + if (*(int *)(param_1 + 0x18) != 0) { + puVar5 = *(undefined4 **)(param_1 + 0x10); + } + if (0 < iVar1) { + puVar3 = puVar2; + do { + lVar4 = lVar4 + -1; + *puVar3 = *(undefined4 *)(((longlong)puVar5 - (longlong)puVar2) + (longlong)puVar3); + puVar3 = puVar3 + 1; + } while (lVar4 != 0); + } + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002b440.c b/decomp/Agent_Release_x64/full/functions/0x14002b440.c new file mode 100644 index 00000000..dcd32e17 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002b440.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002b440 FUN_14002b440 + * Pseudocode, not original source. */ + +undefined8 FUN_14002b440(longlong param_1) + +{ + if (*(int *)(param_1 + 0x18) == 0) { + return 0; + } + return *(undefined8 *)(param_1 + 0x10); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002b450.c b/decomp/Agent_Release_x64/full/functions/0x14002b450.c new file mode 100644 index 00000000..8a72d742 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002b450.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002b450 FUN_14002b450 + * Pseudocode, not original source. */ + +int FUN_14002b450(longlong param_1,int param_2) + +{ + uint uVar1; + int iVar2; + uint uVar3; + int iVar4; + + iVar4 = *(int *)(param_1 + 0x24); + if (iVar4 == 0) { + iVar2 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + iVar4 = 0x400; + if (iVar2 < 0x400) { + iVar4 = iVar2; + } + iVar2 = 4; + if (4 < iVar4) { + iVar2 = iVar4; + } + iVar4 = iVar2 + param_2; + if (iVar2 + param_2 < *(int *)(param_1 + 0x20)) { + iVar4 = *(int *)(param_1 + 0x20); + } + return iVar4; + } + if (iVar4 != 1) { + if (iVar4 != 2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 < *(int *)(param_1 + 0x20)) { + param_2 = *(int *)(param_1 + 0x20); + } + return param_2; + } + uVar1 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + uVar3 = 0x10; + if (0x10 < (int)uVar1) { + uVar3 = uVar1; + } + if (uVar3 < 0x11) { + uVar3 = 0x10; + } + iVar4 = uVar3 + param_2; + if ((int)(uVar3 + param_2) < *(int *)(param_1 + 0x20)) { + iVar4 = *(int *)(param_1 + 0x20); + } + return iVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002b500.c b/decomp/Agent_Release_x64/full/functions/0x14002b500.c new file mode 100644 index 00000000..f4b632d9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002b500.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002b500 FUN_14002b500 + * Pseudocode, not original source. */ + +void FUN_14002b500(undefined4 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + LPVOID pvVar1; + + pvVar1 = *(LPVOID *)(param_1 + 0xe); + if (pvVar1 != (LPVOID)0x0) { + FUN_140003240((longlong *)((longlong)pvVar1 + 0x58),param_2,param_3,param_4); + FUN_14003b870((undefined8 *)((longlong)pvVar1 + 0x28)); + FUN_140003240((longlong *)((longlong)pvVar1 + 0x10),param_2,param_3,param_4); + FUN_1400302f0(pvVar1); + } + FUN_14002e7a0(param_1,param_2,param_3,param_4); + FUN_1400302f0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002b570.c b/decomp/Agent_Release_x64/full/functions/0x14002b570.c new file mode 100644 index 00000000..3cb62fe3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002b570.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002b570 FUN_14002b570 + * Pseudocode, not original source. */ + +void FUN_14002b570(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + + piVar1 = (int *)*param_1; + if (piVar1 != (int *)0x0) { + FUN_14002e6e0(piVar1); + *(longlong *)(*param_1 + 0x40) = *(longlong *)(*param_1 + 0x40) + -1; + if (*(longlong *)(*param_1 + 0x40) == 0) { + FUN_14002e770((longlong)piVar1); + FUN_14002b500((undefined4 *)*param_1,param_2,param_3,param_4); + } + else { + FUN_14002e770((longlong)piVar1); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002b5f0.c b/decomp/Agent_Release_x64/full/functions/0x14002b5f0.c new file mode 100644 index 00000000..19496be7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002b5f0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002b5f0 FUN_14002b5f0 + * Pseudocode, not original source. */ + +longlong * FUN_14002b5f0(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + ulonglong uVar2; + undefined7 uVar3; + + uVar3 = (undefined7)((ulonglong)param_3 >> 8); + if (param_2 == 0) { + *param_1 = 0; + } + else { + piVar1 = (int *)FUN_140030280(0x48); + if (piVar1 != (int *)0x0) { + uVar2 = FUN_14002e790(); + FUN_14002e600(piVar1,uVar2 & 0xffffffff,CONCAT71(uVar3,1),param_4); + } + *param_1 = (longlong)piVar1; + FUN_14002e6e0(piVar1); + *(undefined8 *)(*param_1 + 0x40) = 1; + *(longlong *)(*param_1 + 0x38) = param_2; + FUN_14002e770((longlong)piVar1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002b690.c b/decomp/Agent_Release_x64/full/functions/0x14002b690.c new file mode 100644 index 00000000..4d0ca012 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002b690.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002b690 FUN_14002b690 + * Pseudocode, not original source. */ + +undefined8 * FUN_14002b690(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002b6f0.c b/decomp/Agent_Release_x64/full/functions/0x14002b6f0.c new file mode 100644 index 00000000..fc86282b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002b6f0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002b6f0 FUN_14002b6f0 + * Pseudocode, not original source. */ + +void FUN_14002b6f0(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x00014002b717. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002b730.c b/decomp/Agent_Release_x64/full/functions/0x14002b730.c new file mode 100644 index 00000000..bc2c29a4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002b730.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002b730 FUN_14002b730 + * Pseudocode, not original source. */ + +undefined8 * FUN_14002b730(undefined8 *param_1) + +{ + *param_1 = MagiCustomOption::vftable; + *(undefined4 *)(param_1 + 1) = 0x1010101; + *(undefined4 *)((longlong)param_1 + 0xc) = 0x1010101; + *(undefined4 *)(param_1 + 2) = 0x1010101; + *(undefined4 *)((longlong)param_1 + 0x14) = 0x1010101; + param_1[6] = 0xf; + param_1[5] = 0; + *(undefined1 *)(param_1 + 3) = 0; + param_1[8] = 0; + *(undefined1 *)(param_1 + 9) = 0; + FUN_14000b810(param_1 + 3,"option\\customoption.xml",0x17); + FUN_14002b820((longlong)param_1); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002b7b0.c b/decomp/Agent_Release_x64/full/functions/0x14002b7b0.c new file mode 100644 index 00000000..b1cc9756 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002b7b0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002b7b0 FUN_14002b7b0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14002b7b0(undefined8 *param_1,uint param_2) + +{ + *param_1 = MagiCustomOption::vftable; + if (0xf < (ulonglong)param_1[6]) { + operator_delete((void *)param_1[3]); + } + param_1[6] = 0xf; + param_1[5] = 0; + *(undefined1 *)(param_1 + 3) = 0; + *param_1 = MBISingleton::vftable; + DAT_140162d48 = 0; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002b820.c b/decomp/Agent_Release_x64/full/functions/0x14002b820.c new file mode 100644 index 00000000..fb0030c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002b820.c @@ -0,0 +1,492 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002b820 FUN_14002b820 + * Pseudocode, not original source. */ + +void FUN_14002b820(longlong param_1) + +{ + char cVar1; + int iVar2; + ulonglong uVar3; + longlong lVar4; + longlong lVar5; + longlong lVar6; + longlong *plVar7; + char *pcVar8; + longlong *plVar9; + char *pcVar10; + char *pcVar11; + bool bVar12; + undefined **local_98 [5]; + longlong *local_70; + undefined8 *local_60; + void *local_58; + undefined8 *local_38; + void *local_30; + undefined8 local_18; + + local_18 = 0xfffffffffffffffe; + pcVar8 = (char *)(param_1 + 0x18); + if (0xf < *(ulonglong *)(param_1 + 0x30)) { + pcVar8 = *(char **)pcVar8; + } + FUN_140012380(local_98,pcVar8); + DAT_14015ad18 = 0; + uVar3 = FUN_140012450((longlong *)local_98,(char *)(local_60 + 2)); + if ((char)uVar3 == '\0') { + local_98[0] = TiXmlDocument::vftable; + if (local_38 != &DAT_140162cd0) { + operator_delete__(local_30); + } + local_98[0] = TiXmlNode::vftable; + while (local_70 != (longlong *)0x0) { + plVar9 = (longlong *)local_70[10]; + (**(code **)*local_70)(local_70,1); + local_70 = plVar9; + } + if (local_60 != &DAT_140162cd0) { + operator_delete__(local_58); + return; + } + return; + } + plVar9 = local_70; + if (local_70 != (longlong *)0x0) { + do { + bVar12 = (char *)(plVar9[7] + 0x10) == (char *)0x0; + lVar4 = 4; + pcVar8 = (char *)(plVar9[7] + 0x10); + pcVar10 = "log"; + do { + if (lVar4 == 0) break; + lVar4 = lVar4 + -1; + bVar12 = *pcVar8 == *pcVar10; + pcVar8 = pcVar8 + 1; + pcVar10 = pcVar10 + 1; + } while (bVar12); + if (bVar12) goto LAB_14002b936; + plVar9 = (longlong *)plVar9[10]; + plVar7 = local_70; + } while (plVar9 != (longlong *)0x0); + goto joined_r0x00014002bbf3; + } + goto LAB_14002bffb; +LAB_14002b936: + while (lVar4 = (**(code **)(*plVar9 + 0x30))(plVar9), lVar4 == 0) { + do { + plVar9 = (longlong *)plVar9[10]; + plVar7 = local_70; + if (plVar9 == (longlong *)0x0) goto joined_r0x00014002bbf3; + bVar12 = (char *)(plVar9[7] + 0x10) == (char *)0x0; + lVar4 = 4; + pcVar8 = (char *)(plVar9[7] + 0x10); + pcVar10 = "log"; + do { + if (lVar4 == 0) break; + lVar4 = lVar4 + -1; + bVar12 = *pcVar8 == *pcVar10; + pcVar8 = pcVar8 + 1; + pcVar10 = pcVar10 + 1; + } while (bVar12); + } while (!bVar12); + } + lVar4 = (**(code **)(*plVar9 + 0x30))(plVar9); + plVar7 = local_70; + if (lVar4 != 0) { + for (plVar9 = *(longlong **)(lVar4 + 0x28); plVar7 = local_70, plVar9 != (longlong *)0x0; + plVar9 = (longlong *)plVar9[10]) { + lVar4 = (**(code **)(*plVar9 + 0x30))(plVar9); + if (lVar4 != 0) { + lVar4 = (**(code **)(*plVar9 + 0x30))(plVar9); + goto joined_r0x00014002b9bb; + } + } + } +joined_r0x00014002bbf3: + do { + if (plVar7 == (longlong *)0x0) goto LAB_14002bffb; + bVar12 = (char *)(plVar7[7] + 0x10) == (char *)0x0; + lVar4 = 8; + pcVar8 = (char *)(plVar7[7] + 0x10); + pcVar10 = "connect"; + do { + if (lVar4 == 0) break; + lVar4 = lVar4 + -1; + bVar12 = *pcVar8 == *pcVar10; + pcVar8 = pcVar8 + 1; + pcVar10 = pcVar10 + 1; + } while (bVar12); + if (bVar12) goto LAB_14002bc26; + plVar7 = (longlong *)plVar7[10]; + } while( true ); +joined_r0x00014002b9bb: + plVar7 = local_70; + if (lVar4 != 0) { + pcVar8 = (char *)(*(longlong *)(lVar4 + 0x38) + 0x10); + if (pcVar8 != (char *)0x0) { + for (lVar5 = *(longlong *)(lVar4 + 0xa0); lVar5 != lVar4 + 0x58; + lVar5 = *(longlong *)(lVar5 + 0x48)) { + pcVar10 = (char *)(*(longlong *)(lVar5 + 0x20) + 0x10); + bVar12 = pcVar10 == (char *)0x0; + lVar6 = 6; + pcVar11 = "print"; + do { + if (lVar6 == 0) break; + lVar6 = lVar6 + -1; + bVar12 = *pcVar10 == *pcVar11; + pcVar10 = pcVar10 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar12); + if (bVar12) { + pcVar10 = (char *)(*(longlong *)(lVar5 + 0x30) + 0x10); + if (pcVar10 != (char *)0x0) { + lVar5 = -1; + pcVar11 = pcVar8; + goto code_r0x00014002ba1d; + } + break; + } + } + } + goto LAB_14002bbb9; + } + goto joined_r0x00014002bbf3; + while( true ) { + lVar5 = lVar5 + -1; + cVar1 = *pcVar11; + pcVar11 = pcVar11 + 1; + if (cVar1 == '\0') break; +code_r0x00014002ba1d: + if (lVar5 == 0) break; + } + if (lVar5 != -2) { + iVar2 = _stricmp(pcVar8,"log_account"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0x41) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"log_item"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0x40) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"log_pet"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0x42) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"log_loginout"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0x43) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"agentmanagers"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0x44) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"agent"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0x45) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"api"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0x46) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"pvp"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0x47) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"serveroption"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0x48) = iVar2 == 1; + } + } + } + } + } + } + } + } + } + } +LAB_14002bbb9: + plVar9 = *(longlong **)(lVar4 + 0x50); + while( true ) { + plVar7 = local_70; + if (plVar9 == (longlong *)0x0) goto joined_r0x00014002bbf3; + lVar4 = (**(code **)(*plVar9 + 0x30))(plVar9); + if (lVar4 != 0) break; + plVar9 = (longlong *)plVar9[10]; + } + lVar4 = (**(code **)(*plVar9 + 0x30))(plVar9); + goto joined_r0x00014002b9bb; +LAB_14002bc26: + while (lVar4 = (**(code **)(*plVar7 + 0x30))(plVar7), lVar4 == 0) { + do { + plVar7 = (longlong *)plVar7[10]; + if (plVar7 == (longlong *)0x0) goto LAB_14002bffb; + bVar12 = (char *)(plVar7[7] + 0x10) == (char *)0x0; + lVar4 = 8; + pcVar8 = (char *)(plVar7[7] + 0x10); + pcVar10 = "connect"; + do { + if (lVar4 == 0) break; + lVar4 = lVar4 + -1; + bVar12 = *pcVar8 == *pcVar10; + pcVar8 = pcVar8 + 1; + pcVar10 = pcVar10 + 1; + } while (bVar12); + } while (!bVar12); + } + lVar4 = (**(code **)(*plVar7 + 0x30))(plVar7); + if (lVar4 != 0) { + for (plVar9 = *(longlong **)(lVar4 + 0x28); plVar9 != (longlong *)0x0; + plVar9 = (longlong *)plVar9[10]) { + lVar4 = (**(code **)(*plVar9 + 0x30))(plVar9); + if (lVar4 != 0) { + lVar4 = (**(code **)(*plVar9 + 0x30))(plVar9); + while (lVar4 != 0) { + pcVar8 = (char *)(*(longlong *)(lVar4 + 0x38) + 0x10); + if (pcVar8 != (char *)0x0) { + for (lVar5 = *(longlong *)(lVar4 + 0xa0); lVar5 != lVar4 + 0x58; + lVar5 = *(longlong *)(lVar5 + 0x48)) { + pcVar10 = (char *)(*(longlong *)(lVar5 + 0x20) + 0x10); + bVar12 = pcVar10 == (char *)0x0; + lVar6 = 8; + pcVar11 = "connect"; + do { + if (lVar6 == 0) break; + lVar6 = lVar6 + -1; + bVar12 = *pcVar10 == *pcVar11; + pcVar10 = pcVar10 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar12); + if (bVar12) { + pcVar10 = (char *)(*(longlong *)(lVar5 + 0x30) + 0x10); + if (pcVar10 != (char *)0x0) { + iVar2 = _stricmp(pcVar8,"dbc_game"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 8) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"dbc_log"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 9) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"dbc_chat"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 10) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"dbc_emergency"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0xb) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"auction"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0xc) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"msg"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0xd) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"manager"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0xe) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"match"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0xf) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"gm"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0x10) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"gate"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0x11) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"lobby"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0x12) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"dungeon"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0x13) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"pvp"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0x14) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"guild"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0x15) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"agent"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0x16) = iVar2 == 1; + } + else { + iVar2 = _stricmp(pcVar8,"agentmanager"); + if (iVar2 == 0) { + iVar2 = atoi(pcVar10); + *(bool *)(param_1 + 0x17) = iVar2 == 1; + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + break; + } + } + } + plVar9 = *(longlong **)(lVar4 + 0x50); + while( true ) { + if (plVar9 == (longlong *)0x0) goto LAB_14002bffb; + lVar4 = (**(code **)(*plVar9 + 0x30))(plVar9); + if (lVar4 != 0) break; + plVar9 = (longlong *)plVar9[10]; + } + lVar4 = (**(code **)(*plVar9 + 0x30))(plVar9); + } + break; + } + } + } +LAB_14002bffb: + printf("//////////////////////////////////////////////////////////////////////////\n"); + if (*(char *)(param_1 + 0x40) != '\0') { + printf("LOGVIEWER Option [%d] - LogItem View.\n"); + } + if (*(char *)(param_1 + 0x41) != '\0') { + printf("LOGVIEWER Option [%d] - LogAccount View.\n"); + } + if (*(char *)(param_1 + 0x44) != '\0') { + printf("LOGVIEWER Option [%d] - LogAgentManagers View.\n"); + } + if (*(char *)(param_1 + 0x45) != '\0') { + printf("LOGVIEWER Option [%d] - LogAgent View.\n"); + } + if (*(char *)(param_1 + 0x46) != '\0') { + printf("LOGVIEWER Option [%d] - LogApi View.\n"); + } + if (*(char *)(param_1 + 0x47) != '\0') { + printf("LOGVIEWER Option [%d] - LogPvp View.\n"); + } + if (*(char *)(param_1 + 0x48) != '\0') { + printf("LOGVIEWER Option [%d] - LogServerOption View.\n"); + } + if (*(char *)(param_1 + 0x42) != '\0') { + printf("LOGVIEWER Option [%d] - LogPet View.\n"); + } + if (*(char *)(param_1 + 8) != '\0') { + printf("Connect Option [%d] - DBC_GAME. \n"); + } + if (*(char *)(param_1 + 9) != '\0') { + printf("Connect Option [%d] - DBC_LOG. \n"); + } + if (*(char *)(param_1 + 0xc) != '\0') { + printf("Connect Option [%d] - Auction. \n"); + } + if (*(char *)(param_1 + 0xd) != '\0') { + printf("Connect Option [%d] - Msg. \n"); + } + if (*(char *)(param_1 + 0xe) != '\0') { + printf("Connect Option [%d] - Manager. \n"); + } + if (*(char *)(param_1 + 0xf) != '\0') { + printf("Connect Option [%d] - Match. \n"); + } + if (*(char *)(param_1 + 0x10) != '\0') { + printf("Connect Option [%d] - Gm. \n"); + } + if (*(char *)(param_1 + 0x11) != '\0') { + printf("Connect Option [%d] - Gate. \n"); + } + if (*(char *)(param_1 + 0x12) != '\0') { + printf("Connect Option [%d] - Lobby. \n"); + } + if (*(char *)(param_1 + 0x13) != '\0') { + printf("Connect Option [%d] - Dungeon. \n"); + } + if (*(char *)(param_1 + 0x14) != '\0') { + printf("Connect Option [%d] - Pvp. \n"); + } + if (*(char *)(param_1 + 0x15) != '\0') { + printf("Connect Option [%d] - Guild. \n"); + } + if (*(char *)(param_1 + 0x16) != '\0') { + printf("Connect Option [%d] - Agent. \n"); + } + if (*(char *)(param_1 + 0x17) != '\0') { + printf("Connect Option [%d] - AgentManager. \n"); + } + printf("//////////////////////////////////////////////////////////////////////////\n"); + local_98[0] = TiXmlDocument::vftable; + if (local_38 != &DAT_140162cd0) { + operator_delete__(local_30); + } + local_98[0] = TiXmlNode::vftable; + while (local_70 != (longlong *)0x0) { + plVar9 = (longlong *)local_70[10]; + (**(code **)*local_70)(local_70,1); + local_70 = plVar9; + } + if (local_60 != &DAT_140162cd0) { + operator_delete__(local_58); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002c2f0.c b/decomp/Agent_Release_x64/full/functions/0x14002c2f0.c new file mode 100644 index 00000000..4077fa31 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002c2f0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002c2f0 FUN_14002c2f0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14002c2f0(undefined8 *param_1,byte param_2) + +{ + DAT_140162d48 = 0; + *param_1 = MBISingleton::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002c330.c b/decomp/Agent_Release_x64/full/functions/0x14002c330.c new file mode 100644 index 00000000..f5359291 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002c330.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002c330 FUN_14002c330 + * Pseudocode, not original source. */ + +void FUN_14002c330(undefined8 *param_1) + +{ + DAT_140162d48 = 0; + *param_1 = MBISingleton::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002c350.c b/decomp/Agent_Release_x64/full/functions/0x14002c350.c new file mode 100644 index 00000000..db8acb1c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002c350.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002c350 FUN_14002c350 + * Pseudocode, not original source. */ + +void FUN_14002c350(longlong param_1) + +{ + if (*(void **)(param_1 + 0xd8) != (void *)0x0) { + operator_delete(*(void **)(param_1 + 0xd8)); + } + *(undefined8 *)(param_1 + 0xd8) = 0; + *(undefined8 *)(param_1 + 0xe0) = 0; + *(undefined8 *)(param_1 + 0xe8) = 0; + FUN_140004e10(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002c390.c b/decomp/Agent_Release_x64/full/functions/0x14002c390.c new file mode 100644 index 00000000..e5e9d8a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002c390.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002c390 FUN_14002c390 + * Pseudocode, not original source. */ + +undefined8 * FUN_14002c390(undefined8 *param_1,uint param_2) + +{ + *param_1 = MagiServerManager::vftable; + if (param_1[7] != 0) { + FUN_14002e510(param_1 + 7); + } + FUN_14002d580(param_1 + 1); + DAT_140162d60 = 0; + *param_1 = MBISingleton::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002c400.c b/decomp/Agent_Release_x64/full/functions/0x14002c400.c new file mode 100644 index 00000000..125677a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002c400.c @@ -0,0 +1,68 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002c400 FUN_14002c400 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014002c4b6) */ + +void FUN_14002c400(longlong param_1) + +{ + undefined8 *puVar1; + longlong lVar2; + longlong lVar3; + undefined8 *puVar4; + undefined8 *puVar5; + longlong lVar6; + undefined8 *puVar7; + undefined8 *local_28; + undefined8 *puStack_20; + + if (*(longlong *)(param_1 + 0x58) == 0) { + local_28 = (undefined8 *)0x0; + } + else { + local_28 = *(undefined8 **)(param_1 + 0x68); + if (local_28 != (undefined8 *)0x0) { + puStack_20 = (undefined8 *)*local_28; + goto joined_r0x00014002c452; + } + } + puStack_20 = (undefined8 *)0x0; +joined_r0x00014002c452: + while (puStack_20 != (undefined8 *)0x0) { + if (puStack_20[2] == 0) { + lVar3 = *(longlong *)(param_1 + 0x18); + lVar6 = *(longlong *)(param_1 + 0x10); + while ((lVar6 != 0 && ((lVar6 != 0 || (lVar3 == 0x10))))) { + lVar2 = lVar3 + -0x10; + lVar3 = *(longlong *)(lVar3 + -8 + lVar6); + lVar6 = *(longlong *)(lVar2 + lVar6); + } + } + for (puStack_20 = (undefined8 *)*puStack_20; puStack_20 == (undefined8 *)0x0; + puStack_20 = (undefined8 *)*puStack_20) { + puStack_20 = local_28 + 1; + local_28 = local_28 + 1; + } + if (local_28 == puStack_20) { + puStack_20 = (undefined8 *)0x0; + } + } + if (*(longlong *)(param_1 + 0x58) != 0) { + puVar7 = *(undefined8 **)(param_1 + 0x38); + puVar1 = puVar7 + *(longlong *)(param_1 + 0x40); + for (; puVar7 != puVar1; puVar7 = puVar7 + 1) { + puVar4 = (undefined8 *)*puVar7; + *puVar7 = 0; + while (puVar4 != (undefined8 *)0x0) { + puVar5 = (undefined8 *)*puVar4; + operator_delete(puVar4); + puVar4 = puVar5; + } + } + *(undefined8 **)(param_1 + 0x68) = puVar1; + *(undefined8 *)(param_1 + 0x58) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002c560.c b/decomp/Agent_Release_x64/full/functions/0x14002c560.c new file mode 100644 index 00000000..e86c5e0f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002c560.c @@ -0,0 +1,118 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002c560 FUN_14002c560 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14002c560(longlong param_1) + +{ + double _X; + longlong lVar1; + undefined8 *puVar2; + double dVar3; + errno_t eVar4; + int iVar5; + undefined8 *puVar6; + double dVar7; + undefined1 auStack_d8 [32]; + double local_b8; + undefined4 local_b0; + __time64_t local_a8; + undefined8 local_a0; + undefined8 local_98; + short local_90; + short local_8e; + undefined2 local_8c; + short local_8a; + short local_88; + short local_86; + ushort local_84; + undefined2 local_82; + tm local_80; + ulonglong local_58; + + local_58 = DAT_1401555a0 ^ (ulonglong)auStack_d8; + local_a8 = _time64((__time64_t *)0x0); + local_b8 = 0.0; + local_b0 = 0; + eVar4 = _localtime64_s(&local_80,&local_a8); + if (eVar4 == 0) { + local_90 = (short)local_80.tm_year + 0x76c; + local_82 = 0; + local_8e = (short)local_80.tm_mon + 1; + local_8c = (undefined2)local_80.tm_wday; + local_8a = (short)local_80.tm_mday; + local_88 = (short)local_80.tm_hour; + local_86 = (short)local_80.tm_min; + local_84 = (ushort)local_80.tm_sec; + iVar5 = Ordinal_184(&local_90,&local_b8); + local_a0 = (undefined8 *)0x0; + local_98 = (undefined8 *)0x0; + if (((((iVar5 == 0) || (iVar5 = Ordinal_185(local_b8,&local_a0), iVar5 == 0)) || + (local_90 != (short)local_a0)) || + ((local_8e != local_a0._2_2_ || (local_8a != local_a0._6_2_)))) || + ((local_88 != (short)local_98 || (local_86 != local_98._2_2_)))) goto LAB_14002c66f; + local_b0 = 0; + if (local_84 != local_98._4_2_) goto LAB_14002c66f; + } + else { +LAB_14002c66f: + local_b0 = 1; + } + if (*(longlong *)(param_1 + 0x58) == 0) { + local_a0 = (undefined8 *)0x0; + } + else { + local_a0 = *(undefined8 **)(param_1 + 0x68); + if (local_a0 != (undefined8 *)0x0) { + local_98 = (undefined8 *)*local_a0; + puVar6 = local_a0; + puVar2 = local_98; + goto joined_r0x00014002c6a8; + } + } + local_98 = (undefined8 *)0x0; + puVar6 = local_a0; + puVar2 = local_98; +joined_r0x00014002c6a8: + while (puVar2 != (undefined8 *)0x0) { + lVar1 = puVar2[2]; + if (((lVar1 != 0) && (*(int *)(lVar1 + 0xc4) != 0)) && (*(int *)(lVar1 + 0xc4) != 1)) { + _X = *(double *)(lVar1 + 200); + if (_X <= -5.787037037037037e-06) { + dVar7 = ceil(_X); + _X = dVar7 - (_X - dVar7); + } + dVar3 = local_b8; + dVar7 = local_b8; + if (local_b8 <= -5.787037037037037e-06) { + dVar7 = ceil(local_b8); + dVar7 = dVar7 - (dVar3 - dVar7); + } + iVar5 = Ordinal_185(_X - dVar7,&local_a0); + if ((iVar5 == 0) || (local_98._4_2_ < 0x1e)) { + *(undefined4 *)(lVar1 + 0xc4) = 3; + } + else { + iVar5 = Ordinal_185(_X - dVar7,&local_90); + if ((iVar5 == 0) || (local_84 < 0xb4)) { + *(undefined4 *)(lVar1 + 0xc4) = 2; + } + else { + *(undefined4 *)(lVar1 + 0xc4) = 0; + } + } + } + for (puVar2 = (undefined8 *)*puVar2; puVar2 == (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2 + ) { + puVar2 = puVar6 + 1; + puVar6 = puVar6 + 1; + } + if (puVar6 == puVar2) { + puVar2 = (undefined8 *)0x0; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002c820.c b/decomp/Agent_Release_x64/full/functions/0x14002c820.c new file mode 100644 index 00000000..23589d6e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002c820.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002c820 FUN_14002c820 + * Pseudocode, not original source. */ + +void FUN_14002c820(longlong param_1,undefined4 *param_2) + +{ + longlong *plVar1; + undefined8 *puVar2; + wchar_t *_Format; + int local_48 [2]; + undefined8 *local_40; + undefined8 local_38 [3]; + longlong local_20 [3]; + + plVar1 = (longlong *)(param_1 + 0x38); + if (*(longlong *)(param_1 + 0x58) != 0) { + for (puVar2 = *(undefined8 **) + (*plVar1 + + ((ulonglong)(longlong)(int)param_2[1] % *(ulonglong *)(param_1 + 0x40)) * 8); + puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { + if (param_2[1] == *(int *)(puVar2 + 1)) { + if ((puVar2 != (undefined8 *)0x0) && ((undefined4 *)puVar2[2] != (undefined4 *)0x0)) { + FUN_14001b4b0((undefined4 *)puVar2[2],param_2); + _Format = L"INSERT SERVER OPTION MODIFY - Code : [ %d ], Name [ %s ]\n"; + goto LAB_14002c906; + } + break; + } + } + } + puVar2 = FUN_14002cf00((undefined8 *)(param_1 + 8)); + FUN_14001b4b0((undefined4 *)puVar2,param_2); + local_48[0] = param_2[1]; + local_40 = puVar2; + if (*(longlong *)(param_1 + 0x58) == 0) { + FUN_14002dae0(plVar1,local_20,local_48); + } + else { + FUN_14002d920(plVar1,local_38,local_48,local_48); + } + _Format = L"INSERT SERVER OPTION - Code : [ %d ], Name [ %s ]\n"; +LAB_14002c906: + /* WARNING: Could not recover jumptable at 0x00014002c913. Too many branches */ + /* WARNING: Treating indirect jump as call */ + wprintf(_Format); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002c920.c b/decomp/Agent_Release_x64/full/functions/0x14002c920.c new file mode 100644 index 00000000..6a91968e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002c920.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002c920 FUN_14002c920 + * Pseudocode, not original source. */ + +longlong FUN_14002c920(longlong param_1,int param_2) + +{ + undefined8 *local_18; + undefined8 *local_10; + + if (*(longlong *)(param_1 + 0x58) == 0) { + local_18 = (undefined8 *)0x0; + } + else { + local_18 = *(undefined8 **)(param_1 + 0x68); + if (local_18 != (undefined8 *)0x0) { + local_10 = (undefined8 *)*local_18; + goto joined_r0x00014002c95e; + } + } + local_10 = (undefined8 *)0x0; +joined_r0x00014002c95e: + while( true ) { + if (local_10 == (undefined8 *)0x0) { + return 0; + } + if (*(int *)(local_10[2] + 0xa0) == param_2) break; + for (local_10 = (undefined8 *)*local_10; local_10 == (undefined8 *)0x0; + local_10 = (undefined8 *)*local_10) { + local_10 = local_18 + 1; + local_18 = local_18 + 1; + } + if (local_18 == local_10) { + local_10 = (undefined8 *)0x0; + } + } + return local_10[2]; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002c9a0.c b/decomp/Agent_Release_x64/full/functions/0x14002c9a0.c new file mode 100644 index 00000000..9fe9f83a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002c9a0.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002c9a0 FUN_14002c9a0 + * Pseudocode, not original source. */ + +longlong FUN_14002c9a0(longlong param_1,int param_2) + +{ + longlong lVar1; + undefined8 *local_18; + undefined8 *local_10; + + if (*(longlong *)(param_1 + 0x58) == 0) { + local_18 = (undefined8 *)0x0; + } + else { + local_18 = *(undefined8 **)(param_1 + 0x68); + if (local_18 != (undefined8 *)0x0) { + local_10 = (undefined8 *)*local_18; + goto LAB_14002c9db; + } + } + local_10 = (undefined8 *)0x0; +LAB_14002c9db: + while( true ) { + if (local_10 == (undefined8 *)0x0) { + return 0; + } + lVar1 = local_10[2]; + if ((lVar1 != 0) && (*(int *)(lVar1 + 0xa4) == param_2)) break; + for (local_10 = (undefined8 *)*local_10; local_10 == (undefined8 *)0x0; + local_10 = (undefined8 *)*local_10) { + local_10 = local_18 + 1; + local_18 = local_18 + 1; + } + if (local_18 == local_10) { + local_10 = (undefined8 *)0x0; + } + } + return lVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002ca30.c b/decomp/Agent_Release_x64/full/functions/0x14002ca30.c new file mode 100644 index 00000000..8b7e36b1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002ca30.c @@ -0,0 +1,66 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002ca30 FUN_14002ca30 + * Pseudocode, not original source. */ + +void FUN_14002ca30(longlong param_1,longlong param_2,undefined8 param_3,longlong param_4) + +{ + int iVar1; + int iVar2; + longlong lVar3; + longlong lVar4; + int iVar5; + longlong lVar6; + longlong lVar7; + undefined8 *local_38; + undefined8 *local_30; + + if (*(longlong *)(param_1 + 0x58) == 0) { + local_38 = (undefined8 *)0x0; + } + else { + local_38 = *(undefined8 **)(param_1 + 0x68); + if (local_38 != (undefined8 *)0x0) { + local_30 = (undefined8 *)*local_38; + goto joined_r0x00014002ca78; + } + } + local_30 = (undefined8 *)0x0; +joined_r0x00014002ca78: + do { + if (local_30 == (undefined8 *)0x0) { + return; + } + if ((local_30[2] != 0) && (iVar1 = *(int *)(local_30[2] + 0xa0), iVar1 != 0)) { + iVar2 = *(int *)(param_2 + 0x18); + if (iVar2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar5 = *(int *)(param_2 + 0x18); + FUN_14002d430(param_2,iVar5 + 1,param_3,param_4); + iVar5 = iVar5 - iVar2; + if ((0 < iVar5) && (iVar5 = iVar5 + -1, lVar6 = (longlong)iVar5, -1 < iVar5)) { + lVar7 = (iVar2 + lVar6) * 4 + 4; + do { + lVar3 = FUN_14002b440(param_2); + lVar4 = FUN_14002b440(param_2); + *(undefined4 *)(lVar4 + lVar7) = *(undefined4 *)(lVar3 + -4 + lVar7); + lVar7 = lVar7 + -4; + lVar6 = lVar6 + -1; + } while (-1 < lVar6); + } + lVar6 = FUN_14002b440(param_2); + *(int *)(lVar6 + (longlong)iVar2 * 4) = iVar1; + } + for (local_30 = (undefined8 *)*local_30; local_30 == (undefined8 *)0x0; + local_30 = (undefined8 *)*local_30) { + local_30 = local_38 + 1; + local_38 = local_38 + 1; + } + if (local_38 == local_30) { + local_30 = (undefined8 *)0x0; + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002cb80.c b/decomp/Agent_Release_x64/full/functions/0x14002cb80.c new file mode 100644 index 00000000..a702dc0c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002cb80.c @@ -0,0 +1,71 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002cb80 FUN_14002cb80 + * Pseudocode, not original source. */ + +void FUN_14002cb80(longlong param_1,longlong param_2,ulonglong param_3,longlong param_4) + +{ + int iVar1; + int iVar2; + int *piVar3; + longlong lVar4; + longlong lVar5; + int iVar6; + longlong lVar7; + ulonglong uVar8; + longlong lVar9; + undefined8 *local_38; + undefined8 *local_30; + + uVar8 = param_3; + if (*(longlong *)(param_1 + 0x58) == 0) { + local_38 = (undefined8 *)0x0; + } + else { + local_38 = *(undefined8 **)(param_1 + 0x68); + if (local_38 != (undefined8 *)0x0) { + local_30 = (undefined8 *)*local_38; + goto joined_r0x00014002cbcc; + } + } + local_30 = (undefined8 *)0x0; +joined_r0x00014002cbcc: + do { + if (local_30 == (undefined8 *)0x0) { + return; + } + piVar3 = (int *)local_30[2]; + if (((piVar3 != (int *)0x0) && (*piVar3 == (int)uVar8)) && (iVar1 = piVar3[0x28], iVar1 != 0)) { + iVar2 = *(int *)(param_2 + 0x18); + if (iVar2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar6 = *(int *)(param_2 + 0x18); + FUN_14002d430(param_2,iVar6 + 1,uVar8,param_4); + iVar6 = iVar6 - iVar2; + if ((0 < iVar6) && (iVar6 = iVar6 + -1, lVar7 = (longlong)iVar6, -1 < iVar6)) { + lVar9 = (iVar2 + lVar7) * 4 + 4; + do { + lVar4 = FUN_14002b440(param_2); + lVar5 = FUN_14002b440(param_2); + *(undefined4 *)(lVar5 + lVar9) = *(undefined4 *)(lVar4 + -4 + lVar9); + lVar9 = lVar9 + -4; + lVar7 = lVar7 + -1; + } while (-1 < lVar7); + } + lVar7 = FUN_14002b440(param_2); + uVar8 = param_3 & 0xffffffff; + *(int *)(lVar7 + (longlong)iVar2 * 4) = iVar1; + } + for (local_30 = (undefined8 *)*local_30; local_30 == (undefined8 *)0x0; + local_30 = (undefined8 *)*local_30) { + local_30 = local_38 + 1; + local_38 = local_38 + 1; + } + if (local_38 == local_30) { + local_30 = (undefined8 *)0x0; + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002cce0.c b/decomp/Agent_Release_x64/full/functions/0x14002cce0.c new file mode 100644 index 00000000..7ea591f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002cce0.c @@ -0,0 +1,75 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002cce0 FUN_14002cce0 + * Pseudocode, not original source. */ + +void FUN_14002cce0(longlong param_1,longlong param_2,ulonglong param_3,ulonglong param_4) + +{ + int iVar1; + int iVar2; + int *piVar3; + longlong lVar4; + longlong lVar5; + int iVar6; + longlong lVar7; + ulonglong uVar8; + ulonglong uVar9; + longlong lVar10; + undefined8 *local_48; + undefined8 *local_40; + + uVar8 = param_3; + uVar9 = param_4; + if (*(longlong *)(param_1 + 0x58) == 0) { + local_48 = (undefined8 *)0x0; + } + else { + local_48 = *(undefined8 **)(param_1 + 0x68); + if (local_48 != (undefined8 *)0x0) { + local_40 = (undefined8 *)*local_48; + goto joined_r0x00014002cd31; + } + } + local_40 = (undefined8 *)0x0; +joined_r0x00014002cd31: + do { + if (local_40 == (undefined8 *)0x0) { + return; + } + piVar3 = (int *)local_40[2]; + if ((((piVar3 != (int *)0x0) && (*piVar3 == (int)uVar8)) && ((char)piVar3[3] == (char)uVar9)) && + (iVar1 = piVar3[0x28], iVar1 != 0)) { + iVar2 = *(int *)(param_2 + 0x18); + if (iVar2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar6 = *(int *)(param_2 + 0x18); + FUN_14002d430(param_2,iVar6 + 1,uVar8,uVar9); + iVar6 = iVar6 - iVar2; + if ((0 < iVar6) && (iVar6 = iVar6 + -1, lVar7 = (longlong)iVar6, -1 < iVar6)) { + lVar10 = (iVar2 + lVar7) * 4 + 4; + do { + lVar4 = FUN_14002b440(param_2); + lVar5 = FUN_14002b440(param_2); + *(undefined4 *)(lVar5 + lVar10) = *(undefined4 *)(lVar4 + -4 + lVar10); + lVar10 = lVar10 + -4; + lVar7 = lVar7 + -1; + } while (-1 < lVar7); + } + lVar7 = FUN_14002b440(param_2); + uVar9 = param_4 & 0xff; + uVar8 = param_3 & 0xffffffff; + *(int *)(lVar7 + (longlong)iVar2 * 4) = iVar1; + } + for (local_40 = (undefined8 *)*local_40; local_40 == (undefined8 *)0x0; + local_40 = (undefined8 *)*local_40) { + local_40 = local_48 + 1; + local_48 = local_48 + 1; + } + if (local_48 == local_40) { + local_40 = (undefined8 *)0x0; + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002ce60.c b/decomp/Agent_Release_x64/full/functions/0x14002ce60.c new file mode 100644 index 00000000..9e6cdb64 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002ce60.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002ce60 FUN_14002ce60 + * Pseudocode, not original source. */ + +void FUN_14002ce60(longlong param_1,ulonglong *param_2) + +{ + undefined8 *local_18; + undefined8 *local_10; + + if (*(longlong *)(param_1 + 0x58) == 0) { + local_18 = (undefined8 *)0x0; + } + else { + local_18 = *(undefined8 **)(param_1 + 0x68); + if (local_18 != (undefined8 *)0x0) { + local_10 = (undefined8 *)*local_18; + goto joined_r0x00014002ceb0; + } + } + local_10 = (undefined8 *)0x0; +joined_r0x00014002ceb0: + while (local_10 != (undefined8 *)0x0) { + if ((undefined4 *)local_10[2] != (undefined4 *)0x0) { + FUN_14002d070(param_2,(undefined4 *)local_10[2]); + } + for (local_10 = (undefined8 *)*local_10; local_10 == (undefined8 *)0x0; + local_10 = (undefined8 *)*local_10) { + local_10 = local_18 + 1; + local_18 = local_18 + 1; + } + if (local_18 == local_10) { + local_10 = (undefined8 *)0x0; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002cf00.c b/decomp/Agent_Release_x64/full/functions/0x14002cf00.c new file mode 100644 index 00000000..fcd06356 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002cf00.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002cf00 FUN_14002cf00 + * Pseudocode, not original source. */ + +undefined8 * FUN_14002cf00(undefined8 *param_1) + +{ + undefined8 *puVar1; + + puVar1 = (undefined8 *)*param_1; + if (puVar1 == (undefined8 *)0x0) { + puVar1 = (undefined8 *)FUN_14002d7a0(param_1); + } + else { + *param_1 = *puVar1; + } + if (puVar1 == (undefined8 *)0x0) { + puVar1 = (undefined8 *)0x0; + } + else { + *puVar1 = 0; + *(undefined4 *)(puVar1 + 1) = 0; + *(undefined1 *)((longlong)puVar1 + 0xc) = 0; + puVar1[2] = 0; + puVar1[3] = 0; + *(undefined1 *)(puVar1 + 4) = 0; + puVar1[8] = 7; + puVar1[7] = 0; + *(undefined2 *)(puVar1 + 5) = 0; + puVar1[0xd] = 7; + puVar1[0xc] = 0; + *(undefined2 *)(puVar1 + 10) = 0; + puVar1[0x12] = 7; + puVar1[0x11] = 0; + *(undefined2 *)(puVar1 + 0xf) = 0; + puVar1[0x14] = 0; + *(undefined4 *)(puVar1 + 0x15) = 0; + puVar1[0x16] = 0; + puVar1[0x17] = 0; + puVar1[0x18] = 0; + puVar1[0x19] = 0; + *(undefined4 *)(puVar1 + 0x1a) = 0; + *(undefined2 *)((longlong)puVar1 + 0xd4) = 0; + puVar1[0x1b] = 0; + puVar1[0x1c] = 0; + puVar1[0x1d] = 0; + } + return puVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002cfe0.c b/decomp/Agent_Release_x64/full/functions/0x14002cfe0.c new file mode 100644 index 00000000..89eec27d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002cfe0.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002cfe0 FUN_14002cfe0 + * Pseudocode, not original source. */ + +void FUN_14002cfe0(undefined8 *param_1,ulonglong *param_2) + +{ + ulonglong *puVar1; + ulonglong *puVar2; + + if ((void *)param_2[0x1b] != (void *)0x0) { + operator_delete((void *)param_2[0x1b]); + } + param_2[0x1b] = 0; + param_2[0x1c] = 0; + param_2[0x1d] = 0; + FUN_140004e10((longlong)param_2); + puVar1 = (ulonglong *)*param_1; + if ((puVar1 != (ulonglong *)0x0) && (puVar1 <= param_2)) { + for (puVar2 = (ulonglong *)*puVar1; (puVar2 != (ulonglong *)0x0 && (puVar2 <= param_2)); + puVar2 = (ulonglong *)*puVar2) { + puVar1 = puVar2; + } + *param_2 = *puVar1; + *puVar1 = (ulonglong)param_2; + return; + } + *param_2 = (ulonglong)puVar1; + *param_1 = param_2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002d070.c b/decomp/Agent_Release_x64/full/functions/0x14002d070.c new file mode 100644 index 00000000..e39143b6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002d070.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002d070 FUN_14002d070 + * Pseudocode, not original source. */ + +void FUN_14002d070(ulonglong *param_1,undefined4 *param_2) + +{ + undefined4 *puVar1; + longlong lVar2; + + puVar1 = (undefined4 *)param_1[1]; + if ((param_2 < puVar1) && ((undefined4 *)*param_1 <= param_2)) { + lVar2 = (longlong)param_2 - (longlong)*param_1; + lVar2 = lVar2 + SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816(lVar2),8); + if (puVar1 == (undefined4 *)param_1[2]) { + FUN_14002d140((longlong *)param_1); + } + if ((undefined4 *)param_1[1] != (undefined4 *)0x0) { + FUN_140004950((undefined4 *)param_1[1], + (undefined4 *)(((lVar2 >> 7) - (lVar2 >> 0x3f)) * 0xf8 + *param_1)); + } + } + else { + if (puVar1 == (undefined4 *)param_1[2]) { + FUN_14002d140((longlong *)param_1); + } + if ((undefined4 *)param_1[1] != (undefined4 *)0x0) { + FUN_140004950((undefined4 *)param_1[1],param_2); + } + } + param_1[1] = param_1[1] + 0xf8; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002d140.c b/decomp/Agent_Release_x64/full/functions/0x14002d140.c new file mode 100644 index 00000000..2d8e3638 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002d140.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002d140 FUN_14002d140 + * Pseudocode, not original source. */ + +void FUN_14002d140(longlong *param_1) + +{ + code *pcVar1; + ulonglong uVar2; + longlong lVar3; + ulonglong uVar4; + + lVar3 = param_1[1] - *param_1; + lVar3 = lVar3 + SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816(lVar3),8); + uVar4 = (lVar3 >> 7) - (lVar3 >> 0x3f); + if (0x108421084210841 < uVar4) { + std::_Xlength_error("vector too long"); + pcVar1 = (code *)swi(3); + (*pcVar1)(); + return; + } + uVar4 = uVar4 + 1; + lVar3 = param_1[2] - *param_1; + lVar3 = SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816(lVar3),8) + lVar3; + uVar2 = (lVar3 >> 7) - (lVar3 >> 0x3f); + if (uVar2 < uVar4) { + if (0x108421084210842 - (uVar2 >> 1) < uVar2) { + uVar2 = 0; + } + else { + uVar2 = uVar2 + (uVar2 >> 1); + } + if (uVar2 < uVar4) { + uVar2 = uVar4; + } + FUN_14002d2e0(param_1,uVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002d1f0.c b/decomp/Agent_Release_x64/full/functions/0x14002d1f0.c new file mode 100644 index 00000000..75902f68 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002d1f0.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002d1f0 FUN_14002d1f0 + * Pseudocode, not original source. */ + +void FUN_14002d1f0(longlong param_1,int param_2,longlong param_3,longlong param_4) + +{ + undefined4 *puVar1; + longlong lVar2; + longlong lVar3; + int iVar4; + longlong lVar5; + int iVar6; + longlong lVar7; + longlong lVar8; + longlong lVar9; + + iVar6 = (int)param_4; + lVar9 = (longlong)iVar6; + lVar7 = (longlong)param_2; + if (((-1 < iVar6) && (-1 < param_2)) && (param_2 <= *(int *)(param_1 + 0x18))) { + iVar4 = *(int *)(param_1 + 0x18); + FUN_14002d430(param_1,iVar4 + iVar6,param_3,param_4); + iVar4 = iVar4 - param_2; + if ((0 < iVar4) && (iVar4 = iVar4 + -1, lVar5 = (longlong)iVar4, -1 < iVar4)) { + lVar8 = (lVar9 + lVar7 + lVar5) * 4; + do { + lVar2 = FUN_14002b440(param_1); + lVar3 = FUN_14002b440(param_1); + *(undefined4 *)(lVar3 + lVar8) = *(undefined4 *)(lVar2 + lVar9 * -4 + lVar8); + lVar8 = lVar8 + -4; + lVar5 = lVar5 + -1; + } while (-1 < lVar5); + } + if (0 < iVar6) { + lVar5 = lVar7 * 4; + do { + lVar8 = FUN_14002b440(param_1); + puVar1 = (undefined4 *)(lVar5 + param_3 + lVar7 * -4); + lVar5 = lVar5 + 4; + lVar9 = lVar9 + -1; + *(undefined4 *)(lVar8 + -4 + lVar5) = *puVar1; + } while (lVar9 != 0); + } + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002d2e0.c b/decomp/Agent_Release_x64/full/functions/0x14002d2e0.c new file mode 100644 index 00000000..669c7e06 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002d2e0.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002d2e0 FUN_14002d2e0 + * Pseudocode, not original source. */ + +void FUN_14002d2e0(longlong *param_1,ulonglong param_2) + +{ + ulonglong *puVar1; + code *pcVar2; + char *pcVar3; + longlong lVar4; + char *local_res10; + undefined **local_20 [3]; + + if (0x108421084210842 < param_2) { + std::_Xlength_error("vector too long"); + pcVar2 = (code *)swi(3); + (*pcVar2)(); + return; + } + lVar4 = SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816(param_1[2] - *param_1),8) + + (param_1[2] - *param_1); + if ((ulonglong)((lVar4 >> 7) - (lVar4 >> 0x3f)) < param_2) { + local_res10 = (char *)0x0; + if (param_2 != 0) { + local_res10 = operator_new(param_2 * 0xf8); + if (local_res10 == (char *)0x0) { + std::exception::exception((exception *)local_20,&local_res10); + local_20[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_20,(ThrowInfo *)&DAT_140151ad0); + } + } + pcVar3 = local_res10; + FUN_14002dd40((undefined4 *)*param_1,(undefined4 *)param_1[1],(undefined4 *)local_res10); + puVar1 = (ulonglong *)*param_1; + lVar4 = param_1[1] - (longlong)puVar1; + lVar4 = lVar4 + SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816(lVar4),8); + if (puVar1 != (ulonglong *)0x0) { + FUN_140004b30(puVar1,(ulonglong *)param_1[1]); + operator_delete((void *)*param_1); + } + param_1[2] = (longlong)(pcVar3 + param_2 * 0xf8); + param_1[1] = (longlong)(pcVar3 + ((lVar4 >> 7) - (lVar4 >> 0x3f)) * 0xf8); + *param_1 = (longlong)pcVar3; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002d430.c b/decomp/Agent_Release_x64/full/functions/0x14002d430.c new file mode 100644 index 00000000..34eb7509 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002d430.c @@ -0,0 +1,78 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002d430 FUN_14002d430 + * Pseudocode, not original source. */ + +void FUN_14002d430(longlong param_1,int param_2,undefined8 param_3,longlong param_4) + +{ + longlong *plVar1; + LPVOID pvVar2; + int iVar3; + undefined8 uVar4; + undefined4 *puVar5; + undefined4 *puVar6; + int iVar7; + longlong lVar8; + exception local_58 [80]; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 != *(int *)(param_1 + 0x18)) { + if (*(int *)(param_1 + 0x1c) < param_2) { + iVar3 = FUN_14002b450(param_1,param_2); + plVar1 = *(longlong **)(param_1 + 8); + lVar8 = (longlong)iVar3; + if (*(int *)(param_1 + 0x1c) == 0) { + if (plVar1 == (longlong *)0x0) { + uVar4 = FUN_140030280(lVar8 << 2); + *(undefined8 *)(param_1 + 0x10) = uVar4; + } + else { + uVar4 = (**(code **)(*plVar1 + 8))(plVar1,lVar8 << 2); + *(undefined8 *)(param_1 + 0x10) = uVar4; + } + } + else { + pvVar2 = *(LPVOID *)(param_1 + 0x10); + if (plVar1 == (longlong *)0x0) { + puVar5 = (undefined4 *)FUN_140030280(lVar8 << 2); + } + else { + puVar5 = (undefined4 *)(**(code **)(*plVar1 + 8))(); + } + lVar8 = (longlong)*(int *)(param_1 + 0x18); + iVar7 = 0; + if (0 < lVar8) { + param_4 = (longlong)pvVar2 - (longlong)puVar5; + puVar6 = puVar5; + do { + if (puVar6 != (undefined4 *)0x0) { + *puVar6 = *(undefined4 *)(param_4 + (longlong)puVar6); + } + iVar7 = iVar7 + 1; + puVar6 = puVar6 + 1; + } while (iVar7 < lVar8); + } + if (puVar5 == (undefined4 *)0x0) { + FUN_14002f1e0(local_58,L"Memory allocation failure!",lVar8,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + plVar1 = *(longlong **)(param_1 + 8); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(pvVar2); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,pvVar2); + } + *(undefined4 **)(param_1 + 0x10) = puVar5; + } + *(int *)(param_1 + 0x1c) = iVar3; + } + *(int *)(param_1 + 0x18) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002d580.c b/decomp/Agent_Release_x64/full/functions/0x14002d580.c new file mode 100644 index 00000000..94bbcd6d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002d580.c @@ -0,0 +1,95 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002d580 FUN_14002d580 + * Pseudocode, not original source. */ + +void FUN_14002d580(undefined8 *param_1) + +{ + ulonglong *puVar1; + ulonglong uVar2; + ulonglong *puVar3; + longlong lVar4; + void *pvVar5; + ulonglong uVar6; + ulonglong uVar7; + ulonglong uVar8; + ulonglong *puVar9; + ulonglong *puVar10; + void *local_68; + longlong lStack_60; + ulonglong *local_58; + longlong lStack_50; + + if (param_1[1] != 0) { + uVar2 = param_1[3]; + puVar10 = (ulonglong *)*param_1; + uVar6 = uVar2; + uVar8 = 8; + do { + uVar7 = uVar8; + uVar8 = uVar6 % uVar7; + uVar6 = uVar7; + } while (uVar8 != 0); + local_58 = (ulonglong *)param_1[1]; + lStack_50 = param_1[2]; + do { + puVar3 = *(ulonglong **)(lStack_50 + -0x10 + (longlong)local_58); + lVar4 = *(longlong *)(lStack_50 + -8 + (longlong)local_58); + puVar1 = (ulonglong *)(lStack_50 + -0x10 + (longlong)local_58); + if (local_58 != puVar1) { + puVar9 = local_58 + 0x12; + do { + if (puVar9 + -0x12 == puVar10) { + puVar10 = (ulonglong *)*puVar10; + } + else { + if ((void *)puVar9[9] != (void *)0x0) { + operator_delete((void *)puVar9[9]); + } + puVar9[9] = 0; + puVar9[10] = 0; + puVar9[0xb] = 0; + if (7 < *puVar9) { + operator_delete((void *)puVar9[-3]); + } + *puVar9 = 7; + puVar9[-1] = 0; + *(undefined2 *)(puVar9 + -3) = 0; + if (7 < puVar9[-5]) { + operator_delete((void *)puVar9[-8]); + } + puVar9[-5] = 7; + puVar9[-6] = 0; + *(undefined2 *)(puVar9 + -8) = 0; + if (7 < puVar9[-10]) { + operator_delete((void *)puVar9[-0xd]); + } + puVar9[-10] = 7; + puVar9[-0xb] = 0; + *(undefined2 *)(puVar9 + -0xd) = 0; + } + puVar9 = puVar9 + uVar2 / uVar7; + } while (puVar9 + -0x12 != puVar1); + } + operator_delete__(local_58); + local_58 = puVar3; + lStack_50 = lVar4; + } while (puVar3 != (ulonglong *)0x0); + param_1[1] = 0; + } + lStack_60 = param_1[2]; + local_68 = (void *)param_1[1]; + if ((void *)param_1[1] != (void *)0x0) { + do { + pvVar5 = *(void **)(lStack_60 + -0x10 + (longlong)local_68); + lStack_60 = *(longlong *)(lStack_60 + -8 + (longlong)local_68); + operator_delete__(local_68); + local_68 = pvVar5; + } while (pvVar5 != (void *)0x0); + param_1[1] = 0; + *param_1 = 0; + param_1[4] = param_1[5]; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002d7a0.c b/decomp/Agent_Release_x64/full/functions/0x14002d7a0.c new file mode 100644 index 00000000..3ad41c42 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002d7a0.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002d7a0 FUN_14002d7a0 + * Pseudocode, not original source. */ + +void FUN_14002d7a0(undefined8 *param_1) + +{ + longlong lVar1; + undefined8 *puVar2; + longlong lVar3; + undefined8 uVar4; + ulonglong uVar5; + undefined8 *puVar6; + undefined8 *puVar7; + ulonglong uVar8; + longlong lVar9; + __uint64 _Var10; + ulonglong uVar11; + + uVar11 = param_1[3]; + uVar8 = 8; + do { + uVar5 = uVar8; + uVar8 = uVar11 % uVar5; + uVar11 = uVar5; + } while (uVar8 != 0); + uVar5 = (ulonglong)param_1[3] / uVar5; + uVar11 = uVar5 * 8; + lVar9 = param_1[4] * uVar11; + _Var10 = lVar9 + 0x10; + puVar6 = (undefined8 *)thunk_FUN_1400dc010(_Var10); + if (puVar6 != (undefined8 *)0x0) { + param_1[4] = param_1[4] << 1; + puVar7 = (undefined8 *)((((_Var10 + uVar5 * -8) - 0x10) / uVar11) * uVar11 + (longlong)puVar6); + *puVar7 = *param_1; + if (puVar7 != puVar6) { + for (puVar2 = puVar7 + -uVar5; puVar2 != puVar6; puVar2 = puVar2 + -uVar5) { + *puVar2 = puVar7; + puVar7 = puVar2; + } + *puVar6 = puVar7; + } + puVar7 = (undefined8 *)param_1[1]; + *param_1 = puVar6; + if ((puVar7 == (undefined8 *)0x0) || (puVar6 < puVar7)) { + *(undefined8 **)((longlong)puVar6 + lVar9) = puVar7; + *(undefined8 *)((longlong)puVar6 + lVar9 + 8) = param_1[2]; + param_1[1] = puVar6; + param_1[2] = _Var10; + } + else { + lVar3 = param_1[2]; + lVar1 = *(longlong *)(lVar3 + -0x10 + (longlong)param_1[1]); + puVar7 = (undefined8 *)param_1[1]; + while ((lVar1 != 0 && + (puVar2 = *(undefined8 **)(lVar3 + -0x10 + (longlong)puVar7), puVar2 <= puVar6))) { + lVar3 = *(longlong *)(lVar3 + -8 + (longlong)puVar7); + lVar1 = *(longlong *)(lVar3 + -0x10 + (longlong)puVar2); + puVar7 = puVar2; + } + uVar4 = *(undefined8 *)(lVar3 + -8 + (longlong)puVar7); + *(undefined8 *)((longlong)puVar6 + lVar9) = *(undefined8 *)(lVar3 + -0x10 + (longlong)puVar7); + *(undefined8 *)((longlong)puVar6 + lVar9 + 8) = uVar4; + *(undefined8 **)(lVar3 + -0x10 + (longlong)puVar7) = puVar6; + *(__uint64 *)(lVar3 + -8 + (longlong)puVar7) = _Var10; + } + *param_1 = *(undefined8 *)*param_1; + return; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002d920.c b/decomp/Agent_Release_x64/full/functions/0x14002d920.c new file mode 100644 index 00000000..6f9125ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002d920.c @@ -0,0 +1,82 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002d920 FUN_14002d920 + * Pseudocode, not original source. */ + +undefined8 * FUN_14002d920(longlong *param_1,undefined8 *param_2,int *param_3,undefined4 *param_4) + +{ + int iVar1; + ulonglong uVar2; + undefined8 *puVar3; + undefined *puVar4; + undefined8 *puVar5; + char **ppcVar6; + undefined8 *puVar7; + char *local_res8; + char *local_res18 [2]; + undefined **local_48; + undefined8 local_40; + undefined8 local_38; + + iVar1 = *param_3; + puVar7 = (undefined8 *)(*param_1 + ((ulonglong)(longlong)iVar1 % (ulonglong)param_1[1]) * 8); + puVar3 = (undefined8 *)*puVar7; + do { + if (puVar3 == (undefined8 *)0x0) { +LAB_14002d989: + puVar3 = operator_new(0x18); + if (puVar3 != (undefined8 *)0x0) { + *puVar3 = 0; + puVar3[1] = local_40; + puVar3[2] = local_38; + if (puVar3 + 1 != (undefined8 *)0x0) { + *(undefined4 *)(puVar3 + 1) = *param_4; + puVar3[2] = *(undefined8 *)(param_4 + 2); + } + uVar2 = param_1[4]; + local_res18[0] = (char *)(uVar2 + 1); + if ((char *)param_1[7] <= local_res18[0]) { + local_res8 = (char *)((uVar2 >> 1) + uVar2); + ppcVar6 = &local_res8; + if (local_res8 <= local_res18[0]) { + ppcVar6 = local_res18; + } + puVar4 = FUN_14002a130((longlong)param_1,(longlong)*ppcVar6); + if (puVar4 != (undefined *)param_1[1]) { + FUN_14002dda0(param_1,(ulonglong)puVar4); + puVar7 = (undefined8 *) + (*param_1 + ((ulonglong)(longlong)iVar1 % (ulonglong)param_1[1]) * 8); + } + } + *puVar3 = *puVar7; + *puVar7 = puVar3; + param_1[4] = param_1[4] + 1; + puVar5 = (undefined8 *)param_1[6]; + if (puVar7 < (undefined8 *)param_1[6]) { + puVar5 = puVar7; + } + param_1[6] = (longlong)puVar5; + *param_2 = puVar7; + param_2[1] = puVar3; + *(undefined1 *)(param_2 + 2) = 1; + return param_2; + } + local_res8 = (char *)0x0; + std::exception::exception((exception *)&local_48,&local_res8); + local_48 = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(&local_48,(ThrowInfo *)&DAT_140151ad0); + } + if (iVar1 == *(int *)(puVar3 + 1)) { + if (puVar3 != (undefined8 *)0x0) { + *param_2 = puVar7; + param_2[1] = puVar3; + *(undefined1 *)(param_2 + 2) = 0; + return param_2; + } + goto LAB_14002d989; + } + puVar3 = (undefined8 *)*puVar3; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002dae0.c b/decomp/Agent_Release_x64/full/functions/0x14002dae0.c new file mode 100644 index 00000000..9b9bddce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002dae0.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002dae0 FUN_14002dae0 + * Pseudocode, not original source. */ + +longlong * FUN_14002dae0(longlong *param_1,longlong *param_2,undefined4 *param_3) + +{ + undefined8 *puVar1; + longlong *plVar2; + char *local_res8; + undefined **local_40 [3]; + longlong *local_28; + undefined8 *local_20; + undefined1 local_18; + undefined1 uStack_17; + undefined6 uStack_16; + + local_20 = (undefined8 *)0x0; + local_18 = 0; + uStack_17 = 0; + local_28 = param_1; + puVar1 = operator_new(0x18); + if (puVar1 != (undefined8 *)0x0) { + *puVar1 = 0; + puVar1[1] = puVar1; + puVar1[2] = CONCAT62(uStack_16,CONCAT11(uStack_17,local_18)); + local_18 = 1; + if (puVar1 + 1 != (undefined8 *)0x0) { + *(undefined4 *)(puVar1 + 1) = *param_3; + puVar1[2] = *(undefined8 *)(param_3 + 2); + } + uStack_17 = 1; + local_20 = puVar1; + plVar2 = FUN_14002dbf0(param_1,(longlong *)local_40,(longlong)&local_28); + *param_2 = *plVar2; + param_2[1] = plVar2[1]; + *(undefined1 *)(param_2 + 2) = 1; + if (local_20 != (undefined8 *)0x0) { + operator_delete(local_20); + } + return param_2; + } + local_res8 = (char *)0x0; + std::exception::exception((exception *)local_40,&local_res8); + local_40[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_40,(ThrowInfo *)&DAT_140151ad0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002dbf0.c b/decomp/Agent_Release_x64/full/functions/0x14002dbf0.c new file mode 100644 index 00000000..d7e56d7e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002dbf0.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002dbf0 FUN_14002dbf0 + * Pseudocode, not original source. */ + +longlong * FUN_14002dbf0(longlong *param_1,longlong *param_2,longlong param_3) + +{ + undefined8 *puVar1; + int iVar2; + undefined8 *puVar3; + undefined8 uVar4; + undefined *puVar5; + undefined **ppuVar6; + longlong *plVar7; + longlong lVar8; + undefined **ppuVar9; + undefined *local_res8; + undefined *local_res10; + + iVar2 = *(int *)(*(longlong *)(param_3 + 8) + 8); + if (*param_1 == 0) { + local_res8 = FUN_14002a130((longlong)param_1,1); + ppuVar9 = (undefined **)(param_1 + 1); + ppuVar6 = &local_res8; + if (local_res8 <= *ppuVar9) { + ppuVar6 = ppuVar9; + } + *ppuVar9 = *ppuVar6; + FUN_14002dff0(param_1); + if (param_1[4] == 0) { + param_1[6] = *param_1 + (longlong)*ppuVar9 * 8; + } + else { + plVar7 = (longlong *)*param_1; + param_1[6] = (longlong)plVar7; + lVar8 = *plVar7; + while (lVar8 == 0) { + plVar7 = plVar7 + 1; + param_1[6] = (longlong)plVar7; + lVar8 = *plVar7; + } + } + lVar8 = FUN_14002e100((longlong)param_1); + param_1[7] = lVar8; + } + else { + local_res10 = (undefined *)0x1; + if ((ulonglong)param_1[7] < 2) { + local_res8 = (undefined *)(((ulonglong)param_1[4] >> 1) + param_1[4]); + ppuVar9 = &local_res8; + if (local_res8 < (undefined *)0x2) { + ppuVar9 = &local_res10; + } + puVar5 = FUN_14002a130((longlong)param_1,(longlong)*ppuVar9); + if (puVar5 != (undefined *)param_1[1]) { + FUN_14002dda0(param_1,(ulonglong)puVar5); + } + } + } + puVar1 = (undefined8 *)(*param_1 + ((ulonglong)(longlong)iVar2 % (ulonglong)param_1[1]) * 8); + puVar3 = *(undefined8 **)(param_3 + 8); + *(undefined8 *)(param_3 + 8) = 0; + uVar4 = *puVar1; + *param_2 = (longlong)puVar1; + param_2[1] = (longlong)puVar3; + *puVar3 = uVar4; + *puVar1 = puVar3; + param_1[4] = param_1[4] + 1; + param_1[6] = (longlong)puVar1; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002dd40.c b/decomp/Agent_Release_x64/full/functions/0x14002dd40.c new file mode 100644 index 00000000..3209b783 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002dd40.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002dd40 FUN_14002dd40 + * Pseudocode, not original source. */ + +undefined4 * FUN_14002dd40(undefined4 *param_1,undefined4 *param_2,undefined4 *param_3) + +{ + for (; param_1 != param_2; param_1 = param_1 + 0x3e) { + if (param_3 != (undefined4 *)0x0) { + FUN_140004950(param_3,param_1); + } + param_3 = param_3 + 0x3e; + } + return param_3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002dda0.c b/decomp/Agent_Release_x64/full/functions/0x14002dda0.c new file mode 100644 index 00000000..f398cca6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002dda0.c @@ -0,0 +1,112 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002dda0 FUN_14002dda0 + * Pseudocode, not original source. */ + +void FUN_14002dda0(longlong *param_1,ulonglong param_2) + +{ + longlong lVar1; + longlong lVar2; + longlong lVar3; + undefined8 *puVar4; + undefined8 *puVar5; + undefined8 *puVar6; + longlong *plVar7; + longlong *plVar8; + longlong lVar9; + ulonglong uVar10; + undefined8 *puVar11; + longlong *plVar12; + double dVar13; + longlong *local_30; + ulonglong local_28; + + lVar9 = param_1[4]; + lVar1 = param_1[1]; + lVar2 = *param_1; + local_30 = (longlong *)0x0; + local_28 = param_2; + FUN_14002dff0(&local_30); + lVar3 = param_1[1]; + puVar4 = (undefined8 *)*param_1; + *param_1 = 0; + param_1[1] = lVar3; + param_1[4] = 0; + for (plVar12 = (longlong *)param_1[6]; plVar12 != (longlong *)(lVar2 + lVar1 * 8); + plVar12 = plVar12 + 1) { + plVar8 = (longlong *)*plVar12; + while (plVar8 != (longlong *)0x0) { + uVar10 = (ulonglong)(longlong)(int)plVar8[1] % local_28; + *plVar12 = *plVar8; + *plVar8 = local_30[uVar10]; + local_30[uVar10] = (longlong)plVar8; + plVar8 = (longlong *)*plVar12; + } + } + param_1[4] = lVar9; + plVar12 = (longlong *)*param_1; + *param_1 = (longlong)local_30; + uVar10 = param_1[1]; + param_1[1] = local_28; + if (param_1[4] == 0) { + param_1[6] = *param_1 + local_28 * 8; + } + else { + plVar8 = (longlong *)*param_1; + param_1[6] = (longlong)plVar8; + lVar9 = *plVar8; + while (lVar9 == 0) { + plVar8 = plVar8 + 1; + param_1[6] = (longlong)plVar8; + lVar9 = *plVar8; + } + } + dVar13 = (double)param_1[1]; + if (param_1[1] < 0) { + dVar13 = dVar13 + 1.8446744073709552e+19; + } + local_30 = plVar12; + local_28 = uVar10; + dVar13 = ceil((double)*(float *)(param_1 + 5) * dVar13); + lVar9 = -1; + if (dVar13 < 1.8446744073709552e+19) { + lVar9 = 0; + if ((9.223372036854776e+18 < dVar13) && + (dVar13 = dVar13 - 9.223372036854776e+18, dVar13 < 9.223372036854776e+18)) { + lVar9 = -0x8000000000000000; + } + lVar9 = (longlong)dVar13 + lVar9; + } + param_1[7] = lVar9; + if (puVar4 != (undefined8 *)0x0) { + for (puVar11 = puVar4; puVar11 != puVar4 + lVar3; puVar11 = puVar11 + 1) { + puVar5 = (undefined8 *)*puVar11; + *puVar11 = 0; + while (puVar5 != (undefined8 *)0x0) { + puVar6 = (undefined8 *)*puVar5; + operator_delete(puVar5); + puVar5 = puVar6; + } + } + operator_delete(puVar4); + uVar10 = local_28; + plVar12 = local_30; + } + if (plVar12 != (longlong *)0x0) { + plVar8 = plVar12 + uVar10; + plVar7 = plVar12; + for (; plVar12 != plVar8; plVar12 = plVar12 + 1) { + puVar4 = (undefined8 *)*plVar12; + *plVar12 = 0; + while (puVar4 != (undefined8 *)0x0) { + puVar11 = (undefined8 *)*puVar4; + operator_delete(puVar4); + puVar4 = puVar11; + } + plVar7 = local_30; + } + operator_delete(plVar7); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002dff0.c b/decomp/Agent_Release_x64/full/functions/0x14002dff0.c new file mode 100644 index 00000000..d8ef5495 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002dff0.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002dff0 FUN_14002dff0 + * Pseudocode, not original source. */ + +void FUN_14002dff0(undefined8 *param_1) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + ulonglong uVar3; + char *local_res8; + undefined **local_40 [3]; + undefined8 *local_28; + undefined8 local_20; + undefined8 local_18; + ulonglong local_10; + + local_28 = param_1 + 2; + puVar1 = (undefined8 *)0x0; + local_18 = 0; + local_20 = 0; + uVar3 = param_1[1] + 1; + if ((uVar3 != 0) && + ((local_10 = uVar3, 0x1fffffffffffffff < uVar3 || + (puVar1 = operator_new(uVar3 * 8), puVar1 == (undefined8 *)0x0)))) { + local_res8 = (char *)0x0; + std::exception::exception((exception *)local_40,&local_res8); + local_40[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_40,(ThrowInfo *)&DAT_140151ad0); + } + for (puVar2 = puVar1; puVar2 != puVar1 + uVar3; puVar2 = puVar2 + 1) { + if (puVar2 != (undefined8 *)0x0) { + *puVar2 = 0; + } + } + puVar1[param_1[1]] = puVar1 + param_1[1]; + *param_1 = puVar1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e0e0.c b/decomp/Agent_Release_x64/full/functions/0x14002e0e0.c new file mode 100644 index 00000000..61eeaf68 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e0e0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e0e0 FUN_14002e0e0 + * Pseudocode, not original source. */ + +void FUN_14002e0e0(longlong param_1) + +{ + if (*(void **)(param_1 + 8) != (void *)0x0) { + operator_delete(*(void **)(param_1 + 8)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e100.c b/decomp/Agent_Release_x64/full/functions/0x14002e100.c new file mode 100644 index 00000000..1ea3c248 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e100.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e100 FUN_14002e100 + * Pseudocode, not original source. */ + +longlong FUN_14002e100(longlong param_1) + +{ + longlong lVar1; + double dVar2; + + dVar2 = (double)*(longlong *)(param_1 + 8); + if (*(longlong *)(param_1 + 8) < 0) { + dVar2 = dVar2 + 1.8446744073709552e+19; + } + dVar2 = ceil((double)*(float *)(param_1 + 0x28) * dVar2); + lVar1 = -1; + if (dVar2 < 1.8446744073709552e+19) { + lVar1 = 0; + if ((9.223372036854776e+18 < dVar2) && + (dVar2 = dVar2 - 9.223372036854776e+18, dVar2 < 9.223372036854776e+18)) { + lVar1 = -0x8000000000000000; + } + lVar1 = (longlong)dVar2 + lVar1; + } + return lVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e180.c b/decomp/Agent_Release_x64/full/functions/0x14002e180.c new file mode 100644 index 00000000..5b9457b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e180.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e180 FUN_14002e180 + * Pseudocode, not original source. */ + +undefined8 * FUN_14002e180(undefined8 *param_1,byte param_2) + +{ + DAT_140162d60 = 0; + *param_1 = MBISingleton::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e1c0.c b/decomp/Agent_Release_x64/full/functions/0x14002e1c0.c new file mode 100644 index 00000000..f9982cfc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e1c0.c @@ -0,0 +1,66 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e1c0 FUN_14002e1c0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_14002e1c0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + ulonglong uVar3; + undefined8 *puVar4; + undefined1 uVar5; + undefined7 uVar6; + + uVar5 = (undefined1)param_3; + uVar6 = (undefined7)((ulonglong)param_3 >> 8); + *param_1 = MagiAgentCommon::vftable; + puVar1 = operator_new(0x28); + puVar4 = (undefined8 *)0x0; + DAT_140162d58 = puVar4; + if (puVar1 != (undefined8 *)0x0) { + *puVar1 = MagiServerFile::vftable; + puVar1[1] = 0; + puVar1[2] = 0; + puVar1[3] = 0; + DAT_140162d58 = puVar1; + } + puVar2 = operator_new(0x1f8); + puVar1 = puVar4; + if (puVar2 != (undefined8 *)0x0) { + puVar1 = FUN_140022340(puVar2,param_2,CONCAT71(uVar6,uVar5),param_4); + } + DAT_140162d68 = puVar1; + puVar2 = operator_new(0x50); + puVar1 = puVar4; + if (puVar2 != (undefined8 *)0x0) { + puVar1 = FUN_14002b730(puVar2); + } + DAT_140162d48 = puVar1; + puVar2 = operator_new(0x80); + puVar1 = puVar4; + if (puVar2 != (undefined8 *)0x0) { + *puVar2 = MagiRealTimeEventData::vftable; + FUN_1400296a0(puVar2 + 1); + uVar3 = FUN_14002e790(); + FUN_14002e600((undefined4 *)(puVar2 + 9),uVar3 & 0xffffffff,CONCAT71(uVar6,1),param_4); + puVar1 = puVar2; + } + DAT_140162d88 = puVar1; + puVar1 = operator_new(0x78); + if (puVar1 != (undefined8 *)0x0) { + *puVar1 = MagiServerManager::vftable; + puVar1[1] = 0; + puVar1[2] = 0; + puVar1[3] = 0; + puVar1[4] = 0xf8; + puVar1[5] = 0x20; + puVar1[6] = 0x20; + FUN_1400296a0(puVar1 + 7); + puVar4 = puVar1; + } + DAT_140162d60 = puVar4; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e330.c b/decomp/Agent_Release_x64/full/functions/0x14002e330.c new file mode 100644 index 00000000..204bfd62 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e330.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e330 FUN_14002e330 + * Pseudocode, not original source. */ + +undefined8 * +FUN_14002e330(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e360(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e360.c b/decomp/Agent_Release_x64/full/functions/0x14002e360.c new file mode 100644 index 00000000..f929cc1f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e360.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e360 FUN_14002e360 + * Pseudocode, not original source. */ + +void FUN_14002e360(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = MagiAgentCommon::vftable; + if (DAT_140162d60 != (undefined8 *)0x0) { + (**(code **)*DAT_140162d60)(DAT_140162d60,1,param_3,param_4,0xfffffffffffffffe); + } + if (DAT_140162d68 != (undefined8 *)0x0) { + (**(code **)*DAT_140162d68)(DAT_140162d68,1); + } + if (DAT_140162d48 != (undefined8 *)0x0) { + (**(code **)*DAT_140162d48)(DAT_140162d48,1); + } + if (DAT_140162d88 != (undefined8 *)0x0) { + (**(code **)*DAT_140162d88)(DAT_140162d88,1); + } + if (DAT_140162d58 != (undefined8 *)0x0) { + (**(code **)*DAT_140162d58)(DAT_140162d58,1); + } + *param_1 = MBISingleton::vftable; + DAT_140162d70 = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e410.c b/decomp/Agent_Release_x64/full/functions/0x14002e410.c new file mode 100644 index 00000000..c0b53eaf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e410.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e410 FUN_14002e410 + * Pseudocode, not original source. */ + +undefined8 * FUN_14002e410(undefined8 *param_1,byte param_2) + +{ + DAT_140162d70 = 0; + *param_1 = MBISingleton::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e450.c b/decomp/Agent_Release_x64/full/functions/0x14002e450.c new file mode 100644 index 00000000..bfe1bbb5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e450.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e450 FUN_14002e450 + * Pseudocode, not original source. */ + +void FUN_14002e450(undefined8 *param_1) + +{ + DAT_140162d70 = 0; + *param_1 = MBISingleton::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e470.c b/decomp/Agent_Release_x64/full/functions/0x14002e470.c new file mode 100644 index 00000000..e8ad352b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e470.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e470 FUN_14002e470 + * Pseudocode, not original source. */ + +undefined8 * +FUN_14002e470(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = MagiRealTimeEventData::vftable; + FUN_14002e7a0((undefined4 *)(param_1 + 9),param_2,param_3,param_4); + if (param_1[1] != 0) { + FUN_14002e510(param_1 + 1); + } + *param_1 = MBISingleton::vftable; + DAT_140162d88 = 0; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e4f0.c b/decomp/Agent_Release_x64/full/functions/0x14002e4f0.c new file mode 100644 index 00000000..ee5e13eb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e4f0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e4f0 FUN_14002e4f0 + * Pseudocode, not original source. */ + +void FUN_14002e4f0(longlong *param_1) + +{ + if (*param_1 != 0) { + FUN_14002e510(param_1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e510.c b/decomp/Agent_Release_x64/full/functions/0x14002e510.c new file mode 100644 index 00000000..e5185f0f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e510.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e510 FUN_14002e510 + * Pseudocode, not original source. */ + +void FUN_14002e510(undefined8 *param_1) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + undefined8 *puVar3; + undefined8 *puVar4; + + puVar4 = (undefined8 *)*param_1; + puVar1 = puVar4 + param_1[1]; + for (; puVar4 != puVar1; puVar4 = puVar4 + 1) { + puVar2 = (undefined8 *)*puVar4; + *puVar4 = 0; + while (puVar2 != (undefined8 *)0x0) { + puVar3 = (undefined8 *)*puVar2; + operator_delete(puVar2); + puVar2 = puVar3; + } + } + operator_delete((void *)*param_1); + *param_1 = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e5a0.c b/decomp/Agent_Release_x64/full/functions/0x14002e5a0.c new file mode 100644 index 00000000..494806a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e5a0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e5a0 FUN_14002e5a0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14002e5a0(undefined8 *param_1,byte param_2) + +{ + DAT_140162d88 = 0; + *param_1 = MBISingleton::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e5e0.c b/decomp/Agent_Release_x64/full/functions/0x14002e5e0.c new file mode 100644 index 00000000..923faf8c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e5e0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e5e0 FUN_14002e5e0 + * Pseudocode, not original source. */ + +void FUN_14002e5e0(undefined8 *param_1) + +{ + DAT_140162d88 = 0; + *param_1 = MBISingleton::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e600.c b/decomp/Agent_Release_x64/full/functions/0x14002e600.c new file mode 100644 index 00000000..c64882a3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e600.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e600 FUN_14002e600 + * Pseudocode, not original source. */ + +undefined4 * +FUN_14002e600(undefined4 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + DWORD DVar1; + int iVar2; + BOOL BVar3; + undefined *puVar4; + ulonglong uVar5; + ulonglong uVar6; + char cVar7; + exception local_58 [80]; + + cVar7 = (char)param_3; + uVar6 = param_2 & 0xffffffff; + *(undefined1 *)(param_1 + 0xc) = 0; + *param_1 = 0x3faf713; + DVar1 = FUN_14002f850(); + uVar5 = 0; + if (DVar1 == 1) { + uVar6 = uVar5; + } + if ((cVar7 != '\0') && + (puVar4 = FUN_14002f9c0(0,param_2,param_3,param_4), *(longlong *)(puVar4 + 0x50) != 0)) { + puVar4 = FUN_14002f9c0(uVar5,param_2,param_3,param_4); + iVar2 = (**(code **)(puVar4 + 0x50))(param_1 + 2,uVar6,0x1000000); + if (iVar2 != 0) { + return param_1; + } + FUN_14002f1e0(local_58,L"InitializeCriticalSectionEx Failure!", + L"Proud::CriticalSection::CriticalSection",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if ((DWORD)uVar6 == 0) { + InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 2)); + } + else { + BVar3 = InitializeCriticalSectionAndSpinCount((LPCRITICAL_SECTION)(param_1 + 2),(DWORD)uVar6); + if (BVar3 == 0) { + FUN_14002f1e0(local_58,L"InitializeCriticalSectionEx Failure!", + L"Proud::CriticalSection::CriticalSection",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e6e0.c b/decomp/Agent_Release_x64/full/functions/0x14002e6e0.c new file mode 100644 index 00000000..6aaa37d1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e6e0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e6e0 FUN_14002e6e0 + * Pseudocode, not original source. */ + +void FUN_14002e6e0(int *param_1) + +{ + if (*param_1 != 0x3faf713) { + FUN_14002fa10( + L"Cannot enter critical section which has been already destroyed! NOTE: This may be solved by deleting CNetClient instance before your WinMain() finishes working." + ); + } + /* WARNING: Could not recover jumptable at 0x00014002e706. Too many branches */ + /* WARNING: Treating indirect jump as call */ + EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 2)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e710.c b/decomp/Agent_Release_x64/full/functions/0x14002e710.c new file mode 100644 index 00000000..69f34f4b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e710.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e710 FUN_14002e710 + * Pseudocode, not original source. */ + +void FUN_14002e710(int *param_1) + +{ + if (*param_1 == 0x3faf713) { + EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 2)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e730.c b/decomp/Agent_Release_x64/full/functions/0x14002e730.c new file mode 100644 index 00000000..12a36322 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e730.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e730 FUN_14002e730 + * Pseudocode, not original source. */ + +bool FUN_14002e730(int *param_1) + +{ + BOOL BVar1; + + if (*param_1 != 0x3faf713) { + FUN_14002fa10( + L"Lock invalid critical section is prohibited! NOTE: This may be solved by manually destroying ProudNet related objects if they are defined as Global Objects." + ); + } + BVar1 = TryEnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 2)); + return BVar1 != 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e770.c b/decomp/Agent_Release_x64/full/functions/0x14002e770.c new file mode 100644 index 00000000..f541d8f5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e770.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e770 FUN_14002e770 + * Pseudocode, not original source. */ + +void FUN_14002e770(longlong param_1) + +{ + /* WARNING: Could not recover jumptable at 0x00014002e774. Too many branches */ + /* WARNING: Treating indirect jump as call */ + LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e780.c b/decomp/Agent_Release_x64/full/functions/0x14002e780.c new file mode 100644 index 00000000..8de44287 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e780.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e780 FUN_14002e780 + * Pseudocode, not original source. */ + +bool FUN_14002e780(int *param_1) + +{ + return *param_1 == 0x3faf713; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e790.c b/decomp/Agent_Release_x64/full/functions/0x14002e790.c new file mode 100644 index 00000000..66d509ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e790.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e790 FUN_14002e790 + * Pseudocode, not original source. */ + +undefined8 FUN_14002e790(void) + +{ + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e7a0.c b/decomp/Agent_Release_x64/full/functions/0x14002e7a0.c new file mode 100644 index 00000000..02dd276a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e7a0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e7a0 FUN_14002e7a0 + * Pseudocode, not original source. */ + +void FUN_14002e7a0(undefined4 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + exception local_58 [80]; + + if (*(char *)(param_1 + 0xc) == '\0') { + if ((*(longlong *)(param_1 + 6) != 0) && (*(longlong *)(param_1 + 6) != -1)) { + FUN_14002f1e0(local_58,L"Critical section is still in use! Destruction may cause problems!", + param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 2)); + *param_1 = 0; + *(undefined8 *)(param_1 + 2) = 0; + *(undefined8 *)(param_1 + 4) = 0; + *(undefined8 *)(param_1 + 6) = 0; + *(undefined8 *)(param_1 + 8) = 0; + *(undefined8 *)(param_1 + 10) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e820.c b/decomp/Agent_Release_x64/full/functions/0x14002e820.c new file mode 100644 index 00000000..41aa386f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e820.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e820 FUN_14002e820 + * Pseudocode, not original source. */ + +bool FUN_14002e820(longlong param_1) + +{ + DWORD DVar1; + + DVar1 = GetCurrentThreadId(); + return *(ulonglong *)(param_1 + 0x18) == (ulonglong)DVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e840.c b/decomp/Agent_Release_x64/full/functions/0x14002e840.c new file mode 100644 index 00000000..69f46e30 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e840.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e840 FUN_14002e840 + * Pseudocode, not original source. */ + +void FUN_14002e840(longlong *param_1,int param_2,void *param_3,int param_4) + +{ + void *pvVar1; + + if (param_1 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (param_3 == (void *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + pvVar1 = (void *)*param_1; + if (pvVar1 == param_3) { + if (param_2 <= param_4) { + *param_1 = (longlong)param_3; + goto LAB_14002e8d1; + } + pvVar1 = calloc((longlong)param_2,1); + } + else { + if (param_2 <= param_4) { + free(pvVar1); + *param_1 = (longlong)param_3; + goto LAB_14002e8d1; + } + pvVar1 = _recalloc(pvVar1,(longlong)param_2,1); + if (pvVar1 == (void *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + *param_1 = (longlong)pvVar1; +LAB_14002e8d1: + if (*param_1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002e8f0.c b/decomp/Agent_Release_x64/full/functions/0x14002e8f0.c new file mode 100644 index 00000000..4ecb95d8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002e8f0.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002e8f0 FUN_14002e8f0 + * Pseudocode, not original source. */ + +void FUN_14002e8f0(longlong *param_1,LPCWSTR param_2,UINT param_3) + +{ + code *pcVar1; + int iVar2; + int iVar3; + DWORD DVar4; + bool bVar5; + + if (param_2 == (LPCWSTR)0x0) { + *param_1 = 0; + return; + } + iVar2 = lstrlenW(param_2); + iVar2 = iVar2 + 1; + FUN_14002e840(param_1,iVar2 * 4,param_1 + 1,0x80); + iVar3 = WideCharToMultiByte(param_3,0,param_2,iVar2,(LPSTR)*param_1,iVar2 * 4,(LPCSTR)0x0, + (LPBOOL)0x0); + if (iVar3 == 0) { + DVar4 = GetLastError(); + bVar5 = true; + if (DVar4 == 0x7a) { + iVar3 = WideCharToMultiByte(param_3,0,param_2,iVar2,(LPSTR)0x0,0,(LPCSTR)0x0,(LPBOOL)0x0); + FUN_14002e840(param_1,iVar3,param_1 + 1,0x80); + iVar2 = WideCharToMultiByte(param_3,0,param_2,iVar2,(LPSTR)*param_1,iVar3,(LPCSTR)0x0, + (LPBOOL)0x0); + bVar5 = iVar2 == 0; + } + if (bVar5) { + FUN_14002a650(); + pcVar1 = (code *)swi(3); + (*pcVar1)(); + return; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002ea30.c b/decomp/Agent_Release_x64/full/functions/0x14002ea30.c new file mode 100644 index 00000000..dfcbfef4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002ea30.c @@ -0,0 +1,45 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002ea30 FUN_14002ea30 + * Pseudocode, not original source. */ + +void FUN_14002ea30(longlong *param_1,int param_2) + +{ + int *piVar1; + undefined *puVar2; + int iVar3; + int iVar4; + + puVar2 = (undefined *)*param_1; + iVar4 = 0; + if (0 < param_2) { + iVar4 = param_2; + } + if (puVar2 == (undefined *)0x0) { + iVar3 = 0; + } + else if (puVar2 == PTR_DAT_140155008) { + iVar3 = 0; + } + else { + iVar3 = *(int *)(puVar2 + -8); + } + if (iVar3 <= iVar4) { + if (puVar2 == (undefined *)0x0) { + iVar4 = 0; + } + else if (puVar2 == PTR_DAT_140155008) { + iVar4 = 0; + } + else { + iVar4 = *(int *)(puVar2 + -8); + } + } + if (((puVar2 != PTR_DAT_140155008) && (puVar2 != (undefined *)0x0)) && + (piVar1 = (int *)(puVar2 + -8), piVar1 != (int *)0x0)) { + *piVar1 = iVar4; + *(undefined1 *)((longlong)iVar4 + 8 + (longlong)piVar1) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002eaa0.c b/decomp/Agent_Release_x64/full/functions/0x14002eaa0.c new file mode 100644 index 00000000..e88778e2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002eaa0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002eaa0 FUN_14002eaa0 + * Pseudocode, not original source. */ + +undefined * FUN_14002eaa0(longlong param_1) + +{ + undefined *puVar1; + + puVar1 = *(undefined **)(param_1 + 0x40); + if (*(undefined **)(param_1 + 0x40) == (undefined *)0x0) { + puVar1 = PTR_DAT_140155008; + } + return puVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002eab0.c b/decomp/Agent_Release_x64/full/functions/0x14002eab0.c new file mode 100644 index 00000000..1269b7fd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002eab0.c @@ -0,0 +1,51 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002eab0 FUN_14002eab0 + * Pseudocode, not original source. */ + +void FUN_14002eab0(longlong *param_1) + +{ + int *piVar1; + undefined *puVar2; + int iVar3; + int iVar4; + char *pcVar5; + + pcVar5 = (char *)*param_1; + if ((char *)*param_1 == (char *)0x0) { + pcVar5 = PTR_DAT_140155008; + } + iVar3 = FUN_140030120(pcVar5); + iVar4 = 0; + if (0 < iVar3) { + iVar4 = iVar3; + } + puVar2 = (undefined *)*param_1; + if (puVar2 == (undefined *)0x0) { + iVar3 = 0; + } + else if (puVar2 == PTR_DAT_140155008) { + iVar3 = 0; + } + else { + iVar3 = *(int *)(puVar2 + -8); + } + if (iVar3 <= iVar4) { + if (puVar2 == (undefined *)0x0) { + iVar4 = 0; + } + else if (puVar2 == PTR_DAT_140155008) { + iVar4 = 0; + } + else { + iVar4 = *(int *)(puVar2 + -8); + } + } + if (((puVar2 != PTR_DAT_140155008) && (puVar2 != (undefined *)0x0)) && + (piVar1 = (int *)(puVar2 + -8), piVar1 != (int *)0x0)) { + *piVar1 = iVar4; + *(undefined1 *)((longlong)iVar4 + 8 + (longlong)piVar1) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002eb30.c b/decomp/Agent_Release_x64/full/functions/0x14002eb30.c new file mode 100644 index 00000000..f7786e43 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002eb30.c @@ -0,0 +1,71 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002eb30 FUN_14002eb30 + * Pseudocode, not original source. */ + +void FUN_14002eb30(longlong *param_1) + +{ + undefined8 *puVar1; + int *piVar2; + int iVar3; + int iVar4; + undefined *puVar5; + undefined8 in_R8; + undefined8 in_R9; + exception local_58 [80]; + + puVar5 = (undefined *)*param_1; + if (puVar5 == (undefined *)0x0) { + *param_1 = (longlong)PTR_DAT_140155008; + } + else if ((puVar5 != PTR_DAT_140155008) && ((int *)(puVar5 + -8) != (int *)0x0)) { + if (*(int *)(puVar5 + -4) < 2) { + return; + } + iVar3 = *(int *)(puVar5 + -8); + if (iVar3 < 0) { + FUN_14002f1e0(local_58,L"An invalid argument is detected!",in_R8,in_R9); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + piVar2 = (int *)FUN_140030280((longlong)iVar3 + 9); + iVar3 = 0; + if (piVar2 != (int *)0x0) { + *piVar2 = 0; + piVar2[1] = 1; + } + puVar5 = (undefined *)*param_1; + if (puVar5 == (undefined *)0x0) { + iVar4 = 0; + } + else { + iVar4 = iVar3; + if (puVar5 != PTR_DAT_140155008) { + iVar4 = *(int *)(puVar5 + -8); + } + } + *piVar2 = iVar4; + puVar5 = (undefined *)*param_1; + if ((puVar5 != (undefined *)0x0) && (puVar5 != PTR_DAT_140155008)) { + iVar3 = *(int *)(puVar5 + -8); + } + if (puVar5 == (undefined *)0x0) { + puVar5 = PTR_DAT_140155008; + } + FUN_140030150(piVar2 + 2,puVar5,iVar3); + FUN_14001c020(param_1); + *param_1 = (longlong)(piVar2 + 2); + return; + } + puVar1 = (undefined8 *)FUN_140030280(9); + *puVar1 = 0; + *(undefined1 *)(puVar1 + 1) = 0; + if (puVar1 != (undefined8 *)0x0) { + *(undefined4 *)puVar1 = 0; + *(undefined4 *)((longlong)puVar1 + 4) = 1; + } + *(undefined1 *)(puVar1 + 1) = 0; + *param_1 = (longlong)(puVar1 + 1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002ec40.c b/decomp/Agent_Release_x64/full/functions/0x14002ec40.c new file mode 100644 index 00000000..35678fea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002ec40.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002ec40 FUN_14002ec40 + * Pseudocode, not original source. */ + +void FUN_14002ec40(longlong *param_1,int param_2) + +{ + undefined *puVar1; + int *piVar2; + int iVar3; + undefined8 in_R8; + undefined8 in_R9; + exception local_58 [80]; + + puVar1 = (undefined *)*param_1; + if ((undefined *)*param_1 == (undefined *)0x0) { + puVar1 = PTR_DAT_140155008; + } + *param_1 = (longlong)puVar1; + if (param_2 < 0) { + FUN_14002f1e0(local_58,L"An invalid argument is detected!",in_R8,in_R9); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if (param_2 == 0) { + FUN_14001c020(param_1); + return; + } + iVar3 = 0; + if (puVar1 != (undefined *)0x0) { + if (puVar1 == PTR_DAT_140155008) { + iVar3 = 0; + } + else { + iVar3 = *(int *)(puVar1 + -8); + } + } + if (param_2 != iVar3) { + piVar2 = (int *)FUN_140030280((longlong)param_2 + 9); + if (piVar2 != (int *)0x0) { + *piVar2 = 0; + piVar2[1] = 1; + } + *piVar2 = param_2; + puVar1 = (undefined *)*param_1; + if (puVar1 == (undefined *)0x0) { + iVar3 = 0; + } + else if (puVar1 == PTR_DAT_140155008) { + iVar3 = 0; + } + else { + iVar3 = *(int *)(puVar1 + -8); + } + if (iVar3 <= param_2) { + if ((puVar1 == (undefined *)0x0) || (puVar1 == PTR_DAT_140155008)) { + param_2 = 0; + } + else { + param_2 = *(int *)(puVar1 + -8); + } + } + if (puVar1 == (undefined *)0x0) { + puVar1 = PTR_DAT_140155008; + } + FUN_140030150(piVar2 + 2,puVar1,param_2); + FUN_14001c020(param_1); + *param_1 = (longlong)(piVar2 + 2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002ed50.c b/decomp/Agent_Release_x64/full/functions/0x14002ed50.c new file mode 100644 index 00000000..2f7ba395 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002ed50.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002ed50 FUN_14002ed50 + * Pseudocode, not original source. */ + +void FUN_14002ed50(exception *param_1) + +{ + *(undefined ***)param_1 = Proud::Exception::vftable; + FUN_14001c020((longlong *)(param_1 + 0x40)); + /* WARNING: Could not recover jumptable at 0x00014002ed82. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::exception::~exception(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002ed90.c b/decomp/Agent_Release_x64/full/functions/0x14002ed90.c new file mode 100644 index 00000000..cd1731a9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002ed90.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002ed90 FUN_14002ed90 + * Pseudocode, not original source. */ + +exception * +FUN_14002ed90(exception *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + exception *peVar1; + undefined8 uVar2; + + peVar1 = param_1; + uVar2 = param_2; + std::exception::exception(param_1); + *(undefined ***)param_1 = Proud::Exception::vftable; + FUN_140030200(peVar1,uVar2,param_3,param_4); + *(undefined **)(param_1 + 0x40) = PTR_DAT_140155008; + *(undefined8 *)(param_1 + 0x20) = param_2; + *(undefined4 *)(param_1 + 0x18) = 0; + *(undefined4 *)(param_1 + 0x38) = 4; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002edf0.c b/decomp/Agent_Release_x64/full/functions/0x14002edf0.c new file mode 100644 index 00000000..cc2d472e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002edf0.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002edf0 FUN_14002edf0 + * Pseudocode, not original source. */ + +undefined * FUN_14002edf0(longlong *param_1,int param_2) + +{ + int iVar1; + undefined *puVar2; + int iVar3; + + puVar2 = (undefined *)*param_1; + iVar3 = 0; + if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140155008)) { + iVar3 = *(int *)(puVar2 + -8); + } + if (((param_2 <= iVar3) && (param_2 = 0, puVar2 != (undefined *)0x0)) && + (puVar2 != PTR_DAT_140155008)) { + param_2 = *(int *)(puVar2 + -8); + } + iVar3 = 1; + if (1 < param_2) { + iVar3 = param_2; + } + iVar1 = 0; + if ((puVar2 != (undefined *)0x0) && (iVar1 = 0, puVar2 != PTR_DAT_140155008)) { + iVar1 = *(int *)(puVar2 + -8); + } + if (iVar1 < iVar3) { + FUN_14002ec40(param_1,iVar3); + } + FUN_14002eb30(param_1); + puVar2 = (undefined *)*param_1; + if ((undefined *)*param_1 == (undefined *)0x0) { + puVar2 = PTR_DAT_140155008; + } + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002ee70.c b/decomp/Agent_Release_x64/full/functions/0x14002ee70.c new file mode 100644 index 00000000..5aab0cb8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002ee70.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002ee70 FUN_14002ee70 + * Pseudocode, not original source. */ + +longlong * FUN_14002ee70(longlong *param_1,char *param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + undefined *puVar2; + int iVar3; + int iVar4; + + FUN_140030200(param_1,param_2,param_3,param_4); + *param_1 = (longlong)PTR_DAT_140155008; + iVar1 = FUN_140030120(param_2); + iVar3 = (int)param_3; + iVar4 = iVar1; + if ((0 < iVar3) && (iVar4 = iVar3, iVar1 < iVar3)) { + iVar4 = iVar1; + } + puVar2 = FUN_14002edf0(param_1,iVar4); + FUN_140030150(puVar2,param_2,iVar4); + FUN_14002eab0(param_1); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002eef0.c b/decomp/Agent_Release_x64/full/functions/0x14002eef0.c new file mode 100644 index 00000000..2d6421ed --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002eef0.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002eef0 FUN_14002eef0 + * Pseudocode, not original source. */ + +void FUN_14002eef0(undefined8 *param_1) + +{ + longlong *plVar1; + longlong *plVar2; + longlong lVar3; + + plVar2 = (longlong *)*param_1; + if (plVar2 != (longlong *)0x0) { + LOCK(); + plVar1 = plVar2 + 2; + lVar3 = *plVar1; + *(int *)plVar1 = (int)*plVar1 + -1; + UNLOCK(); + if (((int)lVar3 == 1) && (plVar2 != (longlong *)0x0)) { + if (*plVar2 != 0) { + Ordinal_6(); + } + if ((void *)plVar2[1] != (void *)0x0) { + operator_delete__((void *)plVar2[1]); + } + operator_delete(plVar2); + } + *param_1 = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002ef50.c b/decomp/Agent_Release_x64/full/functions/0x14002ef50.c new file mode 100644 index 00000000..91976b21 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002ef50.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002ef50 FUN_14002ef50 + * Pseudocode, not original source. */ + +undefined8 * +FUN_14002ef50(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 uVar1; + undefined8 *puVar2; + undefined8 local_res8; + + local_res8 = 0; + if (*(longlong *)(param_1 + 0x10) != 0) { + (**(code **)(**(longlong **)(param_1 + 0x10) + 0x28)) + (*(longlong **)(param_1 + 0x10),&local_res8,param_3,param_4,0xfffffffffffffffe); + } + uVar1 = local_res8; + puVar2 = operator_new(0x18); + if (puVar2 != (undefined8 *)0x0) { + puVar2[1] = 0; + *(undefined4 *)(puVar2 + 2) = 1; + *puVar2 = uVar1; + } + *param_2 = puVar2; + if (puVar2 == (undefined8 *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14003a870(0x8007000e); + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002efe0.c b/decomp/Agent_Release_x64/full/functions/0x14002efe0.c new file mode 100644 index 00000000..ab950a45 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002efe0.c @@ -0,0 +1,132 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002efe0 FUN_14002efe0 + * Pseudocode, not original source. */ + +longlong * FUN_14002efe0(longlong *param_1,char *param_2) + +{ + char *pcVar1; + uint uVar2; + uint uVar3; + int iVar4; + char *pcVar5; + int *piVar6; + uint uVar7; + undefined *puVar8; + undefined8 in_R8; + int *piVar9; + undefined8 in_R9; + char *local_res8; + + FUN_140030200(param_1,param_2,in_R8,in_R9); + puVar8 = PTR_DAT_140155008; + local_res8 = PTR_DAT_140155008; + uVar2 = FUN_140030120(param_2); + if (puVar8 == (undefined *)0x0) { + iVar4 = 0; + } + else if (puVar8 == PTR_DAT_140155008) { + iVar4 = 0; + } + else { + iVar4 = *(int *)(puVar8 + -8); + } + uVar3 = uVar2; + if ((int)uVar2 <= iVar4) { + if (puVar8 == (undefined *)0x0) { + uVar3 = 0; + } + else if (puVar8 == PTR_DAT_140155008) { + uVar3 = 0; + } + else { + uVar3 = *(uint *)(puVar8 + -8); + } + } + uVar7 = 1; + if (1 < (int)uVar3) { + uVar7 = uVar3; + } + if (puVar8 == (undefined *)0x0) { + iVar4 = 0; + } + else if (puVar8 == PTR_DAT_140155008) { + iVar4 = 0; + } + else { + iVar4 = *(int *)(puVar8 + -8); + } + if (iVar4 < (int)uVar7) { + FUN_14002ec40((longlong *)&local_res8,uVar7); + } + FUN_14002eb30((longlong *)&local_res8); + pcVar1 = local_res8; + pcVar5 = local_res8; + if (local_res8 == (char *)0x0) { + pcVar5 = PTR_DAT_140155008; + } + piVar9 = (int *)(ulonglong)uVar2; + FUN_140030150(pcVar5,param_2,uVar2); + pcVar5 = pcVar1; + if (pcVar1 == (char *)0x0) { + pcVar5 = PTR_DAT_140155008; + } + uVar2 = FUN_140030120(pcVar5); + piVar6 = (int *)0x0; + if (0 < (int)uVar2) { + piVar6 = (int *)(ulonglong)uVar2; + } + if (pcVar1 == (char *)0x0) { + iVar4 = 0; + } + else if (pcVar1 == PTR_DAT_140155008) { + iVar4 = 0; + } + else { + iVar4 = *(int *)(pcVar1 + -8); + } + if (iVar4 <= (int)piVar6) { + if (pcVar1 == (char *)0x0) { + piVar6 = (int *)0x0; + } + else if (pcVar1 == PTR_DAT_140155008) { + piVar6 = (int *)0x0; + } + else { + piVar6 = (int *)(ulonglong)*(uint *)(pcVar1 + -8); + } + } + if (((pcVar1 != PTR_DAT_140155008) && (pcVar1 != (char *)0x0)) && + (piVar9 = (int *)(pcVar1 + -8), piVar9 != (int *)0x0)) { + *piVar9 = (int)piVar6; + *(undefined1 *)((longlong)(int)piVar6 + 8 + (longlong)piVar9) = 0; + } + puVar8 = PTR_DAT_140155008; + pcVar5 = (char *)*param_1; + if ((char *)*param_1 == (char *)0x0) { + pcVar5 = PTR_DAT_140155008; + } + *param_1 = (longlong)pcVar5; + if (pcVar1 != pcVar5) { + piVar6 = (int *)FUN_140030200(piVar6,puVar8,piVar9,in_R9); + FUN_14002e6e0(piVar6); + FUN_14001c020(param_1); + *param_1 = (longlong)pcVar1; + if (((pcVar1 != PTR_DAT_140155008) && (pcVar1 != (char *)0x0)) && (pcVar1 != (char *)0x8)) { + *(int *)(pcVar1 + -4) = *(int *)(pcVar1 + -4) + 1; + } + FUN_14002e770((longlong)piVar6); + } + if (((pcVar1 != (char *)0x0) && (pcVar1 != PTR_DAT_140155008)) && (pcVar1 + -8 != (char *)0x0)) { + piVar6 = (int *)FUN_140030200(piVar6,puVar8,piVar9,in_R9); + FUN_14002e6e0(piVar6); + piVar9 = (int *)(pcVar1 + -4); + *piVar9 = *piVar9 + -1; + if (*piVar9 == 0) { + FUN_1400302f0(pcVar1 + -8); + } + FUN_14002e770((longlong)piVar6); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002f1e0.c b/decomp/Agent_Release_x64/full/functions/0x14002f1e0.c new file mode 100644 index 00000000..89af1602 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002f1e0.c @@ -0,0 +1,141 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002f1e0 FUN_14002f1e0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +exception * FUN_14002f1e0(exception *param_1,wchar_t *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *puVar1; + LPCWSTR pWVar2; + int iVar3; + int iVar4; + int iVar5; + LPCWSTR pWVar6; + exception *peVar7; + LPCWSTR pWVar8; + char *pcVar9; + wchar_t *pwVar10; + char *pcVar11; + undefined8 uVar12; + va_list _ArgList; + undefined8 local_res18; + undefined8 local_res20; + undefined1 auStack_928 [32]; + LPCWSTR local_908; + undefined1 local_900; + exception *local_8f8; + undefined8 local_8f0; + char *local_8e8; + char local_8e0 [136]; + wchar_t local_858 [1040]; + ulonglong local_38; + + local_8f0 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_928; + peVar7 = param_1; + pwVar10 = param_2; + local_res18 = param_3; + local_res20 = param_4; + local_8f8 = param_1; + std::exception::exception(param_1); + *(undefined ***)param_1 = Proud::Exception::vftable; + FUN_140030200(peVar7,pwVar10,param_3,param_4); + *(undefined **)(param_1 + 0x40) = PTR_DAT_140155008; + FUN_140030200(peVar7,pwVar10,param_3,param_4); + puVar1 = PTR_DAT_140155010; + local_908 = (LPCWSTR)PTR_DAT_140155010; + _ArgList = (va_list)&local_res18; + if (param_2 == (wchar_t *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + iVar3 = vswprintf_s(local_858,0x400,param_2,_ArgList); + iVar4 = 0; + if ((puVar1 != (undefined *)0x0) && (puVar1 != PTR_DAT_140155010)) { + iVar4 = *(int *)(puVar1 + -8); + } + iVar5 = iVar3; + if (((iVar3 <= iVar4) && (iVar5 = 0, puVar1 != (undefined *)0x0)) && (puVar1 != PTR_DAT_140155010) + ) { + iVar5 = *(int *)(puVar1 + -8); + } + iVar4 = 1; + if (1 < iVar5) { + iVar4 = iVar5; + } + iVar5 = 0; + if ((puVar1 != (undefined *)0x0) && (iVar5 = 0, puVar1 != PTR_DAT_140155010)) { + iVar5 = *(int *)(puVar1 + -8); + } + if (iVar5 < iVar4) { + FUN_140002dc0((longlong *)&local_908,iVar4); + } + FUN_140002ea0((longlong *)&local_908); + pWVar2 = local_908; + pWVar8 = local_908; + if (local_908 == (LPCWSTR)0x0) { + pWVar8 = (LPCWSTR)PTR_DAT_140155010; + } + FUN_1400300b0(pWVar8,local_858,iVar3); + pWVar8 = pWVar2; + if (pWVar2 == (LPCWSTR)0x0) { + pWVar8 = (LPCWSTR)PTR_DAT_140155010; + } + iVar3 = FUN_140030080(pWVar8); + iVar4 = 0; + if (0 < iVar3) { + iVar4 = iVar3; + } + iVar3 = 0; + if ((pWVar2 != (LPCWSTR)0x0) && (iVar3 = 0, pWVar2 != (LPCWSTR)PTR_DAT_140155010)) { + iVar3 = *(int *)(pWVar2 + -4); + } + if ((iVar4 < iVar3) || (iVar4 = 0, pWVar2 == (LPCWSTR)0x0)) { +LAB_14002f352: + if (pWVar2 != (LPCWSTR)PTR_DAT_140155010) { + pWVar8 = (LPCWSTR)PTR_DAT_140155010; + if (pWVar2 == (LPCWSTR)0x0) goto LAB_14002f380; + if (pWVar2 + -4 != (LPCWSTR)0x0) { + *(int *)(pWVar2 + -4) = iVar4; + pWVar2[iVar4] = L'\0'; + } + } + } + else if (pWVar2 != (LPCWSTR)PTR_DAT_140155010) { + iVar4 = *(int *)(pWVar2 + -4); + goto LAB_14002f352; + } + pWVar8 = (LPCWSTR)PTR_DAT_140155010; + if (pWVar2 != (LPCWSTR)0x0) { + pWVar8 = pWVar2; + } +LAB_14002f380: + local_8e8 = local_8e0; + uVar12 = 3; + FUN_14002e8f0((longlong *)&local_8e8,pWVar8,3); + pcVar11 = local_8e8; + FUN_14002efe0((longlong *)(param_1 + 0x40),local_8e8); + pcVar9 = local_8e8; + if (local_8e8 != local_8e0) { + free(local_8e8); + } + *(undefined4 *)(param_1 + 0x18) = 0; + *(undefined4 *)(param_1 + 0x38) = 1; + if (((pWVar2 != (LPCWSTR)0x0) && (pWVar2 != (LPCWSTR)PTR_DAT_140155010)) && + (pWVar2 + -4 != (LPCWSTR)0x0)) { + pWVar6 = (LPCWSTR)FUN_140030200(pcVar9,pcVar11,uVar12,_ArgList); + local_908 = pWVar6; + FUN_14002e6e0((int *)pWVar6); + local_900 = 1; + pWVar8 = pWVar2 + -2; + *(int *)pWVar8 = *(int *)pWVar8 + -1; + if (*(int *)pWVar8 == 0) { + FUN_1400302f0(pWVar2 + -4); + } + FUN_14002e770((longlong)pWVar6); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002f430.c b/decomp/Agent_Release_x64/full/functions/0x14002f430.c new file mode 100644 index 00000000..bd655744 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002f430.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002f430 FUN_14002f430 + * Pseudocode, not original source. */ + +exception * +FUN_14002f430(exception *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + char *pcVar1; + exception *peVar2; + longlong *plVar3; + + peVar2 = param_1; + plVar3 = param_2; + std::exception::exception(param_1); + *(undefined ***)param_1 = Proud::Exception::vftable; + FUN_140030200(peVar2,plVar3,param_3,param_4); + *(undefined **)(param_1 + 0x40) = PTR_DAT_140155008; + pcVar1 = (char *)(**(code **)(*param_2 + 8))(param_2); + FUN_14002efe0((longlong *)(param_1 + 0x40),pcVar1); + *(longlong **)(param_1 + 0x28) = param_2; + *(undefined4 *)(param_1 + 0x18) = 0; + *(undefined4 *)(param_1 + 0x38) = 2; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002f4b0.c b/decomp/Agent_Release_x64/full/functions/0x14002f4b0.c new file mode 100644 index 00000000..a9c0b899 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002f4b0.c @@ -0,0 +1,56 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002f4b0 FUN_14002f4b0 + * Pseudocode, not original source. */ + +exception * FUN_14002f4b0(exception *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + longlong *plVar2; + LPSTR pCVar3; + exception *peVar4; + longlong lVar5; + char *pcVar6; + longlong *local_res10; + + peVar4 = param_1; + lVar5 = param_2; + std::exception::exception(param_1); + *(undefined ***)param_1 = Proud::Exception::vftable; + FUN_140030200(peVar4,lVar5,param_3,param_4); + *(undefined **)(param_1 + 0x40) = PTR_DAT_140155008; + plVar2 = FUN_14002ef50(param_2,&local_res10,param_3,param_4); + puVar1 = (undefined8 *)*plVar2; + if (puVar1 == (undefined8 *)0x0) { + pcVar6 = (char *)0x0; + } + else { + if (puVar1[1] == 0) { + pCVar3 = FUN_14003a880((LPCWSTR)*puVar1); + puVar1[1] = pCVar3; + } + pcVar6 = (char *)puVar1[1]; + } + FUN_14002efe0((longlong *)(param_1 + 0x40),pcVar6); + if (local_res10 != (longlong *)0x0) { + LOCK(); + plVar2 = local_res10 + 2; + lVar5 = *plVar2; + *(int *)plVar2 = (int)*plVar2 + -1; + UNLOCK(); + if (((int)lVar5 == 1) && (local_res10 != (longlong *)0x0)) { + if (*local_res10 != 0) { + Ordinal_6(); + } + if ((void *)local_res10[1] != (void *)0x0) { + operator_delete__((void *)local_res10[1]); + } + operator_delete(local_res10); + } + } + *(longlong *)(param_1 + 0x30) = param_2; + *(undefined4 *)(param_1 + 0x18) = 0; + *(undefined4 *)(param_1 + 0x38) = 3; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002f590.c b/decomp/Agent_Release_x64/full/functions/0x14002f590.c new file mode 100644 index 00000000..c180c863 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002f590.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002f590 FUN_14002f590 + * Pseudocode, not original source. */ + +void FUN_14002f590(void) + +{ + undefined8 in_R8; + undefined8 in_R9; + exception local_58 [88]; + + FUN_14002f1e0(local_58,L"An invalid argument is detected!",in_R8,in_R9); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002f5c0.c b/decomp/Agent_Release_x64/full/functions/0x14002f5c0.c new file mode 100644 index 00000000..9b6dcecf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002f5c0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002f5c0 FUN_14002f5c0 + * Pseudocode, not original source. */ + +void FUN_14002f5c0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + exception local_58 [88]; + + FUN_14002f1e0(local_58,L"Array index out of range!",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002f5f0.c b/decomp/Agent_Release_x64/full/functions/0x14002f5f0.c new file mode 100644 index 00000000..deeb1ec9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002f5f0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002f5f0 FUN_14002f5f0 + * Pseudocode, not original source. */ + +void FUN_14002f5f0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + exception local_58 [88]; + + FUN_14002f1e0(local_58,L"32bit integer out of range! %s",param_1,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002f620.c b/decomp/Agent_Release_x64/full/functions/0x14002f620.c new file mode 100644 index 00000000..dcca870d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002f620.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002f620 FUN_14002f620 + * Pseudocode, not original source. */ + +void FUN_14002f620(wchar_t *param_1,rsize_t param_2,wchar_t *param_3,rsize_t param_4) + +{ + errno_t eVar1; + + eVar1 = wmemcpy_s(param_1,param_2,param_3,param_4); + if (eVar1 != 0) { + if (eVar1 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar1 == 0x16) || (eVar1 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar1 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002f670.c b/decomp/Agent_Release_x64/full/functions/0x14002f670.c new file mode 100644 index 00000000..f27263cb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002f670.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002f670 FUN_14002f670 + * Pseudocode, not original source. */ + +ushort * FUN_14002f670(HMODULE param_1,HRSRC param_2,uint param_3) + +{ + DWORD DVar1; + HGLOBAL hResData; + ushort *puVar2; + uint uVar3; + ushort *puVar4; + + hResData = LoadResource(param_1,param_2); + if (hResData == (HGLOBAL)0x0) { + return (ushort *)0x0; + } + puVar2 = LockResource(hResData); + if (puVar2 != (ushort *)0x0) { + DVar1 = SizeofResource(param_1,param_2); + puVar4 = (ushort *)((ulonglong)DVar1 + (longlong)puVar2); + for (uVar3 = param_3 & 0xf; uVar3 != 0; uVar3 = uVar3 - 1) { + if (puVar4 <= puVar2) { + return (ushort *)0x0; + } + puVar2 = puVar2 + (ulonglong)*puVar2 + 1; + } + if (puVar2 < puVar4) { + if (*puVar2 == 0) { + return (ushort *)0x0; + } + return puVar2; + } + } + return (ushort *)0x0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002f710.c b/decomp/Agent_Release_x64/full/functions/0x14002f710.c new file mode 100644 index 00000000..51308fba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002f710.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002f710 FUN_14002f710 + * Pseudocode, not original source. */ + +HMODULE FUN_14002f710(uint param_1,WORD param_2) + +{ + HMODULE hModule; + HRSRC pHVar1; + ushort *puVar2; + int iVar3; + + hModule = ATL::CAtlBaseModule::GetHInstanceAt((CAtlBaseModule *)&DAT_14015d7e0,0); + iVar3 = 0; + while( true ) { + if (hModule == (HMODULE)0x0) { + return (HMODULE)0x0; + } + iVar3 = iVar3 + 1; + pHVar1 = FindResourceExW(hModule,(LPCWSTR)0x6, + (LPCWSTR)(ulonglong)(ushort)((short)(param_1 >> 4) + 1),param_2); + if ((pHVar1 != (HRSRC)0x0) && + (puVar2 = FUN_14002f670(hModule,pHVar1,param_1), puVar2 != (ushort *)0x0)) break; + hModule = ATL::CAtlBaseModule::GetHInstanceAt((CAtlBaseModule *)&DAT_14015d7e0,iVar3); + } + return hModule; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002f7d0.c b/decomp/Agent_Release_x64/full/functions/0x14002f7d0.c new file mode 100644 index 00000000..58412252 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002f7d0.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002f7d0 FUN_14002f7d0 + * Pseudocode, not original source. */ + +void FUN_14002f7d0(wchar_t *param_1,int param_2,wchar_t *param_3,uint param_4) + +{ + wchar_t wVar1; + errno_t eVar2; + longlong lVar3; + wchar_t *pwVar4; + + if (param_4 == 0xffffffff) { + lVar3 = -1; + pwVar4 = param_3; + do { + if (lVar3 == 0) break; + lVar3 = lVar3 + -1; + wVar1 = *pwVar4; + pwVar4 = pwVar4 + 1; + } while (wVar1 != L'\0'); + param_4 = ~(uint)lVar3; + } + eVar2 = wmemcpy_s(param_1,(longlong)param_2,param_3,(longlong)(int)param_4); + if (eVar2 != 0) { + if (eVar2 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar2 == 0x16) || (eVar2 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar2 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002f850.c b/decomp/Agent_Release_x64/full/functions/0x14002f850.c new file mode 100644 index 00000000..38023f94 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002f850.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002f850 FUN_14002f850 + * Pseudocode, not original source. */ + +DWORD FUN_14002f850(void) + +{ + _SYSTEM_INFO local_38; + + GetSystemInfo(&local_38); + return local_38.dwNumberOfProcessors; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002f870.c b/decomp/Agent_Release_x64/full/functions/0x14002f870.c new file mode 100644 index 00000000..487a444b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002f870.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002f870 FUN_14002f870 + * Pseudocode, not original source. */ + +undefined8 * +FUN_14002f870(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + HMODULE hModule; + FARPROC pFVar1; + exception local_58 [80]; + + hModule = LoadLibraryA("kernel32.dll"); + param_1[0xc] = hModule; + if (hModule == (HMODULE)0x0) { + FUN_14002f1e0(local_58,L"Cannot find kernel32.dll handle!",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + pFVar1 = GetProcAddress(hModule,"CreateIoCompletionPort"); + *param_1 = pFVar1; + pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"HeapSetInformation"); + param_1[1] = pFVar1; + pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"QueueUserWorkItem"); + param_1[2] = pFVar1; + pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"GetQueuedCompletionStatus"); + param_1[3] = pFVar1; + pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"GetQueuedCompletionStatusEx"); + param_1[4] = pFVar1; + pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"AddVectoredExceptionHandler"); + param_1[5] = pFVar1; + pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"CreateTimerQueue"); + param_1[6] = pFVar1; + pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"CreateTimerQueueTimer"); + param_1[7] = pFVar1; + pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"DeleteTimerQueueTimer"); + param_1[8] = pFVar1; + pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"DeleteTimerQueueEx"); + param_1[9] = pFVar1; + pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"InitializeCriticalSectionEx"); + param_1[10] = pFVar1; + pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"GetLogicalProcessorInformation"); + param_1[0xb] = pFVar1; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002f9c0.c b/decomp/Agent_Release_x64/full/functions/0x14002f9c0.c new file mode 100644 index 00000000..0ba84867 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002f9c0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002f9c0 FUN_14002f9c0 + * Pseudocode, not original source. */ + +undefined * +FUN_14002f9c0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((DAT_14015bee8 & 1) == 0) { + DAT_14015bee8 = DAT_14015bee8 | 1; + FUN_14002f870((undefined8 *)&DAT_14015be80,param_2,param_3,param_4); + } + return &DAT_14015be80; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002fa10.c b/decomp/Agent_Release_x64/full/functions/0x14002fa10.c new file mode 100644 index 00000000..3b056fe0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002fa10.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002fa10 FUN_14002fa10 + * Pseudocode, not original source. */ + +void FUN_14002fa10(wchar_t *param_1) + +{ + if (DAT_14015bfc8 == 0) { + OutputDebugStringW(param_1); + /* WARNING: Could not recover jumptable at 0x00014002fa40. Too many branches */ + /* WARNING: Treating indirect jump as call */ + MessageBoxW((HWND)0x0,param_1,L"ProudNet",0x10); + return; + } + if (DAT_14015bfc8 == 2) { + /* WARNING: Could not recover jumptable at 0x00014002fa51. Too many branches */ + /* WARNING: Treating indirect jump as call */ + OutputDebugStringW(param_1); + return; + } + /* WARNING: Could not recover jumptable at 0x00014002fa67. Too many branches */ + /* WARNING: Treating indirect jump as call */ + wcscpy_s((wchar_t *)0x0,1000,param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002fa70.c b/decomp/Agent_Release_x64/full/functions/0x14002fa70.c new file mode 100644 index 00000000..6bd88a9a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002fa70.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002fa70 FUN_14002fa70 + * Pseudocode, not original source. */ + +void FUN_14002fa70(longlong *param_1) + +{ + int *piVar1; + int iVar2; + longlong *plVar3; + longlong lVar4; + + lVar4 = *param_1; + plVar3 = *(longlong **)(lVar4 + -0x18); + if (*(int *)(lVar4 + -0x10) != 0) { + if (*(int *)(lVar4 + -8) < 0) { + if (*(int *)(lVar4 + -0xc) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + *(undefined4 *)(lVar4 + -0x10) = 0; + *(undefined2 *)*param_1 = 0; + return; + } + LOCK(); + piVar1 = (int *)(lVar4 + -8); + iVar2 = *piVar1; + *piVar1 = *piVar1 + -1; + UNLOCK(); + if (iVar2 + -1 < 1) { + (**(code **)(**(longlong **)(lVar4 + -0x18) + 8))(); + } + lVar4 = (**(code **)(*plVar3 + 0x18))(plVar3); + *param_1 = lVar4 + 0x18; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002faf0.c b/decomp/Agent_Release_x64/full/functions/0x14002faf0.c new file mode 100644 index 00000000..19c0ba96 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002faf0.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002faf0 FUN_14002faf0 + * Pseudocode, not original source. */ + +undefined8 +FUN_14002faf0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + HANDLE pvVar1; + ulonglong uVar2; + bool bVar3; + undefined4 local_res8 [8]; + undefined8 uVar4; + + uVar4 = 0xfffffffffffffffe; + LOCK(); + bVar3 = DAT_14015bf00 == 0; + if (bVar3) { + DAT_14015bf00 = 1; + } + UNLOCK(); + if (bVar3) { + local_res8[0] = 2; + if ((DAT_14015bee8 & 1) == 0) { + DAT_14015bee8 = DAT_14015bee8 | 1; + FUN_14002f870((undefined8 *)&DAT_14015be80,param_2,param_3,param_4); + } + uVar2 = (ulonglong)DAT_14015bee8; + if (DAT_14015be88 != (code *)0x0) { + if ((DAT_14015bee8 & 1) == 0) { + DAT_14015bee8 = DAT_14015bee8 | 1; + FUN_14002f870((undefined8 *)&DAT_14015be80,param_2,param_3,param_4); + } + pvVar1 = GetProcessHeap(); + uVar2 = (*DAT_14015be88)(pvVar1,0,local_res8,4,uVar4); + } + uVar4 = CONCAT71((int7)(uVar2 >> 8),1); + } + else { + uVar4 = 1; + } + return uVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002fb90.c b/decomp/Agent_Release_x64/full/functions/0x14002fb90.c new file mode 100644 index 00000000..9d147356 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002fb90.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002fb90 FUN_14002fb90 + * Pseudocode, not original source. */ + +bool FUN_14002fb90(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((DAT_14015bee8 & 1) == 0) { + DAT_14015bee8 = DAT_14015bee8 | 1; + FUN_14002f870((undefined8 *)&DAT_14015be80,param_2,param_3,param_4); + } + return DAT_14015bea0 != 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002fbd0.c b/decomp/Agent_Release_x64/full/functions/0x14002fbd0.c new file mode 100644 index 00000000..410040c1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002fbd0.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002fbd0 FUN_14002fbd0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +undefined * FUN_14002fbd0(void) + +{ + bool bVar1; + int iVar2; + char cVar3; + undefined1 auStack_58 [32]; + undefined *local_38; + char local_30; + undefined8 local_28; + CHAR local_20 [8]; + ulonglong local_18; + + local_28 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_58; + local_38 = &DAT_14015bf48; + local_30 = '\0'; + bVar1 = FUN_14002e780((int *)&DAT_14015bf48); + cVar3 = '\0'; + if ((bVar1) && (cVar3 = local_30, DAT_140155000 != '\0')) { + local_30 = '\x01'; + FUN_14002e6e0((int *)&DAT_14015bf48); + cVar3 = '\x01'; + } + if ((DAT_14015bf08 & 1) == 0) { + DAT_14015bf08 = DAT_14015bf08 | 1; + _DAT_14015bf04 = 0; + iVar2 = GetLocaleInfoA(0x800,5,local_20,7); + if (iVar2 != 0) { + _DAT_14015bf04 = atoi(local_20); + } + } + DAT_140155000 = 0; + if (cVar3 != '\0') { + FUN_14002e770(0x14015bf48); + } + return &DAT_14015bf04; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002fcc0.c b/decomp/Agent_Release_x64/full/functions/0x14002fcc0.c new file mode 100644 index 00000000..c840fb927 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002fcc0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002fcc0 FUN_14002fcc0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014002fd19) */ + +undefined8 FUN_14002fcc0(longlong *param_1,HMODULE param_2,uint param_3) + +{ + uint uVar1; + ushort uVar2; + HRSRC pHVar3; + ushort *puVar4; + uint uVar5; + + pHVar3 = FindResourceW(param_2,(LPCWSTR)(ulonglong)(ushort)((short)(param_3 >> 4) + 1), + (LPCWSTR)0x6); + if ((pHVar3 == (HRSRC)0x0) || + (puVar4 = FUN_14002f670(param_2,pHVar3,param_3), puVar4 == (ushort *)0x0)) { + return 0; + } + uVar2 = *puVar4; + uVar5 = (uint)uVar2; + if ((int)(1U - *(int *)(*param_1 + -8) | *(int *)(*param_1 + -0xc) - uVar5) < 0) { + FUN_14000b2c0(param_1,uVar5); + } + FUN_14002f7d0((wchar_t *)*param_1,uVar5,(wchar_t *)(puVar4 + 1),(uint)*puVar4); + uVar1 = *(uint *)(*param_1 + -0xc); + if (uVar2 != uVar1 && (int)uVar1 <= (int)uVar5) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + *(uint *)(*param_1 + -0x10) = (uint)uVar2; + *(undefined2 *)(*param_1 + (ulonglong)uVar2 * 2) = 0; + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002fda0.c b/decomp/Agent_Release_x64/full/functions/0x14002fda0.c new file mode 100644 index 00000000..f0241be7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002fda0.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002fda0 FUN_14002fda0 + * Pseudocode, not original source. */ + +void FUN_14002fda0(longlong *param_1,void *param_2,int param_3) + +{ + uint uVar1; + longlong lVar2; + void *_Dst; + rsize_t _DstSize; + rsize_t _MaxCount; + ulonglong uVar3; + + if (param_3 == 0) { + FUN_14002fa70(param_1); + return; + } + if (param_2 == (void *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + lVar2 = *param_1; + uVar1 = *(uint *)(lVar2 + -0x10); + uVar3 = (longlong)param_2 - lVar2 >> 1; + if (param_3 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if ((int)(1U - *(int *)(lVar2 + -8) | *(int *)(lVar2 + -0xc) - param_3) < 0) { + FUN_14000b2c0(param_1,param_3); + } + _Dst = (void *)*param_1; + _DstSize = (longlong)*(int *)((longlong)_Dst + -0xc) * 2; + _MaxCount = (longlong)param_3 * 2; + if (uVar1 < uVar3) { + memcpy_s(_Dst,_DstSize,param_2,_MaxCount); + } + else { + memmove_s(_Dst,_DstSize,(void *)((longlong)_Dst + uVar3 * 2),_MaxCount); + } + if (param_3 <= *(int *)(*param_1 + -0xc)) { + *(int *)(*param_1 + -0x10) = param_3; + *(undefined2 *)(_MaxCount + *param_1) = 0; + return; + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002fe90.c b/decomp/Agent_Release_x64/full/functions/0x14002fe90.c new file mode 100644 index 00000000..3211e851 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002fe90.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002fe90 FUN_14002fe90 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +longlong * FUN_14002fe90(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + undefined *puVar2; + undefined8 uVar3; + LPWSTR lpBuffer; + undefined1 auStack_258 [32]; + undefined4 local_238; + WCHAR local_228 [264]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_258; + lpBuffer = local_228; + uVar3 = 0x104; + local_238 = 0; + GetCurrentDirectoryW(0x104,lpBuffer); + FUN_140030200(uVar3,lpBuffer,param_3,param_4); + *param_1 = (longlong)PTR_DAT_140155010; + iVar1 = FUN_140030080(local_228); + puVar2 = FUN_140002f90(param_1,iVar1); + FUN_1400300b0(puVar2,local_228,iVar1); + FUN_140003070(param_1); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002ff30.c b/decomp/Agent_Release_x64/full/functions/0x14002ff30.c new file mode 100644 index 00000000..8581fa21 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002ff30.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002ff30 FUN_14002ff30 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +longlong * FUN_14002ff30(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + undefined *puVar2; + undefined8 uVar3; + LPWSTR lpFilename; + undefined8 uVar4; + undefined1 auStack_258 [32]; + undefined4 local_238; + WCHAR local_228 [264]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_258; + lpFilename = local_228; + uVar4 = 0x104; + uVar3 = 0; + local_238 = 0; + GetModuleFileNameW((HMODULE)0x0,lpFilename,0x104); + FUN_140030200(uVar3,lpFilename,uVar4,param_4); + *param_1 = (longlong)PTR_DAT_140155010; + iVar1 = FUN_140030080(local_228); + puVar2 = FUN_140002f90(param_1,iVar1); + FUN_1400300b0(puVar2,local_228,iVar1); + FUN_140003070(param_1); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14002ffd0.c b/decomp/Agent_Release_x64/full/functions/0x14002ffd0.c new file mode 100644 index 00000000..6e3be7dd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14002ffd0.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14002ffd0 FUN_14002ffd0 + * Pseudocode, not original source. */ + +longlong * FUN_14002ffd0(longlong *param_1,short *param_2) + +{ + short sVar1; + longlong lVar2; + HMODULE pHVar3; + uint uVar4; + int iVar5; + short *psVar6; + + lVar2 = (**(code **)(PTR_PTR_140155508 + 0x18))(); + *param_1 = lVar2 + 0x18; + if (param_2 == (short *)0x0) { + iVar5 = 0; + } + else { + if (((ulonglong)param_2 & 0xffffffffffff0000) == 0) { + uVar4 = (uint)param_2 & 0xffff; + pHVar3 = FUN_14002f710(uVar4,0); + if (pHVar3 == (HMODULE)0x0) { + return param_1; + } + FUN_14002fcc0(param_1,pHVar3,uVar4); + return param_1; + } + lVar2 = -1; + psVar6 = param_2; + do { + if (lVar2 == 0) break; + lVar2 = lVar2 + -1; + sVar1 = *psVar6; + psVar6 = psVar6 + 1; + } while (sVar1 != 0); + iVar5 = ~(uint)lVar2 - 1; + } + FUN_14002fda0(param_1,param_2,iVar5); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030080.c b/decomp/Agent_Release_x64/full/functions/0x140030080.c new file mode 100644 index 00000000..90287f79 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030080.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030080 FUN_140030080 + * Pseudocode, not original source. */ + +int FUN_140030080(short *param_1) + +{ + short sVar1; + longlong lVar2; + + if (param_1 == (short *)0x0) { + return 0; + } + lVar2 = -1; + do { + if (lVar2 == 0) break; + lVar2 = lVar2 + -1; + sVar1 = *param_1; + param_1 = param_1 + 1; + } while (sVar1 != 0); + return ~(uint)lVar2 - 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400300b0.c b/decomp/Agent_Release_x64/full/functions/0x1400300b0.c new file mode 100644 index 00000000..1f41e7dd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400300b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400300b0 FUN_1400300b0 + * Pseudocode, not original source. */ + +void FUN_1400300b0(void *param_1,void *param_2,int param_3) + +{ + memcpy(param_1,param_2,(longlong)(param_3 + 1) * 2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400300c0.c b/decomp/Agent_Release_x64/full/functions/0x1400300c0.c new file mode 100644 index 00000000..86e20e62 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400300c0.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400300c0 FUN_1400300c0 + * Pseudocode, not original source. */ + +int FUN_1400300c0(ushort *param_1,longlong param_2) + +{ + ushort uVar1; + ushort uVar2; + uint uVar3; + longlong lVar4; + + lVar4 = param_2 - (longlong)param_1; + do { + uVar1 = *param_1; + uVar2 = *(ushort *)((longlong)param_1 + lVar4); + if (uVar1 != uVar2) { + uVar3 = (uint)(uVar1 < uVar2); + return (1 - uVar3) - (uint)(uVar3 != 0); + } + param_1 = param_1 + 1; + } while (uVar1 != 0); + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030100.c b/decomp/Agent_Release_x64/full/functions/0x140030100.c new file mode 100644 index 00000000..c8310cf9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030100.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030100 FUN_140030100 + * Pseudocode, not original source. */ + +longlong FUN_140030100(longlong param_1) + +{ + return param_1 + 2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030120.c b/decomp/Agent_Release_x64/full/functions/0x140030120.c new file mode 100644 index 00000000..6b408852 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030120.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030120 FUN_140030120 + * Pseudocode, not original source. */ + +int FUN_140030120(char *param_1) + +{ + char cVar1; + longlong lVar2; + + if (param_1 == (char *)0x0) { + return 0; + } + lVar2 = -1; + do { + if (lVar2 == 0) break; + lVar2 = lVar2 + -1; + cVar1 = *param_1; + param_1 = param_1 + 1; + } while (cVar1 != '\0'); + return ~(uint)lVar2 - 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030150.c b/decomp/Agent_Release_x64/full/functions/0x140030150.c new file mode 100644 index 00000000..ddf69173 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030150.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030150 FUN_140030150 + * Pseudocode, not original source. */ + +void FUN_140030150(void *param_1,void *param_2,int param_3) + +{ + memcpy(param_1,param_2,(longlong)param_3); + *(undefined1 *)((longlong)param_3 + (longlong)param_1) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030180.c b/decomp/Agent_Release_x64/full/functions/0x140030180.c new file mode 100644 index 00000000..f44c85b4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030180.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030180 FUN_140030180 + * Pseudocode, not original source. */ + +int FUN_140030180(byte *param_1,longlong param_2) + +{ + byte bVar1; + uint uVar2; + longlong lVar3; + + lVar3 = param_2 - (longlong)param_1; + do { + bVar1 = *param_1; + if (bVar1 != param_1[lVar3]) { + uVar2 = (uint)(bVar1 < param_1[lVar3]); + return (1 - uVar2) - (uint)(uVar2 != 0); + } + param_1 = param_1 + 1; + } while (bVar1 != 0); + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400301b0.c b/decomp/Agent_Release_x64/full/functions/0x1400301b0.c new file mode 100644 index 00000000..ef76b84f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400301b0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400301b0 FUN_1400301b0 + * Pseudocode, not original source. */ + +char * FUN_1400301b0(char *param_1,size_t param_2) + +{ + errno_t eVar1; + char *pcVar2; + + eVar1 = _strupr_s(param_1,param_2); + pcVar2 = (char *)0x0; + if (eVar1 == 0) { + pcVar2 = param_1; + } + return pcVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400301f0.c b/decomp/Agent_Release_x64/full/functions/0x1400301f0.c new file mode 100644 index 00000000..00a6a452 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400301f0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400301f0 FUN_1400301f0 + * Pseudocode, not original source. */ + +void FUN_1400301f0(char param_1) + +{ + /* WARNING: Could not recover jumptable at 0x0001400301f3. Too many branches */ + /* WARNING: Treating indirect jump as call */ + _ismbcspace((int)param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030200.c b/decomp/Agent_Release_x64/full/functions/0x140030200.c new file mode 100644 index 00000000..73426d37 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030200.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030200 FUN_140030200 + * Pseudocode, not original source. */ + +undefined * +FUN_140030200(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined7 uVar2; + + uVar2 = (undefined7)((ulonglong)param_3 >> 8); + if ((DAT_14015bfb8 & 1) == 0) { + DAT_14015bfb8 = DAT_14015bfb8 | 1; + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015bf80,uVar1 & 0xffffffff,CONCAT71(uVar2,1),param_4); + atexit((_func_5014 *)&LAB_1400f14f0); + } + DAT_14015bfb0 = 1; + return &DAT_14015bf80; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030260.c b/decomp/Agent_Release_x64/full/functions/0x140030260.c new file mode 100644 index 00000000..4fd68760 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030260.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030260 FUN_140030260 + * Pseudocode, not original source. */ + +undefined8 * FUN_140030260(undefined8 *param_1) + +{ + *param_1 = Proud::CFastHeap::vftable; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030270.c b/decomp/Agent_Release_x64/full/functions/0x140030270.c new file mode 100644 index 00000000..f1c5c934 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030270.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030270 FUN_140030270 + * Pseudocode, not original source. */ + +void FUN_140030270(undefined8 *param_1) + +{ + *param_1 = Proud::CFastHeap::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030280.c b/decomp/Agent_Release_x64/full/functions/0x140030280.c new file mode 100644 index 00000000..3fc9f22b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030280.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030280 FUN_140030280 + * Pseudocode, not original source. */ + +void FUN_140030280(SIZE_T param_1) + +{ + HANDLE hHeap; + SIZE_T dwBytes; + + dwBytes = 1; + if (param_1 != 0) { + dwBytes = param_1; + } + hHeap = GetProcessHeap(); + /* WARNING: Could not recover jumptable at 0x0001400302a5. Too many branches */ + /* WARNING: Treating indirect jump as call */ + HeapAlloc(hHeap,0,dwBytes); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400302b0.c b/decomp/Agent_Release_x64/full/functions/0x1400302b0.c new file mode 100644 index 00000000..292c1457 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400302b0.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400302b0 FUN_1400302b0 + * Pseudocode, not original source. */ + +void FUN_1400302b0(undefined8 param_1,longlong param_2) + +{ + HANDLE pvVar1; + longlong lVar2; + + lVar2 = 1; + if (param_2 != 0) { + lVar2 = param_2; + } + pvVar1 = GetProcessHeap(); + /* WARNING: Could not recover jumptable at 0x0001400302e4. Too many branches */ + /* WARNING: Treating indirect jump as call */ + HeapReAlloc(pvVar1,0,param_1,lVar2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400302f0.c b/decomp/Agent_Release_x64/full/functions/0x1400302f0.c new file mode 100644 index 00000000..4761eb3a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400302f0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400302f0 FUN_1400302f0 + * Pseudocode, not original source. */ + +void FUN_1400302f0(LPVOID param_1) + +{ + HANDLE hHeap; + + hHeap = GetProcessHeap(); + /* WARNING: Could not recover jumptable at 0x00014003030c. Too many branches */ + /* WARNING: Treating indirect jump as call */ + HeapFree(hHeap,0,param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030320.c b/decomp/Agent_Release_x64/full/functions/0x140030320.c new file mode 100644 index 00000000..976b11d1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030320.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030320 FUN_140030320 + * Pseudocode, not original source. */ + +undefined8 * FUN_140030320(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::CFastHeap::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030350.c b/decomp/Agent_Release_x64/full/functions/0x140030350.c new file mode 100644 index 00000000..05d900d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030350.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030350 FUN_140030350 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140030350(ulonglong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + HANDLE hHeap; + undefined8 *puVar1; + + hHeap = GetProcessHeap(); + puVar1 = HeapAlloc(hHeap,0,0x80); + if (puVar1 == (undefined8 *)0x0) { + puVar1 = (undefined8 *)0x0; + } + else { + puVar1 = FUN_140030c00(puVar1,param_1,param_2,param_4); + } + return puVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400303b0.c b/decomp/Agent_Release_x64/full/functions/0x1400303b0.c new file mode 100644 index 00000000..6e59ecb6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400303b0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400303b0 FUN_1400303b0 + * Pseudocode, not original source. */ + +double FUN_1400303b0(void) + +{ + return (double)DAT_140155098 * DAT_140155090; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400303d0.c b/decomp/Agent_Release_x64/full/functions/0x1400303d0.c new file mode 100644 index 00000000..77a6a58b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400303d0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400303d0 FUN_1400303d0 + * Pseudocode, not original source. */ + +undefined * FUN_1400303d0(void) + +{ + return &DAT_14015bfd0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400303e0.c b/decomp/Agent_Release_x64/full/functions/0x1400303e0.c new file mode 100644 index 00000000..c8124c36 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400303e0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400303e0 FUN_1400303e0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400303e0(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::CMemoryHeap::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030410.c b/decomp/Agent_Release_x64/full/functions/0x140030410.c new file mode 100644 index 00000000..38764452 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030410.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030410 FUN_140030410 + * Pseudocode, not original source. */ + +void FUN_140030410(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + longlong lVar2; + + *param_1 = Proud::CFastHeapImpl::vftable; + lVar2 = 0; + do { + puVar1 = *(undefined8 **)(lVar2 + param_1[0xd]); + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + lVar2 = lVar2 + 8; + } while (lVar2 < 0x400); + free((void *)param_1[0xd]); + *(undefined4 *)(param_1 + 8) = 3; + FUN_140030270(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030490.c b/decomp/Agent_Release_x64/full/functions/0x140030490.c new file mode 100644 index 00000000..53bdf5aa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030490.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030490 FUN_140030490 + * Pseudocode, not original source. */ + +void FUN_140030490(longlong param_1) + +{ + int iVar1; + longlong lVar2; + + lVar2 = 0; + do { + iVar1 = (**(code **)(**(longlong **)(lVar2 + *(longlong *)(param_1 + 0x68)) + 0x18))(); + if (iVar1 != -2) { + return; + } + lVar2 = lVar2 + 8; + } while (lVar2 < 0x400); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400304d0.c b/decomp/Agent_Release_x64/full/functions/0x1400304d0.c new file mode 100644 index 00000000..95db6a39 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400304d0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400304d0 FUN_1400304d0 + * Pseudocode, not original source. */ + +void FUN_1400304d0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + exception local_58 [88]; + + if (*(short *)(param_1 + -0x10) != 0x71a) { + FUN_14002f1e0(local_58,L"Not a fastheap allocated block!",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030510.c b/decomp/Agent_Release_x64/full/functions/0x140030510.c new file mode 100644 index 00000000..ddd40411 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030510.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030510 FUN_140030510 + * Pseudocode, not original source. */ + +void FUN_140030510(longlong param_1,SIZE_T param_2) + +{ + SIZE_T dwBytes; + + dwBytes = 1; + if (param_2 != 0) { + dwBytes = param_2; + } + /* WARNING: Could not recover jumptable at 0x000140030523. Too many branches */ + /* WARNING: Treating indirect jump as call */ + HeapAlloc(*(HANDLE *)(param_1 + 8),0,dwBytes); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030530.c b/decomp/Agent_Release_x64/full/functions/0x140030530.c new file mode 100644 index 00000000..103899f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030530.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030530 FUN_140030530 + * Pseudocode, not original source. */ + +void FUN_140030530(longlong param_1,undefined8 param_2,longlong param_3) + +{ + longlong lVar1; + + lVar1 = 1; + if (param_3 != 0) { + lVar1 = param_3; + } + /* WARNING: Could not recover jumptable at 0x000140030546. Too many branches */ + /* WARNING: Treating indirect jump as call */ + HeapReAlloc(*(undefined8 *)(param_1 + 8),0,param_2,lVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030550.c b/decomp/Agent_Release_x64/full/functions/0x140030550.c new file mode 100644 index 00000000..24cb6ffd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030550.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030550 FUN_140030550 + * Pseudocode, not original source. */ + +void FUN_140030550(longlong param_1,LPVOID param_2) + +{ + if (*(HANDLE *)(param_1 + 8) == (HANDLE)0x0) { + FUN_14002fa10( + L"CMemoryHeap.Free(): Attempt Free after Heap destruction! Doing Free before WinMain returns in highly recommended. Refer the manual for the resolution." + ); + return; + } + /* WARNING: Could not recover jumptable at 0x00014003056a. Too many branches */ + /* WARNING: Treating indirect jump as call */ + HeapFree(*(HANDLE *)(param_1 + 8),0,param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030580.c b/decomp/Agent_Release_x64/full/functions/0x140030580.c new file mode 100644 index 00000000..57592d39 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030580.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030580 FUN_140030580 + * Pseudocode, not original source. */ + +undefined8 FUN_140030580(longlong param_1) + +{ + HeapValidate(*(HANDLE *)(param_1 + 8),0,(LPCVOID)0x0); + return 0xfffffffe; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400305a0.c b/decomp/Agent_Release_x64/full/functions/0x1400305a0.c new file mode 100644 index 00000000..c1fb3b33 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400305a0.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400305a0 FUN_1400305a0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400305a0(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CMemoryHeapImpl::vftable; + if (*(char *)(param_1 + 2) != '\0') { + HeapDestroy((HANDLE)param_1[1]); + param_1[1] = 0; + } + *param_1 = Proud::CMemoryHeap::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030600.c b/decomp/Agent_Release_x64/full/functions/0x140030600.c new file mode 100644 index 00000000..00795ee1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030600.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030600 FUN_140030600 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140030600(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140030410(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + FUN_1400302f0(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030630.c b/decomp/Agent_Release_x64/full/functions/0x140030630.c new file mode 100644 index 00000000..63172336 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030630.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030630 FUN_140030630 + * Pseudocode, not original source. */ + +undefined8 FUN_140030630(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined1 auVar1 [16]; + undefined1 auVar2 [16]; + ulonglong uVar3; + ulonglong uVar4; + + if (param_2 != 0) { + uVar4 = *(ulonglong *)(param_1 + 0x60) >> 7; + auVar1._8_8_ = 0; + auVar1._0_8_ = uVar4; + auVar2._8_8_ = 0; + auVar2._0_8_ = param_2 - 1U; + uVar3 = SUB168(auVar2 / auVar1,0); + if (0xffffffff < uVar3) { + /* WARNING: Subroutine does not return */ + FUN_14002f5f0(L"Proud::CFastHeapImpl::GetAllocByGroundSize",(param_2 - 1U) % uVar4,param_1, + param_4); + } + if (uVar3 < 0x80) { + return *(undefined8 *) + (*(longlong *)(param_1 + 0x68) + (longlong)SUB164(auVar2 / auVar1,0) * 8); + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030690.c b/decomp/Agent_Release_x64/full/functions/0x140030690.c new file mode 100644 index 00000000..6dcba214 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030690.c @@ -0,0 +1,60 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030690 FUN_140030690 + * Pseudocode, not original source. */ + +undefined2 * FUN_140030690(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + undefined1 auVar2 [16]; + undefined1 auVar3 [16]; + ulonglong uVar4; + undefined2 *puVar5; + ulonglong uVar6; + longlong lVar7; + exception local_58 [80]; + + if (param_2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (*(int *)(param_1 + 0x40) != 2) { + FUN_14002fa10(L"CFastHeapImpl.Alloc() is called after the allocator is already disposed!"); + return (undefined2 *)0x0; + } + uVar6 = *(ulonglong *)(param_1 + 0x60) >> 7; + lVar7 = ((param_2 - 1U) / uVar6 + 1) * uVar6; + if (lVar7 != 0) { + auVar2._8_8_ = 0; + auVar2._0_8_ = uVar6; + auVar3._8_8_ = 0; + auVar3._0_8_ = lVar7 - 1U; + uVar4 = SUB168(auVar3 / auVar2,0); + if (0xffffffff < uVar4) { + /* WARNING: Subroutine does not return */ + FUN_14002f5f0(L"Proud::CFastHeapImpl::GetAllocByGroundSize",(lVar7 - 1U) % uVar6,param_1, + param_4); + } + if ((uVar4 < 0x80) && + (plVar1 = *(longlong **) + (*(longlong *)(param_1 + 0x68) + (longlong)SUB164(auVar3 / auVar2,0) * 8), + plVar1 != (longlong *)0x0)) { + puVar5 = (undefined2 *)(**(code **)(*plVar1 + 8))(plVar1,lVar7 + 0x10); + goto LAB_140030722; + } + } + puVar5 = (undefined2 *) + (**(code **)**(undefined8 **)(param_1 + 0x48)) + (*(undefined8 **)(param_1 + 0x48),lVar7 + 0x10); + if (puVar5 == (undefined2 *)0x0) { + FUN_14002f1e0(local_58,L"CRT malloc returned NULL at %s!",L"Proud::CFastHeapImpl::Alloc",param_4 + ); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } +LAB_140030722: + *(longlong *)(puVar5 + 4) = lVar7; + *puVar5 = 0x71a; + return puVar5 + 8; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030780.c b/decomp/Agent_Release_x64/full/functions/0x140030780.c new file mode 100644 index 00000000..96c7dd7d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030780.c @@ -0,0 +1,102 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030780 FUN_140030780 + * Pseudocode, not original source. */ + +short * FUN_140030780(longlong *param_1,longlong param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined1 auVar1 [16]; + undefined1 auVar2 [16]; + ulonglong uVar3; + ulonglong uVar4; + longlong *plVar5; + short *psVar6; + short *psVar7; + longlong lVar8; + ulonglong uVar9; + longlong *plVar10; + ulonglong uVar11; + exception local_68 [80]; + + if ((int)param_1[8] != 2) { + FUN_14002fa10(L"CFastHeapImpl::Realloc() is called after the allocator is already disposed!"); + return (short *)0x0; + } + if (param_3 == 0) { + (**(code **)(*param_1 + 0x18))(); + return (short *)0x0; + } + if ((param_2 == 0) || (psVar6 = (short *)(param_2 + -0x10), *psVar6 != 0x71a)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar9 = (ulonglong)param_1[0xc] >> 7; + uVar11 = ((param_3 - 1) / uVar9 + 1) * uVar9; + if (*(longlong *)(param_2 + -8) == 0) { +LAB_140030848: + plVar10 = (longlong *)0x0; + } + else { + uVar3 = *(longlong *)(param_2 + -8) - 1; + auVar1._8_8_ = 0; + auVar1._0_8_ = uVar9; + auVar2._8_8_ = 0; + auVar2._0_8_ = uVar3; + uVar4 = SUB168(auVar2 / auVar1,0); + if (0xffffffff < uVar4) { + /* WARNING: Subroutine does not return */ + FUN_14002f5f0(L"Proud::CFastHeapImpl::GetAllocByGroundSize",uVar3 % uVar9,param_3,param_4); + } + if (0x7f < uVar4) goto LAB_140030848; + plVar10 = *(longlong **)(param_1[0xd] + (longlong)SUB164(auVar2 / auVar1,0) * 8); + } + plVar5 = (longlong *)FUN_140030630((longlong)param_1,uVar11,param_3,param_4); + if (plVar10 == (longlong *)0x0) { + if (plVar5 == (longlong *)0x0) { + psVar6 = (short *)(**(code **)(*(longlong *)param_1[9] + 8)) + ((longlong *)param_1[9],psVar6,param_3 + 0x10); + *(ulonglong *)(psVar6 + 4) = uVar11; + goto LAB_14003095d; + } + psVar7 = (short *)(**(code **)(*plVar5 + 8))(plVar5,uVar11 + 0x10); + uVar9 = uVar11; + if (*(ulonglong *)(param_2 + -8) < uVar11) { + uVar9 = *(ulonglong *)(param_2 + -8); + } + FUN_14001bd30((undefined8 *)psVar7,(undefined8 *)psVar6,uVar9 + 0x10); + *(ulonglong *)(psVar7 + 4) = uVar11; + plVar10 = (longlong *)param_1[9]; + lVar8 = *plVar10; + } + else { + if (plVar5 == (longlong *)0x0) { + psVar7 = (short *)(*(code *)**(undefined8 **)param_1[9]) + ((undefined8 *)param_1[9],param_3 + 0x10); + if (psVar7 == (short *)0x0) { + FUN_14002f1e0(local_68,L"CRT malloc returned NULL at %s!",L"Proud::CFastHeapImpl::Realloc", + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_68,(ThrowInfo *)&DAT_140151b88); + } + if (*(ulonglong *)(param_2 + -8) < param_3) { + param_3 = *(ulonglong *)(param_2 + -8); + } + } + else { + if (plVar10 == plVar5) goto LAB_14003095d; + psVar7 = (short *)(**(code **)(*plVar5 + 8))(plVar5,uVar11 + 0x10); + param_3 = uVar11; + if (*(ulonglong *)(param_2 + -8) < uVar11) { + param_3 = *(ulonglong *)(param_2 + -8); + } + } + FUN_14001bd30((undefined8 *)psVar7,(undefined8 *)psVar6,param_3 + 0x10); + *(ulonglong *)(psVar7 + 4) = uVar11; + lVar8 = *plVar10; + } + (**(code **)(lVar8 + 0x10))(plVar10,psVar6); + psVar6 = psVar7; +LAB_14003095d: + return psVar6 + 8; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030990.c b/decomp/Agent_Release_x64/full/functions/0x140030990.c new file mode 100644 index 00000000..4ec13239 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030990.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030990 FUN_140030990 + * Pseudocode, not original source. */ + +void FUN_140030990(longlong param_1,longlong param_2,short *param_3) + +{ + undefined1 auVar1 [16]; + undefined1 auVar2 [16]; + ulonglong uVar3; + ulonglong uVar4; + ulonglong uVar5; + longlong *plVar6; + exception local_58 [88]; + + if (*(int *)(param_1 + 0x40) != 2) { + FUN_14002fa10( + L"CFastHeap.Free(): Attempt Free after Heap destruction! Doing Free before WinMain returns in highly recommended. Refer the manual for the resolution." + ); + return; + } + if ((param_2 == 0) || (param_3 = (short *)(param_2 + -0x10), *param_3 != 0x71a)) { + FUN_14002f1e0(local_58, + L"Not CFastHeap-allocated block! Refer to ProudNet help \'ProudNet Technical Note\' for more help." + ,param_3,param_1); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_3 = 0xb0c; + if (*(longlong *)(param_2 + -8) != 0) { + uVar5 = *(ulonglong *)(param_1 + 0x60) >> 7; + uVar3 = *(longlong *)(param_2 + -8) - 1; + auVar1._8_8_ = 0; + auVar1._0_8_ = uVar5; + auVar2._8_8_ = 0; + auVar2._0_8_ = uVar3; + uVar4 = SUB168(auVar2 / auVar1,0); + if (0xffffffff < uVar4) { + /* WARNING: Subroutine does not return */ + FUN_14002f5f0(L"Proud::CFastHeapImpl::GetAllocByGroundSize",uVar3 % uVar5,param_3,param_1); + } + if ((uVar4 < 0x80) && + (plVar6 = *(longlong **) + (*(longlong *)(param_1 + 0x68) + (longlong)SUB164(auVar2 / auVar1,0) * 8), + plVar6 != (longlong *)0x0)) goto LAB_140030a18; + } + plVar6 = *(longlong **)(param_1 + 0x48); +LAB_140030a18: + /* WARNING: Could not recover jumptable at 0x000140030a22. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*plVar6 + 0x10))(plVar6,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030a50.c b/decomp/Agent_Release_x64/full/functions/0x140030a50.c new file mode 100644 index 00000000..868b3410 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030a50.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030a50 FUN_140030a50 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140030a50(undefined1 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + undefined8 *puVar2; + HANDLE pvVar3; + undefined *puVar4; + undefined **ppuVar5; + wchar_t *pwVar6; + ulonglong uVar7; + undefined4 local_res8 [2]; + undefined *local_res10; + + puVar2 = operator_new(0x18); + if (puVar2 == (undefined8 *)0x0) { + puVar2 = (undefined8 *)0x0; + } + else { + *puVar2 = Proud::CMemoryHeapImpl::vftable; + } + pwVar6 = (wchar_t *)0x0; + uVar7 = 0; + ppuVar5 = (undefined **)0x4; + pvVar3 = HeapCreate(4,0,0); + puVar2[1] = pvVar3; + if (pvVar3 == (HANDLE)0x0) { + FUN_140030200(ppuVar5,pwVar6,uVar7,param_4); + local_res10 = PTR_DAT_140155010; + uVar1 = FUN_140030080(L"FATAL: HeapCreate failed!"); + puVar4 = FUN_140002f90((longlong *)&local_res10,uVar1); + pwVar6 = L"FATAL: HeapCreate failed!"; + uVar7 = (ulonglong)uVar1; + FUN_1400300b0(puVar4,L"FATAL: HeapCreate failed!",uVar1); + FUN_140003070((longlong *)&local_res10); + ppuVar5 = &local_res10; + FUN_140033120((longlong *)ppuVar5,pwVar6,uVar7,param_4); + } + local_res8[0] = 2; + puVar4 = FUN_14002f9c0(ppuVar5,pwVar6,uVar7,param_4); + if (*(longlong *)(puVar4 + 8) != 0) { + puVar4 = FUN_14002f9c0(ppuVar5,pwVar6,uVar7,param_4); + (**(code **)(puVar4 + 8))(puVar2[1],0,local_res8,4); + } + *(undefined1 *)(puVar2 + 2) = param_1; + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030b30.c b/decomp/Agent_Release_x64/full/functions/0x140030b30.c new file mode 100644 index 00000000..b2b7fe10 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030b30.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030b30 FUN_140030b30 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140030b30(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + bool bVar1; + bool bVar2; + + bVar1 = false; + bVar2 = FUN_14002e780((int *)&DAT_14015c030); + if (bVar2) { + if (DAT_140155280 == '\0') { + bVar1 = false; + } + else { + bVar1 = true; + FUN_14002e6e0((int *)&DAT_14015c030); + } + } + if ((DAT_14015c028 & 1) == 0) { + DAT_14015c028 = DAT_14015c028 | 1; + DAT_14015c020 = FUN_140030a50(1,param_2,param_3,param_4); + atexit(FUN_1400f1510); + } + DAT_140155280 = 0; + if (bVar1) { + FUN_14002e770(0x14015c030); + } + return &DAT_14015c020; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030be0.c b/decomp/Agent_Release_x64/full/functions/0x140030be0.c new file mode 100644 index 00000000..9a13f739 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030be0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030be0 FUN_140030be0 + * Pseudocode, not original source. */ + +undefined8 +FUN_140030be0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + + puVar1 = FUN_140030b30(param_1,param_2,param_3,param_4); + return *puVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030c00.c b/decomp/Agent_Release_x64/full/functions/0x140030c00.c new file mode 100644 index 00000000..9e4bed8e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030c00.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030c00 FUN_140030c00 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140030c00(undefined8 *param_1,ulonglong param_2,longlong *param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + void *pvVar2; + ulonglong uVar3; + longlong lVar4; + longlong *plVar5; + exception local_a0 [72]; + exception local_58 [80]; + + uVar3 = param_2; + plVar5 = param_3; + FUN_140030260(param_1); + *param_1 = Proud::CFastHeapImpl::vftable; + puVar1 = param_1 + 9; + FUN_140033200(puVar1); + FUN_140030b30(puVar1,uVar3,plVar5,param_4); + if (param_2 < 0x80) { + FUN_14002f1e0(local_a0,L"bad AccelBlockSizeLimit value",plVar5,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_a0,(ThrowInfo *)&DAT_140151b88); + } + if (param_1[9] == 0) { + puVar1 = FUN_140030b30(puVar1,uVar3,plVar5,param_4); + param_1[9] = *puVar1; + } + param_1[0xc] = param_2; + pvVar2 = malloc(0x400); + param_1[0xd] = pvVar2; + if (pvVar2 == (void *)0x0) { + FUN_14002f1e0(local_58,L"Cannot allocate FastHeap buckets! FATAL!",plVar5,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + lVar4 = 0; + do { + puVar1 = FUN_140033170(param_3,uVar3,plVar5,param_4); + *(undefined8 **)(lVar4 + param_1[0xd]) = puVar1; + lVar4 = lVar4 + 8; + } while (lVar4 < 0x400); + *(undefined4 *)(param_1 + 8) = 2; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030d10.c b/decomp/Agent_Release_x64/full/functions/0x140030d10.c new file mode 100644 index 00000000..926a09f6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030d10.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030d10 FUN_140030d10 + * Pseudocode, not original source. */ + +void FUN_140030d10(char *param_1,size_t param_2) + +{ + errno_t eVar1; + + eVar1 = _strlwr_s(param_1,param_2); + if (eVar1 != 0) { + if (eVar1 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar1 == 0x16) || (eVar1 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar1 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030d60.c b/decomp/Agent_Release_x64/full/functions/0x140030d60.c new file mode 100644 index 00000000..ece8f3f6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030d60.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030d60 FUN_140030d60 + * Pseudocode, not original source. */ + +void FUN_140030d60(ulong param_1,char *param_2,size_t param_3,int param_4) + +{ + errno_t eVar1; + + eVar1 = _ultoa_s(param_1,param_2,param_3,param_4); + if (eVar1 != 0) { + if (eVar1 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar1 == 0x16) || (eVar1 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar1 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030db0.c b/decomp/Agent_Release_x64/full/functions/0x140030db0.c new file mode 100644 index 00000000..1d09bef6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030db0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030db0 FUN_140030db0 + * Pseudocode, not original source. */ + +void FUN_140030db0(undefined8 *param_1) + +{ + *param_1 = Proud::IFastSocketDelegate::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030dc0.c b/decomp/Agent_Release_x64/full/functions/0x140030dc0.c new file mode 100644 index 00000000..70eea927 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030dc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030dc0 FUN_140030dc0 + * Pseudocode, not original source. */ + +void FUN_140030dc0(LPCWSTR param_1,int param_2,LPSTR param_3,int param_4) + +{ + WideCharToMultiByte(0xfde9,0,param_1,param_2,param_3,param_4,(LPCSTR)0x0,(LPBOOL)0x0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030e00.c b/decomp/Agent_Release_x64/full/functions/0x140030e00.c new file mode 100644 index 00000000..701ad60e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030e00.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030e00 FUN_140030e00 + * Pseudocode, not original source. */ + +undefined8 FUN_140030e00(byte param_1) + +{ + switch(param_1) { + case 0x20: + case 0x22: + case 0x23: + case 0x24: + case 0x25: + case 0x26: + case 0x2b: + case 0x2c: + case 0x3b: + case 0x3c: + case 0x3d: + case 0x3e: + case 0x3f: + case 0x40: + case 0x5b: + case 0x5c: + case 0x5d: + case 0x5e: + case 0x60: + case 0x7b: + case 0x7c: + case 0x7d: + break; + default: + if ((0x1f < param_1) && (param_1 < 0x7f)) { + return 0; + } + } + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030eb0.c b/decomp/Agent_Release_x64/full/functions/0x140030eb0.c new file mode 100644 index 00000000..567d1fea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030eb0.c @@ -0,0 +1,81 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030eb0 FUN_140030eb0 + * Pseudocode, not original source. */ + +undefined8 +FUN_140030eb0(longlong *param_1,char *param_2,uint param_3,undefined8 *param_4,uint *param_5, + uint param_6,int param_7) + +{ + char cVar1; + longlong lVar2; + uint uVar3; + char *pcVar4; + longlong lVar5; + uint uVar6; + uint uVar7; + char *pcVar8; + longlong lVar9; + undefined8 uVar10; + + if (param_1 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if (param_2 == (char *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if (param_4 == (undefined8 *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if (param_5 == (uint *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + lVar9 = *param_1; + pcVar8 = (char *)*param_4; + uVar10 = 0; + if ((*param_2 != '/') && (*param_2 != '\\')) goto LAB_140030fb9; + cVar1 = *pcVar8; + if ((cVar1 == '/') || (cVar1 == '\\')) { + pcVar4 = pcVar8 + 1; + } + else { + if ((cVar1 != '.') || + (((cVar1 = pcVar8[1], cVar1 != '/' && (cVar1 != '\\')) && (cVar1 != '\0')))) + goto LAB_140030fb9; + lVar9 = lVar9 + -1; + uVar7 = 0; + lVar5 = lVar9; + uVar6 = param_3 - 1; + do { + uVar3 = uVar6; + lVar2 = lVar5; + if (uVar3 == 0) goto LAB_140030fa0; + uVar7 = uVar3 - 1; + } while ((*(char *)(lVar2 + -1) != '/') && + (lVar5 = lVar2 + -1, uVar6 = uVar7, *(char *)(lVar2 + -1) != '\\')); + if (((-1 < (char)param_6) || (((param_6 >> 8 & 1) != 0 || (param_7 == 0)))) || + (param_7 + 1U < uVar7)) { + uVar10 = 1; + lVar9 = lVar2; + param_3 = uVar3; + } +LAB_140030fa0: + pcVar4 = pcVar8 + 2; + if (param_3 != uVar7 + 1) { + lVar9 = lVar9 + 1; + goto LAB_140030fb9; + } + } + pcVar8 = pcVar4; + uVar10 = 1; +LAB_140030fb9: + *param_1 = lVar9; + *param_4 = pcVar8; + *param_5 = param_3; + return uVar10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140030fe0.c b/decomp/Agent_Release_x64/full/functions/0x140030fe0.c new file mode 100644 index 00000000..ff2f1395 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140030fe0.c @@ -0,0 +1,202 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140030fe0 FUN_140030fe0 + * Pseudocode, not original source. */ + +int FUN_140030fe0(byte *param_1,byte *param_2,int *param_3,uint param_4,uint param_5) + +{ + short sVar1; + int iVar2; + undefined8 uVar3; + byte *pbVar4; + byte bVar5; + short sVar6; + uint uVar7; + size_t _MaxCount; + uint uVar8; + size_t sVar9; + byte *pbVar10; + int iVar11; + size_t sVar12; + byte *local_res8; + byte *local_res10; + int *local_res18; + uint local_58; + uint local_54; + byte *local_50; + byte *local_48; + + local_res10 = param_2; + local_res18 = param_3; + if (param_1 == (byte *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if (param_2 == (byte *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if (param_1 == param_2) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + _MaxCount = 0; + bVar5 = *param_1; + local_50 = param_2 + param_4; + uVar7 = 0; + local_58 = 0; + iVar2 = 1; + iVar11 = 1; + local_54 = 0; + sVar9 = _MaxCount; + sVar12 = _MaxCount; + local_48 = param_2; + if (bVar5 != 0) { + do { + uVar8 = (uint)sVar9; + pbVar10 = param_1 + 1; + uVar7 = (uint)_MaxCount; + iVar2 = 0; + if (uVar7 == param_4) { + iVar11 = iVar2; + } + local_res8 = pbVar10; + if (bVar5 == 0x3a) { + if ((char)param_5 < '\0') { + if ((int)sVar12 == 0) { + if (iVar11 != 0) { + *param_2 = (byte)sVar12; + pbVar4 = param_2 + -_MaxCount; + if ((pbVar4 < local_48) || (local_50 < pbVar4)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + FUN_140030d10((char *)pbVar4,(size_t)(local_50 + (1 - (longlong)pbVar4))); + uVar8 = local_54; + if (uVar7 == 4) { + iVar2 = strncmp("file",(char *)(param_2 + -4),_MaxCount); + sVar12 = 5; + uVar8 = local_54; + if (iVar2 == 0) { + uVar8 = 1; + local_54 = 1; + } + goto LAB_1400311f9; + } + } + sVar12 = (size_t)(uVar7 + 1); + } + goto LAB_1400311f9; + } +LAB_140031285: + uVar3 = FUN_140030e00(bVar5); + if (((((int)uVar3 == 0) || ((param_5 & 2) != 0)) || + ((((param_5 & 0x10) != 0 && (bVar5 != 0x20)) || + (((param_5 & 8) != 0 && (bVar5 == 0x2e)))))) || + (((param_5 & 0x40) == 0 && (bVar5 == 0x25)))) { + if (iVar11 != 0) { + *param_2 = bVar5; + param_2 = param_2 + 1; + local_res10 = param_2; + } + } + else if (uVar7 < param_4 - 3) { + if (iVar11 != 0) { + *param_2 = 0x25; + pbVar4 = param_2 + 1; + if (bVar5 < 0x10) { + *pbVar4 = 0x30; + pbVar4 = param_2 + 2; + } + FUN_140030d60((uint)bVar5,(char *)pbVar4,(longlong)local_50 - (longlong)pbVar4,0x10); + param_2 = param_2 + 3; + local_res10 = param_2; + } + uVar7 = uVar7 + 2; + } + else { + iVar11 = 0; + uVar7 = uVar7 + 2; + } + local_58 = uVar7 + 1; + local_res8 = pbVar10; + } + else { + if (bVar5 == 0x25) { + if ((param_5 & 4) != 0) { + bVar5 = *pbVar10; + if (bVar5 == 0) goto LAB_140031395; + param_3 = local_res18; + if ((byte)(bVar5 - 0x30) < 10) { + sVar6 = bVar5 - 0x30; + } + else if ((byte)(bVar5 + 0xbf) < 6) { + sVar6 = bVar5 - 0x37; + } + else { + if (5 < (byte)(bVar5 + 0x9f)) goto LAB_140031354; + sVar6 = bVar5 - 0x57; + } + if (sVar6 < 0) goto LAB_140031354; + bVar5 = param_1[2]; + if (bVar5 == 0) goto LAB_140031395; + pbVar10 = param_1 + 3; + if ((byte)(bVar5 - 0x30) < 10) { + sVar1 = bVar5 - 0x30; + } + else if ((byte)(bVar5 + 0xbf) < 6) { + sVar1 = bVar5 - 0x37; + } + else { + if (5 < (byte)(bVar5 + 0x9f)) goto LAB_140031354; + sVar1 = bVar5 - 0x57; + } + if (sVar1 < 0) goto LAB_140031354; + bVar5 = (char)sVar6 * '\x10' + (char)sVar1; + local_res8 = pbVar10; + } + } + else if (((bVar5 == 0x3f) || (bVar5 == 0x23)) && ((param_5 & 0x20) != 0)) { + param_5 = param_5 | 2; + } +LAB_1400311f9: + if ((-1 < (char)param_5) || ((param_5 & 2) != 0)) goto LAB_140031285; + if (bVar5 == 0x5c) { + if ((((int)sVar12 != 0) || ((param_5 >> 8 & 1) != 0)) && + ((iVar11 != 0 && ((uVar8 == 0 || (uVar7 < 7)))))) { + bVar5 = 0x2f; + } + goto LAB_140031285; + } + if ((((bVar5 != 0x2e) || (uVar7 == 0)) || ((param_5 & 8) != 0)) || + (uVar3 = FUN_140030eb0((longlong *)&local_res10,(char *)(param_2 + -1),uVar7,&local_res8, + &local_58,param_5,(int)sVar12), param_2 = local_res10, + pbVar10 = local_res8, uVar7 = local_58, (int)uVar3 == 0)) goto LAB_140031285; + } + _MaxCount = (size_t)local_58; + bVar5 = *local_res8; + uVar7 = local_58; + if (bVar5 == 0) goto LAB_140031395; + sVar9 = (size_t)local_54; + param_1 = local_res8; + } while( true ); + } +LAB_1400313a2: + if (uVar7 < param_4) { + *param_2 = 0; + } +LAB_140031354: + if (param_3 != (int *)0x0) { + *param_3 = uVar7 + 1; + } + if (param_4 < uVar7 + 1) { + iVar2 = 0; + } + return iVar2; +LAB_140031395: + iVar2 = iVar11; + param_3 = local_res18; + if (iVar2 == 0) goto LAB_140031354; + goto LAB_1400313a2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400313b0.c b/decomp/Agent_Release_x64/full/functions/0x1400313b0.c new file mode 100644 index 00000000..f5d3d459 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400313b0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400313b0 FUN_1400313b0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400313b0(longlong param_1,wchar_t *param_2) + +{ + errno_t eVar1; + size_t sVar2; + + sVar2 = wcsnlen(param_2,0x801); + if (0x800 < (uint)sVar2) { + return 0; + } + eVar1 = wcsncpy_s((wchar_t *)(param_1 + 0x448),0x801,param_2,sVar2 & 0xffffffff); + if (eVar1 != 0) { + if (eVar1 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar1 == 0x16) || (eVar1 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar1 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + *(uint *)(param_1 + 0x2464) = (uint)sVar2; + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140031460.c b/decomp/Agent_Release_x64/full/functions/0x140031460.c new file mode 100644 index 00000000..89ed9ce7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140031460.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140031460 FUN_140031460 + * Pseudocode, not original source. */ + +void FUN_140031460(undefined2 *param_1) + +{ + *(undefined4 *)(param_1 + 0x1228) = 0xffffffff; + param_1[0x1226] = 0; + *(undefined8 *)(param_1 + 0x122a) = 0; + *(undefined4 *)(param_1 + 0x122e) = 0; + *(undefined8 *)(param_1 + 0x1230) = 0; + *(undefined4 *)(param_1 + 0x1234) = 0; + *param_1 = 0; + param_1[0x21] = 0; + param_1[0x122] = 0; + param_1[0x1a3] = 0; + param_1[0x224] = 0; + param_1[0xa25] = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400314c0.c b/decomp/Agent_Release_x64/full/functions/0x1400314c0.c new file mode 100644 index 00000000..6975034b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400314c0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400314c0 FUN_1400314c0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400314c0(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::IFastSocketDelegate::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400314f0.c b/decomp/Agent_Release_x64/full/functions/0x1400314f0.c new file mode 100644 index 00000000..879ab4cf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400314f0.c @@ -0,0 +1,47 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400314f0 FUN_1400314f0 + * Pseudocode, not original source. */ + +void FUN_1400314f0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + undefined8 uVar3; + uint local_30 [2]; + undefined **local_28; + undefined4 local_20; + undefined2 local_1c; + undefined4 local_18; + + FUN_14002e6e0((int *)(param_1 + 0x30)); + *(undefined1 *)(param_1 + 0x80) = 1; + FUN_1400375f0((undefined8 *)(param_1 + 0x88)); + if ((*(undefined8 **)(param_1 + 0x10) != (undefined8 *)0x0) && + (plVar1 = (longlong *)**(undefined8 **)(param_1 + 0x10), plVar1 != (longlong *)0x0)) { + FUN_140035490(plVar1,param_2,param_3,param_4); + while( true ) { + local_28 = Proud::AddrPort::vftable; + local_18 = 0; + local_30[0] = 0; + local_30[1] = 0; + local_20 = DAT_1401553d0; + local_1c = DAT_1401553d4; + lVar2 = 0; + if (*(longlong **)(param_1 + 0x10) != (longlong *)0x0) { + lVar2 = **(longlong **)(param_1 + 0x10); + } + if (*(char *)(lVar2 + 0x280) == '\0') break; + lVar2 = 0; + if (*(longlong **)(param_1 + 0x10) != (longlong *)0x0) { + lVar2 = **(longlong **)(param_1 + 0x10); + } + uVar3 = FUN_1400353c0(lVar2,0,local_30); + if (((char)uVar3 != '\0') || (DAT_14015c2d0 != '\0')) break; + Sleep(10); + } + } + FUN_14002e770(param_1 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140031600.c b/decomp/Agent_Release_x64/full/functions/0x140031600.c new file mode 100644 index 00000000..114da01e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140031600.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140031600 FUN_140031600 + * Pseudocode, not original source. */ + +void FUN_140031600(undefined8 *param_1) + +{ + free((void *)*param_1); + *param_1 = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140031620.c b/decomp/Agent_Release_x64/full/functions/0x140031620.c new file mode 100644 index 00000000..9f95e27d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140031620.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140031620 FUN_140031620 + * Pseudocode, not original source. */ + +wchar_t * FUN_140031620(wchar_t *param_1) + +{ + errno_t eVar1; + + FUN_140031460(param_1); + param_1[0x1228] = L'\x02'; + param_1[0x1229] = L'\0'; + param_1[0x122a] = L'\x04'; + param_1[0x122b] = L'\0'; + param_1[0x1226] = L'P'; + eVar1 = wcsncpy_s(param_1,0x21,L"http",4); + if (eVar1 != 0) { + if (eVar1 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar1 == 0x16) || (eVar1 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar1 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400316b0.c b/decomp/Agent_Release_x64/full/functions/0x1400316b0.c new file mode 100644 index 00000000..7064824f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400316b0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400316b0 FUN_1400316b0 + * Pseudocode, not original source. */ + +void FUN_1400316b0(longlong param_1) + +{ + longlong lVar1; + undefined *puVar2; + int iVar3; + uint uVar4; + + puVar2 = *(undefined **)(param_1 + 0x20); + lVar1 = 0; + iVar3 = 0; + if ((puVar2 != (undefined *)0x0) && (iVar3 = 0, puVar2 != PTR_DAT_140155008)) { + iVar3 = *(int *)(puVar2 + -8); + } + if (puVar2 == (undefined *)0x0) { + puVar2 = PTR_DAT_140155008; + } + if (*(longlong **)(param_1 + 0x10) != (longlong *)0x0) { + lVar1 = **(longlong **)(param_1 + 0x10); + } + uVar4 = iVar3 - *(int *)(param_1 + 0x28); + FUN_1400365f0(lVar1,(undefined8 *)(puVar2 + *(int *)(param_1 + 0x28)), + (undefined **)(ulonglong)(uVar4 + 1),(ulonglong)uVar4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140031700.c b/decomp/Agent_Release_x64/full/functions/0x140031700.c new file mode 100644 index 00000000..369cbf23 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140031700.c @@ -0,0 +1,113 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140031700 FUN_140031700 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +int FUN_140031700(LPCWSTR param_1,wchar_t *param_2,uint *param_3,uint param_4,uint param_5) + +{ + WCHAR WVar1; + byte *_Memory; + byte *_Memory_00; + int iVar2; + int iVar3; + byte *pbVar4; + byte *pbVar5; + ulonglong uVar6; + uint uVar7; + LPCWSTR pWVar8; + undefined1 auStackY_1218 [32]; + uint local_11e4; + byte *local_11e0; + byte *local_11d8; + uint *local_11d0; + undefined8 local_11c8; + wchar_t *local_11b8; + wchar_t local_11b0 [132]; + byte local_10a8 [2096]; + byte local_878 [2096]; + ulonglong local_48; + undefined8 uStack_40; + + uStack_40 = 0x140031716; + local_11c8 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStackY_1218; + iVar3 = 0; + local_11d0 = param_3; + if (param_1 == (LPCWSTR)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if (param_2 == (wchar_t *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar6 = 0xffffffffffffffff; + pWVar8 = param_1; + do { + if (uVar6 == 0) break; + uVar6 = uVar6 - 1; + WVar1 = *pWVar8; + pWVar8 = pWVar8 + 1; + } while (WVar1 != L'\0'); + local_11e0 = (byte *)(~uVar6 - 1); + if ((int)local_11e0 == 0) { + if (param_3 != (uint *)0x0) { + *param_3 = 1; + } + *param_2 = L'\0'; + iVar3 = 1; + } + else { + iVar2 = FUN_140030dc0(param_1,(int)local_11e0,(LPSTR)0x0,0); + if (iVar2 != 0) { + uVar7 = iVar2 + 1; + local_11d8 = (byte *)0x0; + pbVar4 = local_10a8; + if ((int)uVar7 < 1) { + free((void *)0x0); + iVar3 = 0; + } + else if ((uVar7 < 0x825) || + (pbVar4 = malloc((longlong)(int)uVar7), local_11d8 = pbVar4, pbVar4 != (byte *)0x0)) { + _Memory_00 = local_11d8; + iVar3 = FUN_140030dc0(param_1,(int)local_11e0,(LPSTR)pbVar4,uVar7); + pbVar4[iVar3] = 0; + pbVar5 = local_878; + local_11e0 = (byte *)0x0; + if ((param_4 < 0x825) || + (pbVar5 = malloc((ulonglong)param_4), local_11e0 = pbVar5, pbVar5 != (byte *)0x0)) { + _Memory = local_11e0; + local_11e4 = 0; + iVar3 = FUN_140030fe0(pbVar4,pbVar5,(int *)&local_11e4,param_4,param_5); + if (iVar3 != 0) { + local_11b8 = local_11b0; + FUN_14002a670((longlong *)&local_11b8,(LPCSTR)pbVar5,3); + FUN_14002f620(param_2,(ulonglong)param_4,local_11b8,(ulonglong)local_11e4); + if (local_11b8 != local_11b0) { + free(local_11b8); + } + } + if (param_3 != (uint *)0x0) { + *param_3 = local_11e4; + } + free(_Memory); + free(_Memory_00); + } + else { + free((void *)0x0); + free(_Memory_00); + iVar3 = 0; + } + } + else { + free((void *)0x0); + iVar3 = 0; + } + } + } + return iVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140031950.c b/decomp/Agent_Release_x64/full/functions/0x140031950.c new file mode 100644 index 00000000..cf8a8830 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140031950.c @@ -0,0 +1,132 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140031950 FUN_140031950 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140031950(wchar_t *param_1,uint param_2) + +{ + wchar_t *_Src; + errno_t eVar1; + int iVar2; + undefined1 auStackY_1098 [32]; + wchar_t local_1068; + WCHAR local_1066 [2087]; + ulonglong local_18; + undefined8 uStack_10; + + uStack_10 = 0x140031960; + local_18 = DAT_1401555a0 ^ (ulonglong)auStackY_1098; + eVar1 = _wcslwr_s(param_1,0x21); + if (eVar1 != 0) { + if (eVar1 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar1 == 0x16) || (eVar1 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar1 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + eVar1 = wcscpy_s(&local_1068,0x824,param_1 + 0x122); + if (eVar1 != 0) { + if (eVar1 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar1 == 0x16) || (eVar1 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar1 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + iVar2 = FUN_140031700(&local_1068,param_1 + 0x122,(uint *)(param_1 + 0x122e),0x80,param_2); + if (iVar2 != 0) { + *(int *)(param_1 + 0x122e) = *(int *)(param_1 + 0x122e) + -1; + eVar1 = wcscpy_s(&local_1068,0x824,param_1 + 0x1a3); + if (eVar1 != 0) { + if (eVar1 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar1 == 0x16) || (eVar1 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar1 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + iVar2 = FUN_140031700(&local_1068,param_1 + 0x1a3,(uint *)(param_1 + 0x1230),0x80,param_2); + if (iVar2 != 0) { + *(int *)(param_1 + 0x1230) = *(int *)(param_1 + 0x1230) + -1; + eVar1 = wcscpy_s(&local_1068,0x824,param_1 + 0x21); + if (eVar1 != 0) { + if (eVar1 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar1 == 0x16) || (eVar1 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar1 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + iVar2 = FUN_140031700(&local_1068,param_1 + 0x21,(uint *)(param_1 + 0x122c),0x100,param_2); + if (iVar2 != 0) { + *(int *)(param_1 + 0x122c) = *(int *)(param_1 + 0x122c) + -1; + eVar1 = wcscpy_s(&local_1068,0x824,param_1 + 0x224); + if (eVar1 != 0) { + if (eVar1 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar1 == 0x16) || (eVar1 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar1 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + iVar2 = FUN_140031700(&local_1068,param_1 + 0x224,(uint *)(param_1 + 0x1232),0x800,param_2); + if ((((iVar2 != 0) && + (*(int *)(param_1 + 0x1232) = *(int *)(param_1 + 0x1232) + -1, (param_2 & 0x20) == 0)) + && (_Src = param_1 + 0xa25, _Src != (wchar_t *)0x0)) && (*_Src != L'\0')) { + eVar1 = wcscpy_s(&local_1068,0x824,_Src); + if (eVar1 != 0) { + if (eVar1 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar1 == 0x16) || (eVar1 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar1 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + FUN_140031700(local_1066,param_1 + 0xa26,(uint *)(param_1 + 0x1234),0x7ff,param_2); + } + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140031c80.c b/decomp/Agent_Release_x64/full/functions/0x140031c80.c new file mode 100644 index 00000000..2dbf7a67 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140031c80.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140031c80 FUN_140031c80 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140031c80(longlong *param_1,char *param_2,va_list param_3) + +{ + int iVar1; + undefined *puVar2; + undefined1 auStack_448 [32]; + char local_428 [1040]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_448; + if (param_2 == (char *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + iVar1 = vsprintf_s(local_428,0x400,param_2,param_3); + puVar2 = FUN_14002edf0(param_1,iVar1); + FUN_140030150(puVar2,local_428,iVar1); + FUN_14002eab0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140031d10.c b/decomp/Agent_Release_x64/full/functions/0x140031d10.c new file mode 100644 index 00000000..b29408f8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140031d10.c @@ -0,0 +1,127 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140031d10 FUN_140031d10 + * Pseudocode, not original source. */ + +void FUN_140031d10(longlong *param_1,longlong *param_2) + +{ + int *piVar1; + int iVar2; + int iVar3; + undefined *puVar4; + int iVar5; + undefined *puVar6; + + puVar4 = (undefined *)*param_2; + if (((puVar4 != (undefined *)0x0) && (puVar4 != PTR_DAT_140155008)) && (0 < *(int *)(puVar4 + -8)) + ) { + puVar6 = (undefined *)*param_1; + if (puVar6 == (undefined *)0x0) { + iVar5 = 0; + } + else if (puVar6 == PTR_DAT_140155008) { + iVar5 = 0; + } + else { + iVar5 = *(int *)(puVar6 + -8); + } + iVar3 = *(int *)(puVar4 + -8) + iVar5; + if (puVar6 == (undefined *)0x0) { + iVar2 = 0; + } + else if (puVar6 == PTR_DAT_140155008) { + iVar2 = 0; + } + else { + iVar2 = *(int *)(puVar6 + -8); + } + if (iVar3 <= iVar2) { + if (puVar6 == (undefined *)0x0) { + iVar3 = 0; + } + else if (puVar6 == PTR_DAT_140155008) { + iVar3 = 0; + } + else { + iVar3 = *(int *)(puVar6 + -8); + } + } + iVar2 = 1; + if (1 < iVar3) { + iVar2 = iVar3; + } + if (puVar6 == (undefined *)0x0) { + iVar3 = 0; + } + else if (puVar6 == PTR_DAT_140155008) { + iVar3 = 0; + } + else { + iVar3 = *(int *)(puVar6 + -8); + } + if (iVar3 < iVar2) { + FUN_14002ec40(param_1,iVar2); + } + FUN_14002eb30(param_1); + puVar4 = (undefined *)*param_2; + puVar6 = (undefined *)*param_1; + if ((undefined *)*param_1 == (undefined *)0x0) { + puVar6 = PTR_DAT_140155008; + } + if (puVar4 == (undefined *)0x0) { + iVar3 = 0; + } + else if (puVar4 == PTR_DAT_140155008) { + iVar3 = 0; + } + else { + iVar3 = *(int *)(puVar4 + -8); + } + if (puVar4 == (undefined *)0x0) { + puVar4 = PTR_DAT_140155008; + } + FUN_140030150(puVar6 + iVar5,puVar4,iVar3); + puVar4 = (undefined *)*param_2; + if (puVar4 == (undefined *)0x0) { + iVar3 = 0; + } + else if (puVar4 == PTR_DAT_140155008) { + iVar3 = 0; + } + else { + iVar3 = *(int *)(puVar4 + -8); + } + iVar2 = 0; + if (0 < iVar3 + iVar5) { + iVar2 = iVar3 + iVar5; + } + puVar4 = (undefined *)*param_1; + if (puVar4 == (undefined *)0x0) { + iVar5 = 0; + } + else if (puVar4 == PTR_DAT_140155008) { + iVar5 = 0; + } + else { + iVar5 = *(int *)(puVar4 + -8); + } + if (iVar5 <= iVar2) { + if (puVar4 == (undefined *)0x0) { + iVar2 = 0; + } + else if (puVar4 == PTR_DAT_140155008) { + iVar2 = 0; + } + else { + iVar2 = *(int *)(puVar4 + -8); + } + } + if (((puVar4 != PTR_DAT_140155008) && (puVar4 != (undefined *)0x0)) && + (piVar1 = (int *)(puVar4 + -8), piVar1 != (int *)0x0)) { + *piVar1 = iVar2; + *(undefined1 *)((longlong)iVar2 + 8 + (longlong)piVar1) = 0; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140031ea0.c b/decomp/Agent_Release_x64/full/functions/0x140031ea0.c new file mode 100644 index 00000000..d30afb05 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140031ea0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140031ea0 FUN_140031ea0 + * Pseudocode, not original source. */ + +void FUN_140031ea0(longlong *param_1,char *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 local_res18; + undefined8 local_res20; + + local_res18 = param_3; + local_res20 = param_4; + FUN_140031c80(param_1,param_2,(va_list)&local_res18); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140031ed0.c b/decomp/Agent_Release_x64/full/functions/0x140031ed0.c new file mode 100644 index 00000000..290fbba2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140031ed0.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140031ed0 FUN_140031ed0 + * Pseudocode, not original source. */ + +void FUN_140031ed0(longlong *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + longlong *plVar2; + + if (*param_1 != 0) { + *(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1; + if (*(longlong *)(*param_1 + 8) == 0) { + puVar1 = (undefined8 *)*param_1; + plVar2 = (longlong *)*puVar1; + if (plVar2 != (longlong *)0x0) { + FUN_1400358a0(plVar2,0,param_3,param_4); + FUN_1400302f0(plVar2); + } + FUN_1400302f0(puVar1); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140031f40.c b/decomp/Agent_Release_x64/full/functions/0x140031f40.c new file mode 100644 index 00000000..e16add8f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140031f40.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140031f40 FUN_140031f40 + * Pseudocode, not original source. */ + +void FUN_140031f40(longlong *param_1,longlong *param_2) + +{ + longlong lVar1; + longlong *plVar2; + undefined8 *puVar3; + longlong *plVar4; + + lVar1 = *param_2; + if (lVar1 != *param_1) { + plVar4 = (longlong *)0x0; + if (lVar1 != 0) { + plVar4 = (longlong *)(*(longlong *)(lVar1 + 8) + 1); + *(longlong **)(*param_2 + 8) = plVar4; + } + puVar3 = (undefined8 *)0x0; + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + puVar3 = (undefined8 *)*param_1; + } + *param_1 = *param_2; + if (puVar3 != (undefined8 *)0x0) { + plVar2 = (longlong *)*puVar3; + if (plVar2 != (longlong *)0x0) { + FUN_1400358a0(plVar2,param_2,plVar4,param_1); + FUN_1400302f0(plVar2); + } + FUN_1400302f0(puVar3); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140031fd0.c b/decomp/Agent_Release_x64/full/functions/0x140031fd0.c new file mode 100644 index 00000000..96fcd4ab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140031fd0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140031fd0 FUN_140031fd0 + * Pseudocode, not original source. */ + +longlong FUN_140031fd0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *puVar1; + int iVar2; + uint uVar3; + undefined *puVar4; + undefined4 extraout_var; + uint7 uVar5; + longlong lVar6; + undefined *local_res8; + + puVar1 = PTR_u_www_nettention_co_kr_140155288; + FUN_140030200(param_1,param_2,param_3,param_4); + local_res8 = PTR_DAT_140155010; + iVar2 = FUN_140030080((short *)puVar1); + puVar4 = FUN_140002f90((longlong *)&local_res8,iVar2); + FUN_1400300b0(puVar4,puVar1,iVar2); + FUN_140003070((longlong *)&local_res8); + lVar6 = 0; + if (*(longlong **)(param_1 + 0x10) != (longlong *)0x0) { + lVar6 = **(longlong **)(param_1 + 0x10); + } + uVar3 = FUN_140035e90(lVar6,(longlong *)&local_res8,(short)DAT_140155290,param_4); + uVar5 = (uint7)(CONCAT44(extraout_var,uVar3) >> 8); + if ((uVar3 != 0) && (uVar3 != 0x2733)) { + return (ulonglong)uVar5 << 8; + } + return CONCAT71(uVar5,1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140032080.c b/decomp/Agent_Release_x64/full/functions/0x140032080.c new file mode 100644 index 00000000..027c37fd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140032080.c @@ -0,0 +1,170 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140032080 FUN_140032080 + * Pseudocode, not original source. */ + +void FUN_140032080(int *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + bool bVar2; + DWORD DVar3; + uint uVar4; + int iVar5; + uint uVar6; + uint *puVar7; + int *piVar8; + longlong *plVar9; + LPCWSTR pWVar10; + longlong *plVar11; + ulonglong uVar12; + undefined *puVar13; + LPCWSTR pWVar14; + uint uVar15; + LPCWSTR local_res8; + + piVar1 = param_1 + 0xc; + bVar2 = FUN_14002e780(piVar1); + if (!bVar2) { + return; + } + FUN_14002e6e0(piVar1); + puVar13 = *(undefined **)(param_1 + 2); + if ((((puVar13 != (undefined *)0x0) && (puVar13 != PTR_DAT_140155010)) && + (*(int *)(puVar13 + -8) != 0)) || + ((*param_1 != 3 || (DVar3 = GetTickCount(), DVar3 - param_1[1] < 0x7531)))) goto LAB_140032341; + plVar9 = (longlong *)(param_1 + 2); + plVar11 = param_2; + FUN_140003170(plVar9,param_2,param_3,param_4); + *param_1 = 0; + DVar3 = GetTickCount(); + param_1[1] = DVar3; + FUN_140030200(plVar9,plVar11,param_3,param_4); + pWVar14 = (LPCWSTR)PTR_DAT_140155010; + local_res8 = (LPCWSTR)PTR_DAT_140155010; + uVar4 = FUN_140030080(L"**ErrorReport** "); + uVar12 = 0; + if ((pWVar14 != (LPCWSTR)0x0) && (pWVar14 != (LPCWSTR)PTR_DAT_140155010)) { + uVar12 = (ulonglong)*(uint *)((longlong)pWVar14 + -8); + } + uVar6 = uVar4; + if ((((int)uVar4 <= (int)uVar12) && (uVar6 = 0, pWVar14 != (LPCWSTR)0x0)) && + (pWVar14 != (LPCWSTR)PTR_DAT_140155010)) { + uVar6 = *(uint *)((longlong)pWVar14 + -8); + } + uVar15 = 1; + if (1 < (int)uVar6) { + uVar15 = uVar6; + } + iVar5 = 0; + if ((pWVar14 != (LPCWSTR)0x0) && (pWVar14 != (LPCWSTR)PTR_DAT_140155010)) { + iVar5 = *(int *)((longlong)pWVar14 + -8); + } + if (iVar5 < (int)uVar15) { + if (pWVar14 == (LPCWSTR)0x0) { + pWVar14 = (LPCWSTR)PTR_DAT_140155010; + } + local_res8 = pWVar14; + if ((int)uVar15 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar15 == 0) { + FUN_140003240((longlong *)&local_res8,uVar12,param_3,param_4); + } + else { + uVar6 = 0; + if ((pWVar14 != (LPCWSTR)0x0) && (uVar6 = 0, pWVar14 != (LPCWSTR)PTR_DAT_140155010)) { + uVar6 = *(uint *)(pWVar14 + -4); + } + if (uVar15 != uVar6) { + puVar7 = (uint *)FUN_140030280((longlong)(int)uVar15 * 2 + 10); + if (puVar7 != (uint *)0x0) { + *puVar7 = 0; + puVar7[1] = 1; + } + *puVar7 = uVar15; + uVar6 = 0; + if ((pWVar14 != (LPCWSTR)0x0) && (uVar6 = 0, pWVar14 != (LPCWSTR)PTR_DAT_140155010)) { + uVar6 = *(uint *)(pWVar14 + -4); + } + pWVar10 = (LPCWSTR)PTR_DAT_140155010; + if ((int)uVar15 < (int)uVar6) { +LAB_140032211: + if (pWVar14 != (LPCWSTR)0x0) { + pWVar10 = pWVar14; + } + } + else { + uVar15 = 0; + if (pWVar14 != (LPCWSTR)0x0) { + if (pWVar14 != (LPCWSTR)PTR_DAT_140155010) { + uVar15 = *(uint *)(pWVar14 + -4); + } + goto LAB_140032211; + } + } + uVar12 = (ulonglong)uVar15; + FUN_1400300b0(puVar7 + 2,pWVar10,uVar15); + FUN_140003240((longlong *)&local_res8,pWVar10,uVar12,param_4); + local_res8 = (LPCWSTR)(puVar7 + 2); + } + } + } + FUN_140002ea0((longlong *)&local_res8); + pWVar14 = local_res8; + pWVar10 = local_res8; + if (local_res8 == (LPCWSTR)0x0) { + pWVar10 = (LPCWSTR)PTR_DAT_140155010; + } + uVar12 = (ulonglong)uVar4; + FUN_1400300b0(pWVar10,L"**ErrorReport** ",uVar4); + pWVar10 = pWVar14; + if (pWVar14 == (LPCWSTR)0x0) { + pWVar10 = (LPCWSTR)PTR_DAT_140155010; + } + uVar6 = FUN_140030080(pWVar10); + uVar4 = 0; + if (0 < (int)uVar6) { + uVar4 = uVar6; + } + uVar6 = 0; + if ((pWVar14 != (LPCWSTR)0x0) && (pWVar14 != (LPCWSTR)PTR_DAT_140155010)) { + uVar6 = *(uint *)(pWVar14 + -4); + } + if (((int)uVar4 < (int)uVar6) || (uVar4 = 0, pWVar14 == (LPCWSTR)0x0)) { +LAB_1400322a9: + if (((pWVar14 != (LPCWSTR)PTR_DAT_140155010) && (pWVar14 != (LPCWSTR)0x0)) && + (pWVar14 + -4 != (LPCWSTR)0x0)) { + *(uint *)(pWVar14 + -4) = uVar4; + pWVar14[(int)uVar4] = L'\0'; + } + } + else if (pWVar14 != (LPCWSTR)PTR_DAT_140155010) { + uVar4 = *(uint *)(pWVar14 + -4); + goto LAB_1400322a9; + } + FUN_14001b5a0((longlong *)&local_res8,param_2); + puVar13 = &DAT_14011d6b8; + FUN_14001b850((longlong *)&local_res8,(short *)&DAT_14011d6b8); + pWVar14 = local_res8; + pWVar10 = local_res8; + if (local_res8 == (LPCWSTR)0x0) { + pWVar10 = (LPCWSTR)PTR_DAT_140155010; + } + OutputDebugStringW(pWVar10); + if (((pWVar14 != (LPCWSTR)0x0) && (pWVar14 != (LPCWSTR)PTR_DAT_140155010)) && + (pWVar14 + -4 != (LPCWSTR)0x0)) { + piVar8 = (int *)FUN_140030200(pWVar10,puVar13,uVar12,param_4); + FUN_14002e6e0(piVar8); + pWVar10 = pWVar14 + -2; + *(uint *)pWVar10 = *(uint *)pWVar10 - 1; + if (*(uint *)pWVar10 == 0) { + FUN_1400302f0(pWVar14 + -4); + } + FUN_14002e770((longlong)piVar8); + } +LAB_140032341: + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140032370.c b/decomp/Agent_Release_x64/full/functions/0x140032370.c new file mode 100644 index 00000000..5c3b4617 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140032370.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140032370 FUN_140032370 + * Pseudocode, not original source. */ + +void FUN_140032370(longlong param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + longlong *plVar2; + + FUN_1400314f0(param_1,param_2,param_3,param_4); + FUN_140037670((undefined8 *)(param_1 + 0x88)); + FUN_14002e7a0((undefined4 *)(param_1 + 0x30),param_2,param_3,param_4); + FUN_14001c020((longlong *)(param_1 + 0x20)); + *(undefined ***)(param_1 + 0x18) = Proud::IFastSocketDelegate::vftable; + if ((*(longlong *)(param_1 + 0x10) != 0) && + (*(longlong *)(*(longlong *)(param_1 + 0x10) + 8) = + *(longlong *)(*(longlong *)(param_1 + 0x10) + 8) + -1, + *(longlong *)(*(longlong *)(param_1 + 0x10) + 8) == 0)) { + puVar1 = *(undefined8 **)(param_1 + 0x10); + plVar2 = (longlong *)*puVar1; + if (plVar2 != (longlong *)0x0) { + FUN_1400358a0(plVar2,param_2,param_3,param_4); + FUN_1400302f0(plVar2); + } + FUN_1400302f0(puVar1); + } + FUN_140003240((longlong *)(param_1 + 8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140032430.c b/decomp/Agent_Release_x64/full/functions/0x140032430.c new file mode 100644 index 00000000..25474968 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140032430.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140032430 FUN_140032430 + * Pseudocode, not original source. */ + +longlong * FUN_140032430(longlong *param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + longlong *plVar1; + + plVar1 = param_3; + FUN_140030200(param_1,param_2,param_3,param_4); + *param_1 = (longlong)PTR_DAT_140155008; + FUN_14001bf80(param_1,param_2,plVar1,param_4); + FUN_140031d10(param_1,param_3); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400324a0.c b/decomp/Agent_Release_x64/full/functions/0x1400324a0.c new file mode 100644 index 00000000..08837695 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400324a0.c @@ -0,0 +1,88 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400324a0 FUN_1400324a0 + * Pseudocode, not original source. */ + +void FUN_1400324a0(undefined4 *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + undefined *puVar1; + longlong *plVar2; + undefined8 *puVar3; + undefined4 uVar4; + undefined8 *puVar5; + longlong lVar6; + undefined8 **ppuVar7; + undefined8 uVar8; + undefined8 *local_res8; + longlong local_res10 [2]; + + puVar1 = *(undefined **)(param_1 + 2); + if (((puVar1 != (undefined *)0x0) && (puVar1 != PTR_DAT_140155010)) && + (*(int *)(puVar1 + -8) != 0)) { + local_res8 = (undefined8 *)FUN_140030280(0x400); + if (local_res8 == (undefined8 *)0x0) { + puVar5 = (undefined8 *)0x0; + } + else { + param_3 = (longlong *)(param_1 + 6); + puVar5 = FUN_140035990(local_res8,0,param_3,param_4); + } + if (puVar5 == (undefined8 *)0x0) { + local_res8 = (undefined8 *)0x0; + } + else { + local_res8 = (undefined8 *)FUN_140030280(0x10); + local_res8[1] = 1; + *local_res8 = puVar5; + } + puVar5 = local_res8; + ppuVar7 = &local_res8; + FUN_140031f40((longlong *)(param_1 + 4),(longlong *)ppuVar7); + puVar3 = local_res8; + if (puVar5 != (undefined8 *)0x0) { + plVar2 = puVar5 + 1; + *plVar2 = *plVar2 + -1; + if (*plVar2 == 0) { + plVar2 = (longlong *)*local_res8; + if (plVar2 != (longlong *)0x0) { + FUN_1400358a0(plVar2,ppuVar7,param_3,param_4); + FUN_1400302f0(plVar2); + } + FUN_1400302f0(puVar3); + } + } + if (*(longlong **)(param_1 + 4) == (longlong *)0x0) { + lVar6 = 0; + } + else { + lVar6 = **(longlong **)(param_1 + 4); + } + uVar4 = FUN_140037510(lVar6,ppuVar7,param_3,param_4); + if ((char)uVar4 == '\0') { + local_res10[0] = 0; + FUN_140031f40((longlong *)(param_1 + 4),local_res10); + *param_1 = 3; + } + else { + if (*(longlong **)(param_1 + 4) == (longlong *)0x0) { + lVar6 = 0; + } + else { + lVar6 = **(longlong **)(param_1 + 4); + } + uVar8 = 0; + FUN_140034c70(lVar6,'\0'); + lVar6 = FUN_140031fd0((longlong)param_1,uVar8,param_3,param_4); + if ((char)lVar6 == '\0') { + local_res10[1] = 0; + FUN_140031f40((longlong *)(param_1 + 4),local_res10 + 1); + *param_1 = 3; + } + else { + *param_1 = 1; + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140032610.c b/decomp/Agent_Release_x64/full/functions/0x140032610.c new file mode 100644 index 00000000..519e9934 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140032610.c @@ -0,0 +1,459 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140032610 FUN_140032610 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140032610(undefined4 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + undefined *puVar2; + undefined4 *puVar3; + undefined4 *puVar4; + errno_t eVar5; + uint uVar6; + uint uVar7; + uint uVar8; + uint uVar9; + undefined8 uVar10; + uint *puVar11; + uint *puVar12; + longlong *plVar13; + longlong *plVar14; + longlong *plVar15; + int *piVar16; + longlong lVar17; + char **ppcVar18; + char *pcVar19; + undefined *puVar20; + wchar_t *pwVar21; + undefined2 *puVar22; + LPCWSTR pWVar23; + uint *puVar24; + undefined8 *puVar25; + uint *puVar26; + uint uVar27; + uint uVar28; + wchar_t *pwVar29; + undefined8 uVar30; + ulonglong uVar31; + undefined **ppuVar32; + undefined1 auStack_2c58 [32]; + uint *local_2c38; + uint *local_2c30; + longlong *local_2c28; + undefined1 local_2c20; + undefined *local_2c18; + undefined *local_2c10; + int local_2c08 [2]; + undefined *local_2c00; + undefined4 *local_2bf8; + undefined8 local_2bf0; + char *local_2be8; + char local_2be0 [136]; + undefined1 *local_2b58; + undefined1 local_2b50 [136]; + undefined4 local_2ac8 [392]; + wchar_t local_24a8 [548]; + WCHAR local_2060 [4098]; + undefined2 local_5c; + undefined4 local_58; + undefined4 local_54; + ulonglong local_38; + undefined8 local_30; + + local_30 = 0x14003262c; + local_2bf0 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_2c58; + local_2bf8 = param_1; + FUN_140034cf0(local_2ac8); + plVar1 = (longlong *)(param_1 + 4); + plVar15 = (longlong *)0x0; + uVar28 = 0; + plVar13 = plVar15; + if ((undefined8 *)*plVar1 != (undefined8 *)0x0) { + plVar13 = *(longlong **)*plVar1; + } + FUN_140034d10((longlong)local_2ac8,(longlong)plVar13); + plVar13 = plVar15; + if ((undefined8 *)*plVar1 != (undefined8 *)0x0) { + plVar13 = *(longlong **)*plVar1; + } + FUN_140034d70((longlong)local_2ac8,(longlong)plVar13); + FUN_140034dd0((longlong)local_2ac8,0); + plVar13 = plVar15; + if ((undefined8 *)*plVar1 != (undefined8 *)0x0) { + plVar13 = *(longlong **)*plVar1; + } + piVar16 = local_2c08; + uVar10 = FUN_140034e30((longlong)local_2ac8,(longlong)plVar13,piVar16); + if ((char)uVar10 == '\0') { + return; + } + uVar27 = 0; + if (local_2c08[0] != 0) { + lVar17 = FUN_140031fd0((longlong)param_1,plVar13,piVar16,param_4); + if ((char)lVar17 != '\0') { + return; + } + local_2c18 = (undefined *)0x0; + FUN_140031f40(plVar1,(longlong *)&local_2c18); + *param_1 = 3; + return; + } + plVar13 = plVar15; + if ((undefined8 *)*plVar1 != (undefined8 *)0x0) { + plVar13 = *(longlong **)*plVar1; + } + FUN_140034c70((longlong)plVar13,'\x01'); + param_1[10] = 0; + FUN_140031460(local_24a8); + local_58 = 2; + local_54 = 4; + local_5c = 0x50; + uVar10 = 4; + pwVar29 = L"http"; + eVar5 = wcsncpy_s(local_24a8,0x21,L"http",4); + if (eVar5 != 0) { + if (eVar5 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar5 == 0x16) || (eVar5 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar5 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + pwVar21 = *(wchar_t **)(param_1 + 2); + if (*(wchar_t **)(param_1 + 2) == (wchar_t *)0x0) { + pwVar21 = (wchar_t *)PTR_DAT_140155010; + } + FUN_1400313b0((longlong)local_24a8,pwVar21); + FUN_140031950(local_24a8,0); + puVar22 = &DAT_14011e014; + plVar13 = (longlong *)(param_1 + 2); + FUN_140006c60(plVar13,&DAT_14011e014,pwVar29,uVar10); + puVar20 = PTR_s_GET__PNReport_ReportError_php_Te_140155298; + FUN_140030200(plVar13,puVar22,pwVar29,uVar10); + puVar26 = (uint *)PTR_DAT_140155008; + local_2c30 = (uint *)PTR_DAT_140155008; + uVar6 = FUN_140030120(puVar20); + uVar9 = uVar27; + if ((puVar26 != (uint *)0x0) && (puVar26 != (uint *)PTR_DAT_140155008)) { + uVar9 = *(uint *)((longlong)puVar26 + -8); + } + uVar7 = uVar6; + if ((((int)uVar6 <= (int)uVar9) && (uVar7 = uVar27, puVar26 != (uint *)0x0)) && + (puVar26 != (uint *)PTR_DAT_140155008)) { + uVar7 = *(uint *)((longlong)puVar26 + -8); + } + uVar9 = 1; + if (1 < (int)uVar7) { + uVar9 = uVar7; + } + uVar7 = uVar27; + if ((puVar26 != (uint *)0x0) && (puVar26 != (uint *)PTR_DAT_140155008)) { + uVar7 = *(uint *)((longlong)puVar26 + -8); + } + if ((int)uVar7 < (int)uVar9) { + if (puVar26 == (uint *)0x0) { + puVar26 = (uint *)PTR_DAT_140155008; + } + local_2c30 = puVar26; + if ((int)uVar9 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar9 == 0) { + FUN_14001c020((longlong *)&local_2c30); + } + else { + uVar7 = uVar27; + if ((puVar26 != (uint *)0x0) && (puVar26 != (uint *)PTR_DAT_140155008)) { + uVar7 = puVar26[-2]; + } + if (uVar9 != uVar7) { + puVar11 = (uint *)FUN_140030280((longlong)(int)uVar9 + 9); + if (puVar11 != (uint *)0x0) { + *puVar11 = 0; + puVar11[1] = 1; + } + *puVar11 = uVar9; + uVar7 = uVar27; + if ((puVar26 != (uint *)0x0) && (puVar26 != (uint *)PTR_DAT_140155008)) { + uVar7 = puVar26[-2]; + } + puVar12 = (uint *)PTR_DAT_140155008; + if ((int)uVar9 < (int)uVar7) { +LAB_1400328b0: + if (puVar26 != (uint *)0x0) { + puVar12 = puVar26; + } + } + else { + uVar9 = uVar27; + if (puVar26 != (uint *)0x0) { + if (puVar26 != (uint *)PTR_DAT_140155008) { + uVar9 = puVar26[-2]; + } + goto LAB_1400328b0; + } + } + FUN_140030150(puVar11 + 2,puVar12,uVar9); + FUN_14001c020((longlong *)&local_2c30); + local_2c30 = puVar11 + 2; + } + } + } + FUN_14002eb30((longlong *)&local_2c30); + puVar26 = local_2c30; + puVar11 = local_2c30; + if (local_2c30 == (uint *)0x0) { + puVar11 = (uint *)PTR_DAT_140155008; + } + FUN_140030150(puVar11,puVar20,uVar6); + puVar11 = puVar26; + if (puVar26 == (uint *)0x0) { + puVar11 = (uint *)PTR_DAT_140155008; + } + uVar6 = FUN_140030120((char *)puVar11); + uVar9 = uVar28; + if (0 < (int)uVar6) { + uVar9 = uVar6; + } + uVar7 = 0; + uVar6 = uVar7; + if ((puVar26 != (uint *)0x0) && (puVar26 != (uint *)PTR_DAT_140155008)) { + uVar6 = puVar26[-2]; + } + if (((int)uVar9 < (int)uVar6) || (uVar9 = uVar7, puVar26 == (uint *)0x0)) { +LAB_140032941: + if (((puVar26 != (uint *)PTR_DAT_140155008) && (puVar26 != (uint *)0x0)) && + (puVar11 = puVar26 + -2, puVar11 != (uint *)0x0)) { + *puVar11 = uVar9; + *(undefined1 *)((longlong)(int)uVar9 + 8 + (longlong)puVar11) = 0; + } + } + else if (puVar26 != (uint *)PTR_DAT_140155008) { + uVar9 = puVar26[-2]; + goto LAB_140032941; + } + local_2be8 = local_2be0; + uVar30 = 3; + pWVar23 = local_2060; + ppcVar18 = &local_2be8; + FUN_14002e8f0((longlong *)ppcVar18,pWVar23,3); + pcVar19 = local_2be8; + FUN_140030200(ppcVar18,pWVar23,uVar30,uVar10); + puVar11 = (uint *)PTR_DAT_140155008; + local_2c38 = (uint *)PTR_DAT_140155008; + uVar6 = FUN_140030120(pcVar19); + uVar9 = uVar7; + if ((puVar11 != (uint *)0x0) && (puVar11 != (uint *)PTR_DAT_140155008)) { + uVar9 = *(uint *)((longlong)puVar11 + -8); + } + uVar8 = uVar6; + if ((((int)uVar6 <= (int)uVar9) && (uVar8 = uVar27, puVar11 != (uint *)0x0)) && + (puVar11 != (uint *)PTR_DAT_140155008)) { + uVar8 = *(uint *)((longlong)puVar11 + -8); + } + uVar9 = 1; + if (1 < (int)uVar8) { + uVar9 = uVar8; + } + uVar8 = uVar7; + if ((puVar11 != (uint *)0x0) && (puVar11 != (uint *)PTR_DAT_140155008)) { + uVar8 = *(uint *)((longlong)puVar11 + -8); + } + if ((int)uVar8 < (int)uVar9) { + if (puVar11 == (uint *)0x0) { + puVar11 = (uint *)PTR_DAT_140155008; + } + local_2c38 = puVar11; + if ((int)uVar9 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar9 == 0) { + FUN_14001c020((longlong *)&local_2c38); + } + else { + if ((puVar11 != (uint *)0x0) && (puVar11 != (uint *)PTR_DAT_140155008)) { + uVar7 = puVar11[-2]; + } + if (uVar9 != uVar7) { + puVar12 = (uint *)FUN_140030280((longlong)(int)uVar9 + 9); + if (puVar12 != (uint *)0x0) { + *puVar12 = 0; + puVar12[1] = 1; + } + *puVar12 = uVar9; + uVar7 = uVar28; + if ((puVar11 != (uint *)0x0) && (puVar11 != (uint *)PTR_DAT_140155008)) { + uVar7 = puVar11[-2]; + } + puVar24 = (uint *)PTR_DAT_140155008; + if ((int)uVar9 < (int)uVar7) { +LAB_140032a74: + if (puVar11 != (uint *)0x0) { + puVar24 = puVar11; + } + } + else { + uVar9 = uVar27; + if (puVar11 != (uint *)0x0) { + if (puVar11 != (uint *)PTR_DAT_140155008) { + uVar9 = puVar11[-2]; + } + goto LAB_140032a74; + } + } + FUN_140030150(puVar12 + 2,puVar24,uVar9); + FUN_14001c020((longlong *)&local_2c38); + local_2c38 = puVar12 + 2; + } + } + } + FUN_14002eb30((longlong *)&local_2c38); + puVar11 = local_2c38; + puVar12 = local_2c38; + if (local_2c38 == (uint *)0x0) { + puVar12 = (uint *)PTR_DAT_140155008; + } + uVar31 = (ulonglong)uVar6; + FUN_140030150(puVar12,pcVar19,uVar6); + puVar12 = puVar11; + if (puVar11 == (uint *)0x0) { + puVar12 = (uint *)PTR_DAT_140155008; + } + uVar9 = FUN_140030120((char *)puVar12); + uVar27 = uVar28; + if (0 < (int)uVar9) { + uVar27 = uVar9; + } + uVar9 = uVar28; + if ((puVar11 != (uint *)0x0) && (puVar11 != (uint *)PTR_DAT_140155008)) { + uVar9 = puVar11[-2]; + } + puVar12 = (uint *)PTR_DAT_140155008; + if (((int)uVar9 <= (int)uVar27) && (uVar27 = uVar28, puVar11 != (uint *)0x0)) { + if (puVar11 == (uint *)PTR_DAT_140155008) goto LAB_140032b22; + uVar27 = puVar11[-2]; + } + if (((puVar11 != (uint *)PTR_DAT_140155008) && (puVar11 != (uint *)0x0)) && + (puVar12 = puVar11 + -2, puVar12 != (uint *)0x0)) { + *puVar12 = uVar27; + *(undefined1 *)((longlong)(int)uVar27 + 8 + (longlong)puVar12) = 0; + } +LAB_140032b22: + pcVar19 = local_2be8; + if (local_2be8 != local_2be0) { + free(local_2be8); + } + FUN_140030200(pcVar19,puVar12,uVar31,uVar10); + local_2c10 = PTR_DAT_140155008; + local_2b58 = local_2b50; + FUN_14002e8f0((longlong *)&local_2b58,(LPCWSTR)PTR_u_www_nettention_co_kr_140155288,3); + FUN_140031ea0((longlong *)&local_2c10,PTR_s_HTTP_1_1_User_Agent__Mozilla_5_0_1401552a0,local_2b58, + uVar10); + if (local_2b58 != local_2b50) { + free(local_2b58); + } + plVar13 = FUN_140032430((longlong *)&local_2c18,(longlong *)&local_2c30,(longlong *)&local_2c38, + uVar10); + ppuVar32 = &local_2c10; + plVar14 = FUN_140032430((longlong *)&local_2c00,plVar13,(longlong *)ppuVar32,uVar10); + puVar3 = local_2bf8; + plVar13 = (longlong *)(local_2bf8 + 8); + FUN_14001bf80(plVar13,plVar14,ppuVar32,uVar10); + if (((local_2c00 != (undefined *)0x0) && (local_2c00 != PTR_DAT_140155008)) && + (local_2c00 + -8 != (undefined *)0x0)) { + plVar13 = (longlong *)FUN_140030200(plVar13,PTR_DAT_140155008,ppuVar32,uVar10); + local_2c28 = plVar13; + FUN_14002e6e0((int *)plVar13); + local_2c20 = 1; + piVar16 = (int *)(local_2c00 + -4); + *piVar16 = *piVar16 + -1; + if (*piVar16 == 0) { + FUN_1400302f0(local_2c00 + -8); + } + FUN_14002e770((longlong)plVar13); + } + local_2c00 = PTR_DAT_140155008; + if (((local_2c18 != (undefined *)0x0) && (local_2c18 != PTR_DAT_140155008)) && + (local_2c18 + -8 != (undefined *)0x0)) { + plVar13 = (longlong *)FUN_140030200(plVar13,PTR_DAT_140155008,ppuVar32,uVar10); + local_2c28 = plVar13; + FUN_14002e6e0((int *)plVar13); + local_2c20 = 1; + piVar16 = (int *)(local_2c18 + -4); + *piVar16 = *piVar16 + -1; + if (*piVar16 == 0) { + FUN_1400302f0(local_2c18 + -8); + } + FUN_14002e770((longlong)plVar13); + } + puVar4 = local_2bf8; + puVar20 = *(undefined **)(puVar3 + 8); + if ((puVar20 != (undefined *)0x0) && (puVar20 != PTR_DAT_140155008)) { + uVar28 = *(uint *)(puVar20 + -8); + } + if (puVar20 == (undefined *)0x0) { + puVar20 = PTR_DAT_140155008; + } + if ((undefined8 *)*plVar1 != (undefined8 *)0x0) { + plVar15 = *(longlong **)*plVar1; + } + ppuVar32 = (undefined **)(ulonglong)((uVar28 - local_2bf8[10]) + 1); + puVar25 = (undefined8 *)(puVar20 + (int)local_2bf8[10]); + FUN_1400365f0((longlong)plVar15,puVar25,ppuVar32,uVar10); + puVar20 = local_2c10; + *puVar4 = 2; + if (((local_2c10 != (undefined *)0x0) && (local_2c10 != PTR_DAT_140155008)) && + (puVar2 = local_2c10 + -8, puVar2 != (undefined *)0x0)) { + plVar15 = (longlong *)FUN_140030200(plVar15,puVar25,ppuVar32,uVar10); + local_2c28 = plVar15; + FUN_14002e6e0((int *)plVar15); + local_2c20 = 1; + piVar16 = (int *)(puVar20 + -4); + *piVar16 = *piVar16 + -1; + if (*piVar16 == 0) { + FUN_1400302f0(puVar2); + } + FUN_14002e770((longlong)plVar15); + } + if (((puVar11 != (uint *)0x0) && (puVar11 != (uint *)PTR_DAT_140155008)) && + (puVar11 + -2 != (uint *)0x0)) { + plVar15 = (longlong *)FUN_140030200(plVar15,puVar25,ppuVar32,uVar10); + local_2c28 = plVar15; + FUN_14002e6e0((int *)plVar15); + local_2c20 = 1; + puVar12 = puVar11 + -1; + *puVar12 = *puVar12 - 1; + if (*puVar12 == 0) { + FUN_1400302f0(puVar11 + -2); + } + FUN_14002e770((longlong)plVar15); + } + if (((puVar26 != (uint *)0x0) && (puVar26 != (uint *)PTR_DAT_140155008)) && + (puVar26 + -2 != (uint *)0x0)) { + piVar16 = (int *)FUN_140030200(plVar15,puVar25,ppuVar32,uVar10); + local_2c28 = (longlong *)piVar16; + FUN_14002e6e0(piVar16); + local_2c20 = 1; + puVar11 = puVar26 + -1; + *puVar11 = *puVar11 - 1; + if (*puVar11 == 0) { + FUN_1400302f0(puVar26 + -2); + } + FUN_14002e770((longlong)piVar16); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140032df0.c b/decomp/Agent_Release_x64/full/functions/0x140032df0.c new file mode 100644 index 00000000..c05a4b5f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140032df0.c @@ -0,0 +1,60 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140032df0 FUN_140032df0 + * Pseudocode, not original source. */ + +void FUN_140032df0(undefined4 *param_1) + +{ + undefined *puVar1; + undefined8 uVar2; + longlong lVar3; + int iVar4; + longlong local_res8; + uint local_30 [2]; + undefined **local_28; + undefined4 local_20; + undefined2 local_1c; + int local_18; + + local_28 = Proud::AddrPort::vftable; + lVar3 = 0; + iVar4 = 0; + local_18 = 0; + local_30[0] = 0; + local_30[1] = 0; + local_20 = DAT_1401553d0; + local_1c = DAT_1401553d4; + if (*(longlong **)(param_1 + 4) != (longlong *)0x0) { + lVar3 = **(longlong **)(param_1 + 4); + } + uVar2 = FUN_1400353c0(lVar3,0,local_30); + if ((char)uVar2 != '\0') { + if ((local_30[1] == 0) && (local_18 != 0)) { + param_1[10] = param_1[10] + local_18; + puVar1 = *(undefined **)(param_1 + 8); + if (puVar1 != (undefined *)0x0) { + if (puVar1 == PTR_DAT_140155008) { + iVar4 = 0; + } + else { + iVar4 = *(int *)(puVar1 + -8); + } + } + if ((int)param_1[10] < iVar4 + 1) { + FUN_1400316b0((longlong)param_1); + } + else { + *param_1 = 3; + local_res8 = 0; + FUN_140031f40((longlong *)(param_1 + 4),&local_res8); + } + } + else { + *param_1 = 3; + local_res8 = 0; + FUN_140031f40((longlong *)(param_1 + 4),&local_res8); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140032ee0.c b/decomp/Agent_Release_x64/full/functions/0x140032ee0.c new file mode 100644 index 00000000..bc240a25 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140032ee0.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140032ee0 FUN_140032ee0 + * Pseudocode, not original source. */ + +void FUN_140032ee0(int *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + int iVar1; + + FUN_14002e6e0(param_1 + 0xc); + iVar1 = *param_1; + if (iVar1 == 0) { + FUN_1400324a0(param_1,param_2,param_3,param_4); + } + else if (iVar1 == 1) { + FUN_140032610(param_1,param_2,param_3,param_4); + } + else if (iVar1 == 2) { + FUN_140032df0(param_1); + } + FUN_14002e770((longlong)(param_1 + 0xc)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140032f60.c b/decomp/Agent_Release_x64/full/functions/0x140032f60.c new file mode 100644 index 00000000..70678743 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140032f60.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140032f60 FUN_140032f60 + * Pseudocode, not original source. */ + +void FUN_140032f60(int *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + char cVar1; + DWORD DVar2; + char *pcVar3; + + DVar2 = GetCurrentThreadId(); + pcVar3 = "ErrReporter"; + FUN_140037ab0(DVar2,"ErrReporter"); + cVar1 = (char)param_1[0x20]; + while (cVar1 == '\0') { + FUN_140032ee0(param_1,pcVar3,param_3,param_4); + Sleep(5); + cVar1 = (char)param_1[0x20]; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140032fb0.c b/decomp/Agent_Release_x64/full/functions/0x140032fb0.c new file mode 100644 index 00000000..73c52833 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140032fb0.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140032fb0 FUN_140032fb0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140032fb0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined8 *puVar2; + code *pcVar3; + + puVar2 = param_1; + FUN_140030200(param_1,param_2,param_3,param_4); + param_1[1] = PTR_DAT_140155010; + param_1[2] = 0; + param_1[3] = Proud::CReportSocketDg::vftable; + FUN_140030200(puVar2,param_2,param_3,param_4); + param_1[4] = PTR_DAT_140155008; + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)(param_1 + 6),uVar1 & 0xffffffff, + CONCAT71((int7)((ulonglong)param_3 >> 8),1),param_4); + pcVar3 = FUN_140032f60; + puVar2 = param_1; + FUN_140037560(param_1 + 0x11,FUN_140032f60,param_1); + *param_1 = 3; + *(undefined1 *)(param_1 + 0x10) = 0; + FUN_140037760(param_1 + 0x11,pcVar3,puVar2,param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033060.c b/decomp/Agent_Release_x64/full/functions/0x140033060.c new file mode 100644 index 00000000..cc1faa6b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033060.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033060 FUN_140033060 + * Pseudocode, not original source. */ + +undefined * +FUN_140033060(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + bool bVar1; + bool bVar2; + + bVar1 = false; + bVar2 = FUN_14002e780((int *)&DAT_14015c148); + if (bVar2) { + if (DAT_140155340 == '\0') { + bVar1 = false; + } + else { + bVar1 = true; + FUN_14002e6e0((int *)&DAT_14015c148); + } + } + if ((DAT_14015c140 & 1) == 0) { + DAT_14015c140 = DAT_14015c140 | 1; + FUN_140032fb0((undefined8 *)&DAT_14015c080,param_2,param_3,param_4); + atexit((_func_5014 *)&LAB_1400f1560); + } + DAT_140155340 = 0; + if (bVar1) { + FUN_14002e770(0x14015c148); + } + return &DAT_14015c080; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033120.c b/decomp/Agent_Release_x64/full/functions/0x140033120.c new file mode 100644 index 00000000..21cb3a83 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033120.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033120 FUN_140033120 + * Pseudocode, not original source. */ + +void FUN_140033120(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + longlong *plVar2; + + piVar1 = (int *)FUN_140033060(param_1,param_2,param_3,param_4); + plVar2 = param_1; + FUN_140032080(piVar1,param_1,param_3,param_4); + FUN_140003240(param_1,plVar2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033170.c b/decomp/Agent_Release_x64/full/functions/0x140033170.c new file mode 100644 index 00000000..9c67e1b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033170.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033170 FUN_140033170 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140033170(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + + puVar1 = (undefined8 *)FUN_140030280(0x80); + if (puVar1 == (undefined8 *)0x0) { + puVar1 = (undefined8 *)0x0; + } + else { + puVar1 = FUN_140038060(puVar1,param_1,param_3,param_4); + } + return puVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400331b0.c b/decomp/Agent_Release_x64/full/functions/0x1400331b0.c new file mode 100644 index 00000000..c20c560d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400331b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400331b0 FUN_1400331b0 + * Pseudocode, not original source. */ + +void FUN_1400331b0(undefined8 *param_1) + +{ + *param_1 = Proud::CLookasideAllocator::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400331c0.c b/decomp/Agent_Release_x64/full/functions/0x1400331c0.c new file mode 100644 index 00000000..4139f637 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400331c0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400331c0 FUN_1400331c0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400331c0(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::CLookasideAllocator::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400331f0.c b/decomp/Agent_Release_x64/full/functions/0x1400331f0.c new file mode 100644 index 00000000..4d2f0707 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400331f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400331f0 FUN_1400331f0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400331f0(undefined8 *param_1) + +{ + *param_1 = Proud::CLookasideAllocator::vftable; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033200.c b/decomp/Agent_Release_x64/full/functions/0x140033200.c new file mode 100644 index 00000000..c8902926 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033200.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033200 FUN_140033200 + * Pseudocode, not original source. */ + +undefined8 * FUN_140033200(undefined8 *param_1) + +{ + *(undefined1 *)(param_1 + 1) = 0; + *(undefined4 *)((longlong)param_1 + 0xc) = 1; + *param_1 = 0; + param_1[2] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033220.c b/decomp/Agent_Release_x64/full/functions/0x140033220.c new file mode 100644 index 00000000..d8a21054 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033220.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033220 FUN_140033220 + * Pseudocode, not original source. */ + +void FUN_140033220(longlong param_1,undefined2 *param_2) + +{ + undefined2 uVar1; + + uVar1 = Ordinal_9(*(undefined2 *)(param_1 + 0xc)); + param_2[1] = uVar1; + *(undefined4 *)(param_2 + 2) = *(undefined4 *)(param_1 + 8); + *param_2 = 2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033260.c b/decomp/Agent_Release_x64/full/functions/0x140033260.c new file mode 100644 index 00000000..052c4bfb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033260.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033260 FUN_140033260 + * Pseudocode, not original source. */ + +void FUN_140033260(longlong param_1,longlong param_2) + +{ + undefined2 uVar1; + + *(undefined4 *)(param_1 + 8) = *(undefined4 *)(param_2 + 4); + uVar1 = Ordinal_15(*(undefined2 *)(param_2 + 2)); + *(undefined2 *)(param_1 + 0xc) = uVar1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033290.c b/decomp/Agent_Release_x64/full/functions/0x140033290.c new file mode 100644 index 00000000..e6b36a3c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033290.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033290 FUN_140033290 + * Pseudocode, not original source. */ + +ulonglong FUN_140033290(longlong param_1) + +{ + ushort uVar1; + uint uVar2; + ulonglong uVar3; + + uVar1 = *(ushort *)(param_1 + 0xc); + uVar3 = (ulonglong)uVar1; + if ((uVar1 != 0) && (uVar1 != 0xffff)) { + uVar2 = *(uint *)(param_1 + 8); + uVar3 = (ulonglong)uVar2; + if ((uVar2 != 0) && (uVar2 != 0xffffffff)) { + return CONCAT71((uint7)(uint3)(uVar2 >> 8),1); + } + } + return uVar3 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400332c0.c b/decomp/Agent_Release_x64/full/functions/0x1400332c0.c new file mode 100644 index 00000000..48ce4452 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400332c0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400332c0 FUN_1400332c0 + * Pseudocode, not original source. */ + +undefined * FUN_1400332c0(void) + +{ + bool bVar1; + bool bVar2; + + bVar1 = false; + bVar2 = FUN_14002e780((int *)&DAT_14015c218); + if (bVar2) { + if (DAT_140155380 == '\0') { + bVar1 = false; + } + else { + bVar1 = true; + FUN_14002e6e0((int *)&DAT_14015c218); + } + } + if ((DAT_14015c184 & 1) == 0) { + DAT_14015c184 = DAT_14015c184 | 1; + FUN_140034f00(&DAT_14015c180); + atexit((_func_5014 *)&LAB_1400f1570); + } + DAT_140155380 = 0; + if (bVar1) { + FUN_14002e770(0x14015c218); + } + return &DAT_14015c180; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033380.c b/decomp/Agent_Release_x64/full/functions/0x140033380.c new file mode 100644 index 00000000..3fefb10d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033380.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033380 FUN_140033380 + * Pseudocode, not original source. */ + +void FUN_140033380(undefined8 *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + undefined8 *puVar2; + int iVar3; + + if (0 < param_2) { + iVar3 = 0; + lVar1 = param_2; + puVar2 = param_1; + do { + if (puVar2 != (undefined8 *)0x0) { + FUN_140030200(param_1,lVar1,param_3,param_4); + *puVar2 = PTR_DAT_140155008; + } + iVar3 = iVar3 + 1; + puVar2 = puVar2 + 1; + } while (iVar3 < param_2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400333e0.c b/decomp/Agent_Release_x64/full/functions/0x1400333e0.c new file mode 100644 index 00000000..02dc4c99 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400333e0.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400333e0 FUN_1400333e0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400333e0(undefined8 *param_1,longlong *param_2,undefined2 param_3) + +{ + undefined4 uVar1; + undefined *puVar2; + + *param_1 = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 1) = 0; + *(undefined2 *)((longlong)param_1 + 0xc) = 0; + puVar2 = (undefined *)*param_2; + if ((undefined *)*param_2 == (undefined *)0x0) { + puVar2 = PTR_DAT_140155008; + } + uVar1 = Ordinal_11(puVar2); + *(undefined2 *)((longlong)param_1 + 0xc) = param_3; + *(undefined4 *)(param_1 + 1) = uVar1; + FUN_14001c020(param_2); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033450.c b/decomp/Agent_Release_x64/full/functions/0x140033450.c new file mode 100644 index 00000000..54194cee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033450.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033450 FUN_140033450 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 * +FUN_140033450(undefined8 *param_1,longlong *param_2,undefined2 param_3,undefined8 param_4) + +{ + undefined4 uVar1; + LPCWSTR pWVar2; + undefined8 uVar3; + undefined1 auStack_d8 [32]; + longlong *local_b8; + undefined8 local_b0; + undefined1 *local_a8; + undefined1 local_a0 [136]; + ulonglong local_18; + + local_b0 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_d8; + *param_1 = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 1) = 0; + *(undefined2 *)((longlong)param_1 + 0xc) = 0; + pWVar2 = (LPCWSTR)*param_2; + if ((LPCWSTR)*param_2 == (LPCWSTR)0x0) { + pWVar2 = (LPCWSTR)PTR_DAT_140155010; + } + local_a8 = local_a0; + uVar3 = 3; + local_b8 = param_2; + FUN_14002e8f0((longlong *)&local_a8,pWVar2,3); + uVar1 = Ordinal_11(local_a8); + *(undefined4 *)(param_1 + 1) = uVar1; + if (local_a8 != local_a0) { + free(local_a8); + } + *(undefined2 *)((longlong)param_1 + 0xc) = param_3; + FUN_140003240(param_2,pWVar2,uVar3,param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033530.c b/decomp/Agent_Release_x64/full/functions/0x140033530.c new file mode 100644 index 00000000..c64581f7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033530.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033530 FUN_140033530 + * Pseudocode, not original source. */ + +void FUN_140033530(longlong *param_1,char *param_2) + +{ + int iVar1; + int iVar2; + int iVar3; + int iVar4; + int iVar5; + undefined *puVar6; + + if (param_2 != (char *)0x0) { + iVar2 = FUN_140030120(param_2); + puVar6 = (undefined *)*param_1; + iVar4 = 0; + if ((puVar6 != (undefined *)0x0) && (iVar4 = 0, puVar6 != PTR_DAT_140155008)) { + iVar4 = *(int *)(puVar6 + -8); + } + iVar1 = iVar4 + iVar2; + iVar3 = 0; + if ((puVar6 != (undefined *)0x0) && (iVar3 = 0, puVar6 != PTR_DAT_140155008)) { + iVar3 = *(int *)(puVar6 + -8); + } + iVar5 = iVar1; + if (((iVar1 <= iVar3) && (iVar5 = 0, puVar6 != (undefined *)0x0)) && + (puVar6 != PTR_DAT_140155008)) { + iVar5 = *(int *)(puVar6 + -8); + } + iVar3 = 1; + if (1 < iVar5) { + iVar3 = iVar5; + } + iVar5 = 0; + if ((puVar6 != (undefined *)0x0) && (iVar5 = 0, puVar6 != PTR_DAT_140155008)) { + iVar5 = *(int *)(puVar6 + -8); + } + if (iVar5 < iVar3) { + FUN_14002ec40(param_1,iVar3); + } + FUN_14002eb30(param_1); + puVar6 = (undefined *)*param_1; + if ((undefined *)*param_1 == (undefined *)0x0) { + puVar6 = PTR_DAT_140155008; + } + FUN_140030150(puVar6 + iVar4,param_2,iVar2); + FUN_14002ea30(param_1,iVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033620.c b/decomp/Agent_Release_x64/full/functions/0x140033620.c new file mode 100644 index 00000000..a4238ba4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033620.c @@ -0,0 +1,142 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033620 FUN_140033620 + * Pseudocode, not original source. */ + +longlong * FUN_140033620(longlong *param_1) + +{ + int *piVar1; + uchar *puVar2; + undefined *puVar3; + int iVar4; + int iVar5; + uchar *_Ptr; + uchar *puVar6; + int iVar7; + undefined *_Dst; + + _Ptr = (uchar *)*param_1; + if ((uchar *)*param_1 == (uchar *)0x0) { + _Ptr = PTR_DAT_140155008; + } + iVar4 = FUN_1400301f0(*_Ptr); + while (iVar4 != 0) { + _Ptr = _mbsinc(_Ptr); + iVar4 = FUN_1400301f0(*_Ptr); + } + puVar2 = (uchar *)*param_1; + puVar6 = puVar2; + if (puVar2 == (uchar *)0x0) { + puVar6 = PTR_DAT_140155008; + } + if (_Ptr != puVar6) { + iVar4 = (int)puVar2; + if (puVar2 == (uchar *)0x0) { + iVar4 = (int)PTR_DAT_140155008; + } + iVar4 = (int)_Ptr - iVar4; + if (puVar2 == (uchar *)0x0) { + iVar5 = 0; + } + else if (puVar2 == PTR_DAT_140155008) { + iVar5 = 0; + } + else { + iVar5 = *(int *)(puVar2 + -8); + } + if (puVar2 == (uchar *)0x0) { + iVar7 = 0; + } + else if (puVar2 == PTR_DAT_140155008) { + iVar7 = 0; + } + else { + iVar7 = *(int *)(puVar2 + -8); + } + if (iVar5 <= iVar7) { + if (puVar2 == (uchar *)0x0) { + iVar5 = 0; + } + else if (puVar2 == PTR_DAT_140155008) { + iVar5 = 0; + } + else { + iVar5 = *(int *)(puVar2 + -8); + } + } + iVar7 = 1; + if (1 < iVar5) { + iVar7 = iVar5; + } + if (puVar2 == (uchar *)0x0) { + iVar5 = 0; + } + else if (puVar2 == PTR_DAT_140155008) { + iVar5 = 0; + } + else { + iVar5 = *(int *)(puVar2 + -8); + } + if (iVar5 < iVar7) { + FUN_14002ec40(param_1,iVar7); + } + FUN_14002eb30(param_1); + puVar3 = (undefined *)*param_1; + _Dst = puVar3; + if (puVar3 == (undefined *)0x0) { + _Dst = PTR_DAT_140155008; + } + if (puVar3 == (undefined *)0x0) { + iVar5 = 0; + } + else if (puVar3 == PTR_DAT_140155008) { + iVar5 = 0; + } + else { + iVar5 = *(int *)(puVar3 + -8); + } + iVar5 = iVar5 - iVar4; + if (puVar3 == (undefined *)0x0) { + iVar7 = 0; + } + else if (puVar3 == PTR_DAT_140155008) { + iVar7 = 0; + } + else { + iVar7 = *(int *)(puVar3 + -8); + } + memmove_s(_Dst,(longlong)(iVar7 + 1),_Dst + iVar4,(longlong)(iVar5 + 1)); + puVar3 = (undefined *)*param_1; + iVar4 = 0; + if (0 < iVar5) { + iVar4 = iVar5; + } + if (puVar3 == (undefined *)0x0) { + iVar5 = 0; + } + else if (puVar3 == PTR_DAT_140155008) { + iVar5 = 0; + } + else { + iVar5 = *(int *)(puVar3 + -8); + } + if (iVar5 <= iVar4) { + if (puVar3 == (undefined *)0x0) { + iVar4 = 0; + } + else if (puVar3 == PTR_DAT_140155008) { + iVar4 = 0; + } + else { + iVar4 = *(int *)(puVar3 + -8); + } + } + if (((puVar3 != PTR_DAT_140155008) && (puVar3 != (undefined *)0x0)) && + (piVar1 = (int *)(puVar3 + -8), piVar1 != (int *)0x0)) { + *piVar1 = iVar4; + *(undefined1 *)((longlong)iVar4 + 8 + (longlong)piVar1) = 0; + } + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400337e0.c b/decomp/Agent_Release_x64/full/functions/0x1400337e0.c new file mode 100644 index 00000000..836dee72 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400337e0.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400337e0 FUN_1400337e0 + * Pseudocode, not original source. */ + +void FUN_1400337e0(longlong *param_1,int param_2) + +{ + int *piVar1; + undefined *puVar2; + int iVar3; + int iVar4; + + FUN_14002edf0(param_1,param_2); + puVar2 = (undefined *)*param_1; + iVar3 = 0; + if (0 < param_2) { + iVar3 = param_2; + } + if (puVar2 == (undefined *)0x0) { + iVar4 = 0; + } + else if (puVar2 == PTR_DAT_140155008) { + iVar4 = 0; + } + else { + iVar4 = *(int *)(puVar2 + -8); + } + if (iVar4 <= iVar3) { + if (puVar2 == (undefined *)0x0) { + iVar3 = 0; + } + else if (puVar2 == PTR_DAT_140155008) { + iVar3 = 0; + } + else { + iVar3 = *(int *)(puVar2 + -8); + } + } + if (((puVar2 != PTR_DAT_140155008) && (puVar2 != (undefined *)0x0)) && + (piVar1 = (int *)(puVar2 + -8), piVar1 != (int *)0x0)) { + *piVar1 = iVar3; + *(undefined1 *)((longlong)iVar3 + 8 + (longlong)piVar1) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033860.c b/decomp/Agent_Release_x64/full/functions/0x140033860.c new file mode 100644 index 00000000..0b1d49a3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033860.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033860 FUN_140033860 + * Pseudocode, not original source. */ + +void FUN_140033860(longlong param_1,longlong param_2) + +{ + ulonglong uVar1; + uint uVar2; + ulonglong uVar3; + + if (0 < param_2) { + uVar1 = 0; + uVar3 = uVar1; + do { + FUN_14001c020((longlong *)(param_1 + uVar1 * 8)); + uVar2 = (int)uVar3 + 1; + uVar3 = (ulonglong)uVar2; + uVar1 = (ulonglong)(int)uVar2; + } while ((longlong)uVar1 < param_2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400338b0.c b/decomp/Agent_Release_x64/full/functions/0x1400338b0.c new file mode 100644 index 00000000..4263c1ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400338b0.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400338b0 FUN_1400338b0 + * Pseudocode, not original source. */ + +longlong * FUN_1400338b0(longlong *param_1) + +{ + uchar uVar1; + int iVar2; + uchar *_Ptr; + undefined *puVar3; + uchar *puVar4; + + _Ptr = (uchar *)*param_1; + if ((uchar *)*param_1 == (uchar *)0x0) { + _Ptr = PTR_DAT_140155008; + } + puVar4 = (uchar *)0x0; + uVar1 = *_Ptr; + if (uVar1 != '\0') { + do { + iVar2 = FUN_1400301f0(uVar1); + if (iVar2 == 0) { + puVar4 = (uchar *)0x0; + } + else if (puVar4 == (uchar *)0x0) { + puVar4 = _Ptr; + } + _Ptr = _mbsinc(_Ptr); + uVar1 = *_Ptr; + } while (uVar1 != '\0'); + if (puVar4 != (uchar *)0x0) { + puVar3 = (undefined *)*param_1; + if ((undefined *)*param_1 == (undefined *)0x0) { + puVar3 = PTR_DAT_140155008; + } + FUN_1400337e0(param_1,(int)puVar4 - (int)puVar3); + } + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033940.c b/decomp/Agent_Release_x64/full/functions/0x140033940.c new file mode 100644 index 00000000..af0f2ceb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033940.c @@ -0,0 +1,104 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033940 FUN_140033940 + * Pseudocode, not original source. */ + +void FUN_140033940(longlong param_1,uint param_2,longlong param_3,undefined8 param_4) + +{ + uint uVar1; + int iVar2; + LPVOID pvVar3; + int iVar4; + undefined8 *puVar5; + longlong *plVar6; + longlong *plVar7; + longlong *plVar8; + int iVar9; + longlong lVar10; + longlong *plVar11; + exception local_88 [80]; + + if ((int)param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar1 = *(uint *)(param_1 + 0x18); + if (param_2 != uVar1) { + if (*(int *)(param_1 + 0x1c) < (int)param_2) { + plVar8 = (longlong *)(ulonglong)param_2; + iVar4 = FUN_1400854f0(param_1,param_2); + lVar10 = (longlong)iVar4; + plVar7 = *(longlong **)(param_1 + 8); + if (*(int *)(param_1 + 0x1c) == 0) { + if (plVar7 == (longlong *)0x0) { + puVar5 = (undefined8 *)FUN_140030280(lVar10 << 3); + } + else { + param_3 = *plVar7; + puVar5 = (undefined8 *)(**(code **)(param_3 + 8))(plVar7,lVar10 << 3); + } + *(undefined8 **)(param_1 + 0x10) = puVar5; + FUN_140033380(puVar5,(longlong)(int)param_2,param_3,param_4); + } + else { + pvVar3 = *(LPVOID *)(param_1 + 0x10); + if (plVar7 == (longlong *)0x0) { + plVar7 = (longlong *)(lVar10 << 3); + plVar6 = (longlong *)FUN_140030280((SIZE_T)plVar7); + } + else { + plVar8 = (longlong *)(lVar10 << 3); + plVar6 = (longlong *)(**(code **)(*plVar7 + 8))(); + } + iVar2 = *(int *)(param_1 + 0x18); + iVar9 = 0; + if (0 < (longlong)iVar2) { + lVar10 = 0; + plVar11 = plVar6; + do { + if (plVar11 != (longlong *)0x0) { + FUN_140030200(plVar7,plVar8,param_3,param_4); + *plVar11 = (longlong)PTR_DAT_140155008; + plVar8 = (longlong *)((longlong)pvVar3 + lVar10 * 8); + plVar7 = plVar11; + FUN_14001bf80(plVar11,plVar8,param_3,param_4); + } + iVar9 = iVar9 + 1; + plVar11 = plVar11 + 1; + lVar10 = (longlong)iVar9; + } while (lVar10 < iVar2); + } + FUN_140033380(plVar6 + *(int *)(param_1 + 0x18), + (longlong)(int)(param_2 - *(int *)(param_1 + 0x18)),param_3,param_4); + if (plVar6 == (longlong *)0x0) { + FUN_14002f1e0(local_88,L"Memory allocation failure!",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_88,(ThrowInfo *)&DAT_140151b88); + } + FUN_140033860((longlong)pvVar3,(longlong)*(int *)(param_1 + 0x18)); + plVar8 = *(longlong **)(param_1 + 8); + if (plVar8 == (longlong *)0x0) { + FUN_1400302f0(pvVar3); + } + else { + (**(code **)(*plVar8 + 0x18))(plVar8,pvVar3); + } + *(longlong **)(param_1 + 0x10) = plVar6; + } + *(int *)(param_1 + 0x1c) = iVar4; + } + else if ((int)(uVar1 - param_2) < 1) { + if (0 < (int)(param_2 - uVar1)) { + FUN_140033380((undefined8 *)(*(longlong *)(param_1 + 0x10) + (longlong)(int)uVar1 * 8), + (longlong)(int)(param_2 - uVar1),param_3,param_4); + } + } + else { + FUN_140033860(*(longlong *)(param_1 + 0x10) + (longlong)(int)param_2 * 8, + (longlong)(int)(uVar1 - param_2)); + } + *(uint *)(param_1 + 0x18) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033b30.c b/decomp/Agent_Release_x64/full/functions/0x140033b30.c new file mode 100644 index 00000000..3bbc7088 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033b30.c @@ -0,0 +1,81 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033b30 FUN_140033b30 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +longlong * FUN_140033b30(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + ushort uVar1; + undefined4 uVar2; + int *piVar3; + uint uVar4; + undefined8 uVar5; + undefined *puVar6; + int *piVar7; + short **ppsVar8; + short *psVar9; + int *piVar10; + short *psVar11; + ulonglong uVar12; + ulonglong uVar13; + undefined1 auStack_188 [32]; + undefined4 local_168; + int *local_160; + undefined1 local_158; + undefined8 local_150; + longlong *local_148; + short *local_138; + short local_130 [132]; + ulonglong local_28; + + local_150 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_188; + local_168 = 0; + uVar2 = *(undefined4 *)(param_1 + 8); + local_148 = param_2; + FUN_140030200(param_1,param_2,param_3,param_4); + local_160 = (int *)PTR_DAT_140155008; + uVar1 = *(ushort *)(param_1 + 0xc); + uVar5 = Ordinal_12(uVar2); + uVar13 = (ulonglong)uVar1; + FUN_140031ea0((longlong *)&local_160,"%s:%d",uVar5,uVar13); + piVar3 = local_160; + piVar10 = local_160; + if (local_160 == (int *)0x0) { + piVar10 = (int *)PTR_DAT_140155008; + } + local_138 = local_130; + uVar5 = 3; + ppsVar8 = &local_138; + FUN_14002a670((longlong *)ppsVar8,(LPCSTR)piVar10,3); + psVar11 = local_138; + FUN_140030200(ppsVar8,piVar10,uVar5,uVar13); + *param_2 = (longlong)PTR_DAT_140155010; + uVar4 = FUN_140030080(psVar11); + puVar6 = FUN_140002f90(param_2,uVar4); + uVar12 = (ulonglong)uVar4; + FUN_1400300b0(puVar6,psVar11,uVar4); + FUN_140003070(param_2); + local_168 = 1; + psVar9 = local_138; + if (local_138 != local_130) { + free(local_138); + } + if (((piVar3 != (int *)0x0) && (piVar3 != (int *)PTR_DAT_140155008)) && + (piVar3 + -2 != (int *)0x0)) { + piVar7 = (int *)FUN_140030200(psVar9,psVar11,uVar12,uVar13); + local_160 = piVar7; + FUN_14002e6e0(piVar7); + local_158 = 1; + piVar10 = piVar3 + -1; + *piVar10 = *piVar10 + -1; + if (*piVar10 == 0) { + FUN_1400302f0(piVar3 + -2); + } + FUN_14002e770((longlong)piVar7); + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033ca0.c b/decomp/Agent_Release_x64/full/functions/0x140033ca0.c new file mode 100644 index 00000000..13028f84 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033ca0.c @@ -0,0 +1,78 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033ca0 FUN_140033ca0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +longlong * FUN_140033ca0(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined4 uVar1; + int *piVar2; + uint uVar3; + char *pcVar4; + undefined *puVar5; + int *piVar6; + short **ppsVar7; + short *psVar8; + int *piVar9; + short *psVar10; + undefined8 uVar11; + ulonglong uVar12; + undefined1 auStack_188 [32]; + undefined4 local_168; + int *local_160; + undefined1 local_158; + undefined8 local_150; + longlong *local_148; + short *local_138; + short local_130 [132]; + ulonglong local_28; + + local_150 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_188; + local_168 = 0; + uVar1 = *(undefined4 *)(param_1 + 8); + local_148 = param_2; + FUN_140030200(param_1,param_2,param_3,param_4); + local_160 = (int *)PTR_DAT_140155008; + pcVar4 = (char *)Ordinal_12(uVar1); + FUN_14002efe0((longlong *)&local_160,pcVar4); + piVar2 = local_160; + piVar9 = local_160; + if (local_160 == (int *)0x0) { + piVar9 = (int *)PTR_DAT_140155008; + } + local_138 = local_130; + uVar11 = 3; + ppsVar7 = &local_138; + FUN_14002a670((longlong *)ppsVar7,(LPCSTR)piVar9,3); + psVar10 = local_138; + FUN_140030200(ppsVar7,piVar9,uVar11,param_4); + *param_2 = (longlong)PTR_DAT_140155010; + uVar3 = FUN_140030080(psVar10); + puVar5 = FUN_140002f90(param_2,uVar3); + uVar12 = (ulonglong)uVar3; + FUN_1400300b0(puVar5,psVar10,uVar3); + FUN_140003070(param_2); + local_168 = 1; + psVar8 = local_138; + if (local_138 != local_130) { + free(local_138); + } + if (((piVar2 != (int *)0x0) && (piVar2 != (int *)PTR_DAT_140155008)) && + (piVar2 + -2 != (int *)0x0)) { + piVar6 = (int *)FUN_140030200(psVar8,psVar10,uVar12,param_4); + local_160 = piVar6; + FUN_14002e6e0(piVar6); + local_158 = 1; + piVar9 = piVar2 + -1; + *piVar9 = *piVar9 + -1; + if (*piVar9 == 0) { + FUN_1400302f0(piVar2 + -2); + } + FUN_14002e770((longlong)piVar6); + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033e00.c b/decomp/Agent_Release_x64/full/functions/0x140033e00.c new file mode 100644 index 00000000..bde0251e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033e00.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033e00 FUN_140033e00 + * Pseudocode, not original source. */ + +longlong * FUN_140033e00(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + char *pcVar2; + undefined *puVar3; + ulonglong uVar4; + longlong *plVar5; + + uVar4 = (ulonglong)*(uint *)(param_1 + 8); + plVar5 = param_2; + pcVar2 = (char *)Ordinal_12(); + FUN_140030200(uVar4,plVar5,param_3,param_4); + *param_2 = (longlong)PTR_DAT_140155008; + iVar1 = FUN_140030120(pcVar2); + puVar3 = FUN_14002edf0(param_2,iVar1); + FUN_140030150(puVar3,pcVar2,iVar1); + FUN_14002eab0(param_2); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033e80.c b/decomp/Agent_Release_x64/full/functions/0x140033e80.c new file mode 100644 index 00000000..f1299db3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033e80.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033e80 FUN_140033e80 + * Pseudocode, not original source. */ + +longlong * FUN_140033e80(longlong *param_1,char *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140030200(param_1,param_2,param_3,param_4); + *param_1 = (longlong)PTR_DAT_140155008; + FUN_14002efe0(param_1,param_2); + *(short *)(param_1 + 1) = (short)param_3; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033ef0.c b/decomp/Agent_Release_x64/full/functions/0x140033ef0.c new file mode 100644 index 00000000..b099303c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033ef0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033ef0 FUN_140033ef0 + * Pseudocode, not original source. */ + +longlong * FUN_140033ef0(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + longlong *plVar2; + int *piVar3; + longlong *plVar4; + undefined *local_res18; + + FUN_140030200(param_1,param_2,param_3,param_4); + *param_1 = (longlong)PTR_DAT_140155008; + plVar2 = FUN_140033e00(param_2,(longlong *)&local_res18,param_3,param_4); + plVar4 = param_1; + FUN_14001bf80(param_1,plVar2,param_3,param_4); + if (((local_res18 != (undefined *)0x0) && (local_res18 != PTR_DAT_140155008)) && + (local_res18 + -8 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(plVar4,plVar2,param_3,param_4); + FUN_14002e6e0(piVar3); + piVar1 = (int *)(local_res18 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_res18 + -8); + } + FUN_14002e770((longlong)piVar3); + } + *(undefined2 *)(param_1 + 1) = *(undefined2 *)(param_2 + 0xc); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140033fb0.c b/decomp/Agent_Release_x64/full/functions/0x140033fb0.c new file mode 100644 index 00000000..04c0e2d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140033fb0.c @@ -0,0 +1,80 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140033fb0 FUN_140033fb0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +longlong * FUN_140033fb0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + uint uVar2; + undefined *puVar3; + int *piVar4; + short **ppsVar5; + short *psVar6; + int *piVar7; + short *psVar8; + undefined8 uVar9; + ulonglong uVar10; + ulonglong uVar11; + undefined1 auStack_188 [32]; + undefined4 local_168; + int *local_160; + undefined1 local_158; + undefined8 local_150; + longlong *local_148; + short *local_138; + short local_130 [132]; + ulonglong local_28; + + local_150 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_188; + local_168 = 0; + local_148 = param_2; + FUN_140030200(param_1,param_2,param_3,param_4); + local_160 = (int *)PTR_DAT_140155008; + puVar3 = (undefined *)*param_1; + if ((undefined *)*param_1 == (undefined *)0x0) { + puVar3 = PTR_DAT_140155008; + } + uVar11 = (ulonglong)*(ushort *)(param_1 + 1); + FUN_140031ea0((longlong *)&local_160,"%s:%d",puVar3,uVar11); + piVar1 = local_160; + piVar7 = local_160; + if (local_160 == (int *)0x0) { + piVar7 = (int *)PTR_DAT_140155008; + } + local_138 = local_130; + uVar9 = 3; + ppsVar5 = &local_138; + FUN_14002a670((longlong *)ppsVar5,(LPCSTR)piVar7,3); + psVar8 = local_138; + FUN_140030200(ppsVar5,piVar7,uVar9,uVar11); + *param_2 = (longlong)PTR_DAT_140155010; + uVar2 = FUN_140030080(psVar8); + puVar3 = FUN_140002f90(param_2,uVar2); + uVar10 = (ulonglong)uVar2; + FUN_1400300b0(puVar3,psVar8,uVar2); + FUN_140003070(param_2); + local_168 = 1; + psVar6 = local_138; + if (local_138 != local_130) { + free(local_138); + } + if (((piVar1 != (int *)0x0) && (piVar1 != (int *)PTR_DAT_140155008)) && + (piVar1 + -2 != (int *)0x0)) { + piVar4 = (int *)FUN_140030200(psVar6,psVar8,uVar10,uVar11); + local_160 = piVar4; + FUN_14002e6e0(piVar4); + local_158 = 1; + piVar7 = piVar1 + -1; + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(piVar1 + -2); + } + FUN_14002e770((longlong)piVar4); + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034120.c b/decomp/Agent_Release_x64/full/functions/0x140034120.c new file mode 100644 index 00000000..0b285519 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034120.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034120 FUN_140034120 + * Pseudocode, not original source. */ + +void FUN_140034120(longlong *param_1,char *param_2) + +{ + char cVar1; + longlong lVar2; + char *pcVar3; + + if (param_2 != (char *)0x0) { + lVar2 = -1; + pcVar3 = param_2; + do { + if (lVar2 == 0) break; + lVar2 = lVar2 + -1; + cVar1 = *pcVar3; + pcVar3 = pcVar3 + 1; + } while (cVar1 != '\0'); + if (lVar2 != -2) { + FUN_14002efe0(param_1,param_2); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034160.c b/decomp/Agent_Release_x64/full/functions/0x140034160.c new file mode 100644 index 00000000..db1df991 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034160.c @@ -0,0 +1,135 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034160 FUN_140034160 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +longlong * FUN_140034160(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined *puVar1; + int *piVar2; + LPCSTR pCVar3; + int iVar4; + longlong lVar5; + LPCSTR *ppCVar6; + undefined *puVar7; + int *piVar8; + short **ppsVar9; + short *psVar10; + undefined **ppuVar11; + LPCSTR pCVar12; + short *psVar13; + uint uVar14; + ulonglong uVar15; + ulonglong uVar16; + undefined8 uVar17; + undefined1 auStack_208 [32]; + undefined *local_1e8; + LPCSTR local_1e0; + LPCSTR *local_1d8; + undefined1 local_1d0; + undefined8 local_1c8; + short *local_1b8; + short local_1b0 [132]; + LPCSTR local_a8 [16]; + ulonglong local_28; + + local_1c8 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_208; + uVar15 = 0; + local_1e8 = (undefined *)((ulonglong)local_1e8 & 0xffffffff00000000); + ppuVar11 = (undefined **)0x80; + ppCVar6 = local_a8; + iVar4 = Ordinal_57(); + if (iVar4 == 0) { + ppCVar6 = local_a8; + lVar5 = Ordinal_52(); + if ((lVar5 != 0) && (ppCVar6 = *(LPCSTR **)(lVar5 + 0x18), *ppCVar6 != (LPCSTR)0x0)) { + FUN_140030200(ppCVar6,ppuVar11,param_3,param_4); + local_1e0 = PTR_DAT_140155008; + uVar16 = uVar15; + if (0 < *(short *)(lVar5 + 0x12)) { + do { + FUN_140030200(ppCVar6,ppuVar11,param_3,param_4); + local_1e8 = PTR_DAT_140155008; + if (0 < (longlong)uVar16) { + FUN_140033530((longlong *)&local_1e0,"."); + } + param_3 = (ulonglong)*(byte *)(**(longlong **)(lVar5 + 0x18) + uVar16); + FUN_140031ea0((longlong *)&local_1e8,"%u",param_3,param_4); + ppuVar11 = &local_1e8; + ppCVar6 = &local_1e0; + FUN_140031d10((longlong *)ppCVar6,(longlong *)ppuVar11); + puVar7 = local_1e8; + if (((local_1e8 != (undefined *)0x0) && (local_1e8 != PTR_DAT_140155008)) && + (puVar1 = local_1e8 + -8, puVar1 != (undefined *)0x0)) { + ppCVar6 = (LPCSTR *)FUN_140030200(ppCVar6,ppuVar11,param_3,param_4); + local_1d8 = ppCVar6; + FUN_14002e6e0((int *)ppCVar6); + local_1d0 = 1; + piVar2 = (int *)(puVar7 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)ppCVar6); + local_1d0 = 0; + } + uVar14 = (int)uVar15 + 1; + uVar15 = (ulonglong)uVar14; + uVar16 = uVar16 + 1; + } while ((int)uVar14 < (int)*(short *)(lVar5 + 0x12)); + } + pCVar3 = local_1e0; + pCVar12 = local_1e0; + if (local_1e0 == (LPCSTR)0x0) { + pCVar12 = PTR_DAT_140155008; + } + local_1b8 = local_1b0; + uVar17 = 3; + ppsVar9 = &local_1b8; + FUN_14002a670((longlong *)ppsVar9,pCVar12,3); + psVar13 = local_1b8; + FUN_140030200(ppsVar9,pCVar12,uVar17,param_4); + *param_1 = (longlong)PTR_DAT_140155010; + uVar14 = FUN_140030080(psVar13); + puVar7 = FUN_140002f90(param_1,uVar14); + uVar15 = (ulonglong)uVar14; + FUN_1400300b0(puVar7,psVar13,uVar14); + FUN_140003070(param_1); + psVar10 = local_1b8; + if (local_1b8 != local_1b0) { + free(local_1b8); + } + if (pCVar3 == (LPCSTR)0x0) { + return param_1; + } + if (pCVar3 == PTR_DAT_140155008) { + return param_1; + } + if (pCVar3 + -8 == (LPCSTR)0x0) { + return param_1; + } + piVar8 = (int *)FUN_140030200(psVar10,psVar13,uVar15,param_4); + local_1d8 = (LPCSTR *)piVar8; + FUN_14002e6e0(piVar8); + local_1d0 = 1; + piVar2 = (int *)(pCVar3 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(pCVar3 + -8); + } + FUN_14002e770((longlong)piVar8); + return param_1; + } + } + FUN_140030200(ppCVar6,ppuVar11,param_3,param_4); + *param_1 = (longlong)PTR_DAT_140155010; + iVar4 = FUN_140030080(&DAT_14011e014); + puVar7 = FUN_140002f90(param_1,iVar4); + FUN_1400300b0(puVar7,&DAT_14011e014,iVar4); + FUN_140003070(param_1); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034400.c b/decomp/Agent_Release_x64/full/functions/0x140034400.c new file mode 100644 index 00000000..7159bd17 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034400.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034400 FUN_140034400 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined4 * +FUN_140034400(undefined4 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + LPCWSTR pWVar1; + undefined2 uVar2; + undefined4 uVar3; + ulonglong uVar4; + LPCWSTR pWVar5; + undefined8 uVar6; + LPCWSTR pWVar7; + ulonglong uVar8; + undefined8 uVar9; + undefined1 auStack_e8 [32]; + LPCWSTR local_c8; + undefined1 local_c0; + undefined8 local_b8; + undefined4 *local_b0; + undefined1 *local_a8; + undefined1 local_a0 [136]; + ulonglong local_18; + + local_b8 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_e8; + local_b0 = param_1; + uVar4 = FUN_14002e790(); + uVar4 = uVar4 & 0xffffffff; + uVar8 = CONCAT71((int7)((ulonglong)param_3 >> 8),1); + FUN_14002e600(param_1,uVar4,uVar8,param_4); + *(undefined ***)(param_1 + 0xe) = Proud::AddrPort::vftable; + param_1[0x10] = 0; + *(undefined2 *)(param_1 + 0x11) = 0; + FUN_1400332c0(); + FUN_140034160((longlong *)&local_c8,uVar4,uVar8,param_4); + pWVar1 = local_c8; + pWVar5 = local_c8; + if (local_c8 == (LPCWSTR)0x0) { + pWVar5 = (LPCWSTR)PTR_DAT_140155010; + } + local_a8 = local_a0; + uVar9 = 3; + FUN_14002e8f0((longlong *)&local_a8,pWVar5,3); + uVar3 = Ordinal_11(local_a8); + if (local_a8 != local_a0) { + free(local_a8); + } + param_1[0x10] = uVar3; + uVar6 = 0; + uVar2 = Ordinal_9(); + *(undefined2 *)(param_1 + 0x11) = uVar2; + if (((local_c8 != (LPCWSTR)0x0) && (local_c8 != (LPCWSTR)PTR_DAT_140155010)) && + (pWVar7 = local_c8 + -4, pWVar7 != (LPCWSTR)0x0)) { + pWVar5 = (LPCWSTR)FUN_140030200(uVar6,pWVar5,uVar9,param_4); + local_c8 = pWVar5; + FUN_14002e6e0((int *)pWVar5); + local_c0 = 1; + pWVar1 = pWVar1 + -2; + *(int *)pWVar1 = *(int *)pWVar1 + -1; + if (*(int *)pWVar1 == 0) { + FUN_1400302f0(pWVar7); + } + FUN_14002e770((longlong)pWVar5); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034540.c b/decomp/Agent_Release_x64/full/functions/0x140034540.c new file mode 100644 index 00000000..59f95210 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034540.c @@ -0,0 +1,48 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034540 FUN_140034540 + * Pseudocode, not original source. */ + +ulonglong FUN_140034540(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + longlong *plVar2; + ulonglong uVar3; + undefined4 extraout_var; + undefined4 extraout_var_00; + undefined4 extraout_var_01; + byte *pbVar4; + + plVar2 = FUN_1400338b0(param_1); + plVar2 = FUN_140033620(plVar2); + uVar3 = FUN_14001bf80(param_1,plVar2,param_3,param_4); + if (((short)param_1[1] != 0) && (uVar3 = 0xffff, (short)param_1[1] != -1)) { + pbVar4 = (byte *)*param_1; + if ((byte *)*param_1 == (byte *)0x0) { + pbVar4 = PTR_DAT_140155008; + } + iVar1 = FUN_140030180(pbVar4,0x14011e21c); + uVar3 = CONCAT44(extraout_var,iVar1); + if (iVar1 != 0) { + pbVar4 = (byte *)*param_1; + if ((byte *)*param_1 == (byte *)0x0) { + pbVar4 = PTR_DAT_140155008; + } + iVar1 = FUN_140030180(pbVar4,0x1400f4620); + uVar3 = CONCAT44(extraout_var_00,iVar1); + if (iVar1 != 0) { + pbVar4 = (byte *)*param_1; + if ((byte *)*param_1 == (byte *)0x0) { + pbVar4 = PTR_DAT_140155008; + } + iVar1 = FUN_140030180(pbVar4,0x1400f4610); + uVar3 = CONCAT44(extraout_var_01,iVar1); + if (iVar1 != 0) { + return CONCAT71((int7)(uVar3 >> 8),1); + } + } + } + } + return uVar3 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400345f0.c b/decomp/Agent_Release_x64/full/functions/0x1400345f0.c new file mode 100644 index 00000000..27994b5d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400345f0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400345f0 FUN_1400345f0 + * Pseudocode, not original source. */ + +undefined * +FUN_1400345f0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + bool bVar1; + bool bVar2; + + bVar1 = false; + bVar2 = FUN_14002e780((int *)&DAT_14015c1e0); + if (bVar2) { + if (DAT_1401553c0 == '\0') { + bVar1 = false; + } + else { + bVar1 = true; + FUN_14002e6e0((int *)&DAT_14015c1e0); + } + } + if ((DAT_14015c1d8 & 1) == 0) { + DAT_14015c1d8 = DAT_14015c1d8 | 1; + FUN_140034400((undefined4 *)&DAT_14015c190,param_2,param_3,param_4); + atexit((_func_5014 *)&LAB_1400f15a0); + } + DAT_1401553c0 = 0; + if (bVar1) { + FUN_14002e770(0x14015c1e0); + } + return &DAT_14015c190; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400346b0.c b/decomp/Agent_Release_x64/full/functions/0x1400346b0.c new file mode 100644 index 00000000..bf94f7ac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400346b0.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400346b0 FUN_1400346b0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400346b0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined2 uVar1; + undefined4 uVar2; + undefined *puVar3; + + puVar3 = FUN_1400345f0(param_1,param_2,param_3,param_4); + uVar2 = *(undefined4 *)(puVar3 + 0x40); + uVar1 = *(undefined2 *)(puVar3 + 0x44); + *param_1 = Proud::AddrPort::vftable; + *(undefined2 *)((longlong)param_1 + 0xc) = uVar1; + *(undefined4 *)(param_1 + 1) = uVar2; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400346e0.c b/decomp/Agent_Release_x64/full/functions/0x1400346e0.c new file mode 100644 index 00000000..da0b60d9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400346e0.c @@ -0,0 +1,138 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400346e0 FUN_1400346e0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400346e0(longlong param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined *puVar1; + int *piVar2; + undefined *puVar3; + int iVar4; + longlong lVar5; + undefined **ppuVar6; + longlong lVar7; + longlong lVar8; + int *piVar9; + longlong *plVar10; + undefined **ppuVar11; + uint uVar12; + int iVar14; + ulonglong uVar15; + longlong lVar16; + longlong lVar17; + longlong lVar18; + undefined1 auStack_128 [32]; + undefined *local_108; + undefined *local_100; + longlong local_f8; + longlong local_f0; + undefined **local_e8; + undefined1 local_e0; + int *local_d8; + undefined1 local_d0; + undefined8 local_c8; + undefined1 local_b8 [128]; + ulonglong local_38; + ulonglong uVar13; + + local_c8 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_128; + local_f8 = param_1; + FUN_1400332c0(); + FUN_140033940(param_1,0,param_3,param_4); + ppuVar11 = (undefined **)0x80; + iVar4 = Ordinal_57(local_b8); + if ((iVar4 == 0) && (lVar5 = Ordinal_52(local_b8), lVar5 != 0)) { + lVar18 = 0; + local_f0 = lVar5; + while( true ) { + uVar13 = 0; + ppuVar6 = *(undefined ***)(lVar5 + 0x18); + if (*(longlong *)(lVar18 + (longlong)ppuVar6) == 0) break; + FUN_140030200(ppuVar6,ppuVar11,param_3,param_4); + local_108 = PTR_DAT_140155008; + uVar15 = uVar13; + if (0 < *(short *)(lVar5 + 0x12)) { + do { + FUN_140030200(ppuVar6,ppuVar11,param_3,param_4); + local_100 = PTR_DAT_140155008; + if (0 < (longlong)uVar15) { + FUN_140033530((longlong *)&local_108,"."); + } + param_3 = (ulonglong) + *(byte *)(*(longlong *)(lVar18 + *(longlong *)(lVar5 + 0x18)) + uVar15); + FUN_140031ea0((longlong *)&local_100,"%u",param_3,param_4); + ppuVar11 = &local_100; + ppuVar6 = &local_108; + FUN_140031d10((longlong *)ppuVar6,(longlong *)ppuVar11); + puVar3 = local_100; + if (((local_100 != (undefined *)0x0) && (local_100 != PTR_DAT_140155008)) && + (puVar1 = local_100 + -8, puVar1 != (undefined *)0x0)) { + ppuVar6 = (undefined **)FUN_140030200(ppuVar6,ppuVar11,param_3,param_4); + local_e8 = ppuVar6; + FUN_14002e6e0((int *)ppuVar6); + local_e0 = 1; + piVar2 = (int *)(puVar3 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)ppuVar6); + local_e0 = 0; + } + uVar12 = (int)uVar13 + 1; + uVar13 = (ulonglong)uVar12; + uVar15 = uVar15 + 1; + } while ((int)uVar12 < (int)*(short *)(lVar5 + 0x12)); + } + puVar3 = local_108; + iVar4 = *(int *)(param_1 + 0x18); + if (iVar4 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar14 = *(int *)(param_1 + 0x18); + FUN_140033940(param_1,iVar14 + 1,param_3,param_4); + lVar8 = local_f8; + iVar14 = iVar14 - iVar4; + if ((0 < iVar14) && (iVar14 = iVar14 + -1, -1 < iVar14)) { + lVar16 = (longlong)(iVar14 + iVar4 + 1) << 3; + lVar17 = (longlong)(iVar14 + iVar4) << 3; + do { + lVar5 = FUN_14003d690(lVar8); + lVar7 = FUN_14003d690(lVar8); + FUN_14001bf80((longlong *)(lVar16 + lVar7),(longlong *)(lVar17 + lVar5),param_3,param_4); + lVar17 = lVar17 + -8; + lVar16 = lVar16 + -8; + iVar14 = iVar14 + -1; + param_1 = local_f8; + lVar5 = local_f0; + } while (-1 < iVar14); + } + lVar8 = FUN_14003d690(param_1); + plVar10 = (longlong *)(lVar8 + (longlong)iVar4 * 8); + ppuVar11 = &local_108; + FUN_14001bf80(plVar10,(longlong *)ppuVar11,param_3,param_4); + if (((puVar3 != (undefined *)0x0) && (puVar3 != PTR_DAT_140155008)) && + (puVar3 + -8 != (undefined *)0x0)) { + piVar9 = (int *)FUN_140030200(plVar10,ppuVar11,param_3,param_4); + local_d8 = piVar9; + FUN_14002e6e0(piVar9); + local_d0 = 1; + piVar2 = (int *)(puVar3 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar3 + -8); + } + FUN_14002e770((longlong)piVar9); + local_d0 = 0; + } + lVar18 = lVar18 + 8; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034990.c b/decomp/Agent_Release_x64/full/functions/0x140034990.c new file mode 100644 index 00000000..0d03d3b7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034990.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034990 FUN_140034990 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_140034990(void) + +{ + ulonglong uVar1; + undefined1 auStack_1d8 [32]; + undefined1 local_1b8 [416]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_1d8; + uVar1 = Ordinal_115(2,local_1b8); + if ((int)uVar1 == 0) { + if (((char)local_1b8._0_2_ == '\x02') && (SUB21(local_1b8._0_2_,1) == '\0')) { + return 1; + } + uVar1 = Ordinal_116(); + } + return uVar1 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034a10.c b/decomp/Agent_Release_x64/full/functions/0x140034a10.c new file mode 100644 index 00000000..b4bd911a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034a10.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034a10 FUN_140034a10 + * Pseudocode, not original source. */ + +void FUN_140034a10(longlong param_1,undefined8 *param_2,undefined1 param_3) + +{ + *(undefined1 *)(param_1 + 0x40) = param_3; + if (param_2 != (undefined8 *)0x0) { + *(undefined8 *)(param_1 + 0x18) = *param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034a30.c b/decomp/Agent_Release_x64/full/functions/0x140034a30.c new file mode 100644 index 00000000..546fef35 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034a30.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034a30 FUN_140034a30 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 * FUN_140034a30(longlong param_1,undefined8 *param_2) + +{ + undefined2 uVar1; + int iVar2; + undefined1 auStack_48 [32]; + undefined4 local_28 [2]; + undefined1 local_20 [2]; + undefined2 local_1e; + undefined4 local_1c; + ulonglong local_10; + + local_10 = DAT_1401555a0 ^ (ulonglong)auStack_48; + local_28[0] = 0x10; + iVar2 = Ordinal_6(*(undefined8 *)(param_1 + 0x3d0),local_20,local_28); + if (iVar2 == 0) { + uVar1 = Ordinal_15(local_1e); + *(undefined4 *)(param_2 + 1) = local_1c; + *param_2 = Proud::AddrPort::vftable; + *(undefined2 *)((longlong)param_2 + 0xc) = uVar1; + } + else { + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = DAT_1401553d0; + *(undefined2 *)((longlong)param_2 + 0xc) = DAT_1401553d4; + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034ad0.c b/decomp/Agent_Release_x64/full/functions/0x140034ad0.c new file mode 100644 index 00000000..896e306e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034ad0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034ad0 FUN_140034ad0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 * FUN_140034ad0(longlong param_1,undefined8 *param_2) + +{ + undefined2 uVar1; + int iVar2; + undefined1 auStack_48 [32]; + undefined4 local_28 [2]; + undefined1 local_20 [2]; + undefined2 local_1e; + undefined4 local_1c; + ulonglong local_10; + + local_10 = DAT_1401555a0 ^ (ulonglong)auStack_48; + local_28[0] = 0x10; + iVar2 = Ordinal_5(*(undefined8 *)(param_1 + 0x3d0),local_20,local_28); + if (iVar2 == 0) { + uVar1 = Ordinal_15(local_1e); + *(undefined4 *)(param_2 + 1) = local_1c; + *param_2 = Proud::AddrPort::vftable; + *(undefined2 *)((longlong)param_2 + 0xc) = uVar1; + } + else { + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = DAT_1401553d0; + *(undefined2 *)((longlong)param_2 + 0xc) = DAT_1401553d4; + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034b70.c b/decomp/Agent_Release_x64/full/functions/0x140034b70.c new file mode 100644 index 00000000..05f1cdee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034b70.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034b70 FUN_140034b70 + * Pseudocode, not original source. */ + +undefined1 FUN_140034b70(longlong param_1) + +{ + return *(undefined1 *)(param_1 + 0x21); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034b80.c b/decomp/Agent_Release_x64/full/functions/0x140034b80.c new file mode 100644 index 00000000..48e9f5c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034b80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034b80 FUN_140034b80 + * Pseudocode, not original source. */ + +void FUN_140034b80(longlong param_1,undefined1 param_2) + +{ + *(undefined1 *)(param_1 + 0x21) = param_2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034b90.c b/decomp/Agent_Release_x64/full/functions/0x140034b90.c new file mode 100644 index 00000000..88649d0d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034b90.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034b90 FUN_140034b90 + * Pseudocode, not original source. */ + +void FUN_140034b90(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + exception local_58 [88]; + + if (*(longlong *)(param_1 + 0x2e8) != 0) { + FUN_14002f1e0(local_58,L"이미 completion context가 세팅되어 있음!",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *(undefined8 *)(param_1 + 0x2e8) = param_2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034bd0.c b/decomp/Agent_Release_x64/full/functions/0x140034bd0.c new file mode 100644 index 00000000..8446e798 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034bd0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034bd0 FUN_140034bd0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140034bd0(longlong param_1) + +{ + undefined1 auStack_78 [32]; + undefined8 *local_58; + undefined4 local_50; + undefined1 *local_48; + undefined8 local_40; + undefined8 local_38; + undefined1 local_28 [8]; + undefined4 local_20; + undefined2 local_1c; + undefined4 local_1a; + undefined4 local_16; + undefined2 local_12; + ulonglong local_10; + + local_10 = DAT_1401555a0 ^ (ulonglong)auStack_78; + local_1c = 0xcbac; + local_38 = 0; + local_40 = 0; + local_48 = local_28; + local_50 = 8; + local_20 = 0xb5367df1; + local_1a = 0xca9511cf; + local_58 = &DAT_14015c280; + local_16 = 0x485f8000; + local_12 = 0x92a1; + WSAIoctl(*(undefined8 *)(param_1 + 0x3d0),0xc8000006,&local_20,0x10); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034c70.c b/decomp/Agent_Release_x64/full/functions/0x140034c70.c new file mode 100644 index 00000000..4b77427c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034c70.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034c70 FUN_140034c70 + * Pseudocode, not original source. */ + +void FUN_140034c70(longlong param_1,char param_2) + +{ + uint local_res10 [6]; + + local_res10[0] = (uint)(param_2 == '\0'); + Ordinal_10(*(undefined8 *)(param_1 + 0x3d0),0x8004667e,local_res10); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034ca0.c b/decomp/Agent_Release_x64/full/functions/0x140034ca0.c new file mode 100644 index 00000000..1190023e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034ca0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034ca0 FUN_140034ca0 + * Pseudocode, not original source. */ + +void FUN_140034ca0(longlong param_1,char param_2) + +{ + int iVar1; + uint local_res10 [6]; + + local_res10[0] = (uint)(param_2 == '\0'); + iVar1 = Ordinal_21(*(undefined8 *)(param_1 + 0x3d0),6,1,local_res10,4); + if (iVar1 == -1) { + Ordinal_111(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034cf0.c b/decomp/Agent_Release_x64/full/functions/0x140034cf0.c new file mode 100644 index 00000000..c76bec42 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034cf0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034cf0 FUN_140034cf0 + * Pseudocode, not original source. */ + +undefined4 * FUN_140034cf0(undefined4 *param_1) + +{ + *param_1 = 0; + param_1[0x82] = 0; + param_1[0x104] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034d10.c b/decomp/Agent_Release_x64/full/functions/0x140034d10.c new file mode 100644 index 00000000..b727642c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034d10.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034d10 FUN_140034d10 + * Pseudocode, not original source. */ + +void FUN_140034d10(longlong param_1,longlong param_2) + +{ + uint uVar1; + longlong *plVar2; + uint uVar3; + ulonglong uVar4; + + uVar1 = *(uint *)(param_1 + 0x208); + uVar4 = 0; + if (uVar1 != 0) { + plVar2 = (longlong *)(param_1 + 0x210); + do { + if (*plVar2 == *(longlong *)(param_2 + 0x3d0)) break; + uVar3 = (int)uVar4 + 1; + uVar4 = (ulonglong)uVar3; + plVar2 = plVar2 + 1; + } while (uVar3 < uVar1); + } + if (((uint)uVar4 == uVar1) && (uVar1 < 0x40)) { + *(undefined8 *)(param_1 + 0x210 + uVar4 * 8) = *(undefined8 *)(param_2 + 0x3d0); + *(int *)(param_1 + 0x208) = *(int *)(param_1 + 0x208) + 1; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034d70.c b/decomp/Agent_Release_x64/full/functions/0x140034d70.c new file mode 100644 index 00000000..266ee4b6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034d70.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034d70 FUN_140034d70 + * Pseudocode, not original source. */ + +void FUN_140034d70(longlong param_1,longlong param_2) + +{ + uint uVar1; + longlong *plVar2; + uint uVar3; + ulonglong uVar4; + + uVar1 = *(uint *)(param_1 + 0x410); + uVar4 = 0; + if (uVar1 != 0) { + plVar2 = (longlong *)(param_1 + 0x418); + do { + if (*plVar2 == *(longlong *)(param_2 + 0x3d0)) break; + uVar3 = (int)uVar4 + 1; + uVar4 = (ulonglong)uVar3; + plVar2 = plVar2 + 1; + } while (uVar3 < uVar1); + } + if (((uint)uVar4 == uVar1) && (uVar1 < 0x40)) { + *(undefined8 *)(param_1 + 0x418 + uVar4 * 8) = *(undefined8 *)(param_2 + 0x3d0); + *(int *)(param_1 + 0x410) = *(int *)(param_1 + 0x410) + 1; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034dd0.c b/decomp/Agent_Release_x64/full/functions/0x140034dd0.c new file mode 100644 index 00000000..1ea326c4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034dd0.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034dd0 FUN_140034dd0 + * Pseudocode, not original source. */ + +void FUN_140034dd0(longlong param_1,uint param_2) + +{ + uint *puVar1; + uint local_res8; + int local_resc; + + puVar1 = (uint *)0x0; + if (param_2 != 0xffffffff) { + puVar1 = &local_res8; + local_res8 = param_2 / 1000; + local_resc = (param_2 % 1000) * 1000; + } + Ordinal_18(0,param_1,param_1 + 0x208,param_1 + 0x410,puVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034e30.c b/decomp/Agent_Release_x64/full/functions/0x140034e30.c new file mode 100644 index 00000000..80f285c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034e30.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034e30 FUN_140034e30 + * Pseudocode, not original source. */ + +undefined8 FUN_140034e30(longlong param_1,longlong param_2,undefined4 *param_3) + +{ + undefined8 uVar1; + ulonglong uVar2; + undefined4 local_res8 [2]; + undefined4 local_res10 [2]; + + uVar1 = Ordinal_151(*(undefined8 *)(param_2 + 0x3d0),param_1 + 0x208); + if ((int)uVar1 != 0) { + *param_3 = 0; + return CONCAT71((int7)((ulonglong)uVar1 >> 8),1); + } + uVar2 = Ordinal_151(*(undefined8 *)(param_2 + 0x3d0),param_1 + 0x410); + if ((int)uVar2 != 0) { + local_res8[0] = 0; + local_res10[0] = 4; + uVar1 = Ordinal_7(*(undefined8 *)(param_2 + 0x3d0),0xffff,0x1007,local_res8,local_res10); + *param_3 = local_res8[0]; + return CONCAT71((int7)((ulonglong)uVar1 >> 8),1); + } + return uVar2 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034f00.c b/decomp/Agent_Release_x64/full/functions/0x140034f00.c new file mode 100644 index 00000000..645e8a3b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034f00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034f00 FUN_140034f00 + * Pseudocode, not original source. */ + +undefined8 FUN_140034f00(undefined8 param_1) + +{ + FUN_140034990(); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034f30.c b/decomp/Agent_Release_x64/full/functions/0x140034f30.c new file mode 100644 index 00000000..2dec8915 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034f30.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034f30 FUN_140034f30 + * Pseudocode, not original source. */ + +undefined8 * FUN_140034f30(undefined8 *param_1) + +{ + *param_1 = Proud::IHasOverlappedIo::vftable; + *(undefined1 *)(param_1 + 8) = 0; + *(undefined1 *)(param_1 + 0x10) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034f50.c b/decomp/Agent_Release_x64/full/functions/0x140034f50.c new file mode 100644 index 00000000..a87a1107 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034f50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034f50 FUN_140034f50 + * Pseudocode, not original source. */ + +void FUN_140034f50(undefined8 *param_1) + +{ + *param_1 = Proud::IHasOverlappedIo::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034f60.c b/decomp/Agent_Release_x64/full/functions/0x140034f60.c new file mode 100644 index 00000000..b06a13c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034f60.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034f60 FUN_140034f60 + * Pseudocode, not original source. */ + +undefined8 * FUN_140034f60(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::IHasOverlappedIo::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140034f90.c b/decomp/Agent_Release_x64/full/functions/0x140034f90.c new file mode 100644 index 00000000..0471e781 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140034f90.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140034f90 FUN_140034f90 + * Pseudocode, not original source. */ + +void FUN_140034f90(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + exception local_58 [88]; + + if ((longlong *)param_2[2] != param_1) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + plVar1 = (longlong *)param_2[1]; + lVar2 = *param_2; + if (plVar1 != (longlong *)0x0) { + *plVar1 = lVar2; + } + if (lVar2 != 0) { + *(longlong **)(lVar2 + 8) = plVar1; + } + if (plVar1 == (longlong *)0x0) { + if ((longlong *)param_1[1] != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + param_1[1] = lVar2; + } + if (lVar2 == 0) { + if ((longlong *)*param_1 != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = (longlong)plVar1; + } + *param_2 = 0; + param_2[1] = 0; + param_2[2] = 0; + *(int *)(param_1 + 2) = (int)param_1[2] + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140035070.c b/decomp/Agent_Release_x64/full/functions/0x140035070.c new file mode 100644 index 00000000..a8524ee1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140035070.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140035070 FUN_140035070 + * Pseudocode, not original source. */ + +void FUN_140035070(longlong param_1,char param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + longlong lVar2; + exception local_50 [72]; + + FUN_14002e6e0((int *)(param_1 + 0x28)); + if (*(char *)(param_1 + 0x80) == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 == '\0') { + param_4 = 0; + lVar2 = WSASocketW(2); + } + else { + lVar2 = Ordinal_23(2); + } + *(longlong *)(param_1 + 0x3d0) = lVar2; + if (lVar2 == -1) { + uVar1 = Ordinal_111(); + FUN_14002f1e0(local_50,L"Socket 생성 실패: %d",(ulonglong)uVar1,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + *(undefined1 *)(param_1 + 0x80) = 0; + *(int *)(param_1 + 0x310) = *(int *)(param_1 + 0x310) + 1; + FUN_14002e770(param_1 + 0x28); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140035150.c b/decomp/Agent_Release_x64/full/functions/0x140035150.c new file mode 100644 index 00000000..9032427c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140035150.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140035150 FUN_140035150 + * Pseudocode, not original source. */ + +ulonglong FUN_140035150(longlong param_1,undefined1 param_2,undefined4 *param_3) + +{ + int iVar1; + undefined4 uVar2; + ulonglong in_RAX; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_res8 [2]; + undefined4 local_res20 [2]; + + if ((*(int *)(param_1 + 0x180) != 0x103) && (in_RAX = 0, *(char *)(param_1 + 0x1c0) != '\0')) { + iVar1 = WSAGetOverlappedResult + (*(undefined8 *)(param_1 + 0x3d0),(int *)(param_1 + 0x180),local_res20,param_2 + ,local_res8); + if (iVar1 == 0) { + uVar3 = Ordinal_111(); + if ((int)uVar3 == 0x3e4) { + return uVar3 & 0xffffffffffffff00; + } + } + *param_3 = local_res8[0]; + param_3[6] = local_res20[0]; + if (iVar1 == 0) { + uVar2 = Ordinal_111(); + param_3[1] = uVar2; + } + *(undefined1 *)(param_1 + 0x1c0) = 0; + uVar4 = FUN_140033260((longlong)(param_3 + 2),param_1 + 0x2f0); + return CONCAT71((int7)((ulonglong)uVar4 >> 8),1); + } + return in_RAX & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140035220.c b/decomp/Agent_Release_x64/full/functions/0x140035220.c new file mode 100644 index 00000000..7e2f61cb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140035220.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140035220 FUN_140035220 + * Pseudocode, not original source. */ + +undefined8 FUN_140035220(longlong param_1,undefined1 param_2,undefined4 *param_3) + +{ + int iVar1; + undefined4 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_res8 [2]; + undefined4 local_res20 [2]; + + if ((*(char *)(param_1 + 0x100) != '\0') && (*(int *)(param_1 + 0xc0) != 0x103)) { + iVar1 = WSAGetOverlappedResult + (*(undefined8 *)(param_1 + 0x3d0),(int *)(param_1 + 0xc0),local_res20,param_2, + local_res8); + if (iVar1 == 0) { + uVar3 = Ordinal_111(); + if ((int)uVar3 == 0x3e4) { + return uVar3 & 0xffffffffffffff00; + } + } + *param_3 = local_res8[0]; + param_3[6] = local_res20[0]; + if (iVar1 == 0) { + uVar2 = Ordinal_111(); + param_3[1] = uVar2; + } + *(undefined1 *)(param_1 + 0x100) = 0; + uVar4 = FUN_140033260((longlong)(param_3 + 2),param_1 + 0x2f0); + return CONCAT71((int7)((ulonglong)uVar4 >> 8),1); + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400352f0.c b/decomp/Agent_Release_x64/full/functions/0x1400352f0.c new file mode 100644 index 00000000..d1b4a1cd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400352f0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400352f0 FUN_1400352f0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400352f0(longlong param_1,undefined1 param_2,undefined4 *param_3) + +{ + int iVar1; + undefined4 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_res8 [2]; + undefined4 local_res20 [2]; + + if ((*(char *)(param_1 + 0x380) != '\0') && (*(int *)(param_1 + 0x340) != 0x103)) { + iVar1 = WSAGetOverlappedResult + (*(undefined8 *)(param_1 + 0x3d0),(int *)(param_1 + 0x340),local_res20,param_2 + ,local_res8); + if (iVar1 == 0) { + uVar3 = Ordinal_111(); + if ((int)uVar3 == 0x3e4) { + return uVar3 & 0xffffffffffffff00; + } + } + *param_3 = local_res8[0]; + param_3[6] = local_res20[0]; + if (iVar1 == 0) { + uVar2 = Ordinal_111(); + param_3[1] = uVar2; + } + *(undefined1 *)(param_1 + 0x100) = 0; + uVar4 = FUN_140033260((longlong)(param_3 + 2),param_1 + 0x2f0); + return CONCAT71((int7)((ulonglong)uVar4 >> 8),1); + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400353c0.c b/decomp/Agent_Release_x64/full/functions/0x1400353c0.c new file mode 100644 index 00000000..f3e2d073 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400353c0.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400353c0 FUN_1400353c0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400353c0(longlong param_1,undefined1 param_2,uint *param_3) + +{ + int iVar1; + ulonglong in_RAX; + ulonglong uVar2; + uint local_res8 [2]; + uint local_res20 [2]; + + if ((*(int *)(param_1 + 0x240) == 0x103) || (in_RAX = 0, *(char *)(param_1 + 0x280) == '\0')) { + return in_RAX & 0xffffffffffffff00; + } + uVar2 = WSAGetOverlappedResult + (*(undefined8 *)(param_1 + 0x3d0),(int *)(param_1 + 0x240),local_res8,param_2, + local_res20); + iVar1 = (int)uVar2; + if (iVar1 == 0) { + uVar2 = Ordinal_111(); + if ((int)uVar2 == 0x3e4) { +LAB_14003546f: + return uVar2 & 0xffffffffffffff00; + } + } + else if ((local_res8[0] == 0) && (local_res20[0] == 0)) goto LAB_14003546f; + uVar2 = (ulonglong)local_res20[0]; + param_3[6] = local_res8[0]; + *param_3 = local_res20[0]; + if (iVar1 == 0) { + uVar2 = Ordinal_111(); + param_3[1] = (uint)uVar2; + } + *(undefined1 *)(param_1 + 0x280) = 0; + return CONCAT71((int7)(uVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140035490.c b/decomp/Agent_Release_x64/full/functions/0x140035490.c new file mode 100644 index 00000000..08224a99 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140035490.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140035490 FUN_140035490 + * Pseudocode, not original source. */ + +void FUN_140035490(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e710((int *)(param_1 + 5)); + if ((char)param_1[0x10] == '\0') { + *(undefined1 *)(param_1 + 0x10) = 1; + FUN_1400385f0(param_1[0x7a]); + Ordinal_3(param_1[0x7a]); + if (param_1[0x79] != 0) { + if (*(longlong *)(param_1[0x79] + 0x28) == 0) { + if ((char)param_1[0x38] != '\0') { + param_1[0x30] = 0x80; + param_3 = 2; + FUN_140039510(param_1[0x79],param_1,2); + } + if ((char)param_1[0x50] != '\0') { + param_1[0x48] = 0x80; + param_3 = 1; + FUN_140039510(param_1[0x79],param_1,1); + } + } + FUN_140039760(param_1[0x79],param_1,param_3,param_4); + param_1[0x79] = 0; + } + } + FUN_14002e770((longlong)(param_1 + 5)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140035580.c b/decomp/Agent_Release_x64/full/functions/0x140035580.c new file mode 100644 index 00000000..8037c021 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140035580.c @@ -0,0 +1,66 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140035580 FUN_140035580 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140035580(longlong param_1,longlong param_2,longlong param_3,longlong param_4) + +{ + undefined4 uVar1; + undefined2 uVar2; + int iVar3; + PVOID lpOutputBuffer; + undefined4 uVar4; + undefined1 auStackY_b8 [32]; + undefined4 local_78; + int local_74 [3]; + undefined1 local_68 [2]; + undefined2 local_66; + undefined4 local_64; + sockaddr *local_58 [2]; + sockaddr *local_48 [2]; + ulonglong local_38; + + local_38 = DAT_1401555a0 ^ (ulonglong)auStackY_b8; + local_74[0] = 0x10; + local_74[1] = 0x10; + if (*(int *)(param_2 + 0x158) == 0) { + lpOutputBuffer = (PVOID)0x0; + } + else { + lpOutputBuffer = *(PVOID *)(param_2 + 0x150); + } + GetAcceptExSockaddrs(lpOutputBuffer,0,0x20,0x20,local_58,local_74,local_48,local_74 + 1); + FUN_140033260(param_3,(longlong)local_58); + FUN_140033260(param_4,(longlong)local_48); + iVar3 = Ordinal_21(*(undefined8 *)(param_1 + 0x3d0),0xffff,0x700b,param_2 + 0x3d0); + if (iVar3 == -1) { + Ordinal_111(); + } + local_78 = 0x10; + iVar3 = Ordinal_5(*(undefined8 *)(param_1 + 0x3d0),local_68,&local_78); + uVar1 = local_64; + uVar4 = DAT_1401553d0; + uVar2 = DAT_1401553d4; + if (iVar3 == 0) { + uVar2 = Ordinal_15(local_66); + uVar4 = uVar1; + } + *(undefined4 *)(param_4 + 8) = uVar4; + *(undefined2 *)(param_4 + 0xc) = uVar2; + local_78 = 0x10; + iVar3 = Ordinal_6(*(undefined8 *)(param_1 + 0x3d0),local_68,&local_78); + uVar2 = DAT_1401553d4; + if (iVar3 == 0) { + uVar2 = Ordinal_15(local_66); + *(undefined4 *)(param_3 + 8) = local_64; + *(undefined2 *)(param_3 + 0xc) = uVar2; + } + else { + *(undefined4 *)(param_3 + 8) = DAT_1401553d0; + *(undefined2 *)(param_3 + 0xc) = uVar2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140035710.c b/decomp/Agent_Release_x64/full/functions/0x140035710.c new file mode 100644 index 00000000..538debeb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140035710.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140035710 FUN_140035710 + * Pseudocode, not original source. */ + +undefined8 FUN_140035710(longlong param_1) + +{ + if (*(int *)(param_1 + 0x218) == 0) { + return 0; + } + return *(undefined8 *)(param_1 + 0x210); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140035730.c b/decomp/Agent_Release_x64/full/functions/0x140035730.c new file mode 100644 index 00000000..c9ac7541 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140035730.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140035730 FUN_140035730 + * Pseudocode, not original source. */ + +undefined1 FUN_140035730(longlong param_1) + +{ + int *piVar1; + undefined1 uVar2; + bool bVar3; + + piVar1 = (int *)(param_1 + 0x28); + bVar3 = FUN_14002e780(piVar1); + if (!bVar3) { + return 1; + } + FUN_14002e6e0(piVar1); + uVar2 = *(undefined1 *)(param_1 + 0x80); + FUN_14002e770((longlong)piVar1); + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140035780.c b/decomp/Agent_Release_x64/full/functions/0x140035780.c new file mode 100644 index 00000000..4a226c67 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140035780.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140035780 FUN_140035780 + * Pseudocode, not original source. */ + +void FUN_140035780(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((longlong *)param_1[2] != (longlong *)0x0) { + FUN_140034f90((longlong *)param_1[2],param_1,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400357a0.c b/decomp/Agent_Release_x64/full/functions/0x1400357a0.c new file mode 100644 index 00000000..49cf0ebb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400357a0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400357a0 FUN_1400357a0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400357a0(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140035800.c b/decomp/Agent_Release_x64/full/functions/0x140035800.c new file mode 100644 index 00000000..cc5f367e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140035800.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140035800 FUN_140035800 + * Pseudocode, not original source. */ + +void FUN_140035800(longlong param_1) + +{ + FUN_1400332c0(); + *(undefined1 *)(param_1 + 0x314) = 0; + *(undefined4 *)(param_1 + 0x310) = 0; + *(undefined8 *)(param_1 + 0x3c8) = 0; + FUN_14002e6e0((int *)(param_1 + 0x28)); + *(undefined1 *)(param_1 + 0x80) = 0; + FUN_14002e770(param_1 + 0x28); + *(undefined1 *)(param_1 + 0x3c1) = 0; + *(undefined8 *)(param_1 + 0x2e8) = 0; + *(undefined1 *)(param_1 + 0x21) = 1; + *(undefined8 *)(param_1 + 0x2f0) = 0; + *(undefined8 *)(param_1 + 0x2f8) = 0; + *(undefined8 *)(param_1 + 0x300) = 0; + *(undefined4 *)(param_1 + 0x308) = 0xffffffff; + *(undefined1 *)(param_1 + 0x30c) = 0; + *(undefined1 *)(param_1 + 0x3c0) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400358a0.c b/decomp/Agent_Release_x64/full/functions/0x1400358a0.c new file mode 100644 index 00000000..570bc2fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400358a0.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400358a0 FUN_1400358a0 + * Pseudocode, not original source. */ + +void FUN_1400358a0(longlong *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + LPVOID pvVar1; + LPVOID pvVar2; + + FUN_140035490(param_1,param_2,param_3,param_4); + param_1[0x58] = (longlong)Proud::CFastArray::vftable; + pvVar1 = (LPVOID)param_1[0x5a]; + if (pvVar1 != (LPVOID)0x0) { + if ((longlong *)param_1[0x59] == (longlong *)0x0) { + FUN_1400302f0(pvVar1); + } + else { + (**(code **)(*(longlong *)param_1[0x59] + 0x18))(); + } + } + param_1[0x40] = (longlong)Proud::CFastArray::vftable; + pvVar2 = (LPVOID)param_1[0x42]; + if (pvVar2 != (LPVOID)0x0) { + param_3 = (longlong *)param_1[0x41]; + if (param_3 == (longlong *)0x0) { + FUN_1400302f0(pvVar2); + } + else { + (**(code **)(*param_3 + 0x18))(param_3); + pvVar1 = pvVar2; + } + } + param_1[0x28] = (longlong)Proud::CFastArray::vftable; + pvVar2 = (LPVOID)param_1[0x2a]; + if (pvVar2 != (LPVOID)0x0) { + param_3 = (longlong *)param_1[0x29]; + if (param_3 == (longlong *)0x0) { + FUN_1400302f0(pvVar2); + } + else { + (**(code **)(*param_3 + 0x18))(param_3); + pvVar1 = pvVar2; + } + } + FUN_14002e7a0((undefined4 *)(param_1 + 5),pvVar1,param_3,param_4); + if ((longlong *)param_1[2] != (longlong *)0x0) { + FUN_140034f90((longlong *)param_1[2],param_1,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140035990.c b/decomp/Agent_Release_x64/full/functions/0x140035990.c new file mode 100644 index 00000000..8d17fb9d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140035990.c @@ -0,0 +1,88 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140035990 FUN_140035990 + * Pseudocode, not original source. */ + +undefined8 * FUN_140035990(undefined8 *param_1,int param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + ulonglong uVar2; + undefined8 uVar3; + undefined8 uVar4; + exception local_50 [72]; + + uVar4 = 0xfffffffffffffffe; + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + uVar3 = param_3; + uVar2 = FUN_14002e790(); + FUN_14002e600((undefined4 *)(param_1 + 5),uVar2 & 0xffffffff, + CONCAT71((int7)((ulonglong)uVar3 >> 8),1),param_4); + param_1[0x18] = 0; + param_1[0x19] = 0; + param_1[0x1a] = 0; + param_1[0x1b] = 0; + *(undefined1 *)(param_1 + 0x20) = 0; + param_1[0x29] = 0; + param_1[0x2a] = 0; + param_1[0x2b] = 0; + *(undefined4 *)(param_1 + 0x2c) = 0; + param_1[0x28] = Proud::CSocketBuffer::vftable; + *(undefined4 *)((longlong)param_1 + 0x164) = 1; + param_1[0x30] = 0; + param_1[0x31] = 0; + param_1[0x32] = 0; + param_1[0x33] = 0; + *(undefined1 *)(param_1 + 0x38) = 0; + param_1[0x41] = 0; + param_1[0x42] = 0; + param_1[0x43] = 0; + *(undefined4 *)(param_1 + 0x44) = 0; + param_1[0x40] = Proud::CSocketBuffer::vftable; + *(undefined4 *)((longlong)param_1 + 0x224) = 1; + param_1[0x48] = 0; + param_1[0x49] = 0; + param_1[0x4a] = 0; + param_1[0x4b] = 0; + *(undefined1 *)(param_1 + 0x50) = 0; + param_1[0x59] = 0; + param_1[0x5a] = 0; + param_1[0x5b] = 0; + *(undefined4 *)(param_1 + 0x5c) = 0; + param_1[0x58] = Proud::CSocketBuffer::vftable; + *(undefined4 *)((longlong)param_1 + 0x2e4) = 1; + param_1[0x68] = 0; + param_1[0x69] = 0; + param_1[0x6a] = 0; + param_1[0x6b] = 0; + *(undefined1 *)(param_1 + 0x70) = 0; + *(undefined1 *)(param_1 + 4) = 0; + param_1[3] = param_3; + FUN_140035800((longlong)param_1); + if (param_2 == 0) { + uVar3 = 1; + } + else if (param_2 == 1) { + uVar3 = 2; + } + else { + if (param_2 != 2) { + FUN_14002fa10(L"Invalid Parameter in Socket ctor!"); + goto LAB_140035b54; + } + uVar3 = 3; + } + param_4 = 0; + uVar3 = WSASocketW(2,uVar3,0,0,0,1,uVar4); + param_1[0x7a] = uVar3; +LAB_140035b54: + if (param_1[0x7a] != -1) { + return param_1; + } + uVar1 = Ordinal_111(); + FUN_14002f1e0(local_50,L"Socket 생성 실패: %d",(ulonglong)uVar1,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140035bb0.c b/decomp/Agent_Release_x64/full/functions/0x140035bb0.c new file mode 100644 index 00000000..1e45c31b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140035bb0.c @@ -0,0 +1,62 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140035bb0 FUN_140035bb0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140035bb0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined7 uVar2; + + uVar2 = (undefined7)((ulonglong)param_3 >> 8); + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)(param_1 + 5),uVar1 & 0xffffffff,CONCAT71(uVar2,1),param_4); + param_1[0x18] = 0; + param_1[0x19] = 0; + param_1[0x1a] = 0; + param_1[0x1b] = 0; + *(undefined1 *)(param_1 + 0x20) = 0; + param_1[0x29] = 0; + param_1[0x2a] = 0; + param_1[0x2b] = 0; + *(undefined4 *)(param_1 + 0x2c) = 0; + param_1[0x28] = Proud::CSocketBuffer::vftable; + *(undefined4 *)((longlong)param_1 + 0x164) = 1; + param_1[0x30] = 0; + param_1[0x31] = 0; + param_1[0x32] = 0; + param_1[0x33] = 0; + *(undefined1 *)(param_1 + 0x38) = 0; + param_1[0x41] = 0; + param_1[0x42] = 0; + param_1[0x43] = 0; + *(undefined4 *)(param_1 + 0x44) = 0; + param_1[0x40] = Proud::CSocketBuffer::vftable; + *(undefined4 *)((longlong)param_1 + 0x224) = 1; + param_1[0x48] = 0; + param_1[0x49] = 0; + param_1[0x4a] = 0; + param_1[0x4b] = 0; + *(undefined1 *)(param_1 + 0x50) = 0; + param_1[0x59] = 0; + param_1[0x5a] = 0; + param_1[0x5b] = 0; + *(undefined4 *)(param_1 + 0x5c) = 0; + param_1[0x58] = Proud::CSocketBuffer::vftable; + *(undefined4 *)((longlong)param_1 + 0x2e4) = 1; + param_1[0x68] = 0; + param_1[0x69] = 0; + param_1[0x6a] = 0; + param_1[0x6b] = 0; + *(undefined1 *)(param_1 + 0x70) = 0; + *(undefined1 *)(param_1 + 4) = 0; + param_1[0x7a] = param_2; + param_1[3] = param_3; + FUN_140035800((longlong)param_1); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140035d40.c b/decomp/Agent_Release_x64/full/functions/0x140035d40.c new file mode 100644 index 00000000..8ebc2ea4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140035d40.c @@ -0,0 +1,67 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140035d40 FUN_140035d40 + * Pseudocode, not original source. */ + +void FUN_140035d40(longlong param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *puVar1; + int *piVar2; + int *piVar3; + undefined **ppuVar4; + longlong *plVar5; + undefined *puVar6; + ulonglong uVar7; + undefined *local_res20; + undefined *local_28; + undefined8 local_20; + int *local_18; + undefined1 local_10; + + if ((((int)param_2 != 0x2733) && (local_20 = 0xfffffffffffffffe, (int)param_2 != 0x3e5)) && + (*(char *)(param_1 + 0x21) == '\x01')) { + FUN_140030200(param_1,param_2,param_3,param_4); + local_28 = PTR_DAT_140155010; + uVar7 = param_2 & 0xffffffff; + puVar6 = &DAT_1400f48e8; + ppuVar4 = &local_28; + FUN_14001b7a0((longlong *)ppuVar4,L"%s에서 실패: %d",param_3,uVar7); + FUN_140030200(ppuVar4,puVar6,param_3,uVar7); + puVar1 = local_28; + local_res20 = PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_res20 = (undefined *)0x0; + } + if (local_28 != PTR_DAT_140155010) { + piVar2 = (int *)FUN_140030200(0,puVar6,param_3,uVar7); + local_18 = piVar2; + FUN_14002e6e0(piVar2); + local_10 = 1; + FUN_140003240((longlong *)&local_res20,puVar6,param_3,uVar7); + local_res20 = puVar1; + if (((puVar1 != PTR_DAT_140155010) && (puVar1 != (undefined *)0x0)) && + (puVar1 != (undefined *)0x8)) { + *(int *)(puVar1 + -4) = *(int *)(puVar1 + -4) + 1; + } + FUN_14002e770((longlong)piVar2); + } + plVar5 = *(longlong **)(param_1 + 0x18); + ppuVar4 = &local_res20; + (**(code **)(*plVar5 + 8))(); + if (((puVar1 != (undefined *)0x0) && (puVar1 != PTR_DAT_140155010)) && + (puVar1 + -8 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(plVar5,param_1,ppuVar4,uVar7); + local_18 = piVar3; + FUN_14002e6e0(piVar3); + local_10 = 1; + piVar2 = (int *)(puVar1 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1 + -8); + } + FUN_14002e770((longlong)piVar3); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140035e90.c b/decomp/Agent_Release_x64/full/functions/0x140035e90.c new file mode 100644 index 00000000..9f92c8fe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140035e90.c @@ -0,0 +1,275 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140035e90 FUN_140035e90 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +uint FUN_140035e90(longlong param_1,longlong *param_2,undefined2 param_3,undefined8 param_4) + +{ + char *pcVar1; + undefined2 uVar2; + int iVar3; + int iVar4; + int iVar5; + uint uVar6; + int *piVar7; + longlong lVar8; + int *piVar9; + char **ppcVar10; + LPCWSTR pWVar11; + ulonglong uVar12; + undefined8 *puVar13; + int *piVar14; + undefined8 uVar15; + undefined8 uVar16; + wchar_t *pwVar17; + undefined1 auStack_128 [32]; + int *local_108; + undefined1 local_100; + longlong *local_f8; + undefined8 local_f0; + undefined8 local_e8; + undefined8 local_e0; + char *local_d8; + char local_d0 [136]; + ulonglong local_48; + + local_f0 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_128; + pWVar11 = (LPCWSTR)*param_2; + if ((LPCWSTR)*param_2 == (LPCWSTR)0x0) { + pWVar11 = (LPCWSTR)PTR_DAT_140155010; + } + local_d8 = local_d0; + uVar15 = 3; + ppcVar10 = &local_d8; + local_f8 = param_2; + FUN_14002e8f0((longlong *)ppcVar10,pWVar11,3); + pcVar1 = local_d8; + FUN_140030200(ppcVar10,pWVar11,uVar15,param_4); + piVar14 = (int *)PTR_DAT_140155008; + local_108 = (int *)PTR_DAT_140155008; + iVar3 = FUN_140030120(pcVar1); + if (piVar14 == (int *)0x0) { + iVar5 = 0; + } + else if (piVar14 == (int *)PTR_DAT_140155008) { + iVar5 = 0; + } + else { + iVar5 = *(int *)((longlong)piVar14 + -8); + } + iVar4 = iVar3; + if (iVar3 <= iVar5) { + if (piVar14 == (int *)0x0) { + iVar4 = 0; + } + else if (piVar14 == (int *)PTR_DAT_140155008) { + iVar4 = 0; + } + else { + iVar4 = *(int *)((longlong)piVar14 + -8); + } + } + iVar5 = 1; + if (1 < iVar4) { + iVar5 = iVar4; + } + if (piVar14 == (int *)0x0) { + iVar4 = 0; + } + else if (piVar14 == (int *)PTR_DAT_140155008) { + iVar4 = 0; + } + else { + iVar4 = *(int *)((longlong)piVar14 + -8); + } + if (iVar5 <= iVar4) goto LAB_140036031; + if (piVar14 == (int *)0x0) { + piVar14 = (int *)PTR_DAT_140155008; + } + local_108 = piVar14; + if (iVar5 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (iVar5 == 0) { + FUN_14001c020((longlong *)&local_108); + goto LAB_140036031; + } + if (piVar14 == (int *)0x0) { + iVar4 = 0; + } + else if (piVar14 == (int *)PTR_DAT_140155008) { + iVar4 = 0; + } + else { + iVar4 = piVar14[-2]; + } + if (iVar5 == iVar4) goto LAB_140036031; + piVar7 = (int *)FUN_140030280((longlong)iVar5 + 9); + if (piVar7 != (int *)0x0) { + *piVar7 = 0; + piVar7[1] = 1; + } + *piVar7 = iVar5; + if (piVar14 == (int *)0x0) { + iVar4 = 0; + } + else if (piVar14 == (int *)PTR_DAT_140155008) { + iVar4 = 0; + } + else { + iVar4 = piVar14[-2]; + } + piVar9 = (int *)PTR_DAT_140155008; + if (iVar5 < iVar4) { +LAB_14003600b: + if (piVar14 != (int *)0x0) { + piVar9 = piVar14; + } + } + else { + if (piVar14 != (int *)0x0) { + if (piVar14 == (int *)PTR_DAT_140155008) { + iVar5 = 0; + } + else { + iVar5 = piVar14[-2]; + } + goto LAB_14003600b; + } + iVar5 = 0; + } + FUN_140030150(piVar7 + 2,piVar9,iVar5); + FUN_14001c020((longlong *)&local_108); + local_108 = piVar7 + 2; +LAB_140036031: + FUN_14002eb30((longlong *)&local_108); + piVar14 = local_108; + piVar7 = local_108; + if (local_108 == (int *)0x0) { + piVar7 = (int *)PTR_DAT_140155008; + } + FUN_140030150(piVar7,pcVar1,iVar3); + piVar7 = piVar14; + if (piVar14 == (int *)0x0) { + piVar7 = (int *)PTR_DAT_140155008; + } + iVar5 = FUN_140030120((char *)piVar7); + iVar3 = 0; + if (0 < iVar5) { + iVar3 = iVar5; + } + if (piVar14 == (int *)0x0) { + iVar5 = 0; + } + else if (piVar14 == (int *)PTR_DAT_140155008) { + iVar5 = 0; + } + else { + iVar5 = piVar14[-2]; + } + if (iVar5 <= iVar3) { + if (piVar14 == (int *)0x0) { + iVar3 = 0; + } + else if (piVar14 == (int *)PTR_DAT_140155008) { + iVar3 = 0; + } + else { + iVar3 = piVar14[-2]; + } + } + if (((piVar14 != (int *)PTR_DAT_140155008) && (piVar14 != (int *)0x0)) && + (piVar7 = piVar14 + -2, piVar7 != (int *)0x0)) { + *piVar7 = iVar3; + *(undefined1 *)((longlong)iVar3 + 8 + (longlong)piVar7) = 0; + } + if (local_d8 != local_d0) { + free(local_d8); + } + local_e0 = 0; + local_e8 = 2; + piVar7 = piVar14; + if (piVar14 == (int *)0x0) { + piVar7 = (int *)PTR_DAT_140155008; + } + iVar3 = Ordinal_11(piVar7); + local_e8 = CONCAT44(iVar3,(undefined4)local_e8); + if (iVar3 == -1) { + piVar7 = piVar14; + if (piVar14 == (int *)0x0) { + piVar7 = (int *)PTR_DAT_140155008; + } + lVar8 = Ordinal_52(piVar7); + if (lVar8 == 0) { + uVar6 = Ordinal_111(); + pwVar17 = L"Proud::CFastSocket::Connect"; + uVar12 = (ulonglong)uVar6; + FUN_140035d40(param_1,uVar12,L"Proud::CFastSocket::Connect",param_4); + if (((piVar14 != (int *)0x0) && (piVar14 != (int *)PTR_DAT_140155008)) && + (piVar14 + -2 != (int *)0x0)) { + piVar9 = (int *)FUN_140030200(param_1,uVar12,pwVar17,param_4); + local_108 = piVar9; + FUN_14002e6e0(piVar9); + local_100 = 1; + piVar7 = piVar14 + -1; + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(piVar14 + -2); + } + FUN_14002e770((longlong)piVar9); + } + FUN_140003240(param_2,uVar12,pwVar17,param_4); + return uVar6; + } + local_e8 = CONCAT44(*(undefined4 *)**(undefined8 **)(lVar8 + 0x18),(undefined4)local_e8); + } + uVar2 = Ordinal_9(param_3); + local_e8._0_4_ = CONCAT22(uVar2,(undefined2)local_e8); + uVar16 = 0x10; + puVar13 = &local_e8; + uVar15 = *(undefined8 *)(param_1 + 0x3d0); + iVar3 = Ordinal_4(); + if (iVar3 == -1) { + uVar6 = Ordinal_111(); + pwVar17 = L"Proud::CFastSocket::Connect"; + uVar12 = (ulonglong)uVar6; + FUN_140035d40(param_1,uVar12,L"Proud::CFastSocket::Connect",param_4); + if (((piVar14 != (int *)0x0) && (piVar14 != (int *)PTR_DAT_140155008)) && + (piVar14 + -2 != (int *)0x0)) { + piVar9 = (int *)FUN_140030200(param_1,uVar12,pwVar17,param_4); + local_108 = piVar9; + FUN_14002e6e0(piVar9); + local_100 = 1; + piVar7 = piVar14 + -1; + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(piVar14 + -2); + } + FUN_14002e770((longlong)piVar9); + } + FUN_140003240(param_2,uVar12,pwVar17,param_4); + } + else { + if (((piVar14 != (int *)0x0) && (piVar14 != (int *)PTR_DAT_140155008)) && + (piVar14 + -2 != (int *)0x0)) { + piVar9 = (int *)FUN_140030200(uVar15,puVar13,uVar16,param_4); + local_108 = piVar9; + FUN_14002e6e0(piVar9); + local_100 = 1; + piVar7 = piVar14 + -1; + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(piVar14 + -2); + } + FUN_14002e770((longlong)piVar9); + } + FUN_140003240(param_2,puVar13,uVar16,param_4); + uVar6 = 0; + } + return uVar6; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400362c0.c b/decomp/Agent_Release_x64/full/functions/0x1400362c0.c new file mode 100644 index 00000000..55ffb4f5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400362c0.c @@ -0,0 +1,55 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400362c0 FUN_1400362c0 + * Pseudocode, not original source. */ + +uint FUN_1400362c0(longlong param_1,undefined8 param_2,undefined **param_3,undefined8 param_4) + +{ + int iVar1; + uint uVar2; + undefined *puVar3; + undefined4 *puVar4; + undefined *local_res8; + undefined4 local_res10 [2]; + int local_18 [2]; + undefined8 local_10; + + if (*(char *)(param_1 + 0x1c0) != '\0') { + FUN_140030200(param_1,param_2,param_3,param_4); + local_res8 = PTR_DAT_140155010; + iVar1 = FUN_140030080(L"WARNING: IssueRecv is duplicated!"); + puVar3 = FUN_140002f90((longlong *)&local_res8,iVar1); + FUN_1400300b0(puVar3,L"WARNING: IssueRecv is duplicated!",iVar1); + FUN_140003070((longlong *)&local_res8); + param_3 = &local_res8; + (**(code **)(**(longlong **)(param_1 + 0x18) + 8))(*(longlong **)(param_1 + 0x18),param_1); + } + iVar1 = (int)param_2; + if (iVar1 < 1) { + return 0x2726; + } + FUN_14001bc70(param_1 + 0x200,iVar1,(SIZE_T)param_3); + local_10 = 0; + if (*(int *)(param_1 + 0x218) != 0) { + local_10 = *(undefined8 *)(param_1 + 0x210); + } + *(undefined4 *)(param_1 + 0x304) = 0; + local_res10[0] = 0; + *(undefined1 *)(param_1 + 0x1c0) = 0; + puVar4 = local_res10; + *(undefined1 *)(param_1 + 0x1c0) = 1; + local_18[0] = iVar1; + iVar1 = WSARecv(*(undefined8 *)(param_1 + 0x3d0),local_18,1,puVar4,(undefined4 *)(param_1 + 0x304) + ,param_1 + 0x180,0); + if (iVar1 != 0) { + iVar1 = Ordinal_111(); + if (iVar1 != 0x3e5) { + *(undefined1 *)(param_1 + 0x1c0) = 0; + uVar2 = Ordinal_111(); + FUN_140035d40(param_1,(ulonglong)uVar2,L"Proud::CFastSocket::IssueRecv",puVar4); + return uVar2; + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140036430.c b/decomp/Agent_Release_x64/full/functions/0x140036430.c new file mode 100644 index 00000000..20226566 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140036430.c @@ -0,0 +1,55 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140036430 FUN_140036430 + * Pseudocode, not original source. */ + +uint FUN_140036430(longlong param_1,undefined8 param_2,undefined **param_3,undefined8 param_4) + +{ + int iVar1; + uint uVar2; + undefined *puVar3; + undefined4 *puVar4; + undefined *local_res8; + undefined4 local_res10 [2]; + int local_38 [2]; + undefined8 local_30; + + if (*(char *)(param_1 + 0x1c0) != '\0') { + FUN_140030200(param_1,param_2,param_3,param_4); + local_res8 = PTR_DAT_140155010; + iVar1 = FUN_140030080(L"WARNING: IssueRecvFrom is duplicated!"); + puVar3 = FUN_140002f90((longlong *)&local_res8,iVar1); + FUN_1400300b0(puVar3,L"WARNING: IssueRecvFrom is duplicated!",iVar1); + FUN_140003070((longlong *)&local_res8); + param_3 = &local_res8; + (**(code **)(**(longlong **)(param_1 + 0x18) + 8))(*(longlong **)(param_1 + 0x18),param_1); + } + iVar1 = (int)param_2; + if (0 < iVar1) { + FUN_14001bc70(param_1 + 0x200,iVar1,(SIZE_T)param_3); + local_30 = 0; + if (*(int *)(param_1 + 0x218) != 0) { + local_30 = *(undefined8 *)(param_1 + 0x210); + } + local_res10[0] = 0; + *(undefined4 *)(param_1 + 0x304) = 0; + local_38[0] = iVar1; + do { + *(undefined4 *)(param_1 + 0x300) = 0x10; + *(undefined1 *)(param_1 + 0x1c0) = *(undefined1 *)(param_1 + 0x1c0); + puVar4 = local_res10; + *(undefined1 *)(param_1 + 0x1c0) = 1; + iVar1 = WSARecvFrom(*(undefined8 *)(param_1 + 0x3d0),local_38,1,puVar4, + (undefined4 *)(param_1 + 0x304),param_1 + 0x2f0, + (undefined4 *)(param_1 + 0x300),param_1 + 0x180,0); + if ((iVar1 == 0) || (uVar2 = Ordinal_111(), uVar2 == 0x3e5)) { + return 0; + } + } while (((uVar2 == 0x2738) || (uVar2 == 0x2744)) || (uVar2 == 0x2746)); + *(undefined1 *)(param_1 + 0x1c0) = 0; + FUN_140035d40(param_1,(ulonglong)uVar2,L"Proud::CFastSocket::IssueRecvFrom",puVar4); + return uVar2; + } + return 0x2726; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400365f0.c b/decomp/Agent_Release_x64/full/functions/0x1400365f0.c new file mode 100644 index 00000000..169408fc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400365f0.c @@ -0,0 +1,88 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400365f0 FUN_1400365f0 + * Pseudocode, not original source. */ + +uint FUN_1400365f0(longlong param_1,undefined8 *param_2,undefined **param_3,undefined8 param_4) + +{ + undefined1 uVar1; + undefined8 uVar2; + int iVar3; + int iVar4; + uint uVar5; + undefined *puVar6; + undefined8 *_Dst; + ulonglong uVar7; + ulonglong uVar8; + undefined8 *puVar9; + undefined4 *puVar10; + undefined *local_res8; + undefined4 local_res18 [4]; + uint local_28 [2]; + undefined8 local_20; + + uVar5 = (uint)param_3; + uVar8 = (ulonglong)(int)uVar5; + if (*(char *)(param_1 + 0x280) != '\0') { + FUN_140030200(param_1,param_2,param_3,param_4); + local_res8 = PTR_DAT_140155010; + iVar3 = FUN_140030080(L"WARNING: IssueSend is duplicated!"); + puVar6 = FUN_140002f90((longlong *)&local_res8,iVar3); + FUN_1400300b0(puVar6,L"WARNING: IssueSend is duplicated!",iVar3); + FUN_140003070((longlong *)&local_res8); + param_3 = &local_res8; + (**(code **)(**(longlong **)(param_1 + 0x18) + 8))(*(longlong **)(param_1 + 0x18),param_1); + } + if ((int)uVar5 < 1) { + return 0x2726; + } + FUN_14001bc70(param_1 + 0x2c0,uVar5,(SIZE_T)param_3); + if (*(int *)(param_1 + 0x2d8) == 0) { + _Dst = (undefined8 *)0x0; + } + else { + _Dst = *(undefined8 **)(param_1 + 0x2d0); + } + if (uVar8 < 0x21) { + uVar7 = (ulonglong)(uVar5 & 7); + for (uVar8 = uVar8 >> 3; uVar8 != 0; uVar8 = uVar8 - 1) { + uVar2 = *param_2; + param_2 = param_2 + 1; + *_Dst = uVar2; + _Dst = _Dst + 1; + } + if (uVar7 != 0) { + puVar9 = param_2; + do { + uVar1 = *(undefined1 *)puVar9; + puVar9 = (undefined8 *)((longlong)puVar9 + 1); + uVar7 = uVar7 - 1; + *(undefined1 *)((longlong)_Dst + (-1 - (longlong)param_2) + (longlong)puVar9) = uVar1; + } while (uVar7 != 0); + } + } + else { + memcpy(_Dst,param_2,uVar8); + } + if (*(int *)(param_1 + 0x2d8) == 0) { + local_20 = 0; + } + else { + local_20 = *(undefined8 *)(param_1 + 0x2d0); + } + local_res18[0] = 0; + *(undefined1 *)(param_1 + 0x280) = 0; + puVar10 = local_res18; + *(undefined1 *)(param_1 + 0x280) = 1; + local_28[0] = uVar5; + iVar3 = WSASend(*(undefined8 *)(param_1 + 0x3d0),local_28,1,puVar10,0,param_1 + 0x240,0); + if ((iVar3 < 0) && (iVar4 = Ordinal_111(), iVar4 != 0x3e5)) { + *(undefined1 *)(param_1 + 0x280) = 0; + uVar5 = Ordinal_111(); + FUN_140035d40(param_1,(ulonglong)uVar5,L"Proud::CFastSocket::IssueSend",puVar10); + return uVar5; + } + *(bool *)(param_1 + 0x3c2) = iVar3 == 0; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400367d0.c b/decomp/Agent_Release_x64/full/functions/0x1400367d0.c new file mode 100644 index 00000000..f979f2a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400367d0.c @@ -0,0 +1,81 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400367d0 FUN_1400367d0 + * Pseudocode, not original source. */ + +uint FUN_1400367d0(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + int iVar2; + int iVar3; + undefined *puVar4; + longlong *plVar5; + ulonglong uVar6; + uint uVar7; + ulonglong uVar8; + uint uVar9; + ulonglong uVar10; + undefined4 *puVar11; + undefined4 local_res8 [2]; + undefined *local_res10; + + if (*(char *)(param_1 + 0x280) != '\0') { + FUN_140030200(param_1,param_2,param_3,param_4); + local_res10 = PTR_DAT_140155010; + iVar2 = FUN_140030080(L"WARNING: IssueSend is duplicated!"); + puVar4 = FUN_140002f90((longlong *)&local_res10,iVar2); + FUN_1400300b0(puVar4,L"WARNING: IssueSend is duplicated!",iVar2); + FUN_140003070((longlong *)&local_res10); + (**(code **)(**(longlong **)(param_1 + 0x18) + 8)) + (*(longlong **)(param_1 + 0x18),param_1,&local_res10); + } + lVar1 = param_2[1]; + uVar6 = 0; + uVar8 = uVar6; + uVar10 = uVar6; + if (0 < lVar1) { + do { + if (((longlong)uVar6 < 0) || (lVar1 <= (longlong)uVar6)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_2[2] < 0x65) { + plVar5 = param_2 + (uVar6 + 2) * 2; + } + else { + plVar5 = (longlong *)(uVar6 * 0x10 + *param_2); + } + uVar9 = (int)uVar10 + (int)*plVar5; + uVar7 = (int)uVar8 + 1; + uVar6 = (ulonglong)(int)uVar7; + uVar8 = (ulonglong)uVar7; + uVar10 = (ulonglong)uVar9; + } while ((longlong)uVar6 < lVar1); + if (0 < (int)uVar9) { + local_res8[0] = 0; + *(undefined1 *)(param_1 + 0x280) = 0; + *(undefined1 *)(param_1 + 0x280) = 1; + if (0xffffffff < param_2[1] + 0x80000000U) { + /* WARNING: Subroutine does not return */ + FUN_14002f5f0(L"Proud::CFastSocket::IssueSend_NoCopy",0xffffffff,(ulonglong)uVar9,0); + } + plVar5 = param_2 + 4; + if (100 < (ulonglong)param_2[2]) { + plVar5 = (longlong *)*param_2; + } + puVar11 = local_res8; + iVar2 = WSASend(*(undefined8 *)(param_1 + 0x3d0),plVar5,param_2[1] & 0xffffffff,puVar11,0, + param_1 + 0x240,0); + if ((iVar2 < 0) && (iVar3 = Ordinal_111(), iVar3 != 0x3e5)) { + *(undefined1 *)(param_1 + 0x280) = 0; + uVar7 = Ordinal_111(); + FUN_140035d40(param_1,(ulonglong)uVar7,L"Proud::CFastSocket::IssueSend_NoCopy",puVar11); + return uVar7; + } + *(bool *)(param_1 + 0x3c2) = iVar2 == 0; + return 0; + } + } + return 0x2726; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400369a0.c b/decomp/Agent_Release_x64/full/functions/0x1400369a0.c new file mode 100644 index 00000000..11f4bcb0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400369a0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400369a0 FUN_1400369a0 + * Pseudocode, not original source. */ + +void FUN_1400369a0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + uint uVar2; + + iVar1 = Ordinal_13(*(undefined8 *)(param_1 + 0x3d0),0x7fffffff); + if (iVar1 != 0) { + uVar2 = Ordinal_111(); + FUN_140035d40(param_1,(ulonglong)uVar2,L"Proud::CFastSocket::Listen",param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400369e0.c b/decomp/Agent_Release_x64/full/functions/0x1400369e0.c new file mode 100644 index 00000000..20eb7dcf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400369e0.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400369e0 FUN_1400369e0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400369e0(longlong param_1,undefined4 param_2) + +{ + uint uVar1; + ulonglong uVar2; + undefined4 *puVar3; + undefined4 local_res10 [6]; + + puVar3 = local_res10; + local_res10[0] = param_2; + uVar2 = Ordinal_21(*(undefined8 *)(param_1 + 0x3d0),0xffff,0x1001,puVar3,4); + if ((int)uVar2 != 0) { + uVar1 = Ordinal_111(); + FUN_140035d40(param_1,(ulonglong)uVar1,L"Proud::CFastSocket::SetSendBufferSize",puVar3); + uVar2 = uVar2 & 0xffffffff; + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140036a40.c b/decomp/Agent_Release_x64/full/functions/0x140036a40.c new file mode 100644 index 00000000..31faae20 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140036a40.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140036a40 FUN_140036a40 + * Pseudocode, not original source. */ + +ulonglong FUN_140036a40(longlong param_1,undefined4 param_2) + +{ + uint uVar1; + ulonglong uVar2; + undefined4 *puVar3; + undefined4 local_res10 [6]; + + puVar3 = local_res10; + local_res10[0] = param_2; + uVar2 = Ordinal_21(*(undefined8 *)(param_1 + 0x3d0),0xffff,0x1002,puVar3,4); + if ((int)uVar2 != 0) { + uVar1 = Ordinal_111(); + FUN_140035d40(param_1,(ulonglong)uVar1,L"Proud::CFastSocket::SetRecvBufferSize",puVar3); + uVar2 = uVar2 & 0xffffffff; + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140036aa0.c b/decomp/Agent_Release_x64/full/functions/0x140036aa0.c new file mode 100644 index 00000000..a585afa3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140036aa0.c @@ -0,0 +1,51 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140036aa0 FUN_140036aa0 + * Pseudocode, not original source. */ + +uint FUN_140036aa0(longlong param_1,longlong param_2,undefined **param_3,undefined8 param_4) + +{ + int iVar1; + uint uVar2; + undefined *puVar3; + undefined8 uVar4; + undefined8 uVar5; + undefined *local_res8; + + if (*(char *)(param_1 + 0x100) != '\0') { + FUN_140030200(param_1,param_2,param_3,param_4); + local_res8 = PTR_DAT_140155010; + iVar1 = FUN_140030080(L"WARNING: AcceptEx is duplicated!"); + puVar3 = FUN_140002f90((longlong *)&local_res8,iVar1); + FUN_1400300b0(puVar3,L"WARNING: AcceptEx is duplicated!",iVar1); + FUN_140003070((longlong *)&local_res8); + param_3 = &local_res8; + (**(code **)(**(longlong **)(param_1 + 0x18) + 8))(*(longlong **)(param_1 + 0x18),param_1); + } + if (DAT_14015c280 == (code *)0x0) { + FUN_140034bd0(param_1); + } + *(undefined1 *)(param_1 + 0x100) = 0; + FUN_14001bc70(param_1 + 0x140,0x40,(SIZE_T)param_3); + *(undefined1 *)(param_1 + 0x100) = 1; + if (*(int *)(param_1 + 0x158) == 0) { + uVar4 = 0; + } + else { + uVar4 = *(undefined8 *)(param_1 + 0x150); + } + uVar5 = 0; + iVar1 = (*DAT_14015c280)(*(undefined8 *)(param_1 + 0x3d0),*(undefined8 *)(param_2 + 0x3d0),uVar4,0 + ,0x20,0x20,param_1 + 0x168,param_1 + 0xc0); + if (iVar1 == 0) { + uVar2 = Ordinal_111(); + if (((uVar2 != 0x2733) && (uVar2 != 0x3e5)) && + ((*(char *)(param_1 + 0x314) == '\0' || (uVar2 != 0x2736)))) { + *(undefined1 *)(param_1 + 0x100) = 0; + FUN_140035d40(param_1,(ulonglong)uVar2,L"Proud::CFastSocket::AcceptEx",uVar5); + return uVar2; + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140036c10.c b/decomp/Agent_Release_x64/full/functions/0x140036c10.c new file mode 100644 index 00000000..24610aa4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140036c10.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140036c10 FUN_140036c10 + * Pseudocode, not original source. */ + +uint FUN_140036c10(longlong param_1,char param_2) + +{ + int iVar1; + uint uVar2; + uint *puVar3; + uint local_res10 [6]; + + puVar3 = local_res10; + local_res10[0] = (uint)(param_2 != '\0'); + iVar1 = Ordinal_21(*(undefined8 *)(param_1 + 0x3d0),0xffff,0x20,puVar3,4); + if (iVar1 != 0) { + uVar2 = Ordinal_111(); + FUN_140035d40(param_1,(ulonglong)uVar2,L"Proud::CFastSocket::EnableBroadcastOption",puVar3); + return uVar2; + } + *(char *)(param_1 + 0x20) = param_2; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140036c90.c b/decomp/Agent_Release_x64/full/functions/0x140036c90.c new file mode 100644 index 00000000..a2d2c003 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140036c90.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140036c90 FUN_140036c90 + * Pseudocode, not original source. */ + +int FUN_140036c90(longlong param_1,undefined4 param_2) + +{ + int iVar1; + int iVar2; + undefined *puVar3; + undefined8 uVar4; + undefined8 uVar5; + wchar_t *pwVar6; + undefined8 uVar7; + undefined4 *puVar8; + undefined4 local_res18 [2]; + undefined *local_res20; + + uVar5 = 0; + uVar4 = *(undefined8 *)(param_1 + 0x3d0); + puVar8 = local_res18; + uVar7 = 4; + iVar1 = Ordinal_7(); + if (iVar1 == 0) { + uVar4 = *(undefined8 *)(param_1 + 0x3d0); + uVar5 = 0; + uVar7 = 4; + puVar8 = local_res18; + local_res18[0] = param_2; + iVar1 = Ordinal_21(); + if (iVar1 == 0) { + return 0; + } + FUN_140030200(uVar4,uVar5,uVar7,puVar8); + local_res20 = PTR_DAT_140155010; + iVar2 = FUN_140030080(L"Cannot change TTL!"); + puVar3 = FUN_140002f90((longlong *)&local_res20,iVar2); + pwVar6 = L"Cannot change TTL!"; + } + else { + FUN_140030200(uVar4,uVar5,uVar7,puVar8); + local_res20 = PTR_DAT_140155010; + iVar2 = FUN_140030080(L"This socket doesn\'t support TTL change!"); + puVar3 = FUN_140002f90((longlong *)&local_res20,iVar2); + pwVar6 = L"This socket doesn\'t support TTL change!"; + } + FUN_1400300b0(puVar3,pwVar6,iVar2); + FUN_140003070((longlong *)&local_res20); + (**(code **)(**(longlong **)(param_1 + 0x18) + 8)) + (*(longlong **)(param_1 + 0x18),param_1,&local_res20); + return iVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140036d90.c b/decomp/Agent_Release_x64/full/functions/0x140036d90.c new file mode 100644 index 00000000..cd5931ab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140036d90.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140036d90 FUN_140036d90 + * Pseudocode, not original source. */ + +ulonglong FUN_140036d90(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + ushort uVar1; + int iVar2; + undefined *puVar3; + ulonglong uVar4; + wchar_t *pwVar5; + undefined *local_res10 [3]; + + iVar2 = *(int *)(param_2 + 8); + if (iVar2 == -1) { + FUN_140030200(param_1,param_2,param_3,param_4); + local_res10[0] = PTR_DAT_140155010; + iVar2 = FUN_140030080(L"Sending to 255.255.255.255 is not permitted!"); + puVar3 = FUN_140002f90((longlong *)local_res10,iVar2); + pwVar5 = L"Sending to 255.255.255.255 is not permitted!"; + } + else { + uVar1 = *(ushort *)(param_2 + 0xc); + if ((uVar1 == 0xffff) || (uVar1 == 0)) { + FUN_140030200((ulonglong)uVar1,0xffff,param_3,param_4); + local_res10[0] = PTR_DAT_140155010; + iVar2 = FUN_140030080(L"Sending to prohibited port is not permitted!"); + puVar3 = FUN_140002f90((longlong *)local_res10,iVar2); + pwVar5 = L"Sending to prohibited port is not permitted!"; + } + else { + if (iVar2 != 0) { + return CONCAT71((uint7)(uint3)((uint)iVar2 >> 8),1); + } + FUN_140030200((ulonglong)uVar1,0xffff,param_3,param_4); + local_res10[0] = PTR_DAT_140155010; + iVar2 = FUN_140030080(L"Sending to 0.0.0.0 is not permitted!"); + puVar3 = FUN_140002f90((longlong *)local_res10,iVar2); + pwVar5 = L"Sending to 0.0.0.0 is not permitted!"; + } + } + FUN_1400300b0(puVar3,pwVar5,iVar2); + FUN_140003070((longlong *)local_res10); + uVar4 = (**(code **)(**(longlong **)(param_1 + 0x18) + 8)) + (*(longlong **)(param_1 + 0x18),param_1,local_res10); + return uVar4 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140036ea0.c b/decomp/Agent_Release_x64/full/functions/0x140036ea0.c new file mode 100644 index 00000000..7e7c9b5c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140036ea0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140036ea0 FUN_140036ea0 + * Pseudocode, not original source. */ + +ulonglong FUN_140036ea0(longlong param_1,undefined8 param_2) + +{ + int iVar1; + ulonglong uVar2; + undefined *puVar3; + undefined8 uVar4; + undefined8 uVar5; + undefined8 uVar6; + undefined *local_res18; + + uVar5 = 0; + uVar4 = *(undefined8 *)(param_1 + 0x3d0); + uVar6 = 4; + uVar2 = Ordinal_7(); + if ((int)uVar2 != 0) { + FUN_140030200(uVar4,uVar5,uVar6,param_2); + local_res18 = PTR_DAT_140155010; + iVar1 = FUN_140030080(L"This socket doesn\'t support TTL change!"); + puVar3 = FUN_140002f90((longlong *)&local_res18,iVar1); + FUN_1400300b0(puVar3,L"This socket doesn\'t support TTL change!",iVar1); + FUN_140003070((longlong *)&local_res18); + (**(code **)(**(longlong **)(param_1 + 0x18) + 8)) + (*(longlong **)(param_1 + 0x18),param_1,&local_res18); + uVar2 = uVar2 & 0xffffffff; + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140036f50.c b/decomp/Agent_Release_x64/full/functions/0x140036f50.c new file mode 100644 index 00000000..e8095a23 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140036f50.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140036f50 FUN_140036f50 + * Pseudocode, not original source. */ + +void FUN_140036f50(longlong param_1) + +{ + if (*(char *)(param_1 + 0x30c) != '\0') { + *(undefined1 *)(param_1 + 0x30c) = 0; + FUN_140036c90(param_1,*(undefined4 *)(param_1 + 0x308)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140036f80.c b/decomp/Agent_Release_x64/full/functions/0x140036f80.c new file mode 100644 index 00000000..44cc325d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140036f80.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140036f80 FUN_140036f80 + * Pseudocode, not original source. */ + +uint FUN_140036f80(longlong param_1,undefined2 param_2,undefined8 param_3,undefined8 param_4) + +{ + bool bVar1; + undefined3 extraout_var; + uint uVar2; + + bVar1 = FUN_140038330(*(undefined8 *)(param_1 + 0x3d0),0,param_2); + if (!bVar1) { + uVar2 = Ordinal_111(); + uVar2 = FUN_140035d40(param_1,(ulonglong)uVar2,L"Proud::CFastSocket::Bind",param_4); + return uVar2 & 0xffffff00; + } + return CONCAT31(extraout_var,1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140036fd0.c b/decomp/Agent_Release_x64/full/functions/0x140036fd0.c new file mode 100644 index 00000000..b8b6efd5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140036fd0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140036fd0 FUN_140036fd0 + * Pseudocode, not original source. */ + +ulonglong FUN_140036fd0(longlong param_1,char *param_2,undefined2 param_3,undefined8 param_4) + +{ + char cVar1; + bool bVar2; + uint uVar3; + undefined7 extraout_var; + ulonglong uVar4; + longlong lVar5; + char *pcVar6; + + if (param_2 != (char *)0x0) { + lVar5 = -1; + pcVar6 = param_2; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + cVar1 = *pcVar6; + pcVar6 = pcVar6 + 1; + } while (cVar1 != '\0'); + if (lVar5 != -2) goto LAB_140036ffd; + } + param_2 = (char *)0x0; +LAB_140036ffd: + bVar2 = FUN_140038330(*(undefined8 *)(param_1 + 0x3d0),(longlong)param_2,param_3); + if (!bVar2) { + uVar3 = Ordinal_111(); + uVar4 = FUN_140035d40(param_1,(ulonglong)uVar3,L"Proud::CFastSocket::Bind",param_4); + return uVar4 & 0xffffffffffffff00; + } + return CONCAT71(extraout_var,1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037040.c b/decomp/Agent_Release_x64/full/functions/0x140037040.c new file mode 100644 index 00000000..c57e68ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037040.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037040 FUN_140037040 + * Pseudocode, not original source. */ + +uint FUN_140037040(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + bool bVar1; + undefined3 extraout_var; + uint uVar2; + + bVar1 = FUN_1400382c0(*(undefined8 *)(param_1 + 0x3d0),*(undefined4 *)(param_2 + 8), + *(undefined2 *)(param_2 + 0xc)); + if (!bVar1) { + uVar2 = Ordinal_111(); + uVar2 = FUN_140035d40(param_1,(ulonglong)uVar2,L"Proud::CFastSocket::Bind",param_4); + return uVar2 & 0xffffff00; + } + return CONCAT31(extraout_var,1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037090.c b/decomp/Agent_Release_x64/full/functions/0x140037090.c new file mode 100644 index 00000000..e6e0cc6e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037090.c @@ -0,0 +1,113 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037090 FUN_140037090 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +uint FUN_140037090(longlong param_1,longlong *param_2,longlong param_3,undefined8 param_4) + +{ + longlong lVar1; + int iVar2; + undefined *puVar3; + longlong *plVar4; + ulonglong uVar5; + ulonglong uVar6; + uint uVar7; + uint uVar8; + undefined8 uVar10; + undefined4 *puVar11; + undefined1 auStack_b8 [32]; + undefined4 local_98; + undefined2 *local_90; + undefined4 local_88; + longlong local_80; + undefined8 local_78; + undefined *local_68; + undefined4 local_60; + undefined4 local_5c; + undefined **local_58; + undefined4 local_50; + undefined2 local_4c; + undefined2 local_48 [8]; + ulonglong local_38; + ulonglong uVar9; + + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_b8; + uVar10 = param_4; + if (*(char *)(param_1 + 0x280) != '\0') { + FUN_140030200(param_1,param_2,param_3,param_4); + local_68 = PTR_DAT_140155010; + iVar2 = FUN_140030080(L"WARNING: IssueSendTo is duplicated!"); + puVar3 = FUN_140002f90((longlong *)&local_68,iVar2); + FUN_1400300b0(puVar3,L"WARNING: IssueSendTo is duplicated!",iVar2); + FUN_140003070((longlong *)&local_68); + (**(code **)(**(longlong **)(param_1 + 0x18) + 8)) + (*(longlong **)(param_1 + 0x18),param_1,&local_68); + } + lVar1 = param_2[1]; + uVar5 = 0; + uVar6 = uVar5; + uVar9 = uVar5; + if (0 < lVar1) { + do { + if (((longlong)uVar5 < 0) || (lVar1 <= (longlong)uVar5)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_2[2] < 0x65) { + plVar4 = param_2 + (uVar5 + 2) * 2; + } + else { + plVar4 = (longlong *)(uVar5 * 0x10 + *param_2); + } + uVar8 = (int)uVar9 + (int)*plVar4; + uVar9 = (ulonglong)uVar8; + uVar7 = (int)uVar6 + 1; + uVar5 = (ulonglong)(int)uVar7; + uVar6 = (ulonglong)uVar7; + } while ((longlong)uVar5 < lVar1); + if (0 < (int)uVar8) { + FUN_140033220(param_3,local_48); + local_58 = Proud::AddrPort::vftable; + local_50 = *(undefined4 *)(param_3 + 8); + local_4c = *(undefined2 *)(param_3 + 0xc); + local_5c = 0; + uVar6 = FUN_140036d90(param_1,(longlong)&local_58,uVar9,uVar10); + if ((char)uVar6 == '\0') { + return 0x271d; + } + if (((-1 < (int)param_4) && (uVar6 = FUN_140036ea0(param_1,&local_60), (int)uVar6 == 0)) && + (iVar2 = FUN_140036c90(param_1,(int)param_4), iVar2 == 0)) { + *(undefined1 *)(param_1 + 0x30c) = 1; + *(undefined4 *)(param_1 + 0x308) = local_60; + } + *(undefined1 *)(param_1 + 0x280) = 0; + *(undefined1 *)(param_1 + 0x280) = 1; + if (param_2[1] + 0x80000000U < 0x100000000) { + plVar4 = param_2 + 4; + if (100 < (ulonglong)param_2[2]) { + plVar4 = (longlong *)*param_2; + } + local_78 = 0; + local_80 = param_1 + 0x240; + local_90 = local_48; + local_88 = 0x10; + puVar11 = &local_5c; + local_98 = 0; + iVar2 = WSASendTo(*(undefined8 *)(param_1 + 0x3d0),plVar4,param_2[1] & 0xffffffff); + if ((iVar2 != 0) && (uVar7 = Ordinal_111(), uVar7 != 0x3e5)) { + *(undefined1 *)(param_1 + 0x280) = 0; + FUN_140035d40(param_1,(ulonglong)uVar7,L"Proud::CFastSocket::IssueSendTo_NoCopy_TempTtl", + puVar11); + return uVar7; + } + return 0; + } + /* WARNING: Subroutine does not return */ + FUN_14002f5f0(L"Proud::CFastSocket::IssueSendTo_NoCopy_TempTtl",0xffffffff,uVar9,uVar10); + } + } + return 0x2726; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400372d0.c b/decomp/Agent_Release_x64/full/functions/0x1400372d0.c new file mode 100644 index 00000000..2c97adf9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400372d0.c @@ -0,0 +1,121 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400372d0 FUN_1400372d0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +uint FUN_1400372d0(longlong param_1,undefined8 *param_2,undefined **param_3,longlong param_4) + +{ + undefined1 uVar1; + undefined8 uVar2; + int iVar3; + uint uVar4; + undefined *puVar5; + undefined8 *_Dst; + ulonglong uVar6; + ulonglong uVar7; + undefined8 *puVar8; + longlong lVar9; + undefined4 *puVar10; + undefined1 auStack_c8 [32]; + undefined4 local_a8; + undefined2 *local_a0; + undefined4 local_98; + longlong local_90; + undefined8 local_88; + undefined4 local_78 [2]; + undefined *local_70; + undefined **local_68; + undefined4 local_60; + undefined2 local_5c; + uint local_58 [2]; + undefined8 local_50; + undefined2 local_48 [8]; + ulonglong local_38; + + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_c8; + uVar4 = (uint)param_3; + uVar7 = (ulonglong)(int)uVar4; + lVar9 = param_4; + if (*(char *)(param_1 + 0x280) != '\0') { + FUN_140030200(param_1,param_2,param_3,param_4); + local_70 = PTR_DAT_140155010; + iVar3 = FUN_140030080(L"WARNING: IssueSendTo is duplicated!"); + puVar5 = FUN_140002f90((longlong *)&local_70,iVar3); + FUN_1400300b0(puVar5,L"WARNING: IssueSendTo is duplicated!",iVar3); + FUN_140003070((longlong *)&local_70); + param_3 = &local_70; + (**(code **)(**(longlong **)(param_1 + 0x18) + 8))(*(longlong **)(param_1 + 0x18),param_1); + } + if ((int)uVar4 < 1) { + uVar4 = 0x2726; + } + else { + FUN_14001bc70(param_1 + 0x2c0,uVar4,(SIZE_T)param_3); + if (*(int *)(param_1 + 0x2d8) == 0) { + _Dst = (undefined8 *)0x0; + } + else { + _Dst = *(undefined8 **)(param_1 + 0x2d0); + } + if (uVar7 < 0x21) { + uVar6 = (ulonglong)(uVar4 & 7); + for (uVar7 = uVar7 >> 3; uVar7 != 0; uVar7 = uVar7 - 1) { + uVar2 = *param_2; + param_2 = param_2 + 1; + *_Dst = uVar2; + _Dst = _Dst + 1; + } + uVar7 = 0; + if (uVar6 != 0) { + puVar8 = param_2; + do { + uVar1 = *(undefined1 *)puVar8; + puVar8 = (undefined8 *)((longlong)puVar8 + 1); + uVar6 = uVar6 - 1; + *(undefined1 *)((longlong)_Dst + (-1 - (longlong)param_2) + (longlong)puVar8) = uVar1; + } while (uVar6 != 0); + } + } + else { + memcpy(_Dst,param_2,uVar7); + } + if (*(int *)(param_1 + 0x2d8) == 0) { + local_50 = 0; + } + else { + local_50 = *(undefined8 *)(param_1 + 0x2d0); + } + local_58[0] = uVar4; + FUN_140033220(param_4,local_48); + local_68 = Proud::AddrPort::vftable; + local_60 = *(undefined4 *)(param_4 + 8); + local_5c = *(undefined2 *)(param_4 + 0xc); + local_78[0] = 0; + uVar7 = FUN_140036d90(param_1,(longlong)&local_68,uVar7,lVar9); + if ((char)uVar7 == '\0') { + uVar4 = 0x271d; + } + else { + local_88 = 0; + *(undefined1 *)(param_1 + 0x280) = 0; + local_90 = param_1 + 0x240; + puVar10 = local_78; + local_a0 = local_48; + local_98 = 0x10; + *(undefined1 *)(param_1 + 0x280) = 1; + local_a8 = 0; + iVar3 = WSASendTo(*(undefined8 *)(param_1 + 0x3d0),local_58,1); + if ((iVar3 == 0) || (uVar4 = Ordinal_111(), uVar4 == 0x3e5)) { + uVar4 = 0; + } + else { + *(undefined1 *)(param_1 + 0x280) = 0; + FUN_140035d40(param_1,(ulonglong)uVar4,L"Proud::CFastSocket::IssueSendTo",puVar10); + } + } + } + return uVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037510.c b/decomp/Agent_Release_x64/full/functions/0x140037510.c new file mode 100644 index 00000000..136d68b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037510.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037510 FUN_140037510 + * Pseudocode, not original source. */ + +uint FUN_140037510(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + bool bVar1; + undefined3 extraout_var; + uint uVar2; + + bVar1 = FUN_140038330(*(undefined8 *)(param_1 + 0x3d0),0,0); + if (!bVar1) { + uVar2 = Ordinal_111(); + uVar2 = FUN_140035d40(param_1,(ulonglong)uVar2,L"Proud::CFastSocket::Bind",param_4); + return uVar2 & 0xffffff00; + } + return CONCAT31(extraout_var,1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037560.c b/decomp/Agent_Release_x64/full/functions/0x140037560.c new file mode 100644 index 00000000..ac8608d8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037560.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037560 FUN_140037560 + * Pseudocode, not original source. */ + +undefined8 * FUN_140037560(undefined8 *param_1,undefined8 param_2,undefined8 param_3) + +{ + FUN_14003a1f0(param_1 + 4,1,1); + param_1[2] = param_2; + param_1[3] = param_3; + *param_1 = 0xffffffffffffffff; + *(undefined4 *)(param_1 + 1) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400375c0.c b/decomp/Agent_Release_x64/full/functions/0x1400375c0.c new file mode 100644 index 00000000..3f73d774 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400375c0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400375c0 FUN_1400375c0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400375c0(longlong param_1) + +{ + (**(code **)(param_1 + 0x10))(*(undefined8 *)(param_1 + 0x18)); + SetEvent(*(HANDLE *)(param_1 + 0x20)); + return 0x14d; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400375f0.c b/decomp/Agent_Release_x64/full/functions/0x1400375f0.c new file mode 100644 index 00000000..a6655b58 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400375f0.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400375f0 FUN_1400375f0 + * Pseudocode, not original source. */ + +void FUN_1400375f0(undefined8 *param_1) + +{ + bool bVar1; + DWORD DVar2; + + if ((HANDLE)*param_1 != (HANDLE)0xffffffffffffffff) { + DVar2 = WaitForSingleObject((HANDLE)*param_1,1); + if (DVar2 == 0x102) { + bVar1 = FUN_14003a0e0(param_1 + 4,0x32); + while ((!bVar1 && (DAT_14015c2d0 == '\0'))) { + bVar1 = FUN_14003a0e0(param_1 + 4,0x32); + } + } + CloseHandle((HANDLE)*param_1); + } + *(undefined4 *)(param_1 + 1) = 0; + *param_1 = 0xffffffffffffffff; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037670.c b/decomp/Agent_Release_x64/full/functions/0x140037670.c new file mode 100644 index 00000000..29d3c0b0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037670.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037670 FUN_140037670 + * Pseudocode, not original source. */ + +void FUN_140037670(undefined8 *param_1) + +{ + FUN_1400375f0(param_1); + FUN_14003a1b0(param_1 + 4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400376a0.c b/decomp/Agent_Release_x64/full/functions/0x1400376a0.c new file mode 100644 index 00000000..c5ef795e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400376a0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400376a0 FUN_1400376a0 + * Pseudocode, not original source. */ + +MMRESULT * FUN_1400376a0(MMRESULT *param_1,LPTIMECALLBACK param_2,UINT param_3) + +{ + MMRESULT MVar1; + + MVar1 = timeSetEvent(param_3,param_3 / 10,param_2,0,0x11); + *param_1 = MVar1; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400376e0.c b/decomp/Agent_Release_x64/full/functions/0x1400376e0.c new file mode 100644 index 00000000..fc6a6215 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400376e0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400376e0 FUN_1400376e0 + * Pseudocode, not original source. */ + +void FUN_1400376e0(UINT *param_1) + +{ + /* WARNING: Could not recover jumptable at 0x0001400376e2. Too many branches */ + /* WARNING: Treating indirect jump as call */ + timeKillEvent(*param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037700.c b/decomp/Agent_Release_x64/full/functions/0x140037700.c new file mode 100644 index 00000000..e11faf74 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037700.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037700 FUN_140037700 + * Pseudocode, not original source. */ + +undefined8 * FUN_140037700(undefined8 *param_1) + +{ + RPC_STATUS RVar1; + UUID local_18; + + RVar1 = UuidCreate(&local_18); + if (RVar1 != 0) { + local_18.Data2 = 0; + local_18.Data3 = 0; + local_18.Data1 = 0; + local_18.Data4[0] = '\0'; + local_18.Data4[1] = '\0'; + local_18.Data4[2] = '\0'; + local_18.Data4[3] = '\0'; + local_18.Data4[4] = '\0'; + local_18.Data4[5] = '\0'; + local_18.Data4[6] = '\0'; + local_18.Data4[7] = '\0'; + } + *param_1 = CONCAT44(local_18._4_4_,local_18.Data1); + param_1[1] = CONCAT44(local_18.Data4._4_4_,local_18.Data4._0_4_); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037760.c b/decomp/Agent_Release_x64/full/functions/0x140037760.c new file mode 100644 index 00000000..2a1667af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037760.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037760 FUN_140037760 + * Pseudocode, not original source. */ + +void FUN_140037760(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + HANDLE pvVar1; + exception local_58 [80]; + + if (*param_1 != -1) { + FUN_14002f1e0(local_58,L"Thread is already started!",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + ResetEvent((HANDLE)param_1[4]); + pvVar1 = CreateThread((LPSECURITY_ATTRIBUTES)0x0,0,FUN_1400375c0,param_1,0,(LPDWORD)(param_1 + 1)) + ; + *param_1 = (longlong)pvVar1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400377d0.c b/decomp/Agent_Release_x64/full/functions/0x1400377d0.c new file mode 100644 index 00000000..3c38b846 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400377d0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400377d0 FUN_1400377d0 + * Pseudocode, not original source. */ + +undefined4 * FUN_1400377d0(undefined4 *param_1) + +{ + FUN_14002e6e0((int *)&DAT_14015c2d8); + FUN_14003a2a0(0x14015c310,param_1); + FUN_14002e770(0x14015c2d8); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037830.c b/decomp/Agent_Release_x64/full/functions/0x140037830.c new file mode 100644 index 00000000..ebbbc8a3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037830.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037830 FUN_140037830 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_140037830(ulong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + RPC_STATUS RVar1; + undefined4 extraout_var; + undefined4 extraout_var_00; + ulonglong uVar2; + undefined8 uVar3; + undefined1 auStack_168 [32]; + RPC_CSTR local_148; + undefined8 local_140; + UUID local_138; + short *local_128; + short local_120 [132]; + ulonglong local_18; + + local_140 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_168; + local_138.Data1 = *param_1; + local_138._4_4_ = param_1[1]; + local_138.Data4._0_4_ = param_1[2]; + local_138.Data4._4_4_ = param_1[3]; + RVar1 = UuidToStringA(&local_138,&local_148); + if (RVar1 == 0) { + local_128 = local_120; + uVar3 = 3; + FUN_14002a670((longlong *)&local_128,(LPCSTR)local_148,3); + FUN_140006c60(param_2,local_128,uVar3,param_4); + if (local_128 != local_120) { + free(local_128); + } + RVar1 = RpcStringFreeA(&local_148); + uVar2 = CONCAT71((int7)(CONCAT44(extraout_var_00,RVar1) >> 8),1); + } + else { + uVar2 = CONCAT44(extraout_var,RVar1) & 0xffffffffffffff00; + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037900.c b/decomp/Agent_Release_x64/full/functions/0x140037900.c new file mode 100644 index 00000000..86650fa9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037900.c @@ -0,0 +1,91 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037900 FUN_140037900 + * Pseudocode, not original source. */ + +longlong * FUN_140037900(ulong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + undefined *puVar2; + uint uVar3; + ulonglong uVar4; + int *piVar5; + undefined *puVar6; + longlong *plVar7; + undefined **ppuVar8; + undefined *puVar9; + undefined *local_res20; + + FUN_140030200(param_1,param_2,param_3,param_4); + local_res20 = PTR_DAT_140155010; + ppuVar8 = &local_res20; + uVar4 = FUN_140037830(param_1,(longlong *)ppuVar8,param_3,param_4); + if ((char)uVar4 == '\0') { + FUN_140030200(param_1,ppuVar8,param_3,param_4); + *param_2 = (longlong)PTR_DAT_140155010; + uVar3 = FUN_140030080((short *)&DAT_1400f50c8); + puVar6 = FUN_140002f90(param_2,uVar3); + uVar4 = (ulonglong)uVar3; + puVar9 = &DAT_1400f50c8; + FUN_1400300b0(puVar6,&DAT_1400f50c8,uVar3); + plVar7 = param_2; + FUN_140003070(param_2); + puVar6 = local_res20; + if (local_res20 == (undefined *)0x0) { + return param_2; + } + if (local_res20 == PTR_DAT_140155010) { + return param_2; + } + puVar2 = local_res20 + -8; + if (puVar2 == (undefined *)0x0) { + return param_2; + } + piVar5 = (int *)FUN_140030200(plVar7,puVar9,uVar4,param_4); + FUN_14002e6e0(piVar5); + piVar1 = (int *)(puVar6 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(puVar2); + } + } + else { + FUN_140030200(param_1,ppuVar8,param_3,param_4); + puVar9 = local_res20; + puVar6 = PTR_DAT_140155010; + *param_2 = (longlong)PTR_DAT_140155010; + if (puVar6 == (undefined *)0x0) { + *param_2 = (longlong)PTR_DAT_140155010; + } + if (local_res20 != (undefined *)*param_2) { + param_1 = (ulong *)FUN_140030200(param_1,ppuVar8,param_3,param_4); + FUN_14002e6e0((int *)param_1); + FUN_140003240(param_2,ppuVar8,param_3,param_4); + *param_2 = (longlong)puVar9; + if (((puVar9 != PTR_DAT_140155010) && (puVar9 != (undefined *)0x0)) && + (puVar9 != (undefined *)0x8)) { + *(int *)(puVar9 + -4) = *(int *)(puVar9 + -4) + 1; + } + FUN_14002e770((longlong)param_1); + } + if (puVar9 == (undefined *)0x0) { + return param_2; + } + if (puVar9 == PTR_DAT_140155010) { + return param_2; + } + if (puVar9 + -8 == (undefined *)0x0) { + return param_2; + } + piVar5 = (int *)FUN_140030200(param_1,ppuVar8,param_3,param_4); + FUN_14002e6e0(piVar5); + piVar1 = (int *)(puVar9 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(puVar9 + -8); + } + } + FUN_14002e770((longlong)piVar5); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037ab0.c b/decomp/Agent_Release_x64/full/functions/0x140037ab0.c new file mode 100644 index 00000000..da12c9c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037ab0.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037ab0 FUN_140037ab0 + * Pseudocode, not original source. */ + +void FUN_140037ab0(undefined4 param_1,undefined8 param_2) + +{ + undefined4 local_28 [2]; + undefined8 local_20; + undefined4 local_18; + undefined4 local_14; + + Sleep(10); + local_28[0] = 0x1000; + local_14 = 0; + local_20 = param_2; + local_18 = param_1; + RaiseException(0x406d1388,0,3,(ULONG_PTR *)local_28); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037b10.c b/decomp/Agent_Release_x64/full/functions/0x140037b10.c new file mode 100644 index 00000000..cdd9db48 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037b10.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037b10 FUN_140037b10 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140037b10(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined1 uVar2; + undefined6 uVar3; + + uVar2 = (undefined1)((ulonglong)param_3 >> 8); + uVar3 = (undefined6)((ulonglong)param_3 >> 0x10); + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)(param_1 + 0xe),uVar1 & 0xffffffff,CONCAT62(uVar3,CONCAT11(uVar2,1)), + param_4); + *param_1 = param_2; + param_1[0xd] = 0; + param_1[9] = 0; + param_1[10] = 0; + param_1[0xb] = 0; + *(undefined4 *)(param_1 + 8) = 2; + *(short *)(param_1 + 0xc) = (short)param_3; + *(undefined1 *)(param_1 + 0x15) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037b80.c b/decomp/Agent_Release_x64/full/functions/0x140037b80.c new file mode 100644 index 00000000..d9b2dae3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037b80.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037b80 FUN_140037b80 + * Pseudocode, not original source. */ + +void FUN_140037b80(longlong param_1) + +{ + /* WARNING: Could not recover jumptable at 0x000140037b87. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(**(longlong **)(param_1 + 8) + 0x18))(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037b90.c b/decomp/Agent_Release_x64/full/functions/0x140037b90.c new file mode 100644 index 00000000..241f4944 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037b90.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037b90 FUN_140037b90 + * Pseudocode, not original source. */ + +ulonglong FUN_140037b90(longlong param_1) + +{ + int *piVar1; + int iVar2; + ulonglong uVar3; + int iVar4; + LPVOID pvVar5; + + if (*(int *)(param_1 + 0x14) == 0) { + return 0; + } + pvVar5 = TlsGetValue((DWORD)DAT_14015cd30); + iVar4 = DAT_14015cd28; + if (pvVar5 == (LPVOID)0x0) { + LOCK(); + piVar1 = (int *)(param_1 + 0x40); + iVar2 = *piVar1; + *piVar1 = *piVar1 + 1; + UNLOCK(); + uVar3 = (longlong)(iVar2 + 1) % (longlong)iVar4; + TlsSetValue((DWORD)DAT_14015cd30,(LPVOID)((longlong)(int)uVar3 + 1)); + return uVar3 & 0xffffffff; + } + return (longlong)pvVar5 - 1U & 0xffffffff; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037c10.c b/decomp/Agent_Release_x64/full/functions/0x140037c10.c new file mode 100644 index 00000000..96f303ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037c10.c @@ -0,0 +1,76 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037c10 FUN_140037c10 + * Pseudocode, not original source. */ + +undefined2 * FUN_140037c10(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + bool bVar3; + undefined2 *puVar4; + bool bVar5; + + if ((int)param_1[8] == 2) { + bVar5 = *(int *)(*param_1 + 0x14) != 0; + plVar1 = param_1 + 0xe; + if (bVar5) { + FUN_14002e6e0((int *)plVar1); + } + *(undefined1 *)(param_1 + 0x15) = 1; + if (((*(int *)(*param_1 + 0x14) == 0) && (lVar2 = *(longlong *)(*param_1 + 0x18), lVar2 != 0)) + && (bVar3 = FUN_14002e820(lVar2), !bVar3)) { + FUN_14002fa10(L"Unsafe heap accessor with thread unsafety is detected!"); + } + if (param_2 != 0) { + if (param_1[0xd] == 0) { + param_1[0xd] = param_2; + } + else if (param_1[0xd] != param_2) { + *(undefined1 *)(param_1 + 0x15) = 0; + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + lVar2 = param_1[9]; + if (lVar2 == 0) { + puVar4 = (undefined2 *) + (**(code **)**(undefined8 **)(*param_1 + 8)) + (*(undefined8 **)(*param_1 + 8),param_2 + 0x20); + if (puVar4 != (undefined2 *)0x0) { + puVar4[0xc] = 0; + *(undefined8 *)(puVar4 + 8) = 0; + *puVar4 = 0x10e1; + } + *(longlong *)(puVar4 + 4) = param_1[0xd]; + puVar4[0xc] = (short)param_1[0xc]; + param_1[0xb] = param_1[0xb] + 1; + *(undefined1 *)(param_1 + 0x15) = 0; + if (!bVar5) { + return puVar4 + 0x10; + } + FUN_14002e770((longlong)plVar1); + return puVar4 + 0x10; + } + param_1[9] = *(longlong *)(lVar2 + 0x10); + *(undefined8 *)(lVar2 + 0x10) = 0; + *(short *)(lVar2 + 0x18) = (short)param_1[0xc]; + param_1[10] = param_1[10] + -1; + *(undefined1 *)(param_1 + 0x15) = 0; + if (!bVar5) { + return (undefined2 *)(lVar2 + 0x20); + } + FUN_14002e770((longlong)plVar1); + return (undefined2 *)(lVar2 + 0x20); + } + *(undefined1 *)(param_1 + 0x15) = 0; + if (bVar5) { + FUN_14002e770((longlong)plVar1); + } + } + else { + FUN_14002fa10(L"CLookasideAllocator.Alloc() is called after the allocator is already disposed!") + ; + } + return (undefined2 *)0x0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037da0.c b/decomp/Agent_Release_x64/full/functions/0x140037da0.c new file mode 100644 index 00000000..7d901166 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037da0.c @@ -0,0 +1,45 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037da0 FUN_140037da0 + * Pseudocode, not original source. */ + +void FUN_140037da0(longlong *param_1,longlong param_2) + +{ + longlong lVar1; + bool bVar2; + bool bVar3; + + if ((int)param_1[8] != 2) { + FUN_14002fa10( + L"CLookasideAllocator.Free() is called after the allocator is already disposed! Doing Free before WinMain returns in highly recommended." + ); + } + bVar3 = *(int *)(*param_1 + 0x14) != 0; + if (bVar3) { + FUN_14002e6e0((int *)(param_1 + 0xe)); + } + *(undefined1 *)(param_1 + 0x15) = 1; + if ((*(int *)(*param_1 + 0x14) == 0) && (lVar1 = *(longlong *)(*param_1 + 0x18), lVar1 != 0)) { + bVar2 = FUN_14002e820(lVar1); + if (!bVar2) { + FUN_14002fa10(L"Unsafe heap accessor with thread unsafety is detected!"); + } + } + if (*(longlong *)(param_2 + 0x10) == 0) { + *(longlong *)(param_2 + 0x10) = param_1[9]; + param_1[9] = param_2; + param_1[10] = param_1[10] + 1; + } + else { + FUN_14002fa10( + L"Not a CLookasideAllocator or owner CFastHeap allocated block! Refer to technical notes for more help." + ); + *(undefined1 *)(param_1 + 0x15) = 0; + } + *(undefined1 *)(param_1 + 0x15) = 0; + if (bVar3) { + FUN_14002e770((longlong)(param_1 + 0xe)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037e90.c b/decomp/Agent_Release_x64/full/functions/0x140037e90.c new file mode 100644 index 00000000..340164c1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037e90.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037e90 FUN_140037e90 + * Pseudocode, not original source. */ + +void FUN_140037e90(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + + plVar1 = param_1 + 0xe; + FUN_14002e710((int *)plVar1); + *(undefined4 *)(param_1 + 8) = 3; + lVar2 = param_1[9]; + while (lVar2 != 0) { + param_2 = param_1[9]; + param_1[9] = *(longlong *)(param_2 + 0x10); + *(undefined8 *)(param_2 + 0x10) = 0; + (**(code **)(**(longlong **)(*param_1 + 8) + 0x10))(); + lVar2 = param_1[9]; + } + FUN_14002e770((longlong)plVar1); + FUN_14002e7a0((undefined4 *)plVar1,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037f30.c b/decomp/Agent_Release_x64/full/functions/0x140037f30.c new file mode 100644 index 00000000..68a8463a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037f30.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037f30 FUN_140037f30 + * Pseudocode, not original source. */ + +void FUN_140037f30(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + + uVar1 = FUN_140037b90(param_1); + FUN_140037c10(*(longlong **)(*(longlong *)(param_1 + 0x48) + (longlong)(int)uVar1 * 8),param_2, + (longlong)(int)uVar1,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037f70.c b/decomp/Agent_Release_x64/full/functions/0x140037f70.c new file mode 100644 index 00000000..c07b9124 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037f70.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037f70 FUN_140037f70 + * Pseudocode, not original source. */ + +void FUN_140037f70(longlong param_1,longlong param_2) + +{ + longlong *plVar1; + + if ((((param_2 != 0) && (*(short *)(param_2 + -0x20) == 0x10e1)) && + (plVar1 = *(longlong **) + (*(longlong *)(param_1 + 0x48) + (ulonglong)*(ushort *)(param_2 + -8) * 8), + *(ushort *)(param_2 + -8) < DAT_14015cd28)) && (plVar1[0xd] == *(longlong *)(param_2 + -0x18)) + ) { + FUN_140037da0(plVar1,param_2 + -0x20); + return; + } + FUN_14002fa10( + L"Not a CLookasideAllocator or owner CFastHeap allocated block! Refer to technical notes for more help." + ); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140037fc0.c b/decomp/Agent_Release_x64/full/functions/0x140037fc0.c new file mode 100644 index 00000000..5af2569c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140037fc0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140037fc0 FUN_140037fc0 + * Pseudocode, not original source. */ + +void FUN_140037fc0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + DWORD DVar1; + ulonglong uVar2; + undefined7 uVar3; + + uVar3 = (undefined7)((ulonglong)param_3 >> 8); + if ((DAT_14015cd70 & 1) == 0) { + DAT_14015cd70 = DAT_14015cd70 | 1; + uVar2 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015cd38,uVar2 & 0xffffffff,CONCAT71(uVar3,1),param_4); + atexit((_func_5014 *)&LAB_1400f15e0); + } + FUN_14002e6e0((int *)&DAT_14015cd38); + if (DAT_14015cd28 == 0) { + DAT_14015cd28 = FUN_14002f850(); + } + if (DAT_14015cd30 == 0) { + DVar1 = TlsAlloc(); + DAT_14015cd30 = (ulonglong)DVar1; + } + FUN_14002e770(0x14015cd38); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140038060.c b/decomp/Agent_Release_x64/full/functions/0x140038060.c new file mode 100644 index 00000000..260415fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140038060.c @@ -0,0 +1,76 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140038060 FUN_140038060 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140038060(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + void *pvVar3; + undefined8 *puVar4; + undefined8 *puVar5; + undefined8 *puVar6; + ulonglong uVar7; + longlong *plVar8; + ushort uVar9; + + plVar8 = param_2; + FUN_1400331f0(param_1); + *param_1 = Proud::CLookasideAllocatorImpl::vftable; + plVar1 = param_1 + 1; + FUN_140033200(plVar1); + puVar4 = param_1; + FUN_140037fc0(param_1,plVar8,param_3,param_4); + puVar5 = (undefined8 *)0x0; + *(undefined4 *)(param_1 + 8) = 0; + *plVar1 = *param_2; + param_1[2] = param_2[1]; + param_1[3] = param_2[2]; + if (DAT_14015bfcd != '\0') { + *(undefined4 *)((longlong)param_1 + 0x14) = 1; + } + if (*plVar1 == 0) { + lVar2 = FUN_140030be0(puVar4,plVar8,param_3,param_4); + *plVar1 = lVar2; + } + if (*(int *)((longlong)param_1 + 0x14) == 0) { + pvVar3 = malloc(8); + param_1[9] = pvVar3; + puVar4 = operator_new(0xc0); + if (puVar4 != (undefined8 *)0x0) { + puVar5 = FUN_140037b10(puVar4,param_1,0,param_4); + } + *(undefined8 **)param_1[9] = puVar5; + } + else { + pvVar3 = malloc((ulonglong)DAT_14015cd28 << 3); + param_1[9] = pvVar3; + uVar9 = 0; + if (DAT_14015cd28 != 0) { + do { + puVar6 = operator_new(0xc0); + puVar4 = puVar5; + if (puVar6 != (undefined8 *)0x0) { + uVar7 = FUN_14002e790(); + param_3 = CONCAT71((int7)((ulonglong)param_3 >> 8),1); + FUN_14002e600((undefined4 *)(puVar6 + 0xe),uVar7 & 0xffffffff,param_3,param_4); + *puVar6 = param_1; + puVar6[0xd] = 0; + *(undefined4 *)(puVar6 + 8) = 2; + puVar6[9] = 0; + puVar6[10] = 0; + puVar6[0xb] = 0; + *(ushort *)(puVar6 + 0xc) = uVar9; + *(undefined1 *)(puVar6 + 0x15) = 0; + puVar4 = puVar6; + } + *(undefined8 **)(param_1[9] + (ulonglong)uVar9 * 8) = puVar4; + uVar9 = uVar9 + 1; + } while (uVar9 < DAT_14015cd28); + } + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400381d0.c b/decomp/Agent_Release_x64/full/functions/0x1400381d0.c new file mode 100644 index 00000000..9e5c26d9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400381d0.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400381d0 FUN_1400381d0 + * Pseudocode, not original source. */ + +void FUN_1400381d0(undefined8 *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + ulonglong uVar2; + ushort uVar3; + + *param_1 = Proud::CLookasideAllocatorImpl::vftable; + if (*(int *)((longlong)param_1 + 0x14) == 0) { + plVar1 = *(longlong **)param_1[9]; + if (plVar1 != (longlong *)0x0) { + FUN_140037e90(plVar1,param_2,param_3,param_4); + operator_delete(plVar1); + } + } + else { + uVar3 = 0; + uVar2 = (ulonglong)DAT_14015cd28; + if (DAT_14015cd28 != 0) { + do { + plVar1 = *(longlong **)(param_1[9] + (ulonglong)uVar3 * 8); + if (plVar1 != (longlong *)0x0) { + FUN_140037e90(plVar1,uVar2,param_3,param_4); + operator_delete(plVar1); + uVar2 = (ulonglong)DAT_14015cd28; + } + uVar3 = uVar3 + 1; + } while ((uint)uVar3 < (uint)uVar2); + } + } + free((void *)param_1[9]); + FUN_1400331b0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140038290.c b/decomp/Agent_Release_x64/full/functions/0x140038290.c new file mode 100644 index 00000000..cfc72bdf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140038290.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140038290 FUN_140038290 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140038290(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400381d0(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + FUN_1400302f0(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400382c0.c b/decomp/Agent_Release_x64/full/functions/0x1400382c0.c new file mode 100644 index 00000000..d5144d64 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400382c0.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400382c0 FUN_1400382c0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +bool FUN_1400382c0(undefined8 param_1,undefined4 param_2,undefined2 param_3) + +{ + undefined2 uVar1; + int iVar2; + undefined1 auStack_48 [32]; + undefined4 local_28; + undefined4 uStack_24; + undefined8 local_20; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_48; + local_20 = 0; + _local_28 = CONCAT44(param_2,2); + uVar1 = Ordinal_9(param_3); + local_28 = CONCAT22(uVar1,(undefined2)local_28); + iVar2 = Ordinal_2(param_1,&local_28,0x10); + return iVar2 != -1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140038330.c b/decomp/Agent_Release_x64/full/functions/0x140038330.c new file mode 100644 index 00000000..ad6a7122 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140038330.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140038330 FUN_140038330 + * Pseudocode, not original source. */ + +bool FUN_140038330(undefined8 param_1,longlong param_2,undefined2 param_3) + +{ + bool bVar1; + int iVar2; + + if (param_2 == 0) { + iVar2 = 0; + } + else { + iVar2 = Ordinal_11(param_2); + if (iVar2 == -1) { + Ordinal_112(0x2726); + return false; + } + } + bVar1 = FUN_1400382c0(param_1,iVar2,param_3); + return bVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140038390.c b/decomp/Agent_Release_x64/full/functions/0x140038390.c new file mode 100644 index 00000000..ddd7ae5c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140038390.c @@ -0,0 +1,98 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140038390 FUN_140038390 + * Pseudocode, not original source. */ + +longlong * FUN_140038390(longlong *param_1,undefined **param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined *puVar1; + int *piVar2; + int iVar3; + longlong lVar4; + int *piVar5; + undefined *puVar6; + undefined **ppuVar7; + ulonglong uVar8; + uint uVar9; + undefined *local_res18; + undefined *local_res20; + ulonglong uVar10; + + uVar8 = 0; + local_res18 = (undefined *)((ulonglong)local_res18 & 0xffffffff00000000); + ppuVar7 = param_2; + lVar4 = Ordinal_52(); + if ((lVar4 == 0) || (ppuVar7 = *(undefined ***)(lVar4 + 0x18), *ppuVar7 == (undefined *)0x0)) { + FUN_140030200(param_2,ppuVar7,param_3,param_4); + *param_1 = (longlong)PTR_DAT_140155008; + iVar3 = FUN_140030120(""); + puVar6 = FUN_14002edf0(param_1,iVar3); + FUN_140030150(puVar6,&DAT_14011e21c,iVar3); + FUN_14002eab0(param_1); + } + else { + FUN_140030200(param_2,ppuVar7,param_3,param_4); + local_res20 = PTR_DAT_140155008; + uVar10 = uVar8; + if (0 < *(short *)(lVar4 + 0x12)) { + do { + FUN_140030200(param_2,ppuVar7,param_3,param_4); + local_res18 = PTR_DAT_140155008; + if (0 < (longlong)uVar8) { + FUN_140033530((longlong *)&local_res20,"."); + } + param_3 = (ulonglong)*(byte *)(**(longlong **)(lVar4 + 0x18) + uVar8); + FUN_140031ea0((longlong *)&local_res18,"%u",param_3,param_4); + ppuVar7 = &local_res18; + param_2 = &local_res20; + FUN_140031d10((longlong *)param_2,(longlong *)ppuVar7); + puVar6 = local_res18; + if (((local_res18 != (undefined *)0x0) && (local_res18 != PTR_DAT_140155008)) && + (puVar1 = local_res18 + -8, puVar1 != (undefined *)0x0)) { + param_2 = (undefined **)FUN_140030200(param_2,ppuVar7,param_3,param_4); + FUN_14002e6e0((int *)param_2); + piVar2 = (int *)(puVar6 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)param_2); + } + uVar9 = (int)uVar10 + 1; + uVar10 = (ulonglong)uVar9; + uVar8 = uVar8 + 1; + } while ((int)uVar9 < (int)*(short *)(lVar4 + 0x12)); + } + puVar1 = local_res20; + FUN_140030200(param_2,ppuVar7,param_3,param_4); + puVar6 = PTR_DAT_140155008; + *param_1 = (longlong)PTR_DAT_140155008; + if (puVar6 == (undefined *)0x0) { + *param_1 = (longlong)PTR_DAT_140155008; + } + if (puVar1 != (undefined *)*param_1) { + param_2 = (undefined **)FUN_140030200(param_2,ppuVar7,param_3,param_4); + FUN_14002e6e0((int *)param_2); + FUN_14001c020(param_1); + *param_1 = (longlong)puVar1; + if (((puVar1 != PTR_DAT_140155008) && (puVar1 != (undefined *)0x0)) && + (puVar1 != (undefined *)0x8)) { + *(int *)(puVar1 + -4) = *(int *)(puVar1 + -4) + 1; + } + FUN_14002e770((longlong)param_2); + } + if (((puVar1 != (undefined *)0x0) && (puVar1 != PTR_DAT_140155008)) && + (puVar1 + -8 != (undefined *)0x0)) { + piVar5 = (int *)FUN_140030200(param_2,ppuVar7,param_3,param_4); + FUN_14002e6e0(piVar5); + piVar2 = (int *)(puVar1 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1 + -8); + } + FUN_14002e770((longlong)piVar5); + } + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400385f0.c b/decomp/Agent_Release_x64/full/functions/0x1400385f0.c new file mode 100644 index 00000000..37282c56 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400385f0.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400385f0 FUN_1400385f0 + * Pseudocode, not original source. */ + +void FUN_1400385f0(undefined8 param_1) + +{ + int iVar1; + uint uVar2; + undefined *puVar3; + undefined8 uVar4; + wchar_t *pwVar5; + undefined8 uVar6; + ulonglong uVar7; + short *psVar8; + short local_res10; + short local_res12; + undefined4 local_res18; + undefined *local_res20; + + psVar8 = &local_res10; + uVar4 = 0xffff; + uVar6 = 0x80; + local_res18 = 4; + iVar1 = Ordinal_7(); + if (((iVar1 == 0) && (local_res10 != 0)) && (local_res12 != 0)) { + FUN_140030200(param_1,uVar4,uVar6,psVar8); + local_res20 = PTR_DAT_140155010; + uVar2 = FUN_140030080( + L"FATAL: Socket which has behavior of some waits in closesocket() has been detected!" + ); + puVar3 = FUN_140002f90((longlong *)&local_res20,uVar2); + pwVar5 = L"FATAL: Socket which has behavior of some waits in closesocket() has been detected!"; + uVar7 = (ulonglong)uVar2; + FUN_1400300b0(puVar3, + L"FATAL: Socket which has behavior of some waits in closesocket() has been detected!" + ,uVar2); + FUN_140003070((longlong *)&local_res20); + FUN_140033120((longlong *)&local_res20,pwVar5,uVar7,psVar8); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140038690.c b/decomp/Agent_Release_x64/full/functions/0x140038690.c new file mode 100644 index 00000000..21b5c474 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140038690.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140038690 FUN_140038690 + * Pseudocode, not original source. */ + +void FUN_140038690(longlong *param_1) + +{ + longlong lVar1; + longlong *plVar2; + longlong *plVar3; + exception local_58 [88]; + + lVar1 = *param_1; + while( true ) { + if (lVar1 == 0) { + return; + } + plVar2 = (longlong *)*param_1; + if ((longlong *)plVar2[2] != param_1) break; + plVar3 = (longlong *)plVar2[1]; + lVar1 = *plVar2; + if (plVar3 != (longlong *)0x0) { + *plVar3 = lVar1; + } + if (lVar1 != 0) { + *(longlong **)(lVar1 + 8) = plVar3; + } + if (plVar3 == (longlong *)0x0) { + if ((longlong *)param_1[1] != plVar2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + param_1[1] = lVar1; + } + if (lVar1 == 0) { + if ((longlong *)*param_1 != plVar2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = (longlong)plVar3; + } + *plVar2 = 0; + plVar2[1] = 0; + plVar2[2] = 0; + *(int *)(param_1 + 2) = (int)param_1[2] + -1; + lVar1 = *param_1; + } + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140038790.c b/decomp/Agent_Release_x64/full/functions/0x140038790.c new file mode 100644 index 00000000..2fb08ad9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140038790.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140038790 FUN_140038790 + * Pseudocode, not original source. */ + +longlong * FUN_140038790(longlong *param_1,longlong *param_2) + +{ + longlong *plVar1; + longlong lVar2; + longlong *plVar3; + + plVar1 = (longlong *)param_1[1]; + if (plVar1 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + *param_2 = plVar1[2]; + param_2[1] = plVar1[3]; + param_2[2] = plVar1[4]; + lVar2 = *plVar1; + param_1[1] = lVar2; + if (lVar2 == 0) { + param_1[2] = 0; + } + else { + *(undefined8 *)(lVar2 + 8) = 0; + } + plVar3 = (longlong *)*param_1; + if (plVar3 != (longlong *)0x0) { + (**(code **)(*plVar3 + 0x10))(plVar3,plVar1); + param_1[3] = param_1[3] + -1; + return param_2; + } + FUN_1400302f0(plVar1); + param_1[3] = param_1[3] + -1; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140038830.c b/decomp/Agent_Release_x64/full/functions/0x140038830.c new file mode 100644 index 00000000..a0fed4df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140038830.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140038830 FUN_140038830 + * Pseudocode, not original source. */ + +longlong FUN_140038830(longlong *param_1,longlong *param_2) + +{ + longlong lVar1; + + if (param_2 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + lVar1 = *param_2; + if (param_2 == (longlong *)param_1[1]) { + param_1[1] = lVar1; + } + else { + *(longlong *)param_2[1] = lVar1; + } + if (param_2 == (longlong *)param_1[2]) { + param_1[2] = param_2[1]; + } + else { + *(longlong *)(*param_2 + 8) = param_2[1]; + } + if ((longlong *)*param_1 != (longlong *)0x0) { + (**(code **)(*(longlong *)*param_1 + 0x10))(); + param_1[3] = param_1[3] + -1; + return lVar1; + } + FUN_1400302f0(param_2); + param_1[3] = param_1[3] + -1; + return lVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400388c0.c b/decomp/Agent_Release_x64/full/functions/0x1400388c0.c new file mode 100644 index 00000000..6507c22f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400388c0.c @@ -0,0 +1,216 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400388c0 FUN_1400388c0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400388c0(char *param_1,longlong *param_2,ulonglong param_3,undefined8 param_4) + +{ + longlong *plVar1; + bool bVar2; + undefined4 uVar3; + ushort uVar4; + int iVar5; + DWORD DVar6; + undefined *puVar7; + undefined4 extraout_var; + undefined4 extraout_var_00; + undefined8 uVar8; + ulonglong uVar9; + longlong *plVar10; + int *piVar11; + longlong *plVar12; + int iVar13; + int iVar14; + double dVar15; + double dVar16; + int local_res8 [2]; + int *local_res20; + int *local_a8; + undefined1 local_a0; + undefined8 local_98; + longlong local_90; + longlong local_88; + undefined4 local_80; + undefined8 local_78; + undefined **local_70; + undefined4 local_68; + ushort local_64; + undefined4 local_60; + + local_98 = 0xfffffffffffffffe; + iVar14 = (int)param_3; + if (*(longlong *)(param_1 + 0x28) == 0) { + SetLastError(0); + dVar15 = FUN_14003a420(param_1); + local_res20 = (int *)(param_1 + 0x50); + plVar12 = (longlong *)(param_1 + 0x38); + iVar13 = 0; + do { + local_a8 = (int *)(param_1 + 0x50); + FUN_14002e6e0(local_a8); + local_a0 = 1; + local_res8[0] = *(int *)(param_1 + 0x48) * 3 + 3; + plVar1 = (longlong *)*plVar12; + local_70 = Proud::AddrPort::vftable; + local_60 = 0; + local_78 = 0; + local_68 = DAT_1401553d0; + local_64 = DAT_1401553d4; + for (; plVar1 != (longlong *)0x0; plVar1 = (longlong *)plVar1[1]) { + uVar8 = FUN_1400353c0((longlong)plVar1,0,(uint *)&local_78); + if ((char)uVar8 != '\0') { + *(undefined4 *)(param_2 + 2) = 1; + plVar10 = plVar1 + 0x48; +LAB_140038c29: + uVar8 = 0; + FUN_140034a10((longlong)plVar10,(undefined8 *)0x0,0); + *param_2 = plVar1[0x5d]; + *(undefined4 *)((longlong)param_2 + 0xc) = local_78._4_4_; + *(undefined4 *)(param_2 + 1) = local_60; + if ((longlong *)plVar1[2] != (longlong *)0x0) { + FUN_140034f90((longlong *)plVar1[2],plVar1,uVar8,param_4); + } + if (plVar1[2] != 0) { + FUN_140034f90(plVar12,plVar1,uVar8,param_4); + } + if (*(longlong *)(param_1 + 0x40) == 0) { + *plVar12 = (longlong)plVar1; + } + else { + *(longlong **)(*(longlong *)(param_1 + 0x40) + 8) = plVar1; + *plVar1 = *(longlong *)(param_1 + 0x40); + } + *(longlong **)(param_1 + 0x40) = plVar1; + plVar1[2] = (longlong)plVar12; + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + 1; + piVar11 = local_res20; + goto LAB_140038cda; + } + uVar8 = FUN_140035150((longlong)plVar1,0,(undefined4 *)&local_78); + if ((char)uVar8 != '\0') { + *(undefined4 *)(param_2 + 2) = 2; + *(undefined4 *)(param_2 + 4) = *(undefined4 *)((longlong)plVar1 + 0x304); + FUN_140033260((longlong)(param_2 + 5),(longlong)(plVar1 + 0x5e)); + plVar10 = plVar1 + 0x30; + goto LAB_140038c29; + } + uVar8 = FUN_140035220((longlong)plVar1,0,(undefined4 *)&local_78); + if ((char)uVar8 != '\0') { + *(undefined4 *)(param_2 + 2) = 3; + plVar10 = plVar1 + 0x18; + goto LAB_140038c29; + } + uVar8 = FUN_1400352f0((longlong)plVar1,0,(undefined4 *)&local_78); + if ((char)uVar8 != '\0') { + *(undefined4 *)(param_2 + 2) = 4; + plVar10 = plVar1 + 0x68; + goto LAB_140038c29; + } + } + if (*(longlong *)(param_1 + 0xa0) != 0) { + FUN_140038790((longlong *)(param_1 + 0x88),&local_90); + if (local_90 == 0) { + *param_2 = 0; + } + else { + *param_2 = *(longlong *)(local_90 + 0x2e8); + } + *(undefined4 *)(param_2 + 2) = local_80; + param_2[3] = local_88; + param_2[1] = 0; + piVar11 = (int *)(param_1 + 0x50); +LAB_140038cda: + uVar9 = FUN_14002e770((longlong)piVar11); + goto LAB_140038cdf; + } + uVar9 = FUN_14002e770((longlong)(param_1 + 0x50)); + local_a0 = 0; + if ((iVar14 == 0) || + ((iVar14 != -1 && + (dVar16 = FUN_14003a420(param_1), uVar9 = param_3 & 0xffffffff, + (double)(param_3 & 0xffffffff) < (dVar16 - dVar15) * 1000.0)))) { + return uVar9 & 0xffffffffffffff00; + } + bVar2 = local_res8[0] <= iVar13; + iVar5 = 0; + if (!bVar2) { + iVar5 = iVar13 + 1; + } + iVar13 = iVar5; + Sleep((uint)bVar2); + } while( true ); + } + local_res8[0] = 0; + local_a8 = (int *)0x0; + local_res20 = (int *)0x0; + uVar8 = 0; + plVar12 = param_2; + SetLastError(0); + uVar4 = DAT_1401553d4; + uVar3 = DAT_1401553d0; + *param_2 = 0; + param_2[1] = 0; + *(undefined4 *)(param_2 + 2) = 5; + param_2[3] = 0; + *(undefined4 *)(param_2 + 4) = 0; + *(undefined4 *)(param_2 + 6) = uVar3; + *(ushort *)((longlong)param_2 + 0x34) = uVar4; + puVar7 = FUN_14002f9c0(uVar8,plVar12,param_3,param_4); + (**(code **)(puVar7 + 0x18)) + (*(undefined8 *)(param_1 + 0x28),local_res8,&local_a8,&local_res20,iVar14); + if (local_res20 == (int *)0x0) { + DVar6 = GetLastError(); + *(DWORD *)((longlong)param_2 + 0xc) = DVar6; + return CONCAT44(extraout_var,DVar6) & 0xffffffffffffff00; + } + if (local_a8 == (int *)0x0) { + *param_2 = 0; + } + else { + *param_2 = *(longlong *)(local_a8 + 0xba); + } + if ((longlong)local_res20 < 0) { + *(int *)(param_2 + 1) = local_res8[0]; + param_2[3] = (longlong)local_res20; + *(undefined8 *)((longlong)param_2 + 0xc) = 0; + *(undefined4 *)(param_2 + 6) = DAT_1401553d0; + uVar9 = (ulonglong)DAT_1401553d4; + *(ushort *)((longlong)param_2 + 0x34) = DAT_1401553d4; + *(undefined4 *)(param_2 + 4) = 0; + goto LAB_140038cdf; + } + if (local_a8 == (int *)0x0) { +LAB_140038a69: + *(undefined4 *)(param_2 + 2) = 0; + param_2[3] = (longlong)local_res20; + } + else { + piVar11 = local_a8 + 0x60; + if (local_res20 == piVar11) { + *(undefined4 *)(param_2 + 2) = 2; + *(int *)(param_2 + 4) = local_a8[0xc1]; + FUN_140033260((longlong)(param_2 + 5),(longlong)(local_a8 + 0xbc)); + FUN_140034a10((longlong)piVar11,(undefined8 *)0x0,0); + } + else if (local_res20 == local_a8 + 0x90) { + *(undefined4 *)(param_2 + 2) = 1; + FUN_140034a10((longlong)(local_a8 + 0x90),(undefined8 *)0x0,0); + } + else if (local_res20 == local_a8 + 0x30) { + *(undefined4 *)(param_2 + 2) = 3; + FUN_140034a10((longlong)(local_a8 + 0x30),(undefined8 *)0x0,0); + } + else { + if (local_res20 != local_a8 + 0xd0) goto LAB_140038a69; + *(undefined4 *)(param_2 + 2) = 4; + FUN_140034a10((longlong)(local_a8 + 0xd0),(undefined8 *)0x0,0); + } + } + *(int *)(param_2 + 1) = local_res8[0]; + *(undefined4 *)((longlong)param_2 + 0xc) = 0; + DVar6 = GetLastError(); + uVar9 = CONCAT44(extraout_var_00,DVar6); +LAB_140038cdf: + return CONCAT71((int7)(uVar9 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140038d10.c b/decomp/Agent_Release_x64/full/functions/0x140038d10.c new file mode 100644 index 00000000..b57fbfda --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140038d10.c @@ -0,0 +1,409 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140038d10 FUN_140038d10 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_140038d10(char *param_1,longlong *param_2,uint *param_3,undefined8 param_4) + +{ + uint uVar1; + bool bVar2; + ushort uVar3; + int iVar4; + DWORD DVar5; + ulonglong uVar6; + undefined *puVar7; + undefined4 extraout_var; + undefined8 uVar8; + undefined8 *puVar9; + longlong lVar10; + longlong lVar11; + longlong *plVar12; + longlong *plVar13; + longlong lVar14; + longlong *plVar15; + longlong *plVar16; + uint uVar17; + ulonglong uVar18; + ulonglong uVar19; + uint *puVar20; + longlong *plVar21; + ulonglong uVar22; + double dVar23; + double dVar24; + undefined1 auStack_2a8 [32]; + uint local_288; + undefined4 local_280; + uint local_278 [2]; + undefined8 local_270; + undefined4 local_268; + undefined4 uStack_264; + uint local_260; + ushort local_25c; + ulonglong local_258; + undefined4 local_250; + undefined **local_248; + uint local_240; + ushort local_23c; + int local_238; + uint local_234; + char *local_230; + longlong local_228; + undefined8 local_220; + undefined4 local_218; + longlong local_210; + undefined4 local_208; + undefined **local_200; + uint local_1f8; + ushort local_1f4; + longlong *local_1f0; + uint *local_1e8; + longlong local_1e0; + int *local_1d8; + undefined1 local_1d0; + undefined8 local_1c8; + longlong local_1b8 [3]; + undefined4 auStack_1a0 [74]; + ulonglong local_78; + + local_1c8 = 0xfffffffffffffffe; + uVar6 = DAT_1401555a0 ^ (ulonglong)auStack_2a8; + uVar17 = (uint)param_4; + if (9 < *(uint *)(param_2 + 3)) { + local_234 = uVar17; + local_1f0 = param_2; + local_1e8 = param_3; + local_78 = uVar6; + if (*(longlong *)(param_1 + 0x28) == 0) { + plVar15 = param_2; + SetLastError(0); + dVar23 = FUN_14003a420(param_1); + local_278[0] = 0; + *param_3 = 0; + local_230 = param_1 + 0x50; + plVar13 = (longlong *)(param_1 + 0x38); + do { + local_1d8 = (int *)(param_1 + 0x50); + FUN_14002e6e0(local_1d8); + local_1d0 = 1; + local_238 = *(int *)(param_1 + 0x48) * 3 + 3; + plVar16 = (longlong *)*plVar13; + local_268 = 0x400f40a8; + uStack_264 = 1; + local_258 = local_258 & 0xffffffff00000000; + local_270 = 0; + plVar21 = plVar16; + local_260 = DAT_1401553d0; + local_25c = DAT_1401553d4; + do { + if (plVar21 == (longlong *)0x0) break; + local_200 = Proud::AddrPort::vftable; + local_228 = 0; + local_210 = 0; + local_220 = 0; + local_218 = 5; + local_208 = 0; + local_1f8 = DAT_1401553d0; + local_1f4 = DAT_1401553d4; + uVar8 = FUN_1400353c0((longlong)plVar21,0,(uint *)&local_270); + if ((char)uVar8 == '\0') { + uVar8 = FUN_140035150((longlong)plVar21,0,(undefined4 *)&local_270); + if ((char)uVar8 != '\0') { + local_218 = 2; + local_208 = *(undefined4 *)((longlong)plVar21 + 0x304); + FUN_140033260((longlong)&local_200,(longlong)(plVar21 + 0x5e)); + plVar12 = plVar21 + 0x30; + goto LAB_140039148; + } + uVar8 = FUN_140035220((longlong)plVar21,0,(undefined4 *)&local_270); + if ((char)uVar8 != '\0') { + local_218 = 3; + plVar12 = plVar21 + 0x18; + goto LAB_140039148; + } + plVar15 = (longlong *)0x0; + uVar8 = FUN_1400352f0((longlong)plVar21,0,(undefined4 *)&local_270); + if ((char)uVar8 != '\0') { + local_218 = 4; + plVar12 = plVar21 + 0x68; + goto LAB_140039148; + } + } + else { + local_218 = 1; + plVar12 = plVar21 + 0x48; +LAB_140039148: + uVar8 = 0; + plVar15 = (longlong *)0x0; + FUN_140034a10((longlong)plVar12,(undefined8 *)0x0,0); + local_228 = plVar21[0x5d]; + local_220 = CONCAT44((int)((ulonglong)local_270 >> 0x20),(undefined4)local_258); + plVar12 = (longlong *)plVar21[2]; + if (plVar12 != (longlong *)0x0) { + plVar15 = plVar21; + FUN_140034f90(plVar12,plVar21,uVar8,param_4); + } + if (plVar21[2] != 0) { + plVar12 = plVar13; + plVar15 = plVar21; + FUN_140034f90(plVar13,plVar21,uVar8,param_4); + } + if (*(longlong *)(param_1 + 0x40) == 0) { + *plVar13 = (longlong)plVar21; + } + else { + *(longlong **)(*(longlong *)(param_1 + 0x40) + 8) = plVar21; + *plVar21 = *(longlong *)(param_1 + 0x40); + } + *(longlong **)(param_1 + 0x40) = plVar21; + plVar21[2] = (longlong)plVar13; + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + 1; + uVar17 = *param_3; + if (((int)uVar17 < 0) || ((int)param_2[3] <= (int)uVar17)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar12,plVar15,uVar8,param_4); + } + plVar12 = (longlong *)((longlong)(int)uVar17 * 0x38 + param_2[2]); + *plVar12 = local_228; + *(undefined4 *)(plVar12 + 1) = (undefined4)local_220; + *(undefined4 *)((longlong)plVar12 + 0xc) = local_220._4_4_; + *(undefined4 *)(plVar12 + 2) = local_218; + plVar12[3] = local_210; + *(undefined4 *)(plVar12 + 4) = local_208; + *(uint *)(plVar12 + 6) = local_1f8; + *(ushort *)((longlong)plVar12 + 0x34) = local_1f4; + *param_3 = *param_3 + 1; + if (9 < *param_3) goto LAB_1400393c3; + } + plVar21 = (longlong *)plVar21[1]; + } while (plVar21 != plVar16); + lVar10 = *(longlong *)(param_1 + 0xa0); + uVar17 = DAT_1401553d0; + uVar3 = DAT_1401553d4; + while (DAT_1401553d0 = uVar17, DAT_1401553d4 = uVar3, lVar10 != 0) { + plVar16 = *(longlong **)(param_1 + 0x90); + if (plVar16 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + lVar10 = plVar16[2]; + lVar14 = plVar16[3]; + local_1e0 = plVar16[4]; + lVar11 = *plVar16; + *(longlong *)(param_1 + 0x90) = lVar11; + if (lVar11 == 0) { + param_1[0x98] = '\0'; + param_1[0x99] = '\0'; + param_1[0x9a] = '\0'; + param_1[0x9b] = '\0'; + param_1[0x9c] = '\0'; + param_1[0x9d] = '\0'; + param_1[0x9e] = '\0'; + param_1[0x9f] = '\0'; + } + else { + *(undefined8 *)(lVar11 + 8) = 0; + } + plVar21 = *(longlong **)(param_1 + 0x88); + if (plVar21 == (longlong *)0x0) { + FUN_1400302f0(plVar16); + } + else { + (**(code **)(*plVar21 + 0x10))(plVar21); + plVar15 = plVar16; + } + *(longlong *)(param_1 + 0xa0) = *(longlong *)(param_1 + 0xa0) + -1; + uVar8 = 0; + if (lVar10 != 0) { + uVar8 = *(undefined8 *)(lVar10 + 0x2e8); + } + uVar1 = *local_1e8; + if (((int)uVar1 < 0) || (plVar15 = local_1f0, (int)local_1f0[3] <= (int)uVar1)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(uVar8,plVar15,plVar21,param_4); + } + puVar9 = (undefined8 *)((longlong)(int)uVar1 * 0x38 + local_1f0[2]); + *puVar9 = uVar8; + puVar9[1] = 0; + *(int *)(puVar9 + 2) = (int)local_1e0; + puVar9[3] = lVar14; + *(undefined4 *)(puVar9 + 4) = 0; + *(uint *)(puVar9 + 6) = uVar17; + *(ushort *)((longlong)puVar9 + 0x34) = uVar3; + *local_1e8 = *local_1e8 + 1; + if (9 < *local_1e8) goto LAB_1400393c3; + param_3 = local_1e8; + param_2 = local_1f0; + uVar17 = DAT_1401553d0; + uVar3 = DAT_1401553d4; + lVar10 = *(longlong *)(param_1 + 0xa0); + } + if (*param_3 != 0) { +LAB_1400393c3: + uVar6 = FUN_14002e770((longlong)local_230); + goto LAB_1400393cd; + } + uVar6 = FUN_14002e770((longlong)(param_1 + 0x50)); + uVar17 = local_234; + local_1d0 = 0; + uVar18 = (ulonglong)local_234; + if (local_234 == 0) { +LAB_1400393bf: + return uVar6 & 0xffffffffffffff00; + } + if (local_234 != 0xffffffff) { + dVar24 = FUN_14003a420(param_1); + uVar6 = (ulonglong)uVar17; + if ((double)uVar18 < (dVar24 - dVar23) * 1000.0) goto LAB_1400393bf; + } + bVar2 = local_238 <= (int)local_278[0]; + if (bVar2) { + local_278[0] = 0; + } + else { + local_278[0] = local_278[0] + 1; + } + Sleep((uint)bVar2); + } while( true ); + } + uVar18 = 0; + local_278[0] = 0; + uVar8 = 0; + plVar13 = param_2; + puVar20 = param_3; + SetLastError(0); + puVar7 = FUN_14002f9c0(uVar8,plVar13,puVar20,param_4); + local_280 = 0; + lVar10 = *(longlong *)(param_1 + 0x28); + local_288 = uVar17; + iVar4 = (**(code **)(puVar7 + 0x20))(lVar10,local_1b8,10,local_278); + if (iVar4 == 0) { + DVar5 = GetLastError(); + uVar6 = CONCAT44(extraout_var,DVar5); + } + else { + uVar6 = (ulonglong)local_278[0]; + if (local_278[0] != 0) { + *param_3 = local_278[0]; + plVar13 = local_1b8 + 1; + uVar19 = uVar18; + do { + local_248 = Proud::AddrPort::vftable; + local_270 = 0; + local_258 = 0; + local_268 = 0; + uStack_264 = 0; + local_260 = 5; + local_250 = 0; + uVar6 = (ulonglong)DAT_1401553d0; + local_240 = DAT_1401553d0; + uVar22 = (ulonglong)DAT_1401553d4; + local_23c = DAT_1401553d4; + lVar14 = *plVar13; + iVar4 = (int)uVar19; + if (lVar14 == 0) { + uStack_264 = 0xffffffff; + if ((iVar4 < 0) || ((int)param_2[3] <= iVar4)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(lVar10,0,uVar6,uVar22); + } + lVar10 = param_2[2]; + *(undefined8 *)(uVar18 + lVar10) = 0; + } + else { + lVar10 = plVar13[-1]; + if (lVar10 == 0) { + local_270 = 0; + } + else { + local_270 = *(undefined8 *)(lVar10 + 0x2e8); + } + if (lVar14 < 0) { + local_268 = (undefined4)plVar13[2]; + uStack_264 = 0; + local_260 = 0; + local_250 = 0; + if ((iVar4 < 0) || (local_258 = lVar14, (int)param_2[3] <= iVar4)) { + local_258 = lVar14; + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(lVar10,lVar14,uVar6,uVar22); + } + } + else { + lVar11 = lVar10; + if (lVar10 == 0) { +LAB_140038f45: + local_260 = 0; + local_258 = lVar14; + } + else { + lVar11 = lVar10 + 0x180; + if (lVar14 == lVar11) { + local_260 = 2; + local_250 = *(undefined4 *)(lVar10 + 0x304); + FUN_140033260((longlong)&local_248,lVar10 + 0x2f0); + uVar6 = 0; + lVar14 = 0; + FUN_140034a10(lVar11,(undefined8 *)0x0,0); + } + else { + lVar11 = lVar10 + 0x240; + if (lVar14 == lVar11) { + local_260 = 1; + uVar6 = 0; + lVar14 = 0; + FUN_140034a10(lVar11,(undefined8 *)0x0,0); + } + else { + lVar11 = lVar10 + 0xc0; + if (lVar14 == lVar11) { + local_260 = 3; + uVar6 = 0; + lVar14 = 0; + FUN_140034a10(lVar11,(undefined8 *)0x0,0); + } + else { + lVar11 = lVar10 + 0x340; + if (lVar14 != lVar11) goto LAB_140038f45; + local_260 = 4; + uVar6 = 0; + lVar14 = 0; + FUN_140034a10(lVar11,(undefined8 *)0x0,0); + } + } + } + } + local_268 = (undefined4)plVar13[2]; + uStack_264 = 0; + if ((iVar4 < 0) || ((int)param_2[3] <= iVar4)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(lVar11,lVar14,uVar6,uVar22); + } + } + uStack_264 = 0; + lVar10 = param_2[2]; + *(undefined8 *)(uVar18 + lVar10) = local_270; + } + *(undefined4 *)(uVar18 + 8 + lVar10) = local_268; + *(undefined4 *)(uVar18 + 0xc + lVar10) = uStack_264; + *(uint *)(uVar18 + 0x10 + lVar10) = local_260; + *(ulonglong *)(uVar18 + 0x18 + lVar10) = local_258; + *(undefined4 *)(uVar18 + 0x20 + lVar10) = local_250; + *(uint *)(uVar18 + 0x30 + lVar10) = local_240; + uVar6 = (ulonglong)local_23c; + *(ushort *)(uVar18 + 0x34 + lVar10) = local_23c; + uVar19 = (ulonglong)(iVar4 + 1U); + plVar13 = plVar13 + 4; + uVar18 = uVar18 + 0x38; + if (local_278[0] <= iVar4 + 1U) { +LAB_1400393cd: + return CONCAT71((int7)(uVar6 >> 8),1); + } + } while( true ); + } + } + } + return uVar6 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140039410.c b/decomp/Agent_Release_x64/full/functions/0x140039410.c new file mode 100644 index 00000000..27792ba3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140039410.c @@ -0,0 +1,45 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140039410 FUN_140039410 + * Pseudocode, not original source. */ + +void FUN_140039410(longlong param_1,ULONG_PTR param_2,LPOVERLAPPED param_3) + +{ + undefined8 uVar1; + longlong *plVar2; + undefined8 *puVar3; + uint uStack_c; + + if (*(HANDLE *)(param_1 + 0x28) == (HANDLE)0x0) { + FUN_14002e6e0((int *)(param_1 + 0x50)); + uVar1 = *(undefined8 *)(param_1 + 0x98); + plVar2 = *(longlong **)(param_1 + 0x88); + if (plVar2 == (longlong *)0x0) { + puVar3 = (undefined8 *)FUN_140030280(0x28); + } + else { + puVar3 = (undefined8 *)(**(code **)(*plVar2 + 8))(plVar2,0x28); + } + if (puVar3 != (undefined8 *)0x0) { + puVar3[2] = param_2; + puVar3[3] = param_3; + puVar3[4] = (ulonglong)uStack_c << 0x20; + } + puVar3[1] = uVar1; + *puVar3 = 0; + *(longlong *)(param_1 + 0xa0) = *(longlong *)(param_1 + 0xa0) + 1; + if (*(undefined8 **)(param_1 + 0x98) == (undefined8 *)0x0) { + *(undefined8 **)(param_1 + 0x90) = puVar3; + } + else { + **(undefined8 **)(param_1 + 0x98) = puVar3; + } + *(undefined8 **)(param_1 + 0x98) = puVar3; + FUN_14002e770(param_1 + 0x50); + } + else { + PostQueuedCompletionStatus(*(HANDLE *)(param_1 + 0x28),0,param_2,param_3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140039510.c b/decomp/Agent_Release_x64/full/functions/0x140039510.c new file mode 100644 index 00000000..5bd92dd2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140039510.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140039510 FUN_140039510 + * Pseudocode, not original source. */ + +void FUN_140039510(longlong param_1,undefined8 param_2,undefined4 param_3) + +{ + undefined8 uVar1; + longlong *plVar2; + undefined8 *puVar3; + undefined4 uStack_c; + + FUN_14002e6e0((int *)(param_1 + 0x50)); + if (*(longlong *)(param_1 + 0x28) == 0) { + uVar1 = *(undefined8 *)(param_1 + 0x98); + plVar2 = *(longlong **)(param_1 + 0x88); + if (plVar2 == (longlong *)0x0) { + puVar3 = (undefined8 *)FUN_140030280(0x28); + } + else { + puVar3 = (undefined8 *)(**(code **)(*plVar2 + 8))(plVar2,0x28); + } + if (puVar3 != (undefined8 *)0x0) { + puVar3[2] = param_2; + puVar3[3] = 0; + puVar3[4] = CONCAT44(uStack_c,param_3); + } + puVar3[1] = uVar1; + *puVar3 = 0; + *(longlong *)(param_1 + 0xa0) = *(longlong *)(param_1 + 0xa0) + 1; + if (*(undefined8 **)(param_1 + 0x98) == (undefined8 *)0x0) { + *(undefined8 **)(param_1 + 0x90) = puVar3; + } + else { + **(undefined8 **)(param_1 + 0x98) = puVar3; + } + *(undefined8 **)(param_1 + 0x98) = puVar3; + } + FUN_14002e770(param_1 + 0x50); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400395f0.c b/decomp/Agent_Release_x64/full/functions/0x1400395f0.c new file mode 100644 index 00000000..2f00333f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400395f0.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400395f0 FUN_1400395f0 + * Pseudocode, not original source. */ + +void FUN_1400395f0(longlong *param_1) + +{ + longlong lVar1; + longlong *plVar2; + longlong *plVar3; + undefined8 *puVar4; + + lVar1 = param_1[3]; + while( true ) { + if (lVar1 == 0) { + puVar4 = (undefined8 *)*param_1; + param_1[1] = 0; + param_1[2] = 0; + if (puVar4 != (undefined8 *)0x0) { + (**(code **)*puVar4)(puVar4,1); + } + return; + } + plVar2 = (longlong *)param_1[1]; + if (plVar2 == (longlong *)0x0) break; + plVar3 = (longlong *)*param_1; + param_1[1] = *plVar2; + if (plVar3 == (longlong *)0x0) { + FUN_1400302f0(plVar2); + } + else { + (**(code **)(*plVar3 + 0x10))(plVar3,plVar2); + } + param_1[3] = param_1[3] + -1; + lVar1 = param_1[3]; + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140039670.c b/decomp/Agent_Release_x64/full/functions/0x140039670.c new file mode 100644 index 00000000..f0c640ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140039670.c @@ -0,0 +1,104 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140039670 FUN_140039670 + * Pseudocode, not original source. */ + +char * FUN_140039670(char *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + longlong *plVar2; + undefined8 *puVar3; + longlong lVar4; + char *pcVar5; + char cVar6; + undefined8 uVar7; + undefined8 uVar8; + exception local_50 [72]; + + cVar6 = (char)param_3; + FUN_14003a340((undefined2 *)param_1); + param_1[0x38] = '\0'; + param_1[0x39] = '\0'; + param_1[0x3a] = '\0'; + param_1[0x3b] = '\0'; + param_1[0x3c] = '\0'; + param_1[0x3d] = '\0'; + param_1[0x3e] = '\0'; + param_1[0x3f] = '\0'; + param_1[0x40] = '\0'; + param_1[0x41] = '\0'; + param_1[0x42] = '\0'; + param_1[0x43] = '\0'; + param_1[0x44] = '\0'; + param_1[0x45] = '\0'; + param_1[0x46] = '\0'; + param_1[0x47] = '\0'; + param_1[0x48] = '\0'; + param_1[0x49] = '\0'; + param_1[0x4a] = '\0'; + param_1[0x4b] = '\0'; + uVar1 = FUN_14002e790(); + uVar1 = uVar1 & 0xffffffff; + pcVar5 = param_1 + 0x50; + uVar7 = CONCAT71((int7)((ulonglong)param_3 >> 8),1); + FUN_14002e600((undefined4 *)pcVar5,uVar1,uVar7,param_4); + param_1[0x88] = '\0'; + param_1[0x89] = '\0'; + param_1[0x8a] = '\0'; + param_1[0x8b] = '\0'; + param_1[0x8c] = '\0'; + param_1[0x8d] = '\0'; + param_1[0x8e] = '\0'; + param_1[0x8f] = '\0'; + param_1[0xa0] = '\0'; + param_1[0xa1] = '\0'; + param_1[0xa2] = '\0'; + param_1[0xa3] = '\0'; + param_1[0xa4] = '\0'; + param_1[0xa5] = '\0'; + param_1[0xa6] = '\0'; + param_1[0xa7] = '\0'; + param_1[0x90] = '\0'; + param_1[0x91] = '\0'; + param_1[0x92] = '\0'; + param_1[0x93] = '\0'; + param_1[0x94] = '\0'; + param_1[0x95] = '\0'; + param_1[0x96] = '\0'; + param_1[0x97] = '\0'; + param_1[0x98] = '\0'; + param_1[0x99] = '\0'; + param_1[0x9a] = '\0'; + param_1[0x9b] = '\0'; + param_1[0x9c] = '\0'; + param_1[0x9d] = '\0'; + param_1[0x9e] = '\0'; + param_1[0x9f] = '\0'; + *(undefined8 *)(param_1 + 0x30) = param_2; + param_1[0x28] = '\0'; + param_1[0x29] = '\0'; + param_1[0x2a] = '\0'; + param_1[0x2b] = '\0'; + param_1[0x2c] = '\0'; + param_1[0x2d] = '\0'; + param_1[0x2e] = '\0'; + param_1[0x2f] = '\0'; + if (cVar6 != '\0') { + plVar2 = (longlong *)FUN_14002f9c0(pcVar5,uVar1,uVar7,param_4); + if (*plVar2 != 0) { + puVar3 = (undefined8 *)FUN_14002f9c0(pcVar5,uVar1,uVar7,param_4); + uVar8 = 0; + uVar7 = 0; + lVar4 = (*(code *)*puVar3)(0xffffffffffffffff,0); + *(longlong *)(param_1 + 0x28) = lVar4; + if (lVar4 == 0) { + FUN_14002f1e0(local_50,L"Cannot create IOCP object!",uVar7,uVar8); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + } + } + FUN_14003a390(param_1); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140039760.c b/decomp/Agent_Release_x64/full/functions/0x140039760.c new file mode 100644 index 00000000..2015172a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140039760.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140039760 FUN_140039760 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400397fa) */ +/* WARNING: Removing unreachable block (ram,0x000140039805) */ + +void FUN_140039760(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong *plVar2; + + FUN_14002e6e0((int *)(param_1 + 0x50)); + plVar2 = *(longlong **)(param_1 + 0x90); + while (plVar2 != (longlong *)0x0) { + if ((longlong *)plVar2[2] == param_2) { + plVar1 = (longlong *)*plVar2; + FUN_140038830((longlong *)(param_1 + 0x88),plVar2); + plVar2 = plVar1; + } + else { + plVar2 = (longlong *)*plVar2; + } + } + if ((longlong *)param_2[2] != (longlong *)0x0) { + FUN_140034f90((longlong *)param_2[2],param_2,param_3,param_4); + } + param_2[0x79] = 0; + FUN_14002e770(param_1 + 0x50); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140039850.c b/decomp/Agent_Release_x64/full/functions/0x140039850.c new file mode 100644 index 00000000..9506140b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140039850.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140039850 FUN_140039850 + * Pseudocode, not original source. */ + +void FUN_140039850(longlong param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + int iVar1; + longlong lVar2; + longlong *plVar3; + + if (*(HANDLE *)(param_1 + 0x28) != (HANDLE)0x0) { + CloseHandle(*(HANDLE *)(param_1 + 0x28)); + *(undefined8 *)(param_1 + 0x28) = 0; + } + lVar2 = *(longlong *)(param_1 + 0xa0); + while( true ) { + if (lVar2 == 0) { + *(undefined8 *)(param_1 + 0x90) = 0; + *(undefined8 *)(param_1 + 0x98) = 0; + iVar1 = *(int *)(param_1 + 0x48); + while (0 < iVar1) { + param_2 = *(longlong **)(param_1 + 0x38); + FUN_140039760(param_1,param_2,param_3,param_4); + iVar1 = *(int *)(param_1 + 0x48); + } + FUN_1400395f0((longlong *)(param_1 + 0x88)); + FUN_14002e7a0((undefined4 *)(param_1 + 0x50),param_2,param_3,param_4); + FUN_140038690((longlong *)(param_1 + 0x38)); + return; + } + plVar3 = *(longlong **)(param_1 + 0x90); + if (plVar3 == (longlong *)0x0) break; + *(longlong *)(param_1 + 0x90) = *plVar3; + param_3 = *(longlong **)(param_1 + 0x88); + if (param_3 == (longlong *)0x0) { + FUN_1400302f0(plVar3); + } + else { + (**(code **)(*param_3 + 0x10))(param_3); + param_2 = plVar3; + } + *(longlong *)(param_1 + 0xa0) = *(longlong *)(param_1 + 0xa0) + -1; + lVar2 = *(longlong *)(param_1 + 0xa0); + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140039950.c b/decomp/Agent_Release_x64/full/functions/0x140039950.c new file mode 100644 index 00000000..61af54ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140039950.c @@ -0,0 +1,59 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140039950 FUN_140039950 + * Pseudocode, not original source. */ + +void FUN_140039950(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *puVar1; + DWORD DVar2; + int *piVar3; + int *piVar4; + undefined **ppuVar5; + longlong *plVar6; + undefined *puVar7; + ulonglong uVar8; + undefined *local_res8; + undefined *local_res18; + + FUN_140030200(param_1,param_2,param_3,param_4); + local_res18 = PTR_DAT_140155010; + DVar2 = GetLastError(); + uVar8 = (ulonglong)DVar2; + puVar7 = &DAT_1400f48e8; + ppuVar5 = &local_res18; + FUN_14001b7a0((longlong *)ppuVar5,L"%s에서 실패: %d",param_2,uVar8); + FUN_140030200(ppuVar5,puVar7,param_2,uVar8); + puVar1 = local_res18; + local_res8 = PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_res8 = (undefined *)0x0; + } + if (local_res18 != PTR_DAT_140155010) { + piVar3 = (int *)FUN_140030200(0,puVar7,param_2,uVar8); + FUN_14002e6e0(piVar3); + FUN_140003240((longlong *)&local_res8,puVar7,param_2,uVar8); + local_res8 = puVar1; + if (((puVar1 != PTR_DAT_140155010) && (puVar1 != (undefined *)0x0)) && + (puVar1 != (undefined *)0x8)) { + *(int *)(puVar1 + -4) = *(int *)(puVar1 + -4) + 1; + } + FUN_14002e770((longlong)piVar3); + } + plVar6 = *(longlong **)(param_1 + 0x30); + ppuVar5 = &local_res8; + (**(code **)(*plVar6 + 8))(); + if (((puVar1 != (undefined *)0x0) && (puVar1 != PTR_DAT_140155010)) && + (puVar1 + -8 != (undefined *)0x0)) { + piVar4 = (int *)FUN_140030200(plVar6,param_1,ppuVar5,uVar8); + FUN_14002e6e0(piVar4); + piVar3 = (int *)(puVar1 + -4); + *piVar3 = *piVar3 + -1; + if (*piVar3 == 0) { + FUN_1400302f0(puVar1 + -8); + } + FUN_14002e770((longlong)piVar4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140039a80.c b/decomp/Agent_Release_x64/full/functions/0x140039a80.c new file mode 100644 index 00000000..6899f615 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140039a80.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140039a80 FUN_140039a80 + * Pseudocode, not original source. */ + +void FUN_140039a80(longlong param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + longlong *plVar1; + undefined8 *puVar2; + longlong lVar3; + undefined8 uVar4; + exception local_50 [72]; + + uVar4 = 0xfffffffffffffffe; + if (param_2[0x5d] == 0) { + FUN_14002f1e0(local_50,L"먼저 socket의 completion context를 세팅해야 함!",param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + if (param_2[0x79] != 0) { + FUN_14002f1e0(local_50,L"이미 Associte되었음!",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + if (*(longlong *)(param_1 + 0x28) != 0) { + puVar2 = (undefined8 *)FUN_14002f9c0(param_1,param_2,param_3,param_4); + param_4 = 0; + param_3 = param_2; + lVar3 = (*(code *)*puVar2)(param_2[0x7a],*(undefined8 *)(param_1 + 0x28),param_2,0,uVar4); + if (lVar3 == 0) { + FUN_140039950(param_1,L"Proud::CompletionPort::AssociateSocket",param_3,param_4); + } + } + FUN_14002e6e0((int *)(param_1 + 0x50)); + plVar1 = (longlong *)(param_1 + 0x38); + if (param_2[2] != 0) { + FUN_140034f90(plVar1,param_2,param_3,param_4); + } + if (*(longlong *)(param_1 + 0x40) == 0) { + *plVar1 = (longlong)param_2; + } + else { + *(longlong **)(*(longlong *)(param_1 + 0x40) + 8) = param_2; + *param_2 = *(longlong *)(param_1 + 0x40); + } + *(longlong **)(param_1 + 0x40) = param_2; + param_2[2] = (longlong)plVar1; + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + 1; + param_2[0x79] = param_1; + FUN_14002e770(param_1 + 0x50); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140039bb0.c b/decomp/Agent_Release_x64/full/functions/0x140039bb0.c new file mode 100644 index 00000000..983cd12a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140039bb0.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140039bb0 FUN_140039bb0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140039bb0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined7 uVar2; + + uVar2 = (undefined7)((ulonglong)param_3 >> 8); + *param_1 = Proud::CRandom::vftable; + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)(param_1 + 0x13c),uVar1 & 0xffffffff,CONCAT71(uVar2,1),param_4); + *(undefined4 *)(param_1 + 0x13b) = 0xfffffffe; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140039bf0.c b/decomp/Agent_Release_x64/full/functions/0x140039bf0.c new file mode 100644 index 00000000..cfcfadbf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140039bf0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140039bf0 FUN_140039bf0 + * Pseudocode, not original source. */ + +void FUN_140039bf0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = Proud::CRandom::vftable; + FUN_14002e7a0((undefined4 *)(param_1 + 0x13c),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140039c10.c b/decomp/Agent_Release_x64/full/functions/0x140039c10.c new file mode 100644 index 00000000..17bcb479 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140039c10.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140039c10 FUN_140039c10 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140039c10(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = Proud::CRandom::vftable; + FUN_14002e7a0((undefined4 *)(param_1 + 0x13c),param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140039c60.c b/decomp/Agent_Release_x64/full/functions/0x140039c60.c new file mode 100644 index 00000000..48ec13f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140039c60.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140039c60 FUN_140039c60 + * Pseudocode, not original source. */ + +void FUN_140039c60(longlong param_1,uint param_2) + +{ + uint *puVar1; + int iVar2; + uint uVar3; + + FUN_14002e6e0((int *)(param_1 + 0x9e0)); + uVar3 = param_2 | 1; + *(undefined4 *)(param_1 + 0x9d8) = 0; + *(uint *)(param_1 + 8) = uVar3; + iVar2 = 0x26f; + puVar1 = (uint *)(param_1 + 0xc); + do { + uVar3 = uVar3 * 0x10dcd; + iVar2 = iVar2 + -1; + *puVar1 = uVar3; + puVar1 = puVar1 + 1; + } while (iVar2 != 0); + FUN_14002e770(param_1 + 0x9e0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140039cd0.c b/decomp/Agent_Release_x64/full/functions/0x140039cd0.c new file mode 100644 index 00000000..06b4e6b1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140039cd0.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140039cd0 FUN_140039cd0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140039cd0(longlong param_1) + +{ + int *piVar1; + DWORD DVar2; + BOOL BVar3; + DWORD DVar4; + ushort uVar5; + undefined1 auStackY_78 [32]; + DWORD local_48 [6]; + int *local_30; + undefined1 local_28; + _SYSTEMTIME local_20; + ulonglong local_10; + + local_48[4] = 0xfffffffe; + local_48[5] = 0xffffffff; + local_10 = DAT_1401555a0 ^ (ulonglong)auStackY_78; + piVar1 = (int *)(param_1 + 0x9e0); + local_30 = piVar1; + FUN_14002e6e0(piVar1); + local_28 = 1; + local_48[1] = 0; + local_48[2] = 0; + local_48[0] = 0; + local_48[3] = 0; + DVar2 = GetTickCount(); + BVar3 = GetDiskFreeSpaceW((LPCWSTR)0x0,local_48 + 1,local_48 + 2,local_48,local_48 + 3); + if (BVar3 == 0) { + local_20.wYear = 0; + local_20.wMonth = 0; + local_20.wDayOfWeek = 0; + local_20.wDay = 0; + local_20.wHour = 0; + local_20.wMinute = 0; + local_20.wSecond = 0; + local_20.wMilliseconds = 0; + GetSystemTime(&local_20); + uVar5 = local_20.wMilliseconds << 8 | + (ushort)(byte)(local_20.wMilliseconds._1_1_ + (char)local_20.wSecond); + } + else { + uVar5 = (ushort)local_48[0]; + DVar4 = GetTickCount(); + uVar5 = uVar5 ^ (ushort)DVar4; + } + FUN_140039c60(param_1,DVar2 << 0x10 | (uint)uVar5); + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140039de0.c b/decomp/Agent_Release_x64/full/functions/0x140039de0.c new file mode 100644 index 00000000..ec8471e4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140039de0.c @@ -0,0 +1,63 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140039de0 FUN_140039de0 + * Pseudocode, not original source. */ + +uint FUN_140039de0(longlong param_1) + +{ + uint uVar1; + uint uVar2; + uint *puVar3; + uint *puVar4; + uint *puVar5; + uint *puVar6; + uint uVar7; + int iVar8; + uint *puVar9; + + if (*(int *)(param_1 + 0x9d8) < -1) { + FUN_140039cd0(param_1); + } + *(undefined4 *)(param_1 + 0x9d8) = 0x26f; + *(longlong *)(param_1 + 0x9d0) = param_1 + 0xc; + iVar8 = 0xe3; + puVar3 = (uint *)(param_1 + 0x10); + puVar5 = (uint *)(param_1 + 8); + uVar1 = *(uint *)(param_1 + 0xc); + uVar2 = *(uint *)(param_1 + 8); + do { + uVar7 = uVar1; + puVar4 = puVar3 + 1; + puVar6 = puVar5 + 1; + iVar8 = iVar8 + -1; + *puVar5 = ((uVar7 ^ uVar2) & 0x7ffffffe ^ uVar2) >> 1 ^ -(uint)((uVar7 & 1) != 0) & 0x9908b0df ^ + *(uint *)((longlong)puVar3 + ((param_1 + 0x63c) - (param_1 + 0x10))); + uVar1 = *puVar3; + puVar3 = puVar4; + puVar5 = puVar6; + uVar2 = uVar7; + } while (iVar8 != 0); + iVar8 = 0x18c; + puVar3 = (uint *)(param_1 + 8); + do { + uVar2 = uVar1; + puVar5 = puVar6 + 1; + puVar9 = puVar3 + 1; + iVar8 = iVar8 + -1; + *puVar6 = ((uVar2 ^ uVar7) & 0x7ffffffe ^ uVar7) >> 1 ^ -(uint)((uVar2 & 1) != 0) & 0x9908b0df ^ + *puVar3; + uVar1 = *puVar4; + puVar4 = puVar4 + 1; + puVar6 = puVar5; + puVar3 = puVar9; + uVar7 = uVar2; + } while (iVar8 != 0); + uVar1 = *(uint *)(param_1 + 8); + uVar7 = uVar1 ^ uVar1 >> 0xb; + *puVar5 = ((uVar1 ^ uVar2) & 0x7ffffffe ^ uVar2) >> 1 ^ -(uint)((uVar1 & 1) != 0) & 0x9908b0df ^ + *puVar9; + uVar7 = uVar7 ^ (uVar7 & 0xff3a58ad) << 7; + uVar7 = uVar7 ^ (uVar7 & 0xffffdf8c) << 0xf; + return uVar7 >> 0x12 ^ uVar7; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140039f50.c b/decomp/Agent_Release_x64/full/functions/0x140039f50.c new file mode 100644 index 00000000..12eeef42 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140039f50.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140039f50 FUN_140039f50 + * Pseudocode, not original source. */ + +uint FUN_140039f50(longlong param_1) + +{ + int *piVar1; + uint uVar2; + + FUN_14002e6e0((int *)(param_1 + 0x9e0)); + piVar1 = (int *)(param_1 + 0x9d8); + *piVar1 = *piVar1 + -1; + if (*piVar1 < 0) { + uVar2 = FUN_140039de0(param_1); + } + else { + uVar2 = **(uint **)(param_1 + 0x9d0); + *(uint **)(param_1 + 0x9d0) = *(uint **)(param_1 + 0x9d0) + 1; + uVar2 = uVar2 ^ uVar2 >> 0xb; + uVar2 = uVar2 ^ (uVar2 & 0xff3a58ad) << 7; + uVar2 = uVar2 ^ (uVar2 & 0xffffdf8c) << 0xf; + uVar2 = uVar2 >> 0x12 ^ uVar2; + } + FUN_14002e770(param_1 + 0x9e0); + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140039ff0.c b/decomp/Agent_Release_x64/full/functions/0x140039ff0.c new file mode 100644 index 00000000..48107335 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140039ff0.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140039ff0 FUN_140039ff0 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +undefined * +FUN_140039ff0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + bool bVar1; + bool bVar2; + ulonglong uVar3; + undefined7 uVar4; + + uVar4 = (undefined7)((ulonglong)param_3 >> 8); + bVar1 = false; + bVar2 = FUN_14002e780((int *)&DAT_14015d7a0); + if (bVar2) { + if (DAT_140155500 == '\0') { + bVar1 = false; + } + else { + bVar1 = true; + FUN_14002e6e0((int *)&DAT_14015d7a0); + } + } + if ((DAT_14015d798 & 1) == 0) { + DAT_14015d798 = DAT_14015d798 | 1; + _DAT_14015cd80 = Proud::CRandom::vftable; + uVar3 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015d760,uVar3 & 0xffffffff,CONCAT71(uVar4,1),param_4); + _DAT_14015d758 = 0xfffffffe; + atexit((_func_5014 *)&LAB_1400f1600); + } + DAT_140155500 = 0; + if (bVar1) { + FUN_14002e770(0x14015d7a0); + } + return &DAT_14015cd80; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a0c0.c b/decomp/Agent_Release_x64/full/functions/0x14003a0c0.c new file mode 100644 index 00000000..75ce7c60 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a0c0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a0c0 FUN_14003a0c0 + * Pseudocode, not original source. */ + +void FUN_14003a0c0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *puVar1; + + puVar1 = FUN_140039ff0(param_1,param_2,param_3,param_4); + FUN_140039f50((longlong)puVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a0e0.c b/decomp/Agent_Release_x64/full/functions/0x14003a0e0.c new file mode 100644 index 00000000..04b2e201 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a0e0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a0e0 FUN_14003a0e0 + * Pseudocode, not original source. */ + +bool FUN_14003a0e0(undefined8 *param_1,DWORD param_2) + +{ + DWORD DVar1; + + DVar1 = WaitForSingleObject((HANDLE)*param_1,param_2); + return DVar1 == 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a100.c b/decomp/Agent_Release_x64/full/functions/0x14003a100.c new file mode 100644 index 00000000..e3a22997 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a100.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a100 FUN_14003a100 + * Pseudocode, not original source. */ + +bool FUN_14003a100(undefined8 *param_1) + +{ + DWORD DVar1; + + DVar1 = WaitForSingleObject((HANDLE)*param_1,0xffffffff); + return DVar1 == 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a120.c b/decomp/Agent_Release_x64/full/functions/0x14003a120.c new file mode 100644 index 00000000..f55e7112 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a120.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a120 FUN_14003a120 + * Pseudocode, not original source. */ + +DWORD FUN_14003a120(longlong param_1,uint param_2,ulonglong param_3,BOOL param_4) + +{ + longlong lVar1; + DWORD DVar2; + DWORD DVar3; + longlong lVar4; + exception local_258 [72]; + HANDLE apvStack_210 [65]; + + if ((int)param_2 < 0x41) { + lVar4 = 0; + if (0 < (int)param_2) { + do { + lVar1 = lVar4 * 8; + lVar4 = lVar4 + 1; + apvStack_210[lVar4] = (HANDLE)**(undefined8 **)(param_1 + lVar1); + } while (lVar4 < (int)param_2); + } + DVar2 = WaitForMultipleObjects(param_2,apvStack_210 + 1,param_4,(DWORD)param_3); + DVar3 = 0xffffffff; + if (DVar2 < param_2) { + DVar3 = DVar2; + } + return DVar3; + } + FUN_14002f1e0(local_258,L"WaitForSignal에서 최대 가능한 갯수를 초과했음",param_3, + param_3 & 0xffffffff); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_258,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a1b0.c b/decomp/Agent_Release_x64/full/functions/0x14003a1b0.c new file mode 100644 index 00000000..2582ebff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a1b0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a1b0 FUN_14003a1b0 + * Pseudocode, not original source. */ + +void FUN_14003a1b0(undefined8 *param_1) + +{ + /* WARNING: Could not recover jumptable at 0x00014003a1b3. Too many branches */ + /* WARNING: Treating indirect jump as call */ + CloseHandle((HANDLE)*param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a1c0.c b/decomp/Agent_Release_x64/full/functions/0x14003a1c0.c new file mode 100644 index 00000000..3fcacd7a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a1c0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a1c0 FUN_14003a1c0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003a1c0(undefined8 *param_1) + +{ + HANDLE pvVar1; + + pvVar1 = CreateEventW((LPSECURITY_ATTRIBUTES)0x0,0,0,(LPCWSTR)0x0); + *param_1 = pvVar1; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a1f0.c b/decomp/Agent_Release_x64/full/functions/0x14003a1f0.c new file mode 100644 index 00000000..7c14ed52 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a1f0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a1f0 FUN_14003a1f0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003a1f0(undefined8 *param_1,byte param_2,byte param_3) + +{ + HANDLE pvVar1; + + pvVar1 = CreateEventW((LPSECURITY_ATTRIBUTES)0x0,(uint)param_2,(uint)param_3,(LPCWSTR)0x0); + *param_1 = pvVar1; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a220.c b/decomp/Agent_Release_x64/full/functions/0x14003a220.c new file mode 100644 index 00000000..7a434aad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a220.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a220 FUN_14003a220 + * Pseudocode, not original source. */ + +void FUN_14003a220(longlong param_1) + +{ + FUN_140039f50(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a250.c b/decomp/Agent_Release_x64/full/functions/0x14003a250.c new file mode 100644 index 00000000..d3fea6d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a250.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a250 FUN_14003a250 + * Pseudocode, not original source. */ + +int FUN_14003a250(longlong param_1,int param_2) + +{ + uint uVar1; + int iVar2; + double dVar3; + + uVar1 = FUN_140039f50(param_1); + dVar3 = (double)uVar1 / 4294967295.0; + if (dVar3 <= 0.0) { + dVar3 = 0.0; + } + iVar2 = (int)((double)(param_2 + 1) * dVar3); + if (iVar2 < param_2) { + param_2 = iVar2; + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a2a0.c b/decomp/Agent_Release_x64/full/functions/0x14003a2a0.c new file mode 100644 index 00000000..8adc08af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a2a0.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a2a0 FUN_14003a2a0 + * Pseudocode, not original source. */ + +undefined4 * FUN_14003a2a0(longlong param_1,undefined4 *param_2) + +{ + uint uVar1; + longlong lVar2; + double dVar3; + + *param_2 = 0; + param_2[1] = 0; + param_2[2] = 0; + param_2[3] = 0; + lVar2 = 0; + do { + uVar1 = FUN_140039f50(param_1); + dVar3 = (double)uVar1 / 4294967295.0; + if (dVar3 <= 0.0) { + dVar3 = 0.0; + } + *(double *)(param_2 + lVar2 * 2) = dVar3; + lVar2 = lVar2 + 1; + } while (lVar2 < 2); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a340.c b/decomp/Agent_Release_x64/full/functions/0x14003a340.c new file mode 100644 index 00000000..eae9bcad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a340.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a340 FUN_14003a340 + * Pseudocode, not original source. */ + +undefined2 * FUN_14003a340(undefined2 *param_1) + +{ + BOOL BVar1; + LARGE_INTEGER local_res8 [4]; + + *param_1 = 0x100; + *(undefined8 *)(param_1 + 4) = 0; + *(undefined8 *)(param_1 + 8) = 0; + *(undefined8 *)(param_1 + 0xc) = 0; + *(undefined8 *)(param_1 + 0x10) = 0; + BVar1 = QueryPerformanceFrequency(local_res8); + *(bool *)param_1 = BVar1 != 0; + *(LARGE_INTEGER *)(param_1 + 4) = local_res8[0]; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a390.c b/decomp/Agent_Release_x64/full/functions/0x14003a390.c new file mode 100644 index 00000000..1249a4b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a390.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a390 FUN_14003a390 + * Pseudocode, not original source. */ + +void FUN_14003a390(char *param_1) + +{ + LARGE_INTEGER local_res8 [4]; + + if (*param_1 != '\0') { + QueryPerformanceCounter(local_res8); + if (param_1[1] != '\0') { + *(longlong *)(param_1 + 0x20) = + *(longlong *)(param_1 + 0x20) + (local_res8[0].QuadPart - *(longlong *)(param_1 + 0x10)); + } + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + ((LARGE_INTEGER *)(param_1 + 0x18))->QuadPart = (LONGLONG)local_res8[0]; + param_1[1] = '\0'; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a3e0.c b/decomp/Agent_Release_x64/full/functions/0x14003a3e0.c new file mode 100644 index 00000000..7a09b672 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a3e0.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a3e0 FUN_14003a3e0 + * Pseudocode, not original source. */ + +void FUN_14003a3e0(char *param_1) + +{ + LARGE_INTEGER LVar1; + LARGE_INTEGER local_res8 [4]; + + if ((*param_1 != '\0') && (param_1[1] == '\0')) { + LVar1.QuadPart = ((LARGE_INTEGER *)(param_1 + 0x10))->QuadPart; + if (((LARGE_INTEGER *)(param_1 + 0x10))->QuadPart == 0) { + QueryPerformanceCounter(local_res8); + LVar1 = local_res8[0]; + } + ((LARGE_INTEGER *)(param_1 + 0x10))->QuadPart = (LONGLONG)LVar1; + ((LARGE_INTEGER *)(param_1 + 0x18))->QuadPart = (LONGLONG)LVar1; + param_1[1] = '\x01'; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a420.c b/decomp/Agent_Release_x64/full/functions/0x14003a420.c new file mode 100644 index 00000000..01d2e052 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a420.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a420 FUN_14003a420 + * Pseudocode, not original source. */ + +double FUN_14003a420(char *param_1) + +{ + LARGE_INTEGER LVar1; + LARGE_INTEGER local_res8 [4]; + + if (*param_1 == '\0') { + return -1.0; + } + LVar1.QuadPart = ((LARGE_INTEGER *)(param_1 + 0x10))->QuadPart; + if (((LARGE_INTEGER *)(param_1 + 0x10))->QuadPart == 0) { + QueryPerformanceCounter(local_res8); + LVar1 = local_res8[0]; + } + return (double)LVar1.QuadPart / (double)*(longlong *)(param_1 + 8); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a480.c b/decomp/Agent_Release_x64/full/functions/0x14003a480.c new file mode 100644 index 00000000..cf346db5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a480.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a480 FUN_14003a480 + * Pseudocode, not original source. */ + +double FUN_14003a480(char *param_1) + +{ + longlong lVar1; + LARGE_INTEGER LVar2; + LARGE_INTEGER local_res8 [4]; + + if (*param_1 == '\0') { + return -1.0; + } + LVar2.QuadPart = ((LARGE_INTEGER *)(param_1 + 0x10))->QuadPart; + if (((LARGE_INTEGER *)(param_1 + 0x10))->QuadPart == 0) { + QueryPerformanceCounter(local_res8); + LVar2 = local_res8[0]; + } + lVar1 = *(longlong *)(param_1 + 0x18); + ((LARGE_INTEGER *)(param_1 + 0x18))->QuadPart = (LONGLONG)LVar2; + return (double)(LVar2.QuadPart - lVar1) / (double)*(longlong *)(param_1 + 8); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a4e0.c b/decomp/Agent_Release_x64/full/functions/0x14003a4e0.c new file mode 100644 index 00000000..e5bd5de5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a4e0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a4e0 FUN_14003a4e0 + * Pseudocode, not original source. */ + +undefined1 FUN_14003a4e0(longlong param_1) + +{ + return *(undefined1 *)(param_1 + 1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a504.c b/decomp/Agent_Release_x64/full/functions/0x14003a504.c new file mode 100644 index 00000000..c1b3e3d1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a504.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a504 ATL::CAtlBaseModule::~CAtlBaseModule + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: __cdecl ATL::CAtlBaseModule::~CAtlBaseModule(void) __ptr64 + + Library: Visual Studio */ + +void __thiscall ATL::CAtlBaseModule::~CAtlBaseModule(CAtlBaseModule *this) + +{ + DeleteCriticalSection((LPCRITICAL_SECTION)(this + 0x28)); + if (*(void **)(this + 0x50) != (void *)0x0) { + free(*(void **)(this + 0x50)); + *(undefined8 *)(this + 0x50) = 0; + } + *(undefined4 *)(this + 0x58) = 0; + *(undefined4 *)(this + 0x5c) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a538.c b/decomp/Agent_Release_x64/full/functions/0x14003a538.c new file mode 100644 index 00000000..47fb5132 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a538.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a538 ATL::CAtlBaseModule::GetHInstanceAt + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: struct HINSTANCE__ * __ptr64 __cdecl ATL::CAtlBaseModule::GetHInstanceAt(int) __ptr64 + + Libraries: Visual Studio 2008 Release, Visual Studio 2010 Release */ + +HINSTANCE__ * __thiscall ATL::CAtlBaseModule::GetHInstanceAt(CAtlBaseModule *this,int param_1) + +{ + code *pcVar1; + HINSTANCE__ *pHVar2; + + EnterCriticalSection((LPCRITICAL_SECTION)(this + 0x28)); + if ((*(int *)(this + 0x58) < param_1) || (param_1 < 0)) { + LeaveCriticalSection((LPCRITICAL_SECTION)(this + 0x28)); + pHVar2 = (HINSTANCE__ *)0x0; + } + else { + if (param_1 == *(int *)(this + 0x58)) { + pHVar2 = *(HINSTANCE__ **)(this + 0x10); + } + else { + if (*(int *)(this + 0x58) <= param_1) { + RaiseException(0xc000008c,1,0,(ULONG_PTR *)0x0); + pcVar1 = (code *)swi(3); + pHVar2 = (HINSTANCE__ *)(*pcVar1)(); + return pHVar2; + } + pHVar2 = *(HINSTANCE__ **)(*(longlong *)(this + 0x50) + (longlong)param_1 * 8); + } + LeaveCriticalSection((LPCRITICAL_SECTION)(this + 0x28)); + } + return pHVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a5b8.c b/decomp/Agent_Release_x64/full/functions/0x14003a5b8.c new file mode 100644 index 00000000..766e529e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a5b8.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a5b8 ATL::CAtlBaseModule::CAtlBaseModule + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: __cdecl ATL::CAtlBaseModule::CAtlBaseModule(void) __ptr64 + + Library: Visual Studio 2010 Release */ + +CAtlBaseModule * __thiscall ATL::CAtlBaseModule::CAtlBaseModule(CAtlBaseModule *this) + +{ + DWORD DVar1; + BOOL BVar2; + DWORD DVar3; + + memset(this + 0x28,0,0x28); + *(undefined8 *)(this + 0x50) = 0; + *(undefined4 *)(this + 0x58) = 0; + *(undefined4 *)(this + 0x5c) = 0; + *(IMAGE_DOS_HEADER **)(this + 0x10) = &IMAGE_DOS_HEADER_140000000; + *(IMAGE_DOS_HEADER **)(this + 8) = &IMAGE_DOS_HEADER_140000000; + *(undefined4 *)this = 0x60; + *(undefined4 *)(this + 0x18) = 0xa00; + *(undefined **)(this + 0x20) = &DAT_1400f59d0; + BVar2 = InitializeCriticalSectionAndSpinCount((LPCRITICAL_SECTION)(this + 0x28),0); + if (BVar2 == 0) { + DVar3 = GetLastError(); + DVar1 = DVar3 & 0xffff | 0x80070000; + if ((int)DVar3 < 1) { + DVar1 = DVar3; + } + if ((int)DVar1 < 0) { + DAT_1401626e5 = 1; + } + } + return this; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a660.c b/decomp/Agent_Release_x64/full/functions/0x14003a660.c new file mode 100644 index 00000000..f552ed60 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a660.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a660 FUN_14003a660 + * Pseudocode, not original source. */ + +void FUN_14003a660(longlong param_1,LPVOID param_2) + +{ + if (param_2 != (LPVOID)0x0) { + HeapFree(*(HANDLE *)(param_1 + 8),0,param_2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a680.c b/decomp/Agent_Release_x64/full/functions/0x14003a680.c new file mode 100644 index 00000000..972e3a00 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a680.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a680 ATL::CWin32Heap::Reallocate + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: virtual void * __ptr64 __cdecl ATL::CWin32Heap::Reallocate(void * __ptr64,unsigned + __int64) __ptr64 + + Libraries: Visual Studio 2010 Release, Visual Studio 2012 Release */ + +void * __thiscall ATL::CWin32Heap::Reallocate(CWin32Heap *this,void *param_1,__uint64 param_2) + +{ + void *pvVar1; + + if (param_1 == (void *)0x0) { + /* WARNING: Could not recover jumptable at 0x00014003a693. Too many branches */ + /* WARNING: Treating indirect jump as call */ + pvVar1 = (void *)(*(code *)**(undefined8 **)this)(this,param_2); + return pvVar1; + } + if (param_2 == 0) { + (**(code **)(*(longlong *)this + 8))(); + return (void *)0x0; + } + /* WARNING: Could not recover jumptable at 0x00014003a6b8. Too many branches */ + /* WARNING: Treating indirect jump as call */ + pvVar1 = (void *)HeapReAlloc(*(undefined8 *)(this + 8),0,param_1,param_2); + return pvVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a6d0.c b/decomp/Agent_Release_x64/full/functions/0x14003a6d0.c new file mode 100644 index 00000000..55240ee0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a6d0.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a6d0 ATL::CWin32Heap::`scalar_deleting_destructor' + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: virtual void * __ptr64 __cdecl ATL::CWin32Heap::`scalar deleting destructor'(unsigned + int) __ptr64 + + Libraries: Visual Studio 2008 Release, Visual Studio 2010 Release, Visual Studio 2012 Release */ + +void * __thiscall ATL::CWin32Heap::_scalar_deleting_destructor_(CWin32Heap *this,uint param_1) + +{ + *(undefined ***)this = &PTR_LAB_1400f59e0; + if ((this[0x10] != (CWin32Heap)0x0) && (*(HANDLE *)(this + 8) != (HANDLE)0x0)) { + HeapDestroy(*(HANDLE *)(this + 8)); + } + if ((param_1 & 1) != 0) { + operator_delete(this); + } + return this; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a728.c b/decomp/Agent_Release_x64/full/functions/0x14003a728.c new file mode 100644 index 00000000..4473173c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a728.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a728 FUN_14003a728 + * Pseudocode, not original source. */ + +longlong FUN_14003a728(longlong param_1) + +{ + LOCK(); + *(int *)(param_1 + 0x20) = *(int *)(param_1 + 0x20) + 1; + UNLOCK(); + return param_1 + 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a734.c b/decomp/Agent_Release_x64/full/functions/0x14003a734.c new file mode 100644 index 00000000..c6688fc1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a734.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a734 FUN_14003a734 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003a734(undefined8 *param_1,byte param_2) + +{ + *param_1 = &PTR_Allocate_1400f5a08; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a75c.c b/decomp/Agent_Release_x64/full/functions/0x14003a75c.c new file mode 100644 index 00000000..5a763165 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a75c.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a75c ATL::CAtlStringMgr::Allocate + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: virtual struct ATL::CStringData * __ptr64 __cdecl ATL::CAtlStringMgr::Allocate(int,int) + __ptr64 + + Libraries: Visual Studio 2008 Release, Visual Studio 2010 Release */ + +CStringData * __thiscall ATL::CAtlStringMgr::Allocate(CAtlStringMgr *this,int param_1,int param_2) + +{ + undefined1 auVar1 [16]; + CStringData *pCVar2; + uint uVar3; + ulonglong uVar4; + + uVar3 = param_1 + 8U & 0xfffffff8; + if (uVar3 == 0) { + uVar4 = 0; + } + else { + auVar1._8_8_ = 0; + auVar1._0_8_ = (longlong)(int)uVar3; + if (SUB168((ZEXT816(0) << 0x40 | ZEXT816(0xffffffffffffffff)) / auVar1,0) < + (ulonglong)(longlong)param_2) { + return (CStringData *)0x0; + } + uVar4 = (longlong)(int)uVar3 * (longlong)param_2; + if (0xffffffffffffffe7 < uVar4) { + return (CStringData *)0x0; + } + } + pCVar2 = (CStringData *) + (**(code **)**(undefined8 **)(this + 8))(*(undefined8 **)(this + 8),uVar4 + 0x18); + if (pCVar2 == (CStringData *)0x0) { + return (CStringData *)0x0; + } + *(undefined4 *)(pCVar2 + 8) = 0; + *(CAtlStringMgr **)pCVar2 = this; + *(undefined4 *)(pCVar2 + 0x10) = 1; + *(uint *)(pCVar2 + 0xc) = uVar3 - 1; + return pCVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a7d4.c b/decomp/Agent_Release_x64/full/functions/0x14003a7d4.c new file mode 100644 index 00000000..6627e8be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a7d4.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a7d4 ATL::CAtlStringMgr::Reallocate + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: virtual struct ATL::CStringData * __ptr64 __cdecl ATL::CAtlStringMgr::Reallocate(struct + ATL::CStringData * __ptr64,int,int) __ptr64 + + Libraries: Visual Studio 2008 Release, Visual Studio 2010 Release */ + +CStringData * __thiscall +ATL::CAtlStringMgr::Reallocate(CAtlStringMgr *this,CStringData *param_1,int param_2,int param_3) + +{ + CStringData *pCVar1; + uint uVar2; + uint uVar3; + ulonglong uVar4; + + uVar2 = param_2 + 8U & 0xfffffff8; + uVar4 = (ulonglong)uVar2 * (ulonglong)(uint)param_3; + if (((uVar4 < 0x100000000) && (uVar3 = (uint)uVar4, uVar3 < 0xffffffe8)) && + (pCVar1 = (CStringData *) + (**(code **)(**(longlong **)(this + 8) + 0x10)) + (*(longlong **)(this + 8),param_1,uVar3 + 0x18), + pCVar1 != (CStringData *)0x0)) { + *(uint *)(pCVar1 + 0xc) = uVar2 - 1; + return pCVar1; + } + return (CStringData *)0x0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a870.c b/decomp/Agent_Release_x64/full/functions/0x14003a870.c new file mode 100644 index 00000000..d53d91a5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a870.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a870 FUN_14003a870 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_14003a870(undefined8 param_1) + +{ + /* WARNING: Could not recover jumptable at 0x00014003a872. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (*_DAT_140155538)(param_1,0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a880.c b/decomp/Agent_Release_x64/full/functions/0x14003a880.c new file mode 100644 index 00000000..4c57975f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a880.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a880 FUN_14003a880 + * Pseudocode, not original source. */ + +LPSTR FUN_14003a880(LPCWSTR param_1) + +{ + WCHAR WVar1; + int iVar2; + uint uVar3; + LPSTR lpMultiByteStr; + longlong lVar4; + LPCWSTR pWVar5; + + lpMultiByteStr = (LPSTR)0x0; + if (param_1 != (LPCWSTR)0x0) { + lVar4 = -1; + pWVar5 = param_1; + do { + if (lVar4 == 0) break; + lVar4 = lVar4 + -1; + WVar1 = *pWVar5; + pWVar5 = pWVar5 + 1; + } while (WVar1 != L'\0'); + iVar2 = WideCharToMultiByte(0,0,param_1,~(uint)lVar4,(LPSTR)0x0,0,(LPCSTR)0x0,(LPBOOL)0x0); + if (iVar2 == 0) { + uVar3 = GetLastError(); + if (0 < (int)uVar3) { + uVar3 = uVar3 & 0xffff | 0x80070000; + } + /* WARNING: Subroutine does not return */ + FUN_14003a870((ulonglong)uVar3); + } + lpMultiByteStr = operator_new((longlong)iVar2); + if (lpMultiByteStr == (LPSTR)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14003a870(0x8007000e); + } + iVar2 = WideCharToMultiByte(0,0,param_1,~(uint)lVar4,lpMultiByteStr,iVar2,(LPCSTR)0x0, + (LPBOOL)0x0); + if (iVar2 == 0) { + operator_delete(lpMultiByteStr); + uVar3 = GetLastError(); + if (0 < (int)uVar3) { + uVar3 = uVar3 & 0xffff | 0x80070000; + } + /* WARNING: Subroutine does not return */ + FUN_14003a870((ulonglong)uVar3); + } + } + return lpMultiByteStr; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a990.c b/decomp/Agent_Release_x64/full/functions/0x14003a990.c new file mode 100644 index 00000000..db5fb711 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a990.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a990 _com_error::~_com_error + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: virtual __cdecl _com_error::~_com_error(void) __ptr64 + + Libraries: Visual Studio 2005 Release, Visual Studio 2010 Release, Visual Studio 2012 Release */ + +void __thiscall _com_error::~_com_error(_com_error *this) + +{ + *(undefined ***)this = &PTR_FUN_1400f5a60; + if (*(longlong **)(this + 0x10) != (longlong *)0x0) { + (**(code **)(**(longlong **)(this + 0x10) + 0x10))(); + } + if (*(HLOCAL *)(this + 0x18) != (HLOCAL)0x0) { + LocalFree(*(HLOCAL *)(this + 0x18)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003a9d0.c b/decomp/Agent_Release_x64/full/functions/0x14003a9d0.c new file mode 100644 index 00000000..4760d81d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003a9d0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003a9d0 FUN_14003a9d0 + * Pseudocode, not original source. */ + +void FUN_14003a9d0(undefined4 param_1,undefined8 param_2) + +{ + undefined **local_28; + undefined4 local_20; + undefined8 local_18; + undefined8 local_10; + + local_10 = 0; + local_28 = &PTR_FUN_1400f5a60; + local_20 = param_1; + local_18 = param_2; + /* WARNING: Subroutine does not return */ + _CxxThrowException(&local_28,(ThrowInfo *)&DAT_1401519e0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003aa10.c b/decomp/Agent_Release_x64/full/functions/0x14003aa10.c new file mode 100644 index 00000000..038ac568 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003aa10.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003aa10 _com_error::_com_error + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: __cdecl _com_error::_com_error(class _com_error const & __ptr64) __ptr64 + + Libraries: Visual Studio 2008 Release, Visual Studio 2010 Release, Visual Studio 2012 Release */ + +_com_error * __thiscall _com_error::_com_error(_com_error *this,_com_error *param_1) + +{ + longlong *plVar1; + + *(undefined ***)this = &PTR_FUN_1400f5a60; + *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8); + plVar1 = *(longlong **)(param_1 + 0x10); + *(undefined8 *)(this + 0x18) = 0; + *(longlong **)(this + 0x10) = plVar1; + if (plVar1 != (longlong *)0x0) { + (**(code **)(*plVar1 + 8))(plVar1); + } + return this; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003aa50.c b/decomp/Agent_Release_x64/full/functions/0x14003aa50.c new file mode 100644 index 00000000..a3e3246f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003aa50.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003aa50 FUN_14003aa50 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003aa50(undefined8 *param_1,uint param_2) + +{ + *param_1 = &PTR_FUN_1400f5a60; + if ((longlong *)param_1[2] != (longlong *)0x0) { + (**(code **)(*(longlong *)param_1[2] + 0x10))(); + } + if ((HLOCAL)param_1[3] != (HLOCAL)0x0) { + LocalFree((HLOCAL)param_1[3]); + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003aac0.c b/decomp/Agent_Release_x64/full/functions/0x14003aac0.c new file mode 100644 index 00000000..55be47b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003aac0.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003aac0 __security_check_cookie + * Pseudocode, not original source. */ + +/* WARNING: This is an inlined function */ +/* Library Function - Single Match + __security_check_cookie + + Libraries: Visual Studio 2005 Debug, Visual Studio 2005 Release, Visual Studio 2010 Debug, Visual + Studio 2010 Release */ + +void __cdecl __security_check_cookie(uintptr_t _StackCookie) + +{ + if ((_StackCookie == DAT_1401555a0) && ((short)(_StackCookie >> 0x30) == 0)) { + return; + } + /* WARNING: Subroutine does not return */ + __report_gsfailure(_StackCookie); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003aaf4.c b/decomp/Agent_Release_x64/full/functions/0x14003aaf4.c new file mode 100644 index 00000000..14711689 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003aaf4.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003aaf4 _onexit + * Pseudocode, not original source. */ + +/* Library Function - Single Match + _onexit + + Libraries: Visual Studio 2008 Release, Visual Studio 2010 Release, Visual Studio 2012 Release */ + +_onexit_t __cdecl _onexit(_onexit_t _Func) + +{ + _onexit_t p_Var1; + PVOID pvVar2; + PVOID local_res10; + PVOID local_res18 [2]; + + local_res10 = DecodePointer(DAT_140163448); + if (local_res10 == (PVOID)0xffffffffffffffff) { + p_Var1 = _onexit(_Func); + } + else { + _lock(8); + local_res10 = DecodePointer(DAT_140163448); + local_res18[0] = DecodePointer(DAT_140163440); + pvVar2 = EncodePointer(_Func); + p_Var1 = (_onexit_t)__dllonexit(pvVar2,&local_res10,local_res18); + DAT_140163448 = EncodePointer(local_res10); + DAT_140163440 = EncodePointer(local_res18[0]); + _unlock(8); + } + return p_Var1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003aba4.c b/decomp/Agent_Release_x64/full/functions/0x14003aba4.c new file mode 100644 index 00000000..ed8b6b94 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003aba4.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003aba4 atexit + * Pseudocode, not original source. */ + +/* Library Function - Single Match + atexit + + Libraries: Visual Studio 2008 Release, Visual Studio 2010 Release, Visual Studio 2012 Release */ + +int __cdecl atexit(_func_5014 *param_1) + +{ + _onexit_t p_Var1; + + p_Var1 = _onexit((_onexit_t)param_1); + return (p_Var1 != (_onexit_t)0x0) - 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003abbc.c b/decomp/Agent_Release_x64/full/functions/0x14003abbc.c new file mode 100644 index 00000000..3a0b453a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003abbc.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003abbc type_info::`vector_deleting_destructor' + * Pseudocode, not original source. */ + +/* Library Function - Single Match + public: virtual void * __ptr64 __cdecl type_info::`vector deleting destructor'(unsigned int) + __ptr64 + + Library: Visual Studio 2010 Release */ + +void * __thiscall type_info::_vector_deleting_destructor_(type_info *this,uint param_1) + +{ + if ((param_1 & 2) == 0) { + type_info::_type_info_dtor_internal_method(this); + if ((param_1 & 1) != 0) { + operator_delete(this); + } + } + else { + _eh_vector_destructor_iterator_ + (this,0x18,*(int *)(this + -8),type_info::_type_info_dtor_internal_method); + if ((param_1 & 1) != 0) { + operator_delete(this + -8); + } + this = this + -8; + } + return this; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003ac2c.c b/decomp/Agent_Release_x64/full/functions/0x14003ac2c.c new file mode 100644 index 00000000..8bd829c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003ac2c.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003ac2c FUN_14003ac2c + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_14003ac2c(void) + +{ + atexit(FUN_14003b34c); + _DAT_14015d874 = DAT_14015de04; + _DAT_14015d870 = + __wgetmainargs(&DAT_14015d858,&DAT_14015d868,&DAT_14015d860,DAT_14015de00,&DAT_14015d874); + if (_DAT_14015d870 < 0) { + _amsg_exit(8); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003ac94.c b/decomp/Agent_Release_x64/full/functions/0x14003ac94.c new file mode 100644 index 00000000..3317d3fc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003ac94.c @@ -0,0 +1,81 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003ac94 __tmainCRTStartup + * Pseudocode, not original source. */ + +/* Library Function - Single Match + __tmainCRTStartup + + Library: Visual Studio 2010 Release */ + +ulonglong __tmainCRTStartup(void) + +{ + void *pvVar1; + bool bVar2; + void *pvVar3; + int iVar4; + BOOL BVar5; + void *pvVar6; + ulonglong uVar7; + uint *in_R9; + bool bVar8; + + pvVar1 = StackBase; + bVar2 = false; + while( true ) { + pvVar6 = (void *)0x0; + LOCK(); + bVar8 = DAT_140163430 == (void *)0x0; + pvVar3 = pvVar1; + if (!bVar8) { + pvVar6 = DAT_140163430; + pvVar3 = DAT_140163430; + } + DAT_140163430 = pvVar3; + UNLOCK(); + if (bVar8) goto LAB_14003acda; + if (pvVar6 == pvVar1) break; + Sleep(1000); + } + bVar2 = true; +LAB_14003acda: + if (DAT_140163428 == 1) { + _amsg_exit(0x1f); + } + else if (DAT_140163428 == 0) { + DAT_140163428 = 1; + iVar4 = _initterm_e(&DAT_1400f2d60,&DAT_1400f2d78); + if (iVar4 != 0) { + return 0xff; + } + } + else { + DAT_14015d87c = 1; + } + if (DAT_140163428 == 1) { + _initterm(&DAT_1400f29f0,&DAT_1400f2d58); + DAT_140163428 = 2; + } + if (!bVar2) { + LOCK(); + DAT_140163430 = (void *)0x0; + UNLOCK(); + } + if ((DAT_140163438 != (code *)0x0) && + (BVar5 = _IsNonwritableInCurrentImage((PBYTE)&DAT_140163438), BVar5 != 0)) { + (*DAT_140163438)(0,2); + } + *(undefined8 *)__winitenv_exref = DAT_14015d860; + uVar7 = FUN_140001390(DAT_14015d858,DAT_14015d868,DAT_14015d860,in_R9); + DAT_14015d878 = (uint)uVar7; + if (DAT_14015d85c != 0) { + if (DAT_14015d87c == 0) { + _cexit(); + uVar7 = (ulonglong)DAT_14015d878; + } + return uVar7; + } + /* WARNING: Subroutine does not return */ + exit(DAT_14015d878); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003ae14.c b/decomp/Agent_Release_x64/full/functions/0x14003ae14.c new file mode 100644 index 00000000..76ffdf87 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003ae14.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003ae14 FUN_14003ae14 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014003ae26) */ + +undefined8 FUN_14003ae14(void) + +{ + DAT_14015d85c = 0; + __set_app_type(1); + DAT_140163440 = EncodePointer((PVOID)0xffffffffffffffff); + DAT_140163448 = DAT_140163440; + *(undefined4 *)_fmode_exref = DAT_14015de0c; + *(undefined4 *)_commode_exref = DAT_14015de08; + FUN_14003b314(); + FUN_14003b460(); + if (DAT_1401555cc == 0) { + __setusermatherr(FUN_14003b460); + } + if (DAT_1401555c8 == -1) { + _configthreadlocale(-1); + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003aee4.c b/decomp/Agent_Release_x64/full/functions/0x14003aee4.c new file mode 100644 index 00000000..aca598e6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003aee4.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003aee4 entry + * Pseudocode, not original source. */ + +void entry(void) + +{ + __security_init_cookie(); + __tmainCRTStartup(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003af10.c b/decomp/Agent_Release_x64/full/functions/0x14003af10.c new file mode 100644 index 00000000..9efdab30 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003af10.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003af10 __GSHandlerCheckCommon + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* Library Function - Single Match + __GSHandlerCheckCommon + + Libraries: Visual Studio 2008 Release, Visual Studio 2010 Release, Visual Studio 2012 Release, + Visual Studio 2019 Release */ + +longlong __GSHandlerCheckCommon(undefined8 param_1,longlong param_2) + +{ + longlong lVar1; + longlong lVar2; + + lVar1 = *(longlong *)(param_2 + 0x10); + lVar2 = (ulonglong)*(uint *)(lVar1 + 8) + *(longlong *)(param_2 + 8); + if ((*(byte *)(lVar2 + 3) & 0xf) != 0) { + lVar1 = (longlong)(int)(*(byte *)(lVar2 + 3) & 0xfffffff0); + } + return lVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003af74.c b/decomp/Agent_Release_x64/full/functions/0x14003af74.c new file mode 100644 index 00000000..8671cca1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003af74.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003af74 __GSHandlerCheck + * Pseudocode, not original source. */ + +/* Library Function - Single Match + __GSHandlerCheck + + Libraries: Visual Studio 2008 Release, Visual Studio 2010 Release, Visual Studio 2012 Release, + Visual Studio 2019 Release */ + +undefined8 +__GSHandlerCheck(undefined8 param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + __GSHandlerCheckCommon(param_2,param_4); + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003af94.c b/decomp/Agent_Release_x64/full/functions/0x14003af94.c new file mode 100644 index 00000000..c4f61a2b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003af94.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003af94 FUN_14003af94 + * Pseudocode, not original source. */ + +undefined8 FUN_14003af94(longlong param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + uint uVar1; + longlong lVar2; + uint uVar3; + + lVar2 = *(longlong *)(param_4 + 0x38); + __GSHandlerCheckCommon(param_2,param_4); + uVar1 = *(uint *)(lVar2 + 4); + uVar3 = uVar1 & 2; + if ((*(uint *)(param_1 + 4) & 0x66) == 0) { + uVar3 = uVar1 & 1; + } + if (uVar3 != 0) { + /* WARNING: Subroutine does not return */ + __CxxFrameHandler3(param_1,param_2,param_3,param_4); + } + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b03c.c b/decomp/Agent_Release_x64/full/functions/0x14003b03c.c new file mode 100644 index 00000000..b2ef6d72 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b03c.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b03c __ArrayUnwind + * Pseudocode, not original source. */ + +/* Library Function - Single Match + void __cdecl __ArrayUnwind(void * __ptr64,unsigned __int64,int,void (__cdecl*)(void * __ptr64)) + + Library: Visual Studio 2010 Release */ + +void __cdecl __ArrayUnwind(void *param_1,__uint64 param_2,int param_3,_func_void_void_ptr *param_4) + +{ + while( true ) { + param_3 = param_3 + -1; + if (param_3 < 0) break; + param_1 = (void *)((longlong)param_1 - param_2); + (*param_4)(param_1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b088.c b/decomp/Agent_Release_x64/full/functions/0x14003b088.c new file mode 100644 index 00000000..3e730c95 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b088.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b088 `eh_vector_destructor_iterator' + * Pseudocode, not original source. */ + +/* Library Function - Single Match + void __cdecl `eh vector destructor iterator'(void * __ptr64,unsigned __int64,int,void + (__cdecl*)(void * __ptr64)) + + Library: Visual Studio 2010 Release */ + +void __cdecl +_eh_vector_destructor_iterator_ + (void *param_1,__uint64 param_2,int param_3,_func_void_void_ptr *param_4) + +{ + void *pvVar1; + uint uVar2; + ulonglong uVar3; + + uVar3 = (ulonglong)param_3; + pvVar1 = (void *)(uVar3 * param_2 + (longlong)param_1); + while( true ) { + uVar2 = (int)uVar3 - 1; + uVar3 = (ulonglong)uVar2; + if ((int)uVar2 < 0) break; + pvVar1 = (void *)((longlong)pvVar1 - param_2); + (*param_4)(pvVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b100.c b/decomp/Agent_Release_x64/full/functions/0x14003b100.c new file mode 100644 index 00000000..79ff734c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b100.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b100 __chkstk + * Pseudocode, not original source. */ + +/* WARNING: This is an inlined function */ +/* Library Function - Single Match + __chkstk + + Libraries: Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio 2012 */ + +void __chkstk(void) + +{ + undefined1 *in_RAX; + undefined1 *puVar1; + undefined1 *puVar2; + undefined1 local_res8 [32]; + + puVar1 = local_res8 + -(longlong)in_RAX; + if (local_res8 < in_RAX) { + puVar1 = (undefined1 *)0x0; + } + if (puVar1 < StackLimit) { + puVar2 = StackLimit; + do { + puVar2 = puVar2 + -0x1000; + *puVar2 = 0; + } while ((undefined1 *)((ulonglong)puVar1 & 0xfffffffffffff000) != puVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b154.c b/decomp/Agent_Release_x64/full/functions/0x14003b154.c new file mode 100644 index 00000000..f79dcabe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b154.c @@ -0,0 +1,55 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b154 __report_gsfailure + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ +/* Library Function - Single Match + __report_gsfailure + + Libraries: Visual Studio 2005 Debug, Visual Studio 2005 Release, Visual Studio 2010 Debug, Visual + Studio 2010 Release */ + +void __cdecl __report_gsfailure(uintptr_t _StackCookie) + +{ + HANDLE hProcess; + DWORD64 unaff_retaddr; + uintptr_t local_res8 [4]; + PVOID local_48; + ulonglong local_40; + PRUNTIME_FUNCTION local_38; + DWORD64 local_30; + DWORD64 local_28; + undefined8 local_20; + undefined8 local_18; + + local_res8[0] = _StackCookie; + RtlCaptureContext(&DAT_14015d930); + local_30 = DAT_14015da28; + local_38 = RtlLookupFunctionEntry(DAT_14015da28,&local_28,(PUNWIND_HISTORY_TABLE)0x0); + if (local_38 == (PRUNTIME_FUNCTION)0x0) { + _DAT_14015d9c8 = local_res8; + DAT_14015da28 = unaff_retaddr; + } + else { + RtlVirtualUnwind(0,local_28,local_30,local_38,(PCONTEXT)&DAT_14015d930,&local_48,&local_40, + (PKNONVOLATILE_CONTEXT_POINTERS)0x0); + } + _DAT_14015d8a0 = DAT_14015da28; + _DAT_14015d9b0 = local_res8[0]; + _DAT_14015d890 = 0xc0000409; + _DAT_14015d894 = 1; + local_20 = DAT_1401555a0; + local_18 = DAT_1401555a8; + DAT_14015d928 = IsDebuggerPresent(); + __crt_debugger_hook(1); + SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)0x0); + UnhandledExceptionFilter((_EXCEPTION_POINTERS *)&PTR_DAT_1400f5a78); + if (DAT_14015d928 == 0) { + __crt_debugger_hook(1); + } + hProcess = GetCurrentProcess(); + TerminateProcess(hProcess,0xc0000409); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b2b0.c b/decomp/Agent_Release_x64/full/functions/0x14003b2b0.c new file mode 100644 index 00000000..ccc32319 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b2b0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b2b0 FUN_14003b2b0 + * Pseudocode, not original source. */ + +undefined8 FUN_14003b2b0(undefined8 *param_1) + +{ + int iVar1; + int *piVar2; + + piVar2 = (int *)*param_1; + if (((*piVar2 == -0x1f928c9d) && (piVar2[6] == 4)) && + ((iVar1 = piVar2[8], iVar1 == 0x19930520 || + (((iVar1 == 0x19930521 || (iVar1 == 0x19930522)) || (iVar1 == 0x1994000)))))) { + /* WARNING: Subroutine does not return */ + terminate(); + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b2f4.c b/decomp/Agent_Release_x64/full/functions/0x14003b2f4.c new file mode 100644 index 00000000..deee0c03 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b2f4.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b2f4 FUN_14003b2f4 + * Pseudocode, not original source. */ + +undefined8 FUN_14003b2f4(void) + +{ + SetUnhandledExceptionFilter(FUN_14003b2b0); + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b314.c b/decomp/Agent_Release_x64/full/functions/0x14003b314.c new file mode 100644 index 00000000..e2de3b71 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b314.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b314 FUN_14003b314 + * Pseudocode, not original source. */ + +void FUN_14003b314(void) + +{ + undefined8 *puVar1; + + for (puVar1 = &DAT_140129da8; puVar1 < &DAT_140129da8; puVar1 = puVar1 + 1) { + if ((code *)*puVar1 != (code *)0x0) { + (*(code *)*puVar1)(); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b34c.c b/decomp/Agent_Release_x64/full/functions/0x14003b34c.c new file mode 100644 index 00000000..b9627e68 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b34c.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b34c FUN_14003b34c + * Pseudocode, not original source. */ + +void FUN_14003b34c(void) + +{ + undefined8 *puVar1; + + for (puVar1 = &DAT_140129db8; puVar1 < &DAT_140129db8; puVar1 = puVar1 + 1) { + if ((code *)*puVar1 != (code *)0x0) { + (*(code *)*puVar1)(); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b390.c b/decomp/Agent_Release_x64/full/functions/0x14003b390.c new file mode 100644 index 00000000..f9f36108 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b390.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b390 _ValidateImageBase + * Pseudocode, not original source. */ + +/* Library Function - Single Match + _ValidateImageBase + + Libraries: Visual Studio 2008 Release, Visual Studio 2010 Release */ + +BOOL __cdecl _ValidateImageBase(PBYTE pImageBase) + +{ + uint uVar1; + + if (*(short *)pImageBase != 0x5a4d) { + return 0; + } + uVar1 = 0; + if (*(int *)(pImageBase + *(int *)(pImageBase + 0x3c)) == 0x4550) { + uVar1 = (uint)((short)*(int *)((longlong)(pImageBase + *(int *)(pImageBase + 0x3c)) + 0x18) == + 0x20b); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b3c0.c b/decomp/Agent_Release_x64/full/functions/0x14003b3c0.c new file mode 100644 index 00000000..df9a8529 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b3c0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b3c0 _FindPESection + * Pseudocode, not original source. */ + +/* Library Function - Single Match + _FindPESection + + Libraries: Visual Studio 2008 Release, Visual Studio 2010 Release, Visual Studio 2019 Release */ + +PIMAGE_SECTION_HEADER __cdecl _FindPESection(PBYTE pImageBase,DWORD_PTR rva) + +{ + int iVar1; + PIMAGE_SECTION_HEADER p_Var2; + uint uVar3; + + iVar1 = *(int *)(pImageBase + 0x3c); + uVar3 = 0; + p_Var2 = (PIMAGE_SECTION_HEADER) + (pImageBase + + (ulonglong)*(ushort *)(pImageBase + (longlong)iVar1 + 0x14) + 0x18 + (longlong)iVar1); + if (*(ushort *)(pImageBase + (longlong)iVar1 + 6) != 0) { + do { + if ((p_Var2->VirtualAddress <= rva) && + (rva < (p_Var2->Misc).PhysicalAddress + p_Var2->VirtualAddress)) { + return p_Var2; + } + uVar3 = uVar3 + 1; + p_Var2 = p_Var2 + 1; + } while (uVar3 < *(ushort *)(pImageBase + (longlong)iVar1 + 6)); + } + return (PIMAGE_SECTION_HEADER)0x0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b410.c b/decomp/Agent_Release_x64/full/functions/0x14003b410.c new file mode 100644 index 00000000..523f7d81 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b410.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b410 _IsNonwritableInCurrentImage + * Pseudocode, not original source. */ + +/* Library Function - Single Match + _IsNonwritableInCurrentImage + + Library: Visual Studio 2010 Release */ + +BOOL __cdecl _IsNonwritableInCurrentImage(PBYTE pTarget) + +{ + BOOL BVar1; + uint uVar2; + PIMAGE_SECTION_HEADER p_Var3; + IMAGE_DOS_HEADER *pImageBase; + + pImageBase = &IMAGE_DOS_HEADER_140000000; + BVar1 = _ValidateImageBase((PBYTE)&IMAGE_DOS_HEADER_140000000); + uVar2 = 0; + if (BVar1 != 0) { + p_Var3 = _FindPESection((PBYTE)pImageBase,(longlong)pTarget - (longlong)pImageBase); + uVar2 = 0; + if (p_Var3 != (PIMAGE_SECTION_HEADER)0x0) { + uVar2 = ~(p_Var3->Characteristics >> 0x1f) & 1; + } + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b460.c b/decomp/Agent_Release_x64/full/functions/0x14003b460.c new file mode 100644 index 00000000..bfa5d478 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b460.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b460 FUN_14003b460 + * Pseudocode, not original source. */ + +undefined8 FUN_14003b460(void) + +{ + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b464.c b/decomp/Agent_Release_x64/full/functions/0x14003b464.c new file mode 100644 index 00000000..54f21396 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b464.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b464 __security_init_cookie + * Pseudocode, not original source. */ + +/* Library Function - Single Match + __security_init_cookie + + Libraries: Visual Studio 2008 Release, Visual Studio 2010 Release */ + +void __cdecl __security_init_cookie(void) + +{ + _FILETIME _Var1; + DWORD DVar2; + DWORD DVar3; + DWORD DVar4; + _FILETIME local_res8; + LARGE_INTEGER local_res10; + + local_res8.dwLowDateTime = 0; + local_res8.dwHighDateTime = 0; + if (DAT_1401555a0 == 0x2b992ddfa232) { + GetSystemTimeAsFileTime(&local_res8); + _Var1 = local_res8; + DVar2 = GetCurrentProcessId(); + DVar3 = GetCurrentThreadId(); + DVar4 = GetTickCount(); + QueryPerformanceCounter(&local_res10); + DAT_1401555a0 = + (local_res10.QuadPart ^ + (ulonglong)_Var1 ^ (ulonglong)DVar2 ^ (ulonglong)DVar3 ^ (ulonglong)DVar4) & 0xffffffffffff + ; + if (DAT_1401555a0 == 0x2b992ddfa232) { + DAT_1401555a0 = 0x2b992ddfa233; + } + } + DAT_1401555a8 = ~DAT_1401555a0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b530.c b/decomp/Agent_Release_x64/full/functions/0x14003b530.c new file mode 100644 index 00000000..681cc5b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b530.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b530 FUN_14003b530 + * Pseudocode, not original source. */ + +void FUN_14003b530(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + exception local_58 [88]; + + if ((*(int *)(param_1 + 0x2c) == 0) && + ((*(int *)(param_1 + 0x28) < 2 || (4 < *(int *)(param_1 + 0x28))))) { + FUN_14002f1e0(local_58,L"RMI messaging cannot have Engine level priority!",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b570.c b/decomp/Agent_Release_x64/full/functions/0x14003b570.c new file mode 100644 index 00000000..ee65bc2d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b570.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b570 FUN_14003b570 + * Pseudocode, not original source. */ + +undefined1 * FUN_14003b570(undefined1 *param_1) + +{ + undefined4 uVar1; + + param_1[0x30] = 1; + param_1[0x40] = 1; + *param_1 = 0; + *(undefined4 *)(param_1 + 0x28) = 3; + *(undefined4 *)(param_1 + 0x2c) = 1; + *(undefined8 *)(param_1 + 4) = 0; + *(undefined8 *)(param_1 + 0x10) = DAT_140155138; + uVar1 = DAT_140155148; + *(undefined8 *)(param_1 + 0x20) = 0; + *(undefined4 *)(param_1 + 0x18) = uVar1; + *(undefined8 *)(param_1 + 0x38) = 0; + param_1[0x41] = 1; + *(undefined8 *)(param_1 + 0x48) = 0; + param_1[0x50] = 0; + *(undefined8 *)(param_1 + 0x54) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b5c0.c b/decomp/Agent_Release_x64/full/functions/0x14003b5c0.c new file mode 100644 index 00000000..2885a556 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b5c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b5c0 FUN_14003b5c0 + * Pseudocode, not original source. */ + +void FUN_14003b5c0(undefined8 *param_1) + +{ + *param_1 = Proud::INetCoreEvent::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b5d0.c b/decomp/Agent_Release_x64/full/functions/0x14003b5d0.c new file mode 100644 index 00000000..5e830cba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b5d0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b5d0 FUN_14003b5d0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_14003b5d0(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + + uVar1 = param_2; + FUN_14003b870(param_1); + if ((param_2 & 1) != 0) { + FUN_14003b850(param_1,uVar1,param_3,param_4); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b600.c b/decomp/Agent_Release_x64/full/functions/0x14003b600.c new file mode 100644 index 00000000..aba5c79e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b600.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b600 FUN_14003b600 + * Pseudocode, not original source. */ + +undefined8 * +FUN_14003b600(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140030200(param_1,param_2,param_3,param_4); + *param_1 = PTR_DAT_140155010; + *(undefined4 *)((longlong)param_1 + 0xc) = 0; + *(undefined4 *)(param_1 + 2) = 0; + *(undefined4 *)((longlong)param_1 + 0x14) = 0; + *(undefined4 *)(param_1 + 3) = 0; + param_1[5] = 0; + param_1[4] = Proud::ByteArray::vftable; + param_1[6] = 0; + param_1[7] = 0; + param_1[8] = 0; + param_1[9] = 0; + *(undefined2 *)(param_1 + 1) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b670.c b/decomp/Agent_Release_x64/full/functions/0x14003b670.c new file mode 100644 index 00000000..225a57a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b670.c @@ -0,0 +1,47 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b670 FUN_14003b670 + * Pseudocode, not original source. */ + +undefined8 * +FUN_14003b670(undefined8 *param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + undefined8 *puVar1; + + puVar1 = param_1; + FUN_140030200(param_1,param_2,param_3,param_4); + *param_1 = PTR_DAT_140155010; + FUN_140030200(puVar1,param_2,param_3,param_4); + param_1[1] = PTR_DAT_140155010; + param_1[3] = Proud::CFastArray::vftable; + param_1[4] = 0; + param_1[5] = 0; + param_1[6] = 0; + param_1[7] = 0; + *(undefined4 *)((longlong)param_1 + 0x44) = 0; + *(undefined4 *)(param_1 + 9) = 0; + *(undefined4 *)((longlong)param_1 + 0x4c) = 0; + *(undefined4 *)(param_1 + 10) = 0; + param_1[0x11] = Proud::CFastArray::vftable; + param_1[0x12] = 0; + param_1[0x13] = 0; + param_1[0x14] = 0; + param_1[0x15] = 0; + *(undefined8 *)((longlong)param_1 + 0x5c) = 0x80; + *(undefined4 *)(param_1 + 2) = 0; + *(undefined4 *)(param_1 + 8) = 0; + *(undefined8 *)((longlong)param_1 + 0x54) = 0; + *(undefined2 *)((longlong)param_1 + 0x65) = 0x100; + *(undefined1 *)((longlong)param_1 + 100) = 0; + *(undefined1 *)((longlong)param_1 + 0x67) = DAT_140155145; + *(undefined1 *)(param_1 + 0xd) = 0; + *(undefined4 *)((longlong)param_1 + 0x6c) = 0; + param_1[0xe] = 0; + *(undefined1 *)(param_1 + 0xf) = 1; + *(undefined8 *)((longlong)param_1 + 0x7c) = 0; + *(undefined2 *)((longlong)param_1 + 0x84) = 0; + param_1[0x16] = 0; + FUN_14002d430((longlong)(param_1 + 0x11),0,0,param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b760.c b/decomp/Agent_Release_x64/full/functions/0x14003b760.c new file mode 100644 index 00000000..e978b6b7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b760.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b760 FUN_14003b760 + * Pseudocode, not original source. */ + +void FUN_14003b760(void) + +{ + HANDLE hProcess; + + MessageBoxW((HWND)0x0,L"Library and header files version mismatch!",L"ProudNet",0x10); + hProcess = GetCurrentProcess(); + /* WARNING: Could not recover jumptable at 0x00014003b792. Too many branches */ + /* WARNING: Treating indirect jump as call */ + TerminateProcess(hProcess,1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b7a0.c b/decomp/Agent_Release_x64/full/functions/0x14003b7a0.c new file mode 100644 index 00000000..75bf482c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b7a0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b7a0 FUN_14003b7a0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_14003b7a0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + bool bVar1; + bool bVar2; + longlong *plVar3; + undefined8 local_20 [3]; + + bVar1 = false; + bVar2 = FUN_14002e780((int *)&DAT_14015dfa0); + if (bVar2) { + if (DAT_1401558c0 == '\0') { + bVar1 = false; + } + else { + bVar1 = true; + FUN_14002e6e0((int *)&DAT_14015dfa0); + } + } + if ((DAT_14015df98 & 1) == 0) { + DAT_14015df98 = DAT_14015df98 | 1; + plVar3 = FUN_140033200(local_20); + DAT_14015df90 = FUN_140033170(plVar3,param_2,param_3,param_4); + atexit(FUN_1400f1680); + } + DAT_1401558c0 = 0; + if (bVar1) { + FUN_14002e770(0x14015dfa0); + } + return &DAT_14015df90; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b850.c b/decomp/Agent_Release_x64/full/functions/0x14003b850.c new file mode 100644 index 00000000..062a7a73 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b850.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b850 FUN_14003b850 + * Pseudocode, not original source. */ + +void FUN_14003b850(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + + puVar1 = FUN_14003b7a0(param_1,param_2,param_3,param_4); + /* WARNING: Could not recover jumptable at 0x00014003b86c. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)*puVar1 + 0x10))((longlong *)*puVar1,param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b870.c b/decomp/Agent_Release_x64/full/functions/0x14003b870.c new file mode 100644 index 00000000..8615c7ed --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b870.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b870 FUN_14003b870 + * Pseudocode, not original source. */ + +void FUN_14003b870(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x00014003b897. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003b8b0.c b/decomp/Agent_Release_x64/full/functions/0x14003b8b0.c new file mode 100644 index 00000000..e3f83007 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003b8b0.c @@ -0,0 +1,99 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003b8b0 FUN_14003b8b0 + * Pseudocode, not original source. */ + +wchar_t * FUN_14003b8b0(undefined4 param_1) + +{ + switch(param_1) { + case 1: + return L"의도되지 않은 상황이 발생했습니다."; + case 2: + return L"이미 연결되어 있었습니다."; + case 3: + return L"TCP 연결이 실패했습니다."; + case 4: + return L"잘못된 세션 암호 키입니다."; + case 5: + return L"암호화가 실패했습니다."; + case 6: + return L"복호화 실패 혹은 해커에 의한 조작된 데이터입니다."; + case 7: + return L"서버와의 연결 시도가 타임 아웃하였습니다."; + case 8: + return L"서버와 프로토콜 버전이 맞지 않습니다."; + case 9: + return L"서버에서 연결을 거부했습니다."; + case 10: + return L"서버와의 연결이 성공했습니다."; + case 0xb: + return L"상대측 호스트가 연결을 끊었습니다."; + case 0xc: + return L"로컬 호스트에서 능동적으로 연결을 끊었습니다."; + case 0xd: + return L"위험한 호출 파라메터가 있습니다."; + case 0xe: + return L"알 수 없는 인터넷 주소입니다."; + case 0xf: + return L"서버가 준비되지 않았습니다."; + case 0x10: + return + L"서버 소켓의 listen을 시작할 수 없습니다. TCP 또는 UDP 소켓이 이미 사용중인 포트인지 확인하십시오." + ; + case 0x11: + return L"이미 개체가 존재합니다."; + case 0x12: + return L"접근이 거부되었습니다."; + case 0x13: + return L"잘못된 session Guid입니다."; + case 0x14: + return L"잘못된 credential입니다."; + case 0x15: + return L"잘못된 hero name입니다."; + case 0x16: + return L"로딩 과정이 unlock 후 lock 한 후 꼬임이 발생했습니다."; + case 0x17: + return L"출력 파라메터 AdjustedGamerIDNotFilled가 채워지지 않았습니다."; + case 0x18: + return L"플레이어 캐릭터가 존재하지 않습니다."; + case 0x19: + return L"UnitTestFailed"; + case 0x1a: + return L"peer-to-peer UDP 통신이 막혔습니다."; + case 0x1b: + return L"P2P reliable UDP가 실패했습니다."; + case 0x1c: + return L"클라이언트-서버 UDP 통신이 막혔습니다."; + case 0x1d: + return L"더 이상 같이 소속된 P2P 그룹이 없습니다."; + case 0x1e: + return L"사용자의 요청에 의한 실패입니다."; + case 0x1f: + return + L"잘못된 패킷 형식입니다. 상대측 호스트가 해킹되었거나 버그일 수 있습니다." + ; + case 0x20: + return + L"너무 큰 크기의 메시징이 시도되었습니다. 기술지원부에 문의하십시오." + ; + case 0x21: + return L"Unreliable 메세지는 암호화할 수 없습니다."; + case 0x22: + return L"존재하지 않는 값입니다."; + case 0x23: + return L"타임 아웃입니다."; + case 0x24: + return L"로드된 데이터를 찾을 수 없습니다."; + case 0x25: + return + L"송신 queue가 너무 많이 쌓여 있습니다. 송신량을 조절하는 것을 권장합니다." + ; + case 0x26: + return L"Heartbeat가 너무 늦게 호출되고 있습니다.기아화를 의심하세요."; + case 0x27: + return L"메시지 압축을 푸는데 실패 하였습니다."; + default: + return L""; + } +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003bab0.c b/decomp/Agent_Release_x64/full/functions/0x14003bab0.c new file mode 100644 index 00000000..47fb3655 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003bab0.c @@ -0,0 +1,93 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003bab0 FUN_14003bab0 + * Pseudocode, not original source. */ + +wchar_t * FUN_14003bab0(undefined4 param_1) + +{ + switch(param_1) { + case 1: + return L"Unexpected Error."; + case 2: + return L"Already connected."; + case 3: + return L"TCP connection failure."; + case 4: + return L"Invalid session key."; + case 5: + return L"Encryption failed."; + case 6: + return L"Decryption failed or hack suspected."; + case 7: + return L"Connect to server timed out."; + case 8: + return L"Mispatched protocol between hosts."; + case 9: + return L"Server denied connection attempt."; + case 10: + return L"Connecting to server successful."; + case 0xb: + return L"Remote host disconnected."; + case 0xc: + return L"Local host disconnected."; + case 0xd: + return L"Dangerous parameters are detected."; + case 0xe: + return L"Unknown Internet address."; + case 0xf: + return L"Server is not ready."; + case 0x10: + return + L"Server socket listen failure. Make sure that the TCP or UDP listening port is not already in use." + ; + case 0x11: + return L"Object already exists."; + case 0x12: + return L"Permission denied."; + case 0x13: + return L"Bad session Guid."; + case 0x14: + return L"Invalid credential."; + case 0x15: + return L"Invalid player character name."; + case 0x16: + return L"Corruption occurred while unlocked loading and locking."; + case 0x17: + return L"Output parameter AdjustedGamerIDNotFilled is not filled."; + case 0x18: + return L"No Player Character(Hero) Found."; + case 0x19: + return L"UnitTestFailed"; + case 0x1a: + return L"peer-to-peer UDP comm is blocked."; + case 0x1b: + return L"P2P reliable UDP failed."; + case 0x1c: + return L"Client-server UDP comm is blocked."; + case 0x1d: + return L"No common P2P group exists anymore."; + case 0x1e: + return L"By user request."; + case 0x1f: + return L"Invalid packet format. Remote host is hacked or has a bug."; + case 0x20: + return L"Too large message is detected. Contact technical supports."; + case 0x21: + return L"An unreliable message cannot be encrypted."; + case 0x22: + return L"Not exist value."; + case 0x23: + return L"Working is timeout."; + case 0x24: + return L"Can not found loaddata."; + case 0x25: + return L"SendQueue has Accumulated too much."; + case 0x26: + return L"Heartbeat Call in too slow.Suspected starvation"; + case 0x27: + return L"Message uncompress fail."; + default: + return L""; + } +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003bcb0.c b/decomp/Agent_Release_x64/full/functions/0x14003bcb0.c new file mode 100644 index 00000000..6f360ba8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003bcb0.c @@ -0,0 +1,93 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003bcb0 FUN_14003bcb0 + * Pseudocode, not original source. */ + +wchar_t * FUN_14003bcb0(undefined4 param_1) + +{ + switch(param_1) { + case 1: + return L"发生了以外的情况."; + case 2: + return L"已连接."; + case 3: + return L"TCP/IP 连接失败."; + case 4: + return L"session key不正确."; + case 5: + return L"暗号化失败."; + case 6: + return L"符号化失败或被操作的数据."; + case 7: + return L"服务器连接超时."; + case 8: + return L"跟服务器的版本不同 需要上级."; + case 9: + return L"被据否了服务器连接."; + case 10: + return L"服务器连接成功."; + case 0xb: + return L"Remote host disconnected."; + case 0xc: + return L"Local host disconnected."; + case 0xd: + return L"Dangerous parameters are detected."; + case 0xe: + return L"在网上没有地址."; + case 0xf: + return L"服务器还没准备."; + case 0x10: + return + L"Server socket listen failure. Make sure that the TCP or UDP listening port is not already in use." + ; + case 0x11: + return L"个体已存在."; + case 0x12: + return L"访问被拒绝."; + case 0x13: + return L"session Guid不正确."; + case 0x14: + return L"credential不正确."; + case 0x15: + return L"hero name不正确."; + case 0x16: + return L"加载过程unlock后与lock后发生隔阂."; + case 0x17: + return L"Output parameter AdjustedGamerIDNotFilled is not filled."; + case 0x18: + return L"No Player Character(Hero) Found."; + case 0x19: + return L"UnitTestFailed"; + case 0x1a: + return L"peer-to-peer UDP comm is blocked."; + case 0x1b: + return L"P2P reliable UDP failed."; + case 0x1c: + return L"Client-server UDP comm is blocked."; + case 0x1d: + return L"No common P2P group exists anymore."; + case 0x1e: + return L"By user request."; + case 0x1f: + return L"Invalid packet format. Remote host is hacked or has a bug."; + case 0x20: + return L"Too large message is detected. Contact technical supports."; + case 0x21: + return L"An unreliable message cannot be encrypted."; + case 0x22: + return L"Not exist value."; + case 0x23: + return L"Working is timeout."; + case 0x24: + return L"Can not found loaddata."; + case 0x25: + return L"SendQueue has Accumulated too much."; + case 0x26: + return L"Heartbeat Call in too slow.Suspected starvation"; + case 0x27: + return L"Message uncompress fail."; + default: + return L""; + } +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003beb0.c b/decomp/Agent_Release_x64/full/functions/0x14003beb0.c new file mode 100644 index 00000000..e9a6b1c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003beb0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003beb0 FUN_14003beb0 + * Pseudocode, not original source. */ + +void FUN_14003beb0(undefined4 param_1) + +{ + int *piVar1; + + piVar1 = (int *)thunk_FUN_14002fbd0(); + if (*piVar1 == 0x52) { + FUN_14003b8b0(param_1); + return; + } + if (*piVar1 != 0x56) { + FUN_14003bab0(param_1); + return; + } + FUN_14003bcb0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003bef0.c b/decomp/Agent_Release_x64/full/functions/0x14003bef0.c new file mode 100644 index 00000000..e1a38825 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003bef0.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003bef0 FUN_14003bef0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_14003bef0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + + puVar1 = param_1; + FUN_140030200(param_1,param_2,param_3,param_4); + param_1[2] = PTR_DAT_140155010; + param_1[3] = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 4) = 0; + *(undefined2 *)((longlong)param_1 + 0x24) = 0; + param_1[6] = 0; + param_1[7] = 0; + param_1[8] = 0; + param_1[9] = 0; + param_1[5] = Proud::ByteArray::vftable; + FUN_140030200(puVar1,param_2,param_3,param_4); + param_1[0xb] = PTR_DAT_140155010; + *param_1 = 0; + param_1[1] = 0; + *(undefined4 *)(param_1 + 4) = DAT_1401553d0; + *(undefined2 *)((longlong)param_1 + 0x24) = DAT_1401553d4; + *(undefined4 *)(param_1 + 10) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003bf90.c b/decomp/Agent_Release_x64/full/functions/0x14003bf90.c new file mode 100644 index 00000000..b51a724a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003bf90.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003bf90 FUN_14003bf90 + * Pseudocode, not original source. */ + +longlong FUN_14003bf90(longlong param_1,longlong param_2,SIZE_T param_3) + +{ + int iVar1; + undefined8 *puVar2; + undefined8 *puVar3; + + iVar1 = *(int *)(param_2 + 0x18); + if (-1 < iVar1) { + FUN_14001bc70(param_1,iVar1,param_3); + puVar2 = (undefined8 *)0x0; + puVar3 = puVar2; + if (*(int *)(param_2 + 0x18) != 0) { + puVar3 = *(undefined8 **)(param_2 + 0x10); + } + if (*(int *)(param_1 + 0x18) != 0) { + puVar2 = *(undefined8 **)(param_1 + 0x10); + } + FUN_14001bd30(puVar2,puVar3,(longlong)iVar1); + return param_1; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003bff0.c b/decomp/Agent_Release_x64/full/functions/0x14003bff0.c new file mode 100644 index 00000000..41f3d49a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003bff0.c @@ -0,0 +1,58 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003bff0 FUN_14003bff0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014003c0e6) */ +/* WARNING: Removing unreachable block (ram,0x00014003c0f4) */ + +void FUN_14003bff0(ulonglong *param_1,ulonglong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + int *piVar2; + ulonglong *puVar3; + int *piVar4; + int *piVar5; + undefined4 *puVar6; + + piVar5 = (int *)*param_2; + piVar2 = (int *)*param_1; + if (piVar2 != piVar5) { + piVar4 = piVar2; + if (piVar5 < piVar2) { + piVar4 = piVar5; + piVar5 = piVar2; + } + puVar3 = param_2; + if (piVar4 != (int *)0x0) { + FUN_14002e6e0(piVar4); + } + if (piVar5 != (int *)0x0) { + FUN_14002e6e0(piVar5); + } + if (*param_2 != 0) { + plVar1 = (longlong *)(*param_2 + 0x40); + *plVar1 = *plVar1 + 1; + } + puVar6 = (undefined4 *)0x0; + if (*param_1 != 0) { + plVar1 = (longlong *)(*param_1 + 0x40); + *plVar1 = *plVar1 + -1; + if (*(longlong *)((undefined4 *)*param_1 + 0x10) == 0) { + puVar6 = (undefined4 *)*param_1; + } + } + *param_1 = *param_2; + if (piVar4 != (int *)0x0) { + FUN_14002e770((longlong)piVar4); + } + if (piVar5 != (int *)0x0) { + FUN_14002e770((longlong)piVar5); + } + if (puVar6 != (undefined4 *)0x0) { + FUN_14002b500(puVar6,puVar3,param_3,param_4); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c120.c b/decomp/Agent_Release_x64/full/functions/0x14003c120.c new file mode 100644 index 00000000..a5161570 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c120.c @@ -0,0 +1,63 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c120 FUN_14003c120 + * Pseudocode, not original source. */ + +longlong * +FUN_14003c120(longlong *param_1,undefined8 param_2,SIZE_T param_3,longlong *param_4,longlong param_5 + ) + +{ + int iVar1; + undefined8 *puVar2; + undefined8 *puVar3; + undefined8 uVar4; + undefined8 *puVar5; + SIZE_T SVar6; + longlong *plVar7; + + puVar5 = (undefined8 *)0x0; + uVar4 = param_2; + SVar6 = param_3; + plVar7 = param_4; + puVar2 = (undefined8 *)FUN_140030280(0x60); + puVar3 = puVar5; + if (puVar2 != (undefined8 *)0x0) { + puVar3 = FUN_14003bef0(puVar2,uVar4,SVar6,plVar7); + } + FUN_14002b5f0(param_1,(longlong)puVar3,SVar6,plVar7); + puVar3 = puVar5; + if (*param_1 != 0) { + puVar3 = *(undefined8 **)(*param_1 + 0x38); + } + *(int *)puVar3 = (int)param_2; + puVar3 = puVar5; + if (*param_1 != 0) { + puVar3 = *(undefined8 **)(*param_1 + 0x38); + } + *(int *)((longlong)puVar3 + 0xc) = (int)param_3; + puVar3 = puVar5; + if (*param_1 != 0) { + puVar3 = *(undefined8 **)(*param_1 + 0x38); + } + FUN_140003170(puVar3 + 2,param_4,SVar6,plVar7); + puVar3 = puVar5; + if (*param_1 != 0) { + puVar3 = *(undefined8 **)(*param_1 + 0x38); + } + iVar1 = *(int *)(param_5 + 0x18); + if (-1 < iVar1) { + FUN_14001bc70((longlong)(puVar3 + 5),iVar1,SVar6); + puVar2 = puVar5; + if (*(int *)(param_5 + 0x18) != 0) { + puVar2 = *(undefined8 **)(param_5 + 0x10); + } + if (*(int *)(puVar3 + 8) != 0) { + puVar5 = (undefined8 *)puVar3[7]; + } + FUN_14001bd30(puVar5,puVar2,(longlong)iVar1); + return param_1; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c240.c b/decomp/Agent_Release_x64/full/functions/0x14003c240.c new file mode 100644 index 00000000..5eb1d6fc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c240.c @@ -0,0 +1,237 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c240 FUN_14003c240 + * Pseudocode, not original source. */ + +longlong * FUN_14003c240(int *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *puVar1; + int iVar2; + undefined *puVar3; + int *piVar4; + wchar_t *pwVar5; + longlong *plVar6; + int *piVar7; + undefined **ppuVar8; + wchar_t *pwVar9; + short *psVar10; + ulonglong uVar11; + undefined *local_res18; + undefined *local_res20; + undefined *local_d8; + undefined *local_d0; + undefined *local_c8; + short *local_c0; + short *local_b8; + undefined *local_b0; + undefined8 local_a8; + int *local_a0; + undefined1 local_98; + longlong *local_90; + undefined1 local_88; + longlong *local_80; + undefined1 local_78; + longlong *local_70; + undefined1 local_68; + longlong *local_60; + undefined1 local_58; + int *local_50; + undefined1 local_48; + + local_a8 = 0xfffffffffffffffe; + FUN_140030200(param_1,param_2,param_3,param_4); + *param_2 = (longlong)PTR_DAT_140155010; + iVar2 = *param_1; + piVar4 = (int *)thunk_FUN_14002fbd0(); + if (*piVar4 == 0x52) { + pwVar5 = FUN_14003b8b0(iVar2); + } + else if (*piVar4 == 0x56) { + pwVar5 = FUN_14003bcb0(iVar2); + } + else { + pwVar5 = FUN_14003bab0(iVar2); + } + pwVar9 = L"Error=%s"; + plVar6 = param_2; + FUN_14001b7a0(param_2,L"Error=%s",pwVar5,param_4); + if ((*param_1 != param_1[1]) && (param_1[1] != 0)) { + FUN_140030200(plVar6,pwVar9,pwVar5,param_4); + local_res18 = PTR_DAT_140155010; + iVar2 = param_1[1]; + piVar4 = (int *)thunk_FUN_14002fbd0(); + if (*piVar4 == 0x52) { + pwVar5 = FUN_14003b8b0(iVar2); + } + else if (*piVar4 == 0x56) { + pwVar5 = FUN_14003bcb0(iVar2); + } + else { + pwVar5 = FUN_14003bab0(iVar2); + } + FUN_14001b7a0((longlong *)&local_res18,L", Detail=%s",pwVar5,param_4); + pwVar9 = (wchar_t *)&local_res18; + plVar6 = param_2; + FUN_14001b5a0(param_2,(longlong *)pwVar9); + puVar3 = local_res18; + if (((local_res18 != (undefined *)0x0) && (local_res18 != PTR_DAT_140155010)) && + (puVar1 = local_res18 + -8, puVar1 != (undefined *)0x0)) { + plVar6 = (longlong *)FUN_140030200(plVar6,pwVar9,pwVar5,param_4); + local_60 = plVar6; + FUN_14002e6e0((int *)plVar6); + local_58 = 1; + piVar4 = (int *)(puVar3 + -4); + *piVar4 = *piVar4 + -1; + if (*piVar4 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)plVar6); + } + } + if (param_1[2] != 0) { + FUN_140030200(plVar6,pwVar9,pwVar5,param_4); + local_res20 = PTR_DAT_140155010; + pwVar5 = (wchar_t *)(ulonglong)(uint)param_1[2]; + FUN_14001b7a0((longlong *)&local_res20,L", SocketError=%d",pwVar5,param_4); + pwVar9 = (wchar_t *)&local_res20; + plVar6 = param_2; + FUN_14001b5a0(param_2,(longlong *)pwVar9); + puVar3 = local_res20; + if (((local_res20 != (undefined *)0x0) && (local_res20 != PTR_DAT_140155010)) && + (puVar1 = local_res20 + -8, puVar1 != (undefined *)0x0)) { + plVar6 = (longlong *)FUN_140030200(plVar6,pwVar9,pwVar5,param_4); + local_80 = plVar6; + FUN_14002e6e0((int *)plVar6); + local_78 = 1; + piVar4 = (int *)(puVar3 + -4); + *piVar4 = *piVar4 + -1; + if (*piVar4 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)plVar6); + } + } + if (param_1[3] != 0) { + FUN_140030200(plVar6,pwVar9,pwVar5,param_4); + local_d0 = PTR_DAT_140155010; + pwVar5 = (wchar_t *)(ulonglong)(uint)param_1[3]; + FUN_14001b7a0((longlong *)&local_d0,L", HostID=%d",pwVar5,param_4); + ppuVar8 = &local_d0; + plVar6 = param_2; + FUN_14001b5a0(param_2,(longlong *)ppuVar8); + if ((param_1[8] != -1) && (param_1[8] != 0)) { + FUN_140030200(plVar6,ppuVar8,pwVar5,param_4); + local_c8 = PTR_DAT_140155010; + plVar6 = (longlong *)(*(code *)**(undefined8 **)(param_1 + 6))(param_1 + 6,&local_b0); + pwVar5 = (wchar_t *)*plVar6; + if ((wchar_t *)*plVar6 == (wchar_t *)0x0) { + pwVar5 = (wchar_t *)PTR_DAT_140155010; + } + pwVar9 = L", remoteAddr=%s"; + ppuVar8 = &local_c8; + FUN_14001b7a0((longlong *)ppuVar8,L", remoteAddr=%s",pwVar5,param_4); + if (((local_b0 != (undefined *)0x0) && (local_b0 != PTR_DAT_140155010)) && + (local_b0 + -8 != (undefined *)0x0)) { + piVar7 = (int *)FUN_140030200(ppuVar8,pwVar9,pwVar5,param_4); + local_a0 = piVar7; + FUN_14002e6e0(piVar7); + local_98 = 1; + piVar4 = (int *)(local_b0 + -4); + *piVar4 = *piVar4 + -1; + if (*piVar4 == 0) { + FUN_1400302f0(local_b0 + -8); + } + FUN_14002e770((longlong)piVar7); + } + ppuVar8 = &local_c8; + plVar6 = param_2; + FUN_14001b5a0(param_2,(longlong *)ppuVar8); + puVar3 = local_c8; + if (((local_c8 != (undefined *)0x0) && (local_c8 != PTR_DAT_140155010)) && + (puVar1 = local_c8 + -8, puVar1 != (undefined *)0x0)) { + plVar6 = (longlong *)FUN_140030200(plVar6,ppuVar8,pwVar5,param_4); + local_90 = plVar6; + FUN_14002e6e0((int *)plVar6); + local_88 = 1; + piVar4 = (int *)(puVar3 + -4); + *piVar4 = *piVar4 + -1; + if (*piVar4 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)plVar6); + } + } + puVar3 = local_d0; + if (((local_d0 != (undefined *)0x0) && (local_d0 != PTR_DAT_140155010)) && + (puVar1 = local_d0 + -8, puVar1 != (undefined *)0x0)) { + plVar6 = (longlong *)FUN_140030200(plVar6,ppuVar8,pwVar5,param_4); + local_70 = plVar6; + FUN_14002e6e0((int *)plVar6); + local_68 = 1; + piVar4 = (int *)(puVar3 + -4); + *piVar4 = *piVar4 + -1; + if (*piVar4 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)plVar6); + } + } + psVar10 = *(short **)(param_1 + 4); + if (((psVar10 != (short *)0x0) && (psVar10 != (short *)PTR_DAT_140155010)) && + (0 < *(int *)(psVar10 + -4))) { + FUN_14002ffd0((longlong *)&local_c0,psVar10); + FUN_14001b850(param_2,(short *)&DAT_14011eebc); + plVar6 = param_2; + FUN_14001b850(param_2,local_c0); + psVar10 = local_c0 + -0xc; + LOCK(); + piVar4 = (int *)(local_c0 + -4); + iVar2 = *piVar4; + *piVar4 = *piVar4 + -1; + UNLOCK(); + if (iVar2 + -1 < 1) { + plVar6 = *(longlong **)psVar10; + (**(code **)(*plVar6 + 8))(); + } + } + if (param_1[0x14] != 0) { + FUN_140030200(plVar6,psVar10,pwVar5,param_4); + local_d8 = PTR_DAT_140155010; + uVar11 = (ulonglong)(uint)param_1[0x14]; + FUN_14001b7a0((longlong *)&local_d8,L", HRESULT = %d",uVar11,param_4); + ppuVar8 = &local_d8; + plVar6 = param_2; + FUN_14001b5a0(param_2,(longlong *)ppuVar8); + puVar3 = local_d8; + if (((local_d8 != (undefined *)0x0) && (local_d8 != PTR_DAT_140155010)) && + (puVar1 = local_d8 + -8, puVar1 != (undefined *)0x0)) { + piVar7 = (int *)FUN_140030200(plVar6,ppuVar8,uVar11,param_4); + local_50 = piVar7; + FUN_14002e6e0(piVar7); + local_48 = 1; + piVar4 = (int *)(puVar3 + -4); + *piVar4 = *piVar4 + -1; + if (*piVar4 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)piVar7); + } + } + psVar10 = *(short **)(param_1 + 0x16); + if (((psVar10 != (short *)0x0) && (psVar10 != (short *)PTR_DAT_140155010)) && + (0 < *(int *)(psVar10 + -4))) { + FUN_14002ffd0((longlong *)&local_b8,psVar10); + FUN_14001b850(param_2,(short *)&DAT_14011eebc); + FUN_14001b850(param_2,local_b8); + LOCK(); + piVar4 = (int *)(local_b8 + -4); + iVar2 = *piVar4; + *piVar4 = *piVar4 + -1; + UNLOCK(); + if (iVar2 + -1 < 1) { + (**(code **)(**(longlong **)(local_b8 + -0xc) + 8))(); + } + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c6c0.c b/decomp/Agent_Release_x64/full/functions/0x14003c6c0.c new file mode 100644 index 00000000..94ffeb00 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c6c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c6c0 FUN_14003c6c0 + * Pseudocode, not original source. */ + +void FUN_14003c6c0(undefined8 *param_1) + +{ + *param_1 = Proud::IRmiHost::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c6d0.c b/decomp/Agent_Release_x64/full/functions/0x14003c6d0.c new file mode 100644 index 00000000..8a7a0ba2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c6d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c6d0 FUN_14003c6d0 + * Pseudocode, not original source. */ + +void FUN_14003c6d0(undefined8 *param_1) + +{ + *param_1 = Proud::ICompletionContext::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c6e0.c b/decomp/Agent_Release_x64/full/functions/0x14003c6e0.c new file mode 100644 index 00000000..1c10ce73 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c6e0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c6e0 FUN_14003c6e0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003c6e0(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::ICompletionContext::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c710.c b/decomp/Agent_Release_x64/full/functions/0x14003c710.c new file mode 100644 index 00000000..f05d229a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c710.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c710 FUN_14003c710 + * Pseudocode, not original source. */ + +void FUN_14003c710(undefined8 *param_1) + +{ + *param_1 = Proud::ICompletionPortEventSink::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c720.c b/decomp/Agent_Release_x64/full/functions/0x14003c720.c new file mode 100644 index 00000000..ef4e7062 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c720.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c720 FUN_14003c720 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003c720(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::ICompletionPortEventSink::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c750.c b/decomp/Agent_Release_x64/full/functions/0x14003c750.c new file mode 100644 index 00000000..29038d68 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c750.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c750 FUN_14003c750 + * Pseudocode, not original source. */ + +void FUN_14003c750(undefined8 *param_1) + +{ + *param_1 = Proud::ISendDest_S::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c760.c b/decomp/Agent_Release_x64/full/functions/0x14003c760.c new file mode 100644 index 00000000..22d3cb5d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c760.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c760 FUN_14003c760 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003c760(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::ISendDest_S::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c790.c b/decomp/Agent_Release_x64/full/functions/0x14003c790.c new file mode 100644 index 00000000..4859382a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c790.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c790 FUN_14003c790 + * Pseudocode, not original source. */ + +void FUN_14003c790(undefined8 *param_1) + +{ + *param_1 = Proud::IUserTaskQueueOwner::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c7a0.c b/decomp/Agent_Release_x64/full/functions/0x14003c7a0.c new file mode 100644 index 00000000..3634feaf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c7a0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c7a0 FUN_14003c7a0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003c7a0(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::IUserTaskQueueOwner::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c7d0.c b/decomp/Agent_Release_x64/full/functions/0x14003c7d0.c new file mode 100644 index 00000000..c696346c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c7d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c7d0 FUN_14003c7d0 + * Pseudocode, not original source. */ + +void FUN_14003c7d0(undefined8 *param_1) + +{ + *param_1 = Proud::IVizAgentDg::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c7e0.c b/decomp/Agent_Release_x64/full/functions/0x14003c7e0.c new file mode 100644 index 00000000..27309765 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c7e0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c7e0 FUN_14003c7e0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003c7e0(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::IVizAgentDg::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c810.c b/decomp/Agent_Release_x64/full/functions/0x14003c810.c new file mode 100644 index 00000000..a43e05ed --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c810.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c810 FUN_14003c810 + * Pseudocode, not original source. */ + +longlong FUN_14003c810(longlong param_1) + +{ + return param_1 + 0x128; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c830.c b/decomp/Agent_Release_x64/full/functions/0x14003c830.c new file mode 100644 index 00000000..b35cd77b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c830.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c830 FUN_14003c830 + * Pseudocode, not original source. */ + +undefined8 FUN_14003c830(longlong param_1) + +{ + return *(undefined8 *)(param_1 + 0x758); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c840.c b/decomp/Agent_Release_x64/full/functions/0x14003c840.c new file mode 100644 index 00000000..509ec1a6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c840.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c840 FUN_14003c840 + * Pseudocode, not original source. */ + +void FUN_14003c840(longlong param_1) + +{ + FUN_14003b870((undefined8 *)(param_1 + 0x3d0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c850.c b/decomp/Agent_Release_x64/full/functions/0x14003c850.c new file mode 100644 index 00000000..2df11479 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c850.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c850 FUN_14003c850 + * Pseudocode, not original source. */ + +undefined8 FUN_14003c850(void) + +{ + return 64000; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c860.c b/decomp/Agent_Release_x64/full/functions/0x14003c860.c new file mode 100644 index 00000000..29456b87 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c860.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c860 FUN_14003c860 + * Pseudocode, not original source. */ + +undefined8 FUN_14003c860(void) + +{ + return 0xfa14; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c870.c b/decomp/Agent_Release_x64/full/functions/0x14003c870.c new file mode 100644 index 00000000..56138dea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c870.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c870 FUN_14003c870 + * Pseudocode, not original source. */ + +undefined1 FUN_14003c870(longlong param_1) + +{ + return *(undefined1 *)(param_1 + 0x380); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c880.c b/decomp/Agent_Release_x64/full/functions/0x14003c880.c new file mode 100644 index 00000000..24dd51c8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c880.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c880 FUN_14003c880 + * Pseudocode, not original source. */ + +void FUN_14003c880(longlong param_1,undefined1 param_2) + +{ + *(undefined1 *)(param_1 + 0x380) = param_2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c890.c b/decomp/Agent_Release_x64/full/functions/0x14003c890.c new file mode 100644 index 00000000..59473216 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c890.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c890 FUN_14003c890 + * Pseudocode, not original source. */ + +void FUN_14003c890(longlong param_1) + +{ + FUN_14003a420((char *)(param_1 + 0x6b8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c8a0.c b/decomp/Agent_Release_x64/full/functions/0x14003c8a0.c new file mode 100644 index 00000000..2ccfc93a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c8a0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c8a0 FUN_14003c8a0 + * Pseudocode, not original source. */ + +void FUN_14003c8a0(longlong param_1,int param_2,undefined8 param_3,undefined8 param_4) + +{ + exception local_58 [88]; + + if (param_2 == 3) { + FUN_14002f1e0(local_58,L"Not supported value yet!",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *(int *)(param_1 + 0x180) = param_2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c8e0.c b/decomp/Agent_Release_x64/full/functions/0x14003c8e0.c new file mode 100644 index 00000000..bc2cb895 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c8e0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c8e0 FUN_14003c8e0 + * Pseudocode, not original source. */ + +void FUN_14003c8e0(longlong param_1,double param_2) + +{ + if ((0.0 < param_2) && (param_2 < 1.0)) { + *(double *)(param_1 + 0x1750) = param_2; + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c910.c b/decomp/Agent_Release_x64/full/functions/0x14003c910.c new file mode 100644 index 00000000..215a27fd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c910.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c910 FUN_14003c910 + * Pseudocode, not original source. */ + +void FUN_14003c910(longlong *param_1,int param_2) + +{ + /* WARNING: Could not recover jumptable at 0x00014003c923. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*param_1 + 0x178))(param_1,(double)param_2 / 1000.0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c930.c b/decomp/Agent_Release_x64/full/functions/0x14003c930.c new file mode 100644 index 00000000..efa4961c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c930.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c930 FUN_14003c930 + * Pseudocode, not original source. */ + +undefined4 FUN_14003c930(longlong param_1) + +{ + return *(undefined4 *)(param_1 + 0x178); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c940.c b/decomp/Agent_Release_x64/full/functions/0x14003c940.c new file mode 100644 index 00000000..de0e81a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c940.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c940 FUN_14003c940 + * Pseudocode, not original source. */ + +void FUN_14003c940(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + char cVar1; + exception local_58 [80]; + + cVar1 = (**(code **)(*(longlong *)(param_1 + -0xa8) + 0x90))(); + if (cVar1 != '\0') { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_Already_async_callback_may_occur_1401567a8,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *(undefined8 *)(param_1 + 0x6b0) = param_2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c9a0.c b/decomp/Agent_Release_x64/full/functions/0x14003c9a0.c new file mode 100644 index 00000000..ff7da9f3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c9a0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c9a0 FUN_14003c9a0 + * Pseudocode, not original source. */ + +undefined4 FUN_14003c9a0(longlong param_1) + +{ + return *(undefined4 *)(param_1 + 0x22c); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c9b0.c b/decomp/Agent_Release_x64/full/functions/0x14003c9b0.c new file mode 100644 index 00000000..5d2b7556 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c9b0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c9b0 FUN_14003c9b0 + * Pseudocode, not original source. */ + +void FUN_14003c9b0(longlong param_1,int param_2) + +{ + int iVar1; + int iVar2; + + iVar1 = DAT_140155190; + if (param_2 < DAT_140155190) { + iVar1 = param_2; + } + iVar2 = 0; + if (0 < iVar1) { + iVar2 = iVar1; + } + *(int *)(param_1 + 0x194) = iVar2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c9d0.c b/decomp/Agent_Release_x64/full/functions/0x14003c9d0.c new file mode 100644 index 00000000..55f8bf40 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c9d0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c9d0 FUN_14003c9d0 + * Pseudocode, not original source. */ + +undefined1 FUN_14003c9d0(longlong param_1) + +{ + return *(undefined1 *)(param_1 + 0x198); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003c9e0.c b/decomp/Agent_Release_x64/full/functions/0x14003c9e0.c new file mode 100644 index 00000000..ad0ccabe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003c9e0.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003c9e0 FUN_14003c9e0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14003c9e0(undefined8 param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + undefined1 auStack_c8 [32]; + undefined8 local_a8; + undefined8 local_98 [15]; + undefined8 local_20; + ulonglong local_18; + + local_a8 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_c8; + FUN_1400852e0(local_98); + local_20 = param_1; + FUN_140093300(); + FUN_140085320(local_98,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003ca50.c b/decomp/Agent_Release_x64/full/functions/0x14003ca50.c new file mode 100644 index 00000000..125f3e20 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003ca50.c @@ -0,0 +1,51 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003ca50 FUN_14003ca50 + * Pseudocode, not original source. */ + +void FUN_14003ca50(longlong param_1,int param_2,longlong param_3,longlong param_4) + +{ + int *piVar1; + ulonglong uVar2; + longlong lVar3; + ulonglong uVar4; + ulonglong uVar5; + int *piVar6; + ulonglong uVar7; + + uVar2 = 0; + piVar6 = (int *)(param_1 + 0x10); + piVar1 = piVar6; + uVar5 = uVar2; + uVar7 = uVar2; + do { + if (*piVar1 == param_2) { + lVar3 = (longlong)(int)uVar5; + *(undefined4 *)(param_1 + 0x30 + lVar3 * 0x30) = *(undefined4 *)(param_3 + 8); + *(undefined2 *)(param_1 + 0x34 + lVar3 * 0x30) = *(undefined2 *)(param_3 + 0xc); + *(undefined4 *)(param_1 + 0x20 + lVar3 * 0x30) = *(undefined4 *)(param_4 + 8); + *(undefined2 *)(param_1 + 0x24 + lVar3 * 0x30) = *(undefined2 *)(param_4 + 0xc); + return; + } + uVar7 = uVar7 + 1; + uVar5 = (ulonglong)((int)uVar5 + 1); + piVar1 = piVar1 + 0xc; + uVar4 = uVar2; + } while ((longlong)uVar7 < 2); + do { + if (*piVar6 == 0) { + lVar3 = (longlong)(int)uVar4; + *(undefined4 *)(param_1 + 0x30 + lVar3 * 0x30) = *(undefined4 *)(param_3 + 8); + *(undefined2 *)(param_1 + 0x34 + lVar3 * 0x30) = *(undefined2 *)(param_3 + 0xc); + *(undefined4 *)(param_1 + 0x20 + lVar3 * 0x30) = *(undefined4 *)(param_4 + 8); + *(undefined2 *)(param_1 + 0x24 + lVar3 * 0x30) = *(undefined2 *)(param_4 + 0xc); + *(int *)(param_1 + 0x10 + lVar3 * 0x30) = param_2; + return; + } + uVar2 = uVar2 + 1; + piVar6 = piVar6 + 0xc; + uVar4 = (ulonglong)((int)uVar4 + 1); + } while ((longlong)uVar2 < 2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003cb30.c b/decomp/Agent_Release_x64/full/functions/0x14003cb30.c new file mode 100644 index 00000000..826806b0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003cb30.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003cb30 FUN_14003cb30 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003cb30(longlong param_1,undefined8 *param_2,int param_3) + +{ + int *piVar1; + ulonglong uVar2; + int iVar3; + ulonglong uVar4; + + uVar2 = 0; + piVar1 = (int *)(param_1 + 0x10); + uVar4 = uVar2; + do { + iVar3 = (int)uVar4; + if (*piVar1 == param_3) { + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = *(undefined4 *)(param_1 + 0x30 + (longlong)iVar3 * 0x30); + *(undefined2 *)((longlong)param_2 + 0xc) = + *(undefined2 *)(param_1 + 0x34 + (longlong)iVar3 * 0x30); + return param_2; + } + uVar2 = uVar2 + 1; + uVar4 = (ulonglong)(iVar3 + 1); + piVar1 = piVar1 + 0xc; + } while ((longlong)uVar2 < 2); + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = DAT_1401553d0; + *(undefined2 *)((longlong)param_2 + 0xc) = DAT_1401553d4; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003cbb0.c b/decomp/Agent_Release_x64/full/functions/0x14003cbb0.c new file mode 100644 index 00000000..94c28de8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003cbb0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003cbb0 FUN_14003cbb0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003cbb0(longlong param_1,undefined8 *param_2,int param_3) + +{ + int *piVar1; + ulonglong uVar2; + int iVar3; + ulonglong uVar4; + + uVar2 = 0; + piVar1 = (int *)(param_1 + 0x70); + uVar4 = uVar2; + do { + iVar3 = (int)uVar4; + if (*piVar1 == param_3) { + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = *(undefined4 *)(param_1 + 0x80 + (longlong)iVar3 * 0x48); + *(undefined2 *)((longlong)param_2 + 0xc) = + *(undefined2 *)(param_1 + 0x84 + (longlong)iVar3 * 0x48); + return param_2; + } + uVar2 = uVar2 + 1; + uVar4 = (ulonglong)(iVar3 + 1); + piVar1 = piVar1 + 0x12; + } while ((longlong)uVar2 < 2); + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = DAT_1401553d0; + *(undefined2 *)((longlong)param_2 + 0xc) = DAT_1401553d4; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003cc30.c b/decomp/Agent_Release_x64/full/functions/0x14003cc30.c new file mode 100644 index 00000000..06ca07fc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003cc30.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003cc30 FUN_14003cc30 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003cc30(longlong param_1,undefined8 *param_2,int param_3) + +{ + int *piVar1; + ulonglong uVar2; + int iVar3; + ulonglong uVar4; + + uVar2 = 0; + piVar1 = (int *)(param_1 + 0x10); + uVar4 = uVar2; + do { + iVar3 = (int)uVar4; + if (*piVar1 == param_3) { + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = *(undefined4 *)(param_1 + 0x20 + (longlong)iVar3 * 0x30); + *(undefined2 *)((longlong)param_2 + 0xc) = + *(undefined2 *)(param_1 + 0x24 + (longlong)iVar3 * 0x30); + return param_2; + } + uVar2 = uVar2 + 1; + uVar4 = (ulonglong)(iVar3 + 1); + piVar1 = piVar1 + 0xc; + } while ((longlong)uVar2 < 2); + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = DAT_1401553d0; + *(undefined2 *)((longlong)param_2 + 0xc) = DAT_1401553d4; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003ccb0.c b/decomp/Agent_Release_x64/full/functions/0x14003ccb0.c new file mode 100644 index 00000000..27849774 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003ccb0.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003ccb0 FUN_14003ccb0 + * Pseudocode, not original source. */ + +int FUN_14003ccb0(longlong param_1) + +{ + int iVar1; + short *psVar2; + longlong lVar3; + + iVar1 = 0; + lVar3 = 2; + psVar2 = (short *)(param_1 + 0x24); + do { + if ((*(int *)(psVar2 + -2) != DAT_1401553d0) || (*psVar2 != DAT_1401553d4)) { + iVar1 = iVar1 + 1; + } + psVar2 = psVar2 + 0x18; + lVar3 = lVar3 + -1; + } while (lVar3 != 0); + return iVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003ccf0.c b/decomp/Agent_Release_x64/full/functions/0x14003ccf0.c new file mode 100644 index 00000000..f8a935dd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003ccf0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003ccf0 FUN_14003ccf0 + * Pseudocode, not original source. */ + +void FUN_14003ccf0(longlong param_1) + +{ + FUN_14003b870((undefined8 *)(param_1 + 0x148)); + FUN_14003b870((undefined8 *)(param_1 + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003cd30.c b/decomp/Agent_Release_x64/full/functions/0x14003cd30.c new file mode 100644 index 00000000..9348f286 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003cd30.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003cd30 FUN_14003cd30 + * Pseudocode, not original source. */ + +undefined1 FUN_14003cd30(longlong param_1) + +{ + return *(undefined1 *)(param_1 + 8); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003cd40.c b/decomp/Agent_Release_x64/full/functions/0x14003cd40.c new file mode 100644 index 00000000..2ea2dfc1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003cd40.c @@ -0,0 +1,129 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003cd40 FUN_14003cd40 + * Pseudocode, not original source. */ + +void FUN_14003cd40(longlong param_1,int param_2,longlong param_3,longlong param_4) + +{ + undefined4 uVar1; + ulonglong uVar2; + longlong lVar3; + int *piVar4; + ulonglong uVar5; + undefined2 uVar6; + ulonglong uVar7; + ulonglong uVar8; + longlong lVar9; + ulonglong uVar10; + int *piVar11; + + uVar5 = 0; + piVar11 = (int *)(param_1 + 0x70); + piVar4 = piVar11; + uVar7 = uVar5; + uVar10 = uVar5; + do { + if (*piVar4 == param_2) { + piVar11 = (int *)(param_1 + 0x10); + piVar4 = piVar11; + uVar7 = uVar5; + uVar2 = uVar5; + goto LAB_14003ceb0; + } + uVar7 = uVar7 + 1; + uVar10 = (ulonglong)((int)uVar10 + 1); + piVar4 = piVar4 + 0x12; + uVar2 = uVar5; + uVar8 = uVar5; + } while ((longlong)uVar7 < 2); + while (*piVar11 != 0) { + uVar2 = uVar2 + 1; + piVar11 = piVar11 + 0x12; + uVar8 = (ulonglong)((int)uVar8 + 1); + if (1 < (longlong)uVar2) { + return; + } + } + lVar3 = (longlong)(int)uVar8; + piVar11 = (int *)(param_1 + 0x10); + *(int *)(param_1 + 0x70 + lVar3 * 0x48) = param_2; + piVar4 = piVar11; + uVar7 = uVar5; + uVar10 = uVar5; + do { + if (*piVar4 == param_2) { + lVar9 = (longlong)(int)uVar10 * 0x30; + uVar1 = *(undefined4 *)(lVar9 + 0x30 + param_1); + uVar6 = *(undefined2 *)(lVar9 + 0x34 + param_1); + break; + } + uVar7 = uVar7 + 1; + uVar10 = (ulonglong)((int)uVar10 + 1); + piVar4 = piVar4 + 0xc; + uVar1 = DAT_1401553d0; + uVar6 = DAT_1401553d4; + } while ((longlong)uVar7 < 2); + *(undefined4 *)(param_1 + 0x80 + lVar3 * 0x48) = uVar1; + *(undefined2 *)(param_1 + 0x84 + lVar3 * 0x48) = uVar6; + uVar7 = uVar5; + do { + if (*piVar11 == param_2) { + lVar9 = (longlong)(int)uVar7 * 0x30; + uVar1 = *(undefined4 *)(lVar9 + 0x20 + param_1); + uVar6 = *(undefined2 *)(lVar9 + 0x24 + param_1); + break; + } + uVar5 = uVar5 + 1; + uVar7 = (ulonglong)((int)uVar7 + 1); + piVar11 = piVar11 + 0xc; + uVar1 = DAT_1401553d0; + uVar6 = DAT_1401553d4; + } while ((longlong)uVar5 < 2); + *(undefined4 *)(param_1 + 0x90 + lVar3 * 0x48) = uVar1; + *(undefined2 *)(param_1 + 0x94 + lVar3 * 0x48) = uVar6; + *(undefined4 *)(param_1 + 0xa0 + lVar3 * 0x48) = *(undefined4 *)(param_3 + 8); + *(undefined2 *)(param_1 + 0xa4 + lVar3 * 0x48) = *(undefined2 *)(param_3 + 0xc); + *(undefined4 *)(param_1 + 0xb0 + lVar3 * 0x48) = *(undefined4 *)(param_4 + 8); + *(undefined2 *)(param_1 + 0xb4 + lVar3 * 0x48) = *(undefined2 *)(param_4 + 0xc); + return; + while( true ) { + uVar7 = uVar7 + 1; + uVar2 = (ulonglong)((int)uVar2 + 1); + piVar4 = piVar4 + 0xc; + uVar1 = DAT_1401553d0; + uVar6 = DAT_1401553d4; + if (1 < (longlong)uVar7) break; +LAB_14003ceb0: + if (*piVar4 == param_2) { + lVar3 = (longlong)(int)uVar2 * 0x30; + uVar1 = *(undefined4 *)(lVar3 + 0x30 + param_1); + uVar6 = *(undefined2 *)(lVar3 + 0x34 + param_1); + break; + } + } + lVar3 = (longlong)(int)uVar10; + *(undefined4 *)(param_1 + 0x80 + lVar3 * 0x48) = uVar1; + *(undefined2 *)(param_1 + 0x84 + lVar3 * 0x48) = uVar6; + uVar7 = uVar5; + do { + if (*piVar11 == param_2) { + lVar9 = (longlong)(int)uVar7 * 0x30; + uVar1 = *(undefined4 *)(lVar9 + 0x20 + param_1); + uVar6 = *(undefined2 *)(lVar9 + 0x24 + param_1); + break; + } + uVar5 = uVar5 + 1; + uVar7 = (ulonglong)((int)uVar7 + 1); + piVar11 = piVar11 + 0xc; + uVar1 = DAT_1401553d0; + uVar6 = DAT_1401553d4; + } while ((longlong)uVar5 < 2); + *(undefined4 *)(param_1 + 0x90 + lVar3 * 0x48) = uVar1; + *(undefined2 *)(param_1 + 0x94 + lVar3 * 0x48) = uVar6; + *(undefined4 *)(param_1 + 0xa0 + lVar3 * 0x48) = *(undefined4 *)(param_3 + 8); + *(undefined2 *)(param_1 + 0xa4 + lVar3 * 0x48) = *(undefined2 *)(param_3 + 0xc); + *(undefined4 *)(param_1 + 0xb0 + lVar3 * 0x48) = *(undefined4 *)(param_4 + 8); + *(undefined2 *)(param_1 + 0xb4 + lVar3 * 0x48) = *(undefined2 *)(param_4 + 0xc); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003cfa0.c b/decomp/Agent_Release_x64/full/functions/0x14003cfa0.c new file mode 100644 index 00000000..fbf3e313 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003cfa0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003cfa0 FUN_14003cfa0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003cfa0(longlong param_1,undefined8 *param_2,int param_3) + +{ + int *piVar1; + ulonglong uVar2; + int iVar3; + ulonglong uVar4; + + uVar2 = 0; + piVar1 = (int *)(param_1 + 0x70); + uVar4 = uVar2; + do { + iVar3 = (int)uVar4; + if (*piVar1 == param_3) { + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = *(undefined4 *)(param_1 + 0xa0 + (longlong)iVar3 * 0x48); + *(undefined2 *)((longlong)param_2 + 0xc) = + *(undefined2 *)(param_1 + 0xa4 + (longlong)iVar3 * 0x48); + return param_2; + } + uVar2 = uVar2 + 1; + uVar4 = (ulonglong)(iVar3 + 1); + piVar1 = piVar1 + 0x12; + } while ((longlong)uVar2 < 2); + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = DAT_1401553d0; + *(undefined2 *)((longlong)param_2 + 0xc) = DAT_1401553d4; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d020.c b/decomp/Agent_Release_x64/full/functions/0x14003d020.c new file mode 100644 index 00000000..e814fe1a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d020.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d020 FUN_14003d020 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003d020(longlong param_1,undefined8 *param_2,int param_3) + +{ + int *piVar1; + ulonglong uVar2; + int iVar3; + ulonglong uVar4; + + uVar2 = 0; + piVar1 = (int *)(param_1 + 0x70); + uVar4 = uVar2; + do { + iVar3 = (int)uVar4; + if (*piVar1 == param_3) { + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = *(undefined4 *)(param_1 + 0xb0 + (longlong)iVar3 * 0x48); + *(undefined2 *)((longlong)param_2 + 0xc) = + *(undefined2 *)(param_1 + 0xb4 + (longlong)iVar3 * 0x48); + return param_2; + } + uVar2 = uVar2 + 1; + uVar4 = (ulonglong)(iVar3 + 1); + piVar1 = piVar1 + 0x12; + } while ((longlong)uVar2 < 2); + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = DAT_1401553d0; + *(undefined2 *)((longlong)param_2 + 0xc) = DAT_1401553d4; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d0a0.c b/decomp/Agent_Release_x64/full/functions/0x14003d0a0.c new file mode 100644 index 00000000..09e832e8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d0a0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d0a0 FUN_14003d0a0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003d0a0(undefined8 *param_1) + +{ + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + param_1[3] = 0; + param_1[4] = 0; + param_1[6] = 0; + param_1[5] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d0d0.c b/decomp/Agent_Release_x64/full/functions/0x14003d0d0.c new file mode 100644 index 00000000..a648e7d6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d0d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d0d0 FUN_14003d0d0 + * Pseudocode, not original source. */ + +undefined1 * FUN_14003d0d0(undefined1 *param_1) + +{ + *param_1 = 1; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d0e0.c b/decomp/Agent_Release_x64/full/functions/0x14003d0e0.c new file mode 100644 index 00000000..0d53aa8a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d0e0.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d0e0 FUN_14003d0e0 + * Pseudocode, not original source. */ + +int FUN_14003d0e0(longlong param_1,int param_2) + +{ + uint uVar1; + int iVar2; + uint uVar3; + int iVar4; + + iVar4 = *(int *)(param_1 + 0x24); + if (iVar4 == 0) { + iVar2 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + iVar4 = 0x400; + if (iVar2 < 0x400) { + iVar4 = iVar2; + } + iVar2 = 4; + if (4 < iVar4) { + iVar2 = iVar4; + } + iVar4 = iVar2 + param_2; + if (iVar2 + param_2 < *(int *)(param_1 + 0x20)) { + iVar4 = *(int *)(param_1 + 0x20); + } + return iVar4; + } + if (iVar4 != 1) { + if (iVar4 != 2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 < *(int *)(param_1 + 0x20)) { + param_2 = *(int *)(param_1 + 0x20); + } + return param_2; + } + uVar1 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + uVar3 = 0x10; + if (0x10 < (int)uVar1) { + uVar3 = uVar1; + } + if (uVar3 < 2) { + uVar3 = 1; + } + iVar4 = uVar3 + param_2; + if ((int)(uVar3 + param_2) < *(int *)(param_1 + 0x20)) { + iVar4 = *(int *)(param_1 + 0x20); + } + return iVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d180.c b/decomp/Agent_Release_x64/full/functions/0x14003d180.c new file mode 100644 index 00000000..d89e175e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d180.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d180 FUN_14003d180 + * Pseudocode, not original source. */ + +void FUN_14003d180(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong lVar2; + exception local_58 [88]; + + if (*(longlong **)(param_2 + 0x120) != param_1) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + lVar1 = *(longlong *)(param_2 + 0x118); + lVar2 = *(longlong *)(param_2 + 0x110); + if (lVar1 != 0) { + *(longlong *)(lVar1 + 0x110) = lVar2; + } + if (lVar2 != 0) { + *(longlong *)(lVar2 + 0x118) = lVar1; + } + if (lVar1 == 0) { + if (param_1[1] != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + param_1[1] = lVar2; + } + if (lVar2 == 0) { + if (*param_1 != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = lVar1; + } + *(undefined8 *)(param_2 + 0x110) = 0; + *(undefined8 *)(param_2 + 0x118) = 0; + *(undefined8 *)(param_2 + 0x120) = 0; + *(int *)(param_1 + 2) = (int)param_1[2] + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d270.c b/decomp/Agent_Release_x64/full/functions/0x14003d270.c new file mode 100644 index 00000000..2d9d799c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d270.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d270 FUN_14003d270 + * Pseudocode, not original source. */ + +int FUN_14003d270(longlong param_1,int param_2) + +{ + uint uVar1; + int iVar2; + uint uVar3; + int iVar4; + + iVar4 = *(int *)(param_1 + 0x24); + if (iVar4 == 0) { + iVar2 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + iVar4 = 0x400; + if (iVar2 < 0x400) { + iVar4 = iVar2; + } + iVar2 = 4; + if (4 < iVar4) { + iVar2 = iVar4; + } + iVar4 = iVar2 + param_2; + if (iVar2 + param_2 < *(int *)(param_1 + 0x20)) { + iVar4 = *(int *)(param_1 + 0x20); + } + return iVar4; + } + if (iVar4 != 1) { + if (iVar4 != 2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 < *(int *)(param_1 + 0x20)) { + param_2 = *(int *)(param_1 + 0x20); + } + return param_2; + } + uVar1 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + uVar3 = 0x10; + if (0x10 < (int)uVar1) { + uVar3 = uVar1; + } + if (uVar3 < 3) { + uVar3 = 2; + } + iVar4 = uVar3 + param_2; + if ((int)(uVar3 + param_2) < *(int *)(param_1 + 0x20)) { + iVar4 = *(int *)(param_1 + 0x20); + } + return iVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d310.c b/decomp/Agent_Release_x64/full/functions/0x14003d310.c new file mode 100644 index 00000000..9a2aa704 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d310.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d310 FUN_14003d310 + * Pseudocode, not original source. */ + +void FUN_14003d310(undefined8 *param_1,longlong param_2,longlong param_3) + +{ + undefined8 *puVar1; + longlong lVar2; + + if (0 < param_3) { + lVar2 = param_2 - (longlong)param_1; + do { + puVar1 = param_1 + 4; + param_3 = param_3 + -1; + *param_1 = *(undefined8 *)(lVar2 + (longlong)param_1); + param_1[1] = *(undefined8 *)(lVar2 + -0x18 + (longlong)puVar1); + param_1[2] = *(undefined8 *)(lVar2 + -0x10 + (longlong)puVar1); + param_1[3] = *(undefined8 *)(lVar2 + -8 + (longlong)puVar1); + param_1 = puVar1; + } while (param_3 != 0); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d350.c b/decomp/Agent_Release_x64/full/functions/0x14003d350.c new file mode 100644 index 00000000..a4ebed5d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d350.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d350 FUN_14003d350 + * Pseudocode, not original source. */ + +void FUN_14003d350(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong lVar2; + exception local_58 [88]; + + if (*(longlong **)(param_2 + 0xa0) != param_1) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + lVar1 = *(longlong *)(param_2 + 0x98); + lVar2 = *(longlong *)(param_2 + 0x90); + if (lVar1 != 0) { + *(longlong *)(lVar1 + 0x90) = lVar2; + } + if (lVar2 != 0) { + *(longlong *)(lVar2 + 0x98) = lVar1; + } + if (lVar1 == 0) { + if (param_1[1] != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + param_1[1] = lVar2; + } + if (lVar2 == 0) { + if (*param_1 != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = lVar1; + } + *(undefined8 *)(param_2 + 0x90) = 0; + *(undefined8 *)(param_2 + 0x98) = 0; + *(undefined8 *)(param_2 + 0xa0) = 0; + *(int *)(param_1 + 2) = (int)param_1[2] + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d440.c b/decomp/Agent_Release_x64/full/functions/0x14003d440.c new file mode 100644 index 00000000..488fff8b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d440.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d440 FUN_14003d440 + * Pseudocode, not original source. */ + +int FUN_14003d440(longlong param_1,int param_2) + +{ + uint uVar1; + int iVar2; + uint uVar3; + int iVar4; + + iVar4 = *(int *)(param_1 + 0x24); + if (iVar4 == 0) { + iVar2 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + iVar4 = 0x400; + if (iVar2 < 0x400) { + iVar4 = iVar2; + } + iVar2 = 4; + if (4 < iVar4) { + iVar2 = iVar4; + } + iVar4 = iVar2 + param_2; + if (iVar2 + param_2 < *(int *)(param_1 + 0x20)) { + iVar4 = *(int *)(param_1 + 0x20); + } + return iVar4; + } + if (iVar4 != 1) { + if (iVar4 != 2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 < *(int *)(param_1 + 0x20)) { + param_2 = *(int *)(param_1 + 0x20); + } + return param_2; + } + uVar1 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + uVar3 = 0x10; + if (0x10 < (int)uVar1) { + uVar3 = uVar1; + } + if (uVar3 < 0x11) { + uVar3 = 0x10; + } + iVar4 = uVar3 + param_2; + if ((int)(uVar3 + param_2) < *(int *)(param_1 + 0x20)) { + iVar4 = *(int *)(param_1 + 0x20); + } + return iVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d4e0.c b/decomp/Agent_Release_x64/full/functions/0x14003d4e0.c new file mode 100644 index 00000000..397f8eb8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d4e0.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d4e0 FUN_14003d4e0 + * Pseudocode, not original source. */ + +uint FUN_14003d4e0(longlong param_1,longlong param_2) + +{ + uint uVar1; + longlong lVar2; + uint *puVar3; + int iVar4; + uint uVar5; + float fVar6; + + fVar6 = (float)param_2; + if (param_2 < 0) { + fVar6 = fVar6 + 1.8446744e+19; + } + fVar6 = fVar6 / *(float *)(param_1 + 0x2c); + lVar2 = 0; + if ((9.223372e+18 < fVar6) && (fVar6 = fVar6 - 9.223372e+18, fVar6 < 9.223372e+18)) { + lVar2 = -0x8000000000000000; + } + uVar5 = (uint)((longlong)fVar6 + lVar2); + if (0xffffffff < (ulonglong)((longlong)fVar6 + lVar2)) { + uVar5 = 0xffffffff; + } + iVar4 = 0; + if (0x11 < uVar5) { + puVar3 = &DAT_1400f7970; + do { + puVar3 = puVar3 + 1; + iVar4 = iVar4 + 1; + } while (*puVar3 < uVar5); + } + uVar1 = (&DAT_1400f7970)[iVar4]; + if ((&DAT_1400f7970)[iVar4] == 0xffffffff) { + uVar1 = uVar5; + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d560.c b/decomp/Agent_Release_x64/full/functions/0x14003d560.c new file mode 100644 index 00000000..3374e313 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d560.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d560 FUN_14003d560 + * Pseudocode, not original source. */ + +void FUN_14003d560(char *param_1) + +{ + longlong lVar1; + longlong lVar2; + longlong lVar3; + ulonglong uVar4; + exception local_58 [88]; + + if (*param_1 != '\0') { + uVar4 = 0; + if ((*(longlong *)(param_1 + 0x20) != 0) && (*(longlong *)(param_1 + 8) == 0)) { + FUN_14002f1e0(local_58,L"CFastMap consistency error #0!",param_1,0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + lVar1 = *(longlong *)(param_1 + 0x10); + lVar3 = lVar1; + while (lVar3 != 0) { + lVar2 = *(longlong *)(lVar3 + 0x10); + if ((lVar2 != 0) && (*(longlong *)(lVar2 + 0x18) != lVar3)) { + FUN_14002f1e0(local_58,L"CFastMap consistency error #1!",param_1,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if ((lVar3 == lVar1) && (*(longlong *)(lVar3 + 0x18) != 0)) { + FUN_14002f1e0(local_58,L"CFastMap consistency error #2!",param_1,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if ((lVar3 == *(longlong *)(param_1 + 0x18)) && (lVar2 != 0)) { + FUN_14002f1e0(local_58,L"CFastMap consistency error #3!",param_1,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + uVar4 = (ulonglong)((int)uVar4 + 1); + lVar3 = lVar2; + } + if ((int)uVar4 != *(int *)(param_1 + 0x20)) { + for (; lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 0x10)) { + } + FUN_14002f1e0(local_58,L"CFastMap consistency error #4!",param_1,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d690.c b/decomp/Agent_Release_x64/full/functions/0x14003d690.c new file mode 100644 index 00000000..2923e3cf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d690.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d690 FUN_14003d690 + * Pseudocode, not original source. */ + +undefined8 FUN_14003d690(longlong param_1) + +{ + if (*(int *)(param_1 + 0x18) == 0) { + return 0; + } + return *(undefined8 *)(param_1 + 0x10); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d6a0.c b/decomp/Agent_Release_x64/full/functions/0x14003d6a0.c new file mode 100644 index 00000000..47d4a749 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d6a0.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d6a0 FUN_14003d6a0 + * Pseudocode, not original source. */ + +int FUN_14003d6a0(longlong param_1,int param_2) + +{ + uint uVar1; + int iVar2; + int iVar3; + uint uVar4; + + iVar3 = *(int *)(param_1 + 0x24); + if (iVar3 == 0) { + iVar2 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + iVar3 = 0x400; + if (iVar2 < 0x400) { + iVar3 = iVar2; + } + iVar2 = 4; + if (4 < iVar3) { + iVar2 = iVar3; + } + iVar3 = iVar2 + param_2; + if (iVar2 + param_2 < *(int *)(param_1 + 0x20)) { + iVar3 = *(int *)(param_1 + 0x20); + } + return iVar3; + } + if (iVar3 != 1) { + if (iVar3 != 2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 < *(int *)(param_1 + 0x20)) { + param_2 = *(int *)(param_1 + 0x20); + } + return param_2; + } + uVar1 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + uVar4 = 0x10; + if (0x10 < (int)uVar1) { + uVar4 = uVar1; + } + if (uVar4 < 5) { + uVar4 = 4; + } + iVar3 = uVar4 + param_2; + if ((int)(uVar4 + param_2) < *(int *)(param_1 + 0x20)) { + iVar3 = *(int *)(param_1 + 0x20); + } + return iVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d740.c b/decomp/Agent_Release_x64/full/functions/0x14003d740.c new file mode 100644 index 00000000..1b9ffd99 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d740.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d740 FUN_14003d740 + * Pseudocode, not original source. */ + +undefined8 FUN_14003d740(uint *param_1,undefined4 *param_2) + +{ + undefined8 uVar1; + undefined4 local_res18 [4]; + + uVar1 = FUN_140080600(param_1,(undefined8 *)local_res18,4); + if ((char)uVar1 == '\0') { + return uVar1; + } + *param_2 = local_res18[0]; + return CONCAT71((uint7)(uint3)((uint)local_res18[0] >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d780.c b/decomp/Agent_Release_x64/full/functions/0x14003d780.c new file mode 100644 index 00000000..8f58c0d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d780.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d780 FUN_14003d780 + * Pseudocode, not original source. */ + +uint * FUN_14003d780(uint *param_1,longlong param_2) + +{ + undefined8 uVar1; + undefined4 local_res8 [2]; + + uVar1 = FUN_140080600(param_1,(undefined8 *)local_res8,4); + if ((char)uVar1 != '\0') { + *(undefined4 *)(param_2 + 8) = local_res8[0]; + } + uVar1 = FUN_140080600(param_1,(undefined8 *)local_res8,2); + if ((char)uVar1 != '\0') { + *(undefined2 *)(param_2 + 0xc) = (undefined2)local_res8[0]; + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d7e0.c b/decomp/Agent_Release_x64/full/functions/0x14003d7e0.c new file mode 100644 index 00000000..227efcb5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d7e0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d7e0 FUN_14003d7e0 + * Pseudocode, not original source. */ + +undefined1 FUN_14003d7e0(longlong param_1) + +{ + bool bVar1; + + bVar1 = FUN_140090f90(param_1); + if ((bVar1) && ((*(char *)(param_1 + 0x3f8) != '\0' || (*(int *)(param_1 + 1000) != 0)))) { + return 1; + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d820.c b/decomp/Agent_Release_x64/full/functions/0x14003d820.c new file mode 100644 index 00000000..6d56dceb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d820.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d820 FUN_14003d820 + * Pseudocode, not original source. */ + +ulonglong FUN_14003d820(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + int *piVar2; + + piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar2); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200)) + (param_1 + -0xa8,L"Proud::CNetServerImpl::GetP2PGroupCount"); + } + uVar1 = *(ulonglong *)(param_1 + 0x378); + FUN_14002e770((longlong)piVar2); + return uVar1 & 0xffffffff; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d8b0.c b/decomp/Agent_Release_x64/full/functions/0x14003d8b0.c new file mode 100644 index 00000000..a30c0e0d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d8b0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d8b0 FUN_14003d8b0 + * Pseudocode, not original source. */ + +ulonglong FUN_14003d8b0(longlong *param_1,longlong *param_2,int *param_3,uint *param_4,uint param_5) + +{ + ulonglong in_RAX; + ulonglong uVar1; + + if (param_1[0x7c] == 0) { + return in_RAX & 0xffffffffffffff00; + } + uVar1 = FUN_140084b30(param_1,param_2,param_3,param_4,param_5); + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d8e0.c b/decomp/Agent_Release_x64/full/functions/0x14003d8e0.c new file mode 100644 index 00000000..dbfd4025 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d8e0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d8e0 FUN_14003d8e0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003d8e0(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::IRmiHost::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d910.c b/decomp/Agent_Release_x64/full/functions/0x14003d910.c new file mode 100644 index 00000000..f31cbfd5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d910.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d910 FUN_14003d910 + * Pseudocode, not original source. */ + +bool FUN_14003d910(longlong param_1) + +{ + return *(longlong *)(param_1 + 0x3f8) == 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d920.c b/decomp/Agent_Release_x64/full/functions/0x14003d920.c new file mode 100644 index 00000000..b6120d8b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d920.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d920 FUN_14003d920 + * Pseudocode, not original source. */ + +ulonglong FUN_14003d920(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + int *piVar2; + + piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar2); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200)) + (param_1 + -0xa8,L"Proud::CNetServerImpl::GetClientCount"); + } + uVar1 = *(ulonglong *)(param_1 + 0xbf0); + FUN_14002e770((longlong)piVar2); + return uVar1 & 0xffffffff; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003d9b0.c b/decomp/Agent_Release_x64/full/functions/0x14003d9b0.c new file mode 100644 index 00000000..9222c865 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003d9b0.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003d9b0 FUN_14003d9b0 + * Pseudocode, not original source. */ + +void FUN_14003d9b0(longlong param_1,int param_2) + +{ + int iVar1; + int *piVar2; + + if (param_2 < 0x81) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + piVar2 = (int *)FUN_1400303d0(); + FUN_14002e6e0(piVar2); + iVar1 = param_2; + if (param_2 < DAT_140155140) { + iVar1 = DAT_140155140; + } + DAT_140155140 = iVar1; + FUN_14002e770((longlong)piVar2); + *(int *)(param_1 + 0x184) = param_2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003da20.c b/decomp/Agent_Release_x64/full/functions/0x14003da20.c new file mode 100644 index 00000000..7153257f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003da20.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003da20 FUN_14003da20 + * Pseudocode, not original source. */ + +void FUN_14003da20(longlong param_1,double param_2,longlong param_3,undefined8 param_4) + +{ + int *piVar1; + + if ((1.0 <= param_2) || (*(longlong *)(param_1 + 0x6b0) == 0)) { + if ((240.0 < param_2) && (*(longlong *)(param_1 + 0x6b0) != 0)) { + FUN_14002fa10(L"Too long timeout value. It may take a lot of time to detect lost connection.") + ; + } + piVar1 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar1); + if (DAT_14015bfcf != '\0') { + param_3 = *(longlong *)(param_1 + -0xa8); + (**(code **)(param_3 + 200)) + (param_1 + -0xa8,L"Proud::CNetServerImpl::SetDefaultTimeoutTimeSec"); + } + FUN_140082400(param_1 + -0xa8,param_2,param_3,param_4); + *(double *)(param_1 + 0x188) = param_2; + FUN_14002e770((longlong)piVar1); + } + else { + FUN_14002fa10(L"Too short timeout value. It may cause unfair disconnection."); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003db10.c b/decomp/Agent_Release_x64/full/functions/0x14003db10.c new file mode 100644 index 00000000..13508caa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003db10.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003db10 FUN_14003db10 + * Pseudocode, not original source. */ + +undefined8 FUN_14003db10(longlong param_1,int param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + undefined8 uVar2; + + piVar1 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar1); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200)) + (param_1 + -0xa8,L"Proud::CNetServerImpl::SetDirectP2PStartCondition"); + } + if (1 < param_2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(int *)(param_1 + 400) = param_2; + uVar2 = FUN_14002e770((longlong)piVar1); + return CONCAT71((int7)((ulonglong)uVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003dbb0.c b/decomp/Agent_Release_x64/full/functions/0x14003dbb0.c new file mode 100644 index 00000000..3929e833 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003dbb0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003dbb0 FUN_14003dbb0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003dbb0(longlong param_1,undefined8 *param_2) + +{ + longlong lVar1; + + if ((*(longlong **)(param_1 + 0x6a0) != (longlong *)0x0) && + (lVar1 = **(longlong **)(param_1 + 0x6a0), lVar1 != 0)) { + FUN_140034a30(lVar1,param_2); + return param_2; + } + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = DAT_1401553d0; + *(undefined2 *)((longlong)param_2 + 0xc) = DAT_1401553d4; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003dc10.c b/decomp/Agent_Release_x64/full/functions/0x14003dc10.c new file mode 100644 index 00000000..295447d1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003dc10.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003dc10 FUN_14003dc10 + * Pseudocode, not original source. */ + +undefined1 FUN_14003dc10(longlong param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined1 uVar1; + int *piVar2; + + piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(); + FUN_14002e6e0(piVar2); + uVar1 = (**(code **)(*(longlong *)(param_1 + 0x78) + 0x18))((longlong *)(param_1 + 0x78),param_2); + FUN_14002e770((longlong)piVar2); + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003dc80.c b/decomp/Agent_Release_x64/full/functions/0x14003dc80.c new file mode 100644 index 00000000..f1db938e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003dc80.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003dc80 FUN_14003dc80 + * Pseudocode, not original source. */ + +bool FUN_14003dc80(longlong param_1) + +{ + return *(longlong *)(param_1 + 0x3e0) != 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003dc90.c b/decomp/Agent_Release_x64/full/functions/0x14003dc90.c new file mode 100644 index 00000000..b489706d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003dc90.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003dc90 FUN_14003dc90 + * Pseudocode, not original source. */ + +void FUN_14003dc90(longlong param_1,undefined1 param_2,longlong param_3,undefined8 param_4) + +{ + char cVar1; + int *piVar2; + exception local_50 [72]; + + piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar2); + if (DAT_14015bfcf != '\0') { + param_3 = *(longlong *)(param_1 + -0xa8); + (**(code **)(param_3 + 200))(param_1 + -0xa8,L"Proud::CNetServerImpl::AllowEmptyP2PGroup"); + } + cVar1 = (**(code **)(*(longlong *)(param_1 + -0xa8) + 0x90))(param_1 + -0xa8); + if (cVar1 != '\0') { + FUN_14002f1e0(local_50,L"Cannot set AllowEmptyP2PGroup after the server has started.",param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + *(undefined1 *)(param_1 + 0x1758) = param_2; + FUN_14002e770((longlong)piVar2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003dd70.c b/decomp/Agent_Release_x64/full/functions/0x14003dd70.c new file mode 100644 index 00000000..4e0c013d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003dd70.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003dd70 FUN_14003dd70 + * Pseudocode, not original source. */ + +void FUN_14003dd70(longlong param_1,short *param_2,uint param_3,longlong *param_4) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + + if (*(longlong *)(param_1 + 0x58) == 0) { + puVar1 = operator_new(0xd0); + puVar2 = (undefined8 *)0x0; + if (puVar1 != (undefined8 *)0x0) { + puVar2 = FUN_140094d10(puVar1,param_1 + 0x118,param_2,(ulonglong)param_3,param_4); + } + *(undefined8 **)(param_1 + 0x58) = puVar2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003ddf0.c b/decomp/Agent_Release_x64/full/functions/0x14003ddf0.c new file mode 100644 index 00000000..26b42bde --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003ddf0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003ddf0 FUN_14003ddf0 + * Pseudocode, not original source. */ + +bool FUN_14003ddf0(longlong param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + longlong lVar2; + + piVar1 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar1); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200)) + (param_1 + -0xa8,L"Proud::CNetServerImpl::SetHostTag"); + } + lVar2 = (**(code **)(*(longlong *)(param_1 + 0x78) + 0x10))((longlong *)(param_1 + 0x78),param_2); + if (lVar2 != 0) { + *(undefined8 *)(lVar2 + 0x28) = param_3; + FUN_14002e770((longlong)piVar1); + } + else { + FUN_14002e770((longlong)piVar1); + } + return lVar2 != 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003deb0.c b/decomp/Agent_Release_x64/full/functions/0x14003deb0.c new file mode 100644 index 00000000..e63f5519 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003deb0.c @@ -0,0 +1,71 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003deb0 FUN_14003deb0 + * Pseudocode, not original source. */ + +ulonglong FUN_14003deb0(longlong param_1,int param_2) + +{ + undefined2 uVar1; + undefined2 uVar2; + undefined4 uVar3; + undefined4 uVar4; + int *piVar5; + longlong lVar6; + int *piVar7; + ulonglong uVar8; + ulonglong uVar9; + ulonglong uVar10; + ulonglong uVar11; + + uVar8 = 0; + piVar5 = (int *)(param_1 + 0x70); + uVar9 = uVar8; + uVar10 = uVar8; + do { + if (*piVar5 == param_2) { + lVar6 = (longlong)(int)uVar10; + uVar3 = *(undefined4 *)(param_1 + 0x90 + lVar6 * 0x48); + uVar1 = *(undefined2 *)(param_1 + 0x94 + lVar6 * 0x48); + uVar4 = *(undefined4 *)(param_1 + 0x80 + lVar6 * 0x48); + uVar2 = *(undefined2 *)(param_1 + 0x84 + lVar6 * 0x48); + piVar5 = (int *)(param_1 + 0x10); + piVar7 = piVar5; + uVar9 = uVar8; + uVar10 = uVar8; + do { + if (*piVar7 == param_2) { + lVar6 = (longlong)(int)uVar10; + *(undefined4 *)(param_1 + 0x30 + lVar6 * 0x30) = uVar4; + *(undefined2 *)(param_1 + 0x34 + lVar6 * 0x30) = uVar2; + *(undefined2 *)(param_1 + 0x24 + lVar6 * 0x30) = uVar1; + *(undefined4 *)(param_1 + 0x20 + lVar6 * 0x30) = uVar3; + return CONCAT71((int7)(int3)(uVar10 >> 8),1); + } + uVar9 = uVar9 + 1; + uVar10 = (ulonglong)((int)uVar10 + 1); + piVar7 = piVar7 + 0xc; + uVar11 = uVar8; + } while ((longlong)uVar9 < 2); + do { + if (*piVar5 == 0) { + lVar6 = (longlong)(int)uVar11; + *(undefined4 *)(param_1 + 0x30 + lVar6 * 0x30) = uVar4; + *(undefined2 *)(param_1 + 0x34 + lVar6 * 0x30) = uVar2; + *(undefined2 *)(param_1 + 0x24 + lVar6 * 0x30) = uVar1; + *(undefined4 *)(param_1 + 0x20 + lVar6 * 0x30) = uVar3; + *(int *)(param_1 + 0x10 + lVar6 * 0x30) = param_2; + return CONCAT71((int7)(int3)(uVar11 >> 8),1); + } + uVar8 = uVar8 + 1; + piVar5 = piVar5 + 0xc; + uVar11 = (ulonglong)((int)uVar11 + 1); + } while ((longlong)uVar8 < 2); + return CONCAT71((int7)(uVar8 >> 8),1); + } + uVar9 = uVar9 + 1; + uVar10 = (ulonglong)((int)uVar10 + 1); + piVar5 = piVar5 + 0x12; + } while ((longlong)uVar9 < 2); + return (ulonglong)piVar5 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003dfd0.c b/decomp/Agent_Release_x64/full/functions/0x14003dfd0.c new file mode 100644 index 00000000..e4ead2fc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003dfd0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003dfd0 FUN_14003dfd0 + * Pseudocode, not original source. */ + +void FUN_14003dfd0(undefined8 *param_1) + +{ + if (100 < (ulonglong)param_1[2]) { + operator_delete__((void *)*param_1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003dff0.c b/decomp/Agent_Release_x64/full/functions/0x14003dff0.c new file mode 100644 index 00000000..14b0a965 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003dff0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003dff0 FUN_14003dff0 + * Pseudocode, not original source. */ + +void FUN_14003dff0(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x00014003e017. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e030.c b/decomp/Agent_Release_x64/full/functions/0x14003e030.c new file mode 100644 index 00000000..1fa57ae6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e030.c @@ -0,0 +1,85 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e030 FUN_14003e030 + * Pseudocode, not original source. */ + +void FUN_14003e030(longlong param_1,int param_2,longlong param_3) + +{ + longlong *plVar1; + LPVOID pvVar2; + int iVar3; + undefined8 uVar4; + undefined8 *puVar5; + undefined8 *puVar6; + int iVar7; + longlong lVar8; + exception local_58 [80]; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 != *(int *)(param_1 + 0x18)) { + if (*(int *)(param_1 + 0x1c) < param_2) { + iVar3 = FUN_14003d0e0(param_1,param_2); + plVar1 = *(longlong **)(param_1 + 8); + lVar8 = (longlong)iVar3; + if (*(int *)(param_1 + 0x1c) == 0) { + if (plVar1 == (longlong *)0x0) { + uVar4 = FUN_140030280(lVar8 << 6); + *(undefined8 *)(param_1 + 0x10) = uVar4; + } + else { + uVar4 = (**(code **)(*plVar1 + 8))(plVar1,lVar8 << 6); + *(undefined8 *)(param_1 + 0x10) = uVar4; + } + } + else { + pvVar2 = *(LPVOID *)(param_1 + 0x10); + if (plVar1 == (longlong *)0x0) { + puVar5 = (undefined8 *)FUN_140030280(lVar8 << 6); + } + else { + puVar5 = (undefined8 *)(**(code **)(*plVar1 + 8))(); + } + lVar8 = (longlong)*(int *)(param_1 + 0x18); + iVar7 = 0; + if (0 < lVar8) { + param_3 = (longlong)pvVar2 - (longlong)puVar5; + puVar6 = puVar5; + do { + if (puVar6 != (undefined8 *)0x0) { + *puVar6 = *(undefined8 *)(param_3 + (longlong)puVar6); + puVar6[1] = *(undefined8 *)(param_3 + 8 + (longlong)puVar6); + puVar6[2] = *(undefined8 *)(param_3 + 0x10 + (longlong)puVar6); + puVar6[3] = *(undefined8 *)(param_3 + 0x18 + (longlong)puVar6); + puVar6[4] = *(undefined8 *)(param_3 + 0x20 + (longlong)puVar6); + puVar6[5] = *(undefined8 *)(param_3 + 0x28 + (longlong)puVar6); + puVar6[6] = *(undefined8 *)(param_3 + 0x30 + (longlong)puVar6); + puVar6[7] = *(undefined8 *)(param_3 + 0x38 + (longlong)puVar6); + } + iVar7 = iVar7 + 1; + puVar6 = puVar6 + 8; + } while (iVar7 < lVar8); + } + if (puVar5 == (undefined8 *)0x0) { + FUN_14002f1e0(local_58,L"Memory allocation failure!",param_3,lVar8); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + plVar1 = *(longlong **)(param_1 + 8); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(pvVar2); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,pvVar2); + } + *(undefined8 **)(param_1 + 0x10) = puVar5; + } + *(int *)(param_1 + 0x1c) = iVar3; + } + *(int *)(param_1 + 0x18) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e1c0.c b/decomp/Agent_Release_x64/full/functions/0x14003e1c0.c new file mode 100644 index 00000000..d2a6f0d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e1c0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e1c0 FUN_14003e1c0 + * Pseudocode, not original source. */ + +void FUN_14003e1c0(undefined8 *param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + void *pvVar1; + + pvVar1 = (void *)*param_1; + if (pvVar1 != (void *)0x0) { + FUN_140039850((longlong)pvVar1,param_2,param_3,param_4); + operator_delete(pvVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e1f0.c b/decomp/Agent_Release_x64/full/functions/0x14003e1f0.c new file mode 100644 index 00000000..44941ec3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e1f0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e1f0 FUN_14003e1f0 + * Pseudocode, not original source. */ + +void FUN_14003e1f0(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x00014003e217. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e230.c b/decomp/Agent_Release_x64/full/functions/0x14003e230.c new file mode 100644 index 00000000..b2a435ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e230.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e230 FUN_14003e230 + * Pseudocode, not original source. */ + +void FUN_14003e230(undefined8 *param_1,wchar_t *param_2,longlong *param_3,undefined8 param_4) + +{ + int *piVar1; + + piVar1 = (int *)*param_1; + if (piVar1 != (int *)0x0) { + FUN_14008a700(piVar1,param_2,param_3,param_4); + operator_delete(piVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e260.c b/decomp/Agent_Release_x64/full/functions/0x14003e260.c new file mode 100644 index 00000000..091032df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e260.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e260 FUN_14003e260 + * Pseudocode, not original source. */ + +void FUN_14003e260(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x00014003e287. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e2a0.c b/decomp/Agent_Release_x64/full/functions/0x14003e2a0.c new file mode 100644 index 00000000..d14ba0f4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e2a0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e2a0 FUN_14003e2a0 + * Pseudocode, not original source. */ + +void FUN_14003e2a0(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x00014003e2c7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e2e0.c b/decomp/Agent_Release_x64/full/functions/0x14003e2e0.c new file mode 100644 index 00000000..2a0ceacf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e2e0.c @@ -0,0 +1,55 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e2e0 FUN_14003e2e0 + * Pseudocode, not original source. */ + +void FUN_14003e2e0(longlong param_1,int param_2,longlong param_3) + +{ + int iVar1; + longlong *plVar2; + int iVar3; + longlong lVar4; + int iVar5; + undefined8 uVar6; + exception local_58 [80]; + + iVar1 = *(int *)(param_1 + 0x1c); + iVar3 = iVar1; + if (iVar1 < param_2) { + iVar3 = param_2; + } + iVar5 = *(int *)(param_1 + 0x20); + if ((*(int *)(param_1 + 0x20) <= iVar3) && (iVar5 = param_2, param_2 <= iVar1)) { + iVar5 = iVar1; + } + if (iVar1 < iVar5) { + plVar2 = *(longlong **)(param_1 + 8); + if (iVar1 == 0) { + if (plVar2 == (longlong *)0x0) { + lVar4 = FUN_140030280((longlong)iVar5 << 2); + } + else { + lVar4 = (**(code **)(*plVar2 + 8))(plVar2,(longlong)iVar5 << 2); + } + } + else { + uVar6 = *(undefined8 *)(param_1 + 0x10); + if (plVar2 == (longlong *)0x0) { + lVar4 = FUN_1400302b0(uVar6,(longlong)iVar5 << 2); + } + else { + param_3 = (longlong)iVar5 << 2; + lVar4 = (**(code **)(*plVar2 + 0x10))(plVar2,uVar6); + } + if (lVar4 == 0) { + FUN_14002f1e0(local_58,L"Memory allocation failure!",param_3,uVar6); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + } + *(longlong *)(param_1 + 0x10) = lVar4; + *(int *)(param_1 + 0x1c) = iVar5; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e3a0.c b/decomp/Agent_Release_x64/full/functions/0x14003e3a0.c new file mode 100644 index 00000000..40a9a69d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e3a0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e3a0 FUN_14003e3a0 + * Pseudocode, not original source. */ + +void FUN_14003e3a0(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + + puVar1 = (undefined8 *)*param_1; + if (puVar1 != (undefined8 *)0x0) { + FUN_140090280(puVar1,param_2,param_3,param_4); + operator_delete(puVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e3d0.c b/decomp/Agent_Release_x64/full/functions/0x14003e3d0.c new file mode 100644 index 00000000..3ebe212b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e3d0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e3d0 FUN_14003e3d0 + * Pseudocode, not original source. */ + +void FUN_14003e3d0(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x00014003e3f7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e410.c b/decomp/Agent_Release_x64/full/functions/0x14003e410.c new file mode 100644 index 00000000..cb5129f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e410.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e410 FUN_14003e410 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003e410(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e470.c b/decomp/Agent_Release_x64/full/functions/0x14003e470.c new file mode 100644 index 00000000..f172c77f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e470.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e470 FUN_14003e470 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003e470(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e4d0.c b/decomp/Agent_Release_x64/full/functions/0x14003e4d0.c new file mode 100644 index 00000000..84edda57 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e4d0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e4d0 FUN_14003e4d0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003e4d0(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e530.c b/decomp/Agent_Release_x64/full/functions/0x14003e530.c new file mode 100644 index 00000000..34d15fa9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e530.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e530 FUN_14003e530 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003e530(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e590.c b/decomp/Agent_Release_x64/full/functions/0x14003e590.c new file mode 100644 index 00000000..47bc19c4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e590.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e590 FUN_14003e590 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003e590(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e5f0.c b/decomp/Agent_Release_x64/full/functions/0x14003e5f0.c new file mode 100644 index 00000000..3278e397 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e5f0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e5f0 FUN_14003e5f0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003e5f0(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e650.c b/decomp/Agent_Release_x64/full/functions/0x14003e650.c new file mode 100644 index 00000000..6a975536 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e650.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e650 FUN_14003e650 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003e650(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e6b0.c b/decomp/Agent_Release_x64/full/functions/0x14003e6b0.c new file mode 100644 index 00000000..5046cb4e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e6b0.c @@ -0,0 +1,80 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e6b0 FUN_14003e6b0 + * Pseudocode, not original source. */ + +void FUN_14003e6b0(longlong param_1,int param_2,undefined8 param_3,longlong param_4) + +{ + longlong *plVar1; + LPVOID pvVar2; + int iVar3; + undefined8 uVar4; + undefined8 *puVar5; + undefined8 *puVar6; + int iVar7; + longlong lVar8; + exception local_58 [80]; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 != *(int *)(param_1 + 0x18)) { + if (*(int *)(param_1 + 0x1c) < param_2) { + iVar3 = FUN_14003d270(param_1,param_2); + plVar1 = *(longlong **)(param_1 + 8); + lVar8 = (longlong)iVar3; + if (*(int *)(param_1 + 0x1c) == 0) { + if (plVar1 == (longlong *)0x0) { + uVar4 = FUN_140030280(lVar8 * 0x18); + *(undefined8 *)(param_1 + 0x10) = uVar4; + } + else { + uVar4 = (**(code **)(*plVar1 + 8))(plVar1,lVar8 * 0x18); + *(undefined8 *)(param_1 + 0x10) = uVar4; + } + } + else { + pvVar2 = *(LPVOID *)(param_1 + 0x10); + if (plVar1 == (longlong *)0x0) { + puVar5 = (undefined8 *)FUN_140030280(lVar8 * 0x18); + } + else { + puVar5 = (undefined8 *)(**(code **)(*plVar1 + 8))(); + } + lVar8 = (longlong)*(int *)(param_1 + 0x18); + iVar7 = 0; + if (0 < lVar8) { + param_4 = (longlong)pvVar2 - (longlong)puVar5; + puVar6 = puVar5; + do { + if (puVar6 != (undefined8 *)0x0) { + *puVar6 = *(undefined8 *)(param_4 + (longlong)puVar6); + puVar6[1] = *(undefined8 *)(param_4 + 8 + (longlong)puVar6); + puVar6[2] = *(undefined8 *)(param_4 + 0x10 + (longlong)puVar6); + } + iVar7 = iVar7 + 1; + puVar6 = puVar6 + 3; + } while (iVar7 < lVar8); + } + if (puVar5 == (undefined8 *)0x0) { + FUN_14002f1e0(local_58,L"Memory allocation failure!",lVar8,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + plVar1 = *(longlong **)(param_1 + 8); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(pvVar2); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,pvVar2); + } + *(undefined8 **)(param_1 + 0x10) = puVar5; + } + *(int *)(param_1 + 0x1c) = iVar3; + } + *(int *)(param_1 + 0x18) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e820.c b/decomp/Agent_Release_x64/full/functions/0x14003e820.c new file mode 100644 index 00000000..3330476d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e820.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e820 FUN_14003e820 + * Pseudocode, not original source. */ + +void FUN_14003e820(longlong param_1,int param_2,undefined8 param_3,longlong param_4) + +{ + undefined8 *puVar1; + int iVar2; + longlong lVar3; + longlong lVar4; + longlong lVar5; + int iVar6; + longlong lVar7; + + iVar6 = (int)param_3; + if ((-1 < param_2) && (-1 < iVar6)) { + iVar2 = *(int *)(param_1 + 0x18) - param_2; + if (iVar2 <= iVar6) { + iVar6 = iVar2; + } + if (0 < iVar2 - iVar6) { + lVar7 = (longlong)(iVar2 - iVar6); + lVar5 = (longlong)param_2 * 0x18; + do { + lVar3 = FUN_14003d690(param_1); + lVar3 = lVar3 + (longlong)iVar6 * 0x18; + lVar4 = FUN_14003d690(param_1); + *(undefined8 *)(lVar4 + lVar5) = *(undefined8 *)(lVar3 + lVar5); + puVar1 = (undefined8 *)(lVar3 + 8 + lVar5); + lVar5 = lVar5 + 0x18; + lVar7 = lVar7 + -1; + *(undefined8 *)(lVar4 + -0x10 + lVar5) = *puVar1; + *(undefined8 *)(lVar4 + -8 + lVar5) = *(undefined8 *)(lVar3 + -8 + lVar5); + } while (lVar7 != 0); + } + FUN_14003e6b0(param_1,*(int *)(param_1 + 0x18) - iVar6,param_3,param_4); + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003e8e0.c b/decomp/Agent_Release_x64/full/functions/0x14003e8e0.c new file mode 100644 index 00000000..50162b98 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003e8e0.c @@ -0,0 +1,108 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003e8e0 FUN_14003e8e0 + * Pseudocode, not original source. */ + +void FUN_14003e8e0(undefined8 *param_1,longlong param_2,longlong param_3) + +{ + ulonglong uVar1; + undefined8 *puVar2; + longlong lVar3; + undefined8 *puVar4; + int iVar5; + undefined8 *puVar6; + longlong lVar7; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (-1 < param_3) { + param_1[3] = param_3; + } + if (param_2 == 0) { + if ((100 < (ulonglong)param_1[2]) && ((void *)*param_1 != (void *)0x0)) { + operator_delete__((void *)*param_1); + *param_1 = 0; + } + param_1[1] = 0; + param_1[2] = 100; + return; + } + uVar1 = param_1[2]; + if ((longlong)uVar1 < param_2) { + lVar3 = param_1[3]; + if (lVar3 == 0) { + lVar3 = (longlong)(param_1[1] + (ulonglong)((uint)((longlong)param_1[1] >> 0x3f) & 7)) >> 3; + if (lVar3 < 4) { + lVar3 = 4; + } + else if (0x400 < lVar3) { + lVar3 = 0x400; + } + } + lVar7 = param_2; + if (param_2 < (longlong)(lVar3 + uVar1)) { + lVar7 = lVar3 + uVar1; + } + if (lVar7 < (longlong)uVar1) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar4 = operator_new(lVar7 << 5); + puVar2 = param_1 + 4; + if (100 < (ulonglong)param_1[2]) { + puVar2 = (undefined8 *)*param_1; + } + FUN_14003d310(puVar4,(longlong)puVar2,param_1[1]); + memset(puVar4 + param_1[1] * 4,0,(param_2 - param_1[1]) * 0x20); + iVar5 = 0; + lVar3 = param_2 - param_1[1]; + if (0 < lVar3) { + puVar6 = puVar4 + param_1[1] * 4 + 3; + do { + if (puVar6 + -3 != (undefined8 *)0x0) { + *(undefined4 *)(puVar6 + -3) = 0; + puVar6[-2] = 0; + *puVar6 = 0; + puVar6[-1] = 0; + } + iVar5 = iVar5 + 1; + puVar6 = puVar6 + 4; + } while (iVar5 < lVar3); + } + if (100 < (ulonglong)param_1[2]) { + operator_delete__(puVar2); + } + *param_1 = puVar4; + param_1[2] = lVar7; + } + else { + puVar2 = param_1 + 4; + if (100 < uVar1) { + puVar2 = (undefined8 *)*param_1; + } + lVar3 = param_1[1]; + if (lVar3 < param_2) { + iVar5 = 0; + if (0 < param_2 - lVar3) { + puVar2 = puVar2 + lVar3 * 4 + 3; + do { + if (puVar2 + -3 != (undefined8 *)0x0) { + *(undefined4 *)(puVar2 + -3) = 0; + puVar2[-2] = 0; + *puVar2 = 0; + puVar2[-1] = 0; + } + iVar5 = iVar5 + 1; + puVar2 = puVar2 + 4; + } while ((longlong)iVar5 < param_2 - lVar3); + param_1[1] = param_2; + return; + } + } + } + param_1[1] = param_2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003ead0.c b/decomp/Agent_Release_x64/full/functions/0x14003ead0.c new file mode 100644 index 00000000..2dcc4d79 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003ead0.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003ead0 FUN_14003ead0 + * Pseudocode, not original source. */ + +void FUN_14003ead0(longlong *param_1) + +{ + longlong lVar1; + longlong lVar2; + longlong lVar3; + exception local_58 [88]; + + lVar1 = *param_1; + while( true ) { + if (lVar1 == 0) { + return; + } + lVar1 = *param_1; + if (*(longlong **)(lVar1 + 0x120) != param_1) break; + lVar2 = *(longlong *)(lVar1 + 0x118); + lVar3 = *(longlong *)(lVar1 + 0x110); + if (lVar2 != 0) { + *(longlong *)(lVar2 + 0x110) = lVar3; + } + if (lVar3 != 0) { + *(longlong *)(lVar3 + 0x118) = lVar2; + } + if (lVar2 == 0) { + if (param_1[1] != lVar1) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + param_1[1] = lVar3; + } + if (lVar3 == 0) { + if (*param_1 != lVar1) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = lVar2; + } + *(undefined8 *)(lVar1 + 0x110) = 0; + *(undefined8 *)(lVar1 + 0x118) = 0; + *(undefined8 *)(lVar1 + 0x120) = 0; + *(int *)(param_1 + 2) = (int)param_1[2] + -1; + lVar1 = *param_1; + } + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003ebe0.c b/decomp/Agent_Release_x64/full/functions/0x14003ebe0.c new file mode 100644 index 00000000..15327f2f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003ebe0.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003ebe0 FUN_14003ebe0 + * Pseudocode, not original source. */ + +void FUN_14003ebe0(longlong *param_1) + +{ + longlong lVar1; + longlong lVar2; + longlong lVar3; + exception local_58 [88]; + + lVar1 = *param_1; + while( true ) { + if (lVar1 == 0) { + return; + } + lVar1 = *param_1; + if (*(longlong **)(lVar1 + 0xa0) != param_1) break; + lVar2 = *(longlong *)(lVar1 + 0x98); + lVar3 = *(longlong *)(lVar1 + 0x90); + if (lVar2 != 0) { + *(longlong *)(lVar2 + 0x90) = lVar3; + } + if (lVar3 != 0) { + *(longlong *)(lVar3 + 0x98) = lVar2; + } + if (lVar2 == 0) { + if (param_1[1] != lVar1) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + param_1[1] = lVar3; + } + if (lVar3 == 0) { + if (*param_1 != lVar1) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = lVar2; + } + *(undefined8 *)(lVar1 + 0x90) = 0; + *(undefined8 *)(lVar1 + 0x98) = 0; + *(undefined8 *)(lVar1 + 0xa0) = 0; + *(int *)(param_1 + 2) = (int)param_1[2] + -1; + lVar1 = *param_1; + } + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003ecf0.c b/decomp/Agent_Release_x64/full/functions/0x14003ecf0.c new file mode 100644 index 00000000..8a74c6c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003ecf0.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003ecf0 FUN_14003ecf0 + * Pseudocode, not original source. */ + +void FUN_14003ecf0(longlong param_1,int param_2,longlong param_3) + +{ + longlong *plVar1; + int iVar2; + longlong lVar3; + undefined8 uVar4; + exception local_58 [80]; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 != *(int *)(param_1 + 0x18)) { + if (*(int *)(param_1 + 0x1c) < param_2) { + iVar2 = FUN_14003d440(param_1,param_2); + plVar1 = *(longlong **)(param_1 + 8); + lVar3 = (longlong)iVar2; + if (*(int *)(param_1 + 0x1c) == 0) { + if (plVar1 == (longlong *)0x0) { + lVar3 = FUN_140030280(lVar3 << 2); + } + else { + lVar3 = (**(code **)(*plVar1 + 8))(plVar1,lVar3 << 2); + } + } + else { + uVar4 = *(undefined8 *)(param_1 + 0x10); + if (plVar1 == (longlong *)0x0) { + lVar3 = FUN_1400302b0(uVar4,lVar3 << 2); + } + else { + param_3 = lVar3 << 2; + lVar3 = (**(code **)(*plVar1 + 0x10))(plVar1,uVar4); + } + if (lVar3 == 0) { + FUN_14002f1e0(local_58,L"Memory allocation failure!",param_3,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + } + *(longlong *)(param_1 + 0x10) = lVar3; + *(int *)(param_1 + 0x1c) = iVar2; + } + *(int *)(param_1 + 0x18) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003edc0.c b/decomp/Agent_Release_x64/full/functions/0x14003edc0.c new file mode 100644 index 00000000..34e387af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003edc0.c @@ -0,0 +1,120 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003edc0 FUN_14003edc0 + * Pseudocode, not original source. */ + +void FUN_14003edc0(longlong param_1,int param_2) + +{ + longlong *plVar1; + LPVOID pvVar2; + int iVar3; + undefined8 *puVar4; + undefined4 *puVar5; + longlong lVar6; + int iVar7; + int iVar8; + exception local_58 [80]; + + lVar6 = (longlong)param_2; + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar7 = *(int *)(param_1 + 0x18); + if (param_2 != iVar7) { + if (*(int *)(param_1 + 0x1c) < param_2) { + iVar7 = FUN_14003d6a0(param_1,param_2); + plVar1 = *(longlong **)(param_1 + 8); + if (*(int *)(param_1 + 0x1c) == 0) { + if (plVar1 == (longlong *)0x0) { + puVar4 = (undefined8 *)FUN_140030280((longlong)iVar7 << 4); + } + else { + puVar4 = (undefined8 *)(**(code **)(*plVar1 + 8))(); + } + *(undefined8 **)(param_1 + 0x10) = puVar4; + if (0 < param_2) { + do { + if (puVar4 != (undefined8 *)0x0) { + *puVar4 = Proud::AddrPort::vftable; + *(undefined4 *)(puVar4 + 1) = 0; + *(undefined2 *)((longlong)puVar4 + 0xc) = 0; + } + puVar4 = puVar4 + 2; + lVar6 = lVar6 + -1; + } while (lVar6 != 0); + } + } + else { + pvVar2 = *(LPVOID *)(param_1 + 0x10); + if (plVar1 == (longlong *)0x0) { + lVar6 = FUN_140030280((longlong)iVar7 << 4); + } + else { + lVar6 = (**(code **)(*plVar1 + 8))(); + } + iVar3 = *(int *)(param_1 + 0x18); + iVar8 = 0; + if (0 < iVar3) { + puVar5 = (undefined4 *)(lVar6 + 8); + do { + if ((undefined8 *)(puVar5 + -2) != (undefined8 *)0x0) { + *(undefined ***)(puVar5 + -2) = Proud::AddrPort::vftable; + *puVar5 = *(undefined4 *)(((longlong)pvVar2 - lVar6) + (longlong)puVar5); + *(undefined2 *)(puVar5 + 1) = + *(undefined2 *)(((longlong)pvVar2 - lVar6) + 4 + (longlong)puVar5); + } + iVar8 = iVar8 + 1; + puVar5 = puVar5 + 4; + } while (iVar8 < iVar3); + } + iVar3 = param_2 - *(int *)(param_1 + 0x18); + iVar8 = 0; + puVar4 = (undefined8 *)((longlong)*(int *)(param_1 + 0x18) * 0x10 + lVar6); + if (0 < iVar3) { + do { + if (puVar4 != (undefined8 *)0x0) { + *puVar4 = Proud::AddrPort::vftable; + *(undefined4 *)(puVar4 + 1) = 0; + *(undefined2 *)((longlong)puVar4 + 0xc) = 0; + } + iVar8 = iVar8 + 1; + puVar4 = puVar4 + 2; + } while (iVar8 < iVar3); + } + if (lVar6 == 0) { + FUN_14002f1e0(local_58,L"Memory allocation failure!",puVar4,Proud::AddrPort::vftable); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + plVar1 = *(longlong **)(param_1 + 8); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(pvVar2); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,pvVar2); + } + *(longlong *)(param_1 + 0x10) = lVar6; + } + *(int *)(param_1 + 0x1c) = iVar7; + } + else if ((iVar7 - param_2 < 1) && (iVar3 = param_2 - iVar7, 0 < iVar3)) { + puVar4 = (undefined8 *)((longlong)iVar7 * 0x10 + *(longlong *)(param_1 + 0x10)); + iVar7 = 0; + if (0 < iVar3) { + do { + if (puVar4 != (undefined8 *)0x0) { + *puVar4 = Proud::AddrPort::vftable; + *(undefined4 *)(puVar4 + 1) = 0; + *(undefined2 *)((longlong)puVar4 + 0xc) = 0; + } + iVar7 = iVar7 + 1; + puVar4 = puVar4 + 2; + } while (iVar7 < iVar3); + } + } + *(int *)(param_1 + 0x18) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003f000.c b/decomp/Agent_Release_x64/full/functions/0x14003f000.c new file mode 100644 index 00000000..401d9ce2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003f000.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003f000 FUN_14003f000 + * Pseudocode, not original source. */ + +void FUN_14003f000(char *param_1) + +{ + longlong lVar1; + longlong lVar2; + longlong lVar3; + ulonglong uVar4; + exception local_58 [88]; + + if (*param_1 != '\0') { + uVar4 = 0; + if ((*(longlong *)(param_1 + 0x20) != 0) && (*(longlong *)(param_1 + 8) == 0)) { + FUN_14002f1e0(local_58,L"CFastMap consistency error #0!",param_1,0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + lVar1 = *(longlong *)(param_1 + 0x10); + lVar3 = lVar1; + while (lVar3 != 0) { + lVar2 = *(longlong *)(lVar3 + 8); + if ((lVar2 != 0) && (*(longlong *)(lVar2 + 0x10) != lVar3)) { + FUN_14002f1e0(local_58,L"CFastMap consistency error #1!",param_1,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if ((lVar3 == lVar1) && (*(longlong *)(lVar3 + 0x10) != 0)) { + FUN_14002f1e0(local_58,L"CFastMap consistency error #2!",param_1,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if ((lVar3 == *(longlong *)(param_1 + 0x18)) && (lVar2 != 0)) { + FUN_14002f1e0(local_58,L"CFastMap consistency error #3!",param_1,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + uVar4 = (ulonglong)((int)uVar4 + 1); + lVar3 = lVar2; + } + if ((int)uVar4 != *(int *)(param_1 + 0x20)) { + for (; lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 8)) { + } + FUN_14002f1e0(local_58,L"CFastMap consistency error #4!",param_1,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003f130.c b/decomp/Agent_Release_x64/full/functions/0x14003f130.c new file mode 100644 index 00000000..bef4f8ef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003f130.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003f130 FUN_14003f130 + * Pseudocode, not original source. */ + +void FUN_14003f130(longlong param_1,int param_2,longlong param_3,longlong param_4) + +{ + undefined8 *puVar1; + longlong lVar2; + longlong lVar3; + int iVar4; + longlong lVar5; + int iVar6; + longlong lVar7; + longlong lVar8; + longlong lVar9; + + iVar6 = (int)param_4; + lVar9 = (longlong)iVar6; + lVar7 = (longlong)param_2; + if (((-1 < iVar6) && (-1 < param_2)) && (param_2 <= *(int *)(param_1 + 0x18))) { + iVar4 = *(int *)(param_1 + 0x18); + FUN_14003e6b0(param_1,iVar4 + iVar6,param_3,param_4); + iVar4 = iVar4 - param_2; + if ((0 < iVar4) && (iVar4 = iVar4 + -1, lVar8 = (longlong)iVar4, -1 < iVar4)) { + lVar5 = (lVar9 + lVar7 + lVar8) * 0x18; + do { + lVar2 = FUN_14003d690(param_1); + lVar2 = lVar9 * -0x18 + lVar2; + lVar3 = FUN_14003d690(param_1); + *(undefined8 *)(lVar3 + lVar5) = *(undefined8 *)(lVar2 + lVar5); + puVar1 = (undefined8 *)(lVar2 + 8 + lVar5); + lVar5 = lVar5 + -0x18; + lVar8 = lVar8 + -1; + *(undefined8 *)(lVar3 + 0x20 + lVar5) = *puVar1; + *(undefined8 *)(lVar3 + 0x28 + lVar5) = *(undefined8 *)(lVar2 + 0x28 + lVar5); + } while (-1 < lVar8); + } + if (0 < iVar6) { + lVar8 = lVar7 * 0x18; + lVar7 = param_3 + lVar7 * -0x18; + do { + lVar5 = FUN_14003d690(param_1); + puVar1 = (undefined8 *)(lVar7 + lVar8); + lVar8 = lVar8 + 0x18; + lVar9 = lVar9 + -1; + *(undefined8 *)(lVar5 + -0x18 + lVar8) = *puVar1; + *(undefined8 *)(lVar5 + -0x10 + lVar8) = *(undefined8 *)(lVar7 + -0x10 + lVar8); + *(undefined8 *)(lVar5 + -8 + lVar8) = *(undefined8 *)(lVar7 + -8 + lVar8); + } while (lVar9 != 0); + } + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003f250.c b/decomp/Agent_Release_x64/full/functions/0x14003f250.c new file mode 100644 index 00000000..b9baa64d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003f250.c @@ -0,0 +1,77 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003f250 FUN_14003f250 + * Pseudocode, not original source. */ + +void FUN_14003f250(undefined8 *param_1,longlong param_2,longlong param_3) + +{ + longlong lVar1; + undefined4 *puVar2; + undefined4 *puVar3; + longlong lVar4; + undefined8 *puVar5; + longlong lVar6; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (-1 < param_3) { + param_1[3] = param_3; + } + if (param_2 == 0) { + if ((100 < (ulonglong)param_1[2]) && ((void *)*param_1 != (void *)0x0)) { + operator_delete__((void *)*param_1); + *param_1 = 0; + } + param_1[2] = 100; + param_1[1] = 0; + return; + } + lVar4 = param_1[2]; + if (param_2 <= lVar4) { + param_1[1] = param_2; + return; + } + lVar1 = param_1[3]; + if (lVar1 == 0) { + lVar1 = (longlong)(param_1[1] + (ulonglong)((uint)((longlong)param_1[1] >> 0x3f) & 7)) >> 3; + if (lVar1 < 4) { + lVar1 = 4; + } + else if (0x400 < lVar1) { + lVar1 = 0x400; + } + } + lVar6 = param_2; + if (param_2 < lVar1 + lVar4) { + lVar6 = lVar1 + lVar4; + } + if (lVar6 < lVar4) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar2 = operator_new(lVar6 * 4); + puVar5 = param_1 + 4; + if (100 < (ulonglong)param_1[2]) { + puVar5 = (undefined8 *)*param_1; + } + lVar4 = param_1[1]; + if (0 < lVar4) { + puVar3 = puVar2; + do { + lVar4 = lVar4 + -1; + *puVar3 = *(undefined4 *)(((longlong)puVar5 - (longlong)puVar2) + (longlong)puVar3); + puVar3 = puVar3 + 1; + } while (lVar4 != 0); + } + memset(puVar2 + param_1[1],0,(param_2 - param_1[1]) * 4); + if (100 < (ulonglong)param_1[2]) { + operator_delete__(puVar5); + } + *param_1 = puVar2; + param_1[2] = lVar6; + param_1[1] = param_2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003f3b0.c b/decomp/Agent_Release_x64/full/functions/0x14003f3b0.c new file mode 100644 index 00000000..315f71ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003f3b0.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003f3b0 FUN_14003f3b0 + * Pseudocode, not original source. */ + +void FUN_14003f3b0(longlong param_1,int param_2,longlong param_3,int param_4) + +{ + longlong lVar1; + longlong lVar2; + undefined2 *puVar3; + undefined2 *puVar4; + int iVar5; + longlong lVar6; + longlong lVar7; + longlong lVar8; + + lVar7 = (longlong)param_4; + if (((-1 < param_4) && (-1 < param_2)) && (param_2 <= *(int *)(param_1 + 0x18))) { + iVar5 = *(int *)(param_1 + 0x18); + FUN_14003edc0(param_1,iVar5 + param_4); + iVar5 = iVar5 - param_2; + if ((0 < iVar5) && (iVar5 = iVar5 + -1, lVar8 = (longlong)iVar5, -1 < iVar5)) { + lVar6 = (lVar8 + param_2 + lVar7) * 0x10; + do { + lVar1 = FUN_14003d690(param_1); + lVar1 = lVar1 + lVar7 * -0x10; + lVar2 = FUN_14003d690(param_1); + *(undefined4 *)(lVar2 + 8 + lVar6) = *(undefined4 *)(lVar1 + 8 + lVar6); + puVar3 = (undefined2 *)(lVar1 + 0xc + lVar6); + lVar6 = lVar6 + -0x10; + lVar8 = lVar8 + -1; + *(undefined2 *)(lVar2 + 0x1c + lVar6) = *puVar3; + } while (-1 < lVar8); + } + if (0 < lVar7) { + puVar3 = (undefined2 *)(param_3 + 0xc); + do { + lVar8 = FUN_14003d690(param_1); + puVar4 = puVar3 + 8; + lVar8 = lVar8 + ((longlong)param_2 * 0x10 - param_3) + -0xc; + lVar7 = lVar7 + -1; + *(undefined4 *)(lVar8 + -8 + (longlong)puVar4) = *(undefined4 *)(puVar3 + -2); + *(undefined2 *)(lVar8 + -4 + (longlong)puVar4) = *puVar3; + puVar3 = puVar4; + } while (lVar7 != 0); + } + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003f4c0.c b/decomp/Agent_Release_x64/full/functions/0x14003f4c0.c new file mode 100644 index 00000000..25006b7e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003f4c0.c @@ -0,0 +1,133 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003f4c0 FUN_14003f4c0 + * Pseudocode, not original source. */ + +void FUN_14003f4c0(char *param_1,uint param_2) + +{ + ulonglong uVar1; + undefined8 uVar2; + ulonglong uVar3; + ulonglong uVar4; + void *_Dst; + longlong lVar5; + longlong lVar6; + ulonglong uVar7; + ulonglong uVar8; + int iVar9; + ulonglong uVar10; + ulonglong uVar11; + float fVar12; + float fVar13; + + if (param_2 == 0) { + param_2 = FUN_14003d4e0((longlong)param_1,*(longlong *)(param_1 + 0x20)); + } + if (param_2 != *(uint *)(param_1 + 0x28)) { + if (*(longlong *)(param_1 + 8) == 0) { + lVar5 = 0; + *(uint *)(param_1 + 0x28) = param_2; + fVar13 = (float)param_2 * *(float *)(param_1 + 0x34); + if ((9.223372e+18 < fVar13) && (fVar13 = fVar13 - 9.223372e+18, fVar13 < 9.223372e+18)) { + lVar5 = -0x8000000000000000; + } + fVar12 = (float)param_2 * *(float *)(param_1 + 0x30); + lVar6 = 0; + *(longlong *)(param_1 + 0x38) = (longlong)fVar13 + lVar5; + if ((9.223372e+18 < fVar12) && (fVar12 = fVar12 - 9.223372e+18, fVar12 < 9.223372e+18)) { + lVar6 = -0x8000000000000000; + } + *(longlong *)(param_1 + 0x40) = (longlong)fVar12 + lVar6; + if ((ulonglong)((longlong)fVar12 + lVar6) < 0x11) { + param_1[0x40] = '\0'; + param_1[0x41] = '\0'; + param_1[0x42] = '\0'; + param_1[0x43] = '\0'; + param_1[0x44] = '\0'; + param_1[0x45] = '\0'; + param_1[0x46] = '\0'; + param_1[0x47] = '\0'; + return; + } + } + else { + _Dst = (void *)FUN_140030280((ulonglong)param_2 << 3); + if (_Dst == (void *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + memset(_Dst,0,(ulonglong)param_2 << 3); + uVar7 = 0; + uVar4 = *(ulonglong *)(param_1 + 0x10); + uVar10 = uVar7; + uVar11 = uVar7; + while (uVar4 != 0) { + uVar1 = *(ulonglong *)(uVar4 + 8); + uVar3 = (ulonglong)*(uint *)(uVar4 + 0x18) % (ulonglong)param_2; + lVar5 = *(longlong *)((longlong)_Dst + uVar3 * 8); + iVar9 = (int)uVar10; + if (iVar9 == 0) { + *(undefined8 *)(uVar4 + 0x10) = 0; + *(undefined8 *)(uVar4 + 8) = 0; + uVar10 = 1; + uVar7 = uVar4; + uVar11 = uVar4; + } + else if (lVar5 == 0) { + *(undefined8 *)(uVar4 + 0x10) = 0; + *(ulonglong *)(uVar4 + 8) = uVar7; + if (uVar7 != 0) { + *(ulonglong *)(uVar7 + 0x10) = uVar4; + } + uVar10 = (ulonglong)(iVar9 + 1); + uVar7 = uVar4; + } + else { + uVar8 = uVar4; + if (*(longlong *)(lVar5 + 0x10) != 0) { + *(ulonglong *)(*(longlong *)(lVar5 + 0x10) + 8) = uVar4; + uVar8 = uVar7; + } + uVar2 = *(undefined8 *)(lVar5 + 0x10); + *(longlong *)(uVar4 + 8) = lVar5; + uVar10 = (ulonglong)(iVar9 + 1); + *(undefined8 *)(uVar4 + 0x10) = uVar2; + *(ulonglong *)(lVar5 + 0x10) = uVar4; + uVar7 = uVar8; + } + *(ulonglong *)((longlong)_Dst + uVar3 * 8) = uVar4; + uVar4 = uVar1; + } + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + *(void **)(param_1 + 8) = _Dst; + *(uint *)(param_1 + 0x28) = param_2; + *(ulonglong *)(param_1 + 0x10) = uVar7; + *(ulonglong *)(param_1 + 0x18) = uVar11; + FUN_14003f000(param_1); + lVar5 = 0; + fVar13 = (float)*(uint *)(param_1 + 0x28) * *(float *)(param_1 + 0x34); + if ((9.223372e+18 < fVar13) && (fVar13 = fVar13 - 9.223372e+18, fVar13 < 9.223372e+18)) { + lVar5 = -0x8000000000000000; + } + fVar12 = (float)*(uint *)(param_1 + 0x28) * *(float *)(param_1 + 0x30); + lVar6 = 0; + *(longlong *)(param_1 + 0x38) = (longlong)fVar13 + lVar5; + if ((9.223372e+18 < fVar12) && (fVar12 = fVar12 - 9.223372e+18, fVar12 < 9.223372e+18)) { + lVar6 = -0x8000000000000000; + } + *(longlong *)(param_1 + 0x40) = (longlong)fVar12 + lVar6; + if ((ulonglong)((longlong)fVar12 + lVar6) < 0x11) { + param_1[0x40] = '\0'; + param_1[0x41] = '\0'; + param_1[0x42] = '\0'; + param_1[0x43] = '\0'; + param_1[0x44] = '\0'; + param_1[0x45] = '\0'; + param_1[0x46] = '\0'; + param_1[0x47] = '\0'; + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003f710.c b/decomp/Agent_Release_x64/full/functions/0x14003f710.c new file mode 100644 index 00000000..9e3c3ced --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003f710.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003f710 FUN_14003f710 + * Pseudocode, not original source. */ + +undefined8 FUN_14003f710(longlong param_1,uint param_2,char param_3) + +{ + void *_Dst; + ulonglong uVar1; + longlong lVar2; + longlong lVar3; + SIZE_T _Size; + float fVar4; + float fVar5; + + if (*(LPVOID *)(param_1 + 8) != (LPVOID)0x0) { + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + *(undefined8 *)(param_1 + 8) = 0; + } + if (param_3 != '\0') { + _Size = (ulonglong)param_2 << 3; + _Dst = (void *)FUN_140030280(_Size); + *(void **)(param_1 + 8) = _Dst; + if (_Dst == (void *)0x0) { + return 0; + } + memset(_Dst,0,_Size); + } + lVar2 = 0; + *(uint *)(param_1 + 0x28) = param_2; + fVar4 = (float)param_2; + fVar5 = fVar4 * *(float *)(param_1 + 0x34); + if ((9.223372e+18 < fVar5) && (fVar5 = fVar5 - 9.223372e+18, fVar5 < 9.223372e+18)) { + lVar2 = -0x8000000000000000; + } + fVar4 = fVar4 * *(float *)(param_1 + 0x30); + lVar3 = 0; + *(longlong *)(param_1 + 0x38) = (longlong)fVar5 + lVar2; + if ((9.223372e+18 < fVar4) && (fVar4 = fVar4 - 9.223372e+18, fVar4 < 9.223372e+18)) { + lVar3 = -0x8000000000000000; + } + uVar1 = (longlong)fVar4 + lVar3; + if ((ulonglong)((longlong)fVar4 + lVar3) < 0x11) { + uVar1 = 0; + } + *(ulonglong *)(param_1 + 0x40) = uVar1; + return CONCAT71((int7)(uVar1 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003f800.c b/decomp/Agent_Release_x64/full/functions/0x14003f800.c new file mode 100644 index 00000000..77e060da --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003f800.c @@ -0,0 +1,79 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003f800 FUN_14003f800 + * Pseudocode, not original source. */ + +void FUN_14003f800(longlong param_1,int param_2,undefined8 param_3,longlong param_4) + +{ + longlong *plVar1; + LPVOID pvVar2; + int iVar3; + undefined8 uVar4; + undefined8 *puVar5; + undefined8 *puVar6; + int iVar7; + longlong lVar8; + exception local_58 [80]; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 != *(int *)(param_1 + 0x18)) { + if (*(int *)(param_1 + 0x1c) < param_2) { + iVar3 = FUN_14003d6a0(param_1,param_2); + plVar1 = *(longlong **)(param_1 + 8); + lVar8 = (longlong)iVar3; + if (*(int *)(param_1 + 0x1c) == 0) { + if (plVar1 == (longlong *)0x0) { + uVar4 = FUN_140030280(lVar8 << 4); + *(undefined8 *)(param_1 + 0x10) = uVar4; + } + else { + uVar4 = (**(code **)(*plVar1 + 8))(plVar1,lVar8 << 4); + *(undefined8 *)(param_1 + 0x10) = uVar4; + } + } + else { + pvVar2 = *(LPVOID *)(param_1 + 0x10); + if (plVar1 == (longlong *)0x0) { + puVar5 = (undefined8 *)FUN_140030280(lVar8 << 4); + } + else { + puVar5 = (undefined8 *)(**(code **)(*plVar1 + 8))(); + } + lVar8 = (longlong)*(int *)(param_1 + 0x18); + iVar7 = 0; + if (0 < lVar8) { + param_4 = (longlong)pvVar2 - (longlong)puVar5; + puVar6 = puVar5; + do { + if (puVar6 != (undefined8 *)0x0) { + *puVar6 = *(undefined8 *)(param_4 + (longlong)puVar6); + puVar6[1] = *(undefined8 *)(param_4 + 8 + (longlong)puVar6); + } + iVar7 = iVar7 + 1; + puVar6 = puVar6 + 2; + } while (iVar7 < lVar8); + } + if (puVar5 == (undefined8 *)0x0) { + FUN_14002f1e0(local_58,L"Memory allocation failure!",lVar8,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + plVar1 = *(longlong **)(param_1 + 8); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(pvVar2); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,pvVar2); + } + *(undefined8 **)(param_1 + 0x10) = puVar5; + } + *(int *)(param_1 + 0x1c) = iVar3; + } + *(int *)(param_1 + 0x18) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003f960.c b/decomp/Agent_Release_x64/full/functions/0x14003f960.c new file mode 100644 index 00000000..c81408c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003f960.c @@ -0,0 +1,133 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003f960 FUN_14003f960 + * Pseudocode, not original source. */ + +void FUN_14003f960(char *param_1,uint param_2) + +{ + ulonglong uVar1; + undefined8 uVar2; + ulonglong uVar3; + ulonglong uVar4; + void *_Dst; + longlong lVar5; + longlong lVar6; + ulonglong uVar7; + ulonglong uVar8; + int iVar9; + ulonglong uVar10; + ulonglong uVar11; + float fVar12; + float fVar13; + + if (param_2 == 0) { + param_2 = FUN_14003d4e0((longlong)param_1,*(longlong *)(param_1 + 0x20)); + } + if (param_2 != *(uint *)(param_1 + 0x28)) { + if (*(longlong *)(param_1 + 8) == 0) { + lVar5 = 0; + *(uint *)(param_1 + 0x28) = param_2; + fVar13 = (float)param_2 * *(float *)(param_1 + 0x34); + if ((9.223372e+18 < fVar13) && (fVar13 = fVar13 - 9.223372e+18, fVar13 < 9.223372e+18)) { + lVar5 = -0x8000000000000000; + } + fVar12 = (float)param_2 * *(float *)(param_1 + 0x30); + lVar6 = 0; + *(longlong *)(param_1 + 0x38) = (longlong)fVar13 + lVar5; + if ((9.223372e+18 < fVar12) && (fVar12 = fVar12 - 9.223372e+18, fVar12 < 9.223372e+18)) { + lVar6 = -0x8000000000000000; + } + *(longlong *)(param_1 + 0x40) = (longlong)fVar12 + lVar6; + if ((ulonglong)((longlong)fVar12 + lVar6) < 0x11) { + param_1[0x40] = '\0'; + param_1[0x41] = '\0'; + param_1[0x42] = '\0'; + param_1[0x43] = '\0'; + param_1[0x44] = '\0'; + param_1[0x45] = '\0'; + param_1[0x46] = '\0'; + param_1[0x47] = '\0'; + return; + } + } + else { + _Dst = (void *)FUN_140030280((ulonglong)param_2 << 3); + if (_Dst == (void *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + memset(_Dst,0,(ulonglong)param_2 << 3); + uVar7 = 0; + uVar4 = *(ulonglong *)(param_1 + 0x10); + uVar10 = uVar7; + uVar11 = uVar7; + while (uVar4 != 0) { + uVar1 = *(ulonglong *)(uVar4 + 0x10); + uVar3 = (ulonglong)*(uint *)(uVar4 + 0x20) % (ulonglong)param_2; + lVar5 = *(longlong *)((longlong)_Dst + uVar3 * 8); + iVar9 = (int)uVar10; + if (iVar9 == 0) { + *(undefined8 *)(uVar4 + 0x18) = 0; + *(undefined8 *)(uVar4 + 0x10) = 0; + uVar10 = 1; + uVar7 = uVar4; + uVar11 = uVar4; + } + else if (lVar5 == 0) { + *(undefined8 *)(uVar4 + 0x18) = 0; + *(ulonglong *)(uVar4 + 0x10) = uVar7; + if (uVar7 != 0) { + *(ulonglong *)(uVar7 + 0x18) = uVar4; + } + uVar10 = (ulonglong)(iVar9 + 1); + uVar7 = uVar4; + } + else { + uVar8 = uVar4; + if (*(longlong *)(lVar5 + 0x18) != 0) { + *(ulonglong *)(*(longlong *)(lVar5 + 0x18) + 0x10) = uVar4; + uVar8 = uVar7; + } + uVar2 = *(undefined8 *)(lVar5 + 0x18); + *(longlong *)(uVar4 + 0x10) = lVar5; + uVar10 = (ulonglong)(iVar9 + 1); + *(undefined8 *)(uVar4 + 0x18) = uVar2; + *(ulonglong *)(lVar5 + 0x18) = uVar4; + uVar7 = uVar8; + } + *(ulonglong *)((longlong)_Dst + uVar3 * 8) = uVar4; + uVar4 = uVar1; + } + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + *(void **)(param_1 + 8) = _Dst; + *(uint *)(param_1 + 0x28) = param_2; + *(ulonglong *)(param_1 + 0x10) = uVar7; + *(ulonglong *)(param_1 + 0x18) = uVar11; + FUN_14003d560(param_1); + lVar5 = 0; + fVar13 = (float)*(uint *)(param_1 + 0x28) * *(float *)(param_1 + 0x34); + if ((9.223372e+18 < fVar13) && (fVar13 = fVar13 - 9.223372e+18, fVar13 < 9.223372e+18)) { + lVar5 = -0x8000000000000000; + } + fVar12 = (float)*(uint *)(param_1 + 0x28) * *(float *)(param_1 + 0x30); + lVar6 = 0; + *(longlong *)(param_1 + 0x38) = (longlong)fVar13 + lVar5; + if ((9.223372e+18 < fVar12) && (fVar12 = fVar12 - 9.223372e+18, fVar12 < 9.223372e+18)) { + lVar6 = -0x8000000000000000; + } + *(longlong *)(param_1 + 0x40) = (longlong)fVar12 + lVar6; + if ((ulonglong)((longlong)fVar12 + lVar6) < 0x11) { + param_1[0x40] = '\0'; + param_1[0x41] = '\0'; + param_1[0x42] = '\0'; + param_1[0x43] = '\0'; + param_1[0x44] = '\0'; + param_1[0x45] = '\0'; + param_1[0x46] = '\0'; + param_1[0x47] = '\0'; + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003fbb0.c b/decomp/Agent_Release_x64/full/functions/0x14003fbb0.c new file mode 100644 index 00000000..e61f64d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003fbb0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003fbb0 FUN_14003fbb0 + * Pseudocode, not original source. */ + +void FUN_14003fbb0(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x00014003fbd7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003fbf0.c b/decomp/Agent_Release_x64/full/functions/0x14003fbf0.c new file mode 100644 index 00000000..cf223e5c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003fbf0.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003fbf0 FUN_14003fbf0 + * Pseudocode, not original source. */ + +void * FUN_14003fbf0(undefined8 param_1,ulonglong param_2) + +{ + void *pvVar1; + char *local_res10 [3]; + undefined **local_28 [5]; + + if (param_2 == 0) { + return (void *)0x0; + } + if ((param_2 < 0x2000000000000000) && (pvVar1 = operator_new(param_2 * 8), pvVar1 != (void *)0x0)) + { + return pvVar1; + } + local_res10[0] = (char *)0x0; + std::exception::exception((exception *)local_28,local_res10); + local_28[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_28,(ThrowInfo *)&DAT_140151ad0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003fc60.c b/decomp/Agent_Release_x64/full/functions/0x14003fc60.c new file mode 100644 index 00000000..39300a3d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003fc60.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003fc60 FUN_14003fc60 + * Pseudocode, not original source. */ + +undefined4 FUN_14003fc60(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + if (*param_1 != 0) { + return *(undefined4 *)(*param_1 + 0x18); + } + if (param_1[1] != 0) { + return (int)param_1[2]; + } + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003fc90.c b/decomp/Agent_Release_x64/full/functions/0x14003fc90.c new file mode 100644 index 00000000..78765adf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003fc90.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003fc90 FUN_14003fc90 + * Pseudocode, not original source. */ + +longlong FUN_14003fc90(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + + lVar1 = param_1[1]; + if (lVar1 == 0) { + lVar1 = *param_1; + if (lVar1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + if (*(int *)(lVar1 + 0x18) != 0) { + return *(longlong *)(lVar1 + 0x10); + } + lVar1 = 0; + } + return lVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003fcd0.c b/decomp/Agent_Release_x64/full/functions/0x14003fcd0.c new file mode 100644 index 00000000..7ea075d5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003fcd0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003fcd0 FUN_14003fcd0 + * Pseudocode, not original source. */ + +undefined4 FUN_14003fcd0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + if (*(longlong *)(param_1 + 8) != 0) { + return *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x18); + } + if (*(longlong *)(param_1 + 0x10) != 0) { + return *(undefined4 *)(param_1 + 0x18); + } + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003fd00.c b/decomp/Agent_Release_x64/full/functions/0x14003fd00.c new file mode 100644 index 00000000..aff1c09b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003fd00.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003fd00 FUN_14003fd00 + * Pseudocode, not original source. */ + +undefined8 FUN_14003fd00(longlong param_1,longlong param_2) + +{ + ulonglong uVar1; + longlong lVar2; + + uVar1 = (ulonglong)((uint)*(ushort *)(param_2 + 0xc) ^ *(uint *)(param_2 + 8)) % + (ulonglong)*(uint *)(param_1 + 0x3b0); + if (*(longlong *)(param_1 + 0x390) != 0) { + for (lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x390) + uVar1 * 8); + (lVar2 != 0 && ((uint)uVar1 == *(uint *)(lVar2 + 0x28) % *(uint *)(param_1 + 0x3b0))); + lVar2 = *(longlong *)(lVar2 + 0x18)) { + if ((*(uint *)(lVar2 + 8) == *(uint *)(param_2 + 8)) && + (*(ushort *)(lVar2 + 0xc) == *(ushort *)(param_2 + 0xc))) { + return *(undefined8 *)(lVar2 + 0x10); + } + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003fd60.c b/decomp/Agent_Release_x64/full/functions/0x14003fd60.c new file mode 100644 index 00000000..d8fed075 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003fd60.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003fd60 FUN_14003fd60 + * Pseudocode, not original source. */ + +undefined8 FUN_14003fd60(longlong param_1,longlong param_2) + +{ + ulonglong uVar1; + longlong lVar2; + + uVar1 = (ulonglong)((uint)*(ushort *)(param_2 + 0xc) ^ *(uint *)(param_2 + 8)) % + (ulonglong)*(uint *)(param_1 + 0x1710); + if (*(longlong *)(param_1 + 0x16f0) != 0) { + for (lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x16f0) + uVar1 * 8); + (lVar2 != 0 && ((uint)uVar1 == *(uint *)(lVar2 + 0x28) % *(uint *)(param_1 + 0x1710))); + lVar2 = *(longlong *)(lVar2 + 0x18)) { + if ((*(uint *)(lVar2 + 8) == *(uint *)(param_2 + 8)) && + (*(ushort *)(lVar2 + 0xc) == *(ushort *)(param_2 + 0xc))) goto LAB_14003fdb8; + } + } + lVar2 = 0; +LAB_14003fdb8: + if (lVar2 != 0) { + return *(undefined8 *)(lVar2 + 0x10); + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003fdd0.c b/decomp/Agent_Release_x64/full/functions/0x14003fdd0.c new file mode 100644 index 00000000..08559168 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003fdd0.c @@ -0,0 +1,91 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003fdd0 FUN_14003fdd0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14003fdd0(undefined8 *param_1,undefined8 param_2,undefined1 param_3) + +{ + undefined2 *puVar1; + undefined8 *puVar2; + int iVar3; + + param_1[3] = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 4) = 0; + *(undefined2 *)((longlong)param_1 + 0x24) = 0; + param_1[5] = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 6) = 0; + *(undefined2 *)((longlong)param_1 + 0x34) = 0; + *(undefined4 *)(param_1 + 2) = 0; + *(undefined1 *)(param_1 + 7) = 0; + *(undefined4 *)(param_1 + 4) = DAT_1401553d0; + puVar2 = param_1 + 0xe; + *(undefined2 *)((longlong)param_1 + 0x24) = DAT_1401553d4; + *(undefined4 *)(param_1 + 6) = DAT_1401553d0; + *(undefined2 *)((longlong)param_1 + 0x34) = DAT_1401553d4; + param_1[9] = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 10) = 0; + *(undefined2 *)((longlong)param_1 + 0x54) = 0; + param_1[0xb] = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 0xc) = 0; + *(undefined2 *)((longlong)param_1 + 100) = 0; + *(undefined4 *)(param_1 + 8) = 0; + *(undefined1 *)(param_1 + 0xd) = 0; + iVar3 = 1; + *(undefined4 *)(param_1 + 10) = DAT_1401553d0; + *(undefined2 *)((longlong)param_1 + 0x54) = DAT_1401553d4; + *(undefined4 *)(param_1 + 0xc) = DAT_1401553d0; + *(undefined2 *)((longlong)param_1 + 100) = DAT_1401553d4; + puVar1 = (undefined2 *)((longlong)param_1 + 0x84); + do { + *(undefined ***)(puVar1 + -6) = Proud::AddrPort::vftable; + *(undefined4 *)(puVar1 + -2) = 0; + *puVar1 = 0; + *(undefined ***)(puVar1 + 2) = Proud::AddrPort::vftable; + *(undefined4 *)(puVar1 + 6) = 0; + puVar1[8] = 0; + *(undefined ***)(puVar1 + 10) = Proud::AddrPort::vftable; + *(undefined4 *)(puVar1 + 0xe) = 0; + puVar1[0x10] = 0; + *(undefined ***)(puVar1 + 0x12) = Proud::AddrPort::vftable; + *(undefined4 *)(puVar1 + 0x16) = 0; + puVar1[0x18] = 0; + *(undefined4 *)puVar2 = 0; + *(undefined4 *)(puVar1 + -2) = DAT_1401553d0; + puVar2 = puVar2 + 9; + iVar3 = iVar3 + -1; + *puVar1 = DAT_1401553d4; + *(undefined4 *)(puVar1 + 6) = DAT_1401553d0; + puVar1[8] = DAT_1401553d4; + *(undefined4 *)(puVar1 + 0xe) = DAT_1401553d0; + puVar1[0x10] = DAT_1401553d4; + *(undefined4 *)(puVar1 + 0x16) = DAT_1401553d0; + puVar1[0x18] = DAT_1401553d4; + puVar1 = puVar1 + 0x24; + } while (-1 < iVar3); + param_1[0x25] = 0; + param_1[0x26] = 0; + param_1[0x27] = 0; + param_1[0x28] = 0; + param_1[0x24] = Proud::ByteArray::vftable; + param_1[0x2a] = 0; + param_1[0x2b] = 0; + param_1[0x2c] = 0; + param_1[0x2d] = 0; + param_1[0x29] = Proud::ByteArray::vftable; + *(undefined4 *)((longlong)param_1 + 0x174) = 0; + *(undefined4 *)(param_1 + 0x2f) = 0; + *(undefined4 *)((longlong)param_1 + 0x17c) = 0; + *(undefined4 *)(param_1 + 0x30) = 0; + *(undefined1 *)(param_1 + 0x22) = 0; + *(undefined4 *)((longlong)param_1 + 0x114) = 0; + param_1[0x31] = 0; + param_1[0x32] = 0; + param_1[0x33] = 0; + *(undefined1 *)(param_1 + 0x34) = 0; + *(undefined8 *)((longlong)param_1 + 0x1a4) = 0; + *param_1 = param_2; + *(undefined1 *)(param_1 + 1) = 1; + *(undefined1 *)(param_1 + 0x23) = param_3; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14003ffe0.c b/decomp/Agent_Release_x64/full/functions/0x14003ffe0.c new file mode 100644 index 00000000..8af670c0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14003ffe0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14003ffe0 FUN_14003ffe0 + * Pseudocode, not original source. */ + +void FUN_14003ffe0(longlong *param_1) + +{ + if (*param_1 != 0) { + if (*(int *)((longlong)param_1 + 0xc) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(param_1 + 1) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140040030.c b/decomp/Agent_Release_x64/full/functions/0x140040030.c new file mode 100644 index 00000000..6044319f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140040030.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140040030 FUN_140040030 + * Pseudocode, not original source. */ + +undefined4 * FUN_140040030(longlong *param_1,longlong param_2,undefined4 param_3) + +{ + undefined4 *puVar1; + longlong lVar2; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_1[1] <= param_2) { + FUN_14003f250(param_1,param_2 + 1,-1); + } + if (param_2 < param_1[1]) { + if ((ulonglong)param_1[2] < 0x65) { + puVar1 = (undefined4 *)((longlong)param_1 + param_2 * 4 + 0x20); + *puVar1 = param_3; + return puVar1; + } + lVar2 = *param_1; + *(undefined4 *)(lVar2 + param_2 * 4) = param_3; + return (undefined4 *)(lVar2 + param_2 * 4); + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400400b0.c b/decomp/Agent_Release_x64/full/functions/0x1400400b0.c new file mode 100644 index 00000000..8cb6f792 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400400b0.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400400b0 FUN_1400400b0 + * Pseudocode, not original source. */ + +void FUN_1400400b0(char *param_1,LPVOID param_2,char param_3) + +{ + uint uVar1; + + if (param_2 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if (*(longlong **)(param_1 + 0x50) == (longlong *)0x0) { + FUN_1400302f0(param_2); + } + else { + (**(code **)(**(longlong **)(param_1 + 0x50) + 0x18))(); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + if (((param_3 != '\0') && (*(ulonglong *)(param_1 + 0x20) < *(ulonglong *)(param_1 + 0x40))) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar1 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14003f960(param_1,uVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140040120.c b/decomp/Agent_Release_x64/full/functions/0x140040120.c new file mode 100644 index 00000000..e2373d78 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140040120.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140040120 FUN_140040120 + * Pseudocode, not original source. */ + +void FUN_140040120(char *param_1,LPVOID param_2,char param_3) + +{ + uint uVar1; + ulonglong uVar2; + uint uVar3; + + if (param_2 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar1 = *(uint *)(param_1 + 0x28); + uVar2 = (ulonglong)*(uint *)((longlong)param_2 + 0x20) % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 0x20) == 1) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + } + else { + uVar3 = (uint)uVar2; + if (((*(longlong *)((longlong)param_2 + 0x18) == 0) || + (*(uint *)(*(longlong *)((longlong)param_2 + 0x18) + 0x20) % uVar1 != uVar3)) && + ((*(longlong *)((longlong)param_2 + 0x10) == 0 || + (*(uint *)(*(longlong *)((longlong)param_2 + 0x10) + 0x20) % uVar1 != uVar3)))) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + } + else if (param_2 == *(LPVOID *)(*(longlong *)(param_1 + 8) + (longlong)(int)uVar3 * 8)) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = + *(undefined8 *)((longlong)param_2 + 0x10); + } + if (param_2 == *(LPVOID *)(param_1 + 0x10)) { + *(undefined8 *)(param_1 + 0x10) = *(undefined8 *)((longlong)param_2 + 0x10); + *(undefined8 *)((longlong)param_2 + 0x18) = 0; + } + if (param_2 == *(LPVOID *)(param_1 + 0x18)) { + *(undefined8 *)(param_1 + 0x18) = *(undefined8 *)((longlong)param_2 + 0x18); + *(undefined8 *)((longlong)param_2 + 0x10) = 0; + } + if (*(longlong *)((longlong)param_2 + 0x18) != 0) { + *(undefined8 *)(*(longlong *)((longlong)param_2 + 0x18) + 0x10) = + *(undefined8 *)((longlong)param_2 + 0x10); + } + if (*(longlong *)((longlong)param_2 + 0x10) != 0) { + *(undefined8 *)(*(longlong *)((longlong)param_2 + 0x10) + 0x18) = + *(undefined8 *)((longlong)param_2 + 0x18); + } + } + FUN_1400400b0(param_1,param_2,param_3); + FUN_14003d560(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140040220.c b/decomp/Agent_Release_x64/full/functions/0x140040220.c new file mode 100644 index 00000000..4f414e82 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140040220.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140040220 FUN_140040220 + * Pseudocode, not original source. */ + +void FUN_140040220(longlong param_1,int param_2,undefined8 *param_3,int param_4) + +{ + longlong lVar1; + longlong lVar2; + longlong lVar3; + int iVar4; + + lVar2 = (longlong)param_2; + if (((-1 < param_4) && (-1 < param_2)) && (param_2 <= *(int *)(param_1 + 0x18))) { + iVar4 = *(int *)(param_1 + 0x18); + FUN_14003ecf0(param_1,iVar4 + param_4,(longlong)param_3); + iVar4 = iVar4 - param_2; + lVar1 = 0; + if (0 < iVar4) { + lVar3 = lVar1; + if (*(int *)(param_1 + 0x18) != 0) { + lVar3 = *(longlong *)(param_1 + 0x10); + } + memmove((void *)(lVar3 + (lVar2 + param_4) * 4),(void *)(lVar3 + lVar2 * 4), + (longlong)iVar4 << 2); + } + if (*(int *)(param_1 + 0x18) != 0) { + lVar1 = *(longlong *)(param_1 + 0x10); + } + FUN_14001bd30((undefined8 *)(lVar1 + lVar2 * 4),param_3,(longlong)param_4 << 2); + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400402e0.c b/decomp/Agent_Release_x64/full/functions/0x1400402e0.c new file mode 100644 index 00000000..8ee4766a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400402e0.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400402e0 FUN_1400402e0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400402e0(uint *param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + ulonglong uVar1; + int iVar2; + ulonglong local_res18 [2]; + + uVar1 = FUN_140080ca0(param_1,local_res18,param_3,param_4); + if ((char)uVar1 == '\0') { + return uVar1; + } + iVar2 = (int)local_res18[0]; + if ((-1 < iVar2) && (iVar2 <= DAT_140155140)) { + FUN_14001bc70(param_2,iVar2,param_3); + if (*(int *)(param_2 + 0x18) == 0) { + uVar1 = FUN_140080600(param_1,(undefined8 *)0x0,local_res18[0] & 0xffffffff); + return uVar1; + } + uVar1 = FUN_140080600(param_1,*(undefined8 **)(param_2 + 0x10),local_res18[0] & 0xffffffff); + return uVar1; + } + return uVar1 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140040380.c b/decomp/Agent_Release_x64/full/functions/0x140040380.c new file mode 100644 index 00000000..4a4e3cf7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140040380.c @@ -0,0 +1,132 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140040380 FUN_140040380 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140040380(longlong *param_1) + +{ + longlong lVar1; + undefined4 uVar2; + undefined4 *puVar3; + longlong *plVar4; + ulonglong uVar5; + ulonglong uVar6; + undefined4 *puVar7; + int *piVar8; + undefined1 *puVar9; + ulonglong uVar10; + ulonglong uVar11; + undefined4 *puVar12; + ulonglong uVar13; + undefined1 auStack_38 [32]; + ulonglong local_18 [2]; + + puVar9 = auStack_38; + local_18[0] = DAT_1401555a0 ^ (ulonglong)local_18; + if ((ulonglong)param_1[2] < 0x65) { + plVar4 = param_1 + 4; + } + else { + plVar4 = (longlong *)*param_1; + } + FUN_140040550((longlong)plVar4,(ulonglong)*(uint *)(param_1 + 1),0); + uVar5 = param_1[1] * 4 + 0x10; + if (uVar5 < 0x401) { + lVar1 = param_1[1] * 4; + uVar5 = lVar1 + 0x1f; + if (uVar5 <= lVar1 + 0x10U) { + uVar5 = 0xffffffffffffff0; + } + lVar1 = -(uVar5 & 0xfffffffffffffff0); + puVar9 = auStack_38 + lVar1; + puVar3 = (undefined4 *)((longlong)local_18 + lVar1); + puVar12 = (undefined4 *)0x0; + if (puVar3 == (undefined4 *)0x0) goto LAB_140040430; + *puVar3 = 0xcccc; + puVar9 = auStack_38 + lVar1; + } + else { + puVar3 = malloc(uVar5); + puVar12 = (undefined4 *)0x0; + if (puVar3 == (undefined4 *)0x0) goto LAB_140040430; + *puVar3 = 0xdddd; + puVar9 = auStack_38; + } + puVar12 = puVar3 + 4; +LAB_140040430: + uVar5 = param_1[1]; + uVar13 = 0; + uVar6 = uVar13; + uVar10 = uVar13; + uVar11 = uVar13; + if (uVar5 != 0) { + do { + if (uVar10 == 0) { +LAB_140040477: + if (((longlong)uVar6 < 0) || (param_1[1] <= (longlong)uVar6)) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar9 + -8) = &UNK_1400404f4; + FUN_14002f590(); + } + if ((ulonglong)param_1[2] < 0x65) { + puVar3 = (undefined4 *)((longlong)param_1 + uVar6 * 4 + 0x20); + } + else { + puVar3 = (undefined4 *)(*param_1 + uVar6 * 4); + } + uVar11 = uVar10 + 1; + puVar12[uVar10] = *puVar3; + } + else { + if (((longlong)uVar6 < 0) || (param_1[1] <= (longlong)uVar6)) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar9 + -8) = &UNK_1400404ee; + FUN_14002f590(); + } + if ((ulonglong)param_1[2] < 0x65) { + piVar8 = (int *)((longlong)param_1 + uVar6 * 4 + 0x20); + } + else { + piVar8 = (int *)(*param_1 + uVar6 * 4); + } + uVar11 = uVar10; + if (*piVar8 != puVar12[uVar10 - 1]) goto LAB_140040477; + } + uVar6 = uVar6 + 1; + uVar10 = uVar11; + } while (uVar6 < uVar5); + } + *(undefined8 *)(puVar9 + -8) = 0x1400404b7; + FUN_14003f250(param_1,uVar11,-1); + if (0 < (longlong)uVar11) { + puVar3 = puVar12; + do { + if (((longlong)uVar13 < 0) || (param_1[1] <= (longlong)uVar13)) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar9 + -8) = &UNK_14004054b; + FUN_14002f590(); + } + if ((ulonglong)param_1[2] < 0x65) { + lVar1 = (longlong)param_1 + (0x20 - (longlong)puVar12); + } + else { + lVar1 = *param_1 - (longlong)puVar12; + } + puVar7 = (undefined4 *)(lVar1 + (longlong)puVar3); + uVar2 = *puVar3; + uVar13 = uVar13 + 1; + puVar3 = puVar3 + 1; + *puVar7 = uVar2; + } while ((longlong)uVar13 < (longlong)uVar11); + } + if ((puVar12 != (undefined4 *)0x0) && (puVar12[-4] == 0xdddd)) { + *(undefined8 *)(puVar9 + -8) = 0x140040524; + free(puVar12 + -4); + } + *(undefined8 *)(puVar9 + -8) = 0x140040530; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140040550.c b/decomp/Agent_Release_x64/full/functions/0x140040550.c new file mode 100644 index 00000000..4788f8df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140040550.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140040550 FUN_140040550 + * Pseudocode, not original source. */ + +void FUN_140040550(longlong param_1,ulonglong param_2,int param_3) + +{ + int iVar1; + undefined4 uVar2; + ulonglong uVar3; + int iVar5; + ulonglong uVar6; + uint uVar7; + ulonglong uVar9; + ulonglong uVar10; + longlong lVar11; + uint local_res10; + ulonglong local_res20; + ulonglong local_28; + ulonglong uVar4; + int iVar8; + + local_res10 = (uint)param_2; + uVar6 = (ulonglong)param_3; + local_res20 = (ulonglong)(int)local_res10; + local_28 = uVar6; + if (param_3 < (int)local_res10) { + do { + uVar9 = param_2 & 0xffffffff; + iVar5 = (int)uVar6; + lVar11 = (longlong)iVar5; + uVar3 = local_res20; + while( true ) { + iVar1 = *(int *)(param_1 + local_28 * 4); + iVar8 = *(int *)(param_1 + lVar11 * 4); + while ((iVar8 < iVar1 && (lVar11 < (longlong)uVar3))) { + lVar11 = lVar11 + 1; + iVar8 = *(int *)(param_1 + lVar11 * 4); + } + do { + uVar10 = uVar9; + uVar4 = uVar3; + uVar3 = uVar4 - 1; + iVar8 = (int)uVar10; + uVar7 = iVar8 - 1; + uVar9 = (ulonglong)uVar7; + } while (iVar1 < *(int *)(param_1 + uVar3 * 4)); + if ((longlong)uVar3 <= lVar11) break; + uVar2 = *(undefined4 *)(param_1 + lVar11 * 4); + *(undefined4 *)(param_1 + lVar11 * 4) = *(undefined4 *)(param_1 + uVar3 * 4); + *(undefined4 *)(param_1 + uVar3 * 4) = uVar2; + } + *(undefined4 *)(param_1 + local_28 * 4) = *(undefined4 *)(param_1 + uVar3 * 4); + *(int *)(param_1 + uVar3 * 4) = iVar1; + if ((int)(((int)param_2 - uVar7) + -1) < (int)(uVar7 - iVar5)) { + FUN_140040550(param_1,(ulonglong)(iVar8 - 2),iVar5); + uVar6 = uVar10; + local_28 = uVar4; + } + else { + FUN_140040550(param_1,param_2,iVar8); + local_res10 = iVar8 - 2; + local_res20 = uVar4 - 2; + } + param_2 = (ulonglong)local_res10; + } while ((int)uVar6 < (int)local_res10); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140040660.c b/decomp/Agent_Release_x64/full/functions/0x140040660.c new file mode 100644 index 00000000..16eb3441 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140040660.c @@ -0,0 +1,102 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140040660 FUN_140040660 + * Pseudocode, not original source. */ + +void FUN_140040660(char *param_1) + +{ + longlong *plVar1; + LPVOID pvVar2; + LPVOID pvVar3; + uint uVar4; + ulonglong uVar5; + longlong lVar6; + longlong lVar7; + float fVar8; + float fVar9; + + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + 1; + FUN_140097020(param_1); + pvVar3 = *(LPVOID *)(param_1 + 0x10); + while (pvVar3 != (LPVOID)0x0) { + plVar1 = *(longlong **)(param_1 + 0x50); + pvVar2 = *(LPVOID *)((longlong)pvVar3 + 0x18); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(pvVar3); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,pvVar3); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + pvVar3 = pvVar2; + } + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + param_1[0x20] = '\0'; + param_1[0x21] = '\0'; + param_1[0x22] = '\0'; + param_1[0x23] = '\0'; + param_1[0x24] = '\0'; + param_1[0x25] = '\0'; + param_1[0x26] = '\0'; + param_1[0x27] = '\0'; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + FUN_140097020(param_1); + if (*(int *)(param_1 + 0x48) == 0) { + uVar4 = FUN_14003d4e0((longlong)param_1,*(longlong *)(param_1 + 0x20)); + if (*(LPVOID *)(param_1 + 8) != (LPVOID)0x0) { + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + } + lVar6 = 0; + *(uint *)(param_1 + 0x28) = uVar4; + fVar9 = (float)uVar4 * *(float *)(param_1 + 0x34); + if ((9.223372e+18 < fVar9) && (fVar9 = fVar9 - 9.223372e+18, fVar9 < 9.223372e+18)) { + lVar6 = -0x8000000000000000; + } + fVar8 = (float)uVar4 * *(float *)(param_1 + 0x30); + lVar7 = 0; + *(longlong *)(param_1 + 0x38) = (longlong)fVar9 + lVar6; + if ((9.223372e+18 < fVar8) && (fVar8 = fVar8 - 9.223372e+18, fVar8 < 9.223372e+18)) { + lVar7 = -0x8000000000000000; + } + uVar5 = (longlong)fVar8 + lVar7; + if ((ulonglong)((longlong)fVar8 + lVar7) < 0x11) { + uVar5 = 0; + } + *(ulonglong *)(param_1 + 0x40) = uVar5; + } + FUN_140097020(param_1); + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140040790.c b/decomp/Agent_Release_x64/full/functions/0x140040790.c new file mode 100644 index 00000000..7da72244 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140040790.c @@ -0,0 +1,91 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140040790 FUN_140040790 + * Pseudocode, not original source. */ + +void FUN_140040790(longlong param_1,uint param_2,uint param_3) + +{ + double dVar1; + undefined8 uVar2; + undefined8 uVar3; + undefined8 uVar4; + longlong *plVar5; + longlong lVar6; + ulonglong uVar7; + ulonglong uVar8; + uint uVar9; + ulonglong uVar11; + longlong lVar12; + uint local_res10; + uint local_res18; + ulonglong local_res20; + ulonglong local_28; + uint uVar10; + + uVar11 = (ulonglong)(int)param_3; + uVar8 = (ulonglong)(int)param_2; + local_res10 = param_2; + local_res18 = param_3; + local_res20 = uVar8; + local_28 = uVar11; + if ((int)param_3 < (int)param_2) { + do { + uVar8 = uVar8 & 0xffffffff; + lVar12 = (longlong)(int)uVar11; + uVar11 = local_res20; + while( true ) { + dVar1 = *(double *)(*(longlong *)(param_1 + local_28 * 0x18) + 0x188); + plVar5 = (longlong *)(param_1 + lVar12 * 0x18); + for (; (*(double *)(*plVar5 + 0x188) <= dVar1 && dVar1 != *(double *)(*plVar5 + 0x188) && + (lVar12 < (longlong)uVar11)); lVar12 = lVar12 + 1) { + plVar5 = plVar5 + 3; + } + lVar6 = param_1 + uVar11 * 0x18; + do { + uVar7 = uVar11; + plVar5 = (longlong *)(lVar6 + -0x18); + lVar6 = lVar6 + -0x18; + uVar10 = (uint)uVar8; + uVar9 = uVar10 - 1; + uVar8 = (ulonglong)uVar9; + uVar11 = uVar7 - 1; + } while (dVar1 < *(double *)(*plVar5 + 0x188)); + if ((longlong)uVar11 <= lVar12) break; + uVar2 = *(undefined8 *)(param_1 + lVar12 * 0x18); + uVar3 = *(undefined8 *)(param_1 + 8 + lVar12 * 0x18); + uVar4 = *(undefined8 *)(param_1 + 0x10 + lVar12 * 0x18); + *(undefined8 *)(param_1 + lVar12 * 0x18) = *(undefined8 *)(param_1 + uVar11 * 0x18); + *(undefined8 *)(param_1 + 8 + lVar12 * 0x18) = *(undefined8 *)(param_1 + 8 + uVar11 * 0x18); + *(undefined8 *)(param_1 + 0x10 + lVar12 * 0x18) = + *(undefined8 *)(param_1 + 0x10 + uVar11 * 0x18); + *(undefined8 *)(param_1 + uVar11 * 0x18) = uVar2; + *(undefined8 *)(param_1 + 8 + uVar11 * 0x18) = uVar3; + *(undefined8 *)(param_1 + 0x10 + uVar11 * 0x18) = uVar4; + } + uVar2 = *(undefined8 *)(param_1 + local_28 * 0x18); + uVar3 = *(undefined8 *)(param_1 + 8 + local_28 * 0x18); + uVar4 = *(undefined8 *)(param_1 + 0x10 + local_28 * 0x18); + *(undefined8 *)(param_1 + local_28 * 0x18) = *(undefined8 *)(param_1 + uVar11 * 0x18); + *(undefined8 *)(param_1 + 8 + local_28 * 0x18) = *(undefined8 *)(param_1 + 8 + uVar11 * 0x18); + *(undefined8 *)(param_1 + 0x10 + local_28 * 0x18) = + *(undefined8 *)(param_1 + 0x10 + uVar11 * 0x18); + *(undefined8 *)(param_1 + uVar11 * 0x18) = uVar2; + *(undefined8 *)(param_1 + 8 + uVar11 * 0x18) = uVar3; + *(undefined8 *)(param_1 + 0x10 + uVar11 * 0x18) = uVar4; + if ((int)((local_res10 - uVar9) + -1) < (int)(uVar9 - local_res18)) { + FUN_140040790(param_1,uVar10 - 2,local_res18); + local_res18 = uVar10; + local_28 = uVar7; + } + else { + FUN_140040790(param_1,local_res10,uVar10); + local_res10 = uVar10 - 2; + local_res20 = uVar7 - 2; + } + uVar11 = (ulonglong)local_res18; + uVar8 = (ulonglong)local_res10; + } while ((int)local_res18 < (int)local_res10); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140040950.c b/decomp/Agent_Release_x64/full/functions/0x140040950.c new file mode 100644 index 00000000..5c5b4cba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140040950.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140040950 FUN_140040950 + * Pseudocode, not original source. */ + +void FUN_140040950(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + exception local_50 [80]; + + if (*(longlong *)(param_1 + 0xc80) == 0) { + FUN_14002f1e0(local_50,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + if (*(int *)(param_1 + 0xc8c) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(param_1 + 0xc88) = 0; + if (*(longlong *)(param_1 + 0xc80) != 0) { + if (*(int *)(param_1 + 0xc8c) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(param_1 + 0xc88) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400409d0.c b/decomp/Agent_Release_x64/full/functions/0x1400409d0.c new file mode 100644 index 00000000..e561a66b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400409d0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400409d0 FUN_1400409d0 + * Pseudocode, not original source. */ + +void FUN_1400409d0(longlong param_1,undefined8 param_2,undefined4 param_3) + +{ + int iVar1; + longlong lVar2; + int iVar3; + undefined4 uStack_5c; + exception local_58 [88]; + + lVar2 = *(longlong *)(param_1 + 0xc80); + if (lVar2 == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,0,param_1); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + iVar1 = *(int *)(param_1 + 0xc88); + if (iVar1 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar3 = iVar1 + 1; + if ((-1 < iVar3) && (iVar3 <= *(int *)(param_1 + 0xc8c))) { + *(int *)(param_1 + 0xc88) = iVar3; + *(undefined8 *)(lVar2 + (longlong)iVar1 * 0x10) = param_2; + *(ulonglong *)(lVar2 + 8 + (longlong)iVar1 * 0x10) = CONCAT44(uStack_5c,param_3); + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140040a60.c b/decomp/Agent_Release_x64/full/functions/0x140040a60.c new file mode 100644 index 00000000..5d614409 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140040a60.c @@ -0,0 +1,84 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140040a60 FUN_140040a60 + * Pseudocode, not original source. */ + +void FUN_140040a60(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + int iVar2; + int iVar3; + longlong lVar4; + int iVar5; + ulonglong uVar6; + ulonglong uVar7; + ulonglong uVar8; + ulonglong uVar9; + exception local_58 [80]; + + if (*(longlong *)(param_2 + 0xc80) == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + iVar2 = *(int *)(param_2 + 0xc88); + if (*(longlong *)(param_1 + 0xc80) == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + iVar3 = *(int *)(param_1 + 0xc88); + iVar5 = iVar3 + iVar2; + if (*(longlong *)(param_1 + 0xc80) == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if ((-1 < iVar5) && (iVar5 <= *(int *)(param_1 + 0xc8c))) { + *(int *)(param_1 + 0xc88) = iVar5; + if (*(longlong *)(param_1 + 0xc80) == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if (*(longlong *)(param_2 + 0xc80) == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + uVar6 = 0; + if (0 < iVar2) { + lVar1 = *(longlong *)(param_1 + 0xc80) + (longlong)iVar3 * 0x10; + uVar7 = uVar6; + uVar8 = uVar6; + do { + lVar4 = *(longlong *)(param_2 + 0xc80); + if (lVar4 == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,uVar6, + uVar7); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if (((longlong)uVar7 < 0) || (*(int *)(param_2 + 0xc88) <= (int)uVar6)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar7 = uVar7 + 1; + uVar9 = uVar8 + 0x10; + *(undefined8 *)(lVar1 + -0x10 + uVar9) = *(undefined8 *)(uVar8 + lVar4); + uVar6 = (ulonglong)((int)uVar6 + 1); + *(undefined8 *)(lVar1 + -8 + uVar9) = *(undefined8 *)(uVar8 + 8 + lVar4); + uVar8 = uVar9; + } while ((longlong)uVar7 < (longlong)iVar2); + } + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140040c10.c b/decomp/Agent_Release_x64/full/functions/0x140040c10.c new file mode 100644 index 00000000..e469b8c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140040c10.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140040c10 FUN_140040c10 + * Pseudocode, not original source. */ + +void FUN_140040c10(longlong param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + longlong *plVar1; + + plVar1 = param_3; + if (*(longlong *)(param_1 + 0x1790) != 0) { + plVar1 = (longlong *)*param_3; + if ((longlong *)*param_3 == (longlong *)0x0) { + plVar1 = (longlong *)PTR_DAT_140155010; + } + param_2 = 0; + FUN_14008f2e0(*(longlong *)(param_1 + 0x1790),0,(short *)plVar1,param_4); + } + FUN_140003240(param_3,param_2,plVar1,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140040c60.c b/decomp/Agent_Release_x64/full/functions/0x140040c60.c new file mode 100644 index 00000000..cb77328d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140040c60.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140040c60 FUN_140040c60 + * Pseudocode, not original source. */ + +undefined4 FUN_140040c60(longlong param_1,longlong param_2) + +{ + ushort uVar1; + uint uVar2; + longlong lVar3; + ulonglong uVar4; + + if ((*(int *)(param_2 + 8) == 0) || (uVar4 = FUN_140033290(param_2), (char)uVar4 != '\0')) { + uVar1 = *(ushort *)(param_2 + 0xc); + uVar2 = *(uint *)(param_2 + 8); + uVar4 = (ulonglong)(uVar1 ^ uVar2) % (ulonglong)*(uint *)(param_1 + 0x3b0); + if (*(longlong *)(param_1 + 0x390) != 0) { + lVar3 = *(longlong *)(*(longlong *)(param_1 + 0x390) + uVar4 * 8); + while( true ) { + if ((lVar3 == 0) || ((uint)uVar4 != *(uint *)(lVar3 + 0x28) % *(uint *)(param_1 + 0x3b0))) + goto LAB_140040ce3; + if ((*(uint *)(lVar3 + 8) == uVar2) && (*(ushort *)(lVar3 + 0xc) == uVar1)) break; + lVar3 = *(longlong *)(lVar3 + 0x18); + } + if (*(longlong *)(lVar3 + 0x10) != 0) { + return *(undefined4 *)(*(longlong *)(lVar3 + 0x10) + 0x6f8); + } + } +LAB_140040ce3: + uVar4 = (ulonglong)(uVar1 ^ uVar2) % (ulonglong)*(uint *)(param_1 + 0x718); + if (*(longlong *)(param_1 + 0x6f8) != 0) { + for (lVar3 = *(longlong *)(*(longlong *)(param_1 + 0x6f8) + uVar4 * 8); + (lVar3 != 0 && ((uint)uVar4 == *(uint *)(lVar3 + 0x28) % *(uint *)(param_1 + 0x718))); + lVar3 = *(longlong *)(lVar3 + 0x18)) { + if ((*(uint *)(lVar3 + 8) == uVar2) && (*(ushort *)(lVar3 + 0xc) == uVar1)) { + return 1; + } + } + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140040d70.c b/decomp/Agent_Release_x64/full/functions/0x140040d70.c new file mode 100644 index 00000000..c7590539 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140040d70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140040d70 FUN_140040d70 + * Pseudocode, not original source. */ + +void FUN_140040d70(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140003240((longlong *)(param_1 + 8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140040d80.c b/decomp/Agent_Release_x64/full/functions/0x140040d80.c new file mode 100644 index 00000000..630fe04c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140040d80.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140040d80 FUN_140040d80 + * Pseudocode, not original source. */ + +undefined8 * FUN_140040d80(undefined8 *param_1,longlong param_2,SIZE_T param_3) + +{ + undefined4 uVar1; + int iVar2; + undefined8 *puVar3; + undefined8 *puVar4; + + *param_1 = Proud::CFastArray::vftable; + if (DAT_1401558a0 != 5) { + FUN_14003b760(); + } + puVar4 = (undefined8 *)0x0; + param_1[1] = *(undefined8 *)(param_2 + 8); + uVar1 = *(undefined4 *)(param_2 + 0x24); + param_1[2] = 0; + param_1[3] = 0; + *(undefined4 *)(param_1 + 4) = 0; + *(undefined4 *)((longlong)param_1 + 0x24) = uVar1; + iVar2 = *(int *)(param_2 + 0x18); + if (-1 < iVar2) { + FUN_14001bc70((longlong)param_1,iVar2,param_3); + puVar3 = puVar4; + if (*(int *)(param_2 + 0x18) != 0) { + puVar3 = *(undefined8 **)(param_2 + 0x10); + } + if (*(int *)(param_1 + 3) != 0) { + puVar4 = (undefined8 *)param_1[2]; + } + FUN_14001bd30(puVar4,puVar3,(longlong)iVar2); + return param_1; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140040e20.c b/decomp/Agent_Release_x64/full/functions/0x140040e20.c new file mode 100644 index 00000000..ad222e1d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140040e20.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140040e20 FUN_140040e20 + * Pseudocode, not original source. */ + +longlong * FUN_140040e20(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + ulonglong uVar2; + undefined7 uVar3; + + uVar3 = (undefined7)((ulonglong)param_3 >> 8); + if (param_2 == 0) { + *param_1 = 0; + } + else { + piVar1 = (int *)FUN_140030280(0x48); + if (piVar1 != (int *)0x0) { + uVar2 = FUN_14002e790(); + FUN_14002e600(piVar1,uVar2 & 0xffffffff,CONCAT71(uVar3,1),param_4); + } + *param_1 = (longlong)piVar1; + FUN_14002e6e0(piVar1); + *(undefined8 *)(*param_1 + 0x40) = 1; + *(longlong *)(*param_1 + 0x38) = param_2; + FUN_14002e770((longlong)piVar1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140040ec0.c b/decomp/Agent_Release_x64/full/functions/0x140040ec0.c new file mode 100644 index 00000000..ead0d3d9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140040ec0.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140040ec0 FUN_140040ec0 + * Pseudocode, not original source. */ + +void FUN_140040ec0(longlong *param_1,undefined4 *param_2,longlong param_3) + +{ + longlong lVar1; + undefined4 uVar2; + undefined4 *puVar3; + undefined4 *puVar4; + longlong lVar5; + + if (param_3 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14003f250(param_1,param_3,-1); + lVar5 = 0; + if (0 < param_3) { + puVar4 = param_2; + do { + if ((lVar5 < 0) || (param_1[1] <= lVar5)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_1[2] < 0x65) { + lVar1 = (longlong)param_1 + (0x20 - (longlong)param_2); + } + else { + lVar1 = *param_1 - (longlong)param_2; + } + puVar3 = (undefined4 *)(lVar1 + (longlong)puVar4); + uVar2 = *puVar4; + lVar5 = lVar5 + 1; + puVar4 = puVar4 + 1; + *puVar3 = uVar2; + } while (lVar5 < param_3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140040f50.c b/decomp/Agent_Release_x64/full/functions/0x140040f50.c new file mode 100644 index 00000000..632ab816 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140040f50.c @@ -0,0 +1,102 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140040f50 FUN_140040f50 + * Pseudocode, not original source. */ + +void FUN_140040f50(char *param_1) + +{ + longlong *plVar1; + LPVOID pvVar2; + LPVOID pvVar3; + uint uVar4; + ulonglong uVar5; + longlong lVar6; + longlong lVar7; + float fVar8; + float fVar9; + + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + 1; + FUN_14003f000(param_1); + pvVar3 = *(LPVOID *)(param_1 + 0x10); + while (pvVar3 != (LPVOID)0x0) { + plVar1 = *(longlong **)(param_1 + 0x50); + pvVar2 = *(LPVOID *)((longlong)pvVar3 + 8); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(pvVar3); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,pvVar3); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + pvVar3 = pvVar2; + } + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + param_1[0x20] = '\0'; + param_1[0x21] = '\0'; + param_1[0x22] = '\0'; + param_1[0x23] = '\0'; + param_1[0x24] = '\0'; + param_1[0x25] = '\0'; + param_1[0x26] = '\0'; + param_1[0x27] = '\0'; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + FUN_14003f000(param_1); + if (*(int *)(param_1 + 0x48) == 0) { + uVar4 = FUN_14003d4e0((longlong)param_1,*(longlong *)(param_1 + 0x20)); + if (*(LPVOID *)(param_1 + 8) != (LPVOID)0x0) { + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + } + lVar6 = 0; + *(uint *)(param_1 + 0x28) = uVar4; + fVar9 = (float)uVar4 * *(float *)(param_1 + 0x34); + if ((9.223372e+18 < fVar9) && (fVar9 = fVar9 - 9.223372e+18, fVar9 < 9.223372e+18)) { + lVar6 = -0x8000000000000000; + } + fVar8 = (float)uVar4 * *(float *)(param_1 + 0x30); + lVar7 = 0; + *(longlong *)(param_1 + 0x38) = (longlong)fVar9 + lVar6; + if ((9.223372e+18 < fVar8) && (fVar8 = fVar8 - 9.223372e+18, fVar8 < 9.223372e+18)) { + lVar7 = -0x8000000000000000; + } + uVar5 = (longlong)fVar8 + lVar7; + if ((ulonglong)((longlong)fVar8 + lVar7) < 0x11) { + uVar5 = 0; + } + *(ulonglong *)(param_1 + 0x40) = uVar5; + } + FUN_14003f000(param_1); + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140041080.c b/decomp/Agent_Release_x64/full/functions/0x140041080.c new file mode 100644 index 00000000..302f44c4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140041080.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140041080 FUN_140041080 + * Pseudocode, not original source. */ + +void FUN_140041080(undefined8 *param_1) + +{ + void *pvVar1; + + pvVar1 = (void *)*param_1; + if (pvVar1 != (void *)0x0) { + FUN_14003b870((undefined8 *)((longlong)pvVar1 + 0x148)); + FUN_14003b870((undefined8 *)((longlong)pvVar1 + 0x120)); + operator_delete(pvVar1); + } + FUN_1400302f0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400410e0.c b/decomp/Agent_Release_x64/full/functions/0x1400410e0.c new file mode 100644 index 00000000..3834f221 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400410e0.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400410e0 FUN_1400410e0 + * Pseudocode, not original source. */ + +void FUN_1400410e0(undefined4 *param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + undefined1 *puVar1; + + puVar1 = *(undefined1 **)(param_1 + 0xe); + if (puVar1 != (undefined1 *)0x0) { + FUN_1400907a0(puVar1,param_2,param_3,param_4); + operator_delete(puVar1); + } + FUN_14002e7a0(param_1,param_2,param_3,param_4); + FUN_1400302f0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140041130.c b/decomp/Agent_Release_x64/full/functions/0x140041130.c new file mode 100644 index 00000000..e6f7c954 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140041130.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140041130 FUN_140041130 + * Pseudocode, not original source. */ + +undefined4 * FUN_140041130(char *param_1,undefined4 *param_2,uint param_3,undefined4 param_4) + +{ + undefined4 uVar1; + longlong *plVar2; + longlong lVar3; + undefined8 uVar4; + uint uVar5; + undefined4 *puVar6; + + plVar2 = *(longlong **)(param_1 + 0x50); + if (plVar2 == (longlong *)0x0) { + puVar6 = (undefined4 *)FUN_140030280(0x20); + } + else { + puVar6 = (undefined4 *)(**(code **)(*plVar2 + 8))(plVar2,0x20); + } + if (puVar6 != (undefined4 *)0x0) { + uVar1 = *param_2; + puVar6[6] = param_4; + *puVar6 = uVar1; + } + lVar3 = *(longlong *)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8); + FUN_14003f000(param_1); + if (*(longlong *)(param_1 + 0x20) == 0) { + *(undefined4 **)(param_1 + 0x10) = puVar6; + *(undefined4 **)(param_1 + 0x18) = puVar6; + *(undefined8 *)(puVar6 + 4) = 0; + *(undefined8 *)(puVar6 + 2) = 0; + } + else { + FUN_14003f000(param_1); + FUN_14003f000(param_1); + if (lVar3 == 0) { + lVar3 = *(longlong *)(param_1 + 0x10); + *(undefined8 *)(puVar6 + 4) = 0; + *(longlong *)(puVar6 + 2) = lVar3; + if (lVar3 != 0) { + *(undefined4 **)(lVar3 + 0x10) = puVar6; + } + *(undefined4 **)(param_1 + 0x10) = puVar6; + } + else { + if (*(longlong *)(lVar3 + 0x10) == 0) { + *(undefined4 **)(param_1 + 0x10) = puVar6; + } + else { + *(undefined4 **)(*(longlong *)(lVar3 + 0x10) + 8) = puVar6; + } + uVar4 = *(undefined8 *)(lVar3 + 0x10); + *(longlong *)(puVar6 + 2) = lVar3; + *(undefined8 *)(puVar6 + 4) = uVar4; + *(undefined4 **)(lVar3 + 0x10) = puVar6; + } + } + *(undefined4 **)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8) = puVar6; + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; + FUN_14003f000(param_1); + FUN_14003f000(param_1); + if ((*(ulonglong *)(param_1 + 0x38) < *(ulonglong *)(param_1 + 0x20)) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar5 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14003f4c0(param_1,uVar5); + } + FUN_14003f000(param_1); + return puVar6; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140041270.c b/decomp/Agent_Release_x64/full/functions/0x140041270.c new file mode 100644 index 00000000..129d702a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140041270.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140041270 FUN_140041270 + * Pseudocode, not original source. */ + +undefined4 * FUN_140041270(char *param_1,undefined4 *param_2,uint param_3,undefined4 param_4) + +{ + undefined4 uVar1; + longlong *plVar2; + longlong lVar3; + undefined8 uVar4; + uint uVar5; + undefined4 *puVar6; + + plVar2 = *(longlong **)(param_1 + 0x50); + if (plVar2 == (longlong *)0x0) { + puVar6 = (undefined4 *)FUN_140030280(0x30); + } + else { + puVar6 = (undefined4 *)(**(code **)(*plVar2 + 8))(plVar2,0x30); + } + if (puVar6 != (undefined4 *)0x0) { + uVar1 = *param_2; + puVar6[10] = param_4; + *puVar6 = uVar1; + } + lVar3 = *(longlong *)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8); + FUN_140097020(param_1); + if (*(longlong *)(param_1 + 0x20) == 0) { + *(undefined4 **)(param_1 + 0x10) = puVar6; + *(undefined4 **)(param_1 + 0x18) = puVar6; + *(undefined8 *)(puVar6 + 8) = 0; + *(undefined8 *)(puVar6 + 6) = 0; + } + else { + FUN_140097020(param_1); + FUN_140097020(param_1); + if (lVar3 == 0) { + lVar3 = *(longlong *)(param_1 + 0x10); + *(undefined8 *)(puVar6 + 8) = 0; + *(longlong *)(puVar6 + 6) = lVar3; + if (lVar3 != 0) { + *(undefined4 **)(lVar3 + 0x20) = puVar6; + } + *(undefined4 **)(param_1 + 0x10) = puVar6; + } + else { + if (*(longlong *)(lVar3 + 0x20) == 0) { + *(undefined4 **)(param_1 + 0x10) = puVar6; + } + else { + *(undefined4 **)(*(longlong *)(lVar3 + 0x20) + 0x18) = puVar6; + } + uVar4 = *(undefined8 *)(lVar3 + 0x20); + *(longlong *)(puVar6 + 6) = lVar3; + *(undefined8 *)(puVar6 + 8) = uVar4; + *(undefined4 **)(lVar3 + 0x20) = puVar6; + } + } + *(undefined4 **)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8) = puVar6; + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; + FUN_140097020(param_1); + FUN_140097020(param_1); + if ((*(ulonglong *)(param_1 + 0x38) < *(ulonglong *)(param_1 + 0x20)) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar5 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14009f920(param_1,uVar5); + } + FUN_140097020(param_1); + return puVar6; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400413b0.c b/decomp/Agent_Release_x64/full/functions/0x1400413b0.c new file mode 100644 index 00000000..642feb3d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400413b0.c @@ -0,0 +1,71 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400413b0 FUN_1400413b0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400413b0(char *param_1,undefined8 *param_2,uint param_3,undefined4 param_4) + +{ + longlong *plVar1; + undefined8 uVar2; + longlong lVar3; + uint uVar4; + undefined8 *puVar5; + + plVar1 = *(longlong **)(param_1 + 0x50); + if (plVar1 == (longlong *)0x0) { + puVar5 = (undefined8 *)FUN_140030280(0x28); + } + else { + puVar5 = (undefined8 *)(**(code **)(*plVar1 + 8))(plVar1,0x28); + } + if (puVar5 != (undefined8 *)0x0) { + uVar2 = *param_2; + *(undefined4 *)(puVar5 + 4) = param_4; + *puVar5 = uVar2; + } + lVar3 = *(longlong *)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8); + FUN_14003d560(param_1); + if (*(longlong *)(param_1 + 0x20) == 0) { + *(undefined8 **)(param_1 + 0x10) = puVar5; + *(undefined8 **)(param_1 + 0x18) = puVar5; + puVar5[3] = 0; + puVar5[2] = 0; + } + else { + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if (lVar3 == 0) { + lVar3 = *(longlong *)(param_1 + 0x10); + puVar5[3] = 0; + puVar5[2] = lVar3; + if (lVar3 != 0) { + *(undefined8 **)(lVar3 + 0x18) = puVar5; + } + *(undefined8 **)(param_1 + 0x10) = puVar5; + } + else { + if (*(longlong *)(lVar3 + 0x18) == 0) { + *(undefined8 **)(param_1 + 0x10) = puVar5; + } + else { + *(undefined8 **)(*(longlong *)(lVar3 + 0x18) + 0x10) = puVar5; + } + uVar2 = *(undefined8 *)(lVar3 + 0x18); + puVar5[2] = lVar3; + puVar5[3] = uVar2; + *(undefined8 **)(lVar3 + 0x18) = puVar5; + } + } + *(undefined8 **)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8) = puVar5; + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if ((*(ulonglong *)(param_1 + 0x38) < *(ulonglong *)(param_1 + 0x20)) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar4 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14003f960(param_1,uVar4); + } + FUN_14003d560(param_1); + return puVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400414f0.c b/decomp/Agent_Release_x64/full/functions/0x1400414f0.c new file mode 100644 index 00000000..bcea4288 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400414f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400414f0 FUN_1400414f0 + * Pseudocode, not original source. */ + +void FUN_1400414f0(char *param_1) + +{ + FUN_140040660(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140041510.c b/decomp/Agent_Release_x64/full/functions/0x140041510.c new file mode 100644 index 00000000..a06cb230 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140041510.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140041510 FUN_140041510 + * Pseudocode, not original source. */ + +void FUN_140041510(longlong param_1) + +{ + longlong lVar1; + longlong lVar2; + + lVar2 = *(longlong *)(param_1 + 0x20); + lVar1 = lVar2; + while (lVar1 != 0) { + if (lVar2 != 0) { + lVar2 = lVar2 + -1; + *(longlong *)(param_1 + 0x20) = lVar2; + if (lVar2 == 0) { + *(undefined8 *)(param_1 + 0x18) = 0; + } + } + lVar1 = *(longlong *)(param_1 + 0x20); + } + lVar2 = *(longlong *)(param_1 + 0x10); + while (lVar2 != 0) { + lVar2 = lVar2 + -1; + if (*(longlong *)(*(longlong *)(param_1 + 8) + lVar2 * 8) != 0) { + operator_delete(*(void **)(*(longlong *)(param_1 + 8) + lVar2 * 8)); + } + } + if (*(void **)(param_1 + 8) != (void *)0x0) { + operator_delete(*(void **)(param_1 + 8)); + } + *(undefined8 *)(param_1 + 8) = 0; + *(undefined8 *)(param_1 + 0x10) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400415a0.c b/decomp/Agent_Release_x64/full/functions/0x1400415a0.c new file mode 100644 index 00000000..4796e2e4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400415a0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400415a0 FUN_1400415a0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400415a0(undefined8 *param_1,undefined8 *param_2) + +{ + undefined8 uVar1; + longlong lVar2; + longlong lVar3; + + uVar1 = *param_1; + lVar2 = param_1[4]; + param_2[1] = 0; + lVar3 = param_1[3]; + *param_2 = uVar1; + param_2[2] = lVar2 + lVar3; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400415c0.c b/decomp/Agent_Release_x64/full/functions/0x1400415c0.c new file mode 100644 index 00000000..9b9c1849 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400415c0.c @@ -0,0 +1,65 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400415c0 FUN_1400415c0 + * Pseudocode, not original source. */ + +void FUN_1400415c0(longlong param_1,ulonglong param_2) + +{ + longlong lVar1; + size_t sVar2; + code *pcVar3; + ulonglong uVar4; + void *_Dst; + void *pvVar5; + void *pvVar6; + ulonglong uVar7; + + uVar7 = *(ulonglong *)(param_1 + 0x10); + if (0xfffffffffffffff - uVar7 < param_2) { + std::_Xlength_error("deque too long"); + pcVar3 = (code *)swi(3); + (*pcVar3)(); + return; + } + uVar4 = uVar7 >> 1; + if (uVar4 < 8) { + uVar4 = 8; + } + if ((param_2 < uVar4) && (uVar7 <= 0xfffffffffffffff - uVar4)) { + param_2 = uVar4; + } + uVar4 = *(ulonglong *)(param_1 + 0x18) >> 2; + _Dst = FUN_14003fbf0(param_1 + 0x29,uVar7 + param_2); + lVar1 = uVar4 * 8; + pvVar5 = (void *)(lVar1 + *(longlong *)(param_1 + 8)); + uVar7 = (*(longlong *)(param_1 + 0x10) * 8 - (longlong)pvVar5) + *(longlong *)(param_1 + 8) & + 0xfffffffffffffff8; + pvVar5 = memmove((void *)(lVar1 + (longlong)_Dst),pvVar5,uVar7); + pvVar5 = (void *)((longlong)pvVar5 + uVar7); + if (param_2 < uVar4) { + memmove(pvVar5,*(void **)(param_1 + 8),param_2 * 8); + pvVar5 = (void *)(param_2 * 8 + *(longlong *)(param_1 + 8)); + sVar2 = ((lVar1 - (longlong)pvVar5) + *(longlong *)(param_1 + 8) >> 3) * 8; + pvVar5 = memmove(_Dst,pvVar5,sVar2); + pvVar5 = (void *)((longlong)pvVar5 + sVar2); + uVar4 = param_2; + } + else { + sVar2 = (lVar1 >> 3) * 8; + pvVar6 = memmove(pvVar5,*(void **)(param_1 + 8),sVar2); + pvVar5 = _Dst; + if (param_2 - uVar4 != 0) { + memset((void *)((longlong)pvVar6 + sVar2),0,(param_2 - uVar4) * 8); + } + } + if (uVar4 != 0) { + memset(pvVar5,0,uVar4 << 3); + } + if (*(void **)(param_1 + 8) != (void *)0x0) { + operator_delete(*(void **)(param_1 + 8)); + } + *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + param_2; + *(void **)(param_1 + 8) = _Dst; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140041760.c b/decomp/Agent_Release_x64/full/functions/0x140041760.c new file mode 100644 index 00000000..2f9fa913 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140041760.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140041760 FUN_140041760 + * Pseudocode, not original source. */ + +longlong FUN_140041760(longlong param_1,longlong param_2,undefined8 param_3) + +{ + uint uVar1; + longlong lVar2; + longlong lVar3; + exception local_58 [80]; + + *(undefined4 *)(param_1 + 0xc8c) = 200; + lVar3 = 0; + *(undefined4 *)(param_1 + 0xc88) = 0; + *(longlong *)(param_1 + 0xc80) = param_1; + lVar2 = *(longlong *)(param_2 + 8); + if (lVar2 == 0) { + if (*(longlong *)(param_2 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,0); + } + uVar1 = *(uint *)(param_2 + 0x18); + } + else { + uVar1 = *(uint *)(lVar2 + 0x18); + } + if (*(longlong *)(param_2 + 0x10) == 0) { + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,(ulonglong)uVar1,0); + } + if (*(int *)(lVar2 + 0x18) != 0) { + lVar3 = *(longlong *)(lVar2 + 0x10); + } + } + else { + lVar3 = *(longlong *)(param_2 + 0x10); + if (lVar3 == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0, + (ulonglong)uVar1,0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + } + FUN_1400409d0(param_1,lVar3,uVar1); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140041820.c b/decomp/Agent_Release_x64/full/functions/0x140041820.c new file mode 100644 index 00000000..23449cd2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140041820.c @@ -0,0 +1,79 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140041820 FUN_140041820 + * Pseudocode, not original source. */ + +ulonglong FUN_140041820(longlong param_1,uint param_2,longlong param_3) + +{ + undefined4 uVar1; + int iVar2; + uint *puVar3; + int *piVar4; + undefined8 uVar5; + ulonglong uVar6; + longlong lVar7; + longlong lVar8; + int iVar9; + longlong lVar10; + undefined4 *puVar11; + + FUN_14003ecf0(param_3,0,param_3); + piVar4 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200))(param_1 + -0xa8); + } + uVar6 = (ulonglong)param_2 % (ulonglong)*(uint *)(param_1 + 0xbf8); + if (*(longlong *)(param_1 + 0xbd8) != 0) { + for (puVar3 = *(uint **)(*(longlong *)(param_1 + 0xbd8) + uVar6 * 8); + (puVar3 != (uint *)0x0 && ((uint)uVar6 == puVar3[8] % *(uint *)(param_1 + 0xbf8))); + puVar3 = *(uint **)(puVar3 + 4)) { + if (*puVar3 == param_2) { + if (*(longlong *)(*(longlong *)(puVar3 + 2) + 0x68) == 0) { + puVar11 = (undefined4 *)0x0; + } + else { + puVar11 = *(undefined4 **)(*(longlong *)(puVar3 + 2) + 0x58); + } + while( true ) { + if (puVar11 == (undefined4 *)0x0) { + uVar5 = FUN_14002e770((longlong)piVar4); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); + } + uVar1 = *puVar11; + iVar2 = *(int *)(param_3 + 0x18); + lVar10 = (longlong)iVar2; + if (iVar2 < 0) break; + iVar9 = *(int *)(param_3 + 0x18); + FUN_14003ecf0(param_3,iVar9 + 1,uVar6); + iVar9 = iVar9 - iVar2; + if (0 < iVar9) { + if (*(int *)(param_3 + 0x18) == 0) { + lVar8 = 0; + lVar7 = 0; + } + else { + lVar8 = *(longlong *)(param_3 + 0x10); + lVar7 = *(longlong *)(param_3 + 0x10); + } + uVar6 = (longlong)iVar9 << 2; + memmove((void *)(lVar7 + 4 + lVar10 * 4),(void *)(lVar8 + lVar10 * 4),uVar6); + } + if (*(int *)(param_3 + 0x18) == 0) { + lVar8 = 0; + } + else { + lVar8 = *(longlong *)(param_3 + 0x10); + } + *(undefined4 *)(lVar8 + lVar10 * 4) = uVar1; + puVar11 = *(undefined4 **)(puVar11 + 4); + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + } + uVar6 = FUN_14002e770((longlong)piVar4); + return uVar6 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400419b0.c b/decomp/Agent_Release_x64/full/functions/0x1400419b0.c new file mode 100644 index 00000000..b0d09b50 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400419b0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400419b0 FUN_1400419b0 + * Pseudocode, not original source. */ + +void FUN_1400419b0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + int *piVar3; + longlong lVar4; + undefined8 uVar5; + + plVar1 = (longlong *)(param_1 + -0xa8); + piVar3 = (int *)(**(code **)(*plVar1 + 0x58))(plVar1); + FUN_14002e6e0(piVar3); + if (DAT_14015bfcf != '\0') { + (**(code **)(*plVar1 + 200))(plVar1,L"Proud::CNetServerImpl::CloseEveryConnection"); + } + if (*(longlong *)(param_1 + 0xbf0) == 0) { + lVar4 = 0; + } + else { + lVar4 = *(longlong *)(param_1 + 0xbe0); + } + for (; lVar4 != 0; lVar4 = *(longlong *)(lVar4 + 0x10)) { + lVar2 = *(longlong *)(lVar4 + 8); + if ((*(longlong *)(lVar2 + 0x228) == 0) && (*(double *)(lVar2 + 0x758) == 0.0)) { + uVar5 = (**(code **)(*(longlong *)(param_1 + 0x70) + 8))(); + *(undefined8 *)(lVar2 + 0x758) = uVar5; + (**(code **)(*(longlong *)(param_1 + 0x400) + 0x100)) + ((longlong *)(param_1 + 0x400),*(undefined4 *)(lVar2 + 0x6f8),&DAT_14015de10); + } + } + FUN_14002e770((longlong)piVar3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140041ab0.c b/decomp/Agent_Release_x64/full/functions/0x140041ab0.c new file mode 100644 index 00000000..c56056f7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140041ab0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140041ab0 FUN_140041ab0 + * Pseudocode, not original source. */ + +longlong FUN_140041ab0(longlong param_1,uint param_2) + +{ + longlong lVar1; + ulonglong uVar2; + uint *puVar3; + + uVar2 = (ulonglong)param_2 % (ulonglong)*(uint *)(param_1 + 0xca0); + if ((*(longlong *)(param_1 + 0xc80) != 0) && + (puVar3 = *(uint **)(*(longlong *)(param_1 + 0xc80) + uVar2 * 8), puVar3 != (uint *)0x0)) { + while ((uint)uVar2 == puVar3[8] % *(uint *)(param_1 + 0xca0)) { + if (*puVar3 == param_2) { + lVar1 = *(longlong *)(puVar3 + 2); + if (lVar1 == 0) { + return 0; + } + if (*(longlong *)(lVar1 + 0x228) != 0) { + return 0; + } + return lVar1; + } + puVar3 = *(uint **)(puVar3 + 4); + if (puVar3 == (uint *)0x0) { + return 0; + } + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140041b20.c b/decomp/Agent_Release_x64/full/functions/0x140041b20.c new file mode 100644 index 00000000..d0141366 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140041b20.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140041b20 FUN_140041b20 + * Pseudocode, not original source. */ + +undefined8 FUN_140041b20(longlong param_1,uint param_2) + +{ + undefined8 uVar1; + longlong lVar2; + ulonglong uVar3; + int *piVar4; + uint *puVar5; + + piVar4 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200))(param_1 + -0xa8); + } + uVar3 = (ulonglong)param_2 % (ulonglong)*(uint *)(param_1 + 0xbf8); + if ((*(longlong *)(param_1 + 0xbd8) != 0) && + (puVar5 = *(uint **)(*(longlong *)(param_1 + 0xbd8) + uVar3 * 8), puVar5 != (uint *)0x0)) { + while ((uint)uVar3 == puVar5[8] % *(uint *)(param_1 + 0xbf8)) { + if (*puVar5 == param_2) { + lVar2 = *(longlong *)(puVar5 + 2); + if ((lVar2 != 0) && (*(longlong *)(lVar2 + 0x228) == 0)) { + uVar1 = *(undefined8 *)(lVar2 + 0x1c0); + FUN_14002e770((longlong)piVar4); + return uVar1; + } + break; + } + puVar5 = *(uint **)(puVar5 + 4); + if (puVar5 == (uint *)0x0) break; + } + } + FUN_14002e770((longlong)piVar4); + return 0xbff0000000000000; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140041c30.c b/decomp/Agent_Release_x64/full/functions/0x140041c30.c new file mode 100644 index 00000000..38da9242 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140041c30.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140041c30 FUN_140041c30 + * Pseudocode, not original source. */ + +undefined8 FUN_140041c30(longlong param_1,uint param_2) + +{ + undefined8 uVar1; + longlong lVar2; + ulonglong uVar3; + int *piVar4; + uint *puVar5; + + piVar4 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200))(param_1 + -0xa8); + } + uVar3 = (ulonglong)param_2 % (ulonglong)*(uint *)(param_1 + 0xbf8); + if ((*(longlong *)(param_1 + 0xbd8) != 0) && + (puVar5 = *(uint **)(*(longlong *)(param_1 + 0xbd8) + uVar3 * 8), puVar5 != (uint *)0x0)) { + while ((uint)uVar3 == puVar5[8] % *(uint *)(param_1 + 0xbf8)) { + if (*puVar5 == param_2) { + lVar2 = *(longlong *)(puVar5 + 2); + if ((lVar2 != 0) && (*(longlong *)(lVar2 + 0x228) == 0)) { + uVar1 = *(undefined8 *)(lVar2 + 0x1c8); + FUN_14002e770((longlong)piVar4); + return uVar1; + } + break; + } + puVar5 = *(uint **)(puVar5 + 4); + if (puVar5 == (uint *)0x0) break; + } + } + FUN_14002e770((longlong)piVar4); + return 0xbff0000000000000; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140041d40.c b/decomp/Agent_Release_x64/full/functions/0x140041d40.c new file mode 100644 index 00000000..368c3ce2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140041d40.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140041d40 FUN_140041d40 + * Pseudocode, not original source. */ + +int FUN_140041d40(longlong param_1,longlong param_2,int param_3) + +{ + int *piVar1; + longlong lVar2; + int iVar3; + longlong lVar4; + + piVar1 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar1); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200))(param_1 + -0xa8); + } + iVar3 = 0; + if (*(longlong *)(param_1 + 0xbf0) == 0) { + lVar2 = 0; + } + else { + lVar2 = *(longlong *)(param_1 + 0xbe0); + } + lVar4 = 0; + if (0 < param_3) { + do { + if (lVar2 == 0) break; + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + *(undefined4 *)(param_2 + lVar4 * 4) = *(undefined4 *)(*(longlong *)(lVar2 + 8) + 0x6f8); + iVar3 = iVar3 + 1; + lVar4 = lVar4 + 1; + if (lVar2 != 0) { + lVar2 = *(longlong *)(lVar2 + 0x10); + } + } while (lVar4 < param_3); + } + FUN_14002e770((longlong)piVar1); + return iVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140041e40.c b/decomp/Agent_Release_x64/full/functions/0x140041e40.c new file mode 100644 index 00000000..d7200859 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140041e40.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140041e40 FUN_140041e40 + * Pseudocode, not original source. */ + +ulonglong FUN_140041e40(longlong param_1,uint param_2,uint *param_3) + +{ + uint uVar1; + uint *puVar2; + int *piVar3; + undefined8 uVar4; + ulonglong uVar5; + + piVar3 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar3); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200))(param_1 + -0xa8); + } + uVar1 = *(uint *)(param_1 + 0xbf8); + uVar5 = (ulonglong)param_2 % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 0xbd8) != 0) { + puVar2 = *(uint **)(*(longlong *)(param_1 + 0xbd8) + uVar5 * 8); + while( true ) { + if ((puVar2 == (uint *)0x0) || ((uint)uVar5 != puVar2[8] % uVar1)) goto LAB_140041f1a; + if (*puVar2 == param_2) break; + puVar2 = *(uint **)(puVar2 + 4); + } + if (*(uint **)(puVar2 + 2) != (uint *)0x0) { + FUN_140095ac0(*(uint **)(puVar2 + 2),param_3,uVar5,(ulonglong)uVar1); + uVar4 = FUN_14002e770((longlong)piVar3); + return CONCAT71((int7)((ulonglong)uVar4 >> 8),1); + } + } +LAB_140041f1a: + uVar5 = FUN_14002e770((longlong)piVar3); + return uVar5 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140041f40.c b/decomp/Agent_Release_x64/full/functions/0x140041f40.c new file mode 100644 index 00000000..c4fd32ef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140041f40.c @@ -0,0 +1,387 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140041f40 FUN_140041f40 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Removing unreachable block (ram,0x00014004242b) */ +/* WARNING: Removing unreachable block (ram,0x0001400422cf) */ +/* WARNING: Removing unreachable block (ram,0x00014004258b) */ + +void FUN_140041f40(SIZE_T *param_1,wchar_t *param_2,SIZE_T param_3,undefined *param_4) + +{ + code *pcVar1; + longlong lVar2; + int *piVar3; + longlong lVar4; + ulonglong uVar5; + undefined4 *puVar6; + longlong *plVar7; + ulonglong uVar8; + longlong lVar9; + undefined1 *puVar10; + undefined1 *puVar11; + undefined1 *puVar12; + undefined1 *puVar13; + int iVar14; + longlong lVar15; + SIZE_T SVar16; + undefined8 *puVar17; + longlong *plVar18; + double dVar19; + undefined1 auStack_a8 [32]; + int *local_88; + bool local_80; + longlong *local_78; + int *local_70; + undefined1 local_68; + SIZE_T local_60; + SIZE_T local_58; + undefined8 local_50; + ulonglong local_48; + + puVar10 = auStack_a8; + puVar13 = auStack_a8; + local_50 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)&local_88; + piVar3 = (int *)(**(code **)(*param_1 + 0x58))(); + local_70 = piVar3; + FUN_14002e6e0(piVar3); + local_68 = 1; + if (DAT_14015bfcf != '\0') { + param_3 = *param_1; + param_2 = L"Proud::CNetServerImpl::TcpAndUdp_DoForLongInterval"; + (**(code **)(param_3 + 200))(param_1); + } + lVar4 = (longlong)(int)param_1[0xdc]; + puVar17 = (undefined8 *)0x0; + if (0 < (int)param_1[0xdc]) { + uVar8 = lVar4 * 8 + 0x10; + if (uVar8 < 0x401) { + uVar5 = lVar4 * 8 + 0x1f; + if (uVar5 <= uVar8) { + uVar5 = 0xffffffffffffff0; + } + lVar9 = -(uVar5 & 0xfffffffffffffff0); + puVar10 = auStack_a8 + lVar9; + puVar6 = (undefined4 *)((longlong)&local_88 + lVar9); + puVar17 = (undefined8 *)0x0; + puVar13 = auStack_a8 + lVar9; + if (puVar6 != (undefined4 *)0x0) { + *puVar6 = 0xcccc; +LAB_14004202e: + puVar17 = (undefined8 *)(puVar6 + 4); + puVar13 = puVar10; + } + } + else { + puVar6 = malloc(uVar8); + puVar17 = (undefined8 *)0x0; + puVar13 = auStack_a8; + if (puVar6 != (undefined4 *)0x0) { + *puVar6 = 0xdddd; + goto LAB_14004202e; + } + } + iVar14 = 0; + lVar9 = 0; + piVar3 = local_70; + if (0 < lVar4) { + do { + if ((lVar9 < 0) || ((int)param_1[0xdc] <= iVar14)) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar13 + -8) = &UNK_14004207f; + FUN_14002f5c0(uVar8,param_2,param_3,param_4); + } + plVar18 = *(longlong **)(param_1[0xdb] + lVar9 * 8); + lVar15 = 0; + if (plVar18 != (longlong *)0x0) { + lVar15 = *plVar18; + } + uVar8 = lVar15 + 0x40; + *(undefined8 *)(puVar13 + -8) = 0x14004206a; + FUN_14009c460(uVar8); + puVar17[lVar9] = lVar15; + iVar14 = iVar14 + 1; + lVar9 = lVar9 + 1; + piVar3 = local_70; + } while (lVar9 < lVar4); + } + } + local_58 = param_1[0x193]; + plVar18 = (longlong *)0x0; + if (0 < (int)local_58) { + lVar9 = (longlong)(int)local_58 * 8; + uVar8 = lVar9 + 0x10; + if (uVar8 < 0x401) { + uVar5 = lVar9 + 0x1f; + if (uVar5 <= uVar8) { + uVar5 = 0xffffffffffffff0; + } + *(undefined8 *)(puVar13 + -8) = 0x1400420cc; + lVar9 = -(uVar5 & 0xfffffffffffffff0); + puVar11 = puVar13 + lVar9; + puVar6 = (undefined4 *)(puVar13 + lVar9 + 0x20); + plVar18 = (longlong *)0x0; + puVar13 = puVar13 + lVar9; + if (puVar6 != (undefined4 *)0x0) { + *puVar6 = 0xcccc; + puVar13 = puVar11; +LAB_1400420f6: + plVar18 = (longlong *)(puVar6 + 4); + } + } + else { + *(undefined8 *)(puVar13 + -8) = 0x1400420e8; + puVar6 = malloc(uVar8); + plVar18 = (longlong *)0x0; + if (puVar6 != (undefined4 *)0x0) { + *puVar6 = 0xdddd; + goto LAB_1400420f6; + } + } + plVar7 = plVar18; + if (param_1[0x193] == 0) { + SVar16 = 0; + } + else { + SVar16 = param_1[0x191]; + } + for (; piVar3 = local_70, SVar16 != 0; SVar16 = *(SIZE_T *)(SVar16 + 0x10)) { + lVar9 = *(longlong *)(SVar16 + 8); + *(undefined8 *)(puVar13 + -8) = 0x140042127; + FUN_14009c460(lVar9 + 0xc0); + *plVar7 = lVar9; + plVar7 = plVar7 + 1; + } + } + local_60 = param_1[0x2e1]; + local_78 = (longlong *)0x0; + if ((int)local_60 < 1) goto LAB_1400421f6; + lVar9 = (longlong)(int)local_60 * 8; + uVar8 = lVar9 + 0x10; + if (uVar8 < 0x401) { + uVar5 = lVar9 + 0x1f; + if (uVar5 <= uVar8) { + uVar5 = 0xffffffffffffff0; + } + *(undefined8 *)(puVar13 + -8) = 0x140042181; + lVar9 = -(uVar5 & 0xfffffffffffffff0); + puVar12 = puVar13 + lVar9; + plVar7 = (longlong *)(puVar13 + lVar9 + 0x20); + puVar13 = puVar13 + lVar9; + local_78 = plVar7; + if (plVar7 != (longlong *)0x0) { + *(undefined4 *)plVar7 = 0xcccc; + puVar13 = puVar12; +LAB_1400421af: + local_78 = plVar7 + 2; + } + } + else { + *(undefined8 *)(puVar13 + -8) = 0x1400421a0; + plVar7 = malloc(uVar8); + local_78 = plVar7; + if (plVar7 != (longlong *)0x0) { + *(undefined4 *)plVar7 = 0xdddd; + goto LAB_1400421af; + } + } + plVar7 = local_78; + if (param_1[0x2e1] == 0) { + SVar16 = 0; + } + else { + SVar16 = param_1[0x2df]; + } + for (; piVar3 = local_70, SVar16 != 0; SVar16 = *(SIZE_T *)(SVar16 + 0x18)) { + lVar9 = *(longlong *)(SVar16 + 0x10); + *(undefined8 *)(puVar13 + -8) = 0x1400421e5; + FUN_14009c460(lVar9 + 0xc0); + *plVar7 = lVar9; + plVar7 = plVar7 + 1; + } +LAB_1400421f6: + pcVar1 = *(code **)(param_1[0x23] + 8); + *(undefined8 *)(puVar13 + -8) = 0x140042203; + dVar19 = (double)(*pcVar1)(); + *(undefined8 *)(puVar13 + -8) = 0x14004220f; + FUN_14002e770((longlong)piVar3); + local_68 = 0; + if (puVar17 != (undefined8 *)0x0) { + while ((0 < lVar4 && (lVar9 = 0, 0 < lVar4))) { + do { + lVar15 = puVar17[lVar9]; + pcVar1 = *(code **)(*(longlong *)(lVar15 + 0x88) + 0x10); + *(undefined8 *)(puVar13 + -8) = 0x140042241; + piVar3 = (int *)(*pcVar1)(); + local_80 = false; + local_88 = piVar3; + if (lVar9 == 0) { + local_80 = true; + *(undefined8 *)(puVar13 + -8) = 0x14004229b; + FUN_14002e6e0(piVar3); + *(undefined8 *)(puVar13 + -8) = 0x1400422a7; + FUN_14009c760(lVar15,param_2,param_3,param_4); + *(undefined8 *)(puVar13 + -8) = 0x1400422af; + FUN_14002e770((longlong)piVar3); + local_80 = false; + *(undefined8 *)(puVar13 + -8) = 0x1400422bf; + FUN_14009c470(lVar15 + 0x40); + *puVar17 = puVar17[lVar4 + -1]; +LAB_1400422c7: + lVar4 = lVar4 + -1; + } + else { + *(undefined8 *)(puVar13 + -8) = 0x140042259; + local_80 = FUN_14002e730(piVar3); + if (local_80) { + *(undefined8 *)(puVar13 + -8) = 0x14004226f; + FUN_14009c760(lVar15,param_2,param_3,param_4); + *(undefined8 *)(puVar13 + -8) = 0x140042277; + FUN_14002e770((longlong)piVar3); + local_80 = false; + *(undefined8 *)(puVar13 + -8) = 0x140042287; + FUN_14009c470(lVar15 + 0x40); + puVar17[lVar9] = puVar17[lVar4 + -1]; + goto LAB_1400422c7; + } + } + lVar9 = lVar9 + 1; + } while (lVar9 < lVar4); + } + if (*(int *)(puVar17 + -2) == 0xdddd) { + *(undefined8 *)(puVar13 + -8) = 0x140042302; + free(puVar17 + -2); + } + } + if (plVar18 != (longlong *)0x0) { + lVar4 = (longlong)(int)local_58; + while ((0 < lVar4 && (lVar9 = 0, 0 < lVar4))) { + do { + lVar15 = plVar18[lVar9]; + pcVar1 = *(code **)(*(longlong *)(lVar15 + 0x108) + 0x10); + *(undefined8 *)(puVar13 + -8) = 0x140042342; + piVar3 = (int *)(*pcVar1)(); + local_80 = false; + local_88 = piVar3; + if (lVar9 == 0) { + local_80 = true; + *(undefined8 *)(puVar13 + -8) = 0x1400423cc; + FUN_14002e6e0(piVar3); + lVar2 = *(longlong *)(lVar15 + 0x748); + *(undefined8 *)(puVar13 + -8) = 0x1400423dd; + FUN_14009bee0(lVar2,dVar19); + if ((*(longlong **)(lVar15 + 0x760) != (longlong *)0x0) && + (lVar2 = **(longlong **)(lVar15 + 0x760), lVar2 != 0)) { + lVar2 = *(longlong *)(lVar2 + 0x168); + *(undefined8 *)(puVar13 + -8) = 0x140042402; + FUN_140099810(lVar2,dVar19,param_3,param_4); + } + *(undefined8 *)(puVar13 + -8) = 0x14004240a; + FUN_14002e770((longlong)piVar3); + local_80 = false; + *(undefined8 *)(puVar13 + -8) = 0x14004241c; + FUN_14009c470(lVar15 + 0xc0); + *plVar18 = plVar18[lVar4 + -1]; +LAB_140042424: + lVar4 = lVar4 + -1; + } + else { + *(undefined8 *)(puVar13 + -8) = 0x14004235a; + local_80 = FUN_14002e730(piVar3); + if (local_80) { + lVar2 = *(longlong *)(lVar15 + 0x748); + *(undefined8 *)(puVar13 + -8) = 0x140042379; + FUN_14009bee0(lVar2,dVar19); + if ((*(longlong **)(lVar15 + 0x760) != (longlong *)0x0) && + (lVar2 = **(longlong **)(lVar15 + 0x760), lVar2 != 0)) { + lVar2 = *(longlong *)(lVar2 + 0x168); + *(undefined8 *)(puVar13 + -8) = 0x14004239e; + FUN_140099810(lVar2,dVar19,param_3,param_4); + } + *(undefined8 *)(puVar13 + -8) = 0x1400423a6; + FUN_14002e770((longlong)piVar3); + local_80 = false; + *(undefined8 *)(puVar13 + -8) = 0x1400423b8; + FUN_14009c470(lVar15 + 0xc0); + plVar18[lVar9] = plVar18[lVar4 + -1]; + goto LAB_140042424; + } + } + lVar9 = lVar9 + 1; + } while (lVar9 < lVar4); + } + if ((int)plVar18[-2] == 0xdddd) { + *(undefined8 *)(puVar13 + -8) = 0x14004245e; + free(plVar18 + -2); + } + } + plVar18 = local_78; + if (local_78 != (longlong *)0x0) { + lVar4 = (longlong)(int)local_60; + while ((0 < lVar4 && (lVar9 = 0, 0 < lVar4))) { + do { + lVar15 = plVar18[lVar9]; + pcVar1 = *(code **)(*(longlong *)(lVar15 + 0x108) + 0x10); + *(undefined8 *)(puVar13 + -8) = 0x1400424a2; + piVar3 = (int *)(*pcVar1)(); + local_80 = false; + local_88 = piVar3; + if (lVar9 == 0) { + local_80 = true; + *(undefined8 *)(puVar13 + -8) = 0x14004252c; + FUN_14002e6e0(piVar3); + lVar2 = *(longlong *)(lVar15 + 0x748); + *(undefined8 *)(puVar13 + -8) = 0x14004253d; + FUN_14009bee0(lVar2,dVar19); + if ((*(longlong **)(lVar15 + 0x760) != (longlong *)0x0) && + (lVar2 = **(longlong **)(lVar15 + 0x760), lVar2 != 0)) { + lVar2 = *(longlong *)(lVar2 + 0x168); + *(undefined8 *)(puVar13 + -8) = 0x140042562; + FUN_140099810(lVar2,dVar19,param_3,param_4); + } + *(undefined8 *)(puVar13 + -8) = 0x14004256a; + FUN_14002e770((longlong)piVar3); + local_80 = false; + *(undefined8 *)(puVar13 + -8) = 0x14004257c; + FUN_14009c470(lVar15 + 0xc0); + *plVar18 = plVar18[lVar4 + -1]; +LAB_140042584: + lVar4 = lVar4 + -1; + } + else { + *(undefined8 *)(puVar13 + -8) = 0x1400424ba; + local_80 = FUN_14002e730(piVar3); + if (local_80) { + lVar2 = *(longlong *)(lVar15 + 0x748); + *(undefined8 *)(puVar13 + -8) = 0x1400424d9; + FUN_14009bee0(lVar2,dVar19); + if ((*(longlong **)(lVar15 + 0x760) != (longlong *)0x0) && + (lVar2 = **(longlong **)(lVar15 + 0x760), lVar2 != 0)) { + lVar2 = *(longlong *)(lVar2 + 0x168); + *(undefined8 *)(puVar13 + -8) = 0x1400424fe; + FUN_140099810(lVar2,dVar19,param_3,param_4); + } + *(undefined8 *)(puVar13 + -8) = 0x140042506; + FUN_14002e770((longlong)piVar3); + local_80 = false; + *(undefined8 *)(puVar13 + -8) = 0x140042518; + FUN_14009c470(lVar15 + 0xc0); + plVar18[lVar9] = plVar18[lVar4 + -1]; + goto LAB_140042584; + } + } + lVar9 = lVar9 + 1; + } while (lVar9 < lVar4); + } + if ((int)plVar18[-2] == 0xdddd) { + *(undefined8 *)(puVar13 + -8) = 0x1400425be; + free(plVar18 + -2); + } + } + *(undefined8 *)(puVar13 + -8) = 0x1400425cb; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140042600.c b/decomp/Agent_Release_x64/full/functions/0x140042600.c new file mode 100644 index 00000000..a8357b11 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140042600.c @@ -0,0 +1,198 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140042600 FUN_140042600 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Removing unreachable block (ram,0x0001400427a2) */ +/* WARNING: Removing unreachable block (ram,0x0001400427a9) */ +/* WARNING: Removing unreachable block (ram,0x0001400427b5) */ +/* WARNING: Removing unreachable block (ram,0x0001400427c2) */ +/* WARNING: Removing unreachable block (ram,0x0001400427ba) */ +/* WARNING: Removing unreachable block (ram,0x0001400427c9) */ +/* WARNING: Removing unreachable block (ram,0x0001400427da) */ + +undefined1 +FUN_140042600(longlong *param_1,longlong *param_2,LPVOID param_3,longlong param_4,int param_5, + undefined4 *param_6,undefined4 param_7,longlong *param_8) + +{ + undefined *puVar1; + undefined1 uVar2; + int *piVar3; + int *piVar4; + LPVOID pvVar5; + undefined **ppuVar6; + int *piVar7; + LPVOID pvVar8; + longlong *plVar9; + longlong *plVar10; + longlong lVar11; + undefined *puVar12; + longlong lVar13; + uint uVar14; + longlong lVar16; + longlong lVar17; + undefined1 auStack_178 [32]; + longlong *local_158; + int *local_150; + undefined1 local_148; + longlong *local_140; + longlong *local_138; + undefined8 local_130; + int *local_128; + undefined1 local_120; + undefined *local_118; + longlong local_110; + undefined4 local_108; + undefined **local_100; + longlong *local_f8; + LPVOID local_f0; + int local_e8; + undefined4 local_d4; + undefined4 local_d0; + undefined4 local_cc; + undefined4 local_c8; + undefined4 local_c4; + undefined **local_90; + longlong *local_88; + LPVOID local_80; + ulonglong local_58; + LPVOID pvVar15; + + local_130 = 0xfffffffffffffffe; + local_58 = DAT_1401555a0 ^ (ulonglong)auStack_178; + local_158 = param_8; + ppuVar6 = &local_118; + plVar10 = param_2; + pvVar8 = param_3; + lVar17 = param_4; + local_140 = param_1; + local_138 = param_2; + FUN_14003b670(ppuVar6,param_2,param_3,param_4); + if (local_118 == (undefined *)0x0) { + local_118 = PTR_DAT_140155010; + } + if ((undefined *)*param_2 != local_118) { + piVar3 = (int *)FUN_140030200(ppuVar6,plVar10,pvVar8,lVar17); + piVar7 = piVar3; + local_128 = piVar3; + FUN_14002e6e0(piVar3); + puVar1 = local_118; + local_120 = 1; + if (((local_118 != (undefined *)0x0) && (local_118 != PTR_DAT_140155010)) && + (puVar12 = local_118 + -8, puVar12 != (undefined *)0x0)) { + piVar4 = (int *)FUN_140030200(piVar7,plVar10,pvVar8,lVar17); + local_150 = piVar4; + FUN_14002e6e0(piVar4); + local_148 = 1; + piVar7 = (int *)(puVar1 + -4); + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(puVar12); + } + FUN_14002e770((longlong)piVar4); + } + local_118 = (undefined *)*param_2; + if (((local_118 != PTR_DAT_140155010) && (local_118 != (undefined *)0x0)) && + (local_118 != (undefined *)0x8)) { + *(int *)(local_118 + -4) = *(int *)(local_118 + -4) + 1; + } + FUN_14002e770((longlong)piVar3); + } + local_108 = SUB84(param_3,0); + if (param_4 == 0) { + pvVar15 = (LPVOID)0x0; + if (0 < param_5) { + do { + lVar16 = (longlong)local_e8; + if (local_e8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14002d430((longlong)&local_100,local_e8 + 1,pvVar8,lVar17); + pvVar5 = local_f0; + if (local_e8 == 0) { + pvVar5 = (LPVOID)0x0; + } + *(undefined4 *)((longlong)pvVar5 + lVar16 * 4) = 0; + uVar14 = (int)pvVar15 + 1; + pvVar15 = (LPVOID)(ulonglong)uVar14; + } while ((int)uVar14 < param_5); + } + } + else { + lVar16 = (longlong)param_5; + if (param_5 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_5 != 0) { + lVar13 = (longlong)local_e8; + FUN_14002d430((longlong)&local_100,local_e8 + param_5,pvVar8,lVar17); + if (0 < param_5) { + lVar11 = lVar13 * 4; + do { + pvVar8 = local_f0; + if (local_e8 == 0) { + pvVar8 = (LPVOID)0x0; + } + *(undefined4 *)(lVar11 + (longlong)pvVar8) = + *(undefined4 *)(param_4 + lVar13 * -4 + lVar11); + lVar11 = lVar11 + 4; + lVar16 = lVar16 + -1; + } while (lVar16 != 0); + } + } + } + local_d4 = *param_6; + local_d0 = param_6[1]; + local_cc = param_6[2]; + local_c8 = param_6[3]; + local_c4 = param_7; + plVar10 = local_158; + uVar2 = (**(code **)(*local_140 + 0x138))(local_140,&local_118); + local_90 = Proud::CFastArray::vftable; + pvVar8 = local_80; + if (local_80 != (LPVOID)0x0) { + if (local_88 == (longlong *)0x0) { + FUN_1400302f0(local_80); + pvVar8 = local_80; + } + else { + (**(code **)(*local_88 + 0x18))(); + pvVar8 = local_80; + } + } + local_100 = Proud::CFastArray::vftable; + if (local_f0 != (LPVOID)0x0) { + if (local_f8 == (longlong *)0x0) { + FUN_1400302f0(local_f0); + plVar10 = local_f8; + } + else { + (**(code **)(*local_f8 + 0x18))(local_f8); + pvVar8 = local_f0; + plVar10 = local_f8; + } + } + plVar9 = &local_110; + FUN_140003240(plVar9,pvVar8,plVar10,lVar17); + puVar1 = local_118; + if (((local_118 != (undefined *)0x0) && (local_118 != PTR_DAT_140155010)) && + (puVar12 = local_118 + -8, puVar12 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(plVar9,pvVar8,plVar10,lVar17); + local_150 = piVar3; + FUN_14002e6e0(piVar3); + local_148 = 1; + piVar7 = (int *)(puVar1 + -4); + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(puVar12); + } + FUN_14002e770((longlong)piVar3); + } + local_118 = PTR_DAT_140155010; + FUN_140003240(param_2,pvVar8,plVar10,lVar17); + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140042930.c b/decomp/Agent_Release_x64/full/functions/0x140042930.c new file mode 100644 index 00000000..b3a2f947 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140042930.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140042930 FUN_140042930 + * Pseudocode, not original source. */ + +void FUN_140042930(longlong param_1,LPCWSTR param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + undefined8 *puVar2; + undefined4 *puVar3; + + piVar1 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar1); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200)) + (param_1 + -0xa8,L"Proud::CNetServerImpl::EnableLog"); + } + if (*(longlong *)(param_1 + 0x1748) == 0) { + puVar2 = FUN_1400903d0(param_2); + *(undefined8 **)(param_1 + 0x1748) = puVar2; + if (*(longlong *)(param_1 + 0xbf0) == 0) { + puVar3 = (undefined4 *)0x0; + } + else { + puVar3 = *(undefined4 **)(param_1 + 0xbe0); + } + for (; puVar3 != (undefined4 *)0x0; puVar3 = *(undefined4 **)(puVar3 + 4)) { + if (*(longlong *)(*(longlong *)(puVar3 + 2) + 0x228) == 0) { + (**(code **)(*(longlong *)(param_1 + 0x400) + 0xb0)) + ((longlong *)(param_1 + 0x400),*puVar3,&DAT_14015de10); + } + } + } + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140042a20.c b/decomp/Agent_Release_x64/full/functions/0x140042a20.c new file mode 100644 index 00000000..6017b38a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140042a20.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140042a20 FUN_140042a20 + * Pseudocode, not original source. */ + +void FUN_140042a20(longlong param_1,wchar_t *param_2,longlong param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + int *piVar2; + undefined4 *puVar3; + + piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar2); + if (DAT_14015bfcf != '\0') { + param_3 = *(longlong *)(param_1 + -0xa8); + param_2 = L"Proud::CNetServerImpl::DisableLog"; + (**(code **)(param_3 + 200))(param_1 + -0xa8); + } + puVar1 = *(undefined8 **)(param_1 + 0x1748); + if (puVar1 != (undefined8 *)0x0) { + FUN_140090280(puVar1,(longlong *)param_2,param_3,param_4); + operator_delete(puVar1); + } + puVar3 = (undefined4 *)0x0; + *(undefined8 *)(param_1 + 0x1748) = 0; + if (*(longlong *)(param_1 + 0xbf0) != 0) { + puVar3 = *(undefined4 **)(param_1 + 0xbe0); + } + for (; puVar3 != (undefined4 *)0x0; puVar3 = *(undefined4 **)(puVar3 + 4)) { + if (*(longlong *)(*(longlong *)(puVar3 + 2) + 0x228) == 0) { + (**(code **)(*(longlong *)(param_1 + 0x400) + 0xc0)) + ((longlong *)(param_1 + 0x400),*puVar3,&DAT_14015de10); + } + } + FUN_14002e770((longlong)piVar2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140042b10.c b/decomp/Agent_Release_x64/full/functions/0x140042b10.c new file mode 100644 index 00000000..6f4aee71 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140042b10.c @@ -0,0 +1,80 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140042b10 FUN_140042b10 + * Pseudocode, not original source. */ + +void FUN_140042b10(longlong param_1,undefined8 *param_2) + +{ + int *piVar1; + longlong lVar2; + longlong lVar3; + longlong lVar4; + undefined8 local_60; + undefined8 local_58; + undefined8 local_50; + undefined8 local_48; + undefined8 local_40; + undefined8 local_38; + undefined8 local_30; + undefined8 local_28; + undefined8 local_20; + undefined8 local_18; + undefined4 local_10; + + piVar1 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar1); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200)) + (param_1 + -0xa8,L"Proud::CNetServerImpl::GetStats"); + } + lVar4 = 0; + local_20 = 0; + local_58 = 0; + local_60 = 0; + local_48 = 0; + local_50 = 0; + local_28 = 0; + local_30 = 0; + local_38 = 0; + local_40 = 0; + local_18 = 0; + local_10 = 0; + memcpy(param_2,&local_60,0x58); + *param_2 = *(undefined8 *)(param_1 + 0x458); + param_2[1] = *(undefined8 *)(param_1 + 0x498); + param_2[2] = *(undefined8 *)(param_1 + 0x4d8); + param_2[3] = *(undefined8 *)(param_1 + 0x518); + param_2[6] = *(undefined8 *)(param_1 + 0x558); + param_2[7] = *(undefined8 *)(param_1 + 0x598); + param_2[4] = *(undefined8 *)(param_1 + 0x618); + param_2[5] = *(undefined8 *)(param_1 + 0x5d8); + *(int *)(param_2 + 9) = (int)*(undefined8 *)(param_1 + 0xbf0); + *(undefined4 *)((longlong)param_2 + 0x4c) = 0; + *(undefined4 *)(param_2 + 10) = *(undefined4 *)(param_1 + 0x638); + lVar2 = lVar4; + if (*(longlong *)(param_1 + 0xbf0) != 0) { + lVar2 = *(longlong *)(param_1 + 0xbe0); + } + for (; lVar2 != 0; lVar2 = *(longlong *)(lVar2 + 0x10)) { + if (*(char *)(*(longlong *)(lVar2 + 8) + 0x700) != '\0') { + *(int *)((longlong)param_2 + 0x4c) = *(int *)((longlong)param_2 + 0x4c) + 1; + } + } + lVar2 = lVar4; + if (*(longlong *)(param_1 + 0x250) != 0) { + lVar2 = *(longlong *)(param_1 + 0x240); + } + for (; lVar2 != 0; lVar2 = *(longlong *)(lVar2 + 0x10)) { + lVar3 = lVar4; + if (*(longlong **)(lVar2 + 8) != (longlong *)0x0) { + lVar3 = **(longlong **)(lVar2 + 8); + } + if ((*(char *)(lVar3 + 0x110) != '\0') && + (*(int *)(param_2 + 8) = *(int *)(param_2 + 8) + 1, *(char *)(lVar3 + 8) == '\0')) { + *(int *)((longlong)param_2 + 0x44) = *(int *)((longlong)param_2 + 0x44) + 1; + } + } + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140042cd0.c b/decomp/Agent_Release_x64/full/functions/0x140042cd0.c new file mode 100644 index 00000000..0853f6ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140042cd0.c @@ -0,0 +1,79 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140042cd0 FUN_140042cd0 + * Pseudocode, not original source. */ + +void FUN_140042cd0(longlong param_1,longlong *param_2,undefined8 *param_3,undefined8 param_4) + +{ + uint uVar1; + int *piVar2; + longlong lVar3; + longlong *plVar4; + longlong lVar5; + ulonglong uVar6; + int iVar7; + longlong lVar8; + undefined8 local_60 [2]; + exception local_50 [72]; + + piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar2); + if (DAT_14015bfcf != '\0') { + param_3 = *(undefined8 **)(param_1 + -0xa8); + (*(code *)param_3[0x19])(param_1 + -0xa8); + } + if (*(int *)(param_1 + 0x179c) != 1) { + FUN_14002f1e0(local_50, + L"Cannot call GetUdpListenerLocalAddrs unless ServerUdpAssignMode_Static is used!" + ,param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + uVar6 = 0; + plVar4 = param_2; + FUN_14003edc0((longlong)param_2,0); + iVar7 = 0; + lVar8 = 0; + if (0 < *(int *)(param_1 + 0x638)) { + do { + if (lVar8 < 0) { +LAB_140042e1f: + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar4,uVar6,param_3,param_4); + } + uVar1 = *(uint *)(param_1 + 0x638); + uVar6 = (ulonglong)uVar1; + if ((int)uVar1 <= iVar7) goto LAB_140042e1f; + param_3 = *(undefined8 **)(param_1 + 0x630); + lVar3 = 0; + if ((longlong *)param_3[lVar8] != (longlong *)0x0) { + lVar3 = *(longlong *)param_3[lVar8]; + } + plVar4 = *(longlong **)(lVar3 + 0x150); + if ((plVar4 != (longlong *)0x0) && (*plVar4 != 0)) { + if ((int)uVar1 <= iVar7) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar4,uVar6,param_3,param_4); + } + lVar3 = 0; + if ((longlong *)param_3[lVar8] != (longlong *)0x0) { + lVar3 = *(longlong *)param_3[lVar8]; + } + lVar5 = 0; + if (*(longlong **)(lVar3 + 0x150) != (longlong *)0x0) { + lVar5 = **(longlong **)(lVar3 + 0x150); + } + param_3 = FUN_140034a30(lVar5,local_60); + param_4 = 1; + uVar6 = (ulonglong)*(uint *)(param_2 + 3); + plVar4 = param_2; + FUN_14003f3b0((longlong)param_2,*(uint *)(param_2 + 3),(longlong)param_3,1); + } + iVar7 = iVar7 + 1; + lVar8 = lVar8 + 1; + } while (iVar7 < *(int *)(param_1 + 0x638)); + } + FUN_14002e770((longlong)piVar2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140042e50.c b/decomp/Agent_Release_x64/full/functions/0x140042e50.c new file mode 100644 index 00000000..8781aca9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140042e50.c @@ -0,0 +1,105 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140042e50 FUN_140042e50 + * Pseudocode, not original source. */ + +void FUN_140042e50(longlong param_1,longlong *param_2,longlong *param_3) + +{ + uint uVar1; + longlong *plVar2; + ulonglong uVar3; + longlong lVar4; + uint *puVar5; + undefined **ppuVar6; + undefined4 *puVar7; + longlong lVar8; + longlong lVar9; + + FUN_14003e8e0(param_2,param_3[1],-1); + lVar4 = param_3[1]; + lVar9 = 0; + if (0 < lVar4) { + lVar8 = 0; + do { + if ((lVar9 < 0) || (lVar4 <= lVar9)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_3[2] < 0x65) { + puVar7 = (undefined4 *)((longlong)param_3 + lVar9 * 4 + 0x20); + } + else { + puVar7 = (undefined4 *)(*param_3 + lVar9 * 4); + } + if (param_2[1] <= lVar9) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_2[2] < 0x65) { + plVar2 = param_2 + 4; + } + else { + plVar2 = (longlong *)*param_2; + } + *(undefined4 *)((longlong)plVar2 + lVar8) = *puVar7; + if (param_3[1] <= lVar9) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_3[2] < 0x65) { + puVar5 = (uint *)((longlong)param_3 + lVar9 * 4 + 0x20); + } + else { + puVar5 = (uint *)(*param_3 + lVar9 * 4); + } + uVar1 = *puVar5; + if (uVar1 == 1) { + if (param_1 == 0) { +LAB_140042f80: + ppuVar6 = (undefined **)0x0; + } + else { + ppuVar6 = (undefined **)(param_1 + 0x70); + } + } + else { + if (uVar1 != 0) { + uVar3 = (ulonglong)uVar1 % (ulonglong)*(uint *)(param_1 + 0xca0); + if ((*(longlong *)(param_1 + 0xc80) != 0) && + (puVar5 = *(uint **)(*(longlong *)(param_1 + 0xc80) + uVar3 * 8), puVar5 != (uint *)0x0 + )) { + while ((uint)uVar3 == puVar5[8] % *(uint *)(param_1 + 0xca0)) { + if (*puVar5 == uVar1) { + ppuVar6 = *(undefined ***)(puVar5 + 2); + if ((ppuVar6 != (undefined **)0x0) && (ppuVar6[0x45] == (undefined *)0x0)) + goto LAB_140042f82; + break; + } + puVar5 = *(uint **)(puVar5 + 4); + if (puVar5 == (uint *)0x0) break; + } + } + goto LAB_140042f80; + } + ppuVar6 = &PTR_vftable_140156c80; + } +LAB_140042f82: + if (param_2[1] <= lVar9) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_2[2] < 0x65) { + plVar2 = param_2 + 4; + } + else { + plVar2 = (longlong *)*param_2; + } + *(undefined ***)((longlong)plVar2 + lVar8 + 8) = ppuVar6; + lVar4 = param_3[1]; + lVar9 = lVar9 + 1; + lVar8 = lVar8 + 0x20; + } while (lVar9 < lVar4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140042ff0.c b/decomp/Agent_Release_x64/full/functions/0x140042ff0.c new file mode 100644 index 00000000..f45cb87b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140042ff0.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140042ff0 FUN_140042ff0 + * Pseudocode, not original source. */ + +bool FUN_140042ff0(longlong *param_1,uint param_2,undefined2 *param_3) + +{ + longlong lVar1; + ulonglong uVar2; + int *piVar3; + uint *puVar4; + + piVar3 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar3); + if (DAT_14015bfcf != '\0') { + (**(code **)(*param_1 + 200))(param_1); + } + uVar2 = (ulonglong)param_2 % (ulonglong)*(uint *)(param_1 + 0x194); + if ((param_1[400] != 0) && (puVar4 = *(uint **)(param_1[400] + uVar2 * 8), puVar4 != (uint *)0x0)) + { + while ((uint)uVar2 == puVar4[8] % *(uint *)(param_1 + 0x194)) { + if (*puVar4 == param_2) { + lVar1 = *(longlong *)(puVar4 + 2); + if ((lVar1 != 0) && (*(longlong *)(lVar1 + 0x228) == 0)) { + *param_3 = *(undefined2 *)(lVar1 + 0x68a); + *(short *)(lVar1 + 0x68a) = *(short *)(lVar1 + 0x68a) + 1; + FUN_14002e770((longlong)piVar3); + return true; + } + break; + } + puVar4 = *(uint **)(puVar4 + 4); + if (puVar4 == (uint *)0x0) break; + } + } + if (param_2 != 1) { + FUN_14002e770((longlong)piVar3); + } + else { + *param_3 = (short)param_1[0x188]; + *(short *)(param_1 + 0x188) = (short)param_1[0x188] + 1; + FUN_14002e770((longlong)piVar3); + } + return param_2 == 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043110.c b/decomp/Agent_Release_x64/full/functions/0x140043110.c new file mode 100644 index 00000000..d564dfbd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043110.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043110 FUN_140043110 + * Pseudocode, not original source. */ + +void FUN_140043110(longlong *param_1,uint param_2) + +{ + longlong lVar1; + ulonglong uVar2; + int *piVar3; + uint *puVar4; + + piVar3 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar3); + if (DAT_14015bfcf != '\0') { + (**(code **)(*param_1 + 200))(param_1); + } + uVar2 = (ulonglong)param_2 % (ulonglong)*(uint *)(param_1 + 0x194); + if ((param_1[400] != 0) && (puVar4 = *(uint **)(param_1[400] + uVar2 * 8), puVar4 != (uint *)0x0)) + { + while ((uint)uVar2 == puVar4[8] % *(uint *)(param_1 + 0x194)) { + if (*puVar4 == param_2) { + lVar1 = *(longlong *)(puVar4 + 2); + if ((lVar1 != 0) && (*(longlong *)(lVar1 + 0x228) == 0)) { + *(short *)(lVar1 + 0x68a) = *(short *)(lVar1 + 0x68a) + -1; + goto LAB_1400431de; + } + break; + } + puVar4 = *(uint **)(puVar4 + 4); + if (puVar4 == (uint *)0x0) break; + } + } + if (param_2 == 1) { + *(short *)(param_1 + 0x188) = (short)param_1[0x188] + -1; + } +LAB_1400431de: + FUN_14002e770((longlong)piVar3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043200.c b/decomp/Agent_Release_x64/full/functions/0x140043200.c new file mode 100644 index 00000000..1d4e60f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043200.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043200 FUN_140043200 + * Pseudocode, not original source. */ + +bool FUN_140043200(longlong *param_1,uint param_2,undefined2 *param_3) + +{ + longlong lVar1; + ulonglong uVar2; + int *piVar3; + uint *puVar4; + + piVar3 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar3); + if (DAT_14015bfcf != '\0') { + (**(code **)(*param_1 + 200))(param_1); + } + uVar2 = (ulonglong)param_2 % (ulonglong)*(uint *)(param_1 + 0x194); + if ((param_1[400] != 0) && (puVar4 = *(uint **)(param_1[400] + uVar2 * 8), puVar4 != (uint *)0x0)) + { + while ((uint)uVar2 == puVar4[8] % *(uint *)(param_1 + 0x194)) { + if (*puVar4 == param_2) { + lVar1 = *(longlong *)(puVar4 + 2); + if ((lVar1 != 0) && (*(longlong *)(lVar1 + 0x228) == 0)) { + *param_3 = *(undefined2 *)(lVar1 + 0x68c); + FUN_14002e770((longlong)piVar3); + return true; + } + break; + } + puVar4 = *(uint **)(puVar4 + 4); + if (puVar4 == (uint *)0x0) break; + } + } + if (param_2 != 1) { + FUN_14002e770((longlong)piVar3); + } + else { + *param_3 = *(undefined2 *)((longlong)param_1 + 0xc42); + FUN_14002e770((longlong)piVar3); + } + return param_2 == 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043320.c b/decomp/Agent_Release_x64/full/functions/0x140043320.c new file mode 100644 index 00000000..fc594ce2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043320.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043320 FUN_140043320 + * Pseudocode, not original source. */ + +bool FUN_140043320(longlong *param_1,uint param_2) + +{ + longlong lVar1; + ulonglong uVar2; + int *piVar3; + uint *puVar4; + + piVar3 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar3); + if (DAT_14015bfcf != '\0') { + (**(code **)(*param_1 + 200))(param_1); + } + uVar2 = (ulonglong)param_2 % (ulonglong)*(uint *)(param_1 + 0x194); + if ((param_1[400] != 0) && (puVar4 = *(uint **)(param_1[400] + uVar2 * 8), puVar4 != (uint *)0x0)) + { + while ((uint)uVar2 == puVar4[8] % *(uint *)(param_1 + 0x194)) { + if (*puVar4 == param_2) { + lVar1 = *(longlong *)(puVar4 + 2); + if ((lVar1 != 0) && (*(longlong *)(lVar1 + 0x228) == 0)) { + *(short *)(lVar1 + 0x68c) = *(short *)(lVar1 + 0x68c) + 1; + FUN_14002e770((longlong)piVar3); + return true; + } + break; + } + puVar4 = *(uint **)(puVar4 + 4); + if (puVar4 == (uint *)0x0) break; + } + } + if (param_2 != 1) { + FUN_14002e770((longlong)piVar3); + } + else { + *(short *)((longlong)param_1 + 0xc42) = *(short *)((longlong)param_1 + 0xc42) + 1; + FUN_14002e770((longlong)piVar3); + } + return param_2 == 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043420.c b/decomp/Agent_Release_x64/full/functions/0x140043420.c new file mode 100644 index 00000000..aca6884c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043420.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043420 FUN_140043420 + * Pseudocode, not original source. */ + +ulonglong FUN_140043420(longlong param_1,uint param_2) + +{ + int *piVar1; + undefined8 uVar2; + ulonglong uVar3; + uint *puVar4; + + piVar1 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar1); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200))(param_1 + -0xa8); + } + uVar3 = (ulonglong)param_2 % (ulonglong)*(uint *)(param_1 + 0xbf8); + if ((*(longlong *)(param_1 + 0xbd8) != 0) && + (puVar4 = *(uint **)(*(longlong *)(param_1 + 0xbd8) + uVar3 * 8), puVar4 != (uint *)0x0)) { + while ((uint)uVar3 == puVar4[8] % *(uint *)(param_1 + 0xbf8)) { + if (*puVar4 == param_2) { + if ((*(longlong *)(puVar4 + 2) != 0) && + (*(longlong *)(*(longlong *)(puVar4 + 2) + 0x228) == 0)) { + uVar2 = FUN_14002e770((longlong)piVar1); + return CONCAT71((int7)((ulonglong)uVar2 >> 8),1); + } + break; + } + puVar4 = *(uint **)(puVar4 + 4); + if (puVar4 == (uint *)0x0) break; + } + } + uVar3 = FUN_14002e770((longlong)piVar1); + return uVar3 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043520.c b/decomp/Agent_Release_x64/full/functions/0x140043520.c new file mode 100644 index 00000000..3745a8f9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043520.c @@ -0,0 +1,69 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043520 FUN_140043520 + * Pseudocode, not original source. */ + +ulonglong FUN_140043520(longlong param_1,uint param_2,char param_3) + +{ + longlong lVar1; + int *piVar2; + undefined1 *puVar3; + ulonglong uVar4; + uint *puVar5; + undefined1 local_res10 [8]; + undefined8 uVar6; + int *piVar7; + undefined1 uVar8; + + uVar6 = 0xfffffffffffffffe; + piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + piVar7 = piVar2; + FUN_14002e6e0(piVar2); + uVar8 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200))(param_1 + -0xa8); + } + uVar4 = (ulonglong)param_2 % (ulonglong)*(uint *)(param_1 + 0xbf8); + if ((*(longlong *)(param_1 + 0xbd8) != 0) && + (puVar5 = *(uint **)(*(longlong *)(param_1 + 0xbd8) + uVar4 * 8), puVar5 != (uint *)0x0)) { + while ((uint)uVar4 == puVar5[8] % *(uint *)(param_1 + 0xbf8)) { + if (*puVar5 == param_2) { + lVar1 = *(longlong *)(puVar5 + 2); + if ((lVar1 != 0) && (*(longlong *)(lVar1 + 0x228) == 0)) { + if (param_3 == '\0') { + if (*(longlong *)(lVar1 + 0x750) == 0) goto LAB_14004369e; + if (*(void **)(lVar1 + 0x750) != (void *)0x0) { + operator_delete(*(void **)(lVar1 + 0x750)); + } + *(undefined8 *)(lVar1 + 0x750) = 0; + local_res10[0] = 0; + } + else { + if (*(longlong *)(lVar1 + 0x750) != 0) goto LAB_14004369e; + puVar3 = operator_new(0x20); + if (puVar3 != (undefined1 *)0x0) { + *(undefined8 *)(puVar3 + 0x18) = 0x3fe2e147ae147ae1; + *(undefined8 *)(puVar3 + 0x10) = 0; + *(undefined8 *)(puVar3 + 8) = 0; + *puVar3 = 0; + } + *(undefined1 **)(lVar1 + 0x750) = puVar3; + local_res10[0] = 1; + } + (**(code **)(*(longlong *)(param_1 + 0x400) + 0xe0)) + ((longlong *)(param_1 + 0x400),param_2,&DAT_14015de10,local_res10,uVar6,piVar7, + uVar8); +LAB_14004369e: + uVar6 = FUN_14002e770((longlong)piVar2); + return CONCAT71((int7)((ulonglong)uVar6 >> 8),1); + } + break; + } + puVar5 = *(uint **)(puVar5 + 4); + if (puVar5 == (uint *)0x0) break; + } + } + uVar4 = FUN_14002e770((longlong)piVar2); + return uVar4 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400436d0.c b/decomp/Agent_Release_x64/full/functions/0x1400436d0.c new file mode 100644 index 00000000..f06476e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400436d0.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400436d0 FUN_1400436d0 + * Pseudocode, not original source. */ + +void FUN_1400436d0(longlong param_1,uint param_2,int param_3) + +{ + longlong lVar1; + ulonglong uVar2; + int iVar3; + int *piVar4; + uint *puVar5; + + piVar4 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200))(param_1 + -0xa8); + } + uVar2 = (ulonglong)param_2 % (ulonglong)*(uint *)(param_1 + 0xbf8); + if ((*(longlong *)(param_1 + 0xbd8) != 0) && + (puVar5 = *(uint **)(*(longlong *)(param_1 + 0xbd8) + uVar2 * 8), puVar5 != (uint *)0x0)) { + while ((uint)uVar2 == puVar5[8] % *(uint *)(param_1 + 0xbf8)) { + if (*puVar5 == param_2) { + lVar1 = *(longlong *)(puVar5 + 2); + if ((lVar1 != 0) && (*(longlong *)(lVar1 + 0x228) == 0)) { + iVar3 = 0; + if (0 < param_3) { + iVar3 = param_3; + } + *(double *)(lVar1 + 0x1a8) = (double)iVar3; + } + break; + } + puVar5 = *(uint **)(puVar5 + 4); + if (puVar5 == (uint *)0x0) break; + } + } + FUN_14002e770((longlong)piVar4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400437e0.c b/decomp/Agent_Release_x64/full/functions/0x1400437e0.c new file mode 100644 index 00000000..292c2638 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400437e0.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400437e0 FUN_1400437e0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400437e0(longlong *param_1,undefined4 param_2,undefined8 param_3,longlong param_4) + +{ + undefined4 uVar1; + int *piVar2; + undefined8 uVar3; + undefined **local_40; + longlong *local_38; + int *local_30; + undefined8 local_28; + undefined8 local_20; + + uVar3 = 0xfffffffffffffffe; + local_40 = Proud::CFastArray::vftable; + local_38 = (longlong *)0x0; + local_30 = (int *)0x0; + local_28 = 0; + local_20 = 0; + if ((int)param_4 != 0) { + FUN_14002d430((longlong)&local_40,1,param_3,param_4); + piVar2 = local_30; + if ((int)local_28 == 0) { + piVar2 = (int *)0x0; + } + *piVar2 = (int)param_4; + } + uVar1 = (**(code **)(*param_1 + 0x1d0))(param_1,param_2,param_3,&local_40,uVar3); + local_40 = Proud::CFastArray::vftable; + if (local_30 != (int *)0x0) { + if (local_38 == (longlong *)0x0) { + FUN_1400302f0(local_30); + } + else { + (**(code **)(*local_38 + 0x18))(local_38,local_30); + } + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400438c0.c b/decomp/Agent_Release_x64/full/functions/0x1400438c0.c new file mode 100644 index 00000000..847db3d6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400438c0.c @@ -0,0 +1,63 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400438c0 FUN_1400438c0 + * Pseudocode, not original source. */ + +void FUN_1400438c0(longlong param_1,longlong param_2,undefined8 *param_3,undefined8 param_4) + +{ + longlong *plVar1; + int *piVar2; + longlong lVar3; + longlong lVar4; + ulonglong uVar5; + int iVar6; + longlong lVar7; + undefined8 local_60 [2]; + exception local_50 [72]; + + piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar2); + if (DAT_14015bfcf != '\0') { + param_3 = *(undefined8 **)(param_1 + -0xa8); + (*(code *)param_3[0x19])(param_1 + -0xa8); + } + if (*(int *)(param_1 + 0x179c) == 1) { + uVar5 = 0; + lVar3 = param_2; + FUN_14003edc0(param_2,0); + iVar6 = 0; + lVar7 = 0; + if (0 < *(int *)(param_1 + 0x638)) { + do { + if ((lVar7 < 0) || (*(int *)(param_1 + 0x638) <= iVar6)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(lVar3,uVar5,param_3,param_4); + } + plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x630) + lVar7 * 8); + lVar3 = 0; + if (plVar1 != (longlong *)0x0) { + lVar3 = *plVar1; + } + lVar4 = 0; + if (*(longlong **)(lVar3 + 0x150) != (longlong *)0x0) { + lVar4 = **(longlong **)(lVar3 + 0x150); + } + param_3 = FUN_140034a30(lVar4,local_60); + param_4 = 1; + uVar5 = (ulonglong)*(uint *)(param_2 + 0x18); + lVar3 = param_2; + FUN_14003f3b0(param_2,*(uint *)(param_2 + 0x18),(longlong)param_3,1); + iVar6 = iVar6 + 1; + lVar7 = lVar7 + 1; + } while (iVar6 < *(int *)(param_1 + 0x638)); + } + FUN_14002e770((longlong)piVar2); + return; + } + FUN_14002f1e0(local_50, + L"Cannot call GetUdpSocketAddrList unless ServerUdpAssignMode_Static is used!", + param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043a10.c b/decomp/Agent_Release_x64/full/functions/0x140043a10.c new file mode 100644 index 00000000..b3823c24 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043a10.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043a10 FUN_140043a10 + * Pseudocode, not original source. */ + +ulonglong FUN_140043a10(longlong param_1,ulonglong param_2) + +{ + uint uVar1; + ulonglong *puVar2; + ulonglong uVar3; + ulonglong uVar4; + + uVar1 = *(uint *)(param_1 + 0x2a8); + uVar4 = (param_2 & 0xffffffff) / (ulonglong)uVar1; + uVar3 = (param_2 & 0xffffffff) % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 0x288) != 0) { + puVar2 = *(ulonglong **)(*(longlong *)(param_1 + 0x288) + uVar3 * 8); + uVar4 = uVar3; + while ((puVar2 != (ulonglong *)0x0 && + (uVar4 = (ulonglong)(uint)puVar2[4] / (ulonglong)uVar1, + (uint)uVar3 == (uint)puVar2[4] % uVar1))) { + if (*puVar2 == param_2) { + return CONCAT71((int7)(uVar4 >> 8),1); + } + puVar2 = (ulonglong *)puVar2[2]; + } + } + return uVar4 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043a70.c b/decomp/Agent_Release_x64/full/functions/0x140043a70.c new file mode 100644 index 00000000..48b33358 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043a70.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043a70 FUN_140043a70 + * Pseudocode, not original source. */ + +longlong FUN_140043a70(longlong param_1,uint param_2) + +{ + longlong *plVar1; + uint *puVar2; + ulonglong uVar3; + + plVar1 = (longlong *)(param_1 + -0x120); + if (DAT_14015bfcf != '\0') { + (**(code **)(*plVar1 + 200))(plVar1); + } + if (param_2 == 1) { + if (plVar1 != (longlong *)0x0) { + return param_1 + -0xa8; + } + } + else { + uVar3 = (ulonglong)param_2 % (ulonglong)*(uint *)(param_1 + 0xb80); + if (*(longlong *)(param_1 + 0xb60) != 0) { + puVar2 = *(uint **)(*(longlong *)(param_1 + 0xb60) + uVar3 * 8); + while( true ) { + if (puVar2 == (uint *)0x0) { + return 0; + } + if ((uint)uVar3 != puVar2[8] % *(uint *)(param_1 + 0xb80)) { + return 0; + } + if (*puVar2 == param_2) break; + puVar2 = *(uint **)(puVar2 + 4); + } + if (*(longlong *)(puVar2 + 2) != 0) { + return *(longlong *)(puVar2 + 2) + 8; + } + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043b40.c b/decomp/Agent_Release_x64/full/functions/0x140043b40.c new file mode 100644 index 00000000..c44bef78 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043b40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043b40 FUN_140043b40 + * Pseudocode, not original source. */ + +void FUN_140043b40(char *param_1) + +{ + FUN_140040f50(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043b60.c b/decomp/Agent_Release_x64/full/functions/0x140043b60.c new file mode 100644 index 00000000..8b108144 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043b60.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043b60 FUN_140043b60 + * Pseudocode, not original source. */ + +void FUN_140043b60(longlong *param_1) + +{ + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + FUN_140041080((undefined8 *)*param_1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043ba0.c b/decomp/Agent_Release_x64/full/functions/0x140043ba0.c new file mode 100644 index 00000000..bc2419d1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043ba0.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043ba0 FUN_140043ba0 + * Pseudocode, not original source. */ + +longlong * FUN_140043ba0(longlong *param_1,longlong *param_2,longlong param_3,undefined8 param_4) + +{ + longlong lVar1; + + if (param_3 != 0) { + FUN_1400304d0(param_3,param_2,param_3,param_4); + param_1[1] = (longlong)param_2; + lVar1 = (**(code **)(*param_2 + 8))(param_2,0x10); + *param_1 = lVar1; + *(undefined8 *)(lVar1 + 8) = 1; + *(longlong *)*param_1 = param_3; + return param_1; + } + param_1[1] = (longlong)param_2; + *param_1 = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043c20.c b/decomp/Agent_Release_x64/full/functions/0x140043c20.c new file mode 100644 index 00000000..41a46f0c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043c20.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043c20 FUN_140043c20 + * Pseudocode, not original source. */ + +void FUN_140043c20(longlong *param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + int *piVar1; + + piVar1 = (int *)*param_1; + if (piVar1 != (int *)0x0) { + FUN_14002e6e0(piVar1); + *(longlong *)(*param_1 + 0x40) = *(longlong *)(*param_1 + 0x40) + -1; + if (*(longlong *)(*param_1 + 0x40) == 0) { + FUN_14002e770((longlong)piVar1); + FUN_1400410e0((undefined4 *)*param_1,param_2,param_3,param_4); + } + else { + FUN_14002e770((longlong)piVar1); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043ca0.c b/decomp/Agent_Release_x64/full/functions/0x140043ca0.c new file mode 100644 index 00000000..2f4f6d2d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043ca0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043ca0 FUN_140043ca0 + * Pseudocode, not original source. */ + +void FUN_140043ca0(char *param_1) + +{ + FUN_1400980c0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043cc0.c b/decomp/Agent_Release_x64/full/functions/0x140043cc0.c new file mode 100644 index 00000000..510a209c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043cc0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043cc0 FUN_140043cc0 + * Pseudocode, not original source. */ + +ulonglong FUN_140043cc0(char *param_1,longlong param_2,char param_3) + +{ + uint uVar1; + LPVOID pvVar2; + ulonglong uVar3; + ulonglong uVar4; + undefined8 uVar5; + + uVar1 = *(uint *)(param_1 + 0x28); + uVar3 = (ulonglong)((uint)*(ushort *)(param_2 + 0xc) ^ *(uint *)(param_2 + 8)); + uVar4 = uVar3 / uVar1; + uVar3 = uVar3 % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 8) != 0) { + uVar4 = uVar3; + for (pvVar2 = *(LPVOID *)(*(longlong *)(param_1 + 8) + uVar3 * 8); + (pvVar2 != (LPVOID)0x0 && + (uVar4 = (ulonglong)*(uint *)((longlong)pvVar2 + 0x28) / (ulonglong)uVar1, + (uint)uVar3 == *(uint *)((longlong)pvVar2 + 0x28) % uVar1)); + pvVar2 = *(LPVOID *)((longlong)pvVar2 + 0x18)) { + if ((*(uint *)((longlong)pvVar2 + 8) == *(uint *)(param_2 + 8)) && + (*(ushort *)((longlong)pvVar2 + 0xc) == *(ushort *)(param_2 + 0xc))) { + uVar5 = FUN_140097fc0(param_1,pvVar2,param_3); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); + } + } + } + return uVar4 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043d50.c b/decomp/Agent_Release_x64/full/functions/0x140043d50.c new file mode 100644 index 00000000..1c262b6b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043d50.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043d50 FUN_140043d50 + * Pseudocode, not original source. */ + +void FUN_140043d50(longlong param_1,longlong *param_2) + +{ + undefined8 *puVar1; + longlong *plVar2; + + puVar1 = (undefined8 *)*param_2; + plVar2 = *(longlong **)(param_1 + 8); + *puVar1 = Proud::CFastArray::vftable; + if ((LPVOID)puVar1[2] != (LPVOID)0x0) { + if ((longlong *)puVar1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)puVar1[2]); + } + else { + (**(code **)(*(longlong *)puVar1[1] + 0x18))(); + } + } + (**(code **)(*plVar2 + 0x18))(plVar2,puVar1); + /* WARNING: Could not recover jumptable at 0x000140043dc8. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(**(longlong **)(param_1 + 8) + 0x18))(*(longlong **)(param_1 + 8),param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043dd0.c b/decomp/Agent_Release_x64/full/functions/0x140043dd0.c new file mode 100644 index 00000000..2a35f172 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043dd0.c @@ -0,0 +1,58 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043dd0 FUN_140043dd0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140043ec6) */ +/* WARNING: Removing unreachable block (ram,0x000140043ed4) */ + +void FUN_140043dd0(ulonglong *param_1,ulonglong *param_2,undefined8 param_3,longlong param_4) + +{ + longlong *plVar1; + int *piVar2; + ulonglong *puVar3; + int *piVar4; + int *piVar5; + undefined4 *puVar6; + + piVar5 = (int *)*param_2; + piVar2 = (int *)*param_1; + if (piVar2 != piVar5) { + piVar4 = piVar2; + if (piVar5 < piVar2) { + piVar4 = piVar5; + piVar5 = piVar2; + } + puVar3 = param_2; + if (piVar4 != (int *)0x0) { + FUN_14002e6e0(piVar4); + } + if (piVar5 != (int *)0x0) { + FUN_14002e6e0(piVar5); + } + if (*param_2 != 0) { + plVar1 = (longlong *)(*param_2 + 0x40); + *plVar1 = *plVar1 + 1; + } + puVar6 = (undefined4 *)0x0; + if (*param_1 != 0) { + plVar1 = (longlong *)(*param_1 + 0x40); + *plVar1 = *plVar1 + -1; + if (*(longlong *)((undefined4 *)*param_1 + 0x10) == 0) { + puVar6 = (undefined4 *)*param_1; + } + } + *param_1 = *param_2; + if (piVar4 != (int *)0x0) { + FUN_14002e770((longlong)piVar4); + } + if (piVar5 != (int *)0x0) { + FUN_14002e770((longlong)piVar5); + } + if (puVar6 != (undefined4 *)0x0) { + FUN_1400410e0(puVar6,puVar3,param_3,param_4); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043f00.c b/decomp/Agent_Release_x64/full/functions/0x140043f00.c new file mode 100644 index 00000000..c144b929 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043f00.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043f00 FUN_140043f00 + * Pseudocode, not original source. */ + +undefined4 * FUN_140043f00(char *param_1,undefined4 *param_2,uint param_3,undefined4 param_4) + +{ + undefined8 uVar1; + undefined4 *puVar2; + + if (*(longlong *)(param_1 + 8) == 0) { + uVar1 = FUN_14003f710((longlong)param_1,*(uint *)(param_1 + 0x28),'\x01'); + if ((char)uVar1 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + FUN_14003f000(param_1); + puVar2 = FUN_140041130(param_1,param_2,param_3,param_4); + FUN_14003f000(param_1); + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043f80.c b/decomp/Agent_Release_x64/full/functions/0x140043f80.c new file mode 100644 index 00000000..a4c32d0e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043f80.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043f80 FUN_140043f80 + * Pseudocode, not original source. */ + +longlong * FUN_140043f80(longlong *param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + longlong *plVar1; + + plVar1 = param_3; + FUN_140030200(param_1,param_2,param_3,param_4); + *param_1 = (longlong)PTR_DAT_140155010; + FUN_140003170(param_1,param_2,plVar1,param_4); + FUN_14001b5a0(param_1,param_3); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140043ff0.c b/decomp/Agent_Release_x64/full/functions/0x140043ff0.c new file mode 100644 index 00000000..3ae8b49b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140043ff0.c @@ -0,0 +1,124 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140043ff0 FUN_140043ff0 + * Pseudocode, not original source. */ + +void FUN_140043ff0(longlong param_1,uint param_2,uint param_3) + +{ + longlong lVar1; + longlong lVar2; + longlong lVar3; + undefined8 uVar4; + undefined8 uVar5; + undefined8 uVar6; + ulonglong uVar7; + ulonglong uVar8; + uint uVar9; + longlong *plVar11; + longlong lVar12; + double dVar13; + double dVar14; + uint local_res10; + uint local_res18; + ulonglong local_res20; + ulonglong local_28; + uint uVar10; + + uVar7 = (ulonglong)(int)param_3; + local_28 = (ulonglong)(int)param_2; + local_res10 = param_2; + local_res18 = param_3; + local_res20 = uVar7; + if ((int)param_3 < (int)param_2) { + do { + lVar12 = (longlong)(int)uVar7; + uVar7 = local_28; + uVar9 = local_res10; + while( true ) { + plVar11 = (longlong *)(param_1 + 8 + lVar12 * 0x18); + while( true ) { + lVar1 = *plVar11; + lVar2 = plVar11[-1]; + if ((*(int *)(lVar1 + 0x78) < 1) || (**(int **)(lVar1 + 0x70) != *(int *)(lVar2 + 0x6f8))) + { + dVar14 = *(double *)(lVar2 + 0x1b0); + } + else { + dVar14 = DAT_140155198 + *(double *)(lVar2 + 0x1b0); + } + lVar2 = *(longlong *)(param_1 + local_res20 * 0x18); + if ((*(int *)(lVar1 + 0x78) < 1) || (**(int **)(lVar1 + 0x70) != *(int *)(lVar2 + 0x6f8))) + { + dVar13 = *(double *)(lVar2 + 0x1b0); + } + else { + dVar13 = DAT_140155198 + *(double *)(lVar2 + 0x1b0); + } + if ((dVar14 <= dVar13) || ((longlong)uVar7 <= lVar12)) break; + lVar12 = lVar12 + 1; + plVar11 = plVar11 + 3; + } + lVar1 = *(longlong *)(param_1 + local_res20 * 0x18); + lVar2 = *(longlong *)(param_1 + 8 + local_res20 * 0x18); + plVar11 = (longlong *)(param_1 + uVar7 * 0x18); + do { + uVar10 = uVar9; + uVar8 = uVar7; + uVar9 = uVar10 - 1; + uVar7 = uVar8 - 1; + plVar11 = plVar11 + -3; + if ((*(int *)(lVar2 + 0x78) < 1) || (**(int **)(lVar2 + 0x70) != *(int *)(lVar1 + 0x6f8))) + { + dVar14 = *(double *)(lVar1 + 0x1b0); + } + else { + dVar14 = DAT_140155198 + *(double *)(lVar1 + 0x1b0); + } + lVar3 = *plVar11; + if ((*(int *)(lVar2 + 0x78) < 1) || (**(int **)(lVar2 + 0x70) != *(int *)(lVar3 + 0x6f8))) + { + dVar13 = *(double *)(lVar3 + 0x1b0); + } + else { + dVar13 = DAT_140155198 + *(double *)(lVar3 + 0x1b0); + } + } while (dVar13 < dVar14); + if ((longlong)uVar7 <= lVar12) break; + uVar4 = *(undefined8 *)(param_1 + lVar12 * 0x18); + uVar5 = *(undefined8 *)(param_1 + 8 + lVar12 * 0x18); + uVar6 = *(undefined8 *)(param_1 + 0x10 + lVar12 * 0x18); + *(undefined8 *)(param_1 + lVar12 * 0x18) = *(undefined8 *)(param_1 + uVar7 * 0x18); + *(undefined8 *)(param_1 + 8 + lVar12 * 0x18) = *(undefined8 *)(param_1 + 8 + uVar7 * 0x18); + *(undefined8 *)(param_1 + 0x10 + lVar12 * 0x18) = + *(undefined8 *)(param_1 + 0x10 + uVar7 * 0x18); + *(undefined8 *)(param_1 + uVar7 * 0x18) = uVar4; + *(undefined8 *)(param_1 + 8 + uVar7 * 0x18) = uVar5; + *(undefined8 *)(param_1 + 0x10 + uVar7 * 0x18) = uVar6; + } + uVar4 = *(undefined8 *)(param_1 + local_res20 * 0x18); + uVar5 = *(undefined8 *)(param_1 + 8 + local_res20 * 0x18); + uVar6 = *(undefined8 *)(param_1 + 0x10 + local_res20 * 0x18); + *(undefined8 *)(param_1 + local_res20 * 0x18) = *(undefined8 *)(param_1 + uVar7 * 0x18); + *(undefined8 *)(param_1 + 8 + local_res20 * 0x18) = + *(undefined8 *)(param_1 + 8 + uVar7 * 0x18); + *(undefined8 *)(param_1 + 0x10 + local_res20 * 0x18) = + *(undefined8 *)(param_1 + 0x10 + uVar7 * 0x18); + *(undefined8 *)(param_1 + uVar7 * 0x18) = uVar4; + *(undefined8 *)(param_1 + 8 + uVar7 * 0x18) = uVar5; + *(undefined8 *)(param_1 + 0x10 + uVar7 * 0x18) = uVar6; + if ((int)((local_res10 - uVar9) + -1) < (int)(uVar9 - local_res18)) { + FUN_140043ff0(param_1,uVar10 - 2,local_res18); + local_res18 = uVar10; + local_res20 = uVar8; + } + else { + FUN_140043ff0(param_1,local_res10,uVar10); + local_res10 = uVar10 - 2; + local_28 = uVar8 - 2; + } + uVar7 = (ulonglong)local_res18; + } while ((int)local_res18 < (int)local_res10); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140044280.c b/decomp/Agent_Release_x64/full/functions/0x140044280.c new file mode 100644 index 00000000..cf0e62a7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140044280.c @@ -0,0 +1,48 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140044280 FUN_140044280 + * Pseudocode, not original source. */ + +void FUN_140044280(longlong *param_1,longlong param_2,longlong param_3) + +{ + undefined8 *puVar1; + longlong lVar2; + uint uVar3; + longlong *plVar5; + longlong *plVar6; + longlong *plVar4; + + if (0 < param_3) { + plVar6 = (longlong *)0x0; + lVar2 = param_2 - (longlong)param_1; + plVar4 = plVar6; + do { + if (param_1 != (longlong *)0x0) { + *param_1 = 0; + if (*(longlong *)((longlong)param_1 + lVar2) != 0) { + *(longlong *)(*(longlong *)((longlong)param_1 + lVar2) + 8) = + *(longlong *)(*(longlong *)((longlong)param_1 + lVar2) + 8) + 1; + plVar5 = plVar6; + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + plVar5 = (longlong *)*param_1; + } + *param_1 = *(longlong *)((longlong)param_1 + lVar2); + if (plVar5 != (longlong *)0x0) { + puVar1 = (undefined8 *)*plVar5; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(plVar5); + } + } + } + uVar3 = (int)plVar4 + 1; + plVar4 = (longlong *)(ulonglong)uVar3; + param_1 = param_1 + 1; + } while ((int)uVar3 < param_3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140044360.c b/decomp/Agent_Release_x64/full/functions/0x140044360.c new file mode 100644 index 00000000..4403ed83 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140044360.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140044360 FUN_140044360 + * Pseudocode, not original source. */ + +void FUN_140044360(longlong *param_1) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + puVar1 = (undefined8 *)*param_1; + puVar2 = (undefined8 *)*puVar1; + if (puVar2 != (undefined8 *)0x0) { + FUN_140037670(puVar2); + operator_delete(puVar2); + } + FUN_1400302f0(puVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400443d0.c b/decomp/Agent_Release_x64/full/functions/0x1400443d0.c new file mode 100644 index 00000000..e19ed205 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400443d0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400443d0 FUN_1400443d0 + * Pseudocode, not original source. */ + +void FUN_1400443d0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + LPVOID pvVar1; + longlong *plVar2; + + *(undefined ***)(param_1 + 200) = + Proud::CFastArray::vftable; + pvVar1 = *(LPVOID *)(param_1 + 0xd8); + if (pvVar1 != (LPVOID)0x0) { + plVar2 = *(longlong **)(param_1 + 0xd0); + if (plVar2 == (longlong *)0x0) { + FUN_1400302f0(pvVar1); + } + else { + (**(code **)(*plVar2 + 0x18))(plVar2,pvVar1,plVar2,param_4,0xfffffffffffffffe); + } + } + *(undefined ***)(param_1 + 0x60) = Proud::CFastArray::vftable; + pvVar1 = *(LPVOID *)(param_1 + 0x70); + if (pvVar1 != (LPVOID)0x0) { + plVar2 = *(longlong **)(param_1 + 0x68); + if (plVar2 == (longlong *)0x0) { + FUN_1400302f0(pvVar1); + } + else { + (**(code **)(*plVar2 + 0x18))(plVar2,pvVar1); + } + } + FUN_1400414f0((char *)(param_1 + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140044460.c b/decomp/Agent_Release_x64/full/functions/0x140044460.c new file mode 100644 index 00000000..11a12585 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140044460.c @@ -0,0 +1,47 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140044460 FUN_140044460 + * Pseudocode, not original source. */ + +void FUN_140044460(_Container_base12 *param_1,undefined4 *param_2) + +{ + undefined4 *puVar1; + longlong lVar2; + longlong lVar3; + void *pvVar4; + ulonglong uVar5; + char *local_res8; + undefined **local_28 [4]; + + std::_Container_base12::_Orphan_all(param_1); + if ((((char)*(longlong *)(param_1 + 0x20) + (char)param_1[0x18] & 3U) == 0) && + (*(ulonglong *)(param_1 + 0x10) <= *(longlong *)(param_1 + 0x20) + 4U >> 2)) { + FUN_1400415c0((longlong)param_1,1); + } + lVar2 = *(longlong *)(param_1 + 0x18); + lVar3 = *(longlong *)(param_1 + 0x20); + uVar5 = (ulonglong)(lVar2 + lVar3) >> 2; + if (*(ulonglong *)(param_1 + 0x10) <= uVar5) { + uVar5 = uVar5 - *(ulonglong *)(param_1 + 0x10); + } + if (*(longlong *)(*(longlong *)(param_1 + 8) + uVar5 * 8) == 0) { + pvVar4 = operator_new(0x10); + if (pvVar4 == (void *)0x0) { + local_res8 = (char *)0x0; + std::exception::exception((exception *)local_28,&local_res8); + local_28[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_28,(ThrowInfo *)&DAT_140151ad0); + } + *(void **)(*(longlong *)(param_1 + 8) + uVar5 * 8) = pvVar4; + } + puVar1 = (undefined4 *) + (*(longlong *)(*(longlong *)(param_1 + 8) + uVar5 * 8) + + (ulonglong)((uint)(lVar2 + lVar3) & 3) * 4); + if (puVar1 != (undefined4 *)0x0) { + *puVar1 = *param_2; + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140044550.c b/decomp/Agent_Release_x64/full/functions/0x140044550.c new file mode 100644 index 00000000..fe7df3cd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140044550.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140044550 FUN_140044550 + * Pseudocode, not original source. */ + +undefined8 * FUN_140044550(longlong *param_1,undefined8 *param_2,longlong param_3) + +{ + undefined8 *puVar1; + longlong lVar2; + longlong *plVar3; + + plVar3 = (longlong *)0x0; + if (((longlong *)*param_1 != (longlong *)0x0) && + (puVar1 = *(undefined8 **)*param_1, plVar3 = (longlong *)0x0, puVar1 != (undefined8 *)0x0)) { + plVar3 = (longlong *)*puVar1; + } + lVar2 = param_1[2]; + *param_2 = 0; + param_2[1] = 0; + param_2[2] = lVar2 - param_3; + if ((plVar3 != (longlong *)0x0) && ((undefined8 *)*plVar3 != (undefined8 *)0x0)) { + *param_2 = *(undefined8 *)*plVar3; + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400445a0.c b/decomp/Agent_Release_x64/full/functions/0x1400445a0.c new file mode 100644 index 00000000..4e96839e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400445a0.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400445a0 FUN_1400445a0 + * Pseudocode, not original source. */ + +void FUN_1400445a0(longlong *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + longlong *plVar2; + int *piVar3; + undefined *local_res10 [3]; + + plVar2 = (longlong *)(**(code **)*param_2)(param_2,local_res10,param_2,param_4,0xfffffffffffffffe) + ; + FUN_14001b5a0(param_1,plVar2); + if (((local_res10[0] != (undefined *)0x0) && (local_res10[0] != PTR_DAT_140155010)) && + (local_res10[0] + -8 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(param_1,plVar2,param_2,param_4); + FUN_14002e6e0(piVar3); + piVar1 = (int *)(local_res10[0] + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_res10[0] + -8); + } + FUN_14002e770((longlong)piVar3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140044630.c b/decomp/Agent_Release_x64/full/functions/0x140044630.c new file mode 100644 index 00000000..1be431ca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140044630.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140044630 FUN_140044630 + * Pseudocode, not original source. */ + +void FUN_140044630(longlong param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong lVar1; + int iVar2; + uint uVar3; + ulonglong uVar4; + longlong lVar5; + exception local_58 [80]; + + lVar5 = 0; + *(undefined4 *)(param_1 + 4) = 0; + lVar1 = *(longlong *)(param_1 + 8); + if (lVar1 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + } + else if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + iVar2 = *(int *)(lVar1 + 0x18); + uVar3 = iVar2 + 4; + uVar4 = (ulonglong)uVar3; + FUN_14001bc70(lVar1,uVar3,param_3); + if (*(int *)(lVar1 + 0x18) != 0) { + lVar5 = *(longlong *)(lVar1 + 0x10); + } + *(int *)(iVar2 + lVar5) = (int)param_2; + goto LAB_1400446e8; + } + if (*(longlong *)(param_1 + 0x10) == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + uVar4 = (ulonglong)*(int *)(param_1 + 0x18); + iVar2 = *(int *)(param_1 + 0x18) + 4; + if ((iVar2 < 0) || (*(int *)(param_1 + 0x1c) < iVar2)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(int *)(param_1 + 0x18) = iVar2; + *(int *)(uVar4 + *(longlong *)(param_1 + 0x10)) = (int)param_2; +LAB_1400446e8: + FUN_14001be00(param_1,uVar4,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140044710.c b/decomp/Agent_Release_x64/full/functions/0x140044710.c new file mode 100644 index 00000000..59a3b518 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140044710.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140044710 FUN_140044710 + * Pseudocode, not original source. */ + +void FUN_140044710(longlong param_1,undefined8 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + int iVar1; + longlong lVar2; + int iVar3; + longlong lVar4; + SIZE_T SVar5; + exception local_68 [80]; + + lVar4 = 0; + *(undefined4 *)(param_1 + 4) = 0; + lVar2 = *(longlong *)(param_1 + 8); + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + } + else if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + iVar1 = *(int *)(lVar2 + 0x18); + FUN_14001bc70(lVar2,iVar1 + 0x10,param_3); + if (*(int *)(lVar2 + 0x18) != 0) { + lVar4 = *(longlong *)(lVar2 + 0x10); + } + SVar5 = 0x10; + FUN_14001bd30((undefined8 *)(lVar4 + iVar1),param_2,0x10); + goto LAB_1400447da; + } + if (*(longlong *)(param_1 + 0x10) == 0) { + FUN_14002f1e0(local_68,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_68,(ThrowInfo *)&DAT_140151b88); + } + iVar1 = *(int *)(param_1 + 0x18); + iVar3 = iVar1 + 0x10; + if ((iVar3 < 0) || (*(int *)(param_1 + 0x1c) < iVar3)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + SVar5 = 0x10; + *(int *)(param_1 + 0x18) = iVar3; + FUN_14001bd30((undefined8 *)((longlong)iVar1 + *(longlong *)(param_1 + 0x10)),param_2,0x10); +LAB_1400447da: + FUN_14001be00(param_1,param_2,SVar5,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140044800.c b/decomp/Agent_Release_x64/full/functions/0x140044800.c new file mode 100644 index 00000000..a6f57368 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140044800.c @@ -0,0 +1,1912 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140044800 FUN_140044800 + * Pseudocode, not original source. */ + +ulonglong FUN_140044800(longlong *param_1,uint *param_2,SIZE_T param_3,undefined8 param_4) + +{ + int *piVar1; + uint uVar2; + uint uVar3; + longlong ****pppplVar4; + char cVar5; + int iVar6; + DWORD DVar7; + DWORD DVar8; + undefined8 uVar9; + short *psVar10; + longlong *****ppppplVar11; + undefined **ppuVar12; + undefined *puVar13; + longlong *****ppppplVar14; + undefined **ppuVar15; + undefined *puVar16; + longlong *****ppppplVar17; + int *piVar18; + wchar_t *pwVar19; + longlong *plVar20; + longlong *plVar21; + ulonglong uVar22; + undefined4 uVar23; + undefined1 *puVar24; + undefined1 uVar25; + IMAGE_DOS_HEADER *pIVar26; + undefined ***pppuVar27; + SIZE_T SVar28; + undefined8 uVar29; + longlong ****local_res10 [2]; + longlong ****local_res20; + longlong ****local_358; + longlong ****local_350; + undefined **local_348; + undefined *local_340; + undefined8 local_338; + SIZE_T local_330; + undefined8 local_328; + int *local_320; + undefined *local_318; + uint local_310; + SIZE_T local_308; + int local_300; + longlong ****local_2f8; + undefined4 local_2f0; + undefined2 local_2ec; + undefined **local_2e8; + undefined4 local_2e0; + undefined2 local_2dc; + undefined4 local_2d8 [2]; + undefined **local_2d0; + undefined4 local_2c8; + undefined2 local_2c4; + undefined1 local_2b8 [4]; + uint local_2b4; + SIZE_T local_280; + longlong ****local_258; + longlong ****local_250; + longlong ****local_248; + undefined **local_240; + undefined4 local_238; + undefined2 local_234; + longlong ****local_230; + longlong ***local_228; + longlong ***local_220; + longlong ***local_218; + undefined4 local_210; + longlong ***local_208; + undefined *local_200; + longlong ***local_1f8; + undefined *local_1f0; + longlong ***local_1e8; + longlong ***local_1e0; + longlong ***local_1d8; + longlong ***local_1d0; + longlong ***local_1c8; + longlong ***local_1c0; + longlong ***local_1b8; + undefined4 local_1b0; + undefined4 local_1ac; + undefined *local_1a8; + undefined4 local_1a0; + longlong ***local_198; + undefined4 local_190; + longlong ***local_188; + undefined4 local_180; + undefined4 local_17c; + undefined4 local_178; + undefined *local_170; + uint local_168 [2]; + longlong ***local_160; + undefined4 local_158; + undefined *local_150; + undefined *local_148; + undefined *local_140; + undefined *local_138; + longlong local_130; + longlong local_128; + longlong local_120; + longlong local_118; + longlong local_110; + longlong local_108; + longlong local_100; + longlong local_f8; + longlong local_f0; + longlong local_e8; + longlong local_e0; + longlong local_d8; + longlong local_d0; + longlong local_c8; + longlong local_c0; + longlong local_b8; + longlong local_b0; + longlong local_a8; + longlong local_a0; + longlong local_98; + longlong local_90; + longlong local_88; + longlong local_80; + longlong local_78; + longlong local_70; + longlong local_68 [3]; + longlong local_50; + longlong local_48; + longlong local_40; + + local_68[1] = 0xfffffffffffffffe; + uVar2 = param_2[10]; + SVar28 = param_3; + if (uVar2 == 0) { + FUN_140093300(); + } + uVar3 = *param_2; + uVar9 = FUN_140080fb0(param_2,local_168,SVar28,param_4); + if ((char)uVar9 == '\0') { +switchD_140044893_default: + uVar22 = FUN_1400802d0((int *)param_2, + (ulonglong)(uint)((int)(((int)uVar3 >> 0x1f & 7U) + uVar3) >> 3),SVar28, + param_4); + uVar22 = uVar22 & 0xffffffffffffff00; + } + else { + pIVar26 = &IMAGE_DOS_HEADER_140000000; + local_280 = param_3; + switch(local_168[0]) { + case 0xfa01: + FUN_14003b570(local_2b8); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + uVar9 = FUN_140080600(param_2,&local_res20,4); + if ((char)uVar9 != '\0') { + local_res10[0] = (longlong ****)CONCAT44(local_res10[0]._4_4_,(uint)local_res20); + } + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_1401558c8; + (**(code **)(*plVar21 + 0x48))(); + DVar7 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa01,PTR_DAT_1401558c8,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_res20 = (longlong ****)PTR_DAT_140155010; + FUN_14009d960((longlong *)&local_res20); + FUN_14001b850((longlong *)&local_res20,(short *)&DAT_14011eebc); + iVar6 = 0; + if (((longlong *****)local_res20 != (longlong *****)0x0) && + (local_res20 != (longlong ****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_res20 + -1); + } + uVar22 = (ulonglong)(iVar6 - 2U); + local_358 = (longlong ****) + FUN_14001ac70((longlong *)&local_res20,(longlong *)&local_148,iVar6 - 2U); + ppppplVar14 = (longlong *****)local_res20; + if ((longlong *****)local_res20 == (longlong *****)0x0) { + ppppplVar14 = (longlong *****)PTR_DAT_140155010; + } + local_res20 = (longlong ****)ppppplVar14; + if ((longlong *****)*local_358 != ppppplVar14) { + ppppplVar14 = (longlong *****)FUN_140030200(ppppplVar14,PTR_DAT_140155010,uVar22,param_4); + local_2f8 = (longlong ****)ppppplVar14; + FUN_14002e6e0((int *)ppppplVar14); + pppplVar4 = local_res20; + local_2f0 = CONCAT31(local_2f0._1_3_,1); + if ((((longlong *****)local_res20 != (longlong *****)0x0) && + (local_res20 != (longlong ****)PTR_DAT_140155010)) && + (ppppplVar17 = (longlong *****)(local_res20 + -1), ppppplVar17 != (longlong *****)0x0)) + { + ppuVar15 = (undefined **)FUN_140030200(local_res20,PTR_DAT_140155010,uVar22,param_4); + local_2d0 = ppuVar15; + FUN_14002e6e0((int *)ppuVar15); + local_2c8 = CONCAT31(local_2c8._1_3_,1); + piVar1 = (int *)((longlong)pppplVar4 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(ppppplVar17); + } + FUN_14002e770((longlong)ppuVar15); + } + local_res20 = (longlong ****)*local_358; + if (((local_res20 != (longlong ****)PTR_DAT_140155010) && + ((longlong *****)local_res20 != (longlong *****)0x0)) && + ((longlong *****)local_res20 != (longlong *****)0x8)) { + *(int *)((longlong)local_res20 + -4) = *(int *)((longlong)local_res20 + -4) + 1; + } + FUN_14002e770((longlong)ppppplVar14); + } + if (((local_148 != (undefined *)0x0) && (local_148 != PTR_DAT_140155010)) && + (local_148 + -8 != (undefined *)0x0)) { + ppppplVar14 = (longlong *****)FUN_140030200(ppppplVar14,PTR_DAT_140155010,uVar22,param_4); + local_2f8 = (longlong ****)ppppplVar14; + FUN_14002e6e0((int *)ppppplVar14); + local_2f0 = CONCAT31(local_2f0._1_3_,1); + piVar1 = (int *)(local_148 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_148 + -8); + } + FUN_14002e770((longlong)ppppplVar14); + } + local_350 = (longlong ****)&local_230; + puVar16 = PTR_DAT_140155010; + local_148 = PTR_DAT_140155010; + FUN_140030200(ppppplVar14,PTR_DAT_140155010,uVar22,param_4); + local_230 = (longlong ****)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_230 = (longlong ****)(longlong *****)0x0; + } + if (local_res20 != (longlong ****)PTR_DAT_140155010) { + ppppplVar14 = (longlong *****)FUN_140030200(ppppplVar14,puVar16,uVar22,param_4); + local_2f8 = (longlong ****)ppppplVar14; + FUN_14002e6e0((int *)ppppplVar14); + local_2f0 = CONCAT31(local_2f0._1_3_,1); + FUN_140003240((longlong *)&local_230,puVar16,uVar22,param_4); + local_230 = local_res20; + if (((local_res20 != (longlong ****)PTR_DAT_140155010) && + ((longlong *****)local_res20 != (longlong *****)0x0)) && + ((longlong *****)local_res20 != (longlong *****)0x8)) { + *(int *)((longlong)local_res20 + -4) = *(int *)((longlong)local_res20 + -4) + 1; + } + FUN_14002e770((longlong)ppppplVar14); + } + puVar13 = PTR_DAT_1401558c8; + FUN_140030200(ppppplVar14,puVar16,uVar22,param_4); + local_170 = PTR_DAT_140155010; + iVar6 = FUN_140030080((short *)puVar13); + puVar16 = FUN_140002f90((longlong *)&local_170,iVar6); + FUN_1400300b0(puVar16,puVar13,iVar6); + FUN_140003070((longlong *)&local_170); + (**(code **)(*param_1 + 0x28))(param_1,0xfa01,&local_170,&local_230); + plVar21 = (longlong *)param_1[2]; + uVar9 = 0xfa01; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_1401558c8; + (**(code **)(*plVar21 + 0x70))(); + pppplVar4 = local_res20; + if ((((longlong *****)local_res20 != (longlong *****)0x0) && + (local_res20 != (longlong ****)PTR_DAT_140155010)) && + (ppppplVar14 = (longlong *****)(local_res20 + -1), ppppplVar14 != (longlong *****)0x0)) { + ppppplVar17 = (longlong *****)FUN_140030200(plVar21,uVar22,uVar9,puVar16); + local_2f8 = (longlong ****)ppppplVar17; + FUN_14002e6e0((int *)ppppplVar17); + local_2f0 = CONCAT31(local_2f0._1_3_,1); + piVar1 = (int *)((longlong)pppplVar4 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(ppppplVar14); + } + FUN_14002e770((longlong)ppppplVar17); + } + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa01); + local_318 = PTR_DAT_1401558c8; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + uVar9 = (**(code **)(*param_1 + 0x38))(param_1,uVar2,local_2b8,local_res10); + if ((char)uVar9 == '\0') { + uVar9 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_1401558c8); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa01); + local_340 = PTR_DAT_1401558c8; +LAB_1400482d5: + local_338 = CONCAT44(local_338._4_4_,uVar2); + local_330 = param_3; + DVar8 = GetTickCount(); + local_328 = CONCAT44(local_328._4_4_,DVar8 - DVar7); + uVar9 = (**(code **)(*param_1 + 0x18))(param_1,&local_348); + } + break; + case 0xfa02: + FUN_14003b570(local_2b8); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + FUN_140081090(param_2,(undefined4 *)&local_res20,SVar28,param_4); + uVar9 = FUN_140080600(param_2,&local_358,4); + uVar23 = (uint)local_res10[0]; + if ((char)uVar9 != '\0') { + uVar23 = local_358._0_4_; + } + local_res10[0] = (longlong ****)CONCAT44(local_res10[0]._4_4_,uVar23); + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_1401558d0; + (**(code **)(*plVar21 + 0x48))(); + DVar7 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa02,PTR_DAT_1401558d0,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_358 = (longlong ****)PTR_DAT_140155010; + local_158 = (uint)local_res20; + FUN_14009d840((longlong *)&local_358); + FUN_14001b850((longlong *)&local_358,(short *)&DAT_14011eebc); + psVar10 = (short *)FUN_14003beb0((uint)local_res10[0]); + FUN_14001b850((longlong *)&local_358,psVar10); + FUN_14001b850((longlong *)&local_358,(short *)&DAT_14011eebc); + iVar6 = 0; + if (((longlong *****)local_358 != (longlong *****)0x0) && + (local_358 != (longlong ****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_358 + -1); + } + uVar22 = (ulonglong)(iVar6 - 2U); + local_2e8 = (undefined **) + FUN_14001ac70((longlong *)&local_358,(longlong *)&local_140,iVar6 - 2U); + ppppplVar14 = (longlong *****)local_358; + if ((longlong *****)local_358 == (longlong *****)0x0) { + ppppplVar14 = (longlong *****)PTR_DAT_140155010; + } + local_358 = (longlong ****)ppppplVar14; + if ((longlong *****)*local_2e8 != ppppplVar14) { + ppppplVar14 = (longlong *****)FUN_140030200(ppppplVar14,PTR_DAT_140155010,uVar22,param_4); + local_2f8 = (longlong ****)ppppplVar14; + FUN_14002e6e0((int *)ppppplVar14); + pppplVar4 = local_358; + local_2f0 = CONCAT31(local_2f0._1_3_,1); + if ((((longlong *****)local_358 != (longlong *****)0x0) && + (local_358 != (longlong ****)PTR_DAT_140155010)) && + (ppppplVar17 = (longlong *****)(local_358 + -1), ppppplVar17 != (longlong *****)0x0)) { + ppuVar15 = (undefined **)FUN_140030200(local_358,PTR_DAT_140155010,uVar22,param_4); + local_2d0 = ppuVar15; + FUN_14002e6e0((int *)ppuVar15); + local_2c8 = CONCAT31(local_2c8._1_3_,1); + piVar1 = (int *)((longlong)pppplVar4 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(ppppplVar17); + } + FUN_14002e770((longlong)ppuVar15); + } + local_358 = (longlong ****)*local_2e8; + if (((local_358 != (longlong ****)PTR_DAT_140155010) && + ((longlong *****)local_358 != (longlong *****)0x0)) && + ((longlong *****)local_358 != (longlong *****)0x8)) { + *(int *)((longlong)local_358 + -4) = *(int *)((longlong)local_358 + -4) + 1; + } + FUN_14002e770((longlong)ppppplVar14); + } + if (((local_140 != (undefined *)0x0) && (local_140 != PTR_DAT_140155010)) && + (local_140 + -8 != (undefined *)0x0)) { + ppppplVar14 = (longlong *****)FUN_140030200(ppppplVar14,PTR_DAT_140155010,uVar22,param_4); + local_2f8 = (longlong ****)ppppplVar14; + FUN_14002e6e0((int *)ppppplVar14); + local_2f0 = CONCAT31(local_2f0._1_3_,1); + piVar1 = (int *)(local_140 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_140 + -8); + } + FUN_14002e770((longlong)ppppplVar14); + } + local_350 = (longlong ****)&local_250; + puVar16 = PTR_DAT_140155010; + local_140 = PTR_DAT_140155010; + FUN_140030200(ppppplVar14,PTR_DAT_140155010,uVar22,param_4); + local_250 = (longlong ****)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_250 = (longlong ****)(longlong *****)0x0; + } + if (local_358 != (longlong ****)PTR_DAT_140155010) { + ppppplVar14 = (longlong *****)FUN_140030200(ppppplVar14,puVar16,uVar22,param_4); + local_2f8 = (longlong ****)ppppplVar14; + FUN_14002e6e0((int *)ppppplVar14); + local_2f0 = CONCAT31(local_2f0._1_3_,1); + FUN_140003240((longlong *)&local_250,puVar16,uVar22,param_4); + local_250 = local_358; + if (((local_358 != (longlong ****)PTR_DAT_140155010) && + ((longlong *****)local_358 != (longlong *****)0x0)) && + ((longlong *****)local_358 != (longlong *****)0x8)) { + *(int *)((longlong)local_358 + -4) = *(int *)((longlong)local_358 + -4) + 1; + } + FUN_14002e770((longlong)ppppplVar14); + } + puVar13 = PTR_DAT_1401558d0; + FUN_140030200(ppppplVar14,puVar16,uVar22,param_4); + local_200 = PTR_DAT_140155010; + iVar6 = FUN_140030080((short *)puVar13); + puVar16 = FUN_140002f90((longlong *)&local_200,iVar6); + FUN_1400300b0(puVar16,puVar13,iVar6); + FUN_140003070((longlong *)&local_200); + (**(code **)(*param_1 + 0x28))(param_1,0xfa02,&local_200,&local_250); + plVar21 = (longlong *)param_1[2]; + uVar9 = 0xfa02; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_1401558d0; + (**(code **)(*plVar21 + 0x70))(); + pppplVar4 = local_358; + if ((((longlong *****)local_358 != (longlong *****)0x0) && + (local_358 != (longlong ****)PTR_DAT_140155010)) && + (ppppplVar14 = (longlong *****)(local_358 + -1), ppppplVar14 != (longlong *****)0x0)) { + ppppplVar17 = (longlong *****)FUN_140030200(plVar21,uVar22,uVar9,puVar16); + local_2f8 = (longlong ****)ppppplVar17; + FUN_14002e6e0((int *)ppppplVar17); + local_2f0 = CONCAT31(local_2f0._1_3_,1); + piVar1 = (int *)((longlong)pppplVar4 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(ppppplVar14); + } + FUN_14002e770((longlong)ppppplVar17); + } + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa02); + local_318 = PTR_DAT_1401558d0; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + uVar9 = (**(code **)(*param_1 + 0x40))(param_1,uVar2,local_2b8,&local_res20,local_res10); + if ((char)uVar9 == '\0') { + uVar9 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_1401558d0); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa02); + local_340 = PTR_DAT_1401558d0; + goto LAB_1400482d5; + } + break; + case 0xfa03: + FUN_14003b570(local_2b8); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_1401558d8; + (**(code **)(*plVar21 + 0x48))(); + DVar7 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa03,PTR_DAT_1401558d8,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + ppppplVar14 = (longlong *****)PTR_DAT_140155010; + local_res10[0] = (longlong ****)PTR_DAT_140155010; + uVar9 = 0xfffffffe; + ppuVar15 = &local_150; + local_res20 = (longlong ****) + FUN_14001ac70((longlong *)local_res10,(longlong *)ppuVar15,0xfffffffe); + if (ppppplVar14 == (longlong *****)0x0) { + ppppplVar14 = (longlong *****)PTR_DAT_140155010; + } + local_res10[0] = (longlong ****)ppppplVar14; + if ((longlong *****)*local_res20 != ppppplVar14) { + ppppplVar11 = (longlong *****)FUN_140030200(PTR_DAT_140155010,ppuVar15,uVar9,param_4); + ppppplVar17 = ppppplVar11; + local_2f8 = (longlong ****)ppppplVar11; + FUN_14002e6e0((int *)ppppplVar11); + local_2f0 = CONCAT31(local_2f0._1_3_,1); + if (((ppppplVar14 != (longlong *****)0x0) && + (ppppplVar14 != (longlong *****)PTR_DAT_140155010)) && + (ppppplVar14 + -1 != (longlong *****)0x0)) { + ppuVar12 = (undefined **)FUN_140030200(ppppplVar17,ppuVar15,uVar9,param_4); + local_2d0 = ppuVar12; + FUN_14002e6e0((int *)ppuVar12); + local_2c8 = CONCAT31(local_2c8._1_3_,1); + piVar1 = (int *)((longlong)ppppplVar14 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(ppppplVar14 + -1); + } + FUN_14002e770((longlong)ppuVar12); + } + ppppplVar14 = (longlong *****)*local_res20; + if (((ppppplVar14 != (longlong *****)PTR_DAT_140155010) && + (ppppplVar14 != (longlong *****)0x0)) && (ppppplVar14 != (longlong *****)0x8)) { + *(int *)((longlong)ppppplVar14 + -4) = *(int *)((longlong)ppppplVar14 + -4) + 1; + } + local_res10[0] = (longlong ****)ppppplVar14; + FUN_14002e770((longlong)ppppplVar11); + } + if (((local_150 != (undefined *)0x0) && (local_150 != PTR_DAT_140155010)) && + (local_150 + -8 != (undefined *)0x0)) { + ppppplVar17 = (longlong *****)FUN_140030200(PTR_DAT_140155010,ppuVar15,uVar9,param_4); + local_2f8 = (longlong ****)ppppplVar17; + FUN_14002e6e0((int *)ppppplVar17); + local_2f0 = CONCAT31(local_2f0._1_3_,1); + piVar1 = (int *)(local_150 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_150 + -8); + } + FUN_14002e770((longlong)ppppplVar17); + } + local_res20 = (longlong ****)&local_248; + ppppplVar17 = (longlong *****)PTR_DAT_140155010; + local_150 = PTR_DAT_140155010; + FUN_140030200(PTR_DAT_140155010,ppuVar15,uVar9,param_4); + local_248 = (longlong ****)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_248 = (longlong ****)(longlong *****)0x0; + } + if (ppppplVar14 != (longlong *****)PTR_DAT_140155010) { + ppppplVar17 = (longlong *****)FUN_140030200(ppppplVar17,ppuVar15,uVar9,param_4); + local_2f8 = (longlong ****)ppppplVar17; + FUN_14002e6e0((int *)ppppplVar17); + local_2f0 = CONCAT31(local_2f0._1_3_,1); + FUN_140003240((longlong *)&local_248,ppuVar15,uVar9,param_4); + if (((ppppplVar14 != (longlong *****)PTR_DAT_140155010) && + (ppppplVar14 != (longlong *****)0x0)) && (ppppplVar14 != (longlong *****)0x8)) { + *(int *)((longlong)ppppplVar14 + -4) = *(int *)((longlong)ppppplVar14 + -4) + 1; + } + local_248 = (longlong ****)ppppplVar14; + FUN_14002e770((longlong)ppppplVar17); + } + puVar16 = PTR_DAT_1401558d8; + FUN_140030200(ppppplVar17,ppuVar15,uVar9,param_4); + local_1a8 = PTR_DAT_140155010; + iVar6 = FUN_140030080((short *)puVar16); + puVar13 = FUN_140002f90((longlong *)&local_1a8,iVar6); + FUN_1400300b0(puVar13,puVar16,iVar6); + FUN_140003070((longlong *)&local_1a8); + (**(code **)(*param_1 + 0x28))(param_1,0xfa03,&local_1a8,&local_248); + plVar21 = (longlong *)param_1[2]; + uVar9 = 0xfa03; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_1401558d8; + (**(code **)(*plVar21 + 0x70))(); + if (((ppppplVar14 != (longlong *****)0x0) && + (ppppplVar14 != (longlong *****)PTR_DAT_140155010)) && + (ppppplVar14 + -1 != (longlong *****)0x0)) { + ppppplVar17 = (longlong *****)FUN_140030200(plVar21,uVar22,uVar9,puVar16); + local_2f8 = (longlong ****)ppppplVar17; + FUN_14002e6e0((int *)ppppplVar17); + local_2f0 = CONCAT31(local_2f0._1_3_,1); + piVar1 = (int *)((longlong)ppppplVar14 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(ppppplVar14 + -1); + } + FUN_14002e770((longlong)ppppplVar17); + } + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa03); + local_318 = PTR_DAT_1401558d8; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + uVar9 = (**(code **)(*param_1 + 0x48))(param_1,uVar2,local_2b8); + if ((char)uVar9 == '\0') { + uVar9 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_1401558d8); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa03); + local_340 = PTR_DAT_1401558d8; + goto LAB_1400482d5; + } + break; + case 0xfa04: + FUN_14003b570(local_2b8); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + FUN_140081090(param_2,(undefined4 *)&local_358,SVar28,param_4); + FUN_140081090(param_2,(undefined4 *)&local_2e8,SVar28,param_4); + uVar9 = FUN_140080600(param_2,&local_res20,4); + if ((char)uVar9 != '\0') { + local_2d8[0] = (uint)local_res20; + } + uVar9 = FUN_140080600(param_2,&local_res20,1); + uVar25 = (byte)local_res10[0]; + if ((char)uVar9 != '\0') { + uVar25 = local_res20._0_1_; + } + local_res10[0] = (longlong ****)CONCAT71(local_res10[0]._1_7_,uVar25); + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_1401558e0; + (**(code **)(*plVar21 + 0x48))(); + DVar7 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa04,PTR_DAT_1401558e0,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_res20 = (longlong ****)PTR_DAT_140155010; + local_1b0 = local_358._0_4_; + FUN_14009d840((longlong *)&local_res20); + FUN_14001b850((longlong *)&local_res20,(short *)&DAT_14011eebc); + local_210 = local_2e8._0_4_; + FUN_14009d840((longlong *)&local_res20); + FUN_14001b850((longlong *)&local_res20,(short *)&DAT_14011eebc); + FUN_14009d8a0((longlong *)&local_res20); + FUN_14001b850((longlong *)&local_res20,(short *)&DAT_14011eebc); + FUN_14009d760((longlong *)&local_res20,(char *)local_res10); + FUN_14001b850((longlong *)&local_res20,(short *)&DAT_14011eebc); + iVar6 = 0; + if (((longlong *****)local_res20 != (longlong *****)0x0) && + (local_res20 != (longlong ****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_res20 + -1); + } + uVar22 = (ulonglong)(iVar6 - 2U); + local_350 = (longlong ****) + FUN_14001ac70((longlong *)&local_res20,(longlong *)&local_138,iVar6 - 2U); + ppppplVar14 = (longlong *****)local_res20; + if ((longlong *****)local_res20 == (longlong *****)0x0) { + ppppplVar14 = (longlong *****)PTR_DAT_140155010; + } + local_res20 = (longlong ****)ppppplVar14; + if ((longlong *****)*local_350 != ppppplVar14) { + ppppplVar14 = (longlong *****)FUN_140030200(ppppplVar14,PTR_DAT_140155010,uVar22,param_4); + local_2f8 = (longlong ****)ppppplVar14; + FUN_14002e6e0((int *)ppppplVar14); + pppplVar4 = local_res20; + local_2f0 = CONCAT31(local_2f0._1_3_,1); + if ((((longlong *****)local_res20 != (longlong *****)0x0) && + (local_res20 != (longlong ****)PTR_DAT_140155010)) && + (ppppplVar17 = (longlong *****)(local_res20 + -1), ppppplVar17 != (longlong *****)0x0)) + { + ppuVar15 = (undefined **)FUN_140030200(local_res20,PTR_DAT_140155010,uVar22,param_4); + local_2d0 = ppuVar15; + FUN_14002e6e0((int *)ppuVar15); + local_2c8 = CONCAT31(local_2c8._1_3_,1); + piVar1 = (int *)((longlong)pppplVar4 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(ppppplVar17); + } + FUN_14002e770((longlong)ppuVar15); + } + local_res20 = (longlong ****)*local_350; + if (((local_res20 != (longlong ****)PTR_DAT_140155010) && + ((longlong *****)local_res20 != (longlong *****)0x0)) && + ((longlong *****)local_res20 != (longlong *****)0x8)) { + *(int *)((longlong)local_res20 + -4) = *(int *)((longlong)local_res20 + -4) + 1; + } + FUN_14002e770((longlong)ppppplVar14); + } + if (((local_138 != (undefined *)0x0) && (local_138 != PTR_DAT_140155010)) && + (local_138 + -8 != (undefined *)0x0)) { + ppppplVar14 = (longlong *****)FUN_140030200(ppppplVar14,PTR_DAT_140155010,uVar22,param_4); + local_2f8 = (longlong ****)ppppplVar14; + FUN_14002e6e0((int *)ppppplVar14); + local_2f0 = CONCAT31(local_2f0._1_3_,1); + piVar1 = (int *)(local_138 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_138 + -8); + } + FUN_14002e770((longlong)ppppplVar14); + } + local_350 = (longlong ****)&local_258; + puVar16 = PTR_DAT_140155010; + local_138 = PTR_DAT_140155010; + FUN_140030200(ppppplVar14,PTR_DAT_140155010,uVar22,param_4); + local_258 = (longlong ****)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_258 = (longlong ****)(longlong *****)0x0; + } + if (local_res20 != (longlong ****)PTR_DAT_140155010) { + ppppplVar14 = (longlong *****)FUN_140030200(ppppplVar14,puVar16,uVar22,param_4); + local_2f8 = (longlong ****)ppppplVar14; + FUN_14002e6e0((int *)ppppplVar14); + local_2f0 = CONCAT31(local_2f0._1_3_,1); + FUN_140003240((longlong *)&local_258,puVar16,uVar22,param_4); + local_258 = local_res20; + if (((local_res20 != (longlong ****)PTR_DAT_140155010) && + ((longlong *****)local_res20 != (longlong *****)0x0)) && + ((longlong *****)local_res20 != (longlong *****)0x8)) { + *(int *)((longlong)local_res20 + -4) = *(int *)((longlong)local_res20 + -4) + 1; + } + FUN_14002e770((longlong)ppppplVar14); + } + puVar13 = PTR_DAT_1401558e0; + FUN_140030200(ppppplVar14,puVar16,uVar22,param_4); + local_1f0 = PTR_DAT_140155010; + iVar6 = FUN_140030080((short *)puVar13); + puVar16 = FUN_140002f90((longlong *)&local_1f0,iVar6); + FUN_1400300b0(puVar16,puVar13,iVar6); + FUN_140003070((longlong *)&local_1f0); + (**(code **)(*param_1 + 0x28))(param_1,0xfa04,&local_1f0,&local_258); + plVar21 = (longlong *)param_1[2]; + uVar9 = 0xfa04; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_1401558e0; + (**(code **)(*plVar21 + 0x70))(); + pppplVar4 = local_res20; + if ((((longlong *****)local_res20 != (longlong *****)0x0) && + (local_res20 != (longlong ****)PTR_DAT_140155010)) && + (ppppplVar14 = (longlong *****)(local_res20 + -1), ppppplVar14 != (longlong *****)0x0)) { + ppppplVar17 = (longlong *****)FUN_140030200(plVar21,uVar22,uVar9,puVar16); + local_2f8 = (longlong ****)ppppplVar17; + FUN_14002e6e0((int *)ppppplVar17); + local_2f0 = CONCAT31(local_2f0._1_3_,1); + piVar1 = (int *)((longlong)pppplVar4 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(ppppplVar14); + } + FUN_14002e770((longlong)ppppplVar17); + } + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa04); + local_318 = PTR_DAT_1401558e0; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + uVar9 = (**(code **)(*param_1 + 0x50)) + (param_1,uVar2,local_2b8,&local_358,&local_2e8,local_2d8,local_res10); + if ((char)uVar9 == '\0') { + uVar9 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_1401558e0); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa04); + local_340 = PTR_DAT_1401558e0; + goto LAB_1400482d5; + } + break; + case 0xfa05: + FUN_14003b570(local_2b8); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + FUN_140081090(param_2,(undefined4 *)&local_358,SVar28,param_4); + FUN_140081090(param_2,(undefined4 *)&local_res20,SVar28,param_4); + local_2f8 = (longlong ****)Proud::AddrPort::vftable; + DVar7 = 0; + local_2f0 = 0; + local_2ec = 0; + uVar9 = FUN_140080600(param_2,local_res10,4); + if ((char)uVar9 != '\0') { + local_2f0 = (uint)local_res10[0]; + } + uVar9 = FUN_140080600(param_2,local_res10,2); + if ((char)uVar9 != '\0') { + local_2ec = local_res10[0]._0_2_; + } + local_2d0 = Proud::AddrPort::vftable; + local_2c8 = 0; + local_2c4 = 0; + uVar9 = FUN_140080600(param_2,local_res10,4); + if ((char)uVar9 != '\0') { + local_2c8 = (uint)local_res10[0]; + } + uVar9 = FUN_140080600(param_2,local_res10,2); + if ((char)uVar9 != '\0') { + local_2c4 = local_res10[0]._0_2_; + } + local_240 = Proud::AddrPort::vftable; + local_238 = 0; + local_234 = 0; + uVar9 = FUN_140080600(param_2,local_res10,4); + if ((char)uVar9 != '\0') { + local_238 = (uint)local_res10[0]; + } + uVar9 = FUN_140080600(param_2,local_res10,2); + if ((char)uVar9 != '\0') { + local_234 = local_res10[0]._0_2_; + } + local_2e8 = Proud::AddrPort::vftable; + local_2e0 = 0; + local_2dc = 0; + uVar9 = FUN_140080600(param_2,local_res10,4); + if ((char)uVar9 != '\0') { + local_2e0 = (uint)local_res10[0]; + } + uVar9 = FUN_140080600(param_2,local_res10,2); + if ((char)uVar9 != '\0') { + local_2dc = local_res10[0]._0_2_; + } + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_1401558e8; + (**(code **)(*plVar21 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa05,PTR_DAT_1401558e8,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_res10[0] = (longlong ****)PTR_DAT_140155010; + local_17c = local_358._0_4_; + FUN_14009d840((longlong *)local_res10); + FUN_14001b850((longlong *)local_res10,(short *)&DAT_14011eebc); + local_1ac = (uint)local_res20; + FUN_14009d840((longlong *)local_res10); + FUN_14001b850((longlong *)local_res10,(short *)&DAT_14011eebc); + plVar21 = (longlong *)(*(code *)*local_2f8)(&local_2f8,&local_350); + ppppplVar14 = local_res10; + FUN_14001b5a0((longlong *)ppppplVar14,plVar21); + pppplVar4 = local_350; + if ((((longlong *****)local_350 != (longlong *****)0x0) && + (local_350 != (longlong ****)PTR_DAT_140155010)) && + (ppppplVar17 = (longlong *****)(local_350 + -1), ppppplVar17 != (longlong *****)0x0)) { + piVar18 = (int *)FUN_140030200(ppppplVar14,plVar21,puVar16,param_4); + local_320 = piVar18; + FUN_14002e6e0(piVar18); + local_318 = (undefined *)CONCAT71(local_318._1_7_,1); + piVar1 = (int *)((longlong)pppplVar4 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(ppppplVar17); + } + FUN_14002e770((longlong)piVar18); + } + FUN_14001b850((longlong *)local_res10,(short *)&DAT_14011eebc); + plVar21 = (longlong *)(*(code *)*local_2d0)(&local_2d0,&local_350); + ppppplVar14 = local_res10; + FUN_14001b5a0((longlong *)ppppplVar14,plVar21); + pppplVar4 = local_350; + if ((((longlong *****)local_350 != (longlong *****)0x0) && + (local_350 != (longlong ****)PTR_DAT_140155010)) && + (ppppplVar17 = (longlong *****)(local_350 + -1), ppppplVar17 != (longlong *****)0x0)) { + piVar18 = (int *)FUN_140030200(ppppplVar14,plVar21,puVar16,param_4); + local_320 = piVar18; + FUN_14002e6e0(piVar18); + local_318 = (undefined *)CONCAT71(local_318._1_7_,1); + piVar1 = (int *)((longlong)pppplVar4 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(ppppplVar17); + } + FUN_14002e770((longlong)piVar18); + } + FUN_14001b850((longlong *)local_res10,(short *)&DAT_14011eebc); + plVar21 = (longlong *)(*(code *)*local_240)(&local_240,&local_350); + ppppplVar14 = local_res10; + FUN_14001b5a0((longlong *)ppppplVar14,plVar21); + pppplVar4 = local_350; + if ((((longlong *****)local_350 != (longlong *****)0x0) && + (local_350 != (longlong ****)PTR_DAT_140155010)) && + (ppppplVar17 = (longlong *****)(local_350 + -1), ppppplVar17 != (longlong *****)0x0)) { + piVar18 = (int *)FUN_140030200(ppppplVar14,plVar21,puVar16,param_4); + local_320 = piVar18; + FUN_14002e6e0(piVar18); + local_318 = (undefined *)CONCAT71(local_318._1_7_,1); + piVar1 = (int *)((longlong)pppplVar4 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(ppppplVar17); + } + FUN_14002e770((longlong)piVar18); + } + FUN_14001b850((longlong *)local_res10,(short *)&DAT_14011eebc); + plVar21 = (longlong *)(*(code *)*local_2e8)(&local_2e8,&local_350); + ppppplVar14 = local_res10; + FUN_14001b5a0((longlong *)ppppplVar14,plVar21); + if ((((longlong *****)local_350 != (longlong *****)0x0) && + (local_350 != (longlong ****)PTR_DAT_140155010)) && + ((longlong *****)(local_350 + -1) != (longlong *****)0x0)) { + piVar18 = (int *)FUN_140030200(ppppplVar14,plVar21,puVar16,param_4); + local_320 = piVar18; + FUN_14002e6e0(piVar18); + local_318 = (undefined *)CONCAT71(local_318._1_7_,1); + piVar1 = (int *)((longlong)local_350 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_350 + -1); + } + FUN_14002e770((longlong)piVar18); + } + FUN_14001b850((longlong *)local_res10,(short *)&DAT_14011eebc); + iVar6 = 0; + if (((longlong *****)local_res10[0] != (longlong *****)0x0) && + (local_res10[0] != (longlong ****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_res10[0] + -1); + } + uVar22 = (ulonglong)(iVar6 - 2U); + plVar20 = FUN_14001ac70((longlong *)local_res10,&local_d0,iVar6 - 2U); + FUN_140003170((longlong *)local_res10,plVar20,uVar22,param_4); + plVar21 = &local_d0; + FUN_140003240(plVar21,plVar20,uVar22,param_4); + local_350 = &local_228; + FUN_140030200(plVar21,plVar20,uVar22,param_4); + local_228 = (longlong ***)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_228,(longlong *)local_res10,uVar22,param_4); + plVar21 = FUN_1400030f0(&local_90,(short *)PTR_DAT_1401558e8,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfa05,plVar21,&local_228); + uVar9 = 0xfa05; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_1401558e8; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_res10,uVar22,uVar9,puVar16); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa05); + local_318 = PTR_DAT_1401558e8; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + uVar9 = (**(code **)(*param_1 + 0x58)) + (param_1,uVar2,local_2b8,&local_358,&local_res20,&local_2f8,&local_2d0, + &local_240,&local_2e8); + if ((char)uVar9 == '\0') { + uVar9 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_1401558e8); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa05); + local_340 = PTR_DAT_1401558e8; + goto LAB_1400482d5; + } + break; + case 0xfa06: + FUN_14003b570(local_2b8); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + DVar8 = 0; + DVar7 = 0; + local_340 = (undefined *)0x0; + local_338 = 0; + local_330 = 0; + local_328 = 0; + local_348 = Proud::ByteArray::vftable; + FUN_1400402e0(param_2,(longlong)&local_348,SVar28,param_4); + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_1401558f0; + (**(code **)(*plVar21 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa06,PTR_DAT_1401558f0,&DAT_14011e014); + goto LAB_1400461a7; + } + } + else { + DVar7 = DVar8; + if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_res10[0] = (longlong ****)PTR_DAT_140155010; + FUN_14009da80((longlong *)local_res10); + FUN_14001b850((longlong *)local_res10,(short *)&DAT_14011eebc); + iVar6 = 0; + if (((longlong *****)local_res10[0] != (longlong *****)0x0) && + (local_res10[0] != (longlong ****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_res10[0] + -1); + } + uVar22 = (ulonglong)(iVar6 - 2U); + plVar20 = FUN_14001ac70((longlong *)local_res10,&local_c0,iVar6 - 2U); + FUN_140003170((longlong *)local_res10,plVar20,uVar22,param_4); + plVar21 = &local_c0; + FUN_140003240(plVar21,plVar20,uVar22,param_4); + local_res20 = &local_1e0; + FUN_140030200(plVar21,plVar20,uVar22,param_4); + local_1e0 = (longlong ***)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_1e0,(longlong *)local_res10,uVar22,param_4); + plVar21 = FUN_1400030f0(&local_80,(short *)PTR_DAT_1401558f0,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfa06,plVar21,&local_1e0); + uVar9 = 0xfa06; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_1401558f0; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_res10,uVar22,uVar9,puVar16); +LAB_1400461a7: + DVar7 = DVar8; + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa06); + local_318 = PTR_DAT_1401558f0; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + } + } + cVar5 = (**(code **)(*param_1 + 0x60))(param_1,uVar2,local_2b8,&local_348); + if (cVar5 == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x40))((longlong *)param_1[2],PTR_DAT_1401558f0); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa06); + local_318 = PTR_DAT_1401558f0; + local_310 = uVar2; + local_308 = param_3; + DVar8 = GetTickCount(); + local_300 = DVar8 - DVar7; + (**(code **)(*param_1 + 0x18))(param_1,&local_320); + } + uVar9 = FUN_14003b870(&local_348); + break; + case 0xfa07: + FUN_14003b570(local_2b8); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_1401558f8; + (**(code **)(*plVar21 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa07,PTR_DAT_1401558f8,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_res10[0] = (longlong ****)PTR_DAT_140155010; + uVar9 = 0xfffffffe; + plVar20 = FUN_14001ac70((longlong *)local_res10,&local_c8,0xfffffffe); + FUN_140003170((longlong *)local_res10,plVar20,uVar9,param_4); + plVar21 = &local_c8; + FUN_140003240(plVar21,plVar20,uVar9,param_4); + local_res20 = &local_198; + FUN_140030200(plVar21,plVar20,uVar9,param_4); + local_198 = (longlong ***)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_198,(longlong *)local_res10,uVar9,param_4); + plVar21 = FUN_1400030f0(&local_70,(short *)PTR_DAT_1401558f8,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfa07,plVar21,&local_198); + uVar9 = 0xfa07; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_1401558f8; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_res10,uVar22,uVar9,puVar16); + } + DVar7 = 0; + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa07); + local_318 = PTR_DAT_1401558f8; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + uVar9 = (**(code **)(*param_1 + 0x68))(param_1,uVar2,local_2b8); + if ((char)uVar9 == '\0') { + uVar9 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_1401558f8); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa07); + local_340 = PTR_DAT_1401558f8; + goto LAB_1400482d5; + } + break; + case 0xfa08: + FUN_14003b570(local_2b8); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + uVar9 = 1; + FUN_140080600(param_2,local_res10,1); + local_res20 = (longlong ****)CONCAT44(local_res20._4_4_,(uint)(byte)local_res10[0]); + FUN_140030200((ulonglong)local_res10[0] & 0xff,(ulonglong)local_res10[0] & 0xff,uVar9,param_4) + ; + local_358 = (longlong ****)PTR_DAT_140155010; + thunk_FUN_140081740(param_2,(longlong *)&local_358,uVar9,param_4); + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_140155900; + (**(code **)(*plVar21 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa08,PTR_DAT_140155900,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_res10[0] = (longlong ****)PTR_DAT_140155010; + pwVar19 = FUN_14009d520((uint)local_res20); + FUN_14001b850((longlong *)local_res10,pwVar19); + FUN_14001b850((longlong *)local_res10,(short *)&DAT_14011eebc); + FUN_14009da40((longlong *)local_res10,(longlong *)&local_358); + FUN_14001b850((longlong *)local_res10,(short *)&DAT_14011eebc); + iVar6 = 0; + if (((longlong *****)local_res10[0] != (longlong *****)0x0) && + (local_res10[0] != (longlong ****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_res10[0] + -1); + } + uVar22 = (ulonglong)(iVar6 - 2U); + plVar20 = FUN_14001ac70((longlong *)local_res10,&local_110,iVar6 - 2U); + FUN_140003170((longlong *)local_res10,plVar20,uVar22,param_4); + plVar21 = &local_110; + FUN_140003240(plVar21,plVar20,uVar22,param_4); + local_350 = &local_1d0; + FUN_140030200(plVar21,plVar20,uVar22,param_4); + local_1d0 = (longlong ***)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_1d0,(longlong *)local_res10,uVar22,param_4); + plVar21 = FUN_1400030f0(&local_b8,(short *)PTR_DAT_140155900,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfa08,plVar21,&local_1d0); + uVar9 = 0xfa08; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_140155900; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_res10,uVar22,uVar9,puVar16); + } + DVar7 = 0; + if (((char)param_1[3] == '\0') && (DVar7 = 0, *(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa08); + local_318 = PTR_DAT_140155900; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + ppppplVar14 = &local_res20; + puVar24 = local_2b8; + pppuVar27 = (undefined ***)(ulonglong)uVar2; + cVar5 = (**(code **)(*param_1 + 0x70))(param_1); + if (cVar5 == '\0') { + pppuVar27 = (undefined ***)PTR_DAT_140155900; + (**(code **)(*(longlong *)param_1[2] + 0x40))(); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa08); + local_340 = PTR_DAT_140155900; + local_338 = CONCAT44(local_338._4_4_,uVar2); + local_330 = param_3; + DVar8 = GetTickCount(); + local_328 = CONCAT44(local_328._4_4_,DVar8 - DVar7); + pppuVar27 = &local_348; + (**(code **)(*param_1 + 0x18))(param_1); + } + uVar9 = FUN_140003240((longlong *)&local_358,pppuVar27,puVar24,ppppplVar14); + break; + case 0xfa09: + FUN_14003b570(local_2b8); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + uVar29 = 4; + ppppplVar14 = &local_res20; + uVar9 = FUN_140080600(param_2,ppppplVar14,4); + uVar3 = (uint)local_res10[0]; + if ((char)uVar9 != '\0') { + uVar3 = (uint)local_res20; + } + local_res10[0] = (longlong ****)CONCAT44(local_res10[0]._4_4_,uVar3); + FUN_140030200((ulonglong)uVar3,ppppplVar14,uVar29,param_4); + local_358 = (longlong ****)PTR_DAT_140155010; + thunk_FUN_140081740(param_2,(longlong *)&local_358,uVar29,param_4); + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_140155908; + (**(code **)(*plVar21 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa09,PTR_DAT_140155908,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_res20 = (longlong ****)PTR_DAT_140155010; + FUN_14009d840((longlong *)&local_res20); + FUN_14001b850((longlong *)&local_res20,(short *)&DAT_14011eebc); + FUN_14009da40((longlong *)&local_res20,(longlong *)&local_358); + FUN_14001b850((longlong *)&local_res20,(short *)&DAT_14011eebc); + iVar6 = 0; + if (((longlong *****)local_res20 != (longlong *****)0x0) && + (local_res20 != (longlong ****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_res20 + -1); + } + uVar22 = (ulonglong)(iVar6 - 2U); + plVar20 = FUN_14001ac70((longlong *)&local_res20,&local_100,iVar6 - 2U); + FUN_140003170((longlong *)&local_res20,plVar20,uVar22,param_4); + plVar21 = &local_100; + FUN_140003240(plVar21,plVar20,uVar22,param_4); + local_350 = &local_160; + FUN_140030200(plVar21,plVar20,uVar22,param_4); + local_160 = (longlong ***)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_160,(longlong *)&local_res20,uVar22,param_4); + plVar21 = FUN_1400030f0(&local_50,(short *)PTR_DAT_140155908,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfa09,plVar21,&local_160); + uVar9 = 0xfa09; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_140155908; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_res20,uVar22,uVar9,puVar16); + } + DVar7 = 0; + if (((char)param_1[3] == '\0') && (DVar7 = 0, *(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa09); + local_318 = PTR_DAT_140155908; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + ppppplVar14 = local_res10; + puVar24 = local_2b8; + pppuVar27 = (undefined ***)(ulonglong)uVar2; + cVar5 = (**(code **)(*param_1 + 0x78))(param_1); + if (cVar5 == '\0') { + pppuVar27 = (undefined ***)PTR_DAT_140155908; + (**(code **)(*(longlong *)param_1[2] + 0x40))(); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa09); + local_340 = PTR_DAT_140155908; + local_338 = CONCAT44(local_338._4_4_,uVar2); + local_330 = param_3; + DVar8 = GetTickCount(); + local_328 = CONCAT44(local_328._4_4_,DVar8 - DVar7); + pppuVar27 = &local_348; + (**(code **)(*param_1 + 0x18))(param_1); + } + uVar9 = FUN_140003240((longlong *)&local_358,pppuVar27,puVar24,ppppplVar14); + break; + case 0xfa0a: + puVar24 = local_2b8; + FUN_14003b570(puVar24); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + FUN_140030200(puVar24,pIVar26,SVar28,param_4); + local_res20 = (longlong ****)PTR_DAT_140155010; + thunk_FUN_140081740(param_2,(longlong *)&local_res20,SVar28,param_4); + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_140155910; + (**(code **)(*plVar21 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa0a,PTR_DAT_140155910,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_res10[0] = (longlong ****)PTR_DAT_140155010; + FUN_14009da40((longlong *)local_res10,(longlong *)&local_res20); + FUN_14001b850((longlong *)local_res10,(short *)&DAT_14011eebc); + iVar6 = 0; + if (((longlong *****)local_res10[0] != (longlong *****)0x0) && + (local_res10[0] != (longlong ****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_res10[0] + -1); + } + uVar22 = (ulonglong)(iVar6 - 2U); + plVar20 = FUN_14001ac70((longlong *)local_res10,&local_f0,iVar6 - 2U); + FUN_140003170((longlong *)local_res10,plVar20,uVar22,param_4); + plVar21 = &local_f0; + FUN_140003240(plVar21,plVar20,uVar22,param_4); + local_350 = &local_1c0; + FUN_140030200(plVar21,plVar20,uVar22,param_4); + local_1c0 = (longlong ***)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_1c0,(longlong *)local_res10,uVar22,param_4); + plVar21 = FUN_1400030f0(&local_40,(short *)PTR_DAT_140155910,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfa0a,plVar21,&local_1c0); + uVar9 = 0xfa0a; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_140155910; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_res10,uVar22,uVar9,puVar16); + } + DVar7 = 0; + if (((char)param_1[3] == '\0') && (DVar7 = 0, *(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa0a); + local_318 = PTR_DAT_140155910; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + ppppplVar14 = &local_res20; + puVar24 = local_2b8; + pppuVar27 = (undefined ***)(ulonglong)uVar2; + cVar5 = (**(code **)(*param_1 + 0x80))(param_1); + if (cVar5 == '\0') { + pppuVar27 = (undefined ***)PTR_DAT_140155910; + (**(code **)(*(longlong *)param_1[2] + 0x40))(); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa0a); + local_340 = PTR_DAT_140155910; + local_338 = CONCAT44(local_338._4_4_,uVar2); + local_330 = param_3; + DVar8 = GetTickCount(); + local_328 = CONCAT44(local_328._4_4_,DVar8 - DVar7); + pppuVar27 = &local_348; + (**(code **)(*param_1 + 0x18))(param_1); + } + uVar9 = FUN_140003240((longlong *)&local_res20,pppuVar27,puVar24,ppppplVar14); + break; + case 0xfa0b: + FUN_14003b570(local_2b8); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + FUN_140081090(param_2,(undefined4 *)local_res10,SVar28,param_4); + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_140155918; + (**(code **)(*plVar21 + 0x48))(); + DVar7 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa0b,PTR_DAT_140155918,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_res20 = (longlong ****)PTR_DAT_140155010; + local_1a0 = (uint)local_res10[0]; + FUN_14009d840((longlong *)&local_res20); + FUN_14001b850((longlong *)&local_res20,(short *)&DAT_14011eebc); + iVar6 = 0; + if (((longlong *****)local_res20 != (longlong *****)0x0) && + (local_res20 != (longlong ****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_res20 + -1); + } + uVar22 = (ulonglong)(iVar6 - 2U); + plVar20 = FUN_14001ac70((longlong *)&local_res20,&local_e0,iVar6 - 2U); + FUN_140003170((longlong *)&local_res20,plVar20,uVar22,param_4); + plVar21 = &local_e0; + FUN_140003240(plVar21,plVar20,uVar22,param_4); + local_350 = &local_188; + FUN_140030200(plVar21,plVar20,uVar22,param_4); + local_188 = (longlong ***)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_188,(longlong *)&local_res20,uVar22,param_4); + plVar21 = FUN_1400030f0(&local_a8,(short *)PTR_DAT_140155918,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfa0b,plVar21,&local_188); + uVar9 = 0xfa0b; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_140155918; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_res20,uVar22,uVar9,puVar16); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa0b); + local_318 = PTR_DAT_140155918; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + uVar9 = (**(code **)(*param_1 + 0x88))(param_1,uVar2,local_2b8,local_res10); + if ((char)uVar9 == '\0') { + uVar9 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_140155918); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa0b); + local_340 = PTR_DAT_140155918; + goto LAB_1400482d5; + } + break; + case 0xfa0c: + FUN_14003b570(local_2b8); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + FUN_140081090(param_2,(undefined4 *)local_res10,SVar28,param_4); + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_140155920; + (**(code **)(*plVar21 + 0x48))(); + DVar7 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa0c,PTR_DAT_140155920,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_res20 = (longlong ****)PTR_DAT_140155010; + local_190 = (uint)local_res10[0]; + FUN_14009d840((longlong *)&local_res20); + FUN_14001b850((longlong *)&local_res20,(short *)&DAT_14011eebc); + iVar6 = 0; + if (((longlong *****)local_res20 != (longlong *****)0x0) && + (local_res20 != (longlong ****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_res20 + -1); + } + uVar22 = (ulonglong)(iVar6 - 2U); + plVar20 = FUN_14001ac70((longlong *)&local_res20,&local_d8,iVar6 - 2U); + FUN_140003170((longlong *)&local_res20,plVar20,uVar22,param_4); + plVar21 = &local_d8; + FUN_140003240(plVar21,plVar20,uVar22,param_4); + local_350 = &local_220; + FUN_140030200(plVar21,plVar20,uVar22,param_4); + local_220 = (longlong ***)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_220,(longlong *)&local_res20,uVar22,param_4); + plVar21 = FUN_1400030f0(local_68 + 2,(short *)PTR_DAT_140155920,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfa0c,plVar21,&local_220); + uVar9 = 0xfa0c; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_140155920; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_res20,uVar22,uVar9,puVar16); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa0c); + local_318 = PTR_DAT_140155920; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + uVar9 = (**(code **)(*param_1 + 0x90))(param_1,uVar2,local_2b8,local_res10); + if ((char)uVar9 == '\0') { + uVar9 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_140155920); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa0c); + local_340 = PTR_DAT_140155920; + goto LAB_1400482d5; + } + break; + case 0xfa0d: + puVar24 = local_2b8; + FUN_14003b570(puVar24); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + FUN_140030200(puVar24,pIVar26,SVar28,param_4); + local_res20 = (longlong ****)PTR_DAT_140155010; + thunk_FUN_140081740(param_2,(longlong *)&local_res20,SVar28,param_4); + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_140155928; + (**(code **)(*plVar21 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa0d,PTR_DAT_140155928,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_res10[0] = (longlong ****)PTR_DAT_140155010; + FUN_14009da40((longlong *)local_res10,(longlong *)&local_res20); + FUN_14001b850((longlong *)local_res10,(short *)&DAT_14011eebc); + iVar6 = 0; + if (((longlong *****)local_res10[0] != (longlong *****)0x0) && + (local_res10[0] != (longlong ****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_res10[0] + -1); + } + uVar22 = (ulonglong)(iVar6 - 2U); + plVar20 = FUN_14001ac70((longlong *)local_res10,&local_118,iVar6 - 2U); + FUN_140003170((longlong *)local_res10,plVar20,uVar22,param_4); + plVar21 = &local_118; + FUN_140003240(plVar21,plVar20,uVar22,param_4); + local_350 = &local_218; + FUN_140030200(plVar21,plVar20,uVar22,param_4); + local_218 = (longlong ***)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_218,(longlong *)local_res10,uVar22,param_4); + plVar21 = FUN_1400030f0(&local_98,(short *)PTR_DAT_140155928,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfa0d,plVar21,&local_218); + uVar9 = 0xfa0d; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_140155928; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_res10,uVar22,uVar9,puVar16); + } + DVar7 = 0; + if (((char)param_1[3] == '\0') && (DVar7 = 0, *(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa0d); + local_318 = PTR_DAT_140155928; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + ppppplVar14 = &local_res20; + puVar24 = local_2b8; + pppuVar27 = (undefined ***)(ulonglong)uVar2; + cVar5 = (**(code **)(*param_1 + 0x98))(param_1); + if (cVar5 == '\0') { + pppuVar27 = (undefined ***)PTR_DAT_140155928; + (**(code **)(*(longlong *)param_1[2] + 0x40))(); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa0d); + local_340 = PTR_DAT_140155928; + local_338 = CONCAT44(local_338._4_4_,uVar2); + local_330 = param_3; + DVar8 = GetTickCount(); + local_328 = CONCAT44(local_328._4_4_,DVar8 - DVar7); + pppuVar27 = &local_348; + (**(code **)(*param_1 + 0x18))(param_1); + } + uVar9 = FUN_140003240((longlong *)&local_res20,pppuVar27,puVar24,ppppplVar14); + break; + case 0xfa0e: + FUN_14003b570(local_2b8); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + uVar9 = FUN_140080600(param_2,local_res10,8); + if ((char)uVar9 != '\0') { + local_res20 = local_res10[0]; + } + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_140155930; + (**(code **)(*plVar21 + 0x48))(); + DVar7 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa0e,PTR_DAT_140155930,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_res10[0] = (longlong ****)PTR_DAT_140155010; + FUN_14009d9d0((longlong *)local_res10); + FUN_14001b850((longlong *)local_res10,(short *)&DAT_14011eebc); + iVar6 = 0; + if (((longlong *****)local_res10[0] != (longlong *****)0x0) && + (local_res10[0] != (longlong ****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_res10[0] + -1); + } + uVar22 = (ulonglong)(iVar6 - 2U); + plVar20 = FUN_14001ac70((longlong *)local_res10,&local_e8,iVar6 - 2U); + FUN_140003170((longlong *)local_res10,plVar20,uVar22,param_4); + plVar21 = &local_e8; + FUN_140003240(plVar21,plVar20,uVar22,param_4); + local_350 = &local_208; + FUN_140030200(plVar21,plVar20,uVar22,param_4); + local_208 = (longlong ***)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_208,(longlong *)local_res10,uVar22,param_4); + plVar21 = FUN_1400030f0(local_68,(short *)PTR_DAT_140155930,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfa0e,plVar21,&local_208); + uVar9 = 0xfa0e; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_140155930; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_res10,uVar22,uVar9,puVar16); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa0e); + local_318 = PTR_DAT_140155930; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + uVar9 = (**(code **)(*param_1 + 0xa0))(param_1,uVar2,local_2b8,&local_res20); + if ((char)uVar9 == '\0') { + uVar9 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_140155930); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa0e); + local_340 = PTR_DAT_140155930; + goto LAB_1400482d5; + } + break; + case 0xfa0f: + FUN_14003b570(local_2b8); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + FUN_140081090(param_2,(undefined4 *)&local_res20,SVar28,param_4); + uVar9 = FUN_140080600(param_2,&local_358,4); + uVar23 = (uint)local_res10[0]; + if ((char)uVar9 != '\0') { + uVar23 = local_358._0_4_; + } + local_res10[0] = (longlong ****)CONCAT44(local_res10[0]._4_4_,uVar23); + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_140155938; + (**(code **)(*plVar21 + 0x48))(); + DVar7 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa0f,PTR_DAT_140155938,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_358 = (longlong ****)PTR_DAT_140155010; + local_180 = (uint)local_res20; + FUN_14009d840((longlong *)&local_358); + FUN_14001b850((longlong *)&local_358,(short *)&DAT_14011eebc); + FUN_14009d8a0((longlong *)&local_358); + FUN_14001b850((longlong *)&local_358,(short *)&DAT_14011eebc); + iVar6 = 0; + if (((longlong *****)local_358 != (longlong *****)0x0) && + (local_358 != (longlong ****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_358 + -1); + } + uVar22 = (ulonglong)(iVar6 - 2U); + plVar20 = FUN_14001ac70((longlong *)&local_358,&local_108,iVar6 - 2U); + FUN_140003170((longlong *)&local_358,plVar20,uVar22,param_4); + plVar21 = &local_108; + FUN_140003240(plVar21,plVar20,uVar22,param_4); + local_350 = &local_1f8; + FUN_140030200(plVar21,plVar20,uVar22,param_4); + local_1f8 = (longlong ***)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_1f8,(longlong *)&local_358,uVar22,param_4); + plVar21 = FUN_1400030f0(&local_88,(short *)PTR_DAT_140155938,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfa0f,plVar21,&local_1f8); + uVar9 = 0xfa0f; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_140155938; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_358,uVar22,uVar9,puVar16); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa0f); + local_318 = PTR_DAT_140155938; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + uVar9 = (**(code **)(*param_1 + 0xa8))(param_1,uVar2,local_2b8,&local_res20,local_res10); + if ((char)uVar9 == '\0') { + uVar9 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_140155938); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa0f); + local_340 = PTR_DAT_140155938; + goto LAB_1400482d5; + } + break; + case 0xfa10: + FUN_14003b570(local_2b8); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_140155940; + (**(code **)(*plVar21 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa10,PTR_DAT_140155940,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_res10[0] = (longlong ****)PTR_DAT_140155010; + uVar9 = 0xfffffffe; + plVar20 = FUN_14001ac70((longlong *)local_res10,&local_130,0xfffffffe); + FUN_140003170((longlong *)local_res10,plVar20,uVar9,param_4); + plVar21 = &local_130; + FUN_140003240(plVar21,plVar20,uVar9,param_4); + local_res20 = &local_1e8; + FUN_140030200(plVar21,plVar20,uVar9,param_4); + local_1e8 = (longlong ***)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_1e8,(longlong *)local_res10,uVar9,param_4); + plVar21 = FUN_1400030f0(&local_48,(short *)PTR_DAT_140155940,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfa10,plVar21,&local_1e8); + uVar9 = 0xfa10; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_140155940; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_res10,uVar22,uVar9,puVar16); + } + DVar7 = 0; + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa10); + local_318 = PTR_DAT_140155940; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + uVar9 = (**(code **)(*param_1 + 0xb0))(param_1,uVar2,local_2b8); + if ((char)uVar9 == '\0') { + uVar9 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_140155940); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa10); + local_340 = PTR_DAT_140155940; + goto LAB_1400482d5; + } + break; + case 0xfa11: + FUN_14003b570(local_2b8); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + uVar9 = FUN_140080600(param_2,&local_res20,1); + uVar25 = (byte)local_res10[0]; + if ((char)uVar9 != '\0') { + uVar25 = local_res20._0_1_; + } + local_res10[0] = (longlong ****)CONCAT71(local_res10[0]._1_7_,uVar25); + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_140155948; + (**(code **)(*plVar21 + 0x48))(); + DVar7 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa11,PTR_DAT_140155948,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_res20 = (longlong ****)PTR_DAT_140155010; + FUN_14009d760((longlong *)&local_res20,(char *)local_res10); + FUN_14001b850((longlong *)&local_res20,(short *)&DAT_14011eebc); + iVar6 = 0; + if (((longlong *****)local_res20 != (longlong *****)0x0) && + (local_res20 != (longlong ****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_res20 + -1); + } + uVar22 = (ulonglong)(iVar6 - 2U); + plVar20 = FUN_14001ac70((longlong *)&local_res20,&local_f8,iVar6 - 2U); + FUN_140003170((longlong *)&local_res20,plVar20,uVar22,param_4); + plVar21 = &local_f8; + FUN_140003240(plVar21,plVar20,uVar22,param_4); + local_350 = &local_1d8; + FUN_140030200(plVar21,plVar20,uVar22,param_4); + local_1d8 = (longlong ***)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_1d8,(longlong *)&local_res20,uVar22,param_4); + plVar21 = FUN_1400030f0(&local_78,(short *)PTR_DAT_140155948,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfa11,plVar21,&local_1d8); + uVar9 = 0xfa11; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_140155948; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_res20,uVar22,uVar9,puVar16); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa11); + local_318 = PTR_DAT_140155948; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + uVar9 = (**(code **)(*param_1 + 0xb8))(param_1,uVar2,local_2b8,local_res10); + if ((char)uVar9 == '\0') { + uVar9 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_140155948); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa11); + local_340 = PTR_DAT_140155948; + goto LAB_1400482d5; + } + break; + case 0xfa12: + FUN_14003b570(local_2b8); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + FUN_140081090(param_2,(undefined4 *)&local_358,SVar28,param_4); + uVar9 = FUN_140080600(param_2,&local_2e8,4); + uVar23 = (uint)local_res20; + if ((char)uVar9 != '\0') { + uVar23 = local_2e8._0_4_; + } + local_res20 = (longlong ****)CONCAT44(local_res20._4_4_,uVar23); + uVar9 = FUN_140080600(param_2,(undefined8 *)local_2d8,4); + uVar23 = (uint)local_res10[0]; + if ((char)uVar9 != '\0') { + uVar23 = local_2d8[0]; + } + local_res10[0] = (longlong ****)CONCAT44(local_res10[0]._4_4_,uVar23); + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_140155950; + (**(code **)(*plVar21 + 0x48))(); + DVar7 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa12,PTR_DAT_140155950,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_2e8 = (undefined **)PTR_DAT_140155010; + local_178 = local_358._0_4_; + FUN_14009d840((longlong *)&local_2e8); + FUN_14001b850((longlong *)&local_2e8,(short *)&DAT_14011eebc); + FUN_14009d8a0((longlong *)&local_2e8); + FUN_14001b850((longlong *)&local_2e8,(short *)&DAT_14011eebc); + FUN_14009d8a0((longlong *)&local_2e8); + FUN_14001b850((longlong *)&local_2e8,(short *)&DAT_14011eebc); + iVar6 = 0; + if ((local_2e8 != (undefined **)0x0) && (local_2e8 != (undefined **)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_2e8 + -1); + } + uVar22 = (ulonglong)(iVar6 - 2U); + plVar20 = FUN_14001ac70((longlong *)&local_2e8,&local_128,iVar6 - 2U); + FUN_140003170((longlong *)&local_2e8,plVar20,uVar22,param_4); + plVar21 = &local_128; + FUN_140003240(plVar21,plVar20,uVar22,param_4); + local_350 = &local_1c8; + FUN_140030200(plVar21,plVar20,uVar22,param_4); + local_1c8 = (longlong ***)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_1c8,(longlong *)&local_2e8,uVar22,param_4); + plVar21 = FUN_1400030f0(&local_b0,(short *)PTR_DAT_140155950,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfa12,plVar21,&local_1c8); + uVar9 = 0xfa12; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_140155950; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_2e8,uVar22,uVar9,puVar16); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa12); + local_318 = PTR_DAT_140155950; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + uVar9 = (**(code **)(*param_1 + 0xc0)) + (param_1,uVar2,local_2b8,&local_358,&local_res20,local_res10); + if ((char)uVar9 == '\0') { + uVar9 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_140155950); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa12); + local_340 = PTR_DAT_140155950; + goto LAB_1400482d5; + } + break; + case 0xfa13: + FUN_14003b570(local_2b8); + local_2b4 = param_2[10]; + local_2b8[0] = (undefined1)param_2[0x10]; + uVar9 = FUN_140080600(param_2,&local_res20,4); + uVar23 = (uint)local_res10[0]; + if ((char)uVar9 != '\0') { + uVar23 = (uint)local_res20; + } + local_res10[0] = (longlong ****)CONCAT44(local_res10[0]._4_4_,uVar23); + plVar21 = (longlong *)param_1[2]; + puVar16 = PTR_DAT_140155958; + (**(code **)(*plVar21 + 0x48))(); + DVar7 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfa13,PTR_DAT_140155958,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar21,param_2,puVar16,param_4); + local_res20 = (longlong ****)PTR_DAT_140155010; + FUN_14009d8a0((longlong *)&local_res20); + FUN_14001b850((longlong *)&local_res20,(short *)&DAT_14011eebc); + iVar6 = 0; + if (((longlong *****)local_res20 != (longlong *****)0x0) && + (local_res20 != (longlong ****)PTR_DAT_140155010)) { + iVar6 = *(int *)(local_res20 + -1); + } + uVar22 = (ulonglong)(iVar6 - 2U); + plVar20 = FUN_14001ac70((longlong *)&local_res20,&local_120,iVar6 - 2U); + FUN_140003170((longlong *)&local_res20,plVar20,uVar22,param_4); + plVar21 = &local_120; + FUN_140003240(plVar21,plVar20,uVar22,param_4); + local_350 = &local_1b8; + FUN_140030200(plVar21,plVar20,uVar22,param_4); + local_1b8 = (longlong ***)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_1b8,(longlong *)&local_res20,uVar22,param_4); + plVar21 = FUN_1400030f0(&local_a0,(short *)PTR_DAT_140155958,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfa13,plVar21,&local_1b8); + uVar9 = 0xfa13; + uVar22 = (ulonglong)uVar2; + puVar16 = PTR_DAT_140155958; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_res20,uVar22,uVar9,puVar16); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_320 = (int *)CONCAT44(local_320._4_4_,0xfa13); + local_318 = PTR_DAT_140155958; + local_310 = uVar2; + local_308 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_320); + DVar7 = GetTickCount(); + } + uVar9 = (**(code **)(*param_1 + 200))(param_1,uVar2,local_2b8,local_res10); + if ((char)uVar9 == '\0') { + uVar9 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_140155958); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfa13); + local_340 = PTR_DAT_140155958; + goto LAB_1400482d5; + } + break; + default: + goto switchD_140044893_default; + } + uVar22 = CONCAT71((int7)((ulonglong)uVar9 >> 8),1); + } + return uVar22; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140048380.c b/decomp/Agent_Release_x64/full/functions/0x140048380.c new file mode 100644 index 00000000..f285bcd5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140048380.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140048380 FUN_140048380 + * Pseudocode, not original source. */ + +undefined1 +FUN_140048380(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,byte *param_5, + longlong param_6,longlong param_7,longlong param_8,longlong param_9) + +{ + ushort uVar1; + undefined1 uVar2; + SIZE_T SVar3; + uint *puVar4; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar3 = param_3; + puVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar3,puVar4); + FUN_1400221b0((longlong)local_30,0xfbf7,SVar3,puVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar3,puVar4); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_5,SVar3,puVar4); + uVar1 = *(ushort *)(param_6 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_6 + 8),SVar3,puVar4); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,SVar3,puVar4); + uVar1 = *(ushort *)(param_7 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_7 + 8),SVar3,puVar4); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,SVar3,puVar4); + uVar1 = *(ushort *)(param_8 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_8 + 8),SVar3,puVar4); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,SVar3,puVar4); + uVar1 = *(ushort *)(param_9 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_9 + 8),SVar3,puVar4); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,SVar3,puVar4); + uVar2 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140155970,0xfbf7); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140048510.c b/decomp/Agent_Release_x64/full/functions/0x140048510.c new file mode 100644 index 00000000..89eac2dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140048510.c @@ -0,0 +1,51 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140048510 FUN_140048510 + * Pseudocode, not original source. */ + +undefined1 +FUN_140048510(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,byte *param_6,longlong param_7,longlong param_8,longlong param_9, + longlong param_10) + +{ + ushort uVar1; + undefined1 uVar2; + undefined8 uVar3; + ulonglong uVar4; + undefined8 uVar5; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar3 = param_2; + uVar4 = param_3; + uVar5 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar3,uVar4,uVar5); + FUN_1400221b0((longlong)local_30,0xfbf7,uVar4,uVar5); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar4,uVar5); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_6,uVar4,uVar5); + uVar1 = *(ushort *)(param_7 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_7 + 8),uVar4,uVar5); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,uVar4,uVar5); + uVar1 = *(ushort *)(param_8 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_8 + 8),uVar4,uVar5); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,uVar4,uVar5); + uVar1 = *(ushort *)(param_9 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_9 + 8),uVar4,uVar5); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,uVar4,uVar5); + uVar1 = *(ushort *)(param_10 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_10 + 8),uVar4,uVar5); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,uVar4,uVar5); + uVar2 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140155970,0xfbf7) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400486b0.c b/decomp/Agent_Release_x64/full/functions/0x1400486b0.c new file mode 100644 index 00000000..18079f6c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400486b0.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400486b0 FUN_1400486b0 + * Pseudocode, not original source. */ + +undefined1 +FUN_1400486b0(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,longlong param_5, + longlong param_6) + +{ + ushort uVar1; + undefined1 uVar2; + SIZE_T SVar3; + uint *puVar4; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar3 = param_3; + puVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar3,puVar4); + FUN_1400221b0((longlong)local_30,0xfbf8,SVar3,puVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar3,puVar4); + uVar1 = *(ushort *)(param_5 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_5 + 8),SVar3,puVar4); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,SVar3,puVar4); + uVar1 = *(ushort *)(param_6 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_6 + 8),SVar3,puVar4); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,SVar3,puVar4); + uVar2 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140155978,0xfbf8); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400487e0.c b/decomp/Agent_Release_x64/full/functions/0x1400487e0.c new file mode 100644 index 00000000..ef8144ca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400487e0.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400487e0 FUN_1400487e0 + * Pseudocode, not original source. */ + +undefined1 +FUN_1400487e0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,longlong param_6,longlong param_7) + +{ + ushort uVar1; + undefined1 uVar2; + undefined8 uVar3; + ulonglong uVar4; + undefined8 uVar5; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar3 = param_2; + uVar4 = param_3; + uVar5 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar3,uVar4,uVar5); + FUN_1400221b0((longlong)local_30,0xfbf8,uVar4,uVar5); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar4,uVar5); + uVar1 = *(ushort *)(param_6 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_6 + 8),uVar4,uVar5); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,uVar4,uVar5); + uVar1 = *(ushort *)(param_7 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_7 + 8),uVar4,uVar5); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,uVar4,uVar5); + uVar2 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140155978,0xfbf8) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140048920.c b/decomp/Agent_Release_x64/full/functions/0x140048920.c new file mode 100644 index 00000000..0286fe87 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140048920.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140048920 FUN_140048920 + * Pseudocode, not original source. */ + +undefined1 +FUN_140048920(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,uint *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0xfbf9,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140044630((longlong)local_30,(ulonglong)*param_5,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140155980,0xfbf9); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140048a10.c b/decomp/Agent_Release_x64/full/functions/0x140048a10.c new file mode 100644 index 00000000..0cf79d14 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140048a10.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140048a10 FUN_140048a10 + * Pseudocode, not original source. */ + +undefined1 +FUN_140048a10(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,uint *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfbf9,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140044630((longlong)local_30,(ulonglong)*param_6,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140155980,0xfbf9) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140048b10.c b/decomp/Agent_Release_x64/full/functions/0x140048b10.c new file mode 100644 index 00000000..0fc0d297 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140048b10.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140048b10 FUN_140048b10 + * Pseudocode, not original source. */ + +undefined1 +FUN_140048b10(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,uint *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0xfbfa,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140155988,0xfbfa); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140048c00.c b/decomp/Agent_Release_x64/full/functions/0x140048c00.c new file mode 100644 index 00000000..2f39eb51 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140048c00.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140048c00 FUN_140048c00 + * Pseudocode, not original source. */ + +undefined1 +FUN_140048c00(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,uint *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfbfa,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140155988,0xfbfa) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140048d00.c b/decomp/Agent_Release_x64/full/functions/0x140048d00.c new file mode 100644 index 00000000..46909e28 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140048d00.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140048d00 FUN_140048d00 + * Pseudocode, not original source. */ + +undefined1 +FUN_140048d00(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,uint *param_5, + longlong param_6,longlong param_7,longlong param_8,longlong param_9) + +{ + ushort uVar1; + undefined1 uVar2; + SIZE_T SVar3; + uint *puVar4; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar3 = param_3; + puVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar3,puVar4); + FUN_1400221b0((longlong)local_30,0xfbfb,SVar3,puVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar3,puVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,SVar3,puVar4); + uVar1 = *(ushort *)(param_6 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_6 + 8),SVar3,puVar4); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,SVar3,puVar4); + uVar1 = *(ushort *)(param_7 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_7 + 8),SVar3,puVar4); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,SVar3,puVar4); + uVar1 = *(ushort *)(param_8 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_8 + 8),SVar3,puVar4); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,SVar3,puVar4); + uVar1 = *(ushort *)(param_9 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_9 + 8),SVar3,puVar4); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,SVar3,puVar4); + uVar2 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140155990,0xfbfb); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140048e90.c b/decomp/Agent_Release_x64/full/functions/0x140048e90.c new file mode 100644 index 00000000..856574b6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140048e90.c @@ -0,0 +1,51 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140048e90 FUN_140048e90 + * Pseudocode, not original source. */ + +undefined1 +FUN_140048e90(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,uint *param_6,longlong param_7,longlong param_8,longlong param_9, + longlong param_10) + +{ + ushort uVar1; + undefined1 uVar2; + undefined8 uVar3; + ulonglong uVar4; + undefined8 uVar5; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar3 = param_2; + uVar4 = param_3; + uVar5 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar3,uVar4,uVar5); + FUN_1400221b0((longlong)local_30,0xfbfb,uVar4,uVar5); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar4,uVar5); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,uVar4,uVar5); + uVar1 = *(ushort *)(param_7 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_7 + 8),uVar4,uVar5); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,uVar4,uVar5); + uVar1 = *(ushort *)(param_8 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_8 + 8),uVar4,uVar5); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,uVar4,uVar5); + uVar1 = *(ushort *)(param_9 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_9 + 8),uVar4,uVar5); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,uVar4,uVar5); + uVar1 = *(ushort *)(param_10 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_10 + 8),uVar4,uVar5); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,uVar4,uVar5); + uVar2 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140155990,0xfbfb) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140049030.c b/decomp/Agent_Release_x64/full/functions/0x140049030.c new file mode 100644 index 00000000..9f173b09 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140049030.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140049030 FUN_140049030 + * Pseudocode, not original source. */ + +undefined1 FUN_140049030(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,param_4); + FUN_1400221b0((longlong)local_30,0xfbfc,SVar2,param_4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140155998,0xfbfc); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400490f0.c b/decomp/Agent_Release_x64/full/functions/0x1400490f0.c new file mode 100644 index 00000000..6165e174 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400490f0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400490f0 FUN_1400490f0 + * Pseudocode, not original source. */ + +undefined1 FUN_1400490f0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfbfc,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140155998,0xfbfc) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400491c0.c b/decomp/Agent_Release_x64/full/functions/0x1400491c0.c new file mode 100644 index 00000000..031339e6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400491c0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400491c0 FUN_1400491c0 + * Pseudocode, not original source. */ + +undefined1 FUN_1400491c0(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,param_4); + FUN_1400221b0((longlong)local_30,0xfbfd,SVar2,param_4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401559a0,0xfbfd); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140049280.c b/decomp/Agent_Release_x64/full/functions/0x140049280.c new file mode 100644 index 00000000..0e678260 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140049280.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140049280 FUN_140049280 + * Pseudocode, not original source. */ + +undefined1 FUN_140049280(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfbfd,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401559a0,0xfbfd) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140049350.c b/decomp/Agent_Release_x64/full/functions/0x140049350.c new file mode 100644 index 00000000..e5d01936 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140049350.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140049350 FUN_140049350 + * Pseudocode, not original source. */ + +undefined1 FUN_140049350(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,param_4); + FUN_1400221b0((longlong)local_30,0xfbfe,SVar2,param_4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401559a8,0xfbfe); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140049410.c b/decomp/Agent_Release_x64/full/functions/0x140049410.c new file mode 100644 index 00000000..52b58cc3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140049410.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140049410 FUN_140049410 + * Pseudocode, not original source. */ + +undefined1 FUN_140049410(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfbfe,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401559a8,0xfbfe) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400494e0.c b/decomp/Agent_Release_x64/full/functions/0x1400494e0.c new file mode 100644 index 00000000..9b21244f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400494e0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400494e0 FUN_1400494e0 + * Pseudocode, not original source. */ + +undefined1 FUN_1400494e0(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,param_4); + FUN_1400221b0((longlong)local_30,0xfbff,SVar2,param_4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401559b0,0xfbff); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400495a0.c b/decomp/Agent_Release_x64/full/functions/0x1400495a0.c new file mode 100644 index 00000000..14abd912 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400495a0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400495a0 FUN_1400495a0 + * Pseudocode, not original source. */ + +undefined1 FUN_1400495a0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfbff,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401559b0,0xfbff) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140049670.c b/decomp/Agent_Release_x64/full/functions/0x140049670.c new file mode 100644 index 00000000..af724b69 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140049670.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140049670 FUN_140049670 + * Pseudocode, not original source. */ + +undefined1 FUN_140049670(longlong *param_1,undefined8 param_2,SIZE_T param_3,byte *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + byte *pbVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + pbVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,pbVar3); + FUN_1400221b0((longlong)local_30,0xfc00,SVar2,pbVar3); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_4,SVar2,pbVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401559b8,0xfc00); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140049750.c b/decomp/Agent_Release_x64/full/functions/0x140049750.c new file mode 100644 index 00000000..99d52527 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140049750.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140049750 FUN_140049750 + * Pseudocode, not original source. */ + +undefined1 +FUN_140049750(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + byte *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfc00,uVar3,uVar4); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401559b8,0xfc00) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140049830.c b/decomp/Agent_Release_x64/full/functions/0x140049830.c new file mode 100644 index 00000000..4e3c3cc8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140049830.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140049830 FUN_140049830 + * Pseudocode, not original source. */ + +undefined1 FUN_140049830(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,param_4); + FUN_1400221b0((longlong)local_30,0xfc01,SVar2,param_4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401559c0,0xfc01); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400498f0.c b/decomp/Agent_Release_x64/full/functions/0x1400498f0.c new file mode 100644 index 00000000..116d7477 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400498f0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400498f0 FUN_1400498f0 + * Pseudocode, not original source. */ + +undefined1 FUN_1400498f0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfc01,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401559c0,0xfc01) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400499c0.c b/decomp/Agent_Release_x64/full/functions/0x1400499c0.c new file mode 100644 index 00000000..d361e38d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400499c0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400499c0 FUN_1400499c0 + * Pseudocode, not original source. */ + +undefined1 FUN_1400499c0(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,param_4); + FUN_1400221b0((longlong)local_30,0xfc02,SVar2,param_4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401559c8,0xfc02); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140049a80.c b/decomp/Agent_Release_x64/full/functions/0x140049a80.c new file mode 100644 index 00000000..d96adad5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140049a80.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140049a80 FUN_140049a80 + * Pseudocode, not original source. */ + +undefined1 FUN_140049a80(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfc02,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401559c8,0xfc02) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140049b50.c b/decomp/Agent_Release_x64/full/functions/0x140049b50.c new file mode 100644 index 00000000..d29f483d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140049b50.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140049b50 FUN_140049b50 + * Pseudocode, not original source. */ + +undefined1 FUN_140049b50(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0xfc03,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401559d0,0xfc03); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140049c30.c b/decomp/Agent_Release_x64/full/functions/0x140049c30.c new file mode 100644 index 00000000..36df2dbd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140049c30.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140049c30 FUN_140049c30 + * Pseudocode, not original source. */ + +undefined1 +FUN_140049c30(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfc03,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401559d0,0xfc03) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140049d10.c b/decomp/Agent_Release_x64/full/functions/0x140049d10.c new file mode 100644 index 00000000..555de127 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140049d10.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140049d10 FUN_140049d10 + * Pseudocode, not original source. */ + +undefined1 FUN_140049d10(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0xfc04,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401559d8,0xfc04); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140049df0.c b/decomp/Agent_Release_x64/full/functions/0x140049df0.c new file mode 100644 index 00000000..c9049b88 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140049df0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140049df0 FUN_140049df0 + * Pseudocode, not original source. */ + +undefined1 +FUN_140049df0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfc04,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401559d8,0xfc04) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140049ed0.c b/decomp/Agent_Release_x64/full/functions/0x140049ed0.c new file mode 100644 index 00000000..ab69f417 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140049ed0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140049ed0 FUN_140049ed0 + * Pseudocode, not original source. */ + +undefined1 FUN_140049ed0(longlong *param_1,undefined8 param_2,SIZE_T param_3,byte *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + byte *pbVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + pbVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,pbVar3); + FUN_1400221b0((longlong)local_30,0xfc05,SVar2,pbVar3); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_4,SVar2,pbVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401559e0,0xfc05); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140049fb0.c b/decomp/Agent_Release_x64/full/functions/0x140049fb0.c new file mode 100644 index 00000000..cec5ba35 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140049fb0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140049fb0 FUN_140049fb0 + * Pseudocode, not original source. */ + +undefined1 +FUN_140049fb0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + byte *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfc05,uVar3,uVar4); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401559e0,0xfc05) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004a090.c b/decomp/Agent_Release_x64/full/functions/0x14004a090.c new file mode 100644 index 00000000..a6ac7e7d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004a090.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004a090 FUN_14004a090 + * Pseudocode, not original source. */ + +undefined1 FUN_14004a090(longlong *param_1,undefined8 param_2,SIZE_T param_3,longlong *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + longlong *plVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + plVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,plVar3); + FUN_1400221b0((longlong)local_30,0xfc06,SVar2,plVar3); + FUN_14009d600((longlong)local_30,param_4,SVar2,plVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401559e8,0xfc06); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004a170.c b/decomp/Agent_Release_x64/full/functions/0x14004a170.c new file mode 100644 index 00000000..d20a6014 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004a170.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004a170 FUN_14004a170 + * Pseudocode, not original source. */ + +undefined1 +FUN_14004a170(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + longlong *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfc06,uVar3,uVar4); + FUN_14009d600((longlong)local_30,param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401559e8,0xfc06) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004a250.c b/decomp/Agent_Release_x64/full/functions/0x14004a250.c new file mode 100644 index 00000000..c69065b4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004a250.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004a250 FUN_14004a250 + * Pseudocode, not original source. */ + +undefined1 +FUN_14004a250(longlong *param_1,undefined8 param_2,SIZE_T param_3,byte *param_4,longlong *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + byte *pbVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + pbVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,pbVar3); + FUN_1400221b0((longlong)local_30,0xfc07,SVar2,pbVar3); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_4,SVar2,pbVar3); + FUN_14009d600((longlong)local_30,param_5,SVar2,pbVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401559f0,0xfc07); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004a340.c b/decomp/Agent_Release_x64/full/functions/0x14004a340.c new file mode 100644 index 00000000..e16b191a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004a340.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004a340 FUN_14004a340 + * Pseudocode, not original source. */ + +undefined1 +FUN_14004a340(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + byte *param_5,longlong *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfc07,uVar3,uVar4); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_14009d600((longlong)local_30,param_6,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401559f0,0xfc07) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004a430.c b/decomp/Agent_Release_x64/full/functions/0x14004a430.c new file mode 100644 index 00000000..a0075dd8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004a430.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004a430 FUN_14004a430 + * Pseudocode, not original source. */ + +undefined8 FUN_14004a430(longlong param_1,uint param_2,undefined8 param_3,longlong *param_4) + +{ + uint uVar1; + longlong lVar2; + ulonglong uVar3; + int *piVar4; + undefined8 uVar5; + uint *puVar6; + + piVar4 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x20) + 200))(); + } + uVar1 = *(uint *)(*(longlong *)(param_1 + 0x20) + 0xca0); + uVar3 = (ulonglong)param_2 % (ulonglong)uVar1; + lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x20) + 0xc80); + if ((lVar2 != 0) && (puVar6 = *(uint **)(lVar2 + uVar3 * 8), puVar6 != (uint *)0x0)) { + while ((uint)uVar3 == puVar6[8] % uVar1) { + if (*puVar6 == param_2) { + lVar2 = *(longlong *)(puVar6 + 2); + if ((lVar2 != 0) && (*(longlong *)(lVar2 + 0x228) == 0)) { + FUN_140003170((longlong *)(lVar2 + 0x1f0),param_4,uVar3,(ulonglong)uVar1); + } + break; + } + puVar6 = *(uint **)(puVar6 + 4); + if (puVar6 == (uint *)0x0) break; + } + } + uVar5 = FUN_14002e770((longlong)piVar4); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004a520.c b/decomp/Agent_Release_x64/full/functions/0x14004a520.c new file mode 100644 index 00000000..ead9b1df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004a520.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004a520 FUN_14004a520 + * Pseudocode, not original source. */ + +undefined8 FUN_14004a520(longlong param_1,uint param_2,undefined8 param_3,undefined8 *param_4) + +{ + uint uVar1; + longlong lVar2; + ulonglong uVar3; + int *piVar4; + undefined8 uVar5; + uint *puVar6; + + piVar4 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x20) + 200))(); + } + uVar1 = *(uint *)(*(longlong *)(param_1 + 0x20) + 0xca0); + uVar3 = (ulonglong)param_2 % (ulonglong)uVar1; + lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x20) + 0xc80); + if ((lVar2 != 0) && (puVar6 = *(uint **)(lVar2 + uVar3 * 8), puVar6 != (uint *)0x0)) { + while ((uint)uVar3 == puVar6[8] % uVar1) { + if (*puVar6 == param_2) { + lVar2 = *(longlong *)(puVar6 + 2); + if ((lVar2 != 0) && (*(longlong *)(lVar2 + 0x228) == 0)) { + *(undefined8 *)(lVar2 + 400) = *param_4; + } + break; + } + puVar6 = *(uint **)(puVar6 + 4); + if (puVar6 == (uint *)0x0) break; + } + } + uVar5 = FUN_14002e770((longlong)piVar4); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004a610.c b/decomp/Agent_Release_x64/full/functions/0x14004a610.c new file mode 100644 index 00000000..de6c2928 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004a610.c @@ -0,0 +1,65 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004a610 FUN_14004a610 + * Pseudocode, not original source. */ + +undefined8 +FUN_14004a610(longlong param_1,wchar_t *param_2,longlong param_3,uint *param_4,longlong *param_5) + +{ + int *piVar1; + short *psVar2; + int *piVar3; + int *piVar4; + undefined8 uVar5; + longlong *plVar6; + longlong lVar7; + wchar_t *pwVar8; + ulonglong uVar9; + short *psVar10; + uint *puVar11; + undefined *puVar12; + short *local_res8; + + pwVar8 = param_2; + puVar11 = param_4; + piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar3); + plVar6 = *(longlong **)(param_1 + 0x20); + if (DAT_14015bfcf != '\0') { + param_3 = *plVar6; + pwVar8 = L"Proud::CNetServerImpl::C2SStub::NotifyLog"; + (**(code **)(param_3 + 200))(); + } + if (*(longlong *)(*(longlong *)(param_1 + 0x20) + 0x17f0) != 0) { + FUN_140030200(plVar6,pwVar8,param_3,puVar11); + local_res8 = (short *)PTR_DAT_140155010; + puVar12 = (undefined *)*param_5; + if ((undefined *)*param_5 == (undefined *)0x0) { + puVar12 = PTR_DAT_140155010; + } + FUN_14001b7a0((longlong *)&local_res8,L"[Client %d] %s",(ulonglong)param_2 & 0xffffffff,puVar12) + ; + psVar2 = local_res8; + psVar10 = local_res8; + if (local_res8 == (short *)0x0) { + psVar10 = (short *)PTR_DAT_140155010; + } + uVar9 = (ulonglong)*param_4; + lVar7 = *(longlong *)(*(longlong *)(param_1 + 0x20) + 0x17f0); + FUN_14008f2e0(lVar7,uVar9,psVar10,puVar12); + if (((psVar2 != (short *)0x0) && (psVar2 != (short *)PTR_DAT_140155010)) && + (psVar2 + -4 != (short *)0x0)) { + piVar4 = (int *)FUN_140030200(lVar7,uVar9,psVar10,puVar12); + FUN_14002e6e0(piVar4); + piVar1 = (int *)(psVar2 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar2 + -4); + } + FUN_14002e770((longlong)piVar4); + } + } + uVar5 = FUN_14002e770((longlong)piVar3); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004a750.c b/decomp/Agent_Release_x64/full/functions/0x14004a750.c new file mode 100644 index 00000000..19c954d1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004a750.c @@ -0,0 +1,195 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004a750 FUN_14004a750 + * Pseudocode, not original source. */ + +undefined8 +FUN_14004a750(longlong param_1,uint param_2,short *param_3,int *param_4,longlong *param_5) + +{ + undefined *puVar1; + undefined *puVar2; + int *piVar3; + int *piVar4; + int *piVar5; + longlong lVar6; + longlong *plVar7; + longlong lVar8; + undefined8 *puVar9; + undefined **ppuVar10; + longlong *plVar11; + undefined8 uVar12; + ulonglong uVar13; + wchar_t *pwVar14; + int *piVar15; + undefined *puVar16; + undefined *local_res8; + undefined *local_res20; + undefined *local_118; + undefined *local_110; + undefined *local_108; + int *local_100; + undefined1 local_f8; + undefined8 local_e8; + undefined8 local_e0; + undefined8 local_d8; + undefined8 local_d0; + undefined8 local_c8; + undefined8 local_c0; + undefined8 local_b8; + undefined8 local_b0; + ulonglong local_a8; + undefined8 local_a0; + undefined4 local_98; + int *local_88; + undefined1 local_80; + int *local_78; + undefined1 local_70; + int *local_68; + undefined1 local_60; + int *local_58; + undefined1 local_50; + int *local_48; + undefined1 local_40; + undefined8 local_38; + + local_38 = 0xfffffffffffffffe; + piVar15 = param_4; + piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + local_100 = piVar3; + FUN_14002e6e0(piVar3); + local_f8 = 1; + if (DAT_14015bfcf != '\0') { + param_3 = (short *)**(longlong **)(param_1 + 0x20); + (**(code **)(param_3 + 100)) + (*(longlong **)(param_1 + 0x20), + L"Proud::CNetServerImpl::C2SStub::NotifyLogHolepunchFreqFail"); + } + local_a8 = 0; + local_e0 = 0; + local_e8 = 0; + local_d0 = 0; + local_d8 = 0; + local_b0 = 0; + local_b8 = 0; + local_c0 = 0; + local_c8 = 0; + local_a0 = 0; + local_98 = 0; + plVar7 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0xa8); + puVar9 = &local_e8; + (**(code **)(*plVar7 + 0xb0))(); + if (*(longlong *)(*(longlong *)(param_1 + 0x20) + 0x17f0) != 0) { + FUN_140030200(plVar7,puVar9,param_3,piVar15); + local_res8 = PTR_DAT_140155010; + piVar15 = (int *)(local_a8 >> 0x20); + FUN_14001b7a0((longlong *)&local_res8,L"[Client %d] Pair=%d/%d##CCU=%d##",(ulonglong)param_2, + piVar15); + plVar7 = FUN_140043f80((longlong *)&local_108,(longlong *)&local_res8,param_5,piVar15); + param_3 = (short *)*plVar7; + if ((short *)*plVar7 == (short *)0x0) { + param_3 = (short *)PTR_DAT_140155010; + } + uVar12 = 2; + piVar4 = *(int **)(*(longlong *)(param_1 + 0x20) + 0x17f0); + FUN_14008f2e0((longlong)piVar4,2,param_3,piVar15); + if (((local_108 != (undefined *)0x0) && (local_108 != PTR_DAT_140155010)) && + (local_108 + -8 != (undefined *)0x0)) { + piVar4 = (int *)FUN_140030200(piVar4,uVar12,param_3,piVar15); + local_88 = piVar4; + FUN_14002e6e0(piVar4); + local_80 = 1; + piVar5 = (int *)(local_108 + -4); + *piVar5 = *piVar5 + -1; + if (*piVar5 == 0) { + FUN_1400302f0(local_108 + -8); + } + FUN_14002e770((longlong)piVar4); + } + puVar16 = local_res8; + if (((local_res8 != (undefined *)0x0) && (local_res8 != PTR_DAT_140155010)) && + (puVar1 = local_res8 + -8, puVar1 != (undefined *)0x0)) { + piVar5 = (int *)FUN_140030200(piVar4,uVar12,param_3,piVar15); + local_68 = piVar5; + FUN_14002e6e0(piVar5); + local_60 = 1; + piVar4 = (int *)(puVar16 + -4); + *piVar4 = *piVar4 + -1; + if (*piVar4 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)piVar5); + } + } + lVar8 = *(longlong *)(param_1 + 0x20); + if (*(int *)(lVar8 + 0x1804) < *param_4) { + uVar13 = (ulonglong)param_2; + lVar6 = FUN_140041ab0(lVar8,param_2); + if (lVar6 != 0) { + FUN_140030200(lVar8,uVar13,param_3,piVar15); + local_res20 = PTR_DAT_140155010; + puVar9 = (undefined8 *)(*(longlong *)(lVar6 + 0x748) + 0x128); + plVar7 = (longlong *)(**(code **)*puVar9)(puVar9,&local_110); + puVar16 = (undefined *)*plVar7; + if ((undefined *)*plVar7 == (undefined *)0x0) { + puVar16 = PTR_DAT_140155010; + } + uVar13 = (ulonglong)param_2; + pwVar14 = L"[Client %d %s] Pair=%d/%d##CCU=%d"; + ppuVar10 = &local_res20; + FUN_14001b7a0((longlong *)ppuVar10,L"[Client %d %s] Pair=%d/%d##CCU=%d",uVar13,puVar16); + if (((local_110 != (undefined *)0x0) && (local_110 != PTR_DAT_140155010)) && + (local_110 + -8 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(ppuVar10,pwVar14,uVar13,puVar16); + local_48 = piVar3; + FUN_14002e6e0(piVar3); + local_40 = 1; + piVar15 = (int *)(local_110 + -4); + *piVar15 = *piVar15 + -1; + if (*piVar15 == 0) { + FUN_1400302f0(local_110 + -8); + } + FUN_14002e770((longlong)piVar3); + } + *(int *)(*(longlong *)(param_1 + 0x20) + 0x1804) = *param_4; + plVar7 = FUN_140043f80((longlong *)&local_118,(longlong *)&local_res20,param_5,puVar16); + plVar11 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0x1808); + FUN_140003170(plVar11,plVar7,param_5,puVar16); + if (((local_118 != (undefined *)0x0) && (local_118 != PTR_DAT_140155010)) && + (local_118 + -8 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(plVar11,plVar7,param_5,puVar16); + local_78 = piVar3; + FUN_14002e6e0(piVar3); + local_70 = 1; + piVar15 = (int *)(local_118 + -4); + *piVar15 = *piVar15 + -1; + if (*piVar15 == 0) { + FUN_1400302f0(local_118 + -8); + } + FUN_14002e770((longlong)piVar3); + } + puVar1 = local_res20; + lVar8 = *(longlong *)(param_1 + 0x20); + LOCK(); + *(undefined4 *)(lVar8 + 0x1840) = 1; + UNLOCK(); + piVar3 = local_100; + if (((local_res20 != (undefined *)0x0) && (local_res20 != PTR_DAT_140155010)) && + (puVar2 = local_res20 + -8, puVar2 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(lVar8,plVar7,param_5,puVar16); + local_58 = piVar3; + FUN_14002e6e0(piVar3); + local_50 = 1; + piVar15 = (int *)(puVar1 + -4); + *piVar15 = *piVar15 + -1; + if (*piVar15 == 0) { + FUN_1400302f0(puVar2); + } + FUN_14002e770((longlong)piVar3); + piVar3 = local_100; + } + } + } + uVar12 = FUN_14002e770((longlong)piVar3); + return CONCAT71((int7)((ulonglong)uVar12 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004aaf0.c b/decomp/Agent_Release_x64/full/functions/0x14004aaf0.c new file mode 100644 index 00000000..98f15fde --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004aaf0.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004aaf0 FUN_14004aaf0 + * Pseudocode, not original source. */ + +undefined8 FUN_14004aaf0(longlong param_1,ulonglong param_2,undefined8 param_3,float *param_4) + +{ + uint uVar1; + longlong lVar2; + ulonglong uVar3; + int *piVar4; + undefined8 uVar5; + int *piVar6; + longlong *plVar7; + + piVar4 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58)) + (*(longlong **)(param_1 + 0x20),param_2,param_3,param_4, + 0xfffffffffffffffe); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x20) + 200))(); + } + uVar1 = *(uint *)(*(longlong *)(param_1 + 0x20) + 0xca0); + uVar3 = (param_2 & 0xffffffff) % (ulonglong)uVar1; + lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x20) + 0xc80); + if ((lVar2 != 0) && (piVar6 = *(int **)(lVar2 + uVar3 * 8), piVar6 != (int *)0x0)) { + while ((uint)uVar3 == (uint)piVar6[8] % uVar1) { + if (*piVar6 == (int)param_2) { + lVar2 = *(longlong *)(piVar6 + 2); + if ((lVar2 != 0) && (*(longlong *)(lVar2 + 0x228) == 0)) { + uVar5 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x20) + 0x118) + 8))(); + *(undefined8 *)(lVar2 + 0x180) = uVar5; + *(double *)(lVar2 + 0x1e0) = (double)*param_4; + plVar7 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0x4a8); + (**(code **)(*plVar7 + 0xa0))(plVar7,param_2 & 0xffffffff,&DAT_14015de10); + } + break; + } + piVar6 = *(int **)(piVar6 + 4); + if (piVar6 == (int *)0x0) break; + } + } + uVar5 = FUN_14002e770((longlong)piVar4); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004ac30.c b/decomp/Agent_Release_x64/full/functions/0x14004ac30.c new file mode 100644 index 00000000..9b041419 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004ac30.c @@ -0,0 +1,59 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004ac30 FUN_14004ac30 + * Pseudocode, not original source. */ + +undefined8 FUN_14004ac30(longlong param_1,uint param_2,undefined8 param_3,longlong param_4) + +{ + uint uVar1; + int iVar2; + longlong lVar3; + ulonglong uVar4; + int *piVar5; + undefined8 uVar6; + uint *puVar7; + undefined8 *puVar8; + longlong *plVar9; + undefined8 *puVar10; + + piVar5 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar5); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x20) + 200))(); + } + uVar1 = *(uint *)(*(longlong *)(param_1 + 0x20) + 0xca0); + uVar4 = (ulonglong)param_2 % (ulonglong)uVar1; + lVar3 = *(longlong *)(*(longlong *)(param_1 + 0x20) + 0xc80); + if ((lVar3 != 0) && (puVar7 = *(uint **)(lVar3 + uVar4 * 8), puVar7 != (uint *)0x0)) { + while ((uint)uVar4 == puVar7[8] % uVar1) { + if (*puVar7 == param_2) { + lVar3 = *(longlong *)(puVar7 + 2); + if ((lVar3 != 0) && (*(longlong *)(lVar3 + 0x228) == 0)) { + iVar2 = *(int *)(param_4 + 0x18); + if (iVar2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14001bc70(lVar3 + 0x1f8,iVar2,uVar4); + puVar8 = (undefined8 *)0x0; + puVar10 = puVar8; + if (*(int *)(param_4 + 0x18) != 0) { + puVar10 = *(undefined8 **)(param_4 + 0x10); + } + if (*(int *)(lVar3 + 0x210) != 0) { + puVar8 = *(undefined8 **)(lVar3 + 0x208); + } + FUN_14001bd30(puVar8,puVar10,(longlong)iVar2); + plVar9 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0x4a8); + (**(code **)(*plVar9 + 0xf0))(plVar9,param_2,&DAT_14015de10); + } + break; + } + puVar7 = *(uint **)(puVar7 + 4); + if (puVar7 == (uint *)0x0) break; + } + } + uVar6 = FUN_14002e770((longlong)piVar5); + return CONCAT71((int7)((ulonglong)uVar6 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004ad90.c b/decomp/Agent_Release_x64/full/functions/0x14004ad90.c new file mode 100644 index 00000000..09e9a456 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004ad90.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004ad90 FUN_14004ad90 + * Pseudocode, not original source. */ + +undefined8 FUN_14004ad90(longlong param_1,uint param_2,undefined8 param_3,longlong *param_4) + +{ + uint uVar1; + longlong lVar2; + ulonglong uVar3; + int *piVar4; + undefined8 uVar5; + uint *puVar6; + + piVar4 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x20) + 200))(); + } + uVar1 = *(uint *)(*(longlong *)(param_1 + 0x20) + 0xca0); + uVar3 = (ulonglong)param_2 % (ulonglong)uVar1; + lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x20) + 0xc80); + if ((lVar2 != 0) && (puVar6 = *(uint **)(lVar2 + uVar3 * 8), puVar6 != (uint *)0x0)) { + while ((uint)uVar3 == puVar6[8] % uVar1) { + if (*puVar6 == param_2) { + lVar2 = *(longlong *)(puVar6 + 2); + if ((lVar2 != 0) && (*(longlong *)(lVar2 + 0x228) == 0)) { + FUN_140003170((longlong *)(lVar2 + 0x1f0),param_4,uVar3,(ulonglong)uVar1); + } + break; + } + puVar6 = *(uint **)(puVar6 + 4); + if (puVar6 == (uint *)0x0) break; + } + } + uVar5 = FUN_14002e770((longlong)piVar4); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004ae80.c b/decomp/Agent_Release_x64/full/functions/0x14004ae80.c new file mode 100644 index 00000000..53ac3bef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004ae80.c @@ -0,0 +1,56 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004ae80 FUN_14004ae80 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014004af8f) */ + +undefined8 +FUN_14004ae80(longlong param_1,undefined8 param_2,undefined8 param_3,int *param_4,uint *param_5) + +{ + int *piVar1; + longlong lVar2; + longlong *plVar3; + int *piVar4; + undefined8 uVar5; + longlong lVar6; + + piVar1 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58)) + (*(longlong **)(param_1 + 0x20),param_2,param_3,param_4, + 0xfffffffffffffffe); + FUN_14002e6e0(piVar1); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x20) + 200)) + (*(longlong **)(param_1 + 0x20),L"Proud::CNetServerImpl::C2SStub::ReportP2PPeerPing"); + } + lVar2 = FUN_140041ab0(*(longlong *)(param_1 + 0x20),(uint)param_2); + if (lVar2 != 0) { + if (*(longlong *)(lVar2 + 0x6c0) == 0) { + plVar3 = (longlong *)0x0; + } + else { + plVar3 = *(longlong **)(lVar2 + 0x6b0); + } + for (; plVar3 != (longlong *)0x0; plVar3 = (longlong *)plVar3[2]) { + if ((longlong *)*plVar3 == (longlong *)0x0) { + lVar2 = 0; + } + else { + lVar2 = *(longlong *)*plVar3; + } + lVar6 = 0; + piVar4 = (int *)(lVar2 + 0x10); + do { + if (*piVar4 == *param_4) { + *(double *)(lVar2 + 0x188) = (double)*param_5 / 1000.0; + break; + } + lVar6 = lVar6 + 1; + piVar4 = piVar4 + 0xc; + } while (lVar6 < 2); + } + } + uVar5 = FUN_14002e770((longlong)piVar1); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004afc0.c b/decomp/Agent_Release_x64/full/functions/0x14004afc0.c new file mode 100644 index 00000000..871c13b9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004afc0.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004afc0 FUN_14004afc0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014004b142) */ + +undefined8 +FUN_14004afc0(longlong param_1,uint param_2,undefined8 param_3,int *param_4,int *param_5, + int *param_6) + +{ + uint uVar1; + ulonglong uVar2; + int *piVar3; + longlong *plVar4; + int *piVar5; + undefined8 uVar6; + uint *puVar7; + longlong lVar8; + longlong lVar9; + + piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar3); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x20) + 200))(); + } + uVar1 = *(uint *)(*(longlong *)(param_1 + 0x20) + 0xca0); + uVar2 = (ulonglong)param_2 % (ulonglong)uVar1; + lVar9 = *(longlong *)(*(longlong *)(param_1 + 0x20) + 0xc80); + if ((lVar9 != 0) && (puVar7 = *(uint **)(lVar9 + uVar2 * 8), puVar7 != (uint *)0x0)) { + while ((uint)uVar2 == puVar7[8] % uVar1) { + if (*puVar7 == param_2) { + lVar9 = *(longlong *)(puVar7 + 2); + if (((lVar9 != 0) && (*(longlong *)(lVar9 + 0x228) == 0)) && (*param_4 != 0)) { + *(int *)(lVar9 + 0x1d4) = *(int *)(lVar9 + 0x1d4) + *param_5; + *(int *)(lVar9 + 0x1d0) = *(int *)(lVar9 + 0x1d0) + *param_6; + if (*(longlong *)(lVar9 + 0x6c0) == 0) { + plVar4 = (longlong *)0x0; + } + else { + plVar4 = *(longlong **)(lVar9 + 0x6b0); + } + for (; plVar4 != (longlong *)0x0; plVar4 = (longlong *)plVar4[2]) { + if ((longlong *)*plVar4 == (longlong *)0x0) { + lVar9 = 0; + } + else { + lVar9 = *(longlong *)*plVar4; + } + lVar8 = 0; + piVar5 = (int *)(lVar9 + 0x10); + do { + if (*piVar5 == *param_4) { + *(int *)(lVar9 + 0x1a8) = *param_5; + *(int *)(lVar9 + 0x1a4) = *param_6; + break; + } + lVar8 = lVar8 + 1; + piVar5 = piVar5 + 0xc; + } while (lVar8 < 2); + } + } + break; + } + puVar7 = *(uint **)(puVar7 + 4); + if (puVar7 == (uint *)0x0) break; + } + } + uVar6 = FUN_14002e770((longlong)piVar3); + return CONCAT71((int7)((ulonglong)uVar6 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004b170.c b/decomp/Agent_Release_x64/full/functions/0x14004b170.c new file mode 100644 index 00000000..535d21c4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004b170.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004b170 FUN_14004b170 + * Pseudocode, not original source. */ + +undefined8 FUN_14004b170(longlong param_1,uint param_2,undefined8 param_3,undefined4 *param_4) + +{ + uint uVar1; + longlong lVar2; + ulonglong uVar3; + int *piVar4; + undefined8 uVar5; + uint *puVar6; + + piVar4 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x20) + 200))(); + } + uVar1 = *(uint *)(*(longlong *)(param_1 + 0x20) + 0xca0); + uVar3 = (ulonglong)param_2 % (ulonglong)uVar1; + lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x20) + 0xc80); + if ((lVar2 != 0) && (puVar6 = *(uint **)(lVar2 + uVar3 * 8), puVar6 != (uint *)0x0)) { + while ((uint)uVar3 == puVar6[8] % uVar1) { + if (*puVar6 == param_2) { + lVar2 = *(longlong *)(puVar6 + 2); + if ((lVar2 != 0) && (*(longlong *)(lVar2 + 0x228) == 0)) { + *(undefined4 *)(lVar2 + 0x1d8) = *param_4; + } + break; + } + puVar6 = *(uint **)(puVar6 + 4); + if (puVar6 == (uint *)0x0) break; + } + } + uVar5 = FUN_14002e770((longlong)piVar4); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004b260.c b/decomp/Agent_Release_x64/full/functions/0x14004b260.c new file mode 100644 index 00000000..5b1cf733 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004b260.c @@ -0,0 +1,311 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004b260 FUN_14004b260 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Removing unreachable block (ram,0x00014004b6c0) */ + +void FUN_14004b260(longlong *param_1,wchar_t *param_2,SIZE_T *param_3,undefined8 param_4) + +{ + ulonglong _Size; + uint uVar1; + longlong lVar2; + code *pcVar3; + char *pcVar4; + double dVar5; + int *piVar6; + ulonglong uVar7; + undefined4 *puVar8; + longlong lVar9; + undefined8 uVar10; + undefined1 *puVar11; + undefined1 *puVar12; + longlong lVar13; + longlong lVar14; + undefined8 *puVar15; + undefined1 auStack_dd8 [32]; + int local_db8 [2]; + longlong local_db0; + longlong local_da8; + uint local_da0; + int local_d9c; + int *local_d90; + bool local_d88; + longlong *local_d80; + SIZE_T local_d78; + undefined1 local_d70; + SIZE_T local_d68; + undefined1 local_d60; + longlong local_d58; + uint uStack_d50; + undefined4 uStack_d4c; + int *local_d48; + undefined1 local_d40; + longlong local_d38; + uint uStack_d30; + undefined4 uStack_d2c; + undefined8 local_d28; + exception local_d20 [72]; + longlong local_cd8; + undefined8 uStack_cd0; + longlong *local_58; + undefined4 local_50; + int local_4c; + ulonglong local_48; + + puVar11 = auStack_dd8; + puVar12 = auStack_dd8; + local_d28 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)local_db8; + piVar6 = (int *)(**(code **)(*param_1 + 0x58))(); + local_d48 = piVar6; + FUN_14002e6e0(piVar6); + local_d40 = 1; + if (DAT_14015bfcf != '\0') { + param_3 = (SIZE_T *)*param_1; + param_2 = L"Proud::CNetServerImpl::PurgeTooOldUnmatureClient"; + (*(code *)param_3[0x19])(param_1); + } + if ((int)param_1[0x2e1] < 1) { + FUN_14002e770((longlong)piVar6); + goto LAB_14004b778; + } + lVar14 = (longlong)(int)param_1[0x2e1] * 8; + _Size = lVar14 + 0x10; + if (_Size < 0x401) { + uVar7 = lVar14 + 0x1f; + if (uVar7 <= _Size) { + uVar7 = 0xffffffffffffff0; + } + lVar14 = -(uVar7 & 0xfffffffffffffff0); + puVar11 = auStack_dd8 + lVar14; + puVar8 = (undefined4 *)((longlong)local_db8 + lVar14); + puVar15 = (undefined8 *)0x0; + puVar12 = auStack_dd8 + lVar14; + if (puVar8 != (undefined4 *)0x0) { + *puVar8 = 0xcccc; +LAB_14004b358: + puVar15 = (undefined8 *)(puVar8 + 4); + puVar12 = puVar11; + } + } + else { + puVar8 = malloc(_Size); + puVar15 = (undefined8 *)0x0; + puVar12 = auStack_dd8; + if (puVar8 != (undefined4 *)0x0) { + *puVar8 = 0xdddd; + goto LAB_14004b358; + } + } + *(undefined8 *)(puVar12 + -8) = 0x14004b368; + dVar5 = FUN_14003a420((char *)(param_1 + 0xec)); + lVar13 = 0; + lVar14 = lVar13; + if (param_1[0x2e1] != 0) { + lVar14 = param_1[0x2df]; + } + for (; lVar14 != 0; lVar14 = *(longlong *)(lVar14 + 0x18)) { + lVar2 = *(longlong *)(lVar14 + 0x10); + if ((DAT_14015c008 < dVar5 - *(double *)(lVar2 + 0x690)) && (*(char *)(lVar2 + 0x698) == '\0')) + { + *(undefined8 *)(puVar12 + -8) = 0x14004b3bc; + FUN_14009c460(lVar2 + 0xc0); + puVar15[lVar13] = lVar2; + lVar13 = lVar13 + 1; + } + } + *(undefined8 *)(puVar12 + -8) = 0x14004b3d4; + FUN_14002e770((longlong)piVar6); + local_d40 = 0; + while ((0 < lVar13 && (lVar14 = 0, 0 < lVar13))) { + do { + lVar2 = puVar15[lVar14]; + pcVar3 = *(code **)(*(longlong *)(lVar2 + 0x108) + 0x10); + *(undefined8 *)(puVar12 + -8) = 0x14004b402; + piVar6 = (int *)(*pcVar3)(); + local_d88 = false; + local_d90 = piVar6; + if (lVar14 == 0) { + local_d88 = true; + *(undefined8 *)(puVar12 + -8) = 0x14004b57d; + FUN_14002e6e0(piVar6); + *(undefined8 *)(puVar12 + -8) = 0x14004b586; + FUN_1400806d0(local_db8); + *(undefined8 *)(puVar12 + -8) = 0x14004b590; + FUN_1400801a0((longlong)local_db8,param_2,(SIZE_T)param_3,param_4); + *(undefined8 *)(puVar12 + -8) = 0x14004b59e; + FUN_140080830(local_db8,0x800,(SIZE_T)param_3,param_4); + uVar10 = 0; + *(undefined8 *)(puVar12 + -8) = 0x14004b5a9; + FUN_140080830(local_db8,0,(SIZE_T)param_3,param_4); + uVar10 = CONCAT71((int7)((ulonglong)uVar10 >> 8),3); + *(undefined8 *)(puVar12 + -8) = 0x14004b5b5; + FUN_14001ba80((longlong)local_db8,uVar10,(SIZE_T)param_3,param_4); + local_4c = 200; + local_50 = 0; + local_58 = &local_cd8; + if (local_db0 == 0) { + uVar1 = local_da0; + if (local_da8 == 0) { + /* WARNING: Subroutine does not return */ + *(undefined8 *)(puVar12 + -8) = 0x14004b75f; + FUN_140095370(0,uVar10,param_3,param_4); + } + } + else { + uVar1 = *(uint *)(local_db0 + 0x18); + } + lVar9 = local_da8; + if (local_da8 == 0) { + if (local_db0 == 0) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar12 + -8) = &UNK_14004b759; + FUN_140095370(0,(ulonglong)uVar1,param_3,param_4); + } + lVar9 = 0; + if (*(int *)(local_db0 + 0x18) != 0) { + lVar9 = *(longlong *)(local_db0 + 0x10); + } + } + local_50 = 1; + uStack_cd0 = CONCAT44(uStack_d2c,uVar1); + local_d68 = 0; + local_d60 = 1; + param_3 = &local_d68; + param_2 = (wchar_t *)&local_cd8; + pcVar4 = *(char **)(lVar2 + 0x748); + local_d38 = lVar9; + uStack_d30 = uVar1; + local_cd8 = lVar9; + *(undefined8 *)(puVar12 + -8) = 0x14004b650; + FUN_14009c2b0(pcVar4,(longlong)param_2,param_3,param_4); + if (local_58 == (longlong *)0x0) { + *(undefined8 *)(puVar12 + -8) = 0x14004b740; + FUN_14002f1e0(local_d20,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0, + param_3,param_4); + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar12 + -8) = &UNK_14004b753; + _CxxThrowException(local_d20,(ThrowInfo *)&DAT_140151b88); + } + if (local_4c < 0) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar12 + -8) = &UNK_14004b72c; + FUN_14002f590(); + } + *(undefined1 *)(lVar2 + 0x698) = 1; + *(undefined8 *)(puVar12 + -8) = 0x14004b67d; + FUN_14002e770((longlong)piVar6); + local_d88 = false; + *(undefined8 *)(puVar12 + -8) = 0x14004b68f; + FUN_14009c470(lVar2 + 0xc0); + *puVar15 = puVar15[lVar13 + -1]; + lVar13 = lVar13 + -1; + local_d80 = &local_db0; + *(undefined8 *)(puVar12 + -8) = 0x14004b6ae; + FUN_140095270(&local_db0); + if ((local_da8 != 0) && (local_d9c < 0)) { + /* WARNING: Subroutine does not return */ + *(undefined8 *)(puVar12 + -8) = 0x14004b726; + FUN_14002f590(); + } + } + else { + *(undefined8 *)(puVar12 + -8) = 0x14004b41e; + local_d88 = FUN_14002e730(piVar6); + if (local_d88) { + *(undefined8 *)(puVar12 + -8) = 0x14004b435; + FUN_1400806d0(local_db8); + *(undefined8 *)(puVar12 + -8) = 0x14004b43f; + FUN_1400801a0((longlong)local_db8,param_2,(SIZE_T)param_3,param_4); + *(undefined8 *)(puVar12 + -8) = 0x14004b44d; + FUN_140080830(local_db8,0x800,(SIZE_T)param_3,param_4); + uVar10 = 0; + *(undefined8 *)(puVar12 + -8) = 0x14004b458; + FUN_140080830(local_db8,0,(SIZE_T)param_3,param_4); + uVar10 = CONCAT71((int7)((ulonglong)uVar10 >> 8),3); + *(undefined8 *)(puVar12 + -8) = 0x14004b464; + FUN_14001ba80((longlong)local_db8,uVar10,(SIZE_T)param_3,param_4); + local_4c = 200; + local_50 = 0; + local_58 = &local_cd8; + if (local_db0 == 0) { + uVar1 = local_da0; + if (local_da8 == 0) { + /* WARNING: Subroutine does not return */ + *(undefined8 *)(puVar12 + -8) = 0x14004b720; + FUN_140095370(0,uVar10,0,param_4); + } + } + else { + uVar1 = *(uint *)(local_db0 + 0x18); + } + lVar9 = local_da8; + if (local_da8 == 0) { + if (local_db0 == 0) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar12 + -8) = &UNK_14004b71a; + FUN_140095370(0,(ulonglong)uVar1,0,param_4); + } + lVar9 = 0; + if (*(int *)(local_db0 + 0x18) != 0) { + lVar9 = *(longlong *)(local_db0 + 0x10); + } + } + local_50 = 1; + uStack_cd0 = CONCAT44(uStack_d4c,uVar1); + local_d78 = 0; + local_d70 = 1; + param_3 = &local_d78; + param_2 = (wchar_t *)&local_cd8; + pcVar4 = *(char **)(lVar2 + 0x748); + local_d58 = lVar9; + uStack_d50 = uVar1; + local_cd8 = lVar9; + *(undefined8 *)(puVar12 + -8) = 0x14004b4fa; + FUN_14009c2b0(pcVar4,(longlong)param_2,param_3,param_4); + if (local_58 == (longlong *)0x0) { + *(undefined8 *)(puVar12 + -8) = 0x14004b701; + FUN_14002f1e0(local_d20,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0, + param_3,param_4); + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar12 + -8) = &UNK_14004b714; + _CxxThrowException(local_d20,(ThrowInfo *)&DAT_140151b88); + } + if (local_4c < 0) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar12 + -8) = &UNK_14004b6ed; + FUN_14002f590(); + } + *(undefined1 *)(lVar2 + 0x698) = 1; + *(undefined8 *)(puVar12 + -8) = 0x14004b527; + FUN_14002e770((longlong)piVar6); + local_d88 = false; + *(undefined8 *)(puVar12 + -8) = 0x14004b539; + FUN_14009c470(lVar2 + 0xc0); + puVar15[lVar14] = puVar15[lVar13 + -1]; + lVar13 = lVar13 + -1; + local_d80 = &local_db0; + *(undefined8 *)(puVar12 + -8) = 0x14004b559; + FUN_140095270(&local_db0); + if ((local_da8 != 0) && (local_d9c < 0)) { + /* WARNING: Subroutine does not return */ + *(undefined8 *)(puVar12 + -8) = 0x14004b6e7; + FUN_14002f590(); + } + } + } + lVar14 = lVar14 + 1; + } while (lVar14 < lVar13); + } + if ((puVar15 != (undefined8 *)0x0) && (*(int *)(puVar15 + -2) == 0xdddd)) { + *(undefined8 *)(puVar12 + -8) = 0x14004b777; + free(puVar15 + -2); + } +LAB_14004b778: + *(undefined8 *)(puVar12 + -8) = 0x14004b787; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004b7c0.c b/decomp/Agent_Release_x64/full/functions/0x14004b7c0.c new file mode 100644 index 00000000..9677d744 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004b7c0.c @@ -0,0 +1,67 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004b7c0 FUN_14004b7c0 + * Pseudocode, not original source. */ + +longlong * FUN_14004b7c0(longlong *param_1,uint param_2,longlong *param_3) + +{ + bool bVar1; + int *piVar2; + longlong *plVar3; + uint *puVar4; + longlong *plVar5; + ulonglong uVar6; + ulonglong uVar7; + wchar_t *pwVar8; + + piVar2 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar2); + if (DAT_14015bfcf != '\0') { + (**(code **)(*param_1 + 200))(param_1); + } + uVar7 = (ulonglong)*(uint *)(param_1 + 0x194); + uVar6 = (ulonglong)param_2 % uVar7; + plVar5 = (longlong *)0x0; + if ((param_1[400] != 0) && (puVar4 = *(uint **)(param_1[400] + uVar6 * 8), puVar4 != (uint *)0x0)) + { + while ((uint)uVar6 == puVar4[8] % *(uint *)(param_1 + 0x194)) { + if (*puVar4 == param_2) { + plVar3 = *(longlong **)(puVar4 + 2); + if ((plVar3 != (longlong *)0x0) && (plVar3[0x45] == 0)) goto LAB_14004b881; + break; + } + puVar4 = *(uint **)(puVar4 + 4); + if (puVar4 == (uint *)0x0) break; + } + } + plVar3 = plVar5; +LAB_14004b881: + if (plVar3 == (longlong *)0x0) { + if (param_2 == 1) { + plVar5 = param_1 + 0x108; + goto LAB_14004b89b; + } + } + else { + plVar5 = plVar3 + 0x51; +LAB_14004b89b: + if (plVar5 != (longlong *)0x0) { + bVar1 = FUN_140090f90((longlong)plVar5); + if ((!bVar1) || (((char)plVar5[0x7f] == '\0' && ((int)plVar5[0x7d] == 0)))) { + FUN_14001b7a0(param_3,L"key not exists",uVar6,uVar7); + FUN_14002e770((longlong)piVar2); + return (longlong *)0x0; + } + goto LAB_14004b902; + } + } + pwVar8 = L"not NULL"; + if (plVar3 == (longlong *)0x0) { + pwVar8 = L"NULL"; + } + FUN_14001b7a0(param_3,L"%d remote rc is %s in netserver!",(ulonglong)param_2,pwVar8); +LAB_14004b902: + FUN_14002e770((longlong)piVar2); + return plVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004b930.c b/decomp/Agent_Release_x64/full/functions/0x14004b930.c new file mode 100644 index 00000000..0a446543 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004b930.c @@ -0,0 +1,80 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004b930 FUN_14004b930 + * Pseudocode, not original source. */ + +ulonglong FUN_14004b930(longlong param_1,uint param_2) + +{ + int *piVar1; + longlong *plVar2; + longlong lVar3; + short *psVar4; + int *piVar5; + int *piVar6; + ulonglong uVar7; + uint *puVar8; + longlong lVar9; + short *psVar10; + ulonglong uVar11; + undefined8 uVar12; + short *local_res8; + + plVar2 = (longlong *)(param_1 + -0xa8); + piVar5 = (int *)(**(code **)(*plVar2 + 0x58))(plVar2); + FUN_14002e6e0(piVar5); + if (DAT_14015bfcf != '\0') { + (**(code **)(*plVar2 + 200))(plVar2); + } + uVar11 = (ulonglong)*(uint *)(param_1 + 0xbf8); + uVar7 = (ulonglong)param_2 % uVar11; + if ((*(longlong *)(param_1 + 0xbd8) != 0) && + (puVar8 = *(uint **)(*(longlong *)(param_1 + 0xbd8) + uVar7 * 8), puVar8 != (uint *)0x0)) { + while ((int)uVar7 == (int)((ulonglong)puVar8[8] % uVar11)) { + if (*puVar8 == param_2) { + lVar3 = *(longlong *)(puVar8 + 2); + if ((lVar3 != 0) && (*(longlong *)(lVar3 + 0x228) == 0)) { + if (*(longlong *)(param_1 + 0x1748) != 0) { + FUN_140030200(puVar8,(ulonglong)puVar8[8] % uVar11,uVar7,uVar11); + local_res8 = (short *)PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_res8, + L"CNetServer.CloseConnection(%d)를 콜 하였습니다.", + (ulonglong)param_2,uVar11); + psVar4 = local_res8; + psVar10 = local_res8; + if (local_res8 == (short *)0x0) { + psVar10 = (short *)PTR_DAT_140155010; + } + uVar12 = 0; + lVar9 = *(longlong *)(param_1 + 0x1748); + FUN_14008f2e0(lVar9,0,psVar10,uVar11); + if (((psVar4 != (short *)0x0) && (psVar4 != (short *)PTR_DAT_140155010)) && + (psVar4 + -4 != (short *)0x0)) { + piVar6 = (int *)FUN_140030200(lVar9,uVar12,psVar10,uVar11); + FUN_14002e6e0(piVar6); + piVar1 = (int *)(psVar4 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar4 + -4); + } + FUN_14002e770((longlong)piVar6); + } + } + if (*(double *)(lVar3 + 0x758) == 0.0) { + uVar12 = (**(code **)(*(longlong *)(param_1 + 0x70) + 8))(); + *(undefined8 *)(lVar3 + 0x758) = uVar12; + (**(code **)(*(longlong *)(param_1 + 0x400) + 0x100)) + ((longlong *)(param_1 + 0x400),*(undefined4 *)(lVar3 + 0x6f8),&DAT_14015de10); + } + uVar12 = FUN_14002e770((longlong)piVar5); + return CONCAT71((int7)((ulonglong)uVar12 >> 8),1); + } + break; + } + puVar8 = *(uint **)(puVar8 + 4); + if (puVar8 == (uint *)0x0) break; + } + } + uVar7 = FUN_14002e770((longlong)piVar5); + return uVar7 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004bb20.c b/decomp/Agent_Release_x64/full/functions/0x14004bb20.c new file mode 100644 index 00000000..08830221 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004bb20.c @@ -0,0 +1,80 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004bb20 FUN_14004bb20 + * Pseudocode, not original source. */ + +double FUN_14004bb20(longlong param_1,uint param_2,int param_3) + +{ + double dVar1; + double dVar2; + longlong lVar3; + ulonglong uVar4; + int *piVar5; + longlong *plVar6; + int *piVar7; + uint *puVar8; + longlong lVar9; + longlong lVar10; + + piVar5 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar5); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200))(param_1 + -0xa8); + } + uVar4 = (ulonglong)param_2 % (ulonglong)*(uint *)(param_1 + 0xbf8); + if ((*(longlong *)(param_1 + 0xbd8) != 0) && + (puVar8 = *(uint **)(*(longlong *)(param_1 + 0xbd8) + uVar4 * 8), puVar8 != (uint *)0x0)) { + while ((uint)uVar4 == puVar8[8] % *(uint *)(param_1 + 0xbf8)) { + if (*puVar8 == param_2) { + lVar3 = *(longlong *)(puVar8 + 2); + if ((lVar3 != 0) && (*(longlong *)(lVar3 + 0x228) == 0)) { + if (*(longlong *)(lVar3 + 0x6c0) == 0) { + plVar6 = (longlong *)0x0; + } + else { + plVar6 = *(longlong **)(lVar3 + 0x6b0); + } + for (; plVar6 != (longlong *)0x0; plVar6 = (longlong *)plVar6[2]) { + if (plVar6 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if ((longlong *)*plVar6 == (longlong *)0x0) { + lVar10 = 0; + } + else { + lVar10 = *(longlong *)*plVar6; + } + lVar9 = 0; + piVar7 = (int *)(lVar10 + 0x10); + do { + if (*piVar7 == param_3) { + if (*(char *)(lVar10 + 8) != '\0') { + lVar9 = *(longlong *)(lVar10 + 0x100); + if (lVar9 == lVar3) { + lVar9 = *(longlong *)(lVar10 + 0x108); + } + dVar1 = *(double *)(lVar3 + 0x1c8); + dVar2 = *(double *)(lVar9 + 0x1c8); + FUN_14002e770((longlong)piVar5); + return dVar1 + dVar2; + } + dVar1 = *(double *)(lVar10 + 0x188); + FUN_14002e770((longlong)piVar5); + return dVar1; + } + lVar9 = lVar9 + 1; + piVar7 = piVar7 + 0xc; + } while (lVar9 < 2); + } + } + break; + } + puVar8 = *(uint **)(puVar8 + 4); + if (puVar8 == (uint *)0x0) break; + } + } + FUN_14002e770((longlong)piVar5); + return 0.0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004bd20.c b/decomp/Agent_Release_x64/full/functions/0x14004bd20.c new file mode 100644 index 00000000..f9dbe8a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004bd20.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004bd20 FUN_14004bd20 + * Pseudocode, not original source. */ + +longlong * FUN_14004bd20(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + longlong lVar2; + uint uVar3; + ulonglong uVar4; + + lVar2 = param_1 + 0xcd0; + uVar3 = *(int *)(param_1 + 0x6e0) - 1; + uVar4 = (ulonglong)uVar3; + iVar1 = FUN_14003a250(lVar2,uVar3); + if ((-1 < iVar1) && (iVar1 < *(int *)(param_1 + 0x6e0))) { + lVar2 = *(longlong *)(param_1 + 0x6d8); + *param_2 = 0; + FUN_1400ad4b0(param_2,(longlong *)(lVar2 + (longlong)iVar1 * 8)); + return param_2; + } + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(lVar2,uVar4,param_3,param_4); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004bdb0.c b/decomp/Agent_Release_x64/full/functions/0x14004bdb0.c new file mode 100644 index 00000000..e01b1505 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004bdb0.c @@ -0,0 +1,117 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004bdb0 FUN_14004bdb0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014004c00d) */ +/* WARNING: Removing unreachable block (ram,0x00014004bf7a) */ + +ulonglong FUN_14004bdb0(longlong param_1,uint param_2,uint param_3,undefined8 *param_4) + +{ + uint uVar1; + longlong lVar2; + int *piVar3; + longlong *plVar4; + undefined8 uVar5; + ulonglong uVar6; + uint *puVar7; + longlong *plVar8; + longlong *plVar9; + longlong *plVar10; + longlong *plVar11; + longlong *plVar12; + longlong *plVar13; + + piVar3 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar3); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200))(param_1 + -0xa8); + } + plVar13 = (longlong *)0x0; + param_4[1] = 0; + *param_4 = 0; + uVar1 = *(uint *)(param_1 + 0xbf8); + lVar2 = *(longlong *)(param_1 + 0xbd8); + if ((lVar2 != 0) && + (puVar7 = *(uint **)(lVar2 + ((ulonglong)param_2 % (ulonglong)uVar1) * 8), + puVar7 != (uint *)0x0)) { + while ((uint)((ulonglong)param_2 % (ulonglong)uVar1) == puVar7[8] % uVar1) { + if (*puVar7 == param_2) { + plVar11 = *(longlong **)(puVar7 + 2); + if ((plVar11 != (longlong *)0x0) && (plVar11[0x45] == 0)) goto LAB_14004be91; + break; + } + puVar7 = *(uint **)(puVar7 + 4); + if (puVar7 == (uint *)0x0) break; + } + } + plVar11 = plVar13; +LAB_14004be91: + if ((lVar2 != 0) && + (puVar7 = *(uint **)(lVar2 + ((ulonglong)param_3 % (ulonglong)uVar1) * 8), + puVar7 != (uint *)0x0)) { + while ((uint)((ulonglong)param_3 % (ulonglong)uVar1) == puVar7[8] % uVar1) { + if (*puVar7 == param_3) { + plVar10 = *(longlong **)(puVar7 + 2); + if ((plVar10 != (longlong *)0x0) && (plVar10[0x45] == 0)) goto LAB_14004bee1; + break; + } + puVar7 = *(uint **)(puVar7 + 4); + if (puVar7 == (uint *)0x0) break; + } + } + plVar10 = plVar13; +LAB_14004bee1: + if ((plVar11 == (longlong *)0x0) || (plVar10 == (longlong *)0x0)) { + uVar6 = FUN_14002e770((longlong)piVar3); + uVar6 = uVar6 & 0xffffffffffffff00; + } + else { + plVar12 = plVar13; + if (plVar11[0xd8] != 0) { + plVar12 = (longlong *)plVar11[0xd6]; + } + for (; plVar12 != (longlong *)0x0; plVar12 = (longlong *)plVar12[2]) { + plVar4 = plVar13; + if ((undefined8 *)*plVar12 != (undefined8 *)0x0) { + plVar4 = *(longlong **)*plVar12; + } + plVar9 = plVar4 + 2; + plVar8 = plVar13; + do { + if ((int)*plVar9 == (int)plVar10[0xdf]) { + *(undefined4 *)((longlong)param_4 + 4) = *(undefined4 *)((longlong)plVar4 + 0x1a4); + *(int *)param_4 = (int)plVar4[0x35]; + break; + } + plVar8 = (longlong *)((longlong)plVar8 + 1); + plVar9 = plVar9 + 6; + } while ((longlong)plVar8 < 2); + } + plVar12 = plVar13; + if (plVar10[0xd8] != 0) { + plVar12 = (longlong *)plVar10[0xd6]; + } + for (; plVar12 != (longlong *)0x0; plVar12 = (longlong *)plVar12[2]) { + plVar10 = plVar13; + if ((undefined8 *)*plVar12 != (undefined8 *)0x0) { + plVar10 = *(longlong **)*plVar12; + } + plVar4 = plVar10 + 2; + plVar9 = plVar13; + do { + if ((int)*plVar4 == (int)plVar11[0xdf]) { + *(undefined4 *)((longlong)param_4 + 0xc) = *(undefined4 *)((longlong)plVar10 + 0x1a4); + *(int *)(param_4 + 1) = (int)plVar10[0x35]; + break; + } + plVar9 = (longlong *)((longlong)plVar9 + 1); + plVar4 = plVar4 + 6; + } while ((longlong)plVar9 < 2); + } + uVar5 = FUN_14002e770((longlong)piVar3); + uVar6 = CONCAT71((int7)((ulonglong)uVar5 >> 8),1); + } + return uVar6; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004c050.c b/decomp/Agent_Release_x64/full/functions/0x14004c050.c new file mode 100644 index 00000000..47cdc484 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004c050.c @@ -0,0 +1,147 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004c050 FUN_14004c050 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +longlong * FUN_14004c050(longlong param_1,longlong *param_2,ulonglong param_3,undefined8 param_4) + +{ + int *piVar1; + undefined *puVar2; + undefined8 *puVar3; + longlong *plVar4; + undefined **ppuVar5; + ulonglong uVar6; + undefined **ppuVar7; + int *piVar8; + char *pcVar9; + LPCWSTR pWVar10; + undefined1 auStack_128 [32]; + undefined4 local_108; + undefined4 uStack_104; + undefined *local_100; + undefined2 local_f8; + undefined **local_f0; + undefined1 local_e8; + undefined8 local_e0; + undefined8 local_d8 [2]; + undefined8 local_c8 [2]; + undefined **local_b8; + undefined *local_b0 [17]; + ulonglong local_28; + + local_e0 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_128; + local_108 = 0; + plVar4 = *(longlong **)(param_1 + 0x6a0); + if ((plVar4 == (longlong *)0x0) || (*plVar4 == 0)) { + FUN_140030200(plVar4,param_2,param_3,param_4); + *param_2 = (longlong)PTR_DAT_140155008; + FUN_14001bf80(param_2,(longlong *)&DAT_14015c250,param_3,param_4); + *(undefined2 *)(param_2 + 1) = DAT_14015c258; + } + else { + puVar3 = FUN_140034a30(*plVar4,local_d8); + FUN_140033ef0((longlong *)&local_100,(longlong)puVar3,param_3,param_4); + puVar3 = FUN_1400346b0(local_c8,puVar3,param_3,param_4); + plVar4 = FUN_140033e00((longlong)puVar3,(longlong *)&local_108,param_3,param_4); + pcVar9 = (char *)*plVar4; + if ((char *)*plVar4 == (char *)0x0) { + pcVar9 = PTR_DAT_140155008; + } + ppuVar5 = &local_100; + FUN_140034120((longlong *)ppuVar5,pcVar9); + puVar2 = (undefined *)CONCAT44(uStack_104,local_108); + if (((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140155008)) && + (puVar2 + -8 != (undefined *)0x0)) { + ppuVar5 = (undefined **)FUN_140030200(ppuVar5,pcVar9,param_3,param_4); + local_f0 = ppuVar5; + FUN_14002e6e0((int *)ppuVar5); + local_e8 = 1; + piVar1 = (int *)(puVar2 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(puVar2 + -8); + } + FUN_14002e770((longlong)ppuVar5); + } + pcVar9 = *(char **)(param_1 + 0x170); + if (*(char **)(param_1 + 0x170) == (char *)0x0) { + pcVar9 = PTR_DAT_140155008; + } + FUN_140034120((longlong *)&local_100,pcVar9); + ppuVar5 = *(undefined ***)(param_1 + 0x168); + if (*(undefined ***)(param_1 + 0x168) == (undefined **)0x0) { + ppuVar5 = (undefined **)PTR_DAT_140155008; + } + FUN_140034120((longlong *)&local_100,(char *)ppuVar5); + ppuVar7 = &local_100; + uVar6 = FUN_140034540((longlong *)ppuVar7,ppuVar5,param_3,param_4); + if ((char)uVar6 == '\0') { + plVar4 = FUN_140034160((longlong *)&local_108,ppuVar5,param_3,param_4); + pWVar10 = (LPCWSTR)*plVar4; + if ((LPCWSTR)*plVar4 == (LPCWSTR)0x0) { + pWVar10 = (LPCWSTR)PTR_DAT_140155010; + } + local_b8 = local_b0; + param_3 = 3; + FUN_14002e8f0((longlong *)&local_b8,pWVar10,3); + ppuVar5 = local_b8; + FUN_14002efe0((longlong *)&local_100,(char *)local_b8); + ppuVar7 = local_b8; + if (local_b8 != local_b0) { + free(local_b8); + } + puVar2 = (undefined *)CONCAT44(uStack_104,local_108); + if (((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140155010)) && + (puVar2 + -8 != (undefined *)0x0)) { + ppuVar7 = (undefined **)FUN_140030200(ppuVar7,ppuVar5,param_3,param_4); + local_f0 = ppuVar7; + FUN_14002e6e0((int *)ppuVar7); + local_e8 = 1; + piVar1 = (int *)(puVar2 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(puVar2 + -8); + } + FUN_14002e770((longlong)ppuVar7); + } + } + FUN_140030200(ppuVar7,ppuVar5,param_3,param_4); + puVar2 = PTR_DAT_140155008; + *param_2 = (longlong)PTR_DAT_140155008; + if (puVar2 == (undefined *)0x0) { + *param_2 = (longlong)PTR_DAT_140155008; + } + if (local_100 != (undefined *)*param_2) { + ppuVar7 = (undefined **)FUN_140030200(local_100,ppuVar5,param_3,param_4); + local_f0 = ppuVar7; + FUN_14002e6e0((int *)ppuVar7); + local_e8 = 1; + FUN_14001c020(param_2); + *param_2 = (longlong)local_100; + if (((local_100 != PTR_DAT_140155008) && (local_100 != (undefined *)0x0)) && + (local_100 != (undefined *)0x8)) { + *(int *)(local_100 + -4) = *(int *)(local_100 + -4) + 1; + } + FUN_14002e770((longlong)ppuVar7); + } + *(undefined2 *)(param_2 + 1) = local_f8; + if (((local_100 != (undefined *)0x0) && (local_100 != PTR_DAT_140155008)) && + (local_100 + -8 != (undefined *)0x0)) { + piVar8 = (int *)FUN_140030200(local_100,ppuVar5,param_3,param_4); + local_f0 = (undefined **)piVar8; + FUN_14002e6e0(piVar8); + local_e8 = 1; + piVar1 = (int *)(local_100 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_100 + -8); + } + FUN_14002e770((longlong)piVar8); + } + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004c350.c b/decomp/Agent_Release_x64/full/functions/0x14004c350.c new file mode 100644 index 00000000..da72cba8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004c350.c @@ -0,0 +1,118 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004c350 FUN_14004c350 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14004c350(undefined8 param_1,longlong *param_2,double param_3,undefined8 param_4) + +{ + uint uVar1; + int *piVar2; + longlong lVar3; + longlong *plVar4; + undefined8 uVar5; + SIZE_T in_R8; + uint *puVar6; + uint *puVar7; + undefined1 auStack_d78 [32]; + undefined8 local_d58; + undefined8 uStack_d50; + undefined1 local_d48; + undefined4 local_d44; + undefined1 local_d40; + undefined1 local_d3f; + undefined4 local_d38 [2]; + longlong local_d30; + longlong local_d28; + uint local_d20; + int local_d1c; + int *local_d10; + undefined1 local_d08; + undefined8 local_d00; + exception local_cf8 [80]; + uint local_ca8; + uint uStack_ca4; + uint uStack_ca0; + undefined4 uStack_c9c; + uint *local_28; + undefined4 local_20; + int local_1c; + ulonglong local_18; + + local_d00 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_d78; + if (((DAT_1401550f8 * 1.5 < param_3 - (double)param_2[0x37]) && + (param_3 - (double)param_2[0x33] < DAT_1401550f8)) && + (DAT_1401550f8 < param_3 - (double)param_2[0x34])) { + param_2[0x34] = (longlong)param_3; + plVar4 = param_2; + FUN_1400806d0(local_d38); + FUN_1400801a0((longlong)local_d38,plVar4,in_R8,param_4); + uVar5 = CONCAT71((int7)((ulonglong)plVar4 >> 8),0x1d); + FUN_14001ba80((longlong)local_d38,uVar5,in_R8,param_4); + piVar2 = (int *)(**(code **)(param_2[0x21] + 0x10))(); + local_d10 = piVar2; + FUN_14002e6e0(piVar2); + local_d08 = 1; + local_1c = 200; + local_20 = 0; + local_28 = &local_ca8; + if (local_d30 == 0) { + if (local_d28 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,uVar5,0,param_4); + } + } + else { + local_d20 = *(uint *)(local_d30 + 0x18); + } + lVar3 = local_d28; + if (local_d28 == 0) { + if (local_d30 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)local_d20,0,param_4); + } + lVar3 = 0; + if (*(int *)(local_d30 + 0x18) != 0) { + lVar3 = *(longlong *)(local_d30 + 0x10); + } + } + local_20 = 1; + local_d58._0_4_ = (uint)lVar3; + local_d58._4_4_ = (uint)((ulonglong)lVar3 >> 0x20); + local_ca8 = (uint)local_d58; + uStack_ca4 = local_d58._4_4_; + uStack_c9c = uStack_d50._4_4_; + local_d58 = (longlong *)((ulonglong)local_d58._4_4_ << 0x20); + uStack_d50 = 0; + local_d48 = 1; + local_d44 = 0xffffffff; + local_d40 = 1; + local_d3f = DAT_1401551cc; + uStack_ca0 = local_d20; + uVar1 = (**(code **)(*param_2 + 0x10))(param_2); + puVar7 = (uint *)&local_d58; + puVar6 = &local_ca8; + FUN_14009dae0((char *)(param_2 + 0xe0),uVar1,(longlong)puVar6,puVar7); + if (local_28 == (uint *)0x0) { + FUN_14002f1e0(local_cf8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,puVar6, + puVar7); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_cf8,(ThrowInfo *)&DAT_140151b88); + } + if (local_1c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14002e770((longlong)piVar2); + local_d58 = &local_d30; + FUN_140095270(&local_d30); + if ((local_d28 != 0) && (local_d1c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004c590.c b/decomp/Agent_Release_x64/full/functions/0x14004c590.c new file mode 100644 index 00000000..1fad5d4f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004c590.c @@ -0,0 +1,269 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004c590 FUN_14004c590 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14004c590(longlong param_1,uint *param_2,longlong param_3,TypeDescriptor *param_4) + +{ + bool bVar1; + undefined4 *puVar2; + ulonglong uVar3; + longlong lVar4; + longlong lVar5; + ulonglong uVar6; + ulonglong uVar7; + undefined1 *puVar8; + undefined1 *puVar9; + int iVar10; + ulonglong uVar11; + longlong *plVar12; + longlong lVar13; + TypeDescriptor *pTVar14; + uint uVar15; + longlong *plVar16; + double dVar17; + undefined8 uVar18; + double dVar19; + undefined1 auStack_d8 [32]; + undefined4 local_b8; + longlong local_a8; + longlong local_a0; + double local_98; + ulonglong local_90; + uint *local_88; + longlong *local_80; + undefined8 local_60; + ulonglong local_58; + + puVar9 = auStack_d8; + puVar8 = auStack_d8; + local_60 = 0xfffffffffffffffe; + local_58 = DAT_1401555a0 ^ (ulonglong)&local_a8; + dVar17 = (double)(**(code **)(*(longlong *)(param_1 + 0x118) + 8))(); + local_98 = dVar17; + if ((*(longlong *)(param_2 + 10) == 0) || ((char)param_2[0x22] == '\0')) { + FUN_14003e030((longlong)(param_2 + 0x18),0,param_3); + goto LAB_14004cb4e; + } + local_88 = param_2 + 2; + uVar11 = 0; + uVar3 = uVar11; + if (*(longlong *)(param_2 + 10) != 0) { + uVar3 = *(ulonglong *)(param_2 + 6); + } + while (uVar6 = uVar3, local_90 = uVar6, uVar6 != 0) { + if (uVar6 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + local_80 = *(longlong **)(uVar6 + 8); + local_a0 = 0; + local_b8 = 0; + param_4 = &Proud::CRemoteClient_S::RTTI_Type_Descriptor; + pTVar14 = &Proud::CP2PGroupMemberBase_S::RTTI_Type_Descriptor; + lVar4 = __RTDynamicCast(*(undefined8 *)(uVar6 + 0x10),0); + local_a0 = lVar4; + if ((lVar4 != 0) && + ((((*(double *)(lVar4 + 0x1b0) == 0.0 || ((int)param_2[0x1e] < 1)) || + (**(int **)(param_2 + 0x1c) != *(int *)(lVar4 + 0x6f8))) || + (*(char *)(lVar4 + 0x700) == '\0')))) { + *(undefined8 *)(lVar4 + 0x1b0) = 0; + if (*(char *)(lVar4 + 0x700) != '\0') { + *(double *)(lVar4 + 0x1b0) = *(double *)(param_2 + 0x24) + 0.0; + } + bVar1 = FUN_140095420(lVar4); + if (!bVar1) { + *(double *)(lVar4 + 0x1b0) = *(double *)(param_2 + 0x26) + *(double *)(lVar4 + 0x1b0); + } + dVar19 = *(double *)(lVar4 + 0x1b0) - *(double *)(lVar4 + 0x1c8) * *(double *)(param_2 + 0x28) + ; + *(double *)(lVar4 + 0x1b0) = dVar19; + *(double *)(lVar4 + 0x1b0) = *(double *)(lVar4 + 0x1e0) * *(double *)(param_2 + 0x2e) + dVar19 + ; + dVar19 = (double)FUN_140096240(lVar4,*param_2,pTVar14,param_4); + if (0.0 <= dVar19) { + dVar19 = (double)FUN_140096240(lVar4,*param_2,pTVar14,param_4); + } + else { + dVar19 = 0.0; + } + dVar19 = *(double *)(lVar4 + 0x1b0) - dVar19 * *(double *)(param_2 + 0x2a); + *(double *)(lVar4 + 0x1b0) = dVar19; + *(double *)(lVar4 + 0x1b0) = + *(double *)(lVar4 + 400) * *(double *)(param_2 + 0x2c) * 10485760.0 + dVar19; + if ((0.0 < *(double *)(param_2 + 0x30)) && + (dVar17 - (double)local_80 < *(double *)(param_2 + 0x30))) { + *(undefined8 *)(lVar4 + 0x1b0) = 0xc65c662460d49e87; + } + } + uVar3 = uVar11; + if (uVar6 != 0) { + uVar3 = *(ulonglong *)(uVar6 + 0x18); + } + } + lVar4 = *(longlong *)(param_2 + 10); + if (lVar4 * 0x18 + 0x10U < 0x401) { + uVar3 = lVar4 * 0x18 + 0x1f; + if (uVar3 <= lVar4 * 0x18 + 0x10U) { + uVar3 = 0xffffffffffffff0; + } + lVar4 = -(uVar3 & 0xfffffffffffffff0); + puVar8 = auStack_d8 + lVar4; + puVar2 = (undefined4 *)((longlong)&local_a8 + lVar4); + plVar12 = (longlong *)0x0; + puVar9 = auStack_d8 + lVar4; + if (puVar2 != (undefined4 *)0x0) { + *puVar2 = 0xcccc; +LAB_14004c6c7: + plVar12 = (longlong *)(puVar2 + 4); + puVar9 = puVar8; + } + } + else { + puVar2 = malloc(lVar4 * 0x18 + 0x10); + plVar12 = (longlong *)0x0; + puVar9 = auStack_d8; + if (puVar2 != (undefined4 *)0x0) { + *puVar2 = 0xdddd; + goto LAB_14004c6c7; + } + } + local_a8._0_4_ = 0; + local_88 = param_2 + 2; + uVar3 = uVar11; + uVar6 = uVar11; + local_80 = plVar12; + if (*(longlong *)(param_2 + 10) != 0) { + uVar3 = *(ulonglong *)(param_2 + 6); + } + while (uVar7 = uVar3, uVar15 = (uint)uVar6, local_90 = uVar7, uVar7 != 0) { + local_a0 = 0; + if (uVar7 == 0) { + /* WARNING: Subroutine does not return */ + *(undefined8 *)(puVar9 + -8) = 0x14004c8d1; + FUN_14000b450(0x80004005); + } + *(undefined4 *)(puVar9 + 0x20) = 0; + param_4 = &Proud::CRemoteClient_S::RTTI_Type_Descriptor; + uVar18 = *(undefined8 *)(uVar7 + 0x10); + *(undefined8 *)(puVar9 + -8) = 0x14004c8ee; + local_a0 = __RTDynamicCast(uVar18,0); + if (local_a0 != 0) { + lVar4 = (longlong)(int)uVar15; + plVar12[lVar4 * 3] = local_a0; + plVar12[lVar4 * 3 + 1] = (longlong)param_2; + if (uVar7 == 0) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar9 + -8) = &UNK_14004c93d; + FUN_14000b450(0x80004005); + } + plVar12[lVar4 * 3 + 2] = (longlong)(dVar17 - *(double *)(uVar7 + 8)); + local_a8._0_4_ = uVar15 + 1; + uVar6 = (ulonglong)(uint)local_a8; + } + uVar3 = uVar11; + if (uVar7 != 0) { + uVar3 = *(ulonglong *)(uVar7 + 0x18); + } + } + lVar13 = 0; + *(undefined8 *)(puVar9 + -8) = 0x14004c715; + FUN_140043ff0((longlong)plVar12,uVar15,0); + *(undefined8 *)(puVar9 + -8) = 0x14004c721; + FUN_14003e030((longlong)(param_2 + 0x18),uVar15,lVar13); + local_a8 = 0; + lVar4 = (longlong)(int)uVar15; + local_98 = (double)lVar4; + uVar3 = uVar11; + plVar16 = plVar12; + if (0 < (int)uVar15) { + do { + if ((local_a8 < 0) || (iVar10 = (int)uVar11, (int)param_2[0x1e] <= iVar10)) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar9 + -8) = &UNK_14004c892; + FUN_14002f5c0(lVar4,uVar6,lVar13,param_4); + } + lVar4 = *(longlong *)(param_2 + 0x1c); + *(undefined4 *)(uVar3 + lVar4) = *(undefined4 *)(*plVar16 + 0x6f8); + if ((int)param_2[0x1e] <= iVar10) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar9 + -8) = &UNK_14004c88c; + FUN_14002f5c0(lVar4,uVar6,lVar13,param_4); + } + lVar4 = *(longlong *)(param_2 + 0x1c); + *(undefined8 *)(lVar4 + 8 + uVar3) = *(undefined8 *)(*plVar16 + 0x1b0); + if ((int)param_2[0x1e] <= iVar10) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar9 + -8) = &UNK_14004c886; + FUN_14002f5c0(lVar4,uVar6,lVar13,param_4); + } + lVar4 = *(longlong *)(param_2 + 0x1c); + *(undefined1 *)(lVar4 + 0x10 + uVar3) = *(undefined1 *)(*plVar16 + 0x700); + if ((int)param_2[0x1e] <= iVar10) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar9 + -8) = &UNK_14004c880; + FUN_14002f5c0(lVar4,uVar6,lVar13,param_4); + } + lVar4 = *(longlong *)(param_2 + 0x1c); + lVar5 = *plVar16; + *(undefined8 *)(puVar9 + -8) = 0x14004c7b4; + bVar1 = FUN_140095420(lVar5); + *(bool *)(uVar3 + 0x11 + lVar4) = bVar1; + if ((int)param_2[0x1e] <= iVar10) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar9 + -8) = &UNK_14004c87a; + FUN_14002f5c0(lVar5,uVar6,lVar13,param_4); + } + lVar4 = *(longlong *)(param_2 + 0x1c); + *(undefined8 *)(lVar4 + 0x18 + uVar3) = *(undefined8 *)(*plVar16 + 0x1c8); + if ((int)param_2[0x1e] <= iVar10) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar9 + -8) = &UNK_14004c874; + FUN_14002f5c0(lVar4,uVar6,lVar13,param_4); + } + lVar4 = *(longlong *)(param_2 + 0x1c); + uVar15 = *param_2; + uVar6 = (ulonglong)uVar15; + lVar5 = *plVar16; + *(undefined8 *)(puVar9 + -8) = 0x14004c7f0; + uVar18 = FUN_140096240(lVar5,uVar15,lVar13,param_4); + *(undefined8 *)(uVar3 + 0x20 + lVar4) = uVar18; + if ((int)param_2[0x1e] <= iVar10) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar9 + -8) = &UNK_14004c86e; + FUN_14002f5c0(lVar5,uVar6,lVar13,param_4); + } + lVar4 = *(longlong *)(param_2 + 0x1c); + *(undefined8 *)(lVar4 + 0x28 + uVar3) = *(undefined8 *)(*plVar16 + 400); + if ((int)param_2[0x1e] <= iVar10) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar9 + -8) = &UNK_14004c868; + FUN_14002f5c0(lVar4,uVar6,lVar13,param_4); + } + lVar4 = *(longlong *)(param_2 + 0x1c); + *(longlong *)(lVar4 + 0x30 + uVar3) = plVar16[2]; + if ((int)param_2[0x1e] <= iVar10) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar9 + -8) = &UNK_14004c862; + FUN_14002f5c0(lVar4,uVar6,lVar13,param_4); + } + lVar4 = *(longlong *)(param_2 + 0x1c); + *(undefined8 *)(lVar4 + 0x38 + uVar3) = *(undefined8 *)(*plVar16 + 0x1e0); + uVar11 = (ulonglong)(iVar10 + 1); + local_a8 = local_a8 + 1; + uVar3 = uVar3 + 0x40; + plVar16 = plVar16 + 3; + } while (local_a8 < (longlong)local_98); + } + if ((plVar12 != (longlong *)0x0) && ((int)plVar12[-2] == 0xdddd)) { + *(undefined8 *)(puVar9 + -8) = 0x14004c8b2; + free(plVar12 + -2); + } +LAB_14004cb4e: + *(undefined8 *)(puVar9 + -8) = 0x14004cb5a; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004cb90.c b/decomp/Agent_Release_x64/full/functions/0x14004cb90.c new file mode 100644 index 00000000..dd981105 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004cb90.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004cb90 FUN_14004cb90 + * Pseudocode, not original source. */ + +void FUN_14004cb90(longlong param_1,longlong param_2,longlong param_3,TypeDescriptor *param_4) + +{ + longlong lVar1; + + if (*(longlong *)(param_2 + 0x68) == 0) { + lVar1 = 0; + } + else { + lVar1 = *(longlong *)(param_2 + 0x58); + } + while (lVar1 != 0) { + if (*(undefined8 **)(lVar1 + 8) == (undefined8 *)0x0) { + FUN_14004c590(param_1,(uint *)0x0,param_3,param_4); + lVar1 = *(longlong *)(lVar1 + 0x10); + } + else { + FUN_14004c590(param_1,(uint *)**(undefined8 **)(lVar1 + 8),param_3,param_4); + lVar1 = *(longlong *)(lVar1 + 0x10); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004cbf0.c b/decomp/Agent_Release_x64/full/functions/0x14004cbf0.c new file mode 100644 index 00000000..3919be44 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004cbf0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004cbf0 FUN_14004cbf0 + * Pseudocode, not original source. */ + +void FUN_14004cbf0(longlong *param_1,undefined8 param_2,longlong param_3,TypeDescriptor *param_4) + +{ + int *piVar1; + uint *puVar2; + longlong lVar3; + + piVar1 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar1); + if (DAT_14015bfcf != '\0') { + param_3 = *param_1; + (**(code **)(param_3 + 200))(param_1); + } + if (param_1[0x84] == 0) { + lVar3 = 0; + } + else { + lVar3 = param_1[0x82]; + } + for (; lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x10)) { + if (*(undefined8 **)(lVar3 + 8) == (undefined8 *)0x0) { + puVar2 = (uint *)0x0; + } + else { + puVar2 = (uint *)**(undefined8 **)(lVar3 + 8); + } + FUN_14004c590((longlong)param_1,puVar2,param_3,param_4); + } + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004cca0.c b/decomp/Agent_Release_x64/full/functions/0x14004cca0.c new file mode 100644 index 00000000..56bfc796 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004cca0.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004cca0 FUN_14004cca0 + * Pseudocode, not original source. */ + +void FUN_14004cca0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *puVar1; + longlong *plVar2; + undefined8 uVar3; + undefined *local_res8; + + puVar1 = *(undefined **)(param_1 + 0x1808); + if (((puVar1 != (undefined *)0x0) && (puVar1 != PTR_DAT_140155010)) && + (*(int *)(puVar1 + -8) != 0)) { + FUN_140030200(param_1,param_2,param_3,param_4); + plVar2 = (longlong *)(param_1 + 0x1808); + local_res8 = PTR_DAT_140155010; + FUN_140003170((longlong *)&local_res8,plVar2,param_3,param_4); + FUN_140033120((longlong *)&local_res8,plVar2,param_3,param_4); + } + uVar3 = (**(code **)(*(longlong *)(param_1 + 0x118) + 8))(); + *(undefined4 *)(param_1 + 0x1804) = 0; + *(undefined8 *)(param_1 + 0x1810) = uVar3; + FUN_140006c60((longlong *)(param_1 + 0x1808),&DAT_14011e014,param_3,param_4); + LOCK(); + *(undefined4 *)(param_1 + 0x1840) = 0; + UNLOCK(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004cd40.c b/decomp/Agent_Release_x64/full/functions/0x14004cd40.c new file mode 100644 index 00000000..4c4ace4f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004cd40.c @@ -0,0 +1,65 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004cd40 FUN_14004cd40 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_14004cd40(longlong param_1,uint *param_2,TypeDescriptor *param_3,TypeDescriptor *param_4) + +{ + longlong lVar1; + longlong lVar2; + TypeDescriptor *pTVar3; + double dVar4; + void *local_res20; + + pTVar3 = param_3; + dVar4 = (double)(**(code **)(*(longlong *)(param_1 + 0x118) + 8))(); + lVar1 = 0; + if (*(longlong *)(param_2 + 10) != 0) { + lVar1 = *(longlong *)(param_2 + 6); + } + while( true ) { + lVar2 = lVar1; + if (lVar2 == 0) { + *(void **)(param_2 + 0x24) = param_3->pVFTable; + *(void **)(param_2 + 0x26) = param_3->spare; + *(void **)(param_2 + 0x28) = param_3[1].pVFTable; + *(void **)(param_2 + 0x2a) = param_3[1].spare; + *(void **)(param_2 + 0x2c) = param_3[2].pVFTable; + *(void **)(param_2 + 0x2e) = param_3[2].spare; + *(void **)(param_2 + 0x30) = param_3[3].pVFTable; + *(undefined1 *)(param_2 + 0x22) = 1; + if ((param_2[0x1e] == 0) && (*(longlong *)(param_2 + 10) != 0)) { + FUN_14004c590(param_1,param_2,(longlong)pTVar3,param_4); + } + return; + } + local_res20 = (void *)0x0; + if (lVar2 == 0) break; + param_4 = &Proud::CRemoteClient_S::RTTI_Type_Descriptor; + pTVar3 = &Proud::CP2PGroupMemberBase_S::RTTI_Type_Descriptor; + local_res20 = (void *)__RTDynamicCast(*(undefined8 *)(lVar2 + 0x10),0, + &Proud::CP2PGroupMemberBase_S::RTTI_Type_Descriptor, + &Proud::CRemoteClient_S::RTTI_Type_Descriptor,0); + if (((local_res20 != (void *)0x0) && (*(double *)((longlong)local_res20 + 0x188) == 0.0)) || + (_DAT_140155158 < dVar4 - *(double *)((longlong)local_res20 + 0x188))) { + *(double *)((longlong)local_res20 + 0x188) = dVar4; + local_res20._1_7_ = (uint7)((ulonglong)local_res20 >> 8); + local_res20 = (void *)CONCAT71(local_res20._1_7_,1); + if ((double)param_3[2].pVFTable <= 0.0) { + local_res20 = (void *)((ulonglong)local_res20._1_7_ << 8); + } + param_4 = (TypeDescriptor *)&local_res20; + pTVar3 = (TypeDescriptor *)&DAT_14015de10; + (**(code **)(*(longlong *)(param_1 + 0x4a8) + 0x130))(); + } + lVar1 = 0; + if (lVar2 != 0) { + lVar1 = *(longlong *)(lVar2 + 0x18); + } + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004cf70.c b/decomp/Agent_Release_x64/full/functions/0x14004cf70.c new file mode 100644 index 00000000..520894c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004cf70.c @@ -0,0 +1,86 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004cf70 FUN_14004cf70 + * Pseudocode, not original source. */ + +void FUN_14004cf70(longlong param_1,undefined8 *param_2,undefined8 param_3,longlong param_4) + +{ + undefined8 *_Dst; + ulonglong uVar1; + undefined8 uVar2; + undefined8 *puVar3; + int iVar4; + size_t _Size; + ulonglong uVar5; + undefined *puVar6; + longlong lVar7; + undefined ***pppuVar8; + undefined *local_58; + undefined4 local_50; + undefined4 local_4c; + undefined **local_48; + longlong *local_40; + undefined8 *local_38; + undefined8 local_30; + undefined8 local_28; + + iVar4 = (int)param_3; + if (*(longlong *)(param_1 + 0x58) != 0) { + local_48 = Proud::CFastArray::vftable; + local_40 = (longlong *)0x0; + local_38 = (undefined8 *)0x0; + local_30 = 0; + local_28 = 0; + lVar7 = param_4; + FUN_14002d430((longlong)&local_48,iVar4,param_3,param_4); + _Dst = local_38; + if ((int)local_30 == 0) { + _Dst = (undefined8 *)0x0; + } + _Size = (longlong)iVar4 << 2; + if (_Size < 0x21) { + uVar1 = (ulonglong)((uint)_Size & 7); + puVar3 = param_2; + for (uVar5 = ((longlong)iVar4 & 0x3fffffffffffffffU) >> 1; uVar5 != 0; uVar5 = uVar5 - 1) { + *_Dst = *puVar3; + _Dst = _Dst + 1; + puVar3 = puVar3 + 1; + } + param_2 = (undefined8 *)0x0; + _Size = 0; + if (uVar1 != 0) { + _Dst = (undefined8 *)((longlong)_Dst - (longlong)puVar3); + do { + *(undefined1 *)((longlong)_Dst + (longlong)puVar3) = *(undefined1 *)puVar3; + puVar3 = (undefined8 *)((longlong)puVar3 + 1); + uVar1 = uVar1 - 1; + } while (uVar1 != 0); + param_2 = (undefined8 *)0x0; + } + } + else { + memcpy(_Dst,param_2,_Size); + } + FUN_140030200(_Dst,param_2,_Size,lVar7); + local_58 = PTR_DAT_140155010; + FUN_140006c60((longlong *)&local_58,*(short **)(param_4 + 8),_Size,lVar7); + local_50 = *(undefined4 *)(param_4 + 0x10); + local_4c = *(undefined4 *)(param_4 + 0x14); + pppuVar8 = &local_48; + puVar6 = &DAT_14015de10; + uVar2 = 1; + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x58) + 0x68) + 0x40))(); + FUN_140003240((longlong *)&local_58,uVar2,puVar6,pppuVar8); + local_48 = Proud::CFastArray::vftable; + if (local_38 != (undefined8 *)0x0) { + if (local_40 == (longlong *)0x0) { + FUN_1400302f0(local_38); + } + else { + (**(code **)(*local_40 + 0x18))(); + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004d0f0.c b/decomp/Agent_Release_x64/full/functions/0x14004d0f0.c new file mode 100644 index 00000000..3fcff58f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004d0f0.c @@ -0,0 +1,98 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004d0f0 FUN_14004d0f0 + * Pseudocode, not original source. */ + +void FUN_14004d0f0(longlong param_1,wchar_t *param_2,longlong param_3,longlong param_4) + +{ + uint uVar1; + undefined4 uVar2; + int iVar3; + longlong lVar4; + undefined8 *puVar5; + undefined8 uVar6; + longlong *plVar7; + int *piVar8; + undefined8 *puVar9; + longlong lVar10; + longlong lVar11; + wchar_t *pwVar12; + longlong lVar13; + longlong lVar14; + longlong lVar15; + int iVar16; + longlong lVar17; + int iVar18; + undefined4 uStack_3c; + + pwVar12 = param_2; + piVar8 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar8); + if (DAT_14015bfcf != '\0') { + param_3 = *(longlong *)(param_1 + -0xa8); + pwVar12 = L"Proud::CNetServerImpl::GetUserWorkerThreadInfo"; + (**(code **)(param_3 + 200))(param_1 + -0xa8); + } + lVar4 = *(longlong *)(param_1 + 0x338); + iVar18 = 0; + uVar1 = *(uint *)(lVar4 + 0x78); + lVar14 = 0; + if (0 < (int)uVar1) { + do { + if ((lVar14 < 0) || ((int)uVar1 <= iVar18)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0((ulonglong)uVar1,pwVar12,param_3,param_4); + } + lVar13 = *(longlong *)(lVar4 + 0x70); + puVar5 = *(undefined8 **)(lVar13 + lVar14 * 8); + puVar9 = (undefined8 *)0x0; + if (puVar5 != (undefined8 *)0x0) { + puVar9 = (undefined8 *)*puVar5; + } + uVar6 = *puVar9; + if ((int)uVar1 <= iVar18) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0((ulonglong)uVar1,lVar13,param_3,param_4); + } + plVar7 = *(longlong **)(lVar13 + lVar14 * 8); + if (plVar7 == (longlong *)0x0) { + lVar13 = 0; + } + else { + lVar13 = *plVar7; + } + uVar2 = *(undefined4 *)(lVar13 + 8); + iVar3 = *(int *)(param_2 + 0xc); + lVar13 = (longlong)iVar3; + if (iVar3 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar16 = *(int *)(param_2 + 0xc); + uVar1 = iVar16 + 1; + pwVar12 = (wchar_t *)(ulonglong)uVar1; + FUN_14003f800((longlong)param_2,uVar1,param_3,param_4); + iVar16 = iVar16 - iVar3; + if ((0 < iVar16) && (iVar16 = iVar16 + -1, lVar15 = (longlong)iVar16, -1 < iVar16)) { + lVar17 = (lVar15 + 1 + lVar13) * 0x10; + do { + lVar10 = FUN_14003d690((longlong)param_2); + lVar11 = FUN_14003d690((longlong)param_2); + *(undefined8 *)(lVar11 + lVar17) = *(undefined8 *)(lVar10 + -0x10 + lVar17); + *(undefined8 *)(lVar11 + 8 + lVar17) = *(undefined8 *)(lVar10 + -8 + lVar17); + lVar17 = lVar17 + -0x10; + lVar15 = lVar15 + -1; + } while (-1 < lVar15); + } + lVar15 = FUN_14003d690((longlong)param_2); + *(ulonglong *)(lVar15 + lVar13 * 0x10) = CONCAT44(uStack_3c,uVar2); + *(undefined8 *)(lVar15 + 8 + lVar13 * 0x10) = uVar6; + iVar18 = iVar18 + 1; + lVar14 = lVar14 + 1; + uVar1 = *(uint *)(lVar4 + 0x78); + } while (iVar18 < (int)uVar1); + } + FUN_14002e770((longlong)piVar8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004d2b0.c b/decomp/Agent_Release_x64/full/functions/0x14004d2b0.c new file mode 100644 index 00000000..ef3c7703 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004d2b0.c @@ -0,0 +1,98 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004d2b0 FUN_14004d2b0 + * Pseudocode, not original source. */ + +void FUN_14004d2b0(longlong param_1,wchar_t *param_2,longlong param_3,longlong param_4) + +{ + uint uVar1; + undefined4 uVar2; + int iVar3; + longlong lVar4; + undefined8 *puVar5; + undefined8 uVar6; + longlong *plVar7; + int *piVar8; + undefined8 *puVar9; + longlong lVar10; + longlong lVar11; + wchar_t *pwVar12; + longlong lVar13; + longlong lVar14; + longlong lVar15; + int iVar16; + longlong lVar17; + int iVar18; + undefined4 uStack_3c; + + pwVar12 = param_2; + piVar8 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar8); + if (DAT_14015bfcf != '\0') { + param_3 = *(longlong *)(param_1 + -0xa8); + pwVar12 = L"Proud::CNetServerImpl::GetNetWorkerThreadInfo"; + (**(code **)(param_3 + 200))(param_1 + -0xa8); + } + lVar4 = *(longlong *)(param_1 + 0x338); + iVar18 = 0; + uVar1 = *(uint *)(lVar4 + 0x50); + lVar14 = 0; + if (0 < (int)uVar1) { + do { + if ((lVar14 < 0) || ((int)uVar1 <= iVar18)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0((ulonglong)uVar1,pwVar12,param_3,param_4); + } + lVar13 = *(longlong *)(lVar4 + 0x48); + puVar5 = *(undefined8 **)(lVar13 + lVar14 * 8); + puVar9 = (undefined8 *)0x0; + if (puVar5 != (undefined8 *)0x0) { + puVar9 = (undefined8 *)*puVar5; + } + uVar6 = *puVar9; + if ((int)uVar1 <= iVar18) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0((ulonglong)uVar1,lVar13,param_3,param_4); + } + plVar7 = *(longlong **)(lVar13 + lVar14 * 8); + if (plVar7 == (longlong *)0x0) { + lVar13 = 0; + } + else { + lVar13 = *plVar7; + } + uVar2 = *(undefined4 *)(lVar13 + 8); + iVar3 = *(int *)(param_2 + 0xc); + lVar13 = (longlong)iVar3; + if (iVar3 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar16 = *(int *)(param_2 + 0xc); + uVar1 = iVar16 + 1; + pwVar12 = (wchar_t *)(ulonglong)uVar1; + FUN_14003f800((longlong)param_2,uVar1,param_3,param_4); + iVar16 = iVar16 - iVar3; + if ((0 < iVar16) && (iVar16 = iVar16 + -1, lVar15 = (longlong)iVar16, -1 < iVar16)) { + lVar17 = (lVar15 + 1 + lVar13) * 0x10; + do { + lVar10 = FUN_14003d690((longlong)param_2); + lVar11 = FUN_14003d690((longlong)param_2); + *(undefined8 *)(lVar11 + lVar17) = *(undefined8 *)(lVar10 + -0x10 + lVar17); + *(undefined8 *)(lVar11 + 8 + lVar17) = *(undefined8 *)(lVar10 + -8 + lVar17); + lVar17 = lVar17 + -0x10; + lVar15 = lVar15 + -1; + } while (-1 < lVar15); + } + lVar15 = FUN_14003d690((longlong)param_2); + *(ulonglong *)(lVar15 + lVar13 * 0x10) = CONCAT44(uStack_3c,uVar2); + *(undefined8 *)(lVar15 + 8 + lVar13 * 0x10) = uVar6; + iVar18 = iVar18 + 1; + lVar14 = lVar14 + 1; + uVar1 = *(uint *)(lVar4 + 0x50); + } while (iVar18 < (int)uVar1); + } + FUN_14002e770((longlong)piVar8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004d470.c b/decomp/Agent_Release_x64/full/functions/0x14004d470.c new file mode 100644 index 00000000..87b39225 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004d470.c @@ -0,0 +1,114 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004d470 FUN_14004d470 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14004d470(undefined8 param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + bool bVar1; + undefined4 *puVar2; + int *piVar3; + longlong lVar4; + undefined8 uVar5; + longlong **pplVar6; + undefined1 auStack_d68 [32]; + int local_d48 [2]; + longlong local_d40; + longlong local_d38; + undefined4 local_d30; + int local_d2c; + undefined8 local_d20; + exception local_d18 [80]; + longlong *local_cc8; + undefined8 uStack_cc0; + int *local_cb8; + undefined1 local_cb0; + longlong local_ca8; + undefined8 uStack_ca0; + longlong *local_28; + undefined4 local_20; + int local_1c; + ulonglong local_18; + + local_d20 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_d68; + local_cc8 = (longlong *)0x0; + uStack_cc0 = 0; + lVar4 = *(longlong *)(param_2 + 0x728); + if ((lVar4 == 0) && (lVar4 = *(longlong *)(param_2 + 0x730), lVar4 == 0)) { + bVar1 = false; + } + else { + bVar1 = true; + } + if (!bVar1) { + puVar2 = FUN_1400377d0((undefined4 *)&local_cb8); + *(undefined4 *)(param_2 + 0x728) = *puVar2; + *(undefined4 *)(param_2 + 0x72c) = puVar2[1]; + *(undefined4 *)(param_2 + 0x730) = puVar2[2]; + *(undefined4 *)(param_2 + 0x734) = puVar2[3]; + FUN_1400806d0(local_d48); + FUN_1400801a0((longlong)local_d48,lVar4,param_3,param_4); + FUN_140080830(local_d48,0x800,param_3,param_4); + uVar5 = 0; + FUN_140080830(local_d48,0,param_3,param_4); + FUN_14001ba80((longlong)local_d48,CONCAT71((int7)((ulonglong)uVar5 >> 8),0xb),param_3,param_4); + local_cc8 = *(longlong **)(param_2 + 0x728); + uStack_cc0 = *(undefined8 *)(param_2 + 0x730); + FUN_140044710((longlong)local_d48,&local_cc8,param_3,param_4); + piVar3 = (int *)(**(code **)(*(longlong *)(param_2 + 0x108) + 0x10))(); + local_cb8 = piVar3; + FUN_14002e6e0(piVar3); + local_cb0 = 1; + local_1c = 200; + local_20 = 0; + local_28 = &local_ca8; + if (local_d40 == 0) { + if (local_d38 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,0,param_3,param_4); + } + } + else { + local_d30 = *(undefined4 *)(local_d40 + 0x18); + } + local_ca8 = local_d38; + if (local_d38 == 0) { + if (local_d40 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,0,param_3,param_4); + } + if (*(int *)(local_d40 + 0x18) != 0) { + local_ca8 = *(longlong *)(local_d40 + 0x10); + } + } + uStack_cc0 = CONCAT44(uStack_cc0._4_4_,local_d30); + local_20 = 1; + uStack_ca0 = uStack_cc0; + local_cc8 = (longlong *)0x0; + uStack_cc0 = CONCAT71(uStack_cc0._1_7_,1); + pplVar6 = &local_cc8; + FUN_14009c2b0(*(char **)(param_2 + 0x748),(longlong)&local_ca8,(SIZE_T *)pplVar6,param_4); + if (local_28 == (longlong *)0x0) { + FUN_14002f1e0(local_d18,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,pplVar6, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d18,(ThrowInfo *)&DAT_140151b88); + } + if (local_1c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14002e770((longlong)piVar3); + local_cc8 = &local_d40; + FUN_140095270(&local_d40); + if ((local_d38 != 0) && (local_d2c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004d6d0.c b/decomp/Agent_Release_x64/full/functions/0x14004d6d0.c new file mode 100644 index 00000000..91503948 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004d6d0.c @@ -0,0 +1,209 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004d6d0 FUN_14004d6d0 + * Pseudocode, not original source. */ + +void FUN_14004d6d0(wchar_t *param_1,wchar_t *param_2,wchar_t *param_3,undefined8 param_4) + +{ + int iVar1; + longlong *plVar2; + bool bVar3; + longlong *plVar4; + wchar_t *pwVar5; + int *piVar6; + longlong lVar7; + wchar_t *pwVar8; + wchar_t *pwVar9; + wchar_t *pwVar10; + longlong lVar11; + int iVar12; + wchar_t *local_res8; + wchar_t *local_res10; + + pwVar5 = param_1; + local_res10 = param_2; + if (*(longlong *)(param_1 + 0xbb0) == 0) { + plVar4 = (longlong *)0x0; + } + else { + plVar4 = *(longlong **)(param_1 + 0xba8); + } + for (; pwVar9 = local_res10, plVar4 != (longlong *)0x0; plVar4 = (longlong *)plVar4[2]) { + if (plVar4 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + lVar11 = *plVar4; + pwVar5 = (wchar_t *)(**(code **)(*(longlong *)(lVar11 + 0x108) + 0x10))(); + bVar3 = FUN_14002e820((longlong)pwVar5); + pwVar8 = pwVar9; + if (bVar3) { + FUN_140030200(pwVar5,param_2,param_3,param_4); + local_res8 = (wchar_t *)PTR_DAT_140155010; + param_2 = L"RemoteClient DeadLock - %s"; + FUN_14001b7a0((longlong *)&local_res8,L"RemoteClient DeadLock - %s",pwVar9,param_4); + pwVar10 = local_res8; + pwVar5 = local_res8; + if (local_res8 == (wchar_t *)0x0) { + pwVar5 = (wchar_t *)PTR_DAT_140155010; + } + FUN_14002fa10(pwVar5); + pwVar8 = local_res10; + param_3 = pwVar9; + if (((pwVar10 != (wchar_t *)0x0) && (pwVar10 != (wchar_t *)PTR_DAT_140155010)) && + (pwVar10 + -4 != (wchar_t *)0x0)) { + pwVar5 = (wchar_t *)FUN_140030200(pwVar5,param_2,pwVar9,param_4); + FUN_14002e6e0((int *)pwVar5); + pwVar8 = pwVar10 + -2; + *(int *)pwVar8 = *(int *)pwVar8 + -1; + if (*(int *)pwVar8 == 0) { + FUN_1400302f0(pwVar10 + -4); + } + FUN_14002e770((longlong)pwVar5); + pwVar8 = local_res10; + param_3 = pwVar9; + } + } + if ((*(int *)(param_1 + 0xc22) == 0) && + (plVar2 = *(longlong **)(lVar11 + 0x760), plVar2 != (longlong *)0x0)) { + lVar11 = *plVar2; + pwVar5 = (wchar_t *)0x0; + if (lVar11 != 0) { + pwVar5 = (wchar_t *)(**(code **)(*(longlong *)(lVar11 + 0x88) + 0x10))(); + bVar3 = FUN_14002e820((longlong)pwVar5); + if (bVar3) { + FUN_140030200(pwVar5,param_2,param_3,param_4); + local_res8 = (wchar_t *)PTR_DAT_140155010; + param_2 = L"UDPSocket DeadLock - %s"; + FUN_14001b7a0((longlong *)&local_res8,L"UDPSocket DeadLock - %s",pwVar8,param_4); + pwVar9 = local_res8; + pwVar5 = local_res8; + if (local_res8 == (wchar_t *)0x0) { + pwVar5 = (wchar_t *)PTR_DAT_140155010; + } + FUN_14002fa10(pwVar5); + param_3 = pwVar8; + if (((pwVar9 != (wchar_t *)0x0) && (pwVar9 != (wchar_t *)PTR_DAT_140155010)) && + (pwVar9 + -4 != (wchar_t *)0x0)) { + pwVar5 = (wchar_t *)FUN_140030200(pwVar5,param_2,pwVar8,param_4); + FUN_14002e6e0((int *)pwVar5); + pwVar10 = pwVar9 + -2; + *(int *)pwVar10 = *(int *)pwVar10 + -1; + param_3 = pwVar8; + if (*(int *)pwVar10 == 0) { + FUN_1400302f0(pwVar9 + -4); + param_3 = pwVar8; + } + FUN_14002e770((longlong)pwVar5); + } + } + } + } + } + if (*(int *)(param_1 + 0xc22) == 1) { + iVar12 = 0; + lVar11 = 0; + iVar1 = *(int *)(param_1 + 0x370); + if (0 < (longlong)iVar1) { + do { + if ((lVar11 < 0) || (*(int *)(param_1 + 0x370) <= iVar12)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pwVar5,param_2,param_3,param_4); + } + plVar4 = *(longlong **)(*(longlong *)(param_1 + 0x36c) + lVar11 * 8); + lVar7 = 0; + if (plVar4 != (longlong *)0x0) { + lVar7 = *plVar4; + } + pwVar5 = (wchar_t *)(**(code **)(*(longlong *)(lVar7 + 0x88) + 0x10))(); + bVar3 = FUN_14002e820((longlong)pwVar5); + if (bVar3) { + FUN_140030200(pwVar5,param_2,param_3,param_4); + local_res8 = (wchar_t *)PTR_DAT_140155010; + param_2 = L"UDPSocket DeadLock - %s"; + FUN_14001b7a0((longlong *)&local_res8,L"UDPSocket DeadLock - %s",pwVar9,param_4); + pwVar8 = local_res8; + pwVar5 = local_res8; + if (local_res8 == (wchar_t *)0x0) { + pwVar5 = (wchar_t *)PTR_DAT_140155010; + } + param_3 = pwVar9; + FUN_14002fa10(pwVar5); + pwVar9 = local_res10; + if (((pwVar8 != (wchar_t *)0x0) && (pwVar8 != (wchar_t *)PTR_DAT_140155010)) && + (pwVar8 + -4 != (wchar_t *)0x0)) { + pwVar5 = (wchar_t *)FUN_140030200(pwVar5,param_2,param_3,param_4); + FUN_14002e6e0((int *)pwVar5); + pwVar9 = pwVar8 + -2; + *(int *)pwVar9 = *(int *)pwVar9 + -1; + if (*(int *)pwVar9 == 0) { + FUN_1400302f0(pwVar8 + -4); + } + FUN_14002e770((longlong)pwVar5); + pwVar9 = local_res10; + } + } + iVar12 = iVar12 + 1; + lVar11 = lVar11 + 1; + } while (lVar11 < iVar1); + } + } + pwVar5 = param_1 + 0x3cc; + bVar3 = FUN_14002e820((longlong)pwVar5); + if (bVar3) { + FUN_140030200(pwVar5,param_2,param_3,param_4); + local_res8 = (wchar_t *)PTR_DAT_140155010; + param_2 = L"NetServer tcpIssueQueueCS DeadLock!! - %s"; + FUN_14001b7a0((longlong *)&local_res8,L"NetServer tcpIssueQueueCS DeadLock!! - %s",pwVar9, + param_4); + pwVar5 = local_res8; + pwVar8 = local_res8; + if (local_res8 == (wchar_t *)0x0) { + pwVar8 = (wchar_t *)PTR_DAT_140155010; + } + FUN_14002fa10(pwVar8); + param_3 = pwVar9; + if (((pwVar5 != (wchar_t *)0x0) && (pwVar5 != (wchar_t *)PTR_DAT_140155010)) && + (pwVar5 + -4 != (wchar_t *)0x0)) { + piVar6 = (int *)FUN_140030200(pwVar8,param_2,pwVar9,param_4); + FUN_14002e6e0(piVar6); + pwVar8 = pwVar5 + -2; + *(int *)pwVar8 = *(int *)pwVar8 + -1; + param_3 = pwVar9; + if (*(int *)pwVar8 == 0) { + FUN_1400302f0(pwVar5 + -4); + param_3 = pwVar9; + } + FUN_14002e770((longlong)piVar6); + } + } + pwVar5 = param_1 + 1000; + bVar3 = FUN_14002e820((longlong)pwVar5); + if (bVar3) { + FUN_140030200(pwVar5,param_2,param_3,param_4); + local_res8 = (wchar_t *)PTR_DAT_140155010; + pwVar10 = L"NetServer udpIssueQueueCS DeadLock!! - %s"; + pwVar8 = local_res10; + FUN_14001b7a0((longlong *)&local_res8,L"NetServer udpIssueQueueCS DeadLock!! - %s",local_res10, + param_4); + pwVar5 = local_res8; + pwVar9 = local_res8; + if (local_res8 == (wchar_t *)0x0) { + pwVar9 = (wchar_t *)PTR_DAT_140155010; + } + FUN_14002fa10(pwVar9); + if (((pwVar5 != (wchar_t *)0x0) && (pwVar5 != (wchar_t *)PTR_DAT_140155010)) && + (pwVar5 + -4 != (wchar_t *)0x0)) { + piVar6 = (int *)FUN_140030200(pwVar9,pwVar10,pwVar8,param_4); + FUN_14002e6e0(piVar6); + pwVar9 = pwVar5 + -2; + *(int *)pwVar9 = *(int *)pwVar9 + -1; + if (*(int *)pwVar9 == 0) { + FUN_1400302f0(pwVar5 + -4); + } + FUN_14002e770((longlong)piVar6); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004db20.c b/decomp/Agent_Release_x64/full/functions/0x14004db20.c new file mode 100644 index 00000000..bd4efdbd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004db20.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004db20 FUN_14004db20 + * Pseudocode, not original source. */ + +longlong * FUN_14004db20(longlong *param_1,longlong *param_2) + +{ + longlong lVar1; + undefined8 *puVar2; + + lVar1 = *param_2; + if (lVar1 != *param_1) { + if (lVar1 != 0) { + *(longlong *)(*param_2 + 8) = *(longlong *)(lVar1 + 8) + 1; + } + puVar2 = (undefined8 *)0x0; + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + puVar2 = (undefined8 *)*param_1; + } + *param_1 = *param_2; + if (puVar2 != (undefined8 *)0x0) { + FUN_140041080(puVar2); + } + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004db90.c b/decomp/Agent_Release_x64/full/functions/0x14004db90.c new file mode 100644 index 00000000..7658a56f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004db90.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004db90 FUN_14004db90 + * Pseudocode, not original source. */ + +void FUN_14004db90(longlong *param_1) + +{ + longlong *plVar1; + + if (*param_1 != 0) { + plVar1 = (longlong *)(*param_1 + 8); + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + FUN_140043d50((longlong)param_1,(longlong *)*param_1); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004dbb0.c b/decomp/Agent_Release_x64/full/functions/0x14004dbb0.c new file mode 100644 index 00000000..9e5adcb1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004dbb0.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004dbb0 FUN_14004dbb0 + * Pseudocode, not original source. */ + +void FUN_14004dbb0(undefined8 *param_1) + +{ + LPVOID pvVar1; + longlong *plVar2; + + *param_1 = Proud::CFastArray,0>::vftable; + if (0 < *(int *)(param_1 + 3)) { + FUN_1400ae080((longlong *)param_1[2],(longlong)*(int *)(param_1 + 3)); + } + pvVar1 = (LPVOID)param_1[2]; + if (pvVar1 != (LPVOID)0x0) { + plVar2 = (longlong *)param_1[1]; + if (plVar2 != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x00014004dbf7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*plVar2 + 0x18))(plVar2,pvVar1); + return; + } + FUN_1400302f0(pvVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004dc10.c b/decomp/Agent_Release_x64/full/functions/0x14004dc10.c new file mode 100644 index 00000000..394547bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004dc10.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004dc10 FUN_14004dc10 + * Pseudocode, not original source. */ + +undefined8 * FUN_14004dc10(undefined8 *param_1,uint param_2) + +{ + LPVOID pvVar1; + longlong *plVar2; + + *param_1 = Proud::CFastArray,0>::vftable; + if (0 < *(int *)(param_1 + 3)) { + FUN_1400ae080((longlong *)param_1[2],(longlong)*(int *)(param_1 + 3)); + } + pvVar1 = (LPVOID)param_1[2]; + if (pvVar1 != (LPVOID)0x0) { + plVar2 = (longlong *)param_1[1]; + if (plVar2 == (longlong *)0x0) { + FUN_1400302f0(pvVar1); + } + else { + (**(code **)(*plVar2 + 0x18))(plVar2,pvVar1); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004dc80.c b/decomp/Agent_Release_x64/full/functions/0x14004dc80.c new file mode 100644 index 00000000..1d006e49 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004dc80.c @@ -0,0 +1,110 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004dc80 FUN_14004dc80 + * Pseudocode, not original source. */ + +void FUN_14004dc80(longlong param_1,int param_2) + +{ + longlong *plVar1; + undefined8 *puVar2; + longlong *plVar3; + int iVar4; + int iVar5; + longlong *plVar6; + int iVar7; + longlong lVar8; + longlong lVar9; + exception local_a0 [152]; + + lVar8 = (longlong)param_2; + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar5 = *(int *)(param_1 + 0x18); + if (param_2 != iVar5) { + if (*(int *)(param_1 + 0x1c) < param_2) { + iVar5 = FUN_1400854f0(param_1,param_2); + lVar9 = (longlong)iVar5; + plVar3 = *(longlong **)(param_1 + 8); + if (*(int *)(param_1 + 0x1c) == 0) { + if (plVar3 == (longlong *)0x0) { + puVar2 = (undefined8 *)FUN_140030280(lVar9 << 3); + } + else { + puVar2 = (undefined8 *)(**(code **)(*plVar3 + 8))(plVar3,lVar9 << 3); + } + *(undefined8 **)(param_1 + 0x10) = puVar2; + if (0 < param_2) { + do { + if (puVar2 != (undefined8 *)0x0) { + *puVar2 = 0; + } + puVar2 = puVar2 + 1; + lVar8 = lVar8 + -1; + } while (lVar8 != 0); + } + } + else { + plVar1 = *(longlong **)(param_1 + 0x10); + if (plVar3 == (longlong *)0x0) { + plVar3 = (longlong *)FUN_140030280(lVar9 << 3); + } + else { + plVar3 = (longlong *)(**(code **)(*plVar3 + 8))(plVar3,lVar9 << 3); + } + FUN_140044280(plVar3,(longlong)plVar1,(longlong)*(int *)(param_1 + 0x18)); + iVar4 = param_2 - *(int *)(param_1 + 0x18); + plVar6 = plVar3 + *(int *)(param_1 + 0x18); + iVar7 = 0; + if (0 < iVar4) { + do { + if (plVar6 != (longlong *)0x0) { + *plVar6 = 0; + } + iVar7 = iVar7 + 1; + plVar6 = plVar6 + 1; + } while ((longlong)iVar7 < (longlong)iVar4); + } + if (plVar3 == (longlong *)0x0) { + FUN_14002f1e0(local_a0,L"Memory allocation failure!",0,(longlong)iVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_a0,(ThrowInfo *)&DAT_140151b88); + } + FUN_1400ae080(plVar1,(longlong)*(int *)(param_1 + 0x18)); + plVar6 = *(longlong **)(param_1 + 8); + if (plVar6 == (longlong *)0x0) { + FUN_1400302f0(plVar1); + } + else { + (**(code **)(*plVar6 + 0x18))(plVar6,plVar1); + } + *(longlong **)(param_1 + 0x10) = plVar3; + } + *(int *)(param_1 + 0x1c) = iVar5; + } + else if (iVar5 - param_2 < 1) { + iVar4 = param_2 - iVar5; + if (0 < iVar4) { + puVar2 = (undefined8 *)(*(longlong *)(param_1 + 0x10) + (longlong)iVar5 * 8); + iVar5 = 0; + if (0 < iVar4) { + do { + if (puVar2 != (undefined8 *)0x0) { + *puVar2 = 0; + } + iVar5 = iVar5 + 1; + puVar2 = puVar2 + 1; + } while (iVar5 < iVar4); + } + } + } + else { + FUN_1400ae080((longlong *)(*(longlong *)(param_1 + 0x10) + lVar8 * 8), + (longlong)(iVar5 - param_2)); + } + *(int *)(param_1 + 0x18) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004de70.c b/decomp/Agent_Release_x64/full/functions/0x14004de70.c new file mode 100644 index 00000000..ab2b9fe5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004de70.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004de70 FUN_14004de70 + * Pseudocode, not original source. */ + +void FUN_14004de70(_Container_base12 *param_1) + +{ + FUN_140041510((longlong)param_1); + std::_Container_base12::_Orphan_all(param_1); + operator_delete(*(void **)param_1); + *(undefined8 *)param_1 = 0; + /* WARNING: Could not recover jumptable at 0x00014004deac. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::_Container_base12::~_Container_base12(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004ded0.c b/decomp/Agent_Release_x64/full/functions/0x14004ded0.c new file mode 100644 index 00000000..0e09662d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004ded0.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004ded0 FUN_14004ded0 + * Pseudocode, not original source. */ + +longlong * FUN_14004ded0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + longlong lVar2; + longlong lVar3; + exception local_50 [72]; + + lVar3 = 0; + puVar1 = (undefined8 *) + (**(code **)(*param_2 + 8))(param_2,0x30,param_3,param_4,0xfffffffffffffffe); + if (puVar1 != (undefined8 *)0x0) { + *puVar1 = Proud::CFastArray::vftable; + puVar1[1] = 0; + puVar1[2] = 0; + puVar1[3] = 0; + *(undefined4 *)(puVar1 + 4) = 0; + *(undefined4 *)((longlong)puVar1 + 0x24) = 1; + } + FUN_140043ba0(param_1,param_2,(longlong)puVar1,param_4); + lVar2 = lVar3; + if ((longlong *)*param_1 != (longlong *)0x0) { + lVar2 = *(longlong *)*param_1; + } + *(longlong **)(lVar2 + 0x28) = param_2; + if ((longlong *)*param_1 != (longlong *)0x0) { + lVar3 = *(longlong *)*param_1; + } + if (*(int *)(lVar3 + 0x1c) < 1) { + *(longlong **)(lVar3 + 8) = param_2; + return param_1; + } + FUN_14002f1e0(local_50,(wchar_t *)PTR_u_Collection_object_can_use_fast_h_1401551d0,puVar1,param_4) + ; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004dfb0.c b/decomp/Agent_Release_x64/full/functions/0x14004dfb0.c new file mode 100644 index 00000000..eea26b82 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004dfb0.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004dfb0 FUN_14004dfb0 + * Pseudocode, not original source. */ + +void FUN_14004dfb0(longlong param_1) + +{ + longlong *plVar1; + longlong *plVar2; + + plVar2 = (longlong *)(param_1 + 0x20); + if (*plVar2 != 0) { + plVar1 = (longlong *)(*plVar2 + 8); + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + FUN_140043d50((longlong)plVar2,(longlong *)*plVar2); + } + } + FUN_140095270((longlong *)(param_1 + 8)); + if (*(longlong *)(param_1 + 0x10) != 0) { + if (*(int *)(param_1 + 0x1c) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(param_1 + 0x18) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004e020.c b/decomp/Agent_Release_x64/full/functions/0x14004e020.c new file mode 100644 index 00000000..18929e5f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004e020.c @@ -0,0 +1,172 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004e020 FUN_14004e020 + * Pseudocode, not original source. */ + +undefined1 +FUN_14004e020(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,uint *param_5, + longlong param_6,uint *param_7,longlong param_8,longlong param_9,uint *param_10, + undefined8 *param_11,byte *param_12,ushort *param_13) + +{ + uint uVar1; + int iVar2; + undefined1 uVar3; + undefined4 *puVar4; + undefined8 *puVar5; + ulonglong uVar6; + longlong lVar7; + undefined8 *puVar8; + SIZE_T SVar9; + uint *puVar10; + undefined4 local_res10 [2]; + undefined8 local_58; + undefined8 uStack_50; + undefined4 local_48; + undefined4 local_44; + longlong local_40; + longlong local_38; + int local_30; + int local_2c; + + local_res10[0] = (undefined4)param_2; + SVar9 = param_3; + puVar10 = param_4; + FUN_1400806d0(&local_48); + FUN_1400801a0((longlong)&local_48,param_2,SVar9,puVar10); + FUN_1400221b0((longlong)&local_48,0xfbf5,SVar9,puVar10); + FUN_140021e80((longlong)&local_48,(ulonglong)*param_4,SVar9,puVar10); + FUN_140021e80((longlong)&local_48,(ulonglong)*param_5,SVar9,puVar10); + uVar1 = *(uint *)(param_6 + 0x18); + FUN_140081aa0((longlong)&local_48,(longlong)(int)uVar1,SVar9,puVar10); + puVar8 = (undefined8 *)0x0; + puVar5 = puVar8; + if (*(int *)(param_6 + 0x18) != 0) { + puVar5 = *(undefined8 **)(param_6 + 0x10); + } + if (uVar1 != 0) { + local_44 = 0; + if (local_40 == 0) { + if (local_38 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar5,SVar9,puVar10); + } +LAB_14004e0d2: + SVar9 = (SIZE_T)uVar1; + FUN_14001bb60(&local_38,puVar5,SVar9,puVar10); + } + else { + if (local_38 != 0) goto LAB_14004e0d2; + if (local_40 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar5,SVar9,puVar10); + } + SVar9 = (SIZE_T)uVar1; + FUN_14001bd90(local_40,puVar5,SVar9); + } + FUN_14001be00((longlong)&local_48,puVar5,SVar9,puVar10); + } + FUN_140044630((longlong)&local_48,(ulonglong)*param_7,SVar9,puVar10); + uVar1 = *(uint *)(param_8 + 0x18); + FUN_140081aa0((longlong)&local_48,(longlong)(int)uVar1,SVar9,puVar10); + puVar5 = puVar8; + if (*(int *)(param_8 + 0x18) != 0) { + puVar5 = *(undefined8 **)(param_8 + 0x10); + } + if (uVar1 != 0) { + local_44 = 0; + if (local_40 == 0) { + if (local_38 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar5,SVar9,puVar10); + } +LAB_14004e14f: + SVar9 = (SIZE_T)uVar1; + FUN_14001bb60(&local_38,puVar5,SVar9,puVar10); + } + else { + if (local_38 != 0) goto LAB_14004e14f; + if (local_40 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar5,SVar9,puVar10); + } + SVar9 = (SIZE_T)uVar1; + FUN_14001bd90(local_40,puVar5,SVar9); + } + FUN_14001be00((longlong)&local_48,puVar5,SVar9,puVar10); + } + uVar1 = *(uint *)(param_9 + 0x18); + FUN_140081aa0((longlong)&local_48,(longlong)(int)uVar1,SVar9,puVar10); + puVar5 = puVar8; + if (*(int *)(param_9 + 0x18) != 0) { + puVar5 = *(undefined8 **)(param_9 + 0x10); + } + if (uVar1 != 0) { + local_44 = 0; + if (local_40 == 0) { + if (local_38 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar5,SVar9,puVar10); + } +LAB_14004e1bd: + SVar9 = (SIZE_T)uVar1; + FUN_14001bb60(&local_38,puVar5,SVar9,puVar10); + } + else { + if (local_38 != 0) goto LAB_14004e1bd; + if (local_40 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar5,SVar9,puVar10); + } + SVar9 = (SIZE_T)uVar1; + FUN_14001bd90(local_40,puVar5,SVar9); + } + FUN_14001be00((longlong)&local_48,puVar5,SVar9,puVar10); + } + uVar6 = (ulonglong)*param_10; + puVar4 = &local_48; + FUN_140021e80((longlong)puVar4,uVar6,SVar9,puVar10); + local_58 = *param_11; + uStack_50 = param_11[1]; + local_44 = 0; + if (local_40 == 0) { + if (local_38 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar4,uVar6,SVar9,puVar10); + } + } + else if (local_38 == 0) { + if (local_40 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar4,uVar6,SVar9,puVar10); + } + iVar2 = *(int *)(local_40 + 0x18); + FUN_14001bc70(local_40,iVar2 + 0x10,SVar9); + if (*(int *)(local_40 + 0x18) != 0) { + puVar8 = *(undefined8 **)(local_40 + 0x10); + } + *(undefined8 *)((longlong)iVar2 + (longlong)puVar8) = local_58; + *(undefined8 *)((longlong)iVar2 + 8 + (longlong)puVar8) = uStack_50; + goto LAB_14004e289; + } + lVar7 = (longlong)local_30; + local_30 = local_30 + 0x10; + if ((local_30 < 0) || (local_2c < local_30)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined8 *)(local_38 + lVar7) = local_58; + ((undefined8 *)(local_38 + lVar7))[1] = uStack_50; +LAB_14004e289: + FUN_14001be00((longlong)&local_48,&local_58,SVar9,puVar10); + FUN_14001ba80((longlong)&local_48,(ulonglong)*param_12,SVar9,puVar10); + FUN_1400221b0((longlong)&local_48,(ulonglong)*param_13,SVar9,puVar10); + uVar3 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,&local_48,PTR_DAT_140155960,0xfbf5); + FUN_140095270(&local_40); + if ((local_38 != 0) && (local_2c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004e340.c b/decomp/Agent_Release_x64/full/functions/0x14004e340.c new file mode 100644 index 00000000..ec8429c3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004e340.c @@ -0,0 +1,172 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004e340 FUN_14004e340 + * Pseudocode, not original source. */ + +undefined1 +FUN_14004e340(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4,uint *param_5, + uint *param_6,longlong param_7,uint *param_8,longlong param_9,longlong param_10, + uint *param_11,undefined8 *param_12,byte *param_13,ushort *param_14) + +{ + uint uVar1; + int iVar2; + undefined1 uVar3; + undefined4 *puVar4; + undefined8 uVar5; + undefined8 *puVar6; + ulonglong uVar7; + longlong lVar8; + undefined8 *puVar9; + undefined8 uVar10; + ulonglong uVar11; + undefined8 local_68; + undefined8 uStack_60; + undefined4 local_58; + undefined4 local_54; + longlong local_50; + longlong local_48; + int local_40; + int local_3c; + + uVar11 = param_3 & 0xffffffff; + uVar5 = param_2; + uVar10 = param_4; + FUN_1400806d0(&local_58); + FUN_1400801a0((longlong)&local_58,uVar5,param_3,uVar10); + FUN_1400221b0((longlong)&local_58,0xfbf5,param_3,uVar10); + FUN_140021e80((longlong)&local_58,(ulonglong)*param_5,param_3,uVar10); + FUN_140021e80((longlong)&local_58,(ulonglong)*param_6,param_3,uVar10); + uVar1 = *(uint *)(param_7 + 0x18); + FUN_140081aa0((longlong)&local_58,(longlong)(int)uVar1,param_3,uVar10); + puVar9 = (undefined8 *)0x0; + puVar6 = puVar9; + if (*(int *)(param_7 + 0x18) != 0) { + puVar6 = *(undefined8 **)(param_7 + 0x10); + } + if (uVar1 != 0) { + local_54 = 0; + if (local_50 == 0) { + if (local_48 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar6,param_3,uVar10); + } +LAB_14004e3fb: + param_3 = (SIZE_T)uVar1; + FUN_14001bb60(&local_48,puVar6,param_3,uVar10); + } + else { + if (local_48 != 0) goto LAB_14004e3fb; + if (local_50 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar6,param_3,uVar10); + } + param_3 = (SIZE_T)uVar1; + FUN_14001bd90(local_50,puVar6,param_3); + } + FUN_14001be00((longlong)&local_58,puVar6,param_3,uVar10); + } + FUN_140044630((longlong)&local_58,(ulonglong)*param_8,param_3,uVar10); + uVar1 = *(uint *)(param_9 + 0x18); + FUN_140081aa0((longlong)&local_58,(longlong)(int)uVar1,param_3,uVar10); + puVar6 = puVar9; + if (*(int *)(param_9 + 0x18) != 0) { + puVar6 = *(undefined8 **)(param_9 + 0x10); + } + if (uVar1 != 0) { + local_54 = 0; + if (local_50 == 0) { + if (local_48 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar6,param_3,uVar10); + } +LAB_14004e478: + param_3 = (SIZE_T)uVar1; + FUN_14001bb60(&local_48,puVar6,param_3,uVar10); + } + else { + if (local_48 != 0) goto LAB_14004e478; + if (local_50 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar6,param_3,uVar10); + } + param_3 = (SIZE_T)uVar1; + FUN_14001bd90(local_50,puVar6,param_3); + } + FUN_14001be00((longlong)&local_58,puVar6,param_3,uVar10); + } + uVar1 = *(uint *)(param_10 + 0x18); + FUN_140081aa0((longlong)&local_58,(longlong)(int)uVar1,param_3,uVar10); + puVar6 = puVar9; + if (*(int *)(param_10 + 0x18) != 0) { + puVar6 = *(undefined8 **)(param_10 + 0x10); + } + if (uVar1 != 0) { + local_54 = 0; + if (local_50 == 0) { + if (local_48 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar6,param_3,uVar10); + } +LAB_14004e4e6: + param_3 = (SIZE_T)uVar1; + FUN_14001bb60(&local_48,puVar6,param_3,uVar10); + } + else { + if (local_48 != 0) goto LAB_14004e4e6; + if (local_50 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar6,param_3,uVar10); + } + param_3 = (SIZE_T)uVar1; + FUN_14001bd90(local_50,puVar6,param_3); + } + FUN_14001be00((longlong)&local_58,puVar6,param_3,uVar10); + } + uVar7 = (ulonglong)*param_11; + puVar4 = &local_58; + FUN_140021e80((longlong)puVar4,uVar7,param_3,uVar10); + local_68 = *param_12; + uStack_60 = param_12[1]; + local_54 = 0; + if (local_50 == 0) { + if (local_48 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar4,uVar7,param_3,uVar10); + } + } + else if (local_48 == 0) { + if (local_50 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar4,uVar7,param_3,uVar10); + } + iVar2 = *(int *)(local_50 + 0x18); + FUN_14001bc70(local_50,iVar2 + 0x10,param_3); + if (*(int *)(local_50 + 0x18) != 0) { + puVar9 = *(undefined8 **)(local_50 + 0x10); + } + *(undefined8 *)((longlong)iVar2 + (longlong)puVar9) = local_68; + *(undefined8 *)((longlong)iVar2 + 8 + (longlong)puVar9) = uStack_60; + goto LAB_14004e5b8; + } + lVar8 = (longlong)local_40; + local_40 = local_40 + 0x10; + if ((local_40 < 0) || (local_3c < local_40)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined8 *)(local_48 + lVar8) = local_68; + ((undefined8 *)(local_48 + lVar8))[1] = uStack_60; +LAB_14004e5b8: + FUN_14001be00((longlong)&local_58,&local_68,param_3,uVar10); + FUN_14001ba80((longlong)&local_58,(ulonglong)*param_13,param_3,uVar10); + FUN_1400221b0((longlong)&local_58,(ulonglong)*param_14,param_3,uVar10); + uVar3 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,uVar11,param_4,&local_58,PTR_DAT_140155960,0xfbf5); + FUN_140095270(&local_50); + if ((local_48 != 0) && (local_3c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004e670.c b/decomp/Agent_Release_x64/full/functions/0x14004e670.c new file mode 100644 index 00000000..d36c78b2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004e670.c @@ -0,0 +1,116 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004e670 FUN_14004e670 + * Pseudocode, not original source. */ + +undefined1 +FUN_14004e670(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,uint *param_5, + longlong param_6,uint *param_7,uint *param_8,undefined8 *param_9,byte *param_10, + ushort *param_11) + +{ + uint uVar1; + int iVar2; + undefined1 uVar3; + undefined4 *puVar4; + undefined8 *puVar5; + ulonglong uVar6; + longlong lVar7; + undefined8 *puVar8; + SIZE_T SVar9; + uint *puVar10; + undefined4 local_res10 [2]; + undefined8 local_58; + undefined8 uStack_50; + undefined4 local_48; + undefined4 local_44; + longlong local_40; + longlong local_38; + int local_30; + int local_2c; + + local_res10[0] = (undefined4)param_2; + SVar9 = param_3; + puVar10 = param_4; + FUN_1400806d0(&local_48); + FUN_1400801a0((longlong)&local_48,param_2,SVar9,puVar10); + FUN_1400221b0((longlong)&local_48,0xfbf6,SVar9,puVar10); + FUN_140021e80((longlong)&local_48,(ulonglong)*param_4,SVar9,puVar10); + FUN_140021e80((longlong)&local_48,(ulonglong)*param_5,SVar9,puVar10); + uVar1 = *(uint *)(param_6 + 0x18); + FUN_140081aa0((longlong)&local_48,(longlong)(int)uVar1,SVar9,puVar10); + puVar8 = (undefined8 *)0x0; + puVar5 = puVar8; + if (*(int *)(param_6 + 0x18) != 0) { + puVar5 = *(undefined8 **)(param_6 + 0x10); + } + if (uVar1 != 0) { + local_44 = 0; + if (local_40 == 0) { + if (local_38 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar5,SVar9,puVar10); + } +LAB_14004e722: + SVar9 = (SIZE_T)uVar1; + FUN_14001bb60(&local_38,puVar5,SVar9,puVar10); + } + else { + if (local_38 != 0) goto LAB_14004e722; + if (local_40 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar5,SVar9,puVar10); + } + SVar9 = (SIZE_T)uVar1; + FUN_14001bd90(local_40,puVar5,SVar9); + } + FUN_14001be00((longlong)&local_48,puVar5,SVar9,puVar10); + } + FUN_140044630((longlong)&local_48,(ulonglong)*param_7,SVar9,puVar10); + uVar6 = (ulonglong)*param_8; + puVar4 = &local_48; + FUN_140021e80((longlong)puVar4,uVar6,SVar9,puVar10); + local_58 = *param_9; + uStack_50 = param_9[1]; + local_44 = 0; + if (local_40 == 0) { + if (local_38 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar4,uVar6,SVar9,puVar10); + } + } + else if (local_38 == 0) { + if (local_40 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar4,uVar6,SVar9,puVar10); + } + iVar2 = *(int *)(local_40 + 0x18); + FUN_14001bc70(local_40,iVar2 + 0x10,SVar9); + if (*(int *)(local_40 + 0x18) != 0) { + puVar8 = *(undefined8 **)(local_40 + 0x10); + } + *(undefined8 *)((longlong)iVar2 + (longlong)puVar8) = local_58; + *(undefined8 *)((longlong)iVar2 + 8 + (longlong)puVar8) = uStack_50; + goto LAB_14004e7fe; + } + lVar7 = (longlong)local_30; + local_30 = local_30 + 0x10; + if ((local_30 < 0) || (local_2c < local_30)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined8 *)(local_38 + lVar7) = local_58; + ((undefined8 *)(local_38 + lVar7))[1] = uStack_50; +LAB_14004e7fe: + FUN_14001be00((longlong)&local_48,&local_58,SVar9,puVar10); + FUN_14001ba80((longlong)&local_48,(ulonglong)*param_10,SVar9,puVar10); + FUN_1400221b0((longlong)&local_48,(ulonglong)*param_11,SVar9,puVar10); + uVar3 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,&local_48,PTR_DAT_140155968,0xfbf6); + FUN_140095270(&local_40); + if ((local_38 != 0) && (local_2c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004e8b0.c b/decomp/Agent_Release_x64/full/functions/0x14004e8b0.c new file mode 100644 index 00000000..d22c292c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004e8b0.c @@ -0,0 +1,116 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004e8b0 FUN_14004e8b0 + * Pseudocode, not original source. */ + +undefined1 +FUN_14004e8b0(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4,uint *param_5, + uint *param_6,longlong param_7,uint *param_8,uint *param_9,undefined8 *param_10, + byte *param_11,ushort *param_12) + +{ + uint uVar1; + int iVar2; + undefined1 uVar3; + undefined4 *puVar4; + undefined8 uVar5; + undefined8 *puVar6; + ulonglong uVar7; + longlong lVar8; + undefined8 *puVar9; + undefined8 uVar10; + ulonglong uVar11; + undefined8 local_68; + undefined8 uStack_60; + undefined4 local_58; + undefined4 local_54; + longlong local_50; + longlong local_48; + int local_40; + int local_3c; + + uVar11 = param_3 & 0xffffffff; + uVar5 = param_2; + uVar10 = param_4; + FUN_1400806d0(&local_58); + FUN_1400801a0((longlong)&local_58,uVar5,param_3,uVar10); + FUN_1400221b0((longlong)&local_58,0xfbf6,param_3,uVar10); + FUN_140021e80((longlong)&local_58,(ulonglong)*param_5,param_3,uVar10); + FUN_140021e80((longlong)&local_58,(ulonglong)*param_6,param_3,uVar10); + uVar1 = *(uint *)(param_7 + 0x18); + FUN_140081aa0((longlong)&local_58,(longlong)(int)uVar1,param_3,uVar10); + puVar9 = (undefined8 *)0x0; + puVar6 = puVar9; + if (*(int *)(param_7 + 0x18) != 0) { + puVar6 = *(undefined8 **)(param_7 + 0x10); + } + if (uVar1 != 0) { + local_54 = 0; + if (local_50 == 0) { + if (local_48 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar6,param_3,uVar10); + } +LAB_14004e96b: + param_3 = (SIZE_T)uVar1; + FUN_14001bb60(&local_48,puVar6,param_3,uVar10); + } + else { + if (local_48 != 0) goto LAB_14004e96b; + if (local_50 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar6,param_3,uVar10); + } + param_3 = (SIZE_T)uVar1; + FUN_14001bd90(local_50,puVar6,param_3); + } + FUN_14001be00((longlong)&local_58,puVar6,param_3,uVar10); + } + FUN_140044630((longlong)&local_58,(ulonglong)*param_8,param_3,uVar10); + uVar7 = (ulonglong)*param_9; + puVar4 = &local_58; + FUN_140021e80((longlong)puVar4,uVar7,param_3,uVar10); + local_68 = *param_10; + uStack_60 = param_10[1]; + local_54 = 0; + if (local_50 == 0) { + if (local_48 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar4,uVar7,param_3,uVar10); + } + } + else if (local_48 == 0) { + if (local_50 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar4,uVar7,param_3,uVar10); + } + iVar2 = *(int *)(local_50 + 0x18); + FUN_14001bc70(local_50,iVar2 + 0x10,param_3); + if (*(int *)(local_50 + 0x18) != 0) { + puVar9 = *(undefined8 **)(local_50 + 0x10); + } + *(undefined8 *)((longlong)iVar2 + (longlong)puVar9) = local_68; + *(undefined8 *)((longlong)iVar2 + 8 + (longlong)puVar9) = uStack_60; + goto LAB_14004ea47; + } + lVar8 = (longlong)local_40; + local_40 = local_40 + 0x10; + if ((local_40 < 0) || (local_3c < local_40)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined8 *)(local_48 + lVar8) = local_68; + ((undefined8 *)(local_48 + lVar8))[1] = uStack_60; +LAB_14004ea47: + FUN_14001be00((longlong)&local_58,&local_68,param_3,uVar10); + FUN_14001ba80((longlong)&local_58,(ulonglong)*param_11,param_3,uVar10); + FUN_1400221b0((longlong)&local_58,(ulonglong)*param_12,param_3,uVar10); + uVar3 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,uVar11,param_4,&local_58,PTR_DAT_140155968,0xfbf6); + FUN_140095270(&local_50); + if ((local_48 != 0) && (local_3c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004eb00.c b/decomp/Agent_Release_x64/full/functions/0x14004eb00.c new file mode 100644 index 00000000..dc7beeae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004eb00.c @@ -0,0 +1,97 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004eb00 FUN_14004eb00 + * Pseudocode, not original source. */ + +undefined8 FUN_14004eb00(longlong param_1,uint param_2,undefined8 param_3,char *param_4) + +{ + int *piVar1; + uint uVar2; + longlong lVar3; + short *psVar4; + int *piVar5; + ulonglong uVar6; + int *piVar7; + undefined8 uVar8; + uint *puVar9; + longlong lVar10; + short *psVar11; + ulonglong uVar12; + short *local_res8; + longlong local_48 [2]; + int *local_38; + undefined1 local_30; + int *local_28; + undefined1 local_20; + + local_48[1] = 0xfffffffffffffffe; + piVar5 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + local_38 = piVar5; + FUN_14002e6e0(piVar5); + local_30 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x20) + 200))(); + } + uVar12 = (ulonglong)*(uint *)(*(longlong *)(param_1 + 0x20) + 0xca0); + uVar6 = (ulonglong)param_2 % uVar12; + lVar3 = *(longlong *)(*(longlong *)(param_1 + 0x20) + 0xc80); + if ((lVar3 != 0) && (puVar9 = *(uint **)(lVar3 + uVar6 * 8), puVar9 != (uint *)0x0)) { + while (uVar2 = puVar9[8], (int)uVar6 == (int)((ulonglong)uVar2 % uVar12)) { + if (*puVar9 == param_2) { + lVar3 = *(longlong *)(puVar9 + 2); + if ((lVar3 != 0) && (*(longlong *)(lVar3 + 0x228) == 0)) { + *(undefined1 *)(lVar3 + 0x701) = 0; + if (*param_4 == '\0') { + if (*(longlong *)(*(longlong *)(param_1 + 0x20) + 0x17f0) != 0) { + FUN_140030200(puVar9,(ulonglong)uVar2 % uVar12,uVar6,uVar12); + local_res8 = (short *)PTR_DAT_140155010; + uVar6 = 0; + if (*(longlong *)(lVar3 + 0x740) != 0) { + uVar6 = *(ulonglong *)(*(longlong *)(lVar3 + 0x740) + 8); + piVar5 = local_38; + } + uVar6 = uVar6 & 0xffffffff; + FUN_14001b7a0((longlong *)&local_res8, + L"클라이언트의 udp socket 생성실패. HostID=%d, udpSocketRefCount=%d" + ,(ulonglong)*(uint *)(lVar3 + 0x6f8),uVar6); + psVar4 = local_res8; + psVar11 = local_res8; + if (local_res8 == (short *)0x0) { + psVar11 = (short *)PTR_DAT_140155010; + } + uVar8 = 0; + lVar10 = *(longlong *)(*(longlong *)(param_1 + 0x20) + 0x17f0); + FUN_14008f2e0(lVar10,0,psVar11,uVar6); + if (((psVar4 != (short *)0x0) && (psVar4 != (short *)PTR_DAT_140155010)) && + (psVar4 + -4 != (short *)0x0)) { + piVar7 = (int *)FUN_140030200(lVar10,uVar8,psVar11,uVar6); + local_28 = piVar7; + FUN_14002e6e0(piVar7); + local_20 = 1; + piVar1 = (int *)(psVar4 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar4 + -4); + } + FUN_14002e770((longlong)piVar7); + } + } + *(undefined1 *)(lVar3 + 0x700) = 0; + *(undefined1 *)(lVar3 + 0x702) = 1; + local_48[0] = 0; + FUN_1400ad4b0((longlong *)(lVar3 + 0x740),local_48); + } + else { + FUN_14004d470(*(undefined8 *)(param_1 + 0x20),lVar3,uVar6,uVar12); + } + } + break; + } + puVar9 = *(uint **)(puVar9 + 4); + if (puVar9 == (uint *)0x0) break; + } + } + uVar8 = FUN_14002e770((longlong)piVar5); + return CONCAT71((int7)((ulonglong)uVar8 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004ed10.c b/decomp/Agent_Release_x64/full/functions/0x14004ed10.c new file mode 100644 index 00000000..aac7100c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004ed10.c @@ -0,0 +1,74 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004ed10 FUN_14004ed10 + * Pseudocode, not original source. */ + +void FUN_14004ed10(longlong param_1,LPVOID param_2) + +{ + ushort uVar1; + uint uVar2; + longlong *plVar3; + uint *puVar4; + longlong lVar5; + LPVOID pvVar6; + LPVOID pvVar7; + LPVOID pvVar8; + ulonglong uVar9; + ulonglong uVar10; + undefined8 uVar11; + + uVar1 = *(ushort *)((longlong)param_2 + 0x714); + uVar10 = (ulonglong)uVar1; + uVar2 = *(uint *)((longlong)param_2 + 0x710); + uVar9 = (ulonglong)uVar2; + pvVar6 = (LPVOID)((ulonglong)(uVar1 ^ uVar2) % (ulonglong)*(uint *)(param_1 + 0x3b0)); + pvVar8 = pvVar6; + if (*(longlong *)(param_1 + 0x390) != 0) { + pvVar7 = *(LPVOID *)(*(longlong *)(param_1 + 0x390) + (longlong)pvVar6 * 8); + while( true ) { + if ((pvVar7 == (LPVOID)0x0) || + (pvVar8 = (LPVOID)((ulonglong)*(uint *)((longlong)pvVar7 + 0x28) % + (ulonglong)*(uint *)(param_1 + 0x3b0)), (int)pvVar6 != (int)pvVar8)) + goto LAB_14004eda8; + if ((*(uint *)((longlong)pvVar7 + 8) == uVar2) && + (*(ushort *)((longlong)pvVar7 + 0xc) == uVar1)) break; + pvVar7 = *(LPVOID *)((longlong)pvVar7 + 0x18); + } + uVar9 = 0; + FUN_140097fc0((char *)(param_1 + 0x388),pvVar7,'\0'); + pvVar8 = pvVar7; + } +LAB_14004eda8: + if (*(longlong **)((longlong)param_2 + 0x120) != (longlong *)0x0) { + pvVar8 = param_2; + FUN_14003d180(*(longlong **)((longlong)param_2 + 0x120),(longlong)param_2,uVar9,uVar10); + } + plVar3 = *(longlong **)(*(longlong *)((longlong)param_2 + 0x748) + 0x110); + if (plVar3 != (longlong *)0x0) { + FUN_140035490(plVar3,pvVar8,uVar9,uVar10); + } + if ((*(longlong **)((longlong)param_2 + 0x740) != (longlong *)0x0) && + (**(longlong **)((longlong)param_2 + 0x740) != 0)) { + FUN_14009dbb0((longlong)param_2 + 0x700); + } + FUN_140043cc0((char *)(param_1 + 0x16e8),*(longlong *)((longlong)param_2 + 0x748) + 0x128,'\0'); + uVar9 = (ulonglong)*(uint *)((longlong)param_2 + 0x6f8) % (ulonglong)*(uint *)(param_1 + 0xca0); + if (*(longlong *)(param_1 + 0xc80) != 0) { + puVar4 = *(uint **)(*(longlong *)(param_1 + 0xc80) + uVar9 * 8); + while( true ) { + if ((puVar4 == (uint *)0x0) || ((uint)uVar9 != puVar4[8] % *(uint *)(param_1 + 0xca0))) + goto LAB_14004ee70; + if (*puVar4 == *(uint *)((longlong)param_2 + 0x6f8)) break; + puVar4 = *(uint **)(puVar4 + 4); + } + FUN_140040120((char *)(param_1 + 0xc78),puVar4,'\0'); + } +LAB_14004ee70: + plVar3 = *(longlong **)(param_1 + 0x478); + lVar5 = *plVar3; + uVar11 = (**(code **)(*(longlong *)(param_1 + 0x118) + 8))(); + (**(code **)(lVar5 + 0x10))(plVar3,uVar11); + FUN_140043cc0((char *)(param_1 + 0x388),(longlong)param_2 + 0x708,'\0'); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004eed0.c b/decomp/Agent_Release_x64/full/functions/0x14004eed0.c new file mode 100644 index 00000000..fa5daf14 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004eed0.c @@ -0,0 +1,94 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004eed0 FUN_14004eed0 + * Pseudocode, not original source. */ + +void FUN_14004eed0(longlong param_1,uint *param_2,longlong param_3,TypeDescriptor *param_4) + +{ + int *piVar1; + short *psVar2; + longlong *plVar3; + int *piVar4; + short **ppsVar5; + longlong lVar6; + uint *puVar7; + undefined *puVar8; + undefined8 uVar9; + longlong lVar10; + ulonglong uVar11; + short *psVar12; + undefined *puVar13; + short *local_res10; + undefined *local_res18; + + if ((char)param_2[0x1c0] != '\0') { + *(undefined1 *)(param_2 + 0x1c0) = 0; + lVar6 = param_1; + puVar7 = param_2; + if (*(longlong *)(param_2 + 0x1a) == 0) { + lVar10 = 0; + } + else { + lVar10 = *(longlong *)(param_2 + 0x16); + } + for (; lVar10 != 0; lVar10 = *(longlong *)(lVar10 + 0x10)) { + if (*(undefined8 **)(lVar10 + 8) == (undefined8 *)0x0) { + puVar7 = (uint *)0x0; + } + else { + puVar7 = (uint *)**(undefined8 **)(lVar10 + 8); + } + lVar6 = param_1; + FUN_14004c590(param_1,puVar7,param_3,param_4); + } + if (*(longlong *)(param_1 + 0x17f0) != 0) { + FUN_140030200(lVar6,puVar7,param_3,param_4); + local_res10 = (short *)PTR_DAT_140155010; + plVar3 = (longlong *) + (*(code *)**(undefined8 **)(*(longlong *)(param_2 + 0x1d2) + 0x128)) + ((undefined8 *)(*(longlong *)(param_2 + 0x1d2) + 0x128),&local_res18); + puVar13 = (undefined *)*plVar3; + if ((undefined *)*plVar3 == (undefined *)0x0) { + puVar13 = PTR_DAT_140155010; + } + uVar11 = (ulonglong)param_2[0x1be]; + puVar8 = &DAT_1400faaa0; + ppsVar5 = &local_res10; + FUN_14001b7a0((longlong *)ppsVar5, + L"Client %d가 서버와의 UDP 홀펀칭 중도 해제: Client local Addr=%s", + uVar11,puVar13); + if (((local_res18 != (undefined *)0x0) && (local_res18 != PTR_DAT_140155010)) && + (local_res18 + -8 != (undefined *)0x0)) { + piVar4 = (int *)FUN_140030200(ppsVar5,puVar8,uVar11,puVar13); + FUN_14002e6e0(piVar4); + piVar1 = (int *)(local_res18 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_res18 + -8); + } + FUN_14002e770((longlong)piVar4); + } + psVar2 = local_res10; + psVar12 = local_res10; + if (local_res10 == (short *)0x0) { + psVar12 = (short *)PTR_DAT_140155010; + } + uVar9 = 1; + lVar6 = *(longlong *)(param_1 + 0x17f0); + FUN_14008f2e0(lVar6,1,psVar12,puVar13); + if (((psVar2 != (short *)0x0) && (psVar2 != (short *)PTR_DAT_140155010)) && + (psVar2 + -4 != (short *)0x0)) { + piVar4 = (int *)FUN_140030200(lVar6,uVar9,psVar12,puVar13); + FUN_14002e6e0(piVar4); + piVar1 = (int *)(psVar2 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar2 + -4); + } + FUN_14002e770((longlong)piVar4); + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004f060.c b/decomp/Agent_Release_x64/full/functions/0x14004f060.c new file mode 100644 index 00000000..7990a1c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004f060.c @@ -0,0 +1,129 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004f060 FUN_14004f060 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14004f060(undefined8 param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + uint uVar1; + int *piVar2; + longlong lVar3; + undefined8 uVar4; + undefined8 *puVar5; + SIZE_T SVar6; + longlong **pplVar7; + undefined1 auStack_d78 [32]; + int local_d58 [2]; + longlong local_d50; + longlong local_d48; + undefined4 local_d40; + int local_d3c; + longlong *local_d30; + undefined1 uStack_d28; + undefined3 uStack_d27; + undefined4 uStack_d24; + int *local_d20; + undefined1 local_d18; + undefined8 local_d10; + exception local_d08 [80]; + longlong local_cb8; + undefined8 uStack_cb0; + longlong *local_38; + undefined4 local_30; + int local_2c; + ulonglong local_28; + + local_d10 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_d78; + lVar3 = param_2; + SVar6 = param_3; + FUN_1400806d0(local_d58); + FUN_1400801a0((longlong)local_d58,lVar3,SVar6,param_4); + FUN_140080830(local_d58,0x800,SVar6,param_4); + uVar4 = 0; + FUN_140080830(local_d58,0,SVar6,param_4); + FUN_14001ba80((longlong)local_d58,CONCAT71((int7)((ulonglong)uVar4 >> 8),9),SVar6,param_4); + uVar1 = *(uint *)(param_3 + 0x18); + FUN_140081aa0((longlong)local_d58,(longlong)(int)uVar1,SVar6,param_4); + if (*(int *)(param_3 + 0x18) == 0) { + puVar5 = (undefined8 *)0x0; + } + else { + puVar5 = *(undefined8 **)(param_3 + 0x10); + } + if (uVar1 == 0) goto LAB_14004f150; + local_d58[1] = 0; + if (local_d50 == 0) { + if (local_d48 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar5,SVar6,param_4); + } +LAB_14004f122: + SVar6 = (SIZE_T)uVar1; + FUN_14001bb60(&local_d48,puVar5,SVar6,param_4); + } + else { + if (local_d48 != 0) goto LAB_14004f122; + if (local_d50 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar5,SVar6,param_4); + } + SVar6 = (SIZE_T)uVar1; + FUN_14001bd90(local_d50,puVar5,SVar6); + } + FUN_14001be00((longlong)local_d58,puVar5,SVar6,param_4); +LAB_14004f150: + piVar2 = (int *)(**(code **)(*(longlong *)(param_2 + 0x108) + 0x10))(); + local_d20 = piVar2; + FUN_14002e6e0(piVar2); + local_d18 = 1; + local_2c = 200; + local_30 = 0; + local_38 = &local_cb8; + if (local_d50 == 0) { + if (local_d48 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,0,SVar6,param_4); + } + } + else { + local_d40 = *(undefined4 *)(local_d50 + 0x18); + } + local_cb8 = local_d48; + if (local_d48 == 0) { + if (local_d50 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,0,SVar6,param_4); + } + if (*(int *)(local_d50 + 0x18) != 0) { + local_cb8 = *(longlong *)(local_d50 + 0x10); + } + } + local_30 = 1; + uStack_cb0 = CONCAT44(uStack_d24,local_d40); + local_d30 = (longlong *)0x0; + _uStack_d28 = CONCAT31((int3)((uint)local_d40 >> 8),1); + pplVar7 = &local_d30; + FUN_14009c2b0(*(char **)(param_2 + 0x748),(longlong)&local_cb8,(SIZE_T *)pplVar7,param_4); + if (local_38 == (longlong *)0x0) { + FUN_14002f1e0(local_d08,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,pplVar7, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d08,(ThrowInfo *)&DAT_140151b88); + } + if (local_2c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14002e770((longlong)piVar2); + local_d30 = &local_d50; + FUN_140095270(&local_d50); + if ((local_d48 != 0) && (local_d3c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004f2b0.c b/decomp/Agent_Release_x64/full/functions/0x14004f2b0.c new file mode 100644 index 00000000..0c3483d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004f2b0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004f2b0 FUN_14004f2b0 + * Pseudocode, not original source. */ + +void FUN_14004f2b0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + double dVar1; + + if (0 < *(int *)(param_1 + 0x1840)) { + dVar1 = (double)(**(code **)(*(longlong *)(param_1 + 0x118) + 8))(); + if (30.0 < dVar1 - *(double *)(param_1 + 0x1810)) { + FUN_14004cca0(param_1,param_2,param_3,param_4); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004f2f0.c b/decomp/Agent_Release_x64/full/functions/0x14004f2f0.c new file mode 100644 index 00000000..4411bb6b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004f2f0.c @@ -0,0 +1,95 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004f2f0 FUN_14004f2f0 + * Pseudocode, not original source. */ + +ulonglong * FUN_14004f2f0(ulonglong *param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + longlong *plVar1; + int iVar2; + undefined1 *puVar3; + int *piVar4; + ulonglong uVar5; + int **ppiVar6; + undefined1 uVar7; + undefined7 uVar8; + bool bVar9; + int *local_res10; + + uVar7 = (undefined1)param_3; + uVar8 = (undefined7)((ulonglong)param_3 >> 8); + LOCK(); + bVar9 = DAT_14015e000 == 0; + if (bVar9) { + DAT_14015e000 = 1; + } + UNLOCK(); + if (bVar9) { + puVar3 = operator_new(0xc0); + if (puVar3 == (undefined1 *)0x0) { + puVar3 = (undefined1 *)0x0; + } + else { + puVar3 = FUN_140090a40(puVar3,param_2,CONCAT71(uVar8,uVar7),param_4); + } + if (puVar3 == (undefined1 *)0x0) { + piVar4 = (int *)0x0; + local_res10 = (int *)0x0; + } + else { + piVar4 = (int *)FUN_140030280(0x48); + if (piVar4 != (int *)0x0) { + local_res10 = piVar4; + uVar5 = FUN_14002e790(); + uVar7 = 1; + FUN_14002e600(piVar4,uVar5 & 0xffffffff,CONCAT71(uVar8,1),param_4); + } + local_res10 = piVar4; + FUN_14002e6e0(piVar4); + piVar4[0x10] = 1; + piVar4[0x11] = 0; + *(undefined1 **)(piVar4 + 0xe) = puVar3; + FUN_14002e770((longlong)piVar4); + } + ppiVar6 = &local_res10; + FUN_140043dd0(&DAT_14015e008,(ulonglong *)ppiVar6,CONCAT71(uVar8,uVar7),param_4); + if (piVar4 != (int *)0x0) { + FUN_14002e6e0(piVar4); + plVar1 = (longlong *)(piVar4 + 0x10); + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + FUN_14002e770((longlong)piVar4); + FUN_1400410e0(piVar4,ppiVar6,CONCAT71(uVar8,uVar7),param_4); + } + else { + FUN_14002e770((longlong)piVar4); + } + } + LOCK(); + UNLOCK(); + DAT_14015e000 = 2; + } + else { + LOCK(); + iVar2 = DAT_14015e000; + if (DAT_14015e000 == 9999) { + DAT_14015e000 = 999; + iVar2 = 9999; + } + UNLOCK(); + while (iVar2 != 2) { + Sleep(5); + LOCK(); + iVar2 = DAT_14015e000; + if (DAT_14015e000 == 9999) { + DAT_14015e000 = 999; + iVar2 = 9999; + } + UNLOCK(); + } + } + *param_1 = 0; + FUN_140043dd0(param_1,&DAT_14015e008,CONCAT71(uVar8,uVar7),param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004f480.c b/decomp/Agent_Release_x64/full/functions/0x14004f480.c new file mode 100644 index 00000000..96b8f8c6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004f480.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004f480 FUN_14004f480 + * Pseudocode, not original source. */ + +void FUN_14004f480(char *param_1,LPVOID param_2,char param_3) + +{ + longlong *plVar1; + undefined8 *puVar2; + uint uVar3; + + if (param_2 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if ((*(longlong *)((longlong)param_2 + 0x10) != 0) && + (*(longlong *)(*(longlong *)((longlong)param_2 + 0x10) + 8) = + *(longlong *)(*(longlong *)((longlong)param_2 + 0x10) + 8) + -1, + *(longlong *)(*(longlong *)((longlong)param_2 + 0x10) + 8) == 0)) { + plVar1 = *(longlong **)((longlong)param_2 + 0x10); + puVar2 = (undefined8 *)*plVar1; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(plVar1); + } + plVar1 = *(longlong **)(param_1 + 0x50); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(param_2); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,param_2); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + if (((param_3 != '\0') && (*(ulonglong *)(param_1 + 0x20) < *(ulonglong *)(param_1 + 0x40))) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar3 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14009f920(param_1,uVar3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004f550.c b/decomp/Agent_Release_x64/full/functions/0x14004f550.c new file mode 100644 index 00000000..16ff6664 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004f550.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004f550 FUN_14004f550 + * Pseudocode, not original source. */ + +undefined8 * FUN_14004f550(char *param_1,longlong param_2,uint param_3,undefined4 param_4) + +{ + longlong *plVar1; + longlong lVar2; + uint uVar3; + undefined8 *puVar4; + + plVar1 = *(longlong **)(param_1 + 0x50); + if (plVar1 == (longlong *)0x0) { + puVar4 = (undefined8 *)FUN_140030280(0x30); + } + else { + puVar4 = (undefined8 *) + (**(code **)(*plVar1 + 8))(plVar1,0x30,param_3,param_4,0xfffffffffffffffe); + } + if (puVar4 != (undefined8 *)0x0) { + *puVar4 = Proud::AddrPort::vftable; + *(undefined4 *)(puVar4 + 1) = *(undefined4 *)(param_2 + 8); + *(undefined2 *)((longlong)puVar4 + 0xc) = *(undefined2 *)(param_2 + 0xc); + puVar4[2] = 0; + *(undefined4 *)(puVar4 + 5) = param_4; + } + lVar2 = *(longlong *)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8); + FUN_140097020(param_1); + if (*(longlong *)(param_1 + 0x20) == 0) { + *(undefined8 **)(param_1 + 0x10) = puVar4; + *(undefined8 **)(param_1 + 0x18) = puVar4; + puVar4[4] = 0; + puVar4[3] = 0; + } + else { + FUN_140097020(param_1); + FUN_140097020(param_1); + if (lVar2 == 0) { + lVar2 = *(longlong *)(param_1 + 0x10); + puVar4[4] = 0; + puVar4[3] = lVar2; + if (lVar2 != 0) { + *(undefined8 **)(lVar2 + 0x20) = puVar4; + } + *(undefined8 **)(param_1 + 0x10) = puVar4; + } + else { + if (*(longlong *)(lVar2 + 0x20) == 0) { + *(undefined8 **)(param_1 + 0x10) = puVar4; + } + else { + *(undefined8 **)(*(longlong *)(lVar2 + 0x20) + 0x18) = puVar4; + } + puVar4[4] = *(undefined8 *)(lVar2 + 0x20); + puVar4[3] = lVar2; + *(undefined8 **)(lVar2 + 0x20) = puVar4; + } + } + *(undefined8 **)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8) = puVar4; + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; + FUN_140097020(param_1); + FUN_140097020(param_1); + if ((*(ulonglong *)(param_1 + 0x38) < *(ulonglong *)(param_1 + 0x20)) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar3 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14009f920(param_1,uVar3); + } + FUN_140097020(param_1); + return puVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004f6b0.c b/decomp/Agent_Release_x64/full/functions/0x14004f6b0.c new file mode 100644 index 00000000..b783ec9e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004f6b0.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004f6b0 FUN_14004f6b0 + * Pseudocode, not original source. */ + +longlong * FUN_14004f6b0(longlong *param_1,longlong *param_2,undefined4 param_3) + +{ + undefined8 *puVar1; + + puVar1 = (undefined8 *)0x0; + *param_1 = 0; + if (*param_2 != 0) { + *(longlong *)(*param_2 + 8) = *(longlong *)(*param_2 + 8) + 1; + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + puVar1 = (undefined8 *)*param_1; + } + *param_1 = *param_2; + if (puVar1 != (undefined8 *)0x0) { + FUN_140041080(puVar1); + } + *(undefined4 *)(param_1 + 4) = param_3; + return param_1; + } + *(undefined4 *)(param_1 + 4) = param_3; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004f740.c b/decomp/Agent_Release_x64/full/functions/0x14004f740.c new file mode 100644 index 00000000..2e347cf4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004f740.c @@ -0,0 +1,298 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004f740 FUN_14004f740 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014004fdd7) */ +/* WARNING: Removing unreachable block (ram,0x00014004fddf) */ +/* WARNING: Removing unreachable block (ram,0x00014004fde3) */ +/* WARNING: Removing unreachable block (ram,0x00014004fded) */ + +void FUN_14004f740(longlong param_1,int param_2,int param_3) + +{ + double *pdVar1; + int *piVar2; + double dVar3; + int iVar4; + undefined8 uVar5; + undefined8 uVar6; + undefined8 uVar7; + longlong *plVar8; + longlong lVar9; + void *pvVar10; + ulonglong uVar11; + int iVar12; + longlong lVar13; + ulonglong uVar14; + int iVar15; + longlong lVar16; + longlong lVar17; + int local_res10 [2]; + int local_res18 [2]; + char *local_res20; + longlong *local_138; + void *local_130; + ulonglong local_128; + longlong local_120; + longlong local_118; + longlong *local_108; + undefined **local_100 [3]; + undefined **local_e8 [3]; + undefined8 local_d0; + undefined8 local_c8; + undefined8 local_c0; + undefined **local_b8 [3]; + undefined8 local_a0; + undefined **local_98 [3]; + undefined **local_80 [3]; + undefined8 local_68 [3]; + undefined8 local_50 [3]; + + local_a0 = 0xfffffffffffffffe; + if (1 < param_2 - param_3) { + std::_Container_base12::_Container_base12((_Container_base12 *)&local_138); + local_138 = operator_new(0x10); + if (local_138 == (longlong *)0x0) { + local_108 = local_138; + std::exception::exception((exception *)local_e8,(char **)&local_108); + local_e8[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_e8,(ThrowInfo *)&DAT_140151ad0); + } + *local_138 = 0; + local_138[1] = 0; + *local_138 = (longlong)&local_138; + local_130 = (void *)0x0; + local_128 = 0; + local_120 = 0; + local_118 = 0; + local_res18[0] = param_2 + -1; + local_res10[0] = param_3; + FUN_140044460((_Container_base12 *)&local_138,local_res10); + FUN_140044460((_Container_base12 *)&local_138,local_res18); + lVar13 = local_118; + while (lVar16 = 0, uVar11 = local_128, lVar13 != 0) { + plVar8 = FUN_1400415a0(&local_138,&local_d0); + plVar8 = FUN_140044550(plVar8,local_68,1); + lVar17 = lVar16; + if ((longlong *)*plVar8 != (longlong *)0x0) { + lVar17 = *(longlong *)*plVar8; + } + uVar11 = (ulonglong)plVar8[2] >> 2; + if (*(ulonglong *)(lVar17 + 0x10) <= uVar11) { + uVar11 = uVar11 - *(ulonglong *)(lVar17 + 0x10); + } + local_res10[0] = + *(int *)(*(longlong *)(*(longlong *)(lVar17 + 8) + uVar11 * 8) + + (ulonglong)((uint)plVar8[2] & 3) * 4); + if ((lVar13 != 0) && (lVar13 = lVar13 + -1, local_118 = lVar13, lVar13 == 0)) { + local_120 = lVar16; + } + plVar8 = FUN_1400415a0(&local_138,local_68); + plVar8 = FUN_140044550(plVar8,local_50,1); + lVar17 = lVar16; + if ((longlong *)*plVar8 != (longlong *)0x0) { + lVar17 = *(longlong *)*plVar8; + } + uVar11 = (ulonglong)plVar8[2] >> 2; + if (*(ulonglong *)(lVar17 + 0x10) <= uVar11) { + uVar11 = uVar11 - *(ulonglong *)(lVar17 + 0x10); + } + iVar4 = *(int *)(*(longlong *)(*(longlong *)(lVar17 + 8) + uVar11 * 8) + + (ulonglong)((uint)plVar8[2] & 3) * 4); + lVar17 = (longlong)iVar4; + if ((lVar13 != 0) && (lVar13 = lVar13 + -1, local_118 = lVar13, lVar13 == 0)) { + local_120 = lVar16; + } + iVar15 = iVar4 + 1; + lVar16 = *(longlong *)(param_1 + lVar17 * 0x18); + local_c8 = *(undefined8 *)(param_1 + 8 + lVar17 * 0x18); + local_c0 = *(undefined8 *)(param_1 + 0x10 + lVar17 * 0x18); + if (iVar15 <= local_res10[0]) { + iVar12 = local_res10[0]; + if ((iVar15 < local_res10[0]) && (lVar13 = local_118, iVar15 <= local_res10[0])) { + do { + dVar3 = *(double *)(lVar16 + 0x188); + while (*(double *)(*(longlong *)(param_1 + (longlong)iVar15 * 0x18) + 0x188) <= dVar3) { + iVar15 = iVar15 + 1; + lVar13 = local_118; + if (iVar12 < iVar15) goto LAB_14004f9c8; + } + while( true ) { + lVar13 = local_118; + if (iVar12 < iVar15) goto LAB_14004f9c8; + if (*(double *)(*(longlong *)(param_1 + (longlong)iVar12 * 0x18) + 0x188) < dVar3) + break; + iVar12 = iVar12 + -1; + } + if (iVar12 < iVar15) break; + lVar13 = (longlong)iVar12; + lVar9 = (longlong)iVar15; + uVar6 = *(undefined8 *)(param_1 + lVar9 * 0x18); + uVar7 = *(undefined8 *)(param_1 + 8 + lVar9 * 0x18); + uVar5 = *(undefined8 *)(param_1 + 0x10 + lVar9 * 0x18); + *(undefined8 *)(param_1 + lVar9 * 0x18) = *(undefined8 *)(param_1 + lVar13 * 0x18); + *(undefined8 *)(param_1 + 8 + lVar9 * 0x18) = + *(undefined8 *)(param_1 + 8 + lVar13 * 0x18); + *(undefined8 *)(param_1 + 0x10 + lVar9 * 0x18) = + *(undefined8 *)(param_1 + 0x10 + lVar13 * 0x18); + *(undefined8 *)(param_1 + lVar13 * 0x18) = uVar6; + *(undefined8 *)(param_1 + 8 + lVar13 * 0x18) = uVar7; + *(undefined8 *)(param_1 + 0x10 + lVar13 * 0x18) = uVar5; + lVar13 = local_118; + } while (iVar15 < iVar12); + } +LAB_14004f9c8: + if (iVar4 <= iVar12) { + lVar9 = (longlong)iVar12; + lVar16 = *(longlong *)(param_1 + lVar17 * 0x18); + dVar3 = *(double *)(lVar16 + 0x188); + pdVar1 = (double *)(*(longlong *)(param_1 + lVar9 * 0x18) + 0x188); + if (*pdVar1 <= dVar3 && dVar3 != *pdVar1) { + uVar6 = *(undefined8 *)(param_1 + 8 + lVar17 * 0x18); + uVar7 = *(undefined8 *)(param_1 + 0x10 + lVar17 * 0x18); + *(undefined8 *)(param_1 + lVar17 * 0x18) = *(undefined8 *)(param_1 + lVar9 * 0x18); + *(undefined8 *)(param_1 + 8 + lVar17 * 0x18) = + *(undefined8 *)(param_1 + 8 + lVar9 * 0x18); + *(undefined8 *)(param_1 + 0x10 + lVar17 * 0x18) = + *(undefined8 *)(param_1 + 0x10 + lVar9 * 0x18); + *(longlong *)(param_1 + lVar9 * 0x18) = lVar16; + *(undefined8 *)(param_1 + 8 + lVar9 * 0x18) = uVar6; + *(undefined8 *)(param_1 + 0x10 + lVar9 * 0x18) = uVar7; + lVar13 = local_118; + } + if (iVar4 < iVar12) { + std::_Container_base12::_Orphan_all((_Container_base12 *)&local_138); + if ((((int)local_120 + (int)local_118 & 3U) == 0) && (local_128 <= local_118 + 4U >> 2)) + { + FUN_1400415c0((longlong)&local_138,1); + } + uVar11 = local_118 + local_120; + uVar14 = uVar11 >> 2; + if (local_128 <= uVar14) { + uVar14 = uVar14 - local_128; + } + if (*(longlong *)((longlong)local_130 + uVar14 * 8) == 0) { + pvVar10 = operator_new(0x10); + if (pvVar10 == (void *)0x0) { + local_res20 = (char *)0x0; + std::exception::exception((exception *)local_98,&local_res20); + local_98[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_98,(ThrowInfo *)&DAT_140151ad0); + } + *(void **)((longlong)local_130 + uVar14 * 8) = pvVar10; + } + piVar2 = (int *)(*(longlong *)((longlong)local_130 + uVar14 * 8) + + (ulonglong)((uint)uVar11 & 3) * 4); + if (piVar2 != (int *)0x0) { + *piVar2 = iVar4; + } + local_118 = local_118 + 1; + std::_Container_base12::_Orphan_all((_Container_base12 *)&local_138); + if ((((char)local_118 + (char)local_120 & 3U) == 0) && + (local_128 <= local_118 + 4U >> 2)) { + FUN_1400415c0((longlong)&local_138,1); + } + uVar11 = local_118 + local_120; + uVar14 = uVar11 >> 2; + if (local_128 <= uVar14) { + uVar14 = uVar14 - local_128; + } + if (*(longlong *)((longlong)local_130 + uVar14 * 8) == 0) { + local_res20 = operator_new(0x10); + if (local_res20 == (char *)0x0) { + std::exception::exception((exception *)local_80,&local_res20); + local_80[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_80,(ThrowInfo *)&DAT_140151ad0); + } + *(char **)((longlong)local_130 + uVar14 * 8) = local_res20; + } + piVar2 = (int *)(*(longlong *)((longlong)local_130 + uVar14 * 8) + + (ulonglong)((uint)uVar11 & 3) * 4); + if (piVar2 != (int *)0x0) { + *piVar2 = iVar12 + -1; + } + lVar13 = local_118 + 1; + local_118 = lVar13; + } + } + iVar4 = local_res10[0]; + if (iVar12 < local_res10[0]) { + std::_Container_base12::_Orphan_all((_Container_base12 *)&local_138); + if ((((int)local_120 + (int)local_118 & 3U) == 0) && (local_128 <= local_118 + 4U >> 2)) { + FUN_1400415c0((longlong)&local_138,1); + } + uVar11 = local_118 + local_120; + uVar14 = uVar11 >> 2; + if (local_128 <= uVar14) { + uVar14 = uVar14 - local_128; + } + if (*(longlong *)((longlong)local_130 + uVar14 * 8) == 0) { + pvVar10 = operator_new(0x10); + if (pvVar10 == (void *)0x0) { + local_res20 = (char *)0x0; + std::exception::exception((exception *)local_b8,&local_res20); + local_b8[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_b8,(ThrowInfo *)&DAT_140151ad0); + } + *(void **)((longlong)local_130 + uVar14 * 8) = pvVar10; + } + piVar2 = (int *)(*(longlong *)((longlong)local_130 + uVar14 * 8) + + (ulonglong)((uint)uVar11 & 3) * 4); + if (piVar2 != (int *)0x0) { + *piVar2 = iVar12 + 1; + } + local_118 = local_118 + 1; + std::_Container_base12::_Orphan_all((_Container_base12 *)&local_138); + if ((((char)local_118 + (char)local_120 & 3U) == 0) && (local_128 <= local_118 + 4U >> 2)) + { + FUN_1400415c0((longlong)&local_138,1); + } + uVar11 = local_118 + local_120; + uVar14 = uVar11 >> 2; + if (local_128 <= uVar14) { + uVar14 = uVar14 - local_128; + } + if (*(longlong *)((longlong)local_130 + uVar14 * 8) == 0) { + pvVar10 = operator_new(0x10); + if (pvVar10 == (void *)0x0) { + local_res20 = (char *)0x0; + std::exception::exception((exception *)local_100,&local_res20); + local_100[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_100,(ThrowInfo *)&DAT_140151ad0); + } + *(void **)((longlong)local_130 + uVar14 * 8) = pvVar10; + } + piVar2 = (int *)(*(longlong *)((longlong)local_130 + uVar14 * 8) + + (ulonglong)((uint)uVar11 & 3) * 4); + if (piVar2 != (int *)0x0) { + *piVar2 = iVar4; + } + lVar13 = local_118 + 1; + local_118 = lVar13; + } + } + } + while (uVar11 != 0) { + uVar11 = uVar11 - 1; + if (*(longlong *)((longlong)local_130 + uVar11 * 8) != 0) { + operator_delete(*(void **)((longlong)local_130 + uVar11 * 8)); + } + } + if (local_130 != (void *)0x0) { + operator_delete(local_130); + } + local_128 = 0; + local_130 = (void *)0x0; + std::_Container_base12::_Orphan_all((_Container_base12 *)&local_138); + operator_delete(local_138); + local_138 = (longlong *)0x0; + std::_Container_base12::~_Container_base12((_Container_base12 *)&local_138); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004feb0.c b/decomp/Agent_Release_x64/full/functions/0x14004feb0.c new file mode 100644 index 00000000..21644c55 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004feb0.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004feb0 FUN_14004feb0 + * Pseudocode, not original source. */ + +undefined8 FUN_14004feb0(longlong param_1,uint param_2) + +{ + uint uVar1; + longlong lVar2; + ulonglong uVar3; + int *piVar4; + undefined8 uVar5; + uint *puVar6; + + piVar4 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x20) + 200))(); + } + lVar2 = *(longlong *)(param_1 + 0x20); + uVar1 = *(uint *)(lVar2 + 0xca0); + uVar3 = (ulonglong)param_2 % (ulonglong)uVar1; + if ((*(longlong *)(lVar2 + 0xc80) != 0) && + (puVar6 = *(uint **)(*(longlong *)(lVar2 + 0xc80) + uVar3 * 8), puVar6 != (uint *)0x0)) { + while ((uint)uVar3 == puVar6[8] % uVar1) { + if (*puVar6 == param_2) { + puVar6 = *(uint **)(puVar6 + 2); + if ((puVar6 != (uint *)0x0) && (*(longlong *)(puVar6 + 0x8a) == 0)) { + FUN_14004eed0(lVar2,puVar6,uVar3,(TypeDescriptor *)(ulonglong)uVar1); + } + break; + } + puVar6 = *(uint **)(puVar6 + 4); + if (puVar6 == (uint *)0x0) break; + } + } + uVar5 = FUN_14002e770((longlong)piVar4); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14004ffa0.c b/decomp/Agent_Release_x64/full/functions/0x14004ffa0.c new file mode 100644 index 00000000..4c6af983 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14004ffa0.c @@ -0,0 +1,68 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14004ffa0 FUN_14004ffa0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014005003e) */ + +longlong * FUN_14004ffa0(longlong param_1,longlong *param_2,uint param_3,uint param_4) + +{ + longlong *plVar1; + ulonglong uVar2; + uint *puVar3; + undefined8 *puVar4; + uint uVar5; + undefined8 *local_res8; + + puVar4 = (undefined8 *)0x0; + local_res8 = (undefined8 *)0x0; + uVar5 = param_3; + if ((int)param_4 < (int)param_3) { + uVar5 = param_4; + param_4 = param_3; + } + uVar2 = (ulonglong)(uVar5 << 0x10 ^ param_4) % (ulonglong)*(uint *)(param_1 + 0x28); + if (*(longlong *)(param_1 + 8) != 0) { + puVar3 = *(uint **)(*(longlong *)(param_1 + 8) + uVar2 * 8); + while( true ) { + if ((puVar3 == (uint *)0x0) || ((uint)uVar2 != puVar3[8] % *(uint *)(param_1 + 0x28))) + goto LAB_1400500d3; + if ((*puVar3 == uVar5) && (puVar3[1] == param_4)) break; + puVar3 = *(uint **)(puVar3 + 4); + } + if (puVar3 != (uint *)0x0) { + if (*(longlong *)(puVar3 + 2) != 0) { + *(longlong *)(*(longlong *)(puVar3 + 2) + 8) = + *(longlong *)(*(longlong *)(puVar3 + 2) + 8) + 1; + local_res8 = *(undefined8 **)(puVar3 + 2); + } + *param_2 = 0; + if (local_res8 != (undefined8 *)0x0) { + local_res8[1] = local_res8[1] + 1; + if ((*param_2 != 0) && + (*(longlong *)(*param_2 + 8) = *(longlong *)(*param_2 + 8) + -1, + *(longlong *)(*param_2 + 8) == 0)) { + puVar4 = (undefined8 *)*param_2; + } + *param_2 = (longlong)local_res8; + if (puVar4 != (undefined8 *)0x0) { + FUN_140041080(puVar4); + } + } + if (local_res8 == (undefined8 *)0x0) { + return param_2; + } + plVar1 = local_res8 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 != 0) { + return param_2; + } + FUN_140041080(local_res8); + return param_2; + } + } +LAB_1400500d3: + *param_2 = 0; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400500f0.c b/decomp/Agent_Release_x64/full/functions/0x1400500f0.c new file mode 100644 index 00000000..4ae15b3c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400500f0.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400500f0 FUN_1400500f0 + * Pseudocode, not original source. */ + +void FUN_1400500f0(undefined8 *param_1) + +{ + LPVOID pvVar1; + longlong *plVar2; + + *param_1 = Proud::CFastArray,0>::vftable; + if (0 < *(int *)(param_1 + 3)) { + FUN_1400bc420((longlong *)param_1[2],(longlong)*(int *)(param_1 + 3)); + } + pvVar1 = (LPVOID)param_1[2]; + if (pvVar1 != (LPVOID)0x0) { + plVar2 = (longlong *)param_1[1]; + if (plVar2 != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x000140050137. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*plVar2 + 0x18))(plVar2,pvVar1); + return; + } + FUN_1400302f0(pvVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140050150.c b/decomp/Agent_Release_x64/full/functions/0x140050150.c new file mode 100644 index 00000000..2d2dacd2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140050150.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140050150 FUN_140050150 + * Pseudocode, not original source. */ + +undefined8 * FUN_140050150(undefined8 *param_1,uint param_2) + +{ + LPVOID pvVar1; + longlong *plVar2; + + *param_1 = Proud::CFastArray,0>::vftable; + if (0 < *(int *)(param_1 + 3)) { + FUN_1400bc420((longlong *)param_1[2],(longlong)*(int *)(param_1 + 3)); + } + pvVar1 = (LPVOID)param_1[2]; + if (pvVar1 != (LPVOID)0x0) { + plVar2 = (longlong *)param_1[1]; + if (plVar2 == (longlong *)0x0) { + FUN_1400302f0(pvVar1); + } + else { + (**(code **)(*plVar2 + 0x18))(plVar2,pvVar1); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400501c0.c b/decomp/Agent_Release_x64/full/functions/0x1400501c0.c new file mode 100644 index 00000000..3b01e733 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400501c0.c @@ -0,0 +1,114 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400501c0 FUN_1400501c0 + * Pseudocode, not original source. */ + +void FUN_1400501c0(char *param_1) + +{ + LPVOID pvVar1; + longlong *plVar2; + undefined8 *puVar3; + LPVOID pvVar4; + uint uVar5; + ulonglong uVar6; + longlong lVar7; + longlong lVar8; + float fVar9; + float fVar10; + + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + 1; + FUN_140097020(param_1); + pvVar4 = *(LPVOID *)(param_1 + 0x10); + while (pvVar4 != (LPVOID)0x0) { + pvVar1 = *(LPVOID *)((longlong)pvVar4 + 0x18); + if ((*(longlong *)((longlong)pvVar4 + 0x10) != 0) && + (*(longlong *)(*(longlong *)((longlong)pvVar4 + 0x10) + 8) = + *(longlong *)(*(longlong *)((longlong)pvVar4 + 0x10) + 8) + -1, + *(longlong *)(*(longlong *)((longlong)pvVar4 + 0x10) + 8) == 0)) { + plVar2 = *(longlong **)((longlong)pvVar4 + 0x10); + puVar3 = (undefined8 *)*plVar2; + if (puVar3 != (undefined8 *)0x0) { + (**(code **)*puVar3)(puVar3,1); + } + FUN_1400302f0(plVar2); + } + plVar2 = *(longlong **)(param_1 + 0x50); + if (plVar2 == (longlong *)0x0) { + FUN_1400302f0(pvVar4); + } + else { + (**(code **)(*plVar2 + 0x18))(plVar2,pvVar4); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + pvVar4 = pvVar1; + } + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + param_1[0x20] = '\0'; + param_1[0x21] = '\0'; + param_1[0x22] = '\0'; + param_1[0x23] = '\0'; + param_1[0x24] = '\0'; + param_1[0x25] = '\0'; + param_1[0x26] = '\0'; + param_1[0x27] = '\0'; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + FUN_140097020(param_1); + if (*(int *)(param_1 + 0x48) == 0) { + uVar5 = FUN_14003d4e0((longlong)param_1,*(longlong *)(param_1 + 0x20)); + if (*(LPVOID *)(param_1 + 8) != (LPVOID)0x0) { + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + } + lVar7 = 0; + *(uint *)(param_1 + 0x28) = uVar5; + fVar10 = (float)uVar5 * *(float *)(param_1 + 0x34); + if ((9.223372e+18 < fVar10) && (fVar10 = fVar10 - 9.223372e+18, fVar10 < 9.223372e+18)) { + lVar7 = -0x8000000000000000; + } + fVar9 = (float)uVar5 * *(float *)(param_1 + 0x30); + lVar8 = 0; + *(longlong *)(param_1 + 0x38) = (longlong)fVar10 + lVar7; + if ((9.223372e+18 < fVar9) && (fVar9 = fVar9 - 9.223372e+18, fVar9 < 9.223372e+18)) { + lVar8 = -0x8000000000000000; + } + uVar6 = (longlong)fVar9 + lVar8; + if ((ulonglong)((longlong)fVar9 + lVar8) < 0x11) { + uVar6 = 0; + } + *(ulonglong *)(param_1 + 0x40) = uVar6; + } + FUN_140097020(param_1); + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140050340.c b/decomp/Agent_Release_x64/full/functions/0x140050340.c new file mode 100644 index 00000000..4f3dae55 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140050340.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140050340 FUN_140050340 + * Pseudocode, not original source. */ + +void FUN_140050340(char *param_1,LPVOID param_2,char param_3) + +{ + longlong *plVar1; + uint uVar2; + + if (param_2 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if ((*(longlong *)((longlong)param_2 + 8) != 0) && + (*(longlong *)(*(longlong *)((longlong)param_2 + 8) + 8) = + *(longlong *)(*(longlong *)((longlong)param_2 + 8) + 8) + -1, + *(longlong *)(*(longlong *)((longlong)param_2 + 8) + 8) == 0)) { + FUN_140041080(*(undefined8 **)((longlong)param_2 + 8)); + } + plVar1 = *(longlong **)(param_1 + 0x50); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(param_2); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,param_2); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + if (((param_3 != '\0') && (*(ulonglong *)(param_1 + 0x20) < *(ulonglong *)(param_1 + 0x40))) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar2 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14003f960(param_1,uVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400503f0.c b/decomp/Agent_Release_x64/full/functions/0x1400503f0.c new file mode 100644 index 00000000..bf9f0b85 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400503f0.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400503f0 FUN_1400503f0 + * Pseudocode, not original source. */ + +void FUN_1400503f0(char *param_1,LPVOID param_2,char param_3) + +{ + uint uVar1; + ulonglong uVar2; + uint uVar3; + + if (param_2 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar1 = *(uint *)(param_1 + 0x28); + uVar2 = (ulonglong)*(uint *)((longlong)param_2 + 0x20) % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 0x20) == 1) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + } + else { + uVar3 = (uint)uVar2; + if (((*(longlong *)((longlong)param_2 + 0x18) == 0) || + (*(uint *)(*(longlong *)((longlong)param_2 + 0x18) + 0x20) % uVar1 != uVar3)) && + ((*(longlong *)((longlong)param_2 + 0x10) == 0 || + (*(uint *)(*(longlong *)((longlong)param_2 + 0x10) + 0x20) % uVar1 != uVar3)))) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + } + else if (param_2 == *(LPVOID *)(*(longlong *)(param_1 + 8) + (longlong)(int)uVar3 * 8)) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = + *(undefined8 *)((longlong)param_2 + 0x10); + } + if (param_2 == *(LPVOID *)(param_1 + 0x10)) { + *(undefined8 *)(param_1 + 0x10) = *(undefined8 *)((longlong)param_2 + 0x10); + *(undefined8 *)((longlong)param_2 + 0x18) = 0; + } + if (param_2 == *(LPVOID *)(param_1 + 0x18)) { + *(undefined8 *)(param_1 + 0x18) = *(undefined8 *)((longlong)param_2 + 0x18); + *(undefined8 *)((longlong)param_2 + 0x10) = 0; + } + if (*(longlong *)((longlong)param_2 + 0x18) != 0) { + *(undefined8 *)(*(longlong *)((longlong)param_2 + 0x18) + 0x10) = + *(undefined8 *)((longlong)param_2 + 0x10); + } + if (*(longlong *)((longlong)param_2 + 0x10) != 0) { + *(undefined8 *)(*(longlong *)((longlong)param_2 + 0x10) + 0x18) = + *(undefined8 *)((longlong)param_2 + 0x18); + } + } + FUN_140050340(param_1,param_2,param_3); + FUN_14003d560(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400504f0.c b/decomp/Agent_Release_x64/full/functions/0x1400504f0.c new file mode 100644 index 00000000..650a79c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400504f0.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400504f0 FUN_1400504f0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400504f0(char *param_1,longlong param_2,uint param_3,undefined4 param_4) + +{ + undefined8 uVar1; + undefined8 *puVar2; + + if (*(longlong *)(param_1 + 8) == 0) { + uVar1 = FUN_14003f710((longlong)param_1,*(uint *)(param_1 + 0x28),'\x01'); + if ((char)uVar1 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + FUN_140097020(param_1); + puVar2 = FUN_14004f550(param_1,param_2,param_3,param_4); + FUN_140097020(param_1); + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140050570.c b/decomp/Agent_Release_x64/full/functions/0x140050570.c new file mode 100644 index 00000000..f3891b91 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140050570.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140050570 FUN_140050570 + * Pseudocode, not original source. */ + +undefined8 * FUN_140050570(char *param_1,undefined8 *param_2,uint param_3,undefined4 param_4) + +{ + longlong *plVar1; + longlong lVar2; + uint uVar3; + undefined8 *puVar4; + + plVar1 = *(longlong **)(param_1 + 0x50); + if (plVar1 == (longlong *)0x0) { + puVar4 = (undefined8 *)FUN_140030280(0x28); + } + else { + puVar4 = (undefined8 *) + (**(code **)(*plVar1 + 8))(plVar1,0x28,param_3,param_4,0xfffffffffffffffe); + } + if (puVar4 != (undefined8 *)0x0) { + *puVar4 = *param_2; + puVar4[1] = 0; + *(undefined4 *)(puVar4 + 4) = param_4; + } + lVar2 = *(longlong *)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8); + FUN_14003d560(param_1); + if (*(longlong *)(param_1 + 0x20) == 0) { + *(undefined8 **)(param_1 + 0x10) = puVar4; + *(undefined8 **)(param_1 + 0x18) = puVar4; + puVar4[3] = 0; + puVar4[2] = 0; + } + else { + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if (lVar2 == 0) { + lVar2 = *(longlong *)(param_1 + 0x10); + puVar4[3] = 0; + puVar4[2] = lVar2; + if (lVar2 != 0) { + *(undefined8 **)(lVar2 + 0x18) = puVar4; + } + *(undefined8 **)(param_1 + 0x10) = puVar4; + } + else { + if (*(longlong *)(lVar2 + 0x18) == 0) { + *(undefined8 **)(param_1 + 0x10) = puVar4; + } + else { + *(undefined8 **)(*(longlong *)(lVar2 + 0x18) + 0x10) = puVar4; + } + puVar4[3] = *(undefined8 *)(lVar2 + 0x18); + puVar4[2] = lVar2; + *(undefined8 **)(lVar2 + 0x18) = puVar4; + } + } + *(undefined8 **)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8) = puVar4; + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if ((*(ulonglong *)(param_1 + 0x38) < *(ulonglong *)(param_1 + 0x20)) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar3 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14003f960(param_1,uVar3); + } + FUN_14003d560(param_1); + return puVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400506c0.c b/decomp/Agent_Release_x64/full/functions/0x1400506c0.c new file mode 100644 index 00000000..38a63a34 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400506c0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400506c0 FUN_1400506c0 + * Pseudocode, not original source. */ + +void FUN_1400506c0(char *param_1,longlong *param_2,char param_3) + +{ + longlong *plVar1; + uint uVar2; + + if (param_2 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if ((*param_2 != 0) && + (*(longlong *)(*param_2 + 8) = *(longlong *)(*param_2 + 8) + -1, + *(longlong *)(*param_2 + 8) == 0)) { + FUN_140041080((undefined8 *)*param_2); + } + plVar1 = *(longlong **)(param_1 + 0x50); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(param_2); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,param_2); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + if (((param_3 != '\0') && (*(ulonglong *)(param_1 + 0x20) < *(ulonglong *)(param_1 + 0x40))) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar2 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14003f960(param_1,uVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140050770.c b/decomp/Agent_Release_x64/full/functions/0x140050770.c new file mode 100644 index 00000000..2a621874 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140050770.c @@ -0,0 +1,271 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140050770 FUN_140050770 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140050d53) */ +/* WARNING: Removing unreachable block (ram,0x000140050d5b) */ +/* WARNING: Removing unreachable block (ram,0x000140050d5f) */ +/* WARNING: Removing unreachable block (ram,0x000140050d69) */ + +void FUN_140050770(longlong param_1,int param_2,int param_3) + +{ + int *piVar1; + int iVar2; + int iVar3; + undefined4 uVar4; + longlong *plVar5; + void *pvVar6; + ulonglong uVar7; + int iVar8; + longlong lVar9; + ulonglong uVar10; + int iVar11; + longlong lVar12; + longlong lVar13; + int iVar14; + int local_res10 [2]; + int local_res18 [2]; + char *local_res20; + longlong *local_128; + void *local_120; + ulonglong local_118; + longlong local_110; + longlong local_108; + longlong *local_f8; + undefined **local_f0 [3]; + undefined **local_d8 [3]; + undefined **local_c0 [3]; + undefined8 local_a8; + undefined **local_a0 [3]; + undefined **local_88 [3]; + undefined8 local_70 [3]; + undefined8 local_58 [4]; + + local_a8 = 0xfffffffffffffffe; + if (1 < param_2 - param_3) { + std::_Container_base12::_Container_base12((_Container_base12 *)&local_128); + local_128 = operator_new(0x10); + if (local_128 == (longlong *)0x0) { + local_f8 = local_128; + std::exception::exception((exception *)local_d8,(char **)&local_f8); + local_d8[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d8,(ThrowInfo *)&DAT_140151ad0); + } + *local_128 = 0; + local_128[1] = 0; + *local_128 = (longlong)&local_128; + local_120 = (void *)0x0; + local_118 = 0; + local_110 = 0; + local_108 = 0; + local_res18[0] = param_2 + -1; + local_res10[0] = param_3; + FUN_140044460((_Container_base12 *)&local_128,local_res10); + FUN_140044460((_Container_base12 *)&local_128,local_res18); + lVar9 = local_108; + while (lVar13 = 0, uVar7 = local_118, lVar9 != 0) { + plVar5 = FUN_1400415a0(&local_128,local_70); + plVar5 = FUN_140044550(plVar5,local_58,1); + lVar12 = lVar13; + if ((longlong *)*plVar5 != (longlong *)0x0) { + lVar12 = *(longlong *)*plVar5; + } + uVar7 = (ulonglong)plVar5[2] >> 2; + if (*(ulonglong *)(lVar12 + 0x10) <= uVar7) { + uVar7 = uVar7 - *(ulonglong *)(lVar12 + 0x10); + } + iVar14 = *(int *)(*(longlong *)(*(longlong *)(lVar12 + 8) + uVar7 * 8) + + (ulonglong)((uint)plVar5[2] & 3) * 4); + if ((lVar9 != 0) && (lVar9 = lVar9 + -1, local_108 = lVar9, lVar9 == 0)) { + local_110 = lVar13; + } + local_res10[0] = iVar14; + plVar5 = FUN_1400415a0(&local_128,local_58); + plVar5 = FUN_140044550(plVar5,local_70,1); + lVar12 = lVar13; + if ((longlong *)*plVar5 != (longlong *)0x0) { + lVar12 = *(longlong *)*plVar5; + } + uVar7 = (ulonglong)plVar5[2] >> 2; + if (*(ulonglong *)(lVar12 + 0x10) <= uVar7) { + uVar7 = uVar7 - *(ulonglong *)(lVar12 + 0x10); + } + iVar2 = *(int *)(*(longlong *)(*(longlong *)(lVar12 + 8) + uVar7 * 8) + + (ulonglong)((uint)plVar5[2] & 3) * 4); + lVar12 = (longlong)iVar2; + if ((lVar9 != 0) && (lVar9 = lVar9 + -1, local_108 = lVar9, lVar9 == 0)) { + local_110 = lVar13; + } + iVar11 = iVar2 + 1; + iVar3 = *(int *)(param_1 + lVar12 * 4); + if (iVar11 <= iVar14) { + iVar8 = iVar14; + if ((iVar11 < iVar14) && (lVar9 = local_108, iVar11 <= iVar14)) { +LAB_140050937: + do { + if (iVar3 < *(int *)(param_1 + (longlong)iVar11 * 4)) { + if (iVar8 < iVar11) break; + do { + if (*(int *)(param_1 + (longlong)iVar8 * 4) < iVar3) { + if (iVar8 < iVar11) goto LAB_140050985; + uVar4 = *(undefined4 *)(param_1 + (longlong)iVar11 * 4); + *(undefined4 *)(param_1 + (longlong)iVar11 * 4) = + *(undefined4 *)(param_1 + (longlong)iVar8 * 4); + *(undefined4 *)(param_1 + (longlong)iVar8 * 4) = uVar4; + break; + } + iVar8 = iVar8 + -1; + } while (iVar11 <= iVar8); + } + else { + iVar11 = iVar11 + 1; + if (iVar11 <= iVar8) goto LAB_140050937; + } + } while (iVar11 < iVar8); + } +LAB_140050985: + if (iVar2 <= iVar8) { + iVar3 = *(int *)(param_1 + (longlong)iVar8 * 4); + if (iVar3 < *(int *)(param_1 + lVar12 * 4)) { + uVar4 = *(undefined4 *)(param_1 + lVar12 * 4); + *(int *)(param_1 + lVar12 * 4) = iVar3; + *(undefined4 *)(param_1 + (longlong)iVar8 * 4) = uVar4; + lVar9 = local_108; + } + if (iVar2 < iVar8) { + std::_Container_base12::_Orphan_all((_Container_base12 *)&local_128); + if ((((int)local_110 + (int)local_108 & 3U) == 0) && (local_118 <= local_108 + 4U >> 2)) + { + FUN_1400415c0((longlong)&local_128,1); + } + uVar7 = local_108 + local_110; + uVar10 = uVar7 >> 2; + if (local_118 <= uVar10) { + uVar10 = uVar10 - local_118; + } + if (*(longlong *)((longlong)local_120 + uVar10 * 8) == 0) { + pvVar6 = operator_new(0x10); + if (pvVar6 == (void *)0x0) { + local_res20 = (char *)0x0; + std::exception::exception((exception *)local_a0,&local_res20); + local_a0[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_a0,(ThrowInfo *)&DAT_140151ad0); + } + *(void **)((longlong)local_120 + uVar10 * 8) = pvVar6; + } + piVar1 = (int *)(*(longlong *)((longlong)local_120 + uVar10 * 8) + + (ulonglong)((uint)uVar7 & 3) * 4); + if (piVar1 != (int *)0x0) { + *piVar1 = iVar2; + } + local_108 = local_108 + 1; + std::_Container_base12::_Orphan_all((_Container_base12 *)&local_128); + if ((((char)local_108 + (char)local_110 & 3U) == 0) && + (local_118 <= local_108 + 4U >> 2)) { + FUN_1400415c0((longlong)&local_128,1); + } + uVar7 = local_108 + local_110; + uVar10 = uVar7 >> 2; + if (local_118 <= uVar10) { + uVar10 = uVar10 - local_118; + } + if (*(longlong *)((longlong)local_120 + uVar10 * 8) == 0) { + local_res20 = operator_new(0x10); + if (local_res20 == (char *)0x0) { + std::exception::exception((exception *)local_c0,&local_res20); + local_c0[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_c0,(ThrowInfo *)&DAT_140151ad0); + } + *(char **)((longlong)local_120 + uVar10 * 8) = local_res20; + } + piVar1 = (int *)(*(longlong *)((longlong)local_120 + uVar10 * 8) + + (ulonglong)((uint)uVar7 & 3) * 4); + if (piVar1 != (int *)0x0) { + *piVar1 = iVar8 + -1; + } + lVar9 = local_108 + 1; + iVar14 = local_res10[0]; + local_108 = lVar9; + } + } + if (iVar8 < iVar14) { + std::_Container_base12::_Orphan_all((_Container_base12 *)&local_128); + if ((((int)local_110 + (int)local_108 & 3U) == 0) && (local_118 <= local_108 + 4U >> 2)) { + FUN_1400415c0((longlong)&local_128,1); + } + uVar7 = local_108 + local_110; + uVar10 = uVar7 >> 2; + if (local_118 <= uVar10) { + uVar10 = uVar10 - local_118; + } + if (*(longlong *)((longlong)local_120 + uVar10 * 8) == 0) { + pvVar6 = operator_new(0x10); + if (pvVar6 == (void *)0x0) { + local_res20 = (char *)0x0; + std::exception::exception((exception *)local_f0,&local_res20); + local_f0[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_f0,(ThrowInfo *)&DAT_140151ad0); + } + *(void **)((longlong)local_120 + uVar10 * 8) = pvVar6; + } + piVar1 = (int *)(*(longlong *)((longlong)local_120 + uVar10 * 8) + + (ulonglong)((uint)uVar7 & 3) * 4); + if (piVar1 != (int *)0x0) { + *piVar1 = iVar8 + 1; + } + local_108 = local_108 + 1; + std::_Container_base12::_Orphan_all((_Container_base12 *)&local_128); + if ((((char)local_108 + (char)local_110 & 3U) == 0) && (local_118 <= local_108 + 4U >> 2)) + { + FUN_1400415c0((longlong)&local_128,1); + } + uVar7 = local_108 + local_110; + uVar10 = uVar7 >> 2; + if (local_118 <= uVar10) { + uVar10 = uVar10 - local_118; + } + if (*(longlong *)((longlong)local_120 + uVar10 * 8) == 0) { + pvVar6 = operator_new(0x10); + if (pvVar6 == (void *)0x0) { + local_res20 = (char *)0x0; + std::exception::exception((exception *)local_88,&local_res20); + local_88[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_88,(ThrowInfo *)&DAT_140151ad0); + } + *(void **)((longlong)local_120 + uVar10 * 8) = pvVar6; + } + piVar1 = (int *)(*(longlong *)((longlong)local_120 + uVar10 * 8) + + (ulonglong)((uint)uVar7 & 3) * 4); + if (piVar1 != (int *)0x0) { + *piVar1 = iVar14; + } + lVar9 = local_108 + 1; + local_108 = lVar9; + } + } + } + while (uVar7 != 0) { + uVar7 = uVar7 - 1; + if (*(longlong *)((longlong)local_120 + uVar7 * 8) != 0) { + operator_delete(*(void **)((longlong)local_120 + uVar7 * 8)); + } + } + if (local_120 != (void *)0x0) { + operator_delete(local_120); + } + local_118 = 0; + local_120 = (void *)0x0; + std::_Container_base12::_Orphan_all((_Container_base12 *)&local_128); + operator_delete(local_128); + local_128 = (longlong *)0x0; + std::_Container_base12::~_Container_base12((_Container_base12 *)&local_128); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140050e30.c b/decomp/Agent_Release_x64/full/functions/0x140050e30.c new file mode 100644 index 00000000..21dc5fd8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140050e30.c @@ -0,0 +1,212 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140050e30 FUN_140050e30 + * Pseudocode, not original source. */ + +undefined8 +FUN_140050e30(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,uint *param_5, + undefined8 *param_6,undefined8 *param_7,undefined8 *param_8,undefined8 *param_9) + +{ + int *piVar1; + short *psVar2; + longlong *plVar3; + short **ppsVar4; + int *piVar5; + longlong lVar6; + ulonglong uVar7; + undefined *puVar8; + short *psVar9; + uint *puVar10; + ulonglong uVar11; + undefined8 uVar12; + longlong *local_res8; + undefined8 *local_108; + short *local_100; + undefined *local_f8; + undefined *local_f0; + undefined *local_e8; + undefined *local_e0; + undefined **local_d8; + undefined4 local_d0; + undefined2 local_cc; + undefined **local_c8; + undefined4 local_c0; + undefined2 local_bc; + undefined **local_b8; + undefined4 local_b0; + undefined2 local_ac; + undefined **local_a8; + undefined4 local_a0; + undefined2 local_9c; + short **local_98; + undefined1 local_90; + short **local_88; + undefined1 local_80; + int *local_78; + undefined1 local_70; + short **local_68; + undefined1 local_60; + int *local_58; + undefined1 local_50; + int *local_48; + undefined1 local_40; + undefined8 local_38; + + local_38 = 0xfffffffffffffffe; + local_48 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(local_48); + local_40 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x20) + 200)) + (*(longlong **)(param_1 + 0x20), + L"Proud::CNetServerImpl::C2SStub::NotifyP2PHolepunchSuccess"); + } + local_res8 = (longlong *)0x0; + plVar3 = FUN_14004ffa0(*(longlong *)(param_1 + 0x20) + 0x2d8,(longlong *)&local_108,*param_4, + *param_5); + if (*plVar3 != 0) { + *(longlong *)(*plVar3 + 8) = *(longlong *)(*plVar3 + 8) + 1; + local_res8 = (longlong *)*plVar3; + } + if ((local_108 != (undefined8 *)0x0) && (local_108[1] = local_108[1] + -1, local_108[1] == 0)) { + FUN_140041080(local_108); + } + if (((local_res8 != (longlong *)0x0) && (lVar6 = *local_res8, lVar6 != 0)) && + (*(char *)(lVar6 + 8) == '\x01')) { + if (*(char *)(lVar6 + 8) != '\0') { + *(undefined1 *)(lVar6 + 8) = 0; + } + lVar6 = *local_res8; + uVar12 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x20) + 0x118) + 8))(); + *(undefined8 *)(lVar6 + 0x198) = uVar12; + local_b8 = Proud::AddrPort::vftable; + local_b0 = *(undefined4 *)(param_9 + 1); + local_ac = *(undefined2 *)((longlong)param_9 + 0xc); + local_d8 = Proud::AddrPort::vftable; + local_d0 = *(undefined4 *)(param_6 + 1); + local_cc = *(undefined2 *)((longlong)param_6 + 0xc); + FUN_14003cd40(*local_res8,*param_4,(longlong)&local_d8,(longlong)&local_b8); + local_c8 = Proud::AddrPort::vftable; + local_c0 = *(undefined4 *)(param_7 + 1); + local_bc = *(undefined2 *)((longlong)param_7 + 0xc); + local_a8 = Proud::AddrPort::vftable; + local_a0 = *(undefined4 *)(param_8 + 1); + local_9c = *(undefined2 *)((longlong)param_8 + 0xc); + FUN_14003cd40(*local_res8,*param_5,(longlong)&local_a8,(longlong)&local_c8); + plVar3 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0x4a8); + (**(code **)(*plVar3 + 0x90)) + (plVar3,*param_4,&DAT_14015de10,param_4,param_5,param_6,param_7,param_8,param_9); + plVar3 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0x4a8); + puVar8 = &DAT_14015de10; + uVar7 = (ulonglong)*param_5; + puVar10 = param_4; + (**(code **)(*plVar3 + 0x90))(); + if (*(longlong *)(*(longlong *)(param_1 + 0x20) + 0x17f0) != 0) { + FUN_140030200(plVar3,uVar7,puVar8,puVar10); + local_100 = (short *)PTR_DAT_140155010; + (**(code **)*param_9)(param_9,&local_e0); + (**(code **)*param_8)(param_8,&local_f0); + (**(code **)*param_7)(param_7,&local_e8); + (**(code **)*param_6)(param_6,&local_f8); + uVar11 = (ulonglong)*param_5; + uVar7 = (ulonglong)*param_4; + ppsVar4 = &local_100; + FUN_14001b7a0((longlong *)ppsVar4, + L"Client %d-Client %d간 P2P UDP 홀펀칭 최종 단계 성공: ABSendAddr=%s ABRecvAddr=%s BASendAddr=%s BARecvAddr=%s" + ,uVar7,uVar11); + if (((local_f8 != (undefined *)0x0) && (local_f8 != PTR_DAT_140155010)) && + (local_f8 + -8 != (undefined *)0x0)) { + ppsVar4 = (short **)FUN_140030200(ppsVar4,PTR_DAT_140155010,uVar7,uVar11); + local_98 = ppsVar4; + FUN_14002e6e0((int *)ppsVar4); + local_90 = 1; + piVar1 = (int *)(local_f8 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_f8 + -8); + } + FUN_14002e770((longlong)ppsVar4); + local_90 = 0; + } + local_f8 = PTR_DAT_140155010; + if (((local_e8 != (undefined *)0x0) && (local_e8 != PTR_DAT_140155010)) && + (local_e8 + -8 != (undefined *)0x0)) { + ppsVar4 = (short **)FUN_140030200(ppsVar4,PTR_DAT_140155010,uVar7,uVar11); + local_68 = ppsVar4; + FUN_14002e6e0((int *)ppsVar4); + local_60 = 1; + piVar1 = (int *)(local_e8 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_e8 + -8); + } + FUN_14002e770((longlong)ppsVar4); + local_60 = 0; + } + local_e8 = PTR_DAT_140155010; + if (((local_f0 != (undefined *)0x0) && (local_f0 != PTR_DAT_140155010)) && + (local_f0 + -8 != (undefined *)0x0)) { + ppsVar4 = (short **)FUN_140030200(ppsVar4,PTR_DAT_140155010,uVar7,uVar11); + local_88 = ppsVar4; + FUN_14002e6e0((int *)ppsVar4); + local_80 = 1; + piVar1 = (int *)(local_f0 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_f0 + -8); + } + FUN_14002e770((longlong)ppsVar4); + local_80 = 0; + } + local_f0 = PTR_DAT_140155010; + if (((local_e0 != (undefined *)0x0) && (local_e0 != PTR_DAT_140155010)) && + (local_e0 + -8 != (undefined *)0x0)) { + piVar5 = (int *)FUN_140030200(ppsVar4,PTR_DAT_140155010,uVar7,uVar11); + local_78 = piVar5; + FUN_14002e6e0(piVar5); + local_70 = 1; + piVar1 = (int *)(local_e0 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_e0 + -8); + } + FUN_14002e770((longlong)piVar5); + local_70 = 0; + } + psVar2 = local_100; + psVar9 = local_100; + if (local_100 == (short *)0x0) { + psVar9 = (short *)PTR_DAT_140155010; + } + uVar12 = 1; + lVar6 = *(longlong *)(*(longlong *)(param_1 + 0x20) + 0x17f0); + local_e0 = PTR_DAT_140155010; + FUN_14008f2e0(lVar6,1,psVar9,uVar11); + if (((psVar2 != (short *)0x0) && (psVar2 != (short *)PTR_DAT_140155010)) && + (psVar2 + -4 != (short *)0x0)) { + piVar5 = (int *)FUN_140030200(lVar6,uVar12,psVar9,uVar11); + local_58 = piVar5; + FUN_14002e6e0(piVar5); + local_50 = 1; + piVar1 = (int *)(psVar2 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar2 + -4); + } + FUN_14002e770((longlong)piVar5); + local_50 = 0; + } + local_100 = (short *)PTR_DAT_140155010; + } + } + if (local_res8 != (longlong *)0x0) { + plVar3 = local_res8 + 1; + *plVar3 = *plVar3 + -1; + if (*plVar3 == 0) { + FUN_140041080(local_res8); + } + } + uVar12 = FUN_14002e770((longlong)local_48); + return CONCAT71((int7)((ulonglong)uVar12 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140051360.c b/decomp/Agent_Release_x64/full/functions/0x140051360.c new file mode 100644 index 00000000..04d162a6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140051360.c @@ -0,0 +1,120 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140051360 FUN_140051360 + * Pseudocode, not original source. */ + +undefined8 +FUN_140051360(longlong param_1,uint param_2,undefined8 param_3,uint *param_4,int *param_5) + +{ + int *piVar1; + uint uVar2; + undefined4 uVar3; + undefined2 uVar4; + short *psVar5; + int *piVar6; + int *piVar7; + undefined8 uVar8; + uint *puVar9; + longlong *plVar10; + longlong lVar11; + longlong lVar12; + ulonglong uVar13; + undefined *puVar14; + short *psVar15; + longlong *local_res8; + uint local_res10 [2]; + short *local_res20; + + local_res10[0] = param_2; + piVar6 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar6); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x20) + 200))(); + } + uVar2 = *param_4; + lVar11 = *(longlong *)(param_1 + 0x20); + uVar13 = (ulonglong)uVar2 % (ulonglong)*(uint *)(lVar11 + 0xca0); + if ((*(longlong *)(lVar11 + 0xc80) != 0) && + (puVar9 = *(uint **)(*(longlong *)(lVar11 + 0xc80) + uVar13 * 8), puVar9 != (uint *)0x0)) { + while ((uint)uVar13 == puVar9[8] % *(uint *)(lVar11 + 0xca0)) { + if (*puVar9 == uVar2) { + if ((*(longlong *)(puVar9 + 2) != 0) && + (*(longlong *)(*(longlong *)(puVar9 + 2) + 0x228) == 0)) { + FUN_14004ffa0(lVar11 + 0x2d8,(longlong *)&local_res8,local_res10[0],uVar2); + if ((local_res8 != (longlong *)0x0) && + ((lVar11 = *local_res8, lVar11 != 0 && (*(char *)(lVar11 + 8) == '\0')))) { + lVar12 = 0; + if (*param_5 != 0x1d) { + *(undefined8 *)(lVar11 + 0x198) = 0; + } + uVar4 = DAT_1401553d4; + uVar3 = DAT_1401553d0; + if (local_res8 != (longlong *)0x0) { + lVar12 = *local_res8; + } + if (*(char *)(lVar12 + 8) != '\x01') { + *(undefined4 *)(lVar12 + 0x10) = 0; + *(undefined4 *)(lVar12 + 0x20) = uVar3; + *(undefined2 *)(lVar12 + 0x24) = uVar4; + *(undefined4 *)(lVar12 + 0x30) = uVar3; + *(undefined2 *)(lVar12 + 0x34) = uVar4; + *(undefined1 *)(lVar12 + 0x38) = 0; + uVar4 = DAT_1401553d4; + uVar3 = DAT_1401553d0; + *(undefined4 *)(lVar12 + 0x40) = 0; + *(undefined4 *)(lVar12 + 0x50) = uVar3; + *(undefined2 *)(lVar12 + 0x54) = uVar4; + *(undefined4 *)(lVar12 + 0x60) = uVar3; + *(undefined2 *)(lVar12 + 100) = uVar4; + *(undefined1 *)(lVar12 + 0x68) = 0; + *(undefined1 *)(lVar12 + 8) = 1; + } + plVar10 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0x4a8); + puVar9 = local_res10; + puVar14 = &DAT_14015de10; + uVar13 = (ulonglong)*param_4; + (**(code **)(*plVar10 + 0x70))(); + if (*(longlong *)(*(longlong *)(param_1 + 0x20) + 0x17f0) != 0) { + FUN_140030200(plVar10,uVar13,puVar14,puVar9); + local_res20 = (short *)PTR_DAT_140155010; + uVar13 = (ulonglong)*param_4; + FUN_14001b7a0((longlong *)&local_res20, + L"Client %d-Client %d간 P2P UDP 홀펀칭 중도 해제", + (ulonglong)local_res10[0],uVar13); + psVar5 = local_res20; + psVar15 = local_res20; + if (local_res20 == (short *)0x0) { + psVar15 = (short *)PTR_DAT_140155010; + } + uVar8 = 1; + lVar11 = *(longlong *)(*(longlong *)(param_1 + 0x20) + 0x17f0); + FUN_14008f2e0(lVar11,1,psVar15,uVar13); + if (((psVar5 != (short *)0x0) && (psVar5 != (short *)PTR_DAT_140155010)) && + (psVar5 + -4 != (short *)0x0)) { + piVar7 = (int *)FUN_140030200(lVar11,uVar8,psVar15,uVar13); + FUN_14002e6e0(piVar7); + piVar1 = (int *)(psVar5 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar5 + -4); + } + FUN_14002e770((longlong)piVar7); + } + local_res20 = (short *)PTR_DAT_140155010; + } + } + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + FUN_140041080(local_res8); + } + } + break; + } + puVar9 = *(uint **)(puVar9 + 4); + if (puVar9 == (uint *)0x0) break; + } + } + uVar8 = FUN_14002e770((longlong)piVar6); + return CONCAT71((int7)((ulonglong)uVar8 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140051630.c b/decomp/Agent_Release_x64/full/functions/0x140051630.c new file mode 100644 index 00000000..843d7d5d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140051630.c @@ -0,0 +1,118 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140051630 FUN_140051630 + * Pseudocode, not original source. */ + +undefined8 FUN_140051630(longlong param_1,uint param_2,undefined8 param_3,uint *param_4) + +{ + int *piVar1; + uint uVar2; + undefined4 uVar3; + undefined2 uVar4; + short *psVar5; + int *piVar6; + int *piVar7; + uint *puVar8; + longlong *plVar9; + longlong lVar10; + ulonglong uVar11; + undefined *puVar12; + short *psVar13; + longlong *local_res8; + uint local_res10 [2]; + short *local_res20; + undefined8 uVar14; + int *piVar15; + undefined1 uVar16; + + uVar14 = 0xfffffffffffffffe; + local_res10[0] = param_2; + piVar6 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + piVar15 = piVar6; + FUN_14002e6e0(piVar6); + uVar16 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x20) + 200))(); + } + uVar2 = *param_4; + lVar10 = *(longlong *)(param_1 + 0x20); + uVar11 = (ulonglong)uVar2 % (ulonglong)*(uint *)(lVar10 + 0xca0); + if ((*(longlong *)(lVar10 + 0xc80) != 0) && + (puVar8 = *(uint **)(*(longlong *)(lVar10 + 0xc80) + uVar11 * 8), puVar8 != (uint *)0x0)) { + while ((uint)uVar11 == puVar8[8] % *(uint *)(lVar10 + 0xca0)) { + if (*puVar8 == uVar2) { + if ((*(longlong *)(puVar8 + 2) != 0) && + (*(longlong *)(*(longlong *)(puVar8 + 2) + 0x228) == 0)) { + FUN_14004ffa0(lVar10 + 0x2d8,(longlong *)&local_res8,local_res10[0],uVar2); + uVar4 = DAT_1401553d4; + uVar3 = DAT_1401553d0; + if ((local_res8 != (longlong *)0x0) && (lVar10 = *local_res8, lVar10 != 0)) { + if (*(char *)(lVar10 + 8) != '\x01') { + *(undefined4 *)(lVar10 + 0x10) = 0; + *(undefined4 *)(lVar10 + 0x20) = uVar3; + *(undefined2 *)(lVar10 + 0x24) = uVar4; + *(undefined4 *)(lVar10 + 0x30) = uVar3; + *(undefined2 *)(lVar10 + 0x34) = uVar4; + *(undefined1 *)(lVar10 + 0x38) = 0; + uVar4 = DAT_1401553d4; + uVar3 = DAT_1401553d0; + *(undefined4 *)(lVar10 + 0x40) = 0; + *(undefined4 *)(lVar10 + 0x50) = uVar3; + *(undefined2 *)(lVar10 + 0x54) = uVar4; + *(undefined4 *)(lVar10 + 0x60) = uVar3; + *(undefined2 *)(lVar10 + 100) = uVar4; + *(undefined1 *)(lVar10 + 0x68) = 0; + *(undefined1 *)(lVar10 + 8) = 1; + } + plVar9 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0x4a8); + (**(code **)(*plVar9 + 0x110)) + (plVar9,*param_4,&DAT_14015de10,local_res10,uVar14,piVar15,uVar16); + plVar9 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0x4a8); + puVar12 = &DAT_14015de10; + uVar11 = (ulonglong)local_res10[0]; + puVar8 = param_4; + (**(code **)(*plVar9 + 0x110))(); + if (*(longlong *)(*(longlong *)(param_1 + 0x20) + 0x17f0) != 0) { + FUN_140030200(plVar9,uVar11,puVar12,puVar8); + local_res20 = (short *)PTR_DAT_140155010; + uVar11 = (ulonglong)*param_4; + FUN_14001b7a0((longlong *)&local_res20, + L"Client %d-Client %d간 P2P UDP 홀펀칭을 완전히 처음부터 다시 시작합니다. 한쪽 UDP 소켓이 Restore이니까." + ,(ulonglong)local_res10[0],uVar11); + psVar5 = local_res20; + psVar13 = local_res20; + if (local_res20 == (short *)0x0) { + psVar13 = (short *)PTR_DAT_140155010; + } + uVar14 = 1; + lVar10 = *(longlong *)(*(longlong *)(param_1 + 0x20) + 0x17f0); + FUN_14008f2e0(lVar10,1,psVar13,uVar11); + if (((psVar5 != (short *)0x0) && (psVar5 != (short *)PTR_DAT_140155010)) && + (psVar5 + -4 != (short *)0x0)) { + piVar7 = (int *)FUN_140030200(lVar10,uVar14,psVar13,uVar11); + FUN_14002e6e0(piVar7); + piVar1 = (int *)(psVar5 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar5 + -4); + } + FUN_14002e770((longlong)piVar7); + } + local_res20 = (short *)PTR_DAT_140155010; + } + } + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, piVar6 = piVar15, local_res8[1] == 0)) { + FUN_140041080(local_res8); + } + } + break; + } + puVar8 = *(uint **)(puVar8 + 4); + if (puVar8 == (uint *)0x0) break; + } + } + uVar14 = FUN_14002e770((longlong)piVar6); + return CONCAT71((int7)((ulonglong)uVar14 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400518f0.c b/decomp/Agent_Release_x64/full/functions/0x1400518f0.c new file mode 100644 index 00000000..fcf13f08 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400518f0.c @@ -0,0 +1,453 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400518f0 FUN_1400518f0 + * Pseudocode, not original source. */ + +void FUN_1400518f0(longlong *param_1,longlong *param_2,undefined8 param_3,double param_4) + +{ + int *piVar1; + uint uVar2; + int iVar3; + void *pvVar4; + undefined8 uVar5; + longlong *plVar6; + uint uVar7; + undefined8 *puVar8; + uint uVar9; + uint uVar10; + longlong lVar11; + uint *puVar12; + longlong *plVar13; + ulonglong uVar14; + longlong lVar15; + longlong *plVar16; + longlong lVar17; + uint *puVar18; + int iVar19; + longlong lVar20; + ulonglong uVar21; + ulonglong uVar22; + ulonglong in_R9; + int iVar23; + int iVar24; + longlong lVar25; + bool bVar26; + bool bVar27; + undefined8 *local_e0; + longlong local_d8; + longlong local_d0; + undefined8 local_c8; + undefined8 local_c0; + undefined8 local_b8; + undefined8 local_b0; + undefined8 local_a8; + undefined8 local_a0; + void *local_98; + exception local_90 [88]; + + if ((int)param_3 == 0) { + return; + } + local_a0 = 0xfffffffffffffffe; + bVar26 = false; + plVar6 = param_1 + 0x2f4; + FUN_14003e6b0((longlong)plVar6,0,param_3,in_R9); + lVar25 = param_2[1]; + iVar24 = 0; + lVar11 = lVar25; + local_d8 = lVar25; + if (0 < (int)lVar25) { + do { + if ((iVar24 < 0) || (param_2[1] <= (longlong)iVar24)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar19 = iVar24; + if (iVar24 < (int)lVar25) { + do { + lVar15 = (longlong)iVar24; + if (iVar24 == iVar19) { +LAB_140051a28: + bVar27 = false; + } + else { + lVar11 = (longlong)iVar19; + if ((iVar19 < 0) || (param_2[1] <= lVar11)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_2[2] < 0x65) { + puVar12 = (uint *)(param_2 + (lVar11 + 1) * 4); + } + else { + puVar12 = (uint *)(lVar11 * 0x20 + *param_2); + } + if (param_2[1] <= lVar15) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_2[2] < 0x65) { + puVar18 = (uint *)(param_2 + (lVar15 + 1) * 4); + } + else { + puVar18 = (uint *)(lVar15 * 0x20 + *param_2); + } + in_R9 = (ulonglong)*puVar12; + plVar13 = FUN_14004ffa0((longlong)(param_1 + 0x5b),(longlong *)&local_e0,*puVar18, + *puVar12); + bVar26 = true; + if ((longlong *)*plVar13 == (longlong *)0x0) { + lVar11 = 0; + goto LAB_140051a28; + } + lVar11 = *(longlong *)*plVar13; + if (lVar11 == 0) goto LAB_140051a28; + bVar27 = true; + } + puVar8 = local_e0; + if (((bVar26) && (bVar26 = false, local_e0 != (undefined8 *)0x0)) && + (local_e0[1] = local_e0[1] + -1, local_e0[1] == 0)) { + pvVar4 = (void *)*local_e0; + local_98 = pvVar4; + if (pvVar4 != (void *)0x0) { + FUN_14003b870((undefined8 *)((longlong)pvVar4 + 0x148)); + FUN_14003b870((undefined8 *)((longlong)pvVar4 + 0x120)); + operator_delete(pvVar4); + } + FUN_1400302f0(puVar8); + bVar26 = false; + lVar25 = local_d8; + } + if (((bVar27) && (*(char *)(lVar11 + 8) == '\0')) && + (*(double *)(lVar11 + 0x188) <= param_4 && param_4 != *(double *)(lVar11 + 0x188))) { + local_c8 = CONCAT44(iVar19,iVar24); + plVar13 = plVar6; + local_d0 = lVar11; + FUN_14003f130((longlong)plVar6,(int)param_1[0x2f7],(longlong)&local_d0,1); + uVar14 = 0; + in_R9 = (ulonglong)(int)param_1[0x2f7]; + uVar22 = uVar14; + uVar21 = uVar14; + if (0 < (longlong)in_R9) { + do { + if (((longlong)uVar21 < 0) || (iVar23 = (int)uVar22, (int)param_1[0x2f7] <= iVar23)) + { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar13,uVar22,uVar21,in_R9); + } + lVar15 = param_1[0x2f6]; + if (*(int *)(uVar14 + 8 + lVar15) == iVar24) { + piVar1 = (int *)(uVar14 + 0x10 + lVar15); + *piVar1 = *piVar1 + 1; + } + else if (*(int *)(uVar14 + 0xc + lVar15) == iVar24) { + piVar1 = (int *)(uVar14 + 0x14 + lVar15); + *piVar1 = *piVar1 + 1; + } + if ((int)param_1[0x2f7] <= iVar23) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(lVar15,uVar22,uVar21,in_R9); + } + plVar13 = (longlong *)param_1[0x2f6]; + if (*(int *)(uVar14 + 8 + (longlong)plVar13) == iVar19) { + piVar1 = (int *)(uVar14 + 0x10 + (longlong)plVar13); + *piVar1 = *piVar1 + 1; + } + else if (*(int *)(uVar14 + 0xc + (longlong)plVar13) == iVar19) { + piVar1 = (int *)(uVar14 + 0x14 + (longlong)plVar13); + *piVar1 = *piVar1 + 1; + } + uVar21 = uVar21 + 1; + uVar14 = uVar14 + 0x18; + uVar22 = (ulonglong)(iVar23 + 1); + } while ((longlong)uVar21 < (longlong)in_R9); + } + local_d0 = 0; + local_c8 = 0; + local_c0 = 0; + } + iVar19 = iVar19 + 1; + } while (iVar19 < (int)lVar25); + } + iVar24 = iVar24 + 1; + } while (iVar24 < (int)lVar25); + } + lVar25 = 0; + uVar2 = *(uint *)(param_1 + 0x2f7); + if ((int)param_1[0x2f7] != 0) { + lVar25 = param_1[0x2f6]; + } + uVar22 = 0; + if ((int)uVar2 < 0x65) { + FUN_140040790(lVar25,uVar2,0); + } + else { + FUN_14004f740(lVar25,uVar2,0); + } + plVar16 = param_1 + 0x2f9; + plVar13 = (longlong *)0x0; + FUN_14003ecf0((longlong)plVar16,0,uVar22); + iVar24 = 0; + lVar25 = 0; + if (0 < (int)param_1[0x2f7]) { + lVar11 = 0; + do { + if ((lVar25 < 0) || ((int)param_1[0x2f7] <= iVar24)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(param_1,plVar13,uVar22,in_R9); + } + lVar15 = param_1[0x2f6]; + local_b8 = *(undefined8 *)(lVar11 + lVar15); + in_R9 = *(ulonglong *)(lVar11 + 8 + lVar15); + uVar5 = *(undefined8 *)(lVar11 + 0x10 + lVar15); + iVar19 = (int)param_1[0x2fc]; + lVar20 = (longlong)iVar19; + local_b0._4_4_ = (uint)(in_R9 >> 0x20); + uVar2 = local_b0._4_4_; + plVar13 = (longlong *)0x0; + while (iVar23 = (int)plVar13, local_b0 = in_R9, local_a8 = uVar5, iVar23 != iVar19) { + if ((iVar23 < 0) || ((int)param_1[0x2fc] <= iVar23)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(lVar15,plVar13,uVar22,in_R9); + } + lVar15 = (longlong)iVar23; + uVar9 = *(uint *)(param_1[0x2fb] + lVar15 * 4); + uVar22 = (ulonglong)uVar9; + uVar21 = in_R9; + if ((uVar9 == (uint)in_R9) || (uVar21 = in_R9, uVar9 == local_b0._4_4_)) goto LAB_140051d4f; + plVar13 = (longlong *)(ulonglong)(iVar23 + 1); + } + local_a8._4_4_ = (int)((ulonglong)uVar5 >> 0x20); + if ((int)uVar5 < local_a8._4_4_) { + if (iVar19 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + lVar15 = param_1[0x2fc]; + uVar9 = (int)lVar15 + 1; + plVar13 = (longlong *)(ulonglong)uVar9; + FUN_14003ecf0((longlong)plVar16,uVar9,uVar22); + iVar19 = (int)lVar15 - iVar19; + if (0 < iVar19) { + if ((int)param_1[0x2fc] == 0) { + lVar15 = 0; + lVar17 = 0; + } + else { + lVar15 = param_1[0x2fb]; + lVar17 = param_1[0x2fb]; + } + uVar22 = (longlong)iVar19 << 2; + plVar13 = (longlong *)(lVar15 + lVar20 * 4); + memmove((void *)(lVar17 + 4 + lVar20 * 4),plVar13,uVar22); + } + if ((int)param_1[0x2fc] == 0) { + lVar15 = 0; + } + else { + lVar15 = param_1[0x2fb]; + } + *(uint *)(lVar15 + lVar20 * 4) = uVar2; + uVar21 = local_b0; + } + else { + if (iVar19 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + lVar15 = param_1[0x2fc]; + FUN_14003ecf0((longlong)plVar16,(int)lVar15 + 1,uVar22); + iVar19 = (int)lVar15 - iVar19; + if (0 < iVar19) { + if ((int)param_1[0x2fc] == 0) { + lVar15 = 0; + lVar17 = 0; + } + else { + lVar15 = param_1[0x2fb]; + lVar17 = param_1[0x2fb]; + } + uVar22 = (longlong)iVar19 << 2; + memmove((void *)(lVar17 + 4 + lVar20 * 4),(void *)(lVar15 + lVar20 * 4),uVar22); + } + if ((int)param_1[0x2fc] == 0) { + plVar13 = (longlong *)0x0; + } + else { + plVar13 = (longlong *)param_1[0x2fb]; + } + *(undefined4 *)((longlong)plVar13 + lVar20 * 4) = (undefined4)local_b0; + uVar21 = local_b0; + } +LAB_140051d4f: + local_b0 = uVar21; + iVar24 = iVar24 + 1; + lVar25 = lVar25 + 1; + lVar11 = lVar11 + 0x18; + } while (iVar24 < (int)param_1[0x2f7]); + } + iVar24 = 0; + lVar11 = 0; + lVar25 = param_1[0x2fc]; + if (0 < (longlong)(int)lVar25) { + do { + if ((lVar11 < 0) || ((int)param_1[0x2fc] <= iVar24)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(param_1,plVar13,uVar22,in_R9); + } + iVar19 = *(int *)(param_1[0x2fb] + lVar11 * 4); + lVar15 = (longlong)iVar19; + if ((iVar19 < 0) || (param_2[1] <= lVar15)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_2[2] < 0x65) { + plVar13 = param_2 + (lVar15 + 1) * 4; + } + else { + plVar13 = (longlong *)(lVar15 * 0x20 + *param_2); + } + if ((plVar13[2] == 0) && (plVar13[3] == 0)) { + lVar20 = 0; + iVar23 = 0; + in_R9 = 0; + lVar15 = param_1[0x2f7]; + if (0 < (longlong)(int)lVar15) { + uVar22 = 0; + plVar16 = param_1; + do { + if ((int)param_3 <= lVar20) break; + if (((longlong)in_R9 < 0) || ((int)param_1[0x2f7] <= iVar23)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar16,plVar13,uVar22,in_R9); + } + lVar17 = param_1[0x2f6]; + iVar3 = *(int *)(lVar17 + 8 + uVar22); + plVar16 = (longlong *)(longlong)iVar3; + if (iVar19 == iVar3) { + lVar17 = (longlong)*(int *)(lVar17 + 0xc + uVar22); + if ((lVar17 < 0) || (param_2[1] <= lVar17)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_2[2] < 0x65) { + plVar16 = param_2 + (lVar17 + 1) * 4; + } + else { + plVar16 = (longlong *)(lVar17 * 0x20 + *param_2); + } + if ((plVar16[2] == 0) && (plVar16[3] == 0)) { +LAB_140051eed: + plVar13[3] = (longlong)plVar16; + plVar16[2] = (longlong)plVar13; + lVar20 = lVar20 + 1; + plVar13 = (longlong *)plVar13[3]; + } + } + else if (iVar19 == *(int *)(lVar17 + 0xc + uVar22)) { + if (((longlong)plVar16 < 0) || (param_2[1] <= (longlong)plVar16)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_2[2] < 0x65) { + plVar16 = param_2 + ((longlong)plVar16 + 1) * 4; + } + else { + plVar16 = (longlong *)((longlong)plVar16 * 0x20 + *param_2); + } + if ((plVar16[2] == 0) && (plVar16[3] == 0)) { + plVar13[2] = 0; + goto LAB_140051eed; + } + } + iVar23 = iVar23 + 1; + in_R9 = in_R9 + 1; + uVar22 = uVar22 + 0x18; + } while ((longlong)in_R9 < (longlong)(int)lVar15); + } + } + iVar24 = iVar24 + 1; + lVar11 = lVar11 + 1; + } while (lVar11 < (int)lVar25); + } + FUN_14003e6b0((longlong)plVar6,0,uVar22,in_R9); + iVar24 = (int)param_1[0x2fc]; + if (iVar24 == 0) { + return; + } + uVar2 = *(uint *)((longlong)param_1 + 0x17e4); + uVar22 = (ulonglong)uVar2; + if (-1 < (int)uVar2) goto LAB_140052051; + iVar19 = *(int *)((longlong)param_1 + 0x17ec); + if (iVar19 == 0) { + uVar10 = (int)(iVar24 + (iVar24 >> 0x1f & 7U)) >> 3; + uVar9 = 0x400; + if ((int)uVar10 < 0x400) { + uVar9 = uVar10; + } + uVar10 = 4; + if (4 < (int)uVar9) { + uVar10 = uVar9; + } +LAB_140051fc5: + uVar9 = *(uint *)(param_1 + 0x2fd); + bVar27 = SBORROW4(uVar9,uVar10); + uVar7 = uVar9 - uVar10; + bVar26 = uVar9 == uVar10; + } + else { + if (iVar19 == 1) { + uVar9 = (int)(iVar24 + (iVar24 >> 0x1f & 7U)) >> 3; + uVar10 = 0x10; + if (0x10 < (int)uVar9) { + uVar10 = uVar9; + } + if (uVar10 < 0x11) { + uVar10 = 0x10; + } + goto LAB_140051fc5; + } + if (iVar19 != 2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar9 = *(uint *)(param_1 + 0x2fd); + uVar10 = 0; + bVar27 = false; + bVar26 = uVar9 == 0; + uVar7 = uVar9; + } + if (!bVar26 && bVar27 == (int)uVar7 < 0) { + uVar10 = uVar9; + } + plVar6 = (longlong *)param_1[0x2fa]; + if (uVar2 == 0) { + if (plVar6 == (longlong *)0x0) { + lVar11 = FUN_140030280((longlong)(int)uVar10 << 2); + } + else { + lVar11 = (**(code **)(*plVar6 + 8))(plVar6,(longlong)(int)uVar10 << 2); + } + } + else { + lVar25 = param_1[0x2fb]; + if (plVar6 == (longlong *)0x0) { + lVar11 = FUN_1400302b0(lVar25,(longlong)(int)uVar10 << 2); + } + else { + uVar22 = (longlong)(int)uVar10 << 2; + lVar11 = (**(code **)(*plVar6 + 0x10))(plVar6,lVar25); + } + if (lVar11 == 0) { + FUN_14002f1e0(local_90,L"Memory allocation failure!",uVar22,lVar25); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_90,(ThrowInfo *)&DAT_140151b88); + } + } + param_1[0x2fb] = lVar11; + *(uint *)((longlong)param_1 + 0x17e4) = uVar10; +LAB_140052051: + *(undefined4 *)(param_1 + 0x2fc) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140052080.c b/decomp/Agent_Release_x64/full/functions/0x140052080.c new file mode 100644 index 00000000..d9721201 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140052080.c @@ -0,0 +1,77 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140052080 FUN_140052080 + * Pseudocode, not original source. */ + +void FUN_140052080(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + short *psVar2; + longlong *plVar3; + int *piVar4; + short **ppsVar5; + wchar_t *pwVar6; + short *psVar7; + short *local_res8; + longlong *local_res10; + undefined *local_res18 [2]; + + local_res10 = param_2; + FUN_140030200(param_1,param_2,param_3,param_4); + local_res8 = (short *)PTR_DAT_140155010; + pwVar6 = (wchar_t *)0x0; + if (*param_2 != 0) { + pwVar6 = *(wchar_t **)(*param_2 + 0x38); + } + plVar3 = FUN_14003c240((int *)pwVar6,(longlong *)local_res18,param_3,param_4); + psVar7 = (short *)*plVar3; + if ((short *)*plVar3 == (short *)0x0) { + psVar7 = (short *)PTR_DAT_140155010; + } + pwVar6 = L"WARNING: %s"; + ppsVar5 = &local_res8; + FUN_14001b7a0((longlong *)ppsVar5,L"WARNING: %s",psVar7,param_4); + if (((local_res18[0] != (undefined *)0x0) && (local_res18[0] != PTR_DAT_140155010)) && + (local_res18[0] + -8 != (undefined *)0x0)) { + piVar4 = (int *)FUN_140030200(ppsVar5,pwVar6,psVar7,param_4); + FUN_14002e6e0(piVar4); + piVar1 = (int *)(local_res18[0] + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_res18[0] + -8); + } + FUN_14002e770((longlong)piVar4); + } + psVar2 = local_res8; + plVar3 = *(longlong **)(param_1 + 0x17f0); + if (plVar3 != (longlong *)0x0) { + psVar7 = local_res8; + if (local_res8 == (short *)0x0) { + psVar7 = (short *)PTR_DAT_140155010; + } + pwVar6 = (wchar_t *)0x0; + FUN_14008f2e0((longlong)plVar3,0,psVar7,param_4); + } + if (*(longlong *)(param_1 + 0x758) != 0) { + pwVar6 = (wchar_t *)0x0; + if (*param_2 != 0) { + pwVar6 = *(wchar_t **)(*param_2 + 0x38); + } + plVar3 = *(longlong **)(param_1 + 0x758); + (**(code **)(*plVar3 + 0x10))(); + } + if (((psVar2 != (short *)0x0) && (psVar2 != (short *)PTR_DAT_140155010)) && + (psVar2 + -4 != (short *)0x0)) { + piVar4 = (int *)FUN_140030200(plVar3,pwVar6,psVar7,param_4); + FUN_14002e6e0(piVar4); + piVar1 = (int *)(psVar2 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar2 + -4); + } + FUN_14002e770((longlong)piVar4); + } + FUN_14002b570(param_2,pwVar6,psVar7,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400521f0.c b/decomp/Agent_Release_x64/full/functions/0x1400521f0.c new file mode 100644 index 00000000..44c6acc2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400521f0.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400521f0 FUN_1400521f0 + * Pseudocode, not original source. */ + +void FUN_1400521f0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + LPVOID pvVar1; + longlong *plVar2; + + FUN_14009dea0((undefined4 *)(param_1 + 5),param_2,param_3,param_4); + *param_1 = Proud::CFastArray,0>::vftable; + if (0 < *(int *)(param_1 + 3)) { + FUN_1400bc420((longlong *)param_1[2],(longlong)*(int *)(param_1 + 3)); + } + pvVar1 = (LPVOID)param_1[2]; + if (pvVar1 != (LPVOID)0x0) { + plVar2 = (longlong *)param_1[1]; + if (plVar2 == (longlong *)0x0) { + FUN_1400302f0(pvVar1); + } + else { + (**(code **)(*plVar2 + 0x18))(plVar2,pvVar1); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140052260.c b/decomp/Agent_Release_x64/full/functions/0x140052260.c new file mode 100644 index 00000000..d757db54 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140052260.c @@ -0,0 +1,190 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140052260 FUN_140052260 + * Pseudocode, not original source. */ + +void FUN_140052260(longlong *param_1,longlong param_2,short *param_3) + +{ + ushort uVar1; + uint uVar2; + uint uVar3; + int *piVar4; + uint *puVar5; + longlong *plVar6; + int *piVar7; + longlong lVar8; + ulonglong uVar9; + undefined ***pppuVar10; + uint *puVar11; + uint uVar12; + ulonglong uVar13; + ulonglong uVar14; + uint uVar15; + ulonglong uVar16; + uint **ppuVar17; + ulonglong uVar18; + uint *local_res8; + longlong local_res10; + undefined **local_60; + undefined8 local_58; + undefined8 local_50; + undefined8 local_48; + undefined8 local_40; + + piVar4 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + (**(code **)(*param_1 + 200))(param_1); + } + uVar2 = *(uint *)(param_2 + 8); + uVar1 = *(ushort *)(param_2 + 0xc); + uVar16 = (ulonglong)uVar1; + uVar14 = (ulonglong)(uVar1 ^ uVar2) % (ulonglong)*(uint *)(param_1 + 0x76); + uVar13 = 0; + lVar8 = 0; + uVar9 = uVar14; + uVar18 = uVar13; + if (param_1[0x72] != 0) { + lVar8 = *(longlong *)(param_1[0x72] + uVar14 * 8); + while( true ) { + if ((lVar8 == 0) || + (uVar9 = (ulonglong)*(uint *)(lVar8 + 0x28) % (ulonglong)*(uint *)(param_1 + 0x76), + (int)uVar14 != (int)uVar9)) goto LAB_140052323; + if ((*(uint *)(lVar8 + 8) == uVar2) && (*(ushort *)(lVar8 + 0xc) == uVar1)) break; + lVar8 = *(longlong *)(lVar8 + 0x18); + } + uVar18 = *(ulonglong *)(lVar8 + 0x10); + } +LAB_140052323: + FUN_140030200(lVar8,uVar9,(ulonglong)uVar2,uVar16); + local_res8 = (uint *)PTR_DAT_140155010; + uVar2 = FUN_140030080(param_3); + uVar12 = 0; + if ((local_res8 != (uint *)0x0) && (uVar13 = 0, local_res8 != (uint *)PTR_DAT_140155010)) { + uVar13 = (ulonglong)local_res8[-2]; + } + uVar3 = uVar2; + if ((((int)uVar2 <= (int)uVar13) && (uVar3 = uVar12, local_res8 != (uint *)0x0)) && + (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar3 = local_res8[-2]; + } + uVar15 = 1; + if (1 < (int)uVar3) { + uVar15 = uVar3; + } + uVar3 = uVar12; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar3 = local_res8[-2]; + } + if ((int)uVar3 < (int)uVar15) { + if (local_res8 == (uint *)0x0) { + local_res8 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar15 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar15 == 0) { + FUN_140003240((longlong *)&local_res8,PTR_DAT_140155010,uVar13,uVar16); + } + else { + uVar3 = uVar12; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar3 = local_res8[-2]; + } + if (uVar15 != uVar3) { + puVar5 = (uint *)FUN_140030280((longlong)(int)uVar15 * 2 + 10); + if (puVar5 != (uint *)0x0) { + *puVar5 = 0; + puVar5[1] = 1; + } + *puVar5 = uVar15; + uVar3 = 0; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar3 = local_res8[-2]; + } + puVar11 = (uint *)PTR_DAT_140155010; + if ((int)uVar15 < (int)uVar3) { +LAB_140052414: + if (local_res8 != (uint *)0x0) { + puVar11 = local_res8; + } + } + else { + uVar15 = uVar12; + if (local_res8 != (uint *)0x0) { + if (local_res8 != (uint *)PTR_DAT_140155010) { + uVar15 = local_res8[-2]; + } + goto LAB_140052414; + } + } + uVar14 = (ulonglong)uVar15; + FUN_1400300b0(puVar5 + 2,puVar11,uVar15); + FUN_140003240((longlong *)&local_res8,puVar11,uVar14,uVar16); + local_res8 = puVar5 + 2; + } + } + } + uVar14 = 0; + FUN_140002ea0((longlong *)&local_res8); + puVar5 = local_res8; + if (local_res8 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar5,param_3,uVar2); + puVar5 = local_res8; + if (local_res8 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + uVar2 = FUN_140030080((short *)puVar5); + uVar12 = 0; + uVar9 = uVar14; + if (0 < (int)uVar2) { + uVar9 = (ulonglong)uVar2; + } + uVar2 = uVar12; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_res8[-2]; + } + uVar3 = (uint)uVar9; + if (((int)uVar2 <= (int)(uint)uVar9) && (uVar3 = uVar12, local_res8 != (uint *)0x0)) { + if (local_res8 == (uint *)PTR_DAT_140155010) goto LAB_1400524c2; + uVar3 = local_res8[-2]; + } + if (((local_res8 != (uint *)PTR_DAT_140155010) && (local_res8 != (uint *)0x0)) && + (local_res8 + -2 != (uint *)0x0)) { + local_res8[-2] = uVar3; + *(undefined2 *)((longlong)local_res8 + (longlong)(int)uVar3 * 2) = 0; + } +LAB_1400524c2: + if (uVar18 != 0) { + uVar14 = (ulonglong)*(uint *)(uVar18 + 0x6f8); + } + local_58 = 0; + local_50 = 0; + local_48 = 0; + local_40 = 0; + local_60 = Proud::ByteArray::vftable; + ppuVar17 = &local_res8; + plVar6 = FUN_14003c120(&local_res10,0x1f,uVar14,(longlong *)ppuVar17,(longlong)&local_60); + lVar8 = *param_1; + (**(code **)(lVar8 + 0x88))(param_1); + pppuVar10 = &local_60; + FUN_14003b870(pppuVar10); + puVar5 = local_res8; + if (((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) && + (puVar11 = local_res8 + -2, puVar11 != (uint *)0x0)) { + piVar7 = (int *)FUN_140030200(pppuVar10,plVar6,lVar8,ppuVar17); + FUN_14002e6e0(piVar7); + puVar5 = puVar5 + -1; + *puVar5 = *puVar5 - 1; + if (*puVar5 == 0) { + FUN_1400302f0(puVar11); + } + FUN_14002e770((longlong)piVar7); + } + FUN_14002e770((longlong)piVar4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400525a0.c b/decomp/Agent_Release_x64/full/functions/0x1400525a0.c new file mode 100644 index 00000000..8c7e98f9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400525a0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400525a0 FUN_1400525a0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400525a0(longlong param_1,uint param_2,uint param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong *local_res8; + undefined8 *local_28; + undefined8 local_20; + + local_20 = 0xfffffffffffffffe; + local_res8 = (longlong *)0x0; + plVar1 = FUN_14004ffa0(param_1 + 0x230,(longlong *)&local_28,param_2,param_3); + if (*plVar1 != 0) { + *(longlong *)(*plVar1 + 8) = *(longlong *)(*plVar1 + 8) + 1; + local_res8 = (longlong *)*plVar1; + } + if ((local_28 != (undefined8 *)0x0) && (local_28[1] = local_28[1] + -1, local_28[1] == 0)) { + local_28 = (undefined8 *)FUN_140041080(local_28); + } + if ((local_res8 != (longlong *)0x0) && + (local_28 = (undefined8 *)*local_res8, local_28 != (undefined8 *)0x0)) { + local_28[0x31] = param_4; + } + if (local_res8 != (longlong *)0x0) { + plVar1 = local_res8 + 1; + *plVar1 = *plVar1 + -1; + local_28 = (undefined8 *)local_res8[1]; + if (*plVar1 == 0) { + local_28 = (undefined8 *)FUN_140041080(local_res8); + } + } + return local_28; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140052660.c b/decomp/Agent_Release_x64/full/functions/0x140052660.c new file mode 100644 index 00000000..03f80f19 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140052660.c @@ -0,0 +1,94 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140052660 FUN_140052660 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_140052660(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *puVar1; + int *piVar2; + int iVar3; + undefined *puVar4; + uint uVar5; + longlong *plVar6; + undefined **ppuVar7; + undefined ***pppuVar8; + ulonglong uVar9; + longlong lVar10; + double dVar11; + undefined *local_res8; + longlong local_res10; + undefined **local_60; + undefined4 local_58; + undefined2 local_54; + undefined **local_50; + undefined8 local_48; + undefined8 local_40; + undefined8 local_38; + undefined8 local_30; + + iVar3 = *(int *)(param_2[0xe9] + 0x7c); + pppuVar8 = (undefined ***)param_2[0xe8]; + uVar9 = 0; + if (((pppuVar8 != (undefined ***)0x0) && (uVar9 = 0, *pppuVar8 != (undefined **)0x0)) && + ((char)param_2[0xe0] != '\0')) { + local_60 = Proud::AddrPort::vftable; + local_58 = (undefined4)param_2[0xe2]; + local_54 = *(undefined2 *)((longlong)param_2 + 0x714); + ppuVar7 = *pppuVar8; + pppuVar8 = &local_60; + uVar5 = FUN_140097b90((longlong)ppuVar7[0x2d],(longlong)pppuVar8); + uVar9 = (ulonglong)uVar5; + } + *(int *)(param_2 + 0x3d) = (int)uVar9 + iVar3; + plVar6 = param_1 + 0x23; + dVar11 = (double)(**(code **)(*plVar6 + 8))(); + if ((double)param_2[0x44] == 0.0) { + if (DAT_140155194 < (int)param_2[0x3d]) { + param_2[0x44] = (longlong)dVar11; + } + } + else if (DAT_140155194 < (int)param_2[0x3d]) { + if (_DAT_1401551b0 < dVar11 - (double)param_2[0x44]) { + FUN_140030200(plVar6,pppuVar8,uVar9,param_4); + local_res8 = PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_res8,L"sendQueue %dBytes", + (ulonglong)*(uint *)(param_2 + 0x3d),param_4); + local_48 = 0; + local_40 = 0; + local_38 = 0; + local_30 = 0; + local_50 = Proud::ByteArray::vftable; + uVar5 = (**(code **)(*param_2 + 0x10))(param_2); + ppuVar7 = &local_res8; + plVar6 = FUN_14003c120(&local_res10,0x25,(ulonglong)uVar5,(longlong *)ppuVar7, + (longlong)&local_50); + lVar10 = *param_1; + (**(code **)(lVar10 + 0x88))(param_1); + pppuVar8 = &local_50; + FUN_14003b870(pppuVar8); + puVar4 = local_res8; + param_2[0x44] = (longlong)dVar11; + if (((local_res8 != (undefined *)0x0) && (local_res8 != PTR_DAT_140155010)) && + (puVar1 = local_res8 + -8, puVar1 != (undefined *)0x0)) { + ppuVar7 = (undefined **)FUN_140030200(pppuVar8,plVar6,lVar10,ppuVar7); + local_60 = ppuVar7; + FUN_14002e6e0((int *)ppuVar7); + local_58 = CONCAT31(local_58._1_3_,1); + piVar2 = (int *)(puVar4 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)ppuVar7); + } + } + } + else { + param_2[0x44] = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140052870.c b/decomp/Agent_Release_x64/full/functions/0x140052870.c new file mode 100644 index 00000000..2b579cd8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140052870.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140052870 FUN_140052870 + * Pseudocode, not original source. */ + +void FUN_140052870(char *param_1) + +{ + FUN_1400501c0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140052890.c b/decomp/Agent_Release_x64/full/functions/0x140052890.c new file mode 100644 index 00000000..62bc5e1f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140052890.c @@ -0,0 +1,115 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140052890 FUN_140052890 + * Pseudocode, not original source. */ + +void FUN_140052890(char *param_1) + +{ + LPVOID pvVar1; + undefined8 *puVar2; + void *pvVar3; + longlong *plVar4; + LPVOID pvVar5; + uint uVar6; + ulonglong uVar7; + longlong lVar8; + float fVar9; + + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + 1; + FUN_14003d560(param_1); + pvVar5 = *(LPVOID *)(param_1 + 0x10); + while (pvVar5 != (LPVOID)0x0) { + pvVar1 = *(LPVOID *)((longlong)pvVar5 + 0x10); + if ((*(longlong *)((longlong)pvVar5 + 8) != 0) && + (*(longlong *)(*(longlong *)((longlong)pvVar5 + 8) + 8) = + *(longlong *)(*(longlong *)((longlong)pvVar5 + 8) + 8) + -1, + *(longlong *)(*(longlong *)((longlong)pvVar5 + 8) + 8) == 0)) { + puVar2 = *(undefined8 **)((longlong)pvVar5 + 8); + pvVar3 = (void *)*puVar2; + if (pvVar3 != (void *)0x0) { + FUN_14003b870((undefined8 *)((longlong)pvVar3 + 0x148)); + FUN_14003b870((undefined8 *)((longlong)pvVar3 + 0x120)); + operator_delete(pvVar3); + } + FUN_1400302f0(puVar2); + } + plVar4 = *(longlong **)(param_1 + 0x50); + if (plVar4 == (longlong *)0x0) { + FUN_1400302f0(pvVar5); + } + else { + (**(code **)(*plVar4 + 0x18))(plVar4,pvVar5); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + pvVar5 = pvVar1; + } + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + param_1[0x20] = '\0'; + param_1[0x21] = '\0'; + param_1[0x22] = '\0'; + param_1[0x23] = '\0'; + param_1[0x24] = '\0'; + param_1[0x25] = '\0'; + param_1[0x26] = '\0'; + param_1[0x27] = '\0'; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + FUN_14003d560(param_1); + if (*(int *)(param_1 + 0x48) == 0) { + uVar6 = FUN_14003d4e0((longlong)param_1,*(longlong *)(param_1 + 0x20)); + if (*(LPVOID *)(param_1 + 8) != (LPVOID)0x0) { + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + } + *(uint *)(param_1 + 0x28) = uVar6; + fVar9 = (float)uVar6 * *(float *)(param_1 + 0x34); + lVar8 = 0; + if ((9.223372e+18 < fVar9) && (fVar9 = fVar9 - 9.223372e+18, fVar9 < 9.223372e+18)) { + lVar8 = -0x8000000000000000; + } + *(longlong *)(param_1 + 0x38) = (longlong)fVar9 + lVar8; + fVar9 = (float)uVar6 * *(float *)(param_1 + 0x30); + lVar8 = 0; + if ((9.223372e+18 < fVar9) && (fVar9 = fVar9 - 9.223372e+18, fVar9 < 9.223372e+18)) { + lVar8 = -0x8000000000000000; + } + uVar7 = (longlong)fVar9 + lVar8; + if ((ulonglong)((longlong)fVar9 + lVar8) < 0x11) { + uVar7 = 0; + } + *(ulonglong *)(param_1 + 0x40) = uVar7; + } + FUN_14003d560(param_1); + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140052a40.c b/decomp/Agent_Release_x64/full/functions/0x140052a40.c new file mode 100644 index 00000000..24362417 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140052a40.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140052a40 FUN_140052a40 + * Pseudocode, not original source. */ + +undefined8 * FUN_140052a40(char *param_1,longlong param_2) + +{ + longlong lVar1; + ulonglong uVar2; + undefined8 *puVar3; + uint uVar4; + uint uVar5; + + uVar4 = (uint)*(ushort *)(param_2 + 0xc) ^ *(uint *)(param_2 + 8); + uVar2 = (ulonglong)uVar4 % (ulonglong)*(uint *)(param_1 + 0x28); + uVar5 = (uint)uVar2; + if (*(longlong *)(param_1 + 8) != 0) { + for (lVar1 = *(longlong *)(*(longlong *)(param_1 + 8) + uVar2 * 8); + (lVar1 != 0 && (uVar5 == *(uint *)(lVar1 + 0x28) % *(uint *)(param_1 + 0x28))); + lVar1 = *(longlong *)(lVar1 + 0x18)) { + if ((*(uint *)(lVar1 + 8) == *(uint *)(param_2 + 8)) && + (*(ushort *)(lVar1 + 0xc) == *(ushort *)(param_2 + 0xc))) { + return (undefined8 *)(lVar1 + 0x10); + } + } + } + puVar3 = FUN_1400504f0(param_1,param_2,uVar5,uVar4); + return puVar3 + 2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140052af0.c b/decomp/Agent_Release_x64/full/functions/0x140052af0.c new file mode 100644 index 00000000..7569dec1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140052af0.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140052af0 FUN_140052af0 + * Pseudocode, not original source. */ + +undefined8 * FUN_140052af0(char *param_1,undefined8 *param_2,uint param_3,undefined4 param_4) + +{ + undefined8 uVar1; + undefined8 *puVar2; + + if (*(longlong *)(param_1 + 8) == 0) { + uVar1 = FUN_14003f710((longlong)param_1,*(uint *)(param_1 + 0x28),'\x01'); + if ((char)uVar1 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + FUN_14003d560(param_1); + puVar2 = FUN_140050570(param_1,param_2,param_3,param_4); + FUN_14003d560(param_1); + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140052b70.c b/decomp/Agent_Release_x64/full/functions/0x140052b70.c new file mode 100644 index 00000000..c4df239e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140052b70.c @@ -0,0 +1,66 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140052b70 FUN_140052b70 + * Pseudocode, not original source. */ + +longlong * FUN_140052b70(char *param_1,longlong *param_2,ulonglong param_3,undefined4 param_4) + +{ + longlong lVar1; + uint uVar2; + longlong *plVar3; + + plVar3 = *(longlong **)(param_1 + 0x50); + if (plVar3 == (longlong *)0x0) { + plVar3 = (longlong *)FUN_140030280(0x28); + } + else { + plVar3 = (longlong *)(**(code **)(*plVar3 + 8))(plVar3,0x28,param_3,param_4,0xfffffffffffffffe); + } + if (plVar3 != (longlong *)0x0) { + FUN_14004f6b0(plVar3,param_2,param_4); + } + lVar1 = *(longlong *)(*(longlong *)(param_1 + 8) + (param_3 & 0xffffffff) * 8); + FUN_14003d560(param_1); + if (*(longlong *)(param_1 + 0x20) == 0) { + *(longlong **)(param_1 + 0x10) = plVar3; + *(longlong **)(param_1 + 0x18) = plVar3; + plVar3[3] = 0; + plVar3[2] = 0; + } + else { + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if (lVar1 == 0) { + lVar1 = *(longlong *)(param_1 + 0x10); + plVar3[3] = 0; + plVar3[2] = lVar1; + if (lVar1 != 0) { + *(longlong **)(lVar1 + 0x18) = plVar3; + } + *(longlong **)(param_1 + 0x10) = plVar3; + } + else { + if (*(longlong *)(lVar1 + 0x18) == 0) { + *(longlong **)(param_1 + 0x10) = plVar3; + } + else { + *(longlong **)(*(longlong *)(lVar1 + 0x18) + 0x10) = plVar3; + } + plVar3[3] = *(longlong *)(lVar1 + 0x18); + plVar3[2] = lVar1; + *(longlong **)(lVar1 + 0x18) = plVar3; + } + } + *(longlong **)(*(longlong *)(param_1 + 8) + (param_3 & 0xffffffff) * 8) = plVar3; + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if ((*(ulonglong *)(param_1 + 0x38) < *(ulonglong *)(param_1 + 0x20)) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar2 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14003f960(param_1,uVar2); + } + FUN_14003d560(param_1); + return plVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140052cc0.c b/decomp/Agent_Release_x64/full/functions/0x140052cc0.c new file mode 100644 index 00000000..e914cbce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140052cc0.c @@ -0,0 +1,65 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140052cc0 FUN_140052cc0 + * Pseudocode, not original source. */ + +void FUN_140052cc0(char *param_1,longlong *param_2,char param_3) + +{ + uint uVar1; + ulonglong uVar2; + uint uVar3; + + if (param_2 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar1 = *(uint *)(param_1 + 0x28); + uVar2 = (ulonglong)*(uint *)(param_2 + 4) % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 0x20) == 1) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + } + else { + uVar3 = (uint)uVar2; + if (((param_2[3] == 0) || (*(uint *)(param_2[3] + 0x20) % uVar1 != uVar3)) && + ((param_2[2] == 0 || (*(uint *)(param_2[2] + 0x20) % uVar1 != uVar3)))) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + } + else if (param_2 == *(longlong **)(*(longlong *)(param_1 + 8) + (longlong)(int)uVar3 * 8)) { + *(longlong *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = param_2[2]; + } + if (param_2 == *(longlong **)(param_1 + 0x10)) { + *(longlong *)(param_1 + 0x10) = param_2[2]; + param_2[3] = 0; + } + if (param_2 == *(longlong **)(param_1 + 0x18)) { + *(longlong *)(param_1 + 0x18) = param_2[3]; + param_2[2] = 0; + } + if (param_2[3] != 0) { + *(longlong *)(param_2[3] + 0x10) = param_2[2]; + } + if (param_2[2] != 0) { + *(longlong *)(param_2[2] + 0x18) = param_2[3]; + } + } + FUN_1400506c0(param_1,param_2,param_3); + FUN_14003d560(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140052dc0.c b/decomp/Agent_Release_x64/full/functions/0x140052dc0.c new file mode 100644 index 00000000..93ec2d4f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140052dc0.c @@ -0,0 +1,255 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140052dc0 FUN_140052dc0 + * Pseudocode, not original source. */ + +ulonglong FUN_140052dc0(longlong param_1,ulonglong param_2,ulonglong *param_3,undefined8 param_4) + +{ + longlong *plVar1; + undefined8 *puVar2; + undefined8 *puVar3; + uint uVar4; + uint uVar5; + ulonglong *puVar6; + undefined8 uVar7; + uint *puVar8; + ulonglong *puVar9; + int *piVar10; + undefined ***pppuVar11; + undefined8 **ppuVar12; + char *pcVar13; + uint *puVar14; + uint uVar15; + uint uVar16; + uint uVar17; + ulonglong *puVar18; + longlong *plVar19; + ulonglong uVar20; + uint **ppuVar21; + uint *local_res8; + int *local_res20; + undefined8 *local_98; + undefined8 local_90; + int *local_88; + undefined1 local_80; + int *local_78; + undefined1 local_70; + undefined **local_68; + undefined8 local_60; + undefined8 local_58; + undefined8 local_50; + undefined8 local_48; + + local_90 = 0xfffffffffffffffe; + plVar19 = (longlong *)(param_2 & 0xffffffff); + puVar18 = param_3; + local_res8 = (uint *)FUN_140030280(0x400); + puVar9 = (ulonglong *)0x0; + uVar16 = 0; + uVar17 = 0; + puVar6 = puVar9; + if (local_res8 != (uint *)0x0) { + puVar18 = (ulonglong *)(param_1 + 0x60); + if (param_1 == 0) { + puVar18 = puVar9; + } + puVar6 = FUN_140035990((undefined8 *)local_res8,0,puVar18,param_4); + } + if (puVar6 == (ulonglong *)0x0) { + local_98 = (undefined8 *)0x0; + } + else { + local_98 = (undefined8 *)FUN_140030280(0x10); + local_98[1] = 1; + *local_98 = puVar6; + } + puVar2 = local_98; + ppuVar12 = &local_98; + FUN_140031f40((longlong *)(param_1 + 0x748),(longlong *)ppuVar12); + puVar3 = local_98; + if (puVar2 != (undefined8 *)0x0) { + plVar1 = puVar2 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + plVar1 = (longlong *)*local_98; + if (plVar1 != (longlong *)0x0) { + FUN_1400358a0(plVar1,ppuVar12,(longlong *)puVar18,param_4); + FUN_1400302f0(plVar1); + } + FUN_1400302f0(puVar3); + } + } + puVar6 = puVar9; + if (*(undefined8 **)(param_1 + 0x748) != (undefined8 *)0x0) { + puVar6 = (ulonglong *)**(undefined8 **)(param_1 + 0x748); + } + *(undefined1 *)((longlong)puVar6 + 0x314) = 1; + pcVar13 = *(char **)(param_1 + 0x218); + if (*(char **)(param_1 + 0x218) == (char *)0x0) { + pcVar13 = PTR_DAT_140155008; + } + puVar6 = puVar9; + if (*(undefined8 **)(param_1 + 0x748) != (undefined8 *)0x0) { + puVar6 = (ulonglong *)**(undefined8 **)(param_1 + 0x748); + } + uVar7 = FUN_140036fd0((longlong)puVar6,pcVar13,(short)plVar19,param_4); + if ((char)uVar7 != '\0') { + puVar6 = puVar9; + if (*(undefined8 **)(param_1 + 0x748) != (undefined8 *)0x0) { + puVar6 = (ulonglong *)**(undefined8 **)(param_1 + 0x748); + } + FUN_1400369a0((longlong)puVar6,pcVar13,plVar19,param_4); + puVar6 = puVar9; + if (*(undefined8 **)(param_1 + 0x748) != (undefined8 *)0x0) { + puVar6 = (ulonglong *)**(undefined8 **)(param_1 + 0x748); + } + FUN_140034b90((longlong)puVar6,param_1 + 0xb0,plVar19,param_4); + if (*(undefined8 **)(param_1 + 0x748) != (undefined8 *)0x0) { + puVar9 = (ulonglong *)**(undefined8 **)(param_1 + 0x748); + } + uVar7 = FUN_140039a80(*(longlong *)(param_1 + 0x790),(longlong *)puVar9,plVar19,param_4); + return CONCAT71((int7)((ulonglong)uVar7 >> 8),1); + } + FUN_140030200(puVar6,pcVar13,plVar19,param_4); + local_res8 = (uint *)PTR_DAT_140155010; + uVar4 = FUN_140030080(&DAT_14011e014); + if ((local_res8 != (uint *)0x0) && + (puVar9 = (ulonglong *)0x0, local_res8 != (uint *)PTR_DAT_140155010)) { + puVar9 = (ulonglong *)(ulonglong)local_res8[-2]; + } + uVar5 = uVar4; + if ((((int)uVar4 <= (int)puVar9) && (uVar5 = uVar17, local_res8 != (uint *)0x0)) && + (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_res8[-2]; + } + uVar15 = 1; + if (1 < (int)uVar5) { + uVar15 = uVar5; + } + uVar5 = uVar17; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_res8[-2]; + } + if ((int)uVar5 < (int)uVar15) { + if (local_res8 == (uint *)0x0) { + local_res8 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar15 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar15 == 0) { + FUN_140003240((longlong *)&local_res8,PTR_DAT_140155010,puVar9,param_4); + } + else { + uVar5 = uVar17; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_res8[-2]; + } + if (uVar15 != uVar5) { + puVar8 = (uint *)FUN_140030280((longlong)(int)uVar15 * 2 + 10); + if (puVar8 != (uint *)0x0) { + *puVar8 = 0; + puVar8[1] = 1; + } + *puVar8 = uVar15; + uVar5 = uVar17; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_res8[-2]; + } + puVar14 = (uint *)PTR_DAT_140155010; + if ((int)uVar15 < (int)uVar5) { +LAB_140052fdd: + if (local_res8 != (uint *)0x0) { + puVar14 = local_res8; + } + } + else { + uVar15 = uVar17; + if (local_res8 != (uint *)0x0) { + if (local_res8 != (uint *)PTR_DAT_140155010) { + uVar15 = local_res8[-2]; + } + goto LAB_140052fdd; + } + } + uVar20 = (ulonglong)uVar15; + FUN_1400300b0(puVar8 + 2,puVar14,uVar15); + FUN_140003240((longlong *)&local_res8,puVar14,uVar20,param_4); + local_res8 = puVar8 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_res8); + puVar8 = local_res8; + if (local_res8 == (uint *)0x0) { + puVar8 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar8,&DAT_14011e014,uVar4); + puVar8 = local_res8; + if (local_res8 == (uint *)0x0) { + puVar8 = (uint *)PTR_DAT_140155010; + } + uVar4 = FUN_140030080((short *)puVar8); + uVar17 = uVar16; + if (0 < (int)uVar4) { + uVar17 = uVar4; + } + uVar4 = uVar16; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_res8[-2]; + } + if (((int)uVar4 <= (int)uVar17) && (uVar17 = uVar16, local_res8 != (uint *)0x0)) { + if (local_res8 == (uint *)PTR_DAT_140155010) goto LAB_14005308d; + uVar17 = local_res8[-2]; + } + if (((local_res8 != (uint *)PTR_DAT_140155010) && (local_res8 != (uint *)0x0)) && + (local_res8 + -2 != (uint *)0x0)) { + local_res8[-2] = uVar17; + *(undefined2 *)((longlong)local_res8 + (longlong)(int)uVar17 * 2) = 0; + } +LAB_14005308d: + local_60 = 0; + local_58 = 0; + local_50 = 0; + local_48 = 0; + local_68 = Proud::ByteArray::vftable; + ppuVar21 = &local_res8; + uVar7 = 1; + puVar9 = (ulonglong *) + FUN_14003c120((longlong *)&local_res20,0x10,1,(longlong *)ppuVar21,(longlong)&local_68); + FUN_14003bff0(param_3,puVar9,uVar7,ppuVar21); + piVar10 = local_res20; + if (local_res20 != (int *)0x0) { + local_88 = local_res20; + FUN_14002e6e0(local_res20); + local_80 = 1; + *(longlong *)(local_res20 + 0x10) = *(longlong *)(local_res20 + 0x10) + -1; + if (*(longlong *)(local_res20 + 0x10) == 0) { + FUN_14002e770((longlong)piVar10); + local_80 = 0; + FUN_14002b500(local_res20,puVar9,uVar7,ppuVar21); + } + else { + FUN_14002e770((longlong)piVar10); + } + } + pppuVar11 = &local_68; + FUN_14003b870(pppuVar11); + puVar8 = local_res8; + if (((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) && + (puVar14 = local_res8 + -2, puVar14 != (uint *)0x0)) { + piVar10 = (int *)FUN_140030200(pppuVar11,puVar9,uVar7,ppuVar21); + local_78 = piVar10; + FUN_14002e6e0(piVar10); + local_70 = 1; + puVar8 = puVar8 + -1; + *puVar8 = *puVar8 - 1; + if (*puVar8 == 0) { + FUN_1400302f0(puVar14); + } + local_res8 = (uint *)FUN_14002e770((longlong)piVar10); + } + return (ulonglong)local_res8 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140053210.c b/decomp/Agent_Release_x64/full/functions/0x140053210.c new file mode 100644 index 00000000..da4b46a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140053210.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140053210 FUN_140053210 + * Pseudocode, not original source. */ + +void FUN_140053210(longlong *param_1,ulonglong *param_2,short *param_3,undefined8 param_4) + +{ + longlong *plVar1; + int *piVar2; + int *piVar3; + longlong lVar4; + undefined8 uVar5; + undefined **ppuVar6; + undefined *local_res8; + ulonglong *local_res10; + + local_res10 = param_2; + if (param_1[0x2fe] != 0) { + if (*param_2 == 0) { + piVar3 = (int *)0x0; + } + else { + piVar3 = *(int **)(*param_2 + 0x38); + } + plVar1 = FUN_14003c240(piVar3,(longlong *)&local_res8,param_3,param_4); + param_3 = (short *)*plVar1; + if (param_3 == (short *)0x0) { + param_3 = (short *)PTR_DAT_140155010; + } + uVar5 = 0; + lVar4 = param_1[0x2fe]; + FUN_14008f2e0(lVar4,0,param_3,param_4); + if (((local_res8 != (undefined *)0x0) && (local_res8 != PTR_DAT_140155010)) && + (local_res8 + -8 != (undefined *)0x0)) { + piVar2 = (int *)FUN_140030200(lVar4,uVar5,param_3,param_4); + FUN_14002e6e0(piVar2); + piVar3 = (int *)(local_res8 + -4); + *piVar3 = *piVar3 + -1; + if (*piVar3 == 0) { + FUN_1400302f0(local_res8 + -8); + } + FUN_14002e770((longlong)piVar2); + } + } + local_res8 = (undefined *)0x0; + FUN_14003bff0((ulonglong *)&local_res8,param_2,param_3,param_4); + ppuVar6 = &local_res8; + FUN_140083340(param_1,(longlong *)ppuVar6,param_3,param_4); + FUN_14002b570((longlong *)param_2,ppuVar6,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140053300.c b/decomp/Agent_Release_x64/full/functions/0x140053300.c new file mode 100644 index 00000000..1b5c7800 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140053300.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140053300 FUN_140053300 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140053300(undefined8 param_1,undefined8 param_2,undefined *param_3,undefined8 param_4) + +{ + undefined1 auStack_1138 [56]; + undefined **local_1100; + longlong *local_10f8; + longlong *local_10f0; + int local_10e8; + undefined4 local_10d8 [1048]; + undefined8 local_78; + ulonglong local_40; + undefined8 local_10; + + local_10 = 0xfffffffffffffffe; + local_40 = DAT_1401555a0 ^ (ulonglong)auStack_1138; + FUN_14009e4b0(&local_1100,param_2,param_3,param_4); + local_78 = param_1; + FUN_14009e520((undefined *)&local_1100,param_2,param_3,param_4); + FUN_14009dea0(local_10d8,param_2,param_3,param_4); + local_1100 = Proud::CFastArray,0>::vftable; + if (0 < local_10e8) { + FUN_1400bc420(local_10f0,(longlong)local_10e8); + } + if (local_10f0 != (longlong *)0x0) { + if (local_10f8 == (longlong *)0x0) { + FUN_1400302f0(local_10f0); + } + else { + (**(code **)(*local_10f8 + 0x18))(local_10f8,local_10f0); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400533d0.c b/decomp/Agent_Release_x64/full/functions/0x1400533d0.c new file mode 100644 index 00000000..fa80b035 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400533d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400533d0 FUN_1400533d0 + * Pseudocode, not original source. */ + +void FUN_1400533d0(char *param_1) + +{ + FUN_140052890(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400533f0.c b/decomp/Agent_Release_x64/full/functions/0x1400533f0.c new file mode 100644 index 00000000..f09ddb04 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400533f0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400533f0 FUN_1400533f0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400533f0(char *param_1,longlong param_2,longlong *param_3) + +{ + uint uVar1; + longlong lVar2; + ulonglong uVar3; + longlong *plVar4; + undefined8 uVar5; + + uVar1 = *(uint *)(param_1 + 0x28); + uVar3 = (ulonglong)((uint)*(ushort *)(param_2 + 0xc) ^ *(uint *)(param_2 + 8)) % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 8) != 0) { + for (lVar2 = *(longlong *)(*(longlong *)(param_1 + 8) + uVar3 * 8); + (lVar2 != 0 && ((uint)uVar3 == *(uint *)(lVar2 + 0x28) % uVar1)); + lVar2 = *(longlong *)(lVar2 + 0x18)) { + if ((*(uint *)(lVar2 + 8) == *(uint *)(param_2 + 8)) && + (*(ushort *)(lVar2 + 0xc) == *(ushort *)(param_2 + 0xc))) { + return (ulonglong)*(uint *)(lVar2 + 0x28) / (ulonglong)uVar1 & 0xffffff00; + } + } + } + plVar4 = FUN_140052a40(param_1,param_2); + uVar5 = FUN_1400ad4b0(plVar4,param_3); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400534a0.c b/decomp/Agent_Release_x64/full/functions/0x1400534a0.c new file mode 100644 index 00000000..bc8609da --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400534a0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400534a0 FUN_1400534a0 + * Pseudocode, not original source. */ + +void FUN_1400534a0(longlong *param_1,longlong *param_2) + +{ + longlong lVar1; + LPVOID pvVar2; + undefined8 *puVar3; + longlong lVar4; + + lVar1 = *param_2; + if (lVar1 != *param_1) { + lVar4 = 0; + if (lVar1 != 0) { + lVar4 = *(longlong *)(lVar1 + 8) + 1; + *(longlong *)(*param_2 + 8) = lVar4; + } + puVar3 = (undefined8 *)0x0; + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + puVar3 = (undefined8 *)*param_1; + } + *param_1 = *param_2; + if (puVar3 != (undefined8 *)0x0) { + pvVar2 = (LPVOID)*puVar3; + if (pvVar2 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar2,param_2,lVar4,param_1); + FUN_1400302f0(pvVar2); + } + FUN_1400302f0(puVar3); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140053530.c b/decomp/Agent_Release_x64/full/functions/0x140053530.c new file mode 100644 index 00000000..4ccdb521 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140053530.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140053530 FUN_140053530 + * Pseudocode, not original source. */ + +int * FUN_140053530(char *param_1,int *param_2) + +{ + int *piVar1; + ulonglong uVar2; + undefined8 *puVar3; + uint uVar4; + uint uVar5; + + uVar4 = *param_2 << 0x10 ^ param_2[1]; + uVar2 = (ulonglong)uVar4 % (ulonglong)*(uint *)(param_1 + 0x28); + uVar5 = (uint)uVar2; + if (*(longlong *)(param_1 + 8) != 0) { + for (piVar1 = *(int **)(*(longlong *)(param_1 + 8) + uVar2 * 8); + (piVar1 != (int *)0x0 && (uVar5 == (uint)piVar1[8] % *(uint *)(param_1 + 0x28))); + piVar1 = *(int **)(piVar1 + 4)) { + if ((*piVar1 == *param_2) && (piVar1[1] == param_2[1])) { + return piVar1 + 2; + } + } + } + puVar3 = FUN_140052af0(param_1,(undefined8 *)param_2,uVar5,uVar4); + return (int *)(puVar3 + 1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400535e0.c b/decomp/Agent_Release_x64/full/functions/0x1400535e0.c new file mode 100644 index 00000000..916abf0b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400535e0.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400535e0 FUN_1400535e0 + * Pseudocode, not original source. */ + +longlong * FUN_1400535e0(char *param_1,longlong *param_2,uint param_3,undefined4 param_4) + +{ + undefined8 uVar1; + longlong *plVar2; + + if (*(longlong *)(param_1 + 8) == 0) { + uVar1 = FUN_14003f710((longlong)param_1,*(uint *)(param_1 + 0x28),'\x01'); + if ((char)uVar1 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + FUN_14003d560(param_1); + plVar2 = FUN_140052b70(param_1,param_2,(ulonglong)param_3,param_4); + FUN_14003d560(param_1); + return plVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140053660.c b/decomp/Agent_Release_x64/full/functions/0x140053660.c new file mode 100644 index 00000000..55113251 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140053660.c @@ -0,0 +1,515 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140053660 FUN_140053660 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140053723) */ +/* WARNING: Removing unreachable block (ram,0x00014005372a) */ +/* WARNING: Removing unreachable block (ram,0x000140053736) */ +/* WARNING: Removing unreachable block (ram,0x000140053760) */ +/* WARNING: Removing unreachable block (ram,0x000140053780) */ + +undefined8 +FUN_140053660(longlong *param_1,int param_2,longlong **param_3,longlong param_4,ulonglong *param_5) + +{ + int iVar1; + char cVar2; + undefined4 uVar3; + uint uVar4; + uint uVar5; + int *piVar6; + undefined4 *puVar7; + longlong *plVar8; + undefined8 *puVar9; + longlong lVar11; + longlong lVar12; + uint *puVar13; + ulonglong *puVar14; + undefined **ppuVar15; + longlong *plVar16; + longlong *plVar17; + undefined ***pppuVar18; + char *pcVar19; + longlong *plVar20; + uint *puVar21; + int iVar22; + uint uVar23; + longlong lVar24; + longlong **pplVar25; + ulonglong uVar26; + uint uVar27; + longlong lVar28; + uint **ppuVar29; + longlong lVar30; + int local_res10; + uint *local_158; + longlong *local_150; + longlong local_148; + int *local_140; + longlong *local_138; + longlong *local_130; + longlong local_128; + int *local_120; + undefined1 local_118; + int *local_110; + undefined1 local_108; + uint local_100; + int local_fc; + undefined **local_f8; + undefined8 local_f0; + undefined8 local_e8; + undefined8 local_e0; + undefined8 local_d8; + longlong *local_d0; + undefined1 local_c8; + int *local_c0; + undefined1 local_b8; + undefined8 local_b0; + undefined8 local_a8 [2]; + exception local_98 [88]; + undefined8 uVar10; + + local_b0 = 0xfffffffffffffffe; + pplVar25 = param_3; + lVar28 = param_4; + piVar6 = (int *)(**(code **)(*param_1 + 0x58))(); + local_120 = piVar6; + FUN_14002e6e0(piVar6); + local_118 = 1; + if (DAT_14015bfcf != '\0') { + pplVar25 = (longlong **)*param_1; + (*(code *)pplVar25[0x19])(param_1); + } + if (param_2 == 0) { + FUN_14002b3c0((longlong)param_3,(longlong)(param_1 + 0x309),pplVar25,lVar28); + FUN_14002e770((longlong)piVar6); + } + else { + if (*(int *)(param_3 + 3) == 0) { + local_fc = *(int *)(param_3 + 3); + FUN_14002d430((longlong)param_3,1,pplVar25,lVar28); + puVar7 = (undefined4 *)FUN_14002b440((longlong)param_3); + *puVar7 = 0; + } + local_138 = param_1 + 0xd9; + plVar20 = (longlong *)0x0; + FUN_14004dc80((longlong)local_138,0); + local_130 = param_1 + 0xde; + FUN_1400501c0((char *)local_130); + local_res10 = 0; + local_148 = 0; + if (0 < *(int *)(param_3 + 3)) { + do { + lVar11 = local_148; + plVar16 = (longlong *)0x180; + plVar8 = (longlong *)FUN_140030280(0x180); + local_150 = plVar8; + if (plVar8 == (longlong *)0x0) { + puVar9 = (undefined8 *)0x0; + } + else { + plVar20 = param_1; + puVar9 = FUN_14009d1e0(plVar8,(longlong)param_1,pplVar25,lVar28); + plVar16 = plVar8; + } + if (puVar9 == (undefined8 *)0x0) { + plVar8 = (longlong *)0x0; + } + else { + plVar16 = (longlong *)0x10; + plVar8 = (longlong *)FUN_140030280(0x10); + plVar8[1] = 1; + *plVar8 = (longlong)puVar9; + } + lVar24 = 0; + local_150 = plVar8; + if ((lVar11 < 0) || (*(int *)(param_3 + 3) <= local_res10)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar16,plVar20,pplVar25,lVar28); + } + uVar4 = *(uint *)((longlong)param_3[2] + lVar11 * 4); + pcVar19 = (char *)param_1[0x43]; + lVar30 = lVar24; + local_100 = uVar4; + if (((pcVar19 == (char *)0x0) || (pcVar19 == PTR_DAT_140155008)) || + (*(int *)(pcVar19 + -8) == 0)) { + lVar12 = lVar24; + if (plVar8 != (longlong *)0x0) { + lVar12 = *plVar8; + } + if (*(longlong **)(lVar12 + 0x150) != (longlong *)0x0) { + lVar30 = **(longlong **)(lVar12 + 0x150); + } + pcVar19 = (char *)(ulonglong)uVar4; + uVar3 = FUN_140036f80(lVar30,(short)uVar4,pplVar25,lVar28); + cVar2 = (char)uVar3; + } + else { + lVar12 = lVar24; + if (plVar8 != (longlong *)0x0) { + lVar12 = *plVar8; + } + if (*(longlong **)(lVar12 + 0x150) != (longlong *)0x0) { + lVar30 = **(longlong **)(lVar12 + 0x150); + } + pplVar25 = (longlong **)(ulonglong)uVar4; + uVar10 = FUN_140036fd0(lVar30,pcVar19,(short)uVar4,lVar28); + cVar2 = (char)uVar10; + } + if (cVar2 == '\0') { + if (*(char *)((longlong)param_1 + 0x255) == '\0') { + FUN_140030200(lVar30,pcVar19,pplVar25,lVar28); + local_158 = (uint *)PTR_DAT_140155010; + uVar4 = FUN_140030080(&DAT_14011e014); + uVar5 = 0; + uVar26 = 0; + if ((local_158 != (uint *)0x0) && (local_158 != (uint *)PTR_DAT_140155010)) { + uVar26 = (ulonglong)local_158[-2]; + } + uVar27 = uVar4; + if ((((int)uVar4 <= (int)uVar26) && (uVar27 = uVar5, local_158 != (uint *)0x0)) && + (local_158 != (uint *)PTR_DAT_140155010)) { + uVar27 = local_158[-2]; + } + uVar23 = 1; + if (1 < (int)uVar27) { + uVar23 = uVar27; + } + uVar27 = uVar5; + if ((local_158 != (uint *)0x0) && (local_158 != (uint *)PTR_DAT_140155010)) { + uVar27 = local_158[-2]; + } + if ((int)uVar27 < (int)uVar23) { + if (local_158 == (uint *)0x0) { + local_158 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar23 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar23 == 0) { + FUN_140003240((longlong *)&local_158,PTR_DAT_140155010,uVar26,lVar28); + } + else { + uVar27 = uVar5; + if ((local_158 != (uint *)0x0) && (local_158 != (uint *)PTR_DAT_140155010)) { + uVar27 = local_158[-2]; + } + if (uVar23 != uVar27) { + puVar13 = (uint *)FUN_140030280((longlong)(int)uVar23 * 2 + 10); + if (puVar13 != (uint *)0x0) { + *puVar13 = 0; + puVar13[1] = 1; + } + *puVar13 = uVar23; + uVar27 = uVar5; + if ((local_158 != (uint *)0x0) && (local_158 != (uint *)PTR_DAT_140155010)) { + uVar27 = local_158[-2]; + } + puVar21 = (uint *)PTR_DAT_140155010; + if ((int)uVar23 < (int)uVar27) { +LAB_140053d23: + if (local_158 != (uint *)0x0) { + puVar21 = local_158; + } + } + else { + uVar23 = uVar5; + if (local_158 != (uint *)0x0) { + if (local_158 != (uint *)PTR_DAT_140155010) { + uVar23 = local_158[-2]; + } + goto LAB_140053d23; + } + } + uVar26 = (ulonglong)uVar23; + FUN_1400300b0(puVar13 + 2,puVar21,uVar23); + FUN_140003240((longlong *)&local_158,puVar21,uVar26,lVar28); + local_158 = puVar13 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_158); + puVar13 = local_158; + if (local_158 == (uint *)0x0) { + puVar13 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar13,&DAT_14011e014,uVar4); + puVar13 = local_158; + if (local_158 == (uint *)0x0) { + puVar13 = (uint *)PTR_DAT_140155010; + } + uVar5 = FUN_140030080((short *)puVar13); + uVar27 = 0; + uVar4 = 0; + if (0 < (int)uVar5) { + uVar4 = uVar5; + } + uVar5 = uVar27; + if ((local_158 != (uint *)0x0) && (local_158 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_158[-2]; + } + if (((int)uVar5 <= (int)uVar4) && (uVar4 = uVar27, local_158 != (uint *)0x0)) { + if (local_158 == (uint *)PTR_DAT_140155010) goto LAB_140053de0; + uVar4 = local_158[-2]; + } + if (((local_158 != (uint *)PTR_DAT_140155010) && (local_158 != (uint *)0x0)) && + (local_158 + -2 != (uint *)0x0)) { + local_158[-2] = uVar4; + *(undefined2 *)((longlong)local_158 + (longlong)(int)uVar4 * 2) = 0; + } +LAB_140053de0: + local_f0 = 0; + local_e8 = 0; + local_e0 = 0; + local_d8 = 0; + local_f8 = Proud::ByteArray::vftable; + ppuVar29 = &local_158; + uVar10 = 1; + puVar14 = (ulonglong *) + FUN_14003c120((longlong *)&local_140,0x10,1,(longlong *)ppuVar29, + (longlong)&local_f8); + FUN_14003bff0(param_5,puVar14,uVar10,ppuVar29); + piVar6 = local_140; + if (local_140 != (int *)0x0) { + local_110 = local_140; + FUN_14002e6e0(local_140); + local_108 = 1; + *(longlong *)(local_140 + 0x10) = *(longlong *)(local_140 + 0x10) + -1; + if (*(longlong *)(local_140 + 0x10) == 0) { + FUN_14002e770((longlong)piVar6); + local_108 = 0; + FUN_14002b500(local_140,puVar14,uVar10,ppuVar29); + } + else { + FUN_14002e770((longlong)piVar6); + local_108 = 0; + } + } + pppuVar18 = &local_f8; + FUN_14003b870(pppuVar18); + puVar13 = local_158; + if (((local_158 != (uint *)0x0) && (local_158 != (uint *)PTR_DAT_140155010)) && + (puVar21 = local_158 + -2, puVar21 != (uint *)0x0)) { + piVar6 = (int *)FUN_140030200(pppuVar18,puVar14,uVar10,ppuVar29); + local_c0 = piVar6; + FUN_14002e6e0(piVar6); + local_b8 = 1; + puVar13 = puVar13 + -1; + *puVar13 = *puVar13 - 1; + if (*puVar13 == 0) { + FUN_1400302f0(puVar21); + } + FUN_14002e770((longlong)piVar6); + local_b8 = 0; + } + local_158 = (uint *)PTR_DAT_140155010; + FUN_14004dc80((longlong)local_138,0); + FUN_1400501c0((char *)local_130); + plVar20 = local_150; + if (plVar8 != (longlong *)0x0) { + plVar8 = plVar8 + 1; + *plVar8 = *plVar8 + -1; + if (*plVar8 == 0) { + puVar9 = (undefined8 *)*local_150; + if (puVar9 != (undefined8 *)0x0) { + (**(code **)*puVar9)(puVar9,1); + } + FUN_1400302f0(plVar20); + } + } + FUN_14002e770((longlong)local_120); + ppuVar15 = Proud::CFastArray::vftable; + *param_3 = (longlong *)Proud::CFastArray::vftable; + if (param_3[2] != (longlong *)0x0) { + if (param_3[1] == (longlong *)0x0) { + ppuVar15 = (undefined **)FUN_1400302f0(param_3[2]); + } + else { + ppuVar15 = (undefined **)(**(code **)(*param_3[1] + 0x18))(); + } + } + return (ulonglong)ppuVar15 & 0xffffffffffffff00; + } + iVar1 = *(int *)(param_4 + 0x18); + if (iVar1 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar22 = *(int *)(param_4 + 0x18); + uVar5 = iVar22 + 1; + plVar20 = (longlong *)(ulonglong)uVar5; + FUN_14002d430(param_4,uVar5,pplVar25,lVar28); + iVar22 = iVar22 - iVar1; + if ((0 < iVar22) && (iVar22 = iVar22 + -1, lVar24 = (longlong)iVar22, -1 < iVar22)) { + lVar30 = (iVar1 + lVar24) * 4 + 4; + do { + lVar11 = FUN_14002b440(param_4); + lVar12 = FUN_14002b440(param_4); + *(undefined4 *)(lVar12 + lVar30) = *(undefined4 *)(lVar11 + -4 + lVar30); + lVar30 = lVar30 + -4; + lVar24 = lVar24 + -1; + lVar11 = local_148; + } while (-1 < lVar24); + } + lVar24 = FUN_14002b440(param_4); + plVar16 = local_150; + *(uint *)(lVar24 + (longlong)iVar1 * 4) = uVar4; + if (plVar8 != (longlong *)0x0) { + plVar8 = plVar8 + 1; + *plVar8 = *plVar8 + -1; + if (*plVar8 == 0) { + if ((undefined8 *)*local_150 != (undefined8 *)0x0) { + plVar20 = (longlong *)0x1; + (*(code *)**(undefined8 **)*local_150)(); + } + FUN_1400302f0(plVar16); + } + } + } + else { + lVar11 = lVar24; + if (plVar8 != (longlong *)0x0) { + lVar11 = *plVar8; + } + lVar30 = lVar24; + if (*(longlong **)(lVar11 + 0x150) != (longlong *)0x0) { + lVar30 = **(longlong **)(lVar11 + 0x150); + } + if (plVar8 != (longlong *)0x0) { + lVar24 = *plVar8; + } + puVar9 = FUN_140034a30(lVar30,local_a8); + *(undefined4 *)(lVar24 + 0x160) = *(undefined4 *)(puVar9 + 1); + *(undefined2 *)(lVar24 + 0x164) = *(undefined2 *)((longlong)puVar9 + 0xc); + if (plVar8 == (longlong *)0x0) { + lVar11 = 0; + } + else { + lVar11 = *plVar8; + } + if (*(short *)(lVar11 + 0x164) == 0) { +LAB_140053f7d: + FUN_14002f1e0(local_98,L"m_cachedLocalAddr has an unexpected value!",pplVar25,lVar28); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_98,(ThrowInfo *)&DAT_140151b88); + } + if (plVar8 == (longlong *)0x0) { + lVar11 = 0; + } + else { + lVar11 = *plVar8; + } + if (*(short *)(lVar11 + 0x164) == -1) goto LAB_140053f7d; + iVar1 = (int)local_138[3]; + if (iVar1 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + lVar11 = local_138[3]; + FUN_14004dc80((longlong)local_138,(int)lVar11 + 1); + plVar20 = local_138; + iVar22 = (int)lVar11 - iVar1; + if ((0 < iVar22) && (iVar22 = iVar22 + -1, -1 < iVar22)) { + lVar11 = (longlong)(iVar22 + iVar1 + 1) << 3; + lVar24 = (longlong)(iVar22 + iVar1) << 3; + do { + lVar30 = FUN_14003d690((longlong)plVar20); + lVar12 = FUN_14003d690((longlong)plVar20); + FUN_1400ad4b0((longlong *)(lVar11 + lVar12),(longlong *)(lVar24 + lVar30)); + lVar24 = lVar24 + -8; + lVar11 = lVar11 + -8; + iVar22 = iVar22 + -1; + } while (-1 < iVar22); + } + lVar11 = FUN_14003d690((longlong)local_138); + FUN_1400ad4b0((longlong *)(lVar11 + (longlong)iVar1 * 8),(longlong *)&local_150); + plVar16 = (longlong *)0x0; + plVar20 = plVar16; + if (plVar8 != (longlong *)0x0) { + plVar20 = (longlong *)*plVar8; + } + pplVar25 = &local_150; + FUN_1400533f0((char *)local_130,(longlong)(plVar20 + 0x2b),(longlong *)pplVar25); + plVar20 = plVar16; + if (plVar8 != (longlong *)0x0) { + plVar20 = (longlong *)*plVar8; + } + plVar17 = plVar16; + if ((undefined8 *)plVar20[0x2a] != (undefined8 *)0x0) { + plVar17 = *(longlong **)plVar20[0x2a]; + } + FUN_140034b90((longlong)plVar17,plVar20,pplVar25,lVar28); + plVar20 = plVar16; + if (plVar8 != (longlong *)0x0) { + plVar20 = (longlong *)*plVar8; + } + plVar17 = plVar16; + if ((undefined8 *)plVar20[0x2a] != (undefined8 *)0x0) { + plVar17 = *(longlong **)plVar20[0x2a]; + } + FUN_140039a80(param_1[0xf1],plVar17,(longlong *)pplVar25,lVar28); + plVar20 = plVar16; + if (plVar8 != (longlong *)0x0) { + plVar20 = (longlong *)*plVar8; + } + plVar17 = plVar16; + if ((undefined8 *)plVar20[0x2a] != (undefined8 *)0x0) { + plVar17 = *(longlong **)plVar20[0x2a]; + } + FUN_14009e980((longlong)plVar17); + if ((plVar8 == (longlong *)0x0) || (plVar20 = (longlong *)(*plVar8 + 0x40), *plVar8 == 0)) + { + plVar20 = plVar16; + } + FUN_14009c480(&local_128,(longlong)plVar20); + plVar17 = plVar16; + if (plVar8 != (longlong *)0x0) { + plVar17 = (longlong *)*plVar8; + } + plVar17 = plVar17 + 0x15; + local_d0 = plVar17; + FUN_14002e6e0((int *)plVar17); + local_c8 = 1; + if (plVar8 != (longlong *)0x0) { + plVar16 = (longlong *)*plVar8; + } + FUN_14009c6f0((longlong)plVar16,plVar20,(undefined **)pplVar25,lVar28); + FUN_14002e770((longlong)plVar17); + local_c8 = 0; + FUN_14009c490(&local_128); + plVar16 = local_150; + lVar11 = local_148; + if (plVar8 != (longlong *)0x0) { + plVar8 = plVar8 + 1; + *plVar8 = *plVar8 + -1; + if (*plVar8 == 0) { + if ((undefined8 *)*local_150 != (undefined8 *)0x0) { + plVar20 = (longlong *)0x1; + (*(code *)**(undefined8 **)*local_150)(); + } + FUN_1400302f0(plVar16); + lVar11 = local_148; + } + } + } + local_res10 = local_res10 + 1; + local_148 = lVar11 + 1; + piVar6 = local_120; + } while (local_res10 < *(int *)(param_3 + 3)); + } + FUN_14002e770((longlong)piVar6); + } + ppuVar15 = Proud::CFastArray::vftable; + *param_3 = (longlong *)Proud::CFastArray::vftable; + if (param_3[2] != (longlong *)0x0) { + if (param_3[1] == (longlong *)0x0) { + ppuVar15 = (undefined **)FUN_1400302f0(param_3[2]); + } + else { + ppuVar15 = (undefined **)(**(code **)(*param_3[1] + 0x18))(); + } + } + return CONCAT71((int7)((ulonglong)ppuVar15 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140053ff0.c b/decomp/Agent_Release_x64/full/functions/0x140053ff0.c new file mode 100644 index 00000000..36921360 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140053ff0.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140053ff0 FUN_140053ff0 + * Pseudocode, not original source. */ + +void FUN_140053ff0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + LPVOID pvVar2; + + if (*param_1 != 0) { + *(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1; + if (*(longlong *)(*param_1 + 8) == 0) { + puVar1 = (undefined8 *)*param_1; + pvVar2 = (LPVOID)*puVar1; + if (pvVar2 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar2,0,param_3,param_4); + FUN_1400302f0(pvVar2); + } + FUN_1400302f0(puVar1); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140054060.c b/decomp/Agent_Release_x64/full/functions/0x140054060.c new file mode 100644 index 00000000..b7e6f64f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140054060.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140054060 FUN_140054060 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400540ca) */ +/* WARNING: Removing unreachable block (ram,0x0001400540d3) */ +/* WARNING: Removing unreachable block (ram,0x0001400540f1) */ +/* WARNING: Removing unreachable block (ram,0x0001400540fa) */ + +undefined1 * FUN_140054060(undefined1 *param_1) + +{ + *param_1 = 0; + *(undefined8 *)(param_1 + 0x50) = 0; + *(undefined8 *)(param_1 + 8) = 0; + *(undefined8 *)(param_1 + 0x10) = 0; + *(undefined8 *)(param_1 + 0x18) = 0; + *(undefined4 *)(param_1 + 0x28) = 0x11; + *(undefined8 *)(param_1 + 0x20) = 0; + *(undefined4 *)(param_1 + 0x48) = 0; + *(undefined4 *)(param_1 + 0x2c) = 0x3f400000; + *(undefined4 *)(param_1 + 0x30) = 0x3e800000; + *(undefined4 *)(param_1 + 0x34) = 0x40100000; + *(undefined8 *)(param_1 + 0x38) = 0x26; + *(undefined8 *)(param_1 + 0x40) = 0; + param_1[0x58] = 0; + *(undefined8 *)(param_1 + 0xa8) = 0; + *(undefined8 *)(param_1 + 0x60) = 0; + *(undefined8 *)(param_1 + 0x68) = 0; + *(undefined8 *)(param_1 + 0x70) = 0; + *(undefined4 *)(param_1 + 0x80) = 0x11; + *(undefined8 *)(param_1 + 0x78) = 0; + *(undefined4 *)(param_1 + 0xa0) = 0; + *(undefined4 *)(param_1 + 0x84) = 0x3f400000; + *(undefined4 *)(param_1 + 0x88) = 0x3e800000; + *(undefined4 *)(param_1 + 0x8c) = 0x40100000; + *(undefined8 *)(param_1 + 0x90) = 0x26; + *(undefined8 *)(param_1 + 0x98) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140054180.c b/decomp/Agent_Release_x64/full/functions/0x140054180.c new file mode 100644 index 00000000..90c56e63 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140054180.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140054180 FUN_140054180 + * Pseudocode, not original source. */ + +void FUN_140054180(char *param_1) + +{ + FUN_1400533d0(param_1 + 0x58); + FUN_1400533d0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400541b0.c b/decomp/Agent_Release_x64/full/functions/0x1400541b0.c new file mode 100644 index 00000000..7d5d5ced --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400541b0.c @@ -0,0 +1,606 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400541b0 FUN_1400541b0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_1400541b0(longlong *param_1,longlong *param_2,longlong **param_3,uint **param_4) + +{ + int iVar1; + ushort uVar2; + uint uVar3; + uint uVar4; + undefined4 uVar5; + uint uVar6; + longlong *plVar7; + undefined4 extraout_var; + uint *puVar8; + int *piVar9; + longlong lVar10; + longlong lVar11; + longlong lVar12; + undefined4 extraout_var_00; + undefined8 *puVar13; + longlong *plVar14; + longlong *plVar15; + undefined ***pppuVar16; + longlong *plVar17; + longlong *plVar18; + uint uVar19; + char *pcVar20; + uint *puVar21; + ulonglong uVar22; + uint *puVar23; + uint uVar24; + int iVar25; + longlong lVar26; + longlong lVar27; + undefined1 auStackY_e68 [32]; + longlong *local_e38; + uint *local_e30; + uint local_e28; + uint local_e24; + longlong *local_e18; + longlong *local_e10; + longlong *local_e08; + uint uStack_e00; + undefined4 uStack_dfc; + undefined8 *local_df8; + undefined4 local_df0 [2]; + longlong local_de8; + longlong *local_de0; + uint local_dd8; + int local_dd4; + undefined **local_dc8; + undefined4 local_dc0; + undefined2 local_dbc; + longlong local_db8; + undefined **local_db0; + undefined8 local_da8; + undefined8 local_da0; + undefined8 local_d98; + undefined8 local_d90; + uint local_d88 [2]; + undefined8 local_d80; + undefined1 local_d78; + undefined4 local_d74; + undefined1 local_d70; + undefined1 local_d6f; + longlong *local_d68; + undefined1 local_d60; + int *local_d58; + undefined1 local_d50; + undefined8 local_d48; + longlong local_d40; + undefined8 local_d38 [2]; + exception local_d28 [80]; + longlong *local_cd8; + undefined8 uStack_cd0; + longlong **local_58; + undefined4 local_50; + int local_4c; + ulonglong local_48; + + local_d48 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStackY_e68; + plVar7 = (longlong *)param_2[0xe8]; + if ((plVar7 != (longlong *)0x0) && (*plVar7 != 0)) goto LAB_140054c4b; + if (*(char *)((longlong)param_2 + 0x702) != '\0') goto LAB_14005484d; + plVar17 = (longlong *)0x0; + uVar6 = 0; + local_e38 = (longlong *)0x0; + local_e08 = param_1; + if (*(int *)((longlong)param_1 + 0x1844) == 0) { + local_df8 = (undefined8 *)FUN_140030280(0x180); + plVar7 = plVar17; + if (local_df8 != (undefined8 *)0x0) { + plVar7 = FUN_14009d1e0(local_df8,(longlong)param_1,param_3,param_4); + } + if (plVar7 == (longlong *)0x0) { + local_e18 = (longlong *)0x0; + } + else { + local_e18 = (longlong *)FUN_140030280(0x10); + local_e18[1] = 1; + *local_e18 = (longlong)plVar7; + } + plVar7 = local_e18; + plVar15 = plVar17; + if (local_e18 != (longlong *)0x0) { + local_e18[1] = local_e18[1] + 1; + local_e38 = local_e18; + plVar14 = local_e18 + 1; + *plVar14 = *plVar14 + -1; + plVar15 = local_e18; + if (*plVar14 == 0) { + puVar13 = (undefined8 *)*local_e18; + if (puVar13 != (undefined8 *)0x0) { + (**(code **)*puVar13)(puVar13,1); + } + FUN_1400302f0(plVar7); + plVar15 = local_e38; + } + } + if ((int)param_1[0x30c] < 1) { + local_e28 = 0; + local_e24 = 0; + } + else { + iVar1 = (int)param_1[0x30c]; + if (iVar1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + param_3 = (longlong **)param_1[0x30b]; + uVar3 = *(uint *)((longlong)param_3 + (longlong)iVar1 * 4 + -4); + local_e28 = uVar3; + FUN_14002d430((longlong)(param_1 + 0x309),iVar1 + -1,param_3,(longlong)param_4); + local_e24 = uVar3; + } + uVar3 = local_e24; + pcVar20 = (char *)param_1[0x43]; + plVar14 = plVar17; + if (((pcVar20 == (char *)0x0) || (pcVar20 == PTR_DAT_140155008)) || + (*(int *)(pcVar20 + -8) == 0)) { + plVar7 = plVar17; + if (plVar15 != (longlong *)0x0) { + plVar7 = (longlong *)*plVar15; + } + if ((undefined8 *)plVar7[0x2a] != (undefined8 *)0x0) { + plVar14 = *(longlong **)plVar7[0x2a]; + } + pcVar20 = (char *)(ulonglong)local_e24; + uVar5 = FUN_140036f80((longlong)plVar14,(short)local_e24,param_3,param_4); + plVar7 = (longlong *)CONCAT44(extraout_var,uVar5); + } + else { + plVar7 = plVar17; + if (plVar15 != (longlong *)0x0) { + plVar7 = (longlong *)*plVar15; + } + if ((undefined8 *)plVar7[0x2a] != (undefined8 *)0x0) { + plVar14 = *(longlong **)plVar7[0x2a]; + } + param_3 = (longlong **)(ulonglong)local_e24; + plVar7 = (longlong *)FUN_140036fd0((longlong)plVar14,pcVar20,(short)local_e24,param_4); + } + if ((char)plVar7 == '\0') { + if (0 < (int)uVar3) { + FUN_140030200(plVar14,pcVar20,param_3,param_4); + local_e30 = (uint *)PTR_DAT_140155010; + uVar3 = FUN_140030080( + L"All UDP port numbers specified at Server Start are deleted! An arbitary port number is assigned instead." + ); + if ((local_e30 != (uint *)0x0) && + (plVar17 = (longlong *)0x0, local_e30 != (uint *)PTR_DAT_140155010)) { + plVar17 = (longlong *)(ulonglong)local_e30[-2]; + } + uVar4 = uVar3; + if ((((int)uVar3 <= (int)plVar17) && (uVar4 = uVar6, local_e30 != (uint *)0x0)) && + (local_e30 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_e30[-2]; + } + uVar24 = 1; + if (1 < (int)uVar4) { + uVar24 = uVar4; + } + uVar4 = uVar6; + if ((local_e30 != (uint *)0x0) && (local_e30 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_e30[-2]; + } + uVar19 = 0; + if ((int)uVar4 < (int)uVar24) { + if (local_e30 == (uint *)0x0) { + local_e30 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar24 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar24 == 0) { + FUN_140003240((longlong *)&local_e30,PTR_DAT_140155010,plVar17,param_4); + } + else { + uVar4 = uVar6; + if ((local_e30 != (uint *)0x0) && (local_e30 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_e30[-2]; + } + if (uVar24 != uVar4) { + puVar8 = (uint *)FUN_140030280((longlong)(int)uVar24 * 2 + 10); + if (puVar8 != (uint *)0x0) { + *puVar8 = 0; + puVar8[1] = 1; + } + *puVar8 = uVar24; + uVar4 = uVar19; + if ((local_e30 != (uint *)0x0) && (local_e30 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_e30[-2]; + } + puVar21 = (uint *)PTR_DAT_140155010; + if ((int)uVar24 < (int)uVar4) { +LAB_1400544a4: + if (local_e30 != (uint *)0x0) { + puVar21 = local_e30; + } + } + else { + uVar24 = uVar6; + if (local_e30 != (uint *)0x0) { + if (local_e30 != (uint *)PTR_DAT_140155010) { + uVar24 = local_e30[-2]; + } + goto LAB_1400544a4; + } + } + uVar22 = (ulonglong)uVar24; + puVar23 = puVar21; + FUN_1400300b0(puVar8 + 2,puVar21,uVar24); + FUN_140003240((longlong *)&local_e30,puVar21,uVar22,puVar23); + local_e30 = puVar8 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_e30); + puVar8 = local_e30; + if (local_e30 == (uint *)0x0) { + puVar8 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar8, + L"All UDP port numbers specified at Server Start are deleted! An arbitary port number is assigned instead." + ,uVar3); + puVar8 = local_e30; + if (local_e30 == (uint *)0x0) { + puVar8 = (uint *)PTR_DAT_140155010; + } + uVar3 = FUN_140030080((short *)puVar8); + uVar6 = 0; + if (0 < (int)uVar3) { + uVar6 = uVar3; + } + uVar3 = uVar19; + if ((local_e30 != (uint *)0x0) && (local_e30 != (uint *)PTR_DAT_140155010)) { + uVar3 = local_e30[-2]; + } + if (((int)uVar6 < (int)uVar3) || (uVar6 = uVar19, local_e30 == (uint *)0x0)) { +LAB_140054543: + if (((local_e30 != (uint *)PTR_DAT_140155010) && (local_e30 != (uint *)0x0)) && + (local_e30 + -2 != (uint *)0x0)) { + local_e30[-2] = uVar6; + *(undefined2 *)((longlong)local_e30 + (longlong)(int)uVar6 * 2) = 0; + } + } + else if (local_e30 != (uint *)PTR_DAT_140155010) { + uVar6 = local_e30[-2]; + goto LAB_140054543; + } + local_da8 = 0; + local_da0 = 0; + local_d98 = 0; + local_d90 = 0; + local_db0 = Proud::ByteArray::vftable; + param_4 = &local_e30; + plVar7 = FUN_14003c120(&local_d40,0x11,(ulonglong)*(uint *)(param_2 + 0xdf), + (longlong *)param_4,(longlong)&local_db0); + lVar12 = *param_1; + (**(code **)(lVar12 + 0x88))(param_1); + pppuVar16 = &local_db0; + FUN_14003b870(pppuVar16); + puVar8 = local_e30; + if (((local_e30 != (uint *)0x0) && (local_e30 != (uint *)PTR_DAT_140155010)) && + (puVar21 = local_e30 + -2, puVar21 != (uint *)0x0)) { + piVar9 = (int *)FUN_140030200(pppuVar16,plVar7,lVar12,param_4); + local_d58 = piVar9; + FUN_14002e6e0(piVar9); + local_d50 = 1; + puVar8 = puVar8 + -1; + *puVar8 = *puVar8 - 1; + if (*puVar8 == 0) { + FUN_1400302f0(puVar21); + } + FUN_14002e770((longlong)piVar9); + local_d50 = 0; + } + local_e30 = (uint *)PTR_DAT_140155010; + plVar7 = param_1 + 0x309; + iVar1 = (int)param_1[0x30c]; + if (iVar1 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + lVar27 = param_1[0x30c]; + FUN_14002d430((longlong)plVar7,(int)lVar27 + 1,lVar12,(longlong)param_4); + iVar25 = (int)lVar27 - iVar1; + if ((0 < iVar25) && (iVar25 = iVar25 + -1, lVar27 = (longlong)iVar25, -1 < iVar25)) { + lVar26 = (iVar1 + lVar27) * 4 + 4; + do { + lVar10 = FUN_14002b440((longlong)plVar7); + lVar11 = FUN_14002b440((longlong)plVar7); + *(undefined4 *)(lVar11 + lVar26) = *(undefined4 *)(lVar10 + -4 + lVar26); + lVar26 = lVar26 + -4; + lVar27 = lVar27 + -1; + } while (-1 < lVar27); + } + lVar27 = FUN_14002b440((longlong)plVar7); + param_1 = local_e08; + *(uint *)(lVar27 + (longlong)iVar1 * 4) = local_e28; + lVar27 = 0; + local_e24 = 0; + pcVar20 = (char *)local_e08[0x43]; + if (((pcVar20 == (char *)0x0) || (pcVar20 == PTR_DAT_140155008)) || + (*(int *)(pcVar20 + -8) == 0)) { + lVar26 = lVar27; + if (plVar15 != (longlong *)0x0) { + lVar26 = *plVar15; + } + if (*(longlong **)(lVar26 + 0x150) != (longlong *)0x0) { + lVar27 = **(longlong **)(lVar26 + 0x150); + } + uVar5 = FUN_140036f80(lVar27,0,lVar12,param_4); + plVar7 = (longlong *)CONCAT44(extraout_var_00,uVar5); + } + else { + lVar12 = lVar27; + if (plVar15 != (longlong *)0x0) { + lVar12 = *plVar15; + } + if (*(longlong **)(lVar12 + 0x150) != (longlong *)0x0) { + lVar27 = **(longlong **)(lVar12 + 0x150); + } + plVar7 = (longlong *)FUN_140036fd0(lVar27,pcVar20,0,param_4); + } + if ((char)plVar7 != '\0') { + uVar6 = 0; + goto LAB_14005471e; + } + } + plVar17 = local_e38; + *(undefined1 *)((longlong)param_2 + 0x702) = 1; + if (plVar15 != (longlong *)0x0) { + plVar14 = plVar15 + 1; + *plVar14 = *plVar14 + -1; + plVar7 = (longlong *)plVar15[1]; + if (*plVar14 == 0) { + puVar13 = (undefined8 *)*local_e38; + if (puVar13 != (undefined8 *)0x0) { + (**(code **)*puVar13)(puVar13,1); + } + plVar7 = (longlong *)FUN_1400302f0(plVar17); + } + } +LAB_14005484d: + return (ulonglong)plVar7 & 0xffffffffffffff00; + } + uVar6 = 0; + if (0 < (int)uVar3) { + uVar6 = uVar3; + } +LAB_14005471e: + plVar17 = (longlong *)0x0; + plVar7 = plVar17; + if (plVar15 != (longlong *)0x0) { + plVar7 = (longlong *)*plVar15; + } + plVar14 = plVar17; + if ((longlong *)plVar7[0x2a] != (longlong *)0x0) { + plVar14 = *(longlong **)plVar7[0x2a]; + } + plVar7 = plVar17; + if (plVar15 != (longlong *)0x0) { + plVar7 = (longlong *)*plVar15; + } + puVar13 = FUN_140034a30((longlong)plVar14,local_d38); + *(undefined4 *)(plVar7 + 0x2c) = *(undefined4 *)(puVar13 + 1); + *(undefined2 *)((longlong)plVar7 + 0x164) = *(undefined2 *)((longlong)puVar13 + 0xc); + plVar7 = plVar17; + if (plVar15 != (longlong *)0x0) { + plVar7 = (longlong *)*plVar15; + } + param_3 = &local_e38; + FUN_1400533f0((char *)(param_1 + 0xde),(longlong)(plVar7 + 0x2b),(longlong *)param_3); + plVar7 = plVar17; + if (plVar15 != (longlong *)0x0) { + plVar7 = (longlong *)*plVar15; + } + plVar14 = plVar17; + if ((longlong *)plVar7[0x2a] != (longlong *)0x0) { + plVar14 = *(longlong **)plVar7[0x2a]; + } + FUN_140034b90((longlong)plVar14,plVar7,param_3,param_4); + plVar14 = plVar17; + if (plVar15 != (longlong *)0x0) { + plVar14 = (longlong *)*plVar15; + } + plVar7 = plVar17; + if ((undefined8 *)plVar14[0x2a] != (undefined8 *)0x0) { + plVar7 = *(longlong **)plVar14[0x2a]; + } + FUN_140039a80(param_1[0xf1],plVar7,(longlong *)param_3,param_4); + plVar14 = plVar17; + if (plVar15 != (longlong *)0x0) { + plVar14 = (longlong *)*plVar15; + } + if ((longlong *)plVar14[0x2a] != (longlong *)0x0) { + plVar17 = *(longlong **)plVar14[0x2a]; + } + FUN_14009e980((longlong)plVar17); + plVar17 = plVar15; + } + else { + plVar15 = FUN_14004bd20((longlong)param_1,(longlong *)&local_e10,param_3,param_4); + plVar7 = (longlong *)0x0; + if (*plVar15 != 0) { + plVar7 = (longlong *)(*(longlong *)(*plVar15 + 8) + 1); + *(longlong **)(*plVar15 + 8) = plVar7; + plVar17 = (longlong *)*plVar15; + local_e38 = plVar17; + } + if ((local_e10 != (longlong *)0x0) && + (local_e10[1] = local_e10[1] + -1, plVar17 = local_e38, local_e10[1] == 0)) { + if ((undefined8 *)*local_e10 != (undefined8 *)0x0) { + plVar7 = (longlong *)0x1; + (*(code *)**(undefined8 **)*local_e10)(); + } + FUN_1400302f0(local_e10); + plVar17 = local_e38; + } + } + plVar15 = (longlong *)0x0; + if (plVar17 != (longlong *)param_2[0xe8]) { + if (plVar17 != (longlong *)0x0) { + plVar17[1] = plVar17[1] + 1; + plVar17 = local_e38; + } + plVar14 = plVar15; + if ((param_2[0xe8] != 0) && + (*(longlong *)(param_2[0xe8] + 8) = *(longlong *)(param_2[0xe8] + 8) + -1, + plVar17 = local_e38, *(longlong *)(param_2[0xe8] + 8) == 0)) { + plVar14 = (longlong *)param_2[0xe8]; + } + param_2[0xe8] = (longlong)plVar17; + if (plVar14 != (longlong *)0x0) { + if ((undefined8 *)*plVar14 != (undefined8 *)0x0) { + plVar7 = (longlong *)0x1; + (*(code *)**(undefined8 **)*plVar14)(); + } + FUN_1400302f0(plVar14); + } + } + if (*(int *)((longlong)param_1 + 0x1844) == 0) { + if (plVar17 != (longlong *)param_2[0xec]) { + if (plVar17 != (longlong *)0x0) { + plVar17[1] = plVar17[1] + 1; + plVar17 = local_e38; + } + plVar7 = plVar15; + if ((param_2[0xec] != 0) && + (*(longlong *)(param_2[0xec] + 8) = *(longlong *)(param_2[0xec] + 8) + -1, + plVar17 = local_e38, *(longlong *)(param_2[0xec] + 8) == 0)) { + plVar7 = (longlong *)param_2[0xec]; + } + param_2[0xec] = (longlong)plVar17; + if (plVar7 != (longlong *)0x0) { + puVar13 = (undefined8 *)*plVar7; + if (puVar13 != (undefined8 *)0x0) { + (**(code **)*puVar13)(puVar13,1); + } + FUN_1400302f0(plVar7); + } + } + *(uint *)(param_2 + 0xed) = uVar6; + if (((longlong *)param_2[0xec] == (longlong *)0x0) || + (lVar12 = *(longlong *)param_2[0xec], plVar7 = (longlong *)(lVar12 + 0x40), lVar12 == 0)) { + plVar7 = plVar15; + } + FUN_14009c480((longlong *)&local_df8,(longlong)plVar7); + plVar14 = plVar15; + if ((undefined8 *)param_2[0xec] != (undefined8 *)0x0) { + plVar14 = *(longlong **)param_2[0xec]; + } + plVar14 = plVar14 + 0x15; + local_d68 = plVar14; + FUN_14002e6e0((int *)plVar14); + local_d60 = 1; + plVar18 = plVar15; + if ((undefined8 *)param_2[0xec] != (undefined8 *)0x0) { + plVar18 = *(longlong **)param_2[0xec]; + } + FUN_14009c6f0((longlong)plVar18,plVar7,(undefined **)param_3,param_4); + FUN_14002e770((longlong)plVar14); + local_d60 = 0; + FUN_14009c490((longlong *)&local_df8); + } + local_d70 = 0; + local_d6f = DAT_1401551cc; + local_d78 = 0; + local_d88[0] = 0; + local_d80 = 0; + local_d74 = 0xffffffff; + if ((char)param_1[0x4d] == '\0') { + local_d74 = 0; + } + FUN_1400806d0(local_df0); + FUN_1400801a0((longlong)local_df0,plVar7,(SIZE_T)param_3,param_4); + FUN_14001ba80((longlong)local_df0,CONCAT71((int7)((ulonglong)plVar7 >> 8),0x2d),(SIZE_T)param_3, + param_4); + if (((longlong *)param_2[0xe8] == (longlong *)0x0) || + (lVar12 = *(longlong *)param_2[0xe8], plVar7 = (longlong *)(lVar12 + 0x40), lVar12 == 0)) { + plVar7 = plVar15; + } + FUN_14009c480(&local_db8,(longlong)plVar7); + local_4c = 200; + local_50 = 0; + local_58 = &local_cd8; + if (local_de8 == 0) { + uStack_e00 = local_dd8; + if (local_de0 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,plVar7,param_3,param_4); + } + } + else { + uStack_e00 = *(uint *)(local_de8 + 0x18); + } + local_cd8 = local_de0; + if (local_de0 == (longlong *)0x0) { + if (local_de8 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)uStack_e00,param_3,param_4); + } + local_cd8 = plVar15; + if (*(int *)(local_de8 + 0x18) != 0) { + local_cd8 = *(longlong **)(local_de8 + 0x10); + } + } + local_50 = 1; + uStack_cd0 = CONCAT44(uStack_dfc,uStack_e00); + local_dc8 = Proud::AddrPort::vftable; + local_dc0 = *(undefined4 *)(param_2[0xe9] + 0x130); + local_dbc = *(undefined2 *)(param_2[0xe9] + 0x134); + if ((undefined8 *)param_2[0xe8] != (undefined8 *)0x0) { + plVar15 = *(longlong **)param_2[0xe8]; + } + local_e08 = local_cd8; + uVar2 = FUN_140096e50(1,0); + uVar6 = (**(code **)(*param_2 + 0x10))(param_2); + pppuVar16 = &local_dc8; + uVar22 = (ulonglong)uVar2; + FUN_14009c8f0((longlong)plVar15,uVar6,uVar2,(longlong)pppuVar16,(longlong)&local_cd8,local_d88); + if (local_58 == (longlong **)0x0) { + FUN_14002f1e0(local_d28,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,uVar22, + pppuVar16); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d28,(ThrowInfo *)&DAT_140151b88); + } + if (local_4c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_50 = 0; + FUN_14009c490(&local_db8); + local_e08 = &local_de8; + plVar7 = (longlong *)FUN_140095270(&local_de8); + plVar15 = local_e38; + if (local_de0 != (longlong *)0x0) { + if (local_dd4 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_dd8 = 0; + } + if (plVar17 != (longlong *)0x0) { + plVar14 = plVar17 + 1; + *plVar14 = *plVar14 + -1; + plVar7 = (longlong *)plVar17[1]; + if (*plVar14 == 0) { + puVar13 = (undefined8 *)*local_e38; + if (puVar13 != (undefined8 *)0x0) { + (**(code **)*puVar13)(puVar13,1); + } + plVar7 = (longlong *)FUN_1400302f0(plVar15); + } + } +LAB_140054c4b: + return CONCAT71((int7)((ulonglong)plVar7 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140054c90.c b/decomp/Agent_Release_x64/full/functions/0x140054c90.c new file mode 100644 index 00000000..30ee74d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140054c90.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140054c90 FUN_140054c90 + * Pseudocode, not original source. */ + +void FUN_140054c90(longlong *param_1,longlong *param_2,longlong **param_3,uint **param_4) + +{ + int *piVar1; + undefined8 uVar2; + int *piVar3; + longlong lVar4; + longlong *plVar5; + ulonglong uVar6; + undefined *puVar7; + undefined **ppuVar8; + undefined *local_30 [2]; + int *local_20; + undefined1 local_18; + + if (((((longlong *)param_2[0xe8] == (longlong *)0x0) || (*(longlong *)param_2[0xe8] == 0)) && + (*(char *)((longlong)param_2 + 0x701) == '\0')) && ((int)param_1[0x45] == 0)) { + uVar2 = FUN_1400541b0(param_1,param_2,param_3,param_4); + if ((char)uVar2 != '\0') { + if ((longlong *)param_2[0xe8] == (longlong *)0x0) { + lVar4 = 0; + } + else { + lVar4 = *(longlong *)param_2[0xe8]; + } + FUN_14009cb10(lVar4,(longlong *)local_30,(ulonglong)param_2,param_4); + plVar5 = param_1 + 0x95; + ppuVar8 = local_30; + puVar7 = &DAT_14015de10; + uVar6 = (ulonglong)*(uint *)(param_2 + 0xdf); + (**(code **)(*plVar5 + 0x140))(); + *(undefined1 *)((longlong)param_2 + 0x701) = 1; + if (((local_30[0] != (undefined *)0x0) && (local_30[0] != PTR_DAT_140155008)) && + (local_30[0] + -8 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(plVar5,uVar6,puVar7,ppuVar8); + local_20 = piVar3; + FUN_14002e6e0(piVar3); + local_18 = 1; + piVar1 = (int *)(local_30[0] + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_30[0] + -8); + } + FUN_14002e770((longlong)piVar3); + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140054d90.c b/decomp/Agent_Release_x64/full/functions/0x140054d90.c new file mode 100644 index 00000000..5165f589 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140054d90.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140054d90 FUN_140054d90 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140054f0d) */ +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_140054d90(longlong param_1,double param_2) + +{ + longlong *plVar1; + LPVOID pvVar2; + void *pvVar3; + longlong lVar4; + LPVOID pvVar5; + longlong *local_res8; + + if (*(longlong *)(param_1 + 0x78) == 0) { + pvVar5 = (LPVOID)0x0; + } + else { + pvVar5 = *(LPVOID *)(param_1 + 0x68); + } + while( true ) { + if (pvVar5 == (LPVOID)0x0) { + return; + } + if (pvVar5 == (LPVOID)0x0) break; + local_res8 = (longlong *)0x0; + if (*(longlong *)((longlong)pvVar5 + 8) != 0) { + *(longlong *)(*(longlong *)((longlong)pvVar5 + 8) + 8) = + *(longlong *)(*(longlong *)((longlong)pvVar5 + 8) + 8) + 1; + local_res8 = *(longlong **)((longlong)pvVar5 + 8); + } + if (local_res8 == (longlong *)0x0) { + lVar4 = 0; + } + else { + lVar4 = *local_res8; + } + if (param_2 - *(double *)(lVar4 + 400) <= _DAT_1401550d0) { + if (pvVar5 != (LPVOID)0x0) { + pvVar5 = *(LPVOID *)((longlong)pvVar5 + 0x10); + } + } + else { + if (pvVar5 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + pvVar2 = *(LPVOID *)((longlong)pvVar5 + 0x10); + FUN_1400503f0((char *)(param_1 + 0x58),pvVar5,'\0'); + pvVar5 = pvVar2; + } + if (local_res8 != (longlong *)0x0) { + plVar1 = local_res8 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + pvVar3 = (void *)*local_res8; + if (pvVar3 != (void *)0x0) { + FUN_14003b870((undefined8 *)((longlong)pvVar3 + 0x148)); + FUN_14003b870((undefined8 *)((longlong)pvVar3 + 0x120)); + operator_delete(pvVar3); + } + FUN_1400302f0(local_res8); + } + } + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140054f40.c b/decomp/Agent_Release_x64/full/functions/0x140054f40.c new file mode 100644 index 00000000..949f9003 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140054f40.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140054f40 FUN_140054f40 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014005501d) */ +/* WARNING: Removing unreachable block (ram,0x000140054fe6) */ + +longlong * FUN_140054f40(longlong param_1,longlong *param_2,uint param_3,uint param_4,char param_5) + +{ + longlong *plVar1; + ulonglong uVar2; + uint *puVar3; + uint *puVar4; + uint *puVar5; + uint uVar6; + undefined8 *local_res8; + + puVar3 = (uint *)0x0; + local_res8 = (undefined8 *)0x0; + uVar6 = param_4; + if ((int)param_4 < (int)param_3) { + uVar6 = param_3; + param_3 = param_4; + } + uVar2 = (ulonglong)(param_3 << 0x10 ^ uVar6) % (ulonglong)*(uint *)(param_1 + 0x80); + puVar5 = puVar3; + if ((*(longlong *)(param_1 + 0x60) != 0) && + (puVar4 = *(uint **)(*(longlong *)(param_1 + 0x60) + uVar2 * 8), puVar4 != (uint *)0x0)) { + while (puVar5 = puVar3, (uint)uVar2 == puVar4[8] % *(uint *)(param_1 + 0x80)) { + if (((*puVar4 == param_3) && (puVar5 = puVar4, puVar4[1] == uVar6)) || + (puVar4 = *(uint **)(puVar4 + 4), puVar5 = puVar3, puVar4 == (uint *)0x0)) break; + } + } + if (puVar5 == (uint *)0x0) { + *param_2 = 0; + } + else { + if (*(longlong *)(puVar5 + 2) != 0) { + *(longlong *)(*(longlong *)(puVar5 + 2) + 8) = + *(longlong *)(*(longlong *)(puVar5 + 2) + 8) + 1; + local_res8 = *(undefined8 **)(puVar5 + 2); + } + if (param_5 != '\0') { + FUN_1400503f0((char *)(param_1 + 0x58),puVar5,'\0'); + } + *param_2 = 0; + if (local_res8 != (undefined8 *)0x0) { + local_res8[1] = local_res8[1] + 1; + if ((*param_2 != 0) && + (*(longlong *)(*param_2 + 8) = *(longlong *)(*param_2 + 8) + -1, + *(longlong *)(*param_2 + 8) == 0)) { + puVar3 = (uint *)*param_2; + } + *param_2 = (longlong)local_res8; + if (puVar3 != (uint *)0x0) { + FUN_140041080((undefined8 *)puVar3); + } + } + if (local_res8 != (undefined8 *)0x0) { + plVar1 = local_res8 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + FUN_140041080(local_res8); + } + } + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400550c0.c b/decomp/Agent_Release_x64/full/functions/0x1400550c0.c new file mode 100644 index 00000000..ab3a3423 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400550c0.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400550c0 FUN_1400550c0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400550c0(char *param_1,int *param_2,longlong *param_3) + +{ + uint uVar1; + int *piVar2; + ulonglong uVar3; + longlong *plVar4; + + uVar1 = *(uint *)(param_1 + 0x28); + uVar3 = (ulonglong)(uint)(*param_2 << 0x10 ^ param_2[1]) % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 8) != 0) { + for (piVar2 = *(int **)(*(longlong *)(param_1 + 8) + uVar3 * 8); + (piVar2 != (int *)0x0 && ((uint)uVar3 == (uint)piVar2[8] % uVar1)); + piVar2 = *(int **)(piVar2 + 4)) { + if ((*piVar2 == *param_2) && (piVar2[1] == param_2[1])) { + return (ulonglong)(uint)piVar2[8] / (ulonglong)uVar1 & 0xffffff00; + } + } + } + plVar4 = (longlong *)FUN_140053530(param_1,param_2); + plVar4 = FUN_14004db20(plVar4,param_3); + return CONCAT71((int7)((ulonglong)plVar4 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140055170.c b/decomp/Agent_Release_x64/full/functions/0x140055170.c new file mode 100644 index 00000000..bcd55144 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140055170.c @@ -0,0 +1,48 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140055170 FUN_140055170 + * Pseudocode, not original source. */ + +longlong * FUN_140055170(char *param_1,longlong *param_2) + +{ + ulonglong *puVar1; + ulonglong uVar2; + longlong *plVar3; + ulonglong uVar4; + ulonglong uVar5; + uint uVar6; + + puVar1 = (ulonglong *)*param_2; + if (puVar1 == (ulonglong *)0x0) { + uVar5 = 0; + } + else { + uVar5 = *puVar1; + } + uVar4 = (uVar5 & 0xffffffff) % (ulonglong)*(uint *)(param_1 + 0x28); + uVar6 = (uint)uVar4; + if (*(longlong *)(param_1 + 8) != 0) { + for (plVar3 = *(longlong **)(*(longlong *)(param_1 + 8) + uVar4 * 8); + (plVar3 != (longlong *)0x0 && (uVar6 == *(uint *)(plVar3 + 4) % *(uint *)(param_1 + 0x28))); + plVar3 = (longlong *)plVar3[2]) { + if ((ulonglong *)*plVar3 == (ulonglong *)0x0) { + uVar4 = 0; + } + else { + uVar4 = *(ulonglong *)*plVar3; + } + if (puVar1 == (ulonglong *)0x0) { + uVar2 = 0; + } + else { + uVar2 = *puVar1; + } + if (uVar4 == uVar2) { + return plVar3 + 1; + } + } + } + plVar3 = FUN_1400535e0(param_1,param_2,uVar6,(int)uVar5); + return plVar3 + 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140055220.c b/decomp/Agent_Release_x64/full/functions/0x140055220.c new file mode 100644 index 00000000..5ea44ca4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140055220.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140055220 FUN_140055220 + * Pseudocode, not original source. */ + +void FUN_140055220(undefined4 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + LPVOID pvVar1; + + pvVar1 = *(LPVOID *)(param_1 + 0xe); + if (pvVar1 != (LPVOID)0x0) { + FUN_140003240((longlong *)((longlong)pvVar1 + 0x98),param_2,param_3,param_4); + FUN_140043b40((char *)((longlong)pvVar1 + 0x38)); + FUN_1400302f0(pvVar1); + } + FUN_14002e7a0(param_1,param_2,param_3,param_4); + FUN_1400302f0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140055290.c b/decomp/Agent_Release_x64/full/functions/0x140055290.c new file mode 100644 index 00000000..d5208b3d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140055290.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140055290 FUN_140055290 + * Pseudocode, not original source. */ + +void FUN_140055290(undefined4 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + LPVOID pvVar1; + + pvVar1 = *(LPVOID *)(param_1 + 0xe); + if (pvVar1 != (LPVOID)0x0) { + FUN_140043b40((char *)((longlong)pvVar1 + 0x28)); + FUN_1400302f0(pvVar1); + } + FUN_14002e7a0(param_1,param_2,param_3,param_4); + FUN_1400302f0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400552e0.c b/decomp/Agent_Release_x64/full/functions/0x1400552e0.c new file mode 100644 index 00000000..7a50c3cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400552e0.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400552e0 FUN_1400552e0 + * Pseudocode, not original source. */ + +void FUN_1400552e0(undefined4 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + LPVOID pvVar1; + + pvVar1 = *(LPVOID *)(param_1 + 0xe); + if (pvVar1 != (LPVOID)0x0) { + FUN_140043b40((char *)((longlong)pvVar1 + 8)); + FUN_1400302f0(pvVar1); + } + FUN_14002e7a0(param_1,param_2,param_3,param_4); + FUN_1400302f0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140055330.c b/decomp/Agent_Release_x64/full/functions/0x140055330.c new file mode 100644 index 00000000..dae6c9ab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140055330.c @@ -0,0 +1,58 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140055330 FUN_140055330 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140055426) */ +/* WARNING: Removing unreachable block (ram,0x000140055434) */ + +void FUN_140055330(ulonglong *param_1,ulonglong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + int *piVar2; + ulonglong *puVar3; + int *piVar4; + int *piVar5; + undefined4 *puVar6; + + piVar5 = (int *)*param_2; + piVar2 = (int *)*param_1; + if (piVar2 != piVar5) { + piVar4 = piVar2; + if (piVar5 < piVar2) { + piVar4 = piVar5; + piVar5 = piVar2; + } + puVar3 = param_2; + if (piVar4 != (int *)0x0) { + FUN_14002e6e0(piVar4); + } + if (piVar5 != (int *)0x0) { + FUN_14002e6e0(piVar5); + } + if (*param_2 != 0) { + plVar1 = (longlong *)(*param_2 + 0x40); + *plVar1 = *plVar1 + 1; + } + puVar6 = (undefined4 *)0x0; + if (*param_1 != 0) { + plVar1 = (longlong *)(*param_1 + 0x40); + *plVar1 = *plVar1 + -1; + if (*(longlong *)((undefined4 *)*param_1 + 0x10) == 0) { + puVar6 = (undefined4 *)*param_1; + } + } + *param_1 = *param_2; + if (piVar4 != (int *)0x0) { + FUN_14002e770((longlong)piVar4); + } + if (piVar5 != (int *)0x0) { + FUN_14002e770((longlong)piVar5); + } + if (puVar6 != (undefined4 *)0x0) { + FUN_1400552e0(puVar6,puVar3,param_3,param_4); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140055460.c b/decomp/Agent_Release_x64/full/functions/0x140055460.c new file mode 100644 index 00000000..9891ab87 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140055460.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140055460 FUN_140055460 + * Pseudocode, not original source. */ + +void FUN_140055460(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + LPVOID pvVar2; + + if (*(longlong *)(param_1 + 8) != 0) { + *(longlong *)(*(longlong *)(param_1 + 8) + 8) = + *(longlong *)(*(longlong *)(param_1 + 8) + 8) + -1; + if (*(longlong *)(*(longlong *)(param_1 + 8) + 8) == 0) { + puVar1 = *(undefined8 **)(param_1 + 8); + pvVar2 = (LPVOID)*puVar1; + if (pvVar2 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar2,0,param_3,param_4); + FUN_1400302f0(pvVar2); + } + FUN_1400302f0(puVar1); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400554d0.c b/decomp/Agent_Release_x64/full/functions/0x1400554d0.c new file mode 100644 index 00000000..8846eb40 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400554d0.c @@ -0,0 +1,120 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400554d0 FUN_1400554d0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400554d0(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4) + +{ + int *piVar1; + uint uVar2; + longlong lVar3; + short *psVar4; + int *piVar5; + longlong *plVar6; + int *piVar7; + undefined8 uVar8; + uint *puVar9; + longlong lVar10; + ulonglong uVar11; + longlong **pplVar12; + undefined *puVar13; + short *psVar14; + uint **ppuVar15; + double dVar16; + undefined8 *local_res8; + uint local_res10 [2]; + short *local_res20; + + local_res10[0] = (uint)param_2; + piVar5 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58)) + (*(longlong **)(param_1 + 0x20),param_2,param_3,param_4, + 0xfffffffffffffffe); + FUN_14002e6e0(piVar5); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x20) + 200))(); + } + uVar2 = *param_4; + ppuVar15 = (uint **)(ulonglong)uVar2; + lVar10 = *(longlong *)(param_1 + 0x20); + uVar11 = (ulonglong)ppuVar15 % (ulonglong)*(uint *)(lVar10 + 0xca0); + if ((*(longlong *)(lVar10 + 0xc80) != 0) && + (puVar9 = *(uint **)(*(longlong *)(lVar10 + 0xc80) + uVar11 * 8), puVar9 != (uint *)0x0)) { + while ((uint)uVar11 == puVar9[8] % *(uint *)(lVar10 + 0xca0)) { + if (*puVar9 == uVar2) { + if ((*(longlong *)(puVar9 + 2) != 0) && + (*(longlong *)(*(longlong *)(puVar9 + 2) + 0x228) == 0)) { + pplVar12 = (longlong **)(ulonglong)local_res10[0]; + plVar6 = FUN_14004ffa0(lVar10 + 0x2d8,(longlong *)&local_res8,local_res10[0],uVar2); + lVar10 = 0; + if ((longlong *)*plVar6 != (longlong *)0x0) { + lVar10 = *(longlong *)*plVar6; + } + if ((local_res8 != (undefined8 *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + FUN_140041080(local_res8); + } + if (lVar10 != 0) { + plVar6 = *(longlong **)(lVar10 + 0x100); + dVar16 = (double)plVar6[0xd8]; + if (plVar6[0xd8] < 0) { + dVar16 = dVar16 + 1.8446744073709552e+19; + } + if (dVar16 < (double)plVar6[0x35]) { + lVar3 = *(longlong *)(*(longlong *)(lVar10 + 0x108) + 0x6c0); + dVar16 = (double)lVar3; + if (lVar3 < 0) { + dVar16 = dVar16 + 1.8446744073709552e+19; + } + if (dVar16 < *(double *)(*(longlong *)(lVar10 + 0x108) + 0x1a8)) { + FUN_140054c90(*(longlong **)(param_1 + 0x20),plVar6,pplVar12,ppuVar15); + FUN_140054c90(*(longlong **)(param_1 + 0x20),*(longlong **)(lVar10 + 0x108),pplVar12 + ,ppuVar15); + plVar6 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0x4a8); + (**(code **)(*plVar6 + 0x120))(plVar6,*param_4,&DAT_14015de10,local_res10); + plVar6 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0x4a8); + puVar13 = &DAT_14015de10; + uVar11 = (ulonglong)local_res10[0]; + puVar9 = param_4; + (**(code **)(*plVar6 + 0x120))(); + *(undefined1 *)(lVar10 + 0x110) = 1; + if (*(longlong *)(*(longlong *)(param_1 + 0x20) + 0x17f0) != 0) { + FUN_140030200(plVar6,uVar11,puVar13,puVar9); + local_res20 = (short *)PTR_DAT_140155010; + uVar11 = (ulonglong)*param_4; + FUN_14001b7a0((longlong *)&local_res20, + L"Client %d-Client %d간 P2P UDP 홀펀칭 시작 조건이 성립되었습니다. 이제 두 피어간의 홀펀칭 시작을 지시합니다." + ,(ulonglong)local_res10[0],uVar11); + psVar4 = local_res20; + psVar14 = local_res20; + if (local_res20 == (short *)0x0) { + psVar14 = (short *)PTR_DAT_140155010; + } + uVar8 = 1; + lVar10 = *(longlong *)(*(longlong *)(param_1 + 0x20) + 0x17f0); + FUN_14008f2e0(lVar10,1,psVar14,uVar11); + if (((psVar4 != (short *)0x0) && (psVar4 != (short *)PTR_DAT_140155010)) && + (psVar4 + -4 != (short *)0x0)) { + piVar7 = (int *)FUN_140030200(lVar10,uVar8,psVar14,uVar11); + FUN_14002e6e0(piVar7); + piVar1 = (int *)(psVar4 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar4 + -4); + } + FUN_14002e770((longlong)piVar7); + } + } + } + } + } + } + break; + } + puVar9 = *(uint **)(puVar9 + 4); + if (puVar9 == (uint *)0x0) break; + } + } + uVar8 = FUN_14002e770((longlong)piVar5); + return CONCAT71((int7)((ulonglong)uVar8 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400557b0.c b/decomp/Agent_Release_x64/full/functions/0x1400557b0.c new file mode 100644 index 00000000..45db99b1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400557b0.c @@ -0,0 +1,127 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400557b0 FUN_1400557b0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400557b0(longlong param_1,uint param_2) + +{ + int *piVar1; + longlong *plVar2; + int *piVar3; + int *piVar4; + int *piVar5; + undefined8 uVar6; + uint *puVar7; + longlong lVar8; + longlong *plVar9; + longlong *plVar10; + longlong **pplVar11; + undefined *puVar12; + uint **ppuVar13; + char *pcVar14; + char local_res10 [8]; + int *local_80; + int *local_40; + undefined1 local_38; + + piVar1 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar1); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x20) + 200))(); + } + plVar9 = *(longlong **)(param_1 + 0x20); + ppuVar13 = (uint **)(ulonglong)*(uint *)(plVar9 + 0x194); + pplVar11 = (longlong **)((ulonglong)param_2 % (ulonglong)ppuVar13); + if ((plVar9[400] != 0) && + (puVar7 = *(uint **)(plVar9[400] + (longlong)pplVar11 * 8), puVar7 != (uint *)0x0)) { + while ((uint)pplVar11 == puVar7[8] % *(uint *)(plVar9 + 0x194)) { + if (*puVar7 == param_2) { + plVar10 = *(longlong **)(puVar7 + 2); + if ((plVar10 != (longlong *)0x0) && (plVar10[0x45] == 0)) { + plVar2 = plVar10; + uVar6 = FUN_1400541b0(plVar9,plVar10,pplVar11,ppuVar13); + local_res10[0] = (char)uVar6; + FUN_140030200(plVar9,plVar2,pplVar11,ppuVar13); + local_80 = (int *)PTR_DAT_140155008; + if (local_res10[0] != '\0') { + if ((longlong *)plVar10[0xe8] == (longlong *)0x0) { + lVar8 = 0; + } + else { + lVar8 = *(longlong *)plVar10[0xe8]; + } + plVar9 = plVar10; + plVar2 = FUN_14009cb10(lVar8,(longlong *)&local_40,(ulonglong)plVar10,ppuVar13); + if (local_80 == (int *)0x0) { + local_80 = (int *)PTR_DAT_140155008; + } + piVar3 = local_80; + if ((int *)*plVar2 != local_80) { + piVar3 = (int *)FUN_140030200(local_80,PTR_DAT_140155008,plVar9,ppuVar13); + piVar5 = piVar3; + FUN_14002e6e0(piVar3); + if (((local_80 != (int *)0x0) && (local_80 != (int *)PTR_DAT_140155008)) && + (local_80 + -2 != (int *)0x0)) { + piVar4 = (int *)FUN_140030200(piVar5,PTR_DAT_140155008,plVar9,ppuVar13); + FUN_14002e6e0(piVar4); + piVar5 = local_80 + -1; + *piVar5 = *piVar5 + -1; + if (*piVar5 == 0) { + FUN_1400302f0(local_80 + -2); + } + FUN_14002e770((longlong)piVar4); + } + local_80 = (int *)*plVar2; + if (((local_80 != (int *)PTR_DAT_140155008) && (local_80 != (int *)0x0)) && + (local_80 != (int *)0x8)) { + local_80[-1] = local_80[-1] + 1; + } + FUN_14002e770((longlong)piVar3); + } + piVar5 = local_40; + if (((local_40 != (int *)0x0) && (local_40 != (int *)PTR_DAT_140155008)) && + (piVar4 = local_40 + -2, piVar4 != (int *)0x0)) { + piVar3 = (int *)FUN_140030200(piVar3,PTR_DAT_140155008,plVar9,ppuVar13); + FUN_14002e6e0(piVar3); + piVar5 = piVar5 + -1; + *piVar5 = *piVar5 + -1; + if (*piVar5 == 0) { + FUN_1400302f0(piVar4); + } + FUN_14002e770((longlong)piVar3); + } + } + plVar9 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0x4a8); + pcVar14 = local_res10; + puVar12 = &DAT_14015de10; + plVar2 = (longlong *)(ulonglong)param_2; + (**(code **)(*plVar9 + 0x150))(); + if (local_res10[0] != '\0') { + plVar9 = *(longlong **)(param_1 + 0x20); + FUN_14004d470(plVar9,(longlong)plVar10,(SIZE_T)puVar12,pcVar14); + plVar2 = plVar10; + } + if (((local_80 != (int *)0x0) && (local_80 != (int *)PTR_DAT_140155008)) && + (local_80 + -2 != (int *)0x0)) { + piVar5 = (int *)FUN_140030200(plVar9,plVar2,puVar12,pcVar14); + local_40 = piVar5; + FUN_14002e6e0(piVar5); + local_38 = 1; + piVar3 = local_80 + -1; + *piVar3 = *piVar3 + -1; + if (*piVar3 == 0) { + FUN_1400302f0(local_80 + -2); + } + FUN_14002e770((longlong)piVar5); + } + } + break; + } + puVar7 = *(uint **)(puVar7 + 4); + if (puVar7 == (uint *)0x0) break; + } + } + uVar6 = FUN_14002e770((longlong)piVar1); + return CONCAT71((int7)((ulonglong)uVar6 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140055a90.c b/decomp/Agent_Release_x64/full/functions/0x140055a90.c new file mode 100644 index 00000000..1e693517 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140055a90.c @@ -0,0 +1,724 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140055a90 FUN_140055a90 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_140055a90(longlong param_1,longlong *param_2,undefined ***param_3,ulonglong param_4) + +{ + int iVar1; + undefined *puVar2; + void *pvVar3; + int iVar4; + DWORD DVar5; + DWORD DVar6; + DWORD DVar7; + byte *pbVar8; + uint *puVar9; + longlong *plVar10; + undefined ***pppuVar11; + byte **ppbVar12; + int *piVar13; + undefined8 *puVar14; + byte *pbVar15; + ulonglong uVar16; + byte *pbVar17; + byte *pbVar18; + uint uVar19; + byte *pbVar20; + uint *puVar21; + wchar_t *pwVar22; + LPCWSTR pWVar23; + longlong *plVar24; + uint uVar25; + longlong lVar26; + undefined *puVar27; + SIZE_T SVar28; + undefined8 uVar29; + undefined ***pppuVar30; + uint **ppuVar31; + uint *puVar32; + uint uVar33; + uint uVar35; + longlong lVar36; + double dVar37; + undefined1 auStackY_488 [32]; + uint *local_458; + undefined ***local_450; + byte *local_448; + char *local_440; + byte *local_438; + undefined **local_430; + longlong *local_428; + longlong *local_420; + ulonglong local_418; + undefined8 local_410; + undefined *local_408; + undefined **local_400; + undefined8 local_3f8; + byte *local_3f0; + undefined8 local_3e8; + undefined8 local_3e0; + undefined **local_3d8; + longlong *local_3d0; + byte *local_3c8; + ulonglong local_3c0; + undefined4 local_3b8; + undefined4 local_3b4; + undefined **local_3b0; + undefined8 local_3a8; + byte *local_3a0; + undefined8 local_398; + undefined8 local_390; + undefined **local_388; + longlong local_380; + byte *local_378; + undefined8 local_370; + undefined4 local_368; + undefined4 local_364; + undefined4 *local_360; + char *local_358; + undefined **local_350; + undefined8 local_348; + undefined8 local_340; + undefined8 local_338; + undefined8 local_330; + int *local_328; + undefined1 local_320; + byte **local_318; + undefined1 local_310; + int *local_308; + undefined1 local_300; + undefined ***local_2f8; + undefined1 local_2f0; + undefined8 local_2e8; + int *local_2e0; + undefined1 local_2d8; + exception local_2d0 [24]; + exception local_2b8 [24]; + exception local_2a0 [72]; + exception local_258 [72]; + exception local_210 [72]; + exception local_1c8 [72]; + undefined8 local_180 [3]; + char *local_168; + char local_160 [136]; + char *local_d8; + char local_d0 [136]; + ulonglong local_48; + byte *pbVar34; + + pppuVar30 = &local_388; + local_2e8 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStackY_488; + local_2e0 = (int *)(param_1 + 0xb8); + local_450 = param_3; + FUN_14002e6e0(local_2e0); + local_2d8 = 1; + if ((*(longlong **)(param_1 + 0x6a0) != (longlong *)0x0) && + (**(longlong **)(param_1 + 0x6a0) != 0)) goto LAB_1400568c1; + DVar5 = *(DWORD *)((longlong)param_2 + 0x54); + if (DVar5 == 0) { + DVar5 = FUN_14002f850(); + *(DWORD *)((longlong)param_2 + 0x54) = DVar5; + } + if ((int)DVar5 < 0) { + FUN_14002f1e0(local_210,L"Invalid thread count",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_210,(ThrowInfo *)&DAT_140151b88); + } + uVar16 = (ulonglong)param_3 & 0xffffffffffffff00; + ppuVar31 = (uint **)(param_4 & 0xffffffffffffff00); + pbVar15 = (byte *)0x0; + uVar25 = 0; + pbVar17 = pbVar15; + pbVar18 = pbVar15; + if (0 < (int)param_2[6]) { + do { + if (((longlong)pbVar17 < 0) || ((int)param_2[6] <= (int)pbVar18)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pbVar17,pbVar18,uVar16,ppuVar31); + } + if (*(int *)(param_2[5] + (longlong)pbVar17 * 4) == 0) { + ppuVar31 = (uint **)CONCAT71((int7)((ulonglong)ppuVar31 >> 8),1); + } + else { + uVar16 = CONCAT71((int7)(uVar16 >> 8),1); + } + uVar19 = (int)pbVar18 + 1; + pbVar18 = (byte *)(ulonglong)uVar19; + pbVar17 = pbVar17 + 1; + } while ((int)uVar19 < (int)param_2[6]); + if (((char)ppuVar31 != '\0') && ((char)uVar16 != '\0')) { + FUN_14002f1e0(local_258, + L"Cannot assign non-zero UDP port number with zero UDP port number! All non-zero or all zero must be guaranteed!" + ,uVar16,ppuVar31); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_258,(ThrowInfo *)&DAT_140151b88); + } + } + iVar1 = *(int *)((longlong)param_2 + 0x5c); + if (((iVar1 != 0x80) && (iVar1 != 0xc0)) && (iVar1 != 0x100)) { + FUN_14002f1e0(local_1c8,L"Invalid key length!",uVar16,ppuVar31); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_1c8,(ThrowInfo *)&DAT_140151b88); + } + local_3d8 = Proud::CFastArray::vftable; + if (DAT_1401558a0 != 5) { + FUN_14003b760(); + } + local_3d0 = (longlong *)param_2[4]; + local_3b4 = *(undefined4 *)((longlong)param_2 + 0x3c); + local_3c8 = (byte *)0x0; + local_3c0 = 0; + local_3b8 = 0; + iVar1 = (int)param_2[6]; + lVar36 = (longlong)iVar1; + if (iVar1 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14002d430((longlong)&local_3d8,iVar1,uVar16,(longlong)ppuVar31); + pbVar17 = local_3c8; + iVar4 = (int)local_3c0; + pbVar18 = local_3c8; + if ((int)local_3c0 == 0) { + pbVar18 = pbVar15; + } + pbVar20 = pbVar15; + if ((int)param_2[6] != 0) { + pbVar20 = (byte *)param_2[5]; + } + if (0 < iVar1) { + lVar26 = (longlong)pbVar20 - (longlong)pbVar18; + do { + *(undefined4 *)pbVar18 = *(undefined4 *)(pbVar18 + lVar26); + pbVar18 = pbVar18 + 4; + lVar36 = lVar36 + -1; + } while (lVar36 != 0); + } + pbVar18 = local_3c8; + if ((int)local_3c0 == 0) { + pbVar18 = pbVar15; + } + pbVar20 = (byte *)(local_3c0 & 0xffffffff); + FUN_140050770((longlong)pbVar18,(int)local_3c0,0); + uVar19 = iVar4 - 1; + puVar27 = (undefined *)(ulonglong)uVar19; + pbVar8 = pbVar15; + pbVar34 = pbVar15; + if (0 < (int)uVar19) { + do { + if (((longlong)pbVar8 < 0) || (iVar4 <= (int)pbVar34)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pbVar18,pbVar20,puVar27,ppuVar31); + } + pbVar20 = pbVar8 + 1; + if ((longlong)pbVar20 < 0) { +LAB_140055d0c: + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pbVar18,pbVar20,puVar27,ppuVar31); + } + uVar33 = (int)pbVar34 + 1; + pbVar34 = (byte *)(ulonglong)uVar33; + if (iVar4 <= (int)uVar33) goto LAB_140055d0c; + uVar35 = *(uint *)(pbVar17 + (longlong)pbVar8 * 4); + pbVar18 = (byte *)(ulonglong)uVar35; + if ((uVar35 == *(uint *)(pbVar17 + (longlong)pbVar8 * 4 + 4)) && (uVar35 != 0)) { + FUN_14002f1e0(local_2a0,L"Cannot add duplicated UDP port number!",puVar27,ppuVar31); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_2a0,(ThrowInfo *)&DAT_140151b88); + } + pbVar8 = pbVar20; + } while ((int)uVar33 < (int)uVar19); + } + local_430 = Proud::CFastArray,0>::vftable; + local_428 = (longlong *)0x0; + local_420 = (longlong *)0x0; + local_418 = 0; + local_410 = 0; + pppuVar11 = &local_430; + FUN_1400346e0((longlong)pppuVar11,pbVar20,(ulonglong)puVar27,ppuVar31); + DVar5 = 0; + if ((1 < (int)local_418) && + (((puVar2 = (undefined *)param_2[1], puVar2 == (undefined *)0x0 || + (puVar2 == PTR_DAT_140155010)) || (*(int *)(puVar2 + -8) == 0)))) { + FUN_140030200(pppuVar11,pbVar20,puVar27,ppuVar31); + local_458 = (uint *)PTR_DAT_140155010; + uVar19 = FUN_140030080( + L"Server has multiple network devices, however, no device is specified for listening. Is it your intention?" + ); + pbVar18 = pbVar15; + if ((local_458 != (uint *)0x0) && + (pbVar18 = (byte *)0x0, local_458 != (uint *)PTR_DAT_140155010)) { + pbVar18 = (byte *)(ulonglong)local_458[-2]; + } + uVar33 = uVar19; + if ((((int)uVar19 <= (int)pbVar18) && (uVar33 = uVar25, local_458 != (uint *)0x0)) && + (local_458 != (uint *)PTR_DAT_140155010)) { + uVar33 = local_458[-2]; + } + uVar35 = 1; + if (1 < (int)uVar33) { + uVar35 = uVar33; + } + uVar33 = uVar25; + if ((local_458 != (uint *)0x0) && (local_458 != (uint *)PTR_DAT_140155010)) { + uVar33 = local_458[-2]; + } + if ((int)uVar33 < (int)uVar35) { + if (local_458 == (uint *)0x0) { + local_458 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar35 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar35 == 0) { + FUN_140003240((longlong *)&local_458,PTR_DAT_140155010,pbVar18,ppuVar31); + } + else { + uVar33 = uVar25; + if ((local_458 != (uint *)0x0) && (local_458 != (uint *)PTR_DAT_140155010)) { + uVar33 = local_458[-2]; + } + if (uVar35 != uVar33) { + puVar9 = (uint *)FUN_140030280((longlong)(int)uVar35 * 2 + 10); + if (puVar9 != (uint *)0x0) { + *puVar9 = 0; + puVar9[1] = 1; + } + *puVar9 = uVar35; + DVar7 = DVar5; + if ((local_458 != (uint *)0x0) && (local_458 != (uint *)PTR_DAT_140155010)) { + DVar7 = local_458[-2]; + } + puVar21 = (uint *)PTR_DAT_140155010; + if ((int)uVar35 < (int)DVar7) { +LAB_140055e71: + if (local_458 != (uint *)0x0) { + puVar21 = local_458; + } + } + else { + uVar35 = uVar25; + if (local_458 != (uint *)0x0) { + if (local_458 != (uint *)PTR_DAT_140155010) { + uVar35 = local_458[-2]; + } + goto LAB_140055e71; + } + } + uVar16 = (ulonglong)uVar35; + puVar32 = puVar21; + FUN_1400300b0(puVar9 + 2,puVar21,uVar35); + FUN_140003240((longlong *)&local_458,puVar21,uVar16,puVar32); + local_458 = puVar9 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_458); + puVar9 = local_458; + if (local_458 == (uint *)0x0) { + puVar9 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar9, + L"Server has multiple network devices, however, no device is specified for listening. Is it your intention?" + ,uVar19); + puVar9 = local_458; + if (local_458 == (uint *)0x0) { + puVar9 = (uint *)PTR_DAT_140155010; + } + DVar6 = FUN_140030080((short *)puVar9); + DVar7 = 0; + if (0 < (int)DVar6) { + DVar7 = DVar6; + } + DVar6 = DVar5; + if ((local_458 != (uint *)0x0) && (local_458 != (uint *)PTR_DAT_140155010)) { + DVar6 = local_458[-2]; + } + if (((int)DVar7 < (int)DVar6) || (DVar7 = DVar5, local_458 == (uint *)0x0)) { +LAB_140055f14: + if (((local_458 != (uint *)PTR_DAT_140155010) && (local_458 != (uint *)0x0)) && + (local_458 + -2 != (DWORD *)0x0)) { + local_458[-2] = DVar7; + *(undefined2 *)((longlong)local_458 + (longlong)(int)DVar7 * 2) = 0; + } + } + else if (local_458 != (uint *)PTR_DAT_140155010) { + DVar7 = local_458[-2]; + goto LAB_140055f14; + } + local_348 = 0; + local_340 = 0; + local_338 = 0; + local_330 = 0; + local_350 = Proud::ByteArray::vftable; + ppuVar31 = &local_458; + uVar29 = 0; + plVar10 = FUN_14003c120((longlong *)&local_360,1,0,(longlong *)ppuVar31,(longlong)&local_350); + FUN_140052080(param_1 + -0xa8,plVar10,uVar29,ppuVar31); + pppuVar11 = &local_350; + FUN_14003b870(pppuVar11); + puVar9 = local_458; + if (((local_458 != (uint *)0x0) && (local_458 != (uint *)PTR_DAT_140155010)) && + (puVar21 = local_458 + -2, puVar21 != (uint *)0x0)) { + pppuVar11 = (undefined ***)FUN_140030200(pppuVar11,plVar10,uVar29,ppuVar31); + local_2f8 = pppuVar11; + FUN_14002e6e0((int *)pppuVar11); + local_2f0 = 1; + puVar9 = puVar9 + -1; + *puVar9 = *puVar9 - 1; + if (*puVar9 == 0) { + FUN_1400302f0(puVar21); + } + FUN_14002e770((longlong)pppuVar11); + local_2f0 = 0; + } + local_458 = (uint *)PTR_DAT_140155010; + FUN_140030200(pppuVar11,plVar10,uVar29,ppuVar31); + local_438 = PTR_DAT_140155010; + plVar10 = FUN_14002ff30((longlong *)&local_408,plVar10,uVar29,ppuVar31); + puVar27 = (undefined *)*plVar10; + if ((undefined *)*plVar10 == (undefined *)0x0) { + puVar27 = PTR_DAT_140155010; + } + pwVar22 = L"No NIC binding though multiple NIC detected##Process=%s"; + ppbVar12 = &local_438; + FUN_14001b7a0((longlong *)ppbVar12,L"No NIC binding though multiple NIC detected##Process=%s", + puVar27,ppuVar31); + if (((local_408 != (undefined *)0x0) && (local_408 != PTR_DAT_140155010)) && + (local_408 + -8 != (undefined *)0x0)) { + ppbVar12 = (byte **)FUN_140030200(ppbVar12,pwVar22,puVar27,ppuVar31); + local_318 = ppbVar12; + FUN_14002e6e0((int *)ppbVar12); + local_310 = 1; + piVar13 = (int *)(local_408 + -4); + *piVar13 = *piVar13 + -1; + if (*piVar13 == 0) { + FUN_1400302f0(local_408 + -8); + } + FUN_14002e770((longlong)ppbVar12); + local_310 = 0; + } + local_408 = PTR_DAT_140155010; + FUN_140030200(ppbVar12,pwVar22,puVar27,ppuVar31); + pbVar18 = local_438; + local_448 = PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_448 = pbVar15; + } + if (local_438 != PTR_DAT_140155010) { + piVar13 = (int *)FUN_140030200(ppbVar12,pwVar22,puVar27,ppuVar31); + local_308 = piVar13; + FUN_14002e6e0(piVar13); + local_300 = 1; + FUN_140003240((longlong *)&local_448,pwVar22,puVar27,ppuVar31); + local_448 = pbVar18; + if (((pbVar18 != PTR_DAT_140155010) && (pbVar18 != (byte *)0x0)) && (pbVar18 != (byte *)0x8)) + { + *(int *)(pbVar18 + -4) = *(int *)(pbVar18 + -4) + 1; + } + FUN_14002e770((longlong)piVar13); + local_300 = 0; + } + ppbVar12 = &local_448; + FUN_140033120((longlong *)ppbVar12,pwVar22,puVar27,ppuVar31); + if (((pbVar18 != (byte *)0x0) && (pbVar18 != PTR_DAT_140155010)) && + (pbVar18 + -8 != (byte *)0x0)) { + piVar13 = (int *)FUN_140030200(ppbVar12,pwVar22,puVar27,ppuVar31); + local_328 = piVar13; + FUN_14002e6e0(piVar13); + local_320 = 1; + pbVar20 = pbVar18 + -4; + *(int *)pbVar20 = *(int *)pbVar20 + -1; + if (*(int *)pbVar20 == 0) { + FUN_1400302f0(pbVar18 + -8); + } + FUN_14002e770((longlong)piVar13); + local_320 = 0; + } + local_438 = PTR_DAT_140155010; + } + dVar37 = (double)param_2[0x16]; + if ((double)param_2[0x16] <= 0.0) { + dVar37 = DAT_1401551a0; + } + *(double *)(param_1 + 0x778) = dVar37; + *(undefined1 *)(param_1 + 0x1a4) = *(undefined1 *)((longlong)param_2 + 0x65); + *(undefined1 *)(param_1 + 0x1a5) = *(undefined1 *)((longlong)param_2 + 100); + *(undefined1 *)(param_1 + 0x1a6) = *(undefined1 *)((longlong)param_2 + 0x67); + *(char *)(param_1 + 0x198) = (char)param_2[0xf]; + *(char *)(param_1 + 0x1c0) = (char)param_2[0xd]; + iVar1 = *(int *)((longlong)param_2 + 0x5c); + *(int *)(param_1 + 0x19c) = iVar1; + if (((iVar1 != 0x80) && (iVar1 != 0xc0)) && (iVar1 != 0x100)) { + local_358 = + "CStartServerParameter::m_encryptedMessageKeyLength Incorrect key length, only 128,192,256"; + std::exception::exception(local_2d0,&local_358); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_2d0,(ThrowInfo *)&DAT_140151a38); + } + iVar1 = (int)param_2[0xc]; + *(int *)(param_1 + 0x1a0) = iVar1; + if ((((iVar1 != 0) && (iVar1 != 0x200)) && (iVar1 != 0x400)) && (iVar1 != 0x800)) { + local_440 = + "CStartServerParameter::m_fastEncryptedMessageKeyLength Incorrect key lengt, MaxSize is 2048, MinSize is 8" + ; + std::exception::exception(local_2b8,&local_440); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_2b8,(ThrowInfo *)&DAT_140151a38); + } + *(int *)(param_1 + 0x1a8) = (int)param_2[0x10]; + *(undefined1 *)(param_1 + 0x1ac) = *(undefined1 *)((longlong)param_2 + 0x84); + *(undefined1 *)(param_1 + 0x1ad) = *(undefined1 *)((longlong)param_2 + 0x85); + FUN_1400a10a0((undefined8 *)(param_1 + 0xba0),param_1 + 0xba8,puVar27,ppuVar31); + local_3a8 = 0; + local_3a0 = (byte *)0x0; + local_398 = 0; + local_390 = 0; + local_3b0 = Proud::ByteArray::vftable; + FUN_1400a0f70((longlong)&local_3b0,*(int *)(param_1 + 0x19c),(SIZE_T)puVar27,ppuVar31); + pbVar18 = local_3a0; + if ((int)local_398 == 0) { + pbVar18 = pbVar15; + } + SVar28 = (SIZE_T)(*(uint *)(param_1 + 0x19c) >> 3); + lVar36 = 0x10; + FUN_140090ac0((void *)(param_1 + 0x798),pbVar18,SVar28,0x10); + local_3f8 = 0; + local_3f0 = (byte *)0x0; + local_3e8 = 0; + local_3e0 = 0; + local_400 = Proud::ByteArray::vftable; + FUN_1400a0f70((longlong)&local_400,*(int *)(param_1 + 0x1a0),SVar28,lVar36); + pbVar18 = local_3f0; + if ((int)local_3e8 == 0) { + pbVar18 = pbVar15; + } + uVar16 = (ulonglong)(*(uint *)(param_1 + 0x1a0) >> 3); + FUN_1400a0660(param_1 + 0xb68,(longlong)pbVar18,uVar16,lVar36); + *(undefined4 *)(param_1 + 0xb98) = 0; + local_440 = operator_new(0xa8); + pbVar18 = pbVar15; + if (local_440 != (char *)0x0) { + pbVar18 = (byte *)(param_1 + -0x40); + if (param_1 == 0xa8) { + pbVar18 = pbVar15; + } + uVar16 = CONCAT71((int7)(uVar16 >> 8),1); + pbVar18 = (byte *)FUN_140039670(local_440,pbVar18,uVar16,lVar36); + } + *(byte **)(param_1 + 0x6e0) = pbVar18; + local_440 = operator_new(0xa8); + pbVar18 = pbVar15; + if (local_440 != (char *)0x0) { + pbVar18 = (byte *)(param_1 + -0x40); + if (param_1 == 0xa8) { + pbVar18 = pbVar15; + } + pbVar18 = (byte *)FUN_140039670(local_440,pbVar18,CONCAT71((int7)(uVar16 >> 8),1),lVar36); + } + *(byte **)(param_1 + 0x6e8) = pbVar18; + FUN_14003a390((char *)(param_1 + 0x6b8)); + dVar37 = FUN_14003a420((char *)(param_1 + 0x6b8)); + *(double *)(param_1 + 0x158) = dVar37; + *(undefined8 *)(param_1 + 0x118) = 0; + puVar14 = FUN_140037700(local_180); + *(undefined4 *)(param_1 + 0x1c4) = *(undefined4 *)puVar14; + *(undefined4 *)(param_1 + 0x1c8) = *(undefined4 *)((longlong)puVar14 + 4); + *(undefined4 *)(param_1 + 0x1cc) = *(undefined4 *)(puVar14 + 1); + *(undefined4 *)(param_1 + 0x1d0) = *(undefined4 *)((longlong)puVar14 + 0xc); + *(int *)(param_1 + 0x179c) = (int)param_2[8]; + *(undefined4 *)(param_1 + 0x340) = *(undefined4 *)((longlong)param_2 + 0x44); + *(int *)(param_1 + 0x344) = (int)param_2[9]; + *(undefined4 *)(param_1 + 0x348) = *(undefined4 *)((longlong)param_2 + 0x4c); + *(int *)(param_1 + 0x34c) = (int)param_2[10]; + pWVar23 = (LPCWSTR)*param_2; + if ((LPCWSTR)*param_2 == (LPCWSTR)0x0) { + pWVar23 = (LPCWSTR)PTR_DAT_140155010; + } + local_168 = local_160; + FUN_14002e8f0((longlong *)&local_168,pWVar23,3); + FUN_14002efe0((longlong *)(param_1 + 0x168),local_168); + if (local_168 != local_160) { + free(local_168); + } + pWVar23 = (LPCWSTR)param_2[1]; + if ((LPCWSTR)param_2[1] == (LPCWSTR)0x0) { + pWVar23 = (LPCWSTR)PTR_DAT_140155010; + } + local_d8 = local_d0; + uVar29 = 3; + FUN_14002e8f0((longlong *)&local_d8,pWVar23,3); + FUN_14002efe0((longlong *)(param_1 + 0x170),local_d8); + if (local_d8 != local_d0) { + free(local_d8); + } + *(undefined4 *)(param_1 + 0x1b0) = *(undefined4 *)((longlong)param_2 + 0x6c); + *(longlong *)(param_1 + 0x1b8) = param_2[0xe]; + local_388 = Proud::CFastArray::vftable; + if (DAT_1401558a0 != 5) { + FUN_14003b760(); + } + local_380 = param_2[4]; + local_364 = *(undefined4 *)((longlong)param_2 + 0x3c); + local_378 = (byte *)0x0; + local_370 = 0; + local_368 = 0; + iVar1 = (int)param_2[6]; + lVar26 = (longlong)iVar1; + if (iVar1 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14002d430((longlong)pppuVar30,iVar1,uVar29,lVar36); + pppuVar11 = local_450; + pbVar18 = local_378; + if ((int)local_370 == 0) { + pbVar18 = pbVar15; + } + pbVar20 = pbVar15; + if ((int)param_2[6] != 0) { + pbVar20 = (byte *)param_2[5]; + } + if (0 < iVar1) { + lVar36 = (longlong)pbVar20 - (longlong)pbVar18; + do { + *(undefined4 *)pbVar18 = *(undefined4 *)(pbVar18 + lVar36); + pbVar18 = pbVar18 + 4; + lVar26 = lVar26 + -1; + } while (lVar26 != 0); + } + plVar10 = param_2 + 0x11; + plVar24 = (longlong *)(ulonglong)*(uint *)(param_2 + 8); + uVar29 = FUN_140053660((longlong *)(param_1 + -0xa8),*(uint *)(param_2 + 8),(longlong **)pppuVar30 + ,(longlong)plVar10,(ulonglong *)local_450); + if ((char)uVar29 != '\0') { + plVar24 = (longlong *)(ulonglong)*(uint *)(param_2 + 2); + uVar29 = FUN_140052dc0(param_1 + -0xa8,(ulonglong)plVar24,(ulonglong *)pppuVar11,plVar10); + pppuVar30 = pppuVar11; + if ((char)uVar29 != '\0') { + pbVar18 = pbVar15; + if (*(int *)((longlong)param_2 + 0x7c) == 0) { + local_450 = operator_new(0x10); + if (local_450 != (undefined ***)0x0) { + pbVar18 = (byte *)FUN_14009f8b0(local_450); + } + } + else { + local_450 = operator_new(0x90); + if (local_450 != (undefined ***)0x0) { + pbVar18 = (byte *)FUN_14009fef0(local_450,DAT_1401551a8); + } + } + *(byte **)(param_1 + 0x3d0) = pbVar18; + *(undefined4 *)(param_1 + 0x175c) = 0; + FUN_140006c60((longlong *)(param_1 + 0x1760),&DAT_14011e014,pppuVar11,plVar10); + *(undefined8 *)(param_1 + 0x1768) = 0; + *(undefined4 *)(param_1 + 0x1798) = 0; + DVar7 = *(DWORD *)(param_2 + 0xb); + DVar6 = FUN_14002f850(); + if ((int)DVar6 <= (int)DVar7) { + DVar7 = FUN_14002f850(); + } + if (0 < (int)DVar7) { + DVar5 = DVar7; + } + *(DWORD *)(param_2 + 0xb) = DVar5; + if (DVar5 == 0) { + DVar5 = FUN_14002f850(); + *(DWORD *)(param_2 + 0xb) = DVar5; + } + local_360 = operator_new(0x280); + if (local_360 != (undefined4 *)0x0) { + pbVar15 = (byte *)FUN_14008a560(local_360,param_1 + -0xa8,pppuVar11,plVar10); + } + *(byte **)(param_1 + 0x338) = pbVar15; + FUN_14008e620((int *)pbVar15,*(int *)((longlong)param_2 + 0x54), + (int *)(ulonglong)*(uint *)(param_2 + 0xb)); + Sleep(100); + FUN_14003b870(&local_400); + FUN_14003b870(&local_3b0); + local_430 = Proud::CFastArray,0>::vftable; + if (0 < (int)local_418) { + uVar16 = local_418 & 0xffffffff; + plVar10 = local_420; + do { + FUN_14001c020(plVar10); + plVar10 = plVar10 + 1; + uVar16 = uVar16 - 1; + } while (uVar16 != 0); + } + if (local_420 != (longlong *)0x0) { + if (local_428 == (longlong *)0x0) { + FUN_1400302f0(local_420); + } + else { + (**(code **)(*local_428 + 0x18))(local_428,local_420); + } + } + if (pbVar17 != (byte *)0x0) { + if (local_3d0 == (longlong *)0x0) { + FUN_1400302f0(pbVar17); + } + else { + (**(code **)(*local_3d0 + 0x18))(local_3d0,pbVar17); + } + } + uVar29 = FUN_14002e770(param_1 + 0xb8); + return CONCAT71((int7)((ulonglong)uVar29 >> 8),1); + } + } + FUN_14003a3e0((char *)(param_1 + 0x6b8)); + pvVar3 = *(void **)(param_1 + 0x6e0); + if (pvVar3 != (void *)0x0) { + FUN_140039850((longlong)pvVar3,plVar24,(longlong *)pppuVar30,plVar10); + operator_delete(pvVar3); + } + *(undefined8 *)(param_1 + 0x6e0) = 0; + pvVar3 = *(void **)(param_1 + 0x6e8); + if (pvVar3 != (void *)0x0) { + FUN_140039850((longlong)pvVar3,plVar24,(longlong *)pppuVar30,plVar10); + operator_delete(pvVar3); + } + *(undefined8 *)(param_1 + 0x6e8) = 0; + *(undefined4 *)(param_1 + 0x1c4) = 0; + *(undefined4 *)(param_1 + 0x1c8) = 0; + *(undefined4 *)(param_1 + 0x1cc) = 0; + *(undefined4 *)(param_1 + 0x1d0) = 0; + FUN_14003b870(&local_400); + FUN_14003b870(&local_3b0); + local_430 = Proud::CFastArray,0>::vftable; + if (0 < (int)local_418) { + uVar16 = local_418 & 0xffffffff; + plVar10 = local_420; + do { + FUN_14001c020(plVar10); + plVar10 = plVar10 + 1; + uVar16 = uVar16 - 1; + } while (uVar16 != 0); + } + if (local_420 != (longlong *)0x0) { + if (local_428 == (longlong *)0x0) { + FUN_1400302f0(local_420); + } + else { + (**(code **)(*local_428 + 0x18))(local_428,local_420); + } + } + if (pbVar17 != (byte *)0x0) { + if (local_3d0 == (longlong *)0x0) { + FUN_1400302f0(pbVar17); + } + else { + (**(code **)(*local_3d0 + 0x18))(local_3d0,pbVar17); + } + } +LAB_1400568c1: + uVar16 = FUN_14002e770(param_1 + 0xb8); + return uVar16 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140056900.c b/decomp/Agent_Release_x64/full/functions/0x140056900.c new file mode 100644 index 00000000..a59ee7e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140056900.c @@ -0,0 +1,45 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140056900 FUN_140056900 + * Pseudocode, not original source. */ + +void FUN_140056900(char *param_1,longlong param_2,longlong param_3,longlong *param_4) + +{ + int iVar1; + longlong lVar2; + longlong lVar3; + longlong lVar4; + int local_res10; + int local_res14; + longlong *local_res20; + + iVar1 = *(int *)(param_2 + 0x6f8); + local_res14 = *(int *)(param_3 + 0x6f8); + lVar4 = param_2; + local_res10 = iVar1; + if (local_res14 < iVar1) { + lVar4 = param_3; + param_3 = param_2; + local_res10 = local_res14; + local_res14 = iVar1; + } + lVar2 = 0; + lVar3 = lVar2; + if ((longlong *)*param_4 != (longlong *)0x0) { + lVar3 = *(longlong *)*param_4; + } + *(longlong *)(lVar3 + 0x100) = lVar4; + if ((longlong *)*param_4 != (longlong *)0x0) { + lVar2 = *(longlong *)*param_4; + } + *(longlong *)(lVar2 + 0x108) = param_3; + local_res20 = param_4; + FUN_1400550c0(param_1,&local_res10,param_4); + if ((*param_4 != 0) && + (*(longlong *)(*param_4 + 8) = *(longlong *)(*param_4 + 8) + -1, + *(longlong *)(*param_4 + 8) == 0)) { + FUN_140041080((undefined8 *)*param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400569c0.c b/decomp/Agent_Release_x64/full/functions/0x1400569c0.c new file mode 100644 index 00000000..b74ea2d3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400569c0.c @@ -0,0 +1,45 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400569c0 FUN_1400569c0 + * Pseudocode, not original source. */ + +void FUN_1400569c0(longlong param_1,longlong param_2,longlong param_3,longlong *param_4) + +{ + int iVar1; + longlong lVar2; + longlong lVar3; + longlong lVar4; + int local_res8; + int local_resc; + longlong *local_res20; + + iVar1 = *(int *)(param_2 + 0x6f8); + local_resc = *(int *)(param_3 + 0x6f8); + lVar4 = param_2; + local_res8 = iVar1; + if (local_resc < iVar1) { + lVar4 = param_3; + param_3 = param_2; + local_res8 = local_resc; + local_resc = iVar1; + } + lVar2 = 0; + lVar3 = lVar2; + if ((longlong *)*param_4 != (longlong *)0x0) { + lVar3 = *(longlong *)*param_4; + } + *(longlong *)(lVar3 + 0x100) = lVar4; + if ((longlong *)*param_4 != (longlong *)0x0) { + lVar2 = *(longlong *)*param_4; + } + *(longlong *)(lVar2 + 0x108) = param_3; + local_res20 = param_4; + FUN_1400550c0((char *)(param_1 + 0x58),&local_res8,param_4); + if ((*param_4 != 0) && + (*(longlong *)(*param_4 + 8) = *(longlong *)(*param_4 + 8) + -1, + *(longlong *)(*param_4 + 8) == 0)) { + FUN_140041080((undefined8 *)*param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140056a80.c b/decomp/Agent_Release_x64/full/functions/0x140056a80.c new file mode 100644 index 00000000..8b3f888e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140056a80.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140056a80 FUN_140056a80 + * Pseudocode, not original source. */ + +void FUN_140056a80(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + + piVar1 = (int *)*param_1; + if (piVar1 != (int *)0x0) { + FUN_14002e6e0(piVar1); + *(longlong *)(*param_1 + 0x40) = *(longlong *)(*param_1 + 0x40) + -1; + if (*(longlong *)(*param_1 + 0x40) == 0) { + FUN_14002e770((longlong)piVar1); + FUN_140055220((undefined4 *)*param_1,param_2,param_3,param_4); + } + else { + FUN_14002e770((longlong)piVar1); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140056b00.c b/decomp/Agent_Release_x64/full/functions/0x140056b00.c new file mode 100644 index 00000000..591d7c9b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140056b00.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140056b00 FUN_140056b00 + * Pseudocode, not original source. */ + +void FUN_140056b00(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + + piVar1 = (int *)*param_1; + if (piVar1 != (int *)0x0) { + FUN_14002e6e0(piVar1); + *(longlong *)(*param_1 + 0x40) = *(longlong *)(*param_1 + 0x40) + -1; + if (*(longlong *)(*param_1 + 0x40) == 0) { + FUN_14002e770((longlong)piVar1); + FUN_140055290((undefined4 *)*param_1,param_2,param_3,param_4); + } + else { + FUN_14002e770((longlong)piVar1); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140056b80.c b/decomp/Agent_Release_x64/full/functions/0x140056b80.c new file mode 100644 index 00000000..10a359db --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140056b80.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140056b80 FUN_140056b80 + * Pseudocode, not original source. */ + +void FUN_140056b80(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + + piVar1 = (int *)*param_1; + if (piVar1 != (int *)0x0) { + FUN_14002e6e0(piVar1); + *(longlong *)(*param_1 + 0x40) = *(longlong *)(*param_1 + 0x40) + -1; + if (*(longlong *)(*param_1 + 0x40) == 0) { + FUN_14002e770((longlong)piVar1); + FUN_1400552e0((undefined4 *)*param_1,param_2,param_3,param_4); + } + else { + FUN_14002e770((longlong)piVar1); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140056c00.c b/decomp/Agent_Release_x64/full/functions/0x140056c00.c new file mode 100644 index 00000000..90ff1374 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140056c00.c @@ -0,0 +1,58 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140056c00 FUN_140056c00 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140056cf6) */ +/* WARNING: Removing unreachable block (ram,0x000140056d04) */ + +void FUN_140056c00(ulonglong *param_1,ulonglong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + int *piVar2; + ulonglong *puVar3; + int *piVar4; + int *piVar5; + undefined4 *puVar6; + + piVar5 = (int *)*param_2; + piVar2 = (int *)*param_1; + if (piVar2 != piVar5) { + piVar4 = piVar2; + if (piVar5 < piVar2) { + piVar4 = piVar5; + piVar5 = piVar2; + } + puVar3 = param_2; + if (piVar4 != (int *)0x0) { + FUN_14002e6e0(piVar4); + } + if (piVar5 != (int *)0x0) { + FUN_14002e6e0(piVar5); + } + if (*param_2 != 0) { + plVar1 = (longlong *)(*param_2 + 0x40); + *plVar1 = *plVar1 + 1; + } + puVar6 = (undefined4 *)0x0; + if (*param_1 != 0) { + plVar1 = (longlong *)(*param_1 + 0x40); + *plVar1 = *plVar1 + -1; + if (*(longlong *)((undefined4 *)*param_1 + 0x10) == 0) { + puVar6 = (undefined4 *)*param_1; + } + } + *param_1 = *param_2; + if (piVar4 != (int *)0x0) { + FUN_14002e770((longlong)piVar4); + } + if (piVar5 != (int *)0x0) { + FUN_14002e770((longlong)piVar5); + } + if (puVar6 != (undefined4 *)0x0) { + FUN_140055220(puVar6,puVar3,param_3,param_4); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140056d30.c b/decomp/Agent_Release_x64/full/functions/0x140056d30.c new file mode 100644 index 00000000..7e8381a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140056d30.c @@ -0,0 +1,58 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140056d30 FUN_140056d30 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140056e26) */ +/* WARNING: Removing unreachable block (ram,0x000140056e34) */ + +void FUN_140056d30(ulonglong *param_1,ulonglong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + int *piVar2; + ulonglong *puVar3; + int *piVar4; + int *piVar5; + undefined4 *puVar6; + + piVar5 = (int *)*param_2; + piVar2 = (int *)*param_1; + if (piVar2 != piVar5) { + piVar4 = piVar2; + if (piVar5 < piVar2) { + piVar4 = piVar5; + piVar5 = piVar2; + } + puVar3 = param_2; + if (piVar4 != (int *)0x0) { + FUN_14002e6e0(piVar4); + } + if (piVar5 != (int *)0x0) { + FUN_14002e6e0(piVar5); + } + if (*param_2 != 0) { + plVar1 = (longlong *)(*param_2 + 0x40); + *plVar1 = *plVar1 + 1; + } + puVar6 = (undefined4 *)0x0; + if (*param_1 != 0) { + plVar1 = (longlong *)(*param_1 + 0x40); + *plVar1 = *plVar1 + -1; + if (*(longlong *)((undefined4 *)*param_1 + 0x10) == 0) { + puVar6 = (undefined4 *)*param_1; + } + } + *param_1 = *param_2; + if (piVar4 != (int *)0x0) { + FUN_14002e770((longlong)piVar4); + } + if (piVar5 != (int *)0x0) { + FUN_14002e770((longlong)piVar5); + } + if (puVar6 != (undefined4 *)0x0) { + FUN_140055290(puVar6,puVar3,param_3,param_4); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140056e60.c b/decomp/Agent_Release_x64/full/functions/0x140056e60.c new file mode 100644 index 00000000..4f18175a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140056e60.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140056e60 FUN_140056e60 + * Pseudocode, not original source. */ + +longlong FUN_140056e60(longlong param_1) + +{ + *(undefined8 *)(param_1 + 8) = 0; + *(undefined8 *)(param_1 + 0x18) = 0; + *(undefined8 *)(param_1 + 0x20) = 0; + *(undefined8 *)(param_1 + 0x30) = 0; + *(undefined8 *)(param_1 + 0x38) = 0; + *(undefined8 *)(param_1 + 0x40) = 0; + *(undefined8 *)(param_1 + 0x48) = 0; + *(undefined ***)(param_1 + 0x28) = Proud::ByteArray::vftable; + *(undefined8 *)(param_1 + 0x60) = 0; + *(undefined8 *)(param_1 + 0x58) = 0; + *(undefined8 *)(param_1 + 0x50) = 0; + *(undefined8 *)(param_1 + 0x80) = 0; + *(undefined8 *)(param_1 + 0x88) = 0; + *(undefined8 *)(param_1 + 0x90) = 0; + *(undefined8 *)(param_1 + 0x98) = 0; + *(undefined ***)(param_1 + 0x78) = Proud::ByteArray::vftable; + *(undefined ***)(param_1 + 0xa8) = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 0xb0) = 0; + *(undefined2 *)(param_1 + 0xb4) = 0; + *(undefined8 *)(param_1 + 200) = 0; + *(undefined8 *)(param_1 + 0xd0) = 0; + *(undefined8 *)(param_1 + 0xd8) = 0; + *(undefined8 *)(param_1 + 0xe0) = 0; + *(undefined ***)(param_1 + 0xc0) = Proud::ByteArray::vftable; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140056f10.c b/decomp/Agent_Release_x64/full/functions/0x140056f10.c new file mode 100644 index 00000000..53ba2f18 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140056f10.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140056f10 FUN_140056f10 + * Pseudocode, not original source. */ + +void FUN_140056f10(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14003b870((undefined8 *)(param_1 + 0xc0)); + FUN_14003b870((undefined8 *)(param_1 + 0x78)); + FUN_140095270((longlong *)(param_1 + 0x50)); + if (*(longlong *)(param_1 + 0x58) != 0) { + if (*(int *)(param_1 + 100) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(param_1 + 0x60) = 0; + } + FUN_14003b870((undefined8 *)(param_1 + 0x28)); + FUN_140056b00((longlong *)(param_1 + 0x20),param_2,param_3,param_4); + FUN_140056a80((longlong *)(param_1 + 0x18),param_2,param_3,param_4); + FUN_14002b570((longlong *)(param_1 + 8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140056fa0.c b/decomp/Agent_Release_x64/full/functions/0x140056fa0.c new file mode 100644 index 00000000..fbe93d25 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140056fa0.c @@ -0,0 +1,90 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140056fa0 FUN_140056fa0 + * Pseudocode, not original source. */ + +undefined4 * +FUN_140056fa0(undefined4 *param_1,undefined4 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong lVar1; + int iVar2; + int iVar3; + undefined4 *puVar4; + void *pvVar5; + size_t _Size; + SIZE_T _Size_00; + char cVar6; + exception local_50 [72]; + + cVar6 = (char)param_4; + _Size_00 = param_3; + FUN_140080700(param_1 + 2,param_2); + puVar4 = param_1 + 0xc; + FUN_140056e60((longlong)puVar4); + if (cVar6 != '\0') { + if (*(longlong *)(param_1 + 4) == 0) { + if (*(longlong *)(param_1 + 6) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar4,param_2,_Size_00,param_4); + } + iVar2 = param_1[8]; + } + else { + iVar2 = *(int *)(*(longlong *)(param_1 + 4) + 0x18); + } + if (1 < iVar2) { + if (*(longlong *)(param_1 + 6) == 0) { + lVar1 = *(longlong *)(param_1 + 4); + if (lVar1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar4,param_2,_Size_00,param_4); + } + iVar2 = *(int *)(lVar1 + 0x18); + iVar3 = 1; + if (iVar2 < 2) { + iVar3 = iVar2; + } + if (0 < iVar2 - iVar3) { + pvVar5 = (void *)0x0; + if (iVar2 != 0) { + pvVar5 = *(void **)(lVar1 + 0x10); + } + _Size_00 = (SIZE_T)(iVar2 - iVar3); + memmove(pvVar5,(void *)((longlong)iVar3 + (longlong)pvVar5),_Size_00); + } + FUN_14001bc70(lVar1,*(int *)(lVar1 + 0x18) - iVar3,_Size_00); + } + else { + pvVar5 = *(void **)(param_1 + 6); + if (pvVar5 == (void *)0x0) { + FUN_14002f1e0(local_50,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0, + _Size_00,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + iVar2 = param_1[8]; + iVar3 = 1; + if (iVar2 < 2) { + iVar3 = iVar2; + } + _Size = (size_t)(iVar2 - iVar3); + memmove(pvVar5,(void *)((longlong)iVar3 + (longlong)pvVar5),_Size); + if (*(longlong *)(param_1 + 6) == 0) { + FUN_14002f1e0(local_50,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,_Size, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + iVar3 = param_1[8] - iVar3; + if ((iVar3 < 0) || ((int)param_1[9] < iVar3)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + param_1[8] = iVar3; + } + } + } + *param_1 = (int)param_3; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140057120.c b/decomp/Agent_Release_x64/full/functions/0x140057120.c new file mode 100644 index 00000000..d015219d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140057120.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140057120 FUN_140057120 + * Pseudocode, not original source. */ + +void FUN_140057120(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_1 + 0x30,param_2,param_3,param_4); + FUN_140095270((longlong *)(param_1 + 0x10)); + if (*(longlong *)(param_1 + 0x18) != 0) { + if (*(int *)(param_1 + 0x24) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(param_1 + 0x20) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140057180.c b/decomp/Agent_Release_x64/full/functions/0x140057180.c new file mode 100644 index 00000000..b09047fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140057180.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140057180 FUN_140057180 + * Pseudocode, not original source. */ + +longlong * FUN_140057180(longlong param_1,longlong *param_2,uint param_3) + +{ + uint *puVar1; + ulonglong uVar2; + + *param_2 = 0; + uVar2 = (ulonglong)param_3 % (ulonglong)*(uint *)(param_1 + 0x428); + if (*(longlong *)(param_1 + 0x408) != 0) { + puVar1 = *(uint **)(*(longlong *)(param_1 + 0x408) + uVar2 * 8); + while( true ) { + if (puVar1 == (uint *)0x0) { + return param_2; + } + if ((uint)uVar2 != puVar1[8] % *(uint *)(param_1 + 0x428)) { + return param_2; + } + if (*puVar1 == param_3) break; + puVar1 = *(uint **)(puVar1 + 4); + } + FUN_1400534a0(param_2,(longlong *)(puVar1 + 2)); + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140057210.c b/decomp/Agent_Release_x64/full/functions/0x140057210.c new file mode 100644 index 00000000..6e5bb95c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140057210.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140057210 FUN_140057210 + * Pseudocode, not original source. */ + +ulonglong FUN_140057210(longlong param_1,uint param_2,undefined4 *param_3,undefined8 param_4) + +{ + longlong *plVar1; + LPVOID pvVar2; + int *piVar3; + undefined8 uVar4; + ulonglong uVar5; + undefined8 **ppuVar6; + undefined8 *local_res8; + + plVar1 = (longlong *)(param_1 + -0xa8); + piVar3 = (int *)(**(code **)(*plVar1 + 0x58))(plVar1); + FUN_14002e6e0(piVar3); + if (DAT_14015bfcf != '\0') { + (**(code **)(*plVar1 + 200))(plVar1,L"Proud::CNetServerImpl::GetP2PGroupInfo"); + } + uVar5 = (ulonglong)param_2; + ppuVar6 = &local_res8; + FUN_140057180((longlong)plVar1,(longlong *)ppuVar6,param_2); + if ((local_res8 == (undefined8 *)0x0) || ((undefined4 *)*local_res8 == (undefined4 *)0x0)) { + if ((local_res8 != (undefined8 *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + pvVar2 = (LPVOID)*local_res8; + if (pvVar2 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar2,ppuVar6,uVar5,param_4); + FUN_1400302f0(pvVar2); + } + FUN_1400302f0(local_res8); + } + uVar5 = FUN_14002e770((longlong)piVar3); + uVar5 = uVar5 & 0xffffffffffffff00; + } + else { + FUN_1400a1a40((undefined4 *)*local_res8,param_3); + if ((local_res8 != (undefined8 *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + pvVar2 = (LPVOID)*local_res8; + if (pvVar2 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar2,param_3,uVar5,param_4); + FUN_1400302f0(pvVar2); + } + FUN_1400302f0(local_res8); + } + uVar4 = FUN_14002e770((longlong)piVar3); + uVar5 = CONCAT71((int7)((ulonglong)uVar4 >> 8),1); + } + return uVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140057350.c b/decomp/Agent_Release_x64/full/functions/0x140057350.c new file mode 100644 index 00000000..4d51db20 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140057350.c @@ -0,0 +1,73 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140057350 FUN_140057350 + * Pseudocode, not original source. */ + +undefined8 * FUN_140057350(longlong param_1,uint param_2,longlong *param_3,undefined8 param_4) + +{ + undefined4 uVar1; + LPVOID pvVar2; + longlong lVar3; + longlong *plVar4; + longlong lVar5; + undefined8 **ppuVar6; + undefined4 *puVar7; + undefined4 *puVar8; + ulonglong uVar9; + undefined8 *local_res20; + + uVar9 = (ulonglong)param_2; + ppuVar6 = &local_res20; + plVar4 = FUN_140057180(param_1,(longlong *)ppuVar6,param_2); + puVar7 = (undefined4 *)0x0; + puVar8 = puVar7; + if ((undefined8 *)*plVar4 != (undefined8 *)0x0) { + puVar8 = *(undefined4 **)*plVar4; + } + if ((local_res20 != (undefined8 *)0x0) && + (local_res20[1] = local_res20[1] + -1, local_res20[1] == 0)) { + pvVar2 = (LPVOID)*local_res20; + if (pvVar2 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar2,ppuVar6,uVar9,param_4); + FUN_1400302f0(pvVar2); + } + local_res20 = (undefined8 *)FUN_1400302f0(local_res20); + } + if (puVar8 == (undefined4 *)0x0) { + if ((param_2 != 1) && (lVar5 = FUN_140041ab0(param_1,param_2), lVar5 == 0)) { + return (undefined8 *)0x0; + } + local_res20 = (undefined8 *)FUN_140040030(param_3,param_3[1],param_2); + } + else { + if (*(longlong *)(puVar8 + 10) != 0) { + puVar7 = *(undefined4 **)(puVar8 + 6); + } + while (puVar7 != (undefined4 *)0x0) { + lVar5 = param_3[1]; + uVar1 = *puVar7; + if (lVar5 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14003f250(param_3,lVar5 + 1,-1); + if (param_3[1] <= lVar5) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_3[2] < 0x65) { + local_res20 = (undefined8 *)((longlong)param_3 + lVar5 * 4 + 0x20); + *(undefined4 *)local_res20 = uVar1; + puVar7 = *(undefined4 **)(puVar7 + 6); + } + else { + lVar3 = *param_3; + *(undefined4 *)(lVar3 + lVar5 * 4) = uVar1; + puVar7 = *(undefined4 **)(puVar7 + 6); + local_res20 = (undefined8 *)(lVar3 + lVar5 * 4); + } + } + } + return local_res20; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140057470.c b/decomp/Agent_Release_x64/full/functions/0x140057470.c new file mode 100644 index 00000000..3b602b28 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140057470.c @@ -0,0 +1,309 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140057470 FUN_140057470 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014005794b) */ +/* WARNING: Removing unreachable block (ram,0x000140057952) */ +/* WARNING: Removing unreachable block (ram,0x000140057960) */ +/* WARNING: Removing unreachable block (ram,0x00014005796d) */ +/* WARNING: Removing unreachable block (ram,0x000140057965) */ +/* WARNING: Removing unreachable block (ram,0x000140057973) */ +/* WARNING: Removing unreachable block (ram,0x000140057985) */ +/* WARNING: Removing unreachable block (ram,0x0001400575ea) */ + +ulonglong FUN_140057470(longlong param_1,uint param_2,int *param_3) + +{ + LPVOID pvVar1; + longlong lVar2; + undefined8 *puVar3; + uint uVar4; + int iVar5; + int *piVar6; + longlong *plVar7; + longlong *plVar8; + undefined8 *puVar9; + longlong *plVar10; + longlong *plVar11; + undefined8 uVar12; + ulonglong uVar13; + uint uVar14; + longlong lVar15; + uint *puVar16; + longlong *plVar17; + undefined8 **ppuVar18; + longlong *plVar19; + longlong *plVar20; + ulonglong uVar21; + longlong *plVar22; + double dVar23; + double dVar24; + double dVar25; + undefined8 *local_res8; + undefined **local_90; + longlong *local_88; + longlong *local_80; + ulonglong local_78; + int local_70; + undefined4 local_6c; + longlong *local_68; + longlong lStack_60; + longlong *local_58; + longlong lStack_50; + undefined8 local_48; + + local_48 = 0xfffffffffffffffe; + piVar6 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar6); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200))(param_1 + -0xa8); + } + uVar13 = (ulonglong)*(uint *)(param_1 + 0xbf8); + if ((*(longlong *)(param_1 + 0xbd8) != 0) && + (puVar16 = *(uint **)(*(longlong *)(param_1 + 0xbd8) + ((ulonglong)param_2 % uVar13) * 8), + puVar16 != (uint *)0x0)) { + while ((uint)((ulonglong)param_2 % uVar13) == puVar16[8] % *(uint *)(param_1 + 0xbf8)) { + if (*puVar16 == param_2) { + lVar2 = *(longlong *)(puVar16 + 2); + if ((lVar2 != 0) && (*(longlong *)(lVar2 + 0x228) == 0)) { + plVar8 = (longlong *)0x0; + param_3[0] = 0; + param_3[1] = 0; + param_3[3] = *(int *)(lVar2 + 0x1d0); + param_3[2] = *(int *)(lVar2 + 0x1d4); + plVar7 = plVar8; + if (*(longlong *)(lVar2 + 0x6c0) != 0) { + plVar7 = *(longlong **)(lVar2 + 0x6b0); + } + for (; plVar7 != (longlong *)0x0; plVar7 = (longlong *)plVar7[2]) { + plVar17 = plVar8; + if ((undefined8 *)*plVar7 != (undefined8 *)0x0) { + plVar17 = *(longlong **)*plVar7; + } + if ((char)plVar17[0x22] != '\0') { + *param_3 = *param_3 + 1; + plVar17 = plVar8; + if ((undefined8 *)*plVar7 != (undefined8 *)0x0) { + plVar17 = *(longlong **)*plVar7; + } + if ((char)plVar17[1] == '\0') { + param_3[1] = param_3[1] + 1; + } + } + } + uVar12 = FUN_14002e770((longlong)piVar6); + return CONCAT71((int7)((ulonglong)uVar12 >> 8),1); + } + break; + } + puVar16 = *(uint **)(puVar16 + 4); + if (puVar16 == (uint *)0x0) break; + } + } + uVar21 = (ulonglong)param_2; + ppuVar18 = &local_res8; + plVar8 = FUN_140057180(param_1 + -0xa8,(longlong *)ppuVar18,param_2); + plVar17 = (longlong *)0x0; + plVar7 = plVar17; + if ((undefined8 *)*plVar8 != (undefined8 *)0x0) { + plVar7 = *(longlong **)*plVar8; + } + if ((local_res8 != (undefined8 *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) + { + pvVar1 = (LPVOID)*local_res8; + if (pvVar1 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar1,ppuVar18,uVar21,uVar13); + FUN_1400302f0(pvVar1); + } + FUN_1400302f0(local_res8); + } + if (plVar7 == (longlong *)0x0) { + uVar13 = FUN_14002e770((longlong)piVar6); + uVar13 = uVar13 & 0xffffffffffffff00; + } + else { + param_3[0] = 0; + param_3[1] = 0; + param_3[2] = 0; + param_3[3] = 0; + local_90 = Proud::CFastArray::vftable; + local_88 = (longlong *)0x0; + local_6c = 0; + local_80 = (longlong *)0x0; + local_78 = 0; + lVar2 = plVar7[5]; + dVar23 = (double)lVar2; + if (lVar2 < 0) { + dVar23 = dVar23 + 1.8446744073709552e+19; + } + uVar4 = 2; + uVar14 = 2; + dVar24 = 1.0; + dVar25 = 1.0; + while( true ) { + if ((uVar14 & 1) != 0) { + dVar25 = dVar25 * dVar23; + } + uVar14 = uVar14 >> 1; + if (uVar14 == 0) break; + dVar23 = dVar23 * dVar23; + } + if (1.0 < dVar25 * 0.5) { + dVar23 = (double)lVar2; + if (lVar2 < 0) { + dVar23 = dVar23 + 1.8446744073709552e+19; + } + while( true ) { + if ((uVar4 & 1) != 0) { + dVar24 = dVar24 * dVar23; + } + uVar4 = uVar4 >> 1; + if (uVar4 == 0) break; + dVar23 = dVar23 * dVar23; + } + dVar24 = dVar24 * 0.5; + } + local_70 = 0; + if (0 < (int)dVar24) { + local_70 = (int)dVar24; + } + plVar8 = plVar17; + plVar10 = plVar17; + plVar20 = plVar17; + if (lVar2 != 0) { + plVar8 = (longlong *)plVar7[3]; + plVar10 = (longlong *)0x0; + } + for (; plVar8 != (longlong *)0x0; plVar8 = (longlong *)plVar8[3]) { + iVar5 = (*(code *)**(undefined8 **)plVar8[2])(); + if (((iVar5 != 1) && (lVar2 = plVar8[2], lVar2 != 0)) && (lVar2 != 0x40)) { + param_3[3] = param_3[3] + *(int *)(lVar2 + 400); + param_3[2] = param_3[2] + *(int *)(lVar2 + 0x194); + lVar15 = lVar2 + 0x660; + plVar22 = plVar17; + local_68 = plVar17; + lStack_60 = lVar15; + local_58 = plVar17; + lStack_50 = lVar15; + if (*(longlong *)(lVar2 + 0x680) != 0) { + plVar22 = *(longlong **)(lVar2 + 0x670); + local_68 = plVar22; + local_58 = plVar22; + } +LAB_1400577c0: + if (plVar22 != (longlong *)0x0) { + puVar3 = (undefined8 *)*plVar22; + plVar11 = plVar17; + if (puVar3 != (undefined8 *)0x0) { + plVar11 = (longlong *)*puVar3; + } + uVar14 = *(uint *)(plVar7 + 6); + uVar13 = (ulonglong)*(uint *)(plVar11[0x20] + 0x6f8) % (ulonglong)uVar14; + lVar2 = plVar7[2]; + if ((lVar2 != 0) && (puVar16 = *(uint **)(lVar2 + uVar13 * 8), puVar16 != (uint *)0x0)) { + while ((uint)uVar13 == puVar16[10] % uVar14) { + if (*puVar16 == *(uint *)(plVar11[0x20] + 0x6f8)) { + if (puVar16 != (uint *)0x0) { + plVar11 = plVar17; + if (puVar3 != (undefined8 *)0x0) { + plVar11 = (longlong *)*puVar3; + } + uVar21 = (ulonglong)*(uint *)(plVar11[0x21] + 0x6f8); + uVar13 = uVar21 % (ulonglong)uVar14; + puVar16 = *(uint **)(lVar2 + uVar13 * 8); + if (puVar16 != (uint *)0x0) goto LAB_140057874; + } + break; + } + puVar16 = *(uint **)(puVar16 + 6); + if (puVar16 == (uint *)0x0) break; + } + } + goto LAB_1400579a4; + } + if (lStack_50 != lVar15) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + } + if (plVar20 != (longlong *)0x0) { + if (local_88 == (longlong *)0x0) { + FUN_1400302f0(plVar20); + } + else { + (**(code **)(*local_88 + 0x18))(local_88,plVar20); + } + } + uVar12 = FUN_14002e770((longlong)piVar6); + uVar13 = CONCAT71((int7)((ulonglong)uVar12 >> 8),1); + } + return uVar13; + while( true ) { + if (*puVar16 == *(uint *)(plVar11[0x21] + 0x6f8)) { + if (puVar16 != (uint *)0x0) { + plVar11 = plVar17; + if (puVar3 != (undefined8 *)0x0) { + plVar11 = (longlong *)*puVar3; + } + iVar5 = (int)plVar10; + if (iVar5 < 1) goto LAB_1400578db; + puVar9 = (undefined8 *)FUN_14003d690((longlong)&local_90); + plVar19 = plVar17; + goto LAB_1400578c0; + } + break; + } + puVar16 = *(uint **)(puVar16 + 6); + if (puVar16 == (uint *)0x0) break; +LAB_140057874: + if ((uint)uVar13 != puVar16[10] % uVar14) break; + } + goto LAB_1400579a4; + while( true ) { + uVar14 = (int)plVar19 + 1; + plVar19 = (longlong *)(ulonglong)uVar14; + puVar9 = puVar9 + 1; + if (iVar5 <= (int)uVar14) break; +LAB_1400578c0: + if (plVar11 == (longlong *)*puVar9) { + if ((int)plVar19 != -1) goto LAB_1400579a4; + break; + } + } +LAB_1400578db: + plVar10 = plVar17; + if (puVar3 != (undefined8 *)0x0) { + plVar10 = (longlong *)*puVar3; + } + if ((char)plVar10[0x22] != '\0') { + *param_3 = *param_3 + 1; + plVar10 = plVar17; + if ((undefined8 *)*plVar22 != (undefined8 *)0x0) { + plVar10 = *(longlong **)*plVar22; + } + if ((char)plVar10[1] == '\0') { + param_3[1] = param_3[1] + 1; + } + } + plVar20 = plVar17; + if ((longlong *)*plVar22 != (longlong *)0x0) { + plVar20 = *(longlong **)*plVar22; + } + if (iVar5 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_140065570((longlong)&local_90,iVar5 + 1,uVar21,uVar13); + plVar10 = (longlong *)(local_78 & 0xffffffff); + plVar11 = local_80; + if ((int)local_78 == 0) { + plVar11 = plVar17; + } + plVar11[iVar5] = (longlong)plVar20; + plVar20 = local_80; +LAB_1400579a4: + plVar22 = (longlong *)plVar22[2]; + goto LAB_1400577c0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140057a30.c b/decomp/Agent_Release_x64/full/functions/0x140057a30.c new file mode 100644 index 00000000..c6e29b77 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140057a30.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140057a30 FUN_140057a30 + * Pseudocode, not original source. */ + +void FUN_140057a30(longlong param_1,uint param_2,uint *param_3,longlong *param_4) + +{ + ulonglong uVar1; + longlong *plVar2; + + if (0 < (int)param_2) { + uVar1 = (ulonglong)param_2; + plVar2 = param_4; + do { + if (*param_3 != 0) { + FUN_140057350(param_1,*param_3,param_4,plVar2); + } + param_3 = param_3 + 1; + uVar1 = uVar1 - 1; + } while (uVar1 != 0); + } + FUN_140040380(param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140057a90.c b/decomp/Agent_Release_x64/full/functions/0x140057a90.c new file mode 100644 index 00000000..7a91dd99 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140057a90.c @@ -0,0 +1,101 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140057a90 FUN_140057a90 + * Pseudocode, not original source. */ + +undefined4 +FUN_140057a90(longlong param_1,uint param_2,TypeDescriptor *param_3,TypeDescriptor *param_4) + +{ + uint uVar1; + uint uVar2; + undefined4 uVar3; + LPVOID pvVar4; + int *piVar5; + longlong *plVar6; + longlong *plVar7; + undefined8 **ppuVar8; + uint *puVar9; + longlong lVar10; + uint uVar11; + ulonglong uVar12; + TypeDescriptor *pTVar13; + longlong lVar14; + int iVar15; + uint *puVar16; + undefined8 *local_res8; + + plVar7 = (longlong *)(param_1 + -0xa8); + pTVar13 = param_4; + piVar5 = (int *)(**(code **)(*plVar7 + 0x58))(plVar7); + FUN_14002e6e0(piVar5); + if (DAT_14015bfcf != '\0') { + (**(code **)(*plVar7 + 200))(plVar7,L"Proud::CNetServerImpl::GetMostSuitableSuperPeerInGroup"); + } + uVar12 = (ulonglong)param_2; + ppuVar8 = &local_res8; + plVar6 = FUN_140057180((longlong)plVar7,(longlong *)ppuVar8,param_2); + if ((undefined8 *)*plVar6 == (undefined8 *)0x0) { + puVar16 = (uint *)0x0; + } + else { + puVar16 = *(uint **)*plVar6; + } + if ((local_res8 != (undefined8 *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) + { + pvVar4 = (LPVOID)*local_res8; + if (pvVar4 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar4,ppuVar8,uVar12,pTVar13); + FUN_1400302f0(pvVar4); + } + FUN_1400302f0(local_res8); + } + if (puVar16 != (uint *)0x0) { + puVar9 = puVar16; + FUN_14004cd40((longlong)plVar7,puVar16,param_3,pTVar13); + iVar15 = 0; + uVar1 = puVar16[0x1e]; + lVar10 = 0; + if (0 < (int)uVar1) { + lVar14 = 0; + do { + if ((lVar10 < 0) || ((int)uVar1 <= iVar15)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar7,puVar9,param_3,pTVar13); + } + param_3 = (TypeDescriptor *)0x0; + puVar9 = (uint *)0x0; + uVar2 = *(uint *)¶m_4[1].spare; + pTVar13 = (TypeDescriptor *)(ulonglong)uVar2; + if ((int)uVar2 < 1) { +LAB_140057beb: + if ((-1 < iVar15) && (iVar15 < (int)uVar1)) { + uVar3 = *(undefined4 *)((longlong)iVar15 * 0x40 + *(longlong *)(puVar16 + 0x1c)); + FUN_14002e770((longlong)piVar5); + return uVar3; + } + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar7,puVar9,param_3,pTVar13); + } + while( true ) { + if (((longlong)puVar9 < 0) || ((int)uVar2 <= (int)param_3)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar7,puVar9,param_3,pTVar13); + } + plVar7 = param_4[1].pVFTable; + if (*(int *)((longlong)plVar7 + (longlong)puVar9 * 4) == + *(int *)(lVar14 + *(longlong *)(puVar16 + 0x1c))) break; + uVar11 = (int)param_3 + 1; + param_3 = (TypeDescriptor *)(ulonglong)uVar11; + puVar9 = (uint *)((longlong)puVar9 + 1); + if ((int)uVar2 <= (int)uVar11) goto LAB_140057beb; + } + iVar15 = iVar15 + 1; + lVar10 = lVar10 + 1; + lVar14 = lVar14 + 0x40; + } while (iVar15 < (int)uVar1); + } + } + FUN_14002e770((longlong)piVar5); + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140057c40.c b/decomp/Agent_Release_x64/full/functions/0x140057c40.c new file mode 100644 index 00000000..168918f8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140057c40.c @@ -0,0 +1,56 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140057c40 FUN_140057c40 + * Pseudocode, not original source. */ + +bool FUN_140057c40(longlong param_1,uint param_2) + +{ + uint *puVar1; + LPVOID pvVar2; + longlong *plVar3; + undefined8 **ppuVar4; + longlong lVar5; + ulonglong uVar6; + ulonglong uVar7; + undefined8 *local_res8; + + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0x120) + 200))(param_1 + -0x120); + } + if (param_2 == 1) { + return true; + } + uVar7 = (ulonglong)*(uint *)(param_1 + 0xb80); + if (*(longlong *)(param_1 + 0xb60) != 0) { + puVar1 = *(uint **)(*(longlong *)(param_1 + 0xb60) + ((ulonglong)param_2 % uVar7) * 8); + while( true ) { + if ((puVar1 == (uint *)0x0) || + ((uint)((ulonglong)param_2 % uVar7) != puVar1[8] % *(uint *)(param_1 + 0xb80))) + goto LAB_140057ce3; + if (*puVar1 == param_2) break; + puVar1 = *(uint **)(puVar1 + 4); + } + if (*(longlong *)(puVar1 + 2) != 0) { + return true; + } + } +LAB_140057ce3: + ppuVar4 = &local_res8; + uVar6 = (ulonglong)param_2; + plVar3 = FUN_140057180(param_1 + -0x120,(longlong *)ppuVar4,param_2); + lVar5 = 0; + if ((longlong *)*plVar3 != (longlong *)0x0) { + lVar5 = *(longlong *)*plVar3; + } + if ((local_res8 != (undefined8 *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) + { + pvVar2 = (LPVOID)*local_res8; + if (pvVar2 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar2,ppuVar4,uVar6,uVar7); + FUN_1400302f0(pvVar2); + } + FUN_1400302f0(local_res8); + } + return lVar5 != 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140057d60.c b/decomp/Agent_Release_x64/full/functions/0x140057d60.c new file mode 100644 index 00000000..ea72aed7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140057d60.c @@ -0,0 +1,133 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140057d60 FUN_140057d60 + * Pseudocode, not original source. */ + +uint FUN_140057d60(longlong param_1,uint param_2,uint *param_3,TypeDescriptor *param_4, + TypeDescriptor *param_5,longlong param_6) + +{ + longlong *plVar1; + uint uVar2; + LPVOID pvVar3; + longlong lVar4; + int *piVar5; + longlong *plVar6; + ulonglong uVar7; + undefined8 **ppuVar8; + uint *puVar9; + longlong lVar10; + uint uVar11; + int iVar12; + longlong lVar13; + int iVar14; + uint *puVar15; + longlong lVar16; + uint local_res8; + uint *local_res18; + undefined8 *local_58; + undefined8 local_50; + int *local_48; + undefined1 local_40; + + local_50 = 0xfffffffffffffffe; + iVar12 = (int)param_4; + plVar1 = (longlong *)(param_1 + -0xa8); + piVar5 = (int *)(**(code **)(*plVar1 + 0x58))(plVar1); + local_48 = piVar5; + FUN_14002e6e0(piVar5); + local_40 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(*plVar1 + 200)) + (plVar1,L"Proud::CNetServerImpl::GetSuitableSuperPeerRankListInGroup"); + } + uVar7 = (ulonglong)param_2; + ppuVar8 = &local_58; + plVar6 = FUN_140057180((longlong)plVar1,(longlong *)ppuVar8,param_2); + if ((undefined8 *)*plVar6 == (undefined8 *)0x0) { + puVar15 = (uint *)0x0; + } + else { + puVar15 = *(uint **)*plVar6; + } + if ((local_58 != (undefined8 *)0x0) && + (local_58[1] = local_58[1] + -1, piVar5 = local_48, local_58[1] == 0)) { + pvVar3 = (LPVOID)*local_58; + if (pvVar3 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar3,ppuVar8,uVar7,param_4); + FUN_1400302f0(pvVar3); + } + FUN_1400302f0(local_58); + piVar5 = local_48; + } + if (puVar15 == (uint *)0x0) { + FUN_14002e770((longlong)piVar5); + local_res8 = 0; + } + else { + puVar9 = puVar15; + FUN_14004cd40((longlong)plVar1,puVar15,param_5,param_4); + uVar7 = 0; + local_res8 = 0; + iVar14 = 0; + lVar10 = 0; + lVar16 = 0; + if (0 < (int)puVar15[0x1e]) { + lVar13 = 0; + local_res18 = param_3; + do { + if (lVar16 < iVar12) { + if ((lVar10 < 0) || ((int)puVar15[0x1e] <= iVar14)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(uVar7,puVar9,param_5,param_4); + } + lVar4 = *(longlong *)(puVar15 + 0x1c); + param_5 = (TypeDescriptor *)0x0; + puVar9 = (uint *)0x0; + uVar2 = *(uint *)(param_6 + 0x18); + param_4 = (TypeDescriptor *)(ulonglong)uVar2; + if (0 < (int)uVar2) { + do { + if (((longlong)puVar9 < 0) || ((int)uVar2 <= (int)param_5)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(uVar7,puVar9,param_5,param_4); + } + uVar7 = *(ulonglong *)(param_6 + 0x10); + if (*(int *)(uVar7 + (longlong)puVar9 * 4) == *(int *)(lVar4 + lVar13)) { + uVar7 = (ulonglong)local_res8; + goto LAB_140057f60; + } + uVar11 = (int)param_5 + 1; + param_5 = (TypeDescriptor *)(ulonglong)uVar11; + puVar9 = (uint *)((longlong)puVar9 + 1); + } while ((int)uVar11 < (int)uVar2); + uVar7 = (ulonglong)local_res8; + } + if ((int)puVar15[0x1e] <= iVar14) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(uVar7,puVar9,param_5,param_4); + } + *(undefined8 *)local_res18 = *(undefined8 *)(lVar4 + lVar13); + *(undefined8 *)(local_res18 + 2) = *(undefined8 *)(lVar4 + 8 + lVar13); + *(undefined8 *)(local_res18 + 4) = *(undefined8 *)(lVar4 + 0x10 + lVar13); + *(undefined8 *)(local_res18 + 6) = *(undefined8 *)(lVar4 + 0x18 + lVar13); + *(undefined8 *)(local_res18 + 8) = *(undefined8 *)(lVar4 + 0x20 + lVar13); + *(undefined8 *)(local_res18 + 10) = *(undefined8 *)(lVar4 + 0x28 + lVar13); + *(undefined8 *)(local_res18 + 0xc) = *(undefined8 *)(lVar4 + 0x30 + lVar13); + *(undefined8 *)(local_res18 + 0xe) = *(undefined8 *)(lVar4 + 0x38 + lVar13); + local_res8 = (int)uVar7 + 1; + uVar7 = (ulonglong)local_res8; + lVar16 = lVar16 + 1; + puVar9 = local_res18 + 0x10; + local_res18 = puVar9; + } +LAB_140057f60: + iVar14 = iVar14 + 1; + lVar10 = lVar10 + 1; + lVar13 = lVar13 + 0x40; + } while (iVar14 < (int)puVar15[0x1e]); + } + FUN_14002e770((longlong)piVar5); + } + return local_res8; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140057fc0.c b/decomp/Agent_Release_x64/full/functions/0x140057fc0.c new file mode 100644 index 00000000..9a46f804 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140057fc0.c @@ -0,0 +1,220 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140057fc0 FUN_140057fc0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140058393) */ +/* WARNING: Removing unreachable block (ram,0x0001400583af) */ + +void FUN_140057fc0(char *param_1,longlong param_2) + +{ + ulonglong *puVar1; + longlong *plVar2; + LPVOID pvVar3; + void *pvVar4; + ulonglong uVar5; + ulonglong uVar6; + longlong lVar7; + ulonglong uVar8; + LPVOID pvVar9; + ulonglong *local_res8; + longlong *local_res18; + + if (*(longlong *)(param_1 + 0x20) == 0) { + pvVar9 = (LPVOID)0x0; + } + else { + pvVar9 = *(LPVOID *)(param_1 + 0x10); + } + while (pvVar9 != (LPVOID)0x0) { + if (pvVar9 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + local_res8 = (ulonglong *)0x0; + if (*(longlong *)((longlong)pvVar9 + 8) != 0) { + *(longlong *)(*(longlong *)((longlong)pvVar9 + 8) + 8) = + *(longlong *)(*(longlong *)((longlong)pvVar9 + 8) + 8) + 1; + local_res8 = *(ulonglong **)((longlong)pvVar9 + 8); + } + if (local_res8 == (ulonglong *)0x0) { + uVar5 = 0; + } + else { + uVar5 = *local_res8; + } + if (*(longlong *)(uVar5 + 0x100) == param_2) { +LAB_140058081: + if (local_res8 == (ulonglong *)0x0) { + uVar5 = 0; + } + else { + uVar5 = *local_res8; + } + lVar7 = *(longlong *)(uVar5 + 0x100); + if (local_res8 == (ulonglong *)0x0) { + uVar5 = 0; + } + else { + uVar5 = *local_res8; + } + uVar5 = (uVar5 & 0xffffffff) % (ulonglong)*(uint *)(lVar7 + 0x6c8); + if (*(longlong *)(lVar7 + 0x6a8) != 0) { + plVar2 = *(longlong **)(*(longlong *)(lVar7 + 0x6a8) + uVar5 * 8); + while( true ) { + if ((plVar2 == (longlong *)0x0) || + ((uint)uVar5 != *(uint *)(plVar2 + 4) % *(uint *)(lVar7 + 0x6c8))) goto LAB_14005811a; + if ((ulonglong *)*plVar2 == (ulonglong *)0x0) { + uVar8 = 0; + } + else { + uVar8 = *(ulonglong *)*plVar2; + } + if (local_res8 == (ulonglong *)0x0) { + uVar6 = 0; + } + else { + uVar6 = *local_res8; + } + if (uVar8 == uVar6) break; + plVar2 = (longlong *)plVar2[2]; + } + FUN_140052cc0((char *)(lVar7 + 0x6a0),plVar2,'\0'); + } +LAB_14005811a: + if (local_res8 == (ulonglong *)0x0) { + uVar5 = 0; + } + else { + uVar5 = *local_res8; + } + lVar7 = *(longlong *)(uVar5 + 0x108); + if (local_res8 == (ulonglong *)0x0) { + uVar5 = 0; + } + else { + uVar5 = *local_res8; + } + uVar5 = (uVar5 & 0xffffffff) % (ulonglong)*(uint *)(lVar7 + 0x6c8); + if (*(longlong *)(lVar7 + 0x6a8) != 0) { + plVar2 = *(longlong **)(*(longlong *)(lVar7 + 0x6a8) + uVar5 * 8); + while( true ) { + if ((plVar2 == (longlong *)0x0) || + ((uint)uVar5 != *(uint *)(plVar2 + 4) % *(uint *)(lVar7 + 0x6c8))) + goto code_r0x0001400581b3; + if ((ulonglong *)*plVar2 == (ulonglong *)0x0) { + uVar8 = 0; + } + else { + uVar8 = *(ulonglong *)*plVar2; + } + if (local_res8 == (ulonglong *)0x0) { + uVar6 = 0; + } + else { + uVar6 = *local_res8; + } + if (uVar8 == uVar6) break; + plVar2 = (longlong *)plVar2[2]; + } + FUN_140052cc0((char *)(lVar7 + 0x6a0),plVar2,'\0'); + } +code_r0x0001400581b3: + if (pvVar9 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + pvVar3 = *(LPVOID *)((longlong)pvVar9 + 0x10); + FUN_1400503f0(param_1,pvVar9,'\0'); + pvVar9 = pvVar3; + } + else { + if (local_res8 == (ulonglong *)0x0) { + uVar5 = 0; + } + else { + uVar5 = *local_res8; + } + if (*(longlong *)(uVar5 + 0x108) == param_2) goto LAB_140058081; + if (pvVar9 != (LPVOID)0x0) { + pvVar9 = *(LPVOID *)((longlong)pvVar9 + 0x10); + } + } + if (local_res8 != (ulonglong *)0x0) { + puVar1 = local_res8 + 1; + *puVar1 = *puVar1 - 1; + if (*puVar1 == 0) { + pvVar4 = (void *)*local_res8; + if (pvVar4 != (void *)0x0) { + FUN_14003b870((undefined8 *)((longlong)pvVar4 + 0x148)); + FUN_14003b870((undefined8 *)((longlong)pvVar4 + 0x120)); + operator_delete(pvVar4); + } + FUN_1400302f0(local_res8); + } + } + } + if (*(longlong *)(param_1 + 0x78) == 0) { + pvVar9 = (LPVOID)0x0; + } + else { + pvVar9 = *(LPVOID *)(param_1 + 0x68); + } + do { + if (pvVar9 == (LPVOID)0x0) { + return; + } + if (pvVar9 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + local_res18 = (longlong *)0x0; + if (*(longlong *)((longlong)pvVar9 + 8) != 0) { + *(longlong *)(*(longlong *)((longlong)pvVar9 + 8) + 8) = + *(longlong *)(*(longlong *)((longlong)pvVar9 + 8) + 8) + 1; + local_res18 = *(longlong **)((longlong)pvVar9 + 8); + } + if (local_res18 == (longlong *)0x0) { + lVar7 = 0; + } + else { + lVar7 = *local_res18; + } + if (*(longlong *)(lVar7 + 0x100) == param_2) { +code_r0x0001400582f6: + if (pvVar9 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + pvVar3 = *(LPVOID *)((longlong)pvVar9 + 0x10); + FUN_1400503f0(param_1 + 0x58,pvVar9,'\0'); + pvVar9 = pvVar3; + } + else { + if (local_res18 == (longlong *)0x0) { + lVar7 = 0; + } + else { + lVar7 = *local_res18; + } + if (*(longlong *)(lVar7 + 0x108) == param_2) goto code_r0x0001400582f6; + if (pvVar9 != (LPVOID)0x0) { + pvVar9 = *(LPVOID *)((longlong)pvVar9 + 0x10); + } + } + if (local_res18 != (longlong *)0x0) { + plVar2 = local_res18 + 1; + *plVar2 = *plVar2 + -1; + if (*plVar2 == 0) { + pvVar4 = (void *)*local_res18; + if (pvVar4 != (void *)0x0) { + FUN_14003b870((undefined8 *)((longlong)pvVar4 + 0x148)); + FUN_14003b870((undefined8 *)((longlong)pvVar4 + 0x120)); + operator_delete(pvVar4); + } + FUN_1400302f0(local_res18); + } + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400583d0.c b/decomp/Agent_Release_x64/full/functions/0x1400583d0.c new file mode 100644 index 00000000..ae03127b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400583d0.c @@ -0,0 +1,228 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400583d0 FUN_1400583d0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140058730) */ +/* WARNING: Removing unreachable block (ram,0x00014005870f) */ +/* WARNING: Removing unreachable block (ram,0x00014005871e) */ +/* WARNING: Removing unreachable block (ram,0x000140058488) */ + +undefined * FUN_1400583d0(char *param_1,longlong param_2,longlong param_3,longlong param_4) + +{ + int *piVar1; + ulonglong *puVar2; + uint uVar3; + longlong *plVar4; + undefined4 uVar5; + undefined2 uVar6; + short *psVar7; + undefined *puVar8; + undefined *puVar9; + int *piVar10; + longlong lVar11; + uint *puVar12; + undefined *puVar13; + short *psVar14; + ulonglong **ppuVar15; + ulonglong uVar16; + uint uVar17; + uint uVar18; + undefined8 uVar19; + ulonglong *local_res8; + short *local_res20; + ulonglong *local_88; + + puVar13 = (undefined *)0x0; + local_88 = (ulonglong *)0x0; + uVar3 = *(uint *)(param_4 + 0x6f8); + uVar18 = *(uint *)(param_3 + 0x6f8); + uVar17 = uVar3; + if ((int)uVar3 < (int)uVar18) { + uVar17 = uVar18; + uVar18 = uVar3; + } + uVar3 = *(uint *)(param_1 + 0x28); + uVar16 = (ulonglong)(uVar18 << 0x10 ^ uVar17); + puVar9 = (undefined *)(uVar16 / uVar3); + uVar16 = uVar16 % (ulonglong)uVar3; + if (*(longlong *)(param_1 + 8) != 0) { + puVar12 = *(uint **)(*(longlong *)(param_1 + 8) + uVar16 * 8); + while( true ) { + if ((puVar12 == (uint *)0x0) || + (puVar9 = (undefined *)((ulonglong)puVar12[8] / (ulonglong)uVar3), + (uint)uVar16 != puVar12[8] % uVar3)) goto LAB_140058837; + if ((*puVar12 == uVar18) && (puVar12[1] == uVar17)) break; + puVar12 = *(uint **)(puVar12 + 4); + } + if (puVar12 != (uint *)0x0) { + puVar9 = puVar13; + if (*(longlong *)(puVar12 + 2) != 0) { + *(longlong *)(*(longlong *)(puVar12 + 2) + 8) = + *(longlong *)(*(longlong *)(puVar12 + 2) + 8) + 1; + local_88 = *(ulonglong **)(puVar12 + 2); + if (local_88 != (ulonglong *)0x0) { + puVar9 = (undefined *)*local_88; + } + } + *(int *)(puVar9 + 0x114) = *(int *)(puVar9 + 0x114) + -1; + puVar9 = puVar13; + if (local_88 != (ulonglong *)0x0) { + puVar9 = (undefined *)*local_88; + } + if (*(int *)(puVar9 + 0x114) == 0) { + puVar9 = puVar13; + if (local_88 != (ulonglong *)0x0) { + puVar9 = (undefined *)*local_88; + } + lVar11 = *(longlong *)(puVar9 + 0x100); + puVar9 = puVar13; + if (local_88 != (ulonglong *)0x0) { + puVar9 = (undefined *)*local_88; + } + uVar16 = ((ulonglong)puVar9 & 0xffffffff) % (ulonglong)*(uint *)(lVar11 + 0x6c8); + if (*(longlong *)(lVar11 + 0x6a8) == 0) goto LAB_14005857c; + plVar4 = *(longlong **)(*(longlong *)(lVar11 + 0x6a8) + uVar16 * 8); + goto joined_r0x000140058523; + } + } + } + goto LAB_140058837; +joined_r0x000140058523: + if ((plVar4 == (longlong *)0x0) || + ((uint)uVar16 != *(uint *)(plVar4 + 4) % *(uint *)(lVar11 + 0x6c8))) goto LAB_14005857c; + puVar9 = puVar13; + if ((ulonglong *)*plVar4 != (ulonglong *)0x0) { + puVar9 = *(undefined **)*plVar4; + } + puVar8 = puVar13; + if (local_88 != (ulonglong *)0x0) { + puVar8 = (undefined *)*local_88; + } + if (puVar9 != puVar8) { + plVar4 = (longlong *)plVar4[2]; + goto joined_r0x000140058523; + } + FUN_140052cc0((char *)(lVar11 + 0x6a0),plVar4,'\0'); +LAB_14005857c: + puVar9 = puVar13; + if (local_88 != (ulonglong *)0x0) { + puVar9 = (undefined *)*local_88; + } + ppuVar15 = *(ulonglong ***)(puVar9 + 0x108); + puVar9 = puVar13; + if (local_88 != (ulonglong *)0x0) { + puVar9 = (undefined *)*local_88; + } + uVar16 = ((ulonglong)puVar9 & 0xffffffff) % (ulonglong)*(uint *)(ppuVar15 + 0xd9); + if (ppuVar15[0xd5] != (ulonglong *)0x0) { + plVar4 = (longlong *)ppuVar15[0xd5][uVar16]; + while( true ) { + if ((plVar4 == (longlong *)0x0) || + ((uint)uVar16 != *(uint *)(plVar4 + 4) % *(uint *)(ppuVar15 + 0xd9))) goto LAB_14005860d; + puVar9 = puVar13; + if ((ulonglong *)*plVar4 != (ulonglong *)0x0) { + puVar9 = *(undefined **)*plVar4; + } + puVar8 = puVar13; + if (local_88 != (ulonglong *)0x0) { + puVar8 = (undefined *)*local_88; + } + if (puVar9 == puVar8) break; + plVar4 = (longlong *)plVar4[2]; + } + FUN_140052cc0((char *)(ppuVar15 + 0xd4),plVar4,'\0'); + } +LAB_14005860d: + puVar9 = puVar13; + if (local_88 != (ulonglong *)0x0) { + puVar9 = (undefined *)*local_88; + } + if ((((*(double *)(puVar9 + 0x198) != 0.0) && (*(int *)(puVar9 + 0x70) != 0)) && + (*(int *)(puVar9 + 0xb8) != 0)) && (*(int *)(puVar9 + 0x70) != *(int *)(puVar9 + 0xb8))) { + puVar9 = puVar13; + if (local_88 != (ulonglong *)0x0) { + puVar9 = (undefined *)*local_88; + } + uVar19 = (**(code **)(*(longlong *)(param_2 + 0x118) + 8))(); + *(undefined8 *)(puVar9 + 400) = uVar19; + uVar6 = DAT_1401553d4; + uVar5 = DAT_1401553d0; + puVar9 = puVar13; + if (local_88 != (ulonglong *)0x0) { + puVar9 = (undefined *)*local_88; + } + if (puVar9[8] != '\x01') { + *(undefined4 *)(puVar9 + 0x10) = 0; + *(undefined4 *)(puVar9 + 0x20) = uVar5; + *(undefined2 *)(puVar9 + 0x24) = uVar6; + *(undefined4 *)(puVar9 + 0x30) = uVar5; + *(undefined2 *)(puVar9 + 0x34) = uVar6; + puVar9[0x38] = 0; + uVar6 = DAT_1401553d4; + uVar5 = DAT_1401553d0; + *(undefined4 *)(puVar9 + 0x40) = 0; + *(undefined4 *)(puVar9 + 0x50) = uVar5; + *(undefined2 *)(puVar9 + 0x54) = uVar6; + *(undefined4 *)(puVar9 + 0x60) = uVar5; + *(undefined2 *)(puVar9 + 100) = uVar6; + puVar9[0x68] = 0; + puVar9[8] = 1; + } + local_res8 = (ulonglong *)0x0; + if (local_88 != (ulonglong *)0x0) { + local_88[1] = local_88[1] + 1; + local_res8 = local_88; + puVar13 = (undefined *)*local_88; + } + ppuVar15 = &local_res8; + FUN_1400569c0((longlong)param_1,*(longlong *)(puVar13 + 0x100),*(longlong *)(puVar13 + 0x108), + (longlong *)ppuVar15); + } + if (puVar12 == (uint *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar19 = 0; + puVar9 = (undefined *)FUN_1400503f0(param_1,puVar12,'\0'); + if (*(longlong *)(param_2 + 0x17f0) != 0) { + FUN_140030200(param_1,puVar12,uVar19,ppuVar15); + local_res20 = (short *)PTR_DAT_140155010; + uVar16 = (ulonglong)*(uint *)(param_4 + 0x6f8); + FUN_14001b7a0((longlong *)&local_res20, + L"[서버] Client %d-Client %d간의 P2P 연결 쌍 제거", + (ulonglong)*(uint *)(param_3 + 0x6f8),uVar16); + psVar7 = local_res20; + psVar14 = local_res20; + if (local_res20 == (short *)0x0) { + psVar14 = (short *)PTR_DAT_140155010; + } + uVar19 = 1; + lVar11 = *(longlong *)(param_2 + 0x17f0); + FUN_14008f2e0(lVar11,1,psVar14,uVar16); + if (((psVar7 != (short *)0x0) && (psVar7 != (short *)PTR_DAT_140155010)) && + (psVar7 + -4 != (short *)0x0)) { + piVar10 = (int *)FUN_140030200(lVar11,uVar19,psVar14,uVar16); + FUN_14002e6e0(piVar10); + piVar1 = (int *)(psVar7 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar7 + -4); + } + FUN_14002e770((longlong)piVar10); + } + local_res20 = (short *)PTR_DAT_140155010; + puVar9 = PTR_DAT_140155010; + } +LAB_140058837: + if (local_88 != (ulonglong *)0x0) { + puVar2 = local_88 + 1; + *puVar2 = *puVar2 - 1; + puVar9 = (undefined *)local_88[1]; + if (*puVar2 == 0) { + puVar9 = (undefined *)FUN_140041080(local_88); + } + } + return puVar9; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140058870.c b/decomp/Agent_Release_x64/full/functions/0x140058870.c new file mode 100644 index 00000000..d5d5b221 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140058870.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140058870 FUN_140058870 + * Pseudocode, not original source. */ + +undefined4 * FUN_140058870(char *param_1,undefined4 *param_2,uint param_3,undefined4 param_4) + +{ + longlong *plVar1; + longlong lVar2; + uint uVar3; + undefined4 *puVar4; + + plVar1 = *(longlong **)(param_1 + 0x50); + if (plVar1 == (longlong *)0x0) { + puVar4 = (undefined4 *)FUN_140030280(0x28); + } + else { + puVar4 = (undefined4 *) + (**(code **)(*plVar1 + 8))(plVar1,0x28,param_3,param_4,0xfffffffffffffffe); + } + if (puVar4 != (undefined4 *)0x0) { + *puVar4 = *param_2; + *(undefined8 *)(puVar4 + 2) = 0; + puVar4[8] = param_4; + } + lVar2 = *(longlong *)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8); + FUN_14003d560(param_1); + if (*(longlong *)(param_1 + 0x20) == 0) { + *(undefined4 **)(param_1 + 0x10) = puVar4; + *(undefined4 **)(param_1 + 0x18) = puVar4; + *(undefined8 *)(puVar4 + 6) = 0; + *(undefined8 *)(puVar4 + 4) = 0; + } + else { + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if (lVar2 == 0) { + lVar2 = *(longlong *)(param_1 + 0x10); + *(undefined8 *)(puVar4 + 6) = 0; + *(longlong *)(puVar4 + 4) = lVar2; + if (lVar2 != 0) { + *(undefined4 **)(lVar2 + 0x18) = puVar4; + } + *(undefined4 **)(param_1 + 0x10) = puVar4; + } + else { + if (*(longlong *)(lVar2 + 0x18) == 0) { + *(undefined4 **)(param_1 + 0x10) = puVar4; + } + else { + *(undefined4 **)(*(longlong *)(lVar2 + 0x18) + 0x10) = puVar4; + } + *(undefined8 *)(puVar4 + 6) = *(undefined8 *)(lVar2 + 0x18); + *(longlong *)(puVar4 + 4) = lVar2; + *(undefined4 **)(lVar2 + 0x18) = puVar4; + } + } + *(undefined4 **)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8) = puVar4; + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if ((*(ulonglong *)(param_1 + 0x38) < *(ulonglong *)(param_1 + 0x20)) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar3 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14003f960(param_1,uVar3); + } + FUN_14003d560(param_1); + return puVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400589c0.c b/decomp/Agent_Release_x64/full/functions/0x1400589c0.c new file mode 100644 index 00000000..b2dcb24f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400589c0.c @@ -0,0 +1,48 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400589c0 FUN_1400589c0 + * Pseudocode, not original source. */ + +undefined4 * +FUN_1400589c0(undefined4 *param_1,undefined4 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong *plVar1; + + *param_1 = *param_2; + *(ulonglong *)(param_1 + 2) = 0; + FUN_14003bff0((ulonglong *)(param_1 + 2),(ulonglong *)(param_2 + 2),param_3,param_4); + param_1[4] = param_2[4]; + *(ulonglong *)(param_1 + 6) = 0; + FUN_140056c00((ulonglong *)(param_1 + 6),(ulonglong *)(param_2 + 6),param_3,param_4); + *(ulonglong *)(param_1 + 8) = 0; + FUN_140056d30((ulonglong *)(param_1 + 8),(ulonglong *)(param_2 + 8),param_3,param_4); + FUN_140040d80((undefined8 *)(param_1 + 10),(longlong)(param_2 + 10),param_3); + *(undefined ***)(param_1 + 10) = Proud::ByteArray::vftable; + *(undefined8 *)(param_1 + 0x18) = 0; + *(undefined8 *)(param_1 + 0x16) = 0; + if (*(longlong *)(param_2 + 0x14) == 0) { + *(undefined8 *)(param_1 + 0x14) = 0; + param_1[0x19] = param_2[0x19]; + *(undefined8 *)(param_1 + 0x16) = *(undefined8 *)(param_2 + 0x16); + param_1[0x18] = param_2[0x18]; + } + else { + plVar1 = (longlong *)(*(longlong *)(param_2 + 0x14) + 0x28); + *plVar1 = *plVar1 + 1; + *(undefined8 *)(param_1 + 0x14) = *(undefined8 *)(param_2 + 0x14); + } + param_1[0x1a] = param_2[0x1a]; + param_1[0x1b] = param_2[0x1b]; + param_1[0x1c] = param_2[0x1c]; + FUN_140040d80((undefined8 *)(param_1 + 0x1e),(longlong)(param_2 + 0x1e),param_3); + *(undefined ***)(param_1 + 0x1e) = Proud::ByteArray::vftable; + param_1[0x28] = param_2[0x28]; + *(undefined ***)(param_1 + 0x2a) = Proud::AddrPort::vftable; + param_1[0x2c] = param_2[0x2c]; + *(undefined2 *)(param_1 + 0x2d) = *(undefined2 *)(param_2 + 0x2d); + param_1[0x2e] = param_2[0x2e]; + FUN_140040d80((undefined8 *)(param_1 + 0x30),(longlong)(param_2 + 0x30),param_3); + *(undefined ***)(param_1 + 0x30) = Proud::ByteArray::vftable; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140058b10.c b/decomp/Agent_Release_x64/full/functions/0x140058b10.c new file mode 100644 index 00000000..5403fb26 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140058b10.c @@ -0,0 +1,173 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140058b10 FUN_140058b10 + * Pseudocode, not original source. */ + +void FUN_140058b10(longlong param_1,uint *param_2,SIZE_T param_3,ulonglong param_4,longlong param_5) + +{ + int iVar1; + int *piVar2; + int *piVar3; + ulonglong uVar4; + ulonglong *puVar5; + longlong *plVar6; + uint *puVar7; + int **ppiVar8; + undefined4 *puVar9; + size_t sVar10; + int *piVar11; + SIZE_T SVar12; + ulonglong uVar13; + int *local_res8; + undefined4 local_128 [2]; + ulonglong local_120 [2]; + ulonglong local_110 [2]; + undefined **local_100; + undefined8 local_f8; + int *local_f0; + undefined8 local_e8; + undefined8 local_e0; + undefined8 local_d8; + undefined8 local_d0; + undefined8 local_c8; + uint local_b8; + undefined **local_b0; + undefined8 local_a8; + undefined8 local_a0; + undefined8 local_98; + undefined8 local_90; + undefined **local_80; + undefined4 local_78; + undefined2 local_74; + undefined **local_68; + undefined8 local_60; + undefined8 local_58; + undefined8 local_50; + undefined8 local_48; + undefined8 local_38; + + local_38 = 0xfffffffffffffffe; + if ((*(longlong *)(param_1 + 0x758) != 0) && (param_2[0x1be] != 0)) { + piVar11 = (int *)0x0; + local_120[0] = 0; + local_110[0] = 0; + local_110[1] = 0; + local_f8 = 0; + local_f0 = (int *)0x0; + local_e8 = 0; + local_e0 = 0; + local_100 = Proud::ByteArray::vftable; + local_c8 = 0; + local_d0 = 0; + local_d8 = 0; + local_a8 = 0; + local_a0 = 0; + local_98 = 0; + local_90 = 0; + local_b0 = Proud::ByteArray::vftable; + local_80 = Proud::AddrPort::vftable; + local_78 = 0; + local_74 = 0; + local_60 = 0; + local_58 = 0; + local_50 = 0; + local_48 = 0; + local_68 = Proud::ByteArray::vftable; + puVar7 = param_2; + SVar12 = param_3; + uVar13 = param_4; + local_res8 = (int *)FUN_140030280(0x60); + piVar2 = piVar11; + if (local_res8 != (int *)0x0) { + piVar2 = (int *)FUN_14003bef0((undefined8 *)local_res8,puVar7,SVar12,uVar13); + } + if (piVar2 == (int *)0x0) { + local_res8 = (int *)0x0; + piVar3 = piVar11; + } + else { + piVar3 = (int *)FUN_140030280(0x48); + if (piVar3 != (int *)0x0) { + local_res8 = piVar3; + uVar4 = FUN_14002e790(); + SVar12 = CONCAT71((int7)(SVar12 >> 8),1); + FUN_14002e600(piVar3,uVar4 & 0xffffffff,SVar12,uVar13); + } + local_res8 = piVar3; + FUN_14002e6e0(piVar3); + piVar3[0x10] = 1; + piVar3[0x11] = 0; + *(int **)(piVar3 + 0xe) = piVar2; + FUN_14002e770((longlong)piVar3); + } + ppiVar8 = &local_res8; + FUN_14003bff0(local_120,(ulonglong *)ppiVar8,SVar12,uVar13); + if (piVar3 != (int *)0x0) { + FUN_14002e6e0(piVar3); + plVar6 = (longlong *)(piVar3 + 0x10); + *plVar6 = *plVar6 + -1; + if (*plVar6 == 0) { + FUN_14002e770((longlong)piVar3); + FUN_14002b500(piVar3,ppiVar8,SVar12,uVar13); + } + else { + FUN_14002e770((longlong)piVar3); + } + } + piVar2 = piVar11; + if (local_120[0] != 0) { + piVar2 = *(int **)(local_120[0] + 0x38); + } + *piVar2 = (int)param_3; + piVar2 = piVar11; + if (local_120[0] != 0) { + piVar2 = *(int **)(local_120[0] + 0x38); + } + piVar2[1] = (int)param_4; + puVar5 = (ulonglong *)FUN_140096480(param_2,(longlong *)&local_res8,SVar12,uVar13); + FUN_140056c00(local_110,puVar5,SVar12,uVar13); + piVar2 = local_res8; + if (local_res8 != (int *)0x0) { + FUN_14002e6e0(local_res8); + *(longlong *)(local_res8 + 0x10) = *(longlong *)(local_res8 + 0x10) + -1; + if (*(longlong *)(local_res8 + 0x10) == 0) { + FUN_14002e770((longlong)piVar2); + FUN_140055220(local_res8,puVar5,SVar12,uVar13); + } + else { + FUN_14002e770((longlong)piVar2); + } + } + local_128[0] = 6; + iVar1 = *(int *)(param_5 + 0x18); + sVar10 = (size_t)iVar1; + if (iVar1 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14001bc70((longlong)&local_100,iVar1,SVar12); + piVar2 = piVar11; + if (*(int *)(param_5 + 0x18) != 0) { + piVar2 = *(int **)(param_5 + 0x10); + } + piVar3 = local_f0; + if ((int)local_e8 == 0) { + piVar3 = piVar11; + } + FUN_14001bd30((undefined8 *)piVar3,(undefined8 *)piVar2,sVar10); + local_b8 = param_2[0x1be]; + puVar9 = local_128; + FUN_140096cb0((longlong)param_2,puVar9,sVar10,uVar13); + FUN_140056f10((longlong)local_128,puVar9,sVar10,uVar13); + } + if (*(longlong *)(param_1 + 0x58) != 0) { + piVar11 = (int *)(*(longlong *)(param_1 + 0x58) + 0x98); + piVar2 = piVar11; + FUN_14002e6e0(piVar11); + plVar6 = (longlong *)(*(longlong *)(param_1 + 0x58) + 0x68); + (**(code **)(*plVar6 + 0xb0))(plVar6,1,&DAT_14015de10,param_2 + 0x1be,piVar2,1); + FUN_14002e770((longlong)piVar11); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140058e30.c b/decomp/Agent_Release_x64/full/functions/0x140058e30.c new file mode 100644 index 00000000..68c6e30d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140058e30.c @@ -0,0 +1,282 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140058e30 FUN_140058e30 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140058e30(longlong param_1,uint *param_2,longlong param_3,undefined8 param_4) + +{ + longlong lVar1; + uint uVar2; + undefined8 uVar3; + uint *puVar4; + longlong *plVar5; + ulonglong *puVar6; + longlong **pplVar7; + undefined8 *puVar8; + undefined4 *puVar9; + longlong *plVar10; + uint uVar11; + ulonglong uVar12; + ulonglong uVar13; + ulonglong uVar14; + undefined1 auStack_ea8 [32]; + longlong *local_e88; + undefined1 uStack_e80; + undefined3 uStack_e7f; + undefined4 uStack_e7c; + longlong *local_e78; + undefined8 uStack_e70; + exception local_e68 [4]; + undefined4 local_e64; + longlong local_e60; + undefined8 *local_e58; + undefined4 local_e50; + int local_e4c; + undefined4 local_e18 [2]; + longlong local_e10 [2]; + ulonglong local_e00 [2]; + undefined **local_df0; + undefined8 local_de8; + undefined8 local_de0; + undefined8 local_dd8; + undefined8 local_dd0; + longlong local_dc8; + longlong local_dc0; + ulonglong local_db8; + uint local_da8; + undefined **local_da0; + undefined8 local_d98; + undefined8 local_d90; + undefined8 local_d88; + undefined8 local_d80; + undefined **local_d70; + undefined4 local_d68; + undefined2 local_d64; + undefined **local_d58; + undefined8 local_d50; + undefined8 local_d48; + undefined8 local_d40; + undefined8 local_d38; + undefined8 local_d28; + exception local_d20 [72]; + undefined8 *local_cd8; + undefined8 uStack_cd0; + undefined8 **local_58; + undefined4 local_50; + int local_4c; + ulonglong local_48; + + local_d28 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_ea8; + if (param_2 == (uint *)0x0) { + FUN_14002f1e0(local_e68,L"Unexpected at candidate remote client removal!",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_e68,(ThrowInfo *)&DAT_140151b88); + } + plVar5 = *(longlong **)(param_1 + 0x478); + lVar1 = *plVar5; + uVar3 = (**(code **)(*(longlong *)(param_1 + 0x118) + 8))(); + uVar2 = (**(code **)(lVar1 + 8))(plVar5,uVar3); + local_e88 = (longlong *)CONCAT44(local_e88._4_4_,uVar2); + param_2[0x1be] = uVar2; + FUN_140043cc0((char *)(param_1 + 0x16e8),*(longlong *)(param_2 + 0x1d2) + 0x128,'\0'); + uVar14 = (ulonglong)*(uint *)(param_1 + 0xca0); + uVar12 = (ulonglong)uVar2 % uVar14; + uVar13 = *(ulonglong *)(param_1 + 0xc80); + uVar11 = (uint)uVar12; + if (uVar13 == 0) { +LAB_140058f5e: + uVar3 = FUN_14003f710(param_1 + 0xc78,*(uint *)(param_1 + 0xca0),'\x01'); + if ((char)uVar3 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + else { + puVar4 = *(uint **)(uVar13 + uVar12 * 8); + while ((puVar4 != (uint *)0x0 && + (pplVar7 = (longlong **)((ulonglong)puVar4[8] % uVar14), uVar11 == (uint)pplVar7))) { + if (*puVar4 == uVar2) goto LAB_140058fb5; + puVar4 = *(uint **)(puVar4 + 4); + } + if (uVar13 == 0) goto LAB_140058f5e; + puVar4 = *(uint **)(uVar13 + uVar12 * 8); + while ((puVar4 != (uint *)0x0 && + (pplVar7 = (longlong **)((ulonglong)puVar4[8] % uVar14), uVar11 == (uint)pplVar7))) { + if (*puVar4 == uVar2) goto LAB_140058fb1; + puVar4 = *(uint **)(puVar4 + 4); + } + if (uVar13 == 0) goto LAB_140058f5e; + } + FUN_14003d560((char *)(param_1 + 0xc78)); + uVar14 = (ulonglong)uVar2; + pplVar7 = &local_e88; + puVar4 = FUN_140066570((char *)(param_1 + 0xc78),(undefined4 *)pplVar7,uVar11,uVar2); + FUN_14003d560((char *)(param_1 + 0xc78)); + uVar13 = uVar12; +LAB_140058fb1: + *(uint **)(puVar4 + 2) = param_2; +LAB_140058fb5: + FUN_1400806d0((undefined4 *)local_e68); + FUN_1400801a0((longlong)local_e68,pplVar7,uVar13,uVar14); + FUN_140080830((int *)local_e68,0x800,uVar13,uVar14); + uVar3 = 0; + FUN_140080830((int *)local_e68,0,uVar13,uVar14); + FUN_14001ba80((longlong)local_e68,CONCAT71((int7)((ulonglong)uVar3 >> 8),10),uVar13,uVar14); + FUN_140021e80((longlong)local_e68,(ulonglong)uVar2,uVar13,uVar14); + local_e78 = *(longlong **)(param_1 + 0x26c); + uStack_e70 = *(undefined8 *)(param_1 + 0x274); + FUN_140044710((longlong)local_e68,&local_e78,uVar13,uVar14); + uVar2 = *(uint *)(param_3 + 0x18); + FUN_140081aa0((longlong)local_e68,(longlong)(int)uVar2,uVar13,uVar14); + puVar8 = (undefined8 *)0x0; + if (*(int *)(param_3 + 0x18) != 0) { + puVar8 = *(undefined8 **)(param_3 + 0x10); + } + if (uVar2 == 0) goto LAB_14005908d; + local_e64 = 0; + if (local_e60 == 0) { + if (local_e58 == (undefined8 *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar8,uVar13,uVar14); + } +LAB_14005905f: + uVar13 = (ulonglong)uVar2; + FUN_14001bb60((longlong *)&local_e58,puVar8,uVar13,uVar14); + } + else { + if (local_e58 != (undefined8 *)0x0) goto LAB_14005905f; + if (local_e60 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar8,uVar13,uVar14); + } + uVar13 = (ulonglong)uVar2; + FUN_14001bd90(local_e60,puVar8,uVar13); + } + FUN_14001be00((longlong)local_e68,puVar8,uVar13,uVar14); +LAB_14005908d: + FUN_1400812d0((longlong)local_e68,*(longlong *)(param_2 + 0x1d2) + 0x128,uVar13,uVar14); + plVar5 = (longlong *)(**(code **)(*(longlong *)(param_2 + 0x42) + 0x10))(); + local_e78 = plVar5; + FUN_14002e6e0((int *)plVar5); + uStack_e70._0_1_ = 1; + local_4c = 200; + local_50 = 0; + local_58 = &local_cd8; + if (local_e60 == 0) { + if (local_e58 == (undefined8 *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,0,uVar13,uVar14); + } + } + else { + local_e50 = *(undefined4 *)(local_e60 + 0x18); + } + local_cd8 = local_e58; + if (local_e58 == (undefined8 *)0x0) { + if (local_e60 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,0,uVar13,uVar14); + } + local_cd8 = (undefined8 *)0x0; + if (*(int *)(local_e60 + 0x18) != 0) { + local_cd8 = *(undefined8 **)(local_e60 + 0x10); + } + } + local_50 = 1; + uStack_cd0 = CONCAT44(uStack_e7c,local_e50); + local_e88 = (longlong *)0x0; + _uStack_e80 = CONCAT31((int3)((uint)local_e50 >> 8),1); + pplVar7 = &local_e88; + FUN_14009c2b0(*(char **)(param_2 + 0x1d2),(longlong)&local_cd8,(SIZE_T *)pplVar7,uVar14); + if (local_58 == (undefined8 **)0x0) { + FUN_14002f1e0(local_d20,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,pplVar7, + uVar14); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d20,(ThrowInfo *)&DAT_140151b88); + } + if (local_4c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14002e770((longlong)plVar5); + local_e88 = &local_e60; + FUN_140095270(&local_e60); + if ((local_e58 != (undefined8 *)0x0) && (local_e4c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_e10[0] = 0; + local_e00[0] = 0; + local_e00[1] = 0; + local_de8 = 0; + local_de0 = 0; + local_dd8 = 0; + local_dd0 = 0; + local_df0 = Proud::ByteArray::vftable; + local_db8 = 0; + local_dc0 = 0; + local_dc8 = 0; + local_d98 = 0; + local_d90 = 0; + local_d88 = 0; + local_d80 = 0; + local_da0 = Proud::ByteArray::vftable; + local_d70 = Proud::AddrPort::vftable; + local_d68 = 0; + local_d64 = 0; + local_d50 = 0; + local_d48 = 0; + local_d40 = 0; + local_d38 = 0; + local_d58 = Proud::ByteArray::vftable; + local_e18[0] = 5; + puVar6 = (ulonglong *)FUN_140096480(param_2,(longlong *)&local_e88,pplVar7,uVar14); + FUN_140056c00(local_e00,puVar6,pplVar7,uVar14); + plVar5 = local_e88; + if (local_e88 != (longlong *)0x0) { + local_e78 = local_e88; + FUN_14002e6e0((int *)local_e88); + uStack_e70._0_1_ = 1; + local_e88[8] = local_e88[8] + -1; + if (local_e88[8] == 0) { + FUN_14002e770((longlong)plVar5); + uStack_e70._0_1_ = 0; + FUN_140055220((undefined4 *)local_e88,puVar6,pplVar7,uVar14); + } + else { + FUN_14002e770((longlong)plVar5); + } + } + local_da8 = param_2[0x1be]; + puVar9 = local_e18; + FUN_140096cb0((longlong)param_2,puVar9,(SIZE_T)pplVar7,uVar14); + FUN_14003b870(&local_d58); + FUN_14003b870(&local_da0); + local_e88 = &local_dc8; + FUN_140095270(&local_dc8); + if (local_dc0 != 0) { + if ((longlong)local_db8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_db8 = local_db8 & 0xffffffff00000000; + } + FUN_14003b870(&local_df0); + FUN_140056b00((longlong *)(local_e00 + 1),puVar9,pplVar7,uVar14); + FUN_140056a80((longlong *)local_e00,puVar9,pplVar7,uVar14); + FUN_14002b570(local_e10,puVar9,pplVar7,uVar14); + if (*(longlong *)(param_1 + 0x58) != 0) { + plVar10 = (longlong *)(*(longlong *)(param_1 + 0x58) + 0x98); + local_e78 = plVar10; + FUN_14002e6e0((int *)plVar10); + uStack_e70 = CONCAT71(uStack_e70._1_7_,1); + plVar5 = (longlong *)(*(longlong *)(param_1 + 0x58) + 0x68); + (**(code **)(*plVar5 + 0xa0))(plVar5,1,&DAT_14015de10,param_2 + 0x1be); + FUN_14002e770((longlong)plVar10); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400593d0.c b/decomp/Agent_Release_x64/full/functions/0x1400593d0.c new file mode 100644 index 00000000..e8b1fffc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400593d0.c @@ -0,0 +1,223 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400593d0 FUN_1400593d0 + * Pseudocode, not original source. */ + +void FUN_1400593d0(longlong *param_1,int *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *puVar1; + undefined *puVar2; + char cVar3; + uint uVar4; + undefined **ppuVar5; + longlong *plVar6; + int *piVar7; + uint *puVar8; + undefined8 uVar9; + undefined4 *puVar10; + longlong lVar11; + undefined8 uVar12; + ulonglong uVar13; + uint *puVar14; + undefined ***pppuVar15; + undefined *local_res18; + longlong local_res20; + undefined **local_188; + uint local_180; + undefined2 local_17c; + undefined **local_178; + undefined8 local_170; + undefined8 local_168; + undefined8 local_160; + undefined8 local_158; + undefined **local_128; + undefined8 local_120; + undefined8 local_118; + undefined8 local_110; + undefined8 local_108; + undefined **local_100; + int local_f8; + undefined2 local_f4; + undefined **local_f0; + undefined8 local_e8; + undefined8 local_e0; + undefined8 local_d8; + undefined8 local_d0; + undefined **local_c8; + undefined8 local_c0; + undefined8 local_b8; + undefined8 local_b0; + undefined8 local_a8; + undefined **local_a0; + undefined8 local_98; + undefined8 local_90; + undefined8 local_88; + undefined8 local_80; + int *local_78; + undefined1 local_70; + longlong local_60 [2]; + longlong local_50 [3]; + longlong local_38 [2]; + + local_50[1] = 0xfffffffffffffffe; + if (param_1[0xeb] != 0) { + uVar4 = *param_2 - 4; + if (uVar4 < 0x12) { + switch(*param_2) { + case 4: + local_120 = 0; + local_118 = 0; + local_110 = 0; + local_108 = 0; + local_128 = Proud::ByteArray::vftable; + local_100 = Proud::AddrPort::vftable; + local_f8 = param_2[0x2c]; + local_f4 = (undefined2)param_2[0x2d]; + pppuVar15 = &local_128; + cVar3 = (**(code **)(*(longlong *)param_1[0xeb] + 0x48)) + ((longlong *)param_1[0xeb],&local_100,param_2 + 0x30); + piVar7 = (int *)(**(code **)(*param_1 + 0x58))(param_1); + local_70 = 0; + local_78 = piVar7; + FUN_14002e6e0(piVar7); + local_70 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(*param_1 + 200))(param_1,L"Proud::CNetServerImpl::ProcessOneLocalEvent"); + } + local_188 = Proud::AddrPort::vftable; + local_180 = param_2[0x2c]; + local_17c = (undefined2)param_2[0x2d]; + puVar8 = (uint *)FUN_14003fd60((longlong)param_1,(longlong)&local_188); + if (puVar8 != (uint *)0x0) { + if (cVar3 == '\0') { + FUN_14004f060(param_1,(longlong)puVar8,(SIZE_T)&local_128,pppuVar15); + } + else { + FUN_140058e30((longlong)param_1,puVar8,(longlong)&local_128,pppuVar15); + } + } + FUN_14002e770((longlong)piVar7); + FUN_14003b870(&local_128); + break; + case 5: + uVar9 = 0; + if (*(longlong *)(param_2 + 6) != 0) { + uVar9 = *(undefined8 *)(*(longlong *)(param_2 + 6) + 0x38); + } + (**(code **)(*(longlong *)param_1[0xeb] + 0x38))((longlong *)param_1[0xeb],uVar9); + break; + case 6: + uVar9 = 0; + uVar12 = uVar9; + if (*(longlong *)(param_2 + 2) != 0) { + uVar12 = *(undefined8 *)(*(longlong *)(param_2 + 2) + 0x38); + } + if (*(longlong *)(param_2 + 6) != 0) { + uVar9 = *(undefined8 *)(*(longlong *)(param_2 + 6) + 0x38); + } + (**(code **)(*(longlong *)param_1[0xeb] + 0x40)) + ((longlong *)param_1[0xeb],uVar9,uVar12,param_2 + 10); + break; + case 7: + puVar10 = (undefined4 *)0x0; + if (*(longlong *)(param_2 + 2) != 0) { + puVar10 = *(undefined4 **)(*(longlong *)(param_2 + 2) + 0x38); + } + (**(code **)(*(longlong *)param_1[0xeb] + 0x50)) + ((longlong *)param_1[0xeb],param_2[0x1a],param_2[0x1b],*puVar10); + break; + case 0xf: + (**(code **)(*(longlong *)param_1[0xeb] + 0x68)) + ((longlong *)param_1[0xeb],param_2[0x1c],param_2[4]); + break; + case 0x10: + local_e8 = 0; + local_e0 = 0; + local_d8 = 0; + local_d0 = 0; + local_f0 = Proud::ByteArray::vftable; + FUN_140030200(IMAGE_DOS_HEADER_140000000.e_magic + + (&switchD_140059429::switchdataD_14005989c)[(int)uVar4],0,param_3,param_4); + local_res18 = PTR_DAT_140155010; + ppuVar5 = &local_res18; + plVar6 = FUN_14003c120(&local_res20,0x10,1,(longlong *)ppuVar5,(longlong)&local_f0); + lVar11 = *param_1; + (**(code **)(lVar11 + 0x38))(param_1); + puVar2 = local_res18; + if (((local_res18 != (undefined *)0x0) && (local_res18 != PTR_DAT_140155010)) && + (puVar1 = local_res18 + -8, puVar1 != (undefined *)0x0)) { + ppuVar5 = (undefined **)FUN_140030200(PTR_DAT_140155010,plVar6,lVar11,ppuVar5); + local_180 = local_180 & 0xffffff00; + local_188 = ppuVar5; + FUN_14002e6e0((int *)ppuVar5); + local_180 = CONCAT31(local_180._1_3_,1); + piVar7 = (int *)(puVar2 + -4); + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)ppuVar5); + } + local_res18 = PTR_DAT_140155010; + FUN_14003b870(&local_f0); + break; + case 0x11: + (**(code **)(*(longlong *)param_1[0xeb] + 0x70))((longlong *)param_1[0xeb],param_2[0x1c]); + break; + case 0x13: + lVar11 = 0; + local_98 = 0; + local_90 = 0; + local_88 = 0; + local_80 = 0; + local_a0 = Proud::ByteArray::vftable; + if (*(longlong *)(param_2 + 2) != 0) { + lVar11 = *(longlong *)(*(longlong *)(param_2 + 2) + 0x38); + } + plVar6 = FUN_14003c120(local_60,0x19,1,(longlong *)(lVar11 + 0x10),(longlong)&local_a0); + (**(code **)(*param_1 + 0x38))(param_1,plVar6); + FUN_14003b870(&local_a0); + break; + case 0x14: + puVar8 = (uint *)0x0; + local_c0 = 0; + local_b8 = 0; + local_b0 = 0; + local_a8 = 0; + local_c8 = Proud::ByteArray::vftable; + lVar11 = *(longlong *)(param_2 + 2); + puVar14 = puVar8; + if (lVar11 != 0) { + puVar8 = *(uint **)(lVar11 + 0x38); + puVar14 = *(uint **)(lVar11 + 0x38); + } + plVar6 = FUN_14003c120(local_50,(ulonglong)*puVar8,(ulonglong)(uint)param_2[0x1c], + (longlong *)(puVar14 + 4),(longlong)&local_c8); + (**(code **)(*param_1 + 0x38))(param_1,plVar6); + FUN_14003b870(&local_c8); + break; + case 0x15: + puVar8 = (uint *)0x0; + local_170 = 0; + local_168 = 0; + local_160 = 0; + local_158 = 0; + local_178 = Proud::ByteArray::vftable; + lVar11 = *(longlong *)(param_2 + 2); + puVar14 = puVar8; + if (lVar11 != 0) { + puVar8 = *(uint **)(lVar11 + 0x38); + puVar14 = *(uint **)(lVar11 + 0x38); + } + puVar14 = puVar14 + 4; + uVar13 = (ulonglong)(uint)param_2[0x1c]; + plVar6 = FUN_14003c120(local_38,(ulonglong)*puVar8,uVar13,(longlong *)puVar14, + (longlong)&local_178); + FUN_140052080((longlong)param_1,plVar6,uVar13,puVar14); + FUN_14003b870(&local_178); + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400598f0.c b/decomp/Agent_Release_x64/full/functions/0x1400598f0.c new file mode 100644 index 00000000..edc4912e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400598f0.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400598f0 FUN_1400598f0 + * Pseudocode, not original source. */ + +void FUN_1400598f0(char *param_1,LPVOID param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + uint uVar2; + + if (param_2 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + FUN_140055460((longlong)param_2,param_2,param_3,param_4); + plVar1 = *(longlong **)(param_1 + 0x50); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(param_2); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,param_2); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + if ((((char)param_3 != '\0') && (*(ulonglong *)(param_1 + 0x20) < *(ulonglong *)(param_1 + 0x40))) + && (*(int *)(param_1 + 0x48) == 0)) { + uVar2 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14003f960(param_1,uVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140059980.c b/decomp/Agent_Release_x64/full/functions/0x140059980.c new file mode 100644 index 00000000..988fcdce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140059980.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140059980 FUN_140059980 + * Pseudocode, not original source. */ + +void FUN_140059980(char *param_1,LPVOID param_2,ulonglong param_3) + +{ + uint uVar1; + ulonglong uVar2; + uint uVar3; + + if (param_2 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar1 = *(uint *)(param_1 + 0x28); + uVar2 = (ulonglong)*(uint *)((longlong)param_2 + 0x20) % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 0x20) == 1) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + } + else { + uVar3 = (uint)uVar2; + if (((*(longlong *)((longlong)param_2 + 0x18) == 0) || + (*(uint *)(*(longlong *)((longlong)param_2 + 0x18) + 0x20) % uVar1 != uVar3)) && + ((*(longlong *)((longlong)param_2 + 0x10) == 0 || + (*(uint *)(*(longlong *)((longlong)param_2 + 0x10) + 0x20) % uVar1 != uVar3)))) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + } + else if (param_2 == *(LPVOID *)(*(longlong *)(param_1 + 8) + (longlong)(int)uVar3 * 8)) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = + *(undefined8 *)((longlong)param_2 + 0x10); + } + if (param_2 == *(LPVOID *)(param_1 + 0x10)) { + *(undefined8 *)(param_1 + 0x10) = *(undefined8 *)((longlong)param_2 + 0x10); + *(undefined8 *)((longlong)param_2 + 0x18) = 0; + } + if (param_2 == *(LPVOID *)(param_1 + 0x18)) { + *(undefined8 *)(param_1 + 0x18) = *(undefined8 *)((longlong)param_2 + 0x18); + *(undefined8 *)((longlong)param_2 + 0x10) = 0; + } + if (*(longlong *)((longlong)param_2 + 0x18) != 0) { + *(undefined8 *)(*(longlong *)((longlong)param_2 + 0x18) + 0x10) = + *(undefined8 *)((longlong)param_2 + 0x10); + } + if (*(longlong *)((longlong)param_2 + 0x10) != 0) { + *(undefined8 *)(*(longlong *)((longlong)param_2 + 0x10) + 0x18) = + *(undefined8 *)((longlong)param_2 + 0x18); + } + } + FUN_1400598f0(param_1,param_2,param_3 & 0xff,param_2); + FUN_14003d560(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140059a80.c b/decomp/Agent_Release_x64/full/functions/0x140059a80.c new file mode 100644 index 00000000..28510b92 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140059a80.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140059a80 FUN_140059a80 + * Pseudocode, not original source. */ + +undefined4 * FUN_140059a80(char *param_1,undefined4 *param_2,uint param_3,undefined4 param_4) + +{ + undefined8 uVar1; + undefined4 *puVar2; + + if (*(longlong *)(param_1 + 8) == 0) { + uVar1 = FUN_14003f710((longlong)param_1,*(uint *)(param_1 + 0x28),'\x01'); + if ((char)uVar1 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + FUN_14003d560(param_1); + puVar2 = FUN_140058870(param_1,param_2,param_3,param_4); + FUN_14003d560(param_1); + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140059b00.c b/decomp/Agent_Release_x64/full/functions/0x140059b00.c new file mode 100644 index 00000000..5bdde436 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140059b00.c @@ -0,0 +1,115 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140059b00 FUN_140059b00 + * Pseudocode, not original source. */ + +void FUN_140059b00(char *param_1,LPVOID param_2,undefined8 param_3,undefined8 param_4) + +{ + LPVOID pvVar1; + undefined8 *puVar2; + LPVOID pvVar3; + uint uVar4; + ulonglong uVar5; + longlong lVar6; + longlong lVar7; + LPVOID pvVar8; + float fVar9; + float fVar10; + + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + 1; + FUN_14003d560(param_1); + pvVar8 = *(LPVOID *)(param_1 + 0x10); + while (pvVar8 != (LPVOID)0x0) { + pvVar1 = *(LPVOID *)((longlong)pvVar8 + 0x10); + if ((*(longlong *)((longlong)pvVar8 + 8) != 0) && + (*(longlong *)(*(longlong *)((longlong)pvVar8 + 8) + 8) = + *(longlong *)(*(longlong *)((longlong)pvVar8 + 8) + 8) + -1, + *(longlong *)(*(longlong *)((longlong)pvVar8 + 8) + 8) == 0)) { + puVar2 = *(undefined8 **)((longlong)pvVar8 + 8); + pvVar3 = (LPVOID)*puVar2; + if (pvVar3 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar3,param_2,param_3,param_4); + FUN_1400302f0(pvVar3); + } + FUN_1400302f0(puVar2); + } + if (*(longlong **)(param_1 + 0x50) == (longlong *)0x0) { + FUN_1400302f0(pvVar8); + } + else { + (**(code **)(**(longlong **)(param_1 + 0x50) + 0x18))(); + param_2 = pvVar8; + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + pvVar8 = pvVar1; + } + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + param_1[0x20] = '\0'; + param_1[0x21] = '\0'; + param_1[0x22] = '\0'; + param_1[0x23] = '\0'; + param_1[0x24] = '\0'; + param_1[0x25] = '\0'; + param_1[0x26] = '\0'; + param_1[0x27] = '\0'; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + FUN_14003d560(param_1); + if (*(int *)(param_1 + 0x48) == 0) { + uVar4 = FUN_14003d4e0((longlong)param_1,*(longlong *)(param_1 + 0x20)); + if (*(LPVOID *)(param_1 + 8) != (LPVOID)0x0) { + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + } + lVar6 = 0; + *(uint *)(param_1 + 0x28) = uVar4; + fVar10 = (float)uVar4 * *(float *)(param_1 + 0x34); + if ((9.223372e+18 < fVar10) && (fVar10 = fVar10 - 9.223372e+18, fVar10 < 9.223372e+18)) { + lVar6 = -0x8000000000000000; + } + fVar9 = (float)uVar4 * *(float *)(param_1 + 0x30); + lVar7 = 0; + *(longlong *)(param_1 + 0x38) = (longlong)fVar10 + lVar6; + if ((9.223372e+18 < fVar9) && (fVar9 = fVar9 - 9.223372e+18, fVar9 < 9.223372e+18)) { + lVar7 = -0x8000000000000000; + } + uVar5 = (longlong)fVar9 + lVar7; + if ((ulonglong)((longlong)fVar9 + lVar7) < 0x11) { + uVar5 = 0; + } + *(ulonglong *)(param_1 + 0x40) = uVar5; + } + FUN_14003d560(param_1); + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140059c90.c b/decomp/Agent_Release_x64/full/functions/0x140059c90.c new file mode 100644 index 00000000..0f3e8ecb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140059c90.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140059c90 FUN_140059c90 + * Pseudocode, not original source. */ + +void FUN_140059c90(longlong *param_1,LPVOID param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + + FUN_140056f10((longlong)param_2 + 0x40,param_2,param_3,param_4); + FUN_140095270((longlong *)((longlong)param_2 + 0x20)); + if (*(longlong *)((longlong)param_2 + 0x28) != 0) { + if (*(int *)((longlong)param_2 + 0x34) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)((longlong)param_2 + 0x30) = 0; + } + plVar1 = (longlong *)*param_1; + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(param_2); + } + else { + (**(code **)(*plVar1 + 0x10))(plVar1,param_2); + } + param_1[3] = param_1[3] + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140059d00.c b/decomp/Agent_Release_x64/full/functions/0x140059d00.c new file mode 100644 index 00000000..e7eaa535 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140059d00.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140059d00 FUN_140059d00 + * Pseudocode, not original source. */ + +uint * FUN_140059d00(char *param_1,uint *param_2) + +{ + uint uVar1; + uint *puVar2; + ulonglong uVar3; + undefined4 *puVar4; + uint uVar5; + + uVar1 = *param_2; + uVar3 = (ulonglong)uVar1 % (ulonglong)*(uint *)(param_1 + 0x28); + uVar5 = (uint)uVar3; + if (*(longlong *)(param_1 + 8) != 0) { + for (puVar2 = *(uint **)(*(longlong *)(param_1 + 8) + uVar3 * 8); + (puVar2 != (uint *)0x0 && (uVar5 == puVar2[8] % *(uint *)(param_1 + 0x28))); + puVar2 = *(uint **)(puVar2 + 4)) { + if (*puVar2 == uVar1) { + return puVar2 + 2; + } + } + } + puVar4 = FUN_140059a80(param_1,param_2,uVar5,uVar1); + return puVar4 + 2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140059d70.c b/decomp/Agent_Release_x64/full/functions/0x140059d70.c new file mode 100644 index 00000000..462279dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140059d70.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140059d70 FUN_140059d70 + * Pseudocode, not original source. */ + +undefined4 * FUN_140059d70(char *param_1,undefined4 *param_2,uint param_3,undefined4 param_4) + +{ + longlong *plVar1; + longlong lVar2; + uint uVar3; + undefined4 *puVar4; + + plVar1 = *(longlong **)(param_1 + 0x50); + if (plVar1 == (longlong *)0x0) { + puVar4 = (undefined4 *)FUN_140030280(0x28); + } + else { + puVar4 = (undefined4 *) + (**(code **)(*plVar1 + 8))(plVar1,0x28,param_3,param_4,0xfffffffffffffffe); + } + if (puVar4 != (undefined4 *)0x0) { + *puVar4 = *param_2; + *(undefined8 *)(puVar4 + 2) = 0; + puVar4[8] = param_4; + } + lVar2 = *(longlong *)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8); + FUN_14003d560(param_1); + if (*(longlong *)(param_1 + 0x20) == 0) { + *(undefined4 **)(param_1 + 0x10) = puVar4; + *(undefined4 **)(param_1 + 0x18) = puVar4; + *(undefined8 *)(puVar4 + 6) = 0; + *(undefined8 *)(puVar4 + 4) = 0; + } + else { + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if (lVar2 == 0) { + lVar2 = *(longlong *)(param_1 + 0x10); + *(undefined8 *)(puVar4 + 6) = 0; + *(longlong *)(puVar4 + 4) = lVar2; + if (lVar2 != 0) { + *(undefined4 **)(lVar2 + 0x18) = puVar4; + } + *(undefined4 **)(param_1 + 0x10) = puVar4; + } + else { + if (*(longlong *)(lVar2 + 0x18) == 0) { + *(undefined4 **)(param_1 + 0x10) = puVar4; + } + else { + *(undefined4 **)(*(longlong *)(lVar2 + 0x18) + 0x10) = puVar4; + } + *(undefined8 *)(puVar4 + 6) = *(undefined8 *)(lVar2 + 0x18); + *(longlong *)(puVar4 + 4) = lVar2; + *(undefined4 **)(lVar2 + 0x18) = puVar4; + } + } + *(undefined4 **)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8) = puVar4; + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if ((*(ulonglong *)(param_1 + 0x38) < *(ulonglong *)(param_1 + 0x20)) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar3 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14003f960(param_1,uVar3); + } + FUN_14003d560(param_1); + return puVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140059ec0.c b/decomp/Agent_Release_x64/full/functions/0x140059ec0.c new file mode 100644 index 00000000..10ec64ef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140059ec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140059ec0 FUN_140059ec0 + * Pseudocode, not original source. */ + +void FUN_140059ec0(char *param_1,LPVOID param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140059b00(param_1,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140059ee0.c b/decomp/Agent_Release_x64/full/functions/0x140059ee0.c new file mode 100644 index 00000000..c2d5d049 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140059ee0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140059ee0 FUN_140059ee0 + * Pseudocode, not original source. */ + +undefined4 * FUN_140059ee0(longlong *param_1,undefined4 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + + plVar1 = (longlong *)param_1[1]; + if (plVar1 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + *param_2 = (int)plVar1[2]; + FUN_140080700(param_2 + 2,(undefined4 *)(plVar1 + 3)); + FUN_1400589c0(param_2 + 0xc,(undefined4 *)(plVar1 + 8),param_3,param_4); + lVar2 = *plVar1; + param_1[1] = lVar2; + if (lVar2 == 0) { + param_1[2] = 0; + } + else { + *(undefined8 *)(lVar2 + 8) = 0; + } + FUN_140059c90(param_1,plVar1,param_3,param_4); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140059f90.c b/decomp/Agent_Release_x64/full/functions/0x140059f90.c new file mode 100644 index 00000000..406aff9e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140059f90.c @@ -0,0 +1,126 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140059f90 FUN_140059f90 + * Pseudocode, not original source. */ + +void FUN_140059f90(char *param_1,LPVOID param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + LPVOID pvVar2; + int *piVar3; + undefined4 *puVar4; + LPVOID pvVar5; + bool bVar6; + uint uVar7; + ulonglong uVar8; + longlong lVar9; + LPVOID pvVar10; + float fVar11; + + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + 1; + FUN_14003d560(param_1); + pvVar10 = *(LPVOID *)(param_1 + 0x10); + while (pvVar10 != (LPVOID)0x0) { + pvVar2 = *(LPVOID *)((longlong)pvVar10 + 0x10); + piVar3 = *(int **)((longlong)pvVar10 + 8); + if (piVar3 != (int *)0x0) { + FUN_14002e6e0(piVar3); + bVar6 = true; + plVar1 = (longlong *)(*(longlong *)((longlong)pvVar10 + 8) + 0x40); + *plVar1 = *plVar1 + -1; + if (*(longlong *)(*(longlong *)((longlong)pvVar10 + 8) + 0x40) == 0) { + FUN_14002e770((longlong)piVar3); + bVar6 = false; + puVar4 = *(undefined4 **)((longlong)pvVar10 + 8); + pvVar5 = *(LPVOID *)(puVar4 + 0xe); + if (pvVar5 != (LPVOID)0x0) { + FUN_140043b40((char *)((longlong)pvVar5 + 8)); + FUN_1400302f0(pvVar5); + } + FUN_14002e7a0(puVar4,param_2,param_3,param_4); + FUN_1400302f0(puVar4); + } + if (bVar6) { + FUN_14002e770((longlong)piVar3); + } + } + if (*(longlong **)(param_1 + 0x50) == (longlong *)0x0) { + FUN_1400302f0(pvVar10); + } + else { + (**(code **)(**(longlong **)(param_1 + 0x50) + 0x18))(); + param_2 = pvVar10; + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + pvVar10 = pvVar2; + } + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + param_1[0x20] = '\0'; + param_1[0x21] = '\0'; + param_1[0x22] = '\0'; + param_1[0x23] = '\0'; + param_1[0x24] = '\0'; + param_1[0x25] = '\0'; + param_1[0x26] = '\0'; + param_1[0x27] = '\0'; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + FUN_14003d560(param_1); + if (*(int *)(param_1 + 0x48) == 0) { + uVar7 = FUN_14003d4e0((longlong)param_1,*(longlong *)(param_1 + 0x20)); + if (*(LPVOID *)(param_1 + 8) != (LPVOID)0x0) { + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + } + *(uint *)(param_1 + 0x28) = uVar7; + fVar11 = (float)uVar7 * *(float *)(param_1 + 0x34); + lVar9 = 0; + if ((9.223372e+18 < fVar11) && (fVar11 = fVar11 - 9.223372e+18, fVar11 < 9.223372e+18)) { + lVar9 = -0x8000000000000000; + } + *(longlong *)(param_1 + 0x38) = (longlong)fVar11 + lVar9; + fVar11 = (float)uVar7 * *(float *)(param_1 + 0x30); + lVar9 = 0; + if ((9.223372e+18 < fVar11) && (fVar11 = fVar11 - 9.223372e+18, fVar11 < 9.223372e+18)) { + lVar9 = -0x8000000000000000; + } + uVar8 = (longlong)fVar11 + lVar9; + if ((ulonglong)((longlong)fVar11 + lVar9) < 0x11) { + uVar8 = 0; + } + *(ulonglong *)(param_1 + 0x40) = uVar8; + } + FUN_14003d560(param_1); + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005a170.c b/decomp/Agent_Release_x64/full/functions/0x14005a170.c new file mode 100644 index 00000000..a141de0f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005a170.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005a170 FUN_14005a170 + * Pseudocode, not original source. */ + +void FUN_14005a170(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = param_1[3]; + while( true ) { + if (lVar1 == 0) { + param_1[1] = 0; + param_1[2] = 0; + return; + } + plVar2 = (longlong *)param_1[1]; + if (plVar2 == (longlong *)0x0) break; + param_1[1] = *plVar2; + FUN_140056f10((longlong)(plVar2 + 8),param_2,param_3,param_4); + FUN_140095270(plVar2 + 4); + if (plVar2[5] != 0) { + if (*(int *)((longlong)plVar2 + 0x34) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(plVar2 + 6) = 0; + } + if ((longlong *)*param_1 == (longlong *)0x0) { + FUN_1400302f0(plVar2); + } + else { + (**(code **)(*(longlong *)*param_1 + 0x10))(); + param_2 = plVar2; + } + param_1[3] = param_1[3] + -1; + lVar1 = param_1[3]; + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005a220.c b/decomp/Agent_Release_x64/full/functions/0x14005a220.c new file mode 100644 index 00000000..6912958d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005a220.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005a220 FUN_14005a220 + * Pseudocode, not original source. */ + +undefined8 * FUN_14005a220(longlong *param_1,undefined4 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong *plVar1; + undefined8 *puVar2; + SIZE_T SVar3; + undefined8 uVar4; + + plVar1 = (longlong *)*param_1; + SVar3 = param_3; + uVar4 = param_4; + if (plVar1 == (longlong *)0x0) { + puVar2 = (undefined8 *)FUN_140030280(0x128); + } + else { + puVar2 = (undefined8 *) + (**(code **)(*plVar1 + 8))(plVar1,0x128,param_3,param_4,0xfffffffffffffffe); + } + if (puVar2 != (undefined8 *)0x0) { + *(undefined4 *)(puVar2 + 2) = *param_2; + FUN_140080700((undefined4 *)(puVar2 + 3),param_2 + 2); + FUN_1400589c0((undefined4 *)(puVar2 + 8),param_2 + 0xc,SVar3,uVar4); + } + puVar2[1] = param_3; + *puVar2 = param_4; + param_1[3] = param_1[3] + 1; + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005a2d0.c b/decomp/Agent_Release_x64/full/functions/0x14005a2d0.c new file mode 100644 index 00000000..97fd636c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005a2d0.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005a2d0 FUN_14005a2d0 + * Pseudocode, not original source. */ + +undefined4 * FUN_14005a2d0(char *param_1,undefined4 *param_2,uint param_3,undefined4 param_4) + +{ + undefined8 uVar1; + undefined4 *puVar2; + + if (*(longlong *)(param_1 + 8) == 0) { + uVar1 = FUN_14003f710((longlong)param_1,*(uint *)(param_1 + 0x28),'\x01'); + if ((char)uVar1 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + FUN_14003d560(param_1); + puVar2 = FUN_140059d70(param_1,param_2,param_3,param_4); + FUN_14003d560(param_1); + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005a350.c b/decomp/Agent_Release_x64/full/functions/0x14005a350.c new file mode 100644 index 00000000..e2344eba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005a350.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005a350 FUN_14005a350 + * Pseudocode, not original source. */ + +void FUN_14005a350(undefined8 *param_1,LPVOID param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = Proud::CP2PGroupMemberBase_S::vftable; + FUN_140059ec0((char *)(param_1 + 1),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005a370.c b/decomp/Agent_Release_x64/full/functions/0x14005a370.c new file mode 100644 index 00000000..14443736 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005a370.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005a370 FUN_14005a370 + * Pseudocode, not original source. */ + +undefined8 * FUN_14005a370(undefined8 *param_1,LPVOID param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = Proud::CP2PGroupMemberBase_S::vftable; + FUN_140059ec0((char *)(param_1 + 1),param_2,param_3,param_4); + if (((ulonglong)param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005a3b0.c b/decomp/Agent_Release_x64/full/functions/0x14005a3b0.c new file mode 100644 index 00000000..3b2fefe1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005a3b0.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005a3b0 FUN_14005a3b0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014005a416) */ +/* WARNING: Removing unreachable block (ram,0x00014005a41f) */ +/* WARNING: Removing unreachable block (ram,0x00014005a43d) */ +/* WARNING: Removing unreachable block (ram,0x00014005a446) */ + +undefined8 * FUN_14005a3b0(undefined8 *param_1) + +{ + *param_1 = Proud::CP2PGroupMemberBase_S::vftable; + *(undefined1 *)(param_1 + 1) = 0; + param_1[0xb] = 0; + param_1[2] = 0; + param_1[3] = 0; + param_1[4] = 0; + *(undefined4 *)(param_1 + 6) = 0x11; + param_1[5] = 0; + *(undefined4 *)(param_1 + 10) = 0; + *(undefined4 *)((longlong)param_1 + 0x34) = 0x3f400000; + *(undefined4 *)(param_1 + 7) = 0x3e800000; + *(undefined4 *)((longlong)param_1 + 0x3c) = 0x40100000; + param_1[8] = 0x26; + param_1[9] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005a470.c b/decomp/Agent_Release_x64/full/functions/0x14005a470.c new file mode 100644 index 00000000..b57cee5a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005a470.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005a470 FUN_14005a470 + * Pseudocode, not original source. */ + +ulonglong FUN_14005a470(longlong param_1,int *param_2,SIZE_T param_3,undefined8 param_4) + +{ + ulonglong in_RAX; + ulonglong uVar1; + int *piVar2; + undefined8 uVar3; + undefined4 local_120 [4]; + longlong local_110; + longlong local_108; + int local_fc; + undefined1 local_f0 [232]; + + if (*(longlong *)(param_1 + 0x3f8) == 0) { + uVar1 = in_RAX & 0xffffffffffffff00; + } + else { + piVar2 = FUN_140059ee0((longlong *)(param_1 + 0x3e0),local_120,param_3,param_4); + uVar3 = 1; + FUN_1400a1e10(param_2,piVar2,1,param_4); + FUN_140056f10((longlong)local_f0,piVar2,uVar3,param_4); + uVar3 = FUN_140095270(&local_110); + if ((local_108 != 0) && (local_fc < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar1 = CONCAT71((int7)((ulonglong)uVar3 >> 8),1); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005a500.c b/decomp/Agent_Release_x64/full/functions/0x14005a500.c new file mode 100644 index 00000000..2744c92c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005a500.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005a500 FUN_14005a500 + * Pseudocode, not original source. */ + +void FUN_14005a500(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + + FUN_14005a170(param_1,param_2,param_3,param_4); + puVar1 = (undefined8 *)*param_1; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005a530.c b/decomp/Agent_Release_x64/full/functions/0x14005a530.c new file mode 100644 index 00000000..fda9fa39 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005a530.c @@ -0,0 +1,648 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005a530 FUN_14005a530 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 +FUN_14005a530(longlong *param_1,ulonglong **param_2,ulonglong *param_3,undefined8 param_4, + undefined4 param_5) + +{ + longlong lVar1; + longlong *_Memory; + double dVar2; + undefined1 **ppuVar3; + code *pcVar4; + char *pcVar5; + undefined1 *puVar6; + ulonglong **ppuVar7; + void *pvVar8; + int iVar9; + ulonglong uVar10; + longlong *plVar11; + ulonglong uVar12; + undefined4 *puVar13; + undefined8 *puVar14; + undefined8 *puVar15; + ulonglong *puVar16; + uint *puVar17; + uint *puVar18; + int *piVar19; + longlong *extraout_RAX; + longlong *extraout_RAX_00; + longlong *extraout_RAX_01; + longlong lVar20; + undefined1 **ppuVar21; + uint uVar22; + undefined1 *puVar23; + undefined1 *puVar24; + longlong lVar25; + int iVar26; + int iVar27; + ulonglong **ppuVar28; + SIZE_T SVar29; + ulonglong **ppuVar30; + uint uVar31; + int iVar32; + undefined4 uVar33; + undefined4 uVar34; + undefined1 auStack_2aa8 [32]; + int local_2a88 [2]; + undefined8 *local_2a80; + int local_2a78 [2]; + ulonglong local_2a70; + ulonglong *local_2a68; + uint local_2a60; + int local_2a5c; + ulonglong **local_2a50; + ulonglong *local_2a48; + uint uStack_2a40; + undefined4 uStack_2a3c; + longlong *local_2a38; + ulonglong *local_2a30; + ulonglong local_2a28; + undefined1 local_2a20; + int local_2a1c; + undefined1 local_2a18; + undefined1 local_2a17; + uint local_2a10; + int *local_2a08; + undefined1 local_2a00; + int *local_29f8; + undefined1 local_29f0; + int *local_29e8; + undefined1 local_29e0; + undefined8 local_29d8; + exception local_29d0 [72]; + void *local_2988; + longlong local_2980; + ulonglong local_2978; + longlong local_2970; + uint local_2968 [4]; + undefined1 local_2958 [384]; + ulonglong *local_27d8; + undefined8 local_27d0; + ulonglong local_27c8; + undefined8 local_27c0; + undefined1 *local_2628; + longlong local_2620; + ulonglong local_2618; + undefined8 local_2610; + undefined1 local_2608 [3200]; + ulonglong *local_1988 [400]; + ulonglong **local_d08; + undefined4 local_d00; + int local_cfc; + ulonglong *local_cf8; + undefined8 uStack_cf0; + ulonglong **local_78; + undefined4 local_70; + int local_6c; + ulonglong local_68; + undefined8 uStack_48; + + uStack_48 = 0x14005a547; + puVar24 = auStack_2aa8; + local_29d8 = 0xfffffffffffffffe; + local_68 = DAT_1401555a0 ^ (ulonglong)local_2a88; + local_2a50 = param_2; + local_2a48 = param_3; + local_2a08 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(local_2a08); + local_2a00 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(*param_1 + 200))(param_1,L"Proud::CNetServerImpl::Send_BroadcastLayer"); + } + uVar31 = 0; + uVar22 = 0; + if (0 < (int)*(uint *)((longlong)param_3 + 4)) { + uVar22 = *(uint *)((longlong)param_3 + 4); + } + dVar2 = (double)param_3[1]; + uVar33 = SUB84(dVar2,0); + uVar34 = (int)((ulonglong)dVar2 >> 0x20); + if (dVar2 <= 0.0) { + uVar33 = 0; + uVar34 = 0; + } + local_27d8 = (ulonglong *)0x0; + local_27c0 = 0; + local_27d0 = 0; + local_27c8 = 100; + ppuVar30 = &local_27d8; + (**(code **)(*param_1 + 0x50))(param_1,param_5,param_4); + local_2628 = (undefined1 *)0x0; + local_2610 = 0; + local_2620 = 0; + local_2618 = 100; + ppuVar28 = &local_27d8; + ppuVar21 = &local_2628; + FUN_140042e50((longlong)param_1,(longlong *)ppuVar21,(longlong *)ppuVar28); + iVar9 = (int)local_2620; + lVar25 = (longlong)iVar9 * 8; + uVar12 = lVar25 + 0x10; + if (uVar12 < 0x401) { + uVar10 = lVar25 + 0x1f; + if (uVar10 <= uVar12) { + uVar10 = 0xffffffffffffff0; + } + lVar25 = -(uVar10 & 0xfffffffffffffff0); + puVar24 = auStack_2aa8 + lVar25; + local_2a80 = (undefined8 *)((longlong)local_2a88 + lVar25); + if (local_2a80 != (undefined8 *)0x0) { + *(undefined4 *)local_2a80 = 0xcccc; + puVar24 = auStack_2aa8 + lVar25; +LAB_14005a6b8: + local_2a80 = local_2a80 + 2; + } + } + else { + local_2a80 = malloc(uVar12); + if (local_2a80 != (undefined8 *)0x0) { + *(undefined4 *)local_2a80 = 0xdddd; + puVar24 = auStack_2aa8; + goto LAB_14005a6b8; + } + } + lVar25 = (longlong)iVar9 * 8; + uVar12 = lVar25 + 0x10; + if (uVar12 < 0x401) { + uVar10 = lVar25 + 0x1f; + if (uVar10 <= uVar12) { + uVar10 = 0xffffffffffffff0; + } + *(undefined8 *)(puVar24 + -8) = 0x14005a6e6; + lVar25 = -(uVar10 & 0xfffffffffffffff0); + puVar23 = puVar24 + lVar25; + plVar11 = (longlong *)(puVar24 + lVar25 + 0x20); + puVar24 = puVar24 + lVar25; + local_2a38 = plVar11; + if (plVar11 == (longlong *)0x0) goto LAB_14005a71f; + *(undefined4 *)plVar11 = 0xcccc; + puVar24 = puVar23; + } + else { + *(undefined8 *)(puVar24 + -8) = 0x14005a705; + plVar11 = malloc(uVar12); + local_2a38 = plVar11; + if (plVar11 == (longlong *)0x0) goto LAB_14005a71f; + *(undefined4 *)plVar11 = 0xdddd; + } + local_2a38 = plVar11 + 2; +LAB_14005a71f: + plVar11 = local_2a38; + local_2a10 = 0; + iVar26 = 0; + local_2a88[0] = 0; + if ((int)*param_3 == 1) { + puVar15 = local_2a80; + if (iVar9 < 1) { + iVar27 = 0; + uVar31 = 0; + } + else { + do { + if ((iVar26 < 0) || (local_2620 <= iVar26)) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar24 + -8) = &UNK_14005a8c9; + FUN_14002f590(); + } + puVar6 = local_2628; + if (local_2618 < 0x65) { + puVar6 = local_2608; + } + plVar11 = *(longlong **)(puVar6 + (longlong)iVar26 * 0x20 + 8); + if ((plVar11 == param_1 + 0xe) && (*(char *)((longlong)param_3 + 0x2d) != '\0')) { + *(undefined8 *)(puVar24 + -8) = 0x14005a79e; + FUN_1400806d0(local_2a78); + ppuVar7 = local_2a50; + piVar19 = local_2a78; + *(undefined8 *)(puVar24 + -8) = 0x14005a7ac; + FUN_1400a2150((longlong)ppuVar7,piVar19,(SIZE_T)ppuVar28,ppuVar30); + *(undefined8 *)(puVar24 + -8) = 0x14005a7b5; + uVar12 = FUN_1400a1c10((longlong)local_2a78,piVar19,ppuVar28,ppuVar30); + *(undefined8 *)(puVar24 + -8) = 0x14005a7cb; + puVar13 = FUN_140056fa0((undefined4 *)&local_2988,local_2a78,uVar12 & 0xffffffff, + CONCAT71((int7)((ulonglong)ppuVar30 >> 8),1)); + ppuVar30 = (ulonglong **)0x0; + ppuVar28 = (ulonglong **)param_1[0x8d]; + *(undefined8 *)(puVar24 + -8) = 0x14005a7e7; + puVar14 = FUN_14005a220(param_1 + 0x8b,puVar13,(SIZE_T)ppuVar28,0); + if ((undefined8 *)param_1[0x8d] == (undefined8 *)0x0) { + param_1[0x8c] = (longlong)puVar14; + } + else { + *(undefined8 *)param_1[0x8d] = puVar14; + } + param_1[0x8d] = (longlong)puVar14; + *(undefined8 *)(puVar24 + -8) = 0x14005a815; + FUN_140056f10((longlong)local_2958,puVar13,ppuVar28,ppuVar30); + local_2a48 = &local_2978; + *(undefined8 *)(puVar24 + -8) = 0x14005a82d; + FUN_140095270((longlong *)&local_2978); + if ((local_2970 != 0) && ((int)local_2968[1] < 0)) { + /* WARNING: Subroutine does not return */ + *(undefined8 *)(puVar24 + -8) = 0x14005a8b5; + FUN_14002f590(); + } + ppuVar21 = (undefined1 **)(param_1 + 0xf); + lVar25 = param_1[0x7c]; + *(undefined8 *)(puVar24 + -8) = 0x14005a85a; + FUN_1400a25d0(lVar25 + 0x160,(longlong)ppuVar21,ppuVar28,ppuVar30); + local_2a48 = &local_2a70; + *(undefined8 *)(puVar24 + -8) = 0x14005a86c; + FUN_140095270((longlong *)&local_2a70); + if ((local_2a68 != (ulonglong *)0x0) && (local_2a5c < 0)) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar24 + -8) = &UNK_14005a8bb; + FUN_14002f590(); + } + } + else if (plVar11 != (longlong *)0x0) { + *(undefined8 *)(puVar24 + -8) = 0x14005a889; + puVar14 = FUN_1400a2560(plVar11); + if (puVar14 != (undefined8 *)0x0) { + *(undefined8 *)(puVar24 + -8) = 0x14005a89a; + FUN_14009c460((longlong)(plVar11 + 0x18)); + *puVar15 = plVar11; + uVar31 = uVar31 + 1; + puVar15 = puVar15 + 1; + } + } + iVar26 = iVar26 + 1; + iVar27 = local_2a88[0]; + } while (iVar26 < iVar9); + } + } + else { + ppuVar28 = (ulonglong **)(ulonglong)uVar22; + ppuVar21 = &local_2628; + *(undefined8 *)(puVar24 + -8) = 0x14005a8e0; + FUN_1400518f0(param_1,(longlong *)ppuVar21,ppuVar28,(double)CONCAT44(uVar34,uVar33)); + iVar9 = 0; + iVar32 = (int)local_2620; + param_3 = local_2a48; + iVar27 = iVar26; + if (0 < iVar32) { + do { + lVar25 = (longlong)iVar9; + if ((iVar9 < 0) || (local_2620 <= lVar25)) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar24 + -8) = &UNK_14005aadc; + FUN_14002f590(); + } + puVar6 = local_2628; + if (local_2618 < 0x65) { + puVar6 = local_2608; + } + ppuVar3 = *(undefined1 ***)(puVar6 + lVar25 * 0x20 + 8); + if ((ppuVar3 == (undefined1 **)(param_1 + 0xe)) && + (*(char *)((longlong)local_2a48 + 0x2d) != '\0')) { + *(undefined8 *)(puVar24 + -8) = 0x14005a968; + FUN_1400806d0(local_2a78); + ppuVar7 = local_2a50; + piVar19 = local_2a78; + *(undefined8 *)(puVar24 + -8) = 0x14005a976; + FUN_1400a2150((longlong)ppuVar7,piVar19,(SIZE_T)ppuVar28,ppuVar30); + *(undefined8 *)(puVar24 + -8) = 0x14005a97f; + uVar12 = FUN_1400a1c10((longlong)local_2a78,piVar19,ppuVar28,ppuVar30); + *(undefined8 *)(puVar24 + -8) = 0x14005a995; + puVar13 = FUN_140056fa0((undefined4 *)&local_2988,local_2a78,uVar12 & 0xffffffff, + CONCAT71((int7)((ulonglong)ppuVar30 >> 8),1)); + ppuVar30 = (ulonglong **)0x0; + ppuVar28 = (ulonglong **)param_1[0x8d]; + *(undefined8 *)(puVar24 + -8) = 0x14005a9b1; + puVar15 = FUN_14005a220(param_1 + 0x8b,puVar13,(SIZE_T)ppuVar28,0); + if ((undefined8 *)param_1[0x8d] == (undefined8 *)0x0) { + param_1[0x8c] = (longlong)puVar15; + } + else { + *(undefined8 *)param_1[0x8d] = puVar15; + } + param_1[0x8d] = (longlong)puVar15; + *(undefined8 *)(puVar24 + -8) = 0x14005a9df; + FUN_140056f10((longlong)local_2958,puVar13,ppuVar28,ppuVar30); + local_2a30 = &local_2978; + *(undefined8 *)(puVar24 + -8) = 0x14005a9f7; + FUN_140095270((longlong *)&local_2978); + if ((local_2970 != 0) && ((int)local_2968[1] < 0)) { + /* WARNING: Subroutine does not return */ + *(undefined8 *)(puVar24 + -8) = 0x14005aac4; + FUN_14002f590(); + } + ppuVar21 = (undefined1 **)(param_1 + 0xf); + lVar25 = param_1[0x7c]; + *(undefined8 *)(puVar24 + -8) = 0x14005aa28; + FUN_1400a25d0(lVar25 + 0x160,(longlong)ppuVar21,ppuVar28,ppuVar30); + local_2a30 = &local_2a70; + *(undefined8 *)(puVar24 + -8) = 0x14005aa3a; + FUN_140095270((longlong *)&local_2a70); + if ((local_2a68 != (ulonglong *)0x0) && (local_2a5c < 0)) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar24 + -8) = &UNK_14005aaca; + FUN_14002f590(); + } + } + else if (ppuVar3 != (undefined1 **)0x0) { + *(undefined8 *)(puVar24 + -8) = 0x14005aa5b; + puVar15 = FUN_1400a2560(ppuVar3); + if (puVar15 != (undefined8 *)0x0) { + *(undefined8 *)(puVar24 + -8) = 0x14005aa6b; + ppuVar21 = ppuVar3; + FUN_140054c90(param_1,(longlong *)ppuVar3,(longlong **)ppuVar28,(uint **)ppuVar30); + *(undefined8 *)(puVar24 + -8) = 0x14005aa77; + FUN_14009c460((longlong)(ppuVar3 + 0x18)); + if (local_2620 <= lVar25) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar24 + -8) = &UNK_14005aad0; + FUN_14002f590(); + } + puVar6 = local_2628; + if (local_2618 < 0x65) { + puVar6 = local_2608; + } + *plVar11 = (longlong)(puVar6 + lVar25 * 0x20); + local_2a88[0] = local_2a88[0] + 1; + plVar11 = plVar11 + 1; + } + } + iVar9 = iVar9 + 1; + param_3 = local_2a48; + iVar27 = local_2a88[0]; + uVar31 = local_2a10; + } while (iVar9 < iVar32); + } + } + piVar19 = local_2a08; + lVar25 = 0; + *(undefined8 *)(puVar24 + -8) = 0x14005aaf3; + FUN_14002e770((longlong)piVar19); + local_2a00 = 0; + if ((int)*param_3 == 1) { + if (0 < (int)uVar31) { + do { + lVar20 = local_2a80[lVar25]; + pcVar4 = *(code **)(*(longlong *)(lVar20 + 0x108) + 0x10); + *(undefined8 *)(puVar24 + -8) = 0x14005ab25; + puVar16 = (ulonglong *)(*pcVar4)(); + local_2a48 = puVar16; + *(undefined8 *)(puVar24 + -8) = 0x14005ab34; + FUN_14002e6e0((int *)puVar16); + ppuVar28 = local_2a50; + uStack_2a40._0_1_ = 1; + local_2a30 = (ulonglong *)0x0; + local_2a28 = CONCAT71(local_2a28._1_7_,1); + pcVar5 = *(char **)(lVar20 + 0x748); + *(undefined8 *)(puVar24 + -8) = 0x14005ab58; + FUN_14009c2b0(pcVar5,(longlong)ppuVar28,(SIZE_T *)&local_2a30,ppuVar30); + *(undefined8 *)(puVar24 + -8) = 0x14005ab60; + FUN_14002e770((longlong)puVar16); + uStack_2a40 = (uint)uStack_2a40._1_3_ << 8; + *(undefined8 *)(puVar24 + -8) = 0x14005ab70; + FUN_14009c470(lVar20 + 0xc0); + lVar25 = lVar25 + 1; + } while (lVar25 < (int)uVar31); + } + } + else if (0 < iVar27) { + do { + puVar18 = (uint *)local_2a38[lVar25]; + plVar11 = *(longlong **)(puVar18 + 2); + if (*(longlong *)(puVar18 + 4) == 0) { + if (*(longlong *)(puVar18 + 6) == 0) { + pcVar4 = *(code **)(plVar11[0x21] + 0x10); + *(undefined8 *)(puVar24 + -8) = 0x14005aeb1; + piVar19 = (int *)(*pcVar4)(); + local_29f8 = piVar19; + *(undefined8 *)(puVar24 + -8) = 0x14005aec3; + FUN_14002e6e0(piVar19); + local_29f0 = 1; + local_2a30 = (ulonglong *)CONCAT44(local_2a30._4_4_,(int)param_3[4]); + local_2a28 = param_3[3]; + local_2a20 = *(undefined1 *)((longlong)param_3 + 0x2d); + local_2a1c = (int)param_3[6]; + local_2a18 = *(undefined1 *)((longlong)param_3 + 0x41); + local_2a17 = (undefined1)param_3[8]; + pcVar4 = *(code **)(*plVar11 + 0x10); + *(undefined8 *)(puVar24 + -8) = 0x14005af02; + uVar22 = (*pcVar4)(plVar11); + ppuVar28 = local_2a50; + ppuVar21 = (undefined1 **)(ulonglong)uVar22; + ppuVar30 = &local_2a30; + *(undefined8 *)(puVar24 + -8) = 0x14005af18; + FUN_14009dae0((char *)(plVar11 + 0xe0),uVar22,(longlong)ppuVar28,(uint *)ppuVar30); + *(undefined8 *)(puVar24 + -8) = 0x14005af20; + FUN_14002e770((longlong)piVar19); + local_29f0 = 0; + } + else { + *(undefined8 *)(puVar24 + -8) = 0x14005abbb; + FUN_1400806d0(local_2a78); + *(undefined8 *)(puVar24 + -8) = 0x14005abc5; + FUN_1400801a0((longlong)local_2a78,ppuVar21,(SIZE_T)ppuVar28,ppuVar30); + *(undefined8 *)(puVar24 + -8) = 0x14005abd0; + FUN_14001ba80((longlong)local_2a78,CONCAT71((int7)((ulonglong)ppuVar21 >> 8),0x22), + (SIZE_T)ppuVar28,ppuVar30); + uVar12 = param_3[4]; + *(undefined8 *)(puVar24 + -8) = 0x14005abde; + FUN_14001ba80((longlong)local_2a78,(ulonglong)(byte)uVar12,(SIZE_T)ppuVar28,ppuVar30); + uVar12 = param_3[3]; + *(undefined8 *)(puVar24 + -8) = 0x14005abeb; + FUN_140081aa0((longlong)local_2a78,uVar12,(SIZE_T)ppuVar28,ppuVar30); + local_2988 = (void *)0x0; + local_2970 = 0; + local_2980 = 0; + local_2978 = 100; + do { + lVar20 = local_2980; + uVar22 = *puVar18; + if (local_2980 < 0) { + /* WARNING: Subroutine does not return */ + *(undefined8 *)(puVar24 + -8) = 0x14005afc1; + FUN_14002f590(); + } + lVar1 = local_2980 + 1; + SVar29 = 0xffffffffffffffff; + *(undefined8 *)(puVar24 + -8) = 0x14005ac2f; + FUN_14003f250(&local_2988,lVar1,-1); + if (local_2980 <= lVar20) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar24 + -8) = &UNK_14005afbb; + FUN_14002f590(); + } + if (local_2978 < 0x65) { + puVar17 = local_2968 + lVar20; + } + else { + puVar17 = (uint *)((longlong)local_2988 + lVar20 * 4); + } + *puVar17 = uVar22; + puVar18 = *(uint **)(puVar18 + 6); + } while (puVar18 != (uint *)0x0); + uVar12 = (ulonglong)(int)local_2980; + *(undefined8 *)(puVar24 + -8) = 0x14005ac7f; + FUN_140081aa0((longlong)local_2a78,uVar12,SVar29,ppuVar30); + if (0 < local_2980) { + lVar20 = 0; + puVar16 = (ulonglong *)0x0; + do { + if ((lVar20 < 0) || (local_2980 <= lVar20)) { + /* WARNING: Subroutine does not return */ + *(undefined8 *)(puVar24 + -8) = 0x14005af49; + FUN_14002f590(); + } + if (local_2978 < 0x65) { + puVar18 = local_2968 + lVar20; + } + else { + puVar18 = (uint *)((longlong)local_2988 + lVar20 * 4); + } + uVar12 = (ulonglong)*puVar18; + *(undefined8 *)(puVar24 + -8) = 0x14005accd; + FUN_140021e80((longlong)local_2a78,uVar12,SVar29,ppuVar30); + uVar22 = (int)puVar16 + 1; + puVar16 = (ulonglong *)(ulonglong)uVar22; + lVar20 = (longlong)(int)uVar22; + } while (lVar20 < local_2980); + } + ppuVar28 = local_2a50; + *(undefined8 *)(puVar24 + -8) = 0x14005acea; + iVar9 = FUN_1400a1f10((longlong)ppuVar28,uVar12,SVar29,ppuVar30); + lVar20 = (longlong)iVar9; + *(undefined8 *)(puVar24 + -8) = 0x14005acf6; + FUN_140081aa0((longlong)local_2a78,lVar20,SVar29,ppuVar30); + local_cfc = 200; + local_d00 = 0; + local_d08 = local_1988; + local_6c = 200; + local_70 = 0; + local_78 = &local_cf8; + if (local_2a70 == 0) { + uVar22 = local_2a60; + if (local_2a68 == (ulonglong *)0x0) { + /* WARNING: Subroutine does not return */ + *(undefined8 *)(puVar24 + -8) = 0x14005afb5; + FUN_140095370(0,lVar20,SVar29,ppuVar30); + } + } + else { + uVar22 = *(uint *)(local_2a70 + 0x18); + } + puVar16 = local_2a68; + if (local_2a68 == (ulonglong *)0x0) { + if (local_2a70 == 0) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar24 + -8) = &UNK_14005afaf; + FUN_140095370(0,(ulonglong)uVar22,SVar29,ppuVar30); + } + puVar16 = (ulonglong *)0x0; + if (*(int *)(local_2a70 + 0x18) != 0) { + puVar16 = *(ulonglong **)(local_2a70 + 0x10); + } + } + local_70 = 1; + uStack_cf0 = CONCAT44(uStack_2a3c,uVar22); + local_2a48 = puVar16; + uStack_2a40 = uVar22; + *(undefined8 *)(puVar24 + -8) = 0x14005ad99; + local_cf8 = puVar16; + FUN_140040a60((longlong)local_1988,(longlong)&local_cf8,SVar29,ppuVar30); + if (local_78 == (ulonglong **)0x0) { + *(undefined8 *)(puVar24 + -8) = 0x14005af96; + FUN_14002f1e0(local_29d0,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0, + SVar29,ppuVar30); + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar24 + -8) = &UNK_14005afa9; + _CxxThrowException(local_29d0,(ThrowInfo *)&DAT_140151b88); + } + if (local_6c < 0) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar24 + -8) = &UNK_14005af82; + FUN_14002f590(); + } + *(undefined8 *)(puVar24 + -8) = 0x14005adc4; + FUN_140040a60((longlong)local_1988,(longlong)ppuVar28,SVar29,ppuVar30); + pcVar4 = *(code **)(plVar11[0x21] + 0x10); + *(undefined8 *)(puVar24 + -8) = 0x14005add1; + piVar19 = (int *)(*pcVar4)(); + local_29e8 = piVar19; + *(undefined8 *)(puVar24 + -8) = 0x14005ade3; + FUN_14002e6e0(piVar19); + local_29e0 = 1; + local_2a30 = (ulonglong *)CONCAT44(local_2a30._4_4_,(int)param_3[4]); + local_2a28 = param_3[3]; + local_2a20 = *(undefined1 *)((longlong)param_3 + 0x2d); + local_2a1c = (int)param_3[6]; + local_2a18 = *(undefined1 *)((longlong)param_3 + 0x41); + local_2a17 = (undefined1)param_3[8]; + ppuVar30 = &local_2a30; + ppuVar28 = local_1988; + ppuVar21 = (undefined1 **)0x0; + *(undefined8 *)(puVar24 + -8) = 0x14005ae31; + FUN_14009dae0((char *)(plVar11 + 0xe0),0,(longlong)ppuVar28,(uint *)ppuVar30); + *(undefined8 *)(puVar24 + -8) = 0x14005ae39; + FUN_14002e770((longlong)piVar19); + pvVar8 = local_2988; + local_29e0 = 0; + if (local_d08 == (ulonglong **)0x0) { + *(undefined8 *)(puVar24 + -8) = 0x14005af69; + FUN_14002f1e0(local_29d0,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0, + ppuVar28,ppuVar30); + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar24 + -8) = &UNK_14005af7c; + _CxxThrowException(local_29d0,(ThrowInfo *)&DAT_140151b88); + } + if (local_cfc < 0) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar24 + -8) = &UNK_14005af55; + FUN_14002f590(); + } + local_d00 = 0; + if (100 < local_2978) { + *(undefined8 *)(puVar24 + -8) = 0x14005ae77; + operator_delete__(pvVar8); + } + local_2a30 = &local_2a70; + *(undefined8 *)(puVar24 + -8) = 0x14005ae89; + FUN_140095270((longlong *)&local_2a70); + if ((local_2a68 != (ulonglong *)0x0) && (local_2a5c < 0)) { + /* WARNING: Subroutine does not return */ + *(undefined8 *)(puVar24 + -8) = 0x14005af4f; + FUN_14002f590(); + } + } + } + *(undefined8 *)(puVar24 + -8) = 0x14005af33; + FUN_14009c470((longlong)(plVar11 + 0x18)); + lVar25 = lVar25 + 1; + } while (lVar25 < iVar27); + } + if ((local_2a80 != (undefined8 *)0x0) && (piVar19 = (int *)(local_2a80 + -2), *piVar19 == 0xdddd)) + { + *(undefined8 *)(puVar24 + -8) = 0x14005afdd; + free(piVar19); + } + plVar11 = local_2a38; + if ((local_2a38 != (longlong *)0x0) && (_Memory = local_2a38 + -2, (int)*_Memory == 0xdddd)) { + *(undefined8 *)(puVar24 + -8) = 0x14005aff8; + free(_Memory); + plVar11 = extraout_RAX; + } + puVar6 = local_2628; + if (100 < local_2618) { + *(undefined8 *)(puVar24 + -8) = 0x14005b00f; + operator_delete__(puVar6); + plVar11 = extraout_RAX_00; + } + puVar16 = local_27d8; + if (100 < local_27c8) { + *(undefined8 *)(puVar24 + -8) = 0x14005b026; + operator_delete__(puVar16); + plVar11 = extraout_RAX_01; + } + *(undefined8 *)(puVar24 + -8) = 0x14005b038; + return CONCAT71((int7)((ulonglong)plVar11 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005b060.c b/decomp/Agent_Release_x64/full/functions/0x14005b060.c new file mode 100644 index 00000000..17bdcd6c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005b060.c @@ -0,0 +1,241 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005b060 FUN_14005b060 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014005b272) */ +/* WARNING: Removing unreachable block (ram,0x00014005b27b) */ +/* WARNING: Removing unreachable block (ram,0x00014005b29c) */ +/* WARNING: Removing unreachable block (ram,0x00014005b2a5) */ + +longlong * FUN_14005b060(longlong *param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + ulonglong *puVar1; + ulonglong uVar2; + ulonglong *puVar3; + longlong *plVar4; + ulonglong *puVar5; + ulonglong *puVar6; + undefined1 uVar7; + undefined7 uVar8; + ulonglong *local_res10; + + uVar8 = (undefined7)((ulonglong)param_3 >> 8); + FUN_1400827c0(param_1); + param_1[0xc] = (longlong)Proud::IFastSocketDelegate::vftable; + param_1[0xd] = (longlong)Proud::ICompletionPortEventSink::vftable; + param_1[0xe] = (longlong)Proud::ISendDest_S::vftable; + FUN_1400a2870(param_1 + 0xf); + param_1[0x15] = (longlong)Proud::CNetServer::vftable; + param_1[0x16] = (longlong)Proud::ICompletionContext::vftable; + FUN_14005a3b0(param_1 + 0x17); + *param_1 = (longlong)Proud::CNetServerImpl::vftable; + param_1[0xc] = (longlong)Proud::CNetServerImpl::vftable; + param_1[0xd] = (longlong)Proud::CNetServerImpl::vftable; + param_1[0xe] = (longlong)Proud::CNetServerImpl::vftable; + param_1[0xf] = (longlong)Proud::CNetServerImpl::vftable; + param_1[0x15] = (longlong)Proud::CNetServerImpl::vftable; + param_1[0x16] = (longlong)Proud::CNetServerImpl::vftable; + param_1[0x17] = (longlong)Proud::CNetServerImpl::vftable; + param_1[0x23] = (longlong)Proud::CNetServerImpl::vftable; + param_1[0x24] = (longlong)Proud::CNetServerImpl::vftable; + uVar2 = FUN_14002e790(); + FUN_14002e600((undefined4 *)(param_1 + 0x25),uVar2 & 0xffffffff,CONCAT71(uVar8,1),param_4); + uVar2 = FUN_14002e790(); + uVar2 = uVar2 & 0xffffffff; + plVar4 = param_1 + 0x2c; + uVar7 = 1; + FUN_14002e600((undefined4 *)plVar4,uVar2,CONCAT71(uVar8,1),param_4); + param_1[0x41] = 0; + FUN_140030200(plVar4,uVar2,CONCAT71(uVar8,uVar7),param_4); + param_1[0x42] = (longlong)PTR_DAT_140155008; + FUN_140030200(plVar4,uVar2,CONCAT71(uVar8,uVar7),param_4); + param_1[0x43] = (longlong)PTR_DAT_140155008; + FUN_1400a28f0((undefined4 *)(param_1 + 0x45)); + *(undefined4 *)((longlong)param_1 + 0x26c) = 0; + *(undefined4 *)(param_1 + 0x4e) = 0; + *(undefined4 *)((longlong)param_1 + 0x274) = 0; + *(undefined4 *)(param_1 + 0x4f) = 0; + *(undefined1 *)(param_1 + 0x50) = 0; + param_1[0x5a] = 0; + param_1[0x51] = 0; + param_1[0x52] = 0; + param_1[0x53] = 0; + *(undefined4 *)(param_1 + 0x55) = 0x11; + param_1[0x54] = 0; + *(undefined4 *)(param_1 + 0x59) = 0; + *(undefined4 *)((longlong)param_1 + 0x2ac) = 0x3f400000; + *(undefined4 *)(param_1 + 0x56) = 0x3e800000; + *(undefined4 *)((longlong)param_1 + 0x2b4) = 0x40100000; + param_1[0x57] = 0x26; + param_1[0x58] = 4; + param_1[0x58] = 0; + FUN_140054060((undefined1 *)(param_1 + 0x5b)); + FUN_140096180((undefined1 *)(param_1 + 0x71)); + param_1[0x7c] = 0; + *(undefined4 *)(param_1 + 0x7d) = 0; + *(undefined4 *)((longlong)param_1 + 0x3ec) = 0; + *(undefined4 *)(param_1 + 0x7e) = 0; + *(undefined4 *)((longlong)param_1 + 0x3f4) = 0; + *(undefined1 *)(param_1 + 0x80) = 0; + param_1[0x8a] = 0; + param_1[0x81] = 0; + param_1[0x82] = 0; + param_1[0x83] = 0; + *(undefined4 *)(param_1 + 0x85) = 0x11; + param_1[0x84] = 0; + *(undefined4 *)(param_1 + 0x89) = 0; + *(undefined4 *)((longlong)param_1 + 0x42c) = 0x3f400000; + *(undefined4 *)(param_1 + 0x86) = 0x3e800000; + *(undefined4 *)((longlong)param_1 + 0x434) = 0x40100000; + param_1[0x87] = 0x26; + param_1[0x88] = 4; + param_1[0x88] = 0; + param_1[0x8b] = 0; + param_1[0x8e] = 0; + param_1[0x8c] = 0; + param_1[0x8d] = 0; + param_1[0x8f] = 0; + FUN_140085230(param_1 + 0x90); + param_1[0x90] = (longlong)Proud::CNetServerImpl::C2SStub::vftable; + puVar1 = (ulonglong *)(param_1 + 0x95); + local_res10 = puVar1; + FUN_140081fb0(puVar1); + *puVar1 = (ulonglong)ProudS2C::Proxy::vftable; + if (*(int *)((longlong)param_1 + 0x4bc) != 1) { + FUN_14002fa10((wchar_t *)PTR_u_PIDL_compiler_is_incompatible_to_140156790); + } + *puVar1 = (ulonglong)Proud::CNetServerImpl::Proxy::vftable; + param_1[0xd9] = (longlong)Proud::CFastArray,0>::vftable; + param_1[0xda] = 0; + param_1[0xdb] = 0; + param_1[0xdc] = 0; + param_1[0xdd] = 0; + *(undefined1 *)(param_1 + 0xde) = 0; + param_1[0xe8] = 0; + param_1[0xdf] = 0; + param_1[0xe0] = 0; + param_1[0xe1] = 0; + *(undefined4 *)(param_1 + 0xe3) = 0x11; + param_1[0xe2] = 0; + *(undefined4 *)(param_1 + 0xe7) = 0; + *(undefined4 *)((longlong)param_1 + 0x71c) = 0x3f400000; + *(undefined4 *)(param_1 + 0xe4) = 0x3e800000; + *(undefined4 *)((longlong)param_1 + 0x724) = 0x40100000; + param_1[0xe5] = 0x26; + param_1[0xe6] = 0; + param_1[0xe9] = 0; + puVar5 = (ulonglong *)(param_1 + 0xea); + *puVar5 = 0; + FUN_14003a340((undefined2 *)(param_1 + 0xec)); + param_1[0xf1] = 0; + param_1[0xf2] = 0; + uVar2 = FUN_14002e790(); + FUN_14002e600((undefined4 *)(param_1 + 0xf3),uVar2 & 0xffffffff,CONCAT71(uVar8,1),param_4); + uVar2 = FUN_14002e790(); + uVar2 = uVar2 & 0xffffffff; + uVar7 = 1; + FUN_14002e600((undefined4 *)(param_1 + 0xfa),uVar2,CONCAT71(uVar8,1),param_4); + param_1[0x101] = 0; + param_1[0x102] = 0; + *(undefined4 *)(param_1 + 0x103) = 0; + param_1[0x105] = 0; + param_1[0x106] = 0; + *(undefined4 *)(param_1 + 0x107) = 0; + *(undefined4 *)(param_1 + 0x180) = 0; + param_1[0x183] = 0; + param_1[0x184] = 0; + param_1[0x185] = 0; + param_1[0x186] = 0; + param_1[0x182] = (longlong)Proud::ByteArray::vftable; + *(undefined1 *)(param_1 + 0x187) = 0; + FUN_1400a0e30(param_1 + 0x189); + param_1[0x18b] = 0; + param_1[0x18c] = 0; + param_1[0x18d] = 0; + param_1[0x18e] = 0; + param_1[0x18a] = (longlong)Proud::ByteArray::vftable; + *(undefined1 *)(param_1 + 399) = 0; + param_1[0x199] = 0; + param_1[400] = 0; + param_1[0x191] = 0; + param_1[0x192] = 0; + *(undefined4 *)(param_1 + 0x194) = 0x11; + param_1[0x193] = 0; + *(undefined4 *)(param_1 + 0x198) = 0; + *(undefined4 *)((longlong)param_1 + 0xca4) = 0x3f400000; + *(undefined4 *)(param_1 + 0x195) = 0x3e800000; + *(undefined4 *)((longlong)param_1 + 0xcac) = 0x40100000; + param_1[0x196] = 0x26; + param_1[0x197] = 4; + param_1[0x197] = 0; + puVar6 = (ulonglong *)(param_1 + 0x19a); + local_res10 = puVar6; + FUN_140039bb0(puVar6,uVar2,CONCAT71(uVar8,uVar7),param_4); + FUN_140039cd0((longlong)puVar6); + FUN_140096180((undefined1 *)(param_1 + 0x2dd)); + plVar4 = param_1 + 0x2e8; + FUN_140096180((undefined1 *)plVar4); + param_1[0x2f4] = (longlong)Proud::CFastArray::vftable; + param_1[0x2f5] = 0; + param_1[0x2f6] = 0; + param_1[0x2f7] = 0; + param_1[0x2f8] = 0; + param_1[0x2f9] = (longlong)Proud::CFastArray::vftable; + param_1[0x2fa] = 0; + param_1[0x2fb] = 0; + param_1[0x2fc] = 0; + param_1[0x2fd] = 0; + param_1[0x2fe] = 0; + FUN_140030200(plVar4,uVar2,CONCAT71(uVar8,uVar7),param_4); + param_1[0x301] = (longlong)PTR_DAT_140155010; + param_1[0x309] = (longlong)Proud::CFastArray::vftable; + param_1[0x30a] = 0; + param_1[0x30b] = 0; + param_1[0x30c] = 0; + param_1[0x30d] = 0; + puVar3 = FUN_14004f2f0((ulonglong *)&local_res10,uVar2,CONCAT71(uVar8,uVar7),param_4); + FUN_140043dd0(puVar5,puVar3,CONCAT71(uVar8,uVar7),param_4); + puVar6 = local_res10; + if (local_res10 != (ulonglong *)0x0) { + FUN_14002e6e0((int *)local_res10); + local_res10[8] = local_res10[8] - 1; + if (local_res10[8] == 0) { + FUN_14002e770((longlong)puVar6); + puVar5 = local_res10; + FUN_1400410e0((undefined4 *)local_res10,puVar3,CONCAT71(uVar8,uVar7),param_4); + } + else { + FUN_14002e770((longlong)puVar6); + puVar5 = puVar6; + } + } + *(undefined4 *)(param_1 + 0x44) = DAT_140155110; + FUN_14002faf0(puVar5,puVar3,CONCAT71(uVar8,uVar7),param_4); + param_1[0xeb] = 0; + FUN_14003a390((char *)(param_1 + 0xec)); + FUN_140082c10(param_1,(longlong *)puVar1,CONCAT71(uVar8,uVar7),param_4); + plVar4 = param_1 + 0x90; + FUN_140082e10(param_1,plVar4,CONCAT71(uVar8,uVar7),param_4); + param_1[0x94] = (longlong)param_1; + *(undefined1 *)(param_1 + 0x7f) = 0; + param_1[0x2ff] = 0x3ff0000000000000; + FUN_1400b8d60(param_1 + 0x8b,plVar4,CONCAT71(uVar8,uVar7),param_4); + *(undefined1 *)(param_1 + 0x300) = 1; + *(undefined1 *)(param_1 + 0x97) = 1; + *(undefined1 *)(param_1 + 0x93) = 1; + FUN_14003e2e0((longlong)(param_1 + 0x2f9),100,CONCAT71(uVar8,uVar7)); + *(undefined4 *)(param_1 + 0x2f3) = 0; + *(undefined4 *)(param_1 + 0x4b) = 0; + param_1[0x4c] = 0; + param_1[0xa0] = 0; + param_1[0xa8] = 0; + param_1[0xb0] = 0; + param_1[0xb8] = 0; + param_1[0xc0] = 0; + param_1[200] = 0; + param_1[0xd0] = 0; + param_1[0xd8] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005b880.c b/decomp/Agent_Release_x64/full/functions/0x14005b880.c new file mode 100644 index 00000000..96543dfe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005b880.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005b880 FUN_14005b880 + * Pseudocode, not original source. */ + +undefined8 FUN_14005b880(longlong param_1) + +{ + double dVar1; + + if (*(double *)(param_1 + 0xe8) != 0.0) { + return *(undefined8 *)(param_1 + 0xe8); + } + dVar1 = FUN_14003a420((char *)(param_1 + 0x648)); + *(double *)(param_1 + 0xe8) = dVar1; + return *(undefined8 *)(param_1 + 0xe8); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005b8f0.c b/decomp/Agent_Release_x64/full/functions/0x14005b8f0.c new file mode 100644 index 00000000..3a18bca3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005b8f0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005b8f0 FUN_14005b8f0 + * Pseudocode, not original source. */ + +void FUN_14005b8f0(longlong param_1,undefined8 param_2,ulonglong param_3,longlong param_4, + undefined8 param_5,int param_6) + +{ + FUN_140082fd0((longlong *)(param_1 + -0xa8),param_2,param_3,param_4,param_5,param_6); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005b920.c b/decomp/Agent_Release_x64/full/functions/0x14005b920.c new file mode 100644 index 00000000..53762b99 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005b920.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005b920 FUN_14005b920 + * Pseudocode, not original source. */ + +longlong FUN_14005b920(longlong param_1) + +{ + return param_1 + -0x118; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005b930.c b/decomp/Agent_Release_x64/full/functions/0x14005b930.c new file mode 100644 index 00000000..3265f412 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005b930.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005b930 FUN_14005b930 + * Pseudocode, not original source. */ + +void FUN_14005b930(longlong param_1,longlong param_2) + +{ + thunk_FUN_140082a20(param_1 + -0xa8,param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005b940.c b/decomp/Agent_Release_x64/full/functions/0x14005b940.c new file mode 100644 index 00000000..81ab925c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005b940.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005b940 FUN_14005b940 + * Pseudocode, not original source. */ + +void FUN_14005b940(longlong param_1,wchar_t *param_2,longlong *param_3,longlong param_4) + +{ + FUN_140063e30((longlong *)(param_1 + -0x120),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005b950.c b/decomp/Agent_Release_x64/full/functions/0x14005b950.c new file mode 100644 index 00000000..68f1faf0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005b950.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005b950 FUN_14005b950 + * Pseudocode, not original source. */ + +void FUN_14005b950(void) + +{ + thunk_FUN_140093300(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005b960.c b/decomp/Agent_Release_x64/full/functions/0x14005b960.c new file mode 100644 index 00000000..682b2f25 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005b960.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005b960 FUN_14005b960 + * Pseudocode, not original source. */ + +void FUN_14005b960(longlong param_1,wchar_t *param_2,longlong *param_3,longlong param_4) + +{ + FUN_140063e30((longlong *)(param_1 + -0x68),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005b970.c b/decomp/Agent_Release_x64/full/functions/0x14005b970.c new file mode 100644 index 00000000..def468e4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005b970.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005b970 FUN_14005b970 + * Pseudocode, not original source. */ + +void FUN_14005b970(void) + +{ + FUN_1400645b0(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005b980.c b/decomp/Agent_Release_x64/full/functions/0x14005b980.c new file mode 100644 index 00000000..a994bdf0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005b980.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005b980 FUN_14005b980 + * Pseudocode, not original source. */ + +void FUN_14005b980(longlong param_1,wchar_t *param_2,longlong *param_3,longlong param_4) + +{ + FUN_140063e30((longlong *)(param_1 + -0xa8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005b990.c b/decomp/Agent_Release_x64/full/functions/0x14005b990.c new file mode 100644 index 00000000..163e0bf2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005b990.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005b990 FUN_14005b990 + * Pseudocode, not original source. */ + +void FUN_14005b990(longlong param_1,longlong *param_2,undefined8 param_3,longlong param_4) + +{ + thunk_FUN_140082e10((longlong *)(param_1 + -0xa8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005b9a0.c b/decomp/Agent_Release_x64/full/functions/0x14005b9a0.c new file mode 100644 index 00000000..102af9c8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005b9a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005b9a0 FUN_14005b9a0 + * Pseudocode, not original source. */ + +void FUN_14005b9a0(longlong param_1,wchar_t *param_2,longlong *param_3,longlong param_4) + +{ + FUN_140063e30((longlong *)(param_1 + -0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005b9b0.c b/decomp/Agent_Release_x64/full/functions/0x14005b9b0.c new file mode 100644 index 00000000..efbbaea3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005b9b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005b9b0 FUN_14005b9b0 + * Pseudocode, not original source. */ + +void FUN_14005b9b0(void) + +{ + FUN_1400645b0(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005b9c0.c b/decomp/Agent_Release_x64/full/functions/0x14005b9c0.c new file mode 100644 index 00000000..89491a6c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005b9c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005b9c0 FUN_14005b9c0 + * Pseudocode, not original source. */ + +void FUN_14005b9c0(longlong param_1,wchar_t *param_2,longlong *param_3,longlong param_4) + +{ + FUN_140063e30((longlong *)(param_1 + -0xb0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005b9d0.c b/decomp/Agent_Release_x64/full/functions/0x14005b9d0.c new file mode 100644 index 00000000..e93ef614 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005b9d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005b9d0 FUN_14005b9d0 + * Pseudocode, not original source. */ + +void FUN_14005b9d0(longlong param_1) + +{ + FUN_14003c810(param_1 + -0x120); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005b9e0.c b/decomp/Agent_Release_x64/full/functions/0x14005b9e0.c new file mode 100644 index 00000000..dee829f9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005b9e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005b9e0 FUN_14005b9e0 + * Pseudocode, not original source. */ + +void FUN_14005b9e0(longlong param_1) + +{ + FUN_14003c810(param_1 + -0xa8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005b9f0.c b/decomp/Agent_Release_x64/full/functions/0x14005b9f0.c new file mode 100644 index 00000000..c0607f8d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005b9f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005b9f0 FUN_14005b9f0 + * Pseudocode, not original source. */ + +void FUN_14005b9f0(longlong param_1,longlong param_2,undefined8 param_3,longlong param_4) + +{ + thunk_FUN_1400828c0((longlong *)(param_1 + -0xa8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005ba00.c b/decomp/Agent_Release_x64/full/functions/0x14005ba00.c new file mode 100644 index 00000000..9973bdd8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005ba00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005ba00 FUN_14005ba00 + * Pseudocode, not original source. */ + +void FUN_14005ba00(longlong param_1,wchar_t *param_2,longlong *param_3,longlong param_4) + +{ + FUN_140063e30((longlong *)(param_1 + -0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005ba10.c b/decomp/Agent_Release_x64/full/functions/0x14005ba10.c new file mode 100644 index 00000000..04c3a6d8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005ba10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005ba10 FUN_14005ba10 + * Pseudocode, not original source. */ + +void FUN_14005ba10(longlong param_1,wchar_t *param_2,longlong *param_3,longlong param_4) + +{ + FUN_140063e30((longlong *)(param_1 + -0xb8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005ba20.c b/decomp/Agent_Release_x64/full/functions/0x14005ba20.c new file mode 100644 index 00000000..0801b8dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005ba20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005ba20 FUN_14005ba20 + * Pseudocode, not original source. */ + +void FUN_14005ba20(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140082680(param_1 + -0xa8,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005ba30.c b/decomp/Agent_Release_x64/full/functions/0x14005ba30.c new file mode 100644 index 00000000..f9a1fe57 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005ba30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005ba30 FUN_14005ba30 + * Pseudocode, not original source. */ + +void FUN_14005ba30(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140082c10((longlong *)(param_1 + -0xa8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005ba40.c b/decomp/Agent_Release_x64/full/functions/0x14005ba40.c new file mode 100644 index 00000000..f9da9cc4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005ba40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005ba40 FUN_14005ba40 + * Pseudocode, not original source. */ + +void FUN_14005ba40(longlong param_1,wchar_t *param_2,longlong *param_3,longlong param_4) + +{ + FUN_140063e30((longlong *)(param_1 + -0x118),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005ba50.c b/decomp/Agent_Release_x64/full/functions/0x14005ba50.c new file mode 100644 index 00000000..ce5c4885 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005ba50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005ba50 FUN_14005ba50 + * Pseudocode, not original source. */ + +void FUN_14005ba50(longlong param_1,wchar_t *param_2,longlong *param_3,longlong param_4) + +{ + FUN_140063e30((longlong *)(param_1 + -0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005ba60.c b/decomp/Agent_Release_x64/full/functions/0x14005ba60.c new file mode 100644 index 00000000..1d4ff874 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005ba60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005ba60 FUN_14005ba60 + * Pseudocode, not original source. */ + +void FUN_14005ba60(longlong param_1,longlong *param_2,int *param_3,uint *param_4,uint param_5) + +{ + FUN_14003d8b0((longlong *)(param_1 + -0xa8),param_2,param_3,param_4,param_5); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005ba70.c b/decomp/Agent_Release_x64/full/functions/0x14005ba70.c new file mode 100644 index 00000000..7a27c435 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005ba70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005ba70 FUN_14005ba70 + * Pseudocode, not original source. */ + +void FUN_14005ba70(longlong param_1,short *param_2,uint param_3,longlong *param_4) + +{ + FUN_14003dd70(param_1 + -0xa8,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005ba80.c b/decomp/Agent_Release_x64/full/functions/0x14005ba80.c new file mode 100644 index 00000000..8104f13c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005ba80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005ba80 FUN_14005ba80 + * Pseudocode, not original source. */ + +void FUN_14005ba80(undefined8 param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140003240(param_3,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005ba90.c b/decomp/Agent_Release_x64/full/functions/0x14005ba90.c new file mode 100644 index 00000000..ccc54f75 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005ba90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005ba90 FUN_14005ba90 + * Pseudocode, not original source. */ + +void FUN_14005ba90(longlong param_1,undefined8 param_2,undefined8 param_3,short *param_4) + +{ + FUN_14006fb10(param_1 + -0xa8,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005baa0.c b/decomp/Agent_Release_x64/full/functions/0x14005baa0.c new file mode 100644 index 00000000..49a1fa5b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005baa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005baa0 FUN_14005baa0 + * Pseudocode, not original source. */ + +void FUN_14005baa0(longlong param_1,undefined8 *param_2,undefined8 param_3,longlong param_4) + +{ + FUN_14004cf70(param_1 + -0xa8,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005bab0.c b/decomp/Agent_Release_x64/full/functions/0x14005bab0.c new file mode 100644 index 00000000..70ea5152 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005bab0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005bab0 FUN_14005bab0 + * Pseudocode, not original source. */ + +void FUN_14005bab0(longlong param_1,ulonglong *param_2,short *param_3,undefined8 param_4) + +{ + FUN_140053210((longlong *)(param_1 + -0xa8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005bac0.c b/decomp/Agent_Release_x64/full/functions/0x14005bac0.c new file mode 100644 index 00000000..509feee6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005bac0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005bac0 FUN_14005bac0 + * Pseudocode, not original source. */ + +void FUN_14005bac0(longlong param_1,uint param_2,uint *param_3,longlong *param_4) + +{ + FUN_140057a30(param_1 + -0xa8,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005bad0.c b/decomp/Agent_Release_x64/full/functions/0x14005bad0.c new file mode 100644 index 00000000..35fd1f6f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005bad0.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005bad0 FUN_14005bad0 + * Pseudocode, not original source. */ + +void FUN_14005bad0(longlong param_1,undefined4 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined8 uVar1; + undefined8 *puVar2; + undefined4 local_128 [2]; + longlong local_120; + longlong local_118; + int local_10c; + undefined4 local_100 [58]; + + if (*(longlong *)(param_1 + 0x3e0) != 0) { + FUN_1400806d0(local_128); + FUN_1400589c0(local_100,param_2,param_3,param_4); + uVar1 = *(undefined8 *)(param_1 + 0x468); + if (*(longlong **)(param_1 + 0x458) == (longlong *)0x0) { + puVar2 = (undefined8 *)FUN_140030280(0x128); + } + else { + param_2 = (undefined4 *)0x128; + puVar2 = (undefined8 *)(**(code **)(**(longlong **)(param_1 + 0x458) + 8))(); + } + if (puVar2 != (undefined8 *)0x0) { + *(undefined4 *)(puVar2 + 2) = 0; + FUN_140080700((undefined4 *)(puVar2 + 3),local_128); + param_2 = local_100; + FUN_1400589c0((undefined4 *)(puVar2 + 8),param_2,param_3,param_4); + } + puVar2[1] = uVar1; + *puVar2 = 0; + *(longlong *)(param_1 + 0x470) = *(longlong *)(param_1 + 0x470) + 1; + if (*(undefined8 **)(param_1 + 0x468) == (undefined8 *)0x0) { + *(undefined8 **)(param_1 + 0x460) = puVar2; + } + else { + **(undefined8 **)(param_1 + 0x468) = puVar2; + } + *(undefined8 **)(param_1 + 0x468) = puVar2; + FUN_140056f10((longlong)local_100,param_2,param_3,param_4); + FUN_140095270(&local_120); + if ((local_118 != 0) && (local_10c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_1400a25d0(*(longlong *)(param_1 + 0x3e0) + 0x160,param_1 + 0x78,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005bc30.c b/decomp/Agent_Release_x64/full/functions/0x14005bc30.c new file mode 100644 index 00000000..d4e46e88 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005bc30.c @@ -0,0 +1,150 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005bc30 FUN_14005bc30 + * Pseudocode, not original source. */ + +void FUN_14005bc30(longlong param_1,undefined8 param_2,undefined8 param_3,ulonglong param_4) + +{ + longlong *plVar1; + int *piVar2; + longlong *plVar3; + ulonglong *puVar4; + ulonglong *puVar5; + ulonglong *puVar6; + undefined4 *puVar7; + SIZE_T SVar8; + longlong **pplVar9; + ulonglong *local_158; + longlong *local_150; + ulonglong *local_148; + undefined1 local_140; + undefined **local_138; + undefined8 local_130; + undefined8 local_128; + undefined8 local_120; + undefined8 local_118; + undefined4 local_108 [2]; + ulonglong local_100 [2]; + longlong local_f0 [2]; + undefined **local_e0; + undefined8 local_d8; + undefined8 local_d0; + undefined8 local_c8; + undefined8 local_c0; + longlong local_b8; + longlong local_b0; + ulonglong local_a8; + undefined4 local_a0; + undefined4 local_9c; + undefined4 local_98; + undefined **local_90; + undefined8 local_88; + undefined8 local_80; + undefined8 local_78; + undefined8 local_70; + undefined **local_60; + undefined4 local_58; + undefined2 local_54; + undefined **local_48; + undefined8 local_40; + undefined8 local_38; + undefined8 local_30; + undefined8 local_28; + undefined8 local_18; + + local_18 = 0xfffffffffffffffe; + local_100[0] = 0; + local_f0[0] = 0; + local_f0[1] = 0; + local_d8 = 0; + local_d0 = 0; + local_c8 = 0; + local_c0 = 0; + local_e0 = Proud::ByteArray::vftable; + local_a8 = 0; + local_b0 = 0; + local_b8 = 0; + local_88 = 0; + local_80 = 0; + local_78 = 0; + local_70 = 0; + local_90 = Proud::ByteArray::vftable; + local_60 = Proud::AddrPort::vftable; + local_58 = 0; + local_54 = 0; + local_40 = 0; + local_38 = 0; + local_30 = 0; + local_28 = 0; + local_48 = Proud::ByteArray::vftable; + local_108[0] = 7; + local_a0 = (undefined4)param_2; + local_9c = (undefined4)param_3; + local_130 = 0; + local_128 = 0; + local_120 = 0; + local_118 = 0; + local_138 = Proud::ByteArray::vftable; + local_98 = local_9c; + FUN_140030200(Proud::ByteArray::vftable,param_2,param_3,param_4); + local_150 = (longlong *)PTR_DAT_140155010; + pplVar9 = &local_150; + SVar8 = 0; + puVar4 = (ulonglong *) + FUN_14003c120((longlong *)&local_158,param_4 & 0xffffffff,0,(longlong *)pplVar9, + (longlong)&local_138); + puVar5 = local_100; + FUN_14003bff0(puVar5,puVar4,SVar8,pplVar9); + puVar6 = local_158; + if (local_158 != (ulonglong *)0x0) { + local_148 = local_158; + FUN_14002e6e0((int *)local_158); + local_140 = 1; + local_158[8] = local_158[8] - 1; + if (local_158[8] == 0) { + FUN_14002e770((longlong)puVar6); + local_140 = 0; + FUN_14002b500((undefined4 *)local_158,puVar4,SVar8,pplVar9); + puVar5 = local_158; + } + else { + FUN_14002e770((longlong)puVar6); + puVar5 = puVar6; + } + } + plVar3 = local_150; + if (((local_150 != (longlong *)0x0) && (local_150 != (longlong *)PTR_DAT_140155010)) && + (plVar1 = local_150 + -1, plVar1 != (longlong *)0x0)) { + puVar5 = (ulonglong *)FUN_140030200(puVar5,puVar4,SVar8,pplVar9); + local_148 = puVar5; + FUN_14002e6e0((int *)puVar5); + local_140 = 1; + piVar2 = (int *)((longlong)plVar3 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(plVar1); + } + FUN_14002e770((longlong)puVar5); + } + local_150 = (longlong *)PTR_DAT_140155010; + FUN_14003b870(&local_138); + puVar7 = local_108; + FUN_14005bad0(param_1,puVar7,SVar8,pplVar9); + FUN_14003b870(&local_48); + FUN_14003b870(&local_90); + local_150 = &local_b8; + FUN_140095270(&local_b8); + if (local_b0 != 0) { + if ((longlong)local_a8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_a8 = local_a8 & 0xffffffff00000000; + } + FUN_14003b870(&local_e0); + FUN_140056b00(local_f0 + 1,puVar7,SVar8,pplVar9); + FUN_140056a80(local_f0,puVar7,SVar8,pplVar9); + FUN_14002b570((longlong *)local_100,puVar7,SVar8,pplVar9); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005be80.c b/decomp/Agent_Release_x64/full/functions/0x14005be80.c new file mode 100644 index 00000000..a13d9b4f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005be80.c @@ -0,0 +1,218 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005be80 FUN_14005be80 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014005bf48) */ +/* WARNING: Removing unreachable block (ram,0x00014005bf51) */ +/* WARNING: Removing unreachable block (ram,0x00014005bf6f) */ +/* WARNING: Removing unreachable block (ram,0x00014005bf78) */ +/* WARNING: Removing unreachable block (ram,0x00014005c005) */ +/* WARNING: Removing unreachable block (ram,0x00014005c00c) */ +/* WARNING: Removing unreachable block (ram,0x00014005c014) */ +/* WARNING: Removing unreachable block (ram,0x00014005c021) */ +/* WARNING: Removing unreachable block (ram,0x00014005c019) */ +/* WARNING: Removing unreachable block (ram,0x00014005c027) */ +/* WARNING: Removing unreachable block (ram,0x00014005c038) */ +/* WARNING: Removing unreachable block (ram,0x00014005c23a) */ + +void FUN_14005be80(longlong param_1,uint *param_2,ulonglong param_3,ulonglong param_4) + +{ + int iVar1; + longlong *plVar2; + LPVOID pvVar3; + undefined8 uVar4; + uint *puVar5; + longlong lVar6; + ulonglong uVar7; + undefined ***pppuVar8; + uint *puVar9; + uint *puVar10; + longlong lVar11; + int iVar12; + LPVOID pvVar13; + ulonglong uVar14; + uint uVar15; + uint uVar16; + ulonglong uVar17; + ulonglong uVar18; + uint uVar19; + LPVOID pvVar20; + undefined **local_e8; + longlong *local_e0; + LPVOID local_d8; + ulonglong local_d0; + undefined8 local_c8; + undefined **local_b8; + longlong local_b0; + uint *local_a8; + undefined8 local_a0; + longlong local_98; + uint local_90; + undefined4 local_8c; + undefined4 local_88; + undefined4 local_84; + undefined8 local_80; + undefined8 local_78; + undefined4 local_70; + undefined8 local_68; + undefined8 local_58; + + local_58 = 0xfffffffffffffffe; + local_e8 = Proud::CFastArray::vftable; + pvVar13 = (LPVOID)0x0; + iVar12 = 0; + local_e0 = (longlong *)0x0; + local_d8 = (LPVOID)0x0; + local_d0 = 0; + local_c8 = 0; + local_b8._0_1_ = 0; + local_68 = 0; + local_b0 = 0; + local_a8 = (uint *)0x0; + local_a0 = 0; + local_90 = 0x11; + local_98 = 0; + local_70 = 0; + local_8c = 0x3f400000; + local_88 = 0x3e800000; + local_84 = 0x40100000; + puVar9 = (uint *)0x8000000000000000; + local_80 = 0x26; + pppuVar8 = (undefined ***)0x0; + local_78 = 0; + uVar16 = param_2[0x38]; + uVar18 = param_3; + uVar7 = param_4; + pvVar20 = pvVar13; + plVar2 = local_e0; + do { + uVar16 = uVar16 - 1; + local_e0 = plVar2; + if ((int)uVar16 < 0) { + uVar14 = 0; + puVar10 = (uint *)0x0; + uVar17 = uVar14; + if (0 < iVar12) { + do { + if (((longlong)uVar14 < 0) || (iVar12 <= (int)uVar17)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar8,puVar9,uVar18,uVar7); + } + iVar1 = *(int *)((longlong)pvVar20 + uVar14 * 4); + lVar11 = (longlong)iVar1; + pppuVar8 = (undefined ***)(param_2 + 0x32); + uVar16 = param_2[0x38]; + lVar6 = (longlong)(int)uVar16; + if ((iVar1 < 0) || ((int)uVar16 <= iVar1)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar19 = uVar16 - 1; + if (iVar1 < (int)uVar19) { + puVar9 = puVar10; + puVar5 = puVar10; + if (uVar16 != 0) { + puVar9 = *(uint **)(param_2 + 0x36); + puVar5 = *(uint **)(param_2 + 0x36); + } + uVar7 = lVar6 * 3; + uVar18 = lVar11 * 3; + *(undefined8 *)(puVar5 + lVar11 * 6) = *(undefined8 *)(puVar9 + lVar6 * 6 + -6); + *(undefined8 *)(puVar5 + lVar11 * 6 + 2) = *(undefined8 *)(puVar9 + lVar6 * 6 + -4); + *(undefined8 *)(puVar5 + lVar11 * 6 + 4) = *(undefined8 *)(puVar9 + lVar6 * 6 + -2); + } + puVar9 = (uint *)(ulonglong)uVar19; + FUN_14003e6b0((longlong)pppuVar8,uVar19,uVar18,uVar7); + uVar16 = (int)uVar17 + 1; + uVar14 = uVar14 + 1; + uVar17 = (ulonglong)uVar16; + } while ((int)uVar16 < iVar12); + } + puVar9 = local_a8; + if (local_98 == 0) { + puVar9 = puVar10; + } + for (; puVar9 != (uint *)0x0; puVar9 = *(uint **)(puVar9 + 2)) { + uVar16 = *puVar9; + uVar7 = FUN_1400a17b0((longlong)(param_2 + 0x32),uVar16); + if ((char)uVar7 == '\0') { + FUN_14005bc30(param_1,(ulonglong)*param_2,(ulonglong)uVar16,param_4 & 0xffffffff); + } + } + FUN_140043b40((char *)&local_b8); + if (pvVar20 != (LPVOID)0x0) { + if (plVar2 == (longlong *)0x0) { + FUN_1400302f0(pvVar20); + } + else { + (**(code **)(*plVar2 + 0x18))(plVar2,pvVar20); + } + } + return; + } + if (((int)uVar16 < 0) || ((int)param_2[0x38] <= (int)uVar16)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar8,puVar9,uVar18,uVar7); + } + pppuVar8 = (undefined ***)((longlong)(int)uVar16 * 3); + puVar10 = (uint *)(*(longlong *)(param_2 + 0x36) + (longlong)(int)uVar16 * 0x18); + if ((*puVar10 == (uint)uVar18) || (puVar10[1] == (uint)uVar18)) { + iVar12 = (int)pvVar13; + if (iVar12 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + pppuVar8 = &local_e8; + FUN_14002d430((longlong)pppuVar8,iVar12 + 1,uVar18,uVar7); + pvVar20 = local_d8; + pvVar13 = (LPVOID)(local_d0 & 0xffffffff); + pvVar3 = local_d8; + if ((int)local_d0 == 0) { + pvVar3 = (LPVOID)0x0; + } + *(uint *)((longlong)pvVar3 + (longlong)iVar12 * 4) = uVar16; + uVar19 = *puVar10; + uVar7 = (ulonglong)local_90; + if (local_b0 != 0) { + pppuVar8 = *(undefined ****)(local_b0 + ((ulonglong)uVar19 % uVar7) * 8); + while ((pppuVar8 != (undefined ***)0x0 && + (puVar9 = (uint *)((ulonglong)*(uint *)(pppuVar8 + 3) % uVar7), + (int)((ulonglong)uVar19 % uVar7) == (int)puVar9))) { + if (*(uint *)pppuVar8 == uVar19) goto LAB_14005c100; + pppuVar8 = (undefined ***)pppuVar8[1]; + } + } + uVar15 = (uint)((ulonglong)uVar19 % uVar7); + if (local_b0 == 0) { + uVar4 = FUN_14003f710((longlong)&local_b8,local_90,'\x01'); + if ((char)uVar4 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + else { + puVar5 = *(uint **)(local_b0 + ((ulonglong)uVar19 % uVar7) * 8); + while ((puVar5 != (uint *)0x0 && (uVar15 == (uint)(uint *)((ulonglong)puVar5[6] % uVar7)))) + { + puVar9 = (uint *)((ulonglong)puVar5[6] % uVar7); + if (*puVar5 == uVar19) goto LAB_14005c0f8; + puVar5 = *(uint **)(puVar5 + 2); + } + } + FUN_14003f000((char *)&local_b8); + uVar7 = (ulonglong)uVar19; + puVar5 = FUN_140041130((char *)&local_b8,puVar10,uVar15,uVar19); + pppuVar8 = &local_b8; + FUN_14003f000((char *)pppuVar8); + puVar9 = puVar10; +LAB_14005c0f8: + *(undefined1 *)(puVar5 + 1) = 0; +LAB_14005c100: + uVar18 = param_3 & 0xffffffff; + } + iVar12 = (int)pvVar13; + plVar2 = local_e0; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005c290.c b/decomp/Agent_Release_x64/full/functions/0x14005c290.c new file mode 100644 index 00000000..55e21d42 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005c290.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005c290 FUN_14005c290 + * Pseudocode, not original source. */ + +longlong * FUN_14005c290(undefined8 param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + longlong *plVar1; + longlong *plVar2; + + plVar1 = operator_new(0x1880); + plVar2 = (longlong *)0x0; + if (plVar1 != (longlong *)0x0) { + plVar2 = FUN_14005b060(plVar1,param_2,param_3,param_4); + } + if (plVar2 != (longlong *)0x0) { + plVar2 = plVar2 + 0x15; + } + return plVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005c2d0.c b/decomp/Agent_Release_x64/full/functions/0x14005c2d0.c new file mode 100644 index 00000000..287744d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005c2d0.c @@ -0,0 +1,345 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005c2d0 FUN_14005c2d0 + * Pseudocode, not original source. */ + +undefined8 +FUN_14005c2d0(ulonglong param_1,uint param_2,undefined8 param_3,uint *param_4,uint *param_5, + uint *param_6,char *param_7) + +{ + longlong lVar1; + LPVOID pvVar2; + undefined4 uVar3; + undefined2 uVar4; + longlong lVar5; + int iVar6; + undefined8 uVar7; + ulonglong uVar8; + undefined **ppuVar9; + undefined8 *puVar10; + undefined8 *puVar11; + undefined8 *puVar12; + undefined8 *puVar13; + longlong **pplVar14; + longlong **pplVar15; + longlong *plVar16; + longlong lVar17; + uint uVar18; + uint uVar19; + undefined **ppuVar20; + uint *puVar21; + longlong **pplVar22; + double dVar23; + ulonglong local_res8; + uint local_res10 [2]; + longlong *local_188; + undefined1 local_180; + undefined1 local_17f; + undefined1 local_17e [6]; + longlong *local_178; + longlong local_170; + longlong local_168 [2]; + int *local_158; + undefined1 local_150; + longlong local_148 [2]; + undefined4 local_138; + undefined **local_130; + undefined4 local_128; + undefined2 local_124; + undefined **local_120; + undefined4 local_118; + undefined2 local_114; + undefined1 local_110; + undefined4 local_108; + undefined **local_100; + undefined4 local_f8; + undefined2 local_f4; + undefined **local_f0; + undefined4 local_e8; + undefined2 local_e4; + undefined1 local_e0; + undefined4 local_d8; + undefined **local_d0; + undefined4 local_c8; + undefined2 local_c4; + undefined **local_c0; + undefined4 local_b8; + undefined2 local_b4; + undefined1 local_b0; + undefined8 local_a8; + undefined8 local_a0 [2]; + undefined8 local_90 [2]; + undefined8 local_80 [2]; + undefined8 local_70 [2]; + undefined8 local_60 [2]; + undefined8 local_50 [3]; + + local_a8 = 0xfffffffffffffffe; + local_res8 = param_1; + local_res10[0] = param_2; + local_158 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(local_158); + local_150 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x20) + 200)) + (*(longlong **)(param_1 + 0x20), + L"Proud::CNetServerImpl::C2SStub::P2PGroup_MemberJoin_Ack"); + } + FUN_140057180(*(longlong *)(param_1 + 0x20),(longlong *)&local_178,*param_4); + pplVar22 = (longlong **)0x0; + if (((local_178 != (longlong *)0x0) && (*local_178 != 0)) && + (uVar7 = FUN_1400a1820(*local_178 + 200,local_res10[0],(ulonglong)*param_5,*param_6), + (char)uVar7 == '\x01')) { + pplVar15 = pplVar22; + if (local_178 != (longlong *)0x0) { + pplVar15 = (longlong **)*local_178; + } + uVar8 = FUN_1400a1730((longlong)(pplVar15 + 0x19),*param_5,(ulonglong)*param_6); + if ((char)uVar8 == '\0') { + FUN_14005bc30(*(longlong *)(param_1 + 0x20),(ulonglong)*param_4,(ulonglong)*param_5,0); + } + } + puVar21 = (uint *)(ulonglong)*param_5; + uVar8 = (ulonglong)local_res10[0]; + pplVar15 = &local_188; + FUN_14004ffa0(*(longlong *)(param_1 + 0x20) + 0x2d8,(longlong *)pplVar15,local_res10[0],*param_5); + if (local_188 != (longlong *)0x0) { + ppuVar20 = (undefined **)*local_188; + uVar8 = 0; + if (ppuVar20 != (undefined **)0x0) { + if (*(char *)(ppuVar20 + 0x34) != '\0') { + ppuVar9 = ppuVar20 + 2; + pplVar15 = pplVar22; + pplVar14 = pplVar22; + do { + if (*(uint *)ppuVar9 == local_res10[0]) { + *(undefined1 *)(ppuVar20 + (longlong)(int)pplVar14 * 6 + 7) = 1; + break; + } + pplVar14 = (longlong **)(ulonglong)((int)pplVar14 + 1); + pplVar15 = (longlong **)((longlong)pplVar15 + 1); + ppuVar9 = ppuVar9 + 6; + } while ((longlong)pplVar15 < 2); + uVar8 = (ulonglong)local_res10[0]; + pplVar15 = pplVar22; + if (local_188 != (longlong *)0x0) { + pplVar15 = (longlong **)*local_188; + } + dVar23 = 0.0; + if (((double)pplVar15[0x32] != 0.0) && (*param_7 != '\0')) { + pplVar15 = pplVar22; + if (local_188 != (longlong *)0x0) { + pplVar15 = (longlong **)*local_188; + } + FUN_14003deb0((longlong)pplVar15,local_res10[0]); + uVar8 = (ulonglong)local_res10[0]; + } + pplVar15 = pplVar22; + if (local_188 != (longlong *)0x0) { + pplVar15 = (longlong **)*local_188; + } + pplVar15 = pplVar15 + 7; + lVar17 = 2; + pplVar14 = pplVar22; + do { + if (*(char *)pplVar15 != '\0') { + pplVar14 = (longlong **)(ulonglong)((int)pplVar14 + 1); + } + pplVar15 = pplVar15 + 6; + lVar17 = lVar17 + -1; + } while (lVar17 != 0); + pplVar15 = (longlong **)0x0; + if ((int)pplVar14 == 2) { + pplVar15 = pplVar22; + if (local_188 != (longlong *)0x0) { + pplVar15 = (longlong **)*local_188; + } + if ((double)pplVar15[0x32] == dVar23) { +LAB_14005c6c5: + local_res8 = local_res8 & 0xffffffffffffff00; + plVar16 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0x4a8); + (**(code **)(*plVar16 + 0x50)) + (plVar16,uVar8 & 0xffffffff,&DAT_14015de10,param_5,&local_res8, + &PTR_vftable_1401553c8,&PTR_vftable_1401553c8,&PTR_vftable_1401553c8, + &PTR_vftable_1401553c8); + local_17f = 0; + plVar16 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0x4a8); + puVar21 = local_res10; + (**(code **)(*plVar16 + 0x50)) + (plVar16,*param_5,&DAT_14015de10,puVar21,&local_17f,&PTR_vftable_1401553c8, + &PTR_vftable_1401553c8,&PTR_vftable_1401553c8,&PTR_vftable_1401553c8); + uVar4 = DAT_1401553d4; + uVar3 = DAT_1401553d0; + pplVar15 = pplVar22; + if (local_188 != (longlong *)0x0) { + pplVar15 = (longlong **)*local_188; + } + ppuVar20 = Proud::AddrPort::vftable; + if (*(char *)(pplVar15 + 1) != '\x01') { + *(undefined4 *)(pplVar15 + 2) = 0; + *(undefined4 *)(pplVar15 + 4) = uVar3; + *(undefined2 *)((longlong)pplVar15 + 0x24) = uVar4; + *(undefined4 *)(pplVar15 + 6) = uVar3; + *(undefined2 *)((longlong)pplVar15 + 0x34) = uVar4; + *(undefined1 *)(pplVar15 + 7) = 0; + uVar4 = DAT_1401553d4; + uVar3 = DAT_1401553d0; + local_d0 = Proud::AddrPort::vftable; + local_c0 = Proud::AddrPort::vftable; + local_d8 = 0; + local_b0 = 0; + local_c8 = DAT_1401553d0; + local_c4 = DAT_1401553d4; + local_b8 = DAT_1401553d0; + local_b4 = DAT_1401553d4; + *(undefined4 *)(pplVar15 + 8) = 0; + *(undefined4 *)(pplVar15 + 10) = uVar3; + *(undefined2 *)((longlong)pplVar15 + 0x54) = uVar4; + *(undefined4 *)(pplVar15 + 0xc) = uVar3; + *(undefined2 *)((longlong)pplVar15 + 100) = uVar4; + *(undefined1 *)(pplVar15 + 0xd) = 0; + *(undefined1 *)(pplVar15 + 1) = 1; + } + uVar4 = DAT_1401553d4; + uVar3 = DAT_1401553d0; + pplVar15 = pplVar22; + if (local_188 != (longlong *)0x0) { + pplVar15 = (longlong **)*local_188; + } + local_100 = Proud::AddrPort::vftable; + local_f0 = Proud::AddrPort::vftable; + local_108 = 0; + local_e0 = 0; + local_f8 = DAT_1401553d0; + local_f4 = DAT_1401553d4; + local_e8 = DAT_1401553d0; + local_e4 = DAT_1401553d4; + *(undefined4 *)(pplVar15 + 2) = 0; + *(undefined4 *)(pplVar15 + 4) = uVar3; + *(undefined2 *)((longlong)pplVar15 + 0x24) = uVar4; + *(undefined4 *)(pplVar15 + 6) = uVar3; + *(undefined2 *)((longlong)pplVar15 + 0x34) = uVar4; + *(undefined1 *)(pplVar15 + 7) = 0; + uVar4 = DAT_1401553d4; + uVar3 = DAT_1401553d0; + local_130 = Proud::AddrPort::vftable; + local_120 = Proud::AddrPort::vftable; + local_138 = 0; + local_110 = 0; + local_128 = DAT_1401553d0; + local_124 = DAT_1401553d4; + local_118 = DAT_1401553d0; + local_114 = DAT_1401553d4; + *(undefined4 *)(pplVar15 + 8) = 0; + *(undefined4 *)(pplVar15 + 10) = uVar3; + *(undefined2 *)((longlong)pplVar15 + 0x54) = uVar4; + *(undefined4 *)(pplVar15 + 0xc) = uVar3; + *(undefined2 *)((longlong)pplVar15 + 100) = uVar4; + *(undefined1 *)(pplVar15 + 0xd) = 0; + pplVar14 = pplVar22; + if (local_188 != (longlong *)0x0) { + pplVar14 = (longlong **)*local_188; + } + pplVar14[0x33] = (longlong *)0x0; + } + else { + pplVar15 = pplVar22; + if (local_188 != (longlong *)0x0) { + pplVar15 = (longlong **)*local_188; + } + plVar16 = local_188; + iVar6 = FUN_14003ccb0((longlong)pplVar15); + if (iVar6 != 2) goto LAB_14005c6c5; + local_180 = 1; + if (plVar16 == (longlong *)0x0) { + local_148[0] = 0; + } + else { + local_148[0] = *plVar16; + } + uVar19 = *param_5; + lVar17 = *(longlong *)(param_1 + 0x20); + lVar1 = *(longlong *)(lVar17 + 0x4a8); + uVar18 = local_res10[0]; + local_170 = local_148[0]; + local_168[0] = local_148[0]; + puVar10 = FUN_14003d020(local_148[0],local_50,local_res10[0]); + puVar11 = FUN_14003cfa0(local_148[0],local_90,uVar18); + puVar12 = FUN_14003cc30(local_170,local_148,uVar19); + puVar13 = FUN_14003cb30(local_168[0],local_70,uVar19); + (**(code **)(lVar1 + 0x50)) + (lVar17 + 0x4a8,local_res10[0],&DAT_14015de10,param_5,&local_180,puVar13, + puVar12,puVar11,puVar10); + local_17e[0] = 1; + if (local_188 == (longlong *)0x0) { + local_168[0] = 0; + } + else { + local_168[0] = *local_188; + } + lVar5 = local_168[0]; + uVar19 = *param_5; + lVar17 = *(longlong *)(local_res8 + 0x20); + lVar1 = *(longlong *)(lVar17 + 0x4a8); + uVar18 = uVar19; + local_170 = local_168[0]; + puVar10 = FUN_14003d020(local_168[0],local_a0,uVar19); + puVar11 = FUN_14003cfa0(lVar5,local_80,uVar18); + uVar18 = local_res10[0]; + puVar12 = FUN_14003cc30(local_168[0],local_60,local_res10[0]); + puVar13 = FUN_14003cb30(local_170,local_168,uVar18); + puVar21 = local_res10; + ppuVar20 = (undefined **)&DAT_14015de10; + pplVar15 = (longlong **)(ulonglong)uVar19; + (**(code **)(lVar1 + 0x50)) + (lVar17 + 0x4a8,pplVar15,&DAT_14015de10,puVar21,local_17e,puVar13,puVar12, + puVar11,puVar10); + pplVar14 = pplVar22; + if (local_188 != (longlong *)0x0) { + pplVar14 = (longlong **)*local_188; + } + if (*(char *)(pplVar14 + 1) != '\0') { + *(undefined1 *)(pplVar14 + 1) = 0; + } + } + pplVar14 = pplVar22; + if (local_188 != (longlong *)0x0) { + pplVar14 = (longlong **)*local_188; + } + pplVar14[0x32] = (longlong *)0x0; + if (local_188 != (longlong *)0x0) { + pplVar22 = (longlong **)*local_188; + } + *(undefined1 *)(pplVar22 + 0x34) = 0; + } + } + if ((local_188 != (longlong *)0x0) && (local_188[1] = local_188[1] + -1, local_188[1] == 0)) { + FUN_140041080(local_188); + } + if ((local_178 != (longlong *)0x0) && (local_178[1] = local_178[1] + -1, local_178[1] == 0)) { + pvVar2 = (LPVOID)*local_178; + if (pvVar2 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar2,pplVar15,ppuVar20,puVar21); + FUN_1400302f0(pvVar2); + } + FUN_1400302f0(local_178); + } + goto LAB_14005c986; + } + } + if ((local_188 != (longlong *)0x0) && (local_188[1] = local_188[1] + -1, local_188[1] == 0)) { + FUN_140041080(local_188); + } + if ((local_178 != (longlong *)0x0) && (local_178[1] = local_178[1] + -1, local_178[1] == 0)) { + pvVar2 = (LPVOID)*local_178; + if (pvVar2 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar2,pplVar15,uVar8,puVar21); + FUN_1400302f0(pvVar2); + } + FUN_1400302f0(local_178); + } +LAB_14005c986: + uVar7 = FUN_14002e770((longlong)local_158); + return CONCAT71((int7)((ulonglong)uVar7 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005c9b0.c b/decomp/Agent_Release_x64/full/functions/0x14005c9b0.c new file mode 100644 index 00000000..454248da --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005c9b0.c @@ -0,0 +1,137 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005c9b0 FUN_14005c9b0 + * Pseudocode, not original source. */ + +void FUN_14005c9b0(longlong param_1,char *param_2,ulonglong param_3,ulonglong param_4) + +{ + longlong *plVar1; + uint uVar2; + uint uVar3; + longlong lVar4; + LPVOID pvVar5; + bool bVar6; + int *piVar7; + int *piVar8; + undefined8 *puVar9; + undefined8 *puVar10; + int *piVar11; + uint *puVar12; + undefined4 *puVar13; + int **ppiVar14; + uint *puVar15; + longlong lVar16; + int *local_res8 [2]; + undefined8 *local_res18; + int *local_res20; + + FUN_140059f90(param_2,param_2,param_3,param_4); + piVar11 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar11); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200)) + (param_1 + -0xa8,L"Proud::CNetServerImpl::GetP2PGroups"); + } + if (*(longlong *)(param_1 + 0x378) == 0) { + lVar16 = 0; + } + else { + lVar16 = *(longlong *)(param_1 + 0x368); + } + do { + if (lVar16 == 0) { + FUN_14002e770((longlong)piVar11); + return; + } + if (lVar16 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + local_res18 = (undefined8 *)0x0; + if (*(longlong *)(lVar16 + 8) != 0) { + *(longlong *)(*(longlong *)(lVar16 + 8) + 8) = + *(longlong *)(*(longlong *)(lVar16 + 8) + 8) + 1; + local_res18 = *(undefined8 **)(lVar16 + 8); + } + puVar9 = local_res18; + if (local_res18 == (undefined8 *)0x0) { + puVar13 = (undefined4 *)0x0; + } + else { + puVar13 = (undefined4 *)*local_res18; + } + FUN_1400a1b90(puVar13,(longlong *)local_res8,param_3,param_4); + if (local_res8[0] == (int *)0x0) { + puVar15 = (uint *)0x0; + } + else { + puVar15 = *(uint **)(local_res8[0] + 0xe); + } + uVar2 = *puVar15; + param_4 = (ulonglong)uVar2; + uVar3 = *(uint *)(param_2 + 0x28); + param_3 = param_4 % (ulonglong)uVar3; + lVar4 = *(longlong *)(param_2 + 8); + if (lVar4 != 0) { + puVar12 = *(uint **)(lVar4 + param_3 * 8); + while ((puVar12 != (uint *)0x0 && + (ppiVar14 = (int **)((ulonglong)puVar12[8] % (ulonglong)uVar3), + (int)param_3 == (int)ppiVar14))) { + if (*puVar12 == uVar2) goto LAB_14005cb52; + puVar12 = *(uint **)(puVar12 + 4); + } + } + param_3 = param_4 % (ulonglong)uVar3; + if (lVar4 != 0) { + for (puVar12 = *(uint **)(lVar4 + param_3 * 8); + (puVar12 != (uint *)0x0 && ((uint)param_3 == puVar12[8] % uVar3)); + puVar12 = *(uint **)(puVar12 + 4)) { + if (*puVar12 == uVar2) goto LAB_14005cb39; + } + } + puVar12 = FUN_14005a2d0(param_2,puVar15,(uint)param_3,uVar2); +LAB_14005cb39: + ppiVar14 = local_res8; + FUN_140055330((ulonglong *)(puVar12 + 2),(ulonglong *)ppiVar14,param_3,param_4); +LAB_14005cb52: + piVar7 = local_res8[0]; + if (local_res8[0] != (int *)0x0) { + FUN_14002e6e0(local_res8[0]); + bVar6 = true; + *(longlong *)(local_res8[0] + 0x10) = *(longlong *)(local_res8[0] + 0x10) + -1; + if (*(longlong *)(local_res8[0] + 0x10) == 0) { + FUN_14002e770((longlong)piVar7); + piVar8 = local_res8[0]; + bVar6 = false; + local_res20 = local_res8[0]; + pvVar5 = *(LPVOID *)(local_res8[0] + 0xe); + if (pvVar5 != (LPVOID)0x0) { + FUN_140043b40((char *)((longlong)pvVar5 + 8)); + FUN_1400302f0(pvVar5); + } + FUN_14002e7a0(piVar8,ppiVar14,param_3,param_4); + FUN_1400302f0(piVar8); + } + if (bVar6) { + FUN_14002e770((longlong)piVar7); + } + } + puVar10 = local_res18; + if (puVar9 != (undefined8 *)0x0) { + plVar1 = puVar9 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + pvVar5 = (LPVOID)*local_res18; + if (pvVar5 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar5,ppiVar14,param_3,param_4); + FUN_1400302f0(pvVar5); + } + FUN_1400302f0(puVar10); + } + } + if (lVar16 != 0) { + lVar16 = *(longlong *)(lVar16 + 0x10); + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005cc60.c b/decomp/Agent_Release_x64/full/functions/0x14005cc60.c new file mode 100644 index 00000000..ba015949 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005cc60.c @@ -0,0 +1,161 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005cc60 FUN_14005cc60 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014005cf1d) */ + +void FUN_14005cc60(longlong *param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + longlong *plVar1; + uint uVar2; + LPVOID pvVar3; + int *piVar4; + uint *puVar5; + longlong lVar6; + longlong lVar7; + ulonglong uVar8; + int iVar9; + uint *puVar10; + uint *puVar11; + ulonglong uVar12; + int iVar13; + uint *puVar14; + uint *puVar15; + uint uVar16; + uint *puVar17; + longlong lVar19; + longlong lVar20; + double dVar21; + undefined8 *local_res18; + ulonglong uVar18; + + piVar4 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + (**(code **)(*param_1 + 200))(param_1,L"Proud::CNetServerImpl::PurgeTooOldAddMemberAckItem"); + } + dVar21 = FUN_14003a420((char *)(param_1 + 0xec)); + puVar14 = (uint *)0x0; + puVar15 = puVar14; + if (param_1[0x84] != 0) { + puVar15 = (uint *)param_1[0x82]; + } + do { + if (puVar15 == (uint *)0x0) { +LAB_14005cf28: + FUN_14002e770((longlong)piVar4); + return; + } + local_res18 = (undefined8 *)0x0; + puVar10 = puVar14; + puVar11 = puVar14; + puVar17 = puVar14; + if (*(longlong *)(puVar15 + 2) != 0) { + *(longlong *)(*(longlong *)(puVar15 + 2) + 8) = + *(longlong *)(*(longlong *)(puVar15 + 2) + 8) + 1; + local_res18 = *(undefined8 **)(puVar15 + 2); + } + while( true ) { + puVar5 = puVar14; + if (local_res18 != (undefined8 *)0x0) { + puVar5 = (uint *)*local_res18; + } + iVar9 = (int)puVar10; + if ((int)puVar5[0x38] <= iVar9) break; + puVar5 = puVar14; + if (local_res18 != (undefined8 *)0x0) { + puVar5 = (uint *)*local_res18; + } + if (((longlong)puVar11 < 0) || ((int)puVar5[0x38] <= iVar9)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(puVar10,puVar11,puVar17,param_4); + } + param_4 = *(longlong *)(puVar5 + 0x36); + if (DAT_1401550a8 < dVar21 - *(double *)((longlong)puVar17 + param_4 + 0x10)) { + uVar2 = *(uint *)((longlong)puVar17 + param_4); + puVar15 = puVar14; + if (local_res18 != (undefined8 *)0x0) { + puVar15 = (uint *)*local_res18; + } + puVar10 = puVar15 + 0x32; + iVar13 = 1; + if (iVar9 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar16 = puVar15[0x38]; + if ((int)(uVar16 - iVar9) < 2) { + iVar13 = uVar16 - iVar9; + } + uVar16 = (uVar16 - iVar13) - iVar9; + uVar18 = (ulonglong)uVar16; + if (0 < (int)uVar16) { + lVar20 = (longlong)(int)uVar16; + lVar19 = (longlong)puVar11 * 0x18; + do { + lVar6 = FUN_14003d690((longlong)puVar10); + lVar6 = lVar6 + (longlong)iVar13 * 0x18; + lVar7 = FUN_14003d690((longlong)puVar10); + *(undefined8 *)(lVar7 + lVar19) = *(undefined8 *)(lVar6 + lVar19); + *(undefined8 *)(lVar7 + 8 + lVar19) = *(undefined8 *)(lVar6 + 8 + lVar19); + *(undefined8 *)(lVar7 + 0x10 + lVar19) = *(undefined8 *)(lVar6 + 0x10 + lVar19); + lVar19 = lVar19 + 0x18; + lVar20 = lVar20 + -1; + } while (lVar20 != 0); + } + FUN_14003e6b0((longlong)puVar10,puVar15[0x38] - iVar13,uVar18,param_4); + puVar15 = puVar14; + if (local_res18 != (undefined8 *)0x0) { + puVar15 = (uint *)*local_res18; + } + uVar12 = (ulonglong)uVar2; + uVar8 = FUN_1400a17b0((longlong)(puVar15 + 0x32),uVar2); + if ((char)uVar8 == '\0') { + if (local_res18 != (undefined8 *)0x0) { + puVar14 = (uint *)*local_res18; + } + param_4 = 7; + uVar18 = (ulonglong)uVar2; + uVar12 = (ulonglong)*puVar14; + FUN_14005bc30((longlong)param_1,uVar12,uVar18,7); + } + if (local_res18 != (undefined8 *)0x0) { + plVar1 = local_res18 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + pvVar3 = (LPVOID)*local_res18; + if (pvVar3 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar3,uVar12,uVar18,param_4); + FUN_1400302f0(pvVar3); + } + FUN_1400302f0(local_res18); + } + } + goto LAB_14005cf28; + } + puVar10 = (uint *)(ulonglong)(iVar9 + 1); + puVar11 = (uint *)((longlong)puVar11 + 1); + puVar17 = puVar17 + 6; + } + if (local_res18 != (undefined8 *)0x0) { + plVar1 = local_res18 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + pvVar3 = (LPVOID)*local_res18; + if (pvVar3 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar3,puVar11,puVar17,param_4); + FUN_1400302f0(pvVar3); + } + FUN_1400302f0(local_res18); + } + } + if (puVar15 == (uint *)0x0) { + puVar15 = (uint *)0x0; + } + else { + puVar15 = *(uint **)(puVar15 + 4); + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005cf50.c b/decomp/Agent_Release_x64/full/functions/0x14005cf50.c new file mode 100644 index 00000000..6fa0524f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005cf50.c @@ -0,0 +1,1332 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005cf50 FUN_14005cf50 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Removing unreachable block (ram,0x00014005dbd1) */ +/* WARNING: Removing unreachable block (ram,0x00014005dbe4) */ +/* WARNING: Removing unreachable block (ram,0x00014005dc02) */ +/* WARNING: Removing unreachable block (ram,0x00014005e85d) */ + +undefined8 +FUN_14005cf50(longlong param_1,uint param_2,undefined8 param_3,undefined8 *param_4, + undefined4 param_5) + +{ + uint *puVar1; + undefined *puVar2; + int *piVar3; + undefined4 uVar4; + undefined4 uVar5; + void *pvVar6; + undefined **ppuVar7; + LPVOID pvVar8; + bool bVar9; + bool bVar10; + bool bVar11; + bool bVar12; + bool bVar13; + bool bVar14; + bool bVar15; + bool bVar16; + bool bVar17; + bool bVar18; + bool bVar19; + bool bVar20; + bool bVar21; + bool bVar22; + bool bVar23; + bool bVar24; + bool bVar25; + undefined4 uVar26; + undefined2 uVar27; + undefined ***pppuVar28; + short *psVar29; + undefined *puVar30; + int iVar31; + uint uVar32; + uint uVar33; + ulonglong uVar34; + ulonglong uVar35; + undefined8 uVar36; + uint *puVar37; + longlong *plVar38; + undefined8 *puVar39; + undefined4 *puVar40; + TypeDescriptor *pTVar41; + int *piVar42; + ulonglong uVar43; + TypeDescriptor *pTVar44; + undefined ***pppuVar45; + short **ppsVar46; + longlong lVar47; + uint **ppuVar48; + ulonglong uVar49; + void **ppvVar50; + TypeDescriptor *pTVar51; + TypeDescriptor *pTVar52; + undefined ***pppuVar53; + uint uVar54; + undefined ***pppuVar55; + ulonglong uVar56; + SIZE_T SVar57; + uint *puVar58; + undefined *puVar59; + short *psVar60; + TypeDescriptor *pTVar61; + undefined ***pppuVar62; + int *piVar63; + undefined1 auStack_708 [32]; + uint local_68c; + uint *local_688; + TypeDescriptor local_680; + undefined4 local_670; + longlong local_668; + undefined ***local_660; + undefined ***local_658; + undefined ***local_650; + undefined8 *local_648; + TypeDescriptor *local_640; + undefined4 local_638; + uint *local_630; + undefined4 local_628; + TypeDescriptor *local_620; + undefined4 local_618; + undefined4 local_614; + TypeDescriptor *local_610; + undefined ***local_608; + uint *local_5f8; + short *local_5f0; + undefined4 local_5e8; + undefined ***local_5e0; + undefined8 *local_5d8; + undefined4 local_5d0; + undefined *local_5c8; + undefined4 *local_5c0; + longlong local_5b8; + TypeDescriptor *local_5b0; + undefined **local_5a8; + undefined8 local_5a0; + TypeDescriptor *local_598; + undefined8 local_590; + undefined4 local_588; + undefined4 local_584; + undefined **local_580; + undefined8 local_578; + TypeDescriptor *local_570; + undefined8 local_568; + undefined4 local_560; + undefined4 local_55c; + undefined **local_558; + undefined8 local_550; + TypeDescriptor *local_548; + undefined8 local_540; + undefined4 local_538; + undefined4 local_534; + undefined **local_530; + undefined8 local_528; + TypeDescriptor *local_520; + undefined8 local_518; + undefined4 local_510; + undefined4 local_50c; + int *local_508; + undefined1 local_500; + TypeDescriptor *local_4f8; + void **local_4f0; + int *local_4e8; + undefined8 *local_4e0; + undefined **local_4d8; + undefined8 local_4d0; + undefined8 local_4c8; + undefined8 local_4c0; + undefined8 local_4b8; + undefined **local_4b0; + undefined8 local_4a8; + undefined8 local_4a0; + undefined8 local_498; + undefined8 local_490; + undefined **local_488; + undefined8 local_480; + undefined8 local_478; + undefined8 local_470; + undefined8 local_468; + undefined **local_460; + undefined8 local_458; + undefined8 local_450; + undefined8 local_448; + undefined8 local_440; + undefined **local_438; + undefined8 local_430; + undefined8 local_428; + undefined8 local_420; + undefined8 local_418; + undefined **local_410; + undefined8 local_408; + undefined8 local_400; + undefined8 local_3f8; + undefined8 local_3f0; + undefined ***local_3e8; + undefined1 local_3e0; + int *local_3d8; + undefined1 local_3d0; + undefined4 local_3b8; + undefined **local_3b0; + undefined4 local_3a8; + undefined2 local_3a4; + undefined **local_3a0; + undefined4 local_398; + undefined2 local_394; + undefined1 local_390; + undefined4 local_388; + undefined **local_380; + undefined4 local_378; + undefined2 local_374; + undefined **local_370; + undefined4 local_368; + undefined2 local_364; + undefined1 local_360; + undefined4 local_358; + undefined **local_350; + undefined4 local_348; + undefined2 local_344; + undefined **local_340; + undefined4 local_338; + undefined2 local_334; + undefined1 local_330; + undefined8 local_320; + undefined8 local_318 [2]; + undefined8 local_308 [36]; + undefined4 local_1e8; + undefined4 local_1e4; + undefined4 local_1e0; + undefined4 local_1dc; + undefined4 local_1d8; + undefined4 local_1d4; + undefined4 local_1d0; + undefined4 local_1cc; + undefined4 local_1c8; + undefined4 local_1c4; + undefined4 local_1c0; + undefined4 local_1bc; + undefined4 local_1b8; + undefined4 local_1b4; + undefined4 local_1b0; + undefined4 local_1ac; + uint local_1a8; + uint local_1a4; + undefined4 local_1a0; + int *local_198; + uint local_190; + undefined4 local_18c; + undefined4 local_188; + int *local_180; + undefined4 local_178 [72]; + ulonglong local_58; + + local_320 = 0xfffffffffffffffe; + local_58 = DAT_1401555a0 ^ (ulonglong)auStack_708; + local_680.spare._0_4_ = (uint)param_3; + pTVar51 = (TypeDescriptor *)0x0; + bVar24 = false; + bVar22 = false; + bVar20 = false; + bVar19 = false; + bVar17 = false; + bVar15 = false; + bVar13 = false; + ppuVar48 = &local_688; + puVar39 = param_4; + local_68c = param_2; + local_668 = param_1; + local_648 = param_4; + local_5b8 = param_1; + local_4e0 = param_4; + FUN_140057180(param_1,(longlong *)ppuVar48,(uint)local_680.spare); + if ((local_688 == (uint *)0x0) || (*(longlong *)local_688 == 0)) { + if ((local_688 != (uint *)0x0) && + (*(longlong *)(local_688 + 2) = *(longlong *)(local_688 + 2) + -1, + *(longlong *)(local_688 + 2) == 0)) { + pvVar8 = *(LPVOID *)local_688; + if (pvVar8 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar8,ppuVar48,param_3,puVar39); + FUN_1400302f0(pvVar8); + } + FUN_1400302f0(local_688); + } +LAB_14005ec1b: + uVar43 = FUN_14003b870(param_4); + return uVar43 & 0xffffffffffffff00; + } + local_670 = param_5; + uVar33 = *(uint *)(*(longlong *)local_688 + 0x30); + uVar56 = (ulonglong)local_68c; + uVar43 = uVar56 % (ulonglong)uVar33; + lVar47 = *(longlong *)(*(longlong *)local_688 + 0x10); + if (lVar47 != 0) { + for (puVar37 = *(uint **)(lVar47 + uVar43 * 8); + (puVar37 != (uint *)0x0 && ((uint)uVar43 == puVar37[10] % uVar33)); + puVar37 = *(uint **)(puVar37 + 6)) { + if (*puVar37 == local_68c) { + uVar36 = 0x11; + uVar43 = (ulonglong)(uint)local_680.spare; + FUN_14005bc30(param_1,uVar43,uVar56,0x11); + if ((local_688 != (uint *)0x0) && + (*(longlong *)(local_688 + 2) = *(longlong *)(local_688 + 2) + -1, + *(longlong *)(local_688 + 2) == 0)) { + pvVar8 = *(LPVOID *)local_688; + if (pvVar8 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar8,uVar43,uVar56,uVar36); + FUN_1400302f0(pvVar8); + } + FUN_1400302f0(local_688); + } + uVar36 = FUN_14003b870(param_4); + return CONCAT71((int7)((ulonglong)uVar36 >> 8),1); + } + } + } + if ((*(char *)(param_1 + 0x24c) == '\0') || (local_68c != 1)) { + uVar49 = (ulonglong)local_68c; + puVar37 = local_688; + uVar34 = FUN_140041ab0(param_1,local_68c); + if ((uVar34 == 0) || + ((pppuVar53 = (undefined ***)(uVar34 + 0x40), local_658 = pppuVar53, + pppuVar53 == (undefined ***)0x0 || + (uVar35 = FUN_140043a10(param_1,uVar34), uVar49 = uVar34, (char)uVar35 != '\0')))) { + *(longlong *)(puVar37 + 2) = *(longlong *)(puVar37 + 2) + -1; + if (*(longlong *)(local_688 + 2) == 0) { + pvVar8 = *(LPVOID *)local_688; + if (pvVar8 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar8,uVar49,uVar56,uVar43); + FUN_1400302f0(pvVar8); + } + FUN_1400302f0(local_688); + } + goto LAB_14005ec1b; + } + } + else { + pppuVar53 = (undefined ***)(param_1 + 0xb8); + local_658 = pppuVar53; + } + piVar63 = (int *)FUN_14003a420((char *)(param_1 + 0x760)); + uVar33 = local_68c; + bVar9 = false; + pTVar61 = pTVar51; + if (local_688 != (uint *)0x0) { + pTVar61 = *(TypeDescriptor **)local_688; + } + ppvVar50 = &pTVar61->spare; + uVar32 = *(uint *)&pTVar61[3].pVFTable; + uVar43 = (ulonglong)local_68c % (ulonglong)uVar32; + pvVar6 = pTVar61[1].pVFTable; + uVar54 = (uint)uVar43; + local_508 = piVar63; + local_4e8 = piVar63; + if (pvVar6 != (void *)0x0) { + for (puVar37 = *(uint **)((longlong)pvVar6 + uVar43 * 8); + (puVar37 != (uint *)0x0 && (uVar54 == puVar37[10] % uVar32)); + puVar37 = *(uint **)(puVar37 + 6)) { + if (*puVar37 == local_68c) goto LAB_14005d233; + } + if (pvVar6 != (void *)0x0) { + for (puVar37 = *(uint **)((longlong)pvVar6 + uVar43 * 8); + (puVar37 != (uint *)0x0 && (uVar54 == puVar37[10] % uVar32)); + puVar37 = *(uint **)(puVar37 + 6)) { + if (*puVar37 == local_68c) goto LAB_14005d21b; + } + } + } + if ((pvVar6 == (void *)0x0) && + (uVar36 = FUN_14003f710((longlong)ppvVar50,uVar32,'\x01'), (char)uVar36 == '\0')) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + FUN_140097020((char *)ppvVar50); + puVar37 = FUN_140041270((char *)ppvVar50,&local_68c,uVar54,uVar33); + FUN_140097020((char *)ppvVar50); +LAB_14005d21b: + *(int **)(puVar37 + 2) = local_508; + *(undefined ****)(puVar37 + 4) = pppuVar53; +LAB_14005d233: + local_630 = (uint *)0x0; + if (local_688 != (uint *)0x0) { + *(longlong *)(local_688 + 2) = *(longlong *)(local_688 + 2) + 1; + local_630 = local_688; + } + uVar33 = *(uint *)(pppuVar53 + 6); + pTVar61 = (TypeDescriptor *)(ulonglong)uVar33; + uVar43 = (ulonglong)(uint)local_680.spare % (ulonglong)pTVar61; + ppuVar7 = pppuVar53[2]; + uVar32 = (uint)uVar43; + if (ppuVar7 != (undefined **)0x0) { + for (puVar37 = (uint *)ppuVar7[uVar43]; + (puVar37 != (uint *)0x0 && (uVar32 == puVar37[8] % uVar33)); + puVar37 = *(uint **)(puVar37 + 4)) { + if (*puVar37 == (uint)local_680.spare) goto LAB_14005d3b4; + } + if (ppuVar7 != (undefined **)0x0) { + puVar37 = (uint *)ppuVar7[uVar43]; + while ((puVar37 != (uint *)0x0 && + (ppvVar50 = (void **)((ulonglong)puVar37[8] % (ulonglong)pTVar61), + uVar32 == (uint)ppvVar50))) { + if (*puVar37 == (uint)local_680.spare) goto LAB_14005d32e; + puVar37 = *(uint **)(puVar37 + 4); + } + if (ppuVar7 != (undefined **)0x0) goto LAB_14005d2f5; + } + } + uVar36 = FUN_14003f710((longlong)(pppuVar53 + 1),uVar33,'\x01'); + if ((char)uVar36 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } +LAB_14005d2f5: + FUN_14003d560((char *)(pppuVar53 + 1)); + pTVar61 = (TypeDescriptor *)(ulonglong)(uint)local_680.spare; + ppvVar50 = &local_680.spare; + puVar37 = FUN_140058870((char *)(pppuVar53 + 1),(undefined4 *)ppvVar50,uVar32, + (uint)local_680.spare); + FUN_14003d560((char *)(pppuVar53 + 1)); +LAB_14005d32e: + if (local_630 != *(uint **)(puVar37 + 2)) { + if (local_630 != (uint *)0x0) { + *(longlong *)(local_630 + 2) = *(longlong *)(local_630 + 2) + 1; + } + pTVar52 = pTVar51; + if ((*(longlong *)(puVar37 + 2) != 0) && + (*(longlong *)(*(longlong *)(puVar37 + 2) + 8) = + *(longlong *)(*(longlong *)(puVar37 + 2) + 8) + -1, + *(longlong *)(*(longlong *)(puVar37 + 2) + 8) == 0)) { + pTVar52 = *(TypeDescriptor **)(puVar37 + 2); + } + *(uint **)(puVar37 + 2) = local_630; + if (pTVar52 != (TypeDescriptor *)0x0) { + pvVar8 = pTVar52->pVFTable; + if (pvVar8 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar8,ppvVar50,local_688,pTVar61); + FUN_1400302f0(pvVar8); + } + FUN_1400302f0(pTVar52); + } + } +LAB_14005d3b4: + bVar25 = false; + bVar23 = false; + bVar21 = false; + bVar18 = false; + bVar16 = false; + bVar14 = false; + bVar12 = false; + pTVar52 = pTVar51; + if (local_688 != (uint *)0x0) { + pTVar52 = *(TypeDescriptor **)local_688; + } + local_5b0 = (TypeDescriptor *)&pTVar52->spare; + local_4f8 = pTVar51; + local_4f0 = (void **)local_5b0; + if (pTVar52[2].spare != (void *)0x0) { + local_4f8 = pTVar52[1].spare; + } + do { + pTVar52 = pTVar51; + if (local_688 != (uint *)0x0) { + pTVar52 = *(TypeDescriptor **)local_688; + } + local_620 = local_4f8; + if ((local_4f8 == (TypeDescriptor *)0x0) && (local_5b0 == (TypeDescriptor *)&pTVar52->spare)) { + if (local_688 != (uint *)0x0) { + pTVar51 = *(TypeDescriptor **)local_688; + } + puVar37 = local_688; + FUN_14004c590(param_1,(uint *)pTVar51,(longlong)local_688,pTVar61); + if (!bVar9) { + pTVar61 = (TypeDescriptor *)0x0; + puVar37 = (uint *)0x1; + pTVar51 = (TypeDescriptor *)(ulonglong)(uint)local_680.spare; + FUN_14005bc30(param_1,pTVar51,1,0); + } + puVar58 = local_630; + if (local_630 != (uint *)0x0) { + puVar1 = local_630 + 2; + *(longlong *)puVar1 = *(longlong *)puVar1 + -1; + if (*(longlong *)puVar1 == 0) { + pvVar8 = *(LPVOID *)local_630; + if (pvVar8 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar8,pTVar51,puVar37,pTVar61); + FUN_1400302f0(pvVar8); + } + FUN_1400302f0(puVar58); + } + } + if ((local_688 != (uint *)0x0) && + (*(longlong *)(local_688 + 2) = *(longlong *)(local_688 + 2) + -1, + *(longlong *)(local_688 + 2) == 0)) { + pvVar8 = *(LPVOID *)local_688; + if (pvVar8 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar8,pTVar51,puVar37,pTVar61); + FUN_1400302f0(pvVar8); + } + FUN_1400302f0(local_688); + } + uVar36 = FUN_14003b870(local_648); + return CONCAT71((int7)((ulonglong)uVar36 >> 8),1); + } + if (local_4f8 == (TypeDescriptor *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + pppuVar53 = local_4f8[1].pVFTable; + pTVar52 = local_5b0; + puVar37 = local_688; + local_660 = pppuVar53; + if (pppuVar53 != (undefined ***)(param_1 + 0xb8)) { + local_190 = local_68c; + local_18c = (*(code *)**pppuVar53)(pppuVar53); + local_188 = local_670; + pTVar44 = pTVar51; + if (local_688 != (uint *)0x0) { + pTVar44 = *(TypeDescriptor **)local_688; + } + pTVar61 = (TypeDescriptor *)0x1; + puVar37 = &local_190; + pTVar52 = (TypeDescriptor *)(ulonglong)*(uint *)&pTVar44[0xe].pVFTable; + local_180 = piVar63; + FUN_14003f130((longlong)&pTVar44[0xc].spare,*(uint *)&pTVar44[0xe].pVFTable,(longlong)puVar37, + 1); + bVar9 = true; + } + if ((local_658 != (undefined ***)(param_1 + 0xb8)) && (local_658 != pppuVar53)) { + local_1a8 = (*(code *)**pppuVar53)(pppuVar53); + local_1a4 = local_68c; + local_1a0 = local_670; + pTVar44 = pTVar51; + if (local_688 != (uint *)0x0) { + pTVar44 = *(TypeDescriptor **)local_688; + } + pTVar61 = (TypeDescriptor *)0x1; + puVar37 = &local_1a8; + pTVar52 = (TypeDescriptor *)(ulonglong)*(uint *)&pTVar44[0xe].pVFTable; + local_198 = piVar63; + FUN_14003f130((longlong)&pTVar44[0xc].spare,*(uint *)&pTVar44[0xe].pVFTable,(longlong)puVar37, + 1); + bVar9 = true; + } + bVar11 = false; + local_680.pVFTable = (TypeDescriptor *)0x0; + pppuVar45 = pppuVar53; + iVar31 = (*(code *)**pppuVar53)(); + pTVar44 = pTVar51; + bVar10 = false; + if ((iVar31 != 1) && + (pppuVar45 = local_658, iVar31 = (*(code *)**local_658)(), pppuVar28 = local_658, iVar31 != 1 + )) { + pppuVar62 = local_658 + -8; + pppuVar55 = (undefined ***)(local_668 + 0x2d8); + pTVar61 = (TypeDescriptor *)(ulonglong)*(uint *)(local_658 + 0xd7); + puVar37 = (uint *)(ulonglong)*(uint *)(pppuVar53 + 0xd7); + pppuVar45 = pppuVar55; + local_650 = pppuVar53 + -8; + local_608 = pppuVar62; + plVar38 = FUN_14004ffa0((longlong)pppuVar55,(longlong *)&local_5e0,*(uint *)(pppuVar53 + 0xd7) + ,*(uint *)(local_658 + 0xd7)); + pTVar52 = (TypeDescriptor *)0x0; + if (*plVar38 != 0) { + pTVar52 = (TypeDescriptor *)(*(longlong *)(*plVar38 + 8) + 1); + pppuVar45 = (undefined ***)*plVar38; + pppuVar45[1] = (undefined **)pTVar52; + pTVar44 = (TypeDescriptor *)*plVar38; + local_680.pVFTable = pTVar44; + bVar12 = bVar13; + bVar14 = bVar15; + bVar16 = bVar17; + bVar18 = bVar19; + bVar21 = bVar20; + bVar23 = bVar22; + bVar25 = bVar24; + } + if (local_5e0 != (undefined ***)0x0) { + local_5e0[1] = (undefined **)((longlong)local_5e0[1] + -1); + pppuVar45 = (undefined ***)local_5e0[1]; + pTVar44 = local_680.pVFTable; + bVar12 = bVar13; + bVar14 = bVar15; + bVar16 = bVar17; + bVar18 = bVar19; + bVar21 = bVar20; + bVar23 = bVar22; + bVar25 = bVar24; + if (pppuVar45 == (undefined ***)0x0) { + pppuVar45 = local_5e0; + FUN_140041080(local_5e0); + pTVar44 = local_680.pVFTable; + } + } + if ((pTVar44 == (TypeDescriptor *)0x0) || (pTVar44->pVFTable == (void *)0x0)) { + uVar43 = (ulonglong)*(uint *)(pppuVar28 + 0xd7); + SVar57 = (SIZE_T)*(uint *)(pppuVar53 + 0xd7); + plVar38 = FUN_140054f40((longlong)pppuVar55,(longlong *)&local_5d8, + *(uint *)(pppuVar53 + 0xd7),*(uint *)(pppuVar28 + 0xd7),'\x01'); + pTVar61 = (TypeDescriptor *)*plVar38; + if (pTVar61 != pTVar44) { + if (pTVar61 != (TypeDescriptor *)0x0) { + *(longlong *)(*plVar38 + 8) = (longlong)pTVar61->spare + 1; + pTVar44 = local_680.pVFTable; + bVar12 = bVar13; + bVar14 = bVar15; + bVar16 = bVar17; + bVar18 = bVar19; + bVar21 = bVar20; + bVar23 = bVar22; + bVar25 = bVar24; + } + pTVar61 = pTVar51; + if (pTVar44 != (TypeDescriptor *)0x0) { + ppvVar50 = &pTVar44->spare; + *ppvVar50 = (void *)((longlong)*ppvVar50 + -1); + bVar12 = bVar13; + bVar14 = bVar15; + bVar16 = bVar17; + bVar18 = bVar19; + bVar21 = bVar20; + bVar23 = bVar22; + bVar25 = bVar24; + if (*ppvVar50 == (void *)0x0) { + pTVar61 = local_680.pVFTable; + } + } + pTVar44 = (TypeDescriptor *)*plVar38; + local_680.pVFTable = pTVar44; + if (pTVar61 != (TypeDescriptor *)0x0) { + FUN_140041080(&pTVar61->pVFTable); + } + } + if ((local_5d8 != (undefined8 *)0x0) && + (local_5d8[1] = local_5d8[1] + -1, pTVar44 = local_680.pVFTable, bVar12 = bVar13, + bVar14 = bVar15, bVar16 = bVar17, bVar18 = bVar19, bVar21 = bVar20, bVar23 = bVar22, + bVar25 = bVar24, local_5d8[1] == 0)) { + FUN_140041080(local_5d8); + pTVar44 = local_680.pVFTable; + } + if (((pTVar44 == (TypeDescriptor *)0x0) || (pTVar44->pVFTable == (void *)0x0)) || + (DAT_1401550e0 < (double)piVar63 - *(double *)((longlong)pTVar44->pVFTable + 400))) { + puVar39 = operator_new(0x1b0); + if (puVar39 == (undefined8 *)0x0) { +LAB_14005d85c: + local_610 = (TypeDescriptor *)0x0; + } + else { + SVar57 = CONCAT71((int7)(SVar57 >> 8), + *(int *)(pppuVar53 + 0xd7) == *(int *)(pppuVar28 + 0xd7)); + puVar39 = FUN_14003fdd0(puVar39,local_668, + *(int *)(pppuVar53 + 0xd7) == *(int *)(pppuVar28 + 0xd7)); + if (puVar39 == (undefined8 *)0x0) goto LAB_14005d85c; + local_610 = (TypeDescriptor *)FUN_140030280(0x10); + local_610->spare = (void *)0x1; + local_610->pVFTable = puVar39; + } + pTVar61 = local_610; + if (local_610 != pTVar44) { + if (local_610 != (TypeDescriptor *)0x0) { + local_610->spare = (void *)((longlong)local_610->spare + 1); + pTVar44 = local_680.pVFTable; + bVar12 = bVar13; + bVar14 = bVar15; + bVar16 = bVar17; + bVar18 = bVar19; + bVar21 = bVar20; + bVar23 = bVar22; + bVar25 = bVar24; + } + pTVar52 = pTVar51; + if (pTVar44 != (TypeDescriptor *)0x0) { + ppvVar50 = &pTVar44->spare; + *ppvVar50 = (void *)((longlong)*ppvVar50 + -1); + bVar12 = bVar13; + bVar14 = bVar15; + bVar16 = bVar17; + bVar18 = bVar19; + bVar21 = bVar20; + bVar23 = bVar22; + bVar25 = bVar24; + if (*ppvVar50 == (void *)0x0) { + pTVar52 = local_680.pVFTable; + } + } + pTVar44 = pTVar61; + local_680.pVFTable = local_610; + if (pTVar52 != (TypeDescriptor *)0x0) { + FUN_140041080(&pTVar52->pVFTable); + } + } + if (pTVar61 != (TypeDescriptor *)0x0) { + ppvVar50 = &pTVar61->spare; + *ppvVar50 = (void *)((longlong)*ppvVar50 + -1); + pTVar44 = local_680.pVFTable; + bVar12 = bVar13; + bVar14 = bVar15; + bVar16 = bVar17; + bVar18 = bVar19; + bVar21 = bVar20; + bVar23 = bVar22; + bVar25 = bVar24; + if (*ppvVar50 == (void *)0x0) { + FUN_140041080(&local_610->pVFTable); + pTVar44 = local_680.pVFTable; + } + } + lVar47 = local_668; + uVar27 = DAT_1401553d4; + uVar26 = DAT_1401553d0; + pTVar61 = pTVar51; + if (pTVar44 != (TypeDescriptor *)0x0) { + pTVar61 = pTVar44->pVFTable; + } + if (*(char *)&pTVar61->spare != '\x01') { + *(undefined4 *)&pTVar61[1].pVFTable = 0; + *(undefined4 *)&pTVar61[2].pVFTable = uVar26; + *(undefined2 *)((longlong)&pTVar61[2].pVFTable + 4) = uVar27; + *(undefined4 *)&pTVar61[3].pVFTable = uVar26; + *(undefined2 *)((longlong)&pTVar61[3].pVFTable + 4) = uVar27; + *(undefined1 *)&pTVar61[3].spare = 0; + uVar27 = DAT_1401553d4; + uVar26 = DAT_1401553d0; + local_350 = Proud::AddrPort::vftable; + local_340 = Proud::AddrPort::vftable; + local_358 = 0; + local_330 = 0; + local_348 = DAT_1401553d0; + local_344 = DAT_1401553d4; + local_338 = DAT_1401553d0; + local_334 = DAT_1401553d4; + *(undefined4 *)&pTVar61[4].pVFTable = 0; + *(undefined4 *)&pTVar61[5].pVFTable = uVar26; + *(undefined2 *)((longlong)&pTVar61[5].pVFTable + 4) = uVar27; + *(undefined4 *)&pTVar61[6].pVFTable = uVar26; + *(undefined2 *)((longlong)&pTVar61[6].pVFTable + 4) = uVar27; + *(undefined1 *)&pTVar61[6].spare = 0; + *(undefined1 *)&pTVar61->spare = 1; + } + if (*(char *)(local_668 + 0x24d) == '\0') { + local_4a8 = 0; + local_4a0 = 0; + local_498 = 0; + local_490 = 0; + local_4b0 = Proud::ByteArray::vftable; + pTVar61 = pTVar51; + if (pTVar44 != (TypeDescriptor *)0x0) { + pTVar61 = pTVar44->pVFTable; + } + FUN_14003bf90((longlong)(pTVar61 + 0x12),(longlong)&local_4b0,SVar57); + FUN_14003b870(&local_4b0); + local_480 = 0; + local_478 = 0; + local_470 = 0; + local_468 = 0; + local_488 = Proud::ByteArray::vftable; + pTVar61 = pTVar51; + if (pTVar44 != (TypeDescriptor *)0x0) { + pTVar61 = pTVar44->pVFTable; + } + FUN_14003bf90((longlong)&pTVar61[0x14].spare,(longlong)&local_488,SVar57); + FUN_14003b870(&local_488); + } + else { + pTVar61 = pTVar51; + if (pTVar44 != (TypeDescriptor *)0x0) { + pTVar61 = pTVar44->pVFTable; + } + FUN_1400a0f70((longlong)(pTVar61 + 0x12),*(int *)(local_668 + 0x244),SVar57,uVar43); + pTVar61 = pTVar51; + if (pTVar44 != (TypeDescriptor *)0x0) { + pTVar61 = pTVar44->pVFTable; + } + FUN_1400a0f70((longlong)&pTVar61[0x14].spare,*(int *)(lVar47 + 0x248),SVar57,uVar43); + } + pTVar61 = pTVar51; + if (pTVar44 != (TypeDescriptor *)0x0) { + pTVar61 = pTVar44->pVFTable; + } + iVar31 = FUN_1400a2960(lVar47 + 0xcd0); + *(int *)&pTVar61[0x17].pVFTable = iVar31; + pTVar61 = pTVar51; + if (pTVar44 != (TypeDescriptor *)0x0) { + pTVar61 = pTVar44->pVFTable; + } + puVar40 = FUN_14003a2a0(lVar47 + 0xcd0,local_178); + *(undefined4 *)((longlong)&pTVar61[0x17].pVFTable + 4) = *puVar40; + *(undefined4 *)&pTVar61[0x17].spare = puVar40[1]; + *(undefined4 *)((longlong)&pTVar61[0x17].spare + 4) = puVar40[2]; + *(undefined4 *)&pTVar61[0x18].pVFTable = puVar40[3]; + bVar10 = false; + pppuVar55 = local_660; + } + else { + bVar10 = true; + bVar11 = true; + pppuVar55 = pppuVar53; + } + pTVar61 = pTVar51; + if (pTVar44 != (TypeDescriptor *)0x0) { + pTVar61 = pTVar44->pVFTable; + } + *(undefined4 *)((longlong)&pTVar61[0x11].pVFTable + 4) = 1; + local_640 = (TypeDescriptor *)0x0; + if (pTVar44 != (TypeDescriptor *)0x0) { + pTVar44->spare = (void *)((longlong)pTVar44->spare + 1); + local_640 = local_680.pVFTable; + bVar12 = bVar13; + bVar14 = bVar15; + bVar16 = bVar17; + bVar18 = bVar19; + bVar21 = bVar20; + bVar23 = bVar22; + bVar25 = bVar24; + } + pTVar44 = local_640; + FUN_140056900((char *)(local_668 + 0x2d8),(longlong)(pppuVar53 + -8),(longlong)pppuVar62, + (longlong *)&local_640); + uVar27 = DAT_1401553d4; + uVar26 = DAT_1401553d0; + pTVar61 = pTVar51; + if (pTVar44 != (TypeDescriptor *)0x0) { + pTVar61 = pTVar44->pVFTable; + } + uVar4 = *(undefined4 *)(pppuVar28 + 0xd7); + uVar5 = *(undefined4 *)(pppuVar53 + 0xd7); + local_380 = Proud::AddrPort::vftable; + local_370 = Proud::AddrPort::vftable; + local_388 = 0; + local_360 = 0; + local_378 = DAT_1401553d0; + local_374 = DAT_1401553d4; + local_368 = DAT_1401553d0; + local_364 = DAT_1401553d4; + *(undefined4 *)&pTVar61[2].pVFTable = DAT_1401553d0; + *(undefined2 *)((longlong)&pTVar61[2].pVFTable + 4) = uVar27; + *(undefined4 *)&pTVar61[3].pVFTable = uVar26; + *(undefined2 *)((longlong)&pTVar61[3].pVFTable + 4) = uVar27; + *(undefined1 *)&pTVar61[3].spare = 0; + *(undefined1 *)&pTVar61[3].spare = 0; + *(undefined4 *)&pTVar61[1].pVFTable = uVar5; + uVar27 = DAT_1401553d4; + uVar26 = DAT_1401553d0; + local_3b0 = Proud::AddrPort::vftable; + local_3a0 = Proud::AddrPort::vftable; + local_3b8 = 0; + local_390 = 0; + local_3a8 = DAT_1401553d0; + local_3a4 = DAT_1401553d4; + local_398 = DAT_1401553d0; + local_394 = DAT_1401553d4; + *(undefined4 *)&pTVar61[5].pVFTable = DAT_1401553d0; + *(undefined2 *)((longlong)&pTVar61[5].pVFTable + 4) = uVar27; + *(undefined4 *)&pTVar61[6].pVFTable = uVar26; + *(undefined2 *)((longlong)&pTVar61[6].pVFTable + 4) = uVar27; + *(undefined1 *)&pTVar61[6].spare = 0; + *(undefined1 *)&pTVar61[6].spare = 0; + *(undefined4 *)&pTVar61[4].pVFTable = uVar4; + *(undefined1 *)&pTVar61[0x1a].pVFTable = 1; + pTVar61 = pTVar51; + if (pTVar44 != (TypeDescriptor *)0x0) { + pTVar61 = pTVar44->pVFTable; + } + uVar43 = ((ulonglong)pTVar61 & 0xffffffff) % (ulonglong)*(uint *)(pppuVar53 + 0xd1); + if (pppuVar53[0xcd] != (undefined **)0x0) { + for (puVar39 = (undefined8 *)pppuVar53[0xcd][uVar43]; + (puVar39 != (undefined8 *)0x0 && + ((uint)uVar43 == *(uint *)(puVar39 + 4) % *(uint *)(pppuVar53 + 0xd1))); + puVar39 = (undefined8 *)puVar39[2]) { + pTVar61 = pTVar51; + if ((undefined8 *)*puVar39 != (undefined8 *)0x0) { + pTVar61 = *(TypeDescriptor **)*puVar39; + } + pTVar52 = pTVar51; + if (pTVar44 != (TypeDescriptor *)0x0) { + pTVar52 = pTVar44->pVFTable; + } + if (pTVar61 == pTVar52) goto LAB_14005ddb2; + } + } + plVar38 = FUN_140055170((char *)(pppuVar53 + 0xcc),(longlong *)&local_680); + *(undefined1 *)plVar38 = 0; +LAB_14005ddb2: + pTVar52 = pTVar51; + if (pTVar44 != (TypeDescriptor *)0x0) { + pTVar52 = pTVar44->pVFTable; + } + pTVar61 = (TypeDescriptor *)(ulonglong)*(uint *)(pppuVar28 + 0xd1); + puVar37 = (uint *)(((ulonglong)pTVar52 & 0xffffffff) % (ulonglong)pTVar61); + if (pppuVar28[0xcd] != (undefined **)0x0) { + for (pppuVar45 = (undefined ***)pppuVar28[0xcd][(longlong)puVar37]; + (pppuVar45 != (undefined ***)0x0 && + ((uint)puVar37 == *(uint *)(pppuVar45 + 4) % *(uint *)(pppuVar28 + 0xd1))); + pppuVar45 = (undefined ***)pppuVar45[2]) { + pTVar52 = pTVar51; + if (*pppuVar45 != (undefined **)0x0) { + pTVar52 = (TypeDescriptor *)**pppuVar45; + } + pTVar41 = pTVar51; + if (pTVar44 != (TypeDescriptor *)0x0) { + pTVar41 = pTVar44->pVFTable; + } + if (pTVar52 == pTVar41) goto LAB_14005de32; + } + } + pTVar52 = &local_680; + pppuVar45 = pppuVar28 + 0xcc; + plVar38 = FUN_140055170((char *)pppuVar45,(longlong *)pTVar52); + *(undefined1 *)plVar38 = 0; +LAB_14005de32: + param_1 = local_668; + pppuVar53 = pppuVar55; + if (*(longlong *)(local_668 + 0x17f0) != 0) { + FUN_140030200(pppuVar45,pTVar52,puVar37,pTVar61); + local_5f8 = (uint *)PTR_DAT_140155010; + uVar33 = (*(code *)**local_658)(); + uVar32 = (*(code *)**pppuVar55)(pppuVar55); + pTVar61 = (TypeDescriptor *)(ulonglong)uVar33; + FUN_14001b7a0((longlong *)&local_5f8,L"%d와 %d간의 P2P 쌍 준비",(ulonglong)uVar32, + pTVar61); + puVar58 = local_5f8; + puVar37 = local_5f8; + if (local_5f8 == (uint *)0x0) { + puVar37 = (uint *)PTR_DAT_140155010; + } + pTVar52 = (TypeDescriptor *)0x1; + pppuVar45 = *(undefined ****)(param_1 + 0x17f0); + FUN_14008f2e0((longlong)pppuVar45,1,(short *)puVar37,pTVar61); + if (((puVar58 != (uint *)0x0) && (puVar58 != (uint *)PTR_DAT_140155010)) && + (puVar58 + -2 != (uint *)0x0)) { + pppuVar45 = (undefined ***)FUN_140030200(pppuVar45,pTVar52,puVar37,pTVar61); + local_3e8 = pppuVar45; + FUN_14002e6e0((int *)pppuVar45); + local_3e0 = 1; + puVar1 = puVar58 + -1; + *puVar1 = *puVar1 - 1; + if (*puVar1 == 0) { + FUN_1400302f0(puVar58 + -2); + } + FUN_14002e770((longlong)pppuVar45); + local_3e0 = 0; + pppuVar53 = local_660; + } + local_5f8 = (uint *)PTR_DAT_140155010; + bVar10 = bVar11; + } + } + else { + piVar3 = (int *)((longlong)pTVar44->pVFTable + 0x114); + *piVar3 = *piVar3 + 1; + param_1 = local_668; + bVar10 = bVar11; + } + } + if (pppuVar53 != (undefined ***)(param_1 + 0xb8)) { + if (((bVar10) && (pTVar44 != (TypeDescriptor *)0x0)) && (pTVar44->pVFTable != (void *)0x0)) { + pvVar6 = pTVar44->pVFTable; + uVar33 = (*(code *)**pppuVar53)(pppuVar53); + puVar37 = (uint *)(ulonglong)uVar33; + FUN_14003cbb0((longlong)pvVar6,local_318,uVar33); + } + if (*(char *)(param_1 + 0x24d) == '\0') { + if ((pTVar44 == (TypeDescriptor *)0x0) || (pTVar44->pVFTable == (void *)0x0)) { + local_1c8 = 0; + local_1c4 = 0; + local_1c0 = 0; + local_1bc = 0; + local_650 = (undefined ***)&local_1c8; + } + else { + local_650 = (undefined ***)((longlong)pTVar44->pVFTable + 0x174); + } + if ((pTVar44 == (TypeDescriptor *)0x0) || (pTVar44->pVFTable == (void *)0x0)) { + local_618 = 0; + } + else { + local_618 = *(undefined4 *)((longlong)pTVar44->pVFTable + 0x170); + } + pTVar61 = pTVar51; + if (local_688 != (uint *)0x0) { + pTVar61 = *(TypeDescriptor **)local_688; + } + pppuVar45 = (undefined ***)(param_1 + 0x4a8); + ppuVar7 = *pppuVar45; + uVar33 = (*(code *)**local_660)(); + pTVar52 = (TypeDescriptor *)(ulonglong)uVar33; + puVar37 = (uint *)&DAT_14015de10; + (*(code *)ppuVar7[8])(); + pppuVar53 = local_660; + param_1 = local_668; + } + else { + if ((pTVar44 == (TypeDescriptor *)0x0) || (pTVar44->pVFTable == (void *)0x0)) { + local_1d8 = 0; + local_1d4 = 0; + local_1d0 = 0; + local_1cc = 0; + local_5c0 = &local_1d8; + } + else { + local_5c0 = (undefined4 *)((longlong)pTVar44->pVFTable + 0x174); + } + if ((pTVar44 == (TypeDescriptor *)0x0) || (pTVar44->pVFTable == (void *)0x0)) { + local_638 = 0; + } + else { + local_638 = *(undefined4 *)((longlong)pTVar44->pVFTable + 0x170); + } + if ((pTVar44 == (TypeDescriptor *)0x0) || + (pvVar6 = pTVar44->pVFTable, pvVar6 == (void *)0x0)) { + local_408 = 0; + local_400 = 0; + local_3f8 = 0; + local_3f0 = 0; + local_410 = Proud::ByteArray::vftable; + local_608 = &local_410; + bVar18 = true; + } + else { + local_530 = Proud::CFastArray::vftable; + puVar58 = puVar37; + if (DAT_1401558a0 != 5) { + FUN_14003b760(); + puVar58 = puVar37; + } + local_528 = *(undefined8 *)((longlong)pvVar6 + 0x150); + local_50c = *(undefined4 *)((longlong)pvVar6 + 0x16c); + local_520 = (TypeDescriptor *)0x0; + local_518 = 0; + local_510 = 0; + iVar31 = *(int *)((longlong)pvVar6 + 0x160); + puVar37 = (uint *)(longlong)iVar31; + if (iVar31 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14001bc70((longlong)&local_530,iVar31,(SIZE_T)puVar58); + pTVar61 = pTVar51; + if (*(int *)((longlong)pvVar6 + 0x160) != 0) { + pTVar61 = *(TypeDescriptor **)((longlong)pvVar6 + 0x158); + } + pTVar52 = local_520; + if ((int)local_518 == 0) { + pTVar52 = pTVar51; + } + FUN_14001bd30(&pTVar52->pVFTable,&pTVar61->pVFTable,(size_t)puVar37); + local_530 = Proud::ByteArray::vftable; + local_608 = &local_530; + bVar12 = true; + } + if ((pTVar44 == (TypeDescriptor *)0x0) || + (pvVar6 = pTVar44->pVFTable, pvVar6 == (void *)0x0)) { + local_458 = 0; + local_450 = 0; + local_448 = 0; + local_440 = 0; + local_460 = Proud::ByteArray::vftable; + local_650 = &local_460; + bVar14 = true; + } + else { + local_580 = Proud::CFastArray::vftable; + if (DAT_1401558a0 != 5) { + FUN_14003b760(); + } + local_578 = *(undefined8 *)((longlong)pvVar6 + 0x128); + local_55c = *(undefined4 *)((longlong)pvVar6 + 0x144); + local_570 = (TypeDescriptor *)0x0; + local_568 = 0; + local_560 = 0; + iVar31 = *(int *)((longlong)pvVar6 + 0x138); + if (iVar31 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14001bc70((longlong)&local_580,iVar31,(SIZE_T)puVar37); + pTVar61 = pTVar51; + if (*(int *)((longlong)pvVar6 + 0x138) != 0) { + pTVar61 = *(TypeDescriptor **)((longlong)pvVar6 + 0x130); + } + pTVar52 = local_570; + if ((int)local_568 == 0) { + pTVar52 = pTVar51; + } + FUN_14001bd30(&pTVar52->pVFTable,&pTVar61->pVFTable,(longlong)iVar31); + local_580 = Proud::ByteArray::vftable; + local_650 = &local_580; + bVar16 = true; + } + pTVar61 = pTVar51; + if (local_688 != (uint *)0x0) { + pTVar61 = *(TypeDescriptor **)local_688; + } + pppuVar45 = (undefined ***)(param_1 + 0x4a8); + ppuVar7 = *pppuVar45; + uVar33 = (*(code *)**local_660)(); + pTVar52 = (TypeDescriptor *)(ulonglong)uVar33; + puVar37 = (uint *)&DAT_14015ded0; + (*(code *)ppuVar7[6])(); + if (bVar14) { + bVar14 = false; + pppuVar45 = &local_460; + FUN_14003b870(pppuVar45); + } + if (bVar16) { + bVar16 = false; + pppuVar45 = &local_580; + FUN_14003b870(pppuVar45); + } + if (bVar18) { + bVar18 = false; + pppuVar45 = &local_410; + FUN_14003b870(pppuVar45); + } + pppuVar53 = local_660; + param_1 = local_668; + bVar13 = bVar12; + bVar15 = bVar14; + bVar17 = bVar16; + bVar19 = bVar18; + bVar20 = bVar21; + bVar22 = bVar23; + bVar24 = bVar25; + if (bVar12) { + bVar12 = false; + pppuVar45 = &local_530; + FUN_14003b870(pppuVar45); + pppuVar53 = local_660; + param_1 = local_668; + bVar13 = bVar12; + } + } + } + if ((pppuVar53 != local_658) && (puVar37 = (uint *)(ulonglong)local_68c, local_68c != 1)) { + if ((bVar11) && ((pTVar44 != (TypeDescriptor *)0x0 && (pTVar44->pVFTable != (void *)0x0)))) { + FUN_14003cbb0((longlong)pTVar44->pVFTable,local_308,local_68c); + } + if (*(char *)(param_1 + 0x24d) == '\0') { + if ((pTVar44 == (TypeDescriptor *)0x0) || (pTVar44->pVFTable == (void *)0x0)) { + local_1e8 = 0; + local_1e4 = 0; + local_1e0 = 0; + local_1dc = 0; + } + if ((pTVar44 == (TypeDescriptor *)0x0) || (pTVar44->pVFTable == (void *)0x0)) { + local_628 = 0; + } + else { + local_628 = *(undefined4 *)((longlong)pTVar44->pVFTable + 0x170); + } + local_5e8 = (*(code *)**pppuVar53)(pppuVar53); + pTVar61 = pTVar51; + if (local_688 != (uint *)0x0) { + pTVar61 = *(TypeDescriptor **)local_688; + } + pppuVar45 = (undefined ***)(param_1 + 0x4a8); + puVar37 = (uint *)&DAT_14015de10; + pTVar52 = (TypeDescriptor *)(ulonglong)local_68c; + (*(code *)(*pppuVar45)[8])(); + } + else { + if ((pTVar44 == (TypeDescriptor *)0x0) || (pTVar44->pVFTable == (void *)0x0)) { + local_1b8 = 0; + local_1b4 = 0; + local_1b0 = 0; + local_1ac = 0; + } + if ((pTVar44 == (TypeDescriptor *)0x0) || (pTVar44->pVFTable == (void *)0x0)) { + local_614 = 0; + } + else { + local_614 = *(undefined4 *)((longlong)pTVar44->pVFTable + 0x170); + } + if ((pTVar44 == (TypeDescriptor *)0x0) || + (pvVar6 = pTVar44->pVFTable, pvVar6 == (void *)0x0)) { + local_4d0 = 0; + local_4c8 = 0; + local_4c0 = 0; + local_4b8 = 0; + local_4d8 = Proud::ByteArray::vftable; + bVar22 = true; + bVar24 = bVar25; + } + else { + local_558 = Proud::CFastArray::vftable; + puVar58 = puVar37; + if (DAT_1401558a0 != 5) { + FUN_14003b760(); + puVar58 = puVar37; + } + local_550 = *(undefined8 *)((longlong)pvVar6 + 0x150); + local_534 = *(undefined4 *)((longlong)pvVar6 + 0x16c); + local_548 = (TypeDescriptor *)0x0; + local_540 = 0; + local_538 = 0; + iVar31 = *(int *)((longlong)pvVar6 + 0x160); + puVar37 = (uint *)(longlong)iVar31; + if (iVar31 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14001bc70((longlong)&local_558,iVar31,(SIZE_T)puVar58); + pTVar61 = pTVar51; + if (*(int *)((longlong)pvVar6 + 0x160) != 0) { + pTVar61 = *(TypeDescriptor **)((longlong)pvVar6 + 0x158); + } + pTVar52 = local_548; + if ((int)local_540 == 0) { + pTVar52 = pTVar51; + } + FUN_14001bd30(&pTVar52->pVFTable,&pTVar61->pVFTable,(size_t)puVar37); + local_558 = Proud::ByteArray::vftable; + bVar22 = bVar23; + bVar24 = true; + } + if ((pTVar44 == (TypeDescriptor *)0x0) || + (pvVar6 = pTVar44->pVFTable, pvVar6 == (void *)0x0)) { + local_430 = 0; + local_428 = 0; + local_420 = 0; + local_418 = 0; + local_438 = Proud::ByteArray::vftable; + bVar20 = bVar21; + } + else { + local_5a8 = Proud::CFastArray::vftable; + if (DAT_1401558a0 != 5) { + FUN_14003b760(); + } + local_5a0 = *(undefined8 *)((longlong)pvVar6 + 0x128); + local_584 = *(undefined4 *)((longlong)pvVar6 + 0x144); + local_598 = (TypeDescriptor *)0x0; + local_590 = 0; + local_588 = 0; + iVar31 = *(int *)((longlong)pvVar6 + 0x138); + if (iVar31 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14001bc70((longlong)&local_5a8,iVar31,(SIZE_T)puVar37); + pTVar61 = pTVar51; + if (*(int *)((longlong)pvVar6 + 0x138) != 0) { + pTVar61 = *(TypeDescriptor **)((longlong)pvVar6 + 0x130); + } + pTVar52 = local_598; + if ((int)local_590 == 0) { + pTVar52 = pTVar51; + } + FUN_14001bd30(&pTVar52->pVFTable,&pTVar61->pVFTable,(longlong)iVar31); + local_5a8 = Proud::ByteArray::vftable; + bVar20 = true; + } + local_5d0 = (*(code *)**local_660)(); + pTVar61 = pTVar51; + if (local_688 != (uint *)0x0) { + pTVar61 = *(TypeDescriptor **)local_688; + } + pppuVar45 = (undefined ***)(local_668 + 0x4a8); + puVar37 = (uint *)&DAT_14015ded0; + pTVar52 = (TypeDescriptor *)(ulonglong)local_68c; + (*(code *)(*pppuVar45)[6])(); + if (bVar20) { + bVar20 = false; + pppuVar45 = &local_5a8; + FUN_14003b870(pppuVar45); + } + if (bVar22) { + bVar22 = false; + pppuVar45 = &local_4d8; + FUN_14003b870(pppuVar45); + } + param_1 = local_668; + bVar13 = bVar12; + bVar15 = bVar14; + bVar17 = bVar16; + bVar19 = bVar18; + bVar21 = bVar20; + bVar23 = bVar22; + bVar25 = bVar24; + if (bVar24) { + bVar24 = false; + pppuVar45 = &local_558; + FUN_14003b870(pppuVar45); + param_1 = local_668; + bVar25 = bVar24; + } + } + } + if (((*(longlong *)(param_1 + 0x17f0) != 0) && (pTVar44 != (TypeDescriptor *)0x0)) && + (pTVar44->pVFTable != (void *)0x0)) { + FUN_140030200(pppuVar45,pTVar52,puVar37,pTVar61); + local_5f0 = (short *)PTR_DAT_140155010; + plVar38 = FUN_140037900((ulong *)((longlong)pTVar44->pVFTable + 0x174),(longlong *)&local_5c8, + puVar37,pTVar61); + puVar59 = (undefined *)*plVar38; + if ((undefined *)*plVar38 == (undefined *)0x0) { + puVar59 = PTR_DAT_140155010; + } + ppsVar46 = &local_5f0; + FUN_14001b7a0((longlong *)ppsVar46,L"서버에서 발급한 magic number=%s\n",puVar59,pTVar61 + ); + puVar30 = local_5c8; + if (((local_5c8 != (undefined *)0x0) && (local_5c8 != PTR_DAT_140155010)) && + (puVar2 = local_5c8 + -8, puVar2 != (undefined *)0x0)) { + piVar42 = (int *)FUN_140030200(ppsVar46,PTR_DAT_140155010,puVar59,pTVar61); + local_3d8 = piVar42; + FUN_14002e6e0(piVar42); + local_3d0 = 1; + piVar3 = (int *)(puVar30 + -4); + *piVar3 = *piVar3 + -1; + if (*piVar3 == 0) { + FUN_1400302f0(puVar2); + } + FUN_14002e770((longlong)piVar42); + local_3d0 = 0; + } + psVar29 = local_5f0; + psVar60 = local_5f0; + if (local_5f0 == (short *)0x0) { + psVar60 = (short *)PTR_DAT_140155010; + } + uVar36 = 1; + lVar47 = *(longlong *)(param_1 + 0x17f0); + local_5c8 = PTR_DAT_140155010; + FUN_14008f2e0(lVar47,1,psVar60,pTVar61); + if (((psVar29 != (short *)0x0) && (psVar29 != (short *)PTR_DAT_140155010)) && + (psVar29 + -4 != (short *)0x0)) { + piVar42 = (int *)FUN_140030200(lVar47,uVar36,psVar60,pTVar61); + local_508 = piVar42; + FUN_14002e6e0(piVar42); + local_500 = 1; + piVar3 = (int *)(psVar29 + -2); + *piVar3 = *piVar3 + -1; + if (*piVar3 == 0) { + FUN_1400302f0(psVar29 + -4); + } + FUN_14002e770((longlong)piVar42); + local_500 = 0; + } + local_5f0 = (short *)PTR_DAT_140155010; + } + if (pTVar44 != (TypeDescriptor *)0x0) { + ppvVar50 = &pTVar44->spare; + *ppvVar50 = (void *)((longlong)*ppvVar50 + -1); + bVar12 = bVar13; + bVar14 = bVar15; + bVar16 = bVar17; + bVar18 = bVar19; + bVar21 = bVar20; + bVar23 = bVar22; + bVar25 = bVar24; + if (*ppvVar50 == (void *)0x0) { + FUN_140041080(local_680.pVFTable); + } + } + local_4f8 = pTVar51; + if (local_620 != (TypeDescriptor *)0x0) { + local_4f8 = local_620[1].spare; + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005ec50.c b/decomp/Agent_Release_x64/full/functions/0x14005ec50.c new file mode 100644 index 00000000..6a6cfa91 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005ec50.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005ec50 FUN_14005ec50 + * Pseudocode, not original source. */ + +ulonglong FUN_14005ec50(longlong param_1,uint param_2,SIZE_T param_3,undefined8 *param_4) + +{ + SIZE_T *pSVar1; + undefined4 uVar2; + int *piVar3; + ulonglong uVar4; + undefined **local_40 [5]; + + uVar4 = param_3 & 0xffffffff; + pSVar1 = (SIZE_T *)(param_1 + -0xa8); + piVar3 = (int *)(**(code **)(*pSVar1 + 0x58))(pSVar1); + FUN_14002e6e0(piVar3); + if (DAT_14015bfcf != '\0') { + param_3 = *pSVar1; + (**(code **)(param_3 + 200))(pSVar1,L"Proud::CNetServerImpl::JoinP2PGroup"); + } + *(int *)(param_1 + 0x16f0) = *(int *)(param_1 + 0x16f0) + 1; + uVar2 = *(undefined4 *)(param_1 + 0x16f0); + FUN_140040d80(local_40,(longlong)param_4,param_3); + local_40[0] = Proud::ByteArray::vftable; + uVar4 = FUN_14005cf50((longlong)pSVar1,param_2,uVar4,local_40,uVar2); + FUN_14002e770((longlong)piVar3); + FUN_14003b870(param_4); + return uVar4 & 0xff; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005ed30.c b/decomp/Agent_Release_x64/full/functions/0x14005ed30.c new file mode 100644 index 00000000..5ff3e80c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005ed30.c @@ -0,0 +1,178 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005ed30 FUN_14005ed30 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14005ed30(longlong *param_1,wchar_t *param_2,LPCSTR param_3,undefined8 param_4) + +{ + int *piVar1; + longlong *plVar2; + longlong *plVar3; + ulonglong uVar4; + longlong lVar5; + wchar_t *pwVar6; + longlong **pplVar7; + undefined4 *puVar8; + LPCSTR pCVar9; + SIZE_T SVar10; + undefined4 uVar11; + undefined1 auStack_2b8 [32]; + longlong *local_298; + longlong *local_290; + undefined1 local_288; + undefined4 local_278 [2]; + ulonglong local_270; + undefined4 local_268; + longlong local_260 [2]; + undefined **local_250; + undefined8 local_248; + undefined8 local_240; + undefined8 local_238; + undefined8 local_230; + longlong local_228; + longlong local_220; + ulonglong local_218; + undefined4 local_208; + undefined **local_200; + undefined8 local_1f8; + undefined8 local_1f0; + undefined8 local_1e8; + undefined8 local_1e0; + undefined **local_1d0; + undefined4 local_1c8; + undefined2 local_1c4; + undefined **local_1b8; + undefined8 local_1b0; + undefined8 local_1a8; + undefined8 local_1a0; + undefined8 local_198; + int *local_188; + undefined1 local_180; + undefined8 local_178; + short *local_168; + short local_160 [132]; + ulonglong local_58; + + uVar11 = (undefined4)param_4; + local_178 = 0xfffffffffffffffe; + local_58 = DAT_1401555a0 ^ (ulonglong)auStack_2b8; + pwVar6 = param_2; + pCVar9 = param_3; + piVar1 = (int *)(**(code **)(*param_1 + 0x58))(); + local_188 = piVar1; + FUN_14002e6e0(piVar1); + local_180 = 1; + if (DAT_14015bfcf != '\0') { + pCVar9 = (LPCSTR)*param_1; + pwVar6 = L"Proud::CNetServerImpl::EnqueueHackSuspectEvent"; + (**(code **)(pCVar9 + 200))(param_1); + } + if (param_1[0xeb] != 0) { + plVar3 = (longlong *)0x0; + local_270 = 0; + local_260[0] = 0; + local_260[1] = 0; + local_248 = 0; + local_240 = 0; + local_238 = 0; + local_230 = 0; + local_250 = Proud::ByteArray::vftable; + local_218 = 0; + local_220 = 0; + local_228 = 0; + local_1f8 = 0; + local_1f0 = 0; + local_1e8 = 0; + local_1e0 = 0; + local_200 = Proud::ByteArray::vftable; + local_1d0 = Proud::AddrPort::vftable; + local_1c8 = 0; + local_1c4 = 0; + local_1b0 = 0; + local_1a8 = 0; + local_1a0 = 0; + local_198 = 0; + local_1b8 = Proud::ByteArray::vftable; + local_298 = (longlong *)FUN_140030280(0x60); + plVar2 = plVar3; + if (local_298 != (longlong *)0x0) { + plVar2 = FUN_14003bef0(local_298,pwVar6,pCVar9,param_4); + } + if (plVar2 == (longlong *)0x0) { + local_298 = (longlong *)0x0; + } + else { + plVar3 = (longlong *)FUN_140030280(0x48); + local_290 = plVar3; + if (plVar3 != (longlong *)0x0) { + local_298 = plVar3; + uVar4 = FUN_14002e790(); + pCVar9 = (LPCSTR)CONCAT71((int7)((ulonglong)pCVar9 >> 8),1); + FUN_14002e600((undefined4 *)plVar3,uVar4 & 0xffffffff,pCVar9,param_4); + } + local_298 = plVar3; + FUN_14002e6e0((int *)plVar3); + plVar3[8] = 1; + plVar3[7] = (longlong)plVar2; + FUN_14002e770((longlong)plVar3); + } + pplVar7 = &local_298; + FUN_14003bff0(&local_270,(ulonglong *)pplVar7,pCVar9,param_4); + if (plVar3 != (longlong *)0x0) { + local_290 = plVar3; + FUN_14002e6e0((int *)plVar3); + local_288 = 1; + plVar2 = plVar3 + 8; + *plVar2 = *plVar2 + -1; + if (*plVar2 == 0) { + FUN_14002e770((longlong)plVar3); + local_288 = 0; + FUN_14002b500((undefined4 *)plVar3,pplVar7,pCVar9,param_4); + } + else { + FUN_14002e770((longlong)plVar3); + } + } + if (param_2 == (wchar_t *)0x0) { + local_208 = 0; + } + else { + local_208 = *(undefined4 *)(param_2 + 0x37c); + } + local_278[0] = 0xf; + local_168 = local_160; + SVar10 = 3; + local_268 = uVar11; + FUN_14002a670((longlong *)&local_168,param_3,3); + lVar5 = 0; + if (local_270 != 0) { + lVar5 = *(longlong *)(local_270 + 0x38); + } + FUN_140006c60((longlong *)(lVar5 + 0x10),local_168,SVar10,param_4); + if (local_168 != local_160) { + free(local_168); + } + puVar8 = local_278; + FUN_14005bad0((longlong)param_1,puVar8,SVar10,param_4); + FUN_14003b870(&local_1b8); + FUN_14003b870(&local_200); + local_290 = &local_228; + FUN_140095270(&local_228); + if (local_220 != 0) { + if ((longlong)local_218 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_218 = local_218 & 0xffffffff00000000; + } + FUN_14003b870(&local_250); + FUN_140056b00(local_260 + 1,puVar8,SVar10,param_4); + FUN_140056a80(local_260,puVar8,SVar10,param_4); + FUN_14002b570((longlong *)&local_270,puVar8,SVar10,param_4); + } + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005f020.c b/decomp/Agent_Release_x64/full/functions/0x14005f020.c new file mode 100644 index 00000000..1b138f11 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005f020.c @@ -0,0 +1,95 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005f020 FUN_14005f020 + * Pseudocode, not original source. */ + +void FUN_14005f020(SIZE_T *param_1,undefined4 param_2,SIZE_T param_3,undefined8 param_4) + +{ + int *piVar1; + undefined4 *puVar2; + undefined4 local_128 [2]; + longlong local_120 [2]; + longlong local_110 [2]; + undefined **local_100; + undefined8 local_f8; + undefined8 local_f0; + undefined8 local_e8; + undefined8 local_e0; + longlong local_d8; + longlong local_d0; + ulonglong local_c8; + undefined4 local_b8; + undefined **local_b0; + undefined8 local_a8; + undefined8 local_a0; + undefined8 local_98; + undefined8 local_90; + undefined **local_80; + undefined4 local_78; + undefined2 local_74; + undefined **local_68; + undefined8 local_60; + undefined8 local_58; + undefined8 local_50; + undefined8 local_48; + int *local_38; + undefined1 local_30; + undefined8 local_28; + + local_28 = 0xfffffffffffffffe; + piVar1 = (int *)(**(code **)(*param_1 + 0x58))(); + local_38 = piVar1; + FUN_14002e6e0(piVar1); + local_30 = 1; + if (DAT_14015bfcf != '\0') { + param_3 = *param_1; + (**(code **)(param_3 + 200))(param_1,L"Proud::CNetServerImpl::EnqueueP2PGroupRemoveEvent"); + } + if (param_1[0xeb] != 0) { + local_120[0] = 0; + local_110[0] = 0; + local_110[1] = 0; + local_f8 = 0; + local_f0 = 0; + local_e8 = 0; + local_e0 = 0; + local_100 = Proud::ByteArray::vftable; + local_c8 = 0; + local_d0 = 0; + local_d8 = 0; + local_a8 = 0; + local_a0 = 0; + local_98 = 0; + local_90 = 0; + local_b0 = Proud::ByteArray::vftable; + local_80 = Proud::AddrPort::vftable; + local_78 = 0; + local_74 = 0; + local_60 = 0; + local_58 = 0; + local_50 = 0; + local_48 = 0; + local_68 = Proud::ByteArray::vftable; + local_128[0] = 0x11; + puVar2 = local_128; + local_b8 = param_2; + FUN_14005bad0((longlong)param_1,puVar2,param_3,param_4); + FUN_14003b870(&local_68); + FUN_14003b870(&local_b0); + FUN_140095270(&local_d8); + if (local_d0 != 0) { + if ((longlong)local_c8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_c8 = local_c8 & 0xffffffff00000000; + } + FUN_14003b870(&local_100); + FUN_140056b00(local_110 + 1,puVar2,param_3,param_4); + FUN_140056a80(local_110,puVar2,param_3,param_4); + FUN_14002b570(local_120,puVar2,param_3,param_4); + } + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005f1b0.c b/decomp/Agent_Release_x64/full/functions/0x14005f1b0.c new file mode 100644 index 00000000..d0c7d758 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005f1b0.c @@ -0,0 +1,155 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005f1b0 FUN_14005f1b0 + * Pseudocode, not original source. */ + +void FUN_14005f1b0(SIZE_T *param_1,wchar_t *param_2,SIZE_T param_3,undefined8 param_4) + +{ + int *piVar1; + longlong *plVar2; + longlong *plVar3; + ulonglong uVar4; + longlong *plVar5; + wchar_t *pwVar6; + longlong **pplVar7; + longlong *local_res8; + wchar_t *local_res10; + longlong *local_res18; + wchar_t local_158 [4]; + ulonglong local_150 [2]; + longlong local_140 [2]; + undefined **local_130; + undefined8 local_128; + undefined8 local_120; + undefined8 local_118; + undefined8 local_110; + longlong local_108; + longlong local_100; + ulonglong local_f8; + undefined **local_e0; + undefined8 local_d8; + undefined8 local_d0; + undefined8 local_c8; + undefined8 local_c0; + undefined **local_b0; + undefined4 local_a8; + undefined2 local_a4; + undefined **local_98; + undefined8 local_90; + undefined8 local_88; + undefined8 local_80; + undefined8 local_78; + longlong *local_68; + undefined1 local_60; + int *local_58; + undefined1 local_50; + undefined8 local_48; + + local_48 = 0xfffffffffffffffe; + pwVar6 = param_2; + local_res10 = param_2; + piVar1 = (int *)(**(code **)(*param_1 + 0x58))(); + local_58 = piVar1; + FUN_14002e6e0(piVar1); + local_50 = 1; + if (DAT_14015bfcf != '\0') { + param_3 = *param_1; + pwVar6 = L"Proud::CNetServerImpl::EnqueueUnitTestFailEvent"; + (**(code **)(param_3 + 200))(param_1); + } + if (param_1[0xeb] != 0) { + plVar5 = (longlong *)0x0; + local_150[0] = 0; + local_140[0] = 0; + local_140[1] = 0; + local_128 = 0; + local_120 = 0; + local_118 = 0; + local_110 = 0; + local_130 = Proud::ByteArray::vftable; + local_f8 = 0; + local_100 = 0; + local_108 = 0; + local_d8 = 0; + local_d0 = 0; + local_c8 = 0; + local_c0 = 0; + local_e0 = Proud::ByteArray::vftable; + local_b0 = Proud::AddrPort::vftable; + local_a8 = 0; + local_a4 = 0; + local_90 = 0; + local_88 = 0; + local_80 = 0; + local_78 = 0; + local_98 = Proud::ByteArray::vftable; + local_res8 = (longlong *)FUN_140030280(0x60); + plVar2 = plVar5; + if (local_res8 != (longlong *)0x0) { + plVar2 = FUN_14003bef0(local_res8,pwVar6,param_3,param_4); + } + if (plVar2 == (longlong *)0x0) { + local_res8 = (longlong *)0x0; + plVar3 = plVar5; + } + else { + plVar3 = (longlong *)FUN_140030280(0x48); + local_res18 = plVar3; + if (plVar3 != (longlong *)0x0) { + local_res8 = plVar3; + uVar4 = FUN_14002e790(); + param_3 = CONCAT71((int7)(param_3 >> 8),1); + FUN_14002e600((undefined4 *)plVar3,uVar4 & 0xffffffff,param_3,param_4); + } + local_res8 = plVar3; + FUN_14002e6e0((int *)plVar3); + plVar3[8] = 1; + plVar3[7] = (longlong)plVar2; + FUN_14002e770((longlong)plVar3); + } + pplVar7 = &local_res8; + FUN_14003bff0(local_150,(ulonglong *)pplVar7,param_3,param_4); + if (plVar3 != (longlong *)0x0) { + local_68 = plVar3; + FUN_14002e6e0((int *)plVar3); + local_60 = 1; + plVar2 = plVar3 + 8; + *plVar2 = *plVar2 + -1; + if (*plVar2 == 0) { + FUN_14002e770((longlong)plVar3); + local_60 = 0; + FUN_14002b500((undefined4 *)plVar3,pplVar7,param_3,param_4); + } + else { + FUN_14002e770((longlong)plVar3); + } + } + local_158[0] = L'\x13'; + local_158[1] = L'\0'; + if (local_150[0] != 0) { + plVar5 = *(longlong **)(local_150[0] + 0x38); + } + FUN_140003170(plVar5 + 2,(longlong *)param_2,param_3,param_4); + pwVar6 = local_158; + FUN_14005bad0((longlong)param_1,(undefined4 *)pwVar6,param_3,param_4); + FUN_14003b870(&local_98); + FUN_14003b870(&local_e0); + local_res8 = &local_108; + FUN_140095270(&local_108); + if (local_100 != 0) { + if ((longlong)local_f8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_f8 = local_f8 & 0xffffffff00000000; + } + FUN_14003b870(&local_130); + FUN_140056b00(local_140 + 1,pwVar6,param_3,param_4); + FUN_140056a80(local_140,pwVar6,param_3,param_4); + FUN_14002b570((longlong *)local_150,pwVar6,param_3,param_4); + } + FUN_14002e770((longlong)piVar1); + FUN_140003240((longlong *)param_2,pwVar6,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005f440.c b/decomp/Agent_Release_x64/full/functions/0x14005f440.c new file mode 100644 index 00000000..9ba22839 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005f440.c @@ -0,0 +1,247 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005f440 FUN_14005f440 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014005f5b7) */ +/* WARNING: Removing unreachable block (ram,0x00014005f5c3) */ +/* WARNING: Removing unreachable block (ram,0x00014005f5d0) */ +/* WARNING: Removing unreachable block (ram,0x00014005f5c8) */ +/* WARNING: Removing unreachable block (ram,0x00014005f5d6) */ +/* WARNING: Removing unreachable block (ram,0x00014005f5e7) */ +/* WARNING: Removing unreachable block (ram,0x00014005f546) */ +/* WARNING: Removing unreachable block (ram,0x00014005f552) */ +/* WARNING: Removing unreachable block (ram,0x00014005f55e) */ +/* WARNING: Removing unreachable block (ram,0x00014005f556) */ +/* WARNING: Removing unreachable block (ram,0x00014005f564) */ +/* WARNING: Removing unreachable block (ram,0x00014005f575) */ +/* WARNING: Removing unreachable block (ram,0x00014005f4db) */ +/* WARNING: Removing unreachable block (ram,0x00014005f4e7) */ +/* WARNING: Removing unreachable block (ram,0x00014005f4f3) */ +/* WARNING: Removing unreachable block (ram,0x00014005f4eb) */ +/* WARNING: Removing unreachable block (ram,0x00014005f4f9) */ +/* WARNING: Removing unreachable block (ram,0x00014005f50a) */ +/* WARNING: Removing unreachable block (ram,0x00014005f4d4) */ +/* WARNING: Removing unreachable block (ram,0x00014005f53f) */ +/* WARNING: Removing unreachable block (ram,0x00014005f5b0) */ +/* WARNING: Removing unreachable block (ram,0x00014005f669) */ +/* WARNING: Removing unreachable block (ram,0x00014005f670) */ +/* WARNING: Removing unreachable block (ram,0x00014005f680) */ +/* WARNING: Removing unreachable block (ram,0x00014005f68c) */ +/* WARNING: Removing unreachable block (ram,0x00014005f684) */ +/* WARNING: Removing unreachable block (ram,0x00014005f692) */ +/* WARNING: Removing unreachable block (ram,0x00014005f6a3) */ + +void FUN_14005f440(SIZE_T *param_1,undefined8 param_2,undefined ***param_3,longlong param_4) + +{ + undefined *puVar1; + undefined ***pppuVar2; + int iVar3; + int iVar4; + undefined ***pppuVar5; + LPVOID pvVar6; + undefined ***pppuVar7; + short *psVar8; + uint uVar9; + int iVar10; + ulonglong uVar11; + longlong lVar12; + longlong lVar13; + undefined ***pppuVar14; + LPVOID pvVar15; + undefined ***pppuVar16; + int iVar17; + short *local_res10; + undefined **local_90; + longlong *local_88; + undefined ***local_80; + undefined8 local_78; + undefined8 local_70; + undefined **local_68; + longlong *local_60; + LPVOID local_58; + uint local_50; + undefined8 local_4c; + undefined4 local_44; + + local_90 = Proud::CFastArray::vftable; + pppuVar14 = (undefined ***)0x0; + local_88 = (longlong *)0x0; + local_80 = (undefined ***)0x0; + local_78 = 0; + local_70 = 0; + FUN_14002d430((longlong)&local_90,1,param_3,param_4); + lVar12 = (longlong)(int)local_78; + pppuVar16 = local_80; + if ((int)local_78 == 0) { + pppuVar16 = pppuVar14; + } + *(int *)pppuVar16 = 5; + if ((int)local_78 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14002d430((longlong)&local_90,(int)local_78 + 1,param_3,param_4); + lVar13 = (longlong)(int)local_78; + pppuVar16 = local_80; + if ((int)local_78 == 0) { + pppuVar16 = pppuVar14; + } + *(int *)((longlong)pppuVar16 + lVar12 * 4) = 1; + if ((int)local_78 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14002d430((longlong)&local_90,(int)local_78 + 1,param_3,(longlong)pppuVar16); + lVar12 = (longlong)(int)local_78; + pppuVar16 = local_80; + if ((int)local_78 == 0) { + pppuVar16 = pppuVar14; + } + *(int *)((longlong)pppuVar16 + lVar13 * 4) = 2; + if ((int)local_78 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar11 = (ulonglong)((int)local_78 + 1U); + pppuVar7 = &local_90; + FUN_14002d430((longlong)pppuVar7,(int)local_78 + 1U,param_3,(longlong)pppuVar16); + pppuVar2 = local_80; + iVar10 = (int)local_78; + pppuVar5 = local_80; + if ((int)local_78 == 0) { + pppuVar5 = pppuVar14; + } + *(int *)((longlong)pppuVar5 + lVar12 * 4) = 4; + local_68 = Proud::CFastArray::vftable; + local_60 = (longlong *)0x0; + local_44 = 0; + local_58 = (LPVOID)0x0; + local_50 = 0; + local_4c = 0; + pppuVar5 = pppuVar14; + while( true ) { + pvVar6 = local_58; + iVar3 = (int)pppuVar5; + iVar17 = (int)pppuVar14; + if (iVar3 == iVar10) break; + if ((iVar3 < 0) || (iVar10 <= iVar3)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar7,uVar11,param_3,pppuVar16); + } + iVar4 = *(int *)((longlong)pppuVar2 + (longlong)iVar3 * 4); + if (iVar17 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar11 = (ulonglong)(iVar17 + 1U); + FUN_14002d430((longlong)&local_68,iVar17 + 1U,param_3,(longlong)pppuVar16); + pppuVar16 = (undefined ***)(longlong)iVar17; + pppuVar14 = (undefined ***)(ulonglong)local_50; + pppuVar7 = (undefined ***)0x0; + pvVar6 = local_58; + if (local_50 == 0) { + pvVar6 = (LPVOID)0x0; + } + *(int *)((longlong)pvVar6 + (longlong)pppuVar16 * 4) = iVar4; + pppuVar5 = (undefined ***)(ulonglong)(iVar3 + 1); + } + if (iVar10 == iVar17) { + pppuVar7 = pppuVar2; + if (iVar10 == 0) { + pppuVar7 = (undefined ***)0x0; + } + pvVar15 = local_58; + if (iVar17 == 0) { + pvVar15 = (LPVOID)0x0; + } + uVar11 = 0; + if (0 < iVar17) { + param_3 = (undefined ***)((longlong)pvVar15 - (longlong)pppuVar7); + do { + if (*(int *)pppuVar7 != *(int *)((longlong)param_3 + (longlong)pppuVar7)) + goto LAB_14005f71a; + uVar9 = (int)uVar11 + 1; + uVar11 = (ulonglong)uVar9; + pppuVar7 = (undefined ***)((longlong)pppuVar7 + 4); + } while ((int)uVar9 < iVar17); + } + goto LAB_14005f82d; + } +LAB_14005f71a: + FUN_140030200(pppuVar7,uVar11,param_3,pppuVar16); + local_res10 = (short *)PTR_DAT_140155010; + iVar3 = FUN_140030080(L"CFastArray iterator failed!"); + iVar17 = 0; + iVar10 = iVar17; + if ((local_res10 != (short *)0x0) && (local_res10 != (short *)PTR_DAT_140155010)) { + iVar10 = *(int *)(local_res10 + -4); + } + iVar4 = iVar3; + if (((iVar3 <= iVar10) && (iVar4 = iVar17, local_res10 != (short *)0x0)) && + (local_res10 != (short *)PTR_DAT_140155010)) { + iVar4 = *(int *)(local_res10 + -4); + } + iVar10 = 1; + if (1 < iVar4) { + iVar10 = iVar4; + } + iVar4 = iVar17; + if ((local_res10 != (short *)0x0) && (local_res10 != (short *)PTR_DAT_140155010)) { + iVar4 = *(int *)(local_res10 + -4); + } + if (iVar4 < iVar10) { + FUN_140002dc0((longlong *)&local_res10,iVar10); + } + FUN_140002ea0((longlong *)&local_res10); + psVar8 = local_res10; + if (local_res10 == (short *)0x0) { + psVar8 = (short *)PTR_DAT_140155010; + } + FUN_1400300b0(psVar8,L"CFastArray iterator failed!",iVar3); + psVar8 = local_res10; + if (local_res10 == (short *)0x0) { + psVar8 = (short *)PTR_DAT_140155010; + } + iVar3 = FUN_140030080(psVar8); + puVar1 = PTR_DAT_140155010; + iVar10 = 0; + if (0 < iVar3) { + iVar10 = iVar3; + } + if ((local_res10 != (short *)0x0) && (local_res10 != (short *)PTR_DAT_140155010)) { + iVar17 = *(int *)(local_res10 + -4); + } + if ((iVar10 < iVar17) || (iVar10 = 0, local_res10 == (short *)0x0)) { +LAB_14005f801: + if (((local_res10 != (short *)PTR_DAT_140155010) && (local_res10 != (short *)0x0)) && + ((int *)(local_res10 + -4) != (int *)0x0)) { + *(int *)(local_res10 + -4) = iVar10; + local_res10[iVar10] = 0; + } + } + else if (local_res10 != (short *)PTR_DAT_140155010) { + iVar10 = *(int *)(local_res10 + -4); + goto LAB_14005f801; + } + FUN_14005f1b0(param_1,(wchar_t *)&local_res10,(SIZE_T)puVar1,pppuVar16); +LAB_14005f82d: + if (pvVar6 != (LPVOID)0x0) { + if (local_60 == (longlong *)0x0) { + FUN_1400302f0(pvVar6); + } + else { + (**(code **)(*local_60 + 0x18))(local_60,pvVar6); + } + } + if (pppuVar2 != (undefined ***)0x0) { + if (local_88 == (longlong *)0x0) { + FUN_1400302f0(pppuVar2); + } + else { + (**(code **)(*local_88 + 0x18))(local_88,pppuVar2); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005f8a0.c b/decomp/Agent_Release_x64/full/functions/0x14005f8a0.c new file mode 100644 index 00000000..cc4c91b0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005f8a0.c @@ -0,0 +1,236 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005f8a0 FUN_14005f8a0 + * Pseudocode, not original source. */ + +void FUN_14005f8a0(SIZE_T *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + int iVar2; + uint uVar3; + byte *pbVar4; + undefined *puVar5; + longlong *plVar6; + int *piVar7; + ulonglong uVar8; + byte *pbVar9; + int iVar10; + undefined *puVar11; + byte *local_res10; + byte *local_res18; + longlong *local_res20; + uint local_50 [2]; + longlong local_48; + longlong local_40; + undefined4 local_38; + int local_34; + + FUN_140030200(param_1,param_2,param_3,param_4); + local_res10 = PTR_DAT_140155008; + iVar1 = FUN_140030120(&DAT_1400fd138); + if (local_res10 == (byte *)0x0) { + iVar10 = 0; + } + else if (local_res10 == PTR_DAT_140155008) { + iVar10 = 0; + } + else { + iVar10 = *(int *)(local_res10 + -8); + } + iVar2 = iVar1; + if (iVar1 <= iVar10) { + if (local_res10 == (byte *)0x0) { + iVar2 = 0; + } + else if (local_res10 == PTR_DAT_140155008) { + iVar2 = 0; + } + else { + iVar2 = *(int *)(local_res10 + -8); + } + } + iVar10 = 1; + if (1 < iVar2) { + iVar10 = iVar2; + } + if (local_res10 == (byte *)0x0) { + iVar2 = 0; + } + else if (local_res10 == PTR_DAT_140155008) { + iVar2 = 0; + } + else { + iVar2 = *(int *)(local_res10 + -8); + } + if (iVar10 <= iVar2) goto LAB_14005f9fa; + if (local_res10 == (byte *)0x0) { + local_res10 = PTR_DAT_140155008; + } + if (iVar10 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (iVar10 == 0) { + FUN_14001c020((longlong *)&local_res10); + goto LAB_14005f9fa; + } + if (local_res10 == (byte *)0x0) { + iVar2 = 0; + } + else if (local_res10 == PTR_DAT_140155008) { + iVar2 = 0; + } + else { + iVar2 = *(int *)(local_res10 + -8); + } + if (iVar10 == iVar2) goto LAB_14005f9fa; + piVar7 = (int *)FUN_140030280((longlong)iVar10 + 9); + if (piVar7 != (int *)0x0) { + *piVar7 = 0; + piVar7[1] = 1; + } + *piVar7 = iVar10; + if (local_res10 == (byte *)0x0) { + iVar2 = 0; + } + else if (local_res10 == PTR_DAT_140155008) { + iVar2 = 0; + } + else { + iVar2 = *(int *)(local_res10 + -8); + } + pbVar4 = PTR_DAT_140155008; + if (iVar10 < iVar2) { +LAB_14005f9d6: + if (local_res10 != (byte *)0x0) { + pbVar4 = local_res10; + } + } + else { + if (local_res10 != (byte *)0x0) { + if (local_res10 == PTR_DAT_140155008) { + iVar10 = 0; + } + else { + iVar10 = *(int *)(local_res10 + -8); + } + goto LAB_14005f9d6; + } + iVar10 = 0; + } + FUN_140030150(piVar7 + 2,pbVar4,iVar10); + FUN_14001c020((longlong *)&local_res10); + local_res10 = (byte *)(piVar7 + 2); +LAB_14005f9fa: + FUN_14002eb30((longlong *)&local_res10); + pbVar4 = local_res10; + if (local_res10 == (byte *)0x0) { + pbVar4 = PTR_DAT_140155008; + } + FUN_140030150(pbVar4,&DAT_1400fd138,iVar1); + pbVar4 = local_res10; + if (local_res10 == (byte *)0x0) { + pbVar4 = PTR_DAT_140155008; + } + uVar3 = FUN_140030120((char *)pbVar4); + puVar11 = PTR_DAT_140155008; + uVar8 = 0; + if (0 < (int)uVar3) { + uVar8 = (ulonglong)uVar3; + } + if (local_res10 == (byte *)0x0) { + pbVar4 = (byte *)0x0; + } + else if (local_res10 == PTR_DAT_140155008) { + pbVar4 = (byte *)0x0; + } + else { + pbVar4 = (byte *)(ulonglong)*(uint *)(local_res10 + -8); + } + if ((int)pbVar4 <= (int)uVar8) { + if (local_res10 == (byte *)0x0) { + uVar8 = 0; + } + else if (local_res10 == PTR_DAT_140155008) { + uVar8 = 0; + } + else { + uVar8 = (ulonglong)*(uint *)(local_res10 + -8); + } + } + if (((local_res10 != PTR_DAT_140155008) && (local_res10 != (byte *)0x0)) && + (pbVar4 = local_res10 + -8, pbVar4 != (byte *)0x0)) { + *(int *)pbVar4 = (int)uVar8; + pbVar4[(longlong)(int)uVar8 + 8] = 0; + } + FUN_140030200(uVar8,pbVar4,puVar11,param_4); + local_res18 = PTR_DAT_140155008; + FUN_1400806d0(local_50); + FUN_1400801a0((longlong)local_50,pbVar4,(SIZE_T)puVar11,param_4); + FUN_140081e60((longlong)local_50,(longlong *)&local_res10,puVar11,param_4); + FUN_1400802d0((int *)local_50,0,puVar11,param_4); + thunk_FUN_1400813e0(local_50,(LPCWSTR)&local_res18,puVar11,param_4); + pbVar4 = local_res10; + if (local_res10 == (byte *)0x0) { + pbVar4 = PTR_DAT_140155008; + } + puVar11 = PTR_DAT_140155008; + if (pbVar4 != local_res18) { + pbVar4 = local_res18; + if (local_res18 == (byte *)0x0) { + pbVar4 = PTR_DAT_140155008; + } + pbVar9 = local_res10; + if (local_res10 == (byte *)0x0) { + pbVar9 = PTR_DAT_140155008; + } + iVar1 = FUN_140030180(pbVar9,(longlong)pbVar4); + if (iVar1 != 0) { + FUN_140030200(pbVar9,pbVar4,puVar11,param_4); + local_res20 = (longlong *)PTR_DAT_140155010; + uVar3 = FUN_140030080(L"Proud.StringA serialization failed!"); + puVar5 = FUN_140002f90((longlong *)&local_res20,uVar3); + puVar11 = (undefined *)(ulonglong)uVar3; + FUN_1400300b0(puVar5,L"Proud.StringA serialization failed!",uVar3); + FUN_140003070((longlong *)&local_res20); + FUN_14005f1b0(param_1,(wchar_t *)&local_res20,(SIZE_T)puVar11,param_4); + } + } + local_res20 = &local_48; + plVar6 = &local_48; + FUN_140095270(plVar6); + pbVar4 = local_res18; + if (local_40 != 0) { + if (local_34 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_38 = 0; + } + if (((local_res18 != (byte *)0x0) && (local_res18 != PTR_DAT_140155008)) && + (pbVar9 = local_res18 + -8, pbVar9 != (byte *)0x0)) { + plVar6 = (longlong *)FUN_140030200(plVar6,PTR_DAT_140155008,puVar11,param_4); + FUN_14002e6e0((int *)plVar6); + pbVar4 = pbVar4 + -4; + *(int *)pbVar4 = *(int *)pbVar4 + -1; + if (*(int *)pbVar4 == 0) { + FUN_1400302f0(pbVar9); + } + FUN_14002e770((longlong)plVar6); + } + pbVar4 = local_res10; + if (((local_res10 != (byte *)0x0) && (local_res10 != PTR_DAT_140155008)) && + (pbVar9 = local_res10 + -8, pbVar9 != (byte *)0x0)) { + local_res18 = PTR_DAT_140155008; + piVar7 = (int *)FUN_140030200(plVar6,PTR_DAT_140155008,puVar11,param_4); + FUN_14002e6e0(piVar7); + pbVar4 = pbVar4 + -4; + *(int *)pbVar4 = *(int *)pbVar4 + -1; + if (*(int *)pbVar4 == 0) { + FUN_1400302f0(pbVar9); + } + FUN_14002e770((longlong)piVar7); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005fc40.c b/decomp/Agent_Release_x64/full/functions/0x14005fc40.c new file mode 100644 index 00000000..46997c19 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005fc40.c @@ -0,0 +1,236 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005fc40 FUN_14005fc40 + * Pseudocode, not original source. */ + +void FUN_14005fc40(SIZE_T *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + int iVar2; + uint uVar3; + byte *pbVar4; + undefined *puVar5; + longlong *plVar6; + int *piVar7; + ulonglong uVar8; + byte *pbVar9; + int iVar10; + undefined *puVar11; + byte *local_res10; + byte *local_res18; + longlong *local_res20; + uint local_50 [2]; + longlong local_48; + longlong local_40; + undefined4 local_38; + int local_34; + + FUN_140030200(param_1,param_2,param_3,param_4); + local_res10 = PTR_DAT_140155008; + iVar1 = FUN_140030120(&DAT_1400fd138); + if (local_res10 == (byte *)0x0) { + iVar10 = 0; + } + else if (local_res10 == PTR_DAT_140155008) { + iVar10 = 0; + } + else { + iVar10 = *(int *)(local_res10 + -8); + } + iVar2 = iVar1; + if (iVar1 <= iVar10) { + if (local_res10 == (byte *)0x0) { + iVar2 = 0; + } + else if (local_res10 == PTR_DAT_140155008) { + iVar2 = 0; + } + else { + iVar2 = *(int *)(local_res10 + -8); + } + } + iVar10 = 1; + if (1 < iVar2) { + iVar10 = iVar2; + } + if (local_res10 == (byte *)0x0) { + iVar2 = 0; + } + else if (local_res10 == PTR_DAT_140155008) { + iVar2 = 0; + } + else { + iVar2 = *(int *)(local_res10 + -8); + } + if (iVar10 <= iVar2) goto LAB_14005fd9a; + if (local_res10 == (byte *)0x0) { + local_res10 = PTR_DAT_140155008; + } + if (iVar10 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (iVar10 == 0) { + FUN_14001c020((longlong *)&local_res10); + goto LAB_14005fd9a; + } + if (local_res10 == (byte *)0x0) { + iVar2 = 0; + } + else if (local_res10 == PTR_DAT_140155008) { + iVar2 = 0; + } + else { + iVar2 = *(int *)(local_res10 + -8); + } + if (iVar10 == iVar2) goto LAB_14005fd9a; + piVar7 = (int *)FUN_140030280((longlong)iVar10 + 9); + if (piVar7 != (int *)0x0) { + *piVar7 = 0; + piVar7[1] = 1; + } + *piVar7 = iVar10; + if (local_res10 == (byte *)0x0) { + iVar2 = 0; + } + else if (local_res10 == PTR_DAT_140155008) { + iVar2 = 0; + } + else { + iVar2 = *(int *)(local_res10 + -8); + } + pbVar4 = PTR_DAT_140155008; + if (iVar10 < iVar2) { +LAB_14005fd76: + if (local_res10 != (byte *)0x0) { + pbVar4 = local_res10; + } + } + else { + if (local_res10 != (byte *)0x0) { + if (local_res10 == PTR_DAT_140155008) { + iVar10 = 0; + } + else { + iVar10 = *(int *)(local_res10 + -8); + } + goto LAB_14005fd76; + } + iVar10 = 0; + } + FUN_140030150(piVar7 + 2,pbVar4,iVar10); + FUN_14001c020((longlong *)&local_res10); + local_res10 = (byte *)(piVar7 + 2); +LAB_14005fd9a: + FUN_14002eb30((longlong *)&local_res10); + pbVar4 = local_res10; + if (local_res10 == (byte *)0x0) { + pbVar4 = PTR_DAT_140155008; + } + FUN_140030150(pbVar4,&DAT_1400fd138,iVar1); + pbVar4 = local_res10; + if (local_res10 == (byte *)0x0) { + pbVar4 = PTR_DAT_140155008; + } + uVar3 = FUN_140030120((char *)pbVar4); + puVar11 = PTR_DAT_140155008; + uVar8 = 0; + if (0 < (int)uVar3) { + uVar8 = (ulonglong)uVar3; + } + if (local_res10 == (byte *)0x0) { + pbVar4 = (byte *)0x0; + } + else if (local_res10 == PTR_DAT_140155008) { + pbVar4 = (byte *)0x0; + } + else { + pbVar4 = (byte *)(ulonglong)*(uint *)(local_res10 + -8); + } + if ((int)pbVar4 <= (int)uVar8) { + if (local_res10 == (byte *)0x0) { + uVar8 = 0; + } + else if (local_res10 == PTR_DAT_140155008) { + uVar8 = 0; + } + else { + uVar8 = (ulonglong)*(uint *)(local_res10 + -8); + } + } + if (((local_res10 != PTR_DAT_140155008) && (local_res10 != (byte *)0x0)) && + (pbVar4 = local_res10 + -8, pbVar4 != (byte *)0x0)) { + *(int *)pbVar4 = (int)uVar8; + pbVar4[(longlong)(int)uVar8 + 8] = 0; + } + FUN_140030200(uVar8,pbVar4,puVar11,param_4); + local_res18 = PTR_DAT_140155008; + FUN_1400806d0(local_50); + FUN_1400801a0((longlong)local_50,pbVar4,(SIZE_T)puVar11,param_4); + FUN_140081e60((longlong)local_50,(longlong *)&local_res10,puVar11,param_4); + FUN_1400802d0((int *)local_50,0,puVar11,param_4); + thunk_FUN_1400813e0(local_50,(LPCWSTR)&local_res18,puVar11,param_4); + pbVar4 = local_res10; + if (local_res10 == (byte *)0x0) { + pbVar4 = PTR_DAT_140155008; + } + puVar11 = PTR_DAT_140155008; + if (pbVar4 != local_res18) { + pbVar4 = local_res18; + if (local_res18 == (byte *)0x0) { + pbVar4 = PTR_DAT_140155008; + } + pbVar9 = local_res10; + if (local_res10 == (byte *)0x0) { + pbVar9 = PTR_DAT_140155008; + } + iVar1 = FUN_140030180(pbVar9,(longlong)pbVar4); + if (iVar1 != 0) { + FUN_140030200(pbVar9,pbVar4,puVar11,param_4); + local_res20 = (longlong *)PTR_DAT_140155010; + uVar3 = FUN_140030080(L"Proud.String serialization failed!"); + puVar5 = FUN_140002f90((longlong *)&local_res20,uVar3); + puVar11 = (undefined *)(ulonglong)uVar3; + FUN_1400300b0(puVar5,L"Proud.String serialization failed!",uVar3); + FUN_140003070((longlong *)&local_res20); + FUN_14005f1b0(param_1,(wchar_t *)&local_res20,(SIZE_T)puVar11,param_4); + } + } + local_res20 = &local_48; + plVar6 = &local_48; + FUN_140095270(plVar6); + pbVar4 = local_res18; + if (local_40 != 0) { + if (local_34 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_38 = 0; + } + if (((local_res18 != (byte *)0x0) && (local_res18 != PTR_DAT_140155008)) && + (pbVar9 = local_res18 + -8, pbVar9 != (byte *)0x0)) { + plVar6 = (longlong *)FUN_140030200(plVar6,PTR_DAT_140155008,puVar11,param_4); + FUN_14002e6e0((int *)plVar6); + pbVar4 = pbVar4 + -4; + *(int *)pbVar4 = *(int *)pbVar4 + -1; + if (*(int *)pbVar4 == 0) { + FUN_1400302f0(pbVar9); + } + FUN_14002e770((longlong)plVar6); + } + pbVar4 = local_res10; + if (((local_res10 != (byte *)0x0) && (local_res10 != PTR_DAT_140155008)) && + (pbVar9 = local_res10 + -8, pbVar9 != (byte *)0x0)) { + local_res18 = PTR_DAT_140155008; + piVar7 = (int *)FUN_140030200(plVar6,PTR_DAT_140155008,puVar11,param_4); + FUN_14002e6e0(piVar7); + pbVar4 = pbVar4 + -4; + *(int *)pbVar4 = *(int *)pbVar4 + -1; + if (*(int *)pbVar4 == 0) { + FUN_1400302f0(pbVar9); + } + FUN_14002e770((longlong)piVar7); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14005ffe0.c b/decomp/Agent_Release_x64/full/functions/0x14005ffe0.c new file mode 100644 index 00000000..9a766d3b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14005ffe0.c @@ -0,0 +1,85 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14005ffe0 FUN_14005ffe0 + * Pseudocode, not original source. */ + +void FUN_14005ffe0(SIZE_T *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + uint uVar2; + undefined *puVar3; + undefined8 *puVar4; + undefined **ppuVar5; + ulonglong uVar6; + undefined8 uVar7; + SIZE_T SVar8; + undefined *local_res10; + undefined8 local_38; + byte local_30; + char local_2f; + byte local_2e; + undefined8 local_28; + byte local_20; + char local_1f; + byte local_1e; + undefined8 local_18; + char local_10; + char local_f; + char local_e; + + FUN_140030200(param_1,param_2,param_3,param_4); + local_res10 = PTR_DAT_140155008; + iVar1 = FUN_140030120("1.2.3.4"); + puVar3 = FUN_14002edf0((longlong *)&local_res10,iVar1); + FUN_140030150(puVar3,"1.2.3.4",iVar1); + FUN_14002eab0((longlong *)&local_res10); + ppuVar5 = &local_res10; + puVar4 = &local_28; + uVar7 = 1; + FUN_1400333e0(puVar4,(longlong *)ppuVar5,1); + FUN_140030200(puVar4,ppuVar5,uVar7,param_4); + local_res10 = PTR_DAT_140155008; + iVar1 = FUN_140030120("1.2.3.5"); + puVar3 = FUN_14002edf0((longlong *)&local_res10,iVar1); + FUN_140030150(puVar3,"1.2.3.5",iVar1); + FUN_14002eab0((longlong *)&local_res10); + ppuVar5 = &local_res10; + puVar4 = &local_38; + uVar7 = 1; + FUN_1400333e0(puVar4,(longlong *)ppuVar5,1); + FUN_140030200(puVar4,ppuVar5,uVar7,param_4); + local_res10 = PTR_DAT_140155008; + iVar1 = FUN_140030120("5.6.7.8"); + puVar3 = FUN_14002edf0((longlong *)&local_res10,iVar1); + FUN_140030150(puVar3,"5.6.7.8",iVar1); + FUN_14002eab0((longlong *)&local_res10); + puVar4 = &local_18; + SVar8 = 1; + FUN_1400333e0(puVar4,(longlong *)&local_res10,1); + uVar6 = (ulonglong)local_30; + if (((local_30 != local_20) || (local_2f != local_1f)) || + (puVar4 = (undefined8 *)(ulonglong)local_2e, local_2e != local_1e)) { + FUN_140030200(puVar4,uVar6,SVar8,param_4); + local_res10 = PTR_DAT_140155010; + uVar2 = FUN_140030080(L"AddrPort.IsSameLan fail!"); + puVar3 = FUN_140002f90((longlong *)&local_res10,uVar2); + SVar8 = (SIZE_T)uVar2; + FUN_1400300b0(puVar3,L"AddrPort.IsSameLan fail!",uVar2); + FUN_140003070((longlong *)&local_res10); + FUN_14005f1b0(param_1,(wchar_t *)&local_res10,SVar8,param_4); + puVar4 = (undefined8 *)(ulonglong)local_2e; + uVar6 = (ulonglong)local_30; + } + if (((local_10 == (char)uVar6) && (local_f == local_2f)) && (local_e == (char)puVar4)) { + FUN_140030200(puVar4,uVar6,SVar8,param_4); + local_res10 = PTR_DAT_140155010; + uVar2 = FUN_140030080(L"AddrPort.IsSameLan fail!"); + puVar3 = FUN_140002f90((longlong *)&local_res10,uVar2); + SVar8 = (SIZE_T)uVar2; + FUN_1400300b0(puVar3,L"AddrPort.IsSameLan fail!",uVar2); + FUN_140003070((longlong *)&local_res10); + FUN_14005f1b0(param_1,(wchar_t *)&local_res10,SVar8,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400601e0.c b/decomp/Agent_Release_x64/full/functions/0x1400601e0.c new file mode 100644 index 00000000..1bc1c921 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400601e0.c @@ -0,0 +1,182 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400601e0 FUN_1400601e0 + * Pseudocode, not original source. */ + +void FUN_1400601e0(SIZE_T *param_1,wchar_t *param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong lVar1; + int *piVar2; + longlong *plVar3; + longlong *plVar4; + ulonglong uVar5; + longlong *plVar6; + wchar_t *pwVar7; + longlong **pplVar8; + longlong *local_res8; + wchar_t *local_res10; + longlong *local_res18; + wchar_t local_158 [4]; + ulonglong local_150 [2]; + longlong local_140 [2]; + undefined **local_130; + undefined8 local_128; + undefined8 local_120; + undefined8 local_118; + undefined8 local_110; + longlong local_108; + longlong local_100; + ulonglong local_f8; + int local_e8; + undefined **local_e0; + undefined8 local_d8; + undefined8 local_d0; + undefined8 local_c8; + undefined8 local_c0; + undefined **local_b0; + int local_a8; + undefined2 local_a4; + undefined **local_98; + undefined8 local_90; + undefined8 local_88; + undefined8 local_80; + undefined8 local_78; + longlong *local_68; + undefined1 local_60; + int *local_58; + undefined1 local_50; + undefined8 local_48; + + local_48 = 0xfffffffffffffffe; + pwVar7 = param_2; + local_res10 = param_2; + piVar2 = (int *)(**(code **)(*param_1 + 0x58))(); + local_58 = piVar2; + FUN_14002e6e0(piVar2); + local_50 = 1; + if (DAT_14015bfcf != '\0') { + param_3 = *param_1; + pwVar7 = L"Proud::CNetServerImpl::EnqueError"; + (**(code **)(param_3 + 200))(param_1); + } + if (param_1[0xeb] != 0) { + plVar6 = (longlong *)0x0; + local_150[0] = 0; + local_140[0] = 0; + local_140[1] = 0; + local_128 = 0; + local_120 = 0; + local_118 = 0; + local_110 = 0; + local_130 = Proud::ByteArray::vftable; + local_f8 = 0; + local_100 = 0; + local_108 = 0; + local_d8 = 0; + local_d0 = 0; + local_c8 = 0; + local_c0 = 0; + local_e0 = Proud::ByteArray::vftable; + local_b0 = Proud::AddrPort::vftable; + local_a8 = 0; + local_a4 = 0; + local_90 = 0; + local_88 = 0; + local_80 = 0; + local_78 = 0; + local_98 = Proud::ByteArray::vftable; + local_res8 = (longlong *)FUN_140030280(0x60); + plVar3 = plVar6; + if (local_res8 != (longlong *)0x0) { + plVar3 = FUN_14003bef0(local_res8,pwVar7,param_3,param_4); + } + if (plVar3 == (longlong *)0x0) { + local_res8 = (longlong *)0x0; + plVar4 = plVar6; + } + else { + plVar4 = (longlong *)FUN_140030280(0x48); + local_res18 = plVar4; + if (plVar4 != (longlong *)0x0) { + local_res8 = plVar4; + uVar5 = FUN_14002e790(); + param_3 = CONCAT71((int7)(param_3 >> 8),1); + FUN_14002e600((undefined4 *)plVar4,uVar5 & 0xffffffff,param_3,param_4); + } + local_res8 = plVar4; + FUN_14002e6e0((int *)plVar4); + plVar4[8] = 1; + plVar4[7] = (longlong)plVar3; + FUN_14002e770((longlong)plVar4); + } + pplVar8 = &local_res8; + FUN_14003bff0(local_150,(ulonglong *)pplVar8,param_3,param_4); + if (plVar4 != (longlong *)0x0) { + local_68 = plVar4; + FUN_14002e6e0((int *)plVar4); + local_60 = 1; + plVar3 = plVar4 + 8; + *plVar3 = *plVar3 + -1; + if (*plVar3 == 0) { + FUN_14002e770((longlong)plVar4); + local_60 = 0; + FUN_14002b500((undefined4 *)plVar4,pplVar8,param_3,param_4); + } + else { + FUN_14002e770((longlong)plVar4); + } + } + local_158[0] = L'\x14'; + local_158[1] = L'\0'; + plVar3 = plVar6; + if (*(longlong *)param_2 != 0) { + plVar3 = *(longlong **)(*(longlong *)param_2 + 0x38); + } + plVar4 = plVar6; + if (local_150[0] != 0) { + plVar4 = *(longlong **)(local_150[0] + 0x38); + } + *(int *)plVar4 = (int)*plVar3; + plVar3 = plVar6; + if (*(longlong *)param_2 != 0) { + plVar3 = *(longlong **)(*(longlong *)param_2 + 0x38); + } + plVar4 = plVar6; + if (local_150[0] != 0) { + plVar4 = *(longlong **)(local_150[0] + 0x38); + } + FUN_140003170(plVar4 + 2,plVar3 + 2,param_3,param_4); + lVar1 = *(longlong *)param_2; + plVar3 = plVar6; + if (lVar1 != 0) { + plVar3 = *(longlong **)(lVar1 + 0x38); + } + local_e8 = *(int *)((longlong)plVar3 + 0xc); + if (lVar1 != 0) { + plVar6 = *(longlong **)(lVar1 + 0x38); + } + local_a8 = (int)plVar6[4]; + local_a4 = *(undefined2 *)((longlong)plVar6 + 0x24); + pwVar7 = local_158; + FUN_14005bad0((longlong)param_1,(undefined4 *)pwVar7,param_3,param_4); + FUN_14003b870(&local_98); + FUN_14003b870(&local_e0); + local_res8 = &local_108; + FUN_140095270(&local_108); + if (local_100 != 0) { + if ((longlong)local_f8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_f8 = local_f8 & 0xffffffff00000000; + } + FUN_14003b870(&local_130); + FUN_140056b00(local_140 + 1,pwVar7,param_3,param_4); + FUN_140056a80(local_140,pwVar7,param_3,param_4); + FUN_14002b570((longlong *)local_150,pwVar7,param_3,param_4); + } + FUN_14002e770((longlong)piVar2); + FUN_14002b570((longlong *)param_2,pwVar7,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400604e0.c b/decomp/Agent_Release_x64/full/functions/0x1400604e0.c new file mode 100644 index 00000000..d90bbcac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400604e0.c @@ -0,0 +1,182 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400604e0 FUN_1400604e0 + * Pseudocode, not original source. */ + +void FUN_1400604e0(SIZE_T *param_1,wchar_t *param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong lVar1; + int *piVar2; + longlong *plVar3; + longlong *plVar4; + ulonglong uVar5; + longlong *plVar6; + wchar_t *pwVar7; + longlong **pplVar8; + longlong *local_res8; + wchar_t *local_res10; + longlong *local_res18; + wchar_t local_158 [4]; + ulonglong local_150 [2]; + longlong local_140 [2]; + undefined **local_130; + undefined8 local_128; + undefined8 local_120; + undefined8 local_118; + undefined8 local_110; + longlong local_108; + longlong local_100; + ulonglong local_f8; + int local_e8; + undefined **local_e0; + undefined8 local_d8; + undefined8 local_d0; + undefined8 local_c8; + undefined8 local_c0; + undefined **local_b0; + int local_a8; + undefined2 local_a4; + undefined **local_98; + undefined8 local_90; + undefined8 local_88; + undefined8 local_80; + undefined8 local_78; + longlong *local_68; + undefined1 local_60; + int *local_58; + undefined1 local_50; + undefined8 local_48; + + local_48 = 0xfffffffffffffffe; + pwVar7 = param_2; + local_res10 = param_2; + piVar2 = (int *)(**(code **)(*param_1 + 0x58))(); + local_58 = piVar2; + FUN_14002e6e0(piVar2); + local_50 = 1; + if (DAT_14015bfcf != '\0') { + param_3 = *param_1; + pwVar7 = L"Proud::CNetServerImpl::EnqueWarning"; + (**(code **)(param_3 + 200))(param_1); + } + if (param_1[0xeb] != 0) { + plVar6 = (longlong *)0x0; + local_150[0] = 0; + local_140[0] = 0; + local_140[1] = 0; + local_128 = 0; + local_120 = 0; + local_118 = 0; + local_110 = 0; + local_130 = Proud::ByteArray::vftable; + local_f8 = 0; + local_100 = 0; + local_108 = 0; + local_d8 = 0; + local_d0 = 0; + local_c8 = 0; + local_c0 = 0; + local_e0 = Proud::ByteArray::vftable; + local_b0 = Proud::AddrPort::vftable; + local_a8 = 0; + local_a4 = 0; + local_90 = 0; + local_88 = 0; + local_80 = 0; + local_78 = 0; + local_98 = Proud::ByteArray::vftable; + local_res8 = (longlong *)FUN_140030280(0x60); + plVar3 = plVar6; + if (local_res8 != (longlong *)0x0) { + plVar3 = FUN_14003bef0(local_res8,pwVar7,param_3,param_4); + } + if (plVar3 == (longlong *)0x0) { + local_res8 = (longlong *)0x0; + plVar4 = plVar6; + } + else { + plVar4 = (longlong *)FUN_140030280(0x48); + local_res18 = plVar4; + if (plVar4 != (longlong *)0x0) { + local_res8 = plVar4; + uVar5 = FUN_14002e790(); + param_3 = CONCAT71((int7)(param_3 >> 8),1); + FUN_14002e600((undefined4 *)plVar4,uVar5 & 0xffffffff,param_3,param_4); + } + local_res8 = plVar4; + FUN_14002e6e0((int *)plVar4); + plVar4[8] = 1; + plVar4[7] = (longlong)plVar3; + FUN_14002e770((longlong)plVar4); + } + pplVar8 = &local_res8; + FUN_14003bff0(local_150,(ulonglong *)pplVar8,param_3,param_4); + if (plVar4 != (longlong *)0x0) { + local_68 = plVar4; + FUN_14002e6e0((int *)plVar4); + local_60 = 1; + plVar3 = plVar4 + 8; + *plVar3 = *plVar3 + -1; + if (*plVar3 == 0) { + FUN_14002e770((longlong)plVar4); + local_60 = 0; + FUN_14002b500((undefined4 *)plVar4,pplVar8,param_3,param_4); + } + else { + FUN_14002e770((longlong)plVar4); + } + } + local_158[0] = L'\x15'; + local_158[1] = L'\0'; + plVar3 = plVar6; + if (*(longlong *)param_2 != 0) { + plVar3 = *(longlong **)(*(longlong *)param_2 + 0x38); + } + plVar4 = plVar6; + if (local_150[0] != 0) { + plVar4 = *(longlong **)(local_150[0] + 0x38); + } + *(int *)plVar4 = (int)*plVar3; + plVar3 = plVar6; + if (*(longlong *)param_2 != 0) { + plVar3 = *(longlong **)(*(longlong *)param_2 + 0x38); + } + plVar4 = plVar6; + if (local_150[0] != 0) { + plVar4 = *(longlong **)(local_150[0] + 0x38); + } + FUN_140003170(plVar4 + 2,plVar3 + 2,param_3,param_4); + lVar1 = *(longlong *)param_2; + plVar3 = plVar6; + if (lVar1 != 0) { + plVar3 = *(longlong **)(lVar1 + 0x38); + } + local_e8 = *(int *)((longlong)plVar3 + 0xc); + if (lVar1 != 0) { + plVar6 = *(longlong **)(lVar1 + 0x38); + } + local_a8 = (int)plVar6[4]; + local_a4 = *(undefined2 *)((longlong)plVar6 + 0x24); + pwVar7 = local_158; + FUN_14005bad0((longlong)param_1,(undefined4 *)pwVar7,param_3,param_4); + FUN_14003b870(&local_98); + FUN_14003b870(&local_e0); + local_res8 = &local_108; + FUN_140095270(&local_108); + if (local_100 != 0) { + if ((longlong)local_f8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_f8 = local_f8 & 0xffffffff00000000; + } + FUN_14003b870(&local_130); + FUN_140056b00(local_140 + 1,pwVar7,param_3,param_4); + FUN_140056a80(local_140,pwVar7,param_3,param_4); + FUN_14002b570((longlong *)local_150,pwVar7,param_3,param_4); + } + FUN_14002e770((longlong)piVar2); + FUN_14002b570((longlong *)param_2,pwVar7,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400607e0.c b/decomp/Agent_Release_x64/full/functions/0x1400607e0.c new file mode 100644 index 00000000..b05adf50 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400607e0.c @@ -0,0 +1,101 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400607e0 FUN_1400607e0 + * Pseudocode, not original source. */ + +void FUN_1400607e0(longlong param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + int iVar1; + undefined8 *puVar2; + undefined8 *puVar3; + undefined4 *puVar4; + size_t sVar5; + undefined4 local_118 [2]; + longlong local_110 [2]; + longlong local_100 [2]; + undefined **local_f0; + undefined8 local_e8; + undefined8 local_e0; + undefined8 local_d8; + undefined8 local_d0; + longlong local_c8; + longlong local_c0; + ulonglong local_b8; + undefined **local_a0; + undefined8 local_98; + undefined8 local_90; + undefined8 local_88; + undefined8 local_80; + undefined **local_70; + undefined4 local_68; + undefined2 local_64; + undefined **local_58; + undefined8 local_50; + undefined8 *local_48; + undefined8 local_40; + undefined8 local_38; + undefined8 local_28; + + local_28 = 0xfffffffffffffffe; + if (*(longlong *)(param_1 + 0x758) != 0) { + local_110[0] = 0; + local_100[0] = 0; + local_100[1] = 0; + local_e8 = 0; + local_e0 = 0; + local_d8 = 0; + local_d0 = 0; + local_f0 = Proud::ByteArray::vftable; + local_b8 = 0; + local_c0 = 0; + local_c8 = 0; + local_98 = 0; + local_90 = 0; + local_88 = 0; + local_80 = 0; + local_a0 = Proud::ByteArray::vftable; + local_70 = Proud::AddrPort::vftable; + local_50 = 0; + local_48 = (undefined8 *)0x0; + local_40 = 0; + local_38 = 0; + local_58 = Proud::ByteArray::vftable; + local_118[0] = 4; + local_68 = *(undefined4 *)(param_2 + 8); + local_64 = *(undefined2 *)(param_2 + 0xc); + iVar1 = *(int *)(param_3 + 0x18); + sVar5 = (size_t)iVar1; + if (iVar1 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14001bc70((longlong)&local_58,iVar1,param_3); + puVar3 = (undefined8 *)0x0; + if (*(int *)(param_3 + 0x18) != 0) { + puVar3 = *(undefined8 **)(param_3 + 0x10); + } + puVar2 = local_48; + if ((int)local_40 == 0) { + puVar2 = (undefined8 *)0x0; + } + FUN_14001bd30(puVar2,puVar3,sVar5); + puVar4 = local_118; + FUN_14005bad0(param_1,puVar4,sVar5,param_4); + FUN_14003b870(&local_58); + FUN_14003b870(&local_a0); + FUN_140095270(&local_c8); + if (local_c0 != 0) { + if ((longlong)local_b8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_b8 = local_b8 & 0xffffffff00000000; + } + FUN_14003b870(&local_f0); + FUN_140056b00(local_100 + 1,puVar4,sVar5,param_4); + FUN_140056a80(local_100,puVar4,sVar5,param_4); + FUN_14002b570(local_110,puVar4,sVar5,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140060980.c b/decomp/Agent_Release_x64/full/functions/0x140060980.c new file mode 100644 index 00000000..2edc1480 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140060980.c @@ -0,0 +1,102 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140060980 FUN_140060980 + * Pseudocode, not original source. */ + +ulonglong FUN_140060980(longlong *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + LPVOID pvVar2; + int *piVar3; + longlong lVar4; + undefined8 uVar5; + ulonglong uVar6; + longlong **pplVar7; + undefined4 *puVar8; + ulonglong uVar9; + uint uVar10; + uint *puVar11; + longlong *local_res8; + + piVar3 = (int *)(**(code **)(param_1[-0x15] + 0x58)) + (param_1 + -0x15,param_2,param_3,param_4,0xfffffffffffffffe); + FUN_14002e6e0(piVar3); + if (DAT_14015bfcf != '\0') { + (**(code **)(param_1[-0x15] + 200))(param_1 + -0x15,L"Proud::CNetServerImpl::DestroyP2PGroup"); + } + uVar10 = (uint)param_2; + uVar6 = param_2 & 0xffffffff; + pplVar7 = &local_res8; + FUN_140057180((longlong)(param_1 + -0x15),(longlong *)pplVar7,uVar10); + if ((local_res8 == (longlong *)0x0) || (*local_res8 == 0)) { + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) + { + pvVar2 = (LPVOID)*local_res8; + if (pvVar2 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar2,pplVar7,uVar6,param_4); + FUN_1400302f0(pvVar2); + } + FUN_1400302f0(local_res8); + } + uVar6 = FUN_14002e770((longlong)piVar3); + uVar6 = uVar6 & 0xffffffffffffff00; + } + else { + while( true ) { + if (local_res8 == (longlong *)0x0) { + lVar4 = 0; + } + else { + lVar4 = *local_res8; + } + if (*(longlong *)(lVar4 + 0x28) == 0) break; + if (local_res8 == (longlong *)0x0) { + puVar8 = (undefined4 *)0x0; + } + else { + puVar8 = (undefined4 *)*local_res8; + } + if ((*(longlong *)(puVar8 + 10) == 0) || (*(undefined4 **)(puVar8 + 6) == (undefined4 *)0x0)) + { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + (**(code **)(*param_1 + 0x128))(param_1,**(undefined4 **)(puVar8 + 6),*puVar8); + } + uVar6 = (param_2 & 0xffffffff) % (ulonglong)*(uint *)(param_1 + 0x70); + puVar11 = (uint *)0x0; + uVar9 = uVar6; + if (param_1[0x6c] != 0) { + puVar11 = *(uint **)(param_1[0x6c] + uVar6 * 8); + while( true ) { + if ((puVar11 == (uint *)0x0) || + (uVar9 = (ulonglong)puVar11[8] % (ulonglong)*(uint *)(param_1 + 0x70), + (int)uVar6 != (int)uVar9)) goto LAB_140060b04; + if (*puVar11 == uVar10) break; + puVar11 = *(uint **)(puVar11 + 4); + } + FUN_140059980((char *)(param_1 + 0x6b),puVar11,0); + plVar1 = (longlong *)param_1[0x7a]; + lVar4 = *plVar1; + uVar5 = (**(code **)(param_1[0xe] + 8))(); + uVar6 = param_2 & 0xffffffff; + (**(code **)(lVar4 + 0x10))(plVar1,uVar5); + uVar9 = param_2 & 0xffffffff; + FUN_14005f020((SIZE_T *)(param_1 + -0x15),uVar10,uVar6,puVar11); + } +LAB_140060b04: + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) + { + pvVar2 = (LPVOID)*local_res8; + if (pvVar2 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar2,uVar9,uVar6,puVar11); + FUN_1400302f0(pvVar2); + } + FUN_1400302f0(local_res8); + } + uVar5 = FUN_14002e770((longlong)piVar3); + uVar6 = CONCAT71((int7)((ulonglong)uVar5 >> 8),1); + } + return uVar6; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140060bb0.c b/decomp/Agent_Release_x64/full/functions/0x140060bb0.c new file mode 100644 index 00000000..c4391df2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140060bb0.c @@ -0,0 +1,259 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140060bb0 FUN_140060bb0 + * Pseudocode, not original source. */ + +ulonglong FUN_140060bb0(longlong param_1,uint param_2,uint param_3,undefined8 param_4) + +{ + SIZE_T *pSVar1; + longlong lVar2; + LPVOID pvVar3; + int iVar4; + int *piVar5; + longlong lVar6; + uint *puVar7; + uint *puVar8; + uint *puVar9; + uint *puVar10; + undefined8 uVar11; + ulonglong uVar12; + uint *puVar13; + longlong **pplVar14; + ulonglong uVar15; + uint uVar16; + uint uVar17; + ulonglong uVar18; + TypeDescriptor *pTVar19; + longlong *plVar20; + longlong *local_res8; + uint local_res10 [2]; + uint local_res18 [2]; + + pSVar1 = (SIZE_T *)(param_1 + -0xa8); + local_res10[0] = param_2; + local_res18[0] = param_3; + piVar5 = (int *)(**(code **)(*pSVar1 + 0x58))(pSVar1); + FUN_14002e6e0(piVar5); + if (DAT_14015bfcf != '\0') { + (**(code **)(*pSVar1 + 200))(pSVar1,L"Proud::CNetServerImpl::LeaveP2PGroup"); + } + uVar12 = (ulonglong)local_res18[0]; + pplVar14 = &local_res8; + FUN_140057180((longlong)pSVar1,(longlong *)pplVar14,local_res18[0]); + uVar16 = local_res10[0]; + if ((local_res8 == (longlong *)0x0) || (lVar2 = *local_res8, lVar2 == 0)) { + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) + { + pvVar3 = (LPVOID)*local_res8; + if (pvVar3 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar3,pplVar14,uVar12,param_4); + FUN_1400302f0(pvVar3); + } + FUN_1400302f0(local_res8); + } + } + else { + uVar18 = (ulonglong)*(uint *)(lVar2 + 0x30); + uVar12 = (ulonglong)local_res10[0] % uVar18; + uVar15 = uVar12; + if ((*(longlong *)(lVar2 + 0x10) != 0) && + (puVar13 = *(uint **)(*(longlong *)(lVar2 + 0x10) + uVar12 * 8), puVar13 != (uint *)0x0)) { + while( true ) { + uVar15 = (ulonglong)puVar13[10] % uVar18; + if ((int)uVar12 != (int)uVar15) goto LAB_140061056; + if (*puVar13 == local_res10[0]) break; + puVar13 = *(uint **)(puVar13 + 6); + if (puVar13 == (uint *)0x0) goto LAB_140061056; + } + puVar13 = (uint *)0x0; + plVar20 = local_res8; + if (local_res10[0] == 1) { + puVar10 = puVar13; + if (pSVar1 != (SIZE_T *)0x0) { + puVar10 = (uint *)(param_1 + 0x10); + } + } + else { + uVar15 = (ulonglong)local_res10[0]; + lVar6 = FUN_140041ab0((longlong)pSVar1,local_res10[0]); + if ((lVar6 == 0) || + (puVar10 = (uint *)(lVar6 + 0x40), (uint *)(lVar6 + 0x40) == (uint *)0x0)) { + plVar20[1] = plVar20[1] + -1; + if (local_res8[1] == 0) { + pvVar3 = (LPVOID)*local_res8; + if (pvVar3 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar3,uVar15,uVar12,uVar18); + FUN_1400302f0(pvVar3); + } + FUN_1400302f0(local_res8); + } + goto LAB_1400610c9; + } + } + puVar9 = puVar13; + if (*(longlong *)(lVar2 + 0x28) != 0) { + puVar9 = *(uint **)(lVar2 + 0x18); + } + while( true ) { + puVar7 = puVar13; + if (plVar20 != (longlong *)0x0) { + puVar7 = (uint *)*plVar20; + } + if (puVar9 == (uint *)0x0) break; + if (*puVar9 != 1) { + (**(code **)(*(longlong *)(param_1 + 0x400) + 0x80)) + ((longlong *)(param_1 + 0x400),*puVar9,&DAT_14015de10,local_res10,local_res18); + plVar20 = local_res8; + uVar16 = local_res10[0]; + } + if ((uVar16 != 1) && (uVar16 != *puVar9)) { + (**(code **)(*(longlong *)(param_1 + 0x400) + 0x80)) + ((longlong *)(param_1 + 0x400),uVar16,&DAT_14015de10,puVar9,local_res18); + plVar20 = local_res8; + uVar16 = local_res10[0]; + } + puVar9 = *(uint **)(puVar9 + 6); + } + if ((uint *)(lVar2 + 8) != puVar7 + 2) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar17 = 1; + if (uVar16 != 1) { + puVar9 = puVar13; + if (plVar20 != (longlong *)0x0) { + puVar9 = (uint *)*plVar20; + } + puVar7 = puVar13; + if (*(longlong *)(puVar9 + 10) != 0) { + puVar7 = *(uint **)(puVar9 + 6); + } + while( true ) { + puVar8 = puVar13; + if (plVar20 != (longlong *)0x0) { + puVar8 = (uint *)*plVar20; + } + if (puVar7 == (uint *)0x0) break; + iVar4 = (**(code **)**(undefined8 **)(puVar7 + 4))(); + if ((iVar4 != 1) && (iVar4 = (*(code *)**(undefined8 **)puVar10)(puVar10), iVar4 != 1)) { + puVar8 = (uint *)(*(longlong *)(puVar7 + 4) + -0x40); + if (*(longlong *)(puVar7 + 4) == 0) { + puVar8 = puVar13; + } + FUN_1400583d0((char *)(param_1 + 0x230),(longlong)pSVar1,(longlong)(puVar10 + -0x10), + (longlong)puVar8); + } + puVar7 = *(uint **)(puVar7 + 6); + plVar20 = local_res8; + } + uVar17 = local_res10[0]; + if (puVar9 + 2 != puVar8 + 2) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + puVar9 = puVar13; + if (plVar20 != (longlong *)0x0) { + puVar9 = (uint *)*plVar20; + } + uVar12 = (ulonglong)uVar17 % (ulonglong)puVar9[0xc]; + if (*(longlong *)(puVar9 + 4) != 0) { + puVar7 = *(uint **)(*(longlong *)(puVar9 + 4) + uVar12 * 8); + while( true ) { + if ((puVar7 == (uint *)0x0) || ((uint)uVar12 != puVar7[10] % puVar9[0xc])) + goto LAB_140060e81; + if (*puVar7 == uVar17) break; + puVar7 = *(uint **)(puVar7 + 6); + } + FUN_140097fc0((char *)(puVar9 + 2),puVar7,'\0'); + plVar20 = local_res8; + uVar17 = local_res10[0]; + } +LAB_140060e81: + uVar12 = (ulonglong)local_res18[0] % (ulonglong)puVar10[0xc]; + if (*(longlong *)(puVar10 + 4) != 0) { + puVar9 = *(uint **)(*(longlong *)(puVar10 + 4) + uVar12 * 8); + while( true ) { + if ((puVar9 == (uint *)0x0) || ((uint)uVar12 != puVar9[8] % puVar10[0xc])) + goto LAB_140060ee4; + if (*puVar9 == local_res18[0]) break; + puVar9 = *(uint **)(puVar9 + 4); + } + FUN_140059980((char *)(puVar10 + 2),puVar9,0); + plVar20 = local_res8; + uVar17 = local_res10[0]; + } +LAB_140060ee4: + puVar10 = puVar13; + if (plVar20 != (longlong *)0x0) { + puVar10 = (uint *)*plVar20; + } + pTVar19 = (TypeDescriptor *)0x1e; + puVar9 = (uint *)(ulonglong)uVar17; + FUN_14005be80((longlong)pSVar1,puVar10,(ulonglong)puVar9,0x1e); + puVar10 = puVar13; + if (local_res8 != (longlong *)0x0) { + puVar10 = (uint *)*local_res8; + } + if ((*(longlong *)(puVar10 + 10) == 0) && (*(char *)(param_1 + 0x1758) == '\0')) { + if (local_res8 != (longlong *)0x0) { + puVar13 = (uint *)*local_res8; + } + uVar16 = *puVar13; + pTVar19 = (TypeDescriptor *)(ulonglong)*(uint *)(param_1 + 0x380); + puVar9 = (uint *)((ulonglong)uVar16 % (ulonglong)pTVar19); + puVar13 = puVar9; + if (*(longlong *)(param_1 + 0x360) != 0) { + puVar10 = *(uint **)(*(longlong *)(param_1 + 0x360) + (longlong)puVar9 * 8); + while( true ) { + if ((puVar10 == (uint *)0x0) || + (puVar13 = (uint *)((ulonglong)puVar10[8] % (ulonglong)pTVar19), + (int)puVar9 != (int)puVar13)) goto LAB_140060fd3; + if (*puVar10 == uVar16) break; + puVar10 = *(uint **)(puVar10 + 4); + } + FUN_140059980((char *)(param_1 + 0x358),puVar10,0); + plVar20 = *(longlong **)(param_1 + 0x3d0); + lVar2 = *plVar20; + uVar11 = (**(code **)(*(longlong *)(param_1 + 0x70) + 8))(); + puVar9 = (uint *)(ulonglong)uVar16; + (**(code **)(lVar2 + 0x10))(plVar20,uVar11); + puVar13 = (uint *)(ulonglong)uVar16; + FUN_14005f020(pSVar1,uVar16,(SIZE_T)puVar9,pTVar19); + } + } + else { + if (local_res8 != (longlong *)0x0) { + puVar13 = (uint *)*local_res8; + } + FUN_14004c590((longlong)pSVar1,puVar13,(longlong)puVar9,pTVar19); + } +LAB_140060fd3: + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + pvVar3 = (LPVOID)*local_res8; + if (pvVar3 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar3,puVar13,puVar9,pTVar19); + FUN_1400302f0(pvVar3); + } + FUN_1400302f0(local_res8); + } + uVar11 = FUN_14002e770((longlong)piVar5); + return CONCAT71((int7)((ulonglong)uVar11 >> 8),1); + } +LAB_140061056: + local_res8[1] = local_res8[1] + -1; + if (local_res8[1] == 0) { + pvVar3 = (LPVOID)*local_res8; + if (pvVar3 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar3,uVar15,uVar12,uVar18); + FUN_1400302f0(pvVar3); + } + FUN_1400302f0(local_res8); + } + } +LAB_1400610c9: + uVar12 = FUN_14002e770((longlong)piVar5); + return uVar12 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400610f0.c b/decomp/Agent_Release_x64/full/functions/0x1400610f0.c new file mode 100644 index 00000000..22070655 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400610f0.c @@ -0,0 +1,407 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400610f0 FUN_1400610f0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +uint FUN_1400610f0(longlong param_1,undefined4 *param_2,int param_3,uint **param_4, + undefined1 *param_5) + +{ + longlong *plVar1; + LPVOID pvVar2; + undefined8 *puVar3; + bool bVar4; + uint uVar5; + uint uVar6; + uint uVar7; + undefined ***pppuVar8; + longlong lVar9; + longlong *plVar10; + int *piVar11; + uint *puVar12; + uint *puVar13; + longlong lVar14; + ulonglong uVar15; + uint *puVar16; + void *pvVar17; + undefined8 *puVar18; + uint uVar19; + uint *puVar20; + uint uVar21; + int iVar22; + uint *puVar23; + ulonglong uVar24; + uint **ppuVar25; + undefined ***pppuVar26; + longlong lVar27; + undefined8 uVar28; + undefined1 auStackY_2e8 [32]; + uint *local_2b8; + undefined8 *local_2b0; + undefined ***local_2a8; + longlong local_2a0; + uint **local_298; + undefined ***local_290; + undefined1 local_288; + undefined **local_280; + undefined8 local_278; + undefined8 local_270; + undefined8 local_268; + undefined8 local_260; + int *local_258; + undefined1 local_250; + uint **local_248; + undefined8 local_240; + longlong local_238; + undefined **local_230 [5]; + void *local_208; + longlong local_200; + ulonglong local_1f8; + undefined8 local_1f0; + uint local_1e8 [100]; + ulonglong local_58; + + local_240 = 0xfffffffffffffffe; + local_58 = DAT_1401555a0 ^ (ulonglong)auStackY_2e8; + lVar27 = (longlong)param_3; + plVar1 = (longlong *)(param_1 + -0xa8); + ppuVar25 = param_4; + local_2a0 = param_1; + local_298 = param_4; + local_248 = param_4; + pppuVar8 = (undefined ***)(**(code **)(*plVar1 + 0x58))(plVar1); + local_2a8 = pppuVar8; + local_290 = pppuVar8; + FUN_14002e6e0((int *)pppuVar8); + local_288 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(*plVar1 + 200))(plVar1); + } + if ((param_3 < 0) || (*(longlong *)(param_1 + 0x3d0) == 0)) { + FUN_14002e770((longlong)pppuVar8); + } + else { + if ((*(char *)(param_1 + 0x1758) != '\0') || (param_3 != 0)) { + puVar20 = (uint *)0x0; + uVar7 = 0; + local_208 = (void *)0x0; + local_1f0 = 0; + local_200 = 0; + local_1f8 = 100; + uVar19 = 0; + if (0 < param_3) { + FUN_140040ec0((longlong *)&local_208,param_2,lVar27); + FUN_140040380((longlong *)&local_208); + local_2b0 = (undefined8 *)local_200; + pvVar17 = local_208; + uVar24 = local_1f8; + puVar12 = puVar20; + if (0 < (int)local_200) { + do { + iVar22 = (int)puVar12; + lVar9 = (longlong)iVar22; + if ((iVar22 < 0) || (local_200 <= lVar9)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar12 = local_1e8 + lVar9; + if (100 < uVar24) { + puVar12 = (uint *)((longlong)pvVar17 + lVar9 * 4); + } + if (*puVar12 != 1) { + puVar12 = local_1e8 + lVar9; + if (100 < uVar24) { + puVar12 = (uint *)((longlong)pvVar17 + lVar9 * 4); + } + uVar15 = (ulonglong)*puVar12; + lVar9 = FUN_140041ab0((longlong)plVar1,*puVar12); + if (lVar9 == 0) { + if (100 < uVar24) { + operator_delete__(pvVar17); + } + FUN_14002e770((longlong)local_2a8); + param_4 = local_298; + goto LAB_1400617ed; + } + lVar14 = lVar9 + 0x288; + bVar4 = FUN_140090f90(lVar14); + if ((bVar4) && + ((pvVar17 = local_208, uVar24 = local_1f8, *(char *)(lVar9 + 0x680) != '\0' || + (*(int *)(lVar9 + 0x670) != 0)))) goto LAB_1400614fd; + FUN_140030200(lVar14,uVar15,lVar27,ppuVar25); + local_2b8 = (uint *)PTR_DAT_140155010; + uVar5 = FUN_140030080((short *)&DAT_1400fd480); + puVar12 = puVar20; + if ((local_2b8 != (uint *)0x0) && + (puVar12 = (uint *)0x0, local_2b8 != (uint *)PTR_DAT_140155010)) { + puVar12 = (uint *)(ulonglong)local_2b8[-2]; + } + uVar6 = uVar5; + if ((((int)uVar5 <= (int)puVar12) && (uVar6 = uVar19, local_2b8 != (uint *)0x0)) && + (local_2b8 != (uint *)PTR_DAT_140155010)) { + uVar6 = local_2b8[-2]; + } + uVar21 = 1; + if (1 < (int)uVar6) { + uVar21 = uVar6; + } + uVar6 = uVar19; + if ((local_2b8 != (uint *)0x0) && (local_2b8 != (uint *)PTR_DAT_140155010)) { + uVar6 = local_2b8[-2]; + } + if ((int)uVar6 < (int)uVar21) { + if (local_2b8 == (uint *)0x0) { + local_2b8 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar21 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar21 == 0) { + FUN_140003240((longlong *)&local_2b8,PTR_DAT_140155010,puVar12,ppuVar25); + } + else { + uVar6 = uVar19; + if ((local_2b8 != (uint *)0x0) && (local_2b8 != (uint *)PTR_DAT_140155010)) { + uVar6 = local_2b8[-2]; + } + if (uVar21 != uVar6) { + puVar12 = (uint *)FUN_140030280((longlong)(int)uVar21 * 2 + 10); + if (puVar12 != (uint *)0x0) { + *puVar12 = 0; + puVar12[1] = 1; + } + *puVar12 = uVar21; + uVar6 = uVar19; + if ((local_2b8 != (uint *)0x0) && (local_2b8 != (uint *)PTR_DAT_140155010)) { + uVar6 = local_2b8[-2]; + } + puVar16 = (uint *)PTR_DAT_140155010; + if ((int)uVar21 < (int)uVar6) { +LAB_140061384: + if (local_2b8 != (uint *)0x0) { + puVar16 = local_2b8; + } + } + else { + uVar21 = uVar19; + if (local_2b8 != (uint *)0x0) { + if (local_2b8 != (uint *)PTR_DAT_140155010) { + uVar21 = local_2b8[-2]; + } + goto LAB_140061384; + } + } + uVar24 = (ulonglong)uVar21; + puVar13 = puVar16; + FUN_1400300b0(puVar12 + 2,puVar16,uVar21); + FUN_140003240((longlong *)&local_2b8,puVar16,uVar24,puVar13); + local_2b8 = puVar12 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_2b8); + puVar12 = local_2b8; + if (local_2b8 == (uint *)0x0) { + puVar12 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar12,&DAT_1400fd480,uVar5); + puVar12 = local_2b8; + if (local_2b8 == (uint *)0x0) { + puVar12 = (uint *)PTR_DAT_140155010; + } + uVar6 = FUN_140030080((short *)puVar12); + uVar5 = uVar7; + if (0 < (int)uVar6) { + uVar5 = uVar6; + } + uVar6 = uVar7; + if ((local_2b8 != (uint *)0x0) && (local_2b8 != (uint *)PTR_DAT_140155010)) { + uVar6 = local_2b8[-2]; + } + if (((int)uVar5 < (int)uVar6) || (uVar5 = uVar7, local_2b8 == (uint *)0x0)) { +LAB_140061420: + if (((local_2b8 != (uint *)PTR_DAT_140155010) && (local_2b8 != (uint *)0x0)) && + (local_2b8 + -2 != (uint *)0x0)) { + local_2b8[-2] = uVar5; + *(undefined2 *)((longlong)local_2b8 + (longlong)(int)uVar5 * 2) = 0; + } + } + else if (local_2b8 != (uint *)PTR_DAT_140155010) { + uVar5 = local_2b8[-2]; + goto LAB_140061420; + } + local_278 = 0; + local_270 = 0; + local_268 = 0; + local_260 = 0; + local_280 = Proud::ByteArray::vftable; + ppuVar25 = &local_2b8; + plVar10 = FUN_14003c120(&local_238,1,(ulonglong)*(uint *)(lVar9 + 0x6f8), + (longlong *)ppuVar25,(longlong)&local_280); + lVar27 = *plVar1; + (**(code **)(lVar27 + 0x80))(plVar1); + pppuVar8 = &local_280; + FUN_14003b870(pppuVar8); + puVar12 = local_2b8; + if (((local_2b8 != (uint *)0x0) && (local_2b8 != (uint *)PTR_DAT_140155010)) && + (puVar16 = local_2b8 + -2, puVar16 != (uint *)0x0)) { + piVar11 = (int *)FUN_140030200(pppuVar8,plVar10,lVar27,ppuVar25); + local_258 = piVar11; + FUN_14002e6e0(piVar11); + local_250 = 1; + puVar12 = puVar12 + -1; + *puVar12 = *puVar12 - 1; + if (*puVar12 == 0) { + FUN_1400302f0(puVar16); + } + FUN_14002e770((longlong)piVar11); + local_250 = 0; + } + local_2b8 = (uint *)PTR_DAT_140155010; + pvVar17 = local_208; + uVar24 = local_1f8; + } +LAB_1400614fd: + puVar12 = (uint *)(ulonglong)(iVar22 + 1U); + param_1 = local_2a0; + } while ((int)(iVar22 + 1U) < (int)local_2b0); + } + param_3 = (int)local_2b0; + } + local_2b0 = (undefined8 *)FUN_140030280(0xf8); + puVar12 = puVar20; + if (local_2b0 != (undefined8 *)0x0) { + puVar12 = FUN_1400a18a0((undefined4 *)local_2b0); + } + if (puVar12 == (uint *)0x0) { + local_2b0 = (undefined8 *)0x0; + } + else { + local_2b0 = (undefined8 *)FUN_140030280(0x10); + local_2b0[1] = 1; + *local_2b0 = puVar12; + } + puVar18 = local_2b0; + plVar10 = *(longlong **)(param_1 + 0x3d0); + puVar12 = puVar20; + if (local_2b0 != (undefined8 *)0x0) { + puVar12 = (uint *)*local_2b0; + } + lVar27 = *plVar10; + uVar28 = (**(code **)(*(longlong *)(local_2a0 + 0x70) + 8))(); + uVar7 = (**(code **)(lVar27 + 8))(plVar10,uVar28); + lVar27 = local_2a0; + *puVar12 = uVar7; + puVar12 = puVar20; + if (puVar18 != (undefined8 *)0x0) { + puVar12 = (uint *)*puVar18; + } + pppuVar8 = (undefined ***)(ulonglong)*puVar12; + uVar24 = (ulonglong)pppuVar8 % (ulonglong)*(uint *)(local_2a0 + 0x380); + puVar16 = (uint *)0x0; + if (*(longlong *)(local_2a0 + 0x360) != 0) { + for (puVar16 = *(uint **)(*(longlong *)(local_2a0 + 0x360) + uVar24 * 8); + (puVar16 != (uint *)0x0 && ((uint)uVar24 == puVar16[8] % *(uint *)(local_2a0 + 0x380))); + puVar16 = *(uint **)(puVar16 + 4)) { + pppuVar26 = local_2a8; + if (*puVar16 == *puVar12) goto LAB_1400616c8; + } + } + puVar13 = FUN_140059d00((char *)(local_2a0 + 0x358),puVar12); + pppuVar26 = local_2a8; + if (puVar18 != *(undefined8 **)puVar13) { + if (puVar18 != (undefined8 *)0x0) { + puVar18[1] = puVar18[1] + 1; + puVar18 = local_2b0; + pppuVar26 = local_290; + } + puVar23 = puVar20; + if ((*(longlong *)puVar13 != 0) && + (*(longlong *)(*(longlong *)puVar13 + 8) = *(longlong *)(*(longlong *)puVar13 + 8) + -1, + puVar18 = local_2b0, pppuVar26 = local_290, *(longlong *)(*(longlong *)puVar13 + 8) == 0) + ) { + puVar23 = *(uint **)puVar13; + } + *(undefined8 **)puVar13 = puVar18; + if (puVar23 != (uint *)0x0) { + pvVar2 = *(LPVOID *)puVar23; + if (pvVar2 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar2,puVar12,puVar16,pppuVar8); + FUN_1400302f0(pvVar2); + } + FUN_1400302f0(puVar23); + lVar27 = local_2a0; + } + } +LAB_1400616c8: + puVar12 = puVar20; + if (puVar18 != (undefined8 *)0x0) { + puVar12 = (uint *)*puVar18; + } + *(undefined1 *)(puVar12 + 0x3c) = *param_5; + *(int *)(lVar27 + 0x16f0) = *(int *)(lVar27 + 0x16f0) + 1; + if (0 < param_3) { + local_2a8 = local_230; + puVar13 = puVar20; + do { + FUN_140040d80(local_230,(longlong)local_298,(SIZE_T)puVar16); + local_230[0] = Proud::ByteArray::vftable; + puVar12 = puVar20; + if (puVar18 != (undefined8 *)0x0) { + puVar12 = (uint *)*puVar18; + } + iVar22 = (int)puVar13; + lVar9 = (longlong)iVar22; + if ((iVar22 < 0) || (local_200 <= lVar9)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (local_1f8 < 0x65) { + puVar13 = local_1e8 + lVar9; + } + else { + puVar13 = (uint *)((longlong)local_208 + lVar9 * 4); + } + pppuVar8 = local_230; + puVar16 = (uint *)(ulonglong)*puVar12; + puVar12 = (uint *)(ulonglong)*puVar13; + FUN_14005cf50((longlong)plVar1,*puVar13,puVar16,pppuVar8,*(undefined4 *)(lVar27 + 0x16f0)) + ; + puVar13 = (uint *)(ulonglong)(iVar22 + 1U); + } while ((int)(iVar22 + 1U) < param_3); + } + puVar3 = local_2b0; + if (puVar18 != (undefined8 *)0x0) { + puVar20 = (uint *)*puVar18; + } + uVar7 = *puVar20; + if (puVar18 != (undefined8 *)0x0) { + plVar1 = puVar18 + 1; + *plVar1 = *plVar1 + -1; + pppuVar26 = local_290; + if (*plVar1 == 0) { + pvVar2 = (LPVOID)*local_2b0; + if (pvVar2 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar2,puVar12,puVar16,pppuVar8); + FUN_1400302f0(pvVar2); + } + FUN_1400302f0(puVar3); + pppuVar26 = local_290; + } + } + if (100 < local_1f8) { + operator_delete__(local_208); + } + FUN_14002e770((longlong)pppuVar26); + FUN_14003b870(local_298); + return uVar7; + } + FUN_14002e770((longlong)pppuVar8); + } +LAB_1400617ed: + FUN_14003b870(param_4); + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140061820.c b/decomp/Agent_Release_x64/full/functions/0x140061820.c new file mode 100644 index 00000000..2cf0936f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140061820.c @@ -0,0 +1,317 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140061820 FUN_140061820 + * Pseudocode, not original source. */ + +ulonglong FUN_140061820(SIZE_T *param_1,uint *param_2,SIZE_T param_3,undefined4 param_4, + longlong param_5,LPVOID param_6,undefined4 param_7) + +{ + ulonglong *puVar1; + int iVar2; + void *pvVar3; + uint *puVar4; + LPVOID pvVar5; + longlong *plVar6; + undefined8 uVar7; + longlong *plVar8; + ulonglong uVar9; + uint *puVar10; + ulonglong uVar11; + uint **ppuVar12; + uint uVar13; + int *piVar14; + SIZE_T SVar15; + TypeDescriptor *pTVar16; + ulonglong uVar17; + longlong *plVar18; + longlong lVar19; + uint *local_res10; + ulonglong *local_78; + undefined **local_68; + undefined8 local_60; + undefined8 local_58; + undefined8 local_50; + undefined8 local_48; + + plVar18 = (longlong *)0x0; + local_res10 = param_2; + if (*(longlong *)(param_2 + 0x8a) == 0) { + pvVar3 = *(void **)(param_2 + 0x8a); + SVar15 = param_3; + if (pvVar3 != (void *)0x0) { + FUN_14003b870((undefined8 *)((longlong)pvVar3 + 8)); + operator_delete(pvVar3); + } + param_2[0x8a] = 0; + param_2[0x8b] = 0; + plVar6 = operator_new(0x40); + plVar8 = plVar18; + if (plVar6 != (longlong *)0x0) { + plVar6[2] = 0; + plVar6[3] = 0; + plVar6[4] = 0; + plVar6[5] = 0; + plVar6[1] = (longlong)Proud::ByteArray::vftable; + *(undefined4 *)plVar6 = 0; + *(undefined4 *)(plVar6 + 7) = 0; + plVar6[6] = 0; + plVar8 = plVar6; + } + *(longlong **)(param_2 + 0x8a) = plVar8; + *(int *)plVar8 = (int)param_3; + *(undefined4 *)(*(longlong *)(param_2 + 0x8a) + 4) = param_4; + lVar19 = *(longlong *)(param_2 + 0x8a); + iVar2 = *(int *)(param_5 + 0x18); + if (iVar2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14001bc70(lVar19 + 8,iVar2,SVar15); + plVar8 = plVar18; + if (*(int *)(param_5 + 0x18) != 0) { + plVar8 = *(longlong **)(param_5 + 0x10); + } + plVar6 = plVar18; + if (*(int *)(lVar19 + 0x20) != 0) { + plVar6 = *(longlong **)(lVar19 + 0x18); + } + FUN_14001bd30(plVar6,plVar8,(longlong)iVar2); + *(undefined4 *)(*(longlong *)(param_2 + 0x8a) + 0x38) = param_7; + if (param_1[0x2fe] != 0) { + FUN_14008f570(param_1[0x2fe],L"Issuedispose %dclient in %s",(ulonglong)param_2[0x1be],param_6) + ; + } + } + uVar13 = (uint)param_1[0x55]; + uVar11 = ((ulonglong)param_2 & 0xffffffff) % (ulonglong)uVar13; + if (param_1[0x51] != 0) { + for (plVar8 = *(longlong **)(param_1[0x51] + uVar11 * 8); + (plVar8 != (longlong *)0x0 && ((uint)uVar11 == *(uint *)(plVar8 + 4) % uVar13)); + plVar8 = (longlong *)plVar8[2]) { + if ((uint *)*plVar8 == param_2) { + return (ulonglong)*(uint *)(plVar8 + 4) / (ulonglong)uVar13; + } + } + } + if (*(longlong *)(param_2 + 0x8a) == 0) { + local_60 = 0; + local_58 = 0; + local_50 = 0; + local_48 = 0; + local_68 = Proud::ByteArray::vftable; + FUN_140058b10((longlong)param_1,param_2,0xc,7,(longlong)&local_68); + FUN_14003b870(&local_68); + } + else { + puVar4 = *(uint **)(param_2 + 0x8a); + FUN_140058b10((longlong)param_1,param_2,(ulonglong)*puVar4,(ulonglong)puVar4[1], + (longlong)(puVar4 + 2)); + } + lVar19 = (**(code **)(param_1[0x23] + 8))(); + uVar17 = (ulonglong)(uint)param_1[0x55]; + uVar9 = ((ulonglong)param_2 & 0xffffffff) % uVar17; + uVar11 = param_1[0x51]; + uVar13 = (uint)uVar9; + if (uVar11 != 0) { + plVar8 = *(longlong **)(uVar11 + uVar9 * 8); + while ((plVar8 != (longlong *)0x0 && + (ppuVar12 = (uint **)((ulonglong)*(uint *)(plVar8 + 4) % uVar17), + uVar13 == (uint)ppuVar12))) { + if ((uint *)*plVar8 == param_2) goto LAB_140061b1a; + plVar8 = (longlong *)plVar8[2]; + } + if (uVar11 != 0) { + plVar8 = *(longlong **)(uVar11 + uVar9 * 8); + while ((plVar8 != (longlong *)0x0 && + (ppuVar12 = (uint **)((ulonglong)*(uint *)(plVar8 + 4) % uVar17), + uVar13 == (uint)ppuVar12))) { + if ((uint *)*plVar8 == param_2) goto LAB_140061b15; + plVar8 = (longlong *)plVar8[2]; + } + if (uVar11 != 0) goto LAB_140061ae0; + } + } + uVar7 = FUN_14003f710((longlong)(param_1 + 0x50),(uint)param_1[0x55],'\x01'); + if ((char)uVar7 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } +LAB_140061ae0: + FUN_14003d560((char *)(param_1 + 0x50)); + uVar17 = (ulonglong)param_2 & 0xffffffff; + ppuVar12 = &local_res10; + plVar8 = FUN_1400413b0((char *)(param_1 + 0x50),ppuVar12,uVar13,(int)param_2); + FUN_14003d560((char *)(param_1 + 0x50)); + uVar11 = uVar9; +LAB_140061b15: + plVar8[1] = lVar19; +LAB_140061b1a: + FUN_140035490(*(longlong **)(*(longlong *)(param_2 + 0x1d2) + 0x110),ppuVar12,uVar11,uVar17); + plVar8 = *(longlong **)(param_2 + 0x1d8); + if ((plVar8 != (longlong *)0x0) && (*plVar8 != 0)) { + plVar6 = plVar18; + if (plVar8 != (longlong *)0x0) { + plVar6 = (longlong *)*plVar8; + } + plVar8 = plVar18; + if ((undefined8 *)plVar6[0x2a] != (undefined8 *)0x0) { + plVar8 = *(longlong **)plVar6[0x2a]; + } + FUN_140035490(plVar8,ppuVar12,uVar11,uVar17); + } + (**(code **)(*(longlong *)(param_2 + 0x28) + 0x40))(); + puVar4 = param_2 + 0x12; + if (*(longlong *)(param_2 + 0x1a) != 0) { + plVar18 = *(longlong **)(param_2 + 0x16); + } + do { + if (plVar18 == (longlong *)0x0) { + FUN_140059b00((char *)puVar4,param_6,uVar11,uVar17); + uVar11 = FUN_140057fc0((char *)(param_1 + 0x5b),(longlong)param_2); + return uVar11; + } + if (plVar18 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + local_78 = (ulonglong *)0x0; + if (plVar18[1] != 0) { + *(longlong *)(plVar18[1] + 8) = *(longlong *)(plVar18[1] + 8) + 1; + local_78 = (ulonglong *)plVar18[1]; + param_2 = local_res10; + } + if (local_78 == (ulonglong *)0x0) { + puVar10 = (uint *)0x0; + } + else { + puVar10 = (uint *)*local_78; + } + FUN_14005be80((longlong)param_1,puVar10,(ulonglong)param_2[0x1be],0xb); + if (local_78 == (ulonglong *)0x0) { + uVar11 = 0; + } + else { + uVar11 = *local_78; + } + if (*(longlong *)(uVar11 + 0x28) == 0) { + piVar14 = (int *)0x0; + } + else { + piVar14 = *(int **)(uVar11 + 0x18); + } + while( true ) { + if (local_78 == (ulonglong *)0x0) { + uVar9 = 0; + } + else { + uVar9 = *local_78; + } + if (piVar14 == (int *)0x0) break; + if (*piVar14 != 1) { + if (local_78 == (ulonglong *)0x0) { + uVar9 = 0; + } + else { + uVar9 = *local_78; + } + (**(code **)(param_1[0x95] + 0x80)) + (param_1 + 0x95,*piVar14,&DAT_14015de10,param_2 + 0x1be,uVar9); + } + piVar14 = *(int **)(piVar14 + 6); + } + if (uVar11 + 8 != uVar9 + 8) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if (local_78 == (ulonglong *)0x0) { + uVar11 = 0; + } + else { + uVar11 = *local_78; + } + uVar9 = (ulonglong)param_2[0x1be]; + pTVar16 = (TypeDescriptor *)(uVar9 % (ulonglong)*(uint *)(uVar11 + 0x30)); + if (*(longlong *)(uVar11 + 0x10) != 0) { + puVar10 = *(uint **)(*(longlong *)(uVar11 + 0x10) + (longlong)pTVar16 * 8); + while( true ) { + if ((puVar10 == (uint *)0x0) || ((uint)pTVar16 != puVar10[10] % *(uint *)(uVar11 + 0x30))) + goto LAB_140061cdb; + if (*puVar10 == param_2[0x1be]) break; + puVar10 = *(uint **)(puVar10 + 6); + } + uVar9 = 0; + FUN_140097fc0((char *)(uVar11 + 8),puVar10,'\0'); + } +LAB_140061cdb: + if (local_78 == (ulonglong *)0x0) { + uVar11 = 0; + } + else { + uVar11 = *local_78; + } + if ((*(longlong *)(uVar11 + 0x28) == 0) && ((char)param_1[0x300] == '\0')) { + if (local_78 == (ulonglong *)0x0) { + puVar10 = (uint *)0x0; + } + else { + puVar10 = (uint *)*local_78; + } + uVar13 = *puVar10; + uVar11 = (ulonglong)(uint)param_1[0x85]; + if (param_1[0x81] != 0) { + puVar10 = *(uint **)(param_1[0x81] + ((ulonglong)uVar13 % uVar11) * 8); + while( true ) { + if ((puVar10 == (uint *)0x0) || + ((uint)((ulonglong)uVar13 % uVar11) != puVar10[8] % (uint)param_1[0x85])) + goto LAB_140061db2; + if (*puVar10 == uVar13) break; + puVar10 = *(uint **)(puVar10 + 4); + } + FUN_140059980((char *)(param_1 + 0x80),puVar10,0); + plVar8 = (longlong *)param_1[0x8f]; + lVar19 = *plVar8; + uVar7 = (**(code **)(param_1[0x23] + 8))(); + SVar15 = (SIZE_T)uVar13; + (**(code **)(lVar19 + 0x10))(plVar8,uVar7); + FUN_14005f020(param_1,uVar13,SVar15,uVar11); + } + } + else { + if (local_78 == (ulonglong *)0x0) { + puVar10 = (uint *)0x0; + } + else { + puVar10 = (uint *)*local_78; + } + FUN_14004c590((longlong)param_1,puVar10,uVar9,pTVar16); + } +LAB_140061db2: + if (local_78 == (ulonglong *)0x0) { + uVar11 = 0; + } + else { + uVar11 = *local_78; + } + uVar17 = 1; + param_6 = (LPVOID)(ulonglong)param_2[0x96]; + FUN_14002d1f0((longlong)(param_2 + 0x90),param_2[0x96],uVar11,1); + if (local_78 != (ulonglong *)0x0) { + puVar1 = local_78 + 1; + *puVar1 = *puVar1 - 1; + param_2 = local_res10; + if (*puVar1 == 0) { + pvVar5 = (LPVOID)*local_78; + if (pvVar5 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar5,param_6,uVar11,uVar17); + FUN_1400302f0(pvVar5); + } + FUN_1400302f0(local_78); + param_2 = local_res10; + } + } + if (plVar18 != (longlong *)0x0) { + plVar18 = (longlong *)plVar18[2]; + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140061e80.c b/decomp/Agent_Release_x64/full/functions/0x140061e80.c new file mode 100644 index 00000000..bac7be8d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140061e80.c @@ -0,0 +1,95 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140061e80 FUN_140061e80 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140062070) */ + +void FUN_140061e80(longlong param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + uint uVar1; + longlong *plVar2; + LPVOID pvVar3; + undefined8 uVar4; + int *piVar5; + longlong lVar6; + uint *puVar7; + ulonglong uVar8; + LPVOID pvVar9; + longlong *local_res8; + + piVar5 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58)) + (param_1 + -0xa8,param_2,param_3,param_4,0xfffffffffffffffe); + FUN_14002e6e0(piVar5); + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200)) + (param_1 + -0xa8,L"Proud::CNetServerImpl::DestroyEmptyP2PGroups"); + } + if (*(longlong *)(param_1 + 0x378) == 0) { + pvVar9 = (LPVOID)0x0; + } + else { + pvVar9 = *(LPVOID *)(param_1 + 0x368); + } + while( true ) { + if (pvVar9 == (LPVOID)0x0) { + FUN_14002e770((longlong)piVar5); + return; + } + uVar8 = (ulonglong)(pvVar9 != (LPVOID)0x0); + if (pvVar9 == (LPVOID)0x0) break; + local_res8 = (longlong *)0x0; + if (*(longlong *)((longlong)pvVar9 + 8) != 0) { + *(longlong *)(*(longlong *)((longlong)pvVar9 + 8) + 8) = + *(longlong *)(*(longlong *)((longlong)pvVar9 + 8) + 8) + 1; + local_res8 = *(longlong **)((longlong)pvVar9 + 8); + } + if (local_res8 == (longlong *)0x0) { + lVar6 = 0; + } + else { + lVar6 = *local_res8; + } + if (*(longlong *)(lVar6 + 0x28) == 0) { + if (local_res8 == (longlong *)0x0) { + puVar7 = (uint *)0x0; + } + else { + puVar7 = (uint *)*local_res8; + } + uVar1 = *puVar7; + if (pvVar9 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + pvVar3 = *(LPVOID *)((longlong)pvVar9 + 0x10); + FUN_140059980((char *)(param_1 + 0x358),pvVar9,0); + plVar2 = *(longlong **)(param_1 + 0x3d0); + lVar6 = *plVar2; + uVar4 = (**(code **)(*(longlong *)(param_1 + 0x70) + 8))(); + param_3 = (SIZE_T)uVar1; + (**(code **)(lVar6 + 0x10))(plVar2,uVar4); + uVar8 = (ulonglong)uVar1; + FUN_14005f020((SIZE_T *)(param_1 + -0xa8),uVar1,param_3,param_4); + pvVar9 = pvVar3; + } + else if (pvVar9 != (LPVOID)0x0) { + pvVar9 = *(LPVOID *)((longlong)pvVar9 + 0x10); + } + if (local_res8 != (longlong *)0x0) { + plVar2 = local_res8 + 1; + *plVar2 = *plVar2 + -1; + if (*plVar2 == 0) { + pvVar3 = (LPVOID)*local_res8; + if (pvVar3 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar3,uVar8,param_3,param_4); + FUN_1400302f0(pvVar3); + } + FUN_1400302f0(local_res8); + } + } + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400620a0.c b/decomp/Agent_Release_x64/full/functions/0x1400620a0.c new file mode 100644 index 00000000..0358ecfb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400620a0.c @@ -0,0 +1,475 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400620a0 FUN_1400620a0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140062201) */ +/* WARNING: Removing unreachable block (ram,0x00014006220d) */ +/* WARNING: Removing unreachable block (ram,0x000140062205) */ +/* WARNING: Removing unreachable block (ram,0x000140062213) */ +/* WARNING: Removing unreachable block (ram,0x0001400621a3) */ +/* WARNING: Removing unreachable block (ram,0x0001400621af) */ +/* WARNING: Removing unreachable block (ram,0x0001400621a7) */ +/* WARNING: Removing unreachable block (ram,0x0001400621b5) */ +/* WARNING: Removing unreachable block (ram,0x000140062261) */ +/* WARNING: Removing unreachable block (ram,0x00014006226d) */ +/* WARNING: Removing unreachable block (ram,0x000140062266) */ +/* WARNING: Removing unreachable block (ram,0x000140062273) */ + +void FUN_1400620a0(SIZE_T *param_1,undefined8 param_2,SIZE_T param_3,undefined ***param_4) + +{ + undefined **ppuVar1; + undefined8 *puVar2; + longlong *plVar3; + uint uVar4; + int iVar5; + int iVar6; + int iVar7; + longlong *plVar8; + undefined ***pppuVar9; + undefined *puVar10; + longlong *plVar11; + undefined ***pppuVar12; + undefined ***pppuVar13; + undefined8 uVar14; + undefined **ppuVar15; + undefined **ppuVar16; + undefined ***pppuVar17; + longlong lVar18; + longlong lVar19; + longlong *plVar20; + undefined ***pppuVar21; + size_t _Size; + undefined ***pppuVar22; + undefined ***pppuVar23; + int iVar24; + undefined ***local_res10; + undefined ***local_res18; + undefined **local_168; + undefined ***local_160; + undefined **local_158; + undefined ***local_150; + undefined ***local_148; + undefined8 local_140; + undefined8 local_138; + undefined8 local_130; + longlong local_128; + longlong local_120; + ulonglong local_118; + longlong *local_110; + undefined ***local_108; + undefined4 local_fc; + undefined8 local_f8; + longlong local_f0; + longlong local_e8; + ulonglong local_e0; + undefined ***local_d8; + undefined ***local_d0; + undefined4 local_c4; + undefined **local_c0; + undefined ***local_b8; + undefined ***local_b0; + undefined8 local_a8; + undefined8 local_a0; + uint local_98 [2]; + longlong local_90; + longlong local_88; + undefined4 local_80; + int local_7c; + int *local_70; + undefined1 local_68; + undefined8 local_60; + undefined8 local_58 [4]; + + local_60 = 0xfffffffffffffffe; + local_70 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(local_70); + local_68 = 1; + if (DAT_14015bfcf != '\0') { + param_3 = *param_1; + (**(code **)(param_3 + 200))(param_1,L"Proud::CNetServerImpl::TestReliableUdpFrame"); + } + plVar8 = FUN_140033200(local_58); + pppuVar9 = (undefined ***)FUN_140030350(0x800,plVar8,param_3,param_4); + pppuVar23 = (undefined ***)0x0; + local_150 = (undefined ***)0x0; + local_148 = (undefined ***)0x0; + local_140 = 0; + local_138 = 0; + local_158 = Proud::CUncompressedFrameNumberArray::vftable; + local_res18 = pppuVar9; + if (pppuVar9 == (undefined ***)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_150 = pppuVar9; + FUN_14003ecf0((longlong)&local_158,1,param_3); + lVar18 = (longlong)(int)local_140; + pppuVar12 = local_148; + if ((int)local_140 == 0) { + pppuVar12 = pppuVar23; + } + *(uint *)pppuVar12 = 5; + if ((int)local_140 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14003ecf0((longlong)&local_158,(int)local_140 + 1,param_3); + lVar19 = (longlong)(int)local_140; + pppuVar12 = local_148; + if ((int)local_140 == 0) { + pppuVar12 = pppuVar23; + } + *(uint *)((longlong)pppuVar12 + lVar18 * 4) = 1; + if ((int)local_140 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14003ecf0((longlong)&local_158,(int)local_140 + 1,param_3); + lVar18 = (longlong)(int)local_140; + pppuVar12 = local_148; + if ((int)local_140 == 0) { + pppuVar12 = pppuVar23; + } + *(uint *)((longlong)pppuVar12 + lVar19 * 4) = 2; + if ((int)local_140 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14003ecf0((longlong)&local_158,(int)local_140 + 1,param_3); + pppuVar23 = local_148; + iVar5 = (int)local_140; + lVar19 = (longlong)(int)local_140; + pppuVar12 = local_148; + if ((int)local_140 == 0) { + pppuVar12 = (undefined ***)0x0; + } + *(uint *)((longlong)pppuVar12 + lVar18 * 4) = 4; + pppuVar12 = local_148; + if ((int)local_140 == 0) { + pppuVar12 = (undefined ***)0x0; + } + _Size = 0; + uVar14 = 4; + FUN_140040550((longlong)pppuVar12,4,0); + if (iVar5 < 1) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar12,uVar14,_Size,param_4); + } + if (*(uint *)pppuVar23 == 1) { + if (iVar5 < 2) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar12,uVar14,_Size,param_4); + } + if (*(uint *)((longlong)pppuVar23 + 4) != 2) goto LAB_1400622f7; + if (iVar5 < 3) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar12,uVar14,_Size,param_4); + } + if (*(uint *)(pppuVar23 + 1) != 4) goto LAB_1400622f7; + if (iVar5 < 4) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar12,uVar14,_Size,param_4); + } + if (*(uint *)((longlong)pppuVar23 + 0xc) != 5) goto LAB_1400622f7; + } + else { +LAB_1400622f7: + FUN_140030200(pppuVar12,uVar14,_Size,param_4); + local_res10 = (undefined ***)PTR_DAT_140155010; + uVar4 = FUN_140030080(L"Proud.QuickSort() failed!"); + puVar10 = FUN_140002f90((longlong *)&local_res10,uVar4); + _Size = (size_t)uVar4; + FUN_1400300b0(puVar10,L"Proud.QuickSort() failed!",uVar4); + FUN_140003070((longlong *)&local_res10); + FUN_14005f1b0(param_1,(wchar_t *)&local_res10,_Size,param_4); + } + plVar20 = (longlong *)0x0; + local_118 = 0; + local_120 = 0; + local_128 = 0; + local_110 = (longlong *)0x0; + local_130 = 0; + local_fc = 0; + pppuVar12 = &local_168; + local_108 = pppuVar9; + plVar11 = FUN_14004ded0((longlong *)pppuVar12,(longlong *)pppuVar9,_Size,param_4); + plVar3 = local_110; + plVar8 = (longlong *)*plVar11; + if (plVar8 != (longlong *)0x0) { + plVar8[1] = plVar8[1] + 1; + plVar20 = plVar8; + } + if (local_110 != (longlong *)0x0) { + plVar8 = local_110 + 1; + *plVar8 = *plVar8 + -1; + if (*plVar8 == 0) { + puVar2 = (undefined8 *)*local_110; + local_res10 = local_108; + *puVar2 = Proud::CFastArray::vftable; + if ((LPVOID)puVar2[2] != (LPVOID)0x0) { + if ((longlong *)puVar2[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)puVar2[2]); + } + else { + (**(code **)(*(longlong *)puVar2[1] + 0x18))(); + } + } + (*(code *)(*local_res10)[3])(local_res10,puVar2); + (*(code *)(*local_108)[3])(local_108,plVar3); + pppuVar12 = local_108; + } + } + pppuVar13 = local_160; + ppuVar15 = local_168; + pppuVar21 = (undefined ***)0x0; + local_108 = (undefined ***)plVar11[1]; + ppuVar16 = Proud::CFastArray::vftable; + pppuVar17 = pppuVar21; + pppuVar22 = pppuVar21; + local_110 = plVar20; + if (local_168 != (undefined **)0x0) { + ppuVar1 = local_168 + 1; + *ppuVar1 = *ppuVar1 + -1; + if (*ppuVar1 == (undefined *)0x0) { + puVar2 = (undefined8 *)*local_168; + *puVar2 = Proud::CFastArray::vftable; + if ((LPVOID)puVar2[2] != (LPVOID)0x0) { + if ((longlong *)puVar2[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)puVar2[2]); + } + else { + (**(code **)(*(longlong *)puVar2[1] + 0x18))(); + } + } + (*(code *)(*pppuVar13)[3])(pppuVar13,puVar2); + pppuVar12 = local_160; + (*(code *)(*local_160)[3])(); + ppuVar16 = ppuVar15; + } + } + do { + if (((longlong)pppuVar22 < 0) || (iVar5 <= (int)pppuVar17)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar12,ppuVar16,_Size,param_4); + } + pppuVar12 = pppuVar21; + if (local_110 != (longlong *)0x0) { + pppuVar12 = (undefined ***)*local_110; + } + ppuVar16 = (undefined **)(ulonglong)*(uint *)((longlong)pppuVar23 + (longlong)pppuVar22 * 4); + FUN_1400a2fd0((longlong)pppuVar12,ppuVar16,_Size,param_4); + uVar4 = (int)pppuVar17 + 1; + pppuVar17 = (undefined ***)(ulonglong)uVar4; + pppuVar22 = (undefined ***)((longlong)pppuVar22 + 1); + } while ((int)uVar4 < iVar5); + FUN_1400806d0(local_98); + FUN_1400801a0((longlong)local_98,ppuVar16,_Size,param_4); + pppuVar12 = pppuVar21; + if (local_110 != (longlong *)0x0) { + pppuVar12 = (undefined ***)*local_110; + } + FUN_1400a3240((longlong)pppuVar12,(longlong)local_98,_Size,param_4); + FUN_1400802d0((int *)local_98,0,_Size,param_4); + local_e0 = 0; + local_e8 = 0; + local_f0 = 0; + local_d8 = (undefined ***)0x0; + local_f8 = 0; + local_c4 = 0; + local_d0 = pppuVar9; + local_res10 = (undefined ***) + FUN_14004ded0((longlong *)&local_168,(longlong *)pppuVar9,_Size,param_4); + pppuVar17 = local_d0; + pppuVar13 = local_d8; + pppuVar12 = (undefined ***)*local_res10; + if (pppuVar12 != (undefined ***)0x0) { + pppuVar12[1] = (undefined **)((longlong)pppuVar12[1] + 1); + pppuVar21 = pppuVar12; + } + if (local_d8 != (undefined ***)0x0) { + pppuVar12 = local_d8 + 1; + *pppuVar12 = (undefined **)((longlong)*pppuVar12 + -1); + if (*pppuVar12 == (undefined **)0x0) { + ppuVar15 = *local_d8; + *ppuVar15 = (undefined *)Proud::CFastArray::vftable; + if (ppuVar15[2] != (undefined *)0x0) { + if ((longlong *)ppuVar15[1] == (longlong *)0x0) { + FUN_1400302f0(ppuVar15[2]); + } + else { + (**(code **)(*(longlong *)ppuVar15[1] + 0x18))(); + } + } + (*(code *)(*pppuVar17)[3])(pppuVar17,ppuVar15); + (*(code *)(*local_d0)[3])(local_d0,pppuVar13); + } + } + pppuVar12 = local_160; + pppuVar13 = (undefined ***)0x0; + local_d0 = (undefined ***)local_res10[1]; + local_d8 = pppuVar21; + if (local_168 != (undefined **)0x0) { + ppuVar15 = local_168 + 1; + *ppuVar15 = *ppuVar15 + -1; + if (*ppuVar15 == (undefined *)0x0) { + puVar2 = (undefined8 *)*local_168; + *puVar2 = Proud::CFastArray::vftable; + if ((LPVOID)puVar2[2] != (LPVOID)0x0) { + if ((longlong *)puVar2[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)puVar2[2]); + } + else { + (**(code **)(*(longlong *)puVar2[1] + 0x18))(); + } + } + (*(code *)(*pppuVar12)[3])(pppuVar12,puVar2); + (*(code *)(*local_160)[3])(local_160,local_168); + } + } + pppuVar12 = pppuVar13; + if (local_d8 != (undefined ***)0x0) { + pppuVar12 = (undefined ***)*local_d8; + } + FUN_1400a2d90((uint *)pppuVar12,local_98,_Size,param_4); + local_b0 = (undefined ***)0x0; + local_a8 = 0; + local_a0 = 0; + local_c0 = Proud::CUncompressedFrameNumberArray::vftable; + pppuVar12 = pppuVar13; + if (local_d8 != (undefined ***)0x0) { + pppuVar12 = (undefined ***)*local_d8; + } + pppuVar17 = &local_c0; + local_b8 = pppuVar9; + FUN_1400a3120((longlong)pppuVar12,(longlong)pppuVar17,_Size,param_4); + pppuVar21 = local_b0; + iVar24 = 0; + if (iVar5 == (int)local_a8) { + pppuVar12 = pppuVar23; + if (iVar5 == 0) { + pppuVar12 = pppuVar13; + } + pppuVar17 = local_b0; + if ((int)local_a8 == 0) { + pppuVar17 = pppuVar13; + } + _Size = lVar19 << 2; + iVar5 = memcmp(pppuVar12,pppuVar17,_Size); + if (iVar5 == 0) goto LAB_1400627da; + } + FUN_140030200(pppuVar12,pppuVar17,_Size,param_4); + local_res10 = (undefined ***)PTR_DAT_140155010; + iVar6 = FUN_140030080(L"FrameNumberList pack/unpack failed!"); + iVar5 = iVar24; + if ((local_res10 != (undefined ***)0x0) && (local_res10 != (undefined ***)PTR_DAT_140155010)) { + iVar5 = *(int *)(local_res10 + -1); + } + iVar7 = iVar6; + if (((iVar6 <= iVar5) && (iVar7 = iVar24, local_res10 != (undefined ***)0x0)) && + (local_res10 != (undefined ***)PTR_DAT_140155010)) { + iVar7 = *(int *)(local_res10 + -1); + } + iVar5 = 1; + if (1 < iVar7) { + iVar5 = iVar7; + } + iVar7 = iVar24; + if ((local_res10 != (undefined ***)0x0) && (local_res10 != (undefined ***)PTR_DAT_140155010)) { + iVar7 = *(int *)(local_res10 + -1); + } + if (iVar7 < iVar5) { + FUN_140002dc0((longlong *)&local_res10,iVar5); + } + FUN_140002ea0((longlong *)&local_res10); + pppuVar12 = local_res10; + if (local_res10 == (undefined ***)0x0) { + pppuVar12 = (undefined ***)PTR_DAT_140155010; + } + FUN_1400300b0(pppuVar12,L"FrameNumberList pack/unpack failed!",iVar6); + pppuVar12 = local_res10; + if (local_res10 == (undefined ***)0x0) { + pppuVar12 = (undefined ***)PTR_DAT_140155010; + } + uVar4 = FUN_140030080((short *)pppuVar12); + puVar10 = PTR_DAT_140155010; + if (0 < (int)uVar4) { + pppuVar13 = (undefined ***)(ulonglong)uVar4; + } + iVar5 = (int)pppuVar13; + if ((local_res10 != (undefined ***)0x0) && (local_res10 != (undefined ***)PTR_DAT_140155010)) { + iVar24 = *(int *)(local_res10 + -1); + } + if ((iVar5 < iVar24) || (iVar5 = 0, local_res10 == (undefined ***)0x0)) { +LAB_1400627a5: + if (((local_res10 != (undefined ***)PTR_DAT_140155010) && (local_res10 != (undefined ***)0x0)) + && (local_res10 + -1 != (undefined ***)0x0)) { + *(int *)(local_res10 + -1) = iVar5; + *(undefined2 *)((longlong)local_res10 + (longlong)iVar5 * 2) = 0; + } + } + else if (local_res10 != (undefined ***)PTR_DAT_140155010) { + iVar5 = *(int *)(local_res10 + -1); + goto LAB_1400627a5; + } + FUN_14005f1b0(param_1,(wchar_t *)&local_res10,(SIZE_T)puVar10,param_4); + pppuVar21 = local_b0; +LAB_1400627da: + local_c0 = Proud::CFastArray::vftable; + if (pppuVar21 != (undefined ***)0x0) { + if (local_b8 == (undefined ***)0x0) { + FUN_1400302f0(pppuVar21); + } + else { + (*(code *)(*local_b8)[3])(local_b8,pppuVar21); + } + } + if (local_d8 != (undefined ***)0x0) { + pppuVar12 = local_d8 + 1; + *pppuVar12 = (undefined **)((longlong)*pppuVar12 + -1); + if (*pppuVar12 == (undefined **)0x0) { + FUN_140043d50((longlong)&local_d8,(longlong *)local_d8); + } + } + FUN_140095270(&local_f0); + if (local_e8 != 0) { + if ((longlong)local_e0 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_e0 = local_e0 & 0xffffffff00000000; + } + FUN_140095270(&local_90); + if (local_88 != 0) { + if (local_7c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_80 = 0; + } + if (local_110 != (longlong *)0x0) { + plVar8 = local_110 + 1; + *plVar8 = *plVar8 + -1; + if (*plVar8 == 0) { + FUN_140043d50((longlong)&local_110,local_110); + } + } + FUN_140095270(&local_128); + if (local_120 != 0) { + if ((longlong)local_118 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_118 = local_118 & 0xffffffff00000000; + } + if (local_150 == (undefined ***)0x0) { + FUN_1400302f0(pppuVar23); + } + else { + (*(code *)(*local_150)[3])(local_150,pppuVar23); + } + (*(code *)**pppuVar9)(pppuVar9,1); + FUN_14002e770((longlong)local_70); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140062940.c b/decomp/Agent_Release_x64/full/functions/0x140062940.c new file mode 100644 index 00000000..639b7923 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140062940.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140062940 FUN_140062940 + * Pseudocode, not original source. */ + +void FUN_140062940(SIZE_T *param_1,uint *param_2) + +{ + double dVar1; + undefined **local_30; + undefined8 local_28; + undefined8 local_20; + undefined8 local_18; + undefined8 local_10; + + if (0.0 < *(double *)(param_2 + 0x1d6)) { + dVar1 = (double)(**(code **)(param_1[0x23] + 8))(); + if (5.0 < dVar1 - *(double *)(param_2 + 0x1d6)) { + param_2[0x1d6] = 0; + param_2[0x1d7] = 0; + local_28 = 0; + local_20 = 0; + local_18 = 0; + local_10 = 0; + local_30 = Proud::ByteArray::vftable; + FUN_140061820(param_1,param_2,0xc,7,(longlong)&local_30, + L"Proud::CNetServerImpl::HardDisconnect_AutoPruneGoesTooLongClient",0); + FUN_14003b870(&local_30); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140062a10.c b/decomp/Agent_Release_x64/full/functions/0x140062a10.c new file mode 100644 index 00000000..63be550b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140062a10.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140062a10 FUN_140062a10 + * Pseudocode, not original source. */ + +undefined8 FUN_140062a10(longlong param_1,uint param_2) + +{ + SIZE_T *pSVar1; + ulonglong uVar2; + int *piVar3; + undefined8 uVar4; + uint *puVar5; + + piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar3); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x20) + 200))(); + } + pSVar1 = *(SIZE_T **)(param_1 + 0x20); + uVar2 = (ulonglong)param_2 % (ulonglong)(uint)pSVar1[0x194]; + if ((pSVar1[400] != 0) && (puVar5 = *(uint **)(pSVar1[400] + uVar2 * 8), puVar5 != (uint *)0x0)) { + while ((uint)uVar2 == puVar5[8] % (uint)pSVar1[0x194]) { + if (*puVar5 == param_2) { + puVar5 = *(uint **)(puVar5 + 2); + if ((puVar5 != (uint *)0x0) && (*(longlong *)(puVar5 + 0x8a) == 0)) { + FUN_140061820(pSVar1,puVar5,0xb,3,(longlong)(puVar5 + 0x7e), + L"Proud::CNetServerImpl::C2SStub::ShutdownTcpHandshake",0); + } + break; + } + puVar5 = *(uint **)(puVar5 + 4); + if (puVar5 == (uint *)0x0) break; + } + } + uVar4 = FUN_14002e770((longlong)piVar3); + return CONCAT71((int7)((ulonglong)uVar4 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140062b20.c b/decomp/Agent_Release_x64/full/functions/0x140062b20.c new file mode 100644 index 00000000..f957c615 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140062b20.c @@ -0,0 +1,315 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140062b20 FUN_140062b20 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140062d19) */ +/* WARNING: Removing unreachable block (ram,0x000140062dad) */ + +void FUN_140062b20(longlong param_1,wchar_t *param_2,longlong param_3,undefined8 param_4) + +{ + int *piVar1; + char *pcVar2; + void *pvVar3; + int *piVar4; + undefined8 uVar5; + undefined ***pppuVar6; + undefined ***pppuVar7; + longlong *plVar8; + undefined ***pppuVar9; + longlong lVar10; + wchar_t *pwVar11; + longlong lVar12; + undefined8 *puVar13; + int iVar14; + ulonglong uVar15; + longlong *plVar16; + uint uVar17; + ulonglong uVar18; + undefined ***local_res8; + undefined4 local_148; + undefined4 uStack_144; + undefined **local_f8; + undefined8 local_f0; + undefined8 local_e8; + undefined8 local_e0; + undefined8 local_d8; + undefined **local_d0; + undefined8 local_c8; + undefined8 local_c0; + undefined8 local_b8; + undefined8 local_b0; + undefined4 local_a8; + undefined4 uStack_a4; + undefined8 uStack_a0; + int *local_98; + undefined1 local_90; + undefined8 local_88; + exception local_80 [72]; + + local_88 = 0xfffffffffffffffe; + piVar1 = (int *)(param_1 + 0xb8); + FUN_14002e6e0(piVar1); + uStack_a0 = (char *)CONCAT44(uStack_a0._4_4_,(undefined4)uStack_a0); + if ((*(longlong **)(param_1 + 0x6a0) != (longlong *)0x0) && + (uStack_a0 = (char *)CONCAT44(uStack_a0._4_4_,(undefined4)uStack_a0), + **(longlong **)(param_1 + 0x6a0) != 0)) { + piVar4 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + param_3 = *(longlong *)(param_1 + -0xa8); + param_2 = L"Proud::CNetServerImpl::Stop"; + (**(code **)(param_3 + 200))(param_1 + -0xa8); + } + if ((*(int **)(param_1 + 0x338) != (int *)0x0) && + (uVar5 = FUN_1400865f0(*(int **)(param_1 + 0x338),param_2,param_3,param_4), + (char)uVar5 != '\0')) { + FUN_14002e770((longlong)piVar1); + FUN_14002e770((longlong)piVar4); + FUN_14002f1e0(local_80,L"Call Stop in UserWorker",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_80,(ThrowInfo *)&DAT_140151b88); + } + FUN_14002e770((longlong)piVar4); + if ((*(undefined8 **)(param_1 + 0x6a0) != (undefined8 *)0x0) && + (plVar16 = (longlong *)**(undefined8 **)(param_1 + 0x6a0), plVar16 != (longlong *)0x0)) { + FUN_140035490(plVar16,param_2,param_3,param_4); + } + pppuVar6 = (undefined ***)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + pppuVar7 = pppuVar6; + FUN_14002e6e0((int *)pppuVar6); + if (DAT_14015bfcf != '\0') { + param_2 = L"Proud::CNetServerImpl::Stop"; + pppuVar7 = (undefined ***)(param_1 + -0xa8); + (**(code **)(*(longlong *)(param_1 + -0xa8) + 200))(); + } + lVar10 = 0; + if (*(longlong *)(param_1 + 0x1660) != 0) { + lVar10 = *(longlong *)(param_1 + 0x1650); + } + while (lVar12 = lVar10, lVar12 != 0) { + local_c8 = 0; + local_c0 = 0; + local_b8 = 0; + local_b0 = 0; + local_d0 = Proud::ByteArray::vftable; + param_4 = 3; + param_2 = *(wchar_t **)(lVar12 + 0x10); + FUN_140061820((SIZE_T *)(param_1 + -0xa8),(uint *)param_2,0xc,3,(longlong)&local_d0, + L"Proud::CNetServerImpl::Stop",0); + pppuVar7 = &local_d0; + FUN_14003b870(pppuVar7); + lVar10 = 0; + if (lVar12 != 0) { + lVar10 = *(longlong *)(lVar12 + 0x18); + } + } + lVar10 = 0; + if (*(longlong *)(param_1 + 0xbf0) != 0) { + lVar10 = *(longlong *)(param_1 + 0xbe0); + } + while (lVar12 = lVar10, uVar15 = 0, lVar12 != 0) { + local_f0 = 0; + local_e8 = 0; + local_e0 = 0; + local_d8 = 0; + local_f8 = Proud::ByteArray::vftable; + param_4 = 3; + param_2 = *(wchar_t **)(lVar12 + 8); + FUN_140061820((SIZE_T *)(param_1 + -0xa8),(uint *)param_2,0xc,3,(longlong)&local_f8, + L"Proud::CNetServerImpl::Stop",0); + pppuVar7 = &local_f8; + FUN_14003b870(pppuVar7); + lVar10 = 0; + if (lVar12 != 0) { + lVar10 = *(longlong *)(lVar12 + 0x10); + } + } + uVar18 = uVar15; + if (0 < *(int *)(param_1 + 0x638)) { + do { + pppuVar9 = (undefined ***)0x0; + if (((longlong)uVar15 < 0) || (*(int *)(param_1 + 0x638) <= (int)uVar18)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar7,param_2,0,param_4); + } + param_2 = *(wchar_t **)(param_1 + 0x630); + local_res8 = (undefined ***)0x0; + if (*(longlong *)(param_2 + uVar15 * 4) != 0) { + *(longlong *)(*(longlong *)(param_2 + uVar15 * 4) + 8) = + *(longlong *)(*(longlong *)(param_2 + uVar15 * 4) + 8) + 1; + local_res8 = *(undefined ****)(param_2 + uVar15 * 4); + } + pppuVar7 = pppuVar9; + if (local_res8 != (undefined ***)0x0) { + pppuVar7 = (undefined ***)*local_res8; + } + if (pppuVar7[0x2a] != (undefined **)0x0) { + pppuVar9 = (undefined ***)*pppuVar7[0x2a]; + } + FUN_140035490((longlong *)pppuVar9,param_2,0,param_4); + pppuVar7 = pppuVar9; + if (local_res8 != (undefined ***)0x0) { + pppuVar9 = local_res8 + 1; + *pppuVar9 = (undefined **)((longlong)*pppuVar9 + -1); + if (*pppuVar9 == (undefined **)0x0) { + if (*local_res8 != (undefined **)0x0) { + param_2 = (wchar_t *)0x1; + (**(code **)**local_res8)(); + } + FUN_1400302f0(local_res8); + pppuVar7 = local_res8; + } + } + uVar17 = (int)uVar18 + 1; + uVar15 = uVar15 + 1; + uVar18 = (ulonglong)uVar17; + } while ((int)uVar17 < *(int *)(param_1 + 0x638)); + } + plVar16 = (longlong *)0x0; + FUN_14002e770((longlong)pppuVar6); + iVar14 = 0; + do { + piVar4 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + plVar16 = *(longlong **)(param_1 + -0xa8); + param_2 = L"Proud::CNetServerImpl::Stop"; + (*(code *)plVar16[0x19])(param_1 + -0xa8); + } + if (((*(longlong *)(param_1 + 0xbf0) == 0) && (*(longlong *)(param_1 + 0x1660) == 0)) && + (*(longlong *)(param_1 + 0x1f8) == 0)) { + FUN_14002e770((longlong)piVar4); + break; + } + FUN_14002e770((longlong)piVar4); + Sleep(100); + iVar14 = iVar14 + 1; + } while (iVar14 < 10000); + piVar4 = *(int **)(param_1 + 0x338); + if (piVar4 != (int *)0x0) { + FUN_14008a700(piVar4,param_2,plVar16,param_4); + operator_delete(piVar4); + } + puVar13 = (undefined8 *)0x0; + *(undefined8 *)(param_1 + 0x338) = 0; + piVar4 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + plVar16 = *(longlong **)(param_1 + -0xa8); + param_2 = L"Proud::CNetServerImpl::Stop"; + (*(code *)plVar16[0x19])(param_1 + -0xa8); + } + pvVar3 = *(void **)(param_1 + 0x6e0); + if (pvVar3 != (void *)0x0) { + FUN_140039850((longlong)pvVar3,(longlong *)param_2,plVar16,param_4); + operator_delete(pvVar3); + } + *(undefined8 *)(param_1 + 0x6e0) = 0; + pvVar3 = *(void **)(param_1 + 0x6e8); + if (pvVar3 != (void *)0x0) { + FUN_140039850((longlong)pvVar3,(longlong *)param_2,plVar16,param_4); + operator_delete(pvVar3); + } + *(undefined8 *)(param_1 + 0x6e8) = 0; + FUN_14003a3e0((char *)(param_1 + 0x6b8)); + if (*(longlong *)(param_1 + 0x6a0) != 0) { + *(longlong *)(*(longlong *)(param_1 + 0x6a0) + 8) = + *(longlong *)(*(longlong *)(param_1 + 0x6a0) + 8) + -1; + if (*(longlong *)(*(longlong *)(param_1 + 0x6a0) + 8) == 0) { + puVar13 = *(undefined8 **)(param_1 + 0x6a0); + } + *(undefined8 *)(param_1 + 0x6a0) = 0; + if (puVar13 != (undefined8 *)0x0) { + plVar8 = (longlong *)*puVar13; + if (plVar8 != (longlong *)0x0) { + FUN_1400358a0(plVar8,param_2,plVar16,param_4); + FUN_1400302f0(plVar8); + } + FUN_1400302f0(puVar13); + } + } + lVar10 = *(longlong *)(param_1 + 0xbf0); + while (lVar10 != 0) { + lVar10 = 0; + if (*(longlong *)(param_1 + 0xbf0) != 0) { + lVar10 = *(longlong *)(param_1 + 0xbe0); + } + if (lVar10 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + param_2 = *(wchar_t **)(lVar10 + 8); + FUN_14004ed10(param_1 + -0xa8,param_2); + lVar10 = *(longlong *)(param_1 + 0xbf0); + } + FUN_1400980c0((char *)(param_1 + 0xbd0)); + lVar10 = *(longlong *)(param_1 + 0x1660); + while (lVar10 != 0) { + if (*(longlong *)(param_1 + 0x1650) == 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + param_2 = *(wchar_t **)(*(longlong *)(param_1 + 0x1650) + 0x10); + FUN_14004ed10(param_1 + -0xa8,param_2); + lVar10 = *(longlong *)(param_1 + 0x1660); + } + FUN_140040660((char *)(param_1 + 0x1640)); + pcVar2 = (char *)(param_1 + 0x1698); + if (*(longlong *)(param_1 + 0x16b8) == 0) { + plVar8 = (longlong *)0x0; + } + else { + plVar8 = *(longlong **)(param_1 + 0x16a8); + } + local_148 = SUB84(plVar8,0); + uStack_144 = (undefined4)((ulonglong)plVar8 >> 0x20); + local_a8 = local_148; + uStack_a4 = uStack_144; + uStack_a0 = pcVar2; + for (; plVar8 != (longlong *)0x0; plVar8 = (longlong *)plVar8[2]) { + if ((longlong *)*plVar8 != (longlong *)0x0) { + param_2 = (wchar_t *)0x1; + (**(code **)(*(longlong *)*plVar8 + 8))(); + } + } + if (uStack_a0 != pcVar2) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + FUN_1400980c0(pcVar2); + FUN_140059b00((char *)(param_1 + 0x358),param_2,plVar16,param_4); + pwVar11 = (wchar_t *)0x0; + FUN_14004dc80(param_1 + 0x620,0); + FUN_1400501c0((char *)(param_1 + 0x648)); + FUN_14002e770((longlong)piVar4); + piVar4 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); + local_98 = piVar4; + FUN_14002e6e0(piVar4); + local_90 = 1; + if (DAT_14015bfcf != '\0') { + plVar16 = *(longlong **)(param_1 + -0xa8); + pwVar11 = L"Proud::CNetServerImpl::Stop"; + (*(code *)plVar16[0x19])(param_1 + -0xa8); + } + FUN_14005a170((longlong *)(param_1 + 0x3b0),(longlong *)pwVar11,plVar16,param_4); + FUN_1400980c0((char *)(param_1 + 0xbd0)); + FUN_140052890((char *)(param_1 + 0x230)); + FUN_140052890((char *)(param_1 + 0x288)); + FUN_140040660((char *)(param_1 + 0x1640)); + puVar13 = *(undefined8 **)(param_1 + 0x3d0); + if (puVar13 != (undefined8 *)0x0) { + (**(code **)*puVar13)(puVar13,1); + } + *(undefined8 *)(param_1 + 0x3d0) = 0; + puVar13 = *(undefined8 **)(param_1 + -0x50); + if (puVar13 != (undefined8 *)0x0) { + (**(code **)*puVar13)(puVar13,1); + } + *(undefined8 *)(param_1 + -0x50) = 0; + FUN_14002e770((longlong)piVar4); + } + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400632c0.c b/decomp/Agent_Release_x64/full/functions/0x1400632c0.c new file mode 100644 index 00000000..b944952b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400632c0.c @@ -0,0 +1,137 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400632c0 FUN_1400632c0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140063629) */ +/* WARNING: Removing unreachable block (ram,0x00014006361e) */ + +void FUN_1400632c0(SIZE_T *param_1) + +{ + uint *puVar1; + ulonglong uVar2; + bool bVar3; + bool bVar4; + bool bVar5; + bool bVar6; + char cVar7; + int iVar8; + int iVar9; + int *piVar10; + int *piVar11; + longlong lVar12; + undefined8 *puVar13; + undefined8 *puVar14; + int *local_b0; + + piVar10 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar10); + if (DAT_14015bfcf != '\0') { + (**(code **)(*param_1 + 200))(param_1,L"Proud::CNetServerImpl::DisposeIssuedRemoteClients"); + } + if (param_1[0x54] == 0) { + puVar13 = (undefined8 *)0x0; + } + else { + puVar13 = (undefined8 *)param_1[0x52]; + } + do { + if (puVar13 == (undefined8 *)0x0) { + FUN_14002e770((longlong)piVar10); + return; + } + if (puVar13 == (undefined8 *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + puVar1 = (uint *)*puVar13; + FUN_140062940(param_1,puVar1); + piVar11 = (int *)(**(code **)(*(longlong *)(puVar1 + 0x42) + 0x10))(); + FUN_14002e6e0(piVar11); + local_b0 = (int *)0x0; + bVar6 = false; + if ((*(longlong **)(puVar1 + 0x1d0) != (longlong *)0x0) && + (lVar12 = **(longlong **)(puVar1 + 0x1d0), lVar12 != 0)) { + local_b0 = (int *)(lVar12 + 0xa8); + FUN_14002e6e0(local_b0); + bVar6 = true; + } + FUN_14002e6e0((int *)(param_1 + 0xf3)); + FUN_14002e6e0((int *)(param_1 + 0xfa)); + iVar8 = FUN_14009c450((longlong)(puVar1 + 0x30)); + if ((*(char *)(*(longlong *)(puVar1 + 0x1d2) + 0x40) == '\0') && + (**(char **)(puVar1 + 0x1d2) == '\0')) { + bVar3 = true; + } + else { + bVar3 = false; + } + if ((*(longlong **)(puVar1 + 0x1d8) == (longlong *)0x0) || + (lVar12 = **(longlong **)(puVar1 + 0x1d8), lVar12 == 0)) { +LAB_140063495: + bVar4 = true; + } + else { + if (*(char *)(lVar12 + 0x140) == '\0') { + if (*(longlong **)(puVar1 + 0x1d8) == (longlong *)0x0) { + lVar12 = 0; + } + else { + lVar12 = **(longlong **)(puVar1 + 0x1d8); + } + if (*(char *)(lVar12 + 0x100) == '\0') { + if (*(longlong **)(puVar1 + 0x1d8) == (longlong *)0x0) { + lVar12 = 0; + } + else { + lVar12 = **(longlong **)(puVar1 + 0x1d8); + } + iVar9 = FUN_14009c450(lVar12 + 0x40); + if (iVar9 == 0) goto LAB_140063495; + } + } + bVar4 = false; + } + if (((*(longlong *)(puVar1 + 8) == 0) && + (cVar7 = (**(code **)(*(longlong *)(puVar1 + 2) + 0x18))(), cVar7 == '\0')) && + (*(longlong *)(puVar1 + 0x48) == 0)) { + bVar5 = false; + } + else { + bVar5 = true; + } + FUN_14002e770((longlong)piVar11); + if (((iVar8 != 0) || (!bVar3)) || ((!bVar4 || (bVar5)))) { + puVar14 = (undefined8 *)puVar13[2]; + } + else { + FUN_14004ed10((longlong)param_1,puVar1); + puVar14 = (undefined8 *)puVar13[2]; + FUN_140040120((char *)(param_1 + 0x50),puVar13,'\0'); + uVar2 = ((ulonglong)puVar1 & 0xffffffff) % (ulonglong)(uint)param_1[0x2ed]; + if (param_1[0x2e9] != 0) { + puVar13 = *(undefined8 **)(param_1[0x2e9] + uVar2 * 8); + while( true ) { + if ((puVar13 == (undefined8 *)0x0) || + ((uint)uVar2 != *(uint *)(puVar13 + 4) % (uint)param_1[0x2ed])) goto LAB_14006359f; + if ((uint *)*puVar13 == puVar1) break; + puVar13 = (undefined8 *)puVar13[2]; + } + FUN_140040120((char *)(param_1 + 0x2e8),puVar13,'\0'); + } +LAB_14006359f: + if (bVar6) { + FUN_14002e770((longlong)local_b0); + bVar6 = false; + } + (**(code **)(*(longlong *)puVar1 + 8))(puVar1,1); + } + FUN_14002e770((longlong)(param_1 + 0xfa)); + FUN_14002e770((longlong)(param_1 + 0xf3)); + puVar13 = puVar14; + if (bVar6) { + FUN_14002e770((longlong)local_b0); + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140063660.c b/decomp/Agent_Release_x64/full/functions/0x140063660.c new file mode 100644 index 00000000..89024931 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140063660.c @@ -0,0 +1,164 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140063660 FUN_140063660 + * Pseudocode, not original source. */ + +void FUN_140063660(longlong *param_1,wchar_t *param_2,longlong *param_3,longlong param_4) + +{ + longlong *plVar1; + undefined8 *puVar2; + void *pvVar3; + longlong *plVar4; + int *piVar5; + wchar_t *pwVar6; + wchar_t *pwVar7; + + *param_1 = (longlong)Proud::CNetServerImpl::vftable; + param_1[0xc] = (longlong)Proud::CNetServerImpl::vftable; + param_1[0xd] = (longlong)Proud::CNetServerImpl::vftable; + param_1[0xe] = (longlong)Proud::CNetServerImpl::vftable; + param_1[0xf] = (longlong)Proud::CNetServerImpl::vftable; + param_1[0x15] = (longlong)Proud::CNetServerImpl::vftable; + param_1[0x16] = (longlong)Proud::CNetServerImpl::vftable; + param_1[0x17] = (longlong)Proud::CNetServerImpl::vftable; + param_1[0x23] = (longlong)Proud::CNetServerImpl::vftable; + param_1[0x24] = (longlong)Proud::CNetServerImpl::vftable; + FUN_140062b20((longlong)(param_1 + 0x15),param_2,(longlong)param_3,param_4); + plVar1 = param_1 + 0x25; + FUN_14002e6e0((int *)plVar1); + if (DAT_14015bfcf != '\0') { + param_2 = L"Proud::CNetServerImpl::~CNetServerImpl"; + (**(code **)(*param_1 + 200))(param_1); + } + FUN_140082b70((longlong)param_1,param_2,param_3,param_4); + FUN_14002e770((longlong)plVar1); + param_1[0x309] = (longlong)Proud::CFastArray::vftable; + pwVar7 = (wchar_t *)param_1[0x30b]; + if (pwVar7 != (wchar_t *)0x0) { + if ((longlong *)param_1[0x30a] == (longlong *)0x0) { + FUN_1400302f0(pwVar7); + } + else { + (**(code **)(*(longlong *)param_1[0x30a] + 0x18))(); + } + } + FUN_140003240(param_1 + 0x301,pwVar7,param_3,param_4); + puVar2 = (undefined8 *)param_1[0x2fe]; + if (puVar2 != (undefined8 *)0x0) { + FUN_140090280(puVar2,(longlong *)pwVar7,param_3,param_4); + operator_delete(puVar2); + } + param_1[0x2f9] = (longlong)Proud::CFastArray::vftable; + pwVar6 = (wchar_t *)param_1[0x2fb]; + if (pwVar6 != (wchar_t *)0x0) { + param_3 = (longlong *)param_1[0x2fa]; + if (param_3 == (longlong *)0x0) { + FUN_1400302f0(pwVar6); + } + else { + (**(code **)(*param_3 + 0x18))(param_3); + pwVar7 = pwVar6; + } + } + param_1[0x2f4] = (longlong)Proud::CFastArray::vftable; + pwVar6 = (wchar_t *)param_1[0x2f6]; + if (pwVar6 != (wchar_t *)0x0) { + param_3 = (longlong *)param_1[0x2f5]; + if (param_3 == (longlong *)0x0) { + FUN_1400302f0(pwVar6); + } + else { + (**(code **)(*param_3 + 0x18))(param_3); + pwVar7 = pwVar6; + } + } + FUN_140043ca0((char *)(param_1 + 0x2e8)); + FUN_1400414f0((char *)(param_1 + 0x2dd)); + FUN_140039bf0(param_1 + 0x19a,pwVar7,param_3,param_4); + FUN_140043ca0((char *)(param_1 + 399)); + FUN_14003b870(param_1 + 0x18a); + FUN_1400a0e80(param_1 + 0x189); + FUN_14003b870(param_1 + 0x182); + FUN_14003ebe0(param_1 + 0x105); + FUN_14003ead0(param_1 + 0x101); + FUN_14002e7a0((undefined4 *)(param_1 + 0xfa),pwVar7,param_3,param_4); + FUN_14002e7a0((undefined4 *)(param_1 + 0xf3),pwVar7,param_3,param_4); + pvVar3 = (void *)param_1[0xf2]; + if (pvVar3 != (void *)0x0) { + FUN_140039850((longlong)pvVar3,(longlong *)pwVar7,param_3,param_4); + operator_delete(pvVar3); + } + pvVar3 = (void *)param_1[0xf1]; + if (pvVar3 != (void *)0x0) { + FUN_140039850((longlong)pvVar3,(longlong *)pwVar7,param_3,param_4); + operator_delete(pvVar3); + } + FUN_140043c20(param_1 + 0xea,pwVar7,param_3,param_4); + if ((param_1[0xe9] != 0) && + (*(longlong *)(param_1[0xe9] + 8) = *(longlong *)(param_1[0xe9] + 8) + -1, + *(longlong *)(param_1[0xe9] + 8) == 0)) { + puVar2 = (undefined8 *)param_1[0xe9]; + plVar4 = (longlong *)*puVar2; + if (plVar4 != (longlong *)0x0) { + FUN_1400358a0(plVar4,pwVar7,param_3,param_4); + FUN_1400302f0(plVar4); + } + FUN_1400302f0(puVar2); + } + FUN_140052870((char *)(param_1 + 0xde)); + param_1[0xd9] = (longlong)Proud::CFastArray,0>::vftable; + pwVar6 = (wchar_t *)(longlong)(int)param_1[0xdc]; + if (0 < (int)param_1[0xdc]) { + FUN_1400ae080((longlong *)param_1[0xdb],(longlong)pwVar6); + pwVar7 = pwVar6; + } + pwVar6 = (wchar_t *)param_1[0xdb]; + if (pwVar6 != (wchar_t *)0x0) { + param_3 = (longlong *)param_1[0xda]; + if (param_3 == (longlong *)0x0) { + FUN_1400302f0(pwVar6); + } + else { + (**(code **)(*param_3 + 0x18))(param_3); + pwVar7 = pwVar6; + } + } + FUN_140081fe0(param_1 + 0x95); + FUN_140085260(param_1 + 0x90); + if ((undefined8 *)param_1[0x8f] != (undefined8 *)0x0) { + pwVar7 = (wchar_t *)0x1; + (*(code *)**(undefined8 **)param_1[0x8f])(); + } + FUN_14005a170(param_1 + 0x8b,(longlong *)pwVar7,param_3,param_4); + if ((undefined8 *)param_1[0x8b] != (undefined8 *)0x0) { + pwVar7 = (wchar_t *)0x1; + (*(code *)**(undefined8 **)param_1[0x8b])(); + } + FUN_140059ec0((char *)(param_1 + 0x80),pwVar7,param_3,param_4); + piVar5 = (int *)param_1[0x7c]; + if (piVar5 != (int *)0x0) { + FUN_14008a700(piVar5,pwVar7,param_3,param_4); + operator_delete(piVar5); + } + FUN_1400414f0((char *)(param_1 + 0x71)); + FUN_1400533d0((char *)(param_1 + 0x66)); + FUN_1400533d0((char *)(param_1 + 0x5b)); + FUN_140043ca0((char *)(param_1 + 0x50)); + FUN_14001c020(param_1 + 0x43); + FUN_14001c020(param_1 + 0x42); + FUN_14002e7a0((undefined4 *)(param_1 + 0x2c),pwVar7,param_3,param_4); + FUN_14002e7a0((undefined4 *)plVar1,pwVar7,param_3,param_4); + param_1[0x24] = (longlong)Proud::IUserTaskQueueOwner::vftable; + param_1[0x23] = (longlong)Proud::IVizAgentDg::vftable; + param_1[0x17] = (longlong)Proud::CP2PGroupMemberBase_S::vftable; + FUN_140059ec0((char *)(param_1 + 0x18),pwVar7,param_3,param_4); + param_1[0x16] = (longlong)Proud::ICompletionContext::vftable; + param_1[0x15] = (longlong)Proud::IRmiHost::vftable; + FUN_1400a27f0(param_1 + 0xf,pwVar7,param_3,param_4); + param_1[0xe] = (longlong)Proud::ISendDest_S::vftable; + param_1[0xd] = (longlong)Proud::ICompletionPortEventSink::vftable; + param_1[0xc] = (longlong)Proud::IFastSocketDelegate::vftable; + FUN_140082810(param_1,pwVar7,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140063b40.c b/decomp/Agent_Release_x64/full/functions/0x140063b40.c new file mode 100644 index 00000000..d9e7b053 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140063b40.c @@ -0,0 +1,104 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140063b40 FUN_140063b40 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140063d9d) */ + +void FUN_140063b40(undefined ***param_1,wchar_t *param_2,undefined *param_3,undefined8 param_4) + +{ + int *piVar1; + short *psVar2; + uint uVar3; + int *piVar4; + int *piVar5; + undefined ***pppuVar6; + undefined **ppuVar7; + undefined8 uVar8; + wchar_t *pwVar9; + undefined **ppuVar10; + short *psVar11; + double dVar12; + short *local_res8; + undefined **local_70; + undefined8 local_68; + undefined8 local_60; + undefined8 local_58; + undefined8 local_50; + + piVar4 = (int *)(*(code *)(*param_1)[0xb])(); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + param_2 = L"Proud::CNetServerImpl::HeartBeat_PerClient"; + (*(code *)(*param_1)[0x19])(param_1); + } + pppuVar6 = param_1 + 0x23; + dVar12 = (double)(*(code *)(*pppuVar6)[1])(); + ppuVar7 = (undefined **)0x0; + if (param_1[0x193] != (undefined **)0x0) { + ppuVar7 = param_1[0x191]; + } + while (ppuVar10 = ppuVar7, ppuVar10 != (undefined **)0x0) { + pwVar9 = (wchar_t *)ppuVar10[1]; + if (dVar12 - *(double *)(pwVar9 + 0xc0) < (double)param_1[0x46] || + dVar12 - *(double *)(pwVar9 + 0xc0) == (double)param_1[0x46]) { + FUN_140062940((SIZE_T *)param_1,(uint *)pwVar9); + if (((char)pwVar9[0x380] != '\0') && + (DAT_1401550f8 * 10.0 < dVar12 - *(double *)(pwVar9 + 0xcc))) { + param_3 = &DAT_14015de10; + (*(code *)param_1[0x95][0x1a])(param_1 + 0x95,*(uint *)(pwVar9 + 0x37c)); + } + FUN_14004c350(param_1,(longlong *)pwVar9,dVar12,param_4); + pppuVar6 = param_1; + FUN_140052660((longlong *)param_1,(longlong *)pwVar9,param_3,param_4); + } + else { + if (param_1[0x2fe] != (undefined **)0x0) { + FUN_140030200(pppuVar6,param_2,param_3,param_4); + local_res8 = (short *)PTR_DAT_140155010; + uVar3 = (**(code **)(*(longlong *)pwVar9 + 0x10))(pwVar9); + FUN_14001b7a0((longlong *)&local_res8, + L"클라 %d로부터의 TCP 수신이 오랫동안 없어서 소켓을 닫습니다." + ,(ulonglong)uVar3,param_4); + psVar2 = local_res8; + psVar11 = local_res8; + if (local_res8 == (short *)0x0) { + psVar11 = (short *)PTR_DAT_140155010; + } + uVar8 = 0; + ppuVar7 = param_1[0x2fe]; + FUN_14008f2e0((longlong)ppuVar7,0,psVar11,param_4); + if (((psVar2 != (short *)0x0) && (psVar2 != (short *)PTR_DAT_140155010)) && + (psVar2 + -4 != (short *)0x0)) { + piVar5 = (int *)FUN_140030200(ppuVar7,uVar8,psVar11,param_4); + FUN_14002e6e0(piVar5); + piVar1 = (int *)(psVar2 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar2 + -4); + } + FUN_14002e770((longlong)piVar5); + } + } + local_68 = 0; + local_60 = 0; + local_58 = 0; + local_50 = 0; + local_70 = Proud::ByteArray::vftable; + param_4 = 7; + param_3 = (undefined *)0xb; + FUN_140061820((SIZE_T *)param_1,(uint *)pwVar9,0xb,7,(longlong)&local_70, + L"Proud::CNetServerImpl::HeartBeat_PerClient",0); + pppuVar6 = &local_70; + FUN_14003b870(pppuVar6); + } + param_2 = pwVar9; + ppuVar7 = (undefined **)0x0; + if (ppuVar10 != (undefined **)0x0) { + ppuVar7 = (undefined **)ppuVar10[2]; + } + } + FUN_14002e770((longlong)piVar4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140063de0.c b/decomp/Agent_Release_x64/full/functions/0x140063de0.c new file mode 100644 index 00000000..a34aff5b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140063de0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140063de0 FUN_140063de0 + * Pseudocode, not original source. */ + +void FUN_140063de0(SIZE_T *param_1,undefined8 param_2,undefined ***param_3,undefined ***param_4) + +{ + FUN_14005ffe0(param_1,param_2,param_3,param_4); + FUN_1400620a0(param_1,param_2,(SIZE_T)param_3,param_4); + FUN_14005f440(param_1,param_2,param_3,(longlong)param_4); + FUN_14005f8a0(param_1,param_2,param_3,param_4); + FUN_14005fc40(param_1,param_2,param_3,param_4); + FUN_140053300(param_1,param_2,(undefined *)param_3,param_4); + FUN_14003c9e0(param_1,param_2,(longlong *)param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140063e30.c b/decomp/Agent_Release_x64/full/functions/0x140063e30.c new file mode 100644 index 00000000..0369df7f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140063e30.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140063e30 FUN_140063e30 + * Pseudocode, not original source. */ + +longlong * FUN_140063e30(longlong *param_1,wchar_t *param_2,longlong *param_3,longlong param_4) + +{ + FUN_140063660(param_1,param_2,param_3,param_4); + if (((ulonglong)param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140063e60.c b/decomp/Agent_Release_x64/full/functions/0x140063e60.c new file mode 100644 index 00000000..b575b1a4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140063e60.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140063e60 FUN_140063e60 + * Pseudocode, not original source. */ + +DWORD FUN_140063e60(void) + +{ + DWORD DVar1; + + DVar1 = GetLastError(); + if (0 < (int)DVar1) { + DVar1 = DVar1 & 0xffff | 0x80070000; + } + return DVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140063e80.c b/decomp/Agent_Release_x64/full/functions/0x140063e80.c new file mode 100644 index 00000000..ee52b827 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140063e80.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140063e80 FUN_140063e80 + * Pseudocode, not original source. */ + +HANDLE FUN_140063e80(longlong *param_1,LPCWSTR param_2,uint param_3,uint param_4, + LPSECURITY_ATTRIBUTES param_5,DWORD param_6,DWORD param_7,undefined8 param_8) + +{ + HMODULE hModule; + FARPROC pFVar1; + HANDLE pvVar2; + + if (*param_1 == 0) { + if ((int)param_1[1] != 0) { + pvVar2 = CreateFileW(param_2,param_3,param_4,param_5,param_6,param_7,(HANDLE)0x0); + return pvVar2; + } + } + else { + hModule = GetModuleHandleW(L"kernel32.dll"); + if ((hModule != (HMODULE)0x0) && + (pFVar1 = GetProcAddress(hModule,"CreateFileTransactedW"), pFVar1 != (FARPROC)0x0)) { + pvVar2 = (HANDLE)(*pFVar1)(param_2,param_3,param_4,param_5,param_6,param_7,param_8,*param_1,0, + 0); + return pvVar2; + } + } + return (HANDLE)0xffffffffffffffff; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140063f80.c b/decomp/Agent_Release_x64/full/functions/0x140063f80.c new file mode 100644 index 00000000..bea7cbff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140063f80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140063f80 FUN_140063f80 + * Pseudocode, not original source. */ + +void FUN_140063f80(undefined8 *param_1) + +{ + *param_1 = Proud::ISendDest_C::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140063f90.c b/decomp/Agent_Release_x64/full/functions/0x140063f90.c new file mode 100644 index 00000000..2d534cbf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140063f90.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140063f90 FUN_140063f90 + * Pseudocode, not original source. */ + +undefined8 * FUN_140063f90(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::ISendDest_C::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140063fc0.c b/decomp/Agent_Release_x64/full/functions/0x140063fc0.c new file mode 100644 index 00000000..59bd7a61 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140063fc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140063fc0 FUN_140063fc0 + * Pseudocode, not original source. */ + +void FUN_140063fc0(undefined8 *param_1) + +{ + *param_1 = Proud::IP2PGroupMember::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140063fd0.c b/decomp/Agent_Release_x64/full/functions/0x140063fd0.c new file mode 100644 index 00000000..7068471b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140063fd0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140063fd0 FUN_140063fd0 + * Pseudocode, not original source. */ + +undefined8 * FUN_140063fd0(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::IP2PGroupMember::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064000.c b/decomp/Agent_Release_x64/full/functions/0x140064000.c new file mode 100644 index 00000000..d263125b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064000.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064000 FUN_140064000 + * Pseudocode, not original source. */ + +void FUN_140064000(undefined8 *param_1) + +{ + *param_1 = Proud::IUdpPacketFragBoardDg::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064010.c b/decomp/Agent_Release_x64/full/functions/0x140064010.c new file mode 100644 index 00000000..9b757da3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064010.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064010 FUN_140064010 + * Pseudocode, not original source. */ + +undefined8 * FUN_140064010(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::IUdpPacketFragBoardDg::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064040.c b/decomp/Agent_Release_x64/full/functions/0x140064040.c new file mode 100644 index 00000000..99270aad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064040.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064040 FUN_140064040 + * Pseudocode, not original source. */ + +void FUN_140064040(undefined8 *param_1) + +{ + *param_1 = Proud::IUdpPacketDefragBoardDg::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064050.c b/decomp/Agent_Release_x64/full/functions/0x140064050.c new file mode 100644 index 00000000..66e445b7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064050.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064050 FUN_140064050 + * Pseudocode, not original source. */ + +undefined8 * FUN_140064050(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::IUdpPacketDefragBoardDg::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064080.c b/decomp/Agent_Release_x64/full/functions/0x140064080.c new file mode 100644 index 00000000..8aa4c8fe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064080.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064080 FUN_140064080 + * Pseudocode, not original source. */ + +void FUN_140064080(undefined8 *param_1) + +{ + *param_1 = Proud::CP2PConnectionTrialContext::StateBase::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064090.c b/decomp/Agent_Release_x64/full/functions/0x140064090.c new file mode 100644 index 00000000..093e1833 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064090.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064090 FUN_140064090 + * Pseudocode, not original source. */ + +undefined8 * FUN_140064090(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::CP2PConnectionTrialContext::StateBase::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400640c0.c b/decomp/Agent_Release_x64/full/functions/0x1400640c0.c new file mode 100644 index 00000000..51a2865a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400640c0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400640c0 FUN_1400640c0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400640c0(void) + +{ + return 65000; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400640d0.c b/decomp/Agent_Release_x64/full/functions/0x1400640d0.c new file mode 100644 index 00000000..13600b0e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400640d0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400640d0 FUN_1400640d0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400640d0(void) + +{ + return 0xfded; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400640e0.c b/decomp/Agent_Release_x64/full/functions/0x1400640e0.c new file mode 100644 index 00000000..8cd2537b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400640e0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400640e0 FUN_1400640e0 + * Pseudocode, not original source. */ + +void FUN_1400640e0(undefined8 *param_1) + +{ + param_1[2] = 0; + param_1[1] = Proud::IP2PGroupMember::vftable; + *param_1 = Proud::ISendDest_C::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064110.c b/decomp/Agent_Release_x64/full/functions/0x140064110.c new file mode 100644 index 00000000..26e732bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064110.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064110 FUN_140064110 + * Pseudocode, not original source. */ + +undefined8 * FUN_140064110(undefined8 *param_1,uint param_2) + +{ + FUN_140081fe0(param_1); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064140.c b/decomp/Agent_Release_x64/full/functions/0x140064140.c new file mode 100644 index 00000000..7b667040 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064140.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064140 FUN_140064140 + * Pseudocode, not original source. */ + +undefined8 FUN_140064140(void) + +{ + return 0xfbf4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064150.c b/decomp/Agent_Release_x64/full/functions/0x140064150.c new file mode 100644 index 00000000..41b016ce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064150.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064150 FUN_140064150 + * Pseudocode, not original source. */ + +undefined8 FUN_140064150(void) + +{ + return 0xfc08; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064160.c b/decomp/Agent_Release_x64/full/functions/0x140064160.c new file mode 100644 index 00000000..37b7d799 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064160.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064160 FUN_140064160 + * Pseudocode, not original source. */ + +undefined8 FUN_140064160(longlong param_1) + +{ + return *(undefined8 *)(param_1 + 0x1580); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064170.c b/decomp/Agent_Release_x64/full/functions/0x140064170.c new file mode 100644 index 00000000..2d4ed9aa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064170.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064170 FUN_140064170 + * Pseudocode, not original source. */ + +void FUN_140064170(longlong param_1,double param_2,undefined8 param_3,undefined8 param_4) + +{ + exception local_58 [88]; + + if (param_2 <= 0.0) { + FUN_14002f1e0(local_58,L"Invalid parameter!",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *(double *)(param_1 + 0x1728) = param_2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400641b0.c b/decomp/Agent_Release_x64/full/functions/0x1400641b0.c new file mode 100644 index 00000000..39adb2f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400641b0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400641b0 FUN_1400641b0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400641b0(longlong param_1) + +{ + return *(undefined4 *)(param_1 + 0x628); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400641c0.c b/decomp/Agent_Release_x64/full/functions/0x1400641c0.c new file mode 100644 index 00000000..97e1917d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400641c0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400641c0 FUN_1400641c0 + * Pseudocode, not original source. */ + +void FUN_1400641c0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + char cVar1; + exception local_58 [80]; + + cVar1 = (**(code **)(*(longlong *)(param_1 + -0x70) + 0x90))(param_1 + -0x70); + if (cVar1 != '\0') { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_Already_async_callback_may_occur_1401567a8,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + (**(code **)(*(longlong *)(param_1 + 8) + 0x18))(param_1 + 8); + *(undefined8 *)(param_1 + 0x1510) = param_2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064230.c b/decomp/Agent_Release_x64/full/functions/0x140064230.c new file mode 100644 index 00000000..55347afb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064230.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064230 FUN_140064230 + * Pseudocode, not original source. */ + +undefined4 FUN_140064230(longlong param_1) + +{ + return *(undefined4 *)(param_1 + 0x6a4); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064240.c b/decomp/Agent_Release_x64/full/functions/0x140064240.c new file mode 100644 index 00000000..e24271ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064240.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064240 FUN_140064240 + * Pseudocode, not original source. */ + +undefined4 FUN_140064240(longlong param_1) + +{ + return *(undefined4 *)(param_1 + 0x624); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064250.c b/decomp/Agent_Release_x64/full/functions/0x140064250.c new file mode 100644 index 00000000..93f6a1a4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064250.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064250 FUN_140064250 + * Pseudocode, not original source. */ + +void FUN_140064250(longlong param_1,undefined2 *param_2) + +{ + *param_2 = *(undefined2 *)(param_1 + 0x1858); + *(undefined1 *)(param_2 + 1) = *(undefined1 *)(param_1 + 0x185a); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064270.c b/decomp/Agent_Release_x64/full/functions/0x140064270.c new file mode 100644 index 00000000..c38ecf44 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064270.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064270 FUN_140064270 + * Pseudocode, not original source. */ + +void FUN_140064270(longlong param_1,undefined8 *param_2) + +{ + *(undefined8 *)(param_1 + 0x1800) = *param_2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064280.c b/decomp/Agent_Release_x64/full/functions/0x140064280.c new file mode 100644 index 00000000..7b1e2c1a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064280.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064280 FUN_140064280 + * Pseudocode, not original source. */ + +void FUN_140064280(longlong param_1,undefined8 *param_2) + +{ + *param_2 = *(undefined8 *)(param_1 + 0x1870); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064290.c b/decomp/Agent_Release_x64/full/functions/0x140064290.c new file mode 100644 index 00000000..0498f126 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064290.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064290 FUN_140064290 + * Pseudocode, not original source. */ + +undefined8 FUN_140064290(longlong *param_1) + +{ + if ((undefined8 *)*param_1 != (undefined8 *)0x0) { + return *(undefined8 *)*param_1; + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400642a0.c b/decomp/Agent_Release_x64/full/functions/0x1400642a0.c new file mode 100644 index 00000000..a83f25b6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400642a0.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400642a0 FUN_1400642a0 + * Pseudocode, not original source. */ + +void FUN_1400642a0(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong lVar2; + exception local_58 [88]; + + if (*(longlong **)(param_2 + 0xb0) != param_1) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + lVar1 = *(longlong *)(param_2 + 0xa8); + lVar2 = *(longlong *)(param_2 + 0xa0); + if (lVar1 != 0) { + *(longlong *)(lVar1 + 0xa0) = lVar2; + } + if (lVar2 != 0) { + *(longlong *)(lVar2 + 0xa8) = lVar1; + } + if (lVar1 == 0) { + if (param_1[1] != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + param_1[1] = lVar2; + } + if (lVar2 == 0) { + if (*param_1 != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = lVar1; + } + *(undefined8 *)(param_2 + 0xa0) = 0; + *(undefined8 *)(param_2 + 0xa8) = 0; + *(undefined8 *)(param_2 + 0xb0) = 0; + *(int *)(param_1 + 2) = (int)param_1[2] + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064390.c b/decomp/Agent_Release_x64/full/functions/0x140064390.c new file mode 100644 index 00000000..ec0278db --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064390.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064390 FUN_140064390 + * Pseudocode, not original source. */ + +int FUN_140064390(longlong param_1,int param_2) + +{ + int iVar1; + int iVar2; + + iVar2 = *(int *)(param_1 + 0x24); + if (iVar2 == 0) { + iVar1 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + iVar2 = 0x400; + if (iVar1 < 0x400) { + iVar2 = iVar1; + } + iVar1 = 4; + if (4 < iVar2) { + iVar1 = iVar2; + } + iVar2 = iVar1 + param_2; + if (iVar1 + param_2 < *(int *)(param_1 + 0x20)) { + iVar2 = *(int *)(param_1 + 0x20); + } + return iVar2; + } + if (iVar2 == 1) { + iVar1 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + iVar2 = 0x10; + if (0x10 < iVar1) { + iVar2 = iVar1; + } + iVar1 = iVar2 + param_2; + if (iVar2 + param_2 < *(int *)(param_1 + 0x20)) { + iVar1 = *(int *)(param_1 + 0x20); + } + return iVar1; + } + if (iVar2 == 2) { + if (param_2 < *(int *)(param_1 + 0x20)) { + param_2 = *(int *)(param_1 + 0x20); + } + return param_2; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064430.c b/decomp/Agent_Release_x64/full/functions/0x140064430.c new file mode 100644 index 00000000..1d0ec1ab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064430.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064430 FUN_140064430 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_140064430(uint *param_1,undefined4 *param_2) + +{ + undefined8 uVar1; + undefined1 auStack_48 [32]; + undefined4 local_28; + undefined4 local_24; + undefined4 local_20; + undefined4 local_1c; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_48; + local_28 = 0; + local_24 = 0; + local_20 = 0; + local_1c = 0; + uVar1 = FUN_140080600(param_1,(undefined8 *)&local_28,0x10); + if ((char)uVar1 == '\0') { + return uVar1; + } + *param_2 = local_28; + param_2[1] = local_24; + param_2[2] = local_20; + param_2[3] = local_1c; + return CONCAT71((uint7)(uint3)((uint)local_1c >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400644d0.c b/decomp/Agent_Release_x64/full/functions/0x1400644d0.c new file mode 100644 index 00000000..f40c41b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400644d0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400644d0 FUN_1400644d0 + * Pseudocode, not original source. */ + +void FUN_1400644d0(undefined8 *param_1) + +{ + if ((HANDLE)*param_1 != (HANDLE)0x0) { + CloseHandle((HANDLE)*param_1); + *param_1 = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064500.c b/decomp/Agent_Release_x64/full/functions/0x140064500.c new file mode 100644 index 00000000..7048c57d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064500.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064500 FUN_140064500 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 * FUN_140064500(undefined8 *param_1) + +{ + undefined4 *puVar1; + undefined1 auStack_58 [32]; + undefined8 *local_38; + undefined8 local_30; + undefined4 local_28 [4]; + ulonglong local_18; + + local_30 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_58; + *param_1 = Proud::CP2PConnectionTrialContext::PeerHolepunchState::vftable; + *(undefined4 *)(param_1 + 4) = 0; + *(undefined4 *)((longlong)param_1 + 0x24) = 0; + *(undefined4 *)(param_1 + 5) = 0; + *(undefined4 *)((longlong)param_1 + 0x2c) = 0; + *(undefined2 *)((longlong)param_1 + 0x34) = 0x3ff; + *(undefined4 *)(param_1 + 6) = DAT_1401550e8; + *(undefined4 *)(param_1 + 1) = 1; + param_1[2] = 0; + param_1[3] = 0; + local_38 = param_1; + puVar1 = FUN_1400377d0(local_28); + *(undefined4 *)(param_1 + 4) = *puVar1; + *(undefined4 *)((longlong)param_1 + 0x24) = puVar1[1]; + *(undefined4 *)(param_1 + 5) = puVar1[2]; + *(undefined4 *)((longlong)param_1 + 0x2c) = puVar1[3]; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400645b0.c b/decomp/Agent_Release_x64/full/functions/0x1400645b0.c new file mode 100644 index 00000000..0999f654 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400645b0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400645b0 FUN_1400645b0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400645b0(void) + +{ + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400645c0.c b/decomp/Agent_Release_x64/full/functions/0x1400645c0.c new file mode 100644 index 00000000..a7b23294 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400645c0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400645c0 FUN_1400645c0 + * Pseudocode, not original source. */ + +void FUN_1400645c0(longlong param_1) + +{ + /* WARNING: Could not recover jumptable at 0x0001400645cc. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 8) + 0x68) + 0x10)) + (*(longlong *)(param_1 + 8) + 0x68); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400645d0.c b/decomp/Agent_Release_x64/full/functions/0x1400645d0.c new file mode 100644 index 00000000..0e96b3d6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400645d0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400645d0 FUN_1400645d0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400645d0(undefined8 *param_1,byte param_2) + +{ + param_1[2] = 0; + param_1[1] = Proud::IP2PGroupMember::vftable; + *param_1 = Proud::ISendDest_C::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064610.c b/decomp/Agent_Release_x64/full/functions/0x140064610.c new file mode 100644 index 00000000..3221e2d5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064610.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064610 FUN_140064610 + * Pseudocode, not original source. */ + +void FUN_140064610(longlong param_1,byte param_2) + +{ + FUN_1400645d0((undefined8 *)(param_1 + -8),param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064620.c b/decomp/Agent_Release_x64/full/functions/0x140064620.c new file mode 100644 index 00000000..4ac5c7ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064620.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064620 FUN_140064620 + * Pseudocode, not original source. */ + +void FUN_140064620(void) + +{ + FUN_1400645b0(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064630.c b/decomp/Agent_Release_x64/full/functions/0x140064630.c new file mode 100644 index 00000000..a3f3ad05 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064630.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064630 FUN_140064630 + * Pseudocode, not original source. */ + +undefined8 FUN_140064630(longlong param_1) + +{ + int *piVar1; + undefined8 uVar2; + + piVar1 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar1); + uVar2 = FUN_14002e770((longlong)piVar1); + return CONCAT71((int7)((ulonglong)uVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064660.c b/decomp/Agent_Release_x64/full/functions/0x140064660.c new file mode 100644 index 00000000..26e1ffaf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064660.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064660 FUN_140064660 + * Pseudocode, not original source. */ + +undefined8 FUN_140064660(longlong param_1) + +{ + int *piVar1; + undefined8 uVar2; + + piVar1 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar1); + *(undefined1 *)(*(longlong *)(param_1 + 0x20) + 0x1790) = 1; + uVar2 = FUN_14002e770((longlong)piVar1); + return CONCAT71((int7)((ulonglong)uVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400646b0.c b/decomp/Agent_Release_x64/full/functions/0x1400646b0.c new file mode 100644 index 00000000..2b234629 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400646b0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400646b0 FUN_1400646b0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400646b0(longlong param_1) + +{ + int *piVar1; + undefined8 uVar2; + + piVar1 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar1); + *(undefined1 *)(*(longlong *)(param_1 + 0x20) + 0x1790) = 0; + uVar2 = FUN_14002e770((longlong)piVar1); + return CONCAT71((int7)((ulonglong)uVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064700.c b/decomp/Agent_Release_x64/full/functions/0x140064700.c new file mode 100644 index 00000000..9c9c4855 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064700.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064700 FUN_140064700 + * Pseudocode, not original source. */ + +undefined8 * FUN_140064700(undefined8 *param_1,uint param_2) + +{ + FUN_140085260(param_1); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064730.c b/decomp/Agent_Release_x64/full/functions/0x140064730.c new file mode 100644 index 00000000..cdae0205 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064730.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064730 FUN_140064730 + * Pseudocode, not original source. */ + +void FUN_140064730(longlong param_1) + +{ + if (*(undefined8 **)(param_1 + 0x1570) != (undefined8 *)0x0) { + FUN_1400ac730((longlong *)**(undefined8 **)(param_1 + 0x1570),'\0'); + return; + } + FUN_1400ac730((longlong *)0x0,'\0'); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064750.c b/decomp/Agent_Release_x64/full/functions/0x140064750.c new file mode 100644 index 00000000..1f5d603a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064750.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064750 FUN_140064750 + * Pseudocode, not original source. */ + +undefined8 FUN_140064750(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + int *piVar2; + longlong lVar3; + longlong *plVar4; + longlong lVar5; + undefined8 uVar6; + + piVar2 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58)) + (*(longlong **)(param_1 + 0x20),param_2,param_3,param_4, + 0xfffffffffffffffe); + FUN_14002e6e0(piVar2); + lVar1 = *(longlong *)(param_1 + 0x20); + plVar4 = *(longlong **)(lVar1 + 0x5d0); + if ((plVar4 != (longlong *)0x0) && (*plVar4 != 0)) { + lVar5 = 0; + lVar3 = lVar5; + if (plVar4 != (longlong *)0x0) { + lVar3 = *plVar4; + } + if (0.0 < *(double *)(lVar3 + 0xd0)) { + lVar3 = lVar5; + if (plVar4 != (longlong *)0x0) { + lVar3 = *plVar4; + } + if (*(double *)(lVar3 + 0xd8) != 0.0) { + if (*(longlong **)(lVar1 + 0x5d0) != (longlong *)0x0) { + lVar5 = **(longlong **)(lVar1 + 0x5d0); + } + uVar6 = (**(code **)(*(longlong *)(lVar1 + 0x70) + 0x1c0))(); + *(undefined8 *)(lVar5 + 0xd0) = uVar6; + } + } + } + plVar4 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0x1818); + (**(code **)(*plVar4 + 0x90))(plVar4,1,&DAT_14015de10); + uVar6 = FUN_14002e770((longlong)piVar2); + return CONCAT71((int7)((ulonglong)uVar6 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064850.c b/decomp/Agent_Release_x64/full/functions/0x140064850.c new file mode 100644 index 00000000..ebdce209 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064850.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064850 FUN_140064850 + * Pseudocode, not original source. */ + +undefined8 FUN_140064850(longlong param_1,undefined8 param_2,undefined8 param_3,char *param_4) + +{ + longlong lVar1; + int *piVar2; + undefined8 uVar3; + longlong lVar4; + char *pcVar5; + + pcVar5 = param_4; + piVar2 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar2); + lVar1 = *(longlong *)(*(longlong *)(param_1 + 0x20) + 0x5d8); + lVar4 = 0; + if (lVar1 != 0) { + lVar4 = *(longlong *)(lVar1 + 0x38); + } + FUN_1400a6500(lVar4,*param_4,param_3,pcVar5); + uVar3 = FUN_14002e770((longlong)piVar2); + return CONCAT71((int7)((ulonglong)uVar3 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400648d0.c b/decomp/Agent_Release_x64/full/functions/0x1400648d0.c new file mode 100644 index 00000000..cff75c1e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400648d0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400648d0 FUN_1400648d0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400648d0(longlong param_1,undefined8 param_2,undefined8 param_3,char *param_4) + +{ + int *piVar1; + undefined8 uVar2; + + piVar1 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar1); + if (*param_4 == '\0') { + *(double *)(*(longlong *)(param_1 + 0x20) + 0x1890) = DAT_140155078; + } + else if (*(double *)(*(longlong *)(param_1 + 0x20) + 0x1890) == DAT_140155078) { + *(undefined8 *)(*(longlong *)(param_1 + 0x20) + 0x1890) = 0; + } + uVar2 = FUN_14002e770((longlong)piVar1); + return CONCAT71((int7)((ulonglong)uVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064960.c b/decomp/Agent_Release_x64/full/functions/0x140064960.c new file mode 100644 index 00000000..1838b9e3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064960.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064960 FUN_140064960 + * Pseudocode, not original source. */ + +double FUN_140064960(longlong param_1) + +{ + double dVar1; + int *piVar2; + double dVar3; + + piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0x70) + 0x58))(); + FUN_14002e6e0(piVar2); + dVar3 = FUN_14003a420((char *)(param_1 + 0x15b0)); + dVar1 = *(double *)(param_1 + 0x480); + FUN_14002e770((longlong)piVar2); + return dVar3 - dVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400649d0.c b/decomp/Agent_Release_x64/full/functions/0x1400649d0.c new file mode 100644 index 00000000..75ef031c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400649d0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400649d0 FUN_1400649d0 + * Pseudocode, not original source. */ + +void FUN_1400649d0(longlong param_1) + +{ + if (*(longlong *)(param_1 + 0x568) != 0) { + FUN_1400a3c60(*(longlong *)(*(longlong *)(param_1 + 0x568) + 0x38)); + return; + } + FUN_1400a3c60(0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400649f0.c b/decomp/Agent_Release_x64/full/functions/0x1400649f0.c new file mode 100644 index 00000000..bab923c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400649f0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400649f0 FUN_1400649f0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400649f0(longlong param_1) + +{ + if (*(longlong *)(param_1 + 0x5d8) != 0) { + return *(undefined8 *)(*(longlong *)(*(longlong *)(param_1 + 0x5d8) + 0x38) + 0x100); + } + return uRam0000000000000100; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064a20.c b/decomp/Agent_Release_x64/full/functions/0x140064a20.c new file mode 100644 index 00000000..2f39f50e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064a20.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064a20 FUN_140064a20 + * Pseudocode, not original source. */ + +ulonglong FUN_140064a20(longlong *param_1,longlong *param_2,int *param_3,uint *param_4,uint param_5) + +{ + longlong *plVar1; + ulonglong uVar2; + + plVar1 = (longlong *)param_1[0xba]; + if ((plVar1 != (longlong *)0x0) && (*plVar1 != 0)) { + uVar2 = FUN_140084b30(param_1,param_2,param_3,param_4,param_5); + return uVar2; + } + return (ulonglong)plVar1 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064a50.c b/decomp/Agent_Release_x64/full/functions/0x140064a50.c new file mode 100644 index 00000000..84f9402f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064a50.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064a50 FUN_140064a50 + * Pseudocode, not original source. */ + +undefined4 FUN_140064a50(longlong *param_1) + +{ + longlong lVar1; + int *piVar2; + + piVar2 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar2); + lVar1 = param_1[0x2af]; + FUN_14002e770((longlong)piVar2); + return (int)lVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064a90.c b/decomp/Agent_Release_x64/full/functions/0x140064a90.c new file mode 100644 index 00000000..26a44b82 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064a90.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064a90 FUN_140064a90 + * Pseudocode, not original source. */ + +undefined8 FUN_140064a90(longlong param_1,undefined1 *param_2) + +{ + longlong lVar1; + int *piVar2; + undefined8 uVar3; + undefined1 uVar4; + + piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0x70) + 0x58))(); + FUN_14002e6e0(piVar2); + if ((*(longlong **)(param_1 + 0x1500) == (longlong *)0x0) || + (lVar1 = **(longlong **)(param_1 + 0x1500), lVar1 == 0)) { + uVar4 = 0; + } + else { + uVar4 = *(undefined1 *)(lVar1 + 0x80); + } + *param_2 = uVar4; + if ((*(longlong **)(param_1 + 0x560) == (longlong *)0x0) || + (lVar1 = **(longlong **)(param_1 + 0x560), lVar1 == 0)) goto switchD_140064b29_default; + switch(*(undefined4 *)(lVar1 + 0x100)) { + case 0: + FUN_14002e770((longlong)piVar2); + uVar3 = 1; + break; + case 1: + FUN_14002e770((longlong)piVar2); + uVar3 = 1; + break; + case 2: + FUN_14002e770((longlong)piVar2); + uVar3 = 2; + break; + case 3: + FUN_14002e770((longlong)piVar2); + uVar3 = 2; + break; + case 4: + FUN_14002e770((longlong)piVar2); + uVar3 = 3; + break; + case 5: + default: +switchD_140064b29_default: + FUN_14002e770((longlong)piVar2); + uVar3 = 0; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064bc0.c b/decomp/Agent_Release_x64/full/functions/0x140064bc0.c new file mode 100644 index 00000000..5e2d8998 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064bc0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064bc0 FUN_140064bc0 + * Pseudocode, not original source. */ + +longlong FUN_140064bc0(longlong param_1) + +{ + longlong lVar1; + + if ((*(longlong **)(param_1 + 0x1520) != (longlong *)0x0) && + (lVar1 = **(longlong **)(param_1 + 0x1520), lVar1 != 0)) { + return lVar1 + -0x40; + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064be0.c b/decomp/Agent_Release_x64/full/functions/0x140064be0.c new file mode 100644 index 00000000..56754e97 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064be0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064be0 FUN_140064be0 + * Pseudocode, not original source. */ + +longlong FUN_140064be0(longlong param_1) + +{ + longlong lVar1; + + if ((*(longlong **)(param_1 + 0x15d8) != (longlong *)0x0) && + (lVar1 = **(longlong **)(param_1 + 0x15d8), lVar1 != 0)) { + return lVar1 + -0x40; + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064c00.c b/decomp/Agent_Release_x64/full/functions/0x140064c00.c new file mode 100644 index 00000000..3ebf35bb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064c00.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064c00 FUN_140064c00 + * Pseudocode, not original source. */ + +void FUN_140064c00(longlong param_1) + +{ + longlong lVar1; + longlong lVar2; + double dVar3; + undefined8 uVar4; + + if ((*(longlong **)(param_1 + 0x1570) != (longlong *)0x0) && + (lVar1 = **(longlong **)(param_1 + 0x1570), lVar1 != 0)) { + dVar3 = (double)(**(code **)(*(longlong *)(param_1 + 0x70) + 0x1c0))(param_1 + 0x70); + lVar2 = 0; + dVar3 = dVar3 - *(double *)(lVar1 + 0x180); + if (0.0 < dVar3) { + lVar1 = lVar2; + if (*(longlong **)(param_1 + 0x1570) != (longlong *)0x0) { + lVar1 = **(longlong **)(param_1 + 0x1570); + } + *(double *)(lVar1 + 0x200) = dVar3; + } + lVar1 = lVar2; + if (*(longlong **)(param_1 + 0x1570) != (longlong *)0x0) { + lVar1 = **(longlong **)(param_1 + 0x1570); + } + uVar4 = (**(code **)(*(longlong *)(param_1 + 0x70) + 0x1c0))(param_1 + 0x70); + *(undefined8 *)(lVar1 + 0x180) = uVar4; + if (*(longlong **)(param_1 + 0x1570) != (longlong *)0x0) { + lVar2 = **(longlong **)(param_1 + 0x1570); + } + *(int *)(lVar2 + 0x1c0) = *(int *)(lVar2 + 0x1c0) + 1; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064cd0.c b/decomp/Agent_Release_x64/full/functions/0x140064cd0.c new file mode 100644 index 00000000..fc58afdb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064cd0.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064cd0 FUN_140064cd0 + * Pseudocode, not original source. */ + +undefined8 * FUN_140064cd0(longlong param_1,undefined8 *param_2) + +{ + longlong lVar1; + + if (((*(longlong **)(param_1 + 0x1520) != (longlong *)0x0) && + (lVar1 = **(longlong **)(param_1 + 0x1520), lVar1 != 0)) && (lVar1 != 0x40)) { + if (lVar1 != 0) { + lVar1 = lVar1 + -0x40; + } + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = *(undefined4 *)(lVar1 + 0x130); + *(undefined2 *)((longlong)param_2 + 0xc) = *(undefined2 *)(lVar1 + 0x134); + return param_2; + } + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = DAT_1401553d0; + *(undefined2 *)((longlong)param_2 + 0xc) = DAT_1401553d4; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064d40.c b/decomp/Agent_Release_x64/full/functions/0x140064d40.c new file mode 100644 index 00000000..aae57570 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064d40.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064d40 FUN_140064d40 + * Pseudocode, not original source. */ + +longlong FUN_140064d40(longlong param_1) + +{ + if (*(longlong *)(param_1 + 0x5d8) != 0) { + return *(longlong *)(*(longlong *)(param_1 + 0x5d8) + 0x38) + 0x10; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064d60.c b/decomp/Agent_Release_x64/full/functions/0x140064d60.c new file mode 100644 index 00000000..999656cb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064d60.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064d60 FUN_140064d60 + * Pseudocode, not original source. */ + +undefined8 FUN_140064d60(longlong param_1) + +{ + int *piVar1; + longlong lVar2; + longlong lVar3; + longlong lVar4; + undefined8 uVar5; + + lVar4 = 0; + lVar2 = lVar4; + if (*(longlong *)(param_1 + 0x568) != 0) { + lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x568) + 0x38); + } + piVar1 = (int *)(lVar2 + 0x10); + FUN_14002e6e0(piVar1); + lVar2 = *(longlong *)(param_1 + 0x568); + lVar3 = lVar4; + if (lVar2 != 0) { + lVar3 = *(longlong *)(lVar2 + 0x38); + } + if ((*(longlong **)(lVar3 + 0x290) == (longlong *)0x0) || (**(longlong **)(lVar3 + 0x290) == 0)) { + FUN_14002e770((longlong)piVar1); + uVar5 = 0; + } + else { + lVar3 = lVar4; + if (lVar2 != 0) { + lVar3 = *(longlong *)(lVar2 + 0x38); + } + if (*(longlong **)(lVar3 + 0x290) != (longlong *)0x0) { + lVar4 = **(longlong **)(lVar3 + 0x290); + } + uVar5 = *(undefined8 *)(lVar4 + 0x40); + FUN_14002e770((longlong)piVar1); + } + return uVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064e20.c b/decomp/Agent_Release_x64/full/functions/0x140064e20.c new file mode 100644 index 00000000..ecd5a639 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064e20.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064e20 FUN_140064e20 + * Pseudocode, not original source. */ + +longlong FUN_140064e20(longlong param_1) + +{ + longlong *plVar1; + uint7 uVar2; + + plVar1 = *(longlong **)(param_1 + 0x5d0); + uVar2 = (uint7)((ulonglong)plVar1 >> 8); + if ((plVar1 != (longlong *)0x0) && (*plVar1 != 0)) { + return CONCAT71(uVar2,1); + } + return (ulonglong)uVar2 << 8; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064e40.c b/decomp/Agent_Release_x64/full/functions/0x140064e40.c new file mode 100644 index 00000000..2c072d11 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064e40.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064e40 FUN_140064e40 + * Pseudocode, not original source. */ + +undefined8 * FUN_140064e40(longlong param_1,undefined8 *param_2) + +{ + longlong *plVar1; + int *piVar2; + longlong lVar3; + + piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0x70) + 0x58)) + ((longlong *)(param_1 + -0x70)); + FUN_14002e6e0(piVar2); + plVar1 = *(longlong **)(param_1 + 0x1568); + if ((((plVar1 == (longlong *)0x0) || (*plVar1 == 0)) || (plVar1 == (longlong *)0x0)) || + ((*plVar1 == 0 || (*plVar1 == 0x40)))) { + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = DAT_1401553d0; + *(undefined2 *)((longlong)param_2 + 0xc) = DAT_1401553d4; + } + else { + if (((plVar1 == (longlong *)0x0) || (*plVar1 == 0)) || + ((plVar1 == (longlong *)0x0 || (*plVar1 == 0)))) { + lVar3 = 0; + } + else { + lVar3 = *plVar1 + -0x40; + } + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = *(undefined4 *)(lVar3 + 0x108); + *(undefined2 *)((longlong)param_2 + 0xc) = *(undefined2 *)(lVar3 + 0x10c); + } + FUN_14002e770((longlong)piVar2); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064f20.c b/decomp/Agent_Release_x64/full/functions/0x140064f20.c new file mode 100644 index 00000000..c38e6620 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064f20.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064f20 FUN_140064f20 + * Pseudocode, not original source. */ + +void FUN_140064f20(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + undefined8 *puVar2; + undefined8 *puVar3; + undefined8 *puVar4; + + piVar1 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar1); + puVar4 = (undefined8 *)0x0; + puVar3 = puVar4; + if (param_1[0xbb] != 0) { + puVar3 = *(undefined8 **)(param_1[0xbb] + 0x38); + } + if ((puVar3[0x56] == 0) && (*(char *)((longlong)param_1 + 0x6c6) != '\0')) { + puVar2 = operator_new(0x130); + puVar3 = puVar4; + if (puVar2 != (undefined8 *)0x0) { + if (param_1[0xbb] != 0) { + puVar3 = *(undefined8 **)(param_1[0xbb] + 0x38); + } + puVar3 = FUN_1400b0750(puVar2,(longlong)puVar3,param_3,param_4); + } + if (param_1[0xbb] != 0) { + puVar4 = *(undefined8 **)(param_1[0xbb] + 0x38); + } + puVar4[0x56] = puVar3; + } + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140064ff0.c b/decomp/Agent_Release_x64/full/functions/0x140064ff0.c new file mode 100644 index 00000000..32ea96df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140064ff0.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140064ff0 FUN_140064ff0 + * Pseudocode, not original source. */ + +undefined4 * FUN_140064ff0(undefined4 *param_1,undefined4 *param_2) + +{ + longlong *plVar1; + + *param_1 = *param_2; + param_1[1] = param_2[1]; + if (*(longlong *)(param_2 + 2) == *(longlong *)(param_1 + 2)) { + param_1[7] = param_2[7]; + *(undefined8 *)(param_1 + 4) = *(undefined8 *)(param_2 + 4); + param_1[6] = param_2[6]; + } + else { + FUN_140095270((longlong *)(param_1 + 2)); + if (*(longlong *)(param_2 + 2) != 0) { + plVar1 = (longlong *)(*(longlong *)(param_2 + 2) + 0x28); + *plVar1 = *plVar1 + 1; + *(undefined8 *)(param_1 + 2) = *(undefined8 *)(param_2 + 2); + } + } + *(undefined1 *)(param_1 + 8) = *(undefined1 *)(param_2 + 8); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065070.c b/decomp/Agent_Release_x64/full/functions/0x140065070.c new file mode 100644 index 00000000..ecf6d088 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065070.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065070 FUN_140065070 + * Pseudocode, not original source. */ + +void FUN_140065070(longlong param_1,short *param_2,uint param_3,longlong *param_4) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + + if (*(longlong *)(param_1 + 0x58) == 0) { + puVar1 = operator_new(0xd0); + puVar2 = (undefined8 *)0x0; + if (puVar1 != (undefined8 *)0x0) { + puVar2 = FUN_140094d10(puVar1,param_1 + 0x98,param_2,(ulonglong)param_3,param_4); + } + *(undefined8 **)(param_1 + 0x58) = puVar2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400650f0.c b/decomp/Agent_Release_x64/full/functions/0x1400650f0.c new file mode 100644 index 00000000..ebf71f87 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400650f0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400650f0 FUN_1400650f0 + * Pseudocode, not original source. */ + +void FUN_1400650f0(longlong param_1) + +{ + longlong lVar1; + longlong lVar2; + + if ((*(longlong **)(param_1 + 0x1520) == (longlong *)0x0) || + (**(longlong **)(param_1 + 0x1520) == 0)) { + lVar2 = 0; + lVar1 = lVar2; + if (*(longlong **)(param_1 + 0x1570) != (longlong *)0x0) { + lVar1 = **(longlong **)(param_1 + 0x1570); + } + if (((*(char *)(lVar1 + 0x40) == '\0') && (*(int *)(param_1 + 0x6a0) < 2)) && + (*(char *)(param_1 + 0x1528) == '\0')) { + (**(code **)(*(longlong *)(param_1 + 0x1818) + 0x120)) + ((longlong *)(param_1 + 0x1818),1,&DAT_14015de10); + if (*(longlong **)(param_1 + 0x1570) != (longlong *)0x0) { + lVar2 = **(longlong **)(param_1 + 0x1570); + } + *(undefined1 *)(lVar2 + 0x40) = 1; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065180.c b/decomp/Agent_Release_x64/full/functions/0x140065180.c new file mode 100644 index 00000000..095f2db5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065180.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065180 FUN_140065180 + * Pseudocode, not original source. */ + +void FUN_140065180(longlong param_1,undefined4 *param_2) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + + puVar2 = (undefined8 *)0x0; + puVar1 = puVar2; + if (*(longlong *)(param_1 + 0x568) != 0) { + puVar1 = *(undefined8 **)(*(longlong *)(param_1 + 0x568) + 0x38); + } + if ((undefined8 *)puVar1[0xf] != (undefined8 *)0x0) { + puVar2 = *(undefined8 **)puVar1[0xf]; + } + *(undefined8 *)(param_2 + 2) = *puVar2; + if (*(longlong *)(param_1 + 0x568) == 0) { + *param_2 = uRam0000000000000284; + return; + } + *param_2 = *(undefined4 *)(*(longlong *)(*(longlong *)(param_1 + 0x568) + 0x38) + 0x284); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400651e0.c b/decomp/Agent_Release_x64/full/functions/0x1400651e0.c new file mode 100644 index 00000000..11a42f80 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400651e0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400651e0 FUN_1400651e0 + * Pseudocode, not original source. */ + +void FUN_1400651e0(longlong param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + if (*(longlong *)(param_1 + 0x560) != 0) { + FUN_140039a80(*(longlong *)(*(longlong *)(*(longlong *)(param_1 + 0x560) + 0x38) + 0x2b8), + param_2,param_3,param_4); + return; + } + FUN_140039a80(lRam00000000000002b8,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065210.c b/decomp/Agent_Release_x64/full/functions/0x140065210.c new file mode 100644 index 00000000..ae3e5bd7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065210.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065210 FUN_140065210 + * Pseudocode, not original source. */ + +undefined8 * FUN_140065210(longlong param_1,undefined8 *param_2) + +{ + longlong *plVar1; + int *piVar2; + longlong lVar3; + + piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0x70) + 0x58)) + ((longlong *)(param_1 + -0x70)); + FUN_14002e6e0(piVar2); + plVar1 = *(longlong **)(param_1 + 0x1568); + if ((((plVar1 == (longlong *)0x0) || (*plVar1 == 0)) || (plVar1 == (longlong *)0x0)) || + ((*plVar1 == 0 || (*plVar1 == 0x40)))) { + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = DAT_1401553d0; + *(undefined2 *)((longlong)param_2 + 0xc) = DAT_1401553d4; + } + else { + if (((plVar1 == (longlong *)0x0) || (*plVar1 == 0)) || + ((plVar1 == (longlong *)0x0 || (*plVar1 == 0)))) { + lVar3 = 0; + } + else { + lVar3 = *plVar1 + -0x40; + } + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = *(undefined4 *)(lVar3 + 0x118); + *(undefined2 *)((longlong)param_2 + 0xc) = *(undefined2 *)(lVar3 + 0x11c); + } + FUN_14002e770((longlong)piVar2); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400652f0.c b/decomp/Agent_Release_x64/full/functions/0x1400652f0.c new file mode 100644 index 00000000..5f4c19c4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400652f0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400652f0 FUN_1400652f0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400652f0(longlong param_1,undefined8 *param_2) + +{ + longlong *plVar1; + int *piVar2; + longlong lVar3; + + piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0x70) + 0x58)) + ((longlong *)(param_1 + -0x70)); + FUN_14002e6e0(piVar2); + plVar1 = *(longlong **)(param_1 + 0x14b0); + if ((((plVar1 == (longlong *)0x0) || (*plVar1 == 0)) || (plVar1 == (longlong *)0x0)) || + ((*plVar1 == 0 || (*plVar1 == 0x40)))) { + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = DAT_1401553d0; + *(undefined2 *)((longlong)param_2 + 0xc) = DAT_1401553d4; + } + else { + if (((plVar1 == (longlong *)0x0) || (*plVar1 == 0)) || + ((plVar1 == (longlong *)0x0 || (*plVar1 == 0)))) { + lVar3 = 0; + } + else { + lVar3 = *plVar1 + -0x40; + } + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = *(undefined4 *)(lVar3 + 0x130); + *(undefined2 *)((longlong)param_2 + 0xc) = *(undefined2 *)(lVar3 + 0x134); + } + FUN_14002e770((longlong)piVar2); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400653d0.c b/decomp/Agent_Release_x64/full/functions/0x1400653d0.c new file mode 100644 index 00000000..2e9844cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400653d0.c @@ -0,0 +1,48 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400653d0 FUN_1400653d0 + * Pseudocode, not original source. */ + +void FUN_1400653d0(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined4 uVar1; + int *piVar2; + longlong lVar3; + longlong lVar4; + undefined8 uVar5; + undefined1 local_res8 [8]; + + piVar2 = (int *)(**(code **)(param_1[-0xe] + 0x58))(); + FUN_14002e6e0(piVar2); + lVar4 = 0; + lVar3 = lVar4; + if ((longlong *)param_1[0xac] != (longlong *)0x0) { + lVar3 = *(longlong *)param_1[0xac]; + } + *(bool *)param_2 = lVar3 == 0; + lVar3 = lVar4; + if (param_1[0xad] != 0) { + lVar3 = *(longlong *)(param_1[0xad] + 0x38); + } + *(undefined1 *)(param_2 + 1) = *(undefined1 *)(lVar3 + 0x28c); + *(int *)(param_2 + 8) = (int)param_1[0xa2]; + *(int *)(param_2 + 0x10) = (int)param_1[0x2b1]; + *(int *)(param_2 + 0x28) = (int)param_1[0x2c0]; + *(int *)(param_2 + 4) = (int)param_1[0xaa]; + uVar5 = (**(code **)(*param_1 + 0x1c0))(param_1); + *(undefined8 *)(param_2 + 0x20) = uVar5; + *(longlong *)(param_2 + 0x18) = param_1[0x30a]; + *(undefined4 *)(param_2 + 0x2c) = 0; + if (*(char *)(param_2 + 1) == '\0') { + if (param_1[0xad] != 0) { + lVar4 = *(longlong *)(param_1[0xad] + 0x38); + } + *(undefined4 *)(param_2 + 0x2c) = *(undefined4 *)(lVar4 + 0x284); + } + local_res8[0] = 0; + uVar1 = (**(code **)(*param_1 + 0x108))(param_1,local_res8); + *(undefined4 *)(param_2 + 0xc) = uVar1; + FUN_14002e770((longlong)piVar2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400654e0.c b/decomp/Agent_Release_x64/full/functions/0x1400654e0.c new file mode 100644 index 00000000..f4dbc370 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400654e0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400654e0 FUN_1400654e0 + * Pseudocode, not original source. */ + +void FUN_1400654e0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + if (*(longlong **)(param_1 + 0x10) != (longlong *)0x0) { + FUN_1400642a0(*(longlong **)(param_1 + 0x10),param_1 + -0xa0,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065510.c b/decomp/Agent_Release_x64/full/functions/0x140065510.c new file mode 100644 index 00000000..c06da78a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065510.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065510 FUN_140065510 + * Pseudocode, not original source. */ + +undefined8 * FUN_140065510(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065570.c b/decomp/Agent_Release_x64/full/functions/0x140065570.c new file mode 100644 index 00000000..3f71a6ef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065570.c @@ -0,0 +1,78 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065570 FUN_140065570 + * Pseudocode, not original source. */ + +void FUN_140065570(longlong param_1,int param_2,undefined8 param_3,longlong param_4) + +{ + longlong *plVar1; + LPVOID pvVar2; + int iVar3; + undefined8 uVar4; + undefined8 *puVar5; + undefined8 *puVar6; + int iVar7; + longlong lVar8; + exception local_58 [80]; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 != *(int *)(param_1 + 0x18)) { + if (*(int *)(param_1 + 0x1c) < param_2) { + iVar3 = FUN_1400854f0(param_1,param_2); + plVar1 = *(longlong **)(param_1 + 8); + lVar8 = (longlong)iVar3; + if (*(int *)(param_1 + 0x1c) == 0) { + if (plVar1 == (longlong *)0x0) { + uVar4 = FUN_140030280(lVar8 << 3); + *(undefined8 *)(param_1 + 0x10) = uVar4; + } + else { + uVar4 = (**(code **)(*plVar1 + 8))(plVar1,lVar8 << 3); + *(undefined8 *)(param_1 + 0x10) = uVar4; + } + } + else { + pvVar2 = *(LPVOID *)(param_1 + 0x10); + if (plVar1 == (longlong *)0x0) { + puVar5 = (undefined8 *)FUN_140030280(lVar8 << 3); + } + else { + puVar5 = (undefined8 *)(**(code **)(*plVar1 + 8))(); + } + lVar8 = (longlong)*(int *)(param_1 + 0x18); + iVar7 = 0; + if (0 < lVar8) { + param_4 = (longlong)pvVar2 - (longlong)puVar5; + puVar6 = puVar5; + do { + if (puVar6 != (undefined8 *)0x0) { + *puVar6 = *(undefined8 *)(param_4 + (longlong)puVar6); + } + iVar7 = iVar7 + 1; + puVar6 = puVar6 + 1; + } while (iVar7 < lVar8); + } + if (puVar5 == (undefined8 *)0x0) { + FUN_14002f1e0(local_58,L"Memory allocation failure!",lVar8,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + plVar1 = *(longlong **)(param_1 + 8); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(pvVar2); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,pvVar2); + } + *(undefined8 **)(param_1 + 0x10) = puVar5; + } + *(int *)(param_1 + 0x1c) = iVar3; + } + *(int *)(param_1 + 0x18) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400656c0.c b/decomp/Agent_Release_x64/full/functions/0x1400656c0.c new file mode 100644 index 00000000..39e27610 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400656c0.c @@ -0,0 +1,77 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400656c0 FUN_1400656c0 + * Pseudocode, not original source. */ + +void FUN_1400656c0(undefined8 *param_1,longlong param_2,longlong param_3) + +{ + longlong lVar1; + undefined8 *puVar2; + undefined8 *puVar3; + longlong lVar4; + undefined8 *puVar5; + longlong lVar6; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (-1 < param_3) { + param_1[3] = param_3; + } + if (param_2 == 0) { + if ((100 < (ulonglong)param_1[2]) && ((void *)*param_1 != (void *)0x0)) { + operator_delete__((void *)*param_1); + *param_1 = 0; + } + param_1[2] = 100; + param_1[1] = 0; + return; + } + lVar4 = param_1[2]; + if (param_2 <= lVar4) { + param_1[1] = param_2; + return; + } + lVar1 = param_1[3]; + if (lVar1 == 0) { + lVar1 = (longlong)(param_1[1] + (ulonglong)((uint)((longlong)param_1[1] >> 0x3f) & 7)) >> 3; + if (lVar1 < 4) { + lVar1 = 4; + } + else if (0x400 < lVar1) { + lVar1 = 0x400; + } + } + lVar6 = param_2; + if (param_2 < lVar1 + lVar4) { + lVar6 = lVar1 + lVar4; + } + if (lVar6 < lVar4) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar2 = operator_new(lVar6 * 8); + puVar5 = param_1 + 4; + if (100 < (ulonglong)param_1[2]) { + puVar5 = (undefined8 *)*param_1; + } + lVar4 = param_1[1]; + if (0 < lVar4) { + puVar3 = puVar2; + do { + lVar4 = lVar4 + -1; + *puVar3 = *(undefined8 *)(((longlong)puVar5 - (longlong)puVar2) + (longlong)puVar3); + puVar3 = puVar3 + 1; + } while (lVar4 != 0); + } + memset(puVar2 + param_1[1],0,(param_2 - param_1[1]) * 8); + if (100 < (ulonglong)param_1[2]) { + operator_delete__(puVar5); + } + *param_1 = puVar2; + param_1[2] = lVar6; + param_1[1] = param_2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065820.c b/decomp/Agent_Release_x64/full/functions/0x140065820.c new file mode 100644 index 00000000..a1903902 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065820.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065820 FUN_140065820 + * Pseudocode, not original source. */ + +longlong FUN_140065820(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + + lVar1 = *(longlong *)(param_1 + 0x10); + if (lVar1 == 0) { + lVar1 = *(longlong *)(param_1 + 8); + if (lVar1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + if (*(int *)(lVar1 + 0x18) != 0) { + return *(longlong *)(lVar1 + 0x10); + } + lVar1 = 0; + } + return lVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065860.c b/decomp/Agent_Release_x64/full/functions/0x140065860.c new file mode 100644 index 00000000..8990234c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065860.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065860 FUN_140065860 + * Pseudocode, not original source. */ + +void FUN_140065860(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined **local_30; + undefined8 local_28; + undefined8 local_20; + undefined8 local_18; + undefined8 local_10; + + local_28 = 0; + local_20 = 0; + local_18 = 0; + local_10 = 0; + local_30 = Proud::ByteArray::vftable; + (**(code **)(*param_1 + 0x80))(param_1,DAT_140155130,&local_30,param_4,0xfffffffffffffffe); + FUN_14003b870(&local_30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400658c0.c b/decomp/Agent_Release_x64/full/functions/0x1400658c0.c new file mode 100644 index 00000000..b48dbb20 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400658c0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400658c0 FUN_1400658c0 + * Pseudocode, not original source. */ + +void FUN_1400658c0(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x0001400658e7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065900.c b/decomp/Agent_Release_x64/full/functions/0x140065900.c new file mode 100644 index 00000000..cef1f53c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065900.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065900 FUN_140065900 + * Pseudocode, not original source. */ + +void FUN_140065900(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x000140065927. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065940.c b/decomp/Agent_Release_x64/full/functions/0x140065940.c new file mode 100644 index 00000000..47748c82 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065940.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065940 FUN_140065940 + * Pseudocode, not original source. */ + +void FUN_140065940(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x000140065967. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065980.c b/decomp/Agent_Release_x64/full/functions/0x140065980.c new file mode 100644 index 00000000..11c250a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065980.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065980 FUN_140065980 + * Pseudocode, not original source. */ + +undefined8 * FUN_140065980(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400659e0.c b/decomp/Agent_Release_x64/full/functions/0x1400659e0.c new file mode 100644 index 00000000..0b8ad325 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400659e0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400659e0 FUN_1400659e0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400659e0(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065a40.c b/decomp/Agent_Release_x64/full/functions/0x140065a40.c new file mode 100644 index 00000000..233fb8bb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065a40.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065a40 FUN_140065a40 + * Pseudocode, not original source. */ + +undefined8 * FUN_140065a40(longlong param_1,undefined8 *param_2) + +{ + longlong *plVar1; + int *piVar2; + longlong lVar3; + longlong lVar4; + + piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0x70) + 0x58))(param_1 + -0x70); + FUN_14002e6e0(piVar2); + plVar1 = *(longlong **)(param_1 + 0x1568); + if ((plVar1 == (longlong *)0x0) || (*plVar1 == 0)) { + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = DAT_1401553d0; + *(undefined2 *)((longlong)param_2 + 0xc) = DAT_1401553d4; + } + else { + lVar4 = 0; + lVar3 = lVar4; + if ((((plVar1 != (longlong *)0x0) && (*plVar1 != 0)) && (plVar1 != (longlong *)0x0)) && + (*plVar1 != 0)) { + lVar3 = *plVar1 + -0x40; + } + if (*(longlong **)(lVar3 + 0x128) != (longlong *)0x0) { + lVar4 = **(longlong **)(lVar3 + 0x128); + } + FUN_140034ad0(lVar4,param_2); + } + FUN_14002e770((longlong)piVar2); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065b10.c b/decomp/Agent_Release_x64/full/functions/0x140065b10.c new file mode 100644 index 00000000..1d174396 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065b10.c @@ -0,0 +1,59 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065b10 FUN_140065b10 + * Pseudocode, not original source. */ + +ulonglong FUN_140065b10(longlong *param_1,undefined1 *param_2) + +{ + longlong lVar1; + longlong *plVar2; + ulonglong uVar3; + longlong *plVar4; + longlong *plVar5; + short sVar6; + int iVar7; + short sVar8; + int iVar9; + undefined1 local_res8 [8]; + + local_res8[0] = 0; + uVar3 = (**(code **)(*param_1 + 0x108))(param_1,local_res8); + if ((int)uVar3 == 2) { + plVar4 = (longlong *)param_1[0x296]; + plVar5 = (longlong *)0x0; + iVar7 = DAT_1401553d0; + sVar6 = DAT_1401553d4; + if ((((((plVar4 != (longlong *)0x0) && (*plVar4 != 0)) && (plVar4 != (longlong *)0x0)) && + ((*plVar4 != 0 && (*plVar4 != 0x40)))) && + ((plVar4 = (longlong *)param_1[0x296], iVar7 = iRam0000000000000140, + sVar6 = sRam0000000000000144, plVar4 != (longlong *)0x0 && + ((*plVar4 != 0 && (plVar4 != (longlong *)0x0)))))) && (lVar1 = *plVar4, lVar1 != 0)) { + iVar7 = *(int *)(lVar1 + 0x100); + sVar6 = *(short *)(lVar1 + 0x104); + } + plVar4 = (longlong *)param_1[0x296]; + iVar9 = DAT_1401553d0; + sVar8 = DAT_1401553d4; + if (((plVar4 != (longlong *)0x0) && (*plVar4 != 0)) && (plVar4 != (longlong *)0x0)) { + lVar1 = *plVar4; + plVar4 = (longlong *)0x0; + if ((lVar1 != 0) && (plVar4 = (longlong *)0x0, lVar1 != 0x40)) { + plVar2 = (longlong *)param_1[0x296]; + plVar4 = plVar5; + if (((plVar2 != (longlong *)0x0) && ((*plVar2 != 0 && (plVar2 != (longlong *)0x0)))) && + (*plVar2 != 0)) { + plVar4 = (longlong *)(*plVar2 + -0x40); + } + iVar9 = (int)plVar4[0x26]; + sVar8 = *(short *)((longlong)plVar4 + 0x134); + } + } + if ((iVar9 != iVar7) || (sVar8 != sVar6)) { + plVar5 = (longlong *)0x1; + } + *param_2 = (char)plVar5; + return CONCAT71((int7)((ulonglong)plVar4 >> 8),1); + } + return uVar3 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065c40.c b/decomp/Agent_Release_x64/full/functions/0x140065c40.c new file mode 100644 index 00000000..9dd699b6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065c40.c @@ -0,0 +1,48 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065c40 FUN_140065c40 + * Pseudocode, not original source. */ + +void FUN_140065c40(longlong *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + int iVar2; + undefined8 *puVar3; + ulonglong uVar4; + exception local_98 [72]; + exception local_50 [80]; + + uVar1 = *(uint *)((longlong)param_2 + 0xc); + uVar4 = (ulonglong)uVar1; + iVar2 = (int)param_1[1]; + if ((int)uVar1 < iVar2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (*param_1 == 0) { + FUN_14002f1e0(local_50,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,uVar4,param_4 + ); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + puVar3 = (undefined8 *)*param_2; + if (puVar3 == (undefined8 *)0x0) { + FUN_14002f1e0(local_98,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,uVar4,0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_98,(ThrowInfo *)&DAT_140151b88); + } + if ((-1 < iVar2) && (iVar2 <= (int)uVar1)) { + *(int *)(param_2 + 1) = iVar2; + if ((undefined8 *)*param_1 == (undefined8 *)0x0) { + FUN_14002f1e0(local_98,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,uVar4, + puVar3); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_98,(ThrowInfo *)&DAT_140151b88); + } + FUN_14001bd30(puVar3,(undefined8 *)*param_1,(longlong)(int)param_1[1] << 4); + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065d10.c b/decomp/Agent_Release_x64/full/functions/0x140065d10.c new file mode 100644 index 00000000..3e7d0b5e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065d10.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065d10 FUN_140065d10 + * Pseudocode, not original source. */ + +longlong * FUN_140065d10(longlong *param_1,longlong param_2,longlong param_3) + +{ + longlong lVar1; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_1[1] <= param_2) { + FUN_1400656c0(param_1,param_2 + 1,-1); + } + if (param_2 < param_1[1]) { + if ((ulonglong)param_1[2] < 0x65) { + param_1[param_2 + 4] = param_3; + return param_1 + param_2 + 4; + } + lVar1 = *param_1; + *(longlong *)(lVar1 + param_2 * 8) = param_3; + return (longlong *)(lVar1 + param_2 * 8); + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065d90.c b/decomp/Agent_Release_x64/full/functions/0x140065d90.c new file mode 100644 index 00000000..c10b59d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065d90.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065d90 FUN_140065d90 + * Pseudocode, not original source. */ + +void FUN_140065d90(longlong param_1,ulonglong param_2,int param_3) + +{ + ulonglong uVar1; + undefined8 uVar2; + ulonglong uVar3; + int iVar5; + ulonglong uVar6; + uint uVar7; + ulonglong uVar9; + ulonglong uVar10; + longlong lVar11; + uint local_res10; + ulonglong local_res20; + ulonglong local_28; + ulonglong uVar4; + int iVar8; + + local_res10 = (uint)param_2; + uVar6 = (ulonglong)param_3; + local_res20 = (ulonglong)(int)local_res10; + local_28 = uVar6; + if (param_3 < (int)local_res10) { + do { + uVar9 = param_2 & 0xffffffff; + iVar5 = (int)uVar6; + lVar11 = (longlong)iVar5; + uVar3 = local_res20; + while( true ) { + uVar1 = *(ulonglong *)(param_1 + local_28 * 8); + uVar4 = *(ulonglong *)(param_1 + lVar11 * 8); + while ((uVar4 < uVar1 && (lVar11 < (longlong)uVar3))) { + lVar11 = lVar11 + 1; + uVar4 = *(ulonglong *)(param_1 + lVar11 * 8); + } + do { + uVar10 = uVar9; + uVar4 = uVar3; + uVar3 = uVar4 - 1; + iVar8 = (int)uVar10; + uVar7 = iVar8 - 1; + uVar9 = (ulonglong)uVar7; + } while (uVar1 < *(ulonglong *)(param_1 + uVar3 * 8)); + if ((longlong)uVar3 <= lVar11) break; + uVar2 = *(undefined8 *)(param_1 + lVar11 * 8); + *(undefined8 *)(param_1 + lVar11 * 8) = *(undefined8 *)(param_1 + uVar3 * 8); + *(undefined8 *)(param_1 + uVar3 * 8) = uVar2; + } + *(undefined8 *)(param_1 + local_28 * 8) = *(undefined8 *)(param_1 + uVar3 * 8); + *(ulonglong *)(param_1 + uVar3 * 8) = uVar1; + if ((int)(((int)param_2 - uVar7) + -1) < (int)(uVar7 - iVar5)) { + FUN_140065d90(param_1,(ulonglong)(iVar8 - 2),iVar5); + uVar6 = uVar10; + local_28 = uVar4; + } + else { + FUN_140065d90(param_1,param_2,iVar8); + local_res10 = iVar8 - 2; + local_res20 = uVar4 - 2; + } + param_2 = (ulonglong)local_res10; + } while ((int)uVar6 < (int)local_res10); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065ea0.c b/decomp/Agent_Release_x64/full/functions/0x140065ea0.c new file mode 100644 index 00000000..267513ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065ea0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065ea0 FUN_140065ea0 + * Pseudocode, not original source. */ + +void FUN_140065ea0(longlong param_1) + +{ + FUN_140095270((longlong *)(param_1 + 8)); + if (*(longlong *)(param_1 + 0x10) != 0) { + if (*(int *)(param_1 + 0x1c) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(param_1 + 0x18) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065ef0.c b/decomp/Agent_Release_x64/full/functions/0x140065ef0.c new file mode 100644 index 00000000..1d6cf4bb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065ef0.c @@ -0,0 +1,51 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065ef0 FUN_140065ef0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140065ef0(longlong param_1,uint param_2,int param_3,SIZE_T *param_4,SIZE_T *param_5) + +{ + longlong lVar1; + longlong lVar2; + longlong *plVar3; + SIZE_T *pSVar4; + SIZE_T *pSVar5; + undefined1 auStack_68 [32]; + SIZE_T local_48; + undefined1 local_40; + undefined8 local_38; + SIZE_T *local_30; + ulonglong local_28; + + local_38 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_68; + local_30 = param_4; + if (param_3 == 1) { + lVar2 = 0; + local_48 = 0; + local_40 = 1; + if ((*(longlong **)(param_1 + 0x15d8) != (longlong *)0x0) && + (lVar1 = **(longlong **)(param_1 + 0x15d8), lVar1 != 0)) { + lVar2 = lVar1 + -0x40; + } + pSVar5 = &local_48; + pSVar4 = param_4; + param_5 = param_4; + FUN_1400b2d20(lVar2,(longlong)param_4,pSVar5,param_4); + } + else { + FUN_1400650f0(param_1); + plVar3 = (longlong *)0x0; + if (*(undefined8 **)(param_1 + 0x1570) != (undefined8 *)0x0) { + plVar3 = (longlong *)**(undefined8 **)(param_1 + 0x1570); + } + pSVar4 = (SIZE_T *)(ulonglong)param_2; + pSVar5 = param_4; + FUN_1400ac7b0(plVar3,(ulonglong)pSVar4,(longlong)param_4,param_5); + } + FUN_140040950((longlong)param_4,pSVar4,pSVar5,param_5); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065fc0.c b/decomp/Agent_Release_x64/full/functions/0x140065fc0.c new file mode 100644 index 00000000..1c4d2b95 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065fc0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065fc0 FUN_140065fc0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140065fc0(undefined8 param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140030200(param_1,param_2,param_3,param_4); + *param_2 = PTR_DAT_140155010; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140065ff0.c b/decomp/Agent_Release_x64/full/functions/0x140065ff0.c new file mode 100644 index 00000000..6bf34ce4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140065ff0.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140065ff0 FUN_140065ff0 + * Pseudocode, not original source. */ + +longlong * FUN_140065ff0(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong lVar2; + longlong lVar3; + + lVar1 = *(longlong *)(param_1 + 0x568); + lVar3 = 0; + lVar2 = lVar3; + if (lVar1 != 0) { + lVar2 = *(longlong *)(lVar1 + 0x38); + } + if (*(longlong *)(lVar2 + 0x2b0) == 0) { + FUN_140030200(lVar2,param_2,0,param_4); + *param_2 = (longlong)PTR_DAT_140155010; + return param_2; + } + if (lVar1 != 0) { + lVar3 = *(longlong *)(lVar1 + 0x38); + } + FUN_1400ada70(*(longlong *)(lVar3 + 0x2b0),param_2,lVar3,param_4); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140066060.c b/decomp/Agent_Release_x64/full/functions/0x140066060.c new file mode 100644 index 00000000..340bf989 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140066060.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140066060 FUN_140066060 + * Pseudocode, not original source. */ + +void FUN_140066060(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + undefined4 *puVar2; + bool bVar3; + + piVar1 = (int *)*param_1; + if (piVar1 != (int *)0x0) { + FUN_14002e6e0(piVar1); + bVar3 = true; + *(longlong *)(*param_1 + 0x40) = *(longlong *)(*param_1 + 0x40) + -1; + if (*(longlong *)(*param_1 + 0x40) == 0) { + FUN_14002e770((longlong)piVar1); + bVar3 = false; + puVar2 = (undefined4 *)*param_1; + if (*(undefined8 **)(puVar2 + 0xe) != (undefined8 *)0x0) { + param_2 = 1; + (**(code **)**(undefined8 **)(puVar2 + 0xe))(); + } + FUN_14002e7a0(puVar2,param_2,param_3,param_4); + FUN_1400302f0(puVar2); + } + if (bVar3) { + FUN_14002e770((longlong)piVar1); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140066110.c b/decomp/Agent_Release_x64/full/functions/0x140066110.c new file mode 100644 index 00000000..31e04c79 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140066110.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140066110 FUN_140066110 + * Pseudocode, not original source. */ + +void FUN_140066110(longlong *param_1) + +{ + undefined8 *puVar1; + + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + puVar1 = (undefined8 *)*param_1; + operator_delete((void *)*puVar1); + FUN_1400302f0(puVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140066160.c b/decomp/Agent_Release_x64/full/functions/0x140066160.c new file mode 100644 index 00000000..f333f5ca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140066160.c @@ -0,0 +1,110 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140066160 FUN_140066160 + * Pseudocode, not original source. */ + +longlong * FUN_140066160(longlong *param_1) + +{ + wint_t *pwVar1; + undefined *puVar2; + int iVar3; + wint_t *pwVar4; + wint_t *pwVar5; + int iVar6; + int iVar7; + undefined *_Dst; + + pwVar4 = (wint_t *)*param_1; + if ((wint_t *)*param_1 == (wint_t *)0x0) { + pwVar4 = (wint_t *)PTR_DAT_140155010; + } + iVar3 = iswspace(*pwVar4); + while (iVar3 != 0) { + pwVar4 = (wint_t *)FUN_140030100((longlong)pwVar4); + iVar3 = iswspace(*pwVar4); + } + pwVar1 = (wint_t *)*param_1; + pwVar5 = pwVar1; + if (pwVar1 == (wint_t *)0x0) { + pwVar5 = (wint_t *)PTR_DAT_140155010; + } + if (pwVar4 == pwVar5) { + return param_1; + } + pwVar5 = pwVar1; + if (pwVar1 == (wint_t *)0x0) { + pwVar5 = (wint_t *)PTR_DAT_140155010; + } + iVar6 = 0; + iVar3 = 0; + if (pwVar1 != (wint_t *)0x0) { + if (pwVar1 != (wint_t *)PTR_DAT_140155010) { + iVar3 = *(int *)(pwVar1 + -4); + } + if (pwVar1 != (wint_t *)0x0) { + iVar7 = 0; + if (pwVar1 != (wint_t *)PTR_DAT_140155010) { + iVar7 = *(int *)(pwVar1 + -4); + } + goto LAB_1400661fc; + } + } + iVar7 = 0; +LAB_1400661fc: + if (((iVar3 <= iVar7) && (iVar3 = iVar6, pwVar1 != (wint_t *)0x0)) && + (iVar3 = 0, pwVar1 != (wint_t *)PTR_DAT_140155010)) { + iVar3 = *(int *)(pwVar1 + -4); + } + iVar7 = 1; + if (1 < iVar3) { + iVar7 = iVar3; + } + iVar3 = 0; + if ((pwVar1 != (wint_t *)0x0) && (iVar3 = 0, pwVar1 != (wint_t *)PTR_DAT_140155010)) { + iVar3 = *(int *)(pwVar1 + -4); + } + if (iVar3 < iVar7) { + FUN_140002dc0(param_1,iVar7); + } + FUN_140002ea0(param_1); + puVar2 = (undefined *)*param_1; + iVar3 = (int)((longlong)pwVar4 - (longlong)pwVar5 >> 1); + _Dst = puVar2; + if (puVar2 == (undefined *)0x0) { + _Dst = PTR_DAT_140155010; + } + iVar7 = 0; + if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140155010)) { + iVar7 = *(int *)(puVar2 + -8); + } + iVar7 = iVar7 - iVar3; + if (puVar2 == (undefined *)0x0) { + iVar6 = 0; + } + else if (puVar2 != PTR_DAT_140155010) { + iVar6 = *(int *)(puVar2 + -8); + } + memmove_s(_Dst,(longlong)(iVar6 + 1) * 2,_Dst + (longlong)iVar3 * 2,(longlong)(iVar7 + 1) * 2); + puVar2 = (undefined *)*param_1; + iVar3 = 0; + iVar6 = 0; + if (0 < iVar7) { + iVar6 = iVar7; + } + if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140155010)) { + iVar3 = *(int *)(puVar2 + -8); + } + if ((iVar3 <= iVar6) && (iVar6 = 0, puVar2 != (undefined *)0x0)) { + if (puVar2 == PTR_DAT_140155010) { + return param_1; + } + iVar6 = *(int *)(puVar2 + -8); + } + if (((puVar2 != PTR_DAT_140155010) && (puVar2 != (undefined *)0x0)) && + ((int *)(puVar2 + -8) != (int *)0x0)) { + *(int *)(puVar2 + -8) = iVar6; + *(undefined2 *)(puVar2 + (longlong)iVar6 * 2) = 0; + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140066320.c b/decomp/Agent_Release_x64/full/functions/0x140066320.c new file mode 100644 index 00000000..6ad912d9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140066320.c @@ -0,0 +1,63 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140066320 FUN_140066320 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014006643d) */ +/* WARNING: Removing unreachable block (ram,0x00014006644b) */ + +void FUN_140066320(ulonglong *param_1,ulonglong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + int *piVar2; + ulonglong *puVar3; + int *piVar4; + int *piVar5; + undefined4 *puVar6; + + piVar5 = (int *)*param_2; + piVar2 = (int *)*param_1; + if (piVar2 != piVar5) { + piVar4 = piVar2; + if (piVar5 < piVar2) { + piVar4 = piVar5; + piVar5 = piVar2; + } + puVar3 = param_2; + if (piVar4 != (int *)0x0) { + FUN_14002e6e0(piVar4); + } + if (piVar5 != (int *)0x0) { + FUN_14002e6e0(piVar5); + } + if (*param_2 != 0) { + plVar1 = (longlong *)(*param_2 + 0x40); + *plVar1 = *plVar1 + 1; + } + puVar6 = (undefined4 *)0x0; + if (*param_1 != 0) { + plVar1 = (longlong *)(*param_1 + 0x40); + *plVar1 = *plVar1 + -1; + if (*(longlong *)((undefined4 *)*param_1 + 0x10) == 0) { + puVar6 = (undefined4 *)*param_1; + } + } + *param_1 = *param_2; + if (piVar4 != (int *)0x0) { + FUN_14002e770((longlong)piVar4); + } + if (piVar5 != (int *)0x0) { + FUN_14002e770((longlong)piVar5); + } + if (puVar6 != (undefined4 *)0x0) { + if (*(undefined8 **)(puVar6 + 0xe) != (undefined8 *)0x0) { + puVar3 = (ulonglong *)0x1; + (**(code **)**(undefined8 **)(puVar6 + 0xe))(); + } + FUN_14002e7a0(puVar6,puVar3,param_3,param_4); + FUN_1400302f0(puVar6); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140066470.c b/decomp/Agent_Release_x64/full/functions/0x140066470.c new file mode 100644 index 00000000..ccd1c6f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140066470.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140066470 FUN_140066470 + * Pseudocode, not original source. */ + +void FUN_140066470(longlong *param_1,longlong *param_2) + +{ + longlong lVar1; + undefined8 *puVar2; + + lVar1 = *param_2; + if (lVar1 != *param_1) { + if (lVar1 != 0) { + *(longlong *)(*param_2 + 8) = *(longlong *)(lVar1 + 8) + 1; + } + puVar2 = (undefined8 *)0x0; + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + puVar2 = (undefined8 *)*param_1; + } + *param_1 = *param_2; + if (puVar2 != (undefined8 *)0x0) { + operator_delete((void *)*puVar2); + FUN_1400302f0(puVar2); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400664f0.c b/decomp/Agent_Release_x64/full/functions/0x1400664f0.c new file mode 100644 index 00000000..91db28fd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400664f0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400664f0 FUN_1400664f0 + * Pseudocode, not original source. */ + +void FUN_1400664f0(longlong *param_1,int param_2) + +{ + undefined *puVar1; + int iVar2; + int iVar3; + + FUN_140002f90(param_1,param_2); + puVar1 = (undefined *)*param_1; + iVar2 = 0; + if (0 < param_2) { + iVar2 = param_2; + } + iVar3 = 0; + if ((puVar1 != (undefined *)0x0) && (iVar3 = 0, puVar1 != PTR_DAT_140155010)) { + iVar3 = *(int *)(puVar1 + -8); + } + if ((iVar3 <= iVar2) && (iVar2 = 0, puVar1 != (undefined *)0x0)) { + if (puVar1 == PTR_DAT_140155010) { + return; + } + iVar2 = *(int *)(puVar1 + -8); + } + if (((puVar1 != PTR_DAT_140155010) && (puVar1 != (undefined *)0x0)) && + ((int *)(puVar1 + -8) != (int *)0x0)) { + *(int *)(puVar1 + -8) = iVar2; + *(undefined2 *)(puVar1 + (longlong)iVar2 * 2) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140066570.c b/decomp/Agent_Release_x64/full/functions/0x140066570.c new file mode 100644 index 00000000..10dcc046 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140066570.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140066570 FUN_140066570 + * Pseudocode, not original source. */ + +undefined4 * FUN_140066570(char *param_1,undefined4 *param_2,uint param_3,undefined4 param_4) + +{ + undefined4 uVar1; + longlong *plVar2; + longlong lVar3; + undefined8 uVar4; + uint uVar5; + undefined4 *puVar6; + + plVar2 = *(longlong **)(param_1 + 0x50); + if (plVar2 == (longlong *)0x0) { + puVar6 = (undefined4 *)FUN_140030280(0x28); + } + else { + puVar6 = (undefined4 *)(**(code **)(*plVar2 + 8))(plVar2,0x28); + } + if (puVar6 != (undefined4 *)0x0) { + uVar1 = *param_2; + puVar6[8] = param_4; + *puVar6 = uVar1; + } + lVar3 = *(longlong *)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8); + FUN_14003d560(param_1); + if (*(longlong *)(param_1 + 0x20) == 0) { + *(undefined4 **)(param_1 + 0x10) = puVar6; + *(undefined4 **)(param_1 + 0x18) = puVar6; + *(undefined8 *)(puVar6 + 6) = 0; + *(undefined8 *)(puVar6 + 4) = 0; + } + else { + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if (lVar3 == 0) { + lVar3 = *(longlong *)(param_1 + 0x10); + *(undefined8 *)(puVar6 + 6) = 0; + *(longlong *)(puVar6 + 4) = lVar3; + if (lVar3 != 0) { + *(undefined4 **)(lVar3 + 0x18) = puVar6; + } + *(undefined4 **)(param_1 + 0x10) = puVar6; + } + else { + if (*(longlong *)(lVar3 + 0x18) == 0) { + *(undefined4 **)(param_1 + 0x10) = puVar6; + } + else { + *(undefined4 **)(*(longlong *)(lVar3 + 0x18) + 0x10) = puVar6; + } + uVar4 = *(undefined8 *)(lVar3 + 0x18); + *(longlong *)(puVar6 + 4) = lVar3; + *(undefined8 *)(puVar6 + 6) = uVar4; + *(undefined4 **)(lVar3 + 0x18) = puVar6; + } + } + *(undefined4 **)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8) = puVar6; + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if ((*(ulonglong *)(param_1 + 0x38) < *(ulonglong *)(param_1 + 0x20)) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar5 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14003f960(param_1,uVar5); + } + FUN_14003d560(param_1); + return puVar6; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400666b0.c b/decomp/Agent_Release_x64/full/functions/0x1400666b0.c new file mode 100644 index 00000000..dcfa3878 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400666b0.c @@ -0,0 +1,132 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400666b0 FUN_1400666b0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400666b0(longlong *param_1) + +{ + longlong lVar1; + undefined8 uVar2; + undefined4 *puVar3; + longlong *plVar4; + ulonglong uVar5; + ulonglong uVar6; + undefined8 *puVar7; + undefined8 *puVar8; + undefined1 *puVar9; + ulonglong uVar10; + ulonglong uVar11; + undefined8 *puVar12; + ulonglong uVar13; + undefined1 auStack_38 [32]; + ulonglong local_18 [2]; + + puVar9 = auStack_38; + local_18[0] = DAT_1401555a0 ^ (ulonglong)local_18; + if ((ulonglong)param_1[2] < 0x65) { + plVar4 = param_1 + 4; + } + else { + plVar4 = (longlong *)*param_1; + } + FUN_140065d90((longlong)plVar4,(ulonglong)*(uint *)(param_1 + 1),0); + uVar5 = param_1[1] * 8 + 0x10; + if (uVar5 < 0x401) { + lVar1 = param_1[1] * 8; + uVar5 = lVar1 + 0x1f; + if (uVar5 <= lVar1 + 0x10U) { + uVar5 = 0xffffffffffffff0; + } + lVar1 = -(uVar5 & 0xfffffffffffffff0); + puVar9 = auStack_38 + lVar1; + puVar3 = (undefined4 *)((longlong)local_18 + lVar1); + puVar12 = (undefined8 *)0x0; + if (puVar3 == (undefined4 *)0x0) goto LAB_140066760; + *puVar3 = 0xcccc; + puVar9 = auStack_38 + lVar1; + } + else { + puVar3 = malloc(uVar5); + puVar12 = (undefined8 *)0x0; + if (puVar3 == (undefined4 *)0x0) goto LAB_140066760; + *puVar3 = 0xdddd; + puVar9 = auStack_38; + } + puVar12 = (undefined8 *)(puVar3 + 4); +LAB_140066760: + uVar5 = param_1[1]; + uVar13 = 0; + uVar6 = uVar13; + uVar10 = uVar13; + uVar11 = uVar13; + if (uVar5 != 0) { + do { + if (uVar10 == 0) { +LAB_1400667a9: + if (((longlong)uVar6 < 0) || (param_1[1] <= (longlong)uVar6)) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar9 + -8) = &UNK_140066824; + FUN_14002f590(); + } + if ((ulonglong)param_1[2] < 0x65) { + plVar4 = param_1 + uVar6 + 4; + } + else { + plVar4 = (longlong *)(*param_1 + uVar6 * 8); + } + uVar11 = uVar10 + 1; + puVar12[uVar10] = *plVar4; + } + else { + if (((longlong)uVar6 < 0) || (param_1[1] <= (longlong)uVar6)) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar9 + -8) = &UNK_14006681e; + FUN_14002f590(); + } + if ((ulonglong)param_1[2] < 0x65) { + plVar4 = param_1 + uVar6 + 4; + } + else { + plVar4 = (longlong *)(*param_1 + uVar6 * 8); + } + uVar11 = uVar10; + if (*plVar4 != puVar12[uVar10 - 1]) goto LAB_1400667a9; + } + uVar6 = uVar6 + 1; + uVar10 = uVar11; + } while (uVar6 < uVar5); + } + *(undefined8 *)(puVar9 + -8) = 0x1400667eb; + FUN_1400656c0(param_1,uVar11,-1); + if (0 < (longlong)uVar11) { + puVar8 = puVar12; + do { + if (((longlong)uVar13 < 0) || (param_1[1] <= (longlong)uVar13)) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar9 + -8) = &UNK_14006687d; + FUN_14002f590(); + } + if ((ulonglong)param_1[2] < 0x65) { + lVar1 = (longlong)param_1 + (0x20 - (longlong)puVar12); + } + else { + lVar1 = *param_1 - (longlong)puVar12; + } + puVar7 = (undefined8 *)(lVar1 + (longlong)puVar8); + uVar2 = *puVar8; + uVar13 = uVar13 + 1; + puVar8 = puVar8 + 1; + *puVar7 = uVar2; + } while ((longlong)uVar13 < (longlong)uVar11); + } + if ((puVar12 != (undefined8 *)0x0) && (*(int *)(puVar12 + -2) == 0xdddd)) { + *(undefined8 *)(puVar9 + -8) = 0x140066856; + free(puVar12 + -2); + } + *(undefined8 *)(puVar9 + -8) = 0x140066862; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140066880.c b/decomp/Agent_Release_x64/full/functions/0x140066880.c new file mode 100644 index 00000000..e509d22e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140066880.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140066880 FUN_140066880 + * Pseudocode, not original source. */ + +void FUN_140066880(longlong param_1,longlong param_2) + +{ + undefined2 *puVar1; + int iVar2; + + if (0 < param_2) { + iVar2 = 0; + puVar1 = (undefined2 *)(param_1 + 0x3c); + do { + if ((undefined4 *)(puVar1 + -0x1e) != (undefined4 *)0x0) { + FUN_1400806d0((undefined4 *)(puVar1 + -0x1e)); + *(undefined ***)(puVar1 + -6) = Proud::AddrPort::vftable; + *(undefined4 *)(puVar1 + -2) = 0; + *puVar1 = 0; + *(undefined1 *)(puVar1 + 2) = 0; + *(undefined4 *)(puVar1 + -10) = 0; + *(undefined4 *)(puVar1 + -2) = DAT_1401553d0; + *puVar1 = DAT_1401553d4; + } + iVar2 = iVar2 + 1; + puVar1 = puVar1 + 0x24; + } while (iVar2 < param_2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140066920.c b/decomp/Agent_Release_x64/full/functions/0x140066920.c new file mode 100644 index 00000000..0feedc41 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140066920.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140066920 FUN_140066920 + * Pseudocode, not original source. */ + +void FUN_140066920(longlong param_1,longlong param_2,longlong param_3) + +{ + undefined4 *puVar1; + longlong lVar2; + int iVar3; + + if (0 < param_3) { + iVar3 = 0; + puVar1 = (undefined4 *)(param_1 + 0x38); + lVar2 = param_2 - param_1; + do { + if (puVar1 + -0xe != (undefined4 *)0x0) { + FUN_140080700(puVar1 + -0xe,(undefined4 *)((longlong)puVar1 + lVar2 + -0x38)); + puVar1[-4] = *(undefined4 *)((longlong)puVar1 + lVar2 + -0x10); + *(undefined ***)(puVar1 + -2) = Proud::AddrPort::vftable; + *puVar1 = *(undefined4 *)((longlong)puVar1 + lVar2); + *(undefined2 *)(puVar1 + 1) = *(undefined2 *)((longlong)puVar1 + lVar2 + 4); + *(undefined1 *)(puVar1 + 2) = *(undefined1 *)((longlong)puVar1 + lVar2 + 8); + } + iVar3 = iVar3 + 1; + puVar1 = puVar1 + 0x12; + } while (iVar3 < param_3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400669c0.c b/decomp/Agent_Release_x64/full/functions/0x1400669c0.c new file mode 100644 index 00000000..d1cbce5a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400669c0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400669c0 FUN_1400669c0 + * Pseudocode, not original source. */ + +longlong * FUN_1400669c0(longlong *param_1,longlong *param_2,SIZE_T param_3,undefined8 param_4) + +{ + int iVar1; + undefined8 *puVar2; + undefined8 *puVar3; + + FUN_140003170(param_1,param_2,param_3,param_4); + *(short *)(param_1 + 1) = (short)param_2[1]; + *(undefined4 *)((longlong)param_1 + 0xc) = *(undefined4 *)((longlong)param_2 + 0xc); + *(int *)(param_1 + 2) = (int)param_2[2]; + *(undefined4 *)((longlong)param_1 + 0x14) = *(undefined4 *)((longlong)param_2 + 0x14); + *(int *)(param_1 + 3) = (int)param_2[3]; + iVar1 = (int)param_2[7]; + if (-1 < iVar1) { + FUN_14001bc70((longlong)(param_1 + 4),iVar1,param_3); + puVar2 = (undefined8 *)0x0; + puVar3 = puVar2; + if ((int)param_2[7] != 0) { + puVar3 = (undefined8 *)param_2[6]; + } + if ((int)param_1[7] != 0) { + puVar2 = (undefined8 *)param_1[6]; + } + FUN_14001bd30(puVar2,puVar3,(longlong)iVar1); + param_1[9] = param_2[9]; + return param_1; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140066a60.c b/decomp/Agent_Release_x64/full/functions/0x140066a60.c new file mode 100644 index 00000000..5e450875 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140066a60.c @@ -0,0 +1,65 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140066a60 FUN_140066a60 + * Pseudocode, not original source. */ + +void FUN_140066a60(longlong param_1,longlong param_2,size_t param_3) + +{ + int iVar1; + int *piVar2; + longlong lVar3; + longlong lVar4; + ulonglong uVar5; + longlong lVar6; + int iVar7; + longlong lVar8; + + piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0x70) + 0x58))(); + FUN_14002e6e0(piVar2); + FUN_14003ecf0(param_2,0,param_3); + if (*(longlong *)(param_1 + 0x590) == 0) { + lVar6 = 0; + } + else { + lVar6 = *(longlong *)(param_1 + 0x580); + } + while( true ) { + if (lVar6 == 0) { + FUN_14002e770((longlong)piVar2); + return; + } + iVar1 = *(int *)(param_2 + 0x18); + lVar8 = (longlong)iVar1; + if (iVar1 < 0) break; + iVar7 = *(int *)(param_2 + 0x18); + FUN_14003ecf0(param_2,iVar7 + 1,param_3); + iVar7 = iVar7 - iVar1; + if (0 < iVar7) { + if (*(int *)(param_2 + 0x18) == 0) { + lVar4 = 0; + lVar3 = 0; + } + else { + lVar4 = *(longlong *)(param_2 + 0x10); + lVar3 = *(longlong *)(param_2 + 0x10); + } + param_3 = (longlong)iVar7 << 2; + memmove((void *)(lVar3 + 4 + lVar8 * 4),(void *)(lVar4 + lVar8 * 4),param_3); + } + if (*(int *)(param_2 + 0x18) == 0) { + lVar4 = 0; + } + else { + lVar4 = *(longlong *)(param_2 + 0x10); + } + uVar5 = 0; + do { + *(undefined1 *)(uVar5 + lVar4 + lVar8 * 4) = *(undefined1 *)(uVar5 + lVar6); + uVar5 = uVar5 + 1; + } while (uVar5 < 4); + lVar6 = *(longlong *)(lVar6 + 0x10); + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140066b90.c b/decomp/Agent_Release_x64/full/functions/0x140066b90.c new file mode 100644 index 00000000..f81b4034 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140066b90.c @@ -0,0 +1,85 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140066b90 FUN_140066b90 + * Pseudocode, not original source. */ + +void FUN_140066b90(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined *param_4) + +{ + int *piVar1; + longlong lVar2; + undefined8 uVar3; + longlong lVar4; + longlong lVar5; + double dVar6; + + piVar1 = (int *)(**(code **)(*param_1 + 0x58))(param_1,param_2,param_3,param_4,0xfffffffffffffffe) + ; + FUN_14002e6e0(piVar1); + dVar6 = (double)(**(code **)(param_1[0xe] + 0x1c0))(); + lVar5 = 0; + if (param_1[0xbb] != 0) { + lVar5 = *(longlong *)(param_1[0xbb] + 0x38); + } + FUN_1400b7aa0((double *)(param_1 + 0x2ef),*(double *)(lVar5 + 0x100)); + if ((char)param_1[0x2f1] != '\0') { + if (((longlong *)param_1[0x2a4] != (longlong *)0x0) && + (lVar5 = *(longlong *)param_1[0x2a4], lVar5 != 0)) { + FUN_1400b7040(lVar5 + -0x40,dVar6,param_3,param_4); + if (param_1[0x2ce] == 0) { + lVar5 = 0; + } + else { + lVar5 = param_1[0x2cc]; + } + for (; lVar5 != 0; lVar5 = *(longlong *)(lVar5 + 0x10)) { + lVar4 = 0; + if (*(longlong **)(lVar5 + 8) != (longlong *)0x0) { + lVar4 = **(longlong **)(lVar5 + 8); + } + if (*(char *)(lVar4 + 0x684) == '\0') { + if ((*(longlong **)(lVar4 + 0x18) != (longlong *)0x0) && + (**(longlong **)(lVar4 + 0x18) != 0)) { + lVar2 = FUN_1400b34a0(lVar4); + FUN_1400b7040(lVar2,dVar6,param_3,param_4); + } + uVar3 = FUN_1400b35d0((longlong *)(lVar4 + 0x668)); + *(int *)(lVar4 + 0x58) = (int)uVar3; + } + } + } + if ((((longlong *)param_1[699] != (longlong *)0x0) && + (lVar5 = *(longlong *)param_1[699], lVar5 != 0)) && (lVar5 != 0x40)) { + if (lVar5 != 0) { + lVar5 = lVar5 + -0x40; + } + FUN_1400b2a00(lVar5,dVar6); + } + } + if (DAT_140155058 < dVar6 - (double)param_1[0x1a]) { + if (((longlong *)param_1[0x2a4] != (longlong *)0x0) && + (lVar5 = *(longlong *)param_1[0x2a4], lVar5 != 0)) { + FUN_140098420(*(longlong **)(lVar5 + 200),dVar6,param_3,param_4); + } + if (param_1[0x2ce] == 0) { + lVar5 = 0; + } + else { + lVar5 = param_1[0x2cc]; + } + for (; lVar5 != 0; lVar5 = *(longlong *)(lVar5 + 0x10)) { + lVar4 = 0; + if (*(longlong **)(lVar5 + 8) != (longlong *)0x0) { + lVar4 = **(longlong **)(lVar5 + 8); + } + if (((*(char *)(lVar4 + 0x684) == '\0') && (*(longlong **)(lVar4 + 0x18) != (longlong *)0x0)) + && (**(longlong **)(lVar4 + 0x18) != 0)) { + lVar4 = FUN_1400b34a0(lVar4); + FUN_140098420(*(longlong **)(lVar4 + 0x108),dVar6,param_3,param_4); + } + } + param_1[0x1a] = (longlong)dVar6; + } + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140066d80.c b/decomp/Agent_Release_x64/full/functions/0x140066d80.c new file mode 100644 index 00000000..4eedce1b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140066d80.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140066d80 FUN_140066d80 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140066d80(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + int *piVar2; + undefined8 *puVar3; + longlong lVar4; + + lVar4 = 0; + puVar3 = param_2; + piVar1 = (int *)(**(code **)(*(longlong *)(param_1 + -0x70) + 0x58))(); + piVar2 = piVar1; + FUN_14002e6e0(piVar1); + if (*(longlong *)(param_1 + 0x1600) != 0) { + lVar4 = *(longlong *)(param_1 + 0x15f0); + } + for (; lVar4 != 0; lVar4 = *(longlong *)(lVar4 + 0x10)) { + } + FUN_140030200(piVar2,puVar3,param_3,param_4); + *param_2 = PTR_DAT_140155010; + FUN_14002e770((longlong)piVar1); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140066e10.c b/decomp/Agent_Release_x64/full/functions/0x140066e10.c new file mode 100644 index 00000000..9c409226 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140066e10.c @@ -0,0 +1,51 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140066e10 FUN_140066e10 + * Pseudocode, not original source. */ + +void FUN_140066e10(longlong param_1,undefined8 *param_2) + +{ + int *piVar1; + longlong lVar2; + undefined1 uVar3; + longlong lVar4; + + piVar1 = (int *)(**(code **)(*(longlong *)(param_1 + -0x70) + 0x58))(); + FUN_14002e6e0(piVar1); + *param_2 = *(undefined8 *)(param_1 + 0x5e8); + param_2[1] = *(undefined8 *)(param_1 + 0x5f0); + param_2[2] = *(undefined8 *)(param_1 + 0x5f8); + param_2[3] = *(undefined8 *)(param_1 + 0x600); + param_2[4] = *(undefined8 *)(param_1 + 0x608); + param_2[5] = *(undefined8 *)(param_1 + 0x610); + param_2[6] = *(undefined8 *)(param_1 + 0x618); + param_2[7] = *(undefined8 *)(param_1 + 0x620); + *(int *)(param_2 + 6) = (int)*(undefined8 *)(param_1 + 0x1600); + if ((*(longlong **)(param_1 + 0x1500) == (longlong *)0x0) || + (lVar2 = **(longlong **)(param_1 + 0x1500), lVar2 == 0)) { + uVar3 = 0; + } + else { + uVar3 = *(undefined1 *)(lVar2 + 0x80); + } + *(undefined1 *)((longlong)param_2 + 0x34) = uVar3; + *(undefined4 *)(param_1 + 0x620) = 0; + if (*(longlong *)(param_1 + 0x1600) == 0) { + lVar2 = 0; + } + else { + lVar2 = *(longlong *)(param_1 + 0x15f0); + } + for (; lVar2 != 0; lVar2 = *(longlong *)(lVar2 + 0x10)) { + lVar4 = 0; + if (*(longlong **)(lVar2 + 8) != (longlong *)0x0) { + lVar4 = **(longlong **)(lVar2 + 8); + } + if (*(char *)(lVar4 + 0x608) == '\0') { + *(int *)(param_1 + 0x620) = *(int *)(param_1 + 0x620) + 1; + } + } + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140066f30.c b/decomp/Agent_Release_x64/full/functions/0x140066f30.c new file mode 100644 index 00000000..d93d4f87 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140066f30.c @@ -0,0 +1,68 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140066f30 FUN_140066f30 + * Pseudocode, not original source. */ + +void FUN_140066f30(longlong param_1,longlong param_2,undefined8 param_3,longlong param_4) + +{ + uint uVar1; + undefined4 uVar2; + undefined4 uVar3; + int iVar4; + longlong lVar5; + longlong lVar6; + ulonglong uVar7; + int iVar8; + longlong lVar9; + longlong lVar10; + int iVar11; + longlong lVar12; + longlong lVar13; + + uVar7 = 0; + lVar10 = param_2; + FUN_140065570(param_2,0,param_3,param_4); + iVar4 = *(int *)(param_1 + 0x18); + iVar11 = 0; + lVar12 = 0; + if (0 < iVar4) { + lVar13 = 0; + do { + if ((lVar12 < 0) || (iVar4 <= iVar11)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(lVar10,uVar7,param_3,param_4); + } + iVar4 = *(int *)(param_2 + 0x18); + uVar2 = *(undefined4 *)(lVar13 + 8 + *(longlong *)(param_1 + 0x10)); + uVar3 = *(undefined4 *)(*(longlong *)(lVar13 + *(longlong *)(param_1 + 0x10)) + 0x56c); + if (iVar4 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar8 = *(int *)(param_2 + 0x18); + uVar1 = iVar8 + 1; + uVar7 = (ulonglong)uVar1; + FUN_140065570(param_2,uVar1,param_3,param_4); + iVar8 = iVar8 - iVar4; + if ((0 < iVar8) && (iVar8 = iVar8 + -1, lVar10 = (longlong)iVar8, -1 < iVar8)) { + lVar9 = (lVar10 + iVar4) * 8 + 8; + do { + lVar5 = FUN_14003d690(param_2); + lVar6 = FUN_14003d690(param_2); + *(undefined8 *)(lVar6 + lVar9) = *(undefined8 *)(lVar5 + -8 + lVar9); + lVar9 = lVar9 + -8; + lVar10 = lVar10 + -1; + } while (-1 < lVar10); + } + lVar9 = FUN_14003d690(param_2); + lVar10 = CONCAT44(uVar2,uVar3); + *(longlong *)(lVar9 + (longlong)iVar4 * 8) = lVar10; + iVar4 = *(int *)(param_1 + 0x18); + iVar11 = iVar11 + 1; + lVar12 = lVar12 + 1; + lVar13 = lVar13 + 0x10; + } while (iVar11 < iVar4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140067060.c b/decomp/Agent_Release_x64/full/functions/0x140067060.c new file mode 100644 index 00000000..28bef908 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140067060.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140067060 FUN_140067060 + * Pseudocode, not original source. */ + +void FUN_140067060(longlong param_1,uint param_2,undefined8 param_3,undefined *param_4) + +{ + longlong lVar1; + + if (*(longlong *)(param_1 + 0x1670) == 0) { + lVar1 = 0; + } + else { + lVar1 = *(longlong *)(param_1 + 0x1660); + } + while (lVar1 != 0) { + if (*(longlong **)(lVar1 + 8) == (longlong *)0x0) { + FUN_1400b5640(0,'\x01',(ulonglong)param_2,param_4); + lVar1 = *(longlong *)(lVar1 + 0x10); + } + else { + FUN_1400b5640(**(longlong **)(lVar1 + 8),'\x01',(ulonglong)param_2,param_4); + lVar1 = *(longlong *)(lVar1 + 0x10); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400670c0.c b/decomp/Agent_Release_x64/full/functions/0x1400670c0.c new file mode 100644 index 00000000..b95d3e32 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400670c0.c @@ -0,0 +1,48 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400670c0 FUN_1400670c0 + * Pseudocode, not original source. */ + +void FUN_1400670c0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + longlong lVar2; + longlong lVar3; + + piVar1 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar1); + if ((((longlong *)param_1[699] != (longlong *)0x0) && + (lVar3 = *(longlong *)param_1[699], lVar3 != 0)) && (lVar3 != 0x40)) { + if (lVar3 != 0) { + lVar3 = lVar3 + -0x40; + } + FUN_1400b2ba0(lVar3,param_2,param_3,param_4); + } + if ((((longlong *)param_1[0x2a4] != (longlong *)0x0) && + (lVar3 = *(longlong *)param_1[0x2a4], lVar3 != 0)) && (lVar3 != 0x40)) { + if (lVar3 != 0) { + lVar3 = lVar3 + -0x40; + } + FUN_1400b6d90(lVar3,param_2,param_3,param_4); + } + if (param_1[0x2ce] == 0) { + lVar3 = 0; + } + else { + lVar3 = param_1[0x2cc]; + } + for (; lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x10)) { + lVar2 = 0; + if (*(longlong **)(lVar3 + 8) != (longlong *)0x0) { + lVar2 = **(longlong **)(lVar3 + 8); + } + if (((*(char *)(lVar2 + 0x684) == '\0') && (*(longlong **)(lVar2 + 0x18) != (longlong *)0x0)) && + (**(longlong **)(lVar2 + 0x18) != 0)) { + lVar2 = FUN_1400b34a0(lVar2); + FUN_1400b6d90(lVar2,param_2,param_3,param_4); + } + } + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400671b0.c b/decomp/Agent_Release_x64/full/functions/0x1400671b0.c new file mode 100644 index 00000000..198ee5c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400671b0.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400671b0 FUN_1400671b0 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400671b0(longlong param_1) + +{ + int *piVar1; + longlong lVar2; + double dVar3; + undefined8 uVar4; + undefined4 local_res8 [2]; + + if ((*(char *)(param_1 + 0x6cc) != '\0') && + (dVar3 = (double)(**(code **)(*(longlong *)(param_1 + 0x70) + 0x1c0))(param_1 + 0x70), + _DAT_140155168 < dVar3 - *(double *)(param_1 + 0x638))) { + if (*(longlong *)(param_1 + 0x1670) == 0) { + piVar1 = (int *)0x0; + } + else { + piVar1 = *(int **)(param_1 + 0x1660); + } + for (; piVar1 != (int *)0x0; piVar1 = *(int **)(piVar1 + 4)) { + uVar4 = (**(code **)(*(longlong *)(param_1 + 0x70) + 0x1c0))(param_1 + 0x70); + *(undefined8 *)(param_1 + 0x638) = uVar4; + if (piVar1 == (int *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if (*(int *)(param_1 + 0x1578) < *piVar1) { + lVar2 = 0; + if (*(longlong **)(piVar1 + 2) != (longlong *)0x0) { + lVar2 = **(longlong **)(piVar1 + 2); + } + if ((*(char *)(lVar2 + 0x684) == '\0') && (*(char *)(lVar2 + 0x608) == '\0')) { + if ((*(double *)(lVar2 + 0x50) <= 0.0) || + ((*(double *)(lVar2 + 0x60) <= 0.0 || + (dVar3 = *(double *)(lVar2 + 0x60) + *(double *)(param_1 + 0x4f8), + *(double *)(lVar2 + 0x50) <= dVar3)))) { + dVar3 = *(double *)(lVar2 + 0x50); + } + local_res8[0] = (undefined4)(longlong)(dVar3 * 1000.0); + (**(code **)(*(longlong *)(param_1 + 0x1818) + 0x110)) + ((longlong *)(param_1 + 0x1818),1,&DAT_14015de10,lVar2 + 0x56c,local_res8); + } + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140067310.c b/decomp/Agent_Release_x64/full/functions/0x140067310.c new file mode 100644 index 00000000..ec064223 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140067310.c @@ -0,0 +1,51 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140067310 FUN_140067310 + * Pseudocode, not original source. */ + +void FUN_140067310(longlong *param_1) + +{ + int *piVar1; + longlong lVar2; + double dVar3; + longlong lVar4; + undefined4 local_res8 [2]; + undefined8 uVar5; + int *piVar6; + undefined1 uVar7; + + uVar5 = 0xfffffffffffffffe; + piVar1 = (int *)(**(code **)(*param_1 + 0x58))(); + piVar6 = piVar1; + FUN_14002e6e0(piVar1); + uVar7 = 1; + if (((int)param_1[0x2af] != 0) && (0.0 < (double)param_1[0xa2])) { + dVar3 = (double)(**(code **)(param_1[0xe] + 0x1c0))(param_1 + 0xe); + if (DAT_140155100 < dVar3 - (double)param_1[0xa2]) { + lVar4 = (**(code **)(param_1[0xe] + 0x1c0))(param_1 + 0xe); + param_1[0xa2] = lVar4; + local_res8[0] = (undefined4)param_1[0xa1]; + (**(code **)(param_1[0x303] + 0x150)) + (param_1 + 0x303,1,&DAT_14015de10,local_res8,uVar5,piVar6,uVar7); + if (param_1[0x2ce] == 0) { + lVar4 = 0; + } + else { + lVar4 = param_1[0x2cc]; + } + for (; lVar4 != 0; lVar4 = *(longlong *)(lVar4 + 0x10)) { + lVar2 = 0; + if (*(longlong **)(lVar4 + 8) != (longlong *)0x0) { + lVar2 = **(longlong **)(lVar4 + 8); + } + if (*(char *)(lVar2 + 0x684) == '\0') { + (**(code **)(param_1[0x2fa] + 0x40)) + (param_1 + 0x2fa,*(undefined4 *)(lVar2 + 0x56c),&DAT_14015de10,lVar2 + 0x48); + } + } + } + } + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140067440.c b/decomp/Agent_Release_x64/full/functions/0x140067440.c new file mode 100644 index 00000000..b53aa5d5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140067440.c @@ -0,0 +1,58 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140067440 FUN_140067440 + * Pseudocode, not original source. */ + +undefined4 FUN_140067440(longlong param_1,longlong param_2) + +{ + short sVar1; + ulonglong uVar2; + longlong lVar3; + int iVar4; + longlong lVar5; + + (**(code **)(*(longlong *)(param_1 + 0x78) + 0x10))(param_1 + 0x78); + if ((*(int *)(param_2 + 8) == 0) || (uVar2 = FUN_140033290(param_2), (char)uVar2 != '\0')) { + if ((*(longlong **)(param_1 + 0x1570) != (longlong *)0x0) && + ((lVar3 = **(longlong **)(param_1 + 0x1570), lVar3 != 0 && + (uVar2 = FUN_140033290(lVar3 + 200), (char)uVar2 != '\0')))) { + lVar3 = 0; + if (*(longlong **)(param_1 + 0x1570) != (longlong *)0x0) { + lVar3 = **(longlong **)(param_1 + 0x1570); + } + if ((*(int *)(lVar3 + 0xd0) == *(int *)(param_2 + 8)) && + (*(short *)(lVar3 + 0xd4) == *(short *)(param_2 + 0xc))) { + return 1; + } + } + iVar4 = DAT_1401553d0; + sVar1 = DAT_1401553d4; + if ((((*(longlong **)(param_1 + 0x1520) != (longlong *)0x0) && + (lVar3 = **(longlong **)(param_1 + 0x1520), lVar3 != 0)) && (lVar3 != 0x40)) && + (iVar4 = iRam0000000000000140, sVar1 = sRam0000000000000144, lVar3 != 0)) { + iVar4 = *(int *)(lVar3 + 0x100); + sVar1 = *(short *)(lVar3 + 0x104); + } + if ((iVar4 == *(int *)(param_2 + 8)) && (sVar1 == *(short *)(param_2 + 0xc))) { + return *(undefined4 *)(param_1 + 0x1578); + } + if (*(longlong *)(param_1 + 0x1670) == 0) { + lVar3 = 0; + } + else { + lVar3 = *(longlong *)(param_1 + 0x1660); + } + for (; lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x10)) { + lVar5 = 0; + if (*(longlong **)(lVar3 + 8) != (longlong *)0x0) { + lVar5 = **(longlong **)(lVar3 + 8); + } + if ((*(int *)(lVar5 + 0x5a8) == *(int *)(param_2 + 8)) && + (*(short *)(lVar5 + 0x5ac) == *(short *)(param_2 + 0xc))) { + return *(undefined4 *)(lVar5 + 0x56c); + } + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400675a0.c b/decomp/Agent_Release_x64/full/functions/0x1400675a0.c new file mode 100644 index 00000000..aa12271d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400675a0.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400675a0 FUN_1400675a0 + * Pseudocode, not original source. */ + +void FUN_1400675a0(longlong *param_1,undefined8 param_2,ulonglong param_3,ulonglong param_4) + +{ + undefined8 *puVar1; + longlong *plVar2; + + if (*param_1 != 0) { + *(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1; + if (*(longlong *)(*param_1 + 8) == 0) { + puVar1 = (undefined8 *)*param_1; + plVar2 = (longlong *)*puVar1; + if (plVar2 != (longlong *)0x0) { + FUN_1400a4dc0(plVar2,0,param_3,param_4); + operator_delete(plVar2); + } + FUN_1400302f0(puVar1); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140067610.c b/decomp/Agent_Release_x64/full/functions/0x140067610.c new file mode 100644 index 00000000..31fd4333 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140067610.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140067610 FUN_140067610 + * Pseudocode, not original source. */ + +longlong * FUN_140067610(longlong *param_1) + +{ + wint_t _C; + int iVar1; + wint_t *pwVar2; + undefined *puVar3; + wint_t *pwVar4; + + pwVar2 = (wint_t *)*param_1; + if ((wint_t *)*param_1 == (wint_t *)0x0) { + pwVar2 = (wint_t *)PTR_DAT_140155010; + } + pwVar4 = (wint_t *)0x0; + _C = *pwVar2; + if (_C != 0) { + do { + iVar1 = iswspace(_C); + if (iVar1 == 0) { + pwVar4 = (wint_t *)0x0; + } + else if (pwVar4 == (wint_t *)0x0) { + pwVar4 = pwVar2; + } + pwVar2 = (wint_t *)FUN_140030100((longlong)pwVar2); + _C = *pwVar2; + } while (_C != 0); + if (pwVar4 != (wint_t *)0x0) { + puVar3 = (undefined *)*param_1; + if ((undefined *)*param_1 == (undefined *)0x0) { + puVar3 = PTR_DAT_140155010; + } + FUN_1400664f0(param_1,(int)((longlong)pwVar4 - (longlong)puVar3 >> 1)); + } + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400676b0.c b/decomp/Agent_Release_x64/full/functions/0x1400676b0.c new file mode 100644 index 00000000..b4661a52 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400676b0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400676b0 FUN_1400676b0 + * Pseudocode, not original source. */ + +void FUN_1400676b0(longlong *param_1,longlong *param_2) + +{ + longlong lVar1; + longlong *plVar2; + undefined8 *puVar3; + ulonglong uVar4; + + lVar1 = *param_2; + if (lVar1 != *param_1) { + uVar4 = 0; + if (lVar1 != 0) { + uVar4 = *(longlong *)(lVar1 + 8) + 1; + *(ulonglong *)(*param_2 + 8) = uVar4; + } + puVar3 = (undefined8 *)0x0; + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + puVar3 = (undefined8 *)*param_1; + } + *param_1 = *param_2; + if (puVar3 != (undefined8 *)0x0) { + plVar2 = (longlong *)*puVar3; + if (plVar2 != (longlong *)0x0) { + FUN_1400a4dc0(plVar2,param_2,uVar4,(ulonglong)param_1); + operator_delete(plVar2); + } + FUN_1400302f0(puVar3); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140067740.c b/decomp/Agent_Release_x64/full/functions/0x140067740.c new file mode 100644 index 00000000..a40e6f3a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140067740.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140067740 FUN_140067740 + * Pseudocode, not original source. */ + +undefined4 * FUN_140067740(char *param_1,undefined4 *param_2,uint param_3,undefined4 param_4) + +{ + undefined8 uVar1; + undefined4 *puVar2; + + if (*(longlong *)(param_1 + 8) == 0) { + uVar1 = FUN_14003f710((longlong)param_1,*(uint *)(param_1 + 0x28),'\x01'); + if ((char)uVar1 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + FUN_14003d560(param_1); + puVar2 = FUN_140066570(param_1,param_2,param_3,param_4); + FUN_14003d560(param_1); + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400677c0.c b/decomp/Agent_Release_x64/full/functions/0x1400677c0.c new file mode 100644 index 00000000..85cdc7a5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400677c0.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400677c0 FUN_1400677c0 + * Pseudocode, not original source. */ + +void FUN_1400677c0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + longlong *plVar2; + int *piVar3; + undefined *local_res18 [2]; + + plVar2 = FUN_140033fb0(param_2,(longlong *)local_res18,param_3,param_4); + FUN_14001b5a0(param_1,plVar2); + if (((local_res18[0] != (undefined *)0x0) && (local_res18[0] != PTR_DAT_140155010)) && + (local_res18[0] + -8 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(param_1,plVar2,param_3,param_4); + FUN_14002e6e0(piVar3); + piVar1 = (int *)(local_res18[0] + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_res18[0] + -8); + } + FUN_14002e770((longlong)piVar3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140067850.c b/decomp/Agent_Release_x64/full/functions/0x140067850.c new file mode 100644 index 00000000..6e55a424 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140067850.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140067850 FUN_140067850 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400678ac) */ +/* WARNING: Removing unreachable block (ram,0x0001400678b5) */ +/* WARNING: Removing unreachable block (ram,0x0001400678d3) */ +/* WARNING: Removing unreachable block (ram,0x0001400678dc) */ + +undefined4 * FUN_140067850(undefined4 *param_1) + +{ + *(undefined1 *)(param_1 + 2) = 0; + param_1[0xc] = 0x11; + *(undefined8 *)(param_1 + 0x16) = 0; + *(undefined8 *)(param_1 + 4) = 0; + *(undefined8 *)(param_1 + 6) = 0; + *(undefined8 *)(param_1 + 8) = 0; + *(undefined8 *)(param_1 + 10) = 0; + param_1[0x14] = 0; + param_1[0xd] = 0x3f400000; + param_1[0xe] = 0x3e800000; + param_1[0xf] = 0x40100000; + *(undefined8 *)(param_1 + 0x10) = 0x26; + *(undefined8 *)(param_1 + 0x12) = 0; + *param_1 = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140067900.c b/decomp/Agent_Release_x64/full/functions/0x140067900.c new file mode 100644 index 00000000..104c2f27 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140067900.c @@ -0,0 +1,2082 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140067900 FUN_140067900 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +undefined8 FUN_140067900(longlong *param_1,uint *param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined ***pppuVar1; + int *piVar2; + uint uVar3; + uint uVar4; + undefined *puVar5; + uchar auVar6 [8]; + undefined ***pppuVar7; + char cVar8; + int iVar9; + DWORD DVar10; + DWORD DVar11; + undefined8 uVar12; + undefined **ppuVar13; + undefined *puVar14; + undefined **ppuVar15; + undefined **ppuVar16; + short *psVar17; + longlong *plVar18; + longlong *plVar19; + ulonglong uVar20; + undefined2 uVar21; + ulong uVar22; + undefined4 uVar23; + undefined1 *puVar24; + IMAGE_DOS_HEADER *pIVar25; + SIZE_T SVar26; + undefined8 uVar27; + undefined **ppuVar28; + undefined1 auStack_4b8 [32]; + uchar local_498 [8]; + UUID *local_490; + undefined ***local_488; + UUID *local_480; + UUID *local_478; + byte *local_470; + UUID *local_468; + byte *local_460; + uchar *local_458; + byte local_448 [8]; + uchar local_440 [8]; + uchar local_438 [8]; + uchar local_430 [8]; + undefined ***local_428; + UUID local_420; + uint local_410; + SIZE_T local_408; + undefined **local_400; + undefined *local_3f8; + undefined **local_3f0; + SIZE_T local_3e8; + undefined8 local_3e0; + ulong local_3d8 [2]; + UUID local_3d0; + uint local_3c0; + SIZE_T local_3b8; + undefined1 local_3a8 [4]; + uint local_3a4; + SIZE_T local_370; + undefined **local_348; + undefined8 local_340; + uint local_338; + SIZE_T local_330; + ulong local_328; + undefined **local_320; + undefined **local_318; + undefined **local_310; + undefined **local_308; + undefined **local_300; + undefined4 local_2f8; + undefined **local_2f0; + uchar local_2e8 [8]; + undefined **local_2e0; + uchar local_2d8 [8]; + undefined **local_2d0; + uint local_2c8 [2]; + undefined **local_2c0; + uchar local_2b8 [8]; + undefined **local_2b0; + undefined *local_2a8; + undefined **local_2a0; + undefined **local_298; + undefined **local_290; + uchar local_288 [8]; + undefined **local_280; + undefined4 local_278; + undefined **local_270; + uchar local_268 [8]; + undefined **local_260; + undefined *local_258; + undefined **local_250; + undefined **local_248; + undefined4 local_240; + undefined4 local_23c; + ulong local_238; + undefined **local_230; + ulong local_228; + uchar local_224 [4]; + undefined4 local_220; + uchar local_21c [4]; + undefined **local_218; + undefined *local_210; + undefined **local_208; + SIZE_T local_200; + undefined8 local_1f8; + undefined *local_1f0; + undefined *local_1e8; + undefined **local_1e0; + undefined8 local_1d8; + undefined **local_1d0; + undefined8 local_1c8; + undefined8 local_1c0; + longlong local_1b8; + longlong local_1b0; + longlong local_1a8; + longlong local_1a0; + longlong local_198; + longlong local_190; + longlong local_188; + longlong local_180; + longlong local_178; + longlong local_170; + longlong local_168; + longlong local_160; + longlong local_158; + longlong local_150; + longlong local_148; + longlong local_140; + longlong local_138; + longlong local_130; + longlong local_128; + longlong local_120; + longlong local_118; + longlong local_110; + longlong local_108; + longlong local_100; + longlong local_f8; + longlong local_f0; + longlong local_e8; + longlong local_e0; + longlong local_d8; + longlong local_d0; + longlong local_c8 [3]; + longlong local_b0; + longlong local_a8 [2]; + UUID local_98; + uint local_88; + SIZE_T local_80; + UUID local_78; + uint local_68; + SIZE_T local_60; + int local_58; + ulonglong local_48; + + local_c8[1] = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_4b8; + uVar3 = param_2[10]; + SVar26 = param_3; + if (uVar3 == 0) { + FUN_140093300(); + } + uVar4 = *param_2; + uVar12 = FUN_140080fb0(param_2,local_2c8,SVar26,param_4); + if ((char)uVar12 == '\0') { +switchD_1400679a4_default: + uVar20 = FUN_1400802d0((int *)param_2, + (ulonglong)(uint)((int)(((int)uVar4 >> 0x1f & 7U) + uVar4) >> 3),SVar26, + param_4); + return uVar20 & 0xffffffffffffff00; + } + pIVar25 = &IMAGE_DOS_HEADER_140000000; + local_370 = param_3; + switch(local_2c8[0]) { + case 0xfbf5: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + FUN_140081090(param_2,(undefined4 *)local_440,SVar26,param_4); + FUN_140081090(param_2,(undefined4 *)local_438,SVar26,param_4); + ppuVar28 = (undefined **)0x0; + ppuVar16 = (undefined **)0x0; + local_3f8 = (undefined *)0x0; + local_3f0 = (undefined **)0x0; + local_3e8 = 0; + local_3e0 = 0; + local_400 = Proud::ByteArray::vftable; + uVar20 = FUN_140080ca0(param_2,(undefined8 *)&local_420,SVar26,param_4); + uVar12 = local_420._0_8_; + if ((((char)uVar20 != '\0') && (iVar9 = local_420.Data1, -1 < iVar9)) && + (iVar9 <= DAT_140155140)) { + FUN_14001bc70((longlong)&local_400,iVar9,SVar26); + ppuVar15 = local_3f0; + if ((int)local_3e8 == 0) { + ppuVar15 = ppuVar28; + } + FUN_140080600(param_2,ppuVar15,uVar12 & 0xffffffff); + } + SVar26 = 4; + uVar12 = FUN_140080600(param_2,(undefined8 *)&local_420,4); + if ((char)uVar12 != '\0') { + local_3d8[0] = local_420.Data1; + } + local_210 = (undefined *)0x0; + local_208 = (undefined **)0x0; + local_200 = 0; + local_1f8 = 0; + local_218 = Proud::ByteArray::vftable; + uVar20 = FUN_140080ca0(param_2,(undefined8 *)&local_420,SVar26,param_4); + uVar12 = local_420._0_8_; + if ((((char)uVar20 != '\0') && (iVar9 = local_420.Data1, -1 < iVar9)) && + (iVar9 <= DAT_140155140)) { + FUN_14001bc70((longlong)&local_218,iVar9,SVar26); + ppuVar15 = local_208; + if ((int)local_200 == 0) { + ppuVar15 = ppuVar28; + } + SVar26 = uVar12 & 0xffffffff; + FUN_140080600(param_2,ppuVar15,SVar26); + } + local_1d8 = 0; + local_1d0 = (undefined **)0x0; + local_1c8 = 0; + local_1c0 = 0; + local_1e0 = Proud::ByteArray::vftable; + uVar20 = FUN_140080ca0(param_2,(undefined8 *)&local_420,SVar26,param_4); + uVar12 = local_420._0_8_; + if ((((char)uVar20 != '\0') && (iVar9 = local_420.Data1, -1 < iVar9)) && + (iVar9 <= DAT_140155140)) { + FUN_14001bc70((longlong)&local_1e0,iVar9,SVar26); + ppuVar15 = local_1d0; + if ((int)local_1c8 == 0) { + ppuVar15 = ppuVar28; + } + FUN_140080600(param_2,ppuVar15,uVar12 & 0xffffffff); + } + uVar12 = FUN_140080600(param_2,(undefined8 *)&local_420,4); + local_3d0.Data1 = 0; + if ((char)uVar12 != '\0') { + local_3d0.Data1 = local_420.Data1; + } + local_98._0_8_ = (undefined **)0x0; + local_98.Data4[0] = '\0'; + local_98.Data4[1] = '\0'; + local_98.Data4[2] = '\0'; + local_98.Data4[3] = '\0'; + local_98.Data4[4] = '\0'; + local_98.Data4[5] = '\0'; + local_98.Data4[6] = '\0'; + local_98.Data4[7] = '\0'; + local_78._0_8_ = (undefined **)0x0; + local_78.Data4[0] = '\0'; + local_78.Data4[1] = '\0'; + local_78.Data4[2] = '\0'; + local_78.Data4[3] = '\0'; + local_78.Data4[4] = '\0'; + local_78.Data4[5] = '\0'; + local_78.Data4[6] = '\0'; + local_78.Data4[7] = '\0'; + uVar12 = FUN_140080600(param_2,(undefined8 *)&local_78,0x10); + if ((char)uVar12 != '\0') { + local_98.Data1 = local_78.Data1; + local_98.Data2 = local_78.Data2; + local_98.Data3 = local_78.Data3; + local_98.Data4[0] = local_78.Data4[0]; + local_98.Data4[1] = local_78.Data4[1]; + local_98.Data4[2] = local_78.Data4[2]; + local_98.Data4[3] = local_78.Data4[3]; + local_98.Data4[4] = local_78.Data4[4]; + local_98.Data4[5] = local_78.Data4[5]; + local_98.Data4[6] = local_78.Data4[6]; + local_98.Data4[7] = local_78.Data4[7]; + } + uVar12 = FUN_140080600(param_2,(undefined8 *)&local_420,1); + if ((char)uVar12 != '\0') { + local_448[0] = (byte)local_420.Data1; + } + uVar12 = FUN_140080600(param_2,(undefined8 *)&local_420,2); + if ((char)uVar12 != '\0') { + local_430._0_2_ = (undefined2)local_420.Data1; + } + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_140156070; + (**(code **)(*plVar19 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfbf5,PTR_DAT_140156070); + goto LAB_14006804f; + } + } + else { + ppuVar16 = ppuVar28; + if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + local_420._0_8_ = PTR_DAT_140155010; + local_2b8[0] = local_440[0]; + local_2b8[1] = local_440[1]; + local_2b8[2] = local_440[2]; + local_2b8[3] = local_440[3]; + FUN_14009d840((longlong *)&local_420); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + local_240._0_1_ = local_438[0]; + local_240._1_1_ = local_438[1]; + local_240._2_1_ = local_438[2]; + local_240._3_1_ = local_438[3]; + FUN_14009d840((longlong *)&local_420); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + FUN_14009da80((longlong *)&local_420); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + FUN_14009d8a0((longlong *)&local_420); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + FUN_14009da80((longlong *)&local_420); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + FUN_14009da80((longlong *)&local_420); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + local_238 = local_3d0.Data1; + FUN_14009d840((longlong *)&local_420); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + FUN_14009da90((longlong *)&local_420,&local_98); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + FUN_14009d760((longlong *)&local_420,(char *)local_448); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + FUN_14009d7e0((longlong *)&local_420); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + iVar9 = 0; + if (((undefined **)local_420._0_8_ != (undefined **)0x0) && + ((undefined *)local_420._0_8_ != PTR_DAT_140155010)) { + iVar9 = *(int *)(local_420._0_8_ + -8); + } + uVar20 = (ulonglong)(iVar9 - 2U); + local_428 = (undefined ***) + FUN_14001ac70((longlong *)&local_420,(longlong *)&local_1f0,iVar9 - 2U); + ppuVar16 = (undefined **)local_420._0_8_; + if ((undefined **)local_420._0_8_ == (undefined **)0x0) { + ppuVar16 = (undefined **)PTR_DAT_140155010; + } + local_420._0_8_ = ppuVar16; + if (*local_428 != ppuVar16) { + ppuVar16 = (undefined **)FUN_140030200(ppuVar16,PTR_DAT_140155010,uVar20,param_4); + local_78._0_8_ = ppuVar16; + FUN_14002e6e0((int *)ppuVar16); + uVar12 = local_420._0_8_; + local_78.Data4[0] = '\x01'; + if ((((undefined **)local_420._0_8_ != (undefined **)0x0) && + ((undefined *)local_420._0_8_ != PTR_DAT_140155010)) && + (ppuVar15 = (undefined **)(local_420._0_8_ + -8), ppuVar15 != (undefined **)0x0)) { + ppuVar13 = (undefined **)FUN_140030200(local_420._0_8_,PTR_DAT_140155010,uVar20,param_4) + ; + local_348 = ppuVar13; + FUN_14002e6e0((int *)ppuVar13); + local_340 = (undefined *)CONCAT71(local_340._1_7_,1); + piVar2 = (int *)(uVar12 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppuVar15); + } + FUN_14002e770((longlong)ppuVar13); + } + local_420._0_8_ = *local_428; + if ((((undefined *)local_420._0_8_ != PTR_DAT_140155010) && + ((undefined **)local_420._0_8_ != (undefined **)0x0)) && + ((undefined **)local_420._0_8_ != (undefined **)0x8)) { + *(int *)(local_420._0_8_ + -4) = *(int *)(local_420._0_8_ + -4) + 1; + } + FUN_14002e770((longlong)ppuVar16); + } + if (((local_1f0 != (undefined *)0x0) && (local_1f0 != PTR_DAT_140155010)) && + (local_1f0 + -8 != (undefined *)0x0)) { + ppuVar16 = (undefined **)FUN_140030200(ppuVar16,PTR_DAT_140155010,uVar20,param_4); + local_78._0_8_ = ppuVar16; + FUN_14002e6e0((int *)ppuVar16); + local_78.Data4[0] = '\x01'; + piVar2 = (int *)(local_1f0 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(local_1f0 + -8); + } + FUN_14002e770((longlong)ppuVar16); + } + local_428 = &local_318; + puVar14 = PTR_DAT_140155010; + local_1f0 = PTR_DAT_140155010; + FUN_140030200(ppuVar16,PTR_DAT_140155010,uVar20,param_4); + local_318 = (undefined **)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_318 = ppuVar28; + } + if ((undefined *)local_420._0_8_ != PTR_DAT_140155010) { + ppuVar16 = (undefined **)FUN_140030200(ppuVar16,puVar14,uVar20,param_4); + local_78._0_8_ = ppuVar16; + FUN_14002e6e0((int *)ppuVar16); + local_78.Data4[0] = '\x01'; + FUN_140003240((longlong *)&local_318,puVar14,uVar20,param_4); + local_318 = (undefined **)local_420._0_8_; + if ((((undefined *)local_420._0_8_ != PTR_DAT_140155010) && + ((undefined **)local_420._0_8_ != (undefined **)0x0)) && + ((undefined **)local_420._0_8_ != (undefined **)0x8)) { + *(int *)(local_420._0_8_ + -4) = *(int *)(local_420._0_8_ + -4) + 1; + } + FUN_14002e770((longlong)ppuVar16); + } + puVar5 = PTR_DAT_140156070; + FUN_140030200(ppuVar16,puVar14,uVar20,param_4); + local_258 = PTR_DAT_140155010; + iVar9 = FUN_140030080((short *)puVar5); + puVar14 = FUN_140002f90((longlong *)&local_258,iVar9); + FUN_1400300b0(puVar14,puVar5,iVar9); + FUN_140003070((longlong *)&local_258); + (**(code **)(*param_1 + 0x28))(param_1,0xfbf5,&local_258,&local_318); + local_498 = (uchar [8])local_420._0_8_; + if ((undefined **)local_420._0_8_ == (undefined **)0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + plVar19 = (longlong *)param_1[2]; + uVar27 = 0xfbf5; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_140156070; + (**(code **)(*plVar19 + 0x70))(); + uVar12 = local_420._0_8_; + if ((((undefined **)local_420._0_8_ != (undefined **)0x0) && + ((undefined *)local_420._0_8_ != PTR_DAT_140155010)) && + (ppuVar16 = (undefined **)(local_420._0_8_ + -8), ppuVar16 != (undefined **)0x0)) { + ppuVar15 = (undefined **)FUN_140030200(plVar19,uVar20,uVar27,puVar14); + local_78._0_8_ = ppuVar15; + FUN_14002e6e0((int *)ppuVar15); + local_78.Data4[0] = '\x01'; + piVar2 = (int *)(uVar12 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppuVar16); + } + FUN_14002e770((longlong)ppuVar15); + } +LAB_14006804f: + ppuVar16 = ppuVar28; + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_78.Data1 = 0xfbf5; + local_78.Data4 = (uchar [8])PTR_DAT_140156070; + local_68 = uVar3; + local_60 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_78); + DVar10 = GetTickCount(); + ppuVar16 = (undefined **)(ulonglong)DVar10; + } + } + } + local_458 = local_430; + local_460 = local_448; + local_468 = &local_98; + local_470 = (byte *)&local_3d0; + local_478 = (UUID *)&local_1e0; + local_480 = (UUID *)&local_218; + local_488 = (undefined ***)local_3d8; + local_490 = (UUID *)&local_400; + local_498 = (uchar [8])local_438; + cVar8 = (**(code **)(*param_1 + 0x38))(param_1,uVar3,local_3a8,local_440); + if (cVar8 == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x40))((longlong *)param_1[2],PTR_DAT_140156070); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_78.Data1 = 0xfbf5; + local_78.Data4 = (uchar [8])PTR_DAT_140156070; + local_68 = uVar3; + local_60 = param_3; + DVar10 = GetTickCount(); + local_58 = DVar10 - (int)ppuVar16; + (**(code **)(*param_1 + 0x18))(param_1,&local_78); + } + FUN_14003b870(&local_1e0); + FUN_14003b870(&local_218); + uVar12 = FUN_14003b870(&local_400); + goto LAB_14006b2e3; + case 0xfbf6: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + FUN_140081090(param_2,&local_3d0.Data1,SVar26,param_4); + FUN_140081090(param_2,(undefined4 *)local_438,SVar26,param_4); + ppuVar28 = (undefined **)0x0; + ppuVar16 = (undefined **)0x0; + local_3f8 = (undefined *)0x0; + local_3f0 = (undefined **)0x0; + local_3e8 = 0; + local_3e0 = 0; + local_400 = Proud::ByteArray::vftable; + uVar20 = FUN_140080ca0(param_2,&local_428,SVar26,param_4); + pppuVar7 = local_428; + if ((((char)uVar20 != '\0') && (iVar9 = (int)local_428, -1 < iVar9)) && (iVar9 <= DAT_140155140) + ) { + FUN_14001bc70((longlong)&local_400,iVar9,SVar26); + ppuVar15 = local_3f0; + if ((int)local_3e8 == 0) { + ppuVar15 = ppuVar28; + } + FUN_140080600(param_2,ppuVar15,(ulonglong)pppuVar7 & 0xffffffff); + } + uVar12 = FUN_140080600(param_2,(undefined8 *)&local_420,4); + if ((char)uVar12 != '\0') { + local_3d8[0] = local_420.Data1; + } + uVar12 = FUN_140080600(param_2,(undefined8 *)&local_420,4); + uVar22 = 0; + if ((char)uVar12 != '\0') { + uVar22 = local_420.Data1; + } + local_440[0] = (char)uVar22; + local_440[1] = (char)(uVar22 >> 8); + local_440[2] = (char)(uVar22 >> 0x10); + local_440[3] = (char)(uVar22 >> 0x18); + local_98._0_8_ = (undefined **)0x0; + local_98.Data4[0] = '\0'; + local_98.Data4[1] = '\0'; + local_98.Data4[2] = '\0'; + local_98.Data4[3] = '\0'; + local_98.Data4[4] = '\0'; + local_98.Data4[5] = '\0'; + local_98.Data4[6] = '\0'; + local_98.Data4[7] = '\0'; + local_78._0_8_ = (undefined **)0x0; + local_78.Data4[0] = '\0'; + local_78.Data4[1] = '\0'; + local_78.Data4[2] = '\0'; + local_78.Data4[3] = '\0'; + local_78.Data4[4] = '\0'; + local_78.Data4[5] = '\0'; + local_78.Data4[6] = '\0'; + local_78.Data4[7] = '\0'; + uVar12 = FUN_140080600(param_2,(undefined8 *)&local_78,0x10); + if ((char)uVar12 != '\0') { + local_98.Data1 = local_78.Data1; + local_98.Data2 = local_78.Data2; + local_98.Data3 = local_78.Data3; + local_98.Data4[0] = local_78.Data4[0]; + local_98.Data4[1] = local_78.Data4[1]; + local_98.Data4[2] = local_78.Data4[2]; + local_98.Data4[3] = local_78.Data4[3]; + local_98.Data4[4] = local_78.Data4[4]; + local_98.Data4[5] = local_78.Data4[5]; + local_98.Data4[6] = local_78.Data4[6]; + local_98.Data4[7] = local_78.Data4[7]; + } + uVar12 = FUN_140080600(param_2,(undefined8 *)&local_420,1); + if ((char)uVar12 != '\0') { + local_448[0] = (byte)local_420.Data1; + } + uVar12 = FUN_140080600(param_2,(undefined8 *)&local_420,2); + if ((char)uVar12 != '\0') { + local_430._0_2_ = (undefined2)local_420.Data1; + } + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_140156078; + (**(code **)(*plVar19 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfbf6,PTR_DAT_140156078); + goto LAB_140068721; + } + } + else { + ppuVar16 = ppuVar28; + if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + local_420._0_8_ = PTR_DAT_140155010; + local_228 = local_3d0.Data1; + FUN_14009d840((longlong *)&local_420); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + local_220._0_1_ = local_438[0]; + local_220._1_1_ = local_438[1]; + local_220._2_1_ = local_438[2]; + local_220._3_1_ = local_438[3]; + FUN_14009d840((longlong *)&local_420); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + FUN_14009da80((longlong *)&local_420); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + FUN_14009d8a0((longlong *)&local_420); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + auVar6 = local_440; + local_288[0] = local_440[0]; + local_288[1] = local_440[1]; + local_288[2] = local_440[2]; + local_288[3] = local_440[3]; + local_440 = auVar6; + FUN_14009d840((longlong *)&local_420); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + FUN_14009da90((longlong *)&local_420,&local_98); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + FUN_14009d760((longlong *)&local_420,(char *)local_448); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + FUN_14009d7e0((longlong *)&local_420); + FUN_14001b850((longlong *)&local_420,(short *)&DAT_14011eebc); + iVar9 = 0; + if (((undefined **)local_420._0_8_ != (undefined **)0x0) && + ((undefined *)local_420._0_8_ != PTR_DAT_140155010)) { + iVar9 = *(int *)(local_420._0_8_ + -8); + } + uVar20 = (ulonglong)(iVar9 - 2U); + local_428 = (undefined ***) + FUN_14001ac70((longlong *)&local_420,(longlong *)&local_1e8,iVar9 - 2U); + ppuVar16 = (undefined **)local_420._0_8_; + if ((undefined **)local_420._0_8_ == (undefined **)0x0) { + ppuVar16 = (undefined **)PTR_DAT_140155010; + } + local_420._0_8_ = ppuVar16; + if (*local_428 != ppuVar16) { + ppuVar16 = (undefined **)FUN_140030200(ppuVar16,PTR_DAT_140155010,uVar20,param_4); + local_78._0_8_ = ppuVar16; + FUN_14002e6e0((int *)ppuVar16); + uVar12 = local_420._0_8_; + local_78.Data4[0] = '\x01'; + if ((((undefined **)local_420._0_8_ != (undefined **)0x0) && + ((undefined *)local_420._0_8_ != PTR_DAT_140155010)) && + (ppuVar15 = (undefined **)(local_420._0_8_ + -8), ppuVar15 != (undefined **)0x0)) { + ppuVar13 = (undefined **)FUN_140030200(local_420._0_8_,PTR_DAT_140155010,uVar20,param_4) + ; + local_348 = ppuVar13; + FUN_14002e6e0((int *)ppuVar13); + local_340 = (undefined *)CONCAT71(local_340._1_7_,1); + piVar2 = (int *)(uVar12 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppuVar15); + } + FUN_14002e770((longlong)ppuVar13); + } + local_420._0_8_ = *local_428; + if ((((undefined *)local_420._0_8_ != PTR_DAT_140155010) && + ((undefined **)local_420._0_8_ != (undefined **)0x0)) && + ((undefined **)local_420._0_8_ != (undefined **)0x8)) { + *(int *)(local_420._0_8_ + -4) = *(int *)(local_420._0_8_ + -4) + 1; + } + FUN_14002e770((longlong)ppuVar16); + } + if (((local_1e8 != (undefined *)0x0) && (local_1e8 != PTR_DAT_140155010)) && + (local_1e8 + -8 != (undefined *)0x0)) { + ppuVar16 = (undefined **)FUN_140030200(ppuVar16,PTR_DAT_140155010,uVar20,param_4); + local_78._0_8_ = ppuVar16; + FUN_14002e6e0((int *)ppuVar16); + local_78.Data4[0] = '\x01'; + piVar2 = (int *)(local_1e8 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(local_1e8 + -8); + } + FUN_14002e770((longlong)ppuVar16); + } + local_428 = &local_320; + puVar14 = PTR_DAT_140155010; + local_1e8 = PTR_DAT_140155010; + FUN_140030200(ppuVar16,PTR_DAT_140155010,uVar20,param_4); + local_320 = (undefined **)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_320 = ppuVar28; + } + if ((undefined *)local_420._0_8_ != PTR_DAT_140155010) { + ppuVar16 = (undefined **)FUN_140030200(ppuVar16,puVar14,uVar20,param_4); + local_78._0_8_ = ppuVar16; + FUN_14002e6e0((int *)ppuVar16); + local_78.Data4[0] = '\x01'; + FUN_140003240((longlong *)&local_320,puVar14,uVar20,param_4); + local_320 = (undefined **)local_420._0_8_; + if ((((undefined *)local_420._0_8_ != PTR_DAT_140155010) && + ((undefined **)local_420._0_8_ != (undefined **)0x0)) && + ((undefined **)local_420._0_8_ != (undefined **)0x8)) { + *(int *)(local_420._0_8_ + -4) = *(int *)(local_420._0_8_ + -4) + 1; + } + FUN_14002e770((longlong)ppuVar16); + } + puVar5 = PTR_DAT_140156078; + FUN_140030200(ppuVar16,puVar14,uVar20,param_4); + local_2a8 = PTR_DAT_140155010; + iVar9 = FUN_140030080((short *)puVar5); + puVar14 = FUN_140002f90((longlong *)&local_2a8,iVar9); + FUN_1400300b0(puVar14,puVar5,iVar9); + FUN_140003070((longlong *)&local_2a8); + (**(code **)(*param_1 + 0x28))(param_1,0xfbf6,&local_2a8,&local_320); + local_498 = (uchar [8])local_420._0_8_; + if ((undefined **)local_420._0_8_ == (undefined **)0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + plVar19 = (longlong *)param_1[2]; + uVar27 = 0xfbf6; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_140156078; + (**(code **)(*plVar19 + 0x70))(); + uVar12 = local_420._0_8_; + if ((((undefined **)local_420._0_8_ != (undefined **)0x0) && + ((undefined *)local_420._0_8_ != PTR_DAT_140155010)) && + (ppuVar16 = (undefined **)(local_420._0_8_ + -8), ppuVar16 != (undefined **)0x0)) { + ppuVar15 = (undefined **)FUN_140030200(plVar19,uVar20,uVar27,puVar14); + local_78._0_8_ = ppuVar15; + FUN_14002e6e0((int *)ppuVar15); + local_78.Data4[0] = '\x01'; + piVar2 = (int *)(uVar12 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppuVar16); + } + FUN_14002e770((longlong)ppuVar15); + } +LAB_140068721: + ppuVar16 = ppuVar28; + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_78.Data1 = 0xfbf6; + local_78.Data4 = (uchar [8])PTR_DAT_140156078; + local_68 = uVar3; + local_60 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_78); + DVar10 = GetTickCount(); + ppuVar16 = (undefined **)(ulonglong)DVar10; + } + } + } + local_468 = (UUID *)local_430; + local_470 = local_448; + local_478 = &local_98; + local_480 = (UUID *)local_440; + local_488 = (undefined ***)local_3d8; + local_490 = (UUID *)&local_400; + local_498 = (uchar [8])local_438; + cVar8 = (**(code **)(*param_1 + 0x40))(param_1,uVar3,local_3a8,&local_3d0); + if (cVar8 == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x40))((longlong *)param_1[2],PTR_DAT_140156078); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_218 = (undefined **)CONCAT44(local_218._4_4_,0xfbf6); + local_210 = PTR_DAT_140156078; + local_208 = (undefined **)CONCAT44(local_208._4_4_,uVar3); + local_200 = param_3; + DVar10 = GetTickCount(); + local_1f8 = CONCAT44(local_1f8._4_4_,DVar10 - (int)ppuVar16); + (**(code **)(*param_1 + 0x18))(param_1,&local_218); + } + uVar12 = FUN_14003b870(&local_400); + goto LAB_14006b2e3; + case 0xfbf7: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + FUN_140081090(param_2,(undefined4 *)local_440,SVar26,param_4); + uVar12 = FUN_140080600(param_2,(undefined8 *)&local_420,1); + if ((char)uVar12 != '\0') { + local_448[0] = (byte)local_420.Data1; + } + local_78._0_8_ = Proud::AddrPort::vftable; + local_78.Data4 = (uchar [8])((ulonglong)(ushort)local_78.Data4._6_2_ << 0x30); + uVar12 = FUN_140080600(param_2,(undefined8 *)local_438,4); + uVar23 = local_78.Data4._0_4_; + if ((char)uVar12 != '\0') { + uVar23 = local_438._0_4_; + } + local_78.Data4[0] = (uchar)uVar23; + local_78.Data4[1] = SUB41(uVar23,1); + local_78.Data4[2] = SUB41(uVar23,2); + local_78.Data4[3] = SUB41(uVar23,3); + uVar12 = FUN_140080600(param_2,(undefined8 *)local_430,2); + uVar21 = local_78.Data4._4_2_; + if ((char)uVar12 != '\0') { + uVar21 = local_430._0_2_; + } + local_78.Data4[4] = (uchar)uVar21; + local_78.Data4[5] = SUB21(uVar21,1); + local_348 = Proud::AddrPort::vftable; + local_340 = (undefined *)((ulonglong)local_340._6_2_ << 0x30); + uVar12 = FUN_140080600(param_2,(undefined8 *)local_438,4); + uVar23 = (undefined4)local_340; + if ((char)uVar12 != '\0') { + uVar23 = local_438._0_4_; + } + local_340 = (undefined *)CONCAT44(local_340._4_4_,uVar23); + uVar12 = FUN_140080600(param_2,(undefined8 *)local_430,2); + uVar21 = local_340._4_2_; + if ((char)uVar12 != '\0') { + uVar21 = local_430._0_2_; + } + local_340._0_6_ = CONCAT24(uVar21,(undefined4)local_340); + local_3d0._0_8_ = Proud::AddrPort::vftable; + local_3d0.Data4 = (uchar [8])((ulonglong)(ushort)local_3d0.Data4._6_2_ << 0x30); + uVar12 = FUN_140080600(param_2,(undefined8 *)local_438,4); + uVar23 = local_3d0.Data4._0_4_; + if ((char)uVar12 != '\0') { + uVar23 = local_438._0_4_; + } + local_3d0.Data4[0] = (uchar)uVar23; + local_3d0.Data4[1] = SUB41(uVar23,1); + local_3d0.Data4[2] = SUB41(uVar23,2); + local_3d0.Data4[3] = SUB41(uVar23,3); + uVar12 = FUN_140080600(param_2,(undefined8 *)local_430,2); + uVar21 = local_3d0.Data4._4_2_; + if ((char)uVar12 != '\0') { + uVar21 = local_430._0_2_; + } + local_3d0.Data4[4] = (uchar)uVar21; + local_3d0.Data4[5] = SUB21(uVar21,1); + local_98._0_8_ = Proud::AddrPort::vftable; + local_98.Data4 = (uchar [8])((ulonglong)(ushort)local_98.Data4._6_2_ << 0x30); + uVar12 = FUN_140080600(param_2,(undefined8 *)local_438,4); + uVar23 = local_98.Data4._0_4_; + if ((char)uVar12 != '\0') { + uVar23 = local_438._0_4_; + } + local_98.Data4[0] = (uchar)uVar23; + local_98.Data4[1] = SUB41(uVar23,1); + local_98.Data4[2] = SUB41(uVar23,2); + local_98.Data4[3] = SUB41(uVar23,3); + uVar12 = FUN_140080600(param_2,(undefined8 *)local_430,2); + uVar21 = local_98.Data4._4_2_; + if ((char)uVar12 != '\0') { + uVar21 = local_430._0_2_; + } + local_98.Data4[4] = (uchar)uVar21; + local_98.Data4[5] = SUB21(uVar21,1); + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_140156080; + (**(code **)(*plVar19 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfbf7,PTR_DAT_140156080); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + auVar6 = local_440; + local_438 = (uchar [8])PTR_DAT_140155010; + local_224[0] = local_440[0]; + local_224[1] = local_440[1]; + local_224[2] = local_440[2]; + local_224[3] = local_440[3]; + local_440 = auVar6; + FUN_14009d840((longlong *)local_438); + FUN_14001b850((longlong *)local_438,(short *)&DAT_14011eebc); + FUN_14009d760((longlong *)local_438,(char *)local_448); + FUN_14001b850((longlong *)local_438,(short *)&DAT_14011eebc); + plVar18 = (longlong *)(**(code **)local_78._0_8_)(&local_78,&local_428); + plVar19 = (longlong *)local_438; + FUN_14001b5a0(plVar19,plVar18); + pppuVar7 = local_428; + if (((local_428 != (undefined ***)0x0) && (local_428 != (undefined ***)PTR_DAT_140155010)) && + (pppuVar1 = local_428 + -1, pppuVar1 != (undefined ***)0x0)) { + ppuVar16 = (undefined **)FUN_140030200(plVar19,plVar18,puVar14,param_4); + local_420._0_8_ = ppuVar16; + FUN_14002e6e0((int *)ppuVar16); + local_420.Data4[0] = '\x01'; + piVar2 = (int *)((longlong)pppuVar7 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(pppuVar1); + } + FUN_14002e770((longlong)ppuVar16); + } + FUN_14001b850((longlong *)local_438,(short *)&DAT_14011eebc); + plVar18 = (longlong *)(*(code *)*local_348)(&local_348,&local_428); + plVar19 = (longlong *)local_438; + FUN_14001b5a0(plVar19,plVar18); + pppuVar7 = local_428; + if (((local_428 != (undefined ***)0x0) && (local_428 != (undefined ***)PTR_DAT_140155010)) && + (pppuVar1 = local_428 + -1, pppuVar1 != (undefined ***)0x0)) { + ppuVar16 = (undefined **)FUN_140030200(plVar19,plVar18,puVar14,param_4); + local_420._0_8_ = ppuVar16; + FUN_14002e6e0((int *)ppuVar16); + local_420.Data4[0] = '\x01'; + piVar2 = (int *)((longlong)pppuVar7 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(pppuVar1); + } + FUN_14002e770((longlong)ppuVar16); + } + FUN_14001b850((longlong *)local_438,(short *)&DAT_14011eebc); + plVar18 = (longlong *)(**(code **)local_3d0._0_8_)(&local_3d0,&local_428); + plVar19 = (longlong *)local_438; + FUN_14001b5a0(plVar19,plVar18); + if (((local_428 != (undefined ***)0x0) && (local_428 != (undefined ***)PTR_DAT_140155010)) && + (local_428 + -1 != (undefined ***)0x0)) { + ppuVar16 = (undefined **)FUN_140030200(plVar19,plVar18,puVar14,param_4); + local_420._0_8_ = ppuVar16; + FUN_14002e6e0((int *)ppuVar16); + local_420.Data4[0] = '\x01'; + piVar2 = (int *)((longlong)local_428 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(local_428 + -1); + } + FUN_14002e770((longlong)ppuVar16); + } + FUN_14001b850((longlong *)local_438,(short *)&DAT_14011eebc); + FUN_1400445a0((longlong *)local_438,(undefined8 *)&local_98,puVar14,param_4); + FUN_14001b850((longlong *)local_438,(short *)&DAT_14011eebc); + iVar9 = 0; + if ((local_438 != (uchar [8])0x0) && (iVar9 = 0, local_438 != (uchar [8])PTR_DAT_140155010)) + { + iVar9 = *(int *)((longlong)local_438 + -8); + } + uVar20 = (ulonglong)(iVar9 - 2U); + plVar18 = FUN_14001ac70((longlong *)local_438,&local_148,iVar9 - 2U); + FUN_140003170((longlong *)local_438,plVar18,uVar20,param_4); + plVar19 = &local_148; + FUN_140003240(plVar19,plVar18,uVar20,param_4); + local_428 = &local_230; + FUN_140030200(plVar19,plVar18,uVar20,param_4); + local_230 = (undefined **)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_230,(longlong *)local_438,uVar20,param_4); + plVar19 = FUN_1400030f0(&local_f8,(short *)PTR_DAT_140156080,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfbf7,plVar19,&local_230); + local_498 = local_438; + if (local_438 == (uchar [8])0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + uVar12 = 0xfbf7; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_140156080; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_438,uVar20,uVar12,puVar14); + } + DVar10 = 0; + if (((char)param_1[3] == '\0') && (DVar10 = 0, *(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_420.Data1 = 0xfbf7; + local_420.Data4 = (uchar [8])PTR_DAT_140156080; + local_410 = uVar3; + local_408 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_420); + DVar10 = GetTickCount(); + } + local_478 = &local_98; + local_480 = &local_3d0; + local_488 = &local_348; + local_490 = &local_78; + local_498 = (uchar [8])local_448; + uVar12 = (**(code **)(*param_1 + 0x48))(param_1,uVar3,local_3a8,local_440); + if ((char)uVar12 == '\0') { + uVar12 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_140156080); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006b2e3; + local_400 = (undefined **)CONCAT44(local_400._4_4_,0xfbf7); + local_3f8 = PTR_DAT_140156080; + break; + case 0xfbf8: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + FUN_140081090(param_2,(undefined4 *)local_440,SVar26,param_4); + local_78._0_8_ = Proud::AddrPort::vftable; + DVar10 = 0; + local_78.Data4 = (uchar [8])((ulonglong)(ushort)local_78.Data4._6_2_ << 0x30); + FUN_14003d780(param_2,(longlong)&local_78); + local_98._0_8_ = Proud::AddrPort::vftable; + local_98.Data4 = (uchar [8])((ulonglong)(ushort)local_98.Data4._6_2_ << 0x30); + FUN_14003d780(param_2,(longlong)&local_98); + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_140156088; + (**(code **)(*plVar19 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfbf8,PTR_DAT_140156088); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + auVar6 = local_440; + local_438 = (uchar [8])PTR_DAT_140155010; + local_21c[0] = local_440[0]; + local_21c[1] = local_440[1]; + local_21c[2] = local_440[2]; + local_21c[3] = local_440[3]; + local_440 = auVar6; + FUN_14009d840((longlong *)local_438); + FUN_14001b850((longlong *)local_438,(short *)&DAT_14011eebc); + FUN_1400445a0((longlong *)local_438,(undefined8 *)&local_78,puVar14,param_4); + FUN_14001b850((longlong *)local_438,(short *)&DAT_14011eebc); + FUN_1400445a0((longlong *)local_438,(undefined8 *)&local_98,puVar14,param_4); + FUN_14001b850((longlong *)local_438,(short *)&DAT_14011eebc); + iVar9 = 0; + if ((local_438 != (uchar [8])0x0) && (local_438 != (uchar [8])PTR_DAT_140155010)) { + iVar9 = *(int *)((longlong)local_438 + -8); + } + uVar20 = (ulonglong)(iVar9 - 2U); + plVar18 = FUN_14001ac70((longlong *)local_438,&local_138,iVar9 - 2U); + FUN_140003170((longlong *)local_438,plVar18,uVar20,param_4); + plVar19 = &local_138; + FUN_140003240(plVar19,plVar18,uVar20,param_4); + local_428 = &local_298; + FUN_140030200(plVar19,plVar18,uVar20,param_4); + local_298 = (undefined **)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_298,(longlong *)local_438,uVar20,param_4); + plVar19 = FUN_1400030f0(local_c8 + 2,(short *)PTR_DAT_140156088,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfbf8,plVar19,&local_298); + local_498 = local_438; + if (local_438 == (uchar [8])0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + uVar12 = 0xfbf8; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_140156088; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_438,uVar20,uVar12,puVar14); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_348 = (undefined **)CONCAT44(local_348._4_4_,0xfbf8); + local_340 = PTR_DAT_140156088; + local_338 = uVar3; + local_330 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_348); + DVar10 = GetTickCount(); + } + local_490 = &local_98; + local_498 = (uchar [8])&local_78; + uVar12 = (**(code **)(*param_1 + 0x50))(param_1,uVar3,local_3a8,local_440); + if ((char)uVar12 == '\0') { + uVar12 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_140156088); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006b2e3; + local_400 = (undefined **)CONCAT44(local_400._4_4_,0xfbf8); + local_3f8 = PTR_DAT_140156088; + break; + case 0xfbf9: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + FUN_140081090(param_2,(undefined4 *)local_438,SVar26,param_4); + uVar12 = FUN_140080600(param_2,(undefined8 *)&local_3d0,4); + uVar22 = local_328; + if ((char)uVar12 != '\0') { + uVar22 = local_3d0.Data1; + } + local_440[0] = (char)uVar22; + local_440[1] = (char)(uVar22 >> 8); + local_440[2] = (char)(uVar22 >> 0x10); + local_440[3] = (char)(uVar22 >> 0x18); + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_140156090; + (**(code **)(*plVar19 + 0x48))(); + DVar10 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfbf9,PTR_DAT_140156090); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + auVar6 = local_438; + local_3d0._0_8_ = PTR_DAT_140155010; + local_2f8._0_1_ = local_438[0]; + local_2f8._1_1_ = local_438[1]; + local_2f8._2_1_ = local_438[2]; + local_2f8._3_1_ = local_438[3]; + local_438 = auVar6; + FUN_14009d840((longlong *)&local_3d0); + FUN_14001b850((longlong *)&local_3d0,(short *)&DAT_14011eebc); + psVar17 = (short *)FUN_14003beb0(local_440._0_4_); + FUN_14001b850((longlong *)&local_3d0,psVar17); + FUN_14001b850((longlong *)&local_3d0,(short *)&DAT_14011eebc); + iVar9 = 0; + if (((uchar [8])local_3d0._0_8_ != (uchar [8])0x0) && + ((undefined *)local_3d0._0_8_ != PTR_DAT_140155010)) { + iVar9 = *(int *)(local_3d0._0_8_ + -8); + } + uVar20 = (ulonglong)(iVar9 - 2U); + plVar18 = FUN_14001ac70((longlong *)&local_3d0,&local_140,iVar9 - 2U); + FUN_140003170((longlong *)&local_3d0,plVar18,uVar20,param_4); + plVar19 = &local_140; + FUN_140003240(plVar19,plVar18,uVar20,param_4); + local_428 = &local_248; + FUN_140030200(plVar19,plVar18,uVar20,param_4); + local_248 = (undefined **)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_248,(longlong *)&local_3d0,uVar20,param_4); + plVar19 = FUN_1400030f0(local_a8,(short *)PTR_DAT_140156090,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfbf9,plVar19,&local_248); + local_498 = (uchar [8])local_3d0._0_8_; + if ((uchar [8])local_3d0._0_8_ == (uchar [8])0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + uVar12 = 0xfbf9; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_140156090; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_3d0,uVar20,uVar12,puVar14); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_98.Data1 = 0xfbf9; + local_98.Data4 = (uchar [8])PTR_DAT_140156090; + local_88 = uVar3; + local_80 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_98); + DVar10 = GetTickCount(); + } + local_498 = (uchar [8])local_440; + uVar12 = (**(code **)(*param_1 + 0x58))(param_1,uVar3,local_3a8,local_438); + if ((char)uVar12 == '\0') { + uVar12 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_140156090); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006b2e3; + local_400 = (undefined **)CONCAT44(local_400._4_4_,0xfbf9); + local_3f8 = PTR_DAT_140156090; + break; + case 0xfbfa: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + FUN_140081090(param_2,(undefined4 *)local_438,SVar26,param_4); + FUN_140081090(param_2,(undefined4 *)local_440,SVar26,param_4); + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_140156098; + (**(code **)(*plVar19 + 0x48))(); + DVar10 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfbfa,PTR_DAT_140156098); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + auVar6 = local_438; + local_3d0._0_8_ = PTR_DAT_140155010; + local_278._0_1_ = local_438[0]; + local_278._1_1_ = local_438[1]; + local_278._2_1_ = local_438[2]; + local_278._3_1_ = local_438[3]; + local_438 = auVar6; + FUN_14009d840((longlong *)&local_3d0); + FUN_14001b850((longlong *)&local_3d0,(short *)&DAT_14011eebc); + auVar6 = local_440; + local_2e8[0] = local_440[0]; + local_2e8[1] = local_440[1]; + local_2e8[2] = local_440[2]; + local_2e8[3] = local_440[3]; + local_440 = auVar6; + FUN_14009d840((longlong *)&local_3d0); + FUN_14001b850((longlong *)&local_3d0,(short *)&DAT_14011eebc); + iVar9 = 0; + if (((uchar [8])local_3d0._0_8_ != (uchar [8])0x0) && + ((undefined *)local_3d0._0_8_ != PTR_DAT_140155010)) { + iVar9 = *(int *)(local_3d0._0_8_ + -8); + } + uVar20 = (ulonglong)(iVar9 - 2U); + plVar18 = FUN_14001ac70((longlong *)&local_3d0,&local_178,iVar9 - 2U); + FUN_140003170((longlong *)&local_3d0,plVar18,uVar20,param_4); + plVar19 = &local_178; + FUN_140003240(plVar19,plVar18,uVar20,param_4); + local_428 = &local_310; + FUN_140030200(plVar19,plVar18,uVar20,param_4); + local_310 = (undefined **)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_310,(longlong *)&local_3d0,uVar20,param_4); + plVar19 = FUN_1400030f0(&local_b0,(short *)PTR_DAT_140156098,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfbfa,plVar19,&local_310); + local_498 = (uchar [8])local_3d0._0_8_; + if ((uchar [8])local_3d0._0_8_ == (uchar [8])0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + uVar12 = 0xfbfa; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_140156098; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_3d0,uVar20,uVar12,puVar14); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_98.Data1 = 0xfbfa; + local_98.Data4 = (uchar [8])PTR_DAT_140156098; + local_88 = uVar3; + local_80 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_98); + DVar10 = GetTickCount(); + } + local_498 = (uchar [8])local_440; + uVar12 = (**(code **)(*param_1 + 0x60))(param_1,uVar3,local_3a8,local_438); + if ((char)uVar12 == '\0') { + uVar12 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_140156098); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006b2e3; + local_400 = (undefined **)CONCAT44(local_400._4_4_,0xfbfa); + local_3f8 = PTR_DAT_140156098; + break; + case 0xfbfb: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + FUN_140081090(param_2,(undefined4 *)local_438,SVar26,param_4); + FUN_140081090(param_2,(undefined4 *)local_440,SVar26,param_4); + local_420._0_8_ = Proud::AddrPort::vftable; + DVar10 = 0; + local_420.Data4 = (uchar [8])((ulonglong)(ushort)local_420.Data4._6_2_ << 0x30); + FUN_14003d780(param_2,(longlong)&local_420); + local_348 = Proud::AddrPort::vftable; + local_340 = (undefined *)((ulonglong)local_340._6_2_ << 0x30); + FUN_14003d780(param_2,(longlong)&local_348); + local_78._0_8_ = Proud::AddrPort::vftable; + local_78.Data4 = (uchar [8])((ulonglong)(ushort)local_78.Data4._6_2_ << 0x30); + FUN_14003d780(param_2,(longlong)&local_78); + local_98._0_8_ = Proud::AddrPort::vftable; + local_98.Data4 = (uchar [8])((ulonglong)(ushort)local_98.Data4._6_2_ << 0x30); + FUN_14003d780(param_2,(longlong)&local_98); + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_1401560a0; + (**(code **)(*plVar19 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfbfb,PTR_DAT_1401560a0); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + auVar6 = local_438; + local_3d0._0_8_ = PTR_DAT_140155010; + local_23c._0_1_ = local_438[0]; + local_23c._1_1_ = local_438[1]; + local_23c._2_1_ = local_438[2]; + local_23c._3_1_ = local_438[3]; + local_438 = auVar6; + FUN_14009d840((longlong *)&local_3d0); + FUN_14001b850((longlong *)&local_3d0,(short *)&DAT_14011eebc); + auVar6 = local_440; + local_2d8[0] = local_440[0]; + local_2d8[1] = local_440[1]; + local_2d8[2] = local_440[2]; + local_2d8[3] = local_440[3]; + local_440 = auVar6; + FUN_14009d840((longlong *)&local_3d0); + FUN_14001b850((longlong *)&local_3d0,(short *)&DAT_14011eebc); + FUN_1400445a0((longlong *)&local_3d0,(undefined8 *)&local_420,puVar14,param_4); + FUN_14001b850((longlong *)&local_3d0,(short *)&DAT_14011eebc); + FUN_1400445a0((longlong *)&local_3d0,&local_348,puVar14,param_4); + FUN_14001b850((longlong *)&local_3d0,(short *)&DAT_14011eebc); + FUN_1400445a0((longlong *)&local_3d0,(undefined8 *)&local_78,puVar14,param_4); + FUN_14001b850((longlong *)&local_3d0,(short *)&DAT_14011eebc); + FUN_1400445a0((longlong *)&local_3d0,(undefined8 *)&local_98,puVar14,param_4); + FUN_14001b850((longlong *)&local_3d0,(short *)&DAT_14011eebc); + iVar9 = 0; + if (((uchar [8])local_3d0._0_8_ != (uchar [8])0x0) && + ((undefined *)local_3d0._0_8_ != PTR_DAT_140155010)) { + iVar9 = *(int *)(local_3d0._0_8_ + -8); + } + uVar20 = (ulonglong)(iVar9 - 2U); + plVar18 = FUN_14001ac70((longlong *)&local_3d0,&local_168,iVar9 - 2U); + FUN_140003170((longlong *)&local_3d0,plVar18,uVar20,param_4); + plVar19 = &local_168; + FUN_140003240(plVar19,plVar18,uVar20,param_4); + local_428 = &local_308; + FUN_140030200(plVar19,plVar18,uVar20,param_4); + local_308 = (undefined **)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_308,(longlong *)&local_3d0,uVar20,param_4); + plVar19 = FUN_1400030f0(&local_130,(short *)PTR_DAT_1401560a0,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfbfb,plVar19,&local_308); + local_498 = (uchar [8])local_3d0._0_8_; + if ((uchar [8])local_3d0._0_8_ == (uchar [8])0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + uVar12 = 0xfbfb; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_1401560a0; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)&local_3d0,uVar20,uVar12,puVar14); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_3d0.Data1 = 0xfbfb; + local_3d0.Data4 = (uchar [8])PTR_DAT_1401560a0; + local_3c0 = uVar3; + local_3b8 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_3d0); + DVar10 = GetTickCount(); + } + local_478 = &local_98; + local_480 = &local_78; + local_488 = &local_348; + local_490 = &local_420; + local_498 = (uchar [8])local_440; + uVar12 = (**(code **)(*param_1 + 0x68))(param_1,uVar3,local_3a8,local_438); + if ((char)uVar12 == '\0') { + uVar12 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_1401560a0); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006b2e3; + local_400 = (undefined **)CONCAT44(local_400._4_4_,0xfbfb); + local_3f8 = PTR_DAT_1401560a0; + break; + case 0xfbfc: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_1401560a8; + (**(code **)(*plVar19 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfbfc,PTR_DAT_1401560a8); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + local_440 = (uchar [8])PTR_DAT_140155010; + uVar12 = 0xfffffffe; + plVar18 = FUN_14001ac70((longlong *)local_440,&local_158,0xfffffffe); + FUN_140003170((longlong *)local_440,plVar18,uVar12,param_4); + plVar19 = &local_158; + FUN_140003240(plVar19,plVar18,uVar12,param_4); + local_428 = &local_300; + FUN_140030200(plVar19,plVar18,uVar12,param_4); + local_300 = (undefined **)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_300,(longlong *)local_440,uVar12,param_4); + plVar19 = FUN_1400030f0(&local_120,(short *)PTR_DAT_1401560a8,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfbfc,plVar19,&local_300); + local_498 = local_440; + if (local_440 == (uchar [8])0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + uVar12 = 0xfbfc; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_1401560a8; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_440,uVar20,uVar12,puVar14); + } + DVar10 = 0; + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_98.Data1 = 0xfbfc; + local_98.Data4 = (uchar [8])PTR_DAT_1401560a8; + local_88 = uVar3; + local_80 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_98); + DVar10 = GetTickCount(); + } + uVar12 = (**(code **)(*param_1 + 0x70))(param_1,uVar3,local_3a8); + if ((char)uVar12 == '\0') { + uVar12 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_1401560a8); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006b2e3; + local_400 = (undefined **)CONCAT44(local_400._4_4_,0xfbfc); + local_3f8 = PTR_DAT_1401560a8; + break; + case 0xfbfd: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_1401560b0; + (**(code **)(*plVar19 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfbfd,PTR_DAT_1401560b0); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + local_440 = (uchar [8])PTR_DAT_140155010; + uVar12 = 0xfffffffe; + plVar18 = FUN_14001ac70((longlong *)local_440,&local_170,0xfffffffe); + FUN_140003170((longlong *)local_440,plVar18,uVar12,param_4); + plVar19 = &local_170; + FUN_140003240(plVar19,plVar18,uVar12,param_4); + local_428 = &local_2f0; + FUN_140030200(plVar19,plVar18,uVar12,param_4); + local_2f0 = (undefined **)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_2f0,(longlong *)local_440,uVar12,param_4); + plVar19 = FUN_1400030f0(&local_d8,(short *)PTR_DAT_1401560b0,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfbfd,plVar19,&local_2f0); + local_498 = local_440; + if (local_440 == (uchar [8])0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + uVar12 = 0xfbfd; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_1401560b0; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_440,uVar20,uVar12,puVar14); + } + DVar10 = 0; + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_98.Data1 = 0xfbfd; + local_98.Data4 = (uchar [8])PTR_DAT_1401560b0; + local_88 = uVar3; + local_80 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_98); + DVar10 = GetTickCount(); + } + uVar12 = (**(code **)(*param_1 + 0x78))(param_1,uVar3,local_3a8); + if ((char)uVar12 == '\0') { + uVar12 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_1401560b0); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006b2e3; + local_400 = (undefined **)CONCAT44(local_400._4_4_,0xfbfd); + local_3f8 = PTR_DAT_1401560b0; + break; + case 0xfbfe: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_1401560b8; + (**(code **)(*plVar19 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfbfe,PTR_DAT_1401560b8); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + local_440 = (uchar [8])PTR_DAT_140155010; + uVar12 = 0xfffffffe; + plVar18 = FUN_14001ac70((longlong *)local_440,&local_1a0,0xfffffffe); + FUN_140003170((longlong *)local_440,plVar18,uVar12,param_4); + plVar19 = &local_1a0; + FUN_140003240(plVar19,plVar18,uVar12,param_4); + local_428 = &local_2e0; + FUN_140030200(plVar19,plVar18,uVar12,param_4); + local_2e0 = (undefined **)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_2e0,(longlong *)local_440,uVar12,param_4); + plVar19 = FUN_1400030f0(&local_110,(short *)PTR_DAT_1401560b8,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfbfe,plVar19,&local_2e0); + local_498 = local_440; + if (local_440 == (uchar [8])0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + uVar12 = 0xfbfe; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_1401560b8; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_440,uVar20,uVar12,puVar14); + } + DVar10 = 0; + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_98.Data1 = 0xfbfe; + local_98.Data4 = (uchar [8])PTR_DAT_1401560b8; + local_88 = uVar3; + local_80 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_98); + DVar10 = GetTickCount(); + } + uVar12 = (**(code **)(*param_1 + 0x80))(param_1,uVar3,local_3a8); + if ((char)uVar12 == '\0') { + uVar12 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_1401560b8); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006b2e3; + local_400 = (undefined **)CONCAT44(local_400._4_4_,0xfbfe); + local_3f8 = PTR_DAT_1401560b8; + break; + case 0xfbff: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_1401560c0; + (**(code **)(*plVar19 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfbff,PTR_DAT_1401560c0); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + local_440 = (uchar [8])PTR_DAT_140155010; + uVar12 = 0xfffffffe; + plVar18 = FUN_14001ac70((longlong *)local_440,&local_150,0xfffffffe); + FUN_140003170((longlong *)local_440,plVar18,uVar12,param_4); + plVar19 = &local_150; + FUN_140003240(plVar19,plVar18,uVar12,param_4); + local_428 = &local_2d0; + FUN_140030200(plVar19,plVar18,uVar12,param_4); + local_2d0 = (undefined **)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_2d0,(longlong *)local_440,uVar12,param_4); + plVar19 = FUN_1400030f0(&local_d0,(short *)PTR_DAT_1401560c0,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfbff,plVar19,&local_2d0); + local_498 = local_440; + if (local_440 == (uchar [8])0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + uVar12 = 0xfbff; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_1401560c0; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_440,uVar20,uVar12,puVar14); + } + DVar10 = 0; + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_98.Data1 = 0xfbff; + local_98.Data4 = (uchar [8])PTR_DAT_1401560c0; + local_88 = uVar3; + local_80 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_98); + DVar10 = GetTickCount(); + } + uVar12 = (**(code **)(*param_1 + 0x88))(param_1,uVar3,local_3a8); + if ((char)uVar12 == '\0') { + uVar12 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_1401560c0); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006b2e3; + local_400 = (undefined **)CONCAT44(local_400._4_4_,0xfbff); + local_3f8 = PTR_DAT_1401560c0; + break; + case 0xfc00: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + uVar12 = FUN_140080600(param_2,(undefined8 *)&local_420,1); + if ((char)uVar12 != '\0') { + local_448[0] = (byte)local_420.Data1; + } + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_1401560c8; + (**(code **)(*plVar19 + 0x48))(); + DVar10 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfc00,PTR_DAT_1401560c8); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + local_440 = (uchar [8])PTR_DAT_140155010; + FUN_14009d760((longlong *)local_440,(char *)local_448); + FUN_14001b850((longlong *)local_440,(short *)&DAT_14011eebc); + iVar9 = 0; + if ((local_440 != (uchar [8])0x0) && (local_440 != (uchar [8])PTR_DAT_140155010)) { + iVar9 = *(int *)((longlong)local_440 + -8); + } + uVar20 = (ulonglong)(iVar9 - 2U); + plVar18 = FUN_14001ac70((longlong *)local_440,&local_190,iVar9 - 2U); + FUN_140003170((longlong *)local_440,plVar18,uVar20,param_4); + plVar19 = &local_190; + FUN_140003240(plVar19,plVar18,uVar20,param_4); + local_428 = &local_2c0; + FUN_140030200(plVar19,plVar18,uVar20,param_4); + local_2c0 = (undefined **)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_2c0,(longlong *)local_440,uVar20,param_4); + plVar19 = FUN_1400030f0(&local_100,(short *)PTR_DAT_1401560c8,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfc00,plVar19,&local_2c0); + local_498 = local_440; + if (local_440 == (uchar [8])0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + uVar12 = 0xfc00; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_1401560c8; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_440,uVar20,uVar12,puVar14); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_98.Data1 = 0xfc00; + local_98.Data4 = (uchar [8])PTR_DAT_1401560c8; + local_88 = uVar3; + local_80 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_98); + DVar10 = GetTickCount(); + } + uVar12 = (**(code **)(*param_1 + 0x90))(param_1,uVar3,local_3a8,local_448); + if ((char)uVar12 == '\0') { + uVar12 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_1401560c8); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006b2e3; + local_400 = (undefined **)CONCAT44(local_400._4_4_,0xfc00); + local_3f8 = PTR_DAT_1401560c8; + break; + case 0xfc01: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_1401560d0; + (**(code **)(*plVar19 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfc01,PTR_DAT_1401560d0); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + local_440 = (uchar [8])PTR_DAT_140155010; + uVar12 = 0xfffffffe; + plVar18 = FUN_14001ac70((longlong *)local_440,&local_160,0xfffffffe); + FUN_140003170((longlong *)local_440,plVar18,uVar12,param_4); + plVar19 = &local_160; + FUN_140003240(plVar19,plVar18,uVar12,param_4); + local_428 = &local_2b0; + FUN_140030200(plVar19,plVar18,uVar12,param_4); + local_2b0 = (undefined **)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_2b0,(longlong *)local_440,uVar12,param_4); + plVar19 = FUN_1400030f0(local_c8,(short *)PTR_DAT_1401560d0,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfc01,plVar19,&local_2b0); + local_498 = local_440; + if (local_440 == (uchar [8])0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + uVar12 = 0xfc01; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_1401560d0; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_440,uVar20,uVar12,puVar14); + } + DVar10 = 0; + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_98.Data1 = 0xfc01; + local_98.Data4 = (uchar [8])PTR_DAT_1401560d0; + local_88 = uVar3; + local_80 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_98); + DVar10 = GetTickCount(); + } + uVar12 = (**(code **)(*param_1 + 0x98))(param_1,uVar3,local_3a8); + if ((char)uVar12 == '\0') { + uVar12 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_1401560d0); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006b2e3; + local_400 = (undefined **)CONCAT44(local_400._4_4_,0xfc01); + local_3f8 = PTR_DAT_1401560d0; + break; + case 0xfc02: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_1401560d8; + (**(code **)(*plVar19 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfc02,PTR_DAT_1401560d8); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + local_440 = (uchar [8])PTR_DAT_140155010; + uVar12 = 0xfffffffe; + plVar18 = FUN_14001ac70((longlong *)local_440,&local_180,0xfffffffe); + FUN_140003170((longlong *)local_440,plVar18,uVar12,param_4); + plVar19 = &local_180; + FUN_140003240(plVar19,plVar18,uVar12,param_4); + local_428 = &local_2a0; + FUN_140030200(plVar19,plVar18,uVar12,param_4); + local_2a0 = (undefined **)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_2a0,(longlong *)local_440,uVar12,param_4); + plVar19 = FUN_1400030f0(&local_f0,(short *)PTR_DAT_1401560d8,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfc02,plVar19,&local_2a0); + local_498 = local_440; + if (local_440 == (uchar [8])0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + uVar12 = 0xfc02; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_1401560d8; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_440,uVar20,uVar12,puVar14); + } + DVar10 = 0; + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_98.Data1 = 0xfc02; + local_98.Data4 = (uchar [8])PTR_DAT_1401560d8; + local_88 = uVar3; + local_80 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_98); + DVar10 = GetTickCount(); + } + uVar12 = (**(code **)(*param_1 + 0xa0))(param_1,uVar3,local_3a8); + if ((char)uVar12 == '\0') { + uVar12 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_1401560d8); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006b2e3; + local_400 = (undefined **)CONCAT44(local_400._4_4_,0xfc02); + local_3f8 = PTR_DAT_1401560d8; + break; + case 0xfc03: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + FUN_140081090(param_2,(undefined4 *)local_440,SVar26,param_4); + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_1401560e0; + (**(code **)(*plVar19 + 0x48))(); + DVar10 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfc03,PTR_DAT_1401560e0); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + auVar6 = local_440; + local_438 = (uchar [8])PTR_DAT_140155010; + local_268[0] = local_440[0]; + local_268[1] = local_440[1]; + local_268[2] = local_440[2]; + local_268[3] = local_440[3]; + local_440 = auVar6; + FUN_14009d840((longlong *)local_438); + FUN_14001b850((longlong *)local_438,(short *)&DAT_14011eebc); + iVar9 = 0; + if ((local_438 != (uchar [8])0x0) && (local_438 != (uchar [8])PTR_DAT_140155010)) { + iVar9 = *(int *)((longlong)local_438 + -8); + } + uVar20 = (ulonglong)(iVar9 - 2U); + plVar18 = FUN_14001ac70((longlong *)local_438,&local_1b8,iVar9 - 2U); + FUN_140003170((longlong *)local_438,plVar18,uVar20,param_4); + plVar19 = &local_1b8; + FUN_140003240(plVar19,plVar18,uVar20,param_4); + local_428 = &local_290; + FUN_140030200(plVar19,plVar18,uVar20,param_4); + local_290 = (undefined **)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_290,(longlong *)local_438,uVar20,param_4); + plVar19 = FUN_1400030f0(&local_e8,(short *)PTR_DAT_1401560e0,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfc03,plVar19,&local_290); + local_498 = local_438; + if (local_438 == (uchar [8])0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + uVar12 = 0xfc03; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_1401560e0; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_438,uVar20,uVar12,puVar14); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_98.Data1 = 0xfc03; + local_98.Data4 = (uchar [8])PTR_DAT_1401560e0; + local_88 = uVar3; + local_80 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_98); + DVar10 = GetTickCount(); + } + uVar12 = (**(code **)(*param_1 + 0xa8))(param_1,uVar3,local_3a8,local_440); + if ((char)uVar12 == '\0') { + uVar12 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_1401560e0); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006b2e3; + local_400 = (undefined **)CONCAT44(local_400._4_4_,0xfc03); + local_3f8 = PTR_DAT_1401560e0; + break; + case 0xfc04: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + FUN_140081090(param_2,(undefined4 *)local_440,SVar26,param_4); + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_1401560e8; + (**(code **)(*plVar19 + 0x48))(); + DVar10 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfc04,PTR_DAT_1401560e8); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + auVar6 = local_440; + local_438 = (uchar [8])PTR_DAT_140155010; + local_328._0_1_ = local_440[0]; + local_328._1_1_ = local_440[1]; + local_328._2_1_ = local_440[2]; + local_328._3_1_ = local_440[3]; + local_440 = auVar6; + FUN_14009d840((longlong *)local_438); + FUN_14001b850((longlong *)local_438,(short *)&DAT_14011eebc); + iVar9 = 0; + if ((local_438 != (uchar [8])0x0) && (local_438 != (uchar [8])PTR_DAT_140155010)) { + iVar9 = *(int *)((longlong)local_438 + -8); + } + uVar20 = (ulonglong)(iVar9 - 2U); + plVar18 = FUN_14001ac70((longlong *)local_438,&local_1b0,iVar9 - 2U); + FUN_140003170((longlong *)local_438,plVar18,uVar20,param_4); + plVar19 = &local_1b0; + FUN_140003240(plVar19,plVar18,uVar20,param_4); + local_428 = &local_280; + FUN_140030200(plVar19,plVar18,uVar20,param_4); + local_280 = (undefined **)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_280,(longlong *)local_438,uVar20,param_4); + plVar19 = FUN_1400030f0(&local_e0,(short *)PTR_DAT_1401560e8,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfc04,plVar19,&local_280); + local_498 = local_438; + if (local_438 == (uchar [8])0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + uVar12 = 0xfc04; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_1401560e8; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_438,uVar20,uVar12,puVar14); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_98.Data1 = 0xfc04; + local_98.Data4 = (uchar [8])PTR_DAT_1401560e8; + local_88 = uVar3; + local_80 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_98); + DVar10 = GetTickCount(); + } + uVar12 = (**(code **)(*param_1 + 0xb0))(param_1,uVar3,local_3a8,local_440); + if ((char)uVar12 == '\0') { + uVar12 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_1401560e8); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006b2e3; + local_400 = (undefined **)CONCAT44(local_400._4_4_,0xfc04); + local_3f8 = PTR_DAT_1401560e8; + break; + case 0xfc05: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + uVar12 = FUN_140080600(param_2,(undefined8 *)&local_420,1); + if ((char)uVar12 != '\0') { + local_448[0] = (byte)local_420.Data1; + } + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_1401560f0; + (**(code **)(*plVar19 + 0x48))(); + DVar10 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfc05,PTR_DAT_1401560f0); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + local_440 = (uchar [8])PTR_DAT_140155010; + FUN_14009d760((longlong *)local_440,(char *)local_448); + FUN_14001b850((longlong *)local_440,(short *)&DAT_14011eebc); + iVar9 = 0; + if ((local_440 != (uchar [8])0x0) && (local_440 != (uchar [8])PTR_DAT_140155010)) { + iVar9 = *(int *)((longlong)local_440 + -8); + } + uVar20 = (ulonglong)(iVar9 - 2U); + plVar18 = FUN_14001ac70((longlong *)local_440,&local_1a8,iVar9 - 2U); + FUN_140003170((longlong *)local_440,plVar18,uVar20,param_4); + plVar19 = &local_1a8; + FUN_140003240(plVar19,plVar18,uVar20,param_4); + local_428 = &local_270; + FUN_140030200(plVar19,plVar18,uVar20,param_4); + local_270 = (undefined **)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_270,(longlong *)local_440,uVar20,param_4); + plVar19 = FUN_1400030f0(&local_128,(short *)PTR_DAT_1401560f0,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfc05,plVar19,&local_270); + local_498 = local_440; + if (local_440 == (uchar [8])0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + uVar12 = 0xfc05; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_1401560f0; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_440,uVar20,uVar12,puVar14); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_98.Data1 = 0xfc05; + local_98.Data4 = (uchar [8])PTR_DAT_1401560f0; + local_88 = uVar3; + local_80 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_98); + DVar10 = GetTickCount(); + } + uVar12 = (**(code **)(*param_1 + 0xb8))(param_1,uVar3,local_3a8,local_448); + if ((char)uVar12 == '\0') { + uVar12 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_1401560f0); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006b2e3; + local_400 = (undefined **)CONCAT44(local_400._4_4_,0xfc05); + local_3f8 = PTR_DAT_1401560f0; + break; + case 0xfc06: + puVar24 = local_3a8; + FUN_14003b570(puVar24); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + FUN_140030200(puVar24,pIVar25,SVar26,param_4); + local_98._0_8_ = PTR_DAT_140155008; + FUN_14009d590(param_2,(LPCWSTR)&local_98,SVar26,param_4); + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_1401560f8; + (**(code **)(*plVar19 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfc06,PTR_DAT_1401560f8); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + local_440 = (uchar [8])PTR_DAT_140155010; + FUN_1400677c0((longlong *)local_440,(longlong *)&local_98,puVar14,param_4); + FUN_14001b850((longlong *)local_440,(short *)&DAT_14011eebc); + iVar9 = 0; + if ((local_440 != (uchar [8])0x0) && (local_440 != (uchar [8])PTR_DAT_140155010)) { + iVar9 = *(int *)((longlong)local_440 + -8); + } + uVar20 = (ulonglong)(iVar9 - 2U); + plVar18 = FUN_14001ac70((longlong *)local_440,&local_198,iVar9 - 2U); + FUN_140003170((longlong *)local_440,plVar18,uVar20,param_4); + plVar19 = &local_198; + FUN_140003240(plVar19,plVar18,uVar20,param_4); + local_428 = &local_260; + FUN_140030200(plVar19,plVar18,uVar20,param_4); + local_260 = (undefined **)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_260,(longlong *)local_440,uVar20,param_4); + plVar19 = FUN_1400030f0(&local_118,(short *)PTR_DAT_1401560f8,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfc06,plVar19,&local_260); + local_498 = local_440; + if (local_440 == (uchar [8])0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + uVar12 = 0xfc06; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_1401560f8; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_440,uVar20,uVar12,puVar14); + } + DVar10 = 0; + if (((char)param_1[3] == '\0') && (DVar10 = 0, *(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_78.Data1 = 0xfc06; + local_78.Data4 = (uchar [8])PTR_DAT_1401560f8; + local_68 = uVar3; + local_60 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_78); + DVar10 = GetTickCount(); + } + cVar8 = (**(code **)(*param_1 + 0xc0))(param_1,uVar3,local_3a8,&local_98); + if (cVar8 == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x40))((longlong *)param_1[2],PTR_DAT_1401560f8); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_400 = (undefined **)CONCAT44(local_400._4_4_,0xfc06); + local_3f8 = PTR_DAT_1401560f8; + local_3f0 = (undefined **)CONCAT44(local_3f0._4_4_,uVar3); + local_3e8 = param_3; + DVar11 = GetTickCount(); + local_3e0 = CONCAT44(local_3e0._4_4_,DVar11 - DVar10); + (**(code **)(*param_1 + 0x18))(param_1,&local_400); + } + goto LAB_14006b2d7; + case 0xfc07: + FUN_14003b570(local_3a8); + local_3a4 = param_2[10]; + local_3a8[0] = (undefined1)param_2[0x10]; + uVar27 = 1; + uVar12 = FUN_140080600(param_2,(undefined8 *)&local_420,1); + if ((char)uVar12 != '\0') { + local_448[0] = (byte)local_420.Data1; + } + FUN_140030200(local_420._0_8_ & 0xff,(ulonglong)local_448[0],uVar27,param_4); + local_98._0_8_ = PTR_DAT_140155008; + FUN_14009d590(param_2,(LPCWSTR)&local_98,uVar27,param_4); + plVar19 = (longlong *)param_1[2]; + puVar14 = PTR_DAT_140156100; + (**(code **)(*plVar19 + 0x48))(); + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + local_498 = (uchar [8])&DAT_14011e014; + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar3,0xfc07,PTR_DAT_140156100); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar19,param_2,puVar14,param_4); + local_440 = (uchar [8])PTR_DAT_140155010; + FUN_14009d760((longlong *)local_440,(char *)local_448); + FUN_14001b850((longlong *)local_440,(short *)&DAT_14011eebc); + FUN_1400677c0((longlong *)local_440,(longlong *)&local_98,puVar14,param_4); + FUN_14001b850((longlong *)local_440,(short *)&DAT_14011eebc); + iVar9 = 0; + if ((local_440 != (uchar [8])0x0) && (local_440 != (uchar [8])PTR_DAT_140155010)) { + iVar9 = *(int *)((longlong)local_440 + -8); + } + uVar20 = (ulonglong)(iVar9 - 2U); + plVar18 = FUN_14001ac70((longlong *)local_440,&local_188,iVar9 - 2U); + FUN_140003170((longlong *)local_440,plVar18,uVar20,param_4); + plVar19 = &local_188; + FUN_140003240(plVar19,plVar18,uVar20,param_4); + local_428 = &local_250; + FUN_140030200(plVar19,plVar18,uVar20,param_4); + local_250 = (undefined **)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_250,(longlong *)local_440,uVar20,param_4); + plVar19 = FUN_1400030f0(&local_108,(short *)PTR_DAT_140156100,0,param_4); + (**(code **)(*param_1 + 0x28))(param_1,0xfc07,plVar19,&local_250); + local_498 = local_440; + if (local_440 == (uchar [8])0x0) { + local_498 = (uchar [8])PTR_DAT_140155010; + } + uVar12 = 0xfc07; + uVar20 = (ulonglong)uVar3; + puVar14 = PTR_DAT_140156100; + (**(code **)(*(longlong *)param_1[2] + 0x70))(); + FUN_140003240((longlong *)local_440,uVar20,uVar12,puVar14); + } + DVar10 = 0; + if (((char)param_1[3] == '\0') && (DVar10 = 0, *(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_78.Data1 = 0xfc07; + local_78.Data4 = (uchar [8])PTR_DAT_140156100; + local_68 = uVar3; + local_60 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_78); + DVar10 = GetTickCount(); + } + local_498 = (uchar [8])&local_98; + cVar8 = (**(code **)(*param_1 + 200))(param_1,uVar3,local_3a8,local_448); + if (cVar8 == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x40))((longlong *)param_1[2],PTR_DAT_140156100); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_400 = (undefined **)CONCAT44(local_400._4_4_,0xfc07); + local_3f8 = PTR_DAT_140156100; + local_3f0 = (undefined **)CONCAT44(local_3f0._4_4_,uVar3); + local_3e8 = param_3; + DVar11 = GetTickCount(); + local_3e0 = CONCAT44(local_3e0._4_4_,DVar11 - DVar10); + (**(code **)(*param_1 + 0x18))(param_1,&local_400); + } +LAB_14006b2d7: + uVar12 = FUN_14001c020((longlong *)&local_98); + goto LAB_14006b2e3; + default: + goto switchD_1400679a4_default; + } + local_3f0 = (undefined **)CONCAT44(local_3f0._4_4_,uVar3); + local_3e8 = param_3; + DVar11 = GetTickCount(); + local_3e0 = CONCAT44(local_3e0._4_4_,DVar11 - DVar10); + uVar12 = (**(code **)(*param_1 + 0x18))(param_1,&local_400); +LAB_14006b2e3: + return CONCAT71((int7)((ulonglong)uVar12 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006b370.c b/decomp/Agent_Release_x64/full/functions/0x14006b370.c new file mode 100644 index 00000000..459e1901 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006b370.c @@ -0,0 +1,672 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006b370 FUN_14006b370 + * Pseudocode, not original source. */ + +/* WARNING: Type propagation algorithm not settling */ + +undefined8 FUN_14006b370(longlong *param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + uint uVar2; + uint uVar3; + int iVar4; + DWORD DVar5; + DWORD DVar6; + undefined8 uVar7; + undefined8 uVar8; + longlong *plVar9; + int *******pppppppiVar10; + int *******pppppppiVar11; + undefined *puVar12; + int *******pppppppiVar13; + int *******pppppppiVar14; + undefined *puVar15; + ulonglong uVar16; + undefined4 uVar17; + undefined **ppuVar18; + int ******ppppppiVar19; + int ******local_res10; + undefined8 local_res18; + uint local_res20 [2]; + int *******local_168; + int *******local_160; + undefined *local_158; + uint local_150; + undefined8 local_148; + int local_140; + int *******local_138; + undefined1 local_130; + int *******local_128; + int ******local_120; + int *******local_118; + int *******local_110; + int *******local_108; + int *******local_100; + undefined *local_f8; + undefined *local_f0; + undefined *local_e8; + undefined *local_e0; + undefined *local_d8; + undefined *local_d0; + undefined *local_c8; + undefined *local_c0; + int *******local_b8 [2]; + undefined1 local_a8 [4]; + uint local_a4; + undefined8 local_70; + undefined8 local_48; + + local_48 = 0xfffffffffffffffe; + uVar2 = param_2[10]; + uVar8 = param_3; + local_res18 = param_3; + if (uVar2 == 0) { + FUN_140093300(); + } + uVar3 = *param_2; + uVar7 = FUN_140080fb0(param_2,local_res20,uVar8,param_4); + if ((char)uVar7 == '\0') { +LAB_14006c4f0: + uVar16 = FUN_1400802d0((int *)param_2, + (ulonglong)(uint)((int)(((int)uVar3 >> 0x1f & 7U) + uVar3) >> 3),uVar8, + param_4); + return uVar16 & 0xffffffffffffff00; + } + local_70 = param_3; + if (local_res20[0] == 0xfde9) { + FUN_14003b570(local_a8); + local_a4 = param_2[10]; + local_a8[0] = (undefined1)param_2[0x10]; + plVar9 = (longlong *)param_1[2]; + puVar12 = PTR_DAT_140156108; + (**(code **)(*plVar9 + 0x48))(); + DVar5 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfde9,PTR_DAT_140156108,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar9,param_2,puVar12,param_4); + ppppppiVar19 = (int ******)PTR_DAT_140155010; + local_res10 = (int ******)PTR_DAT_140155010; + uVar8 = 0xfffffffe; + ppuVar18 = &local_c8; + plVar9 = FUN_14001ac70((longlong *)&local_res10,(longlong *)ppuVar18,0xfffffffe); + if (ppppppiVar19 == (int ******)0x0) { + ppppppiVar19 = (int ******)PTR_DAT_140155010; + } + local_res10 = ppppppiVar19; + if ((int ******)*plVar9 != ppppppiVar19) { + pppppppiVar14 = (int *******)FUN_140030200(PTR_DAT_140155010,ppuVar18,uVar8,param_4); + pppppppiVar10 = pppppppiVar14; + local_160 = pppppppiVar14; + FUN_14002e6e0((int *)pppppppiVar14); + local_158 = (undefined *)CONCAT71(local_158._1_7_,1); + if (((ppppppiVar19 != (int ******)0x0) && (ppppppiVar19 != (int ******)PTR_DAT_140155010)) + && (ppppppiVar19 + -1 != (int ******)0x0)) { + pppppppiVar10 = (int *******)FUN_140030200(pppppppiVar10,ppuVar18,uVar8,param_4); + local_138 = pppppppiVar10; + FUN_14002e6e0((int *)pppppppiVar10); + local_130 = 1; + piVar1 = (int *)((longlong)ppppppiVar19 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(ppppppiVar19 + -1); + } + FUN_14002e770((longlong)pppppppiVar10); + } + ppppppiVar19 = (int ******)*plVar9; + if (((ppppppiVar19 != (int ******)PTR_DAT_140155010) && (ppppppiVar19 != (int ******)0x0)) + && (ppppppiVar19 != (int ******)0x8)) { + *(int *)((longlong)ppppppiVar19 + -4) = *(int *)((longlong)ppppppiVar19 + -4) + 1; + } + local_res10 = ppppppiVar19; + FUN_14002e770((longlong)pppppppiVar14); + } + if (((local_c8 != (undefined *)0x0) && (local_c8 != PTR_DAT_140155010)) && + (local_c8 + -8 != (undefined *)0x0)) { + pppppppiVar10 = (int *******)FUN_140030200(PTR_DAT_140155010,ppuVar18,uVar8,param_4); + local_160 = pppppppiVar10; + FUN_14002e6e0((int *)pppppppiVar10); + local_158 = (undefined *)CONCAT71(local_158._1_7_,1); + piVar1 = (int *)(local_c8 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_c8 + -8); + } + FUN_14002e770((longlong)pppppppiVar10); + } + local_138 = &local_120; + pppppppiVar10 = (int *******)PTR_DAT_140155010; + local_c8 = PTR_DAT_140155010; + FUN_140030200(PTR_DAT_140155010,ppuVar18,uVar8,param_4); + local_120 = (int ******)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_120 = (int ******)0x0; + } + if (ppppppiVar19 != (int ******)PTR_DAT_140155010) { + pppppppiVar10 = (int *******)FUN_140030200(pppppppiVar10,ppuVar18,uVar8,param_4); + local_160 = pppppppiVar10; + FUN_14002e6e0((int *)pppppppiVar10); + local_158 = (undefined *)CONCAT71(local_158._1_7_,1); + FUN_140003240((longlong *)&local_120,ppuVar18,uVar8,param_4); + if (((ppppppiVar19 != (int ******)PTR_DAT_140155010) && (ppppppiVar19 != (int ******)0x0)) + && (ppppppiVar19 != (int ******)0x8)) { + *(int *)((longlong)ppppppiVar19 + -4) = *(int *)((longlong)ppppppiVar19 + -4) + 1; + } + local_120 = ppppppiVar19; + FUN_14002e770((longlong)pppppppiVar10); + } + puVar12 = PTR_DAT_140156108; + FUN_140030200(pppppppiVar10,ppuVar18,uVar8,param_4); + local_f0 = PTR_DAT_140155010; + iVar4 = FUN_140030080((short *)puVar12); + puVar15 = FUN_140002f90((longlong *)&local_f0,iVar4); + FUN_1400300b0(puVar15,puVar12,iVar4); + FUN_140003070((longlong *)&local_f0); + (**(code **)(*param_1 + 0x28))(param_1,0xfde9,&local_f0,&local_120); + plVar9 = (longlong *)param_1[2]; + uVar8 = 0xfde9; + uVar16 = (ulonglong)uVar2; + puVar12 = PTR_DAT_140156108; + (**(code **)(*plVar9 + 0x70))(); + param_3 = local_res18; + if (((ppppppiVar19 != (int ******)0x0) && (ppppppiVar19 != (int ******)PTR_DAT_140155010)) && + (ppppppiVar19 + -1 != (int ******)0x0)) { + pppppppiVar10 = (int *******)FUN_140030200(plVar9,uVar16,uVar8,puVar12); + local_160 = pppppppiVar10; + FUN_14002e6e0((int *)pppppppiVar10); + local_158 = (undefined *)CONCAT71(local_158._1_7_,1); + piVar1 = (int *)((longlong)ppppppiVar19 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(ppppppiVar19 + -1); + } + FUN_14002e770((longlong)pppppppiVar10); + param_3 = local_res18; + } + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_160 = (int *******)CONCAT44(local_160._4_4_,0xfde9); + local_158 = PTR_DAT_140156108; + local_150 = uVar2; + local_148 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_160); + DVar5 = GetTickCount(); + } + uVar8 = (**(code **)(*param_1 + 0x38))(param_1,uVar2,local_a8); + if ((char)uVar8 == '\0') { + uVar8 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_140156108); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006c4ec; + local_160 = (int *******)CONCAT44(local_160._4_4_,0xfde9); + local_158 = PTR_DAT_140156108; + } + else if (local_res20[0] == 0xfdea) { + FUN_14003b570(local_a8); + local_a4 = param_2[10]; + local_a8[0] = (undefined1)param_2[0x10]; + uVar8 = FUN_140080600(param_2,&local_168,4); + uVar17 = local_res10._0_4_; + if ((char)uVar8 != '\0') { + uVar17 = local_168._0_4_; + } + local_res10 = (int ******)CONCAT44(local_res10._4_4_,uVar17); + plVar9 = (longlong *)param_1[2]; + puVar12 = PTR_DAT_140156110; + (**(code **)(*plVar9 + 0x48))(); + DVar5 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfdea,PTR_DAT_140156110,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar9,param_2,puVar12,param_4); + local_168 = (int *******)PTR_DAT_140155010; + FUN_14009d8a0((longlong *)&local_168); + FUN_14001b850((longlong *)&local_168,(short *)&DAT_14011eebc); + iVar4 = 0; + if ((local_168 != (int *******)0x0) && (local_168 != (int *******)PTR_DAT_140155010)) { + iVar4 = *(int *)(local_168 + -1); + } + uVar16 = (ulonglong)(iVar4 - 2U); + plVar9 = FUN_14001ac70((longlong *)&local_168,(longlong *)&local_d0,iVar4 - 2U); + pppppppiVar10 = local_168; + if (local_168 == (int *******)0x0) { + pppppppiVar10 = (int *******)PTR_DAT_140155010; + } + local_168 = pppppppiVar10; + if ((int *******)*plVar9 != pppppppiVar10) { + pppppppiVar10 = (int *******)FUN_140030200(pppppppiVar10,PTR_DAT_140155010,uVar16,param_4); + local_160 = pppppppiVar10; + FUN_14002e6e0((int *)pppppppiVar10); + pppppppiVar14 = local_168; + local_158 = (undefined *)CONCAT71(local_158._1_7_,1); + if (((local_168 != (int *******)0x0) && (local_168 != (int *******)PTR_DAT_140155010)) && + (pppppppiVar13 = local_168 + -1, pppppppiVar13 != (int *******)0x0)) { + pppppppiVar11 = (int *******)FUN_140030200(local_168,PTR_DAT_140155010,uVar16,param_4); + local_138 = pppppppiVar11; + FUN_14002e6e0((int *)pppppppiVar11); + local_130 = 1; + piVar1 = (int *)((longlong)pppppppiVar14 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(pppppppiVar13); + } + FUN_14002e770((longlong)pppppppiVar11); + } + local_168 = (int *******)*plVar9; + if (((local_168 != (int *******)PTR_DAT_140155010) && (local_168 != (int *******)0x0)) && + (local_168 != (int *******)0x8)) { + *(int *)((longlong)local_168 + -4) = *(int *)((longlong)local_168 + -4) + 1; + } + FUN_14002e770((longlong)pppppppiVar10); + } + if (((local_d0 != (undefined *)0x0) && (local_d0 != PTR_DAT_140155010)) && + (local_d0 + -8 != (undefined *)0x0)) { + pppppppiVar10 = (int *******)FUN_140030200(pppppppiVar10,PTR_DAT_140155010,uVar16,param_4); + local_160 = pppppppiVar10; + FUN_14002e6e0((int *)pppppppiVar10); + local_158 = (undefined *)CONCAT71(local_158._1_7_,1); + piVar1 = (int *)(local_d0 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_d0 + -8); + } + FUN_14002e770((longlong)pppppppiVar10); + } + local_138 = (int *******)&local_118; + puVar12 = PTR_DAT_140155010; + local_d0 = PTR_DAT_140155010; + FUN_140030200(pppppppiVar10,PTR_DAT_140155010,uVar16,param_4); + local_118 = (int *******)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_118 = (int *******)0x0; + } + if (local_168 != (int *******)PTR_DAT_140155010) { + pppppppiVar10 = (int *******)FUN_140030200(pppppppiVar10,puVar12,uVar16,param_4); + local_160 = pppppppiVar10; + FUN_14002e6e0((int *)pppppppiVar10); + local_158 = (undefined *)CONCAT71(local_158._1_7_,1); + FUN_140003240((longlong *)&local_118,puVar12,uVar16,param_4); + local_118 = local_168; + if (((local_168 != (int *******)PTR_DAT_140155010) && (local_168 != (int *******)0x0)) && + (local_168 != (int *******)0x8)) { + *(int *)((longlong)local_168 + -4) = *(int *)((longlong)local_168 + -4) + 1; + } + FUN_14002e770((longlong)pppppppiVar10); + } + puVar15 = PTR_DAT_140156110; + FUN_140030200(pppppppiVar10,puVar12,uVar16,param_4); + local_e8 = PTR_DAT_140155010; + iVar4 = FUN_140030080((short *)puVar15); + puVar12 = FUN_140002f90((longlong *)&local_e8,iVar4); + FUN_1400300b0(puVar12,puVar15,iVar4); + FUN_140003070((longlong *)&local_e8); + (**(code **)(*param_1 + 0x28))(param_1,0xfdea,&local_e8,&local_118); + plVar9 = (longlong *)param_1[2]; + uVar8 = 0xfdea; + uVar16 = (ulonglong)uVar2; + puVar12 = PTR_DAT_140156110; + (**(code **)(*plVar9 + 0x70))(); + pppppppiVar10 = local_168; + param_3 = local_res18; + if (((local_168 != (int *******)0x0) && (local_168 != (int *******)PTR_DAT_140155010)) && + (pppppppiVar14 = local_168 + -1, pppppppiVar14 != (int *******)0x0)) { + pppppppiVar13 = (int *******)FUN_140030200(plVar9,uVar16,uVar8,puVar12); + local_160 = pppppppiVar13; + FUN_14002e6e0((int *)pppppppiVar13); + local_158 = (undefined *)CONCAT71(local_158._1_7_,1); + piVar1 = (int *)((longlong)pppppppiVar10 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(pppppppiVar14); + } + FUN_14002e770((longlong)pppppppiVar13); + param_3 = local_res18; + } + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_160 = (int *******)CONCAT44(local_160._4_4_,0xfdea); + local_158 = PTR_DAT_140156110; + local_150 = uVar2; + local_148 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_160); + DVar5 = GetTickCount(); + } + uVar8 = (**(code **)(*param_1 + 0x40))(param_1,uVar2,local_a8,&local_res10); + if ((char)uVar8 == '\0') { + uVar8 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_140156110); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006c4ec; + local_160 = (int *******)CONCAT44(local_160._4_4_,0xfdea); + local_158 = PTR_DAT_140156110; + } + else if (local_res20[0] == 0xfdeb) { + FUN_14003b570(local_a8); + local_a4 = param_2[10]; + local_a8[0] = (undefined1)param_2[0x10]; + uVar8 = FUN_140080600(param_2,&local_110,8); + if ((char)uVar8 != '\0') { + local_128 = local_110; + } + uVar8 = FUN_140080600(param_2,&local_168,4); + if ((char)uVar8 != '\0') { + local_res10 = (int ******)CONCAT44(local_res10._4_4_,local_168._0_4_); + } + plVar9 = (longlong *)param_1[2]; + puVar12 = PTR_DAT_140156118; + (**(code **)(*plVar9 + 0x48))(); + DVar5 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfdeb,PTR_DAT_140156118,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar9,param_2,puVar12,param_4); + local_168 = (int *******)PTR_DAT_140155010; + FUN_14009d9d0((longlong *)&local_168); + FUN_14001b850((longlong *)&local_168,(short *)&DAT_14011eebc); + FUN_14009d960((longlong *)&local_168); + FUN_14001b850((longlong *)&local_168,(short *)&DAT_14011eebc); + iVar4 = 0; + if ((local_168 != (int *******)0x0) && (local_168 != (int *******)PTR_DAT_140155010)) { + iVar4 = *(int *)(local_168 + -1); + } + uVar16 = (ulonglong)(iVar4 - 2U); + plVar9 = FUN_14001ac70((longlong *)&local_168,(longlong *)&local_c0,iVar4 - 2U); + pppppppiVar10 = local_168; + if (local_168 == (int *******)0x0) { + pppppppiVar10 = (int *******)PTR_DAT_140155010; + } + local_168 = pppppppiVar10; + if ((int *******)*plVar9 != pppppppiVar10) { + pppppppiVar10 = (int *******)FUN_140030200(pppppppiVar10,PTR_DAT_140155010,uVar16,param_4); + local_160 = pppppppiVar10; + FUN_14002e6e0((int *)pppppppiVar10); + pppppppiVar14 = local_168; + local_158 = (undefined *)CONCAT71(local_158._1_7_,1); + if (((local_168 != (int *******)0x0) && (local_168 != (int *******)PTR_DAT_140155010)) && + (pppppppiVar13 = local_168 + -1, pppppppiVar13 != (int *******)0x0)) { + pppppppiVar11 = (int *******)FUN_140030200(local_168,PTR_DAT_140155010,uVar16,param_4); + local_138 = pppppppiVar11; + FUN_14002e6e0((int *)pppppppiVar11); + local_130 = 1; + piVar1 = (int *)((longlong)pppppppiVar14 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(pppppppiVar13); + } + FUN_14002e770((longlong)pppppppiVar11); + } + local_168 = (int *******)*plVar9; + if (((local_168 != (int *******)PTR_DAT_140155010) && (local_168 != (int *******)0x0)) && + (local_168 != (int *******)0x8)) { + *(int *)((longlong)local_168 + -4) = *(int *)((longlong)local_168 + -4) + 1; + } + FUN_14002e770((longlong)pppppppiVar10); + } + if (((local_c0 != (undefined *)0x0) && (local_c0 != PTR_DAT_140155010)) && + (local_c0 + -8 != (undefined *)0x0)) { + pppppppiVar10 = (int *******)FUN_140030200(pppppppiVar10,PTR_DAT_140155010,uVar16,param_4); + local_160 = pppppppiVar10; + FUN_14002e6e0((int *)pppppppiVar10); + local_158 = (undefined *)CONCAT71(local_158._1_7_,1); + piVar1 = (int *)(local_c0 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_c0 + -8); + } + FUN_14002e770((longlong)pppppppiVar10); + } + local_138 = (int *******)&local_108; + puVar12 = PTR_DAT_140155010; + local_c0 = PTR_DAT_140155010; + FUN_140030200(pppppppiVar10,PTR_DAT_140155010,uVar16,param_4); + local_108 = (int *******)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_108 = (int *******)0x0; + } + if (local_168 != (int *******)PTR_DAT_140155010) { + pppppppiVar10 = (int *******)FUN_140030200(pppppppiVar10,puVar12,uVar16,param_4); + local_160 = pppppppiVar10; + FUN_14002e6e0((int *)pppppppiVar10); + local_158 = (undefined *)CONCAT71(local_158._1_7_,1); + FUN_140003240((longlong *)&local_108,puVar12,uVar16,param_4); + local_108 = local_168; + if (((local_168 != (int *******)PTR_DAT_140155010) && (local_168 != (int *******)0x0)) && + (local_168 != (int *******)0x8)) { + *(int *)((longlong)local_168 + -4) = *(int *)((longlong)local_168 + -4) + 1; + } + FUN_14002e770((longlong)pppppppiVar10); + } + puVar15 = PTR_DAT_140156118; + FUN_140030200(pppppppiVar10,puVar12,uVar16,param_4); + local_f8 = PTR_DAT_140155010; + iVar4 = FUN_140030080((short *)puVar15); + puVar12 = FUN_140002f90((longlong *)&local_f8,iVar4); + FUN_1400300b0(puVar12,puVar15,iVar4); + FUN_140003070((longlong *)&local_f8); + (**(code **)(*param_1 + 0x28))(param_1,0xfdeb,&local_f8,&local_108); + plVar9 = (longlong *)param_1[2]; + uVar8 = 0xfdeb; + uVar16 = (ulonglong)uVar2; + puVar12 = PTR_DAT_140156118; + (**(code **)(*plVar9 + 0x70))(); + pppppppiVar10 = local_168; + param_3 = local_res18; + if (((local_168 != (int *******)0x0) && (local_168 != (int *******)PTR_DAT_140155010)) && + (pppppppiVar14 = local_168 + -1, pppppppiVar14 != (int *******)0x0)) { + pppppppiVar13 = (int *******)FUN_140030200(plVar9,uVar16,uVar8,puVar12); + local_160 = pppppppiVar13; + FUN_14002e6e0((int *)pppppppiVar13); + local_158 = (undefined *)CONCAT71(local_158._1_7_,1); + piVar1 = (int *)((longlong)pppppppiVar10 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(pppppppiVar14); + } + FUN_14002e770((longlong)pppppppiVar13); + param_3 = local_res18; + } + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_160 = (int *******)CONCAT44(local_160._4_4_,0xfdeb); + local_158 = PTR_DAT_140156118; + local_150 = uVar2; + local_148 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_160); + DVar5 = GetTickCount(); + } + uVar8 = (**(code **)(*param_1 + 0x48))(param_1,uVar2,local_a8,&local_128,&local_res10); + if ((char)uVar8 == '\0') { + uVar8 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_140156118); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006c4ec; + local_160 = (int *******)CONCAT44(local_160._4_4_,0xfdeb); + local_158 = PTR_DAT_140156118; + } + else { + if (local_res20[0] != 0xfdec) goto LAB_14006c4f0; + FUN_14003b570(local_a8); + local_a4 = param_2[10]; + local_a8[0] = (undefined1)param_2[0x10]; + uVar8 = FUN_140080600(param_2,&local_168,8); + if ((char)uVar8 != '\0') { + local_128 = local_168; + } + uVar8 = FUN_140080600(param_2,&local_168,8); + if ((char)uVar8 != '\0') { + local_110 = local_168; + } + uVar8 = FUN_140080600(param_2,&local_168,8); + if ((char)uVar8 != '\0') { + local_b8[0] = local_168; + } + uVar8 = FUN_140080600(param_2,&local_168,4); + if ((char)uVar8 != '\0') { + local_res10 = (int ******)CONCAT44(local_res10._4_4_,local_168._0_4_); + } + plVar9 = (longlong *)param_1[2]; + puVar12 = PTR_DAT_140156120; + (**(code **)(*plVar9 + 0x48))(); + DVar5 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar2,0xfdec,PTR_DAT_140156120,&DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar9,param_2,puVar12,param_4); + local_168 = (int *******)PTR_DAT_140155010; + FUN_14009d9d0((longlong *)&local_168); + FUN_14001b850((longlong *)&local_168,(short *)&DAT_14011eebc); + FUN_14009d9d0((longlong *)&local_168); + FUN_14001b850((longlong *)&local_168,(short *)&DAT_14011eebc); + FUN_14009d9d0((longlong *)&local_168); + FUN_14001b850((longlong *)&local_168,(short *)&DAT_14011eebc); + FUN_14009d960((longlong *)&local_168); + FUN_14001b850((longlong *)&local_168,(short *)&DAT_14011eebc); + iVar4 = 0; + if ((local_168 != (int *******)0x0) && (local_168 != (int *******)PTR_DAT_140155010)) { + iVar4 = *(int *)(local_168 + -1); + } + uVar16 = (ulonglong)(iVar4 - 2U); + plVar9 = FUN_14001ac70((longlong *)&local_168,(longlong *)&local_d8,iVar4 - 2U); + pppppppiVar10 = local_168; + if (local_168 == (int *******)0x0) { + pppppppiVar10 = (int *******)PTR_DAT_140155010; + } + local_168 = pppppppiVar10; + if ((int *******)*plVar9 != pppppppiVar10) { + pppppppiVar10 = (int *******)FUN_140030200(pppppppiVar10,PTR_DAT_140155010,uVar16,param_4); + local_138 = pppppppiVar10; + FUN_14002e6e0((int *)pppppppiVar10); + pppppppiVar14 = local_168; + local_130 = 1; + if (((local_168 != (int *******)0x0) && (local_168 != (int *******)PTR_DAT_140155010)) && + (pppppppiVar13 = local_168 + -1, pppppppiVar13 != (int *******)0x0)) { + pppppppiVar11 = (int *******)FUN_140030200(local_168,PTR_DAT_140155010,uVar16,param_4); + local_160 = pppppppiVar11; + FUN_14002e6e0((int *)pppppppiVar11); + local_158 = (undefined *)CONCAT71(local_158._1_7_,1); + piVar1 = (int *)((longlong)pppppppiVar14 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(pppppppiVar13); + } + FUN_14002e770((longlong)pppppppiVar11); + } + local_168 = (int *******)*plVar9; + if (((local_168 != (int *******)PTR_DAT_140155010) && (local_168 != (int *******)0x0)) && + (local_168 != (int *******)0x8)) { + *(int *)((longlong)local_168 + -4) = *(int *)((longlong)local_168 + -4) + 1; + } + FUN_14002e770((longlong)pppppppiVar10); + } + if (((local_d8 != (undefined *)0x0) && (local_d8 != PTR_DAT_140155010)) && + (local_d8 + -8 != (undefined *)0x0)) { + pppppppiVar10 = (int *******)FUN_140030200(pppppppiVar10,PTR_DAT_140155010,uVar16,param_4); + local_160 = pppppppiVar10; + FUN_14002e6e0((int *)pppppppiVar10); + local_158 = (undefined *)CONCAT71(local_158._1_7_,1); + piVar1 = (int *)(local_d8 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_d8 + -8); + } + FUN_14002e770((longlong)pppppppiVar10); + } + local_138 = (int *******)&local_100; + puVar12 = PTR_DAT_140155010; + local_d8 = PTR_DAT_140155010; + FUN_140030200(pppppppiVar10,PTR_DAT_140155010,uVar16,param_4); + local_100 = (int *******)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_100 = (int *******)0x0; + } + if (local_168 != (int *******)PTR_DAT_140155010) { + pppppppiVar10 = (int *******)FUN_140030200(pppppppiVar10,puVar12,uVar16,param_4); + local_160 = pppppppiVar10; + FUN_14002e6e0((int *)pppppppiVar10); + local_158 = (undefined *)CONCAT71(local_158._1_7_,1); + FUN_140003240((longlong *)&local_100,puVar12,uVar16,param_4); + local_100 = local_168; + if (((local_168 != (int *******)PTR_DAT_140155010) && (local_168 != (int *******)0x0)) && + (local_168 != (int *******)0x8)) { + *(int *)((longlong)local_168 + -4) = *(int *)((longlong)local_168 + -4) + 1; + } + FUN_14002e770((longlong)pppppppiVar10); + } + puVar15 = PTR_DAT_140156120; + FUN_140030200(pppppppiVar10,puVar12,uVar16,param_4); + local_e0 = PTR_DAT_140155010; + iVar4 = FUN_140030080((short *)puVar15); + puVar12 = FUN_140002f90((longlong *)&local_e0,iVar4); + FUN_1400300b0(puVar12,puVar15,iVar4); + FUN_140003070((longlong *)&local_e0); + (**(code **)(*param_1 + 0x28))(param_1,0xfdec,&local_e0,&local_100); + plVar9 = (longlong *)param_1[2]; + uVar8 = 0xfdec; + uVar16 = (ulonglong)uVar2; + puVar12 = PTR_DAT_140156120; + (**(code **)(*plVar9 + 0x70))(); + pppppppiVar10 = local_168; + param_3 = local_res18; + if (((local_168 != (int *******)0x0) && (local_168 != (int *******)PTR_DAT_140155010)) && + (pppppppiVar14 = local_168 + -1, pppppppiVar14 != (int *******)0x0)) { + pppppppiVar13 = (int *******)FUN_140030200(plVar9,uVar16,uVar8,puVar12); + local_160 = pppppppiVar13; + FUN_14002e6e0((int *)pppppppiVar13); + local_158 = (undefined *)CONCAT71(local_158._1_7_,1); + piVar1 = (int *)((longlong)pppppppiVar10 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(pppppppiVar14); + } + FUN_14002e770((longlong)pppppppiVar13); + param_3 = local_res18; + } + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_160 = (int *******)CONCAT44(local_160._4_4_,0xfdec); + local_158 = PTR_DAT_140156120; + local_150 = uVar2; + local_148 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_160); + DVar5 = GetTickCount(); + } + uVar8 = (**(code **)(*param_1 + 0x50)) + (param_1,uVar2,local_a8,&local_128,&local_110,local_b8,&local_res10); + if ((char)uVar8 == '\0') { + uVar8 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_DAT_140156120); + } + if (((char)param_1[3] != '\0') || (*(char *)((longlong)param_1 + 0x1a) == '\0')) + goto LAB_14006c4ec; + local_160 = (int *******)CONCAT44(local_160._4_4_,0xfdec); + local_158 = PTR_DAT_140156120; + } + local_150 = uVar2; + local_148 = param_3; + DVar6 = GetTickCount(); + local_140 = DVar6 - DVar5; + uVar8 = (**(code **)(*param_1 + 0x18))(param_1,&local_160); +LAB_14006c4ec: + return CONCAT71((int7)((ulonglong)uVar8 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006c520.c b/decomp/Agent_Release_x64/full/functions/0x14006c520.c new file mode 100644 index 00000000..79640329 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006c520.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006c520 FUN_14006c520 + * Pseudocode, not original source. */ + +undefined1 FUN_14006c520(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined4 *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + undefined4 *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0xfa01,SVar2,puVar3); + FUN_140021fa0((longlong)local_30,*param_4,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140156128,0xfa01); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006c600.c b/decomp/Agent_Release_x64/full/functions/0x14006c600.c new file mode 100644 index 00000000..dfe1bd30 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006c600.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006c600 FUN_14006c600 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006c600(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + undefined4 *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfa01,uVar3,uVar4); + FUN_140021fa0((longlong)local_30,*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140156128,0xfa01) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006c6e0.c b/decomp/Agent_Release_x64/full/functions/0x14006c6e0.c new file mode 100644 index 00000000..2aadf427 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006c6e0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006c6e0 FUN_14006c6e0 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006c6e0(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,uint *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0xfa02,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140044630((longlong)local_30,(ulonglong)*param_5,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140156130,0xfa02); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006c7d0.c b/decomp/Agent_Release_x64/full/functions/0x14006c7d0.c new file mode 100644 index 00000000..b97de338 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006c7d0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006c7d0 FUN_14006c7d0 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006c7d0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,uint *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfa02,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140044630((longlong)local_30,(ulonglong)*param_6,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140156130,0xfa02) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006c8d0.c b/decomp/Agent_Release_x64/full/functions/0x14006c8d0.c new file mode 100644 index 00000000..b7c7edbe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006c8d0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006c8d0 FUN_14006c8d0 + * Pseudocode, not original source. */ + +undefined1 FUN_14006c8d0(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,param_4); + FUN_1400221b0((longlong)local_30,0xfa03,SVar2,param_4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140156138,0xfa03); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006c990.c b/decomp/Agent_Release_x64/full/functions/0x14006c990.c new file mode 100644 index 00000000..67b5a646 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006c990.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006c990 FUN_14006c990 + * Pseudocode, not original source. */ + +undefined1 FUN_14006c990(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfa03,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140156138,0xfa03) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006ca60.c b/decomp/Agent_Release_x64/full/functions/0x14006ca60.c new file mode 100644 index 00000000..be97c4bb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006ca60.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006ca60 FUN_14006ca60 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006ca60(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,uint *param_5, + uint *param_6,byte *param_7) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0xfa04,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,SVar2,puVar3); + FUN_140044630((longlong)local_30,(ulonglong)*param_6,SVar2,puVar3); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_7,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140156140,0xfa04); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006cb80.c b/decomp/Agent_Release_x64/full/functions/0x14006cb80.c new file mode 100644 index 00000000..223234b0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006cb80.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006cb80 FUN_14006cb80 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006cb80(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,uint *param_6,uint *param_7,byte *param_8) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfa04,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,uVar3,uVar4); + FUN_140044630((longlong)local_30,(ulonglong)*param_7,uVar3,uVar4); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_8,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140156140,0xfa04) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006cca0.c b/decomp/Agent_Release_x64/full/functions/0x14006cca0.c new file mode 100644 index 00000000..d1b47e63 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006cca0.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006cca0 FUN_14006cca0 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006cca0(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,uint *param_5, + longlong param_6,longlong param_7,longlong param_8,longlong param_9) + +{ + ushort uVar1; + undefined1 uVar2; + SIZE_T SVar3; + uint *puVar4; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar3 = param_3; + puVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar3,puVar4); + FUN_1400221b0((longlong)local_30,0xfa05,SVar3,puVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar3,puVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,SVar3,puVar4); + uVar1 = *(ushort *)(param_6 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_6 + 8),SVar3,puVar4); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,SVar3,puVar4); + uVar1 = *(ushort *)(param_7 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_7 + 8),SVar3,puVar4); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,SVar3,puVar4); + uVar1 = *(ushort *)(param_8 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_8 + 8),SVar3,puVar4); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,SVar3,puVar4); + uVar1 = *(ushort *)(param_9 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_9 + 8),SVar3,puVar4); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,SVar3,puVar4); + uVar2 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140156148,0xfa05); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006ce30.c b/decomp/Agent_Release_x64/full/functions/0x14006ce30.c new file mode 100644 index 00000000..91e93fd8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006ce30.c @@ -0,0 +1,51 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006ce30 FUN_14006ce30 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006ce30(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,uint *param_6,longlong param_7,longlong param_8,longlong param_9, + longlong param_10) + +{ + ushort uVar1; + undefined1 uVar2; + undefined8 uVar3; + ulonglong uVar4; + undefined8 uVar5; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar3 = param_2; + uVar4 = param_3; + uVar5 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar3,uVar4,uVar5); + FUN_1400221b0((longlong)local_30,0xfa05,uVar4,uVar5); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar4,uVar5); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,uVar4,uVar5); + uVar1 = *(ushort *)(param_7 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_7 + 8),uVar4,uVar5); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,uVar4,uVar5); + uVar1 = *(ushort *)(param_8 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_8 + 8),uVar4,uVar5); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,uVar4,uVar5); + uVar1 = *(ushort *)(param_9 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_9 + 8),uVar4,uVar5); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,uVar4,uVar5); + uVar1 = *(ushort *)(param_10 + 0xc); + FUN_140044630((longlong)local_30,(ulonglong)*(uint *)(param_10 + 8),uVar4,uVar5); + FUN_1400221b0((longlong)local_30,(ulonglong)uVar1,uVar4,uVar5); + uVar2 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140156148,0xfa05) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006cfd0.c b/decomp/Agent_Release_x64/full/functions/0x14006cfd0.c new file mode 100644 index 00000000..587fdd20 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006cfd0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006cfd0 FUN_14006cfd0 + * Pseudocode, not original source. */ + +undefined1 FUN_14006cfd0(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,param_4); + FUN_1400221b0((longlong)local_30,0xfa07,SVar2,param_4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140156158,0xfa07); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006d090.c b/decomp/Agent_Release_x64/full/functions/0x14006d090.c new file mode 100644 index 00000000..ff47abf4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006d090.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006d090 FUN_14006d090 + * Pseudocode, not original source. */ + +undefined1 FUN_14006d090(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfa07,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140156158,0xfa07) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006d160.c b/decomp/Agent_Release_x64/full/functions/0x14006d160.c new file mode 100644 index 00000000..088fb0ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006d160.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006d160 FUN_14006d160 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006d160(longlong *param_1,undefined8 param_2,SIZE_T param_3,byte *param_4,longlong *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + byte *pbVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + pbVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,pbVar3); + FUN_1400221b0((longlong)local_30,0xfa08,SVar2,pbVar3); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_4,SVar2,pbVar3); + FUN_140081ea0((longlong)local_30,param_5,SVar2,pbVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140156160,0xfa08); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006d250.c b/decomp/Agent_Release_x64/full/functions/0x14006d250.c new file mode 100644 index 00000000..7a259fa6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006d250.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006d250 FUN_14006d250 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006d250(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + byte *param_5,longlong *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfa08,uVar3,uVar4); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_6,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140156160,0xfa08) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006d340.c b/decomp/Agent_Release_x64/full/functions/0x14006d340.c new file mode 100644 index 00000000..4c0dfc13 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006d340.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006d340 FUN_14006d340 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006d340(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,longlong *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0xfa09,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140081ea0((longlong)local_30,param_5,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140156168,0xfa09); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006d430.c b/decomp/Agent_Release_x64/full/functions/0x14006d430.c new file mode 100644 index 00000000..b18adfa0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006d430.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006d430 FUN_14006d430 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006d430(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,longlong *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfa09,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_6,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140156168,0xfa09) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006d520.c b/decomp/Agent_Release_x64/full/functions/0x14006d520.c new file mode 100644 index 00000000..0242a049 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006d520.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006d520 FUN_14006d520 + * Pseudocode, not original source. */ + +undefined1 FUN_14006d520(longlong *param_1,undefined8 param_2,SIZE_T param_3,longlong *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + longlong *plVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + plVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,plVar3); + FUN_1400221b0((longlong)local_30,0xfa0a,SVar2,plVar3); + FUN_140081ea0((longlong)local_30,param_4,SVar2,plVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140156170,0xfa0a); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006d600.c b/decomp/Agent_Release_x64/full/functions/0x14006d600.c new file mode 100644 index 00000000..ac2c5972 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006d600.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006d600 FUN_14006d600 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006d600(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + longlong *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfa0a,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140156170,0xfa0a) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006d6e0.c b/decomp/Agent_Release_x64/full/functions/0x14006d6e0.c new file mode 100644 index 00000000..93e5920a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006d6e0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006d6e0 FUN_14006d6e0 + * Pseudocode, not original source. */ + +undefined1 FUN_14006d6e0(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0xfa0b,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140156178,0xfa0b); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006d7c0.c b/decomp/Agent_Release_x64/full/functions/0x14006d7c0.c new file mode 100644 index 00000000..78ba39b4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006d7c0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006d7c0 FUN_14006d7c0 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006d7c0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfa0b,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140156178,0xfa0b) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006d8a0.c b/decomp/Agent_Release_x64/full/functions/0x14006d8a0.c new file mode 100644 index 00000000..9a24e975 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006d8a0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006d8a0 FUN_14006d8a0 + * Pseudocode, not original source. */ + +undefined1 FUN_14006d8a0(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0xfa0c,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140156180,0xfa0c); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006d980.c b/decomp/Agent_Release_x64/full/functions/0x14006d980.c new file mode 100644 index 00000000..15ea3223 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006d980.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006d980 FUN_14006d980 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006d980(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfa0c,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140156180,0xfa0c) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006da60.c b/decomp/Agent_Release_x64/full/functions/0x14006da60.c new file mode 100644 index 00000000..f67490ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006da60.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006da60 FUN_14006da60 + * Pseudocode, not original source. */ + +undefined1 FUN_14006da60(longlong *param_1,undefined8 param_2,SIZE_T param_3,longlong *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + longlong *plVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + plVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,plVar3); + FUN_1400221b0((longlong)local_30,0xfa0d,SVar2,plVar3); + FUN_140081ea0((longlong)local_30,param_4,SVar2,plVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140156188,0xfa0d); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006db40.c b/decomp/Agent_Release_x64/full/functions/0x14006db40.c new file mode 100644 index 00000000..0336b226 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006db40.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006db40 FUN_14006db40 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006db40(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + longlong *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfa0d,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140156188,0xfa0d) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006dc20.c b/decomp/Agent_Release_x64/full/functions/0x14006dc20.c new file mode 100644 index 00000000..9b7f3a9b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006dc20.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006dc20 FUN_14006dc20 + * Pseudocode, not original source. */ + +undefined1 FUN_14006dc20(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + undefined8 *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0xfa0e,SVar2,puVar3); + FUN_1400220c0((longlong)local_30,*param_4,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140156190,0xfa0e); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006dd00.c b/decomp/Agent_Release_x64/full/functions/0x14006dd00.c new file mode 100644 index 00000000..f25f407a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006dd00.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006dd00 FUN_14006dd00 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006dd00(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + undefined8 *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfa0e,uVar3,uVar4); + FUN_1400220c0((longlong)local_30,*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140156190,0xfa0e) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006dde0.c b/decomp/Agent_Release_x64/full/functions/0x14006dde0.c new file mode 100644 index 00000000..b08409e8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006dde0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006dde0 FUN_14006dde0 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006dde0(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,uint *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0xfa0f,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140044630((longlong)local_30,(ulonglong)*param_5,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_140156198,0xfa0f); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006ded0.c b/decomp/Agent_Release_x64/full/functions/0x14006ded0.c new file mode 100644 index 00000000..5f5a1380 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006ded0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006ded0 FUN_14006ded0 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006ded0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,uint *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfa0f,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140044630((longlong)local_30,(ulonglong)*param_6,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_140156198,0xfa0f) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006dfd0.c b/decomp/Agent_Release_x64/full/functions/0x14006dfd0.c new file mode 100644 index 00000000..afc68da1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006dfd0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006dfd0 FUN_14006dfd0 + * Pseudocode, not original source. */ + +undefined1 FUN_14006dfd0(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,param_4); + FUN_1400221b0((longlong)local_30,0xfa10,SVar2,param_4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401561a0,0xfa10); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006e090.c b/decomp/Agent_Release_x64/full/functions/0x14006e090.c new file mode 100644 index 00000000..f32a8475 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006e090.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006e090 FUN_14006e090 + * Pseudocode, not original source. */ + +undefined1 FUN_14006e090(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfa10,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401561a0,0xfa10) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006e160.c b/decomp/Agent_Release_x64/full/functions/0x14006e160.c new file mode 100644 index 00000000..f063302e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006e160.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006e160 FUN_14006e160 + * Pseudocode, not original source. */ + +undefined1 FUN_14006e160(longlong *param_1,undefined8 param_2,SIZE_T param_3,byte *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + byte *pbVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + pbVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,pbVar3); + FUN_1400221b0((longlong)local_30,0xfa11,SVar2,pbVar3); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_4,SVar2,pbVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401561a8,0xfa11); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006e240.c b/decomp/Agent_Release_x64/full/functions/0x14006e240.c new file mode 100644 index 00000000..e20c0b3b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006e240.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006e240 FUN_14006e240 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006e240(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + byte *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfa11,uVar3,uVar4); + FUN_14001ba80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401561a8,0xfa11) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006e320.c b/decomp/Agent_Release_x64/full/functions/0x14006e320.c new file mode 100644 index 00000000..0c0f40d6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006e320.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006e320 FUN_14006e320 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006e320(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,uint *param_5, + uint *param_6) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0xfa12,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140044630((longlong)local_30,(ulonglong)*param_5,SVar2,puVar3); + FUN_140044630((longlong)local_30,(ulonglong)*param_6,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401561b0,0xfa12); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006e420.c b/decomp/Agent_Release_x64/full/functions/0x14006e420.c new file mode 100644 index 00000000..4025bef2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006e420.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006e420 FUN_14006e420 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006e420(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,uint *param_6,uint *param_7) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfa12,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140044630((longlong)local_30,(ulonglong)*param_6,uVar3,uVar4); + FUN_140044630((longlong)local_30,(ulonglong)*param_7,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401561b0,0xfa12) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006e530.c b/decomp/Agent_Release_x64/full/functions/0x14006e530.c new file mode 100644 index 00000000..e395204a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006e530.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006e530 FUN_14006e530 + * Pseudocode, not original source. */ + +undefined1 FUN_14006e530(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0xfa13,SVar2,puVar3); + FUN_140044630((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401561b8,0xfa13); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006e610.c b/decomp/Agent_Release_x64/full/functions/0x14006e610.c new file mode 100644 index 00000000..9c2221e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006e610.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006e610 FUN_14006e610 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006e610(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfa13,uVar3,uVar4); + FUN_140044630((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401561b8,0xfa13) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006e6f0.c b/decomp/Agent_Release_x64/full/functions/0x14006e6f0.c new file mode 100644 index 00000000..5f087ddb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006e6f0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006e6f0 FUN_14006e6f0 + * Pseudocode, not original source. */ + +undefined1 FUN_14006e6f0(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,param_4); + FUN_1400221b0((longlong)local_30,0xfde9,SVar2,param_4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401561c0,0xfde9); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006e7b0.c b/decomp/Agent_Release_x64/full/functions/0x14006e7b0.c new file mode 100644 index 00000000..4d7c0b77 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006e7b0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006e7b0 FUN_14006e7b0 + * Pseudocode, not original source. */ + +undefined1 FUN_14006e7b0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfde9,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401561c0,0xfde9) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006e880.c b/decomp/Agent_Release_x64/full/functions/0x14006e880.c new file mode 100644 index 00000000..a7b24cc9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006e880.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006e880 FUN_14006e880 + * Pseudocode, not original source. */ + +undefined1 FUN_14006e880(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0xfdea,SVar2,puVar3); + FUN_140044630((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401561c8,0xfdea); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006e960.c b/decomp/Agent_Release_x64/full/functions/0x14006e960.c new file mode 100644 index 00000000..1a947fe8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006e960.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006e960 FUN_14006e960 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006e960(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfdea,uVar3,uVar4); + FUN_140044630((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401561c8,0xfdea) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006ea40.c b/decomp/Agent_Release_x64/full/functions/0x14006ea40.c new file mode 100644 index 00000000..d178d395 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006ea40.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006ea40 FUN_14006ea40 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006ea40(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 *param_4, + undefined4 *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + undefined8 *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0xfdeb,SVar2,puVar3); + FUN_1400220c0((longlong)local_30,*param_4,SVar2,puVar3); + FUN_140021fa0((longlong)local_30,*param_5,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401561d0,0xfdeb); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006eb30.c b/decomp/Agent_Release_x64/full/functions/0x14006eb30.c new file mode 100644 index 00000000..e4f6995c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006eb30.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006eb30 FUN_14006eb30 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006eb30(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + undefined8 *param_5,undefined4 *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfdeb,uVar3,uVar4); + FUN_1400220c0((longlong)local_30,*param_5,uVar3,uVar4); + FUN_140021fa0((longlong)local_30,*param_6,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401561d0,0xfdeb) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006ec30.c b/decomp/Agent_Release_x64/full/functions/0x14006ec30.c new file mode 100644 index 00000000..c61bad53 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006ec30.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006ec30 FUN_14006ec30 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006ec30(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 *param_4, + undefined8 *param_5,undefined8 *param_6,undefined4 *param_7) + +{ + undefined1 uVar1; + SIZE_T SVar2; + undefined8 *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0xfdec,SVar2,puVar3); + FUN_1400220c0((longlong)local_30,*param_4,SVar2,puVar3); + FUN_1400220c0((longlong)local_30,*param_5,SVar2,puVar3); + FUN_1400220c0((longlong)local_30,*param_6,SVar2,puVar3); + FUN_140021fa0((longlong)local_30,*param_7,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_DAT_1401561d8,0xfdec); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006ed50.c b/decomp/Agent_Release_x64/full/functions/0x14006ed50.c new file mode 100644 index 00000000..007e3e89 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006ed50.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006ed50 FUN_14006ed50 + * Pseudocode, not original source. */ + +undefined1 +FUN_14006ed50(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + undefined8 *param_5,undefined8 *param_6,undefined8 *param_7,undefined4 *param_8) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0xfdec,uVar3,uVar4); + FUN_1400220c0((longlong)local_30,*param_5,uVar3,uVar4); + FUN_1400220c0((longlong)local_30,*param_6,uVar3,uVar4); + FUN_1400220c0((longlong)local_30,*param_7,uVar3,uVar4); + FUN_140021fa0((longlong)local_30,*param_8,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30,PTR_DAT_1401561d8,0xfdec) + ; + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006ee80.c b/decomp/Agent_Release_x64/full/functions/0x14006ee80.c new file mode 100644 index 00000000..13eadaf0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006ee80.c @@ -0,0 +1,83 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006ee80 FUN_14006ee80 + * Pseudocode, not original source. */ + +undefined8 * FUN_14006ee80(longlong param_1,undefined8 *param_2,longlong param_3) + +{ + longlong *plVar1; + undefined8 *puVar2; + longlong lVar3; + longlong lVar4; + longlong *local_res8; + + if (*(longlong *)(param_1 + 0x1670) == 0) { + lVar4 = 0; + } + else { + lVar4 = *(longlong *)(param_1 + 0x1660); + } + do { + if (lVar4 == 0) { + *param_2 = 0; + return param_2; + } + if (lVar4 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + local_res8 = (longlong *)0x0; + if (*(longlong *)(lVar4 + 8) != 0) { + *(longlong *)(*(longlong *)(lVar4 + 8) + 8) = *(longlong *)(*(longlong *)(lVar4 + 8) + 8) + 1; + local_res8 = *(longlong **)(lVar4 + 8); + } + if (local_res8 == (longlong *)0x0) { + lVar3 = 0; + } + else { + lVar3 = *local_res8; + } + if (*(char *)(lVar3 + 0x684) == '\0') { + if (local_res8 == (longlong *)0x0) { + lVar3 = 0; + } + else { + lVar3 = *local_res8; + } + if ((*(int *)(lVar3 + 0x5a8) == *(int *)(param_3 + 8)) && + (*(short *)(lVar3 + 0x5ac) == *(short *)(param_3 + 0xc))) { + *param_2 = 0; + if (local_res8 == (longlong *)0x0) { + return param_2; + } + local_res8[1] = local_res8[1] + 1; + *param_2 = local_res8; + plVar1 = local_res8 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 != 0) { + return param_2; + } + puVar2 = (undefined8 *)*local_res8; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(local_res8); + return param_2; + } + } + if (local_res8 != (longlong *)0x0) { + plVar1 = local_res8 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + if ((undefined8 *)*local_res8 != (undefined8 *)0x0) { + (*(code *)**(undefined8 **)*local_res8)(); + } + FUN_1400302f0(local_res8); + } + } + if (lVar4 != 0) { + lVar4 = *(longlong *)(lVar4 + 0x10); + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006eff0.c b/decomp/Agent_Release_x64/full/functions/0x14006eff0.c new file mode 100644 index 00000000..f7f2a879 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006eff0.c @@ -0,0 +1,133 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006eff0 FUN_14006eff0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14006eff0(longlong param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + double dVar1; + longlong *plVar2; + undefined8 uVar3; + undefined8 uVar4; + longlong *plVar5; + longlong **pplVar6; + undefined8 *puVar7; + undefined1 auStack_d78 [32]; + longlong *local_d58; + uint uStack_d50; + undefined4 uStack_d4c; + int local_d48 [2]; + longlong local_d40; + longlong *local_d38; + uint local_d30; + int local_d2c; + undefined4 local_d20 [2]; + undefined8 local_d18; + undefined1 local_d10; + undefined4 local_d0c; + undefined1 local_d08; + undefined1 local_d07; + undefined8 local_d00; + exception local_cf8 [80]; + longlong *local_ca8; + undefined8 uStack_ca0; + longlong **local_28; + undefined4 local_20; + int local_1c; + ulonglong local_18; + + local_d00 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_d78; + if (*(int *)(param_1 + 0x1578) == 0) { + FUN_140064c00(param_1); + } + else { + dVar1 = (double)(**(code **)(*(longlong *)(param_1 + 0x70) + 0x1c0))(param_1 + 0x70); + plVar5 = (longlong *)0x0; + if (DAT_1401550f8 / *(double *)(param_1 + 0x1798) < dVar1 - *(double *)(param_1 + 0x5c8)) { + *(int *)(param_1 + 0x4ec) = *(int *)(param_1 + 0x4ec) + 1; + uVar3 = (**(code **)(*(longlong *)(param_1 + 0x70) + 0x1c0))(param_1 + 0x70); + *(undefined8 *)(param_1 + 0x5c8) = uVar3; + FUN_1400806d0(local_d48); + FUN_1400801a0((longlong)local_d48,param_2,param_3,param_4); + FUN_140080830(local_d48,0x800,param_3,param_4); + uVar3 = 0; + FUN_140080830(local_d48,0,param_3,param_4); + uVar4 = CONCAT71((int7)((ulonglong)uVar3 >> 8),0x1a); + FUN_14001ba80((longlong)local_d48,uVar4,param_3,param_4); + uVar3 = (**(code **)(*(longlong *)(param_1 + 0x70) + 0x1c0))(param_1 + 0x70); + FUN_1400220c0((longlong)local_d48,uVar3,param_3,param_4); + FUN_1400220c0((longlong)local_d48,*(undefined8 *)(param_1 + 0x4f8),param_3,param_4); + local_1c = 200; + local_20 = 0; + local_28 = &local_ca8; + if (local_d40 == 0) { + if (local_d38 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,uVar4,param_3,param_4); + } + } + else { + local_d30 = *(uint *)(local_d40 + 0x18); + } + local_d58 = local_d38; + if (local_d38 == (longlong *)0x0) { + if (local_d40 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)local_d30,param_3,param_4); + } + local_d58 = plVar5; + if (*(int *)(local_d40 + 0x18) != 0) { + local_d58 = *(longlong **)(local_d40 + 0x10); + } + } + local_20 = 1; + uStack_ca0 = CONCAT44(uStack_d4c,local_d30); + local_d20[0] = 0; + local_d18 = 0; + local_d10 = 1; + local_d0c = 0xffffffff; + local_d08 = 1; + local_d07 = DAT_1401551cc; + plVar2 = plVar5; + if (*(undefined8 **)(param_1 + 0x1570) != (undefined8 *)0x0) { + plVar2 = (longlong *)**(undefined8 **)(param_1 + 0x1570); + } + puVar7 = (undefined8 *)local_d20; + pplVar6 = &local_ca8; + uStack_d50 = local_d30; + local_ca8 = local_d58; + FUN_1400ac7b0(plVar2,1,(longlong)pplVar6,puVar7); + if (local_28 == (longlong **)0x0) { + FUN_14002f1e0(local_cf8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,pplVar6, + puVar7); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_cf8,(ThrowInfo *)&DAT_140151b88); + } + if (local_1c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d58 = &local_d40; + FUN_140095270(&local_d40); + if ((local_d38 != (longlong *)0x0) && (local_d2c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + FUN_1400b7ae0((double *)(param_1 + 0xb8),DAT_1401550f8 * 10.0 * 2.0 * 0.3); + if (*(longlong *)(param_1 + 0x5d8) != 0) { + plVar5 = *(longlong **)(*(longlong *)(param_1 + 0x5d8) + 0x38); + } + FUN_1400b7aa0((double *)(param_1 + 0xb8),(double)plVar5[0x20]); + if (*(char *)(param_1 + 200) != '\0') { + local_d58 = (longlong *)CONCAT44(local_d58._4_4_,(float)*(double *)(param_1 + 0x1870)); + (**(code **)(*(longlong *)(param_1 + 0x1818) + 0x30)) + ((longlong *)(param_1 + 0x1818),1,&DAT_14015de10,&local_d58); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006f2e0.c b/decomp/Agent_Release_x64/full/functions/0x14006f2e0.c new file mode 100644 index 00000000..85bd097a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006f2e0.c @@ -0,0 +1,119 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006f2e0 FUN_14006f2e0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14006f2e0(longlong param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong *plVar1; + undefined8 uVar2; + longlong *plVar3; + longlong **pplVar4; + undefined8 *puVar5; + double dVar6; + undefined1 auStack_d78 [32]; + int local_d58 [2]; + longlong local_d50; + longlong *local_d48; + uint local_d40; + int local_d3c; + longlong *local_d30; + uint uStack_d28; + undefined4 uStack_d24; + undefined4 local_d20 [2]; + undefined8 local_d18; + undefined1 local_d10; + undefined4 local_d0c; + undefined1 local_d08; + undefined1 local_d07; + undefined8 local_d00; + exception local_cf8 [80]; + longlong *local_ca8; + undefined8 uStack_ca0; + longlong **local_28; + undefined4 local_20; + int local_1c; + ulonglong local_18; + + local_d00 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_d78; + if ((*(int *)(param_1 + 0x1578) != 0) && (*(double *)(param_1 + 0x1890) != DAT_140155078)) { + plVar3 = (longlong *)0x0; + plVar1 = plVar3; + if (*(longlong *)(param_1 + 0x5d8) != 0) { + plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x5d8) + 0x38); + } + dVar6 = *(double *)(param_1 + 0x1890) - (double)plVar1[0x20]; + *(double *)(param_1 + 0x1890) = dVar6; + if (dVar6 <= 0.0) { + *(undefined8 *)(param_1 + 0x1890) = 0x3fe2e147ae147ae1; + *(double *)(param_1 + 0x1890) = 0.59 / *(double *)(param_1 + 0x1798); + FUN_1400806d0(local_d58); + FUN_1400801a0((longlong)local_d58,param_2,param_3,param_4); + FUN_140080830(local_d58,0x800,param_3,param_4); + uVar2 = 0; + FUN_140080830(local_d58,0,param_3,param_4); + uVar2 = CONCAT71((int7)((ulonglong)uVar2 >> 8),0x1b); + FUN_14001ba80((longlong)local_d58,uVar2,param_3,param_4); + local_1c = 200; + local_20 = 0; + local_28 = &local_ca8; + if (local_d50 == 0) { + if (local_d48 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,uVar2,param_3,param_4); + } + } + else { + local_d40 = *(uint *)(local_d50 + 0x18); + } + local_d30 = local_d48; + if (local_d48 == (longlong *)0x0) { + if (local_d50 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)local_d40,param_3,param_4); + } + local_d30 = plVar3; + if (*(int *)(local_d50 + 0x18) != 0) { + local_d30 = *(longlong **)(local_d50 + 0x10); + } + } + local_20 = 1; + uStack_ca0 = CONCAT44(uStack_d24,local_d40); + local_d20[0] = 0; + local_d18 = 0; + local_d10 = 1; + local_d0c = 0xffffffff; + local_d08 = 1; + local_d07 = DAT_1401551cc; + if (*(undefined8 **)(param_1 + 0x1570) != (undefined8 *)0x0) { + plVar3 = (longlong *)**(undefined8 **)(param_1 + 0x1570); + } + puVar5 = (undefined8 *)local_d20; + pplVar4 = &local_ca8; + uStack_d28 = local_d40; + local_ca8 = local_d30; + FUN_1400ac7b0(plVar3,1,(longlong)pplVar4,puVar5); + if (local_28 == (longlong **)0x0) { + FUN_14002f1e0(local_cf8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,pplVar4, + puVar5); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_cf8,(ThrowInfo *)&DAT_140151b88); + } + if (local_1c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d30 = &local_d50; + FUN_140095270(&local_d50); + if ((local_d48 != (longlong *)0x0) && (local_d3c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006f540.c b/decomp/Agent_Release_x64/full/functions/0x14006f540.c new file mode 100644 index 00000000..77e82061 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006f540.c @@ -0,0 +1,172 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006f540 FUN_14006f540 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Removing unreachable block (ram,0x00014006f8c1) */ +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_14006f540(longlong param_1,longlong *param_2,undefined8 *param_3,undefined8 param_4) + +{ + double dVar1; + uint uVar2; + longlong lVar3; + longlong lVar4; + undefined8 uVar5; + longlong lVar6; + longlong lVar7; + double dVar8; + undefined1 auStack_d98 [32]; + int local_d78 [2]; + longlong local_d70; + longlong local_d68; + uint local_d60; + int local_d5c; + undefined4 local_d50 [2]; + undefined8 local_d48; + undefined1 local_d40; + undefined4 local_d3c; + undefined1 local_d38; + undefined1 local_d37; + longlong local_d30; + uint uStack_d28; + undefined4 uStack_d24; + longlong *local_d20; + undefined8 local_d18; + exception local_d10 [72]; + longlong local_cc8; + undefined8 uStack_cc0; + longlong *local_48; + undefined4 local_40; + int local_3c; + ulonglong local_38; + + local_d18 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_d98; + (**(code **)(*(longlong *)(param_1 + 0x78) + 0x10))(); + lVar7 = 0; + lVar3 = lVar7; + if (*(longlong *)(param_1 + 0x1670) != 0) { + lVar3 = *(longlong *)(param_1 + 0x1660); + } + do { + lVar6 = lVar3; + if (lVar6 == 0) { + return; + } + if ((((*(longlong **)(lVar6 + 8) != (longlong *)0x0) && + (lVar3 = **(longlong **)(lVar6 + 8), lVar3 != 0)) && (*(char *)(lVar3 + 0x684) == '\0')) && + (*(int *)(lVar3 + 0x56c) != 1)) { + lVar4 = lVar7; + if (*(longlong *)(param_1 + 0x5d8) != 0) { + lVar4 = *(longlong *)(*(longlong *)(param_1 + 0x5d8) + 0x38); + } + dVar8 = *(double *)(lVar3 + 0x148) - *(double *)(lVar4 + 0x100); + *(double *)(lVar3 + 0x148) = dVar8; + if (dVar8 <= 0.0) { + *(undefined8 *)(lVar3 + 0x148) = DAT_1401550f0; + uVar5 = (**(code **)(*(longlong *)(param_1 + 0x70) + 0x1c0))(param_1 + 0x70); + *(undefined8 *)(lVar3 + 0x80) = uVar5; + if (*(char *)(lVar3 + 0x608) == '\0') { + FUN_1400806d0(local_d78); + FUN_1400801a0((longlong)local_d78,param_2,(SIZE_T)param_3,param_4); + FUN_140080830(local_d78,0x800,(SIZE_T)param_3,param_4); + uVar5 = 0; + FUN_140080830(local_d78,0,(SIZE_T)param_3,param_4); + uVar5 = CONCAT71((int7)((ulonglong)uVar5 >> 8),0x20); + FUN_14001ba80((longlong)local_d78,uVar5,(SIZE_T)param_3,param_4); + dVar8 = FUN_14003a420((char *)(param_1 + 0x1620)); + FUN_1400220c0((longlong)local_d78,dVar8,(SIZE_T)param_3,param_4); + local_3c = 200; + local_40 = 0; + local_48 = &local_cc8; + if (local_d70 == 0) { + uVar2 = local_d60; + if (local_d68 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,uVar5,param_3,param_4); + } + } + else { + uVar2 = *(uint *)(local_d70 + 0x18); + } + lVar4 = local_d68; + if (local_d68 == 0) { + if (local_d70 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)uVar2,param_3,param_4); + } + lVar4 = lVar7; + if (*(int *)(local_d70 + 0x18) != 0) { + lVar4 = *(longlong *)(local_d70 + 0x10); + } + } + local_40 = 1; + uStack_cc0 = CONCAT44(uStack_d24,uVar2); + local_d50[0] = 0; + local_d48 = 0; + local_d40 = 1; + local_d3c = 0xffffffff; + local_d38 = 1; + local_d37 = DAT_1401551cc; + param_3 = (undefined8 *)local_d50; + param_2 = &local_cc8; + local_d30 = lVar4; + uStack_d28 = uVar2; + local_cc8 = lVar4; + FUN_1400b34c0((longlong *)(lVar3 + 0x668),(longlong)param_2,param_3); + if (local_48 == (longlong *)0x0) { + FUN_14002f1e0(local_d10,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0, + param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d10,(ThrowInfo *)&DAT_140151b88); + } + if (local_3c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_40 = 0; + local_d20 = &local_d70; + FUN_140095270(&local_d70); + if (local_d68 != 0) { + if (local_d5c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d60 = 0; + } + } + else { + dVar8 = (double)(**(code **)(*(longlong *)(param_1 + 0x70) + 0x1c0))(param_1 + 0x70); + dVar8 = dVar8 - *(double *)(lVar3 + 0xc0); + if (0.0 < dVar8) { + *(double *)(lVar3 + 0x140) = dVar8; + } + uVar5 = (**(code **)(*(longlong *)(param_1 + 0x70) + 0x1c0))(param_1 + 0x70); + *(undefined8 *)(lVar3 + 0xc0) = uVar5; + *(int *)(lVar3 + 0x100) = *(int *)(lVar3 + 0x100) + 1; + *(undefined8 *)(lVar3 + 0x150) = 0; + dVar8 = *(double *)(param_1 + 0x4f8) + *(double *)(lVar3 + 0x60); + *(double *)(lVar3 + 0x158) = dVar8; + if (*(char *)(lVar3 + 0x618) != '\0') { + *(undefined8 *)(lVar3 + 0x50) = 0; + *(undefined1 *)(lVar3 + 0x618) = 0; + } + dVar1 = *(double *)(lVar3 + 0x50); + if (dVar1 <= 0.0) { + *(undefined8 *)(lVar3 + 0x50) = *(undefined8 *)(lVar3 + 0x158); + } + else { + *(double *)(lVar3 + 0x50) = (dVar8 - dVar1) * _DAT_140155108 + dVar1; + } + } + } + } + lVar3 = lVar7; + if (lVar6 != 0) { + lVar3 = *(longlong *)(lVar6 + 0x10); + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006f900.c b/decomp/Agent_Release_x64/full/functions/0x14006f900.c new file mode 100644 index 00000000..b9ec8dad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006f900.c @@ -0,0 +1,86 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006f900 FUN_14006f900 + * Pseudocode, not original source. */ + +void FUN_14006f900(longlong param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong *plVar1; + char cVar2; + undefined1 uVar3; + ushort uVar4; + int *piVar5; + longlong lVar6; + longlong lVar7; + undefined8 uVar8; + longlong lVar9; + double dVar10; + undefined **local_90; + undefined4 local_88; + undefined2 local_84; + int *local_80; + undefined1 local_78; + undefined4 local_70 [2]; + undefined8 local_68; + undefined1 local_60; + undefined4 local_5c; + undefined1 local_58; + undefined1 local_57; + int local_50 [2]; + longlong local_48; + longlong local_40; + int local_34; + + lVar7 = param_2; + piVar5 = (int *)(**(code **)(*(longlong *)(param_1 + -0x90) + 0x58))(param_1 + -0x90); + local_80 = piVar5; + FUN_14002e6e0(piVar5); + local_78 = 1; + plVar1 = *(longlong **)(param_1 + 0x1490); + if ((((plVar1 != (longlong *)0x0) && (*plVar1 != 0)) && (plVar1 != (longlong *)0x0)) && + ((*plVar1 != 0 && (*plVar1 != 0x40)))) { + lVar9 = 0; + lVar6 = lVar9; + if (((plVar1 != (longlong *)0x0) && ((*plVar1 != 0 && (plVar1 != (longlong *)0x0)))) && + (*plVar1 != 0)) { + lVar6 = *plVar1 + -0x40; + } + cVar2 = (**(code **)(*(longlong *)(lVar6 + 0x40) + 0x10))(); + if (cVar2 == '\0') { + FUN_1400806d0(local_50); + FUN_1400801a0((longlong)local_50,lVar7,param_3,param_4); + FUN_140080830(local_50,0x800,param_3,param_4); + uVar8 = 0; + FUN_140080830(local_50,0,param_3,param_4); + FUN_14001ba80((longlong)local_50,CONCAT71((int7)((ulonglong)uVar8 >> 8),0x27),param_3,param_4) + ; + local_70[0] = 1; + local_68 = 0; + local_60 = 1; + local_5c = 0xffffffff; + local_58 = 1; + local_57 = DAT_1401551cc; + local_90 = Proud::AddrPort::vftable; + local_88 = *(undefined4 *)(param_2 + 8); + local_84 = *(undefined2 *)(param_2 + 0xc); + plVar1 = *(longlong **)(param_1 + 0x1490); + if ((((plVar1 != (longlong *)0x0) && (*plVar1 != 0)) && (plVar1 != (longlong *)0x0)) && + (lVar9 = 0, *plVar1 != 0)) { + lVar9 = *plVar1 + -0x40; + } + dVar10 = (double)(**(code **)(*(longlong *)(param_1 + -0x20) + 0x1c0))(); + uVar3 = (**(code **)(*(longlong *)(param_1 + -0x90) + 0x30))(param_1 + -0x90); + uVar4 = FUN_140096e50(uVar3,1); + FUN_1400b73e0(lVar9,1,(ulonglong)uVar4,(longlong)&local_90,(longlong)local_50,dVar10, + (undefined8 *)local_70); + FUN_140095270(&local_48); + if ((local_40 != 0) && (local_34 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + } + FUN_14002e770((longlong)piVar5); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006fb10.c b/decomp/Agent_Release_x64/full/functions/0x14006fb10.c new file mode 100644 index 00000000..349817b7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006fb10.c @@ -0,0 +1,156 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006fb10 FUN_14006fb10 + * Pseudocode, not original source. */ + +void FUN_14006fb10(longlong param_1,undefined8 param_2,undefined8 param_3,short *param_4) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + uint *puVar4; + int *piVar5; + longlong *plVar6; + uint *puVar7; + undefined8 uVar8; + uint uVar9; + ulonglong uVar10; + undefined *puVar11; + short *psVar12; + undefined4 *puVar13; + uint uVar14; + undefined4 local_res10 [2]; + uint *local_48; + undefined8 local_40; + int *local_38; + undefined1 local_30; + + local_res10[0] = (undefined4)param_2; + local_40 = 0xfffffffffffffffe; + if (*(longlong *)(param_1 + 0x58) == 0) { + return; + } + psVar12 = param_4; + FUN_140030200(param_1,param_2,param_3,param_4); + local_48 = (uint *)PTR_DAT_140155010; + uVar1 = FUN_140030080(param_4); + uVar14 = 0; + uVar3 = 0; + uVar10 = 0; + if ((local_48 != (uint *)0x0) && (uVar10 = 0, local_48 != (uint *)PTR_DAT_140155010)) { + uVar10 = (ulonglong)local_48[-2]; + } + uVar2 = uVar1; + if ((((int)uVar1 <= (int)uVar10) && (uVar2 = uVar3, local_48 != (uint *)0x0)) && + (local_48 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_48[-2]; + } + uVar9 = 1; + if (1 < (int)uVar2) { + uVar9 = uVar2; + } + uVar2 = uVar3; + if ((local_48 != (uint *)0x0) && (local_48 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_48[-2]; + } + if ((int)uVar2 < (int)uVar9) { + if (local_48 == (uint *)0x0) { + local_48 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar9 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar9 == 0) { + FUN_140003240((longlong *)&local_48,PTR_DAT_140155010,uVar10,psVar12); + } + else { + uVar2 = uVar3; + if ((local_48 != (uint *)0x0) && (local_48 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_48[-2]; + } + if (uVar9 != uVar2) { + puVar4 = (uint *)FUN_140030280((longlong)(int)uVar9 * 2 + 10); + if (puVar4 != (uint *)0x0) { + *puVar4 = 0; + puVar4[1] = 1; + } + *puVar4 = uVar9; + uVar2 = uVar3; + if ((local_48 != (uint *)0x0) && (local_48 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_48[-2]; + } + puVar7 = (uint *)PTR_DAT_140155010; + if ((int)uVar9 < (int)uVar2) { +LAB_14006fc40: + if (local_48 != (uint *)0x0) { + puVar7 = local_48; + } + } + else { + uVar9 = uVar3; + if (local_48 != (uint *)0x0) { + if (local_48 != (uint *)PTR_DAT_140155010) { + uVar9 = local_48[-2]; + } + goto LAB_14006fc40; + } + } + uVar10 = (ulonglong)uVar9; + FUN_1400300b0(puVar4 + 2,puVar7,uVar9); + FUN_140003240((longlong *)&local_48,puVar7,uVar10,psVar12); + local_48 = puVar4 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_48); + puVar4 = local_48; + if (local_48 == (uint *)0x0) { + puVar4 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar4,param_4,uVar1); + puVar4 = local_48; + if (local_48 == (uint *)0x0) { + puVar4 = (uint *)PTR_DAT_140155010; + } + uVar3 = FUN_140030080((short *)puVar4); + uVar1 = uVar14; + if (0 < (int)uVar3) { + uVar1 = uVar3; + } + uVar3 = uVar14; + if ((local_48 != (uint *)0x0) && (local_48 != (uint *)PTR_DAT_140155010)) { + uVar3 = local_48[-2]; + } + if (((int)uVar3 <= (int)uVar1) && (uVar1 = uVar14, local_48 != (uint *)0x0)) { + if (local_48 == (uint *)PTR_DAT_140155010) goto LAB_14006fcf7; + uVar1 = local_48[-2]; + } + if (((local_48 != (uint *)PTR_DAT_140155010) && (local_48 != (uint *)0x0)) && + (local_48 + -2 != (uint *)0x0)) { + local_48[-2] = uVar1; + *(undefined2 *)((longlong)local_48 + (longlong)(int)uVar1 * 2) = 0; + } +LAB_14006fcf7: + plVar6 = (longlong *)(*(longlong *)(param_1 + 0x58) + 0x68); + puVar13 = local_res10; + puVar11 = &DAT_14015de10; + uVar8 = 1; + (**(code **)(*plVar6 + 0x50))(); + puVar4 = local_48; + if (((local_48 != (uint *)0x0) && (local_48 != (uint *)PTR_DAT_140155010)) && + (puVar7 = local_48 + -2, puVar7 != (uint *)0x0)) { + piVar5 = (int *)FUN_140030200(plVar6,uVar8,puVar11,puVar13); + local_38 = piVar5; + FUN_14002e6e0(piVar5); + local_30 = 1; + puVar4 = puVar4 + -1; + *puVar4 = *puVar4 - 1; + if (*puVar4 == 0) { + FUN_1400302f0(puVar7); + } + FUN_14002e770((longlong)piVar5); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006fda0.c b/decomp/Agent_Release_x64/full/functions/0x14006fda0.c new file mode 100644 index 00000000..b704c93e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006fda0.c @@ -0,0 +1,98 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006fda0 FUN_14006fda0 + * Pseudocode, not original source. */ + +ulonglong FUN_14006fda0(longlong param_1,undefined8 param_2,undefined **param_3,undefined8 param_4) + +{ + int iVar1; + longlong *plVar2; + ulonglong in_RAX; + undefined8 *puVar3; + longlong lVar4; + undefined8 uVar5; + ulonglong uVar6; + longlong *plVar7; + longlong lVar8; + undefined ***pppuVar9; + longlong lVar10; + longlong *local_res10; + longlong local_res18 [2]; + undefined **local_38; + int local_30; + undefined2 local_2c; + + if (*(char *)(param_1 + 0x1528) == '\0') { + plVar7 = *(longlong **)(param_1 + 0x1520); + if ((plVar7 == (longlong *)0x0) || (*plVar7 == 0)) { + local_res10 = operator_new(0x1c0); + if (local_res10 == (longlong *)0x0) { + puVar3 = (undefined8 *)0x0; + } + else { + param_3 = (undefined **)0x0; + puVar3 = FUN_1400b74e0(local_res10,param_1,0,param_4); + } + lVar10 = 0; + if ((puVar3 == (undefined8 *)0x0) || (puVar3 + 8 == (undefined8 *)0x0)) { + local_res10 = (longlong *)0x0; + } + else { + local_res10 = (longlong *)FUN_140030280(0x10); + local_res10[1] = 1; + *local_res10 = (longlong)(puVar3 + 8); + } + plVar7 = local_res10; + FUN_1400ad4b0((longlong *)(param_1 + 0x1520),(longlong *)&local_res10); + plVar2 = local_res10; + if (plVar7 != (longlong *)0x0) { + plVar7 = plVar7 + 1; + *plVar7 = *plVar7 + -1; + if (*plVar7 == 0) { + puVar3 = (undefined8 *)*local_res10; + if (puVar3 != (undefined8 *)0x0) { + (**(code **)*puVar3)(puVar3,1); + } + FUN_1400302f0(plVar2); + } + } + lVar4 = lVar10; + if ((*(longlong **)(param_1 + 0x15d8) != (longlong *)0x0) && + (lVar8 = **(longlong **)(param_1 + 0x15d8), lVar8 != 0)) { + lVar4 = lVar8 + -0x40; + } + iVar1 = *(int *)(lVar4 + 0x118); + if ((iVar1 == 0) || (iVar1 == -1)) { + FUN_14002fa10( + L"UDP 소켓을 생성하기 전에 TCP 연결이 이미 되어있는 상태이어야 하는데!" + ); + } + local_38 = Proud::AddrPort::vftable; + local_2c = 0; + if ((*(longlong **)(param_1 + 0x1520) == (longlong *)0x0) || + (lVar4 = **(longlong **)(param_1 + 0x1520), lVar8 = lVar4 + -0x40, lVar4 == 0)) { + lVar8 = lVar10; + } + pppuVar9 = &local_38; + local_30 = iVar1; + uVar5 = FUN_1400b78c0(lVar8,(longlong)pppuVar9,(longlong *)param_3,param_4); + if ((char)uVar5 == '\0') { + local_res18[0] = 0; + uVar6 = FUN_1400ad4b0((longlong *)(param_1 + 0x1520),local_res18); + *(undefined1 *)(param_1 + 0x1528) = 1; + return uVar6 & 0xffffffffffffff00; + } + if ((*(longlong **)(param_1 + 0x1520) != (longlong *)0x0) && + (lVar4 = **(longlong **)(param_1 + 0x1520), lVar4 != 0)) { + lVar10 = lVar4 + -0x40; + } + plVar7 = (longlong *)FUN_1400b6ec0(lVar10,pppuVar9,param_3,param_4); + } + uVar6 = CONCAT71((int7)((ulonglong)plVar7 >> 8),1); + } + else { + uVar6 = in_RAX & 0xffffffffffffff00; + } + return uVar6; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14006ff50.c b/decomp/Agent_Release_x64/full/functions/0x14006ff50.c new file mode 100644 index 00000000..68036208 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14006ff50.c @@ -0,0 +1,83 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14006ff50 FUN_14006ff50 + * Pseudocode, not original source. */ + +ulonglong * +FUN_14006ff50(ulonglong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + undefined8 *puVar2; + int *piVar3; + ulonglong uVar4; + int **ppiVar5; + undefined1 uVar6; + undefined7 uVar7; + bool bVar8; + int *local_res10; + + uVar6 = (undefined1)param_3; + uVar7 = (undefined7)((ulonglong)param_3 >> 8); + LOCK(); + bVar8 = DAT_14015e040 == 0; + if (bVar8) { + DAT_14015e040 = 1; + } + UNLOCK(); + if (bVar8) { + puVar2 = (undefined8 *)FUN_140030280(0x2c0); + if (puVar2 == (undefined8 *)0x0) { + puVar2 = (undefined8 *)0x0; + } + else { + puVar2 = FUN_1400ac3e0(puVar2,param_2,CONCAT71(uVar7,uVar6),param_4); + } + if (puVar2 == (undefined8 *)0x0) { + local_res10 = (int *)0x0; + } + else { + piVar3 = (int *)FUN_140030280(0x48); + if (piVar3 != (int *)0x0) { + local_res10 = piVar3; + uVar4 = FUN_14002e790(); + uVar6 = 1; + FUN_14002e600(piVar3,uVar4 & 0xffffffff,CONCAT71(uVar7,1),param_4); + } + local_res10 = piVar3; + FUN_14002e6e0(piVar3); + piVar3[0x10] = 1; + piVar3[0x11] = 0; + *(undefined8 **)(piVar3 + 0xe) = puVar2; + FUN_14002e770((longlong)piVar3); + } + ppiVar5 = &local_res10; + FUN_140066320((ulonglong *)&DAT_14015e048,(ulonglong *)ppiVar5,CONCAT71(uVar7,uVar6),param_4); + FUN_140066060((longlong *)&local_res10,ppiVar5,CONCAT71(uVar7,uVar6),param_4); + LOCK(); + UNLOCK(); + DAT_14015e040 = 2; + } + else { + LOCK(); + iVar1 = DAT_14015e040; + if (DAT_14015e040 == 9999) { + DAT_14015e040 = 999; + iVar1 = 9999; + } + UNLOCK(); + while (iVar1 != 2) { + Sleep(5); + LOCK(); + iVar1 = DAT_14015e040; + if (DAT_14015e040 == 9999) { + DAT_14015e040 = 999; + iVar1 = 9999; + } + UNLOCK(); + } + } + *param_1 = 0; + FUN_140066320(param_1,(ulonglong *)&DAT_14015e048,CONCAT71(uVar7,uVar6),param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400700b0.c b/decomp/Agent_Release_x64/full/functions/0x1400700b0.c new file mode 100644 index 00000000..3b502293 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400700b0.c @@ -0,0 +1,78 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400700b0 FUN_1400700b0 + * Pseudocode, not original source. */ + +void FUN_1400700b0(longlong param_1,int param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + LPVOID pvVar2; + int iVar3; + longlong lVar4; + longlong lVar5; + exception local_58 [80]; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar3 = *(int *)(param_1 + 0x18); + if (param_2 != iVar3) { + if (*(int *)(param_1 + 0x1c) < param_2) { + iVar3 = FUN_140064390(param_1,param_2); + plVar1 = *(longlong **)(param_1 + 8); + lVar4 = (longlong)iVar3; + if (*(int *)(param_1 + 0x1c) == 0) { + if (plVar1 == (longlong *)0x0) { + lVar4 = FUN_140030280(lVar4 * 0x48); + } + else { + lVar4 = (**(code **)(*plVar1 + 8))(plVar1,lVar4 * 0x48); + } + *(longlong *)(param_1 + 0x10) = lVar4; + FUN_140066880(lVar4,(longlong)param_2); + } + else { + pvVar2 = *(LPVOID *)(param_1 + 0x10); + if (plVar1 == (longlong *)0x0) { + lVar4 = FUN_140030280(lVar4 * 0x48); + } + else { + lVar4 = (**(code **)(*plVar1 + 8))(plVar1,lVar4 * 0x48); + } + lVar5 = (longlong)*(int *)(param_1 + 0x18); + FUN_140066920(lVar4,(longlong)pvVar2,lVar5); + FUN_140066880(lVar4 + (longlong)*(int *)(param_1 + 0x18) * 0x48, + (longlong)(param_2 - *(int *)(param_1 + 0x18))); + if (lVar4 == 0) { + FUN_14002f1e0(local_58,L"Memory allocation failure!",lVar5,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + FUN_1400867c0((longlong)pvVar2,(longlong)*(int *)(param_1 + 0x18)); + plVar1 = *(longlong **)(param_1 + 8); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(pvVar2); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,pvVar2); + } + *(longlong *)(param_1 + 0x10) = lVar4; + } + *(int *)(param_1 + 0x1c) = iVar3; + } + else if (iVar3 - param_2 < 1) { + if (0 < param_2 - iVar3) { + FUN_140066880(*(longlong *)(param_1 + 0x10) + (longlong)iVar3 * 0x48, + (longlong)(param_2 - iVar3)); + } + } + else { + FUN_1400867c0(*(longlong *)(param_1 + 0x10) + (longlong)param_2 * 0x48, + (longlong)(iVar3 - param_2)); + } + *(int *)(param_1 + 0x18) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140070260.c b/decomp/Agent_Release_x64/full/functions/0x140070260.c new file mode 100644 index 00000000..c6e001e0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140070260.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140070260 FUN_140070260 + * Pseudocode, not original source. */ + +uint * FUN_140070260(char *param_1,uint *param_2) + +{ + uint uVar1; + uint *puVar2; + ulonglong uVar3; + undefined4 *puVar4; + uint uVar5; + + uVar1 = *param_2; + uVar3 = (ulonglong)uVar1 % (ulonglong)*(uint *)(param_1 + 0x28); + uVar5 = (uint)uVar3; + if (*(longlong *)(param_1 + 8) != 0) { + for (puVar2 = *(uint **)(*(longlong *)(param_1 + 8) + uVar3 * 8); + (puVar2 != (uint *)0x0 && (uVar5 == puVar2[8] % *(uint *)(param_1 + 0x28))); + puVar2 = *(uint **)(puVar2 + 4)) { + if (*puVar2 == uVar1) { + return puVar2 + 2; + } + } + } + puVar4 = FUN_140067740(param_1,param_2,uVar5,uVar1); + return puVar4 + 2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400702d0.c b/decomp/Agent_Release_x64/full/functions/0x1400702d0.c new file mode 100644 index 00000000..d6e93c7a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400702d0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400702d0 FUN_1400702d0 + * Pseudocode, not original source. */ + +void FUN_1400702d0(longlong *param_1,LPVOID param_2) + +{ + longlong *plVar1; + undefined8 *puVar2; + + if (*(longlong *)((longlong)param_2 + 0x10) != 0) { + *(longlong *)(*(longlong *)((longlong)param_2 + 0x10) + 8) = + *(longlong *)(*(longlong *)((longlong)param_2 + 0x10) + 8) + -1; + if (*(longlong *)(*(longlong *)((longlong)param_2 + 0x10) + 8) == 0) { + plVar1 = *(longlong **)((longlong)param_2 + 0x10); + puVar2 = (undefined8 *)*plVar1; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(plVar1); + } + } + plVar1 = (longlong *)*param_1; + if (plVar1 != (longlong *)0x0) { + (**(code **)(*plVar1 + 0x10))(plVar1,param_2); + param_1[3] = param_1[3] + -1; + return; + } + FUN_1400302f0(param_2); + param_1[3] = param_1[3] + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140070370.c b/decomp/Agent_Release_x64/full/functions/0x140070370.c new file mode 100644 index 00000000..23340816 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140070370.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140070370 FUN_140070370 + * Pseudocode, not original source. */ + +void FUN_140070370(longlong *param_1,LPVOID param_2) + +{ + longlong *plVar1; + + FUN_140095270((longlong *)((longlong)param_2 + 0x18)); + if (*(longlong *)((longlong)param_2 + 0x20) != 0) { + if (*(int *)((longlong)param_2 + 0x2c) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)((longlong)param_2 + 0x28) = 0; + } + plVar1 = (longlong *)*param_1; + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(param_2); + } + else { + (**(code **)(*plVar1 + 0x10))(plVar1,param_2); + } + param_1[3] = param_1[3] + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400703e0.c b/decomp/Agent_Release_x64/full/functions/0x1400703e0.c new file mode 100644 index 00000000..f4e27433 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400703e0.c @@ -0,0 +1,67 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400703e0 FUN_1400703e0 + * Pseudocode, not original source. */ + +undefined1 FUN_1400703e0(longlong *param_1,undefined8 param_2,SIZE_T param_3,longlong param_4) + +{ + uint uVar1; + undefined1 uVar2; + undefined8 *puVar3; + SIZE_T SVar4; + longlong lVar5; + undefined4 local_res10 [4]; + longlong *local_res20; + undefined4 local_40; + undefined4 local_3c; + longlong local_38; + longlong local_30; + int local_24; + + local_res10[0] = (undefined4)param_2; + SVar4 = param_3; + lVar5 = param_4; + FUN_1400806d0(&local_40); + FUN_1400801a0((longlong)&local_40,param_2,SVar4,lVar5); + FUN_1400221b0((longlong)&local_40,0xfa06,SVar4,lVar5); + uVar1 = *(uint *)(param_4 + 0x18); + FUN_140081aa0((longlong)&local_40,(longlong)(int)uVar1,SVar4,lVar5); + if (*(int *)(param_4 + 0x18) == 0) { + puVar3 = (undefined8 *)0x0; + } + else { + puVar3 = *(undefined8 **)(param_4 + 0x10); + } + if (uVar1 == 0) goto LAB_1400704a1; + local_3c = 0; + if (local_38 == 0) { + if (local_30 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar3,SVar4,lVar5); + } +LAB_140070473: + SVar4 = (SIZE_T)uVar1; + FUN_14001bb60(&local_30,puVar3,SVar4,lVar5); + } + else { + if (local_30 != 0) goto LAB_140070473; + if (local_38 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar3,SVar4,lVar5); + } + SVar4 = (SIZE_T)uVar1; + FUN_14001bd90(local_38,puVar3,SVar4); + } + FUN_14001be00((longlong)&local_40,puVar3,SVar4,lVar5); +LAB_1400704a1: + uVar2 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,&local_40,PTR_DAT_140156150,0xfa06); + local_res20 = &local_38; + FUN_140095270(&local_38); + if ((local_30 != 0) && (local_24 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140070520.c b/decomp/Agent_Release_x64/full/functions/0x140070520.c new file mode 100644 index 00000000..42fef809 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140070520.c @@ -0,0 +1,68 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140070520 FUN_140070520 + * Pseudocode, not original source. */ + +undefined1 +FUN_140070520(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4, + longlong param_5) + +{ + uint uVar1; + undefined1 uVar2; + undefined8 uVar3; + undefined8 *puVar4; + SIZE_T SVar5; + undefined8 uVar6; + ulonglong uVar7; + undefined4 local_40; + undefined4 local_3c; + longlong local_38; + longlong local_30; + int local_24; + + uVar7 = param_3 & 0xffffffff; + uVar3 = param_2; + uVar6 = param_4; + FUN_1400806d0(&local_40); + FUN_1400801a0((longlong)&local_40,uVar3,param_3,uVar6); + FUN_1400221b0((longlong)&local_40,0xfa06,param_3,uVar6); + uVar1 = *(uint *)(param_5 + 0x18); + FUN_140081aa0((longlong)&local_40,(longlong)(int)uVar1,param_3,uVar6); + if (*(int *)(param_5 + 0x18) == 0) { + puVar4 = (undefined8 *)0x0; + } + else { + puVar4 = *(undefined8 **)(param_5 + 0x10); + } + if (uVar1 == 0) goto LAB_1400705f0; + local_3c = 0; + if (local_38 == 0) { + if (local_30 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar4,param_3,uVar6); + } +LAB_1400705c2: + SVar5 = (SIZE_T)uVar1; + FUN_14001bb60(&local_30,puVar4,SVar5,uVar6); + } + else { + if (local_30 != 0) goto LAB_1400705c2; + if (local_38 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar4,param_3,uVar6); + } + SVar5 = (SIZE_T)uVar1; + FUN_14001bd90(local_38,puVar4,SVar5); + } + FUN_14001be00((longlong)&local_40,puVar4,SVar5,uVar6); +LAB_1400705f0: + uVar2 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,uVar7,param_4,&local_40,PTR_DAT_140156150,0xfa06); + FUN_140095270(&local_38); + if ((local_30 != 0) && (local_24 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140070670.c b/decomp/Agent_Release_x64/full/functions/0x140070670.c new file mode 100644 index 00000000..902993c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140070670.c @@ -0,0 +1,51 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140070670 FUN_140070670 + * Pseudocode, not original source. */ + +undefined8 FUN_140070670(longlong param_1,undefined8 param_2,undefined **param_3,longlong *param_4) + +{ + int *piVar1; + undefined8 uVar2; + longlong *plVar3; + longlong lVar4; + undefined **ppuVar5; + char local_res8 [8]; + undefined8 uVar6; + longlong local_30; + undefined8 local_28; + undefined4 local_20; + undefined2 local_1c; + int *local_18; + undefined1 local_10; + + uVar6 = 0xfffffffffffffffe; + plVar3 = param_4; + piVar1 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + local_18 = piVar1; + FUN_14002e6e0(piVar1); + local_10 = 1; + uVar2 = FUN_14006fda0(*(longlong *)(param_1 + 0x20),param_2,param_3,plVar3); + local_res8[0] = (char)uVar2; + if (local_res8[0] != '\0') { + FUN_140064f20(*(longlong **)(param_1 + 0x20),param_2,param_3,plVar3); + ppuVar5 = (undefined **)*param_4; + if ((undefined **)*param_4 == (undefined **)0x0) { + ppuVar5 = (undefined **)PTR_DAT_140155008; + } + plVar3 = FUN_140038390(&local_30,ppuVar5,(ulonglong)param_3,plVar3); + FUN_1400333e0(&local_28,plVar3,(short)param_4[1]); + plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x20) + 0x1570); + lVar4 = 0; + if (plVar3 != (longlong *)0x0) { + lVar4 = *plVar3; + } + *(undefined4 *)(lVar4 + 0xd0) = local_20; + *(undefined2 *)(lVar4 + 0xd4) = local_1c; + } + plVar3 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0x1818); + (**(code **)(*plVar3 + 0x130))(plVar3,1,&DAT_14015de10,local_res8,uVar6); + uVar2 = FUN_14002e770((longlong)piVar1); + return CONCAT71((int7)((ulonglong)uVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140070760.c b/decomp/Agent_Release_x64/full/functions/0x140070760.c new file mode 100644 index 00000000..29828211 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140070760.c @@ -0,0 +1,56 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140070760 FUN_140070760 + * Pseudocode, not original source. */ + +undefined8 +FUN_140070760(longlong param_1,undefined8 param_2,undefined **param_3,char *param_4, + longlong *param_5) + +{ + int *piVar1; + undefined8 uVar2; + longlong *plVar3; + longlong lVar4; + undefined **ppuVar5; + longlong lVar6; + char *pcVar7; + longlong local_res8; + undefined8 local_30; + undefined4 local_28; + undefined2 local_24; + int *local_20; + undefined1 local_18; + + pcVar7 = param_4; + piVar1 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + local_20 = piVar1; + FUN_14002e6e0(piVar1); + local_18 = 1; + lVar6 = 0; + if ((*param_4 != '\0') && + (uVar2 = FUN_14006fda0(*(longlong *)(param_1 + 0x20),param_2,param_3,pcVar7), + (char)uVar2 != '\0')) { + FUN_140064f20(*(longlong **)(param_1 + 0x20),param_2,param_3,pcVar7); + ppuVar5 = (undefined **)*param_5; + if ((undefined **)*param_5 == (undefined **)0x0) { + ppuVar5 = (undefined **)PTR_DAT_140155008; + } + plVar3 = FUN_140038390(&local_res8,ppuVar5,(ulonglong)param_3,pcVar7); + FUN_1400333e0(&local_30,plVar3,(short)param_5[1]); + plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x20) + 0x1570); + lVar4 = lVar6; + if (plVar3 != (longlong *)0x0) { + lVar4 = *plVar3; + } + *(undefined4 *)(lVar4 + 0xd0) = local_28; + *(undefined2 *)(lVar4 + 0xd4) = local_24; + } + plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x20) + 0x1570); + if (plVar3 != (longlong *)0x0) { + lVar6 = *plVar3; + } + *(undefined1 *)(lVar6 + 0x40) = 0; + uVar2 = FUN_14002e770((longlong)piVar1); + return CONCAT71((int7)((ulonglong)uVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140070860.c b/decomp/Agent_Release_x64/full/functions/0x140070860.c new file mode 100644 index 00000000..1370bf74 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140070860.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140070860 FUN_140070860 + * Pseudocode, not original source. */ + +longlong * FUN_140070860(longlong *param_1,longlong *param_2,uint param_3) + +{ + uint *puVar1; + ulonglong uVar2; + int *piVar3; + + piVar3 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar3); + *param_2 = 0; + uVar2 = (ulonglong)param_3 % (ulonglong)*(uint *)(param_1 + 0x2cf); + if (param_1[0x2cb] != 0) { + puVar1 = *(uint **)(param_1[0x2cb] + uVar2 * 8); + while( true ) { + if ((puVar1 == (uint *)0x0) || ((uint)uVar2 != puVar1[8] % *(uint *)(param_1 + 0x2cf))) + goto LAB_140070908; + if (*puVar1 == param_3) break; + puVar1 = *(uint **)(puVar1 + 4); + } + FUN_1400ad4b0(param_2,(longlong *)(puVar1 + 2)); + } +LAB_140070908: + FUN_14003d560((char *)(param_1 + 0x2ca)); + FUN_14002e770((longlong)piVar3); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140070930.c b/decomp/Agent_Release_x64/full/functions/0x140070930.c new file mode 100644 index 00000000..b2aba389 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140070930.c @@ -0,0 +1,73 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140070930 FUN_140070930 + * Pseudocode, not original source. */ + +longlong * FUN_140070930(longlong *param_1,uint param_2,longlong *param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + bool bVar2; + int *piVar3; + longlong *plVar4; + longlong *plVar5; + ulonglong uVar6; + wchar_t *pwVar7; + longlong *local_res8; + + piVar3 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar3); + uVar6 = (ulonglong)param_2; + FUN_140070860(param_1,(longlong *)&local_res8,param_2); + plVar4 = (longlong *)0x0; + if ((local_res8 == (longlong *)0x0) || (*local_res8 == 0)) { + if (*(uint *)(param_1 + 0x2af) == param_2) { + plVar5 = param_1 + 0x1b; + goto LAB_1400709bf; + } + plVar5 = plVar4; + if (param_2 == 1) { + plVar5 = param_1 + 0xe1; + goto LAB_1400709bf; + } + } + else { + plVar5 = (longlong *)(*local_res8 + 0x168); +LAB_1400709bf: + if (plVar5 != (longlong *)0x0) { + bVar2 = FUN_140090f90((longlong)plVar5); + if ((!bVar2) || (((char)plVar5[0x7f] == '\0' && ((int)plVar5[0x7d] == 0)))) { + FUN_14001b7a0(param_3,L"key not exists!",uVar6,param_4); + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + FUN_14002e770((longlong)piVar3); + return (longlong *)0x0; + } + goto LAB_140070a78; + } + } + if (local_res8 != (longlong *)0x0) { + plVar4 = (longlong *)*local_res8; + } + pwVar7 = L"not NULL"; + if (plVar4 == (longlong *)0x0) { + pwVar7 = L"NULL"; + } + FUN_14001b7a0(param_3,L"%d remote rp is %s in netclient!",(ulonglong)param_2,pwVar7); +LAB_140070a78: + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + FUN_14002e770((longlong)piVar3); + return plVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140070ae0.c b/decomp/Agent_Release_x64/full/functions/0x140070ae0.c new file mode 100644 index 00000000..e860a7ca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140070ae0.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140070ae0 FUN_140070ae0 + * Pseudocode, not original source. */ + +ulonglong FUN_140070ae0(longlong param_1,uint param_2,longlong param_3) + +{ + longlong *plVar1; + uint *puVar2; + undefined8 *puVar3; + int *piVar4; + undefined8 uVar5; + ulonglong uVar6; + longlong lVar7; + longlong *local_res8; + + piVar4 = (int *)(**(code **)(*(longlong *)(param_1 + -0x70) + 0x58))(); + FUN_14002e6e0(piVar4); + lVar7 = 0; + local_res8 = (longlong *)0x0; + uVar6 = (ulonglong)param_2 % (ulonglong)*(uint *)(param_1 + 0x1608); + if (*(longlong *)(param_1 + 0x15e8) != 0) { + for (puVar2 = *(uint **)(*(longlong *)(param_1 + 0x15e8) + uVar6 * 8); + (puVar2 != (uint *)0x0 && ((uint)uVar6 == puVar2[8] % *(uint *)(param_1 + 0x1608))); + puVar2 = *(uint **)(puVar2 + 4)) { + if (*puVar2 == param_2) { + if (*(longlong *)(puVar2 + 2) != 0) { + *(longlong *)(*(longlong *)(puVar2 + 2) + 8) = + *(longlong *)(*(longlong *)(puVar2 + 2) + 8) + 1; + local_res8 = *(longlong **)(puVar2 + 2); + } + FUN_14003d560((char *)(param_1 + 0x15e0)); + if (local_res8 != (longlong *)0x0) { + lVar7 = *local_res8; + } + FUN_1400b5d70(lVar7,param_3); + if (local_res8 != (longlong *)0x0) { + plVar1 = local_res8 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + puVar3 = (undefined8 *)*local_res8; + if (puVar3 != (undefined8 *)0x0) { + (**(code **)*puVar3)(puVar3,1); + } + FUN_1400302f0(local_res8); + } + } + uVar5 = FUN_14002e770((longlong)piVar4); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); + } + } + } + FUN_14003d560((char *)(param_1 + 0x15e0)); + uVar6 = FUN_14002e770((longlong)piVar4); + return uVar6 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140070c40.c b/decomp/Agent_Release_x64/full/functions/0x140070c40.c new file mode 100644 index 00000000..57c04000 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140070c40.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140070c40 FUN_140070c40 + * Pseudocode, not original source. */ + +double FUN_140070c40(longlong param_1,uint param_2) + +{ + undefined8 *puVar1; + int *piVar2; + longlong lVar3; + double dVar4; + double dVar5; + longlong *local_res8; + + piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0x70) + 0x58))(param_1 + -0x70); + FUN_14002e6e0(piVar2); + dVar4 = FUN_14003a420((char *)(param_1 + 0x15b0)); + FUN_140070860((longlong *)(param_1 + -0x70),(longlong *)&local_res8,param_2); + if ((local_res8 == (longlong *)0x0) || (*local_res8 == 0)) { + dVar4 = dVar4 - *(double *)(param_1 + 0x480); + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) + { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + } + else { + *(undefined1 *)(*local_res8 + 0x21) = 1; + if (local_res8 == (longlong *)0x0) { + lVar3 = 0; + } + else { + lVar3 = *local_res8; + } + dVar5 = (double)(**(code **)(*(longlong *)(lVar3 + 8) + 0x10))(); + dVar4 = dVar4 - dVar5; + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) + { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + } + FUN_14002e770((longlong)piVar2); + return dVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140070d80.c b/decomp/Agent_Release_x64/full/functions/0x140070d80.c new file mode 100644 index 00000000..d86c1f6f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140070d80.c @@ -0,0 +1,73 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140070d80 FUN_140070d80 + * Pseudocode, not original source. */ + +ulonglong FUN_140070d80(longlong *param_1,uint param_2,undefined2 *param_3) + +{ + undefined8 *puVar1; + int *piVar2; + undefined8 uVar3; + ulonglong uVar4; + longlong *local_res8; + + piVar2 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar2); + if ((((longlong *)param_1[699] != (longlong *)0x0) && (*(longlong *)param_1[699] != 0)) && + ((int)param_1[0x2af] != 0)) { + FUN_140070860(param_1,(longlong *)&local_res8,param_2); + if ((local_res8 != (longlong *)0x0) && (*local_res8 != 0)) { + *param_3 = *(undefined2 *)(*local_res8 + 0x568); + *(short *)(*local_res8 + 0x568) = *(short *)(*local_res8 + 0x568) + 1; + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + uVar3 = FUN_14002e770((longlong)piVar2); + return CONCAT71((int7)((ulonglong)uVar3 >> 8),1); + } + if (*(uint *)(param_1 + 0x2af) == param_2) { + *param_3 = (short)param_1[0x9b]; + *(short *)(param_1 + 0x9b) = (short)param_1[0x9b] + 1; + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + uVar3 = FUN_14002e770((longlong)piVar2); + return CONCAT71((int7)((ulonglong)uVar3 >> 8),1); + } + if (param_2 == 1) { + *param_3 = (short)param_1[0xe0]; + *(short *)(param_1 + 0xe0) = (short)param_1[0xe0] + 1; + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + uVar3 = FUN_14002e770((longlong)piVar2); + return CONCAT71((int7)((ulonglong)uVar3 >> 8),1); + } + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) + { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + } + uVar4 = FUN_14002e770((longlong)piVar2); + return uVar4 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140070f80.c b/decomp/Agent_Release_x64/full/functions/0x140070f80.c new file mode 100644 index 00000000..77b7dcce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140070f80.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140070f80 FUN_140070f80 + * Pseudocode, not original source. */ + +void FUN_140070f80(longlong *param_1,uint param_2) + +{ + short *psVar1; + undefined8 *puVar2; + int *piVar3; + longlong *local_res8; + + piVar3 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar3); + if ((((longlong *)param_1[699] != (longlong *)0x0) && (*(longlong *)param_1[699] != 0)) && + ((int)param_1[0x2af] != 0)) { + FUN_140070860(param_1,(longlong *)&local_res8,param_2); + if ((local_res8 == (longlong *)0x0) || (*local_res8 == 0)) { + if (*(uint *)(param_1 + 0x2af) == param_2) { + *(short *)(param_1 + 0x9b) = (short)param_1[0x9b] + -1; + } + else if (param_2 == 1) { + *(short *)(param_1 + 0xe0) = (short)param_1[0xe0] + -1; + } + } + else { + psVar1 = (short *)(*local_res8 + 0x568); + *psVar1 = *psVar1 + -1; + } + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) + { + puVar2 = (undefined8 *)*local_res8; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(local_res8); + } + } + FUN_14002e770((longlong)piVar3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400710a0.c b/decomp/Agent_Release_x64/full/functions/0x1400710a0.c new file mode 100644 index 00000000..afd3ea5b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400710a0.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400710a0 FUN_1400710a0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400710a0(longlong *param_1,uint param_2,undefined2 *param_3) + +{ + undefined8 *puVar1; + int *piVar2; + undefined8 uVar3; + ulonglong uVar4; + longlong *local_res8; + + piVar2 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar2); + FUN_140070860(param_1,(longlong *)&local_res8,param_2); + if ((local_res8 == (longlong *)0x0) || (*local_res8 == 0)) { + if (*(uint *)(param_1 + 0x2af) == param_2) { + *param_3 = *(undefined2 *)((longlong)param_1 + 0x4da); + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + uVar3 = FUN_14002e770((longlong)piVar2); + uVar4 = CONCAT71((int7)((ulonglong)uVar3 >> 8),1); + } + else if (param_2 == 1) { + *param_3 = *(undefined2 *)((longlong)param_1 + 0x702); + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + uVar3 = FUN_14002e770((longlong)piVar2); + uVar4 = CONCAT71((int7)((ulonglong)uVar3 >> 8),1); + } + else { + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + uVar4 = FUN_14002e770((longlong)piVar2); + uVar4 = uVar4 & 0xffffffffffffff00; + } + } + else { + *param_3 = *(undefined2 *)(*local_res8 + 0x56a); + local_res8[1] = local_res8[1] + -1; + if (local_res8[1] == 0) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + uVar3 = FUN_14002e770((longlong)piVar2); + uVar4 = CONCAT71((int7)((ulonglong)uVar3 >> 8),1); + } + return uVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140071250.c b/decomp/Agent_Release_x64/full/functions/0x140071250.c new file mode 100644 index 00000000..d64dda84 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140071250.c @@ -0,0 +1,74 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140071250 FUN_140071250 + * Pseudocode, not original source. */ + +ulonglong FUN_140071250(longlong *param_1,uint param_2) + +{ + short *psVar1; + undefined8 *puVar2; + int *piVar3; + undefined8 uVar4; + ulonglong uVar5; + longlong *local_res8; + + piVar3 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar3); + FUN_140070860(param_1,(longlong *)&local_res8,param_2); + if ((local_res8 == (longlong *)0x0) || (*local_res8 == 0)) { + if (*(uint *)(param_1 + 0x2af) == param_2) { + *(short *)((longlong)param_1 + 0x4da) = *(short *)((longlong)param_1 + 0x4da) + 1; + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar2 = (undefined8 *)*local_res8; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(local_res8); + } + uVar4 = FUN_14002e770((longlong)piVar3); + uVar5 = CONCAT71((int7)((ulonglong)uVar4 >> 8),1); + } + else if (param_2 == 1) { + *(short *)((longlong)param_1 + 0x702) = *(short *)((longlong)param_1 + 0x702) + 1; + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar2 = (undefined8 *)*local_res8; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(local_res8); + } + uVar4 = FUN_14002e770((longlong)piVar3); + uVar5 = CONCAT71((int7)((ulonglong)uVar4 >> 8),1); + } + else { + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar2 = (undefined8 *)*local_res8; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(local_res8); + } + uVar5 = FUN_14002e770((longlong)piVar3); + uVar5 = uVar5 & 0xffffffffffffff00; + } + } + else { + psVar1 = (short *)(*local_res8 + 0x56a); + *psVar1 = *psVar1 + 1; + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) + { + puVar2 = (undefined8 *)*local_res8; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(local_res8); + } + uVar4 = FUN_14002e770((longlong)piVar3); + uVar5 = CONCAT71((int7)((ulonglong)uVar4 >> 8),1); + } + return uVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400713f0.c b/decomp/Agent_Release_x64/full/functions/0x1400713f0.c new file mode 100644 index 00000000..083c0e84 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400713f0.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400713f0 FUN_1400713f0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400713f0(longlong param_1,undefined8 *param_2,uint param_3) + +{ + undefined8 *puVar1; + int *piVar2; + longlong *plVar3; + longlong lVar4; + longlong *local_res8; + + plVar3 = (longlong *)(param_1 + -0x70); + piVar2 = (int *)(**(code **)(*plVar3 + 0x58))(plVar3); + FUN_14002e6e0(piVar2); + plVar3 = FUN_140070860(plVar3,(longlong *)&local_res8,param_3); + lVar4 = 0; + if ((longlong *)*plVar3 != (longlong *)0x0) { + lVar4 = *(longlong *)*plVar3; + } + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + if (((lVar4 == 0) || (*(longlong **)(lVar4 + 0x18) == (longlong *)0x0)) || + (**(longlong **)(lVar4 + 0x18) == 0)) { + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = DAT_1401553d0; + *(undefined2 *)((longlong)param_2 + 0xc) = DAT_1401553d4; + } + else { + lVar4 = FUN_1400b34a0(lVar4); + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = *(undefined4 *)(lVar4 + 0x130); + *(undefined2 *)((longlong)param_2 + 0xc) = *(undefined2 *)(lVar4 + 0x134); + } + FUN_14002e770((longlong)piVar2); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140071510.c b/decomp/Agent_Release_x64/full/functions/0x140071510.c new file mode 100644 index 00000000..3abc507d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140071510.c @@ -0,0 +1,78 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140071510 FUN_140071510 + * Pseudocode, not original source. */ + +ulonglong FUN_140071510(longlong param_1,uint param_2,undefined4 *param_3) + +{ + longlong *plVar1; + uint uVar2; + undefined8 *puVar3; + int *piVar4; + longlong lVar5; + ulonglong uVar6; + uint *puVar7; + longlong lVar8; + longlong *local_res8; + undefined8 uVar9; + + uVar9 = 0xfffffffffffffffe; + piVar4 = (int *)(**(code **)(*(longlong *)(param_1 + -0x70) + 0x58))(); + FUN_14002e6e0(piVar4); + lVar8 = 0; + local_res8 = (longlong *)0x0; + uVar2 = *(uint *)(param_1 + 0x1608); + uVar6 = (ulonglong)param_2 % (ulonglong)uVar2; + puVar7 = (uint *)0x0; + if (*(longlong *)(param_1 + 0x15e8) != 0) { + puVar7 = *(uint **)(*(longlong *)(param_1 + 0x15e8) + uVar6 * 8); + while( true ) { + if ((puVar7 == (uint *)0x0) || ((uint)uVar6 != puVar7[8] % uVar2)) goto LAB_140071641; + if (*puVar7 == param_2) break; + puVar7 = *(uint **)(puVar7 + 4); + } + lVar5 = lVar8; + if (*(longlong *)(puVar7 + 2) != 0) { + *(longlong *)(*(longlong *)(puVar7 + 2) + 8) = + *(longlong *)(*(longlong *)(puVar7 + 2) + 8) + 1; + local_res8 = *(longlong **)(puVar7 + 2); + if (local_res8 != (longlong *)0x0) { + lVar5 = *local_res8; + } + } + if (*(longlong *)(lVar5 + 0x640) != 0) { + if (local_res8 != (longlong *)0x0) { + lVar8 = *local_res8; + } + FUN_1400b7c00(*(longlong *)(lVar8 + 0x640),param_3); + if (local_res8 != (longlong *)0x0) { + plVar1 = local_res8 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + puVar3 = (undefined8 *)*local_res8; + if (puVar3 != (undefined8 *)0x0) { + (**(code **)*puVar3)(puVar3,1); + } + FUN_1400302f0(local_res8); + } + } + uVar9 = FUN_14002e770((longlong)piVar4); + return CONCAT71((int7)((ulonglong)uVar9 >> 8),1); + } + } +LAB_140071641: + if (local_res8 != (longlong *)0x0) { + plVar1 = local_res8 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + puVar3 = (undefined8 *)*local_res8; + if (puVar3 != (undefined8 *)0x0) { + (**(code **)*puVar3)(puVar3,1,puVar7,(ulonglong)uVar2,uVar9,piVar4,1); + } + FUN_1400302f0(local_res8); + } + } + uVar6 = FUN_14002e770((longlong)piVar4); + return uVar6 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400716a0.c b/decomp/Agent_Release_x64/full/functions/0x1400716a0.c new file mode 100644 index 00000000..53b32184 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400716a0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400716a0 FUN_1400716a0 + * Pseudocode, not original source. */ + +bool FUN_1400716a0(longlong param_1,uint param_2) + +{ + undefined8 *puVar1; + int *piVar2; + longlong *plVar3; + longlong lVar4; + longlong *local_res8; + + plVar3 = (longlong *)(param_1 + -0x70); + piVar2 = (int *)(**(code **)(*plVar3 + 0x58))(plVar3); + FUN_14002e6e0(piVar2); + plVar3 = FUN_140070860(plVar3,(longlong *)&local_res8,param_2); + lVar4 = 0; + if ((longlong *)*plVar3 != (longlong *)0x0) { + lVar4 = *(longlong *)*plVar3; + } + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + if (lVar4 == 0) { + FUN_14002e770((longlong)piVar2); + } + else { + *(undefined1 *)(lVar4 + 0x20) = 1; + FUN_14002e770((longlong)piVar2); + } + return lVar4 != 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140071770.c b/decomp/Agent_Release_x64/full/functions/0x140071770.c new file mode 100644 index 00000000..6f6211fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140071770.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140071770 FUN_140071770 + * Pseudocode, not original source. */ + +ulonglong FUN_140071770(longlong param_1,uint param_2,longlong param_3) + +{ + undefined8 *puVar1; + int *piVar2; + longlong *plVar3; + ulonglong uVar4; + longlong lVar5; + longlong *local_res8; + + plVar3 = (longlong *)(param_1 + -0x70); + piVar2 = (int *)(**(code **)(*plVar3 + 0x58))(plVar3); + FUN_14002e6e0(piVar2); + if (param_2 != 1) { + plVar3 = FUN_140070860(plVar3,(longlong *)&local_res8,param_2); + lVar5 = 0; + if ((longlong *)*plVar3 != (longlong *)0x0) { + lVar5 = *(longlong *)*plVar3; + } + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) + { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + if (lVar5 != 0) { + *(undefined1 *)(lVar5 + 0x21) = 1; + FUN_1400b3760(lVar5,param_3); + uVar4 = FUN_140033290(param_3); + if ((((char)uVar4 == '\0') || (uVar4 = FUN_140033290(param_3 + 0x10), (char)uVar4 == '\0')) || + (uVar4 = FUN_140033290(param_3 + 0x20), (char)uVar4 == '\0')) { + uVar4 = 0; + } + else { + uVar4 = 1; + } + FUN_14002e770((longlong)piVar2); + return uVar4; + } + } + uVar4 = FUN_14002e770((longlong)piVar2); + return uVar4 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140071890.c b/decomp/Agent_Release_x64/full/functions/0x140071890.c new file mode 100644 index 00000000..b99e110d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140071890.c @@ -0,0 +1,73 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140071890 FUN_140071890 + * Pseudocode, not original source. */ + +ulonglong FUN_140071890(longlong param_1,uint param_2,longlong param_3,undefined *param_4) + +{ + undefined8 *puVar1; + char cVar2; + int *piVar3; + longlong *plVar4; + ulonglong uVar5; + longlong lVar6; + ulonglong uVar7; + longlong lVar8; + longlong *plVar9; + longlong *plVar10; + longlong *local_res8; + + piVar3 = (int *)(**(code **)(*(longlong *)(param_1 + -0x70) + 0x58))(param_1 + -0x70); + FUN_14002e6e0(piVar3); + if (param_2 != 1) { + uVar7 = (ulonglong)param_2; + plVar4 = FUN_140070860((longlong *)(param_1 + -0x70),(longlong *)&local_res8,param_2); + plVar9 = (longlong *)0x0; + plVar10 = plVar9; + if ((undefined8 *)*plVar4 != (undefined8 *)0x0) { + plVar10 = *(longlong **)*plVar4; + } + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) + { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + if (plVar10 != (longlong *)0x0) { + lVar8 = param_3; + FUN_1400b3760((longlong)plVar10,param_3); + uVar5 = FUN_140033290(param_3); + if ((((char)uVar5 == '\0') || (uVar5 = FUN_140033290(param_3 + 0x10), (char)uVar5 == '\0')) || + (uVar5 = FUN_140033290(param_3 + 0x20), (char)uVar5 == '\0')) { + uVar5 = 0; + } + else { + uVar5 = 1; + } + if (((longlong *)plVar10[3] != (longlong *)0x0) && (*(longlong *)plVar10[3] != 0)) { + lVar6 = FUN_1400b34a0((longlong)plVar10); + plVar4 = plVar9; + if (*(longlong **)(lVar6 + 0x100) != (longlong *)0x0) { + plVar4 = (longlong *)**(longlong **)(lVar6 + 0x100); + } + cVar2 = FUN_140035730((longlong)plVar4); + if (cVar2 == '\0') { + (**(code **)(*(longlong *)(param_1 + 8) + 0x10))(); + lVar6 = FUN_1400b34a0((longlong)plVar10); + if (*(undefined8 **)(lVar6 + 0x100) != (undefined8 *)0x0) { + plVar9 = (longlong *)**(undefined8 **)(lVar6 + 0x100); + } + FUN_140035490(plVar9,lVar8,uVar7,param_4); + FUN_1400b5640((longlong)plVar10,'\x01',0x1e,param_4); + } + } + FUN_14002e770((longlong)piVar3); + return uVar5; + } + } + uVar7 = FUN_14002e770((longlong)piVar3); + return uVar7 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140071a20.c b/decomp/Agent_Release_x64/full/functions/0x140071a20.c new file mode 100644 index 00000000..a306b9c0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140071a20.c @@ -0,0 +1,62 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140071a20 FUN_140071a20 + * Pseudocode, not original source. */ + +longlong * FUN_140071a20(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + int *piVar2; + longlong *plVar3; + longlong *plVar4; + undefined8 *puVar5; + wchar_t *pwVar6; + undefined8 uVar7; + undefined8 uVar8; + undefined *local_res18 [2]; + undefined8 local_58; + undefined8 local_50; + undefined8 local_48; + undefined8 local_40; + undefined8 local_38; + undefined8 local_30; + undefined4 local_28; + undefined1 local_24; + undefined4 local_20; + + local_24 = 0; + local_28 = 0; + local_20 = 0; + local_58 = 0; + local_50 = 0; + local_30 = 0; + local_38 = 0; + local_40 = 0; + local_48 = 0; + plVar4 = (longlong *)(param_1 + 0x70); + puVar5 = &local_58; + plVar3 = plVar4; + (**(code **)(*plVar4 + 0xc0))(); + FUN_140030200(plVar3,puVar5,param_3,param_4); + *param_2 = (longlong)PTR_DAT_140155010; + (**(code **)(*plVar4 + 0xb0))(plVar4,local_res18); + pwVar6 = L"TotalSend=%I64d TotalRecv=%I64d PeerCount=%d/%d NAT Name=%s"; + plVar4 = param_2; + uVar7 = local_40; + uVar8 = local_30; + FUN_14001b7a0(param_2,L"TotalSend=%I64d TotalRecv=%I64d PeerCount=%d/%d NAT Name=%s",local_40, + local_30); + if (((local_res18[0] != (undefined *)0x0) && (local_res18[0] != PTR_DAT_140155010)) && + (local_res18[0] + -8 != (undefined *)0x0)) { + piVar2 = (int *)FUN_140030200(plVar4,pwVar6,uVar7,uVar8); + FUN_14002e6e0(piVar2); + piVar1 = (int *)(local_res18[0] + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_res18[0] + -8); + } + FUN_14002e770((longlong)piVar2); + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140071b50.c b/decomp/Agent_Release_x64/full/functions/0x140071b50.c new file mode 100644 index 00000000..29dcb965 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140071b50.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140071b50 FUN_140071b50 + * Pseudocode, not original source. */ + +void FUN_140071b50(longlong *param_1,uint param_2) + +{ + int *piVar1; + undefined8 *puVar2; + int *piVar3; + longlong *local_res8; + + piVar3 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar3); + FUN_140070860(param_1,(longlong *)&local_res8,param_2); + if (local_res8 != (longlong *)0x0) { + if (*local_res8 != 0) { + piVar1 = (int *)(*local_res8 + 0x680); + *piVar1 = *piVar1 + -1; + } + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) + { + puVar2 = (undefined8 *)*local_res8; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(local_res8); + } + } + FUN_14002e770((longlong)piVar3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140071c10.c b/decomp/Agent_Release_x64/full/functions/0x140071c10.c new file mode 100644 index 00000000..12c60004 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140071c10.c @@ -0,0 +1,56 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140071c10 FUN_140071c10 + * Pseudocode, not original source. */ + +uint FUN_140071c10(longlong param_1,uint param_2,undefined8 param_3) + +{ + undefined8 *puVar1; + uint uVar2; + int *piVar3; + undefined8 uVar4; + longlong *local_res8; + + piVar3 = (int *)(**(code **)(*(longlong *)(param_1 + -0x70) + 0x58))(param_1 + -0x70); + FUN_14002e6e0(piVar3); + if (param_2 == 1) { + *(undefined8 *)(param_1 + 0x14f8) = param_3; + FUN_14002e770((longlong)piVar3); + uVar2 = 1; + } + else if (param_2 == *(uint *)(param_1 + 0x1508)) { + *(undefined8 *)(param_1 + 0x17f8) = param_3; + uVar4 = FUN_14002e770((longlong)piVar3); + uVar2 = (uint)CONCAT71((int7)((ulonglong)uVar4 >> 8),1); + } + else { + FUN_140070860((longlong *)(param_1 + -0x70),(longlong *)&local_res8,param_2); + if ((local_res8 == (longlong *)0x0) || (*local_res8 == 0)) { + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + uVar2 = FUN_14002e770((longlong)piVar3); + uVar2 = uVar2 & 0xffffff00; + } + else { + *(undefined8 *)(*local_res8 + 0x678) = param_3; + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + uVar4 = FUN_14002e770((longlong)piVar3); + uVar2 = (uint)CONCAT71((int7)((ulonglong)uVar4 >> 8),1); + } + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140071d60.c b/decomp/Agent_Release_x64/full/functions/0x140071d60.c new file mode 100644 index 00000000..4eaf7266 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140071d60.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140071d60 FUN_140071d60 + * Pseudocode, not original source. */ + +longlong FUN_140071d60(longlong *param_1,uint param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + int *piVar2; + longlong lVar3; + longlong *local_res8; + + piVar2 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar2); + if (param_2 == 1) { + lVar3 = param_1[0x2ad]; + FUN_14002e770((longlong)piVar2); + } + else if (param_2 == *(uint *)(param_1 + 0x2af)) { + lVar3 = param_1[0x30d]; + FUN_14002e770((longlong)piVar2); + } + else { + FUN_140070860(param_1,(longlong *)&local_res8,param_2); + if ((local_res8 == (longlong *)0x0) || (*local_res8 == 0)) { + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + FUN_14002e770((longlong)piVar2); + lVar3 = 0; + } + else { + lVar3 = *(longlong *)(*local_res8 + 0x678); + local_res8[1] = local_res8[1] + -1; + if (local_res8[1] == 0) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + FUN_14002e770((longlong)piVar2); + } + } + return lVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140071ea0.c b/decomp/Agent_Release_x64/full/functions/0x140071ea0.c new file mode 100644 index 00000000..669f9ce1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140071ea0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140071ea0 FUN_140071ea0 + * Pseudocode, not original source. */ + +undefined8 FUN_140071ea0(char *param_1,uint *param_2,undefined8 *param_3) + +{ + uint uVar1; + ulonglong uVar2; + uint *puVar3; + + uVar1 = *(uint *)(param_1 + 0x28); + uVar2 = (ulonglong)*param_2 % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 8) != 0) { + for (puVar3 = *(uint **)(*(longlong *)(param_1 + 8) + uVar2 * 8); + (puVar3 != (uint *)0x0 && ((uint)uVar2 == puVar3[8] % uVar1)); + puVar3 = *(uint **)(puVar3 + 4)) { + if (*puVar3 == *param_2) { + return (ulonglong)puVar3[8] / (ulonglong)uVar1 & 0xffffff00; + } + } + } + puVar3 = FUN_140070260(param_1,param_2); + *(undefined8 *)puVar3 = *param_3; + return CONCAT71((int7)((ulonglong)puVar3 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140071f30.c b/decomp/Agent_Release_x64/full/functions/0x140071f30.c new file mode 100644 index 00000000..434acf39 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140071f30.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140071f30 FUN_140071f30 + * Pseudocode, not original source. */ + +void FUN_140071f30(longlong *param_1) + +{ + undefined8 *puVar1; + void *pvVar2; + undefined8 *puVar3; + + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + puVar1 = (undefined8 *)*param_1; + pvVar2 = (void *)*puVar1; + if (pvVar2 != (void *)0x0) { + puVar3 = *(undefined8 **)((longlong)pvVar2 + 0x10); + if (puVar3 != (undefined8 *)0x0) { + (**(code **)*puVar3)(puVar3,1); + } + operator_delete(pvVar2); + } + FUN_1400302f0(puVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140071fa0.c b/decomp/Agent_Release_x64/full/functions/0x140071fa0.c new file mode 100644 index 00000000..265bba04 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140071fa0.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140071fa0 FUN_140071fa0 + * Pseudocode, not original source. */ + +longlong * FUN_140071fa0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + longlong *plVar3; + + plVar1 = (longlong *)param_1[1]; + if (plVar1 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + FUN_140030200(param_1,param_2,param_3,param_4); + plVar3 = plVar1 + 2; + *param_2 = (longlong)PTR_DAT_140155010; + FUN_140003170(param_2,plVar3,param_3,param_4); + *(int *)(param_2 + 1) = (int)plVar1[3]; + param_2[2] = plVar1[4]; + lVar2 = *plVar1; + param_1[1] = lVar2; + if (lVar2 == 0) { + param_1[2] = 0; + } + else { + *(undefined8 *)(lVar2 + 8) = 0; + } + FUN_140003240(plVar1 + 2,plVar3,param_3,param_4); + plVar3 = (longlong *)*param_1; + if (plVar3 == (longlong *)0x0) { + FUN_1400302f0(plVar1); + } + else { + (**(code **)(*plVar3 + 0x10))(plVar3,plVar1); + } + param_1[3] = param_1[3] + -1; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140072070.c b/decomp/Agent_Release_x64/full/functions/0x140072070.c new file mode 100644 index 00000000..dd80b8aa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140072070.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140072070 FUN_140072070 + * Pseudocode, not original source. */ + +void FUN_140072070(longlong *param_1,longlong *param_2) + +{ + longlong lVar1; + void *pvVar2; + undefined8 *puVar3; + undefined8 *puVar4; + + lVar1 = *param_2; + if (lVar1 != *param_1) { + if (lVar1 != 0) { + *(longlong *)(*param_2 + 8) = *(longlong *)(lVar1 + 8) + 1; + } + puVar4 = (undefined8 *)0x0; + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + puVar4 = (undefined8 *)*param_1; + } + *param_1 = *param_2; + if (puVar4 != (undefined8 *)0x0) { + pvVar2 = (void *)*puVar4; + if (pvVar2 != (void *)0x0) { + puVar3 = *(undefined8 **)((longlong)pvVar2 + 0x10); + if (puVar3 != (undefined8 *)0x0) { + (**(code **)*puVar3)(puVar3,1); + } + operator_delete(pvVar2); + } + FUN_1400302f0(puVar4); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140072110.c b/decomp/Agent_Release_x64/full/functions/0x140072110.c new file mode 100644 index 00000000..a3cc8ac9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140072110.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140072110 FUN_140072110 + * Pseudocode, not original source. */ + +void FUN_140072110(longlong *param_1) + +{ + longlong lVar1; + longlong *plVar2; + longlong *plVar3; + undefined8 *puVar4; + + lVar1 = param_1[3]; + while( true ) { + if (lVar1 == 0) { + param_1[1] = 0; + param_1[2] = 0; + return; + } + plVar2 = (longlong *)param_1[1]; + if (plVar2 == (longlong *)0x0) break; + param_1[1] = *plVar2; + if ((plVar2[2] != 0) && + (*(longlong *)(plVar2[2] + 8) = *(longlong *)(plVar2[2] + 8) + -1, + *(longlong *)(plVar2[2] + 8) == 0)) { + plVar3 = (longlong *)plVar2[2]; + puVar4 = (undefined8 *)*plVar3; + if (puVar4 != (undefined8 *)0x0) { + (**(code **)*puVar4)(puVar4,1); + } + FUN_1400302f0(plVar3); + } + plVar3 = (longlong *)*param_1; + if (plVar3 == (longlong *)0x0) { + FUN_1400302f0(plVar2); + } + else { + (**(code **)(*plVar3 + 0x10))(plVar3,plVar2); + } + param_1[3] = param_1[3] + -1; + lVar1 = param_1[3]; + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400721e0.c b/decomp/Agent_Release_x64/full/functions/0x1400721e0.c new file mode 100644 index 00000000..ea5f3c05 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400721e0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400721e0 FUN_1400721e0 + * Pseudocode, not original source. */ + +longlong FUN_1400721e0(longlong *param_1,longlong *param_2) + +{ + longlong lVar1; + + if (param_2 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + lVar1 = *param_2; + if (param_2 == (longlong *)param_1[1]) { + param_1[1] = lVar1; + } + else { + *(longlong *)param_2[1] = lVar1; + } + if (param_2 == (longlong *)param_1[2]) { + param_1[2] = param_2[1]; + } + else { + *(longlong *)(*param_2 + 8) = param_2[1]; + } + FUN_1400702d0(param_1,param_2); + return lVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140072250.c b/decomp/Agent_Release_x64/full/functions/0x140072250.c new file mode 100644 index 00000000..3db04484 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140072250.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140072250 FUN_140072250 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140072250(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + undefined8 *puVar2; + + plVar1 = (longlong *)*param_1; + if (plVar1 == (longlong *)0x0) { + puVar2 = (undefined8 *)FUN_140030280(0x18); + } + else { + puVar2 = (undefined8 *) + (**(code **)(*plVar1 + 8))(plVar1,0x18,param_3,param_4,0xfffffffffffffffe); + } + if (puVar2 != (undefined8 *)0x0) { + puVar2[2] = 0; + FUN_1400ad4b0(puVar2 + 2,param_2); + } + puVar2[1] = param_3; + *puVar2 = param_4; + param_1[3] = param_1[3] + 1; + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400722e0.c b/decomp/Agent_Release_x64/full/functions/0x1400722e0.c new file mode 100644 index 00000000..9e049a74 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400722e0.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400722e0 FUN_1400722e0 + * Pseudocode, not original source. */ + +void FUN_1400722e0(longlong *param_1) + +{ + longlong lVar1; + longlong *plVar2; + longlong *plVar3; + + lVar1 = param_1[3]; + while( true ) { + if (lVar1 == 0) { + param_1[1] = 0; + param_1[2] = 0; + return; + } + plVar2 = (longlong *)param_1[1]; + if (plVar2 == (longlong *)0x0) break; + param_1[1] = *plVar2; + FUN_140095270(plVar2 + 3); + if (plVar2[4] != 0) { + if (*(int *)((longlong)plVar2 + 0x2c) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(plVar2 + 5) = 0; + } + plVar3 = (longlong *)*param_1; + if (plVar3 == (longlong *)0x0) { + FUN_1400302f0(plVar2); + } + else { + (**(code **)(*plVar3 + 0x10))(plVar3,plVar2); + } + param_1[3] = param_1[3] + -1; + lVar1 = param_1[3]; + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140072380.c b/decomp/Agent_Release_x64/full/functions/0x140072380.c new file mode 100644 index 00000000..5e850573 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140072380.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140072380 FUN_140072380 + * Pseudocode, not original source. */ + +void FUN_140072380(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = param_1[3]; + while( true ) { + if (lVar1 == 0) { + param_1[1] = 0; + param_1[2] = 0; + return; + } + plVar2 = (longlong *)param_1[1]; + if (plVar2 == (longlong *)0x0) break; + param_1[1] = *plVar2; + FUN_140003240(plVar2 + 2,param_2,param_3,param_4); + if ((longlong *)*param_1 == (longlong *)0x0) { + FUN_1400302f0(plVar2); + } + else { + (**(code **)(*(longlong *)*param_1 + 0x10))(); + param_2 = plVar2; + } + param_1[3] = param_1[3] + -1; + lVar1 = param_1[3]; + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140072400.c b/decomp/Agent_Release_x64/full/functions/0x140072400.c new file mode 100644 index 00000000..d779fb6e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140072400.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140072400 FUN_140072400 + * Pseudocode, not original source. */ + +void FUN_140072400(char *param_1,LPVOID param_2,char param_3) + +{ + longlong *plVar1; + undefined8 *puVar2; + uint uVar3; + + if (param_2 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if ((*(longlong *)((longlong)param_2 + 8) != 0) && + (*(longlong *)(*(longlong *)((longlong)param_2 + 8) + 8) = + *(longlong *)(*(longlong *)((longlong)param_2 + 8) + 8) + -1, + *(longlong *)(*(longlong *)((longlong)param_2 + 8) + 8) == 0)) { + plVar1 = *(longlong **)((longlong)param_2 + 8); + puVar2 = (undefined8 *)*plVar1; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(plVar1); + } + plVar1 = *(longlong **)(param_1 + 0x50); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(param_2); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,param_2); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + if (((param_3 != '\0') && (*(ulonglong *)(param_1 + 0x20) < *(ulonglong *)(param_1 + 0x40))) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar3 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14003f960(param_1,uVar3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400724d0.c b/decomp/Agent_Release_x64/full/functions/0x1400724d0.c new file mode 100644 index 00000000..da388b5f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400724d0.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400724d0 FUN_1400724d0 + * Pseudocode, not original source. */ + +void FUN_1400724d0(char *param_1,LPVOID param_2,char param_3) + +{ + uint uVar1; + ulonglong uVar2; + uint uVar3; + + if (param_2 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar1 = *(uint *)(param_1 + 0x28); + uVar2 = (ulonglong)*(uint *)((longlong)param_2 + 0x20) % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 0x20) == 1) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + } + else { + uVar3 = (uint)uVar2; + if (((*(longlong *)((longlong)param_2 + 0x18) == 0) || + (*(uint *)(*(longlong *)((longlong)param_2 + 0x18) + 0x20) % uVar1 != uVar3)) && + ((*(longlong *)((longlong)param_2 + 0x10) == 0 || + (*(uint *)(*(longlong *)((longlong)param_2 + 0x10) + 0x20) % uVar1 != uVar3)))) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + } + else if (param_2 == *(LPVOID *)(*(longlong *)(param_1 + 8) + (longlong)(int)uVar3 * 8)) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = + *(undefined8 *)((longlong)param_2 + 0x10); + } + if (param_2 == *(LPVOID *)(param_1 + 0x10)) { + *(undefined8 *)(param_1 + 0x10) = *(undefined8 *)((longlong)param_2 + 0x10); + *(undefined8 *)((longlong)param_2 + 0x18) = 0; + } + if (param_2 == *(LPVOID *)(param_1 + 0x18)) { + *(undefined8 *)(param_1 + 0x18) = *(undefined8 *)((longlong)param_2 + 0x18); + *(undefined8 *)((longlong)param_2 + 0x10) = 0; + } + if (*(longlong *)((longlong)param_2 + 0x18) != 0) { + *(undefined8 *)(*(longlong *)((longlong)param_2 + 0x18) + 0x10) = + *(undefined8 *)((longlong)param_2 + 0x10); + } + if (*(longlong *)((longlong)param_2 + 0x10) != 0) { + *(undefined8 *)(*(longlong *)((longlong)param_2 + 0x10) + 0x18) = + *(undefined8 *)((longlong)param_2 + 0x18); + } + } + FUN_140072400(param_1,param_2,param_3); + FUN_14003d560(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400725d0.c b/decomp/Agent_Release_x64/full/functions/0x1400725d0.c new file mode 100644 index 00000000..242a5f83 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400725d0.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400725d0 FUN_1400725d0 + * Pseudocode, not original source. */ + +undefined2 * FUN_1400725d0(char *param_1,undefined2 *param_2,uint param_3,undefined4 param_4) + +{ + longlong *plVar1; + longlong lVar2; + uint uVar3; + undefined2 *puVar4; + + plVar1 = *(longlong **)(param_1 + 0x50); + if (plVar1 == (longlong *)0x0) { + puVar4 = (undefined2 *)FUN_140030280(0x28); + } + else { + puVar4 = (undefined2 *) + (**(code **)(*plVar1 + 8))(plVar1,0x28,param_3,param_4,0xfffffffffffffffe); + } + if (puVar4 != (undefined2 *)0x0) { + *puVar4 = *param_2; + *(undefined8 *)(puVar4 + 4) = 0; + *(undefined4 *)(puVar4 + 0x10) = param_4; + } + lVar2 = *(longlong *)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8); + FUN_14003d560(param_1); + if (*(longlong *)(param_1 + 0x20) == 0) { + *(undefined2 **)(param_1 + 0x10) = puVar4; + *(undefined2 **)(param_1 + 0x18) = puVar4; + *(undefined8 *)(puVar4 + 0xc) = 0; + *(undefined8 *)(puVar4 + 8) = 0; + } + else { + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if (lVar2 == 0) { + lVar2 = *(longlong *)(param_1 + 0x10); + *(undefined8 *)(puVar4 + 0xc) = 0; + *(longlong *)(puVar4 + 8) = lVar2; + if (lVar2 != 0) { + *(undefined2 **)(lVar2 + 0x18) = puVar4; + } + *(undefined2 **)(param_1 + 0x10) = puVar4; + } + else { + if (*(longlong *)(lVar2 + 0x18) == 0) { + *(undefined2 **)(param_1 + 0x10) = puVar4; + } + else { + *(undefined2 **)(*(longlong *)(lVar2 + 0x18) + 0x10) = puVar4; + } + *(undefined8 *)(puVar4 + 0xc) = *(undefined8 *)(lVar2 + 0x18); + *(longlong *)(puVar4 + 8) = lVar2; + *(undefined2 **)(lVar2 + 0x18) = puVar4; + } + } + *(undefined2 **)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8) = puVar4; + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if ((*(ulonglong *)(param_1 + 0x38) < *(ulonglong *)(param_1 + 0x20)) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar3 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14003f960(param_1,uVar3); + } + FUN_14003d560(param_1); + return puVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140072720.c b/decomp/Agent_Release_x64/full/functions/0x140072720.c new file mode 100644 index 00000000..c5516960 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140072720.c @@ -0,0 +1,76 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140072720 FUN_140072720 + * Pseudocode, not original source. */ + +undefined8 +FUN_140072720(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,longlong param_5, + longlong param_6) + +{ + int *piVar1; + longlong *plVar2; + undefined8 *puVar3; + undefined8 *puVar4; + undefined8 uVar5; + undefined8 *puVar6; + undefined8 *puVar7; + longlong *local_res8; + + piVar1 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar1); + plVar2 = FUN_140070860(*(longlong **)(param_1 + 0x20),(longlong *)&local_res8,*param_4); + puVar7 = (undefined8 *)0x0; + puVar6 = puVar7; + if ((undefined8 *)*plVar2 != (undefined8 *)0x0) { + puVar6 = *(undefined8 **)*plVar2; + } + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar4 = (undefined8 *)*local_res8; + if (puVar4 != (undefined8 *)0x0) { + (**(code **)*puVar4)(puVar4,1); + } + FUN_1400302f0(local_res8); + } + if ((((puVar6 != (undefined8 *)0x0) && (*(char *)((longlong)puVar6 + 0x684) == '\0')) && + ((longlong *)puVar6[5] != (longlong *)0x0)) && (*(longlong *)puVar6[5] != 0)) { + *(undefined4 *)(puVar6 + 0xaf) = *(undefined4 *)(param_6 + 8); + *(undefined2 *)((longlong)puVar6 + 0x57c) = *(undefined2 *)(param_6 + 0xc); + *(undefined4 *)(puVar6 + 0xb1) = *(undefined4 *)(param_5 + 8); + *(undefined2 *)((longlong)puVar6 + 0x58c) = *(undefined2 *)(param_5 + 0xc); + plVar2 = (longlong *)puVar6[5]; + puVar4 = puVar7; + if (plVar2 != (longlong *)0x0) { + puVar4 = (undefined8 *)*plVar2; + } + if (puVar4[2] != 0) { + puVar4 = puVar7; + if (plVar2 != (longlong *)0x0) { + puVar4 = (undefined8 *)*plVar2; + } + if (*(int *)(puVar4[2] + 8) == 1) goto LAB_1400728c1; + } + puVar4 = puVar7; + if (plVar2 != (longlong *)0x0) { + puVar4 = (undefined8 *)*plVar2; + } + puVar3 = (undefined8 *)puVar4[2]; + if (puVar3 != (undefined8 *)0x0) { + (**(code **)*puVar3)(puVar3,1); + } + puVar4[2] = 0; + puVar3 = operator_new(0x38); + puVar4 = puVar7; + if (puVar3 != (undefined8 *)0x0) { + puVar4 = FUN_140064500(puVar3); + } + *(undefined2 *)((longlong)puVar4 + 0x34) = *(undefined2 *)(param_6 + 0xc); + if ((undefined8 *)puVar6[5] != (undefined8 *)0x0) { + puVar7 = *(undefined8 **)puVar6[5]; + } + puVar7[2] = puVar4; + } +LAB_1400728c1: + uVar5 = FUN_14002e770((longlong)piVar1); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400728e0.c b/decomp/Agent_Release_x64/full/functions/0x1400728e0.c new file mode 100644 index 00000000..078c7c31 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400728e0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400728e0 FUN_1400728e0 + * Pseudocode, not original source. */ + +undefined8 +FUN_1400728e0(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,uint *param_5) + +{ + int *piVar1; + longlong *plVar2; + undefined8 uVar3; + longlong lVar4; + uint *puVar5; + longlong *local_res8; + + puVar5 = param_4; + piVar1 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar1); + plVar2 = FUN_140070860(*(longlong **)(param_1 + 0x20),(longlong *)&local_res8,*param_4); + lVar4 = 0; + if ((longlong *)*plVar2 != (longlong *)0x0) { + lVar4 = *(longlong *)*plVar2; + } + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + if ((undefined8 *)*local_res8 != (undefined8 *)0x0) { + (*(code *)**(undefined8 **)*local_res8)(); + } + FUN_1400302f0(local_res8); + } + if (((lVar4 != 0) && (*(char *)(lVar4 + 0x684) == '\0')) && (*(char *)(lVar4 + 0x608) == '\0')) { + FUN_1400b5640(lVar4,'\0',(ulonglong)*param_5,(undefined *)puVar5); + } + uVar3 = FUN_14002e770((longlong)piVar1); + return CONCAT71((int7)((ulonglong)uVar3 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400729c0.c b/decomp/Agent_Release_x64/full/functions/0x1400729c0.c new file mode 100644 index 00000000..16d17010 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400729c0.c @@ -0,0 +1,47 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400729c0 FUN_1400729c0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400729c0(longlong param_1,uint param_2,undefined8 param_3,undefined4 *param_4) + +{ + undefined8 *puVar1; + int *piVar2; + longlong *plVar3; + longlong lVar4; + longlong *local_res8; + undefined8 uVar5; + int *piVar6; + undefined1 uVar7; + + uVar5 = 0xfffffffffffffffe; + piVar2 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + piVar6 = piVar2; + FUN_14002e6e0(piVar2); + uVar7 = 1; + plVar3 = FUN_140070860(*(longlong **)(param_1 + 0x20),(longlong *)&local_res8,param_2); + lVar4 = 0; + if ((longlong *)*plVar3 != (longlong *)0x0) { + lVar4 = *(longlong *)*plVar3; + } + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, piVar2 = piVar6, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + piVar2 = piVar6; + } + FUN_1400302f0(local_res8); + piVar6 = piVar2; + } + if ((lVar4 != 0) && (*(char *)(lVar4 + 0x684) == '\0')) { + *(undefined4 *)(lVar4 + 0x44) = *param_4; + plVar3 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0x1818); + (**(code **)(*plVar3 + 0x140)) + (plVar3,1,&DAT_14015de10,lVar4 + 0x56c,lVar4 + 0x40,(undefined4 *)(lVar4 + 0x44),uVar5 + ,piVar6,uVar7); + } + uVar5 = FUN_14002e770((longlong)piVar2); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140072ad0.c b/decomp/Agent_Release_x64/full/functions/0x140072ad0.c new file mode 100644 index 00000000..d52b8958 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140072ad0.c @@ -0,0 +1,55 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140072ad0 FUN_140072ad0 + * Pseudocode, not original source. */ + +undefined8 +FUN_140072ad0(longlong param_1,uint param_2,undefined8 param_3,undefined8 param_4,float *param_5) + +{ + undefined8 *puVar1; + int *piVar2; + longlong *plVar3; + undefined8 uVar4; + longlong lVar5; + float local_res8 [2]; + longlong *local_48; + double local_40; + undefined8 local_38; + undefined8 local_30; + int *local_28; + undefined1 local_20; + + local_30 = 0xfffffffffffffffe; + piVar2 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + local_28 = piVar2; + FUN_14002e6e0(piVar2); + local_20 = 1; + plVar3 = FUN_140070860(*(longlong **)(param_1 + 0x20),(longlong *)&local_48,param_2); + lVar5 = 0; + if ((longlong *)*plVar3 != (longlong *)0x0) { + lVar5 = *(longlong *)*plVar3; + } + if ((local_48 != (longlong *)0x0) && + (local_48[1] = local_48[1] + -1, piVar2 = local_28, local_48[1] == 0)) { + puVar1 = (undefined8 *)*local_48; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_48); + piVar2 = local_28; + } + if ((lVar5 != 0) && (*(char *)(lVar5 + 0x684) == '\0')) { + *(double *)(lVar5 + 0x160) = (double)*param_5; + local_40 = 0.0; + (**(code **)(**(longlong **)(param_1 + 0x20) + 0xd8))(*(longlong **)(param_1 + 0x20),&local_40); + local_res8[0] = (float)local_40; + local_38 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x20) + 0x70) + 0xf8))(); + plVar3 = (longlong *)(*(longlong *)(param_1 + 0x20) + 0x17d0); + (**(code **)(*plVar3 + 0x60)) + (plVar3,param_2,&DAT_14015de10,param_4,&local_38,*(longlong *)(param_1 + 0x20) + 0x4f8 + ,local_res8); + } + uVar4 = FUN_14002e770((longlong)piVar2); + return CONCAT71((int7)((ulonglong)uVar4 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140072c40.c b/decomp/Agent_Release_x64/full/functions/0x140072c40.c new file mode 100644 index 00000000..a7d44c88 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140072c40.c @@ -0,0 +1,47 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140072c40 FUN_140072c40 + * Pseudocode, not original source. */ + +undefined8 +FUN_140072c40(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, + double *param_5,double *param_6,float *param_7) + +{ + undefined8 *puVar1; + int *piVar2; + longlong *plVar3; + undefined8 uVar4; + longlong lVar5; + double dVar6; + longlong *local_res8; + + piVar2 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58)) + (*(longlong **)(param_1 + 0x20),param_2,param_3,param_4, + 0xfffffffffffffffe); + FUN_14002e6e0(piVar2); + plVar3 = FUN_140070860(*(longlong **)(param_1 + 0x20),(longlong *)&local_res8,(uint)param_2); + lVar5 = 0; + if ((longlong *)*plVar3 != (longlong *)0x0) { + lVar5 = *(longlong *)*plVar3; + } + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + if ((lVar5 != 0) && (*(char *)(lVar5 + 0x684) == '\0')) { + dVar6 = *param_6; + if (dVar6 <= 0.0) { + dVar6 = 0.0; + } + *(double *)(lVar5 + 0x60) = dVar6; + *(double *)(lVar5 + 0x160) = (double)*param_7; + dVar6 = FUN_14003a420((char *)(*(longlong *)(param_1 + 0x20) + 0x1620)); + *(double *)(lVar5 + 0x150) = dVar6 - (*(double *)(lVar5 + 0x50) + *param_5); + } + uVar4 = FUN_14002e770((longlong)piVar2); + return CONCAT71((int7)((ulonglong)uVar4 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140072d60.c b/decomp/Agent_Release_x64/full/functions/0x140072d60.c new file mode 100644 index 00000000..8c3fd60b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140072d60.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140072d60 FUN_140072d60 + * Pseudocode, not original source. */ + +undefined ** FUN_140072d60(longlong *param_1,uint param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + int *piVar2; + undefined **ppuVar3; + longlong *local_res8; + + piVar2 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar2); + if (param_2 == 1) { + FUN_14002e770((longlong)piVar2); + ppuVar3 = (undefined **)(param_1 + 0x2aa); + } + else if (param_2 == 0) { + FUN_14002e770((longlong)piVar2); + ppuVar3 = &PTR_vftable_1401571b0; + } + else if (param_2 == *(uint *)(param_1 + 0x2af)) { + FUN_14002e770((longlong)piVar2); + ppuVar3 = (undefined **)(param_1 + 0xc); + } + else { + FUN_140070860(param_1,(longlong *)&local_res8,param_2); + if (((local_res8 == (longlong *)0x0) || + (ppuVar3 = (undefined **)*local_res8, ppuVar3 == (undefined **)0x0)) || + (*(char *)((longlong)ppuVar3 + 0x684) != '\0')) { + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + FUN_14002e770((longlong)piVar2); + ppuVar3 = (undefined **)0x0; + } + else { + local_res8[1] = local_res8[1] + -1; + if (local_res8[1] == 0) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + FUN_14002e770((longlong)piVar2); + } + } + return ppuVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140072eb0.c b/decomp/Agent_Release_x64/full/functions/0x140072eb0.c new file mode 100644 index 00000000..f7b1377c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140072eb0.c @@ -0,0 +1,308 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140072eb0 FUN_140072eb0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140072eb0(longlong param_1,undefined8 param_2,wchar_t *param_3,undefined8 param_4) + +{ + undefined *puVar1; + longlong ****pppplVar2; + uint uVar3; + uint uVar4; + uint *puVar5; + int *piVar6; + int *piVar7; + __time64_t _Var8; + longlong *****ppppplVar9; + longlong *plVar10; + int *piVar11; + uint *puVar12; + longlong *****ppppplVar13; + uint uVar14; + ulonglong uVar15; + longlong ****pppplVar16; + int *_ArgList; + uint uVar17; + longlong *****ppppplVar18; + undefined8 local_res20; + undefined1 auStack_918 [32]; + uint **local_8f8; + uint *local_8e8; + int local_8e0; + int local_8dc; + longlong ****local_8d8; + undefined1 local_8d0; + int *local_8c0; + undefined1 local_8b8; + int *local_8b0; + int *local_8a8; + undefined1 local_8a0; + uint *local_898; + int local_890; + __time64_t local_888; + undefined8 local_880; + wchar_t local_878 [1040]; + ulonglong local_58; + + local_880 = 0xfffffffffffffffe; + local_58 = DAT_1401555a0 ^ (ulonglong)auStack_918; + local_8e0 = (int)param_2; + local_res20 = param_4; + FUN_140030200(param_1,param_2,param_3,param_4); + local_8e8 = (uint *)PTR_DAT_140155010; + _ArgList = (int *)&local_res20; + if (param_3 == (wchar_t *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + uVar3 = vswprintf_s(local_878,0x400,param_3,(va_list)_ArgList); + ppppplVar18 = (longlong *****)0x0; + uVar17 = 0; + ppppplVar9 = ppppplVar18; + if ((local_8e8 != (uint *)0x0) && + (ppppplVar9 = (longlong *****)0x0, local_8e8 != (uint *)PTR_DAT_140155010)) { + ppppplVar9 = (longlong *****)(ulonglong)local_8e8[-2]; + } + uVar4 = uVar3; + if ((((int)uVar3 <= (int)ppppplVar9) && (uVar4 = uVar17, local_8e8 != (uint *)0x0)) && + (local_8e8 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_8e8[-2]; + } + uVar14 = 1; + if (1 < (int)uVar4) { + uVar14 = uVar4; + } + uVar4 = uVar17; + if ((local_8e8 != (uint *)0x0) && (local_8e8 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_8e8[-2]; + } + if ((int)uVar4 < (int)uVar14) { + if (local_8e8 == (uint *)0x0) { + local_8e8 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar14 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar14 == 0) { + FUN_140003240((longlong *)&local_8e8,PTR_DAT_140155010,ppppplVar9,_ArgList); + } + else { + uVar4 = uVar17; + if ((local_8e8 != (uint *)0x0) && (local_8e8 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_8e8[-2]; + } + if (uVar14 != uVar4) { + puVar5 = (uint *)FUN_140030280((longlong)(int)uVar14 * 2 + 10); + if (puVar5 != (uint *)0x0) { + *puVar5 = 0; + puVar5[1] = 1; + } + *puVar5 = uVar14; + uVar4 = uVar17; + if ((local_8e8 != (uint *)0x0) && (local_8e8 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_8e8[-2]; + } + puVar12 = (uint *)PTR_DAT_140155010; + if ((int)uVar14 < (int)uVar4) { +LAB_140073016: + if (local_8e8 != (uint *)0x0) { + puVar12 = local_8e8; + } + } + else { + uVar14 = uVar17; + if (local_8e8 != (uint *)0x0) { + if (local_8e8 != (uint *)PTR_DAT_140155010) { + uVar14 = local_8e8[-2]; + } + goto LAB_140073016; + } + } + uVar15 = (ulonglong)uVar14; + FUN_1400300b0(puVar5 + 2,puVar12,uVar14); + FUN_140003240((longlong *)&local_8e8,puVar12,uVar15,_ArgList); + local_8e8 = puVar5 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_8e8); + puVar5 = local_8e8; + if (local_8e8 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + pppplVar16 = (longlong ****)(ulonglong)uVar3; + FUN_1400300b0(puVar5,local_878,uVar3); + puVar5 = local_8e8; + if (local_8e8 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + uVar3 = FUN_140030080((short *)puVar5); + ppppplVar9 = ppppplVar18; + if (0 < (int)uVar3) { + ppppplVar9 = (longlong *****)(ulonglong)uVar3; + } + ppppplVar13 = ppppplVar18; + if ((local_8e8 != (uint *)0x0) && + (ppppplVar13 = (longlong *****)0x0, local_8e8 != (uint *)PTR_DAT_140155010)) { + ppppplVar13 = (longlong *****)(ulonglong)local_8e8[-2]; + } + if (((int)ppppplVar13 <= (int)ppppplVar9) && (ppppplVar9 = ppppplVar18, local_8e8 != (uint *)0x0)) + { + if (local_8e8 == (uint *)PTR_DAT_140155010) goto LAB_1400730d8; + ppppplVar9 = (longlong *****)(ulonglong)local_8e8[-2]; + } + if (((local_8e8 != (uint *)PTR_DAT_140155010) && (local_8e8 != (uint *)0x0)) && + (pppplVar16 = (longlong ****)(local_8e8 + -2), pppplVar16 != (longlong ****)0x0)) { + *(uint *)pppplVar16 = (uint)ppppplVar9; + *(undefined2 *)((longlong)local_8e8 + (longlong)(int)(uint)ppppplVar9 * 2) = 0; + } +LAB_1400730d8: + if (*(char *)(param_1 + 0x1790) != '\0') { + ppppplVar9 = (longlong *****)(param_1 + 0x1818); + local_8f8 = &local_8e8; + _ArgList = &local_8e0; + pppplVar16 = (longlong ****)&DAT_14015de10; + ppppplVar13 = (longlong *****)0x1; + (*(code *)(*ppppplVar9)[0x14])(); + } + if (*(int *)(param_1 + 0x6c8) != 0) { + plVar10 = (longlong *)(param_1 + 0x78); + (**(code **)(*plVar10 + 0x10))(); + FUN_140030200(plVar10,ppppplVar13,pppplVar16,_ArgList); + puVar1 = PTR_DAT_140155010; + local_8dc = local_8e0; + local_890 = local_8e0; + local_898 = (uint *)PTR_DAT_140155010; + puVar5 = (uint *)PTR_DAT_140155010; + if (local_8e8 != (uint *)PTR_DAT_140155010) { + piVar6 = (int *)FUN_140030200(plVar10,ppppplVar13,pppplVar16,_ArgList); + piVar11 = piVar6; + local_8a8 = piVar6; + FUN_14002e6e0(piVar6); + local_8a0 = 1; + if (((puVar1 != (undefined *)0x0) && (puVar1 != PTR_DAT_140155010)) && + (puVar1 + -8 != (undefined *)0x0)) { + piVar7 = (int *)FUN_140030200(piVar11,ppppplVar13,pppplVar16,_ArgList); + local_8c0 = piVar7; + FUN_14002e6e0(piVar7); + local_8b8 = 1; + piVar11 = (int *)(puVar1 + -4); + *piVar11 = *piVar11 + -1; + if (*piVar11 == 0) { + FUN_1400302f0(puVar1 + -8); + } + FUN_14002e770((longlong)piVar7); + } + puVar5 = local_8e8; + local_898 = local_8e8; + if (((local_8e8 != (uint *)PTR_DAT_140155010) && (local_8e8 != (uint *)0x0)) && + (local_8e8 != (uint *)0x8)) { + local_8e8[-1] = local_8e8[-1] + 1; + } + FUN_14002e770((longlong)piVar6); + } + _Var8 = _time64((__time64_t *)0x0); + piVar11 = *(int **)(param_1 + 0x17c0); + ppppplVar9 = *(longlong ******)(param_1 + 0x17b0); + local_8c0 = piVar11; + local_888 = _Var8; + if (ppppplVar9 == (longlong *****)0x0) { + ppppplVar9 = (longlong *****)0x28; + piVar6 = (int *)FUN_140030280(0x28); + } + else { + pppplVar16 = *ppppplVar9; + ppppplVar13 = (longlong *****)0x28; + piVar6 = (int *)(*(code *)pppplVar16[1])(); + } + local_8b0 = piVar6; + local_8a8 = piVar6; + if (piVar6 != (int *)0x0) { + FUN_140030200(ppppplVar9,ppppplVar13,pppplVar16,_ArgList); + puVar1 = PTR_DAT_140155010; + *(undefined **)(piVar6 + 4) = PTR_DAT_140155010; + if (puVar1 == (undefined *)0x0) { + *(undefined **)(piVar6 + 4) = PTR_DAT_140155010; + } + if (puVar5 != *(uint **)(piVar6 + 4)) { + ppppplVar9 = (longlong *****)FUN_140030200(ppppplVar9,ppppplVar13,pppplVar16,_ArgList); + local_8d8 = (longlong ****)ppppplVar9; + FUN_14002e6e0((int *)ppppplVar9); + local_8d0 = 1; + FUN_140003240((longlong *)(piVar6 + 4),ppppplVar13,pppplVar16,_ArgList); + *(uint **)(piVar6 + 4) = puVar5; + if (((puVar5 != (uint *)PTR_DAT_140155010) && (puVar5 != (uint *)0x0)) && + (puVar5 != (uint *)0x8)) { + puVar5[-1] = puVar5[-1] + 1; + } + FUN_14002e770((longlong)ppppplVar9); + piVar11 = local_8c0; + } + piVar6[6] = local_8dc; + *(__time64_t *)(piVar6 + 8) = _Var8; + } + *(int **)(piVar6 + 2) = piVar11; + piVar6[0] = 0; + piVar6[1] = 0; + *(longlong *)(param_1 + 0x17c8) = *(longlong *)(param_1 + 0x17c8) + 1; + if (*(undefined8 **)(param_1 + 0x17c0) == (undefined8 *)0x0) { + *(int **)(param_1 + 0x17b8) = piVar6; + } + else { + **(undefined8 **)(param_1 + 0x17c0) = piVar6; + } + *(int **)(param_1 + 0x17c0) = piVar6; + if ((ulonglong)*(uint *)(param_1 + 0x6c8) < *(ulonglong *)(param_1 + 0x17c8)) { + ppppplVar13 = &local_8d8; + ppppplVar9 = (longlong *****)(param_1 + 0x17b0); + FUN_140071fa0((longlong *)ppppplVar9,(longlong *)ppppplVar13,pppplVar16,_ArgList); + pppplVar2 = local_8d8; + if ((((longlong *****)local_8d8 != (longlong *****)0x0) && + (local_8d8 != (longlong ****)PTR_DAT_140155010)) && + (ppppplVar18 = (longlong *****)(local_8d8 + -1), ppppplVar18 != (longlong *****)0x0)) { + ppppplVar9 = (longlong *****)FUN_140030200(ppppplVar9,ppppplVar13,pppplVar16,_ArgList); + local_8d8 = (longlong ****)ppppplVar9; + FUN_14002e6e0((int *)ppppplVar9); + local_8d0 = 1; + piVar11 = (int *)((longlong)pppplVar2 + -4); + *piVar11 = *piVar11 + -1; + if (*piVar11 == 0) { + FUN_1400302f0(ppppplVar18); + } + FUN_14002e770((longlong)ppppplVar9); + } + } + if (((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) && + (puVar5 + -2 != (uint *)0x0)) { + ppppplVar9 = (longlong *****)FUN_140030200(ppppplVar9,ppppplVar13,pppplVar16,_ArgList); + local_8d8 = (longlong ****)ppppplVar9; + FUN_14002e6e0((int *)ppppplVar9); + local_8d0 = 1; + puVar12 = puVar5 + -1; + *puVar12 = *puVar12 - 1; + if (*puVar12 == 0) { + FUN_1400302f0(puVar5 + -2); + } + FUN_14002e770((longlong)ppppplVar9); + } + } + puVar5 = local_8e8; + if (((local_8e8 != (uint *)0x0) && (local_8e8 != (uint *)PTR_DAT_140155010)) && + (puVar12 = local_8e8 + -2, puVar12 != (uint *)0x0)) { + pppplVar16 = (longlong ****)FUN_140030200(ppppplVar9,ppppplVar13,pppplVar16,_ArgList); + local_8d8 = pppplVar16; + FUN_14002e6e0((int *)pppplVar16); + local_8d0 = 1; + puVar5 = puVar5 + -1; + *puVar5 = *puVar5 - 1; + if (*puVar5 == 0) { + FUN_1400302f0(puVar12); + } + FUN_14002e770((longlong)pppplVar16); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140073400.c b/decomp/Agent_Release_x64/full/functions/0x140073400.c new file mode 100644 index 00000000..20051f14 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140073400.c @@ -0,0 +1,306 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140073400 FUN_140073400 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140073400(longlong param_1,undefined8 param_2,wchar_t *param_3,undefined8 param_4) + +{ + undefined *puVar1; + longlong ****pppplVar2; + uint uVar3; + uint uVar4; + uint *puVar5; + int *piVar6; + int *piVar7; + __time64_t _Var8; + longlong *****ppppplVar9; + longlong *plVar10; + int *piVar11; + uint *puVar12; + longlong *****ppppplVar13; + uint uVar14; + ulonglong uVar15; + longlong ****pppplVar16; + va_list _ArgList; + uint uVar17; + longlong *****ppppplVar18; + undefined8 local_res20; + undefined1 auStack_918 [32]; + uint **local_8f8; + uint *local_8e8; + undefined4 local_8e0 [2]; + longlong ****local_8d8; + undefined1 local_8d0; + int *local_8c0; + undefined1 local_8b8; + int *local_8b0; + int *local_8a8; + undefined1 local_8a0; + uint *local_898; + undefined4 local_890; + __time64_t local_888; + undefined8 local_880; + wchar_t local_878 [1040]; + ulonglong local_58; + + local_880 = 0xfffffffffffffffe; + local_58 = DAT_1401555a0 ^ (ulonglong)auStack_918; + local_8e0[0] = (undefined4)param_2; + local_res20 = param_4; + FUN_140030200(param_1,param_2,param_3,param_4); + local_8e8 = (uint *)PTR_DAT_140155010; + _ArgList = (va_list)&local_res20; + if (param_3 == (wchar_t *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + uVar3 = vswprintf_s(local_878,0x400,param_3,_ArgList); + ppppplVar18 = (longlong *****)0x0; + uVar17 = 0; + ppppplVar9 = ppppplVar18; + if ((local_8e8 != (uint *)0x0) && + (ppppplVar9 = (longlong *****)0x0, local_8e8 != (uint *)PTR_DAT_140155010)) { + ppppplVar9 = (longlong *****)(ulonglong)local_8e8[-2]; + } + uVar4 = uVar3; + if ((((int)uVar3 <= (int)ppppplVar9) && (uVar4 = uVar17, local_8e8 != (uint *)0x0)) && + (local_8e8 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_8e8[-2]; + } + uVar14 = 1; + if (1 < (int)uVar4) { + uVar14 = uVar4; + } + uVar4 = uVar17; + if ((local_8e8 != (uint *)0x0) && (local_8e8 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_8e8[-2]; + } + if ((int)uVar4 < (int)uVar14) { + if (local_8e8 == (uint *)0x0) { + local_8e8 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar14 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar14 == 0) { + FUN_140003240((longlong *)&local_8e8,PTR_DAT_140155010,ppppplVar9,_ArgList); + } + else { + uVar4 = uVar17; + if ((local_8e8 != (uint *)0x0) && (local_8e8 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_8e8[-2]; + } + if (uVar14 != uVar4) { + puVar5 = (uint *)FUN_140030280((longlong)(int)uVar14 * 2 + 10); + if (puVar5 != (uint *)0x0) { + *puVar5 = 0; + puVar5[1] = 1; + } + *puVar5 = uVar14; + uVar4 = uVar17; + if ((local_8e8 != (uint *)0x0) && (local_8e8 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_8e8[-2]; + } + puVar12 = (uint *)PTR_DAT_140155010; + if ((int)uVar14 < (int)uVar4) { +LAB_140073566: + if (local_8e8 != (uint *)0x0) { + puVar12 = local_8e8; + } + } + else { + uVar14 = uVar17; + if (local_8e8 != (uint *)0x0) { + if (local_8e8 != (uint *)PTR_DAT_140155010) { + uVar14 = local_8e8[-2]; + } + goto LAB_140073566; + } + } + uVar15 = (ulonglong)uVar14; + FUN_1400300b0(puVar5 + 2,puVar12,uVar14); + FUN_140003240((longlong *)&local_8e8,puVar12,uVar15,_ArgList); + local_8e8 = puVar5 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_8e8); + puVar5 = local_8e8; + if (local_8e8 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + pppplVar16 = (longlong ****)(ulonglong)uVar3; + FUN_1400300b0(puVar5,local_878,uVar3); + puVar5 = local_8e8; + if (local_8e8 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + uVar3 = FUN_140030080((short *)puVar5); + ppppplVar9 = ppppplVar18; + if (0 < (int)uVar3) { + ppppplVar9 = (longlong *****)(ulonglong)uVar3; + } + ppppplVar13 = ppppplVar18; + if ((local_8e8 != (uint *)0x0) && + (ppppplVar13 = (longlong *****)0x0, local_8e8 != (uint *)PTR_DAT_140155010)) { + ppppplVar13 = (longlong *****)(ulonglong)local_8e8[-2]; + } + if (((int)ppppplVar13 <= (int)ppppplVar9) && (ppppplVar9 = ppppplVar18, local_8e8 != (uint *)0x0)) + { + if (local_8e8 == (uint *)PTR_DAT_140155010) goto LAB_140073628; + ppppplVar9 = (longlong *****)(ulonglong)local_8e8[-2]; + } + if (((local_8e8 != (uint *)PTR_DAT_140155010) && (local_8e8 != (uint *)0x0)) && + (pppplVar16 = (longlong ****)(local_8e8 + -2), pppplVar16 != (longlong ****)0x0)) { + *(uint *)pppplVar16 = (uint)ppppplVar9; + *(undefined2 *)((longlong)local_8e8 + (longlong)(int)(uint)ppppplVar9 * 2) = 0; + } +LAB_140073628: + if (*(char *)(param_1 + 0x1790) != '\0') { + ppppplVar9 = (longlong *****)(param_1 + 0x1818); + local_8f8 = &local_8e8; + _ArgList = (va_list)local_8e0; + pppplVar16 = (longlong ****)&DAT_14015de10; + ppppplVar13 = (longlong *****)0x1; + (*(code *)(*ppppplVar9)[0x16])(); + } + if (*(int *)(param_1 + 0x6c8) != 0) { + plVar10 = (longlong *)(param_1 + 0x78); + (**(code **)(*plVar10 + 0x10))(); + FUN_140030200(plVar10,ppppplVar13,pppplVar16,_ArgList); + puVar1 = PTR_DAT_140155010; + local_890 = 2; + local_898 = (uint *)PTR_DAT_140155010; + puVar5 = (uint *)PTR_DAT_140155010; + if (local_8e8 != (uint *)PTR_DAT_140155010) { + piVar6 = (int *)FUN_140030200(plVar10,ppppplVar13,pppplVar16,_ArgList); + piVar11 = piVar6; + local_8a8 = piVar6; + FUN_14002e6e0(piVar6); + local_8a0 = 1; + if (((puVar1 != (undefined *)0x0) && (puVar1 != PTR_DAT_140155010)) && + (puVar1 + -8 != (undefined *)0x0)) { + piVar7 = (int *)FUN_140030200(piVar11,ppppplVar13,pppplVar16,_ArgList); + local_8c0 = piVar7; + FUN_14002e6e0(piVar7); + local_8b8 = 1; + piVar11 = (int *)(puVar1 + -4); + *piVar11 = *piVar11 + -1; + if (*piVar11 == 0) { + FUN_1400302f0(puVar1 + -8); + } + FUN_14002e770((longlong)piVar7); + } + puVar5 = local_8e8; + local_898 = local_8e8; + if (((local_8e8 != (uint *)PTR_DAT_140155010) && (local_8e8 != (uint *)0x0)) && + (local_8e8 != (uint *)0x8)) { + local_8e8[-1] = local_8e8[-1] + 1; + } + FUN_14002e770((longlong)piVar6); + } + _Var8 = _time64((__time64_t *)0x0); + piVar11 = *(int **)(param_1 + 0x17c0); + ppppplVar9 = *(longlong ******)(param_1 + 0x17b0); + local_8c0 = piVar11; + local_888 = _Var8; + if (ppppplVar9 == (longlong *****)0x0) { + ppppplVar9 = (longlong *****)0x28; + piVar6 = (int *)FUN_140030280(0x28); + } + else { + pppplVar16 = *ppppplVar9; + ppppplVar13 = (longlong *****)0x28; + piVar6 = (int *)(*(code *)pppplVar16[1])(); + } + local_8b0 = piVar6; + local_8a8 = piVar6; + if (piVar6 != (int *)0x0) { + FUN_140030200(ppppplVar9,ppppplVar13,pppplVar16,_ArgList); + puVar1 = PTR_DAT_140155010; + *(undefined **)(piVar6 + 4) = PTR_DAT_140155010; + if (puVar1 == (undefined *)0x0) { + *(undefined **)(piVar6 + 4) = PTR_DAT_140155010; + } + if (puVar5 != *(uint **)(piVar6 + 4)) { + ppppplVar9 = (longlong *****)FUN_140030200(ppppplVar9,ppppplVar13,pppplVar16,_ArgList); + local_8d8 = (longlong ****)ppppplVar9; + FUN_14002e6e0((int *)ppppplVar9); + local_8d0 = 1; + FUN_140003240((longlong *)(piVar6 + 4),ppppplVar13,pppplVar16,_ArgList); + *(uint **)(piVar6 + 4) = puVar5; + if (((puVar5 != (uint *)PTR_DAT_140155010) && (puVar5 != (uint *)0x0)) && + (puVar5 != (uint *)0x8)) { + puVar5[-1] = puVar5[-1] + 1; + } + FUN_14002e770((longlong)ppppplVar9); + piVar11 = local_8c0; + } + piVar6[6] = 2; + *(__time64_t *)(piVar6 + 8) = _Var8; + } + *(int **)(piVar6 + 2) = piVar11; + piVar6[0] = 0; + piVar6[1] = 0; + *(longlong *)(param_1 + 0x17c8) = *(longlong *)(param_1 + 0x17c8) + 1; + if (*(undefined8 **)(param_1 + 0x17c0) == (undefined8 *)0x0) { + *(int **)(param_1 + 0x17b8) = piVar6; + } + else { + **(undefined8 **)(param_1 + 0x17c0) = piVar6; + } + *(int **)(param_1 + 0x17c0) = piVar6; + if ((ulonglong)*(uint *)(param_1 + 0x6c8) < *(ulonglong *)(param_1 + 0x17c8)) { + ppppplVar13 = &local_8d8; + ppppplVar9 = (longlong *****)(param_1 + 0x17b0); + FUN_140071fa0((longlong *)ppppplVar9,(longlong *)ppppplVar13,pppplVar16,_ArgList); + pppplVar2 = local_8d8; + if ((((longlong *****)local_8d8 != (longlong *****)0x0) && + (local_8d8 != (longlong ****)PTR_DAT_140155010)) && + (ppppplVar18 = (longlong *****)(local_8d8 + -1), ppppplVar18 != (longlong *****)0x0)) { + ppppplVar9 = (longlong *****)FUN_140030200(ppppplVar9,ppppplVar13,pppplVar16,_ArgList); + local_8d8 = (longlong ****)ppppplVar9; + FUN_14002e6e0((int *)ppppplVar9); + local_8d0 = 1; + piVar11 = (int *)((longlong)pppplVar2 + -4); + *piVar11 = *piVar11 + -1; + if (*piVar11 == 0) { + FUN_1400302f0(ppppplVar18); + } + FUN_14002e770((longlong)ppppplVar9); + } + } + if (((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_140155010)) && + (puVar5 + -2 != (uint *)0x0)) { + ppppplVar9 = (longlong *****)FUN_140030200(ppppplVar9,ppppplVar13,pppplVar16,_ArgList); + local_8d8 = (longlong ****)ppppplVar9; + FUN_14002e6e0((int *)ppppplVar9); + local_8d0 = 1; + puVar12 = puVar5 + -1; + *puVar12 = *puVar12 - 1; + if (*puVar12 == 0) { + FUN_1400302f0(puVar5 + -2); + } + FUN_14002e770((longlong)ppppplVar9); + } + } + puVar5 = local_8e8; + if (((local_8e8 != (uint *)0x0) && (local_8e8 != (uint *)PTR_DAT_140155010)) && + (puVar12 = local_8e8 + -2, puVar12 != (uint *)0x0)) { + pppplVar16 = (longlong ****)FUN_140030200(ppppplVar9,ppppplVar13,pppplVar16,_ArgList); + local_8d8 = pppplVar16; + FUN_14002e6e0((int *)pppplVar16); + local_8d0 = 1; + puVar5 = puVar5 + -1; + *puVar5 = *puVar5 - 1; + if (*puVar5 == 0) { + FUN_1400302f0(puVar12); + } + FUN_14002e770((longlong)pppplVar16); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140073950.c b/decomp/Agent_Release_x64/full/functions/0x140073950.c new file mode 100644 index 00000000..af102241 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140073950.c @@ -0,0 +1,55 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140073950 FUN_140073950 + * Pseudocode, not original source. */ + +undefined8 FUN_140073950(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4) + +{ + undefined8 *puVar1; + longlong lVar2; + int *piVar3; + longlong *plVar4; + undefined8 uVar5; + longlong **pplVar6; + longlong lVar7; + ulonglong uVar8; + uint *puVar9; + undefined8 uVar10; + longlong *local_res8; + + puVar9 = param_4; + piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar3); + uVar8 = (ulonglong)*param_4; + pplVar6 = &local_res8; + plVar4 = FUN_140070860(*(longlong **)(param_1 + 0x20),(longlong *)pplVar6,*param_4); + lVar7 = 0; + if ((longlong *)*plVar4 != (longlong *)0x0) { + lVar7 = *(longlong *)*plVar4; + } + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + pplVar6 = (longlong **)0x0; + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + if (lVar7 != 0) { + uVar5 = CONCAT71((int7)((ulonglong)pplVar6 >> 8),1); + FUN_1400b3320(lVar7,'\x01'); + *(undefined4 *)(lVar7 + 0x61c) = 0; + uVar10 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x20) + 0x70) + 0x1c0))(); + *(undefined8 *)(lVar7 + 0x620) = uVar10; + *(undefined1 *)(lVar7 + 0x20) = 0; + FUN_1400b5550(lVar7,uVar5,uVar8,puVar9); + lVar2 = *(longlong *)(param_1 + 0x20); + if ((*(char *)(lVar2 + 0x1790) != '\0') || (*(int *)(lVar2 + 0x6c8) != 0)) { + FUN_140072eb0(lVar2,1,L"Client %d과의 P2P 연결 상태를 완전히 리셋합니다.", + (ulonglong)*(uint *)(lVar7 + 0x56c)); + } + } + uVar5 = FUN_14002e770((longlong)piVar3); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140073a80.c b/decomp/Agent_Release_x64/full/functions/0x140073a80.c new file mode 100644 index 00000000..76b113be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140073a80.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140073a80 FUN_140073a80 + * Pseudocode, not original source. */ + +undefined8 FUN_140073a80(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4) + +{ + undefined8 *puVar1; + longlong lVar2; + int *piVar3; + longlong *plVar4; + undefined8 uVar5; + longlong lVar6; + longlong *local_res8; + + piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar3); + plVar4 = FUN_140070860(*(longlong **)(param_1 + 0x20),(longlong *)&local_res8,*param_4); + lVar6 = 0; + if ((longlong *)*plVar4 != (longlong *)0x0) { + lVar6 = *(longlong *)*plVar4; + } + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + if ((lVar6 != 0) && + ((*(longlong **)(lVar6 + 0x18) == (longlong *)0x0 || (**(longlong **)(lVar6 + 0x18) == 0)))) { + *(undefined1 *)(lVar6 + 0x23) = 1; + lVar2 = *(longlong *)(param_1 + 0x20); + if ((*(char *)(lVar2 + 0x1790) != '\0') || (*(int *)(lVar2 + 0x6c8) != 0)) { + FUN_140072eb0(lVar2,1,L"Client %d과의 P2P 연결을 요청받았습니다.", + (ulonglong)*(uint *)(lVar6 + 0x56c)); + } + } + uVar5 = FUN_14002e770((longlong)piVar3); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140073b80.c b/decomp/Agent_Release_x64/full/functions/0x140073b80.c new file mode 100644 index 00000000..32cc4c02 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140073b80.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140073b80 FUN_140073b80 + * Pseudocode, not original source. */ + +void FUN_140073b80(longlong param_1,undefined8 param_2,wchar_t *param_3,undefined *param_4) + +{ + int *piVar1; + wchar_t *pwVar2; + + pwVar2 = param_3; + piVar1 = (int *)(**(code **)(*(longlong *)(param_1 + -0x78) + 0x58))(param_1 + -0x78); + FUN_14002e6e0(piVar1); + if ((*(char *)(param_1 + 0x1718) != '\0') || (*(int *)(param_1 + 0x650) != 0)) { + param_4 = *(undefined **)param_3; + if (param_4 == (undefined *)0x0) { + param_4 = PTR_DAT_140155010; + } + pwVar2 = L"Socket Warning: %s"; + param_2 = 0; + FUN_140072eb0(param_1 + -0x78,0,L"Socket Warning: %s",param_4); + } + FUN_14002e770((longlong)piVar1); + FUN_140003240((longlong *)param_3,param_2,pwVar2,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140073c20.c b/decomp/Agent_Release_x64/full/functions/0x140073c20.c new file mode 100644 index 00000000..4a74cd1e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140073c20.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140073c20 FUN_140073c20 + * Pseudocode, not original source. */ + +void FUN_140073c20(longlong *param_1) + +{ + undefined8 *puVar1; + + FUN_140072110(param_1); + puVar1 = (undefined8 *)*param_1; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140073c50.c b/decomp/Agent_Release_x64/full/functions/0x140073c50.c new file mode 100644 index 00000000..1c2ccb9d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140073c50.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140073c50 FUN_140073c50 + * Pseudocode, not original source. */ + +void FUN_140073c50(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + + FUN_140072380(param_1,param_2,param_3,param_4); + puVar1 = (undefined8 *)*param_1; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140073c80.c b/decomp/Agent_Release_x64/full/functions/0x140073c80.c new file mode 100644 index 00000000..4e5bd088 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140073c80.c @@ -0,0 +1,114 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140073c80 FUN_140073c80 + * Pseudocode, not original source. */ + +void FUN_140073c80(char *param_1) + +{ + LPVOID pvVar1; + longlong *plVar2; + undefined8 *puVar3; + LPVOID pvVar4; + uint uVar5; + ulonglong uVar6; + longlong lVar7; + longlong lVar8; + float fVar9; + float fVar10; + + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + 1; + FUN_14003d560(param_1); + pvVar4 = *(LPVOID *)(param_1 + 0x10); + while (pvVar4 != (LPVOID)0x0) { + pvVar1 = *(LPVOID *)((longlong)pvVar4 + 0x10); + if ((*(longlong *)((longlong)pvVar4 + 8) != 0) && + (*(longlong *)(*(longlong *)((longlong)pvVar4 + 8) + 8) = + *(longlong *)(*(longlong *)((longlong)pvVar4 + 8) + 8) + -1, + *(longlong *)(*(longlong *)((longlong)pvVar4 + 8) + 8) == 0)) { + plVar2 = *(longlong **)((longlong)pvVar4 + 8); + puVar3 = (undefined8 *)*plVar2; + if (puVar3 != (undefined8 *)0x0) { + (**(code **)*puVar3)(puVar3,1); + } + FUN_1400302f0(plVar2); + } + plVar2 = *(longlong **)(param_1 + 0x50); + if (plVar2 == (longlong *)0x0) { + FUN_1400302f0(pvVar4); + } + else { + (**(code **)(*plVar2 + 0x18))(plVar2,pvVar4); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + pvVar4 = pvVar1; + } + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + param_1[0x20] = '\0'; + param_1[0x21] = '\0'; + param_1[0x22] = '\0'; + param_1[0x23] = '\0'; + param_1[0x24] = '\0'; + param_1[0x25] = '\0'; + param_1[0x26] = '\0'; + param_1[0x27] = '\0'; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + FUN_14003d560(param_1); + if (*(int *)(param_1 + 0x48) == 0) { + uVar5 = FUN_14003d4e0((longlong)param_1,*(longlong *)(param_1 + 0x20)); + if (*(LPVOID *)(param_1 + 8) != (LPVOID)0x0) { + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + } + lVar7 = 0; + *(uint *)(param_1 + 0x28) = uVar5; + fVar10 = (float)uVar5 * *(float *)(param_1 + 0x34); + if ((9.223372e+18 < fVar10) && (fVar10 = fVar10 - 9.223372e+18, fVar10 < 9.223372e+18)) { + lVar7 = -0x8000000000000000; + } + fVar9 = (float)uVar5 * *(float *)(param_1 + 0x30); + lVar8 = 0; + *(longlong *)(param_1 + 0x38) = (longlong)fVar10 + lVar7; + if ((9.223372e+18 < fVar9) && (fVar9 = fVar9 - 9.223372e+18, fVar9 < 9.223372e+18)) { + lVar8 = -0x8000000000000000; + } + uVar6 = (longlong)fVar9 + lVar8; + if ((ulonglong)((longlong)fVar9 + lVar8) < 0x11) { + uVar6 = 0; + } + *(ulonglong *)(param_1 + 0x40) = uVar6; + } + FUN_14003d560(param_1); + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140073e00.c b/decomp/Agent_Release_x64/full/functions/0x140073e00.c new file mode 100644 index 00000000..1edd2177 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140073e00.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140073e00 FUN_140073e00 + * Pseudocode, not original source. */ + +undefined2 * FUN_140073e00(char *param_1,undefined2 *param_2,uint param_3,undefined4 param_4) + +{ + undefined8 uVar1; + undefined2 *puVar2; + + if (*(longlong *)(param_1 + 8) == 0) { + uVar1 = FUN_14003f710((longlong)param_1,*(uint *)(param_1 + 0x28),'\x01'); + if ((char)uVar1 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + FUN_14003d560(param_1); + puVar2 = FUN_1400725d0(param_1,param_2,param_3,param_4); + FUN_14003d560(param_1); + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140073e80.c b/decomp/Agent_Release_x64/full/functions/0x140073e80.c new file mode 100644 index 00000000..3a15a9fe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140073e80.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140073e80 FUN_140073e80 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +longlong * FUN_140073e80(__time64_t *param_1,longlong *param_2,wchar_t *param_3) + +{ + errno_t eVar1; + size_t sVar2; + wchar_t *pwVar3; + undefined1 auStack_178 [32]; + undefined4 local_158; + tm local_150; + wchar_t local_128 [128]; + ulonglong local_28; + + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_178; + local_158 = 0; + if (param_3 == (wchar_t *)0x0) { + pwVar3 = (wchar_t *)0x0; + } + else { + eVar1 = _localtime64_s(&local_150,param_1); + if (eVar1 != 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + sVar2 = wcsftime(local_128,0x80,param_3,&local_150); + if (sVar2 == 0) { + local_128[0] = L'\0'; + } + pwVar3 = local_128; + } + FUN_14002ffd0(param_2,pwVar3); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140073f20.c b/decomp/Agent_Release_x64/full/functions/0x140073f20.c new file mode 100644 index 00000000..49f2bdcd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140073f20.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140073f20 FUN_140073f20 + * Pseudocode, not original source. */ + +undefined8 FUN_140073f20(longlong param_1,uint param_2) + +{ + undefined8 *puVar1; + int *piVar2; + longlong *plVar3; + undefined8 uVar4; + longlong lVar5; + longlong *local_res8; + longlong local_res20; + + piVar2 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar2); + plVar3 = FUN_140070860(*(longlong **)(param_1 + 0x20),(longlong *)&local_res8,param_2); + lVar5 = 0; + if ((longlong *)*plVar3 != (longlong *)0x0) { + lVar5 = *(longlong *)*plVar3; + } + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + } + if ((lVar5 != 0) && (*(char *)(lVar5 + 0x684) == '\0')) { + local_res20 = 0; + FUN_140072070((longlong *)(lVar5 + 0x28),&local_res20); + } + uVar4 = FUN_14002e770((longlong)piVar2); + return CONCAT71((int7)((ulonglong)uVar4 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140074000.c b/decomp/Agent_Release_x64/full/functions/0x140074000.c new file mode 100644 index 00000000..c9e77dc1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140074000.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140074000 FUN_140074000 + * Pseudocode, not original source. */ + +void FUN_140074000(longlong *param_1) + +{ + undefined8 *puVar1; + + FUN_1400722e0(param_1); + puVar1 = (undefined8 *)*param_1; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140074030.c b/decomp/Agent_Release_x64/full/functions/0x140074030.c new file mode 100644 index 00000000..5d8c70ac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140074030.c @@ -0,0 +1,269 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140074030 FUN_140074030 + * Pseudocode, not original source. */ + +void FUN_140074030(undefined ***param_1,longlong param_2,undefined8 param_3,longlong param_4, + uint *param_5,uint *param_6) + +{ + int iVar1; + uint uVar2; + uint uVar3; + uint uVar4; + undefined8 *puVar5; + uint *puVar6; + longlong *plVar7; + int *piVar8; + undefined ***pppuVar9; + undefined ***pppuVar10; + undefined ***pppuVar11; + uint *puVar12; + undefined ****ppppuVar13; + longlong lVar14; + longlong lVar15; + uint uVar16; + longlong lVar17; + undefined **ppuVar18; + uint **ppuVar19; + uint uVar20; + ulonglong uVar21; + ulonglong uVar22; + double dVar23; + undefined8 uVar24; + undefined ***local_res10; + undefined **local_c8; + undefined4 local_c0; + undefined2 local_bc; + undefined **local_b8; + undefined8 local_b0; + undefined8 local_a8; + undefined8 local_a0; + undefined8 local_98; + longlong local_90; + undefined4 local_88; + uint *local_80; + undefined4 local_78; + undefined4 local_74; + longlong local_68 [2]; + int *local_58; + undefined1 local_50; + + puVar6 = param_5; + local_68[1] = 0xfffffffffffffffe; + uVar24 = param_3; + lVar15 = param_4; + FUN_1400700b0((longlong)param_5,0,param_3,param_4); + uVar21 = (ulonglong)(int)puVar6[6]; + FUN_14009e8c0(&local_90); + local_88 = (undefined4)param_3; + local_80 = puVar6; + lVar17 = 0; + local_78 = 0; + local_74 = *(undefined4 *)((longlong)param_1 + 0x6a4); + plVar7 = &local_90; + puVar12 = param_6; + local_90 = param_2; + puVar5 = FUN_14009f250(plVar7,param_6,uVar24,lVar15); + iVar1 = (int)puVar5; + if (-1 < iVar1) { + local_c8 = Proud::AddrPort::vftable; + local_c0 = *(undefined4 *)(param_4 + 8); + local_bc = *(undefined2 *)(param_4 + 0xc); + pppuVar9 = &local_c8; + ppppuVar13 = &local_res10; + pppuVar10 = param_1; + plVar7 = FUN_14006ee80((longlong)param_1,ppppuVar13,(longlong)pppuVar9); + lVar15 = lVar17; + if ((longlong *)*plVar7 != (longlong *)0x0) { + lVar15 = *(longlong *)*plVar7; + } + if (local_res10 != (undefined ***)0x0) { + local_res10[1] = (undefined **)((longlong)local_res10[1] + -1); + pppuVar10 = (undefined ***)local_res10[1]; + if ((undefined ***)local_res10[1] == (undefined ***)0x0) { + if (*local_res10 != (undefined **)0x0) { + ppppuVar13 = (undefined ****)0x1; + (**(code **)**local_res10)(); + } + FUN_1400302f0(local_res10); + pppuVar10 = local_res10; + } + } + if (iVar1 < 1) { + return; + } + lVar14 = uVar21 * 0x48; + uVar22 = uVar21; + do { + pppuVar11 = (undefined ***)0x0; + if (((longlong)(uVar21 + lVar17) < 0) || ((int)puVar6[6] <= (int)uVar22)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar10,ppppuVar13,pppuVar9,0); + } + ppppuVar13 = *(undefined *****)(puVar6 + 4); + *(undefined4 *)(lVar14 + 0x38 + (longlong)ppppuVar13) = *(undefined4 *)(param_4 + 8); + *(undefined2 *)(lVar14 + 0x3c + (longlong)ppppuVar13) = *(undefined2 *)(param_4 + 0xc); + if (lVar15 == 0) { + if (param_1[0x2ae] != (undefined **)0x0) { + pppuVar11 = (undefined ***)*param_1[0x2ae]; + } + pppuVar9 = param_1; + if ((*(int *)(param_4 + 8) == *(int *)(pppuVar11 + 0x1a)) && + (*(short *)(param_4 + 0xc) == *(short *)((longlong)pppuVar11 + 0xd4))) { + *(undefined4 *)(lVar14 + 0x28 + (longlong)ppppuVar13) = 1; + pppuVar11 = param_1; + FUN_140064c00((longlong)param_1); + } + else { + *(undefined4 *)(lVar14 + 0x28 + (longlong)ppppuVar13) = 0; + } + } + else { + *(undefined4 *)(lVar14 + 0x28 + (longlong)ppppuVar13) = *(undefined4 *)(lVar15 + 0x56c); + dVar23 = (double)(*(code *)param_1[0xe][0x38])(param_1 + 0xe); + dVar23 = dVar23 - *(double *)(lVar15 + 0xc0); + if (0.0 < dVar23) { + *(double *)(lVar15 + 0x140) = dVar23; + } + pppuVar11 = param_1 + 0xe; + uVar24 = (*(code *)param_1[0xe][0x38])(); + *(undefined8 *)(lVar15 + 0xc0) = uVar24; + *(int *)(lVar15 + 0x100) = *(int *)(lVar15 + 0x100) + 1; + } + uVar22 = (ulonglong)((int)uVar22 + 1); + lVar17 = lVar17 + 1; + lVar14 = lVar14 + 0x48; + pppuVar10 = pppuVar11; + } while (lVar17 < iVar1); + return; + } + FUN_140030200(plVar7,puVar12,uVar24,lVar15); + param_5 = (uint *)PTR_DAT_140155010; + uVar2 = FUN_140030080(L"ExtractMessageFromUdpRecvQueue : addedCount < 0"); + uVar20 = 0; + uVar4 = 0; + uVar21 = 0; + if ((param_5 != (uint *)0x0) && (uVar21 = 0, param_5 != (uint *)PTR_DAT_140155010)) { + uVar21 = (ulonglong)param_5[-2]; + } + uVar3 = uVar2; + if ((((int)uVar2 <= (int)uVar21) && (uVar3 = uVar4, param_5 != (uint *)0x0)) && + (param_5 != (uint *)PTR_DAT_140155010)) { + uVar3 = param_5[-2]; + } + uVar16 = 1; + if (1 < (int)uVar3) { + uVar16 = uVar3; + } + uVar3 = uVar4; + if ((param_5 != (uint *)0x0) && (param_5 != (uint *)PTR_DAT_140155010)) { + uVar3 = param_5[-2]; + } + if ((int)uVar3 < (int)uVar16) { + if (param_5 == (uint *)0x0) { + param_5 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar16 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar16 == 0) { + FUN_140003240((longlong *)¶m_5,PTR_DAT_140155010,uVar21,lVar15); + } + else { + uVar3 = uVar4; + if ((param_5 != (uint *)0x0) && (param_5 != (uint *)PTR_DAT_140155010)) { + uVar3 = param_5[-2]; + } + if (uVar16 != uVar3) { + puVar6 = (uint *)FUN_140030280((longlong)(int)uVar16 * 2 + 10); + if (puVar6 != (uint *)0x0) { + *puVar6 = 0; + puVar6[1] = 1; + } + *puVar6 = uVar16; + uVar3 = uVar4; + if ((param_5 != (uint *)0x0) && (param_5 != (uint *)PTR_DAT_140155010)) { + uVar3 = param_5[-2]; + } + puVar12 = (uint *)PTR_DAT_140155010; + if ((int)uVar16 < (int)uVar3) { +LAB_1400741b2: + if (param_5 != (uint *)0x0) { + puVar12 = param_5; + } + } + else { + uVar16 = uVar4; + if (param_5 != (uint *)0x0) { + if (param_5 != (uint *)PTR_DAT_140155010) { + uVar16 = param_5[-2]; + } + goto LAB_1400741b2; + } + } + uVar21 = (ulonglong)uVar16; + FUN_1400300b0(puVar6 + 2,puVar12,uVar16); + FUN_140003240((longlong *)¶m_5,puVar12,uVar21,lVar15); + param_5 = puVar6 + 2; + } + } + } + FUN_140002ea0((longlong *)¶m_5); + puVar6 = param_5; + if (param_5 == (uint *)0x0) { + puVar6 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar6,L"ExtractMessageFromUdpRecvQueue : addedCount < 0",uVar2); + puVar6 = param_5; + if (param_5 == (uint *)0x0) { + puVar6 = (uint *)PTR_DAT_140155010; + } + uVar4 = FUN_140030080((short *)puVar6); + uVar2 = uVar20; + if (0 < (int)uVar4) { + uVar2 = uVar4; + } + uVar4 = uVar20; + if ((param_5 != (uint *)0x0) && (param_5 != (uint *)PTR_DAT_140155010)) { + uVar4 = param_5[-2]; + } + if (((int)uVar4 <= (int)uVar2) && (uVar2 = uVar20, param_5 != (uint *)0x0)) { + if (param_5 == (uint *)PTR_DAT_140155010) goto LAB_14007426a; + uVar2 = param_5[-2]; + } + if (((param_5 != (uint *)PTR_DAT_140155010) && (param_5 != (uint *)0x0)) && + (param_5 + -2 != (uint *)0x0)) { + param_5[-2] = uVar2; + *(undefined2 *)((longlong)param_5 + (longlong)(int)uVar2 * 2) = 0; + } +LAB_14007426a: + local_b0 = 0; + local_a8 = 0; + local_a0 = 0; + local_98 = 0; + local_b8 = Proud::ByteArray::vftable; + ppuVar19 = ¶m_5; + plVar7 = FUN_14003c120(local_68,(ulonglong)*param_6,(ulonglong)*(uint *)(param_1 + 0x2af), + (longlong *)ppuVar19,(longlong)&local_b8); + ppuVar18 = *param_1; + (*(code *)ppuVar18[0x11])(param_1); + pppuVar9 = &local_b8; + FUN_14003b870(pppuVar9); + puVar6 = param_5; + if (((param_5 != (uint *)0x0) && (param_5 != (uint *)PTR_DAT_140155010)) && + (puVar12 = param_5 + -2, puVar12 != (uint *)0x0)) { + piVar8 = (int *)FUN_140030200(pppuVar9,plVar7,ppuVar18,ppuVar19); + local_58 = piVar8; + FUN_14002e6e0(piVar8); + local_50 = 1; + puVar6 = puVar6 + -1; + *puVar6 = *puVar6 - 1; + if (*puVar6 == 0) { + FUN_1400302f0(puVar12); + } + FUN_14002e770((longlong)piVar8); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400744e0.c b/decomp/Agent_Release_x64/full/functions/0x1400744e0.c new file mode 100644 index 00000000..87392b4e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400744e0.c @@ -0,0 +1,185 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400744e0 FUN_1400744e0 + * Pseudocode, not original source. */ + +void FUN_1400744e0(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + uint uVar3; + uint uVar4; + uint uVar5; + ulonglong uVar6; + uint *puVar7; + longlong *plVar8; + int *piVar9; + undefined ***pppuVar10; + uint *puVar11; + uint uVar12; + uint uVar13; + undefined8 uVar15; + longlong lVar16; + ulonglong uVar17; + uint **ppuVar18; + uint local_res8 [2]; + uint *local_res18; + longlong local_res20; + undefined **local_50; + undefined8 local_48; + undefined8 local_40; + undefined8 local_38; + undefined8 local_30; + longlong *plVar14; + + FUN_1400700b0(param_2,0,param_3,param_4); + (**(code **)(param_1[0xf] + 0x10))(); + plVar14 = (longlong *)0x0; + uVar13 = 0; + if (((longlong *)param_1[699] == (longlong *)0x0) || + (lVar16 = *(longlong *)param_1[699], plVar8 = (longlong *)(lVar16 + -0x40), lVar16 == 0)) { + plVar8 = plVar14; + } + plVar8 = plVar8 + 0x26; + uVar17 = (ulonglong)*(uint *)((longlong)param_1 + 0x6a4); + uVar15 = 1; + uVar6 = FUN_14009f830(plVar8,param_2,1,uVar17,local_res8); + if (-1 < (int)uVar6) { + return; + } + FUN_140030200(plVar8,param_2,uVar15,uVar17); + local_res18 = (uint *)PTR_DAT_140155010; + uVar3 = FUN_140030080(L"Received stream from TCP server became inconsistent!"); + uVar5 = 0; + plVar8 = plVar14; + if ((local_res18 != (uint *)0x0) && + (plVar8 = (longlong *)0x0, local_res18 != (uint *)PTR_DAT_140155010)) { + plVar8 = (longlong *)(ulonglong)local_res18[-2]; + } + uVar4 = uVar3; + if ((((int)uVar3 <= (int)plVar8) && (uVar4 = uVar5, local_res18 != (uint *)0x0)) && + (local_res18 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_res18[-2]; + } + uVar12 = 1; + if (1 < (int)uVar4) { + uVar12 = uVar4; + } + uVar4 = uVar5; + if ((local_res18 != (uint *)0x0) && (local_res18 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_res18[-2]; + } + if ((int)uVar4 < (int)uVar12) { + if (local_res18 == (uint *)0x0) { + local_res18 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar12 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar12 == 0) { + FUN_140003240((longlong *)&local_res18,PTR_DAT_140155010,plVar8,uVar17); + } + else { + uVar4 = uVar5; + if ((local_res18 != (uint *)0x0) && (local_res18 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_res18[-2]; + } + if (uVar12 != uVar4) { + puVar7 = (uint *)FUN_140030280((longlong)(int)uVar12 * 2 + 10); + if (puVar7 != (uint *)0x0) { + *puVar7 = 0; + puVar7[1] = 1; + } + *puVar7 = uVar12; + uVar4 = uVar5; + if ((local_res18 != (uint *)0x0) && (local_res18 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_res18[-2]; + } + puVar11 = (uint *)PTR_DAT_140155010; + if ((int)uVar12 < (int)uVar4) { +LAB_14007465b: + if (local_res18 != (uint *)0x0) { + puVar11 = local_res18; + } + } + else { + uVar12 = uVar5; + if (local_res18 != (uint *)0x0) { + if (local_res18 != (uint *)PTR_DAT_140155010) { + uVar12 = local_res18[-2]; + } + goto LAB_14007465b; + } + } + uVar6 = (ulonglong)uVar12; + FUN_1400300b0(puVar7 + 2,puVar11,uVar12); + FUN_140003240((longlong *)&local_res18,puVar11,uVar6,uVar17); + local_res18 = puVar7 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_res18); + puVar7 = local_res18; + if (local_res18 == (uint *)0x0) { + puVar7 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar7,L"Received stream from TCP server became inconsistent!",uVar3); + puVar7 = local_res18; + if (local_res18 == (uint *)0x0) { + puVar7 = (uint *)PTR_DAT_140155010; + } + uVar5 = FUN_140030080((short *)puVar7); + uVar3 = uVar13; + if (0 < (int)uVar5) { + uVar3 = uVar5; + } + uVar5 = uVar13; + if ((local_res18 != (uint *)0x0) && (local_res18 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_res18[-2]; + } + if (((int)uVar5 <= (int)uVar3) && (uVar3 = uVar13, local_res18 != (uint *)0x0)) { + if (local_res18 == (uint *)PTR_DAT_140155010) goto LAB_14007470b; + uVar3 = local_res18[-2]; + } + if (((local_res18 != (uint *)PTR_DAT_140155010) && (local_res18 != (uint *)0x0)) && + (local_res18 + -2 != (uint *)0x0)) { + local_res18[-2] = uVar3; + *(undefined2 *)((longlong)local_res18 + (longlong)(int)uVar3 * 2) = 0; + } +LAB_14007470b: + local_48 = 0; + local_40 = 0; + local_38 = 0; + local_30 = 0; + local_50 = Proud::ByteArray::vftable; + ppuVar18 = &local_res18; + plVar8 = FUN_14003c120(&local_res20,(ulonglong)local_res8[0],1,(longlong *)ppuVar18, + (longlong)&local_50); + lVar16 = *param_1; + (**(code **)(lVar16 + 0x80))(param_1); + pppuVar10 = &local_50; + FUN_14003b870(pppuVar10); + puVar7 = local_res18; + if (((local_res18 != (uint *)0x0) && (local_res18 != (uint *)PTR_DAT_140155010)) && + (puVar11 = local_res18 + -2, puVar11 != (uint *)0x0)) { + piVar9 = (int *)FUN_140030200(pppuVar10,plVar8,lVar16,ppuVar18); + FUN_14002e6e0(piVar9); + puVar7 = puVar7 + -1; + *puVar7 = *puVar7 - 1; + if (*puVar7 == 0) { + FUN_1400302f0(puVar11); + } + FUN_14002e770((longlong)piVar9); + } + if ((((longlong *)param_1[699] != (longlong *)0x0) && + (lVar1 = *(longlong *)param_1[699], lVar1 != 0)) && + ((plVar2 = *(longlong **)(lVar1 + 0xe8), plVar2 != (longlong *)0x0 && (*plVar2 != 0)))) { + if (plVar2 != (longlong *)0x0) { + plVar14 = (longlong *)*plVar2; + } + FUN_140035490(plVar14,plVar8,lVar16,ppuVar18); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140074800.c b/decomp/Agent_Release_x64/full/functions/0x140074800.c new file mode 100644 index 00000000..0373a4f5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140074800.c @@ -0,0 +1,137 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140074800 FUN_140074800 + * Pseudocode, not original source. */ + +void FUN_140074800(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + int iVar1; + double dVar2; + undefined1 uVar3; + ushort uVar4; + undefined **ppuVar5; + int *piVar6; + undefined8 *puVar7; + longlong *plVar8; + longlong lVar9; + undefined8 uVar10; + longlong lVar11; + wchar_t *pwVar12; + longlong *plVar13; + longlong *local_res8; + undefined **local_88; + undefined8 uStack_80; + undefined4 local_78 [2]; + undefined8 local_70; + undefined1 local_68; + undefined4 local_64; + undefined1 local_60; + undefined1 local_5f; + int local_58 [2]; + longlong local_50; + longlong local_48; + int local_40; + int local_3c; + + FUN_1400806d0(local_58); + FUN_1400801a0((longlong)local_58,param_2,param_3,param_4); + FUN_140080830(local_58,0x800,param_3,param_4); + uVar10 = 0; + FUN_140080830(local_58,0,param_3,param_4); + uVar10 = CONCAT71((int7)((ulonglong)uVar10 >> 8),0xc); + piVar6 = local_58; + FUN_14001ba80((longlong)piVar6,uVar10,param_3,param_4); + lVar11 = 0; + lVar9 = lVar11; + if ((longlong *)param_1[0x2ae] != (longlong *)0x0) { + lVar9 = *(longlong *)param_1[0x2ae]; + } + local_88 = *(undefined ***)(lVar9 + 8); + uStack_80 = *(undefined8 *)(lVar9 + 0x10); + local_58[1] = 0; + if (local_50 == 0) { + if (local_48 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(piVar6,uVar10,param_3,param_4); + } + } + else if (local_48 == 0) { + if (local_50 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(piVar6,uVar10,param_3,param_4); + } + iVar1 = *(int *)(local_50 + 0x18); + FUN_14001bc70(local_50,iVar1 + 0x10,param_3); + lVar9 = lVar11; + if (*(int *)(local_50 + 0x18) != 0) { + lVar9 = *(longlong *)(local_50 + 0x10); + } + puVar7 = (undefined8 *)(lVar9 + iVar1); + goto LAB_1400748e8; + } + lVar9 = (longlong)local_40; + local_40 = local_40 + 0x10; + if ((local_40 < 0) || (local_3c < local_40)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar7 = (undefined8 *)(local_48 + lVar9); +LAB_1400748e8: + *puVar7 = local_88; + puVar7[1] = uStack_80; + FUN_14001be00((longlong)local_58,&local_88,param_3,param_4); + if (((char)param_1[0x2f2] != '\0') || ((int)param_1[0xd9] != 0)) { + lVar9 = lVar11; + if ((longlong *)param_1[0x2ae] != (longlong *)0x0) { + lVar9 = *(longlong *)param_1[0x2ae]; + } + (*(code *)**(undefined8 **)(lVar9 + 200))((undefined8 *)(lVar9 + 200),&local_res8); + pwVar12 = L"Sending ServerHolepunch: %s"; + uVar10 = 1; + plVar8 = param_1; + plVar13 = local_res8; + FUN_140072eb0((longlong)param_1,1,L"Sending ServerHolepunch: %s",local_res8); + if (((local_res8 != (longlong *)0x0) && (local_res8 != (longlong *)PTR_DAT_140155010)) && + (local_res8 + -1 != (longlong *)0x0)) { + ppuVar5 = (undefined **)FUN_140030200(plVar8,uVar10,pwVar12,plVar13); + local_88 = ppuVar5; + FUN_14002e6e0((int *)ppuVar5); + uStack_80 = CONCAT71(uStack_80._1_7_,1); + piVar6 = (int *)((longlong)local_res8 + -4); + *piVar6 = *piVar6 + -1; + if (*piVar6 == 0) { + FUN_1400302f0(local_res8 + -1); + } + FUN_14002e770((longlong)ppuVar5); + } + } + local_78[0] = 5; + local_70 = 0; + local_68 = 1; + local_64 = 0xffffffff; + local_60 = 1; + local_5f = DAT_1401551cc; + lVar9 = lVar11; + if ((longlong *)param_1[0x2ae] != (longlong *)0x0) { + lVar9 = *(longlong *)param_1[0x2ae]; + } + local_88 = Proud::AddrPort::vftable; + uStack_80 = CONCAT26(uStack_80._6_2_,*(undefined6 *)(lVar9 + 0xd0)); + if (((longlong *)param_1[0x2a4] != (longlong *)0x0) && + (lVar9 = *(longlong *)param_1[0x2a4], lVar9 != 0)) { + lVar11 = lVar9 + -0x40; + } + dVar2 = (double)(**(code **)(param_1[0xe] + 0x1c0))(); + uVar3 = (**(code **)(*param_1 + 0x30))(param_1); + uVar4 = FUN_140096e50(uVar3,1); + FUN_1400b73e0(lVar11,1,(ulonglong)uVar4,(longlong)&local_88,(longlong)local_58,dVar2, + (undefined8 *)local_78); + local_res8 = &local_50; + FUN_140095270(&local_50); + if ((local_48 != 0) && (local_3c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140074ab0.c b/decomp/Agent_Release_x64/full/functions/0x140074ab0.c new file mode 100644 index 00000000..35cfa772 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140074ab0.c @@ -0,0 +1,68 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140074ab0 FUN_140074ab0 + * Pseudocode, not original source. */ + +void FUN_140074ab0(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong *plVar1; + char cVar2; + int *piVar3; + longlong lVar4; + longlong lVar5; + longlong lVar6; + + piVar3 = (int *)(**(code **)(*param_1 + 0x58))(param_1,param_2,param_3,param_4,0xfffffffffffffffe) + ; + FUN_14002e6e0(piVar3); + if ((((((int)param_1[0xd4] != 2) && ((longlong *)param_1[0x2a4] != (longlong *)0x0)) && + (plVar1 = *(longlong **)param_1[0x2a4], plVar1 != (longlong *)0x0)) && + ((cVar2 = (**(code **)(*plVar1 + 0x10))(), cVar2 == '\0' && + ((longlong *)param_1[0x2ae] != (longlong *)0x0)))) && + ((lVar4 = *(longlong *)param_1[0x2ae], lVar4 != 0 && + ((*(char *)(lVar4 + 0x80) != '\x01' && ((int)param_1[0x2af] != 0)))))) { + plVar1 = (longlong *)param_1[0x2ae]; + lVar4 = 0; + lVar6 = lVar4; + if (plVar1 != (longlong *)0x0) { + lVar6 = *plVar1; + } + if (*(int *)(lVar6 + 0xd0) != 0) { + lVar6 = lVar4; + if (plVar1 != (longlong *)0x0) { + lVar6 = *plVar1; + } + if (*(int *)(lVar6 + 0xd0) != -1) { + lVar6 = lVar4; + if (plVar1 != (longlong *)0x0) { + lVar6 = *plVar1; + } + if (*(double *)(lVar6 + 0x100) != DAT_140155078) { + lVar6 = lVar4; + if ((longlong *)param_1[0x2ae] != (longlong *)0x0) { + lVar6 = *(longlong *)param_1[0x2ae]; + } + lVar5 = lVar4; + if (param_1[0xbb] != 0) { + lVar5 = *(longlong *)(param_1[0xbb] + 0x38); + } + *(double *)(lVar6 + 0x100) = *(double *)(lVar6 + 0x100) - *(double *)(lVar5 + 0x100); + lVar5 = lVar4; + if ((longlong *)param_1[0x2ae] != (longlong *)0x0) { + lVar5 = *(longlong *)param_1[0x2ae]; + } + if (*(double *)(lVar5 + 0x100) < 0.0) { + if ((longlong *)param_1[0x2ae] != (longlong *)0x0) { + lVar4 = *(longlong *)param_1[0x2ae]; + } + *(undefined8 *)(lVar4 + 0x100) = DAT_140155080; + FUN_140074800(param_1,lVar6,param_3,param_4); + } + } + } + } + } + FUN_14002e770((longlong)piVar3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140074c80.c b/decomp/Agent_Release_x64/full/functions/0x140074c80.c new file mode 100644 index 00000000..eb1ea9ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140074c80.c @@ -0,0 +1,204 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140074c80 FUN_140074c80 + * Pseudocode, not original source. */ + +void FUN_140074c80(longlong param_1,longlong param_2,short *param_3,undefined8 param_4) + +{ + longlong *plVar1; + undefined8 *puVar2; + uint uVar3; + uint uVar4; + uint uVar5; + int *piVar6; + uint *puVar7; + longlong *plVar8; + int *piVar9; + longlong *plVar10; + undefined ***pppuVar11; + longlong **pplVar12; + uint *puVar13; + uint uVar14; + ulonglong uVar15; + SIZE_T SVar16; + longlong lVar17; + uint **ppuVar18; + uint uVar19; + uint *local_res8; + longlong *local_res10; + longlong local_res20; + undefined **local_90; + undefined4 local_88; + undefined2 local_84; + int *local_80; + undefined1 local_78; + int *local_70; + undefined1 local_68; + undefined **local_60; + undefined8 local_58; + undefined8 local_50; + undefined8 local_48; + undefined8 local_40; + + plVar1 = (longlong *)(param_1 + -0x88); + piVar6 = (int *)(**(code **)(*plVar1 + 0x58))(plVar1); + local_80 = piVar6; + FUN_14002e6e0(piVar6); + local_78 = 1; + local_90 = Proud::AddrPort::vftable; + local_88 = *(undefined4 *)(param_2 + 8); + local_84 = *(undefined2 *)(param_2 + 0xc); + pppuVar11 = &local_90; + pplVar12 = &local_res10; + plVar10 = plVar1; + FUN_14006ee80((longlong)plVar1,pplVar12,(longlong)pppuVar11); + FUN_140030200(plVar10,pplVar12,pppuVar11,param_4); + local_res8 = (uint *)PTR_DAT_140155010; + uVar3 = FUN_140030080(param_3); + SVar16 = 0; + uVar19 = 0; + uVar5 = 0; + uVar15 = SVar16; + if ((local_res8 != (uint *)0x0) && (uVar15 = 0, local_res8 != (uint *)PTR_DAT_140155010)) { + uVar15 = (ulonglong)local_res8[-2]; + } + uVar4 = uVar3; + if ((((int)uVar3 <= (int)uVar15) && (uVar4 = uVar5, local_res8 != (uint *)0x0)) && + (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_res8[-2]; + } + uVar14 = 1; + if (1 < (int)uVar4) { + uVar14 = uVar4; + } + uVar4 = uVar5; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_res8[-2]; + } + if ((int)uVar4 < (int)uVar14) { + if (local_res8 == (uint *)0x0) { + local_res8 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar14 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar14 == 0) { + FUN_140003240((longlong *)&local_res8,PTR_DAT_140155010,uVar15,param_4); + } + else { + uVar4 = uVar5; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_res8[-2]; + } + if (uVar14 != uVar4) { + puVar7 = (uint *)FUN_140030280((longlong)(int)uVar14 * 2 + 10); + if (puVar7 != (uint *)0x0) { + *puVar7 = 0; + puVar7[1] = 1; + } + *puVar7 = uVar14; + uVar4 = uVar5; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_res8[-2]; + } + puVar13 = (uint *)PTR_DAT_140155010; + if ((int)uVar14 < (int)uVar4) { +LAB_140074df3: + if (local_res8 != (uint *)0x0) { + puVar13 = local_res8; + } + } + else { + uVar14 = uVar5; + if (local_res8 != (uint *)0x0) { + if (local_res8 != (uint *)PTR_DAT_140155010) { + uVar14 = local_res8[-2]; + } + goto LAB_140074df3; + } + } + uVar15 = (ulonglong)uVar14; + FUN_1400300b0(puVar7 + 2,puVar13,uVar14); + FUN_140003240((longlong *)&local_res8,puVar13,uVar15,param_4); + local_res8 = puVar7 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_res8); + puVar7 = local_res8; + if (local_res8 == (uint *)0x0) { + puVar7 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar7,param_3,uVar3); + puVar7 = local_res8; + if (local_res8 == (uint *)0x0) { + puVar7 = (uint *)PTR_DAT_140155010; + } + uVar5 = FUN_140030080((short *)puVar7); + plVar10 = local_res10; + uVar3 = uVar19; + if (0 < (int)uVar5) { + uVar3 = uVar5; + } + uVar5 = uVar19; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_res8[-2]; + } + if (((int)uVar5 <= (int)uVar3) && (uVar3 = uVar19, local_res8 != (uint *)0x0)) { + if (local_res8 == (uint *)PTR_DAT_140155010) goto LAB_140074ea3; + uVar3 = local_res8[-2]; + } + if (((local_res8 != (uint *)PTR_DAT_140155010) && (local_res8 != (uint *)0x0)) && + (local_res8 + -2 != (uint *)0x0)) { + local_res8[-2] = uVar3; + *(undefined2 *)((longlong)local_res8 + (longlong)(int)uVar3 * 2) = 0; + } +LAB_140074ea3: + if ((local_res10 != (longlong *)0x0) && (*local_res10 != 0)) { + SVar16 = (SIZE_T)*(uint *)(*local_res10 + 0x56c); + } + local_58 = 0; + local_50 = 0; + local_48 = 0; + local_40 = 0; + local_60 = Proud::ByteArray::vftable; + ppuVar18 = &local_res8; + plVar8 = FUN_14003c120(&local_res20,0x1f,SVar16,(longlong *)ppuVar18,(longlong)&local_60); + lVar17 = *plVar1; + (**(code **)(lVar17 + 0x88))(plVar1); + pppuVar11 = &local_60; + FUN_14003b870(pppuVar11); + puVar7 = local_res8; + if (((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) && + (puVar13 = local_res8 + -2, puVar13 != (uint *)0x0)) { + piVar9 = (int *)FUN_140030200(pppuVar11,plVar8,lVar17,ppuVar18); + local_70 = piVar9; + FUN_14002e6e0(piVar9); + local_68 = 1; + puVar7 = puVar7 + -1; + *puVar7 = *puVar7 - 1; + if (*puVar7 == 0) { + FUN_1400302f0(puVar13); + } + FUN_14002e770((longlong)piVar9); + local_68 = 0; + } + local_res8 = (uint *)PTR_DAT_140155010; + if (plVar10 != (longlong *)0x0) { + plVar10 = plVar10 + 1; + *plVar10 = *plVar10 + -1; + piVar6 = local_80; + if (*plVar10 == 0) { + puVar2 = (undefined8 *)*local_res10; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(local_res10); + piVar6 = local_80; + } + } + FUN_14002e770((longlong)piVar6); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140074fc0.c b/decomp/Agent_Release_x64/full/functions/0x140074fc0.c new file mode 100644 index 00000000..32427c7d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140074fc0.c @@ -0,0 +1,273 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140074fc0 FUN_140074fc0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400753cc) */ +/* WARNING: Removing unreachable block (ram,0x0001400753db) */ +/* WARNING: Removing unreachable block (ram,0x0001400753e0) */ +/* WARNING: Removing unreachable block (ram,0x00014007541e) */ +/* WARNING: Removing unreachable block (ram,0x0001400753f0) */ +/* WARNING: Removing unreachable block (ram,0x00014007540f) */ +/* WARNING: Removing unreachable block (ram,0x000140075401) */ +/* WARNING: Removing unreachable block (ram,0x000140075417) */ +/* WARNING: Removing unreachable block (ram,0x00014007541c) */ + +undefined8 FUN_140074fc0(undefined8 *param_1,LPCWSTR param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + longlong lVar2; + undefined8 *puVar3; + undefined8 *puVar4; + undefined2 *puVar5; + undefined8 *puVar6; + undefined8 *puVar7; + DWORD DVar8; + BOOL BVar9; + undefined **ppuVar10; + undefined8 *puVar11; + int *piVar12; + int *piVar13; + undefined4 extraout_var; + ulonglong uVar14; + undefined *puVar15; + wchar_t *pwVar16; + undefined4 extraout_var_00; + undefined4 extraout_var_01; + undefined4 extraout_var_02; + longlong *plVar17; + undefined **ppuVar18; + undefined8 uVar19; + undefined2 *lpBuffer; + undefined *puVar20; + undefined8 *puVar21; + undefined8 *puVar22; + undefined *puVar23; + int iVar24; + undefined8 uVar25; + undefined8 uVar26; + undefined8 **lpNumberOfBytesWritten; + undefined8 *local_res8; + LPCWSTR local_res10; + undefined2 local_res18 [4]; + undefined8 *local_res20; + undefined2 *local_118; + undefined8 *local_110; + undefined8 *local_108; + undefined8 *local_100; + undefined8 *local_f8; + int *local_f0; + undefined8 local_e8; + int *local_e0; + undefined1 local_d8; + undefined8 local_d0; + __time64_t local_c8; + longlong local_c0; + undefined *local_b8; + int local_b0; + __time64_t local_a8; + int *local_a0; + undefined1 local_98; + int *local_90; + undefined1 local_88; + undefined8 local_80; + int *local_78; + undefined1 local_70; + undefined *local_68 [5]; + + local_80 = 0xfffffffffffffffe; + local_res8 = param_1; + local_res10 = param_2; + local_e0 = (int *)(**(code **)(param_1[-0xe] + 0x58))(); + FUN_14002e6e0(local_e0); + puVar6 = local_res8; + local_d8 = 1; + puVar21 = (undefined8 *)0x0; + local_110 = (undefined8 *)0x0; + local_f8 = (undefined8 *)0x0; + local_108 = (undefined8 *)0x0; + local_100 = (undefined8 *)0x0; + lVar2 = param_1[0x2eb]; + puVar3 = puVar21; + puVar4 = puVar21; + puVar11 = local_110; + while (local_110 = puVar11, lVar2 != 0) { + ppuVar18 = local_68; + ppuVar10 = (undefined **)FUN_140071fa0(param_1 + 0x2e8,(longlong *)ppuVar18,param_3,param_4); + plVar17 = (longlong *)0x28; + puVar11 = (undefined8 *)FUN_140030280(0x28); + local_res8 = puVar11; + local_res20 = puVar11; + if (puVar11 != (undefined8 *)0x0) { + FUN_140030200(plVar17,ppuVar18,param_3,param_4); + puVar11[2] = PTR_DAT_140155010; + plVar17 = puVar11 + 2; + ppuVar18 = ppuVar10; + FUN_140003170(plVar17,(longlong *)ppuVar10,param_3,param_4); + *(undefined4 *)(puVar11 + 3) = *(undefined4 *)(ppuVar10 + 1); + puVar11[4] = ppuVar10[2]; + } + puVar15 = local_68[0]; + puVar11[1] = puVar3; + *puVar11 = 0; + puVar21 = (undefined8 *)((longlong)puVar21 + 1); + puVar22 = puVar11; + puVar7 = puVar11; + if (puVar3 != (undefined8 *)0x0) { + *puVar3 = puVar11; + puVar22 = puVar4; + puVar7 = local_108; + } + local_108 = puVar7; + local_100 = puVar11; + local_f8 = puVar21; + if (((local_68[0] != (undefined *)0x0) && (local_68[0] != PTR_DAT_140155010)) && + (puVar20 = local_68[0] + -8, puVar20 != (undefined *)0x0)) { + piVar12 = (int *)FUN_140030200(plVar17,ppuVar18,param_3,param_4); + local_90 = piVar12; + FUN_14002e6e0(piVar12); + local_88 = 1; + piVar13 = (int *)(puVar15 + -4); + *piVar13 = *piVar13 + -1; + if (*piVar13 == 0) { + FUN_1400302f0(puVar20); + } + FUN_14002e770((longlong)piVar12); + local_88 = 0; + } + param_1 = puVar6; + puVar3 = puVar11; + puVar4 = puVar22; + puVar11 = local_110; + lVar2 = puVar6[0x2eb]; + } + FUN_14002e770((longlong)local_e0); + local_d8 = 0; + local_f0 = (int *)0x0; + local_e8 = 0; + uVar26 = 0; + uVar19 = 0x40000000; + uVar25 = 1; + piVar13 = CreateFileW(local_res10,0x40000000,1,(LPSECURITY_ATTRIBUTES)0x0,2,0x80,(HANDLE)0x0); + piVar12 = piVar13; + if (piVar13 == (int *)0xffffffffffffffff) { + DVar8 = FUN_140063e60(); + uVar14 = CONCAT44(extraout_var,DVar8); + piVar13 = (int *)0x0; + piVar12 = local_f0; + if ((int)DVar8 < 0) { + while( true ) { + if (puVar21 == (undefined8 *)0x0) { + return uVar14 & 0xffffffffffffff00; + } + if (puVar4 == (undefined8 *)0x0) break; + puVar3 = (undefined8 *)*puVar4; + FUN_140003240(puVar4 + 2,uVar19,uVar25,uVar26); + uVar14 = FUN_1400302f0(puVar4); + puVar21 = (undefined8 *)((longlong)puVar21 + -1); + puVar4 = puVar3; + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + local_f0 = piVar12; + local_d0 = 0; + DVar8 = SetFilePointer(piVar13,0,(PLONG)((longlong)&local_d0 + 4),0); + if (DVar8 == 0xffffffff) { + FUN_140063e60(); + } + local_res18[0] = 0xfeff; + lpNumberOfBytesWritten = &local_res8; + uVar14 = 2; + lpBuffer = local_res18; + piVar12 = piVar13; + BVar9 = WriteFile(piVar13,lpBuffer,2,(LPDWORD)lpNumberOfBytesWritten,(LPOVERLAPPED)0x0); + if (BVar9 == 0) { + FUN_140063e60(); + } + puVar15 = FUN_140030200(piVar12,lpBuffer,uVar14,lpNumberOfBytesWritten); + local_118 = (undefined2 *)PTR_DAT_140155010; + puVar5 = (undefined2 *)PTR_DAT_140155010; + while (puVar21 != (undefined8 *)0x0) { + FUN_140071fa0((longlong *)&local_110,(longlong *)&local_b8,uVar14,lpNumberOfBytesWritten); + local_c8 = local_a8; + plVar17 = FUN_140073e80(&local_c8,&local_c0,L"%#c"); + lVar2 = *plVar17; + pwVar16 = FUN_14009d520(local_b0); + FUN_14001b7a0((longlong *)&local_118,L"[%s] [%s] %s\r\n",pwVar16,lVar2); + LOCK(); + piVar13 = (int *)(local_c0 + -8); + iVar24 = *piVar13; + *piVar13 = *piVar13 + -1; + UNLOCK(); + if (iVar24 + -1 < 1) { + (**(code **)(**(longlong **)(local_c0 + -0x18) + 8))(); + } + piVar13 = local_f0; + puVar5 = local_118; + iVar24 = 0; + lpBuffer = (undefined2 *)PTR_DAT_140155010; + if (local_118 != (undefined2 *)0x0) { + piVar12 = (int *)0x0; + if (local_118 != (undefined2 *)PTR_DAT_140155010) { + piVar12 = (int *)(ulonglong)*(uint *)(local_118 + -4); + } + iVar24 = (int)piVar12; + lpBuffer = local_118; + } + uVar14 = (ulonglong)(uint)(iVar24 * 2); + lpNumberOfBytesWritten = &local_res20; + piVar12 = local_f0; + BVar9 = WriteFile(local_f0,lpBuffer,iVar24 * 2,(LPDWORD)lpNumberOfBytesWritten,(LPOVERLAPPED)0x0 + ); + puVar15 = (undefined *)CONCAT44(extraout_var_00,BVar9); + if (BVar9 == 0) { + DVar8 = FUN_140063e60(); + puVar15 = (undefined *)CONCAT44(extraout_var_01,DVar8); + } + puVar20 = local_b8; + puVar11 = local_110; + puVar21 = local_f8; + if (((local_b8 != (undefined *)0x0) && (local_b8 != PTR_DAT_140155010)) && + (puVar23 = local_b8 + -8, puVar23 != (undefined *)0x0)) { + piVar12 = (int *)FUN_140030200(piVar12,lpBuffer,uVar14,lpNumberOfBytesWritten); + local_a0 = piVar12; + FUN_14002e6e0(piVar12); + local_98 = 1; + piVar1 = (int *)(puVar20 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(puVar23); + } + puVar15 = (undefined *)FUN_14002e770((longlong)piVar12); + local_98 = 0; + puVar11 = local_110; + puVar21 = local_f8; + } + } + if (piVar13 != (int *)0x0) { + BVar9 = CloseHandle(piVar13); + puVar15 = (undefined *)CONCAT44(extraout_var_02,BVar9); + local_f0 = (int *)0x0; + piVar12 = piVar13; + } + if (((puVar5 != (undefined2 *)0x0) && (puVar5 != (undefined2 *)PTR_DAT_140155010)) && + (puVar5 + -4 != (undefined2 *)0x0)) { + piVar12 = (int *)FUN_140030200(piVar12,lpBuffer,uVar14,lpNumberOfBytesWritten); + local_78 = piVar12; + FUN_14002e6e0(piVar12); + local_70 = 1; + piVar13 = (int *)(puVar5 + -2); + *piVar13 = *piVar13 + -1; + if (*piVar13 == 0) { + FUN_1400302f0(puVar5 + -4); + } + puVar15 = (undefined *)FUN_14002e770((longlong)piVar12); + } + if (puVar11 != (undefined8 *)0x0) { + puVar15 = (undefined *)(**(code **)*puVar11)(puVar11,1); + } + return CONCAT71((int7)((ulonglong)puVar15 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140075460.c b/decomp/Agent_Release_x64/full/functions/0x140075460.c new file mode 100644 index 00000000..1e390aaa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140075460.c @@ -0,0 +1,105 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140075460 FUN_140075460 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_140075460(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *puVar1; + int *piVar2; + undefined *puVar3; + int iVar4; + longlong *plVar5; + undefined **ppuVar6; + undefined **ppuVar7; + undefined ***pppuVar8; + uint uVar9; + longlong lVar10; + double dVar11; + undefined *local_res8; + longlong local_res10; + undefined **local_50; + undefined4 local_48; + undefined2 local_44; + undefined **local_40; + undefined8 local_38; + undefined8 local_30; + undefined8 local_28; + undefined8 local_20; + + dVar11 = (double)(**(code **)(param_1[0xe] + 0x1c0))(); + if (((((longlong *)param_1[699] != (longlong *)0x0) && + (lVar10 = *(longlong *)param_1[699], lVar10 != 0)) && (lVar10 != 0x40)) && + (_DAT_1401551b8 < dVar11 - (double)param_1[0x2f4])) { + ppuVar7 = (undefined **)0x0; + ppuVar6 = ppuVar7; + if (lVar10 != 0) { + ppuVar6 = (undefined **)(lVar10 + -0x40); + } + uVar9 = *(uint *)((longlong)ppuVar6 + 0x1a4); + pppuVar8 = (undefined ***)param_1[0x2a4]; + if (((pppuVar8 != (undefined ***)0x0) && (*pppuVar8 != (undefined **)0x0)) && + (*pppuVar8 != (undefined **)0x40)) { + ppuVar6 = ppuVar7; + if ((longlong *)param_1[0x2ae] != (longlong *)0x0) { + ppuVar6 = *(undefined ***)param_1[0x2ae]; + } + local_50 = Proud::AddrPort::vftable; + local_48 = *(undefined4 *)(ppuVar6 + 0x1a); + local_44 = *(undefined2 *)((longlong)ppuVar6 + 0xd4); + if (*pppuVar8 != (undefined **)0x0) { + ppuVar7 = *pppuVar8 + -8; + } + pppuVar8 = &local_50; + ppuVar6 = (undefined **)ppuVar7[0x21]; + iVar4 = FUN_140097b90((longlong)ppuVar6,(longlong)pppuVar8); + uVar9 = uVar9 + iVar4; + } + if ((double)param_1[0x2f5] == 0.0) { + if (DAT_140155194 < (int)uVar9) { + param_1[0x2f5] = (longlong)dVar11; + } + } + else if (DAT_140155194 < (int)uVar9) { + if (_DAT_1401551b0 < dVar11 - (double)param_1[0x2f5]) { + param_1[0x2f5] = (longlong)dVar11; + FUN_140030200(ppuVar6,pppuVar8,param_3,param_4); + local_res8 = PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_res8,L"%d bytes in send queue",(ulonglong)uVar9,param_4); + local_38 = 0; + local_30 = 0; + local_28 = 0; + local_20 = 0; + local_40 = Proud::ByteArray::vftable; + ppuVar6 = &local_res8; + plVar5 = FUN_14003c120(&local_res10,0x25,1,(longlong *)ppuVar6,(longlong)&local_40); + lVar10 = *param_1; + (**(code **)(lVar10 + 0x88))(param_1); + pppuVar8 = &local_40; + FUN_14003b870(pppuVar8); + puVar3 = local_res8; + if (((local_res8 != (undefined *)0x0) && (local_res8 != PTR_DAT_140155010)) && + (puVar1 = local_res8 + -8, puVar1 != (undefined *)0x0)) { + ppuVar6 = (undefined **)FUN_140030200(pppuVar8,plVar5,lVar10,ppuVar6); + local_50 = ppuVar6; + FUN_14002e6e0((int *)ppuVar6); + local_48 = CONCAT31(local_48._1_3_,1); + piVar2 = (int *)(puVar3 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)ppuVar6); + } + } + } + else { + param_1[0x2f5] = 0; + } + param_1[0x2f4] = (longlong)dVar11; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400756c0.c b/decomp/Agent_Release_x64/full/functions/0x1400756c0.c new file mode 100644 index 00000000..0837f34e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400756c0.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400756c0 FUN_1400756c0 + * Pseudocode, not original source. */ + +void FUN_1400756c0(longlong param_1,longlong *param_2) + +{ + undefined8 *puVar1; + longlong *plVar2; + + if ((undefined8 *)*param_2 == (undefined8 *)0x0) { + plVar2 = (longlong *)0x0; + } + else { + plVar2 = *(longlong **)*param_2; + } + (**(code **)(*plVar2 + 8))(); + puVar1 = FUN_140072250((longlong *)(param_1 + 0x1700),param_2,*(undefined8 *)(param_1 + 0x1710),0) + ; + if (*(undefined8 **)(param_1 + 0x1710) == (undefined8 *)0x0) { + *(undefined8 **)(param_1 + 0x1708) = puVar1; + } + else { + **(undefined8 **)(param_1 + 0x1710) = puVar1; + } + *(undefined8 **)(param_1 + 0x1710) = puVar1; + if ((*param_2 != 0) && + (*(longlong *)(*param_2 + 8) = *(longlong *)(*param_2 + 8) + -1, + *(longlong *)(*param_2 + 8) == 0)) { + plVar2 = (longlong *)*param_2; + puVar1 = (undefined8 *)*plVar2; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(plVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140075780.c b/decomp/Agent_Release_x64/full/functions/0x140075780.c new file mode 100644 index 00000000..c6f296ea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140075780.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140075780 FUN_140075780 + * Pseudocode, not original source. */ + +ulonglong FUN_140075780(char *param_1,uint *param_2,char param_3) + +{ + uint uVar1; + uint uVar2; + uint *puVar3; + ulonglong uVar4; + ulonglong uVar5; + undefined8 uVar6; + + uVar1 = *param_2; + uVar2 = *(uint *)(param_1 + 0x28); + uVar5 = (ulonglong)uVar1 / (ulonglong)uVar2; + uVar4 = (ulonglong)uVar1 % (ulonglong)uVar2; + if (*(longlong *)(param_1 + 8) != 0) { + uVar5 = uVar4; + for (puVar3 = *(uint **)(*(longlong *)(param_1 + 8) + uVar4 * 8); + (puVar3 != (uint *)0x0 && + (uVar5 = (ulonglong)puVar3[8] / (ulonglong)uVar2, (uint)uVar4 == puVar3[8] % uVar2)); + puVar3 = *(uint **)(puVar3 + 4)) { + if (*puVar3 == uVar1) { + uVar6 = FUN_1400724d0(param_1,puVar3,param_3); + return CONCAT71((int7)((ulonglong)uVar6 >> 8),1); + } + } + } + return uVar5 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400757f0.c b/decomp/Agent_Release_x64/full/functions/0x1400757f0.c new file mode 100644 index 00000000..57131127 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400757f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400757f0 FUN_1400757f0 + * Pseudocode, not original source. */ + +void FUN_1400757f0(char *param_1) + +{ + FUN_140073c80(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140075810.c b/decomp/Agent_Release_x64/full/functions/0x140075810.c new file mode 100644 index 00000000..4081f074 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140075810.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140075810 FUN_140075810 + * Pseudocode, not original source. */ + +ushort * FUN_140075810(char *param_1,ushort *param_2) + +{ + ushort uVar1; + ushort *puVar2; + ulonglong uVar3; + undefined2 *puVar4; + uint uVar5; + + uVar1 = *param_2; + uVar3 = (ulonglong)uVar1 % (ulonglong)*(uint *)(param_1 + 0x28); + uVar5 = (uint)uVar3; + if (*(longlong *)(param_1 + 8) != 0) { + for (puVar2 = *(ushort **)(*(longlong *)(param_1 + 8) + uVar3 * 8); + (puVar2 != (ushort *)0x0 && (uVar5 == *(uint *)(puVar2 + 0x10) % *(uint *)(param_1 + 0x28))) + ; puVar2 = *(ushort **)(puVar2 + 8)) { + if (*puVar2 == uVar1) { + return puVar2 + 4; + } + } + } + puVar4 = FUN_140073e00(param_1,param_2,uVar5,(uint)uVar1); + return puVar4 + 4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140075880.c b/decomp/Agent_Release_x64/full/functions/0x140075880.c new file mode 100644 index 00000000..f0ec4ac0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140075880.c @@ -0,0 +1,198 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140075880 FUN_140075880 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140075d2d) */ +/* WARNING: Removing unreachable block (ram,0x000140075d06) */ +/* WARNING: Removing unreachable block (ram,0x000140075969) */ +/* WARNING: Removing unreachable block (ram,0x000140075978) */ +/* WARNING: Removing unreachable block (ram,0x0001400759fe) */ +/* WARNING: Removing unreachable block (ram,0x000140075cfb) */ +/* WARNING: Removing unreachable block (ram,0x00014007598a) */ +/* WARNING: Removing unreachable block (ram,0x000140075992) */ +/* WARNING: Removing unreachable block (ram,0x00014007599c) */ +/* WARNING: Removing unreachable block (ram,0x000140075d0c) */ +/* WARNING: Removing unreachable block (ram,0x0001400759f3) */ + +void FUN_140075880(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + uint *puVar1; + undefined8 *puVar2; + ulonglong uVar3; + double dVar4; + longlong *plVar5; + char cVar6; + uint uVar7; + int *piVar8; + longlong *plVar9; + longlong *plVar10; + longlong *plVar11; + longlong *plVar12; + longlong local_res8; + longlong *local_res10; + longlong *local_res18; + + piVar8 = (int *)(**(code **)(*param_1 + 0x58))(param_1,param_2,param_3,param_4,0xfffffffffffffffe) + ; + FUN_14002e6e0(piVar8); + dVar4 = (double)(**(code **)(param_1[0xe] + 0x1c0))(); + plVar12 = (longlong *)0x0; + plVar10 = plVar12; + if (param_1[0x2e8] != 0) { + plVar10 = (longlong *)param_1[0x2e6]; + } + while (plVar10 != (longlong *)0x0) { + plVar11 = (longlong *)plVar10[1]; + plVar9 = plVar12; + if ((plVar11 != (longlong *)0x0) && (*plVar11 != 0)) { + plVar9 = (longlong *)(*plVar11 + -0x40); + } + if (dVar4 - (double)plVar9[0x29] <= DAT_1401550e0 + 10.0) { + plVar10 = (longlong *)plVar10[2]; + } + else { + local_res8 = 0; + if (plVar11 != (longlong *)0x0) { + *(longlong *)(plVar10[1] + 8) = plVar11[1] + 1; + local_res8 = plVar10[1]; + } + FUN_1400756c0((longlong)param_1,&local_res8); + plVar11 = (longlong *)plVar10[2]; + FUN_1400724d0((char *)(param_1 + 0x2e4),plVar10,'\0'); + plVar10 = plVar11; + } + } + plVar10 = plVar12; + if (param_1[0x2d9] != 0) { + plVar10 = (longlong *)param_1[0x2d7]; + } + while (plVar10 != (longlong *)0x0) { + if (plVar10 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + local_res18 = (longlong *)0x0; + if (plVar10[1] != 0) { + *(longlong *)(plVar10[1] + 8) = *(longlong *)(plVar10[1] + 8) + 1; + local_res18 = (longlong *)plVar10[1]; + } + plVar11 = local_res18; + plVar9 = plVar12; + if (local_res18 != (longlong *)0x0) { + plVar9 = (longlong *)*local_res18; + } + if ((int)plVar9[0xd0] == 0) { + if (plVar10 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + plVar9 = (longlong *)plVar10[2]; + FUN_1400724d0((char *)(param_1 + 0x2d5),plVar10,'\0'); + plVar10 = plVar12; + if (plVar11 != (longlong *)0x0) { + plVar10 = (longlong *)*plVar11; + } + uVar7 = (**(code **)(*plVar10 + 8))(); + uVar3 = (ulonglong)uVar7 % (ulonglong)*(uint *)(param_1 + 0x2cf); + if (param_1[0x2cb] != 0) { + puVar1 = *(uint **)(param_1[0x2cb] + uVar3 * 8); + while( true ) { + if ((puVar1 == (uint *)0x0) || ((uint)uVar3 != puVar1[8] % *(uint *)(param_1 + 0x2cf))) + goto LAB_140075b4e; + if (*puVar1 == uVar7) break; + puVar1 = *(uint **)(puVar1 + 4); + } + FUN_1400724d0((char *)(param_1 + 0x2ca),puVar1,'\0'); + } + } + else { + plVar9 = plVar12; + if (plVar10 != (longlong *)0x0) { + plVar9 = (longlong *)plVar10[2]; + } + } +LAB_140075b4e: + plVar5 = local_res18; + plVar10 = plVar9; + if (plVar11 != (longlong *)0x0) { + plVar11 = plVar11 + 1; + *plVar11 = *plVar11 + -1; + if (*plVar11 == 0) { + puVar2 = (undefined8 *)*local_res18; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(plVar5); + } + } + } + plVar10 = (longlong *)param_1[0x2e1]; + do { + if (plVar10 == (longlong *)0x0) { + FUN_14002e770((longlong)piVar8); + return; + } + if (plVar10 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + local_res10 = (longlong *)0x0; + if (plVar10[2] != 0) { + *(longlong *)(plVar10[2] + 8) = *(longlong *)(plVar10[2] + 8) + 1; + local_res10 = (longlong *)plVar10[2]; + } + plVar11 = local_res10; + plVar9 = plVar12; + if (local_res10 != (longlong *)0x0) { + plVar9 = (longlong *)*local_res10; + } + cVar6 = (**(code **)(*plVar9 + 0x10))(); + if (cVar6 == '\0') { +LAB_140075caa: + plVar9 = (longlong *)*plVar10; + } + else { + plVar9 = plVar12; + if (plVar11 != (longlong *)0x0) { + plVar9 = (longlong *)*plVar11; + } + plVar11 = local_res10; + if ((char)plVar9[0x10] != '\0') goto LAB_140075caa; + plVar9 = plVar12; + if (local_res10 != (longlong *)0x0) { + plVar9 = (longlong *)*local_res10; + } + if ((char)plVar9[8] != '\0') goto LAB_140075caa; + plVar9 = (longlong *)*plVar10; + if (plVar10 == (longlong *)param_1[0x2e1]) { + param_1[0x2e1] = (longlong)plVar9; + } + else { + *(longlong **)plVar10[1] = plVar9; + } + if (plVar10 == (longlong *)param_1[0x2e2]) { + param_1[0x2e2] = plVar10[1]; + } + else { + *(longlong *)(*plVar10 + 8) = plVar10[1]; + } + FUN_1400702d0(param_1 + 0x2e0,plVar10); + plVar11 = local_res10; + } + plVar5 = local_res10; + plVar10 = plVar9; + if (plVar11 != (longlong *)0x0) { + plVar11 = plVar11 + 1; + *plVar11 = *plVar11 + -1; + if (*plVar11 == 0) { + puVar2 = (undefined8 *)*local_res10; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(plVar5); + } + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140075d60.c b/decomp/Agent_Release_x64/full/functions/0x140075d60.c new file mode 100644 index 00000000..6034c321 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140075d60.c @@ -0,0 +1,523 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140075d60 FUN_140075d60 + * Pseudocode, not original source. */ + +void FUN_140075d60(longlong *param_1,int *param_2,byte *param_3,byte *param_4,int *param_5, + int *param_6) + +{ + byte bVar1; + int iVar2; + uint uVar3; + longlong lVar4; + ulonglong uVar5; + undefined8 *puVar6; + undefined8 uVar7; + undefined8 *puVar8; + undefined8 *puVar9; + uint *puVar10; + int *piVar11; + longlong *plVar12; + uint uVar13; + uint uVar14; + undefined4 *puVar15; + undefined4 *puVar16; + uint *puVar17; + uint uVar18; + ulonglong *puVar20; + IMAGE_DOS_HEADER *pIVar21; + uint *puVar22; + uint uVar23; + size_t sVar24; + byte *pbVar25; + byte *pbVar26; + uint **ppuVar27; + undefined8 *local_res10; + byte *local_res18; + byte *local_res20; + undefined8 in_stack_fffffffffffffdd8; + undefined4 uVar28; + uint *local_218; + uint *local_210; + int local_208; + undefined8 local_200; + uint local_1f8; + undefined8 local_1e8; + undefined8 local_1e0; + undefined8 *local_1d8; + undefined8 local_1d0; + undefined8 local_1c8; + longlong local_1b0; + byte *local_188; + undefined1 local_180; + uint *local_178; + ulonglong local_170; + longlong local_168; + longlong local_160; + longlong local_158; + undefined **local_150; + undefined8 local_148; + undefined8 local_140; + undefined8 local_138; + undefined8 local_130; + undefined **local_128; + undefined8 local_120; + undefined8 local_118; + undefined8 local_110; + undefined8 local_108; + undefined **local_100; + undefined8 local_f8; + undefined8 local_f0; + undefined8 local_e8; + undefined8 local_e0; + undefined8 local_c8; + undefined8 **ppuVar19; + + uVar28 = (undefined4)((ulonglong)in_stack_fffffffffffffdd8 >> 0x20); + local_c8 = 0xfffffffffffffffe; + iVar2 = *param_2; + local_res18 = param_3; + local_res20 = param_4; + if (iVar2 != 0) { + if (iVar2 == 1) { + puVar22 = (uint *)(param_2 + 2); + local_1f8 = (int)(*puVar22 + ((int)*puVar22 >> 0x1f & 7U)) >> 3; + local_res10 = (undefined8 *)((ulonglong)local_res10 & 0xffffffffffffff00); + pbVar25 = param_3; + pbVar26 = param_4; + local_218 = puVar22; + local_188 = (byte *)FUN_140071d60(param_1,param_2[0xc],param_3,param_4); + (**(code **)(param_1[0xf] + 0x18))(); + iVar2 = 0; + local_200 = (int *)((ulonglong)local_200._4_4_ << 0x20); + puVar10 = (uint *)&local_200; + puVar17 = puVar22; + local_178 = puVar22; + uVar7 = FUN_140080fb0(puVar22,puVar10,pbVar25,pbVar26); + if ((char)uVar7 != '\0') { + for (; local_208 = iVar2, iVar2 < (int)param_1[9]; iVar2 = iVar2 + 1) { + if ((iVar2 < 0) || ((int)param_1[9] <= iVar2)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(puVar17,puVar10,pbVar25,pbVar26); + } + plVar12 = *(longlong **)(param_1[8] + (longlong)iVar2 * 8); + FUN_1400802d0((int *)local_178,(ulonglong)local_1f8,pbVar25,pbVar26); + *(undefined2 *)(plVar12 + 1) = 0; + puVar10 = puVar22; + pbVar25 = local_188; + bVar1 = (**(code **)(*plVar12 + 0x10))(plVar12); + local_res10 = (undefined8 *)CONCAT71(local_res10._1_7_,(byte)local_res10 | bVar1); + *param_3 = *param_3 | *(byte *)(plVar12 + 1); + puVar17 = (uint *)(ulonglong)*(byte *)((longlong)plVar12 + 9); + *param_4 = *param_4 | *(byte *)((longlong)plVar12 + 9); + if (((bVar1 != 0) && (plVar12 != param_1 + 0x307)) && (plVar12 != param_1 + 0x2fe)) { + *param_5 = *param_5 + 1; + } + } + if ((byte)local_res10 != '\0') { + return; + } + } + FUN_1400802d0((int *)local_178,(ulonglong)local_1f8,pbVar25,pbVar26); + if (param_1[0x2b0] == 0) { + return; + } + *param_6 = *param_6 + 1; + (**(code **)(*(longlong *)param_1[0x2b0] + 0x28)) + ((longlong *)param_1[0x2b0],(ulonglong)local_200 & 0xffffffff); + return; + } + if (iVar2 != 2) { + return; + } + puVar22 = (uint *)(param_2 + 2); + pbVar25 = param_3; + pbVar26 = param_4; + local_218 = puVar22; + lVar4 = FUN_140071d60(param_1,param_2[0xc],param_3,param_4); + (**(code **)(param_1[0xf] + 0x18))(); + if (param_1[0x2b0] == 0) { + return; + } + ppuVar19 = &local_res10; + uVar5 = FUN_140080ca0(puVar22,ppuVar19,pbVar25,pbVar26); + if ((char)uVar5 != '\0') { + uVar3 = *puVar22; + uVar18 = (int)uVar3 >> 0x1f & 7; + ppuVar19 = (undefined8 **)(ulonglong)uVar18; + iVar2 = FUN_14003fcd0((longlong)puVar22,ppuVar19,pbVar25,pbVar26); + if ((int)local_res10 == iVar2 - ((int)(uVar18 + uVar3) >> 3)) { + *(undefined1 *)(param_1[0x2b0] + 8) = 0; + *(undefined1 *)(param_1[0x2b0] + 9) = 0; + FUN_14003b570((undefined1 *)&local_1e8); + local_1e8 = (undefined **)CONCAT44(param_2[0xc],(undefined4)local_1e8); + local_1e8 = (undefined **)CONCAT71(local_1e8._1_7_,(char)param_2[0x12]); + uVar3 = *puVar22; + uVar18 = (int)uVar3 >> 0x1f & 7; + local_1b0 = lVar4; + lVar4 = FUN_140065820((longlong)puVar22,(ulonglong)uVar18,pbVar25,pbVar26); + (**(code **)(*(longlong *)param_1[0x2b0] + 0x30)) + ((longlong *)param_1[0x2b0],param_2[0xc],&local_1e8, + lVar4 + ((int)(uVar3 + uVar18) >> 3),CONCAT44(uVar28,(int)local_res10)); + *param_3 = *param_3 | *(byte *)(param_1[0x2b0] + 8); + *param_4 = *param_4 | *(byte *)(param_1[0x2b0] + 9); + *param_5 = *param_5 + 1; + return; + } + } + local_188 = (byte *)FUN_140030280(0x60); + if (local_188 == (byte *)0x0) { + puVar6 = (undefined8 *)0x0; + } + else { + puVar6 = FUN_14003bef0((undefined8 *)local_188,ppuVar19,pbVar25,pbVar26); + } + puVar16 = (undefined4 *)0x0; + FUN_14002b5f0((longlong *)&local_res10,(longlong)puVar6,pbVar25,pbVar26); + puVar15 = puVar16; + if (local_res10 != (undefined8 *)0x0) { + puVar15 = (undefined4 *)local_res10[7]; + } + *puVar15 = 0x1f; + if (local_res10 != (undefined8 *)0x0) { + puVar16 = (undefined4 *)local_res10[7]; + } + FUN_140006c60((longlong *)(puVar16 + 4),L"Invalid payload size in User Message!",pbVar25,pbVar26 + ); + local_170 = 0; + FUN_14003bff0(&local_170,(ulonglong *)&local_res10,pbVar25,pbVar26); + puVar20 = &local_170; + (**(code **)(*param_1 + 0x80))(param_1); + FUN_14002b570((longlong *)&local_res10,puVar20,pbVar25,pbVar26); + return; + } + pbVar25 = param_3; + pbVar26 = param_4; + (**(code **)(param_1[0xf] + 0x18))(); + if (param_1[0x2b0] == 0) { + return; + } + local_200 = param_2 + 0x14; + *(undefined1 *)(param_1[0x2b0] + 8) = 0; + *(undefined1 *)(param_1[0x2b0] + 9) = 0; + uVar3 = *local_200 - 1; + if (0x14 < uVar3) { + return; + } + pIVar21 = &IMAGE_DOS_HEADER_140000000; + switch(*local_200) { + case 1: + iVar2 = FUN_14003fc60((longlong *)(param_2 + 0x28),&IMAGE_DOS_HEADER_140000000,pbVar25,pbVar26); + sVar24 = (size_t)iVar2; + puVar8 = (undefined8 *)FUN_14003fc90((longlong *)(param_2 + 0x28),pIVar21,pbVar25,pbVar26); + local_1e8 = Proud::CFastArray::vftable; + puVar6 = (undefined8 *)0x0; + local_1e0 = 0; + local_1d8 = (undefined8 *)0x0; + local_1d0 = 0; + local_1c8 = 0; + if (iVar2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14001bc70((longlong)&local_1e8,iVar2,(SIZE_T)pbVar25); + puVar9 = local_1d8; + if ((int)local_1d0 == 0) { + puVar9 = puVar6; + } + FUN_14001bd30(puVar9,puVar8,sVar24); + local_1e8 = Proud::ByteArray::vftable; + local_res10 = (undefined8 *)FUN_140030280(0x60); + puVar9 = puVar6; + if (local_res10 != (undefined8 *)0x0) { + puVar9 = FUN_14003bef0(local_res10,puVar8,sVar24,pbVar26); + } + plVar12 = FUN_14002b5f0(&local_158,(longlong)puVar9,sVar24,pbVar26); + if (*plVar12 != 0) { + puVar6 = *(undefined8 **)(*plVar12 + 0x38); + } + puVar8 = &local_1e8; + (**(code **)(*(longlong *)param_1[0x2b0] + 0x38))(); + FUN_14002b570(&local_158,puVar6,puVar8,pbVar26); + FUN_14003b870(&local_1e8); + break; + case 2: + FUN_140030200(IMAGE_DOS_HEADER_140000000.e_magic + + (&switchD_14007614b::switchdataD_14007686c)[(int)uVar3], + &IMAGE_DOS_HEADER_140000000,pbVar25,pbVar26); + local_210 = (uint *)PTR_DAT_140155010; + uVar18 = FUN_140030080(&DAT_14011e014); + local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,uVar18); + puVar22 = (uint *)0x0; + uVar23 = 0; + uVar3 = uVar23; + if ((local_210 != (uint *)0x0) && (local_210 != (uint *)PTR_DAT_140155010)) { + uVar3 = local_210[-2]; + } + uVar13 = uVar18; + if ((((int)uVar18 <= (int)uVar3) && (uVar13 = uVar23, local_210 != (uint *)0x0)) && + (local_210 != (uint *)PTR_DAT_140155010)) { + uVar13 = local_210[-2]; + } + uVar3 = 1; + if (1 < (int)uVar13) { + uVar3 = uVar13; + } + uVar13 = uVar23; + if ((local_210 != (uint *)0x0) && (local_210 != (uint *)PTR_DAT_140155010)) { + uVar13 = local_210[-2]; + } + uVar14 = 0; + if ((int)uVar13 < (int)uVar3) { + if (local_210 == (uint *)0x0) { + local_210 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar3 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar3 == 0) { + FUN_140003240((longlong *)&local_210,PTR_DAT_140155010,pbVar25,pbVar26); + } + else { + uVar13 = uVar14; + if ((local_210 != (uint *)0x0) && (local_210 != (uint *)PTR_DAT_140155010)) { + uVar13 = local_210[-2]; + } + if (uVar3 != uVar13) { + puVar10 = (uint *)FUN_140030280((longlong)(int)uVar3 * 2 + 10); + if (puVar10 != (uint *)0x0) { + *puVar10 = 0; + puVar10[1] = 1; + } + *puVar10 = uVar3; + uVar18 = uVar14; + if ((local_210 != (uint *)0x0) && (local_210 != (uint *)PTR_DAT_140155010)) { + uVar18 = local_210[-2]; + } + puVar17 = (uint *)PTR_DAT_140155010; + if ((int)uVar3 < (int)uVar18) { +LAB_140076354: + if (local_210 != (uint *)0x0) { + puVar17 = local_210; + } + } + else { + uVar3 = uVar23; + if (local_210 != (uint *)0x0) { + if (local_210 != (uint *)PTR_DAT_140155010) { + uVar3 = local_210[-2]; + } + goto LAB_140076354; + } + } + uVar5 = (ulonglong)uVar3; + FUN_1400300b0(puVar10 + 2,puVar17,uVar3); + FUN_140003240((longlong *)&local_210,puVar17,uVar5,pbVar26); + uVar18 = (uint)local_res10; + local_210 = puVar10 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_210); + puVar10 = local_210; + if (local_210 == (uint *)0x0) { + puVar10 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar10,&DAT_14011e014,uVar18); + puVar10 = local_210; + if (local_210 == (uint *)0x0) { + puVar10 = (uint *)PTR_DAT_140155010; + } + uVar18 = FUN_140030080((short *)puVar10); + uVar3 = 0; + if (0 < (int)uVar18) { + uVar3 = uVar18; + } + uVar18 = uVar14; + if ((local_210 != (uint *)0x0) && (local_210 != (uint *)PTR_DAT_140155010)) { + uVar18 = local_210[-2]; + } + if (((int)uVar3 < (int)uVar18) || (uVar3 = uVar14, local_210 == (uint *)0x0)) { +LAB_1400763f8: + if (((local_210 != (uint *)PTR_DAT_140155010) && (local_210 != (uint *)0x0)) && + (local_210 + -2 != (uint *)0x0)) { + local_210[-2] = uVar3; + *(undefined2 *)((longlong)local_210 + (longlong)(int)uVar3 * 2) = 0; + } + } + else if (local_210 != (uint *)PTR_DAT_140155010) { + uVar3 = local_210[-2]; + goto LAB_1400763f8; + } + local_120 = 0; + local_118 = 0; + local_110 = 0; + local_108 = 0; + local_128 = Proud::ByteArray::vftable; + puVar10 = puVar22; + if (*(longlong *)(param_2 + 0x16) != 0) { + puVar10 = *(uint **)(*(longlong *)(param_2 + 0x16) + 0x38); + } + ppuVar27 = &local_210; + uVar7 = 1; + uVar5 = (ulonglong)*puVar10; + FUN_14003c120((longlong *)&local_218,uVar5,1,(longlong *)ppuVar27,(longlong)&local_128); + FUN_14003b870(&local_128); + puVar10 = local_210; + if (((local_210 != (uint *)0x0) && (local_210 != (uint *)PTR_DAT_140155010)) && + (puVar17 = local_210 + -2, puVar17 != (uint *)0x0)) { + piVar11 = (int *)FUN_140030200(PTR_DAT_140155010,uVar5,uVar7,ppuVar27); + local_180 = 0; + local_188 = (byte *)piVar11; + FUN_14002e6e0(piVar11); + local_180 = 1; + puVar10 = puVar10 + -1; + *puVar10 = *puVar10 - 1; + if (*puVar10 == 0) { + FUN_1400302f0(puVar17); + } + FUN_14002e770((longlong)piVar11); + param_3 = local_res18; + } + local_210 = (uint *)PTR_DAT_140155010; + puVar10 = puVar22; + if (local_218 != (uint *)0x0) { + puVar10 = *(uint **)(local_218 + 0xe); + } + puVar10[8] = param_2[0x40]; + *(short *)(puVar10 + 9) = (short)param_2[0x41]; + puVar10 = puVar22; + if (local_218 != (uint *)0x0) { + puVar10 = *(uint **)(local_218 + 0xe); + } + puVar10[2] = param_2[0x42]; + local_1e0 = 0; + local_1d8 = (undefined8 *)0x0; + local_1d0 = 0; + local_1c8 = 0; + local_1e8 = Proud::ByteArray::vftable; + if (*(longlong *)(param_2 + 0x28) != 0) { + uVar3 = *(uint *)(*(longlong *)(param_2 + 0x28) + 0x18); +LAB_1400765cb: + if (0 < (int)uVar3) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0((ulonglong)uVar3,uVar5,uVar7,ppuVar27); + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (*(longlong *)(param_2 + 0x2a) != 0) { + if (*(longlong *)(param_2 + 0x2a) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar10,uVar5,uVar7,ppuVar27); + } + uVar3 = param_2[0x2c]; + goto LAB_1400765cb; + } + if (local_218 != (uint *)0x0) { + puVar22 = *(uint **)(local_218 + 0xe); + } + puVar6 = &local_1e8; + (**(code **)(*(longlong *)param_1[0x2b0] + 0x38))(); + FUN_14003b870(&local_1e8); + FUN_14002b570((longlong *)&local_218,puVar22,puVar6,ppuVar27); + break; + case 3: + uVar7 = 0; + if (*(longlong *)(param_2 + 0x16) != 0) { + uVar7 = *(undefined8 *)(*(longlong *)(param_2 + 0x16) + 0x38); + } + (**(code **)(*(longlong *)param_1[0x2b0] + 0x40))((longlong *)param_1[0x2b0],uVar7); + break; + default: + goto switchD_14007614b_caseD_4; + case 8: + (**(code **)(*(longlong *)param_1[0x2b0] + 0x48)) + ((longlong *)param_1[0x2b0],param_2[0x2f],param_2[0x2e],param_2[0x3c],param_2 + 0x32); + break; + case 9: + (**(code **)(*(longlong *)param_1[0x2b0] + 0x50)) + ((longlong *)param_1[0x2b0],param_2[0x2f],param_2[0x2e],param_2[0x3c]); + FUN_140071b50(param_1,param_2[0x2f]); + break; + case 10: + (**(code **)(*(longlong *)param_1[0x2b0] + 0x58))((longlong *)param_1[0x2b0],param_2[0x30],0); + break; + case 0xb: + puVar16 = (undefined4 *)0x0; + if (*(longlong *)(param_2 + 0x16) != 0) { + puVar16 = *(undefined4 **)(*(longlong *)(param_2 + 0x16) + 0x38); + } + (**(code **)(*(longlong *)param_1[0x2b0] + 0x58)) + ((longlong *)param_1[0x2b0],param_2[0x30],*puVar16); + break; + case 0xd: + if (param_1[0x2b0] != 0) { + puVar16 = (undefined4 *)0x0; + if (*(longlong *)(param_2 + 0x16) != 0) { + puVar16 = *(undefined4 **)(*(longlong *)(param_2 + 0x16) + 0x38); + } + (**(code **)(*(longlong *)param_1[0x2b0] + 0x60))((longlong *)param_1[0x2b0],*puVar16); + } + break; + case 0xe: + (**(code **)(*(longlong *)param_1[0x2b0] + 0x68))(); + break; + case 0x14: + puVar22 = (uint *)0x0; + local_f8 = 0; + local_f0 = 0; + local_e8 = 0; + local_e0 = 0; + local_100 = Proud::ByteArray::vftable; + lVar4 = *(longlong *)(param_2 + 0x16); + puVar17 = puVar22; + puVar10 = puVar22; + if (lVar4 != 0) { + puVar17 = *(uint **)(lVar4 + 0x38); + puVar10 = *(uint **)(lVar4 + 0x38); + } + puVar10 = puVar10 + 4; + uVar5 = (ulonglong)(uint)param_2[0x30]; + plVar12 = FUN_14003c120(&local_160,(ulonglong)*puVar17,uVar5,(longlong *)puVar10, + (longlong)&local_100); + if (*plVar12 != 0) { + puVar22 = *(uint **)(*plVar12 + 0x38); + } + (**(code **)(*(longlong *)param_1[0x2b0] + 8))(); + FUN_14002b570(&local_160,puVar22,uVar5,puVar10); + FUN_14003b870(&local_100); + break; + case 0x15: + puVar22 = (uint *)0x0; + local_148 = 0; + local_140 = 0; + local_138 = 0; + local_130 = 0; + local_150 = Proud::ByteArray::vftable; + lVar4 = *(longlong *)(param_2 + 0x16); + puVar17 = puVar22; + puVar10 = puVar22; + if (lVar4 != 0) { + puVar17 = *(uint **)(lVar4 + 0x38); + puVar10 = *(uint **)(lVar4 + 0x38); + } + puVar10 = puVar10 + 4; + uVar5 = (ulonglong)(uint)param_2[0x30]; + plVar12 = FUN_14003c120(&local_168,(ulonglong)*puVar17,uVar5,(longlong *)puVar10, + (longlong)&local_150); + if (*plVar12 != 0) { + puVar22 = *(uint **)(*plVar12 + 0x38); + } + (**(code **)(*(longlong *)param_1[0x2b0] + 0x10))(); + FUN_14002b570(&local_168,puVar22,uVar5,puVar10); + FUN_14003b870(&local_150); + } + *param_3 = *(byte *)(param_1[0x2b0] + 8); + *param_4 = *(byte *)(param_1[0x2b0] + 9); + *param_6 = *param_6 + 1; +switchD_14007614b_caseD_4: + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400768c0.c b/decomp/Agent_Release_x64/full/functions/0x1400768c0.c new file mode 100644 index 00000000..6407bc19 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400768c0.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400768c0 FUN_1400768c0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400769c9) */ +/* WARNING: Removing unreachable block (ram,0x000140076943) */ +/* WARNING: Removing unreachable block (ram,0x000140076953) */ +/* WARNING: Removing unreachable block (ram,0x0001400769d4) */ +/* WARNING: Removing unreachable block (ram,0x000140076967) */ +/* WARNING: Removing unreachable block (ram,0x00014007696f) */ +/* WARNING: Removing unreachable block (ram,0x000140076979) */ + +void FUN_1400768c0(longlong param_1) + +{ + LPVOID pvVar1; + LPVOID pvVar2; + longlong local_res8; + + pvVar2 = (LPVOID)0x0; + if (*(longlong *)(param_1 + 0x1740) != 0) { + pvVar2 = *(LPVOID *)(param_1 + 0x1730); + } + while (pvVar2 != (LPVOID)0x0) { + local_res8 = 0; + if (*(longlong *)((longlong)pvVar2 + 8) != 0) { + *(longlong *)(*(longlong *)((longlong)pvVar2 + 8) + 8) = + *(longlong *)(*(longlong *)((longlong)pvVar2 + 8) + 8) + 1; + local_res8 = *(longlong *)((longlong)pvVar2 + 8); + } + FUN_1400756c0(param_1,&local_res8); + pvVar1 = *(LPVOID *)((longlong)pvVar2 + 0x10); + FUN_1400724d0((char *)(param_1 + 0x1720),pvVar2,'\0'); + pvVar2 = pvVar1; + } + FUN_140073c80((char *)(param_1 + 0x1720)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140076a10.c b/decomp/Agent_Release_x64/full/functions/0x140076a10.c new file mode 100644 index 00000000..2dde1304 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140076a10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140076a10 FUN_140076a10 + * Pseudocode, not original source. */ + +void FUN_140076a10(longlong param_1) + +{ + FUN_140073c80((char *)(param_1 + 0x16a8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140076a20.c b/decomp/Agent_Release_x64/full/functions/0x140076a20.c new file mode 100644 index 00000000..b14e14b6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140076a20.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140076a20 FUN_140076a20 + * Pseudocode, not original source. */ + +undefined8 FUN_140076a20(char *param_1,uint *param_2,longlong *param_3) + +{ + uint uVar1; + ulonglong uVar2; + uint *puVar3; + undefined8 uVar4; + + uVar1 = *(uint *)(param_1 + 0x28); + uVar2 = (ulonglong)*param_2 % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 8) != 0) { + for (puVar3 = *(uint **)(*(longlong *)(param_1 + 8) + uVar2 * 8); + (puVar3 != (uint *)0x0 && ((uint)uVar2 == puVar3[8] % uVar1)); + puVar3 = *(uint **)(puVar3 + 4)) { + if (*puVar3 == *param_2) { + return (ulonglong)puVar3[8] / (ulonglong)uVar1 & 0xffffff00; + } + } + } + puVar3 = FUN_140059d00(param_1,param_2); + uVar4 = FUN_1400ad4b0((longlong *)puVar3,param_3); + return CONCAT71((int7)((ulonglong)uVar4 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140076ab0.c b/decomp/Agent_Release_x64/full/functions/0x140076ab0.c new file mode 100644 index 00000000..36ac4e7e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140076ab0.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140076ab0 FUN_140076ab0 + * Pseudocode, not original source. */ + +undefined8 FUN_140076ab0(char *param_1,ushort *param_2,longlong *param_3) + +{ + uint uVar1; + ulonglong uVar2; + ushort *puVar3; + undefined8 uVar4; + + uVar1 = *(uint *)(param_1 + 0x28); + uVar2 = (ulonglong)*param_2 % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 8) != 0) { + for (puVar3 = *(ushort **)(*(longlong *)(param_1 + 8) + uVar2 * 8); + (puVar3 != (ushort *)0x0 && ((uint)uVar2 == *(uint *)(puVar3 + 0x10) % uVar1)); + puVar3 = *(ushort **)(puVar3 + 8)) { + if (*puVar3 == *param_2) { + return (ulonglong)*(uint *)(puVar3 + 0x10) / (ulonglong)uVar1 & 0xffffff00; + } + } + } + puVar3 = FUN_140075810(param_1,param_2); + uVar4 = FUN_1400ad4b0((longlong *)puVar3,param_3); + return CONCAT71((int7)((ulonglong)uVar4 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140076b40.c b/decomp/Agent_Release_x64/full/functions/0x140076b40.c new file mode 100644 index 00000000..4fe9fc8f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140076b40.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140076b40 FUN_140076b40 + * Pseudocode, not original source. */ + +void FUN_140076b40(longlong *param_1) + +{ + undefined8 *puVar1; + void *pvVar2; + + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + puVar1 = (undefined8 *)*param_1; + pvVar2 = (void *)*puVar1; + if (pvVar2 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar2 + 8)); + operator_delete(pvVar2); + } + FUN_1400302f0(puVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140076bb0.c b/decomp/Agent_Release_x64/full/functions/0x140076bb0.c new file mode 100644 index 00000000..d96a585b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140076bb0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140076bb0 FUN_140076bb0 + * Pseudocode, not original source. */ + +void FUN_140076bb0(longlong *param_1,longlong *param_2) + +{ + longlong lVar1; + void *pvVar2; + undefined8 *puVar3; + + lVar1 = *param_2; + if (lVar1 != *param_1) { + if (lVar1 != 0) { + *(longlong *)(*param_2 + 8) = *(longlong *)(lVar1 + 8) + 1; + } + puVar3 = (undefined8 *)0x0; + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + puVar3 = (undefined8 *)*param_1; + } + *param_1 = *param_2; + if (puVar3 != (undefined8 *)0x0) { + pvVar2 = (void *)*puVar3; + if (pvVar2 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar2 + 8)); + operator_delete(pvVar2); + } + FUN_1400302f0(puVar3); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140076c40.c b/decomp/Agent_Release_x64/full/functions/0x140076c40.c new file mode 100644 index 00000000..d4594198 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140076c40.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140076c40 FUN_140076c40 + * Pseudocode, not original source. */ + +void FUN_140076c40(longlong param_1) + +{ + undefined8 *puVar1; + void *pvVar2; + + if ((*(longlong *)(param_1 + 8) != 0) && + (*(longlong *)(*(longlong *)(param_1 + 8) + 8) = + *(longlong *)(*(longlong *)(param_1 + 8) + 8) + -1, + *(longlong *)(*(longlong *)(param_1 + 8) + 8) == 0)) { + puVar1 = *(undefined8 **)(param_1 + 8); + pvVar2 = (void *)*puVar1; + if (pvVar2 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar2 + 8)); + operator_delete(pvVar2); + } + FUN_1400302f0(puVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140076cb0.c b/decomp/Agent_Release_x64/full/functions/0x140076cb0.c new file mode 100644 index 00000000..3a55a4a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140076cb0.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140076cb0 FUN_140076cb0 + * Pseudocode, not original source. */ + +void FUN_140076cb0(longlong param_1,longlong *param_2,undefined8 param_3,undefined *param_4) + +{ + undefined8 *puVar1; + ushort *puVar2; + longlong lVar3; + longlong *plVar4; + undefined8 uVar5; + + if (((longlong *)*param_2 == (longlong *)0x0) || (lVar3 = *(longlong *)*param_2, lVar3 == 0)) { + lVar3 = 0; + } + else { + lVar3 = lVar3 + -0x40; + } + puVar2 = (ushort *)(lVar3 + 0x134); + plVar4 = param_2; + FUN_140076ab0((char *)(param_1 + 0x1720),puVar2,param_2); + *(undefined8 *)(lVar3 + 0x120) = 0; + uVar5 = (**(code **)(*(longlong *)(param_1 + 0x70) + 0x1c0))(); + *(undefined8 *)(lVar3 + 0x148) = uVar5; + FUN_1400b7080(lVar3,puVar2,plVar4,param_4); + if ((*param_2 != 0) && + (*(longlong *)(*param_2 + 8) = *(longlong *)(*param_2 + 8) + -1, + *(longlong *)(*param_2 + 8) == 0)) { + plVar4 = (longlong *)*param_2; + puVar1 = (undefined8 *)*plVar4; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(plVar4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140076d80.c b/decomp/Agent_Release_x64/full/functions/0x140076d80.c new file mode 100644 index 00000000..9d4ee5b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140076d80.c @@ -0,0 +1,97 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140076d80 FUN_140076d80 + * Pseudocode, not original source. */ + +ulonglong FUN_140076d80(longlong param_1,ulonglong *param_2,undefined8 param_3,undefined *param_4) + +{ + uint uVar1; + uint uVar2; + longlong *plVar3; + uint *puVar4; + undefined8 *puVar5; + ulonglong uVar6; + longlong lVar7; + ulonglong uVar8; + longlong lVar9; + longlong local_res8; + ulonglong *local_res10; + longlong local_res18 [2]; + + local_res10 = param_2; + (**(code **)(*(longlong *)(param_1 + 0x78) + 0x10))(); + plVar3 = (longlong *)*param_2; + lVar9 = 0; + lVar7 = lVar9; + if (plVar3 != (longlong *)0x0) { + lVar7 = *plVar3; + } + if ((*(longlong **)(lVar7 + 0x18) != (longlong *)0x0) && (**(longlong **)(lVar7 + 0x18) != 0)) { + lVar7 = lVar9; + if (plVar3 != (longlong *)0x0) { + lVar7 = *plVar3; + } + if (*(char *)(lVar7 + 0x608) == '\0') { + lVar7 = lVar9; + if (plVar3 != (longlong *)0x0) { + lVar7 = *plVar3; + } + local_res18[0] = 0; + FUN_1400ad4b0(local_res18,(longlong *)(lVar7 + 0x18)); + FUN_140076cb0(param_1,local_res18,param_3,param_4); + } + else { + lVar7 = lVar9; + if (plVar3 != (longlong *)0x0) { + lVar7 = *plVar3; + } + local_res8 = 0; + FUN_1400ad4b0(&local_res8,(longlong *)(lVar7 + 0x18)); + FUN_1400756c0(param_1,&local_res8); + } + local_res18[1] = 0; + lVar7 = lVar9; + if ((longlong *)*param_2 != (longlong *)0x0) { + lVar7 = *(longlong *)*param_2; + } + FUN_1400ad4b0((longlong *)(lVar7 + 0x18),local_res18 + 1); + } + lVar7 = lVar9; + if ((longlong *)*param_2 != (longlong *)0x0) { + lVar7 = *(longlong *)*param_2; + } + *(undefined8 *)(lVar7 + 0x670) = 0; + if ((longlong *)*param_2 != (longlong *)0x0) { + lVar9 = *(longlong *)*param_2; + } + uVar1 = *(uint *)(lVar9 + 0x56c); + uVar2 = *(uint *)(param_1 + 0x1678); + uVar8 = (ulonglong)uVar1 / (ulonglong)uVar2; + uVar6 = (ulonglong)uVar1 % (ulonglong)uVar2; + if (*(longlong *)(param_1 + 0x1658) != 0) { + puVar4 = *(uint **)(*(longlong *)(param_1 + 0x1658) + uVar6 * 8); + while( true ) { + if ((puVar4 == (uint *)0x0) || + (uVar8 = (ulonglong)puVar4[8] / (ulonglong)uVar2, (uint)uVar6 != puVar4[8] % uVar2)) + goto LAB_140076ee2; + if (*puVar4 == uVar1) break; + puVar4 = *(uint **)(puVar4 + 4); + } + uVar8 = FUN_1400724d0((char *)(param_1 + 0x1650),puVar4,'\0'); + } +LAB_140076ee2: + if (*param_2 != 0) { + *(longlong *)(*param_2 + 8) = *(longlong *)(*param_2 + 8) + -1; + uVar8 = *param_2; + if (*(longlong *)(uVar8 + 8) == 0) { + plVar3 = (longlong *)*param_2; + puVar5 = (undefined8 *)*plVar3; + if (puVar5 != (undefined8 *)0x0) { + (**(code **)*puVar5)(puVar5,1); + } + uVar8 = FUN_1400302f0(plVar3); + } + } + return uVar8; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140076f30.c b/decomp/Agent_Release_x64/full/functions/0x140076f30.c new file mode 100644 index 00000000..bbdbee1d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140076f30.c @@ -0,0 +1,110 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140076f30 FUN_140076f30 + * Pseudocode, not original source. */ + +void FUN_140076f30(longlong param_1,longlong *param_2,undefined8 param_3,undefined *param_4) + +{ + longlong *plVar1; + undefined8 *puVar2; + longlong lVar3; + longlong lVar4; + longlong local_res8; + longlong *local_res10; + longlong local_res18 [2]; + longlong local_28 [2]; + + local_28[1] = 0xfffffffffffffffe; + local_res10 = param_2; + (**(code **)(*(longlong *)(param_1 + 0x78) + 0x10))(); + plVar1 = (longlong *)*param_2; + lVar4 = 0; + lVar3 = lVar4; + if (plVar1 != (longlong *)0x0) { + lVar3 = *plVar1; + } + if (*(char *)(lVar3 + 0x684) == '\0') { + lVar3 = lVar4; + if (plVar1 != (longlong *)0x0) { + lVar3 = *plVar1; + } + if (*(longlong *)(lVar3 + 0x670) == param_1) { + lVar3 = lVar4; + if (plVar1 != (longlong *)0x0) { + lVar3 = *plVar1; + } + if ((*(longlong **)(lVar3 + 0x18) != (longlong *)0x0) && (**(longlong **)(lVar3 + 0x18) != 0)) + { + lVar3 = lVar4; + if (plVar1 != (longlong *)0x0) { + lVar3 = *plVar1; + } + if (*(char *)(lVar3 + 0x608) == '\0') { + lVar3 = lVar4; + if (plVar1 != (longlong *)0x0) { + lVar3 = *plVar1; + } + local_res18[0] = 0; + FUN_1400ad4b0(local_res18,(longlong *)(lVar3 + 0x18)); + FUN_140076cb0(param_1,local_res18,param_3,param_4); + } + else { + lVar3 = lVar4; + if (plVar1 != (longlong *)0x0) { + lVar3 = *plVar1; + } + local_res8 = 0; + FUN_1400ad4b0(&local_res8,(longlong *)(lVar3 + 0x18)); + FUN_1400756c0(param_1,&local_res8); + } + local_res18[1] = 0; + lVar3 = lVar4; + if ((longlong *)*param_2 != (longlong *)0x0) { + lVar3 = *(longlong *)*param_2; + } + FUN_1400ad4b0((longlong *)(lVar3 + 0x18),local_res18 + 1); + } + lVar3 = lVar4; + if ((longlong *)*param_2 != (longlong *)0x0) { + lVar3 = *(longlong *)*param_2; + } + *(undefined8 *)(lVar3 + 0x670) = 0; + lVar3 = lVar4; + if ((longlong *)*param_2 != (longlong *)0x0) { + lVar3 = *(longlong *)*param_2; + } + *(undefined1 *)(lVar3 + 0x684) = 1; + local_28[0] = 0; + lVar3 = lVar4; + if ((longlong *)*param_2 != (longlong *)0x0) { + lVar3 = *(longlong *)*param_2; + } + FUN_140072070((longlong *)(lVar3 + 0x28),local_28); + if ((longlong *)*param_2 != (longlong *)0x0) { + lVar4 = *(longlong *)*param_2; + } + FUN_140076a20((char *)(param_1 + 0x16a8),(uint *)(lVar4 + 0x56c),param_2); + } + if (*param_2 == 0) { + return; + } + lVar4 = *(longlong *)(*param_2 + 8); + } + else { + if (plVar1 == (longlong *)0x0) { + return; + } + lVar4 = plVar1[1]; + } + *(longlong *)(*param_2 + 8) = lVar4 + -1; + if (*(longlong *)(*param_2 + 8) == 0) { + plVar1 = (longlong *)*param_2; + puVar2 = (undefined8 *)*plVar1; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(plVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140077110.c b/decomp/Agent_Release_x64/full/functions/0x140077110.c new file mode 100644 index 00000000..3e1ad36d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140077110.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140077110 FUN_140077110 + * Pseudocode, not original source. */ + +longlong * FUN_140077110(longlong *param_1,longlong *param_2,uint param_3) + +{ + uint *puVar1; + ulonglong uVar2; + int *piVar3; + + piVar3 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar3); + *param_2 = 0; + uVar2 = (ulonglong)param_3 % (ulonglong)*(uint *)(param_1 + 0xc1); + if (param_1[0xbd] != 0) { + puVar1 = *(uint **)(param_1[0xbd] + uVar2 * 8); + while( true ) { + if ((puVar1 == (uint *)0x0) || ((uint)uVar2 != puVar1[8] % *(uint *)(param_1 + 0xc1))) + goto LAB_1400771b9; + if (*puVar1 == param_3) break; + puVar1 = *(uint **)(puVar1 + 4); + } + FUN_140076bb0(param_2,(longlong *)(puVar1 + 2)); + } +LAB_1400771b9: + FUN_14002e770((longlong)piVar3); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400771e0.c b/decomp/Agent_Release_x64/full/functions/0x1400771e0.c new file mode 100644 index 00000000..3f67c06c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400771e0.c @@ -0,0 +1,78 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400771e0 FUN_1400771e0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400771e0(longlong *param_1,uint param_2,longlong *param_3,undefined8 param_4) + +{ + longlong lVar1; + void *pvVar2; + undefined **ppuVar3; + longlong *plVar4; + longlong lVar5; + uint *puVar6; + ulonglong uVar7; + longlong *local_res8; + + (**(code **)(param_1[0xf] + 0x10))(); + uVar7 = (ulonglong)param_2; + FUN_140077110(param_1,(longlong *)&local_res8,param_2); + if ((local_res8 == (longlong *)0x0) || (lVar1 = *local_res8, lVar1 == 0)) { + ppuVar3 = FUN_140072d60(param_1,param_2,uVar7,param_4); + FUN_140065d10(param_3,param_3[1],(longlong)ppuVar3); + } + else { + if (*(longlong *)(lVar1 + 0x28) == 0) { + puVar6 = (uint *)0x0; + } + else { + puVar6 = *(uint **)(lVar1 + 0x18); + } + while( true ) { + if (local_res8 == (longlong *)0x0) { + lVar5 = 0; + } + else { + lVar5 = *local_res8; + } + if (puVar6 == (uint *)0x0) break; + ppuVar3 = FUN_140072d60(param_1,*puVar6,uVar7,param_4); + lVar5 = param_3[1]; + if (lVar5 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar7 = 0xffffffffffffffff; + FUN_1400656c0(param_3,lVar5 + 1,-1); + if (param_3[1] <= lVar5) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_3[2] < 0x65) { + plVar4 = param_3 + lVar5 + 4; + } + else { + plVar4 = (longlong *)(*param_3 + lVar5 * 8); + } + *plVar4 = (longlong)ppuVar3; + puVar6 = *(uint **)(puVar6 + 4); + } + if (lVar1 + 8 != lVar5 + 8) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + if (local_res8 != (longlong *)0x0) { + local_res8[1] = local_res8[1] + -1; + if (local_res8[1] == 0) { + pvVar2 = (void *)*local_res8; + if (pvVar2 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar2 + 8)); + operator_delete(pvVar2); + } + local_res8 = (longlong *)FUN_1400302f0(local_res8); + } + } + return CONCAT71((int7)((ulonglong)local_res8 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140077350.c b/decomp/Agent_Release_x64/full/functions/0x140077350.c new file mode 100644 index 00000000..ef72fb5d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140077350.c @@ -0,0 +1,73 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140077350 FUN_140077350 + * Pseudocode, not original source. */ + +void FUN_140077350(longlong *param_1,uint param_2) + +{ + longlong lVar1; + void *pvVar2; + int *piVar3; + longlong *plVar4; + longlong lVar5; + longlong lVar6; + longlong *local_res8; + + piVar3 = (int *)(**(code **)(param_1[-0xe] + 0x58))(param_1 + -0xe); + FUN_14002e6e0(piVar3); + (**(code **)(*param_1 + 0x100))(param_1); + FUN_140077110(param_1 + -0xe,(longlong *)&local_res8,param_2); + if ((local_res8 == (longlong *)0x0) || (lVar1 = *local_res8, lVar1 == 0)) { + (**(code **)(*param_1 + 0xf8))(param_1); + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) + { + pvVar2 = (void *)*local_res8; + if (pvVar2 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar2 + 8)); + operator_delete(pvVar2); + } + FUN_1400302f0(local_res8); + } + FUN_14002e770((longlong)piVar3); + } + else { + plVar4 = local_res8; + if (*(longlong *)(lVar1 + 0x28) == 0) { + lVar6 = 0; + } + else { + lVar6 = *(longlong *)(lVar1 + 0x18); + } + while( true ) { + if (plVar4 == (longlong *)0x0) { + lVar5 = 0; + } + else { + lVar5 = *plVar4; + } + if (lVar6 == 0) break; + if (*(longlong **)(lVar6 + 8) != (longlong *)0x0) { + (**(code **)(**(longlong **)(lVar6 + 8) + 0x10))(); + plVar4 = local_res8; + } + lVar6 = *(longlong *)(lVar6 + 0x10); + } + if (lVar1 + 8 != lVar5 + 8) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + FUN_14003a420((char *)(param_1 + 0x2b6)); + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) + { + pvVar2 = (void *)*local_res8; + if (pvVar2 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar2 + 8)); + operator_delete(pvVar2); + } + FUN_1400302f0(local_res8); + } + FUN_14002e770((longlong)piVar3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140077530.c b/decomp/Agent_Release_x64/full/functions/0x140077530.c new file mode 100644 index 00000000..8e5734ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140077530.c @@ -0,0 +1,153 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140077530 FUN_140077530 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400777ab) */ +/* WARNING: Removing unreachable block (ram,0x0001400777be) */ +/* WARNING: Removing unreachable block (ram,0x0001400776cd) */ +/* WARNING: Removing unreachable block (ram,0x0001400777d7) */ +/* WARNING: Removing unreachable block (ram,0x0001400777df) */ +/* WARNING: Removing unreachable block (ram,0x0001400777e9) */ + +longlong FUN_140077530(longlong param_1,longlong *param_2) + +{ + longlong *plVar1; + void *pvVar2; + longlong *plVar3; + undefined8 *puVar4; + longlong *plVar5; + longlong lVar6; + longlong lVar7; + longlong lVar8; + longlong lVar9; + longlong lVar10; + longlong lVar11; + longlong lVar12; + undefined *puVar13; + undefined *puVar14; + undefined4 local_res8 [2]; + longlong *local_res10; + longlong local_res18; + longlong *local_res20; + + local_res10 = param_2; + (**(code **)(*(longlong *)(param_1 + 0x78) + 0x10))(); + lVar11 = 0; + lVar10 = lVar11; + if (*(longlong *)(param_1 + 0x600) != 0) { + lVar10 = *(longlong *)(param_1 + 0x5f0); + } + do { + if (lVar10 == 0) { + lVar10 = lVar11; + if ((longlong *)*param_2 != (longlong *)0x0) { + lVar10 = *(longlong *)*param_2; + } + FUN_1400b3320(lVar10,'\x01'); + local_res8[0] = 0x1d; + if ((longlong *)*param_2 != (longlong *)0x0) { + lVar11 = *(longlong *)*param_2; + } + puVar14 = (undefined *)(lVar11 + 0x56c); + puVar13 = &DAT_14015de10; + (**(code **)(*(longlong *)(param_1 + 0x1818) + 0x40)) + ((longlong *)(param_1 + 0x1818),1,&DAT_14015de10,puVar14,local_res8); + if ((*(char *)(param_1 + 0x1790) != '\0') || (*(int *)(param_1 + 0x6c8) != 0)) { + puVar14 = (undefined *)(ulonglong)*(uint *)(param_1 + 0x1578); + puVar13 = &DAT_140100040; + FUN_140072eb0(param_1,1, + L"[Client %d]: Client %d로의 P2P 연결 세션이 제거됐습니다.\n", + puVar14); + } + local_res18 = 0; + if (*param_2 != 0) { + *(longlong *)(*param_2 + 8) = *(longlong *)(*param_2 + 8) + 1; + local_res18 = *param_2; + } + FUN_140076f30(param_1,&local_res18,puVar13,puVar14); + lVar9 = FUN_14003d560((char *)(param_1 + 0x1650)); +LAB_14007780e: + if (*param_2 != 0) { + *(longlong *)(*param_2 + 8) = *(longlong *)(*param_2 + 8) + -1; + lVar9 = *param_2; + if (*(longlong *)(lVar9 + 8) == 0) { + plVar3 = (longlong *)*param_2; + puVar4 = (undefined8 *)*plVar3; + if (puVar4 != (undefined8 *)0x0) { + (**(code **)*puVar4)(puVar4,1); + } + lVar9 = FUN_1400302f0(plVar3); + } + } + return lVar9; + } + local_res20 = (longlong *)0x0; + if (*(longlong *)(lVar10 + 8) != 0) { + *(longlong *)(*(longlong *)(lVar10 + 8) + 8) = + *(longlong *)(*(longlong *)(lVar10 + 8) + 8) + 1; + local_res20 = *(longlong **)(lVar10 + 8); + } + plVar3 = local_res20; + lVar6 = lVar11; + if (local_res20 != (longlong *)0x0) { + lVar6 = *local_res20; + } + lVar9 = lVar11; + if (*(longlong *)(lVar6 + 0x28) != 0) { + lVar9 = *(longlong *)(lVar6 + 0x18); + } + lVar7 = FUN_140064290((longlong *)&local_res20); + while ((lVar12 = lVar9, plVar5 = local_res20, lVar12 != 0 || (lVar6 + 8 != lVar7 + 8))) { + if (lVar12 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + lVar8 = FUN_140064290(param_2); + plVar5 = local_res20; + lVar9 = lVar11; + if (lVar8 != 0) { + lVar9 = lVar8 + 8; + } + if (*(longlong *)(lVar12 + 8) == lVar9) { + if (plVar3 != (longlong *)0x0) { + plVar1 = plVar3 + 1; + *plVar1 = *plVar1 + -1; + lVar9 = plVar3[1]; + if (*plVar1 == 0) { + pvVar2 = (void *)*local_res20; + if (pvVar2 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar2 + 8)); + operator_delete(pvVar2); + } + lVar9 = FUN_1400302f0(plVar5); + } + } + goto LAB_14007780e; + } + lVar9 = lVar11; + if (lVar12 != 0) { + lVar9 = *(longlong *)(lVar12 + 0x10); + } + } + if (plVar3 != (longlong *)0x0) { + plVar3 = plVar3 + 1; + *plVar3 = *plVar3 + -1; + if (*plVar3 == 0) { + pvVar2 = (void *)*local_res20; + if (pvVar2 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar2 + 8)); + operator_delete(pvVar2); + } + FUN_1400302f0(plVar5); + } + } + if (lVar10 == 0) { + lVar10 = 0; + } + else { + lVar10 = *(longlong *)(lVar10 + 0x10); + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140077860.c b/decomp/Agent_Release_x64/full/functions/0x140077860.c new file mode 100644 index 00000000..65d81f3e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140077860.c @@ -0,0 +1,89 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140077860 FUN_140077860 + * Pseudocode, not original source. */ + +void FUN_140077860(longlong param_1,uint param_2,longlong param_3) + +{ + undefined4 uVar1; + int iVar2; + longlong lVar3; + void *pvVar4; + int *piVar5; + longlong lVar6; + longlong lVar7; + longlong lVar8; + int iVar9; + undefined4 *puVar10; + ulonglong _Size; + longlong *local_res20; + + FUN_14003ecf0(param_3,0,param_3); + piVar5 = (int *)(**(code **)(*(longlong *)(param_1 + -0x70) + 0x58))(param_1 + -0x70); + FUN_14002e6e0(piVar5); + _Size = (ulonglong)param_2; + FUN_140077110((longlong *)(param_1 + -0x70),(longlong *)&local_res20,param_2); + if ((local_res20 != (longlong *)0x0) && (lVar3 = *local_res20, lVar3 != 0)) { + if (*(longlong *)(lVar3 + 0x28) == 0) { + puVar10 = (undefined4 *)0x0; + } + else { + puVar10 = *(undefined4 **)(lVar3 + 0x18); + } + while( true ) { + if (local_res20 == (longlong *)0x0) { + lVar8 = 0; + } + else { + lVar8 = *local_res20; + } + if (puVar10 == (undefined4 *)0x0) break; + uVar1 = *puVar10; + iVar2 = *(int *)(param_3 + 0x18); + lVar8 = (longlong)iVar2; + if (iVar2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar9 = *(int *)(param_3 + 0x18); + FUN_14003ecf0(param_3,iVar9 + 1,_Size); + iVar9 = iVar9 - iVar2; + if (0 < iVar9) { + if (*(int *)(param_3 + 0x18) == 0) { + lVar7 = 0; + lVar6 = 0; + } + else { + lVar7 = *(longlong *)(param_3 + 0x10); + lVar6 = *(longlong *)(param_3 + 0x10); + } + _Size = (longlong)iVar9 << 2; + memmove((void *)(lVar6 + 4 + lVar8 * 4),(void *)(lVar7 + lVar8 * 4),_Size); + } + if (*(int *)(param_3 + 0x18) == 0) { + lVar7 = 0; + } + else { + lVar7 = *(longlong *)(param_3 + 0x10); + } + *(undefined4 *)(lVar7 + lVar8 * 4) = uVar1; + puVar10 = *(undefined4 **)(puVar10 + 4); + } + if (lVar3 + 8 != lVar8 + 8) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + if ((local_res20 != (longlong *)0x0) && + (local_res20[1] = local_res20[1] + -1, local_res20[1] == 0)) { + pvVar4 = (void *)*local_res20; + if (pvVar4 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar4 + 8)); + operator_delete(pvVar4); + } + FUN_1400302f0(local_res20); + } + FUN_14002e770((longlong)piVar5); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140077a10.c b/decomp/Agent_Release_x64/full/functions/0x140077a10.c new file mode 100644 index 00000000..fbb6aa35 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140077a10.c @@ -0,0 +1,105 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140077a10 FUN_140077a10 + * Pseudocode, not original source. */ + +double FUN_140077a10(longlong *param_1,uint param_2) + +{ + undefined8 *puVar1; + void *pvVar2; + double dVar3; + int *piVar4; + longlong *plVar5; + longlong lVar6; + longlong lVar7; + undefined4 *puVar8; + double dVar9; + double dVar10; + longlong *local_res8; + longlong *local_res18; + + piVar4 = (int *)(**(code **)(param_1[-0xe] + 0x58))(param_1 + -0xe); + FUN_14002e6e0(piVar4); + if (param_2 == 1) { + dVar10 = (double)param_1[0x92]; + FUN_14002e770((longlong)piVar4); + } + else { + plVar5 = FUN_140070860(param_1 + -0xe,(longlong *)&local_res18,param_2); + lVar7 = 0; + if ((longlong *)*plVar5 != (longlong *)0x0) { + lVar7 = *(longlong *)*plVar5; + } + if ((local_res18 != (longlong *)0x0) && + (local_res18[1] = local_res18[1] + -1, local_res18[1] == 0)) { + puVar1 = (undefined8 *)*local_res18; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res18); + } + if (lVar7 == 0) { + FUN_140077110(param_1 + -0xe,(longlong *)&local_res8,param_2); + if ((local_res8 != (longlong *)0x0) && (lVar7 = *local_res8, lVar7 != 0)) { + dVar10 = 0.0; + dVar3 = dVar10; + if (*(longlong *)(lVar7 + 0x28) == 0) { + puVar8 = (undefined4 *)0x0; + } + else { + puVar8 = *(undefined4 **)(lVar7 + 0x18); + } + while( true ) { + if (local_res8 == (longlong *)0x0) { + lVar6 = 0; + } + else { + lVar6 = *local_res8; + } + if (puVar8 == (undefined4 *)0x0) break; + dVar9 = (double)(**(code **)(*param_1 + 0x120))(param_1,*puVar8); + if (0.0 <= dVar9) { + dVar3 = dVar3 + 1.0; + dVar10 = dVar10 + dVar9; + } + puVar8 = *(undefined4 **)(puVar8 + 4); + } + if (lVar7 + 8 != lVar6 + 8) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if (0.0 < dVar3) { + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + pvVar2 = (void *)*local_res8; + if (pvVar2 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar2 + 8)); + operator_delete(pvVar2); + } + FUN_1400302f0(local_res8); + } + FUN_14002e770((longlong)piVar4); + return dVar10 / dVar3; + } + } + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + pvVar2 = (void *)*local_res8; + if (pvVar2 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar2 + 8)); + operator_delete(pvVar2); + } + FUN_1400302f0(local_res8); + } + FUN_14002e770((longlong)piVar4); + dVar10 = -1.0; + } + else { + *(undefined1 *)(lVar7 + 0x21) = 1; + dVar10 = *(double *)(lVar7 + 0x158); + FUN_14002e770((longlong)piVar4); + } + } + return dVar10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140077cb0.c b/decomp/Agent_Release_x64/full/functions/0x140077cb0.c new file mode 100644 index 00000000..cdbc218f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140077cb0.c @@ -0,0 +1,105 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140077cb0 FUN_140077cb0 + * Pseudocode, not original source. */ + +double FUN_140077cb0(longlong *param_1,uint param_2) + +{ + undefined8 *puVar1; + void *pvVar2; + double dVar3; + int *piVar4; + longlong *plVar5; + longlong lVar6; + longlong lVar7; + undefined4 *puVar8; + double dVar9; + double dVar10; + longlong *local_res8; + longlong *local_res18; + + piVar4 = (int *)(**(code **)(param_1[-0xe] + 0x58))(param_1 + -0xe); + FUN_14002e6e0(piVar4); + if (param_2 == 1) { + dVar10 = (double)param_1[0x91]; + FUN_14002e770((longlong)piVar4); + } + else { + plVar5 = FUN_140070860(param_1 + -0xe,(longlong *)&local_res18,param_2); + lVar7 = 0; + if ((longlong *)*plVar5 != (longlong *)0x0) { + lVar7 = *(longlong *)*plVar5; + } + if ((local_res18 != (longlong *)0x0) && + (local_res18[1] = local_res18[1] + -1, local_res18[1] == 0)) { + puVar1 = (undefined8 *)*local_res18; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res18); + } + if (lVar7 == 0) { + FUN_140077110(param_1 + -0xe,(longlong *)&local_res8,param_2); + if ((local_res8 != (longlong *)0x0) && (lVar7 = *local_res8, lVar7 != 0)) { + dVar10 = 0.0; + dVar3 = dVar10; + if (*(longlong *)(lVar7 + 0x28) == 0) { + puVar8 = (undefined4 *)0x0; + } + else { + puVar8 = *(undefined4 **)(lVar7 + 0x18); + } + while( true ) { + if (local_res8 == (longlong *)0x0) { + lVar6 = 0; + } + else { + lVar6 = *local_res8; + } + if (puVar8 == (undefined4 *)0x0) break; + dVar9 = (double)(**(code **)(*param_1 + 0x128))(param_1,*puVar8); + if (0.0 <= dVar9) { + dVar3 = dVar3 + 1.0; + dVar10 = dVar10 + dVar9; + } + puVar8 = *(undefined4 **)(puVar8 + 4); + } + if (lVar7 + 8 != lVar6 + 8) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if (0.0 < dVar3) { + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + pvVar2 = (void *)*local_res8; + if (pvVar2 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar2 + 8)); + operator_delete(pvVar2); + } + FUN_1400302f0(local_res8); + } + FUN_14002e770((longlong)piVar4); + return dVar10 / dVar3; + } + } + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + pvVar2 = (void *)*local_res8; + if (pvVar2 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar2 + 8)); + operator_delete(pvVar2); + } + FUN_1400302f0(local_res8); + } + FUN_14002e770((longlong)piVar4); + dVar10 = -1.0; + } + else { + *(undefined1 *)(lVar7 + 0x21) = 1; + dVar10 = *(double *)(lVar7 + 0x50); + FUN_14002e770((longlong)piVar4); + } + } + return dVar10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140077f50.c b/decomp/Agent_Release_x64/full/functions/0x140077f50.c new file mode 100644 index 00000000..5e5dd1a3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140077f50.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140077f50 FUN_140077f50 + * Pseudocode, not original source. */ + +void FUN_140077f50(char *param_1,LPVOID param_2,char param_3) + +{ + longlong *plVar1; + uint uVar2; + + if (param_2 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + FUN_140076c40((longlong)param_2); + plVar1 = *(longlong **)(param_1 + 0x50); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(param_2); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,param_2); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + if (((param_3 != '\0') && (*(ulonglong *)(param_1 + 0x20) < *(ulonglong *)(param_1 + 0x40))) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar2 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14003f960(param_1,uVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140077fe0.c b/decomp/Agent_Release_x64/full/functions/0x140077fe0.c new file mode 100644 index 00000000..ce3dd871 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140077fe0.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140077fe0 FUN_140077fe0 + * Pseudocode, not original source. */ + +void FUN_140077fe0(char *param_1,LPVOID param_2,char param_3) + +{ + uint uVar1; + ulonglong uVar2; + uint uVar3; + + if (param_2 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar1 = *(uint *)(param_1 + 0x28); + uVar2 = (ulonglong)*(uint *)((longlong)param_2 + 0x20) % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 0x20) == 1) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + } + else { + uVar3 = (uint)uVar2; + if (((*(longlong *)((longlong)param_2 + 0x18) == 0) || + (*(uint *)(*(longlong *)((longlong)param_2 + 0x18) + 0x20) % uVar1 != uVar3)) && + ((*(longlong *)((longlong)param_2 + 0x10) == 0 || + (*(uint *)(*(longlong *)((longlong)param_2 + 0x10) + 0x20) % uVar1 != uVar3)))) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + } + else if (param_2 == *(LPVOID *)(*(longlong *)(param_1 + 8) + (longlong)(int)uVar3 * 8)) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = + *(undefined8 *)((longlong)param_2 + 0x10); + } + if (param_2 == *(LPVOID *)(param_1 + 0x10)) { + *(undefined8 *)(param_1 + 0x10) = *(undefined8 *)((longlong)param_2 + 0x10); + *(undefined8 *)((longlong)param_2 + 0x18) = 0; + } + if (param_2 == *(LPVOID *)(param_1 + 0x18)) { + *(undefined8 *)(param_1 + 0x18) = *(undefined8 *)((longlong)param_2 + 0x18); + *(undefined8 *)((longlong)param_2 + 0x10) = 0; + } + if (*(longlong *)((longlong)param_2 + 0x18) != 0) { + *(undefined8 *)(*(longlong *)((longlong)param_2 + 0x18) + 0x10) = + *(undefined8 *)((longlong)param_2 + 0x10); + } + if (*(longlong *)((longlong)param_2 + 0x10) != 0) { + *(undefined8 *)(*(longlong *)((longlong)param_2 + 0x10) + 0x18) = + *(undefined8 *)((longlong)param_2 + 0x18); + } + } + FUN_140077f50(param_1,param_2,param_3); + FUN_14003d560(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400780e0.c b/decomp/Agent_Release_x64/full/functions/0x1400780e0.c new file mode 100644 index 00000000..82af0db7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400780e0.c @@ -0,0 +1,777 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400780e0 FUN_1400780e0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Removing unreachable block (ram,0x000140078820) */ +/* WARNING: Removing unreachable block (ram,0x00014007882c) */ +/* WARNING: Removing unreachable block (ram,0x000140078824) */ +/* WARNING: Removing unreachable block (ram,0x000140078832) */ +/* WARNING: Removing unreachable block (ram,0x0001400786b7) */ +/* WARNING: Removing unreachable block (ram,0x0001400786be) */ +/* WARNING: Removing unreachable block (ram,0x0001400786d6) */ +/* WARNING: Removing unreachable block (ram,0x0001400786e2) */ +/* WARNING: Removing unreachable block (ram,0x0001400786da) */ +/* WARNING: Removing unreachable block (ram,0x0001400786e8) */ +/* WARNING: Removing unreachable block (ram,0x000140078704) */ +/* WARNING: Removing unreachable block (ram,0x000140078600) */ +/* WARNING: Removing unreachable block (ram,0x000140078607) */ +/* WARNING: Removing unreachable block (ram,0x000140078620) */ +/* WARNING: Removing unreachable block (ram,0x00014007862c) */ +/* WARNING: Removing unreachable block (ram,0x000140078624) */ +/* WARNING: Removing unreachable block (ram,0x000140078632) */ +/* WARNING: Removing unreachable block (ram,0x00014007864e) */ + +ulonglong FUN_1400780e0(longlong *param_1,TypeDescriptor *param_2,TypeDescriptor *param_3, + TypeDescriptor *param_4,uint param_5) + +{ + undefined *puVar1; + undefined8 uVar2; + undefined4 uVar3; + uint uVar4; + int iVar5; + uint uVar6; + uint uVar7; + TypeDescriptor *pTVar8; + void *pvVar9; + void *pvVar10; + TypeDescriptor *pTVar11; + TypeDescriptor *extraout_RAX; + uint *puVar12; + longlong *plVar13; + int *piVar14; + longlong lVar15; + TypeDescriptor *pTVar16; + undefined8 *puVar17; + TypeDescriptor *pTVar18; + undefined8 uVar19; + undefined1 *puVar20; + undefined4 *puVar21; + uint *puVar22; + int iVar23; + TypeDescriptor *pTVar24; + uint uVar25; + ulonglong uVar26; + TypeDescriptor *pTVar27; + uint uVar28; + TypeDescriptor *pTVar29; + SIZE_T SVar30; + undefined4 *puVar31; + longlong *plVar32; + TypeDescriptor *pTVar33; + TypeDescriptor *pTVar34; + undefined1 auStackY_2c38 [32]; + undefined8 local_2c08; + undefined1 local_2c00 [16]; + TypeDescriptor *local_2bf0; + ulonglong local_2be8; + undefined8 local_2be0; + TypeDescriptor *local_2bd8; + uint uStack_2bd0; + undefined4 uStack_2bcc; + undefined4 local_2bc8; + undefined4 local_2bc4; + TypeDescriptor local_2bc0; + uint local_2bb0; + int local_2bac; + TypeDescriptor *local_2ba0; + TypeDescriptor local_2b98; + undefined1 local_2b88; + undefined4 local_2b84; + undefined1 local_2b80; + undefined1 local_2b7f; + void *local_2b78; + undefined8 local_2b70; + longlong *local_2b68; + undefined **local_2b60; + longlong *local_2b58; + TypeDescriptor *local_2b50; + uint local_2b48; + undefined8 local_2b44; + undefined4 local_2b3c; + TypeDescriptor *local_2b38; + int *local_2b30; + undefined4 local_2b28; + undefined4 uStack_2b24; + int *local_2b20; + char local_2b18; + TypeDescriptor *local_2b10; + longlong *local_2b08; + TypeDescriptor *local_2b00; + void *local_2af0; + undefined8 local_2ae0; + exception local_2ad8 [72]; + exception local_2a90 [72]; + exception local_2a48 [80]; + undefined4 local_29f8 [2]; + TypeDescriptor local_29f0; + undefined4 local_29e0; + int local_29dc; + undefined1 local_29d0 [136]; + TypeDescriptor local_2948; + ulonglong local_2938; + undefined8 local_2930; + undefined8 auStack_2928 [100]; + TypeDescriptor local_2608 [200]; + TypeDescriptor *local_1988; + undefined4 local_1980; + int local_197c; + undefined1 local_1978 [3200]; + undefined1 *local_cf8; + undefined4 local_cf0; + int local_cec; + TypeDescriptor local_ce8 [200]; + TypeDescriptor *local_68; + undefined4 local_60; + undefined4 local_5c; + ulonglong local_58; + + local_2ae0 = 0xfffffffffffffffe; + local_58 = DAT_1401555a0 ^ (ulonglong)auStackY_2c38; + pTVar16 = (TypeDescriptor *)0x0; + local_2b78 = (void *)0x0; + pTVar18 = param_2; + pTVar29 = param_3; + pTVar33 = param_4; + local_2ba0 = param_2; + local_2b68 = param_1; + local_2b38 = param_3; + local_2b10 = param_2; + local_2b08 = param_1; + local_2b20 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(local_2b20); + puVar1 = PTR_u_Cannot_send_messages_unless_conn_1401561e0; + local_2b18 = '\x01'; + plVar32 = (longlong *)param_1[699]; + uVar28 = 0; + if (((plVar32 != (longlong *)0x0) && (*plVar32 != 0)) && ((int)param_1[0x2af] != 0)) { + local_2948.pVFTable = (void *)0x0; + local_2930 = 0; + local_2948.spare = (void *)0x0; + local_2938 = 100; + if (0 < (int)param_5) { + uVar26 = (ulonglong)param_5; + do { + uVar4 = *(uint *)¶m_4->pVFTable; + pTVar18 = (TypeDescriptor *)(ulonglong)uVar4; + if (uVar4 != 0) { + pTVar29 = &local_2948; + FUN_1400771e0(param_1,uVar4,(longlong *)pTVar29,pTVar33); + } + param_4 = (TypeDescriptor *)((longlong)¶m_4->pVFTable + 4); + uVar26 = uVar26 - 1; + } while (uVar26 != 0); + } + FUN_1400666b0((longlong *)&local_2948); + local_2b58 = (longlong *)0x0; + local_2b3c = 0; + local_2b50 = (TypeDescriptor *)0x0; + local_2b48 = 0; + local_2b44 = 0; + local_2b60 = Proud::CNetClientImpl::BypassDestList_C::vftable; + local_2b70 = (TypeDescriptor *)((ulonglong)local_2b70._4_4_ << 0x20); + pTVar11 = pTVar16; + pTVar24 = pTVar16; + pTVar34 = pTVar16; + while( true ) { + iVar5 = (int)pTVar11; + local_2c08 = (uint *)CONCAT44(local_2c08._4_4_,iVar5); + lVar15 = (longlong)iVar5; + iVar23 = (int)pTVar24; + if ((longlong)local_2948.spare <= lVar15) break; + if (iVar5 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (local_2938 < 0x65) { + puVar17 = auStack_2928 + lVar15; + } + else { + puVar17 = (undefined8 *)((longlong)local_2948.pVFTable + lVar15 * 8); + } + pTVar11 = (TypeDescriptor *)*puVar17; + pTVar8 = (TypeDescriptor *)(param_1 + 0xc); + if (param_1 == (longlong *)0x0) { + pTVar8 = pTVar16; + } + if ((pTVar11 == pTVar8) && (*(char *)((longlong)¶m_3[2].spare + 5) != '\0')) { + FUN_1400806d0((undefined4 *)local_2c00); + pTVar18 = (TypeDescriptor *)local_2c00; + FUN_1400a2150((longlong)local_2ba0,(int *)pTVar18,(SIZE_T)pTVar29,pTVar33); + pvVar9 = (void *)param_1[0x2a8]; + if ((longlong *)local_2b68[0x2a6] == (longlong *)0x0) { + pTVar8 = (TypeDescriptor *)FUN_140030280(0x38); + } + else { + pTVar18 = (TypeDescriptor *)0x38; + pTVar8 = (TypeDescriptor *)(**(code **)(*(longlong *)local_2b68[0x2a6] + 8))(); + } + local_2b00 = pTVar8; + if (pTVar8 != (TypeDescriptor *)0x0) { + pTVar18 = (TypeDescriptor *)local_2c00; + local_2bd8 = pTVar8; + FUN_140080700((undefined4 *)(pTVar8 + 1),(undefined4 *)pTVar18); + } + param_1 = local_2b68; + pTVar8->spare = pvVar9; + pTVar8->pVFTable = (void *)0x0; + local_2b68[0x2a9] = local_2b68[0x2a9] + 1; + if ((longlong *)local_2b68[0x2a8] == (longlong *)0x0) { + local_2b68[0x2a7] = (longlong)pTVar8; + } + else { + *(longlong *)local_2b68[0x2a8] = (longlong)pTVar8; + } + local_2b68[0x2a8] = (longlong)pTVar8; + local_2bd8 = (TypeDescriptor *)(local_2c00 + 8); + FUN_140095270((longlong *)(local_2c00 + 8)); + if ((local_2bf0 != (TypeDescriptor *)0x0) && ((longlong)local_2be8 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + param_2 = local_2ba0; + if (pTVar11 == (TypeDescriptor *)(param_1 + 0x2aa)) { + local_2b98.pVFTable._0_4_ = *(undefined4 *)¶m_3[2].pVFTable; + local_2b98.spare = param_3[1].spare; + local_2b88 = *(undefined1 *)((longlong)¶m_3[2].spare + 5); + local_2b84 = *(undefined4 *)¶m_3[3].pVFTable; + local_2b80 = *(undefined1 *)((longlong)¶m_3[4].pVFTable + 1); + local_2b7f = *(undefined1 *)¶m_3[4].pVFTable; + local_2bd8 = local_ce8; + local_5c = 200; + local_60 = 0; + local_68 = local_ce8; + FUN_140065c40((longlong *)(local_2ba0 + 200),&local_68,pTVar29,pTVar33); + pTVar33 = local_ce8; + pTVar29 = (TypeDescriptor *)(ulonglong)*(uint *)¶m_3->pVFTable; + pTVar18 = (TypeDescriptor *)0x1; + FUN_140065ef0((longlong)param_1,1,*(uint *)¶m_3->pVFTable,(SIZE_T *)pTVar33, + (SIZE_T *)&local_2b98); + } + else if (pTVar11 != (TypeDescriptor *)0x0) { + pTVar33 = &Proud::CRemotePeer_C::RTTI_Type_Descriptor; + pTVar29 = &Proud::ISendDest_C::RTTI_Type_Descriptor; + pTVar18 = (TypeDescriptor *)0x0; + pvVar9 = (void *)__RTDynamicCast(pTVar11); + param_2 = local_2ba0; + local_2b78 = pvVar9; + if (pvVar9 != (void *)0x0) { + if ((((*(char *)((longlong)pvVar9 + 0x608) != '\0') || + (*(int *)¶m_3[1].pVFTable <= (int)local_2b70)) || + (*(double *)((longlong)pvVar9 + 0x50) <= 0.0)) || + ((*(double *)((longlong)pvVar9 + 0x60) <= 0.0 || + ((*(double *)((longlong)pvVar9 + 0x60) + (double)param_1[0x9f]) / + *(double *)((longlong)pvVar9 + 0x50) < (double)param_3[3].spare)))) { + if (*(int *)¶m_3->pVFTable == 1) { + FUN_1400b9520((undefined8 *)(*(longlong *)((longlong)pvVar9 + 0x640) + 8), + (longlong *)CONCAT71((int7)((ulonglong)pTVar18 >> 8),1), + (longlong *)pTVar29,pTVar33); + uVar3 = FUN_1400b7e10((longlong)pvVar9 + 0x638); + local_2af0 = (void *)CONCAT44(local_2af0._4_4_,uVar3); + if (iVar23 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + pTVar18 = (TypeDescriptor *)(ulonglong)(iVar23 + 1U); + FUN_14003f800((longlong)&local_2b60,iVar23 + 1U,pTVar29,(longlong)pTVar33); + pTVar11 = local_2b50; + if (local_2b48 == 0) { + pTVar11 = pTVar16; + } + pTVar11[iVar23].pVFTable = pvVar9; + pvVar10 = local_2af0; +LAB_140078735: + pTVar24 = (TypeDescriptor *)(ulonglong)local_2b48; + pTVar11[iVar23].spare = pvVar10; + pTVar34 = local_2b50; + } + else if (*(char *)((longlong)¶m_3[2].spare + 6) != '\0') { + local_2b28 = 0; + if (iVar23 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + pTVar18 = (TypeDescriptor *)(ulonglong)(iVar23 + 1U); + FUN_14003f800((longlong)&local_2b60,iVar23 + 1U,pTVar29,(longlong)pTVar33); + pTVar11 = local_2b50; + if (local_2b48 == 0) { + pTVar11 = pTVar16; + } + pTVar11[iVar23].pVFTable = pvVar9; + pvVar10 = (void *)CONCAT44(uStack_2b24,local_2b28); + goto LAB_140078735; + } + if (*(char *)((longlong)¶m_3[2].spare + 4) != '\0') { + *(undefined1 *)((longlong)pvVar9 + 0x21) = 1; + } + } + else { + local_2b70 = (TypeDescriptor *)CONCAT44(local_2b70._4_4_,(int)local_2b70 + 1); + if (*(char *)((longlong)¶m_3[4].pVFTable + 1) == '\0') { + *(int *)((longlong)pvVar9 + 0x40) = *(int *)((longlong)pvVar9 + 0x40) + 1; + } + pTVar18 = local_2ba0; + if (*(int *)¶m_3->pVFTable == 1) { + FUN_1400b7e70((longlong)pvVar9 + 0x638,(longlong)local_2ba0,pTVar29,pTVar33); + } + else { + local_2b98.pVFTable._0_4_ = *(undefined4 *)¶m_3[2].pVFTable; + local_2b98.spare = param_3[1].spare; + local_2b88 = *(undefined1 *)((longlong)¶m_3[2].spare + 5); + local_2b84 = *(undefined4 *)¶m_3[3].pVFTable; + local_2b80 = *(undefined1 *)((longlong)¶m_3[4].pVFTable + 1); + local_2b7f = *(undefined1 *)¶m_3[4].pVFTable; + pTVar29 = &local_2b98; + FUN_1400b34c0((longlong *)((longlong)pvVar9 + 0x668),(longlong)local_2ba0, + &pTVar29->pVFTable); + } + } + } + } + pTVar11 = (TypeDescriptor *)(ulonglong)((int)local_2c08 + 1); + } + if (iVar23 < 1) goto LAB_140078feb; + if (*(int *)¶m_3->pVFTable != 0) { + local_5c = 200; + local_60 = 0; + local_68 = local_ce8; + FUN_1400806d0(local_29f8); + FUN_140080350((longlong)local_29f8,(longlong)local_29d0,0x80,pTVar33); + puVar31 = local_29f8; + FUN_14009ee20((longlong)param_2,(longlong)local_ce8,(SIZE_T)puVar31,pTVar33); + local_2c00._8_8_ = (longlong *)0x0; + local_2bf0 = (TypeDescriptor *)0x0; + local_2be8 = 0; + local_2be0 = 0; + local_2c00._0_8_ = Proud::BypassDestList::vftable; + puVar20 = local_2c00; + FUN_140066f30((longlong)&local_2b60,(longlong)puVar20,puVar31,(longlong)pTVar33); + local_cec = 200; + local_cf0 = 0; + local_cf8 = local_1978; + FUN_1400806d0(&local_2bc8); + FUN_1400801a0((longlong)&local_2bc8,puVar20,(SIZE_T)puVar31,pTVar33); + FUN_14001ba80((longlong)&local_2bc8,CONCAT71((int7)((ulonglong)puVar20 >> 8),0x14), + (SIZE_T)puVar31,pTVar33); + FUN_140081dc0((longlong)&local_2bc8,(longlong)local_2c00,(SIZE_T)puVar31,pTVar33); + puVar21 = &local_2bc8; + FUN_140080120((longlong *)&local_2b30,(longlong)puVar21); + iVar5 = FUN_1400a1f10((longlong)local_ce8,puVar21,puVar31,pTVar33); + lVar15 = (longlong)iVar5; + FUN_140081aa0((longlong)&local_2bc8,lVar15,(SIZE_T)puVar31,pTVar33); + local_197c = 200; + local_1980 = 0; + local_1988 = local_2608; + if (local_2bc0.pVFTable == (void *)0x0) { + uStack_2bd0 = local_2bb0; + if (local_2bc0.spare == (TypeDescriptor *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,lVar15,puVar31,pTVar33); + } + } + else { + uStack_2bd0 = *(uint *)((longlong)local_2bc0.pVFTable + 0x18); + } + local_2608[0].pVFTable = local_2bc0.spare; + if (local_2bc0.spare == (TypeDescriptor *)0x0) { + if (local_2bc0.pVFTable == (void *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)uStack_2bd0,puVar31,pTVar33); + } + local_2608[0].pVFTable = pTVar16; + if (*(int *)((longlong)local_2bc0.pVFTable + 0x18) != 0) { + local_2608[0].pVFTable = *(void **)((longlong)local_2bc0.pVFTable + 0x10); + } + } + local_1980 = 1; + local_2608[0].spare = (void *)CONCAT44(uStack_2bcc,uStack_2bd0); + local_2bd8 = local_2608[0].pVFTable; + FUN_140040a60((longlong)local_1978,(longlong)local_2608,puVar31,pTVar33); + if (local_1988 == (TypeDescriptor *)0x0) { + FUN_14002f1e0(local_2ad8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,puVar31 + ,pTVar33); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_2ad8,(ThrowInfo *)&DAT_140151b88); + } + if (local_197c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_140040a60((longlong)local_1978,(longlong)local_ce8,puVar31,pTVar33); + local_2b98.pVFTable._0_4_ = *(undefined4 *)¶m_3[2].pVFTable; + local_2b98.spare = param_3[1].spare; + local_2b88 = *(undefined1 *)((longlong)¶m_3[2].spare + 5); + local_2b84 = *(undefined4 *)¶m_3[3].pVFTable; + local_2b7f = *(undefined1 *)¶m_3[4].pVFTable; + local_2b80 = 1; + local_2bd8 = local_2608; + local_197c = 200; + local_1980 = 0; + local_1988 = local_2608; + FUN_140065c40((longlong *)&local_cf8,&local_1988,puVar31,pTVar33); + pTVar18 = local_2608; + pTVar33 = (TypeDescriptor *)0x0; + plVar32 = (longlong *)0x1; + FUN_140065ef0((longlong)param_1,0,1,(SIZE_T *)pTVar18,(SIZE_T *)&local_2b98); + FUN_140080140((longlong *)&local_2b30); + local_2bd8 = &local_2bc0; + FUN_140095270((longlong *)&local_2bc0); + if (local_2bc0.spare != (TypeDescriptor *)0x0) { + if (local_2bac < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_2bb0 = 0; + } + FUN_140040950((longlong)local_1978,pTVar33,plVar32,pTVar18); + local_2c00._0_8_ = Proud::CFastArray::vftable; + if (local_2bf0 != (TypeDescriptor *)0x0) { + plVar32 = (longlong *)local_2c00._8_8_; + if ((longlong *)local_2c00._8_8_ == (longlong *)0x0) { + FUN_1400302f0(local_2bf0); + } + else { + pTVar33 = local_2bf0; + (**(code **)(*(longlong *)local_2c00._8_8_ + 0x18))(local_2c00._8_8_); + } + } + local_2bd8 = &local_29f0; + FUN_140095270((longlong *)&local_29f0); + if (local_29f0.spare != (void *)0x0) { + if (local_29dc < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_29e0 = 0; + } + pTVar11 = (TypeDescriptor *)FUN_140040950((longlong)local_ce8,pTVar33,plVar32,pTVar18); + goto LAB_140078feb; + } + local_2c00._8_8_ = (longlong *)0x0; + local_2bf0 = (TypeDescriptor *)0x0; + local_2be8 = 0; + local_2be0 = 0; + local_2c00._0_8_ = Proud::HostIDArray::vftable; + local_2c08 = (uint *)((ulonglong)local_2c08._4_4_ << 0x20); + local_2b78 = (void *)0x0; + pTVar11 = pTVar16; + pTVar8 = pTVar34; + pTVar27 = pTVar16; + pTVar24 = pTVar16; + if (0 < iVar23) { + do { + local_2b70 = pTVar8; + if (((longlong)local_2b78 < 0) || (iVar23 <= (int)pTVar11)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(local_2b78,pTVar8,pTVar29,pTVar33); + } + local_2af0 = pTVar8->spare; + local_2b38 = (TypeDescriptor *)((longlong)pTVar8->pVFTable + 0x56c); + iVar5 = (int)pTVar27; + if (iVar5 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14003ecf0((longlong)local_2c00,iVar5 + 1,(longlong)pTVar29); + pTVar24 = local_2bf0; + uVar28 = (uint)local_2be8; + pTVar27 = (TypeDescriptor *)(local_2be8 & 0xffffffff); + pTVar18 = local_2bf0; + if ((uint)local_2be8 == 0) { + pTVar18 = pTVar16; + } + pTVar29 = (TypeDescriptor *)0x4; + FUN_14001bd30((undefined8 *)((longlong)&pTVar18->pVFTable + (longlong)iVar5 * 4), + &local_2b38->pVFTable,4); + uVar4 = (int)local_2c08 + 1; + local_2c08 = (uint *)CONCAT44(local_2c08._4_4_,uVar4); + local_2b78 = (void *)((longlong)local_2b78 + 1); + pTVar18 = local_2b70 + 1; + pTVar11 = (TypeDescriptor *)(ulonglong)uVar4; + pTVar8 = pTVar18; + local_2b70 = pTVar18; + } while ((int)uVar4 < iVar23); + } + uVar2 = local_2c00._8_8_; + FUN_1400806d0(&local_2bc8); + FUN_1400801a0((longlong)&local_2bc8,pTVar18,(SIZE_T)pTVar29,pTVar33); + FUN_14001ba80((longlong)&local_2bc8,CONCAT71((int7)((ulonglong)pTVar18 >> 8),0x15), + (SIZE_T)pTVar29,pTVar33); + FUN_14001ba80((longlong)&local_2bc8,(ulonglong)*(byte *)¶m_3[2].pVFTable,(SIZE_T)pTVar29, + pTVar33); + FUN_140081aa0((longlong)&local_2bc8,(longlong)param_3[1].spare,(SIZE_T)pTVar29,pTVar33); + FUN_140081aa0((longlong)&local_2bc8,(longlong)(int)uVar28,(SIZE_T)pTVar29,pTVar33); + pTVar18 = pTVar24; + if (uVar28 == 0) { + pTVar18 = pTVar16; + } + SVar30 = (SIZE_T)(uVar28 * 4); + if (uVar28 * 4 != 0) { + local_2bc4 = 0; + if (local_2bc0.pVFTable == (void *)0x0) { + if (local_2bc0.spare == (TypeDescriptor *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,pTVar18,SVar30,pTVar33); + } +LAB_14007893e: + FUN_14001bb60((longlong *)&local_2bc0.spare,&pTVar18->pVFTable,SVar30,pTVar33); + } + else { + if (local_2bc0.spare != (TypeDescriptor *)0x0) goto LAB_14007893e; + if (local_2bc0.pVFTable == (void *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,pTVar18,SVar30,pTVar33); + } + FUN_14001bd90((longlong)local_2bc0.pVFTable,&pTVar18->pVFTable,SVar30); + } + FUN_14001be00((longlong)&local_2bc8,pTVar18,SVar30,pTVar33); + } + puVar21 = &local_2bc8; + FUN_140080120((longlong *)&local_2b30,(longlong)puVar21); + pTVar18 = local_2ba0; + iVar5 = FUN_1400a1f10((longlong)local_2ba0,puVar21,SVar30,pTVar33); + lVar15 = (longlong)iVar5; + FUN_140081aa0((longlong)&local_2bc8,lVar15,SVar30,pTVar33); + local_cec = 200; + local_cf0 = 0; + local_cf8 = local_1978; + local_197c = 200; + local_1980 = 0; + local_1988 = local_2608; + if (local_2bc0.pVFTable == (void *)0x0) { + uStack_2bd0 = local_2bb0; + if (local_2bc0.spare == (TypeDescriptor *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,lVar15,SVar30,pTVar33); + } + } + else { + uStack_2bd0 = *(uint *)((longlong)local_2bc0.pVFTable + 0x18); + } + local_2608[0].pVFTable = local_2bc0.spare; + if (local_2bc0.spare == (TypeDescriptor *)0x0) { + if (local_2bc0.pVFTable == (void *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)uStack_2bd0,SVar30,pTVar33); + } + local_2608[0].pVFTable = pTVar16; + if (*(int *)((longlong)local_2bc0.pVFTable + 0x18) != 0) { + local_2608[0].pVFTable = *(void **)((longlong)local_2bc0.pVFTable + 0x10); + } + } + local_1980 = 1; + local_2608[0].spare = (void *)CONCAT44(uStack_2bcc,uStack_2bd0); + local_2bd8 = local_2608[0].pVFTable; + FUN_140040a60((longlong)local_1978,(longlong)local_2608,SVar30,pTVar33); + if (local_1988 == (TypeDescriptor *)0x0) { + FUN_14002f1e0(local_2a90,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,SVar30, + pTVar33); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_2a90,(ThrowInfo *)&DAT_140151b88); + } + if (local_197c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_140040a60((longlong)local_1978,(longlong)pTVar18,SVar30,pTVar33); + local_2b98.pVFTable._0_4_ = *(undefined4 *)¶m_3[2].pVFTable; + local_2b98.spare = param_3[1].spare; + local_2b88 = *(undefined1 *)((longlong)¶m_3[2].spare + 5); + local_2b84 = *(undefined4 *)¶m_3[3].pVFTable; + local_2b7f = *(undefined1 *)¶m_3[4].pVFTable; + local_2b80 = 1; + local_2bd8 = local_2608; + local_197c = 200; + local_1980 = 0; + local_1988 = local_2608; + FUN_140065c40((longlong *)&local_cf8,&local_1988,SVar30,pTVar33); + plVar32 = local_2b68; + local_2bd8 = local_2608; + FUN_1400650f0((longlong)local_2b68); + if ((undefined8 *)plVar32[0x2ae] != (undefined8 *)0x0) { + pTVar16 = *(TypeDescriptor **)plVar32[0x2ae]; + } + pTVar18 = &local_2b98; + pTVar33 = local_2608; + uVar19 = 0; + FUN_1400ac7b0((longlong *)pTVar16,0,(longlong)pTVar33,&pTVar18->pVFTable); + FUN_140040950((longlong)local_2608,uVar19,pTVar33,pTVar18); + if (local_cf8 == (undefined1 *)0x0) { + FUN_14002f1e0(local_2a48,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,pTVar33, + pTVar18); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_2a48,(ThrowInfo *)&DAT_140151b88); + } + if (local_cec < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_cf0 = 0; + FUN_140080140((longlong *)&local_2b30); + local_2bd8 = &local_2bc0; + pTVar11 = (TypeDescriptor *)FUN_140095270((longlong *)&local_2bc0); + if (local_2bc0.spare != (TypeDescriptor *)0x0) { + if (local_2bac < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_2bb0 = 0; + } + if (pTVar24 != (TypeDescriptor *)0x0) { + if ((longlong *)uVar2 == (longlong *)0x0) { + pTVar11 = (TypeDescriptor *)FUN_1400302f0(pTVar24); + } + else { + pTVar11 = (TypeDescriptor *)(**(code **)(*(longlong *)uVar2 + 0x18))(uVar2,pTVar24); + } + } +LAB_140078feb: + if (pTVar34 != (TypeDescriptor *)0x0) { + if (local_2b58 == (longlong *)0x0) { + pTVar11 = (TypeDescriptor *)FUN_1400302f0(pTVar34); + } + else { + pTVar11 = (TypeDescriptor *)(**(code **)(*local_2b58 + 0x18))(local_2b58,pTVar34); + } + } + if (100 < local_2938) { + operator_delete__(local_2948.pVFTable); + pTVar11 = extraout_RAX; + } + if (local_2b18 != '\0') { + pTVar11 = (TypeDescriptor *)FUN_14002e770((longlong)local_2b20); + } + return CONCAT71((int7)((ulonglong)pTVar11 >> 8),1); + } + FUN_140030200(plVar32,pTVar18,pTVar29,pTVar33); + local_2c08 = (uint *)PTR_DAT_140155010; + uVar4 = FUN_140030080((short *)puVar1); + if ((local_2c08 != (uint *)0x0) && + (pTVar16 = (TypeDescriptor *)0x0, local_2c08 != (uint *)PTR_DAT_140155010)) { + pTVar16 = (TypeDescriptor *)(ulonglong)local_2c08[-2]; + } + uVar6 = uVar4; + if ((((int)uVar4 <= (int)pTVar16) && (uVar6 = uVar28, local_2c08 != (uint *)0x0)) && + (local_2c08 != (uint *)PTR_DAT_140155010)) { + uVar6 = local_2c08[-2]; + } + uVar25 = 1; + if (1 < (int)uVar6) { + uVar25 = uVar6; + } + uVar7 = 0; + uVar6 = uVar7; + if ((local_2c08 != (uint *)0x0) && (local_2c08 != (uint *)PTR_DAT_140155010)) { + uVar6 = local_2c08[-2]; + } + if ((int)uVar6 < (int)uVar25) { + if (local_2c08 == (uint *)0x0) { + local_2c08 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar25 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar25 == 0) { + FUN_140003240(&local_2c08,PTR_DAT_140155010,pTVar16,pTVar33); + } + else { + uVar6 = uVar7; + if ((local_2c08 != (uint *)0x0) && (local_2c08 != (uint *)PTR_DAT_140155010)) { + uVar6 = local_2c08[-2]; + } + if (uVar25 != uVar6) { + puVar12 = (uint *)FUN_140030280((longlong)(int)uVar25 * 2 + 10); + if (puVar12 != (uint *)0x0) { + *puVar12 = 0; + puVar12[1] = 1; + } + *puVar12 = uVar25; + uVar6 = uVar7; + if ((local_2c08 != (uint *)0x0) && (local_2c08 != (uint *)PTR_DAT_140155010)) { + uVar6 = local_2c08[-2]; + } + puVar22 = (uint *)PTR_DAT_140155010; + if ((int)uVar25 < (int)uVar6) { +LAB_140079145: + if (local_2c08 != (uint *)0x0) { + puVar22 = local_2c08; + } + } + else { + uVar25 = uVar28; + if (local_2c08 != (uint *)0x0) { + if (local_2c08 != (uint *)PTR_DAT_140155010) { + uVar25 = local_2c08[-2]; + } + goto LAB_140079145; + } + } + uVar26 = (ulonglong)uVar25; + FUN_1400300b0(puVar12 + 2,puVar22,uVar25); + FUN_140003240(&local_2c08,puVar22,uVar26,pTVar33); + local_2c08 = puVar12 + 2; + } + } + } + FUN_140002ea0(&local_2c08); + puVar12 = local_2c08; + if (local_2c08 == (uint *)0x0) { + puVar12 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar12,puVar1,uVar4); + puVar12 = local_2c08; + if (local_2c08 == (uint *)0x0) { + puVar12 = (uint *)PTR_DAT_140155010; + } + uVar4 = FUN_140030080((short *)puVar12); + uVar28 = 0; + if (0 < (int)uVar4) { + uVar28 = uVar4; + } + uVar4 = uVar7; + if ((local_2c08 != (uint *)0x0) && (local_2c08 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_2c08[-2]; + } + if (((int)uVar4 <= (int)uVar28) && (uVar28 = uVar7, local_2c08 != (uint *)0x0)) { + if (local_2c08 == (uint *)PTR_DAT_140155010) goto LAB_1400791fa; + uVar28 = local_2c08[-2]; + } + if (((local_2c08 != (uint *)PTR_DAT_140155010) && (local_2c08 != (uint *)0x0)) && + (local_2c08 + -2 != (uint *)0x0)) { + local_2c08[-2] = uVar28; + *(undefined2 *)((longlong)local_2c08 + (longlong)(int)uVar28 * 2) = 0; + } +LAB_1400791fa: + local_2c00._8_8_ = (void *)0x0; + local_2bf0 = (TypeDescriptor *)0x0; + local_2be8 = 0; + local_2be0 = 0; + local_2c00._0_8_ = Proud::ByteArray::vftable; + plVar32 = &local_2c08; + plVar13 = FUN_14003c120((longlong *)&local_2bd8,0x12,0,plVar32,(longlong)local_2c00); + lVar15 = *param_1; + (**(code **)(lVar15 + 0x80))(param_1); + puVar17 = (undefined8 *)local_2c00; + FUN_14003b870(puVar17); + puVar12 = local_2c08; + if (((local_2c08 != (uint *)0x0) && (local_2c08 != (uint *)PTR_DAT_140155010)) && + (puVar22 = local_2c08 + -2, puVar22 != (uint *)0x0)) { + piVar14 = (int *)FUN_140030200(puVar17,plVar13,lVar15,plVar32); + local_2b30 = piVar14; + FUN_14002e6e0(piVar14); + local_2b28 = CONCAT31(local_2b28._1_3_,1); + puVar12 = puVar12 + -1; + *puVar12 = *puVar12 - 1; + if (*puVar12 == 0) { + FUN_1400302f0(puVar22); + } + FUN_14002e770((longlong)piVar14); + } + uVar26 = FUN_14002e770((longlong)local_2b20); + return uVar26 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400792f0.c b/decomp/Agent_Release_x64/full/functions/0x1400792f0.c new file mode 100644 index 00000000..98621320 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400792f0.c @@ -0,0 +1,104 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400792f0 FUN_1400792f0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400792f0(longlong *param_1,uint param_2,uint *param_3,longlong *param_4) + +{ + undefined4 uVar1; + int *piVar2; + undefined4 *puVar3; + ulonglong uVar4; + longlong *plVar5; + uint uVar6; + ulonglong uVar7; + undefined1 auStack_3b8 [32]; + int *local_398; + undefined1 local_390; + undefined8 local_388; + void *local_378; + longlong local_370; + ulonglong local_368; + undefined8 local_360; + longlong local_358 [100]; + ulonglong local_38; + + local_388 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_3b8; + uVar7 = (ulonglong)param_2; + plVar5 = param_4; + piVar2 = (int *)(**(code **)(*param_1 + 0x58))(); + local_398 = piVar2; + FUN_14002e6e0(piVar2); + local_390 = 1; + uVar4 = 0; + local_378 = (void *)0x0; + local_360 = 0; + local_370 = 0; + local_368 = 100; + if (0 < (int)param_2) { + do { + if (*param_3 != 0) { + FUN_1400771e0(param_1,*param_3,(longlong *)&local_378,plVar5); + } + param_3 = param_3 + 1; + uVar7 = uVar7 - 1; + } while (uVar7 != 0); + } + FUN_1400666b0((longlong *)&local_378); + FUN_14003f250(param_4,local_370,-1); + uVar7 = uVar4; + if (0 < local_370) { + do { + if (((longlong)uVar4 < 0) || (local_370 <= (longlong)uVar4)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (local_368 < 0x65) { + plVar5 = local_358 + uVar4; + } + else { + plVar5 = (longlong *)((longlong)local_378 + uVar4 * 8); + } + plVar5 = (longlong *)*plVar5; + if (plVar5 == (longlong *)0x0) { + if (param_4[1] <= (longlong)uVar4) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_4[2] < 0x65) { + puVar3 = (undefined4 *)((longlong)param_4 + uVar4 * 4 + 0x20); + } + else { + puVar3 = (undefined4 *)(*param_4 + uVar4 * 4); + } + *puVar3 = 0; + } + else { + if (param_4[1] <= (longlong)uVar4) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_4[2] < 0x65) { + puVar3 = (undefined4 *)((longlong)param_4 + uVar4 * 4 + 0x20); + } + else { + puVar3 = (undefined4 *)(*param_4 + uVar4 * 4); + } + uVar1 = (**(code **)(*plVar5 + 8))(plVar5); + *puVar3 = uVar1; + } + uVar6 = (int)uVar7 + 1; + uVar7 = (ulonglong)uVar6; + uVar4 = (ulonglong)(int)uVar6; + } while ((longlong)uVar4 < local_370); + } + if (100 < local_368) { + operator_delete__(local_378); + } + FUN_14002e770((longlong)piVar2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400794a0.c b/decomp/Agent_Release_x64/full/functions/0x1400794a0.c new file mode 100644 index 00000000..415b767a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400794a0.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400794a0 FUN_1400794a0 + * Pseudocode, not original source. */ + +void FUN_1400794a0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_1 + 0x50,param_2,param_3,param_4); + FUN_140095270((longlong *)(param_1 + 0x10)); + if (*(longlong *)(param_1 + 0x18) != 0) { + if (*(int *)(param_1 + 0x24) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(param_1 + 0x20) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140079500.c b/decomp/Agent_Release_x64/full/functions/0x140079500.c new file mode 100644 index 00000000..51b72a9a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140079500.c @@ -0,0 +1,116 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140079500 FUN_140079500 + * Pseudocode, not original source. */ + +void FUN_140079500(char *param_1) + +{ + LPVOID pvVar1; + undefined8 *puVar2; + void *pvVar3; + longlong *plVar4; + LPVOID pvVar5; + uint uVar6; + ulonglong uVar7; + longlong lVar8; + longlong lVar9; + float fVar10; + float fVar11; + + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + 1; + FUN_14003d560(param_1); + pvVar5 = *(LPVOID *)(param_1 + 0x10); + while (pvVar5 != (LPVOID)0x0) { + pvVar1 = *(LPVOID *)((longlong)pvVar5 + 0x10); + if ((*(longlong *)((longlong)pvVar5 + 8) != 0) && + (*(longlong *)(*(longlong *)((longlong)pvVar5 + 8) + 8) = + *(longlong *)(*(longlong *)((longlong)pvVar5 + 8) + 8) + -1, + *(longlong *)(*(longlong *)((longlong)pvVar5 + 8) + 8) == 0)) { + puVar2 = *(undefined8 **)((longlong)pvVar5 + 8); + pvVar3 = (void *)*puVar2; + if (pvVar3 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar3 + 8)); + operator_delete(pvVar3); + } + FUN_1400302f0(puVar2); + } + plVar4 = *(longlong **)(param_1 + 0x50); + if (plVar4 == (longlong *)0x0) { + FUN_1400302f0(pvVar5); + } + else { + (**(code **)(*plVar4 + 0x18))(plVar4,pvVar5); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + pvVar5 = pvVar1; + } + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + param_1[0x20] = '\0'; + param_1[0x21] = '\0'; + param_1[0x22] = '\0'; + param_1[0x23] = '\0'; + param_1[0x24] = '\0'; + param_1[0x25] = '\0'; + param_1[0x26] = '\0'; + param_1[0x27] = '\0'; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + FUN_14003d560(param_1); + if (*(int *)(param_1 + 0x48) == 0) { + uVar6 = FUN_14003d4e0((longlong)param_1,*(longlong *)(param_1 + 0x20)); + if (*(LPVOID *)(param_1 + 8) != (LPVOID)0x0) { + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + } + lVar8 = 0; + *(uint *)(param_1 + 0x28) = uVar6; + fVar11 = (float)uVar6 * *(float *)(param_1 + 0x34); + if ((9.223372e+18 < fVar11) && (fVar11 = fVar11 - 9.223372e+18, fVar11 < 9.223372e+18)) { + lVar8 = -0x8000000000000000; + } + fVar10 = (float)uVar6 * *(float *)(param_1 + 0x30); + lVar9 = 0; + *(longlong *)(param_1 + 0x38) = (longlong)fVar11 + lVar8; + if ((9.223372e+18 < fVar10) && (fVar10 = fVar10 - 9.223372e+18, fVar10 < 9.223372e+18)) { + lVar9 = -0x8000000000000000; + } + uVar7 = (longlong)fVar10 + lVar9; + if ((ulonglong)((longlong)fVar10 + lVar9) < 0x11) { + uVar7 = 0; + } + *(ulonglong *)(param_1 + 0x40) = uVar7; + } + FUN_14003d560(param_1); + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140079690.c b/decomp/Agent_Release_x64/full/functions/0x140079690.c new file mode 100644 index 00000000..1dab1168 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140079690.c @@ -0,0 +1,91 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140079690 FUN_140079690 + * Pseudocode, not original source. */ + +undefined4 * +FUN_140079690(undefined4 *param_1,undefined4 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong *plVar1; + int iVar2; + undefined8 *puVar3; + undefined8 *puVar4; + undefined8 *puVar5; + SIZE_T SVar6; + SIZE_T SVar7; + + *param_1 = *param_2; + FUN_14003bff0((ulonglong *)(param_1 + 2),(ulonglong *)(param_2 + 2),param_3,param_4); + param_1[4] = param_2[4]; + FUN_140056c00((ulonglong *)(param_1 + 6),(ulonglong *)(param_2 + 6),param_3,param_4); + FUN_140056d30((ulonglong *)(param_1 + 8),(ulonglong *)(param_2 + 8),param_3,param_4); + iVar2 = param_2[0x10]; + SVar6 = (SIZE_T)iVar2; + if (iVar2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14001bc70((longlong)(param_1 + 10),iVar2,param_3); + puVar5 = (undefined8 *)0x0; + puVar4 = puVar5; + if (param_2[0x10] != 0) { + puVar4 = *(undefined8 **)(param_2 + 0xe); + } + puVar3 = puVar5; + if (param_1[0x10] != 0) { + puVar3 = *(undefined8 **)(param_1 + 0xe); + } + FUN_14001bd30(puVar3,puVar4,SVar6); + if (*(longlong *)(param_2 + 0x14) == *(longlong *)(param_1 + 0x14)) { + param_1[0x19] = param_2[0x19]; + *(undefined8 *)(param_1 + 0x16) = *(undefined8 *)(param_2 + 0x16); + param_1[0x18] = param_2[0x18]; + } + else { + FUN_140095270((longlong *)(param_1 + 0x14)); + if (*(longlong *)(param_2 + 0x14) != 0) { + plVar1 = (longlong *)(*(longlong *)(param_2 + 0x14) + 0x28); + *plVar1 = *plVar1 + 1; + *(undefined8 *)(param_1 + 0x14) = *(undefined8 *)(param_2 + 0x14); + } + } + param_1[0x1a] = param_2[0x1a]; + param_1[0x1b] = param_2[0x1b]; + param_1[0x1c] = param_2[0x1c]; + iVar2 = param_2[0x24]; + SVar7 = (SIZE_T)iVar2; + if (-1 < iVar2) { + FUN_14001bc70((longlong)(param_1 + 0x1e),iVar2,SVar6); + puVar4 = puVar5; + if (param_2[0x24] != 0) { + puVar4 = *(undefined8 **)(param_2 + 0x22); + } + puVar3 = puVar5; + if (param_1[0x24] != 0) { + puVar3 = *(undefined8 **)(param_1 + 0x22); + } + FUN_14001bd30(puVar3,puVar4,SVar7); + param_1[0x28] = param_2[0x28]; + param_1[0x2c] = param_2[0x2c]; + *(undefined2 *)(param_1 + 0x2d) = *(undefined2 *)(param_2 + 0x2d); + param_1[0x2e] = param_2[0x2e]; + iVar2 = param_2[0x36]; + if (-1 < iVar2) { + FUN_14001bc70((longlong)(param_1 + 0x30),iVar2,SVar7); + puVar4 = puVar5; + if (param_2[0x36] != 0) { + puVar4 = *(undefined8 **)(param_2 + 0x34); + } + if (param_1[0x36] != 0) { + puVar5 = *(undefined8 **)(param_1 + 0x34); + } + FUN_14001bd30(puVar5,puVar4,(longlong)iVar2); + return param_1; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140079860.c b/decomp/Agent_Release_x64/full/functions/0x140079860.c new file mode 100644 index 00000000..2ea97827 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140079860.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140079860 FUN_140079860 + * Pseudocode, not original source. */ + +void FUN_140079860(char *param_1) + +{ + FUN_140079500(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140079880.c b/decomp/Agent_Release_x64/full/functions/0x140079880.c new file mode 100644 index 00000000..2a4602b2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140079880.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140079880 FUN_140079880 + * Pseudocode, not original source. */ + +undefined4 * +FUN_140079880(undefined4 *param_1,undefined4 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + *param_1 = *param_2; + FUN_140080700(param_1 + 2,param_2 + 2); + param_1[0xc] = param_2[0xc]; + *(undefined ***)(param_1 + 0xe) = Proud::AddrPort::vftable; + param_1[0x10] = param_2[0x10]; + *(undefined2 *)(param_1 + 0x11) = *(undefined2 *)(param_2 + 0x11); + *(undefined1 *)(param_1 + 0x12) = *(undefined1 *)(param_2 + 0x12); + FUN_1400589c0(param_1 + 0x14,param_2 + 0x14,param_3,param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140079910.c b/decomp/Agent_Release_x64/full/functions/0x140079910.c new file mode 100644 index 00000000..f43c380b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140079910.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140079910 FUN_140079910 + * Pseudocode, not original source. */ + +undefined4 * +FUN_140079910(undefined4 *param_1,undefined4 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + *param_1 = *param_2; + FUN_140064ff0(param_1 + 2,param_2 + 2); + param_1[0xc] = param_2[0xc]; + param_1[0x10] = param_2[0x10]; + *(undefined2 *)(param_1 + 0x11) = *(undefined2 *)(param_2 + 0x11); + *(undefined1 *)(param_1 + 0x12) = *(undefined1 *)(param_2 + 0x12); + FUN_140079690(param_1 + 0x14,param_2 + 0x14,param_3,param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140079980.c b/decomp/Agent_Release_x64/full/functions/0x140079980.c new file mode 100644 index 00000000..31c508d5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140079980.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140079980 FUN_140079980 + * Pseudocode, not original source. */ + +undefined8 FUN_140079980(char *param_1,uint *param_2,longlong *param_3) + +{ + uint uVar1; + ulonglong uVar2; + uint *puVar3; + undefined8 uVar4; + + uVar1 = *(uint *)(param_1 + 0x28); + uVar2 = (ulonglong)*param_2 % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 8) != 0) { + for (puVar3 = *(uint **)(*(longlong *)(param_1 + 8) + uVar2 * 8); + (puVar3 != (uint *)0x0 && ((uint)uVar2 == puVar3[8] % uVar1)); + puVar3 = *(uint **)(puVar3 + 4)) { + if (*puVar3 == *param_2) { + return (ulonglong)puVar3[8] / (ulonglong)uVar1 & 0xffffff00; + } + } + } + puVar3 = FUN_140059d00(param_1,param_2); + uVar4 = FUN_140076bb0((longlong *)puVar3,param_3); + return CONCAT71((int7)((ulonglong)uVar4 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140079a10.c b/decomp/Agent_Release_x64/full/functions/0x140079a10.c new file mode 100644 index 00000000..d7e0fb65 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140079a10.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140079a10 FUN_140079a10 + * Pseudocode, not original source. */ + +void FUN_140079a10(longlong *param_1,LPVOID param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + + FUN_140056f10((longlong)param_2 + 0x60,param_2,param_3,param_4); + FUN_140095270((longlong *)((longlong)param_2 + 0x20)); + if (*(longlong *)((longlong)param_2 + 0x28) != 0) { + if (*(int *)((longlong)param_2 + 0x34) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)((longlong)param_2 + 0x30) = 0; + } + plVar1 = (longlong *)*param_1; + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(param_2); + } + else { + (**(code **)(*plVar1 + 0x10))(plVar1,param_2); + } + param_1[3] = param_1[3] + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140079a80.c b/decomp/Agent_Release_x64/full/functions/0x140079a80.c new file mode 100644 index 00000000..23594821 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140079a80.c @@ -0,0 +1,76 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140079a80 FUN_140079a80 + * Pseudocode, not original source. */ + +longlong * FUN_140079a80(longlong *param_1,longlong *param_2,uint param_3) + +{ + uint uVar1; + ulonglong uVar2; + int *piVar3; + uint *puVar4; + longlong lVar5; + undefined8 uVar6; + uint *puVar7; + uint uVar8; + longlong *plVar9; + uint local_res18 [2]; + undefined4 *local_res20; + + puVar7 = (uint *)0x0; + local_res18[0] = param_3; + piVar3 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar3); + local_res20 = operator_new(0x60); + puVar4 = puVar7; + if (local_res20 != (undefined4 *)0x0) { + puVar4 = FUN_140067850(local_res20); + } + if (puVar4 == (uint *)0x0) { + *param_2 = 0; + } + else { + lVar5 = FUN_140030280(0x10); + *param_2 = lVar5; + *(undefined8 *)(lVar5 + 8) = 1; + *(uint **)*param_2 = puVar4; + } + if ((undefined8 *)*param_2 != (undefined8 *)0x0) { + puVar7 = *(uint **)*param_2; + } + *puVar7 = param_3; + plVar9 = param_1 + 0xbc; + uVar1 = *(uint *)(param_1 + 0xc1); + uVar2 = (ulonglong)param_3 % (ulonglong)uVar1; + lVar5 = param_1[0xbd]; + uVar8 = (uint)uVar2; + if (lVar5 != 0) { + for (puVar7 = *(uint **)(lVar5 + uVar2 * 8); + (puVar7 != (uint *)0x0 && (uVar8 == puVar7[8] % uVar1)); puVar7 = *(uint **)(puVar7 + 4)) { + if (*puVar7 == param_3) goto LAB_140079c01; + } + if (lVar5 != 0) { + for (puVar7 = *(uint **)(lVar5 + uVar2 * 8); + (puVar7 != (uint *)0x0 && (uVar8 == puVar7[8] % uVar1)); puVar7 = *(uint **)(puVar7 + 4)) + { + if (*puVar7 == param_3) goto LAB_140079bf4; + } + if (lVar5 != 0) goto LAB_140079bcb; + } + } + uVar6 = FUN_14003f710((longlong)plVar9,uVar1,'\x01'); + if ((char)uVar6 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } +LAB_140079bcb: + FUN_14003d560((char *)plVar9); + puVar7 = FUN_140058870((char *)plVar9,local_res18,uVar8,param_3); + FUN_14003d560((char *)plVar9); +LAB_140079bf4: + FUN_140076bb0((longlong *)(puVar7 + 2),param_2); +LAB_140079c01: + FUN_14002e770((longlong)piVar3); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140079c20.c b/decomp/Agent_Release_x64/full/functions/0x140079c20.c new file mode 100644 index 00000000..28078a60 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140079c20.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140079c20 FUN_140079c20 + * Pseudocode, not original source. */ + +undefined4 * FUN_140079c20(longlong *param_1,undefined4 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + + plVar1 = (longlong *)param_1[1]; + if (plVar1 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + FUN_140079880(param_2,(undefined4 *)(plVar1 + 2),param_3,param_4); + lVar2 = *plVar1; + param_1[1] = lVar2; + if (lVar2 == 0) { + param_1[2] = 0; + } + else { + *(undefined8 *)(lVar2 + 8) = 0; + } + FUN_140079a10(param_1,plVar1,param_3,param_4); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140079ca0.c b/decomp/Agent_Release_x64/full/functions/0x140079ca0.c new file mode 100644 index 00000000..26fc0db3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140079ca0.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140079ca0 FUN_140079ca0 + * Pseudocode, not original source. */ + +void FUN_140079ca0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = param_1[3]; + while( true ) { + if (lVar1 == 0) { + param_1[1] = 0; + param_1[2] = 0; + return; + } + plVar2 = (longlong *)param_1[1]; + if (plVar2 == (longlong *)0x0) break; + param_1[1] = *plVar2; + FUN_140056f10((longlong)(plVar2 + 0xc),param_2,param_3,param_4); + FUN_140095270(plVar2 + 4); + if (plVar2[5] != 0) { + if (*(int *)((longlong)plVar2 + 0x34) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(plVar2 + 6) = 0; + } + if ((longlong *)*param_1 == (longlong *)0x0) { + FUN_1400302f0(plVar2); + } + else { + (**(code **)(*(longlong *)*param_1 + 0x10))(); + param_2 = plVar2; + } + param_1[3] = param_1[3] + -1; + lVar1 = param_1[3]; + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140079d50.c b/decomp/Agent_Release_x64/full/functions/0x140079d50.c new file mode 100644 index 00000000..08acd395 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140079d50.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140079d50 FUN_140079d50 + * Pseudocode, not original source. */ + +undefined8 * FUN_140079d50(longlong *param_1,undefined4 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong *plVar1; + undefined8 *puVar2; + SIZE_T SVar3; + undefined8 uVar4; + + plVar1 = (longlong *)*param_1; + SVar3 = param_3; + uVar4 = param_4; + if (plVar1 == (longlong *)0x0) { + puVar2 = (undefined8 *)FUN_140030280(0x148); + } + else { + puVar2 = (undefined8 *) + (**(code **)(*plVar1 + 8))(plVar1,0x148,param_3,param_4,0xfffffffffffffffe); + } + if (puVar2 != (undefined8 *)0x0) { + FUN_140079880((undefined4 *)(puVar2 + 2),param_2,SVar3,uVar4); + } + puVar2[1] = param_3; + *puVar2 = param_4; + param_1[3] = param_1[3] + 1; + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140079de0.c b/decomp/Agent_Release_x64/full/functions/0x140079de0.c new file mode 100644 index 00000000..ddbba0fe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140079de0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140079de0 FUN_140079de0 + * Pseudocode, not original source. */ + +ulonglong FUN_140079de0(longlong *param_1,undefined4 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + int *piVar1; + undefined4 *puVar2; + undefined8 uVar3; + ulonglong uVar4; + undefined4 local_140 [4]; + longlong local_130; + longlong local_128; + int local_11c; + undefined1 local_f0 [232]; + + piVar1 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar1); + if (param_1[0x2bf] == 0) { + uVar4 = FUN_14002e770((longlong)piVar1); + uVar4 = uVar4 & 0xffffffffffffff00; + } + else { + puVar2 = FUN_140079c20(param_1 + 700,local_140,param_3,param_4); + FUN_140079910(param_2,puVar2,param_3,param_4); + FUN_140056f10((longlong)local_f0,puVar2,param_3,param_4); + FUN_140095270(&local_130); + if ((local_128 != 0) && (local_11c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar3 = FUN_14002e770((longlong)piVar1); + uVar4 = CONCAT71((int7)((ulonglong)uVar3 >> 8),1); + } + return uVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140079eb0.c b/decomp/Agent_Release_x64/full/functions/0x140079eb0.c new file mode 100644 index 00000000..56b3f578 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140079eb0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140079eb0 FUN_140079eb0 + * Pseudocode, not original source. */ + +void FUN_140079eb0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + + FUN_140079ca0(param_1,param_2,param_3,param_4); + puVar1 = (undefined8 *)*param_1; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140079ee0.c b/decomp/Agent_Release_x64/full/functions/0x140079ee0.c new file mode 100644 index 00000000..79d53883 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140079ee0.c @@ -0,0 +1,373 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140079ee0 FUN_140079ee0 + * Pseudocode, not original source. */ + +undefined8 FUN_140079ee0(longlong ****param_1,longlong *param_2,longlong *param_3,ulonglong param_4) + +{ + longlong ****pppplVar1; + undefined8 *puVar2; + longlong *plVar3; + char cVar4; + int iVar5; + wchar_t *pwVar6; + longlong *plVar7; + longlong *****ppppplVar8; + int *piVar9; + int *piVar10; + longlong ****pppplVar11; + longlong ****pppplVar12; + longlong ****pppplVar13; + undefined8 uVar14; + ushort *puVar15; + longlong **pplVar16; + longlong ***ppplVar17; + undefined1 local_res8 [8]; + longlong ****local_res18; + longlong ****local_res20; + longlong *local_1c8; + longlong *local_1c0; + longlong *local_1b8; + longlong ****local_1b0; + longlong ****local_1a8; + undefined *local_1a0; + undefined *local_198; + int *local_190; + undefined1 local_188; + int *local_180; + undefined1 local_178; + longlong *****local_170; + undefined1 local_168; + int *local_160; + undefined1 local_158; + longlong *****local_150; + undefined1 local_148; + longlong ****local_140; + undefined1 local_138; + int *local_130; + undefined1 local_128; + longlong *****local_120; + undefined1 local_118; + undefined8 local_110; + undefined4 local_d8; + uint uStack_d4; + undefined4 local_d0; + uint uStack_cc; + exception local_c8 [72]; + exception local_80 [72]; + + local_110 = 0xfffffffffffffffe; + local_140 = param_1 + 0x95; + FUN_14002e6e0((int *)local_140); + local_138 = 1; + pppplVar12 = param_1 + 1; + (*(code *)(*pppplVar12)[3])(pppplVar12); + LOCK(); + *(int *)(param_1 + 0xaa) = *(int *)(param_1 + 0xaa) + 1; + UNLOCK(); + pppplVar1 = param_1 + -0xe; + local_160 = (int *)(*(code *)(*pppplVar1)[0xb])(pppplVar1); + FUN_14002e6e0(local_160); + local_158 = 1; + local_res8[0] = 0; + pwVar6 = (wchar_t *)local_res8; + ppppplVar8 = (longlong *****)param_1; + iVar5 = (*(code *)(*param_1)[0x21])(); + if (iVar5 != 0) { + pwVar6 = FUN_14009d550(iVar5); + FUN_14002f1e0(local_c8, + L"Wrong state(%s)! Disconnect() or GetServerConnectionState() may be required.", + pwVar6,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_c8,(ThrowInfo *)&DAT_140151b88); + } + pppplVar13 = (longlong ****)0x0; + if ((param_1[0xac] != (longlong ***)0x0) && (*param_1[0xac] != (longlong **)0x0)) { + FUN_140030200(ppppplVar8,pwVar6,param_3,param_4); + local_res20 = (longlong ****)PTR_DAT_140155010; + plVar7 = FUN_14002ff30((longlong *)&local_1a0,pwVar6,param_3,param_4); + param_3 = (longlong *)*plVar7; + if (param_3 == (longlong *)0x0) { + param_3 = (longlong *)PTR_DAT_140155010; + } + pwVar6 = L"Unstability in Connect #3! Process=%s"; + ppppplVar8 = &local_res20; + FUN_14001b7a0((longlong *)ppppplVar8,L"Unstability in Connect #3! Process=%s",param_3,param_4); + if (((local_1a0 != (undefined *)0x0) && (local_1a0 != PTR_DAT_140155010)) && + (local_1a0 + -8 != (undefined *)0x0)) { + ppppplVar8 = (longlong *****)FUN_140030200(ppppplVar8,pwVar6,param_3,param_4); + local_170 = ppppplVar8; + FUN_14002e6e0((int *)ppppplVar8); + local_168 = 1; + piVar9 = (int *)(local_1a0 + -4); + *piVar9 = *piVar9 + -1; + if (*piVar9 == 0) { + FUN_1400302f0(local_1a0 + -8); + } + FUN_14002e770((longlong)ppppplVar8); + local_168 = 0; + } + local_1a0 = PTR_DAT_140155010; + FUN_140030200(ppppplVar8,pwVar6,param_3,param_4); + pppplVar11 = local_res20; + local_res18 = (longlong ****)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_res18 = pppplVar13; + } + if (local_res20 != (longlong ****)PTR_DAT_140155010) { + piVar9 = (int *)FUN_140030200(ppppplVar8,pwVar6,param_3,param_4); + local_190 = piVar9; + FUN_14002e6e0(piVar9); + local_188 = 1; + FUN_140003240((longlong *)&local_res18,pwVar6,param_3,param_4); + local_res18 = pppplVar11; + if (((pppplVar11 != (longlong ****)PTR_DAT_140155010) && (pppplVar11 != (longlong ****)0x0)) + && (pppplVar11 != (longlong ****)0x8)) { + *(int *)((longlong)pppplVar11 + -4) = *(int *)((longlong)pppplVar11 + -4) + 1; + } + FUN_14002e770((longlong)piVar9); + local_188 = 0; + } + ppppplVar8 = &local_res18; + FUN_140033120((longlong *)ppppplVar8,pwVar6,param_3,param_4); + if (((pppplVar11 != (longlong ****)0x0) && (pppplVar11 != (longlong ****)PTR_DAT_140155010)) && + (pppplVar11 + -1 != (longlong ****)0x0)) { + ppppplVar8 = (longlong *****)FUN_140030200(ppppplVar8,pwVar6,param_3,param_4); + local_150 = ppppplVar8; + FUN_14002e6e0((int *)ppppplVar8); + local_148 = 1; + piVar9 = (int *)((longlong)pppplVar11 + -4); + *piVar9 = *piVar9 + -1; + if (*piVar9 == 0) { + FUN_1400302f0(pppplVar11 + -1); + } + FUN_14002e770((longlong)ppppplVar8); + local_148 = 0; + } + local_res20 = (longlong ****)PTR_DAT_140155010; + } + if (((param_1[0x296] != (longlong ***)0x0) && (*param_1[0x296] != (longlong **)0x0)) || + ((param_1[0x2a0] != (longlong ***)0x0 && (*param_1[0x2a0] != (longlong **)0x0)))) { + FUN_140030200(ppppplVar8,pwVar6,param_3,param_4); + local_1a8 = (longlong ****)PTR_DAT_140155010; + plVar7 = FUN_14002ff30((longlong *)&local_198,pwVar6,param_3,param_4); + param_3 = (longlong *)*plVar7; + if (param_3 == (longlong *)0x0) { + param_3 = (longlong *)PTR_DAT_140155010; + } + pwVar6 = L"Unstability in Connect #1! Process=%s"; + ppppplVar8 = &local_1a8; + FUN_14001b7a0((longlong *)ppppplVar8,L"Unstability in Connect #1! Process=%s",param_3,param_4); + if (((local_198 != (undefined *)0x0) && (local_198 != PTR_DAT_140155010)) && + (local_198 + -8 != (undefined *)0x0)) { + ppppplVar8 = (longlong *****)FUN_140030200(ppppplVar8,pwVar6,param_3,param_4); + local_120 = ppppplVar8; + FUN_14002e6e0((int *)ppppplVar8); + local_118 = 1; + piVar9 = (int *)(local_198 + -4); + *piVar9 = *piVar9 + -1; + if (*piVar9 == 0) { + FUN_1400302f0(local_198 + -8); + } + FUN_14002e770((longlong)ppppplVar8); + local_118 = 0; + } + local_198 = PTR_DAT_140155010; + FUN_140030200(ppppplVar8,pwVar6,param_3,param_4); + pppplVar11 = local_1a8; + local_1b0 = (longlong ****)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_1b0 = pppplVar13; + } + if (local_1a8 != (longlong ****)PTR_DAT_140155010) { + piVar9 = (int *)FUN_140030200(ppppplVar8,pwVar6,param_3,param_4); + local_130 = piVar9; + FUN_14002e6e0(piVar9); + local_128 = 1; + FUN_140003240((longlong *)&local_1b0,pwVar6,param_3,param_4); + local_1b0 = pppplVar11; + if (((pppplVar11 != (longlong ****)PTR_DAT_140155010) && (pppplVar11 != (longlong ****)0x0)) + && (pppplVar11 != (longlong ****)0x8)) { + *(int *)((longlong)pppplVar11 + -4) = *(int *)((longlong)pppplVar11 + -4) + 1; + } + FUN_14002e770((longlong)piVar9); + local_128 = 0; + } + ppppplVar8 = &local_1b0; + FUN_140033120((longlong *)ppppplVar8,pwVar6,param_3,param_4); + if (((pppplVar11 != (longlong ****)0x0) && (pppplVar11 != (longlong ****)PTR_DAT_140155010)) && + (pppplVar11 + -1 != (longlong ****)0x0)) { + piVar10 = (int *)FUN_140030200(ppppplVar8,pwVar6,param_3,param_4); + local_180 = piVar10; + FUN_14002e6e0(piVar10); + local_178 = 1; + piVar9 = (int *)((longlong)pppplVar11 + -4); + *piVar9 = *piVar9 + -1; + if (*piVar9 == 0) { + FUN_1400302f0(pppplVar11 + -1); + } + FUN_14002e770((longlong)piVar10); + local_178 = 0; + } + local_1a8 = (longlong ****)PTR_DAT_140155010; + } + puVar15 = (ushort *)*param_2; + if ((ushort *)*param_2 == (ushort *)0x0) { + puVar15 = (ushort *)PTR_DAT_140155010; + } + iVar5 = FUN_1400300c0(puVar15,0x140100310); + if (((iVar5 != 0) && ((short)param_2[1] != 0)) && ((short)param_2[1] != -1)) { + puVar15 = (ushort *)*param_2; + if ((ushort *)*param_2 == (ushort *)0x0) { + puVar15 = (ushort *)PTR_DAT_140155010; + } + pwVar6 = L"255.255.255.255"; + iVar5 = FUN_1400300c0(puVar15,0x1401002f0); + if (iVar5 != 0) { + ppplVar17 = (longlong ***)param_2[9]; + if ((double)param_2[9] <= 0.0) { + ppplVar17 = DAT_1401551a0; + } + param_1[0x2fe] = ppplVar17; + FUN_1400b7b10((double *)(param_1 + 0x2e1)); + FUN_1400b7ae0((double *)(param_1 + 0x301),(double)param_1[0x2fe]); + FUN_1400b7b10((double *)(param_1 + 0x301)); + FUN_1400b7b10((double *)(param_1 + 9)); + FUN_140079ca0((longlong *)(param_1 + 0x2ae),(longlong *)pwVar6,param_3,param_4); + FUN_140079ca0((longlong *)(param_1 + 0x2b2),(longlong *)pwVar6,param_3,param_4); + ppplVar17 = (longlong ***)(*(code *)(*param_1)[0x38])(param_1); + param_1[0x30a] = ppplVar17; + *(undefined1 *)(param_1 + 0xbc) = 0; + ppplVar17 = (longlong ***)FUN_1400303b0(); + param_1[0xba] = ppplVar17; + param_1[0xbb] = DAT_140155090; + cVar4 = FUN_14003a4e0((longlong)(param_1 + 0x2b6)); + if (cVar4 == '\0') { + FUN_14003a3e0((char *)(param_1 + 0x2b6)); + } + FUN_14003a390((char *)(param_1 + 0x2b6)); + uStack_d4 = uStack_d4 & 0xffffff00; + local_d8 = 0; + local_d0 = 0; + param_1[0xbd] = (longlong ***)0x0; + param_1[0xbe] = (longlong ***)0x0; + param_1[0xbf] = (longlong ***)0x0; + param_1[0xc0] = (longlong ***)0x0; + param_1[0xc1] = (longlong ***)0x0; + param_1[0xc2] = (longlong ***)0x0; + param_1[0xc3] = (longlong ***)((ulonglong)uStack_d4 << 0x20); + param_1[0xc4] = (longlong ***)((ulonglong)uStack_cc << 0x20); + ppplVar17 = (longlong ***)(*(code *)(*param_1)[0x38])(param_1); + param_1[699] = ppplVar17; + *(undefined4 *)(param_1 + 0xd2) = 0; + param_1[0xab] = (longlong ***)0x0; + *(undefined4 *)((longlong)param_1 + 0x47c) = 0; + param_1[0x90] = (longlong ***)0x0; + param_1[0x91] = (longlong ***)0x0; + param_1[0x92] = (longlong ***)0x0; + *(undefined4 *)(param_1 + 0x2a1) = 0; + param_1[0x304] = (longlong ***)0x0; + *(undefined4 *)(param_1 + 0x8d) = 0; + local_1b8 = operator_new(0x200); + pppplVar11 = pppplVar13; + if (local_1b8 != (longlong *)0x0) { + if (pppplVar1 != (longlong ****)0x0) { + pppplVar11 = pppplVar12; + } + pppplVar11 = (longlong ****)FUN_1400b2f80(local_1b8,(longlong *)pppplVar11,param_3,param_4); + } + if ((pppplVar11 == (longlong ****)0x0) || (pppplVar11 + 8 == (longlong ****)0x0)) { + local_1b8 = (longlong *)0x0; + } + else { + local_1b8 = (longlong *)FUN_140030280(0x10); + local_1b8[1] = 1; + *local_1b8 = (longlong)(pppplVar11 + 8); + } + plVar7 = local_1b8; + FUN_1400ad4b0((longlong *)(param_1 + 0x2ad),(longlong *)&local_1b8); + plVar3 = local_1b8; + if (plVar7 != (longlong *)0x0) { + plVar7 = plVar7 + 1; + *plVar7 = *plVar7 + -1; + if (*plVar7 == 0) { + puVar2 = (undefined8 *)*local_1b8; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(plVar3); + } + } + *(undefined1 *)(param_1 + 0x8f) = 0; + FUN_1400669c0((longlong *)(param_1 + 0x2a3),param_2,(SIZE_T)param_3,param_4); + plVar7 = FUN_140067610((longlong *)(param_1 + 0x2a3)); + plVar7 = FUN_140066160(plVar7); + FUN_140003170((longlong *)(param_1 + 0x2a3),plVar7,param_3,param_4); + ppplVar17 = param_1[0x2a3]; + if (((ppplVar17 == (longlong ***)0x0) || (ppplVar17 == (longlong ***)PTR_DAT_140155010)) || + (*(int *)(ppplVar17 + -1) == 0)) { + FUN_140006c60((longlong *)(param_1 + 0x2a3),L"localhost",param_3,param_4); + } + local_1c8 = operator_new(0x240); + pppplVar12 = pppplVar13; + if (local_1c8 != (longlong *)0x0) { + pppplVar12 = (longlong ****)FUN_1400ac660(local_1c8,(longlong)pppplVar1); + } + if (pppplVar12 == (longlong ****)0x0) { + local_1c8 = (longlong *)0x0; + } + else { + local_1c8 = (longlong *)FUN_140030280(0x10); + local_1c8[1] = 1; + *local_1c8 = (longlong)pppplVar12; + } + plVar7 = local_1c8; + FUN_140066470((longlong *)(param_1 + 0x2a0),(longlong *)&local_1c8); + plVar3 = local_1c8; + if (plVar7 != (longlong *)0x0) { + plVar7 = plVar7 + 1; + *plVar7 = *plVar7 + -1; + if (*plVar7 == 0) { + operator_delete((void *)*local_1c8); + FUN_1400302f0(plVar3); + } + } + local_1c0 = operator_new(0x140); + if (local_1c0 != (longlong *)0x0) { + pppplVar13 = (longlong ****)FUN_1400a4080(local_1c0,(longlong)pppplVar1,param_3,param_4); + } + if (pppplVar13 == (longlong ****)0x0) { + local_1c0 = (longlong *)0x0; + } + else { + local_1c0 = (longlong *)FUN_140030280(0x10); + local_1c0[1] = 1; + *local_1c0 = (longlong)pppplVar13; + } + plVar7 = local_1c0; + pplVar16 = &local_1c0; + FUN_1400676b0((longlong *)(param_1 + 0xac),(longlong *)pplVar16); + plVar3 = local_1c0; + if (plVar7 != (longlong *)0x0) { + plVar7 = plVar7 + 1; + *plVar7 = *plVar7 + -1; + if (*plVar7 == 0) { + plVar7 = (longlong *)*local_1c0; + if (plVar7 != (longlong *)0x0) { + FUN_1400a4dc0(plVar7,pplVar16,(ulonglong)param_3,param_4); + operator_delete(plVar7); + } + FUN_1400302f0(plVar3); + } + } + FUN_14002e770((longlong)local_160); + uVar14 = FUN_14002e770((longlong)local_140); + return CONCAT71((int7)((ulonglong)uVar14 >> 8),1); + } + } + pwVar6 = (wchar_t *)FUN_14003beb0(0xe); + FUN_14002f1e0(local_80,pwVar6,param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_80,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007a720.c b/decomp/Agent_Release_x64/full/functions/0x14007a720.c new file mode 100644 index 00000000..249747b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007a720.c @@ -0,0 +1,174 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007a720 FUN_14007a720 + * Pseudocode, not original source. */ + +void FUN_14007a720(longlong *param_1,undefined8 param_2,undefined8 param_3,ulonglong param_4) + +{ + longlong *plVar1; + undefined8 *puVar2; + longlong lVar3; + longlong *plVar4; + undefined ***pppuVar5; + longlong local_res10 [2]; + longlong *local_res20; + undefined **local_70; + undefined8 local_68; + undefined8 local_60; + undefined8 local_58; + undefined8 local_50; + + *param_1 = (longlong)Proud::CNetClientImpl::vftable; + param_1[0xc] = (longlong)Proud::CNetClientImpl::vftable; + param_1[0xd] = (longlong)Proud::CNetClientImpl::vftable; + plVar4 = param_1 + 0xe; + *plVar4 = (longlong)Proud::CNetClientImpl::vftable; + param_1[0xf] = (longlong)Proud::CNetClientImpl::vftable; + param_1[0x11] = (longlong)Proud::CNetClientImpl::vftable; + param_1[0x12] = (longlong)Proud::CNetClientImpl::vftable; + param_1[0x13] = (longlong)Proud::CNetClientImpl::vftable; + lVar3 = 0; + local_68 = 0; + local_60 = 0; + local_58 = 0; + local_50 = 0; + local_70 = Proud::ByteArray::vftable; + pppuVar5 = &local_70; + (**(code **)(*plVar4 + 0x80))(plVar4,DAT_140155130,pppuVar5,param_4,0xfffffffffffffffe); + FUN_14003b870(&local_70); + FUN_140082b70((longlong)param_1,param_2,pppuVar5,param_4); + if (param_1[0xbb] != 0) { + lVar3 = *(longlong *)(param_1[0xbb] + 0x38); + } + FUN_14002e6e0((int *)(lVar3 + 0x10)); + FUN_140079500((char *)(param_1 + 0xbc)); + local_res10[0] = 0; + plVar4 = local_res10; + FUN_140066470(param_1 + 0x2ae,plVar4); + FUN_140079ca0(param_1 + 700,plVar4,pppuVar5,param_4); + FUN_140079ca0(param_1 + 0x2c0,plVar4,pppuVar5,param_4); + FUN_140072110(param_1 + 0x2e0); + FUN_1400722e0(param_1 + 0x2a6); + FUN_1400722e0(param_1 + 0xdc); + FUN_140073c80((char *)(param_1 + 0x2ca)); + local_res10[1] = 0; + plVar4 = local_res10 + 1; + FUN_1400ad4b0(param_1 + 0x2a4,plVar4); + if ((longlong *)param_1[0x16] != (longlong *)0x0) { + plVar4 = param_1; + FUN_1400642a0((longlong *)param_1[0x16],(longlong)param_1,pppuVar5,param_4); + } + FUN_14002e770(lVar3 + 0x10); + if ((undefined8 *)param_1[0xb] != (undefined8 *)0x0) { + plVar4 = (longlong *)0x1; + (*(code *)**(undefined8 **)param_1[0xb])(); + } + param_1[0xb] = 0; + FUN_140085260(param_1 + 0x307); + FUN_140081fe0(param_1 + 0x303); + FUN_140085260(param_1 + 0x2fe); + FUN_140081fe0(param_1 + 0x2fa); + FUN_140072380(param_1 + 0x2f6,plVar4,pppuVar5,param_4); + if ((undefined8 *)param_1[0x2f6] != (undefined8 *)0x0) { + plVar4 = (longlong *)0x1; + (*(code *)**(undefined8 **)param_1[0x2f6])(); + } + FUN_1400757f0((char *)(param_1 + 0x2e4)); + FUN_140072110(param_1 + 0x2e0); + if ((undefined8 *)param_1[0x2e0] != (undefined8 *)0x0) { + plVar4 = (longlong *)0x1; + (*(code *)**(undefined8 **)param_1[0x2e0])(); + } + FUN_1400757f0((char *)(param_1 + 0x2d5)); + FUN_1400757f0((char *)(param_1 + 0x2ca)); + FUN_140079ca0(param_1 + 0x2c0,plVar4,pppuVar5,param_4); + if ((undefined8 *)param_1[0x2c0] != (undefined8 *)0x0) { + plVar4 = (longlong *)0x1; + (*(code *)**(undefined8 **)param_1[0x2c0])(); + } + FUN_140079ca0(param_1 + 700,plVar4,pppuVar5,param_4); + if ((undefined8 *)param_1[700] != (undefined8 *)0x0) { + plVar4 = (longlong *)0x1; + (*(code *)**(undefined8 **)param_1[700])(); + } + if ((param_1[699] != 0) && + (*(longlong *)(param_1[699] + 8) = *(longlong *)(param_1[699] + 8) + -1, + *(longlong *)(param_1[699] + 8) == 0)) { + plVar1 = (longlong *)param_1[699]; + puVar2 = (undefined8 *)*plVar1; + if (puVar2 != (undefined8 *)0x0) { + plVar4 = (longlong *)0x1; + (**(code **)*puVar2)(); + } + FUN_1400302f0(plVar1); + } + local_res20 = param_1 + 0x2b1; + FUN_14003b870(param_1 + 0x2b5); + FUN_140003240(param_1 + 0x2b1,plVar4,pppuVar5,param_4); + if ((param_1[0x2ae] != 0) && + (*(longlong *)(param_1[0x2ae] + 8) = *(longlong *)(param_1[0x2ae] + 8) + -1, + *(longlong *)(param_1[0x2ae] + 8) == 0)) { + puVar2 = (undefined8 *)param_1[0x2ae]; + operator_delete((void *)*puVar2); + FUN_1400302f0(puVar2); + } + param_1[0x2ac] = 0; + param_1[0x2ab] = (longlong)Proud::IP2PGroupMember::vftable; + param_1[0x2aa] = (longlong)Proud::ISendDest_C::vftable; + FUN_1400722e0(param_1 + 0x2a6); + if ((undefined8 *)param_1[0x2a6] != (undefined8 *)0x0) { + plVar4 = (longlong *)0x1; + (*(code *)**(undefined8 **)param_1[0x2a6])(); + } + if ((param_1[0x2a4] != 0) && + (*(longlong *)(param_1[0x2a4] + 8) = *(longlong *)(param_1[0x2a4] + 8) + -1, + *(longlong *)(param_1[0x2a4] + 8) == 0)) { + plVar1 = (longlong *)param_1[0x2a4]; + puVar2 = (undefined8 *)*plVar1; + if (puVar2 != (undefined8 *)0x0) { + plVar4 = (longlong *)0x1; + (**(code **)*puVar2)(); + } + FUN_1400302f0(plVar1); + } + FUN_140039bf0(param_1 + 0x161,plVar4,pppuVar5,param_4); + FUN_14003b870(param_1 + 0x15b); + FUN_1400722e0(param_1 + 0xdc); + if ((undefined8 *)param_1[0xdc] != (undefined8 *)0x0) { + plVar4 = (longlong *)0x1; + (*(code *)**(undefined8 **)param_1[0xdc])(); + } + FUN_140079860((char *)(param_1 + 0xbc)); + FUN_140066060(param_1 + 0xbb,plVar4,pppuVar5,param_4); + if ((param_1[0xba] != 0) && + (*(longlong *)(param_1[0xba] + 8) = *(longlong *)(param_1[0xba] + 8) + -1, + *(longlong *)(param_1[0xba] + 8) == 0)) { + puVar2 = (undefined8 *)param_1[0xba]; + plVar1 = (longlong *)*puVar2; + if (plVar1 != (longlong *)0x0) { + FUN_1400a4dc0(plVar1,plVar4,(ulonglong)pppuVar5,param_4); + operator_delete(plVar1); + } + FUN_1400302f0(puVar2); + } + FUN_14002e7a0((undefined4 *)(param_1 + 0xa3),plVar4,pppuVar5,param_4); + if ((undefined8 *)param_1[0x9c] != (undefined8 *)0x0) { + plVar4 = (longlong *)0x1; + (*(code *)**(undefined8 **)param_1[0x9c])(); + } + FUN_14003b870(param_1 + 0x95); + param_1[0x13] = (longlong)Proud::IVizAgentDg::vftable; + if ((longlong *)param_1[0x16] != (longlong *)0x0) { + plVar4 = param_1; + FUN_1400642a0((longlong *)param_1[0x16],(longlong)param_1,pppuVar5,param_4); + } + param_1[0x12] = (longlong)Proud::IUdpPacketFragBoardDg::vftable; + param_1[0x11] = (longlong)Proud::IUdpPacketDefragBoardDg::vftable; + param_1[0xf] = (longlong)Proud::IFastSocketDelegate::vftable; + param_1[0xe] = (longlong)Proud::IRmiHost::vftable; + param_1[0xd] = (longlong)Proud::IP2PGroupMember::vftable; + param_1[0xc] = (longlong)Proud::ISendDest_C::vftable; + FUN_140082810(param_1,plVar4,pppuVar5,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ac70.c b/decomp/Agent_Release_x64/full/functions/0x14007ac70.c new file mode 100644 index 00000000..04151523 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ac70.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ac70 FUN_14007ac70 + * Pseudocode, not original source. */ + +undefined8 FUN_14007ac70(longlong param_1) + +{ + return *(undefined8 *)(param_1 + 0x480); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ac80.c b/decomp/Agent_Release_x64/full/functions/0x14007ac80.c new file mode 100644 index 00000000..6a449603 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ac80.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ac80 FUN_14007ac80 + * Pseudocode, not original source. */ + +undefined4 FUN_14007ac80(longlong param_1) + +{ + return *(undefined4 *)(param_1 + 0x1518); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ac90.c b/decomp/Agent_Release_x64/full/functions/0x14007ac90.c new file mode 100644 index 00000000..31292248 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ac90.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ac90 FUN_14007ac90 + * Pseudocode, not original source. */ + +undefined8 FUN_14007ac90(longlong param_1) + +{ + return *(undefined8 *)(param_1 + 0x488); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007acc0.c b/decomp/Agent_Release_x64/full/functions/0x14007acc0.c new file mode 100644 index 00000000..2f5a9274 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007acc0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007acc0 FUN_14007acc0 + * Pseudocode, not original source. */ + +void FUN_14007acc0(longlong param_1,undefined8 param_2,ulonglong param_3,longlong param_4, + undefined8 param_5,int param_6) + +{ + FUN_140082fd0((longlong *)(param_1 + -0x70),param_2,param_3,param_4,param_5,param_6); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007acf0.c b/decomp/Agent_Release_x64/full/functions/0x14007acf0.c new file mode 100644 index 00000000..47ce015e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007acf0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007acf0 FUN_14007acf0 + * Pseudocode, not original source. */ + +longlong FUN_14007acf0(longlong param_1) + +{ + return param_1 + -0x98; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ad00.c b/decomp/Agent_Release_x64/full/functions/0x14007ad00.c new file mode 100644 index 00000000..f09a9ddb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ad00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ad00 FUN_14007ad00 + * Pseudocode, not original source. */ + +void FUN_14007ad00(longlong param_1,ulonglong param_2,undefined8 param_3,ulonglong param_4) + +{ + FUN_14007dc70((longlong *)(param_1 + -0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ad10.c b/decomp/Agent_Release_x64/full/functions/0x14007ad10.c new file mode 100644 index 00000000..a9eee336 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ad10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ad10 FUN_14007ad10 + * Pseudocode, not original source. */ + +void FUN_14007ad10(longlong param_1,longlong *param_2,undefined8 param_3,longlong param_4) + +{ + thunk_FUN_140082e10((longlong *)(param_1 + -0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ad20.c b/decomp/Agent_Release_x64/full/functions/0x14007ad20.c new file mode 100644 index 00000000..98da210c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ad20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ad20 FUN_14007ad20 + * Pseudocode, not original source. */ + +void FUN_14007ad20(longlong param_1) + +{ + FUN_140064230(param_1 + -0x88); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ad30.c b/decomp/Agent_Release_x64/full/functions/0x14007ad30.c new file mode 100644 index 00000000..16fdfefe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ad30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ad30 FUN_14007ad30 + * Pseudocode, not original source. */ + +void FUN_14007ad30(longlong param_1,ulonglong param_2,undefined8 param_3,ulonglong param_4) + +{ + FUN_14007dc70((longlong *)(param_1 + -0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ad40.c b/decomp/Agent_Release_x64/full/functions/0x14007ad40.c new file mode 100644 index 00000000..b8883974 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ad40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ad40 FUN_14007ad40 + * Pseudocode, not original source. */ + +void FUN_14007ad40(longlong param_1,ulonglong param_2,undefined8 param_3,ulonglong param_4) + +{ + FUN_14007dc70((longlong *)(param_1 + -0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ad50.c b/decomp/Agent_Release_x64/full/functions/0x14007ad50.c new file mode 100644 index 00000000..53f8ca4c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ad50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ad50 FUN_14007ad50 + * Pseudocode, not original source. */ + +void FUN_14007ad50(longlong param_1,longlong param_2,undefined8 param_3,longlong param_4) + +{ + thunk_FUN_1400828c0((longlong *)(param_1 + -0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ad60.c b/decomp/Agent_Release_x64/full/functions/0x14007ad60.c new file mode 100644 index 00000000..b8fecd0a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ad60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ad60 FUN_14007ad60 + * Pseudocode, not original source. */ + +void FUN_14007ad60(longlong param_1) + +{ + FUN_140064230(param_1 + -0x70); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ad70.c b/decomp/Agent_Release_x64/full/functions/0x14007ad70.c new file mode 100644 index 00000000..e0d4e92d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ad70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ad70 FUN_14007ad70 + * Pseudocode, not original source. */ + +void FUN_14007ad70(longlong param_1,ulonglong param_2,undefined8 param_3,ulonglong param_4) + +{ + FUN_14007dc70((longlong *)(param_1 + -0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ad80.c b/decomp/Agent_Release_x64/full/functions/0x14007ad80.c new file mode 100644 index 00000000..c10a1bff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ad80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ad80 FUN_14007ad80 + * Pseudocode, not original source. */ + +void FUN_14007ad80(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140082680(param_1 + -0x70,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ad90.c b/decomp/Agent_Release_x64/full/functions/0x14007ad90.c new file mode 100644 index 00000000..18217e71 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ad90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ad90 FUN_14007ad90 + * Pseudocode, not original source. */ + +void FUN_14007ad90(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140082c10((longlong *)(param_1 + -0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ada0.c b/decomp/Agent_Release_x64/full/functions/0x14007ada0.c new file mode 100644 index 00000000..6e0b870f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ada0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ada0 FUN_14007ada0 + * Pseudocode, not original source. */ + +void FUN_14007ada0(longlong param_1,ulonglong param_2,undefined8 param_3,ulonglong param_4) + +{ + FUN_14007dc70((longlong *)(param_1 + -0x68),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007adb0.c b/decomp/Agent_Release_x64/full/functions/0x14007adb0.c new file mode 100644 index 00000000..6bbebcd5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007adb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007adb0 FUN_14007adb0 + * Pseudocode, not original source. */ + +void FUN_14007adb0(longlong param_1,ulonglong param_2,undefined8 param_3,ulonglong param_4) + +{ + FUN_14007dc70((longlong *)(param_1 + -0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007adc0.c b/decomp/Agent_Release_x64/full/functions/0x14007adc0.c new file mode 100644 index 00000000..34467672 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007adc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007adc0 FUN_14007adc0 + * Pseudocode, not original source. */ + +void FUN_14007adc0(longlong param_1,longlong param_2) + +{ + thunk_FUN_140082a20(param_1 + -0x70,param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007add0.c b/decomp/Agent_Release_x64/full/functions/0x14007add0.c new file mode 100644 index 00000000..1ef390cd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007add0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007add0 FUN_14007add0 + * Pseudocode, not original source. */ + +void FUN_14007add0(void) + +{ + thunk_FUN_140093300(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ade0.c b/decomp/Agent_Release_x64/full/functions/0x14007ade0.c new file mode 100644 index 00000000..d299c426 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ade0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ade0 FUN_14007ade0 + * Pseudocode, not original source. */ + +void FUN_14007ade0(longlong param_1) + +{ + FUN_14007ac80(param_1 + -8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007adf0.c b/decomp/Agent_Release_x64/full/functions/0x14007adf0.c new file mode 100644 index 00000000..43a7d6f4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007adf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007adf0 FUN_14007adf0 + * Pseudocode, not original source. */ + +void FUN_14007adf0(longlong param_1,ulonglong param_2,undefined8 param_3,ulonglong param_4) + +{ + FUN_14007dc70((longlong *)(param_1 + -0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ae00.c b/decomp/Agent_Release_x64/full/functions/0x14007ae00.c new file mode 100644 index 00000000..d5b4735e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ae00.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ae00 FUN_14007ae00 + * Pseudocode, not original source. */ + +undefined8 FUN_14007ae00(longlong param_1) + +{ + return *(undefined8 *)(param_1 + 0x458); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ae10.c b/decomp/Agent_Release_x64/full/functions/0x14007ae10.c new file mode 100644 index 00000000..6bdf3a3c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ae10.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ae10 FUN_14007ae10 + * Pseudocode, not original source. */ + +undefined8 FUN_14007ae10(longlong param_1) + +{ + if (*(undefined8 **)(param_1 + 0x558) != (undefined8 *)0x0) { + return **(undefined8 **)(param_1 + 0x558); + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ae30.c b/decomp/Agent_Release_x64/full/functions/0x14007ae30.c new file mode 100644 index 00000000..04877f9a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ae30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ae30 FUN_14007ae30 + * Pseudocode, not original source. */ + +void FUN_14007ae30(longlong param_1) + +{ + FUN_1400649d0(param_1 + -0x18); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ae40.c b/decomp/Agent_Release_x64/full/functions/0x14007ae40.c new file mode 100644 index 00000000..749819b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ae40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ae40 FUN_14007ae40 + * Pseudocode, not original source. */ + +void FUN_14007ae40(longlong param_1) + +{ + FUN_140064d40(param_1 + -0x70); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ae50.c b/decomp/Agent_Release_x64/full/functions/0x14007ae50.c new file mode 100644 index 00000000..84731764 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ae50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ae50 FUN_14007ae50 + * Pseudocode, not original source. */ + +void FUN_14007ae50(longlong param_1) + +{ + FUN_1400649d0(param_1 + -0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ae60.c b/decomp/Agent_Release_x64/full/functions/0x14007ae60.c new file mode 100644 index 00000000..e667986b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ae60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ae60 FUN_14007ae60 + * Pseudocode, not original source. */ + +void FUN_14007ae60(longlong param_1) + +{ + FUN_140064a50((longlong *)(param_1 + -0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ae70.c b/decomp/Agent_Release_x64/full/functions/0x14007ae70.c new file mode 100644 index 00000000..3e657160 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ae70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ae70 FUN_14007ae70 + * Pseudocode, not original source. */ + +void FUN_14007ae70(longlong param_1) + +{ + FUN_1400649d0(param_1 + -8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ae80.c b/decomp/Agent_Release_x64/full/functions/0x14007ae80.c new file mode 100644 index 00000000..3372bfdf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ae80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ae80 FUN_14007ae80 + * Pseudocode, not original source. */ + +void FUN_14007ae80(longlong param_1) + +{ + FUN_1400649d0(param_1 + -0x28); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ae90.c b/decomp/Agent_Release_x64/full/functions/0x14007ae90.c new file mode 100644 index 00000000..7585aa6d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ae90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ae90 FUN_14007ae90 + * Pseudocode, not original source. */ + +void FUN_14007ae90(longlong param_1,longlong *param_2,int *param_3,uint *param_4,uint param_5) + +{ + FUN_140064a20((longlong *)(param_1 + -0x70),param_2,param_3,param_4,param_5); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007aea0.c b/decomp/Agent_Release_x64/full/functions/0x14007aea0.c new file mode 100644 index 00000000..3fdf3f3e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007aea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007aea0 FUN_14007aea0 + * Pseudocode, not original source. */ + +void FUN_14007aea0(longlong param_1,short *param_2,uint param_3,longlong *param_4) + +{ + FUN_140065070(param_1 + -0x70,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007aeb0.c b/decomp/Agent_Release_x64/full/functions/0x14007aeb0.c new file mode 100644 index 00000000..92b5fb7d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007aeb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007aeb0 FUN_14007aeb0 + * Pseudocode, not original source. */ + +void FUN_14007aeb0(longlong param_1) + +{ + FUN_140064a50((longlong *)(param_1 + -0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007aec0.c b/decomp/Agent_Release_x64/full/functions/0x14007aec0.c new file mode 100644 index 00000000..dc6dcbe2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007aec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007aec0 FUN_14007aec0 + * Pseudocode, not original source. */ + +void FUN_14007aec0(longlong param_1,undefined8 param_2,undefined8 param_3,short *param_4) + +{ + FUN_14006fb10(param_1 + -0x70,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007aed0.c b/decomp/Agent_Release_x64/full/functions/0x14007aed0.c new file mode 100644 index 00000000..94c4383b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007aed0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007aed0 FUN_14007aed0 + * Pseudocode, not original source. */ + +void FUN_14007aed0(longlong param_1,undefined8 *param_2,undefined8 param_3,longlong param_4) + +{ + FUN_14004cf70(param_1 + -0x70,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007aee0.c b/decomp/Agent_Release_x64/full/functions/0x14007aee0.c new file mode 100644 index 00000000..8897a570 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007aee0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007aee0 FUN_14007aee0 + * Pseudocode, not original source. */ + +void FUN_14007aee0(longlong *param_1,ulonglong *param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong *puVar1; + ulonglong local_res18 [2]; + + local_res18[0] = 0; + FUN_14003bff0(local_res18,param_2,param_3,param_4); + puVar1 = local_res18; + FUN_140083340(param_1,(longlong *)puVar1,param_3,param_4); + FUN_14002b570((longlong *)param_2,puVar1,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007af40.c b/decomp/Agent_Release_x64/full/functions/0x14007af40.c new file mode 100644 index 00000000..2863fc88 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007af40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007af40 FUN_14007af40 + * Pseudocode, not original source. */ + +void FUN_14007af40(longlong param_1,ulonglong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14007aee0((longlong *)(param_1 + -0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007af50.c b/decomp/Agent_Release_x64/full/functions/0x14007af50.c new file mode 100644 index 00000000..58571fb9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007af50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007af50 FUN_14007af50 + * Pseudocode, not original source. */ + +void FUN_14007af50(longlong param_1,uint param_2,uint *param_3,longlong *param_4) + +{ + FUN_1400792f0((longlong *)(param_1 + -0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007af60.c b/decomp/Agent_Release_x64/full/functions/0x14007af60.c new file mode 100644 index 00000000..d0214b36 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007af60.c @@ -0,0 +1,55 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007af60 FUN_14007af60 + * Pseudocode, not original source. */ + +void FUN_14007af60(longlong *param_1,undefined4 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + int *piVar1; + undefined8 *puVar2; + undefined4 *puVar3; + SIZE_T SVar4; + undefined8 uVar5; + undefined4 local_140 [2]; + undefined4 local_138 [2]; + longlong local_130; + longlong local_128; + int local_11c; + undefined4 local_110; + undefined **local_108; + undefined4 local_100; + undefined2 local_fc; + undefined1 local_f8; + undefined4 local_f0 [58]; + + piVar1 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar1); + local_140[0] = 0; + FUN_1400806d0(local_138); + local_108 = Proud::AddrPort::vftable; + local_f8 = 0; + local_110 = 0; + local_100 = DAT_1401553d0; + local_fc = DAT_1401553d4; + FUN_1400589c0(local_f0,param_2,param_3,param_4); + uVar5 = 0; + SVar4 = param_1[0x2be]; + puVar3 = local_140; + puVar2 = FUN_140079d50(param_1 + 700,puVar3,SVar4,0); + if ((undefined8 *)param_1[0x2be] == (undefined8 *)0x0) { + param_1[0x2bd] = (longlong)puVar2; + } + else { + *(undefined8 *)param_1[0x2be] = puVar2; + } + param_1[0x2be] = (longlong)puVar2; + FUN_140056f10((longlong)local_f0,puVar3,SVar4,uVar5); + FUN_140095270(&local_130); + if ((local_128 != 0) && (local_11c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007b090.c b/decomp/Agent_Release_x64/full/functions/0x14007b090.c new file mode 100644 index 00000000..3510258f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007b090.c @@ -0,0 +1,97 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007b090 FUN_14007b090 + * Pseudocode, not original source. */ + +void FUN_14007b090(longlong *param_1,ulonglong *param_2,SIZE_T param_3,undefined8 param_4) + +{ + ulonglong uVar1; + longlong lVar2; + longlong lVar3; + undefined4 *puVar4; + undefined4 local_118 [2]; + ulonglong local_110 [2]; + longlong local_100 [2]; + undefined **local_f0; + undefined8 local_e8; + undefined8 local_e0; + undefined8 local_d8; + undefined8 local_d0; + longlong local_c8; + longlong local_c0; + ulonglong local_b8; + undefined4 local_a8; + undefined **local_a0; + undefined8 local_98; + undefined8 local_90; + undefined8 local_88; + undefined8 local_80; + undefined **local_70; + undefined4 local_68; + undefined2 local_64; + undefined **local_58; + undefined8 local_50; + undefined8 local_48; + undefined8 local_40; + undefined8 local_38; + undefined8 local_28; + + local_28 = 0xfffffffffffffffe; + lVar3 = 0; + local_110[0] = 0; + local_100[0] = 0; + local_100[1] = 0; + local_e8 = 0; + local_e0 = 0; + local_d8 = 0; + local_d0 = 0; + local_f0 = Proud::ByteArray::vftable; + local_b8 = 0; + local_c0 = 0; + local_c8 = 0; + local_98 = 0; + local_90 = 0; + local_88 = 0; + local_80 = 0; + local_a0 = Proud::ByteArray::vftable; + local_70 = Proud::AddrPort::vftable; + local_68 = 0; + local_64 = 0; + local_50 = 0; + local_48 = 0; + local_40 = 0; + local_38 = 0; + local_58 = Proud::ByteArray::vftable; + local_118[0] = 0x14; + FUN_14003bff0(local_110,param_2,param_3,param_4); + uVar1 = *param_2; + lVar2 = lVar3; + if (uVar1 != 0) { + lVar2 = *(longlong *)(uVar1 + 0x38); + } + local_a8 = *(undefined4 *)(lVar2 + 0xc); + if (uVar1 != 0) { + lVar3 = *(longlong *)(uVar1 + 0x38); + } + local_68 = *(undefined4 *)(lVar3 + 0x20); + local_64 = *(undefined2 *)(lVar3 + 0x24); + puVar4 = local_118; + FUN_14007af60(param_1,puVar4,param_3,param_4); + FUN_14003b870(&local_58); + FUN_14003b870(&local_a0); + FUN_140095270(&local_c8); + if (local_c0 != 0) { + if ((longlong)local_b8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_b8 = local_b8 & 0xffffffff00000000; + } + FUN_14003b870(&local_f0); + FUN_140056b00(local_100 + 1,puVar4,param_3,param_4); + FUN_140056a80(local_100,puVar4,param_3,param_4); + FUN_14002b570((longlong *)local_110,puVar4,param_3,param_4); + FUN_14002b570((longlong *)param_2,puVar4,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007b210.c b/decomp/Agent_Release_x64/full/functions/0x14007b210.c new file mode 100644 index 00000000..c4d428bb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007b210.c @@ -0,0 +1,97 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007b210 FUN_14007b210 + * Pseudocode, not original source. */ + +void FUN_14007b210(longlong *param_1,ulonglong *param_2,SIZE_T param_3,undefined8 param_4) + +{ + ulonglong uVar1; + longlong lVar2; + longlong lVar3; + undefined4 *puVar4; + undefined4 local_118 [2]; + ulonglong local_110 [2]; + longlong local_100 [2]; + undefined **local_f0; + undefined8 local_e8; + undefined8 local_e0; + undefined8 local_d8; + undefined8 local_d0; + longlong local_c8; + longlong local_c0; + ulonglong local_b8; + undefined4 local_a8; + undefined **local_a0; + undefined8 local_98; + undefined8 local_90; + undefined8 local_88; + undefined8 local_80; + undefined **local_70; + undefined4 local_68; + undefined2 local_64; + undefined **local_58; + undefined8 local_50; + undefined8 local_48; + undefined8 local_40; + undefined8 local_38; + undefined8 local_28; + + local_28 = 0xfffffffffffffffe; + lVar3 = 0; + local_110[0] = 0; + local_100[0] = 0; + local_100[1] = 0; + local_e8 = 0; + local_e0 = 0; + local_d8 = 0; + local_d0 = 0; + local_f0 = Proud::ByteArray::vftable; + local_b8 = 0; + local_c0 = 0; + local_c8 = 0; + local_98 = 0; + local_90 = 0; + local_88 = 0; + local_80 = 0; + local_a0 = Proud::ByteArray::vftable; + local_70 = Proud::AddrPort::vftable; + local_68 = 0; + local_64 = 0; + local_50 = 0; + local_48 = 0; + local_40 = 0; + local_38 = 0; + local_58 = Proud::ByteArray::vftable; + local_118[0] = 0x15; + FUN_14003bff0(local_110,param_2,param_3,param_4); + uVar1 = *param_2; + lVar2 = lVar3; + if (uVar1 != 0) { + lVar2 = *(longlong *)(uVar1 + 0x38); + } + local_a8 = *(undefined4 *)(lVar2 + 0xc); + if (uVar1 != 0) { + lVar3 = *(longlong *)(uVar1 + 0x38); + } + local_68 = *(undefined4 *)(lVar3 + 0x20); + local_64 = *(undefined2 *)(lVar3 + 0x24); + puVar4 = local_118; + FUN_14007af60(param_1,puVar4,param_3,param_4); + FUN_14003b870(&local_58); + FUN_14003b870(&local_a0); + FUN_140095270(&local_c8); + if (local_c0 != 0) { + if ((longlong)local_b8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_b8 = local_b8 & 0xffffffff00000000; + } + FUN_14003b870(&local_f0); + FUN_140056b00(local_100 + 1,puVar4,param_3,param_4); + FUN_140056a80(local_100,puVar4,param_3,param_4); + FUN_14002b570((longlong *)local_110,puVar4,param_3,param_4); + FUN_14002b570((longlong *)param_2,puVar4,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007b390.c b/decomp/Agent_Release_x64/full/functions/0x14007b390.c new file mode 100644 index 00000000..bb8f408b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007b390.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007b390 FUN_14007b390 + * Pseudocode, not original source. */ + +void FUN_14007b390(longlong *param_1,undefined4 *param_2) + +{ + int *piVar1; + undefined8 *puVar2; + SIZE_T SVar3; + undefined8 uVar4; + + piVar1 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar1); + uVar4 = 0; + SVar3 = param_1[0x2c2]; + puVar2 = FUN_140079d50(param_1 + 0x2c0,param_2,SVar3,0); + if ((undefined8 *)param_1[0x2c2] == (undefined8 *)0x0) { + param_1[0x2c1] = (longlong)puVar2; + } + else { + *(undefined8 *)param_1[0x2c2] = puVar2; + } + param_1[0x2c2] = (longlong)puVar2; + FUN_1400802d0(param_2 + 2,0,SVar3,uVar4); + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007b430.c b/decomp/Agent_Release_x64/full/functions/0x14007b430.c new file mode 100644 index 00000000..23d46bf8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007b430.c @@ -0,0 +1,156 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007b430 FUN_14007b430 + * Pseudocode, not original source. */ + +void FUN_14007b430(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong lVar1; + LPVOID pvVar2; + bool bVar3; + int *piVar4; + int *piVar5; + int *piVar6; + undefined4 *puVar7; + undefined8 *puVar8; + undefined4 *puVar9; + undefined4 local_188 [4]; + longlong local_178; + longlong local_170; + int local_164; + int *local_130; + int *local_120; + int *local_118; + undefined8 local_110 [5]; + longlong local_e8; + longlong local_e0; + undefined4 local_d8; + int local_d4; + undefined8 local_c0 [9]; + undefined8 local_78 [7]; + + piVar6 = (int *)(**(code **)(*param_1 + 0x58))(); + FUN_14002e6e0(piVar6); + lVar1 = param_1[0x2c3]; + while( true ) { + if (lVar1 == 0) { + FUN_14002e770((longlong)piVar6); + return; + } + puVar9 = local_188; + puVar7 = FUN_140079c20(param_1 + 0x2c0,puVar9,param_3,param_4); + lVar1 = param_1[0x2be]; + if ((SIZE_T *)param_1[700] == (SIZE_T *)0x0) { + puVar8 = (undefined8 *)FUN_140030280(0x148); + } + else { + param_3 = *(SIZE_T *)param_1[700]; + puVar9 = (undefined4 *)0x148; + puVar8 = (undefined8 *)(**(code **)(param_3 + 8))(); + } + if (puVar8 != (undefined8 *)0x0) { + *(undefined4 *)(puVar8 + 2) = *puVar7; + FUN_140080700((undefined4 *)(puVar8 + 3),puVar7 + 2); + *(undefined4 *)(puVar8 + 8) = puVar7[0xc]; + puVar8[9] = Proud::AddrPort::vftable; + *(undefined4 *)(puVar8 + 10) = puVar7[0x10]; + *(undefined2 *)((longlong)puVar8 + 0x54) = *(undefined2 *)(puVar7 + 0x11); + *(undefined1 *)(puVar8 + 0xb) = *(undefined1 *)(puVar7 + 0x12); + puVar9 = puVar7 + 0x14; + FUN_1400589c0((undefined4 *)(puVar8 + 0xc),puVar9,param_3,param_4); + } + puVar8[1] = lVar1; + *puVar8 = 0; + param_1[0x2bf] = param_1[0x2bf] + 1; + if ((undefined8 *)param_1[0x2be] == (undefined8 *)0x0) { + param_1[0x2bd] = (longlong)puVar8; + } + else { + *(undefined8 *)param_1[0x2be] = puVar8; + } + param_1[0x2be] = (longlong)puVar8; + FUN_14003b870(local_78); + FUN_14003b870(local_c0); + FUN_140095270(&local_e8); + if (local_e0 != 0) { + if (local_d4 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d8 = 0; + } + FUN_14003b870(local_110); + piVar4 = local_118; + if (local_118 != (int *)0x0) { + FUN_14002e6e0(local_118); + bVar3 = true; + *(longlong *)(local_118 + 0x10) = *(longlong *)(local_118 + 0x10) + -1; + if (*(longlong *)(local_118 + 0x10) == 0) { + FUN_14002e770((longlong)piVar4); + piVar5 = local_118; + bVar3 = false; + pvVar2 = *(LPVOID *)(local_118 + 0xe); + if (pvVar2 != (LPVOID)0x0) { + FUN_140043b40((char *)((longlong)pvVar2 + 0x28)); + FUN_1400302f0(pvVar2); + } + FUN_14002e7a0(piVar5,puVar9,param_3,param_4); + FUN_1400302f0(piVar5); + } + if (bVar3) { + FUN_14002e770((longlong)piVar4); + } + } + piVar4 = local_120; + if (local_120 != (int *)0x0) { + FUN_14002e6e0(local_120); + bVar3 = true; + *(longlong *)(local_120 + 0x10) = *(longlong *)(local_120 + 0x10) + -1; + if (*(longlong *)(local_120 + 0x10) == 0) { + FUN_14002e770((longlong)piVar4); + piVar5 = local_120; + bVar3 = false; + pvVar2 = *(LPVOID *)(local_120 + 0xe); + if (pvVar2 != (LPVOID)0x0) { + FUN_140003240((longlong *)((longlong)pvVar2 + 0x98),puVar9,param_3,param_4); + FUN_140043b40((char *)((longlong)pvVar2 + 0x38)); + FUN_1400302f0(pvVar2); + } + FUN_14002e7a0(piVar5,puVar9,param_3,param_4); + FUN_1400302f0(piVar5); + } + if (bVar3) { + FUN_14002e770((longlong)piVar4); + } + } + piVar4 = local_130; + if (local_130 != (int *)0x0) { + FUN_14002e6e0(local_130); + bVar3 = true; + *(longlong *)(local_130 + 0x10) = *(longlong *)(local_130 + 0x10) + -1; + if (*(longlong *)(local_130 + 0x10) == 0) { + FUN_14002e770((longlong)piVar4); + piVar5 = local_130; + bVar3 = false; + pvVar2 = *(LPVOID *)(local_130 + 0xe); + if (pvVar2 != (LPVOID)0x0) { + FUN_140003240((longlong *)((longlong)pvVar2 + 0x58),puVar9,param_3,param_4); + FUN_14003b870((undefined8 *)((longlong)pvVar2 + 0x28)); + FUN_140003240((longlong *)((longlong)pvVar2 + 0x10),puVar9,param_3,param_4); + FUN_1400302f0(pvVar2); + } + FUN_14002e7a0(piVar5,puVar9,param_3,param_4); + FUN_1400302f0(piVar5); + } + if (bVar3) { + FUN_14002e770((longlong)piVar4); + } + } + FUN_140095270(&local_178); + if ((local_170 != 0) && (local_164 < 0)) break; + lVar1 = param_1[0x2c3]; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007b7f0.c b/decomp/Agent_Release_x64/full/functions/0x14007b7f0.c new file mode 100644 index 00000000..0f7cf67d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007b7f0.c @@ -0,0 +1,247 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007b7f0 FUN_14007b7f0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Removing unreachable block (ram,0x00014007bb28) */ +/* WARNING: Removing unreachable block (ram,0x00014007ba29) */ +/* WARNING: Removing unreachable block (ram,0x00014007ba39) */ +/* WARNING: Removing unreachable block (ram,0x00014007bb33) */ +/* WARNING: Removing unreachable block (ram,0x00014007ba4d) */ +/* WARNING: Removing unreachable block (ram,0x00014007ba55) */ +/* WARNING: Removing unreachable block (ram,0x00014007ba5f) */ +/* WARNING: Removing unreachable block (ram,0x00014007bb1d) */ + +void FUN_14007b7f0(longlong param_1,char param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong *plVar1; + int *piVar2; + longlong *plVar3; + longlong *plVar4; + undefined8 *puVar5; + int *piVar6; + double *pdVar7; + longlong lVar8; + longlong *plVar9; + undefined8 uVar10; + longlong lVar11; + double dVar12; + undefined1 auStack_1a8 [40]; + longlong local_180; + longlong *local_178; + longlong local_170 [5]; + int *local_148; + undefined1 local_140; + undefined8 local_138; + undefined4 local_100; + uint uStack_fc; + undefined4 local_f8; + uint uStack_f4; + double local_f0 [3]; + double local_d8 [3]; + undefined4 local_c0 [14]; + undefined *local_88 [4]; + undefined8 local_68 [6]; + ulonglong local_38; + + local_138 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_1a8; + (**(code **)(*(longlong *)(param_1 + 0x78) + 0x10))(); + lVar11 = 0; + local_170[3] = 0; + FUN_140066470((longlong *)(param_1 + 0x1570),local_170 + 3); + if ((*(longlong **)(param_1 + 0x15d8) != (longlong *)0x0) && + (lVar8 = **(longlong **)(param_1 + 0x15d8), lVar8 != 0)) { + if (*(char *)(lVar8 + 0x40) == '\0') { + lVar8 = lVar11; + if (*(longlong **)(param_1 + 0x15d8) != (longlong *)0x0) { + lVar8 = **(longlong **)(param_1 + 0x15d8); + } + if (*(char *)(lVar8 + 0x80) == '\0') goto LAB_14007b8cb; + } + local_170[0] = 0; + FUN_1400ad4b0(local_170,(longlong *)(param_1 + 0x15d8)); + lVar8 = lVar11; + if (*(longlong *)(param_1 + 0x5d8) != 0) { + lVar8 = *(longlong *)(*(longlong *)(param_1 + 0x5d8) + 0x38); + } + FUN_1400a9110(lVar8,local_170); + } +LAB_14007b8cb: + if ((*(longlong **)(param_1 + 0x1520) != (longlong *)0x0) && + (lVar8 = **(longlong **)(param_1 + 0x1520), lVar8 != 0)) { + if (*(char *)(lVar8 + 0x40) == '\0') { + lVar8 = lVar11; + if (*(longlong **)(param_1 + 0x1520) != (longlong *)0x0) { + lVar8 = **(longlong **)(param_1 + 0x1520); + } + if (*(char *)(lVar8 + 0x80) == '\0') goto LAB_14007b93f; + } + local_170[1] = 0; + FUN_1400ad4b0(local_170 + 1,(longlong *)(param_1 + 0x1520)); + lVar8 = lVar11; + if (*(longlong *)(param_1 + 0x5d8) != 0) { + lVar8 = *(longlong *)(*(longlong *)(param_1 + 0x5d8) + 0x38); + } + FUN_1400a9110(lVar8,local_170 + 1); + } +LAB_14007b93f: + local_170[4] = 0; + FUN_1400ad4b0((longlong *)(param_1 + 0x15d8),local_170 + 4); + local_170[2] = 0; + plVar9 = local_170 + 2; + FUN_1400ad4b0((longlong *)(param_1 + 0x1520),plVar9); + FUN_1400768c0(param_1); + plVar3 = *(longlong **)(param_1 + 0x1708); + do { + if (plVar3 == (longlong *)0x0) { + FUN_140072110((longlong *)(param_1 + 0x1700)); + if (param_2 != '\0') { + FUN_140079ca0((longlong *)(param_1 + 0x15e0),plVar9,param_3,param_4); + } + FUN_140090fa0(param_1 + 0xd8); + uVar10 = 0; + FUN_14001bc70(param_1 + 0x4a8,0,param_3); + *(undefined4 *)(param_1 + 0x4d8) = 0; + *(undefined1 *)(param_1 + 0x4e8) = 0; + *(undefined4 *)(param_1 + 0x4ec) = 0; + *(undefined8 *)(param_1 + 0x4f0) = 0; + *(undefined8 *)(param_1 + 0x4f8) = 0; + *(undefined8 *)(param_1 + 0x500) = 0; + *(undefined8 *)(param_1 + 0x5c8) = 0; + FUN_140079500((char *)(param_1 + 0x5e0)); + dVar12 = FUN_1400303b0(); + *(double *)(param_1 + 0x640) = dVar12; + *(undefined8 *)(param_1 + 0x648) = DAT_140155090; + *(undefined8 *)(param_1 + 0x510) = DAT_140155100; + *(undefined1 *)(param_1 + 0x650) = 0; + uStack_fc = uStack_fc & 0xffffff00; + local_100 = 0; + local_f8 = 0; + *(undefined8 *)(param_1 + 0x658) = 0; + *(undefined8 *)(param_1 + 0x660) = 0; + *(undefined8 *)(param_1 + 0x668) = 0; + *(undefined8 *)(param_1 + 0x670) = 0; + *(undefined8 *)(param_1 + 0x678) = 0; + *(undefined8 *)(param_1 + 0x680) = 0; + *(ulonglong *)(param_1 + 0x688) = (ulonglong)uStack_fc << 0x20; + *(ulonglong *)(param_1 + 0x690) = (ulonglong)uStack_f4 << 0x20; + *(undefined4 *)(param_1 + 0x698) = DAT_140155110; + puVar5 = (undefined8 *)FUN_1400a28f0(local_c0); + *(undefined8 *)(param_1 + 0x6a0) = *puVar5; + *(undefined8 *)(param_1 + 0x6a8) = puVar5[1]; + *(undefined8 *)(param_1 + 0x6b0) = puVar5[2]; + *(undefined8 *)(param_1 + 0x6b8) = puVar5[3]; + *(undefined8 *)(param_1 + 0x6c0) = puVar5[4]; + *(undefined8 *)(param_1 + 0x6c8) = puVar5[5]; + *(undefined4 *)(param_1 + 0x6d0) = 0; + *(undefined4 *)(param_1 + 0x6d4) = 0; + *(undefined4 *)(param_1 + 0x6d8) = 0; + *(undefined4 *)(param_1 + 0x6dc) = 0; + FUN_1400722e0((longlong *)(param_1 + 0x6e0)); + *(undefined4 *)(param_1 + 0x700) = 0; + *(undefined1 *)(param_1 + 0x1528) = 0; + FUN_1400722e0((longlong *)(param_1 + 0x1530)); + *(undefined4 *)(param_1 + 0x1578) = 0; + plVar9 = FUN_14003b600(local_88,uVar10,param_3,param_4); + FUN_1400669c0((longlong *)(param_1 + 0x1588),plVar9,param_3,param_4); + puVar5 = local_68; + FUN_14003b870(puVar5); + if (((local_88[0] != (undefined *)0x0) && (local_88[0] != PTR_DAT_140155010)) && + (local_88[0] + -8 != (undefined *)0x0)) { + piVar6 = (int *)FUN_140030200(puVar5,plVar9,param_3,param_4); + local_148 = piVar6; + FUN_14002e6e0(piVar6); + local_140 = 1; + piVar2 = (int *)(local_88[0] + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(local_88[0] + -8); + } + FUN_14002e770((longlong)piVar6); + local_140 = 0; + } + local_88[0] = PTR_DAT_140155010; + FUN_140079ca0((longlong *)(param_1 + 0x1600),plVar9,param_3,param_4); + FUN_14003a3e0((char *)(param_1 + 0x1620)); + *(undefined8 *)(param_1 + 0x1648) = 0; + FUN_140073c80((char *)(param_1 + 0x1650)); + FUN_140073c80((char *)(param_1 + 0x16a8)); + pdVar7 = FUN_1400b7b30(local_f0,DAT_140155180); + *(double *)(param_1 + 0x1778) = *pdVar7; + *(double *)(param_1 + 0x1780) = pdVar7[1]; + *(double *)(param_1 + 0x1788) = pdVar7[2]; + pdVar7 = FUN_1400b7b30(local_d8,DAT_1401551a0); + *(double *)(param_1 + 0x1878) = *pdVar7; + *(double *)(param_1 + 0x1880) = pdVar7[1]; + *(double *)(param_1 + 0x1888) = pdVar7[2]; + *(undefined8 *)(param_1 + 0x1798) = 0x3ff0000000000000; + *(undefined8 *)(param_1 + 0x1890) = 0; + *(undefined8 *)(param_1 + 0x18c0) = 0; + *(undefined2 *)(param_1 + 0x18c8) = 0; + *(undefined1 *)(param_1 + 0x18ca) = 0; + *(undefined8 *)(param_1 + 0x1870) = 0; + *(undefined8 *)(param_1 + 0x17a0) = 0; + *(undefined8 *)(param_1 + 0x17a8) = 0; + *(undefined8 *)(param_1 + 0xd0) = 0; + return; + } + local_178 = (longlong *)0x0; + if (plVar3[2] != 0) { + *(longlong *)(plVar3[2] + 8) = *(longlong *)(plVar3[2] + 8) + 1; + local_178 = (longlong *)plVar3[2]; + } + lVar8 = lVar11; + if (local_178 != (longlong *)0x0) { + lVar8 = *local_178; + } + if (*(char *)(lVar8 + 0x40) == '\0') { + lVar8 = lVar11; + if (local_178 != (longlong *)0x0) { + lVar8 = *local_178; + } + if (*(char *)(lVar8 + 0x80) != '\0') goto code_r0x00014007b9ff; + } + else { +code_r0x00014007b9ff: + local_180 = 0; + if (plVar3[2] != 0) { + *(longlong *)(plVar3[2] + 8) = *(longlong *)(plVar3[2] + 8) + 1; + local_180 = plVar3[2]; + } + lVar8 = lVar11; + if (*(longlong *)(param_1 + 0x5d8) != 0) { + lVar8 = *(longlong *)(*(longlong *)(param_1 + 0x5d8) + 0x38); + } + FUN_1400a9110(lVar8,&local_180); + } + if (plVar3 == *(longlong **)(param_1 + 0x1708)) { + *(longlong *)(param_1 + 0x1708) = *plVar3; + } + else { + *(longlong *)plVar3[1] = *plVar3; + } + if (plVar3 == *(longlong **)(param_1 + 0x1710)) { + *(longlong *)(param_1 + 0x1710) = plVar3[1]; + } + else { + *(longlong *)(*plVar3 + 8) = plVar3[1]; + } + plVar9 = plVar3; + FUN_1400702d0((longlong *)(param_1 + 0x1700),plVar3); + plVar4 = local_178; + if (local_178 != (longlong *)0x0) { + plVar1 = local_178 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + if ((undefined8 *)*local_178 != (undefined8 *)0x0) { + plVar9 = (longlong *)0x1; + (*(code *)**(undefined8 **)*local_178)(); + } + FUN_1400302f0(plVar4); + } + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007bed0.c b/decomp/Agent_Release_x64/full/functions/0x14007bed0.c new file mode 100644 index 00000000..dec4fc0f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007bed0.c @@ -0,0 +1,436 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007bed0 FUN_14007bed0 + * Pseudocode, not original source. */ + +void FUN_14007bed0(longlong *param_1,uint *param_2,uint *param_3,longlong param_4,undefined8 param_5 + ,uint *param_6,uint *param_7,longlong param_8,longlong param_9,char *param_10, + ushort *param_11) + +{ + uint uVar1; + int iVar2; + longlong lVar3; + void *pvVar4; + undefined8 *puVar5; + longlong *plVar6; + undefined8 uVar7; + uint *puVar8; + uint *puVar9; + uint *puVar10; + undefined4 *puVar11; + size_t sVar12; + ulonglong uVar13; + uint **ppuVar14; + longlong **pplVar15; + undefined *puVar16; + longlong lVar17; + uint *puVar18; + undefined1 local_res8 [8]; + uint *local_168; + uint *local_160; + uint *local_158; + undefined8 *local_150; + longlong *local_148; + longlong *local_140; + longlong *local_138 [2]; + undefined4 local_128 [2]; + undefined8 local_120; + undefined8 local_110; + undefined8 local_108; + undefined **local_100; + undefined8 local_f8; + undefined8 local_f0; + undefined8 local_e8; + undefined8 local_e0; + undefined8 local_d8; + undefined8 local_d0; + undefined8 local_c8; + uint local_c0; + uint local_bc; + uint local_b8; + undefined **local_b0; + undefined8 local_a8; + uint *local_a0; + undefined8 local_98; + undefined8 local_90; + undefined4 local_88; + undefined **local_80; + undefined4 local_78; + undefined2 local_74; + undefined **local_68; + undefined8 local_60; + undefined8 local_58; + undefined8 local_50; + undefined8 local_48; + undefined8 local_38; + + local_38 = 0xfffffffffffffffe; + lVar17 = param_4; + (**(code **)(param_1[0xf] + 0x10))(); + if ((((longlong *)param_1[0xba] != (longlong *)0x0) && + (lVar3 = *(longlong *)param_1[0xba], lVar3 != 0)) && (*(int *)(lVar3 + 0x100) == 3)) { + FUN_140077110(param_1,(longlong *)&local_160,*param_2); + puVar18 = (uint *)0x0; + if ((local_160 == (uint *)0x0) || (*(longlong *)local_160 == 0)) { + plVar6 = FUN_140079a80(param_1,(longlong *)&local_150,*param_2); + puVar9 = (uint *)*plVar6; + if (puVar9 != local_160) { + if (puVar9 != (uint *)0x0) { + *(longlong *)(*plVar6 + 8) = *(longlong *)(puVar9 + 2) + 1; + } + puVar9 = puVar18; + if ((local_160 != (uint *)0x0) && + (*(longlong *)(local_160 + 2) = *(longlong *)(local_160 + 2) + -1, + *(longlong *)(local_160 + 2) == 0)) { + puVar9 = local_160; + } + local_160 = (uint *)*plVar6; + if (puVar9 != (uint *)0x0) { + pvVar4 = *(void **)puVar9; + if (pvVar4 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar4 + 8)); + operator_delete(pvVar4); + } + FUN_1400302f0(puVar9); + } + } + if ((local_150 != (undefined8 *)0x0) && (local_150[1] = local_150[1] + -1, local_150[1] == 0)) + { + pvVar4 = (void *)*local_150; + if (pvVar4 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar4 + 8)); + operator_delete(pvVar4); + } + FUN_1400302f0(local_150); + } + } + local_res8[0] = 0; + uVar1 = *param_3; + uVar13 = (ulonglong)uVar1; + if (uVar1 == 1) { + if (param_1 == (longlong *)0xffffffffffffeab0) { + local_140 = (longlong *)0x0; + } + else { + local_140 = param_1 + 0x2ab; + } + puVar9 = puVar18; + if (local_160 != (uint *)0x0) { + puVar9 = *(uint **)local_160; + } + FUN_140071ea0((char *)(puVar9 + 2),param_3,&local_140); + } + else { + FUN_140070860(param_1,(longlong *)&local_168,uVar1); + puVar9 = puVar18; + if (*(uint *)(param_1 + 0x2af) == *param_3) { + local_138[0] = param_1 + 0xd; + if (local_160 != (uint *)0x0) { + puVar9 = *(uint **)local_160; + } + pplVar15 = local_138; + } + else { + if ((local_168 == (uint *)0x0) || (lVar3 = *(longlong *)local_168, lVar3 == 0)) { + local_158 = operator_new(0x6c0); + puVar8 = puVar18; + if (local_158 != (uint *)0x0) { + puVar8 = (uint *)FUN_1400b6b20((undefined8 *)local_158,(longlong)param_1); + } + if (puVar8 == (uint *)0x0) { + local_158 = (uint *)0x0; + } + else { + local_158 = (uint *)FUN_140030280(0x10); + local_158[2] = 1; + local_158[3] = 0; + *(uint **)local_158 = puVar8; + } + puVar8 = local_158; + if (local_158 != local_168) { + if (local_158 != (uint *)0x0) { + *(longlong *)(local_158 + 2) = *(longlong *)(local_158 + 2) + 1; + } + puVar10 = puVar18; + if ((local_168 != (uint *)0x0) && + (*(longlong *)(local_168 + 2) = *(longlong *)(local_168 + 2) + -1, + *(longlong *)(local_168 + 2) == 0)) { + puVar10 = local_168; + } + local_168 = local_158; + if (puVar10 != (uint *)0x0) { + puVar5 = *(undefined8 **)puVar10; + if (puVar5 != (undefined8 *)0x0) { + (**(code **)*puVar5)(puVar5,1); + } + FUN_1400302f0(puVar10); + } + } + puVar10 = local_158; + if (puVar8 != (uint *)0x0) { + puVar8 = puVar8 + 2; + *(longlong *)puVar8 = *(longlong *)puVar8 + -1; + if (*(longlong *)puVar8 == 0) { + puVar5 = *(undefined8 **)local_158; + if (puVar5 != (undefined8 *)0x0) { + (**(code **)*puVar5)(puVar5,1); + } + FUN_1400302f0(puVar10); + } + } + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + puVar8[0x15b] = *param_3; + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + puVar8[0xc] = *param_7; + puVar8[0xd] = param_7[1]; + puVar8[0xe] = param_7[2]; + puVar8[0xf] = param_7[3]; + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + *(char *)((longlong)puVar8 + 0x25) = *param_10; + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + ppuVar14 = &local_168; + FUN_140076a20((char *)(param_1 + 0x2ca),puVar8 + 0x15b,(longlong *)ppuVar14); + FUN_14003d560((char *)(param_1 + 0x2ca)); + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + FUN_1400b3320((longlong)puVar8,'\x01'); + if (*(int *)(param_8 + 0x18) == 0) { + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + FUN_140090fa0((longlong)(puVar8 + 0x5a)); + } + else { + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + ppuVar14 = (uint **)(ulonglong)(*(uint *)((longlong)param_1 + 0x6bc) >> 3); + lVar17 = 0x10; + FUN_140090ac0(puVar8 + 0x5a,*(byte **)(param_8 + 0x10),ppuVar14,0x10); + } + if (*(int *)(param_9 + 0x18) == 0) { + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + *(undefined1 *)(puVar8 + 0x158) = 1; + } + else { + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + ppuVar14 = (uint **)(ulonglong)(*(uint *)(param_1 + 0xd8) >> 3); + FUN_1400a0660((ulonglong)(puVar8 + 0x14e),*(longlong *)(param_9 + 0x10),(SIZE_T)ppuVar14 + ,lVar17); + } + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + FUN_1400b8b80((longlong *)(puVar8 + 0x18e),(ulonglong)*param_6,ppuVar14,lVar17); + if ((*param_11 != 0) && (*param_10 != '\0')) { + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + uVar7 = FUN_1400b6360((longlong *)puVar8,*param_11); + local_res8[0] = (undefined1)uVar7; + } + } + else if (*(char *)(lVar3 + 0x684) != '\0') { + FUN_1400b5380(lVar3,(longlong)param_1); + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + puVar8[0x15b] = *param_3; + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + puVar8[0xc] = *param_7; + puVar8[0xd] = param_7[1]; + puVar8[0xe] = param_7[2]; + puVar8[0xf] = param_7[3]; + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + *(char *)((longlong)puVar8 + 0x25) = *param_10; + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + FUN_1400b3320((longlong)puVar8,'\x01'); + if (*(int *)(param_8 + 0x18) == 0) { + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + FUN_140090fa0((longlong)(puVar8 + 0x5a)); + FUN_14001bc70((longlong)(puVar8 + 0x14e),0,uVar13); + } + else { + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + uVar13 = (ulonglong)(*(uint *)((longlong)param_1 + 0x6bc) >> 3); + lVar17 = 0x10; + FUN_140090ac0(puVar8 + 0x5a,*(byte **)(param_8 + 0x10),uVar13,0x10); + } + if (*(int *)(param_9 + 0x18) == 0) { + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + *(undefined1 *)(puVar8 + 0x158) = 1; + } + else { + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + uVar13 = (ulonglong)(*(uint *)(param_1 + 0xd8) >> 3); + FUN_1400a0660((ulonglong)(puVar8 + 0x14e),*(longlong *)(param_9 + 0x10),uVar13,lVar17); + } + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + FUN_1400b8b80((longlong *)(puVar8 + 0x18e),(ulonglong)*param_6,uVar13,lVar17); + if ((*param_11 != 0) && (*param_10 != '\0')) { + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + uVar7 = FUN_1400b6360((longlong *)puVar8,*param_11); + local_res8[0] = (undefined1)uVar7; + } + puVar8 = puVar18; + if (local_168 != (uint *)0x0) { + puVar8 = *(uint **)local_168; + } + *(undefined1 *)(puVar8 + 0x1a1) = 0; + FUN_140075780((char *)(param_1 + 0x2d5),param_3,'\0'); + } + puVar8 = puVar18; + if (local_160 != (uint *)0x0) { + puVar8 = *(uint **)local_160; + } + puVar10 = puVar18; + if (local_168 != (uint *)0x0) { + puVar10 = *(uint **)local_168; + } + FUN_140079980((char *)(puVar10 + 0x16c),puVar8,(longlong *)&local_160); + if ((local_168 == (uint *)0x0) || (*(longlong *)local_168 == 0)) { + local_148 = (longlong *)0x0; + } + else { + local_148 = (longlong *)(*(longlong *)local_168 + 8); + } + if (local_160 != (uint *)0x0) { + puVar9 = *(uint **)local_160; + } + pplVar15 = &local_148; + } + FUN_140071ea0((char *)(puVar9 + 2),param_3,pplVar15); + puVar9 = local_168; + if ((local_168 != (uint *)0x0) && + (*(longlong *)(local_168 + 2) = *(longlong *)(local_168 + 2) + -1, + *(longlong *)(local_168 + 2) == 0)) { + puVar5 = *(undefined8 **)local_168; + if (puVar5 != (undefined8 *)0x0) { + (**(code **)*puVar5)(puVar5,1); + } + FUN_1400302f0(puVar9); + } + } + puVar16 = &DAT_14015de10; + puVar8 = param_2; + (**(code **)(param_1[0x303] + 0x60)) + (param_1 + 0x303,1,&DAT_14015de10,param_2,param_3,param_5,local_res8); + local_120 = 0; + local_110 = 0; + local_108 = 0; + local_f8 = 0; + local_f0 = 0; + local_e8 = 0; + local_e0 = 0; + local_100 = Proud::ByteArray::vftable; + local_c8 = 0; + local_d0 = 0; + local_d8 = 0; + local_a8 = 0; + local_a0 = (uint *)0x0; + local_98 = 0; + local_90 = 0; + local_b0 = Proud::ByteArray::vftable; + local_80 = Proud::AddrPort::vftable; + local_78 = 0; + local_74 = 0; + local_60 = 0; + local_58 = 0; + local_50 = 0; + local_48 = 0; + local_68 = Proud::ByteArray::vftable; + local_128[0] = 8; + local_c0 = *param_2; + local_bc = *param_3; + puVar9 = puVar18; + if (local_160 != (uint *)0x0) { + puVar9 = *(uint **)local_160; + } + local_88 = (undefined4)*(longlong *)(puVar9 + 10); + iVar2 = *(int *)(param_4 + 0x18); + sVar12 = (size_t)iVar2; + local_b8 = local_bc; + if (iVar2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14001bc70((longlong)&local_b0,iVar2,(SIZE_T)puVar16); + puVar9 = puVar18; + if (*(int *)(param_4 + 0x18) != 0) { + puVar9 = *(uint **)(param_4 + 0x10); + } + puVar10 = local_a0; + if ((int)local_98 == 0) { + puVar10 = puVar18; + } + FUN_14001bd30((undefined8 *)puVar10,(undefined8 *)puVar9,sVar12); + puVar11 = local_128; + FUN_14007af60(param_1,puVar11,sVar12,puVar8); + FUN_140056f10((longlong)local_128,puVar11,sVar12,puVar8); + puVar18 = local_160; + if ((local_160 != (uint *)0x0) && + (*(longlong *)(local_160 + 2) = *(longlong *)(local_160 + 2) + -1, + *(longlong *)(local_160 + 2) == 0)) { + pvVar4 = *(void **)local_160; + if (pvVar4 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar4 + 8)); + operator_delete(pvVar4); + } + FUN_1400302f0(puVar18); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007c7c0.c b/decomp/Agent_Release_x64/full/functions/0x14007c7c0.c new file mode 100644 index 00000000..35e48440 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007c7c0.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007c7c0 FUN_14007c7c0 + * Pseudocode, not original source. */ + +undefined8 +FUN_14007c7c0(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,uint *param_5, + longlong param_6,undefined8 param_7,longlong param_8,longlong param_9,uint *param_10, + uint *param_11,char *param_12,ushort *param_13) + +{ + int *piVar1; + undefined8 uVar2; + + piVar1 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar1); + FUN_14007bed0(*(longlong **)(param_1 + 0x20),param_4,param_5,param_6,param_7,param_10,param_11, + param_8,param_9,param_12,param_13); + uVar2 = FUN_14002e770((longlong)piVar1); + return CONCAT71((int7)((ulonglong)uVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007c8a0.c b/decomp/Agent_Release_x64/full/functions/0x14007c8a0.c new file mode 100644 index 00000000..9dfc2b4b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007c8a0.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007c8a0 FUN_14007c8a0 + * Pseudocode, not original source. */ + +undefined8 +FUN_14007c8a0(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,uint *param_5, + longlong param_6,undefined8 param_7,uint *param_8,uint *param_9,char *param_10, + ushort *param_11) + +{ + int *piVar1; + undefined8 uVar2; + undefined **local_60; + undefined8 local_58; + undefined8 local_50; + undefined8 local_48; + undefined8 local_40; + undefined **local_38; + undefined8 local_30; + undefined8 local_28; + undefined8 local_20; + undefined8 local_18; + + piVar1 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar1); + local_30 = 0; + local_28 = 0; + local_20 = 0; + local_18 = 0; + local_38 = Proud::ByteArray::vftable; + local_58 = 0; + local_50 = 0; + local_48 = 0; + local_40 = 0; + local_60 = Proud::ByteArray::vftable; + FUN_14007bed0(*(longlong **)(param_1 + 0x20),param_4,param_5,param_6,param_7,param_8,param_9, + (longlong)&local_60,(longlong)&local_38,param_10,param_11); + FUN_14003b870(&local_60); + FUN_14003b870(&local_38); + uVar2 = FUN_14002e770((longlong)piVar1); + return CONCAT71((int7)((ulonglong)uVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007c9f0.c b/decomp/Agent_Release_x64/full/functions/0x14007c9f0.c new file mode 100644 index 00000000..f2490e32 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007c9f0.c @@ -0,0 +1,129 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007c9f0 FUN_14007c9f0 + * Pseudocode, not original source. */ + +undefined8 +FUN_14007c9f0(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,uint *param_5, + longlong param_6,longlong param_7,longlong param_8,longlong param_9) + +{ + uint uVar1; + undefined4 uVar2; + undefined8 *puVar3; + int *piVar4; + longlong *plVar5; + undefined8 uVar6; + undefined4 *puVar7; + longlong lVar8; + uint uVar9; + SIZE_T SVar10; + undefined4 uVar11; + undefined2 uVar12; + undefined4 uVar13; + undefined2 uVar14; + undefined4 local_138 [2]; + undefined8 local_130; + undefined8 local_120; + undefined8 local_118; + undefined **local_110; + undefined8 local_108; + undefined8 local_100; + undefined8 local_f8; + undefined8 local_f0; + undefined8 local_e8; + undefined8 local_e0; + undefined8 local_d8; + uint local_c8; + undefined **local_c0; + undefined8 local_b8; + undefined8 local_b0; + undefined8 local_a8; + undefined8 local_a0; + undefined **local_90; + undefined4 local_88; + undefined2 local_84; + undefined **local_78; + undefined8 local_70; + undefined8 local_68; + undefined8 local_60; + undefined8 local_58; + undefined8 local_48; + + local_48 = 0xfffffffffffffffe; + uVar9 = *param_4; + uVar1 = *param_5; + uVar2 = *(undefined4 *)(param_6 + 8); + param_5._0_2_ = *(undefined2 *)(param_6 + 0xc); + uVar11 = *(undefined4 *)(param_7 + 8); + uVar12 = *(undefined2 *)(param_7 + 0xc); + uVar13 = *(undefined4 *)(param_8 + 8); + uVar14 = *(undefined2 *)(param_8 + 0xc); + param_7._0_4_ = *(undefined4 *)(param_9 + 8); + param_6 = CONCAT62(param_6._2_6_,*(undefined2 *)(param_9 + 0xc)); + piVar4 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar4); + if (*(uint *)(*(longlong **)(param_1 + 0x20) + 0x2af) != uVar1) { + uVar9 = uVar1; + uVar11 = (undefined4)param_7; + uVar12 = (undefined2)param_6; + uVar13 = uVar2; + uVar14 = param_5._0_2_; + } + SVar10 = (SIZE_T)uVar9; + plVar5 = FUN_140070860(*(longlong **)(param_1 + 0x20),(longlong *)¶m_5,uVar9); + lVar8 = 0; + if ((longlong *)*plVar5 != (longlong *)0x0) { + lVar8 = *(longlong *)*plVar5; + } + if ((CONCAT62(param_5._2_6_,param_5._0_2_) != 0) && + (plVar5 = (longlong *)(CONCAT62(param_5._2_6_,param_5._0_2_) + 8), *plVar5 = *plVar5 + -1, + *(longlong *)(CONCAT62(param_5._2_6_,param_5._0_2_) + 8) == 0)) { + plVar5 = (longlong *)CONCAT62(param_5._2_6_,param_5._0_2_); + puVar3 = (undefined8 *)*plVar5; + if (puVar3 != (undefined8 *)0x0) { + (**(code **)*puVar3)(); + } + FUN_1400302f0(plVar5); + } + if ((lVar8 != 0) && (*(char *)(lVar8 + 0x684) == '\0')) { + *(undefined4 *)(lVar8 + 0x598) = uVar13; + *(undefined2 *)(lVar8 + 0x59c) = uVar14; + *(undefined4 *)(lVar8 + 0x5a8) = uVar11; + *(undefined2 *)(lVar8 + 0x5ac) = uVar12; + FUN_1400b3320(lVar8,'\0'); + param_6 = 0; + FUN_140072070((longlong *)(lVar8 + 0x28),¶m_6); + local_130 = 0; + local_120 = 0; + local_118 = 0; + local_108 = 0; + local_100 = 0; + local_f8 = 0; + local_f0 = 0; + local_110 = Proud::ByteArray::vftable; + local_d8 = 0; + local_e0 = 0; + local_e8 = 0; + local_b8 = 0; + local_b0 = 0; + local_a8 = 0; + local_a0 = 0; + local_c0 = Proud::ByteArray::vftable; + local_90 = Proud::AddrPort::vftable; + local_88 = 0; + local_84 = 0; + local_70 = 0; + local_68 = 0; + local_60 = 0; + local_58 = 0; + local_78 = Proud::ByteArray::vftable; + local_138[0] = 10; + puVar7 = local_138; + local_c8 = uVar9; + FUN_14007af60(*(longlong **)(param_1 + 0x20),puVar7,SVar10,param_4); + FUN_140056f10((longlong)local_138,puVar7,SVar10,param_4); + } + uVar6 = FUN_14002e770((longlong)piVar4); + return CONCAT71((int7)((ulonglong)uVar6 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007cc60.c b/decomp/Agent_Release_x64/full/functions/0x14007cc60.c new file mode 100644 index 00000000..60de84af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007cc60.c @@ -0,0 +1,204 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007cc60 FUN_14007cc60 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014007ce22) */ +/* WARNING: Removing unreachable block (ram,0x00014007ce34) */ +/* WARNING: Removing unreachable block (ram,0x00014007ce4f) */ +/* WARNING: Removing unreachable block (ram,0x00014007ce57) */ +/* WARNING: Removing unreachable block (ram,0x00014007ce61) */ + +undefined8 +FUN_14007cc60(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,uint *param_5) + +{ + uint *puVar1; + longlong lVar2; + void *pvVar3; + undefined8 *puVar4; + ulonglong uVar5; + uint *puVar6; + longlong lVar7; + undefined8 uVar8; + undefined4 *puVar9; + longlong *plVar10; + uint *puVar11; + longlong *local_res8; + uint *local_res20; + undefined4 local_138 [2]; + longlong local_130 [2]; + longlong local_120 [2]; + undefined **local_110; + undefined8 local_108; + undefined8 local_100; + undefined8 local_f8; + undefined8 local_f0; + longlong local_e8; + longlong local_e0; + ulonglong local_d8; + uint local_d0; + uint local_cc; + uint local_c8; + undefined **local_c0; + undefined8 local_b8; + undefined8 local_b0; + undefined8 local_a8; + undefined8 local_a0; + undefined4 local_98; + undefined **local_90; + undefined4 local_88; + undefined2 local_84; + undefined **local_78; + undefined8 local_70; + undefined8 local_68; + undefined8 local_60; + undefined8 local_58; + int *local_48; + undefined1 local_40; + longlong *local_38; + undefined8 local_30; + + local_30 = 0xfffffffffffffffe; + puVar11 = param_4; + local_48 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(local_48); + puVar6 = param_5; + local_40 = 1; + lVar7 = *(longlong *)(param_1 + 0x20); + if ((*(char *)(lVar7 + 0x1790) != '\0') || (*(int *)(lVar7 + 0x6c8) != 0)) { + puVar11 = (uint *)(ulonglong)*(uint *)(lVar7 + 0x1578); + FUN_140072eb0(lVar7,1,L"[Client %d] P2PGroup_MemberLeave 도착: remote peer=%d,group=%d\n", + puVar11); + } + FUN_140070860(*(longlong **)(param_1 + 0x20),(longlong *)&local_res20,*param_4); + FUN_140077110(*(longlong **)(param_1 + 0x20),(longlong *)&local_res8,*puVar6); + if ((local_res8 != (longlong *)0x0) && (lVar7 = *local_res8, lVar7 != 0)) { + puVar11 = (uint *)(ulonglong)*param_4; + uVar5 = (ulonglong)puVar11 % (ulonglong)*(uint *)(lVar7 + 0x30); + if (*(longlong *)(lVar7 + 0x10) != 0) { + puVar1 = *(uint **)(*(longlong *)(lVar7 + 0x10) + uVar5 * 8); + while( true ) { + if ((puVar1 == (uint *)0x0) || ((uint)uVar5 != puVar1[8] % *(uint *)(lVar7 + 0x30))) + goto LAB_14007cd7f; + if (*puVar1 == *param_4) break; + puVar1 = *(uint **)(puVar1 + 4); + } + FUN_140040120((char *)(lVar7 + 8),puVar1,'\0'); + } + } +LAB_14007cd7f: + lVar7 = 0; + if ((local_res20 != (uint *)0x0) && (lVar2 = *(longlong *)local_res20, lVar2 != 0)) { + uVar5 = (ulonglong)*puVar6 % (ulonglong)*(uint *)(lVar2 + 0x5d8); + puVar11 = (uint *)0x0; + if (*(longlong *)(lVar2 + 0x5b8) != 0) { + puVar11 = *(uint **)(*(longlong *)(lVar2 + 0x5b8) + uVar5 * 8); + while( true ) { + if ((puVar11 == (uint *)0x0) || ((uint)uVar5 != puVar11[8] % *(uint *)(lVar2 + 0x5d8))) + goto LAB_14007ce03; + if (*puVar11 == *puVar6) break; + puVar11 = *(uint **)(puVar11 + 4); + } + FUN_140077fe0((char *)(lVar2 + 0x5b0),puVar11,'\0'); + } +LAB_14007ce03: + param_5 = (uint *)0x0; + if (local_res20 != (uint *)0x0) { + *(longlong *)(local_res20 + 2) = *(longlong *)(local_res20 + 2) + 1; + param_5 = local_res20; + } + FUN_140077530(*(longlong *)(param_1 + 0x20),(longlong *)¶m_5); + if (local_res20 != (uint *)0x0) { + lVar7 = *(longlong *)local_res20; + } + *(int *)(lVar7 + 0x680) = *(int *)(lVar7 + 0x680) + 1; + } + lVar7 = *(longlong *)(param_1 + 0x20); + if (*param_4 == *(uint *)(lVar7 + 0x1578)) { + puVar11 = (uint *)(ulonglong)*puVar6; + uVar5 = (ulonglong)puVar11 % (ulonglong)*(uint *)(lVar7 + 0x608); + if (*(longlong *)(lVar7 + 0x5e8) != 0) { + puVar1 = *(uint **)(*(longlong *)(lVar7 + 0x5e8) + uVar5 * 8); + while( true ) { + if ((puVar1 == (uint *)0x0) || ((uint)uVar5 != puVar1[8] % *(uint *)(lVar7 + 0x608))) + goto LAB_14007cf00; + if (*puVar1 == *puVar6) break; + puVar1 = *(uint **)(puVar1 + 4); + } + FUN_140077fe0((char *)(lVar7 + 0x5e0),puVar1,'\0'); + } + } +LAB_14007cf00: + local_130[0] = 0; + local_120[0] = 0; + local_120[1] = 0; + local_108 = 0; + local_100 = 0; + local_f8 = 0; + local_f0 = 0; + local_110 = Proud::ByteArray::vftable; + local_d8 = 0; + local_e0 = 0; + local_e8 = 0; + local_b8 = 0; + local_b0 = 0; + local_a8 = 0; + local_a0 = 0; + local_c0 = Proud::ByteArray::vftable; + local_90 = Proud::AddrPort::vftable; + local_88 = 0; + local_84 = 0; + local_70 = 0; + local_68 = 0; + local_60 = 0; + local_58 = 0; + local_78 = Proud::ByteArray::vftable; + local_138[0] = 9; + local_cc = *param_4; + local_d0 = *puVar6; + if ((local_res8 == (longlong *)0x0) || (*local_res8 == 0)) { + local_98 = 0; + } + else { + local_98 = (undefined4)*(undefined8 *)(*local_res8 + 0x28); + } + puVar9 = local_138; + plVar10 = local_res8; + local_c8 = local_cc; + FUN_14007af60(*(longlong **)(param_1 + 0x20),puVar9,(SIZE_T)local_res8,puVar11); + FUN_14003b870(&local_78); + FUN_14003b870(&local_c0); + local_38 = &local_e8; + FUN_140095270(&local_e8); + if (local_e0 != 0) { + if ((longlong)local_d8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d8 = local_d8 & 0xffffffff00000000; + } + FUN_14003b870(&local_110); + FUN_140056b00(local_120 + 1,puVar9,plVar10,puVar11); + FUN_140056a80(local_120,puVar9,plVar10,puVar11); + FUN_14002b570(local_130,puVar9,plVar10,puVar11); + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + pvVar3 = (void *)*local_res8; + if (pvVar3 != (void *)0x0) { + FUN_140043ca0((char *)((longlong)pvVar3 + 8)); + operator_delete(pvVar3); + } + FUN_1400302f0(local_res8); + } + if ((local_res20 != (uint *)0x0) && + (*(longlong *)(local_res20 + 2) = *(longlong *)(local_res20 + 2) + -1, + *(longlong *)(local_res20 + 2) == 0)) { + puVar4 = *(undefined8 **)local_res20; + if (puVar4 != (undefined8 *)0x0) { + (**(code **)*puVar4)(puVar4,1); + } + FUN_1400302f0(local_res20); + } + uVar8 = FUN_14002e770((longlong)local_48); + return CONCAT71((int7)((ulonglong)uVar8 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007d0d0.c b/decomp/Agent_Release_x64/full/functions/0x14007d0d0.c new file mode 100644 index 00000000..b9c91c93 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007d0d0.c @@ -0,0 +1,179 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007d0d0 FUN_14007d0d0 + * Pseudocode, not original source. */ + +undefined8 +FUN_14007d0d0(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,char *param_5, + longlong param_6,longlong param_7,longlong param_8,longlong param_9) + +{ + undefined8 *puVar1; + int *piVar2; + longlong lVar3; + longlong lVar4; + undefined8 uVar5; + longlong *plVar6; + undefined4 *puVar7; + undefined **ppuVar8; + uint *puVar9; + longlong *local_res8; + longlong local_148 [3]; + int *local_130; + undefined1 local_128; + undefined4 local_118 [2]; + undefined8 local_110; + undefined8 local_100; + undefined8 local_f8; + undefined **local_f0; + undefined8 local_e8; + undefined8 local_e0; + undefined8 local_d8; + undefined8 local_d0; + undefined8 local_c8; + undefined8 local_c0; + undefined8 local_b8; + uint local_a8; + undefined **local_a0; + undefined8 local_98; + undefined8 local_90; + undefined8 local_88; + undefined8 local_80; + undefined **local_70; + undefined4 local_68; + undefined2 local_64; + undefined **local_58; + undefined8 local_50; + undefined8 local_48; + undefined8 local_40; + undefined8 local_38; + undefined8 local_28; + + local_28 = 0xfffffffffffffffe; + puVar9 = param_4; + piVar2 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + local_130 = piVar2; + FUN_14002e6e0(piVar2); + local_128 = 1; + ppuVar8 = (undefined **)(ulonglong)*param_4; + FUN_140070860(*(longlong **)(param_1 + 0x20),(longlong *)&local_res8,*param_4); + if (((local_res8 != (longlong *)0x0) && (lVar3 = *local_res8, lVar3 != 0)) && + (*(char *)(lVar3 + 0x684) == '\0')) { + *(undefined1 *)(lVar3 + 0x24) = 1; + lVar3 = 0; + if (*param_5 == '\0') { + lVar4 = lVar3; + if (local_res8 != (longlong *)0x0) { + lVar4 = *local_res8; + } + FUN_1400b3460(lVar4); + lVar4 = lVar3; + if (local_res8 != (longlong *)0x0) { + lVar4 = *local_res8; + } + if ((*(longlong **)(lVar4 + 0x18) != (longlong *)0x0) && (**(longlong **)(lVar4 + 0x18) != 0)) + { + lVar4 = lVar3; + if (local_res8 != (longlong *)0x0) { + lVar4 = *local_res8; + } + local_148[0] = 0; + FUN_1400ad4b0(local_148,(longlong *)(lVar4 + 0x18)); + FUN_1400756c0(*(longlong *)(param_1 + 0x20),local_148); + local_148[1] = 0; + lVar4 = lVar3; + if (local_res8 != (longlong *)0x0) { + lVar4 = *local_res8; + } + FUN_1400ad4b0((longlong *)(lVar4 + 0x18),local_148 + 1); + } + if (local_res8 != (longlong *)0x0) { + lVar3 = *local_res8; + } + FUN_1400b3320(lVar3,'\x01'); + } + else { + lVar4 = lVar3; + if (local_res8 != (longlong *)0x0) { + lVar4 = *local_res8; + } + *(undefined4 *)(lVar4 + 0x578) = *(undefined4 *)(param_7 + 8); + *(undefined2 *)(lVar4 + 0x57c) = *(undefined2 *)(param_7 + 0xc); + lVar4 = lVar3; + if (local_res8 != (longlong *)0x0) { + lVar4 = *local_res8; + } + *(undefined4 *)(lVar4 + 0x588) = *(undefined4 *)(param_6 + 8); + *(undefined2 *)(lVar4 + 0x58c) = *(undefined2 *)(param_6 + 0xc); + lVar4 = lVar3; + if (local_res8 != (longlong *)0x0) { + lVar4 = *local_res8; + } + *(undefined4 *)(lVar4 + 0x598) = *(undefined4 *)(param_8 + 8); + *(undefined2 *)(lVar4 + 0x59c) = *(undefined2 *)(param_8 + 0xc); + lVar4 = lVar3; + if (local_res8 != (longlong *)0x0) { + lVar4 = *local_res8; + } + *(undefined4 *)(lVar4 + 0x5a8) = *(undefined4 *)(param_9 + 8); + *(undefined2 *)(lVar4 + 0x5ac) = *(undefined2 *)(param_9 + 0xc); + lVar4 = lVar3; + if (local_res8 != (longlong *)0x0) { + lVar4 = *local_res8; + } + FUN_1400b3320(lVar4,'\0'); + local_148[2] = 0; + lVar4 = lVar3; + if (local_res8 != (longlong *)0x0) { + lVar4 = *local_res8; + } + plVar6 = local_148 + 2; + FUN_140072070((longlong *)(lVar4 + 0x28),plVar6); + if (local_res8 != (longlong *)0x0) { + lVar3 = *local_res8; + } + lVar3 = FUN_1400b34a0(lVar3); + FUN_1400b6ec0(lVar3,plVar6,ppuVar8,puVar9); + local_110 = 0; + local_100 = 0; + local_f8 = 0; + local_e8 = 0; + local_e0 = 0; + local_d8 = 0; + local_d0 = 0; + local_f0 = Proud::ByteArray::vftable; + local_b8 = 0; + local_c0 = 0; + local_c8 = 0; + local_98 = 0; + local_90 = 0; + local_88 = 0; + local_80 = 0; + local_a0 = Proud::ByteArray::vftable; + local_70 = Proud::AddrPort::vftable; + local_68 = 0; + local_64 = 0; + local_50 = 0; + local_48 = 0; + local_40 = 0; + local_38 = 0; + local_58 = Proud::ByteArray::vftable; + local_118[0] = 10; + local_a8 = *param_4; + puVar7 = local_118; + FUN_14007af60(*(longlong **)(param_1 + 0x20),puVar7,(SIZE_T)ppuVar8,puVar9); + FUN_140056f10((longlong)local_118,puVar7,ppuVar8,puVar9); + } + } + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, piVar2 = local_130, local_res8[1] == 0)) { + puVar1 = (undefined8 *)*local_res8; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res8); + piVar2 = local_130; + } + uVar5 = FUN_14002e770((longlong)piVar2); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007d410.c b/decomp/Agent_Release_x64/full/functions/0x14007d410.c new file mode 100644 index 00000000..d3f6792a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007d410.c @@ -0,0 +1,275 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007d410 FUN_14007d410 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014007d5bc) */ +/* WARNING: Removing unreachable block (ram,0x00014007d5c5) */ +/* WARNING: Removing unreachable block (ram,0x00014007d5e6) */ +/* WARNING: Removing unreachable block (ram,0x00014007d5ef) */ + +longlong * FUN_14007d410(longlong *param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + ulonglong *puVar1; + ulonglong *puVar2; + bool bVar3; + ulonglong uVar4; + ulonglong *puVar5; + undefined8 *puVar6; + ulonglong *puVar7; + ulonglong *puVar8; + longlong lVar9; + longlong *plVar10; + longlong lVar11; + undefined1 uVar12; + undefined7 uVar13; + double dVar14; + ulonglong *local_res10; + ulonglong *local_res18; + longlong local_50; + undefined4 local_44; + longlong local_40; + + uVar13 = (undefined7)((ulonglong)param_3 >> 8); + FUN_1400827c0(param_1); + lVar11 = 0; + param_1[0x10] = 0; + param_1[0x14] = 0; + param_1[0x15] = 0; + param_1[0x16] = 0; + *param_1 = (longlong)Proud::CNetClientImpl::vftable; + param_1[0xc] = (longlong)Proud::CNetClientImpl::vftable; + param_1[0xd] = (longlong)Proud::CNetClientImpl::vftable; + param_1[0xe] = (longlong)Proud::CNetClientImpl::vftable; + param_1[0xf] = (longlong)Proud::CNetClientImpl::vftable; + param_1[0x11] = (longlong)Proud::CNetClientImpl::vftable; + param_1[0x12] = (longlong)Proud::CNetClientImpl::vftable; + param_1[0x13] = (longlong)Proud::CNetClientImpl::vftable; + FUN_1400b7b30((double *)(param_1 + 0x17),DAT_1401550f8 * 10.0 * 2.0); + *(undefined4 *)(param_1 + 0x93) = 0; + param_1[0x96] = 0; + param_1[0x97] = 0; + param_1[0x98] = 0; + param_1[0x99] = 0; + param_1[0x95] = (longlong)Proud::ByteArray::vftable; + *(undefined1 *)(param_1 + 0x9a) = 0; + param_1[0x9c] = 0; + uVar4 = FUN_14002e790(); + uVar4 = uVar4 & 0xffffffff; + uVar12 = 1; + FUN_14002e600((undefined4 *)(param_1 + 0xa3),uVar4,CONCAT71(uVar13,1),param_4); + param_1[0xba] = 0; + param_1[0xbb] = 0; + *(undefined1 *)(param_1 + 0xbc) = 0; + param_1[0xc6] = 0; + param_1[0xbd] = 0; + param_1[0xbe] = 0; + param_1[0xbf] = 0; + *(undefined4 *)(param_1 + 0xc1) = 0x11; + param_1[0xc0] = 0; + *(undefined4 *)(param_1 + 0xc5) = 0; + *(undefined4 *)((longlong)param_1 + 0x60c) = 0x3f400000; + *(undefined4 *)(param_1 + 0xc2) = 0x3e800000; + *(undefined4 *)((longlong)param_1 + 0x614) = 0x40100000; + param_1[0xc3] = 0x26; + param_1[0xc4] = 4; + param_1[0xc4] = 0; + param_1[199] = 0; + *(undefined1 *)((longlong)param_1 + 0x68c) = 0; + *(undefined4 *)(param_1 + 0xd1) = 0; + *(undefined4 *)(param_1 + 0xd2) = 0; + param_1[0xcb] = 0; + param_1[0xcc] = 0; + param_1[0xd0] = 0; + param_1[0xcf] = 0; + param_1[0xce] = 0; + param_1[0xcd] = 0; + FUN_1400a28f0((undefined4 *)(param_1 + 0xd4)); + *(undefined4 *)(param_1 + 0xda) = 0; + *(undefined4 *)((longlong)param_1 + 0x6d4) = 0; + *(undefined4 *)(param_1 + 0xdb) = 0; + *(undefined4 *)((longlong)param_1 + 0x6dc) = 0; + param_1[0xdc] = 0; + param_1[0xdf] = 0; + param_1[0xdd] = 0; + param_1[0xde] = 0; + *(undefined4 *)(param_1 + 0x159) = 0; + param_1[0x15c] = 0; + param_1[0x15d] = 0; + param_1[0x15e] = 0; + param_1[0x15f] = 0; + param_1[0x15b] = (longlong)Proud::ByteArray::vftable; + *(undefined1 *)(param_1 + 0x160) = 0; + puVar1 = (ulonglong *)(param_1 + 0x161); + local_res10 = puVar1; + FUN_140039bb0(puVar1,uVar4,CONCAT71(uVar13,uVar12),param_4); + FUN_140039cd0((longlong)puVar1); + param_1[0x2a4] = 0; + *(undefined1 *)(param_1 + 0x2a5) = 0; + param_1[0x2a6] = 0; + param_1[0x2a9] = 0; + param_1[0x2a7] = 0; + param_1[0x2a8] = 0; + param_1[0x2aa] = (longlong)Proud::CNetClientImpl::ServerAsSendDest::vftable; + param_1[0x2ab] = (longlong)Proud::CNetClientImpl::ServerAsSendDest::vftable; + param_1[0x2ac] = (longlong)param_1; + param_1[0x2ad] = 0; + param_1[0x2ae] = 0; + FUN_14003b600(param_1 + 0x2b1,uVar4,CONCAT71(uVar13,uVar12),param_4); + param_1[699] = 0; + param_1[700] = 0; + param_1[0x2bf] = 0; + param_1[0x2bd] = 0; + param_1[0x2be] = 0; + param_1[0x2c0] = 0; + param_1[0x2c3] = 0; + param_1[0x2c1] = 0; + param_1[0x2c2] = 0; + FUN_14003a340((undefined2 *)(param_1 + 0x2c4)); + *(undefined1 *)(param_1 + 0x2ca) = 0; + param_1[0x2d4] = 0; + param_1[0x2cb] = 0; + param_1[0x2cc] = 0; + param_1[0x2cd] = 0; + *(undefined4 *)(param_1 + 0x2cf) = 0x11; + param_1[0x2ce] = 0; + *(undefined4 *)(param_1 + 0x2d3) = 0; + *(undefined4 *)((longlong)param_1 + 0x167c) = 0x3f400000; + *(undefined4 *)(param_1 + 0x2d0) = 0x3e800000; + *(undefined4 *)((longlong)param_1 + 0x1684) = 0x40100000; + param_1[0x2d1] = 0x26; + param_1[0x2d2] = 4; + param_1[0x2d2] = 0; + *(undefined1 *)(param_1 + 0x2d5) = 0; + param_1[0x2df] = 0; + param_1[0x2d6] = 0; + param_1[0x2d7] = 0; + param_1[0x2d8] = 0; + *(undefined4 *)(param_1 + 0x2da) = 0x11; + param_1[0x2d9] = 0; + *(undefined4 *)(param_1 + 0x2de) = 0; + *(undefined4 *)((longlong)param_1 + 0x16d4) = 0x3f400000; + *(undefined4 *)(param_1 + 0x2db) = 0x3e800000; + *(undefined4 *)((longlong)param_1 + 0x16dc) = 0x40100000; + param_1[0x2dc] = 0x26; + param_1[0x2dd] = 0; + param_1[0x2e0] = 0; + param_1[0x2e3] = 0; + param_1[0x2e1] = 0; + param_1[0x2e2] = 0; + *(undefined1 *)(param_1 + 0x2e4) = 0; + param_1[0x2ee] = 0; + param_1[0x2e5] = 0; + param_1[0x2e6] = 0; + param_1[0x2e7] = 0; + *(undefined4 *)(param_1 + 0x2e9) = 0x11; + param_1[0x2e8] = 0; + *(undefined4 *)(param_1 + 0x2ed) = 0; + *(undefined4 *)((longlong)param_1 + 0x174c) = 0x3f400000; + *(undefined4 *)(param_1 + 0x2ea) = 0x3e800000; + *(undefined4 *)((longlong)param_1 + 0x1754) = 0x40100000; + param_1[0x2eb] = 0x26; + param_1[0x2ec] = 0; + FUN_1400b7b30((double *)(param_1 + 0x2ef),DAT_140155180); + param_1[0x2f4] = 0; + param_1[0x2f5] = 0; + param_1[0x2f6] = 0; + param_1[0x2f9] = 0; + param_1[0x2f7] = 0; + param_1[0x2f8] = 0; + puVar1 = (ulonglong *)(param_1 + 0x2fa); + local_res10 = puVar1; + FUN_140081fb0(puVar1); + *puVar1 = (ulonglong)ProudC2C::Proxy::vftable; + if (*(int *)((longlong)param_1 + 0x17e4) != 1) { + FUN_14002fa10((wchar_t *)PTR_u_PIDL_compiler_is_incompatible_to_140156790); + } + *puVar1 = (ulonglong)Proud::CNetClientImpl::C2CProxy::vftable; + FUN_140085230(param_1 + 0x2fe); + param_1[0x2fe] = (longlong)Proud::CNetClientImpl::C2CStub::vftable; + puVar2 = (ulonglong *)(param_1 + 0x303); + local_res10 = puVar2; + FUN_140081fb0(puVar2); + *puVar2 = (ulonglong)ProudC2S::Proxy::vftable; + if (*(int *)((longlong)param_1 + 0x182c) != 1) { + FUN_14002fa10((wchar_t *)PTR_u_PIDL_compiler_is_incompatible_to_140156790); + } + *puVar2 = (ulonglong)Proud::CNetClientImpl::C2SProxy::vftable; + FUN_140085230(param_1 + 0x307); + param_1[0x307] = (longlong)Proud::CNetClientImpl::S2CStub::vftable; + param_1[0x30d] = 0; + param_1[0x30e] = 0; + FUN_1400b7b30((double *)(param_1 + 0x30f),DAT_1401551a0); + *(undefined2 *)(param_1 + 0x319) = 0; + *(undefined1 *)((longlong)param_1 + 0x18ca) = 0; + param_1[0x30c] = (longlong)DAT_1401551a0; + puVar5 = FUN_14006ff50((ulonglong *)&local_res10,uVar4,CONCAT71(uVar13,uVar12),param_4); + puVar7 = (ulonglong *)(param_1 + 0xbb); + FUN_140066320(puVar7,puVar5,CONCAT71(uVar13,uVar12),param_4); + puVar8 = local_res10; + if (local_res10 != (ulonglong *)0x0) { + puVar7 = local_res10; + FUN_14002e6e0((int *)local_res10); + bVar3 = true; + local_res10[8] = local_res10[8] - 1; + if (local_res10[8] == 0) { + FUN_14002e770((longlong)puVar8); + puVar7 = local_res10; + bVar3 = false; + local_res18 = local_res10; + if ((undefined8 *)local_res10[7] != (undefined8 *)0x0) { + puVar5 = (ulonglong *)0x1; + (*(code *)**(undefined8 **)local_res10[7])(); + } + FUN_14002e7a0((undefined4 *)puVar7,puVar5,CONCAT71(uVar13,uVar12),param_4); + FUN_1400302f0(puVar7); + } + if (bVar3) { + FUN_14002e770((longlong)puVar8); + puVar7 = puVar8; + } + } + FUN_14002faf0(puVar7,puVar5,CONCAT71(uVar13,uVar12),param_4); + *(undefined1 *)(param_1 + 0xca) = 0; + *(undefined4 *)(param_1 + 0xd3) = DAT_140155110; + param_1[0x2b0] = 0; + param_1[0x2c9] = 0; + *(undefined4 *)(param_1 + 0x2af) = 0; + *(undefined4 *)(param_1 + 0xb8) = 0; + *(undefined4 *)(param_1 + 0xb0) = 0; + *(undefined4 *)(param_1 + 0xa1) = 0; + lVar9 = lVar11; + if (param_1[0xbb] != 0) { + lVar9 = *(longlong *)(param_1[0xbb] + 0x38); + } + dVar14 = (double)FUN_1400a3c60(lVar9); + param_1[0xa2] = (longlong)(dVar14 + DAT_140155100); + FUN_140082c10(param_1,(longlong *)puVar1,CONCAT71(uVar13,uVar12),param_4); + FUN_140082c10(param_1,(longlong *)puVar2,CONCAT71(uVar13,uVar12),param_4); + FUN_140082e10(param_1,param_1 + 0x307,CONCAT71(uVar13,uVar12),param_4); + FUN_140082e10(param_1,param_1 + 0x2fe,CONCAT71(uVar13,uVar12),param_4); + *(undefined1 *)(param_1 + 0x2fc) = 1; + *(undefined1 *)(param_1 + 0x305) = 1; + *(undefined1 *)(param_1 + 0x30a) = 1; + *(undefined1 *)(param_1 + 0x301) = 1; + param_1[0x302] = (longlong)param_1; + param_1[0x30b] = (longlong)param_1; + *(undefined1 *)(param_1 + 0x2f2) = 0; + param_1[0x2f3] = 0x3ff0000000000000; + FUN_140033200(&local_50); + local_50 = 0; + local_44 = 0; + if (param_1[0xbb] != 0) { + lVar11 = *(longlong *)(param_1[0xbb] + 0x38); + } + local_40 = lVar11 + 0x10; + plVar10 = &local_50; + puVar6 = FUN_140030350(0x800,plVar10,CONCAT71(uVar13,uVar12),param_4); + param_1[0x9c] = (longlong)puVar6; + FUN_1400b8d60(param_1 + 0xdc,plVar10,CONCAT71(uVar13,uVar12),param_4); + FUN_1400b8d60(param_1 + 700,plVar10,CONCAT71(uVar13,uVar12),param_4); + FUN_1400b8d60(param_1 + 0x2c0,plVar10,CONCAT71(uVar13,uVar12),param_4); + FUN_1400b8d60(param_1 + 0x2a6,plVar10,CONCAT71(uVar13,uVar12),param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007dc70.c b/decomp/Agent_Release_x64/full/functions/0x14007dc70.c new file mode 100644 index 00000000..f5feec97 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007dc70.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007dc70 FUN_14007dc70 + * Pseudocode, not original source. */ + +longlong * FUN_14007dc70(longlong *param_1,ulonglong param_2,undefined8 param_3,ulonglong param_4) + +{ + FUN_14007a720(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007dca0.c b/decomp/Agent_Release_x64/full/functions/0x14007dca0.c new file mode 100644 index 00000000..6ac34616 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007dca0.c @@ -0,0 +1,185 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007dca0 FUN_14007dca0 + * Pseudocode, not original source. */ + +void FUN_14007dca0(longlong *param_1,undefined8 param_2,undefined *param_3,longlong **param_4) + +{ + undefined4 uVar1; + int *piVar2; + longlong *plVar3; + longlong *plVar4; + ulonglong uVar5; + longlong lVar6; + undefined8 uVar7; + longlong **pplVar8; + undefined4 *puVar9; + int *piVar10; + undefined *puVar11; + longlong **pplVar12; + longlong *local_res8; + longlong *local_158; + undefined1 local_150; + undefined4 local_148 [2]; + ulonglong local_140 [2]; + longlong local_130 [2]; + undefined **local_120; + undefined8 local_118; + undefined8 local_110; + undefined8 local_108; + undefined8 local_100; + longlong local_f8; + longlong local_f0; + ulonglong local_e8; + undefined4 local_d8; + undefined **local_d0; + undefined8 local_c8; + undefined8 local_c0; + undefined8 local_b8; + undefined8 local_b0; + undefined **local_a0; + undefined4 local_98; + undefined2 local_94; + undefined **local_88; + undefined8 local_80; + undefined8 local_78; + undefined8 local_70; + undefined8 local_68; + int *local_58; + undefined1 local_50; + int *local_48; + undefined1 local_40; + undefined8 local_38; + + local_38 = 0xfffffffffffffffe; + uVar7 = param_2; + puVar11 = param_3; + pplVar12 = param_4; + piVar2 = (int *)(**(code **)(*param_1 + 0x58))(); + local_58 = piVar2; + FUN_14002e6e0(piVar2); + local_50 = 1; + if ((char)param_1[0x9d] == '\0') { + plVar4 = (longlong *)0x0; + local_140[0] = 0; + local_130[0] = 0; + local_130[1] = 0; + local_118 = 0; + local_110 = 0; + local_108 = 0; + local_100 = 0; + local_120 = Proud::ByteArray::vftable; + local_e8 = 0; + local_f0 = 0; + local_f8 = 0; + local_c8 = 0; + local_c0 = 0; + local_b8 = 0; + local_b0 = 0; + local_d0 = Proud::ByteArray::vftable; + local_a0 = Proud::AddrPort::vftable; + local_98 = 0; + local_94 = 0; + local_80 = 0; + local_78 = 0; + local_70 = 0; + local_68 = 0; + local_88 = Proud::ByteArray::vftable; + local_res8 = (longlong *)FUN_140030280(0x60); + plVar3 = plVar4; + if (local_res8 != (longlong *)0x0) { + plVar3 = FUN_14003bef0(local_res8,uVar7,puVar11,pplVar12); + } + if (plVar3 == (longlong *)0x0) { + local_res8 = (longlong *)0x0; + } + else { + plVar4 = (longlong *)FUN_140030280(0x48); + local_158 = plVar4; + if (plVar4 != (longlong *)0x0) { + local_res8 = plVar4; + uVar5 = FUN_14002e790(); + puVar11 = (undefined *)CONCAT71((int7)((ulonglong)puVar11 >> 8),1); + FUN_14002e600((undefined4 *)plVar4,uVar5 & 0xffffffff,puVar11,pplVar12); + } + local_res8 = plVar4; + FUN_14002e6e0((int *)plVar4); + plVar4[8] = 1; + plVar4[7] = (longlong)plVar3; + FUN_14002e770((longlong)plVar4); + } + pplVar8 = &local_res8; + FUN_14003bff0(local_140,(ulonglong *)pplVar8,puVar11,pplVar12); + if (plVar4 != (longlong *)0x0) { + local_158 = plVar4; + FUN_14002e6e0((int *)plVar4); + local_150 = 1; + plVar3 = plVar4 + 8; + *plVar3 = *plVar3 + -1; + if (*plVar3 == 0) { + FUN_14002e770((longlong)plVar4); + local_150 = 0; + FUN_14002b500((undefined4 *)plVar4,pplVar8,puVar11,pplVar12); + } + else { + FUN_14002e770((longlong)plVar4); + } + } + local_148[0] = 3; + if (local_140[0] == 0) { + puVar9 = (undefined4 *)0x0; + } + else { + puVar9 = *(undefined4 **)(local_140[0] + 0x38); + } + *puVar9 = (int)param_2; + lVar6 = 0; + if (local_140[0] != 0) { + lVar6 = *(longlong *)(local_140[0] + 0x38); + } + *(int *)(lVar6 + 4) = (int)param_3; + if (local_140[0] == 0) { + lVar6 = 0; + } + else { + lVar6 = *(longlong *)(local_140[0] + 0x38); + } + FUN_140003170((longlong *)(lVar6 + 0x10),(longlong *)param_4,puVar11,pplVar12); + local_d8 = 1; + puVar9 = local_148; + FUN_14007af60(param_1,puVar9,(SIZE_T)puVar11,pplVar12); + *(undefined1 *)(param_1 + 0x9d) = 1; + if (param_1[0xb] != 0) { + piVar10 = (int *)(param_1[0xb] + 0x98); + local_48 = piVar10; + FUN_14002e6e0(piVar10); + local_40 = 1; + local_res8 = (longlong *)((ulonglong)local_res8 & 0xffffffffffffff00); + uVar1 = (**(code **)(param_1[0xe] + 0x108))(param_1 + 0xe,&local_res8); + local_158 = (longlong *)CONCAT44(local_158._4_4_,uVar1); + pplVar12 = &local_158; + puVar11 = &DAT_14015de10; + puVar9 = (undefined4 *)0x1; + (**(code **)(*(longlong *)(param_1[0xb] + 0x68) + 0x60))(); + FUN_14002e770((longlong)piVar10); + } + FUN_14003b870(&local_88); + FUN_14003b870(&local_d0); + local_res8 = &local_f8; + FUN_140095270(&local_f8); + if (local_f0 != 0) { + if ((longlong)local_e8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_e8 = local_e8 & 0xffffffff00000000; + } + FUN_14003b870(&local_120); + FUN_140056b00(local_130 + 1,puVar9,puVar11,pplVar12); + FUN_140056a80(local_130,puVar9,puVar11,pplVar12); + FUN_14002b570((longlong *)local_140,puVar9,puVar11,pplVar12); + } + FUN_14002e770((longlong)piVar2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007dfc0.c b/decomp/Agent_Release_x64/full/functions/0x14007dfc0.c new file mode 100644 index 00000000..73807d07 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007dfc0.c @@ -0,0 +1,171 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007dfc0 FUN_14007dfc0 + * Pseudocode, not original source. */ + +void FUN_14007dfc0(longlong *param_1,undefined4 *param_2,longlong *param_3,undefined8 param_4) + +{ + int *piVar1; + longlong *plVar2; + longlong *plVar3; + ulonglong uVar4; + undefined8 *puVar5; + longlong *plVar6; + undefined4 *puVar7; + longlong **pplVar8; + longlong *plVar9; + longlong *local_res8; + longlong *local_158; + undefined1 local_150; + undefined4 local_148 [2]; + ulonglong local_140 [2]; + longlong local_130 [2]; + undefined **local_120; + undefined8 local_118; + undefined8 local_110; + undefined8 local_108; + undefined8 local_100; + longlong local_f8; + longlong local_f0; + ulonglong local_e8; + undefined4 local_d8; + undefined **local_d0; + undefined8 local_c8; + undefined8 local_c0; + undefined8 local_b8; + undefined8 local_b0; + undefined **local_a0; + undefined4 local_98; + undefined2 local_94; + undefined4 local_90; + undefined **local_88; + undefined8 local_80; + undefined8 local_78; + undefined8 local_70; + undefined8 local_68; + int *local_58; + undefined1 local_50; + undefined8 local_48; + + local_48 = 0xfffffffffffffffe; + puVar7 = param_2; + plVar9 = param_3; + piVar1 = (int *)(**(code **)(*param_1 + 0x58))(); + local_58 = piVar1; + FUN_14002e6e0(piVar1); + local_50 = 1; + if ((char)param_1[0x9d] == '\0') { + plVar6 = (longlong *)0x0; + local_140[0] = 0; + local_130[0] = 0; + local_130[1] = 0; + local_118 = 0; + local_110 = 0; + local_108 = 0; + local_100 = 0; + local_120 = Proud::ByteArray::vftable; + local_e8 = 0; + local_f0 = 0; + local_f8 = 0; + local_c8 = 0; + local_c0 = 0; + local_b8 = 0; + local_b0 = 0; + local_d0 = Proud::ByteArray::vftable; + local_a0 = Proud::AddrPort::vftable; + local_98 = 0; + local_94 = 0; + local_80 = 0; + local_78 = 0; + local_70 = 0; + local_68 = 0; + local_88 = Proud::ByteArray::vftable; + local_res8 = (longlong *)FUN_140030280(0x60); + plVar2 = plVar6; + if (local_res8 != (longlong *)0x0) { + plVar2 = FUN_14003bef0(local_res8,puVar7,plVar9,param_4); + } + if (plVar2 == (longlong *)0x0) { + local_res8 = (longlong *)0x0; + plVar3 = plVar6; + } + else { + plVar3 = (longlong *)FUN_140030280(0x48); + if (plVar3 != (longlong *)0x0) { + local_res8 = plVar3; + uVar4 = FUN_14002e790(); + plVar9 = (longlong *)CONCAT71((int7)((ulonglong)plVar9 >> 8),1); + FUN_14002e600((undefined4 *)plVar3,uVar4 & 0xffffffff,plVar9,param_4); + } + local_res8 = plVar3; + FUN_14002e6e0((int *)plVar3); + plVar3[8] = 1; + plVar3[7] = (longlong)plVar2; + FUN_14002e770((longlong)plVar3); + } + pplVar8 = &local_res8; + FUN_14003bff0(local_140,(ulonglong *)pplVar8,plVar9,param_4); + if (plVar3 != (longlong *)0x0) { + local_158 = plVar3; + FUN_14002e6e0((int *)plVar3); + local_150 = 1; + plVar2 = plVar3 + 8; + *plVar2 = *plVar2 + -1; + if (*plVar2 == 0) { + FUN_14002e770((longlong)plVar3); + local_150 = 0; + FUN_14002b500((undefined4 *)plVar3,pplVar8,plVar9,param_4); + } + else { + FUN_14002e770((longlong)plVar3); + } + } + local_148[0] = 2; + plVar2 = plVar6; + if (local_140[0] != 0) { + plVar2 = *(longlong **)(local_140[0] + 0x38); + } + *(int *)plVar2 = (int)param_2; + plVar2 = plVar6; + if (*param_3 != 0) { + plVar2 = *(longlong **)(*param_3 + 0x38); + } + if (local_140[0] != 0) { + plVar6 = *(longlong **)(local_140[0] + 0x38); + } + plVar6 = plVar6 + 2; + plVar2 = plVar2 + 2; + FUN_140003170(plVar6,plVar2,plVar9,param_4); + local_d8 = 1; + FUN_140030200(plVar6,plVar2,plVar9,param_4); + local_res8 = (longlong *)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_res8,param_1 + 0x2b1,plVar9,param_4); + plVar9 = (longlong *)(ulonglong)*(ushort *)(param_1 + 0x2b2); + puVar5 = FUN_140033450(&local_158,(longlong *)&local_res8,*(ushort *)(param_1 + 0x2b2),param_4); + local_98 = *(undefined4 *)(puVar5 + 1); + local_94 = *(undefined2 *)((longlong)puVar5 + 0xc); + local_90 = 0; + puVar7 = local_148; + FUN_14007af60(param_1,puVar7,(SIZE_T)plVar9,param_4); + *(undefined1 *)(param_1 + 0x9d) = 1; + FUN_14003b870(&local_88); + FUN_14003b870(&local_d0); + local_res8 = &local_f8; + FUN_140095270(&local_f8); + if (local_f0 != 0) { + if ((longlong)local_e8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_e8 = local_e8 & 0xffffffff00000000; + } + FUN_14003b870(&local_120); + FUN_140056b00(local_130 + 1,puVar7,plVar9,param_4); + FUN_140056a80(local_130,puVar7,plVar9,param_4); + FUN_14002b570((longlong *)local_140,puVar7,plVar9,param_4); + } + FUN_14002e770((longlong)piVar1); + FUN_14002b570(param_3,puVar7,plVar9,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007e2e0.c b/decomp/Agent_Release_x64/full/functions/0x14007e2e0.c new file mode 100644 index 00000000..8fafe957 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007e2e0.c @@ -0,0 +1,161 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007e2e0 FUN_14007e2e0 + * Pseudocode, not original source. */ + +void FUN_14007e2e0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + longlong *plVar2; + longlong *plVar3; + ulonglong uVar4; + undefined8 *puVar5; + longlong *plVar6; + undefined8 uVar7; + longlong **pplVar8; + undefined4 *puVar9; + undefined8 uVar10; + SIZE_T SVar11; + longlong *local_res8; + longlong *local_158; + undefined1 local_150; + undefined4 local_148 [2]; + ulonglong local_140 [2]; + longlong local_130 [2]; + undefined **local_120; + undefined8 local_118; + undefined8 local_110; + undefined8 local_108; + undefined8 local_100; + longlong local_f8; + longlong local_f0; + ulonglong local_e8; + undefined4 local_d8; + undefined **local_d0; + undefined8 local_c8; + undefined8 local_c0; + undefined8 local_b8; + undefined8 local_b0; + undefined **local_a0; + undefined4 local_98; + undefined2 local_94; + undefined4 local_90; + undefined **local_88; + undefined8 local_80; + undefined8 local_78; + undefined8 local_70; + undefined8 local_68; + int *local_58; + undefined1 local_50; + undefined8 local_48; + + local_48 = 0xfffffffffffffffe; + uVar7 = param_2; + uVar10 = param_3; + piVar1 = (int *)(**(code **)(*param_1 + 0x58))(); + local_58 = piVar1; + FUN_14002e6e0(piVar1); + local_50 = 1; + if ((char)param_1[0x9d] == '\0') { + plVar6 = (longlong *)0x0; + local_140[0] = 0; + local_130[0] = 0; + local_130[1] = 0; + local_118 = 0; + local_110 = 0; + local_108 = 0; + local_100 = 0; + local_120 = Proud::ByteArray::vftable; + local_e8 = 0; + local_f0 = 0; + local_f8 = 0; + local_c8 = 0; + local_c0 = 0; + local_b8 = 0; + local_b0 = 0; + local_d0 = Proud::ByteArray::vftable; + local_a0 = Proud::AddrPort::vftable; + local_98 = 0; + local_94 = 0; + local_80 = 0; + local_78 = 0; + local_70 = 0; + local_68 = 0; + local_88 = Proud::ByteArray::vftable; + local_res8 = (longlong *)FUN_140030280(0x60); + plVar2 = plVar6; + if (local_res8 != (longlong *)0x0) { + plVar2 = FUN_14003bef0(local_res8,uVar7,uVar10,param_4); + } + if (plVar2 == (longlong *)0x0) { + local_res8 = (longlong *)0x0; + plVar3 = plVar6; + } + else { + plVar3 = (longlong *)FUN_140030280(0x48); + if (plVar3 != (longlong *)0x0) { + local_res8 = plVar3; + uVar4 = FUN_14002e790(); + uVar10 = CONCAT71((int7)((ulonglong)uVar10 >> 8),1); + FUN_14002e600((undefined4 *)plVar3,uVar4 & 0xffffffff,uVar10,param_4); + } + local_res8 = plVar3; + FUN_14002e6e0((int *)plVar3); + plVar3[8] = 1; + plVar3[7] = (longlong)plVar2; + FUN_14002e770((longlong)plVar3); + } + pplVar8 = &local_res8; + FUN_14003bff0(local_140,(ulonglong *)pplVar8,uVar10,param_4); + if (plVar3 != (longlong *)0x0) { + local_158 = plVar3; + FUN_14002e6e0((int *)plVar3); + local_150 = 1; + plVar2 = plVar3 + 8; + *plVar2 = *plVar2 + -1; + if (*plVar2 == 0) { + FUN_14002e770((longlong)plVar3); + local_150 = 0; + FUN_14002b500((undefined4 *)plVar3,pplVar8,uVar10,param_4); + } + else { + FUN_14002e770((longlong)plVar3); + } + } + local_148[0] = 2; + if (local_140[0] != 0) { + plVar6 = *(longlong **)(local_140[0] + 0x38); + } + *(int *)plVar6 = (int)param_2; + local_d8 = 1; + FUN_140030200(plVar6,pplVar8,uVar10,param_4); + local_res8 = (longlong *)PTR_DAT_140155010; + FUN_140003170((longlong *)&local_res8,param_1 + 0x2b1,uVar10,param_4); + SVar11 = (SIZE_T)*(ushort *)(param_1 + 0x2b2); + puVar5 = FUN_140033450(&local_158,(longlong *)&local_res8,*(ushort *)(param_1 + 0x2b2),param_4); + local_98 = *(undefined4 *)(puVar5 + 1); + local_94 = *(undefined2 *)((longlong)puVar5 + 0xc); + local_90 = (undefined4)param_3; + puVar9 = local_148; + FUN_14007af60(param_1,puVar9,SVar11,param_4); + *(undefined1 *)(param_1 + 0x9d) = 1; + FUN_14003b870(&local_88); + FUN_14003b870(&local_d0); + local_res8 = &local_f8; + FUN_140095270(&local_f8); + if (local_f0 != 0) { + if ((longlong)local_e8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_e8 = local_e8 & 0xffffffff00000000; + } + FUN_14003b870(&local_120); + FUN_140056b00(local_130 + 1,puVar9,SVar11,param_4); + FUN_140056a80(local_130,puVar9,SVar11,param_4); + FUN_14002b570((longlong *)local_140,puVar9,SVar11,param_4); + } + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007e5c0.c b/decomp/Agent_Release_x64/full/functions/0x14007e5c0.c new file mode 100644 index 00000000..cf7e7d0f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007e5c0.c @@ -0,0 +1,169 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007e5c0 FUN_14007e5c0 + * Pseudocode, not original source. */ + +undefined8 FUN_14007e5c0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong *puVar1; + uint uVar2; + uint uVar3; + uint uVar4; + int *piVar5; + ulonglong uVar6; + uint *puVar7; + int *piVar8; + longlong *plVar9; + uint *puVar10; + undefined8 uVar11; + uint *puVar12; + uint uVar13; + uint uVar14; + undefined8 uVar16; + uint **ppuVar17; + uint *local_res8; + ulonglong uVar15; + + piVar5 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + piVar8 = piVar5; + FUN_14002e6e0(piVar5); + puVar1 = *(ulonglong **)(*(longlong *)(param_1 + 0x20) + 0x5d0); + if ((puVar1 == (ulonglong *)0x0) || (*puVar1 == 0)) goto LAB_14007e859; + uVar15 = 0; + uVar14 = 0; + uVar6 = uVar15; + if (puVar1 != (ulonglong *)0x0) { + uVar6 = *puVar1; + } + if (3 < *(int *)(uVar6 + 0x100)) goto LAB_14007e859; + FUN_140030200(piVar8,*(longlong *)(param_1 + 0x20),param_3,param_4); + puVar12 = (uint *)PTR_DAT_140155010; + local_res8 = (uint *)PTR_DAT_140155010; + uVar2 = FUN_140030080(L"Autoprune"); + uVar4 = 0; + uVar6 = uVar15; + if ((puVar12 != (uint *)0x0) && (uVar6 = 0, puVar12 != (uint *)PTR_DAT_140155010)) { + uVar6 = (ulonglong)*(uint *)((longlong)puVar12 + -8); + } + uVar3 = uVar2; + if ((((int)uVar2 <= (int)uVar6) && (uVar3 = uVar4, puVar12 != (uint *)0x0)) && + (puVar12 != (uint *)PTR_DAT_140155010)) { + uVar3 = *(uint *)((longlong)puVar12 + -8); + } + uVar13 = 1; + if (1 < (int)uVar3) { + uVar13 = uVar3; + } + uVar3 = uVar4; + if ((puVar12 != (uint *)0x0) && (puVar12 != (uint *)PTR_DAT_140155010)) { + uVar3 = *(uint *)((longlong)puVar12 + -8); + } + if ((int)uVar3 < (int)uVar13) { + if (puVar12 == (uint *)0x0) { + puVar12 = (uint *)PTR_DAT_140155010; + } + local_res8 = puVar12; + if ((int)uVar13 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar13 == 0) { + FUN_140003240((longlong *)&local_res8,uVar6,param_3,param_4); + } + else { + uVar3 = uVar4; + if ((puVar12 != (uint *)0x0) && (puVar12 != (uint *)PTR_DAT_140155010)) { + uVar3 = puVar12[-2]; + } + if (uVar13 != uVar3) { + puVar7 = (uint *)FUN_140030280((longlong)(int)uVar13 * 2 + 10); + if (puVar7 != (uint *)0x0) { + *puVar7 = 0; + puVar7[1] = 1; + } + *puVar7 = uVar13; + uVar3 = uVar4; + if ((puVar12 != (uint *)0x0) && (puVar12 != (uint *)PTR_DAT_140155010)) { + uVar3 = puVar12[-2]; + } + puVar10 = (uint *)PTR_DAT_140155010; + if ((int)uVar13 < (int)uVar3) { +LAB_14007e724: + if (puVar12 != (uint *)0x0) { + puVar10 = puVar12; + } + } + else { + uVar13 = uVar4; + if (puVar12 != (uint *)0x0) { + if (puVar12 != (uint *)PTR_DAT_140155010) { + uVar13 = puVar12[-2]; + } + goto LAB_14007e724; + } + } + uVar6 = (ulonglong)uVar13; + FUN_1400300b0(puVar7 + 2,puVar10,uVar13); + FUN_140003240((longlong *)&local_res8,puVar10,uVar6,param_4); + local_res8 = puVar7 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_res8); + puVar12 = local_res8; + puVar7 = local_res8; + if (local_res8 == (uint *)0x0) { + puVar7 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar7,L"Autoprune",uVar2); + puVar7 = puVar12; + if (puVar12 == (uint *)0x0) { + puVar7 = (uint *)PTR_DAT_140155010; + } + uVar4 = FUN_140030080((short *)puVar7); + uVar2 = uVar14; + if (0 < (int)uVar4) { + uVar2 = uVar4; + } + uVar4 = uVar14; + if ((puVar12 != (uint *)0x0) && (puVar12 != (uint *)PTR_DAT_140155010)) { + uVar4 = puVar12[-2]; + } + if (((int)uVar2 < (int)uVar4) || (uVar2 = uVar14, puVar12 == (uint *)0x0)) { +LAB_14007e7b9: + if (((puVar12 != (uint *)PTR_DAT_140155010) && (puVar12 != (uint *)0x0)) && + (puVar12 + -2 != (uint *)0x0)) { + puVar12[-2] = uVar2; + *(undefined2 *)((longlong)puVar12 + (longlong)(int)uVar2 * 2) = 0; + } + } + else if (puVar12 != (uint *)PTR_DAT_140155010) { + uVar2 = puVar12[-2]; + goto LAB_14007e7b9; + } + ppuVar17 = &local_res8; + uVar11 = 0xb; + uVar16 = 3; + plVar9 = *(longlong **)(param_1 + 0x20); + FUN_14007dca0(plVar9,0xb,(undefined *)0x3,(longlong **)ppuVar17); + if (((puVar12 != (uint *)0x0) && (puVar12 != (uint *)PTR_DAT_140155010)) && + (puVar12 + -2 != (uint *)0x0)) { + piVar8 = (int *)FUN_140030200(plVar9,uVar11,uVar16,ppuVar17); + FUN_14002e6e0(piVar8); + puVar7 = puVar12 + -1; + *puVar7 = *puVar7 - 1; + if (*puVar7 == 0) { + FUN_1400302f0(puVar12 + -2); + } + FUN_14002e770((longlong)piVar8); + } + puVar1 = *(ulonglong **)(*(longlong *)(param_1 + 0x20) + 0x5d0); + if (puVar1 != (ulonglong *)0x0) { + uVar15 = *puVar1; + } + FUN_1400a36a0(uVar15,4); +LAB_14007e859: + uVar11 = FUN_14002e770((longlong)piVar5); + return CONCAT71((int7)((ulonglong)uVar11 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007e880.c b/decomp/Agent_Release_x64/full/functions/0x14007e880.c new file mode 100644 index 00000000..c527ad91 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007e880.c @@ -0,0 +1,395 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007e880 FUN_14007e880 + * Pseudocode, not original source. */ + +void FUN_14007e880(longlong *param_1,double param_2,undefined *param_3,undefined *param_4) + +{ + undefined8 *puVar1; + double dVar2; + bool bVar3; + DWORD DVar4; + DWORD DVar5; + undefined *puVar6; + undefined *puVar7; + undefined **ppuVar8; + int *piVar9; + longlong *plVar10; + int *piVar11; + longlong *plVar12; + undefined8 in_RDX; + wchar_t *pwVar13; + char cVar14; + int *piVar15; + SIZE_T SVar16; + longlong lVar17; + undefined *puVar18; + undefined8 uVar19; + undefined *local_res10; + undefined *local_res18; + undefined *local_res20; + undefined *local_168; + int *local_160; + char local_158; + longlong *local_150; + undefined1 local_148; + undefined *local_140; + undefined *local_138; + undefined *local_130; + undefined *local_128; + undefined *local_120; + undefined *local_118; + undefined **local_110; + undefined1 local_108; + undefined **local_100; + undefined1 local_f8; + int *local_f0; + undefined1 local_e8; + undefined8 local_e0; + int *local_d8; + undefined1 local_d0; + int *local_c8; + undefined1 local_c0; + undefined **local_b8; + undefined1 local_b0; + int *local_a8; + undefined1 local_a0; + int *local_98; + undefined1 local_90; + int *local_88; + undefined1 local_80; + int *local_78; + undefined1 local_70; + + local_e0 = 0xfffffffffffffffe; + local_150 = param_1 + 0x95; + local_res18 = param_3; + FUN_14002e6e0((int *)local_150); + local_148 = 1; + (**(code **)(param_1[1] + 0x18))(); + bVar3 = false; + puVar18 = (undefined *)0x0; + puVar7 = puVar18; + if (param_1[0xad] != 0) { + puVar7 = *(undefined **)(param_1[0xad] + 0x38); + } + FUN_14002e6e0((int *)(puVar7 + 0x10)); + puVar6 = puVar18; + if (param_1[0xad] != 0) { + puVar6 = *(undefined **)(param_1[0xad] + 0x38); + } + *(int *)(puVar6 + 0x288) = *(int *)(puVar6 + 0x288) + 1; + LOCK(); + *(int *)(param_1 + 0xa2) = (int)param_1[0xa2] + 1; + UNLOCK(); + FUN_14002e770((longlong)(puVar7 + 0x10)); + DVar4 = GetTickCount(); + dVar2 = param_2 * 2.0 * 1000.0; + if (dVar2 <= 100000.0) { + dVar2 = 100000.0; + } + if (((char)param_1[0x2e4] != '\0') || ((int)param_1[0xcb] != 0)) { + puVar7 = puVar18; + if (param_1[0xad] != 0) { + puVar7 = *(undefined **)(param_1[0xad] + 0x38); + } + piVar15 = (int *)(puVar7 + 0x10); + local_88 = piVar15; + FUN_14002e6e0(piVar15); + local_80 = 1; + param_4 = (undefined *)(ulonglong)*(uint *)(param_1 + 0x2a1); + param_3 = &DAT_140100df0; + in_RDX = 0; + FUN_140072eb0((longlong)(param_1 + -0xe),0, + L"Client %d: CNetClient.Disconnect를 사용자가 콜 하였습니다.",param_4); + FUN_14002e770((longlong)piVar15); + } + plVar12 = param_1 + -0xe; + puVar7 = puVar18; + do { + piVar15 = (int *)(**(code **)(*plVar12 + 0x58))(plVar12); + local_160 = piVar15; + FUN_14002e6e0(piVar15); + local_158 = '\x01'; + if (((longlong *)param_1[0xac] == (longlong *)0x0) || + (lVar17 = *(longlong *)param_1[0xac], lVar17 == 0)) { + if ((((longlong *)param_1[0x2a0] != (longlong *)0x0) && (*(longlong *)param_1[0x2a0] != 0)) || + (((longlong *)param_1[0x296] != (longlong *)0x0 && (*(longlong *)param_1[0x296] != 0)))) { + FUN_140030200(0,in_RDX,param_3,param_4); + local_140 = PTR_DAT_140155010; + plVar10 = FUN_14002ff30((longlong *)&local_118,in_RDX,param_3,param_4); + param_3 = (undefined *)*plVar10; + if ((undefined *)*plVar10 == (undefined *)0x0) { + param_3 = PTR_DAT_140155010; + } + pwVar13 = L"Unstability in Disconnect #1! Process=%s"; + ppuVar8 = &local_140; + FUN_14001b7a0((longlong *)ppuVar8,L"Unstability in Disconnect #1! Process=%s",param_3, + param_4); + if (((local_118 != (undefined *)0x0) && (local_118 != PTR_DAT_140155010)) && + (local_118 + -8 != (undefined *)0x0)) { + ppuVar8 = (undefined **)FUN_140030200(ppuVar8,pwVar13,param_3,param_4); + local_b8 = ppuVar8; + FUN_14002e6e0((int *)ppuVar8); + local_b0 = 1; + piVar9 = (int *)(local_118 + -4); + *piVar9 = *piVar9 + -1; + if (*piVar9 == 0) { + FUN_1400302f0(local_118 + -8); + } + FUN_14002e770((longlong)ppuVar8); + } + FUN_140030200(ppuVar8,pwVar13,param_3,param_4); + puVar7 = local_140; + local_168 = PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_168 = puVar18; + } + if (local_140 != PTR_DAT_140155010) { + piVar9 = (int *)FUN_140030200(ppuVar8,pwVar13,param_3,param_4); + local_98 = piVar9; + FUN_14002e6e0(piVar9); + local_90 = 1; + FUN_140003240((longlong *)&local_168,pwVar13,param_3,param_4); + local_168 = puVar7; + if (((puVar7 != PTR_DAT_140155010) && (puVar7 != (undefined *)0x0)) && + (puVar7 != (undefined *)0x8)) { + *(int *)(puVar7 + -4) = *(int *)(puVar7 + -4) + 1; + } + FUN_14002e770((longlong)piVar9); + } + ppuVar8 = &local_168; + FUN_140033120((longlong *)ppuVar8,pwVar13,param_3,param_4); + if (((puVar7 != (undefined *)0x0) && (puVar7 != PTR_DAT_140155010)) && + (puVar7 + -8 != (undefined *)0x0)) { + piVar11 = (int *)FUN_140030200(ppuVar8,pwVar13,param_3,param_4); + local_78 = piVar11; + FUN_14002e6e0(piVar11); + local_70 = 1; + piVar9 = (int *)(puVar7 + -4); + *piVar9 = *piVar9 + -1; + if (*piVar9 == 0) { + FUN_1400302f0(puVar7 + -8); + } + FUN_14002e770((longlong)piVar11); + } + } + FUN_14007b7f0((longlong)plVar12,'\x01',(SIZE_T)param_3,param_4); + FUN_14002e770((longlong)piVar15); +LAB_14007f06d: + FUN_14002e770((longlong)local_150); + return; + } + if ((*(int *)(lVar17 + 0x100) == 5) && (param_1[0x2d5] == 0)) { + FUN_14007b7f0((longlong)plVar12,'\x01',(SIZE_T)param_3,param_4); + FUN_14002e770((longlong)local_160); + goto LAB_14007f06d; + } + if (DAT_14015c2d0 != '\0') { + FUN_14007b7f0((longlong)plVar12,'\x01',(SIZE_T)param_3,param_4); + FUN_14002e770((longlong)local_160); + goto LAB_14007f06d; + } + puVar6 = puVar18; + if (param_1[0xad] != 0) { + puVar6 = *(undefined **)(param_1[0xad] + 0x38); + } + if (*(longlong *)(puVar6 + 0x2b8) == 0) { + puVar7 = puVar18; + if ((undefined8 *)param_1[0xac] != (undefined8 *)0x0) { + puVar7 = *(undefined **)param_1[0xac]; + } + uVar19 = 5; + FUN_1400a36a0((longlong)puVar7,5); + FUN_140030200(puVar7,uVar19,param_3,param_4); + local_138 = PTR_DAT_140155010; + plVar10 = FUN_14002ff30((longlong *)&local_128,uVar19,param_3,param_4); + puVar7 = (undefined *)*plVar10; + if ((undefined *)*plVar10 == (undefined *)0x0) { + puVar7 = PTR_DAT_140155010; + } + pwVar13 = L"Unstability in Disconnect #2! Process=%s"; + ppuVar8 = &local_138; + FUN_14001b7a0((longlong *)ppuVar8,L"Unstability in Disconnect #2! Process=%s",puVar7,param_4); + if (((local_128 != (undefined *)0x0) && (local_128 != PTR_DAT_140155010)) && + (local_128 + -8 != (undefined *)0x0)) { + ppuVar8 = (undefined **)FUN_140030200(ppuVar8,pwVar13,puVar7,param_4); + local_100 = ppuVar8; + FUN_14002e6e0((int *)ppuVar8); + local_f8 = 1; + piVar15 = (int *)(local_128 + -4); + *piVar15 = *piVar15 + -1; + if (*piVar15 == 0) { + FUN_1400302f0(local_128 + -8); + } + FUN_14002e770((longlong)ppuVar8); + } + FUN_140030200(ppuVar8,pwVar13,puVar7,param_4); + puVar6 = local_138; + local_res20 = PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_res20 = puVar18; + } + if (local_138 != PTR_DAT_140155010) { + piVar15 = (int *)FUN_140030200(ppuVar8,pwVar13,puVar7,param_4); + local_f0 = piVar15; + FUN_14002e6e0(piVar15); + local_e8 = 1; + FUN_140003240((longlong *)&local_res20,pwVar13,puVar7,param_4); + local_res20 = puVar6; + if (((puVar6 != PTR_DAT_140155010) && (puVar6 != (undefined *)0x0)) && + (puVar6 != (undefined *)0x8)) { + *(int *)(puVar6 + -4) = *(int *)(puVar6 + -4) + 1; + } + FUN_14002e770((longlong)piVar15); + } + ppuVar8 = &local_res20; + FUN_140033120((longlong *)ppuVar8,pwVar13,puVar7,param_4); + if (((puVar6 != (undefined *)0x0) && (puVar6 != PTR_DAT_140155010)) && + (puVar6 + -8 != (undefined *)0x0)) { + piVar9 = (int *)FUN_140030200(ppuVar8,pwVar13,puVar7,param_4); + local_d8 = piVar9; + FUN_14002e6e0(piVar9); + local_d0 = 1; + piVar15 = (int *)(puVar6 + -4); + *piVar15 = *piVar15 + -1; + if (*piVar15 == 0) { + FUN_1400302f0(puVar6 + -8); + } + FUN_14002e770((longlong)piVar9); + } + FUN_14007b7f0((longlong)plVar12,'\x01',(SIZE_T)puVar7,param_4); + FUN_14002e770((longlong)local_160); + goto LAB_14007f06d; + } + DVar5 = GetTickCount(); + if (dVar2 < (double)(DVar5 - DVar4)) { + FUN_140030200(puVar6,in_RDX,param_3,param_4); + local_130 = PTR_DAT_140155010; + FUN_14002ff30((longlong *)&local_120,in_RDX,param_3,param_4); + puVar7 = puVar18; + if ((undefined8 *)param_1[0xac] != (undefined8 *)0x0) { + puVar7 = *(undefined **)param_1[0xac]; + } + lVar17 = param_1[0x2d5]; + SVar16 = (SIZE_T)*(uint *)(puVar7 + 0x100); + pwVar13 = + L"CNetClient.Disconnect seems to be freezed ## State=%d##GarbageCount=%d##Process=%s"; + ppuVar8 = &local_130; + FUN_14001b7a0((longlong *)ppuVar8, + L"CNetClient.Disconnect seems to be freezed ## State=%d##GarbageCount=%d##Process=%s" + ,SVar16,lVar17); + if (((local_120 != (undefined *)0x0) && (local_120 != PTR_DAT_140155010)) && + (local_120 + -8 != (undefined *)0x0)) { + ppuVar8 = (undefined **)FUN_140030200(ppuVar8,pwVar13,SVar16,lVar17); + local_110 = ppuVar8; + FUN_14002e6e0((int *)ppuVar8); + local_108 = 1; + piVar15 = (int *)(local_120 + -4); + *piVar15 = *piVar15 + -1; + if (*piVar15 == 0) { + FUN_1400302f0(local_120 + -8); + } + FUN_14002e770((longlong)ppuVar8); + } + FUN_140030200(ppuVar8,pwVar13,SVar16,lVar17); + puVar7 = local_130; + local_res10 = PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_res10 = puVar18; + } + if (local_130 != PTR_DAT_140155010) { + piVar15 = (int *)FUN_140030200(ppuVar8,pwVar13,SVar16,lVar17); + local_a8 = piVar15; + FUN_14002e6e0(piVar15); + local_a0 = 1; + FUN_140003240((longlong *)&local_res10,pwVar13,SVar16,lVar17); + local_res10 = puVar7; + if (((puVar7 != PTR_DAT_140155010) && (puVar7 != (undefined *)0x0)) && + (puVar7 != (undefined *)0x8)) { + *(int *)(puVar7 + -4) = *(int *)(puVar7 + -4) + 1; + } + FUN_14002e770((longlong)piVar15); + } + FUN_140033120((longlong *)&local_res10,pwVar13,SVar16,lVar17); + if ((undefined8 *)param_1[0xac] != (undefined8 *)0x0) { + puVar18 = *(undefined **)param_1[0xac]; + } + uVar19 = 0; + FUN_1400a36a0((longlong)puVar18,5); + uVar19 = CONCAT71((int7)((ulonglong)uVar19 >> 8),1); + FUN_14007b7f0((longlong)plVar12,'\x01',SVar16,lVar17); + if (((puVar7 != (undefined *)0x0) && (puVar7 != PTR_DAT_140155010)) && + (puVar7 + -8 != (undefined *)0x0)) { + piVar9 = (int *)FUN_140030200(plVar12,uVar19,SVar16,lVar17); + local_c8 = piVar9; + FUN_14002e6e0(piVar9); + local_c0 = 1; + piVar15 = (int *)(puVar7 + -4); + *piVar15 = *piVar15 + -1; + if (*piVar15 == 0) { + FUN_1400302f0(puVar7 + -8); + } + FUN_14002e770((longlong)piVar9); + } + FUN_14002e770((longlong)local_160); + goto LAB_14007f06d; + } + if (!bVar3) { + bVar3 = true; + puVar6 = puVar18; + if (param_1[0xad] != 0) { + puVar6 = *(undefined **)(param_1[0xad] + 0x38); + } + FUN_14002e820((longlong)(puVar6 + 0x10)); + puVar6 = puVar18; + if ((undefined8 *)param_1[0xac] != (undefined8 *)0x0) { + puVar6 = *(undefined **)param_1[0xac]; + } + puVar1 = (undefined8 *)param_1[0xac]; + if (*(int *)(puVar6 + 0x100) == 3) { + puVar6 = puVar18; + if (puVar1 != (undefined8 *)0x0) { + puVar6 = (undefined *)*puVar1; + } + uVar19 = (**(code **)(*param_1 + 0x1c0))(param_1); + *(undefined8 *)(puVar6 + 0xd0) = uVar19; + puVar6 = puVar18; + if ((undefined8 *)param_1[0xac] != (undefined8 *)0x0) { + puVar6 = *(undefined **)param_1[0xac]; + } + *(double *)(puVar6 + 0xd8) = param_2; + param_3 = &DAT_14015de10; + in_RDX = 1; + param_4 = local_res18; + (**(code **)(param_1[0x2f5] + 0x80))(); + } + else { + puVar6 = puVar18; + if (puVar1 != (undefined8 *)0x0) { + puVar6 = (undefined *)*puVar1; + } + if (*(int *)(puVar6 + 0x100) < 3) { + puVar6 = puVar18; + if ((undefined8 *)param_1[0xac] != (undefined8 *)0x0) { + puVar6 = *(undefined **)param_1[0xac]; + } + in_RDX = 4; + FUN_1400a36a0((longlong)puVar6,4); + } + } + } + piVar15 = local_160; + cVar14 = local_158; + if (0 < (int)puVar7) { + FUN_14002e770((longlong)local_160); + Sleep(10); + cVar14 = '\0'; + } + puVar7 = (undefined *)(ulonglong)((int)puVar7 + 1); + if (cVar14 != '\0') { + FUN_14002e770((longlong)piVar15); + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007f0a0.c b/decomp/Agent_Release_x64/full/functions/0x14007f0a0.c new file mode 100644 index 00000000..44cc7b9d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007f0a0.c @@ -0,0 +1,63 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007f0a0 FUN_14007f0a0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14007f0a0(longlong *param_1,int *param_2,byte *param_3,byte *param_4) + +{ + char cVar1; + undefined8 uVar2; + int *piVar3; + int *piVar4; + undefined1 auStackY_1b8 [32]; + byte local_188; + byte local_187 [3]; + int local_184; + int local_180 [2]; + undefined8 local_178; + undefined4 local_168 [78]; + int *local_30; + ulonglong local_18; + + local_178 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStackY_1b8; + (**(code **)(param_1[0xf] + 0x18))(); + local_184 = 0; + local_180[0] = 0; + uVar2 = (**(code **)(*param_1 + 0x58))(param_1); + FUN_1400a1e40(local_168,uVar2); + piVar3 = local_30; + uVar2 = FUN_140079de0(param_1,local_30,(SIZE_T)param_3,param_4); + cVar1 = (char)uVar2; + piVar4 = local_30; + while (cVar1 != '\0') { + local_187[0] = 0; + local_188 = 0; + param_4 = &local_188; + param_3 = local_187; + local_30 = piVar4; + FUN_140075d60(param_1,piVar4,param_3,param_4,&local_184,local_180); + piVar3 = piVar4; + if (local_188 != 0) { + piVar3 = local_30; + FUN_14007b390(param_1,local_30); + } + if (local_187[0] != 0) break; + FUN_1400a1e80((longlong)local_168,piVar3,param_3,param_4); + uVar2 = (**(code **)(*param_1 + 0x58))(param_1); + FUN_1400a1e40(local_168,uVar2); + piVar3 = local_30; + uVar2 = FUN_140079de0(param_1,local_30,(SIZE_T)param_3,param_4); + piVar4 = local_30; + cVar1 = (char)uVar2; + } + FUN_1400a1e80((longlong)local_168,piVar3,param_3,param_4); + if (param_2 != (int *)0x0) { + *param_2 = local_184; + param_2[1] = local_180[0]; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007f1f0.c b/decomp/Agent_Release_x64/full/functions/0x14007f1f0.c new file mode 100644 index 00000000..a299bfe4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007f1f0.c @@ -0,0 +1,502 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007f1f0 FUN_14007f1f0 + * Pseudocode, not original source. */ + +void FUN_14007f1f0(longlong *param_1,uint param_2,SIZE_T param_3,undefined *param_4) + +{ + undefined8 *puVar1; + char cVar2; + uint uVar3; + uint uVar4; + uint uVar5; + uint uVar6; + int iVar7; + longlong *plVar8; + longlong *plVar9; + ulonglong uVar10; + uint *puVar11; + int *piVar12; + int *piVar13; + undefined **ppuVar14; + undefined ***pppuVar15; + longlong lVar16; + longlong **pplVar17; + uint *puVar18; + undefined8 uVar19; + uint *puVar20; + uint uVar21; + undefined *puVar22; + undefined *puVar23; + ulonglong uVar24; + short *psVar25; + longlong *plVar26; + longlong *local_res8; + uint local_res10; + uint *local_res18; + longlong *local_res20; + undefined **local_228; + undefined4 local_220; + undefined2 local_21c; + undefined *local_218; + undefined *local_210; + undefined *local_208; + undefined *local_200; + longlong *local_1f8; + undefined1 local_1f0; + undefined *local_1e8; + undefined *local_1e0; + undefined4 local_1d8 [2]; + ulonglong local_1d0 [2]; + longlong local_1c0 [2]; + undefined **local_1b0; + undefined8 local_1a8; + undefined8 local_1a0; + undefined8 local_198; + undefined8 local_190; + longlong local_188; + longlong local_180; + ulonglong local_178; + undefined4 local_168; + undefined **local_160; + undefined8 local_158; + undefined8 local_150; + undefined8 local_148; + undefined8 local_140; + undefined **local_130; + undefined4 local_128; + undefined2 local_124; + undefined **local_118; + undefined8 local_110; + undefined8 local_108; + undefined8 local_100; + undefined8 local_f8; + int *local_e8; + undefined1 local_e0; + int *local_d8; + undefined1 local_d0; + longlong *local_c8; + undefined1 local_c0; + undefined8 local_b8; + longlong *local_b0; + undefined1 local_a8; + int *local_a0; + undefined1 local_98; + int *local_90; + undefined1 local_88; + undefined **local_80; + undefined1 local_78; + longlong *local_70; + + local_b8 = 0xfffffffffffffffe; + plVar26 = (longlong *)0x0; + uVar5 = 0; + plVar8 = plVar26; + if ((undefined8 *)param_1[0x2ae] != (undefined8 *)0x0) { + plVar8 = *(longlong **)param_1[0x2ae]; + } + if ((char)plVar8[0x10] != '\x01') { + return; + } + plVar8 = plVar26; + if ((undefined8 *)param_1[0x2ae] != (undefined8 *)0x0) { + plVar8 = *(longlong **)param_1[0x2ae]; + } + uVar19 = 0; + local_res10 = param_2; + FUN_1400ac730(plVar8,'\0'); + local_1d0[0] = 0; + local_1c0[0] = 0; + local_1c0[1] = 0; + local_1a8 = 0; + local_1a0 = 0; + local_198 = 0; + local_190 = 0; + local_1b0 = Proud::ByteArray::vftable; + local_178 = 0; + local_180 = 0; + local_188 = 0; + local_158 = 0; + local_150 = 0; + local_148 = 0; + local_140 = 0; + local_160 = Proud::ByteArray::vftable; + local_130 = Proud::AddrPort::vftable; + local_128 = 0; + local_124 = 0; + local_110 = 0; + local_108 = 0; + local_100 = 0; + local_f8 = 0; + local_118 = Proud::ByteArray::vftable; + local_res20 = (longlong *)FUN_140030280(0x60); + plVar8 = plVar26; + if (local_res20 != (longlong *)0x0) { + plVar8 = FUN_14003bef0(local_res20,uVar19,param_3,param_4); + } + if (plVar8 == (longlong *)0x0) { + local_res20 = (longlong *)0x0; + plVar9 = plVar26; + } + else { + plVar9 = (longlong *)FUN_140030280(0x48); + local_70 = plVar9; + if (plVar9 != (longlong *)0x0) { + local_res20 = plVar9; + uVar10 = FUN_14002e790(); + param_3 = CONCAT71((int7)(param_3 >> 8),1); + FUN_14002e600((undefined4 *)plVar9,uVar10 & 0xffffffff,param_3,param_4); + } + local_res20 = plVar9; + FUN_14002e6e0((int *)plVar9); + plVar9[8] = 1; + plVar9[7] = (longlong)plVar8; + FUN_14002e770((longlong)plVar9); + } + pplVar17 = &local_res20; + FUN_14003bff0(local_1d0,(ulonglong *)pplVar17,param_3,param_4); + if (plVar9 != (longlong *)0x0) { + local_1f8 = plVar9; + FUN_14002e6e0((int *)plVar9); + local_1f0 = 1; + plVar8 = plVar9 + 8; + *plVar8 = *plVar8 + -1; + if (*plVar8 == 0) { + FUN_14002e770((longlong)plVar9); + local_1f0 = 0; + FUN_14002b500((undefined4 *)plVar9,pplVar17,param_3,param_4); + } + else { + FUN_14002e770((longlong)plVar9); + local_1f0 = 0; + } + } + local_1d8[0] = 0xd; + plVar8 = plVar26; + if (local_1d0[0] != 0) { + plVar8 = *(longlong **)(local_1d0[0] + 0x38); + } + *(undefined4 *)plVar8 = 0x1c; + local_168 = 1; + FUN_14007af60(param_1,local_1d8,param_3,param_4); + plVar8 = plVar26; + if ((undefined8 *)param_1[0x2ae] != (undefined8 *)0x0) { + plVar8 = *(longlong **)param_1[0x2ae]; + } + puVar1 = (undefined8 *)param_1[0x2ae]; + if ((int)plVar8[0x28] < DAT_140155088) { + plVar8 = plVar26; + if (puVar1 != (undefined8 *)0x0) { + plVar8 = (longlong *)*puVar1; + } + plVar8[0x20] = DAT_14015c010; + plVar8 = plVar26; + if ((undefined8 *)param_1[0x2ae] != (undefined8 *)0x0) { + plVar8 = *(longlong **)param_1[0x2ae]; + } + *(int *)(plVar8 + 0x28) = (int)plVar8[0x28] + 1; + } + else { + plVar8 = plVar26; + if (puVar1 != (undefined8 *)0x0) { + plVar8 = (longlong *)*puVar1; + } + plVar8[0x20] = DAT_140155078; + } + if (((char)param_1[0x2f2] == '\0') && ((int)param_1[0xd9] == 0)) goto LAB_14007fb42; + FUN_140071a20((longlong)param_1,(longlong *)&local_210,param_3,param_4); + plVar8 = param_1 + 0xe; + (**(code **)(*plVar8 + 0x1c0))(plVar8); + if (((longlong *)param_1[0x2a4] != (longlong *)0x0) && + ((lVar16 = *(longlong *)param_1[0x2a4], lVar16 != 0 && (lVar16 != 0x40)))) { + (**(code **)(*plVar8 + 0x1c0))(plVar8); + } + if ((((longlong *)param_1[0x2a4] == (longlong *)0x0) || + (lVar16 = *(longlong *)param_1[0x2a4], lVar16 == 0)) || (lVar16 == 0x40)) { + local_220 = DAT_1401553d0; + local_21c = DAT_1401553d4; + } + else { + plVar9 = plVar26; + if (lVar16 != 0) { + plVar9 = (longlong *)(lVar16 + -0x40); + } + local_220 = (undefined4)plVar9[0x26]; + local_21c = *(undefined2 *)((longlong)plVar9 + 0x134); + } + local_228 = Proud::AddrPort::vftable; + ppuVar14 = &local_200; + pppuVar15 = &local_228; + plVar9 = FUN_140033b30((longlong)pppuVar15,(longlong *)ppuVar14,param_3,param_4); + psVar25 = (short *)*plVar9; + if ((short *)*plVar9 == (short *)0x0) { + psVar25 = (short *)PTR_DAT_140155010; + } + FUN_140030200(pppuVar15,ppuVar14,param_3,param_4); + puVar20 = (uint *)PTR_DAT_140155010; + local_res18 = (uint *)PTR_DAT_140155010; + uVar3 = FUN_140030080(psVar25); + plVar9 = plVar26; + if ((puVar20 != (uint *)0x0) && (plVar9 = (longlong *)0x0, puVar20 != (uint *)PTR_DAT_140155010)) + { + plVar9 = (longlong *)(ulonglong)*(uint *)((longlong)puVar20 + -8); + } + uVar4 = uVar3; + if ((((int)uVar3 <= (int)plVar9) && (uVar4 = uVar5, puVar20 != (uint *)0x0)) && + (puVar20 != (uint *)PTR_DAT_140155010)) { + uVar4 = *(uint *)((longlong)puVar20 + -8); + } + uVar21 = 1; + if (1 < (int)uVar4) { + uVar21 = uVar4; + } + uVar4 = uVar5; + if ((puVar20 != (uint *)0x0) && (puVar20 != (uint *)PTR_DAT_140155010)) { + uVar4 = *(uint *)((longlong)puVar20 + -8); + } + uVar6 = 0; + if ((int)uVar4 < (int)uVar21) { + if (puVar20 == (uint *)0x0) { + puVar20 = (uint *)PTR_DAT_140155010; + } + local_res18 = puVar20; + if ((int)uVar21 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar21 == 0) { + FUN_140003240((longlong *)&local_res18,plVar9,param_3,param_4); + } + else { + uVar4 = uVar6; + if ((puVar20 != (uint *)0x0) && (puVar20 != (uint *)PTR_DAT_140155010)) { + uVar4 = puVar20[-2]; + } + if (uVar21 != uVar4) { + puVar11 = (uint *)FUN_140030280((longlong)(int)uVar21 * 2 + 10); + if (puVar11 != (uint *)0x0) { + *puVar11 = 0; + puVar11[1] = 1; + } + *puVar11 = uVar21; + uVar4 = uVar6; + if ((puVar20 != (uint *)0x0) && (puVar20 != (uint *)PTR_DAT_140155010)) { + uVar4 = puVar20[-2]; + } + puVar18 = (uint *)PTR_DAT_140155010; + if ((int)uVar21 < (int)uVar4) { +LAB_14007f68a: + if (puVar20 != (uint *)0x0) { + puVar18 = puVar20; + } + } + else { + uVar21 = uVar5; + if (puVar20 != (uint *)0x0) { + if (puVar20 != (uint *)PTR_DAT_140155010) { + uVar21 = puVar20[-2]; + } + goto LAB_14007f68a; + } + } + uVar10 = (ulonglong)uVar21; + FUN_1400300b0(puVar11 + 2,puVar18,uVar21); + FUN_140003240((longlong *)&local_res18,puVar18,uVar10,param_4); + local_res18 = puVar11 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_res18); + puVar20 = local_res18; + puVar11 = local_res18; + if (local_res18 == (uint *)0x0) { + puVar11 = (uint *)PTR_DAT_140155010; + } + puVar18 = (uint *)(ulonglong)uVar3; + FUN_1400300b0(puVar11,psVar25,uVar3); + puVar11 = puVar20; + if (puVar20 == (uint *)0x0) { + puVar11 = (uint *)PTR_DAT_140155010; + } + uVar5 = FUN_140030080((short *)puVar11); + plVar9 = plVar26; + if (0 < (int)uVar5) { + plVar9 = (longlong *)(ulonglong)uVar5; + } + if ((puVar20 != (uint *)0x0) && (puVar20 != (uint *)PTR_DAT_140155010)) { + uVar6 = puVar20[-2]; + } + if (((int)plVar9 < (int)uVar6) || (plVar9 = plVar26, puVar20 == (uint *)0x0)) { +LAB_14007f726: + if (((puVar20 != (uint *)PTR_DAT_140155010) && (puVar20 != (uint *)0x0)) && + (puVar18 = puVar20 + -2, puVar18 != (uint *)0x0)) { + *puVar18 = (uint)plVar9; + *(undefined2 *)((longlong)puVar20 + (longlong)(int)(uint)plVar9 * 2) = 0; + } + } + else if (puVar20 != (uint *)PTR_DAT_140155010) { + plVar9 = (longlong *)(ulonglong)puVar20[-2]; + goto LAB_14007f726; + } + if (((local_200 != (undefined *)0x0) && (local_200 != PTR_DAT_140155010)) && + (local_200 + -8 != (undefined *)0x0)) { + piVar12 = (int *)FUN_140030200(PTR_DAT_140155010,plVar9,puVar18,param_4); + local_a0 = piVar12; + FUN_14002e6e0(piVar12); + local_98 = 1; + piVar13 = (int *)(local_200 + -4); + *piVar13 = *piVar13 + -1; + if (*piVar13 == 0) { + FUN_1400302f0(local_200 + -8); + } + FUN_14002e770((longlong)piVar12); + } + local_res8 = (longlong *)((ulonglong)local_res8 & 0xffffffffffffff00); + local_200 = PTR_DAT_140155010; + cVar2 = (**(code **)(*plVar8 + 0x158))(plVar8,&local_res8); + uVar5 = 1; + if (cVar2 != '\0') { + uVar5 = 1; + if ((char)local_res8 == '\0') { + uVar5 = 2; + } + } + plVar8 = (longlong *)(**(code **)(*plVar8 + 0xb0))(plVar8,&local_1e8); + piVar13 = (int *)*plVar8; + if (piVar13 == (int *)0x0) { + iVar7 = 0; + } + else if (piVar13 == (int *)PTR_DAT_140155010) { + iVar7 = 0; + } + else { + iVar7 = piVar13[-2]; + } + puVar23 = PTR_DAT_140155010; + if (((local_1e8 != (undefined *)0x0) && (local_1e8 != PTR_DAT_140155010)) && + (local_1e8 + -8 != (undefined *)0x0)) { + piVar13 = (int *)FUN_140030200(piVar13,PTR_DAT_140155010,puVar18,param_4); + local_e8 = piVar13; + FUN_14002e6e0(piVar13); + local_e0 = 1; + piVar12 = (int *)(local_1e8 + -4); + *piVar12 = *piVar12 + -1; + if (*piVar12 == 0) { + FUN_1400302f0(local_1e8 + -8); + } + FUN_14002e770((longlong)piVar13); + } + if (iVar7 != 0) { + uVar5 = uVar5 + 1; + } + FUN_140030200(piVar13,puVar23,puVar18,param_4); + local_218 = PTR_DAT_140155010; + FUN_14002ff30((longlong *)&local_1e0,puVar23,puVar18,param_4); + (**(code **)(param_1[0xe] + 0xb0))(); + if (param_1[0xbb] == 0) { + lVar16 = 0; + } + else { + lVar16 = *(longlong *)(param_1[0xbb] + 0x38); + } + uVar24 = (ulonglong)*(uint *)(lVar16 + 0x2a8); + uVar10 = (ulonglong)local_res10; + ppuVar14 = &local_218; + FUN_14001b7a0((longlong *)ppuVar14, + L"(first chance) to-server UDP punch lost##Reason:%d##CliInstCount=%d##RecentElapTime=%3.3f##DisconnedCount=%d##recv count=%d##last ok recv interval=%3.3f##Recurred:%d##LocalIP:%s##UDP kept time:%3.3f##Time diff since RecvIssue:%3.3f##NAT name=%s##%s##Process=%s" + ,uVar10,uVar24); + if (((local_208 != (undefined *)0x0) && (local_208 != PTR_DAT_140155010)) && + (local_208 + -8 != (undefined *)0x0)) { + ppuVar14 = (undefined **)FUN_140030200(ppuVar14,PTR_DAT_140155010,uVar10,uVar24); + local_80 = ppuVar14; + FUN_14002e6e0((int *)ppuVar14); + local_78 = 1; + piVar13 = (int *)(local_208 + -4); + *piVar13 = *piVar13 + -1; + if (*piVar13 == 0) { + FUN_1400302f0(local_208 + -8); + } + FUN_14002e770((longlong)ppuVar14); + } + local_208 = PTR_DAT_140155010; + if (((local_1e0 != (undefined *)0x0) && (local_1e0 != PTR_DAT_140155010)) && + (local_1e0 + -8 != (undefined *)0x0)) { + piVar12 = (int *)FUN_140030200(ppuVar14,PTR_DAT_140155010,uVar10,uVar24); + local_d8 = piVar12; + FUN_14002e6e0(piVar12); + local_d0 = 1; + piVar13 = (int *)(local_1e0 + -4); + *piVar13 = *piVar13 + -1; + if (*piVar13 == 0) { + FUN_1400302f0(local_1e0 + -8); + } + FUN_14002e770((longlong)piVar12); + } + puVar23 = local_218; + puVar22 = &DAT_14011ae80; + uVar10 = (ulonglong)uVar5; + plVar8 = param_1; + param_4 = local_218; + FUN_140073400((longlong)param_1,uVar10,L"%s",local_218); + if (((puVar23 != (undefined *)0x0) && (puVar23 != PTR_DAT_140155010)) && + (puVar23 + -8 != (undefined *)0x0)) { + plVar8 = (longlong *)FUN_140030200(plVar8,uVar10,puVar22,param_4); + local_c8 = plVar8; + FUN_14002e6e0((int *)plVar8); + local_c0 = 1; + piVar13 = (int *)(puVar23 + -4); + *piVar13 = *piVar13 + -1; + if (*piVar13 == 0) { + FUN_1400302f0(puVar23 + -8); + } + FUN_14002e770((longlong)plVar8); + } + puVar20 = local_res18; + if (((local_res18 != (uint *)0x0) && (local_res18 != (uint *)PTR_DAT_140155010)) && + (puVar11 = local_res18 + -2, puVar11 != (uint *)0x0)) { + plVar8 = (longlong *)FUN_140030200(plVar8,uVar10,puVar22,param_4); + local_b0 = plVar8; + FUN_14002e6e0((int *)plVar8); + local_a8 = 1; + puVar20 = puVar20 + -1; + *puVar20 = *puVar20 - 1; + if (*puVar20 == 0) { + FUN_1400302f0(puVar11); + } + FUN_14002e770((longlong)plVar8); + } + if (((local_210 != (undefined *)0x0) && (local_210 != PTR_DAT_140155010)) && + (local_210 + -8 != (undefined *)0x0)) { + piVar12 = (int *)FUN_140030200(plVar8,uVar10,puVar22,param_4); + local_90 = piVar12; + FUN_14002e6e0(piVar12); + local_88 = 1; + piVar13 = (int *)(local_210 + -4); + *piVar13 = *piVar13 + -1; + if (*piVar13 == 0) { + FUN_1400302f0(local_210 + -8); + } + FUN_14002e770((longlong)piVar12); + } +LAB_14007fb42: + puVar23 = &DAT_14015de10; + uVar19 = 1; + (**(code **)(param_1[0x303] + 0x50))(); + FUN_14003b870(&local_118); + FUN_14003b870(&local_160); + local_res8 = &local_188; + FUN_140095270(&local_188); + if (local_180 != 0) { + if ((longlong)local_178 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_178 = local_178 & 0xffffffff00000000; + } + FUN_14003b870(&local_1b0); + FUN_140056b00(local_1c0 + 1,uVar19,puVar23,param_4); + FUN_140056a80(local_1c0,uVar19,puVar23,param_4); + FUN_14002b570((longlong *)local_1d0,uVar19,puVar23,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007fbf0.c b/decomp/Agent_Release_x64/full/functions/0x14007fbf0.c new file mode 100644 index 00000000..94bddaa3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007fbf0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007fbf0 FUN_14007fbf0 + * Pseudocode, not original source. */ + +void FUN_14007fbf0(longlong *param_1,int *param_2,byte *param_3,byte *param_4) + +{ + char cVar1; + int *piVar2; + longlong lVar3; + + piVar2 = param_2; + if (((double)param_1[699] != -1.0) && + (cVar1 = FUN_14003a4e0((longlong)(param_1 + 0x2b6)), cVar1 == '\0')) { + lVar3 = (**(code **)(*param_1 + 0x1c0))(param_1); + param_1[699] = lVar3; + } + FUN_14007b430(param_1 + -0xe,piVar2,(SIZE_T)param_3,param_4); + FUN_14007f0a0(param_1 + -0xe,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007fc60.c b/decomp/Agent_Release_x64/full/functions/0x14007fc60.c new file mode 100644 index 00000000..d19cdc85 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007fc60.c @@ -0,0 +1,138 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007fc60 FUN_14007fc60 + * Pseudocode, not original source. */ + +void FUN_14007fc60(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong *plVar2; + ulonglong uVar3; + longlong *plVar4; + undefined8 uVar5; + longlong **pplVar6; + undefined4 *puVar7; + int iVar8; + undefined4 uVar9; + undefined4 uVar10; + longlong *local_res20; + undefined4 local_128 [2]; + ulonglong local_120 [2]; + longlong local_110 [2]; + undefined **local_100; + undefined8 local_f8; + undefined8 local_f0; + undefined8 local_e8; + undefined8 local_e0; + longlong local_d8; + longlong local_d0; + ulonglong local_c8; + undefined4 local_b8; + undefined **local_b0; + undefined8 local_a8; + undefined8 local_a0; + undefined8 local_98; + undefined8 local_90; + undefined **local_80; + undefined4 local_78; + undefined2 local_74; + undefined **local_68; + undefined8 local_60; + undefined8 local_58; + undefined8 local_50; + undefined8 local_48; + undefined8 local_38; + + iVar8 = (int)param_3; + local_38 = 0xfffffffffffffffe; + plVar4 = (longlong *)0x0; + local_120[0] = 0; + local_110[0] = 0; + local_110[1] = 0; + local_f8 = 0; + local_f0 = 0; + local_e8 = 0; + local_e0 = 0; + local_100 = Proud::ByteArray::vftable; + local_c8 = 0; + local_d0 = 0; + local_d8 = 0; + local_a8 = 0; + local_a0 = 0; + local_98 = 0; + local_90 = 0; + local_b0 = Proud::ByteArray::vftable; + local_80 = Proud::AddrPort::vftable; + local_78 = 0; + local_74 = 0; + local_60 = 0; + local_58 = 0; + local_50 = 0; + local_48 = 0; + local_68 = Proud::ByteArray::vftable; + uVar5 = param_2; + local_res20 = (longlong *)FUN_140030280(0x60); + plVar1 = plVar4; + if (local_res20 != (longlong *)0x0) { + plVar1 = FUN_14003bef0(local_res20,uVar5,param_3,param_4); + } + if (plVar1 == (longlong *)0x0) { + local_res20 = (longlong *)0x0; + plVar2 = plVar4; + } + else { + plVar2 = (longlong *)FUN_140030280(0x48); + if (plVar2 != (longlong *)0x0) { + local_res20 = plVar2; + uVar3 = FUN_14002e790(); + uVar10 = (undefined4)(param_3 >> 0x20); + uVar9 = CONCAT31((int3)(param_3 >> 8),1); + FUN_14002e600((undefined4 *)plVar2,uVar3 & 0xffffffff,CONCAT44(uVar10,uVar9),param_4); + param_3 = CONCAT44(uVar10,uVar9); + } + local_res20 = plVar2; + FUN_14002e6e0((int *)plVar2); + plVar2[8] = 1; + plVar2[7] = (longlong)plVar1; + FUN_14002e770((longlong)plVar2); + } + pplVar6 = &local_res20; + FUN_14003bff0(local_120,(ulonglong *)pplVar6,param_3,param_4); + if (plVar2 != (longlong *)0x0) { + FUN_14002e6e0((int *)plVar2); + plVar1 = plVar2 + 8; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + FUN_14002e770((longlong)plVar2); + FUN_14002b500((undefined4 *)plVar2,pplVar6,param_3,param_4); + } + else { + FUN_14002e770((longlong)plVar2); + } + } + local_128[0] = 0xb; + if (local_120[0] != 0) { + plVar4 = *(longlong **)(local_120[0] + 0x38); + } + *(int *)plVar4 = iVar8; + local_b8 = (undefined4)param_2; + puVar7 = local_128; + FUN_14007af60(param_1,puVar7,param_3,param_4); + FUN_14003b870(&local_68); + FUN_14003b870(&local_b0); + local_res20 = &local_d8; + FUN_140095270(&local_d8); + if (local_d0 != 0) { + if ((longlong)local_c8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_c8 = local_c8 & 0xffffffff00000000; + } + FUN_14003b870(&local_100); + FUN_140056b00(local_110 + 1,puVar7,param_3,param_4); + FUN_140056a80(local_110,puVar7,param_3,param_4); + FUN_14002b570((longlong *)local_120,puVar7,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007fe90.c b/decomp/Agent_Release_x64/full/functions/0x14007fe90.c new file mode 100644 index 00000000..2648092f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007fe90.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007fe90 FUN_14007fe90 + * Pseudocode, not original source. */ + +longlong * FUN_14007fe90(undefined8 param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + longlong *plVar1; + longlong *plVar2; + + plVar1 = operator_new(0x1900); + plVar2 = (longlong *)0x0; + if (plVar1 != (longlong *)0x0) { + plVar2 = FUN_14007d410(plVar1,param_2,param_3,param_4); + } + if (plVar2 != (longlong *)0x0) { + plVar2 = plVar2 + 0xe; + } + return plVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007fed0.c b/decomp/Agent_Release_x64/full/functions/0x14007fed0.c new file mode 100644 index 00000000..d6d5073c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007fed0.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007fed0 FUN_14007fed0 + * Pseudocode, not original source. */ + +void FUN_14007fed0(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined *param_4) + +{ + longlong lVar1; + longlong lVar2; + double dVar3; + + dVar3 = (double)(**(code **)(param_1[0xe] + 0x1c0))(param_1 + 0xe); + lVar2 = 0; + lVar1 = lVar2; + if ((longlong *)param_1[0x2ae] != (longlong *)0x0) { + lVar1 = *(longlong *)param_1[0x2ae]; + } + if (*(char *)(lVar1 + 0x80) != '\0') { + if ((longlong *)param_1[0x2ae] != (longlong *)0x0) { + lVar2 = *(longlong *)param_1[0x2ae]; + } + if (DAT_1401550f8 * 10.0 < dVar3 - *(double *)(lVar2 + 0x180)) { + FUN_14007f1f0(param_1,0x1c,param_3,param_4); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14007ff50.c b/decomp/Agent_Release_x64/full/functions/0x14007ff50.c new file mode 100644 index 00000000..b16067ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14007ff50.c @@ -0,0 +1,69 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14007ff50 FUN_14007ff50 + * Pseudocode, not original source. */ + +void FUN_14007ff50(longlong *param_1,int param_2,SIZE_T param_3,undefined *param_4) + +{ + int iVar1; + int *piVar2; + longlong lVar3; + longlong *plVar4; + longlong lVar5; + undefined1 *puVar6; + undefined1 local_res8 [8]; + + local_res8[0] = 0; + puVar6 = local_res8; + iVar1 = (**(code **)(*param_1 + 0x108))(); + if (iVar1 == 2) { + piVar2 = (int *)(**(code **)(param_1[-0xe] + 0x58))(param_1 + -0xe); + FUN_14002e6e0(piVar2); + if (param_2 == 1) { + FUN_140067060((longlong)(param_1 + -0xe),0x1e,param_3,param_4); + } + else if (param_2 == 2) { + FUN_14007f1f0(param_1 + -0xe,0x1e,param_3,param_4); + } + else if (param_2 == 3) { + (**(code **)(param_1[1] + 0x10))(); + plVar4 = (longlong *)param_1[0x296]; + if ((((plVar4 != (longlong *)0x0) && (*plVar4 != 0)) && (plVar4 != (longlong *)0x0)) && + ((*plVar4 != 0 && (*plVar4 != 0x40)))) { + plVar4 = (longlong *)param_1[0x296]; + if (((plVar4 == (longlong *)0x0) || ((*plVar4 == 0 || (plVar4 == (longlong *)0x0)))) || + (*plVar4 == 0)) { + lVar3 = 0; + } + else { + lVar3 = *plVar4 + -0x40; + } + plVar4 = (longlong *)0x0; + if (*(undefined8 **)(lVar3 + 0x100) != (undefined8 *)0x0) { + plVar4 = (longlong *)**(undefined8 **)(lVar3 + 0x100); + } + FUN_140035490(plVar4,puVar6,param_3,param_4); + } + if (param_1[0x2c0] == 0) { + lVar3 = 0; + } + else { + lVar3 = param_1[0x2be]; + } + for (; lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x10)) { + lVar5 = 0; + if (*(longlong **)(lVar3 + 8) != (longlong *)0x0) { + lVar5 = **(longlong **)(lVar3 + 8); + } + if ((*(longlong **)(lVar5 + 0x18) != (longlong *)0x0) && + (**(longlong **)(lVar5 + 0x18) != 0)) { + plVar4 = (longlong *)FUN_1400b34a0(lVar5); + (**(code **)(*plVar4 + 0x10))(plVar4); + } + } + } + FUN_14002e770((longlong)piVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400800c0.c b/decomp/Agent_Release_x64/full/functions/0x1400800c0.c new file mode 100644 index 00000000..087fdb82 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400800c0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400800c0 FUN_1400800c0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400800c0(longlong param_1,undefined8 param_2,SIZE_T param_3,undefined *param_4) + +{ + int *piVar1; + undefined8 uVar2; + + piVar1 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); + FUN_14002e6e0(piVar1); + FUN_14007fed0(*(longlong **)(param_1 + 0x20),param_2,param_3,param_4); + uVar2 = FUN_14002e770((longlong)piVar1); + return CONCAT71((int7)((ulonglong)uVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080120.c b/decomp/Agent_Release_x64/full/functions/0x140080120.c new file mode 100644 index 00000000..5f60edd0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080120.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080120 FUN_140080120 + * Pseudocode, not original source. */ + +longlong * FUN_140080120(longlong *param_1,longlong param_2) + +{ + *param_1 = param_2; + *(undefined1 *)(param_1 + 1) = *(undefined1 *)(param_2 + 0x20); + *(undefined1 *)(param_2 + 0x20) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080140.c b/decomp/Agent_Release_x64/full/functions/0x140080140.c new file mode 100644 index 00000000..822b38f8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080140.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080140 FUN_140080140 + * Pseudocode, not original source. */ + +void FUN_140080140(longlong *param_1) + +{ + *(char *)(*param_1 + 0x20) = (char)param_1[1]; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080150.c b/decomp/Agent_Release_x64/full/functions/0x140080150.c new file mode 100644 index 00000000..35d96c8d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080150.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080150 FUN_140080150 + * Pseudocode, not original source. */ + +void FUN_140080150(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined2 *puVar1; + exception local_58 [80]; + + if (param_1[1] != 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_Cannot_use_internal_buffer_becau_140156ba0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if (*param_1 == 0) { + puVar1 = FUN_1400952b0(param_1,param_2,param_3); + *param_1 = (longlong)puVar1; + *(undefined8 *)(puVar1 + 0x14) = 1; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400801a0.c b/decomp/Agent_Release_x64/full/functions/0x1400801a0.c new file mode 100644 index 00000000..acbc2c29 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400801a0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400801a0 FUN_1400801a0 + * Pseudocode, not original source. */ + +void FUN_1400801a0(longlong param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong lVar1; + int iVar2; + undefined2 *puVar3; + exception local_58 [80]; + + if (*(longlong *)(param_1 + 0x10) != 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_Cannot_use_internal_buffer_becau_140156ba0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if (*(longlong *)(param_1 + 8) == 0) { + puVar3 = FUN_1400952b0(param_1,param_2,param_3); + *(undefined2 **)(param_1 + 8) = puVar3; + *(undefined8 *)(puVar3 + 0x14) = 1; + } + if (*(longlong *)(param_1 + 8) != 0) { + *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x24) = 1; + } + lVar1 = *(longlong *)(param_1 + 8); + if (lVar1 != 0) { + iVar2 = *(int *)(lVar1 + 0x20); + if (iVar2 < 0x80) { + iVar2 = 0x80; + } + *(int *)(lVar1 + 0x20) = iVar2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080220.c b/decomp/Agent_Release_x64/full/functions/0x140080220.c new file mode 100644 index 00000000..ed08682d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080220.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080220 FUN_140080220 + * Pseudocode, not original source. */ + +void FUN_140080220(undefined8 *param_1) + +{ + *param_1 = 0; + FUN_140095270(param_1 + 1); + param_1[3] = 0; + param_1[2] = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080250.c b/decomp/Agent_Release_x64/full/functions/0x140080250.c new file mode 100644 index 00000000..984376c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080250.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080250 FUN_140080250 + * Pseudocode, not original source. */ + +void FUN_140080250(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + exception local_58 [88]; + + if (*param_1 != 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_Cannot_use_external_buffer_becau_140156b98,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if (param_1[1] != 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_Cannot_use_internal_buffer_becau_140156ba0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if ((param_2 != 0) && ((int)param_3 != 0)) { + *(int *)((longlong)param_1 + 0x14) = (int)param_3; + *(undefined4 *)(param_1 + 2) = 0; + param_1[1] = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400802d0.c b/decomp/Agent_Release_x64/full/functions/0x1400802d0.c new file mode 100644 index 00000000..f06967f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400802d0.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400802d0 FUN_1400802d0 + * Pseudocode, not original source. */ + +void FUN_1400802d0(int *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + longlong lVar2; + exception local_50 [80]; + + lVar2 = *(longlong *)(param_1 + 2); + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 4) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + uVar1 = param_1[6]; + } + else { + uVar1 = *(uint *)(lVar2 + 0x18); + } + if ((int)uVar1 < (int)param_2) { + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 4) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,(ulonglong)uVar1,param_4); + } + uVar1 = param_1[6]; + } + else { + uVar1 = *(uint *)(lVar2 + 0x18); + } + FUN_14002f1e0(local_50, + L"너무 큰 offset으로 read pointer를 잡으려 했음. buffer 크기=%d, 잡으려는 offset=%d" + ,(ulonglong)uVar1,param_2 & 0xffffffff); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = (int)param_2 * 8; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080350.c b/decomp/Agent_Release_x64/full/functions/0x140080350.c new file mode 100644 index 00000000..a4521644 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080350.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080350 FUN_140080350 + * Pseudocode, not original source. */ + +void FUN_140080350(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + exception local_58 [88]; + + if (DAT_140155140 < (int)param_3) { + FUN_14002f1e0(local_58,L"UseExternalBuffer failed due to too large capacity",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + FUN_140080250((longlong *)(param_1 + 8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080390.c b/decomp/Agent_Release_x64/full/functions/0x140080390.c new file mode 100644 index 00000000..89b5e43c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080390.c @@ -0,0 +1,71 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080390 FUN_140080390 + * Pseudocode, not original source. */ + +longlong FUN_140080390(int *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + longlong lVar2; + undefined8 uVar3; + uint uVar4; + int iVar5; + uint uVar6; + exception local_58 [80]; + ulonglong uVar7; + + lVar2 = *(longlong *)(param_1 + 2); + iVar5 = (int)param_3; + if ((lVar2 == 0) && (*(longlong *)(param_1 + 4) == 0)) { + FUN_14002f1e0(local_58,L"Cannot read from Null pointer message!",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + uVar4 = *param_1 >> 0x1f & 7; + uVar1 = *param_1 + uVar4; + uVar6 = (int)uVar1 >> 3; + uVar7 = (ulonglong)uVar6; + if ((uVar1 & 7) != uVar4) { + FUN_14002f1e0(local_58,L"Read offset is not byte aligned!",param_3,uVar7); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 4) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)uVar4,param_3,uVar7); + } + uVar1 = param_1[6]; + } + else { + uVar1 = *(uint *)(lVar2 + 0x18); + } + if ((int)uVar1 < (int)(uVar6 + iVar5)) { + return (ulonglong)(uint3)(uVar6 + iVar5 >> 8) << 8; + } + if (*(longlong *)(param_1 + 4) == 0) { + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)uVar1,param_3,uVar7); + } + if (*(int *)(lVar2 + 0x18) == 0) { + lVar2 = 0; + } + else { + lVar2 = *(longlong *)(lVar2 + 0x10); + } + } + else { + lVar2 = *(longlong *)(param_1 + 4); + if (lVar2 == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + uVar7); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + } + uVar3 = FUN_14001bd30(param_2,(undefined8 *)((int)uVar6 + lVar2),(longlong)iVar5); + *param_1 = *param_1 + iVar5 * 8; + return CONCAT71((int7)((ulonglong)uVar3 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400804c0.c b/decomp/Agent_Release_x64/full/functions/0x1400804c0.c new file mode 100644 index 00000000..aac33949 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400804c0.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400804c0 FUN_1400804c0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400804c0(int *param_1,uint param_2) + +{ + longlong lVar1; + uint uVar2; + uint uVar3; + ulonglong uVar4; + int iVar5; + exception local_58 [88]; + + lVar1 = *(longlong *)(param_1 + 2); + uVar4 = (ulonglong)param_2; + if ((lVar1 == 0) && (*(longlong *)(param_1 + 4) == 0)) { + FUN_14002f1e0(local_58,L"Cannot read from Null pointer message!",0,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + uVar3 = *param_1 >> 0x1f & 7; + uVar2 = *param_1 + uVar3; + iVar5 = (int)uVar2 >> 3; + if ((uVar2 & 7) != uVar3) { + FUN_14002f1e0(local_58,L"Read offset is not byte aligned!",lVar1,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if (lVar1 != 0) { + iVar5 = iVar5 + param_2; + return CONCAT31((int3)((uint)iVar5 >> 8),iVar5 <= *(int *)(lVar1 + 0x18)); + } + if (*(longlong *)(param_1 + 4) != 0) { + iVar5 = iVar5 + param_2; + return CONCAT31((int3)((uint)iVar5 >> 8),iVar5 <= param_1[6]); + } + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,(ulonglong)uVar3,0,uVar4); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080570.c b/decomp/Agent_Release_x64/full/functions/0x140080570.c new file mode 100644 index 00000000..ffb2b009 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080570.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080570 FUN_140080570 + * Pseudocode, not original source. */ + +void FUN_140080570(int *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + undefined8 uVar2; + int *piVar3; + char *pcVar4; + undefined8 uVar5; + char local_res8 [32]; + exception local_58 [80]; + + if ((char)param_1[8] != '\0') { + pcVar4 = local_res8; + uVar5 = 1; + piVar3 = param_1; + uVar2 = FUN_140080390(param_1,(undefined8 *)pcVar4,1,param_4); + if (((char)uVar2 == '\0') || (local_res8[0] != -2)) { + if (*(longlong *)(param_1 + 2) == 0) { + if (*(longlong *)(param_1 + 4) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(piVar3,pcVar4,uVar5,param_4); + } + uVar1 = param_1[6]; + } + else { + uVar1 = *(uint *)(*(longlong *)(param_1 + 2) + 0x18); + } + FUN_14002f1e0(local_58,L"CMessage: Test splitter failure(reading=%d,length=%d)", + (ulonglong)(uint)((int)((*param_1 >> 0x1f & 7U) + *param_1) >> 3), + (ulonglong)uVar1); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080600.c b/decomp/Agent_Release_x64/full/functions/0x140080600.c new file mode 100644 index 00000000..eb30d391 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080600.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080600 FUN_140080600 + * Pseudocode, not original source. */ + +undefined8 FUN_140080600(uint *param_1,undefined8 *param_2,undefined8 param_3) + +{ + uint uVar1; + undefined8 in_RAX; + undefined8 uVar2; + uint uVar3; + uint uVar4; + undefined8 *puVar5; + + if ((int)param_3 != 0) { + uVar4 = (int)*param_1 >> 0x1f & 7; + uVar1 = *param_1 + uVar4; + uVar3 = uVar1 & 0xfffffff8; + *param_1 = uVar3; + if (0 < (int)((uVar1 & 7) - uVar4)) { + *param_1 = uVar3 + 8; + } + puVar5 = param_2; + uVar2 = FUN_140080390((int *)param_1,param_2,param_3,param_2); + if ((char)uVar2 == '\0') { + return uVar2; + } + in_RAX = FUN_140080570((int *)param_1,param_2,param_3,puVar5); + } + return CONCAT71((int7)((ulonglong)in_RAX >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080660.c b/decomp/Agent_Release_x64/full/functions/0x140080660.c new file mode 100644 index 00000000..2e1118f6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080660.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080660 FUN_140080660 + * Pseudocode, not original source. */ + +undefined4 FUN_140080660(uint *param_1,uint param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + uint uVar2; + undefined4 uVar3; + undefined8 in_RAX; + undefined8 uVar4; + uint uVar5; + uint uVar6; + ulonglong uVar7; + ulonglong uVar8; + + uVar7 = (ulonglong)param_2; + if (param_2 == 0) { + return (int)CONCAT71((int7)((ulonglong)in_RAX >> 8),1); + } + uVar1 = *param_1; + uVar6 = (int)uVar1 >> 0x1f & 7; + uVar2 = uVar1 + uVar6; + uVar5 = uVar2 & 0xfffffff8; + *param_1 = uVar5; + if (0 < (int)((uVar2 & 7) - uVar6)) { + *param_1 = uVar5 + 8; + } + uVar8 = uVar7; + uVar3 = FUN_1400804c0((int *)param_1,param_2); + if ((char)uVar3 == '\0') { + *param_1 = uVar1; + return uVar3; + } + uVar4 = FUN_140080570((int *)param_1,uVar7,uVar8,param_4); + *param_1 = uVar1; + return (int)CONCAT71((int7)((ulonglong)uVar4 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400806d0.c b/decomp/Agent_Release_x64/full/functions/0x1400806d0.c new file mode 100644 index 00000000..b02341b4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400806d0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400806d0 FUN_1400806d0 + * Pseudocode, not original source. */ + +undefined4 * FUN_1400806d0(undefined4 *param_1) + +{ + *(undefined8 *)(param_1 + 6) = 0; + *(undefined8 *)(param_1 + 4) = 0; + *(undefined8 *)(param_1 + 2) = 0; + *param_1 = 0; + param_1[1] = 0; + *(undefined1 *)(param_1 + 8) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080700.c b/decomp/Agent_Release_x64/full/functions/0x140080700.c new file mode 100644 index 00000000..016cd7e0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080700.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080700 FUN_140080700 + * Pseudocode, not original source. */ + +undefined4 * FUN_140080700(undefined4 *param_1,undefined4 *param_2) + +{ + longlong *plVar1; + + *(undefined8 *)(param_1 + 6) = 0; + *(undefined8 *)(param_1 + 4) = 0; + *(undefined8 *)(param_1 + 2) = 0; + *param_1 = *param_2; + *(undefined1 *)(param_1 + 8) = *(undefined1 *)(param_2 + 8); + param_1[1] = param_2[1]; + if (*(longlong *)(param_2 + 2) == *(longlong *)(param_1 + 2)) { + param_1[7] = param_2[7]; + *(undefined8 *)(param_1 + 4) = *(undefined8 *)(param_2 + 4); + param_1[6] = param_2[6]; + } + else { + FUN_140095270((longlong *)(param_1 + 2)); + if (*(longlong *)(param_2 + 2) != 0) { + plVar1 = (longlong *)(*(longlong *)(param_2 + 2) + 0x28); + *plVar1 = *plVar1 + 1; + *(undefined8 *)(param_1 + 2) = *(undefined8 *)(param_2 + 2); + } + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400807a0.c b/decomp/Agent_Release_x64/full/functions/0x1400807a0.c new file mode 100644 index 00000000..9c85239a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400807a0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400807a0 FUN_1400807a0 + * Pseudocode, not original source. */ + +void FUN_1400807a0(undefined4 *param_1,longlong *param_2) + +{ + longlong *plVar1; + + if (*param_2 == *(longlong *)(param_1 + 2)) { + param_1[7] = *(undefined4 *)((longlong)param_2 + 0x14); + *(longlong *)(param_1 + 4) = param_2[1]; + param_1[6] = (int)param_2[2]; + } + else { + FUN_140095270((longlong *)(param_1 + 2)); + if (*param_2 != 0) { + plVar1 = (longlong *)(*param_2 + 0x28); + *plVar1 = *plVar1 + 1; + *(longlong *)(param_1 + 2) = *param_2; + } + } + *param_1 = 0; + FUN_140095270(param_2); + if (param_2[1] != 0) { + if (*(int *)((longlong)param_2 + 0x14) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(param_2 + 2) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080830.c b/decomp/Agent_Release_x64/full/functions/0x140080830.c new file mode 100644 index 00000000..9d9fcd81 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080830.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080830 FUN_140080830 + * Pseudocode, not original source. */ + +void FUN_140080830(int *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong lVar1; + int iVar2; + + iVar2 = (int)param_2; + if (iVar2 * 8 < *param_1) { + *param_1 = iVar2 * 8; + } + if (-1 < iVar2) { + if (*(longlong *)(param_1 + 4) != 0) { + if (param_1[7] < iVar2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + param_1[6] = iVar2; + return; + } + lVar1 = *(longlong *)(param_1 + 2); + if (iVar2 < 1) { + if (lVar1 == 0) { + return; + } + param_2 = 0; + } + else if (lVar1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,param_2,param_3,param_4); + } + FUN_14001bc70(lVar1,(int)param_2,param_3); + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080890.c b/decomp/Agent_Release_x64/full/functions/0x140080890.c new file mode 100644 index 00000000..cb88278d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080890.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080890 FUN_140080890 + * Pseudocode, not original source. */ + +longlong FUN_140080890(uint *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + int iVar2; + uint uVar3; + uint uVar4; + uint uVar5; + exception local_58 [80]; + + FUN_140080570((int *)param_1,param_2,param_3,param_4); + lVar1 = *(longlong *)(param_1 + 2); + if ((lVar1 == 0) && (*(longlong *)(param_1 + 4) == 0)) { + FUN_14002f1e0(local_58,L"Null message로부터 데이터를 읽으려 했음",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + uVar3 = *param_1; + uVar5 = (int)uVar3 >> 0x1f & 7; + if (lVar1 == 0) { + if (*(longlong *)(param_1 + 4) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)uVar5,(ulonglong)uVar3,param_4); + } + uVar4 = param_1[6]; + } + else { + uVar4 = *(uint *)(lVar1 + 0x18); + } + iVar2 = ((int)(uVar3 + uVar5) >> 3) + (int)param_2; + if ((int)uVar4 < iVar2) { + return (ulonglong)(uint3)((uint)iVar2 >> 8) << 8; + } + uVar3 = uVar3 + (int)param_2 * 8; + *param_1 = uVar3; + return CONCAT71((uint7)(uint3)(uVar3 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080930.c b/decomp/Agent_Release_x64/full/functions/0x140080930.c new file mode 100644 index 00000000..459be5e7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080930.c @@ -0,0 +1,95 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080930 FUN_140080930 + * Pseudocode, not original source. */ + +longlong FUN_140080930(uint *param_1,int *param_2,uint param_3,undefined8 param_4) + +{ + uint uVar1; + ulonglong uVar2; + int iVar3; + int iVar4; + longlong lVar5; + longlong lVar6; + ulonglong uVar7; + ulonglong uVar8; + exception local_58 [80]; + + uVar2 = (ulonglong)param_3; + lVar5 = *(longlong *)(param_1 + 2); + if (lVar5 == 0) { + if (*(longlong *)(param_1 + 4) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,0,param_4); + } + uVar1 = param_1[6]; + } + else { + uVar1 = *(uint *)(lVar5 + 0x18); + } + uVar8 = (ulonglong)uVar1; + iVar3 = *param_1 + ((int)*param_1 >> 0x1f & 7U); + iVar4 = iVar3 >> 3; + if ((int)uVar1 < (int)(iVar4 + param_3)) { + return (ulonglong)(uint3)(iVar3 >> 0xb) << 8; + } + if (*(longlong *)(param_1 + 4) == 0) { + if (lVar5 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370((ulonglong)(iVar4 + param_3),(longlong)iVar4,0,uVar8); + } + if (*(int *)(lVar5 + 0x18) == 0) { + lVar6 = 0; + } + else { + lVar6 = *(longlong *)(lVar5 + 0x10); + } + } + else { + lVar6 = *(longlong *)(param_1 + 4); + if (lVar6 == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,lVar5,uVar8 + ); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + } + lVar6 = iVar4 + lVar6; + if (DAT_140155140 < (int)param_3) { + FUN_14002f1e0(local_58,L"UseExternalBuffer failed due to too large capacity",lVar5,uVar8); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + uVar7 = uVar2; + FUN_140080250((longlong *)(param_2 + 2),lVar6,uVar2,uVar8); + if ((int)(param_3 * 8) < *param_2) { + *param_2 = param_3 * 8; + } + if ((int)param_3 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (*(longlong *)(param_2 + 4) == 0) { + lVar5 = *(longlong *)(param_2 + 2); + if ((int)param_3 < 1) { + if (lVar5 == 0) goto LAB_140080a73; + param_3 = 0; + } + else if (lVar5 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,lVar6,uVar7,uVar8); + } + FUN_14001bc70(lVar5,param_3,uVar7); + } + else { + if (param_2[7] < (int)param_3) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + param_2[6] = param_3; + } +LAB_140080a73: + lVar5 = FUN_140080890(param_1,uVar2,uVar7,uVar8); + return CONCAT71((int7)((ulonglong)lVar5 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080ab0.c b/decomp/Agent_Release_x64/full/functions/0x140080ab0.c new file mode 100644 index 00000000..0f5e17fa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080ab0.c @@ -0,0 +1,103 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080ab0 FUN_140080ab0 + * Pseudocode, not original source. */ + +void FUN_140080ab0(undefined8 *param_1,longlong param_2,SIZE_T param_3,longlong param_4) + +{ + int iVar1; + undefined8 *puVar2; + int iVar3; + longlong lVar4; + undefined8 *puVar5; + size_t sVar6; + longlong lVar7; + int iVar8; + longlong lVar9; + exception local_b8 [72]; + exception local_70 [72]; + + lVar4 = *(longlong *)(param_2 + 0xc80); + iVar8 = 0; + lVar9 = 0; + if (lVar4 != 0) { + lVar7 = 0; + puVar5 = param_1; + do { + if (*(int *)(param_2 + 0xc88) <= iVar8) { + return; + } + if (lVar4 == 0) { + FUN_14002f1e0(local_b8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_b8,(ThrowInfo *)&DAT_140151b88); + } + if (lVar9 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar2 = *(undefined8 **)(lVar4 + lVar7); + iVar3 = *(int *)(lVar4 + 8 + lVar7); + sVar6 = (size_t)iVar3; + if (param_1[2] == 0) { + lVar4 = param_1[1]; + if (lVar4 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar5,puVar2,param_3,param_4); + } + if (iVar3 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (iVar3 != 0) { + iVar1 = *(int *)(lVar4 + 0x18); + FUN_14001bc70(lVar4,iVar1 + iVar3,param_3); + if (*(int *)(lVar4 + 0x18) == 0) { + lVar4 = 0; + } + else { + lVar4 = *(longlong *)(lVar4 + 0x10); + } + puVar5 = (undefined8 *)(lVar4 + iVar1); + goto LAB_140080b9f; + } + } + else { + if (iVar3 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (iVar3 != 0) { + param_4 = param_1[2]; + if (param_4 == 0) { + FUN_14002f1e0(local_70,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0, + param_3,0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_70,(ThrowInfo *)&DAT_140151b88); + } + iVar1 = *(int *)(param_1 + 3); + iVar3 = iVar1 + iVar3; + if ((iVar3 < 0) || (*(int *)((longlong)param_1 + 0x1c) < iVar3)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(int *)(param_1 + 3) = iVar3; + puVar5 = (undefined8 *)(iVar1 + param_4); +LAB_140080b9f: + FUN_14001bd30(puVar5,puVar2,sVar6); + param_3 = sVar6; + } + } + lVar4 = *(longlong *)(param_2 + 0xc80); + iVar8 = iVar8 + 1; + lVar9 = lVar9 + 1; + lVar7 = lVar7 + 0x10; + } while (lVar4 != 0); + } + FUN_14002f1e0(local_b8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3,param_4 + ); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_b8,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080c70.c b/decomp/Agent_Release_x64/full/functions/0x140080c70.c new file mode 100644 index 00000000..f001ebd2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080c70.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080c70 FUN_140080c70 + * Pseudocode, not original source. */ + +void FUN_140080c70(longlong param_1,undefined8 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + if (*(longlong *)(param_1 + 0x10) != 0) { + FUN_14001bb60((longlong *)(param_1 + 0x10),param_2,param_3,param_4); + return; + } + if (*(longlong *)(param_1 + 8) != 0) { + FUN_14001bd90(*(longlong *)(param_1 + 8),param_2,param_3); + return; + } + /* WARNING: Subroutine does not return */ + FUN_140095370(0,param_2,param_3,param_4); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080ca0.c b/decomp/Agent_Release_x64/full/functions/0x140080ca0.c new file mode 100644 index 00000000..196fde7b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080ca0.c @@ -0,0 +1,96 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080ca0 FUN_140080ca0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_140080ca0(uint *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + ulonglong uVar2; + uint uVar3; + longlong lVar4; + uint *puVar5; + uint uVar6; + char *pcVar7; + uint uVar8; + undefined1 auStack_158 [32]; + exception local_138 [144]; + undefined8 local_a8 [15]; + undefined8 local_30; + int local_28; + ulonglong local_18; + ulonglong uVar9; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_158; + lVar4 = *(longlong *)(param_1 + 2); + if (lVar4 == 0) { + if (*(longlong *)(param_1 + 4) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,param_2,param_3,param_4); + } + uVar8 = param_1[6]; + } + else { + uVar8 = *(uint *)(lVar4 + 0x18); + } + uVar6 = (int)*param_1 >> 0x1f & 7; + iVar1 = (int)(*param_1 + uVar6) >> 3; + if (*(longlong *)(param_1 + 4) == 0) { + if (lVar4 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)uVar6,(ulonglong)uVar8,param_4); + } + if (*(int *)(lVar4 + 0x18) == 0) { + lVar4 = 0; + } + else { + lVar4 = *(longlong *)(lVar4 + 0x10); + } + } + else { + lVar4 = *(longlong *)(param_1 + 4); + if (lVar4 == 0) { + FUN_14002f1e0(local_138,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0, + (ulonglong)uVar8,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_138,(ThrowInfo *)&DAT_140151b88); + } + } + uVar8 = uVar8 - iVar1; + uVar9 = (ulonglong)uVar8; + pcVar7 = (char *)(iVar1 + lVar4); + uVar2 = FUN_1400b9ab0(local_a8,pcVar7,uVar8); + if ((char)uVar2 != '\0') { + *param_2 = local_30; + puVar5 = param_1; + FUN_140080570((int *)param_1,pcVar7,uVar9,param_4); + lVar4 = *(longlong *)(param_1 + 2); + if ((lVar4 == 0) && (*(longlong *)(param_1 + 4) == 0)) { + FUN_14002f1e0(local_138,L"Null message로부터 데이터를 읽으려 했음",uVar9,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_138,(ThrowInfo *)&DAT_140151b88); + } + uVar8 = *param_1; + uVar6 = (int)uVar8 >> 0x1f & 7; + if (lVar4 == 0) { + if (*(longlong *)(param_1 + 4) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar5,(ulonglong)uVar6,(ulonglong)uVar8,param_4); + } + uVar3 = param_1[6]; + } + else { + uVar3 = *(uint *)(lVar4 + 0x18); + } + uVar6 = ((int)(uVar8 + uVar6) >> 3) + local_28; + if ((int)uVar6 <= (int)uVar3) { + uVar6 = uVar8 + local_28 * 8; + *param_1 = uVar6; + } + uVar2 = CONCAT71((uint7)(uint3)(uVar6 >> 8),1); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080e10.c b/decomp/Agent_Release_x64/full/functions/0x140080e10.c new file mode 100644 index 00000000..68599ba4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080e10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080e10 FUN_140080e10 + * Pseudocode, not original source. */ + +void FUN_140080e10(undefined8 *param_1) + +{ + FUN_14002eab0((longlong *)*param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080e20.c b/decomp/Agent_Release_x64/full/functions/0x140080e20.c new file mode 100644 index 00000000..dae3bf3b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080e20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080e20 FUN_140080e20 + * Pseudocode, not original source. */ + +void FUN_140080e20(undefined8 *param_1) + +{ + FUN_140003070((longlong *)*param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080e30.c b/decomp/Agent_Release_x64/full/functions/0x140080e30.c new file mode 100644 index 00000000..3bf852ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080e30.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080e30 FUN_140080e30 + * Pseudocode, not original source. */ + +undefined8 FUN_140080e30(uint *param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + ulonglong uVar2; + uint uVar3; + byte *pbVar4; + uint uVar5; + undefined8 uVar6; + byte local_res8 [8]; + + *param_2 = 6; + uVar3 = (int)*param_1 >> 0x1f & 7; + uVar1 = *param_1 + uVar3; + uVar5 = uVar1 & 0xfffffff8; + *param_1 = uVar5; + if (0 < (int)((uVar1 & 7) - uVar3)) { + *param_1 = uVar5 + 8; + } + pbVar4 = local_res8; + uVar6 = 1; + uVar2 = FUN_140080390((int *)param_1,(undefined8 *)pbVar4,1,param_4); + if ((char)uVar2 != '\0') { + uVar6 = FUN_140080570((int *)param_1,pbVar4,uVar6,param_4); + *param_2 = (uint)local_res8[0]; + return CONCAT71((int7)((ulonglong)uVar6 >> 8),1); + } + return uVar2 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080eb0.c b/decomp/Agent_Release_x64/full/functions/0x140080eb0.c new file mode 100644 index 00000000..446825a5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080eb0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080eb0 FUN_140080eb0 + * Pseudocode, not original source. */ + +undefined8 FUN_140080eb0(uint *param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + ulonglong uVar2; + uint uVar3; + byte *pbVar4; + uint uVar5; + undefined8 uVar6; + byte local_res8 [8]; + + *param_2 = 2; + uVar3 = (int)*param_1 >> 0x1f & 7; + uVar1 = *param_1 + uVar3; + uVar5 = uVar1 & 0xfffffff8; + *param_1 = uVar5; + if (0 < (int)((uVar1 & 7) - uVar3)) { + *param_1 = uVar5 + 8; + } + pbVar4 = local_res8; + uVar6 = 1; + uVar2 = FUN_140080390((int *)param_1,(undefined8 *)pbVar4,1,param_4); + if ((char)uVar2 != '\0') { + uVar6 = FUN_140080570((int *)param_1,pbVar4,uVar6,param_4); + *param_2 = (uint)local_res8[0]; + return CONCAT71((int7)((ulonglong)uVar6 >> 8),1); + } + return uVar2 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080f30.c b/decomp/Agent_Release_x64/full/functions/0x140080f30.c new file mode 100644 index 00000000..7abd6910 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080f30.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080f30 FUN_140080f30 + * Pseudocode, not original source. */ + +undefined8 FUN_140080f30(uint *param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + ulonglong uVar2; + uint uVar3; + byte *pbVar4; + uint uVar5; + undefined8 uVar6; + byte local_res8 [8]; + + *param_2 = 0; + uVar3 = (int)*param_1 >> 0x1f & 7; + uVar1 = *param_1 + uVar3; + uVar5 = uVar1 & 0xfffffff8; + *param_1 = uVar5; + if (0 < (int)((uVar1 & 7) - uVar3)) { + *param_1 = uVar5 + 8; + } + pbVar4 = local_res8; + uVar6 = 1; + uVar2 = FUN_140080390((int *)param_1,(undefined8 *)pbVar4,1,param_4); + if ((char)uVar2 != '\0') { + uVar6 = FUN_140080570((int *)param_1,pbVar4,uVar6,param_4); + *param_2 = (uint)local_res8[0]; + return CONCAT71((int7)((ulonglong)uVar6 >> 8),1); + } + return uVar2 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140080fb0.c b/decomp/Agent_Release_x64/full/functions/0x140080fb0.c new file mode 100644 index 00000000..f4582e77 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140080fb0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140080fb0 FUN_140080fb0 + * Pseudocode, not original source. */ + +undefined8 FUN_140080fb0(uint *param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + ulonglong uVar2; + uint uVar3; + ushort *puVar4; + uint uVar5; + undefined8 uVar6; + ushort local_res8 [4]; + + *param_2 = 0; + uVar3 = (int)*param_1 >> 0x1f & 7; + uVar1 = *param_1 + uVar3; + uVar5 = uVar1 & 0xfffffff8; + *param_1 = uVar5; + if (0 < (int)((uVar1 & 7) - uVar3)) { + *param_1 = uVar5 + 8; + } + puVar4 = local_res8; + uVar6 = 2; + uVar2 = FUN_140080390((int *)param_1,(undefined8 *)puVar4,2,param_4); + if ((char)uVar2 != '\0') { + uVar6 = FUN_140080570((int *)param_1,puVar4,uVar6,param_4); + *param_2 = (uint)local_res8[0]; + return CONCAT71((int7)((ulonglong)uVar6 >> 8),1); + } + return uVar2 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140081030.c b/decomp/Agent_Release_x64/full/functions/0x140081030.c new file mode 100644 index 00000000..5a2c92d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140081030.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140081030 FUN_140081030 + * Pseudocode, not original source. */ + +ulonglong FUN_140081030(uint *param_1,longlong param_2) + +{ + ulonglong uVar1; + + *(undefined4 *)(param_2 + 8) = DAT_1401553d0; + *(undefined2 *)(param_2 + 0xc) = DAT_1401553d4; + uVar1 = FUN_14003d740(param_1,(undefined4 *)(param_2 + 8)); + if ((char)uVar1 == '\x01') { + uVar1 = FUN_140022080(param_1,(undefined2 *)(param_2 + 0xc)); + if ((char)uVar1 == '\x01') { + return uVar1; + } + } + return uVar1 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140081090.c b/decomp/Agent_Release_x64/full/functions/0x140081090.c new file mode 100644 index 00000000..f40046e8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140081090.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140081090 FUN_140081090 + * Pseudocode, not original source. */ + +undefined8 FUN_140081090(uint *param_1,undefined4 *param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + ulonglong uVar2; + uint uVar3; + undefined8 *puVar4; + uint uVar5; + undefined8 uVar6; + undefined4 local_res8 [2]; + + *param_2 = 0; + uVar3 = (int)*param_1 >> 0x1f & 7; + uVar1 = *param_1 + uVar3; + uVar5 = uVar1 & 0xfffffff8; + *param_1 = uVar5; + if (0 < (int)((uVar1 & 7) - uVar3)) { + *param_1 = uVar5 + 8; + } + puVar4 = (undefined8 *)local_res8; + uVar6 = 4; + uVar2 = FUN_140080390((int *)param_1,puVar4,4,param_4); + if ((char)uVar2 != '\0') { + uVar6 = FUN_140080570((int *)param_1,puVar4,uVar6,param_4); + *param_2 = local_res8[0]; + return CONCAT71((int7)((ulonglong)uVar6 >> 8),1); + } + return uVar2 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140081110.c b/decomp/Agent_Release_x64/full/functions/0x140081110.c new file mode 100644 index 00000000..83392e4a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140081110.c @@ -0,0 +1,59 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140081110 FUN_140081110 + * Pseudocode, not original source. */ + +undefined8 FUN_140081110(uint *param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + + uVar1 = FUN_140080f30(param_1,param_2,param_3,param_4); + if ((char)uVar1 != '\0') { + uVar1 = FUN_140021f60(param_1,param_2 + 1); + if ((char)uVar1 != '\0') { + uVar1 = FUN_140022290(param_1,(undefined8 *)(param_2 + 2)); + if ((char)uVar1 != '\0') { + uVar1 = FUN_140080eb0(param_1,param_2 + 4,param_3,param_4); + if ((char)uVar1 != '\0') { + uVar1 = FUN_140021f60(param_1,param_2 + 5); + if ((char)uVar1 != '\0') { + uVar1 = FUN_14001b7d0(param_1,(undefined1 *)(param_2 + 6)); + if ((char)uVar1 != '\0') { + uVar1 = FUN_140021f60(param_1,param_2 + 7); + if ((char)uVar1 != '\0') { + uVar1 = FUN_140021f60(param_1,param_2 + 8); + if ((char)uVar1 != '\0') { + uVar1 = FUN_14001b7d0(param_1,(undefined1 *)(param_2 + 9)); + if ((char)uVar1 != '\0') { + uVar1 = FUN_14001b7d0(param_1,(undefined1 *)((longlong)param_2 + 0x25)); + if ((char)uVar1 != '\0') { + uVar1 = FUN_14001b7d0(param_1,(undefined1 *)((longlong)param_2 + 0x26)); + if ((char)uVar1 != '\0') { + uVar1 = FUN_14001b7d0(param_1,(undefined1 *)((longlong)param_2 + 0x27)); + if ((char)uVar1 != '\0') { + uVar1 = FUN_14003d740(param_1,param_2 + 10); + if ((char)uVar1 != '\0') { + uVar1 = FUN_14001b7d0(param_1,(undefined1 *)(param_2 + 0xb)); + if ((char)uVar1 != '\0') { + uVar1 = FUN_14001b7d0(param_1,(undefined1 *)((longlong)param_2 + 0x2d) + ); + if ((char)uVar1 != '\0') { + return CONCAT71((int7)(uVar1 >> 8),1); + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + return uVar1 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140081240.c b/decomp/Agent_Release_x64/full/functions/0x140081240.c new file mode 100644 index 00000000..54ff648f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140081240.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140081240 FUN_140081240 + * Pseudocode, not original source. */ + +ulonglong FUN_140081240(uint *param_1,longlong param_2,undefined8 param_3,longlong param_4) + +{ + ulonglong uVar1; + undefined8 *puVar2; + int local_res18 [4]; + + uVar1 = FUN_140080ca0(param_1,(undefined8 *)local_res18,param_3,param_4); + if ((char)uVar1 == '\0') { + return uVar1; + } + if ((-1 < local_res18[0]) && (local_res18[0] <= DAT_140155140)) { + FUN_140065570(param_2,local_res18[0],param_3,param_4); + if (*(int *)(param_2 + 0x18) == 0) { + puVar2 = (undefined8 *)0x0; + } + else { + puVar2 = *(undefined8 **)(param_2 + 0x10); + } + uVar1 = FUN_140080600(param_1,puVar2,(ulonglong)(uint)(local_res18[0] * 8)); + return uVar1; + } + return uVar1 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400812d0.c b/decomp/Agent_Release_x64/full/functions/0x1400812d0.c new file mode 100644 index 00000000..66d1e56b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400812d0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400812d0 FUN_1400812d0 + * Pseudocode, not original source. */ + +void FUN_1400812d0(longlong param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + FUN_140044630(param_1,(ulonglong)*(uint *)(param_2 + 8),param_3,param_4); + FUN_1400221b0(param_1,(ulonglong)*(ushort *)(param_2 + 0xc),param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140081310.c b/decomp/Agent_Release_x64/full/functions/0x140081310.c new file mode 100644 index 00000000..ffa9a5e4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140081310.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140081310 FUN_140081310 + * Pseudocode, not original source. */ + +void FUN_140081310(longlong param_1,byte *param_2,SIZE_T param_3,undefined8 param_4) + +{ + FUN_14001ba80(param_1,(ulonglong)*param_2,param_3,param_4); + FUN_140021e80(param_1,(ulonglong)*(uint *)(param_2 + 4),param_3,param_4); + FUN_1400220c0(param_1,*(undefined8 *)(param_2 + 8),param_3,param_4); + FUN_14001ba80(param_1,(ulonglong)param_2[0x10],param_3,param_4); + FUN_140021e80(param_1,(ulonglong)*(uint *)(param_2 + 0x14),param_3,param_4); + FUN_14001ba80(param_1,(ulonglong)param_2[0x18],param_3,param_4); + FUN_140021e80(param_1,(ulonglong)*(uint *)(param_2 + 0x1c),param_3,param_4); + FUN_140021e80(param_1,(ulonglong)*(uint *)(param_2 + 0x20),param_3,param_4); + FUN_14001ba80(param_1,(ulonglong)param_2[0x24],param_3,param_4); + FUN_14001ba80(param_1,(ulonglong)param_2[0x25],param_3,param_4); + FUN_14001ba80(param_1,(ulonglong)param_2[0x26],param_3,param_4); + FUN_14001ba80(param_1,(ulonglong)param_2[0x27],param_3,param_4); + FUN_140044630(param_1,(ulonglong)*(uint *)(param_2 + 0x28),param_3,param_4); + FUN_14001ba80(param_1,(ulonglong)param_2[0x2c],param_3,param_4); + FUN_14001ba80(param_1,(ulonglong)param_2[0x2d],param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400813e0.c b/decomp/Agent_Release_x64/full/functions/0x1400813e0.c new file mode 100644 index 00000000..6ffda8b4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400813e0.c @@ -0,0 +1,184 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400813e0 FUN_1400813e0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_1400813e0(uint *param_1,LPCWSTR param_2,undefined8 param_3,undefined8 param_4) + +{ + LPCWSTR pWVar1; + uint uVar2; + LPCWSTR pWVar3; + ulonglong uVar4; + uint *puVar5; + int *piVar6; + uint uVar7; + LPCWSTR *ppWVar8; + char *pcVar9; + uint uVar10; + LPCWSTR pWVar11; + char *pcVar12; + int iVar13; + int iVar14; + undefined8 uVar15; + undefined1 auStack_118 [32]; + char local_f8 [8]; + LPCWSTR local_f0; + undefined8 *local_e8; + LPCWSTR *local_e0; + LPCWSTR local_d8; + undefined8 local_d0; + char *local_c8; + char local_c0 [136]; + ulonglong local_38; + + local_d0 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_118; + uVar10 = (int)*param_1 >> 0x1f & 7; + uVar2 = *param_1 + uVar10; + uVar7 = uVar2 & 0xfffffff8; + *param_1 = uVar7; + if (0 < (int)((uVar2 & 7) - uVar10)) { + *param_1 = uVar7 + 8; + } + uVar15 = 1; + pcVar9 = local_f8; + pWVar3 = (LPCWSTR)FUN_140080390((int *)param_1,(undefined8 *)pcVar9,1,param_4); + if ((char)pWVar3 == '\0') goto LAB_14008170a; + FUN_140080570((int *)param_1,pcVar9,uVar15,param_4); + ppWVar8 = &local_f0; + puVar5 = param_1; + pWVar3 = (LPCWSTR)FUN_140080ca0(param_1,ppWVar8,uVar15,param_4); + pWVar11 = local_f0; + if ((char)pWVar3 == '\0') goto LAB_14008170a; + iVar13 = (int)local_f0; + if ((iVar13 < 0) || (0x100000 < iVar13)) { + FUN_14002f1e0((exception *)&local_c8,L"CMessage.ReadString failed! length=%d", + (ulonglong)local_f0 & 0xffffffff,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(&local_c8,(ThrowInfo *)&DAT_140151b88); + } + if (local_f8[0] == '\x01') { + local_f0 = param_2; + local_e8 = (undefined8 *)FUN_14002edf0((longlong *)param_2,iVar13 + 1); + *(undefined1 *)local_e8 = 0; + *(undefined1 *)((longlong)iVar13 + (longlong)local_e8) = 0; + uVar4 = FUN_140080600(param_1,local_e8,(ulonglong)pWVar11 & 0xffffffff); + FUN_14002eab0((longlong *)param_2); + return uVar4 & 0xff; + } + FUN_140030200(puVar5,ppWVar8,uVar15,param_4); + local_f0 = (LPCWSTR)PTR_DAT_140155010; + uVar2 = iVar13 + 1; + local_e0 = &local_f0; + if ((int)uVar2 < 1) { + uVar2 = 0; + } + uVar7 = 1; + if (1 < (int)uVar2) { + uVar7 = uVar2; + } + if (0 < (int)uVar7) { + local_f0 = (LPCWSTR)PTR_DAT_140155010; + if ((int)uVar7 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar7 == 0) { + FUN_140003240((longlong *)&local_f0,ppWVar8,uVar15,param_4); + } + else { + puVar5 = (uint *)FUN_140030280((longlong)(int)uVar7 * 2 + 10); + if (puVar5 != (uint *)0x0) { + *puVar5 = 0; + puVar5[1] = 1; + } + *puVar5 = uVar7; + iVar14 = 0; + if ((local_f0 != (LPCWSTR)0x0) && (iVar14 = 0, local_f0 != (LPCWSTR)PTR_DAT_140155010)) { + iVar14 = *(int *)(local_f0 + -4); + } + pWVar3 = (LPCWSTR)PTR_DAT_140155010; + if ((int)uVar7 < iVar14) { +LAB_14008157d: + if (local_f0 != (LPCWSTR)0x0) { + pWVar3 = local_f0; + } + } + else { + uVar7 = 0; + if (local_f0 != (LPCWSTR)0x0) { + if (local_f0 != (LPCWSTR)PTR_DAT_140155010) { + uVar7 = *(uint *)(local_f0 + -4); + } + goto LAB_14008157d; + } + } + uVar4 = (ulonglong)uVar7; + FUN_1400300b0(puVar5 + 2,pWVar3,uVar7); + FUN_140003240((longlong *)&local_f0,pWVar3,uVar4,param_4); + local_f0 = (LPCWSTR)(puVar5 + 2); + } + } + FUN_140002ea0((longlong *)&local_f0); + pWVar11 = local_f0; + if (local_f0 == (LPCWSTR)0x0) { + pWVar11 = (LPCWSTR)PTR_DAT_140155010; + } + *pWVar11 = L'\0'; + pWVar11[iVar13] = L'\0'; + uVar4 = (ulonglong)(uint)(iVar13 * 2); + local_d8 = pWVar11; + uVar15 = FUN_140080600(param_1,(undefined8 *)pWVar11,uVar4); + if ((char)uVar15 != '\0') { + FUN_140003070((longlong *)&local_f0); + pWVar3 = local_f0; + if (local_f0 == (LPCWSTR)0x0) { + pWVar3 = (LPCWSTR)PTR_DAT_140155010; + } + local_c8 = local_c0; + uVar15 = 3; + FUN_14002e8f0((longlong *)&local_c8,pWVar3,3); + pcVar12 = local_c8; + FUN_14002efe0((longlong *)param_2,local_c8); + pcVar9 = local_c8; + if (local_c8 != local_c0) { + free(local_c8); + } + pWVar3 = local_f0; + if (((local_f0 != (LPCWSTR)0x0) && (local_f0 != (LPCWSTR)PTR_DAT_140155010)) && + (pWVar11 = local_f0 + -4, pWVar11 != (LPCWSTR)0x0)) { + piVar6 = (int *)FUN_140030200(pcVar9,pcVar12,uVar15,param_4); + local_e0 = (LPCWSTR *)piVar6; + FUN_14002e6e0(piVar6); + local_d8 = (LPCWSTR)CONCAT71(local_d8._1_7_,1); + pWVar3 = pWVar3 + -2; + *(int *)pWVar3 = *(int *)pWVar3 + -1; + if (*(int *)pWVar3 == 0) { + FUN_1400302f0(pWVar11); + } + local_f0 = (LPCWSTR)FUN_14002e770((longlong)piVar6); + } + return CONCAT71((int7)((ulonglong)local_f0 >> 8),1); + } + ppWVar8 = &local_f0; + FUN_140003070((longlong *)ppWVar8); + pWVar3 = local_f0; + if (((local_f0 != (LPCWSTR)0x0) && (local_f0 != (LPCWSTR)PTR_DAT_140155010)) && + (pWVar1 = local_f0 + -4, pWVar1 != (LPCWSTR)0x0)) { + piVar6 = (int *)FUN_140030200(ppWVar8,pWVar11,uVar4,param_4); + local_e0 = (LPCWSTR *)piVar6; + FUN_14002e6e0(piVar6); + local_d8 = (LPCWSTR)CONCAT71(local_d8._1_7_,1); + pWVar3 = pWVar3 + -2; + *(int *)pWVar3 = *(int *)pWVar3 + -1; + if (*(int *)pWVar3 == 0) { + FUN_1400302f0(pWVar1); + } + pWVar3 = (LPCWSTR)FUN_14002e770((longlong)piVar6); + } +LAB_14008170a: + return (ulonglong)pWVar3 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140081740.c b/decomp/Agent_Release_x64/full/functions/0x140081740.c new file mode 100644 index 00000000..de90307d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140081740.c @@ -0,0 +1,188 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140081740 FUN_140081740 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_140081740(uint *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + uint uVar2; + int iVar3; + longlong *plVar4; + ulonglong uVar5; + int *piVar6; + int *piVar7; + uint uVar8; + uint *puVar9; + longlong **pplVar10; + short *psVar11; + uint uVar12; + char *pcVar13; + longlong *plVar14; + short *psVar15; + int iVar16; + int iVar17; + undefined8 uVar18; + undefined1 auStack_1e8 [32]; + char local_1c8 [8]; + longlong *local_1c0; + undefined8 *local_1b8; + longlong **local_1b0; + longlong *local_1a8; + undefined8 local_1a0; + exception local_198 [80]; + short *local_148; + short local_140 [132]; + ulonglong local_38; + + local_1a0 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_1e8; + uVar12 = (int)*param_1 >> 0x1f & 7; + uVar2 = *param_1 + uVar12; + uVar8 = uVar2 & 0xfffffff8; + *param_1 = uVar8; + if (0 < (int)((uVar2 & 7) - uVar12)) { + *param_1 = uVar8 + 8; + } + uVar18 = 1; + pcVar13 = local_1c8; + plVar4 = (longlong *)FUN_140080390((int *)param_1,(undefined8 *)pcVar13,1,param_4); + if ((char)plVar4 == '\0') goto LAB_140081a6f; + FUN_140080570((int *)param_1,pcVar13,uVar18,param_4); + pplVar10 = &local_1c0; + puVar9 = param_1; + plVar4 = (longlong *)FUN_140080ca0(param_1,pplVar10,uVar18,param_4); + plVar1 = local_1c0; + if ((char)plVar4 == '\0') goto LAB_140081a6f; + iVar16 = (int)local_1c0; + if ((iVar16 < 0) || (0x100000 < iVar16)) { + FUN_14002f1e0(local_198,L"CMessage.ReadString failed! length=%d", + (ulonglong)local_1c0 & 0xffffffff,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_198,(ThrowInfo *)&DAT_140151b88); + } + if (local_1c8[0] == '\x02') { + local_1c0 = param_2; + local_1b8 = (undefined8 *)FUN_140002f90(param_2,iVar16 + 1); + *(undefined2 *)local_1b8 = 0; + *(undefined2 *)((longlong)local_1b8 + (longlong)iVar16 * 2) = 0; + uVar5 = FUN_140080600(param_1,local_1b8,(ulonglong)(uint)(iVar16 * 2)); + FUN_140003070(param_2); + return uVar5 & 0xff; + } + FUN_140030200(puVar9,pplVar10,uVar18,param_4); + local_1c0 = (longlong *)PTR_DAT_140155008; + iVar3 = iVar16 + 1; + local_1b0 = &local_1c0; + if (iVar3 < 1) { + iVar3 = 0; + } + iVar17 = 1; + if (1 < iVar3) { + iVar17 = iVar3; + } + if (0 < iVar17) { + local_1c0 = (longlong *)PTR_DAT_140155008; + if (iVar17 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (iVar17 == 0) { + FUN_14001c020((longlong *)&local_1c0); + } + else { + piVar6 = (int *)FUN_140030280((longlong)iVar17 + 9); + if (piVar6 != (int *)0x0) { + *piVar6 = 0; + piVar6[1] = 1; + } + *piVar6 = iVar17; + iVar3 = 0; + if ((local_1c0 != (longlong *)0x0) && (iVar3 = 0, local_1c0 != (longlong *)PTR_DAT_140155008)) + { + iVar3 = (int)local_1c0[-1]; + } + plVar4 = (longlong *)PTR_DAT_140155008; + if (iVar17 < iVar3) { +LAB_1400818e0: + if (local_1c0 != (longlong *)0x0) { + plVar4 = local_1c0; + } + } + else { + iVar17 = 0; + if (local_1c0 != (longlong *)0x0) { + if (local_1c0 != (longlong *)PTR_DAT_140155008) { + iVar17 = (int)local_1c0[-1]; + } + goto LAB_1400818e0; + } + } + FUN_140030150(piVar6 + 2,plVar4,iVar17); + FUN_14001c020((longlong *)&local_1c0); + local_1c0 = (longlong *)(piVar6 + 2); + } + } + FUN_14002eb30((longlong *)&local_1c0); + plVar14 = local_1c0; + if (local_1c0 == (longlong *)0x0) { + plVar14 = (longlong *)PTR_DAT_140155008; + } + *(undefined1 *)plVar14 = 0; + *(undefined1 *)((longlong)iVar16 + (longlong)plVar14) = 0; + uVar5 = (ulonglong)plVar1 & 0xffffffff; + local_1a8 = plVar14; + uVar18 = FUN_140080600(param_1,plVar14,uVar5); + if ((char)uVar18 != '\0') { + FUN_14002eab0((longlong *)&local_1c0); + plVar4 = local_1c0; + if (local_1c0 == (longlong *)0x0) { + plVar4 = (longlong *)PTR_DAT_140155008; + } + local_148 = local_140; + uVar18 = 3; + FUN_14002a670((longlong *)&local_148,(LPCSTR)plVar4,3); + psVar15 = local_148; + FUN_140006c60(param_2,local_148,uVar18,param_4); + psVar11 = local_148; + if (local_148 != local_140) { + free(local_148); + } + plVar4 = local_1c0; + if (((local_1c0 != (longlong *)0x0) && (local_1c0 != (longlong *)PTR_DAT_140155008)) && + (plVar1 = local_1c0 + -1, plVar1 != (longlong *)0x0)) { + piVar7 = (int *)FUN_140030200(psVar11,psVar15,uVar18,param_4); + local_1b0 = (longlong **)piVar7; + FUN_14002e6e0(piVar7); + local_1a8 = (longlong *)CONCAT71(local_1a8._1_7_,1); + piVar6 = (int *)((longlong)plVar4 + -4); + *piVar6 = *piVar6 + -1; + if (*piVar6 == 0) { + FUN_1400302f0(plVar1); + } + local_1c0 = (longlong *)FUN_14002e770((longlong)piVar7); + } + return CONCAT71((int7)((ulonglong)local_1c0 >> 8),1); + } + pplVar10 = &local_1c0; + FUN_14002eab0((longlong *)pplVar10); + plVar4 = local_1c0; + if (((local_1c0 != (longlong *)0x0) && (local_1c0 != (longlong *)PTR_DAT_140155008)) && + (plVar1 = local_1c0 + -1, plVar1 != (longlong *)0x0)) { + piVar7 = (int *)FUN_140030200(pplVar10,plVar14,uVar5,param_4); + local_1b0 = (longlong **)piVar7; + FUN_14002e6e0(piVar7); + local_1a8 = (longlong *)CONCAT71(local_1a8._1_7_,1); + piVar6 = (int *)((longlong)plVar4 + -4); + *piVar6 = *piVar6 + -1; + if (*piVar6 == 0) { + FUN_1400302f0(plVar1); + } + plVar4 = (longlong *)FUN_14002e770((longlong)piVar7); + } +LAB_140081a6f: + return (ulonglong)plVar4 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140081aa0.c b/decomp/Agent_Release_x64/full/functions/0x140081aa0.c new file mode 100644 index 00000000..f213ece0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140081aa0.c @@ -0,0 +1,134 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140081aa0 FUN_140081aa0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140081aa0(longlong param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + int iVar2; + longlong lVar3; + undefined8 uVar4; + int iVar5; + undefined1 *puVar6; + undefined8 *puVar7; + ulonglong uVar8; + undefined8 *_Src; + longlong lVar9; + SIZE_T _Size; + ulonglong uVar10; + undefined8 *_Dst; + undefined1 auStack_128 [32]; + exception local_108 [80]; + undefined1 local_b8 [12]; + undefined8 local_ac [12]; + uint local_48; + ulonglong local_28; + + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_128; + puVar6 = local_b8; + FUN_1400b9a20((longlong)puVar6,param_2); + _Size = (SIZE_T)(int)local_48; + if (local_48 == 0) { + return; + } + lVar9 = 0; + *(undefined4 *)(param_1 + 4) = 0; + lVar3 = *(longlong *)(param_1 + 8); + if (lVar3 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar6,param_2,param_3,param_4); + } +LAB_140081b0d: + if ((int)local_48 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (*(longlong *)(param_1 + 0x10) == 0) { + FUN_14002f1e0(local_108,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_108,(ThrowInfo *)&DAT_140151b88); + } + iVar2 = *(int *)(param_1 + 0x18); + iVar5 = iVar2 + local_48; + if ((iVar5 < 0) || (*(int *)(param_1 + 0x1c) < iVar5)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(int *)(param_1 + 0x18) = iVar5; + _Dst = (undefined8 *)(*(longlong *)(param_1 + 0x10) + (longlong)iVar2); + if (_Size < 0x21) { + puVar7 = local_ac; + uVar8 = (ulonglong)(local_48 & 7); + for (uVar10 = _Size >> 3; uVar10 != 0; uVar10 = uVar10 - 1) { + uVar4 = *puVar7; + puVar7 = puVar7 + 1; + *_Dst = uVar4; + _Dst = _Dst + 1; + } + _Size = 0; + _Src = (undefined8 *)0x0; + if (uVar8 != 0) { + _Dst = (undefined8 *)((longlong)_Dst - (longlong)puVar7); + do { + uVar1 = *(undefined1 *)puVar7; + puVar7 = (undefined8 *)((longlong)puVar7 + 1); + uVar8 = uVar8 - 1; + *(undefined1 *)((longlong)_Dst + -1 + (longlong)puVar7) = uVar1; + } while (uVar8 != 0); + _Src = (undefined8 *)0x0; + } + goto LAB_140081c5f; + } + } + else { + if (*(longlong *)(param_1 + 0x10) != 0) goto LAB_140081b0d; + if (lVar3 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar6,param_2,param_3,param_4); + } + if ((int)local_48 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar2 = *(int *)(lVar3 + 0x18); + FUN_14001bc70(lVar3,iVar2 + local_48,param_3); + if (*(int *)(lVar3 + 0x18) != 0) { + lVar9 = *(longlong *)(lVar3 + 0x10); + } + _Dst = (undefined8 *)(lVar9 + iVar2); + if (_Size < 0x21) { + puVar7 = local_ac; + uVar8 = (ulonglong)(local_48 & 7); + for (uVar10 = _Size >> 3; uVar10 != 0; uVar10 = uVar10 - 1) { + uVar4 = *puVar7; + puVar7 = puVar7 + 1; + *_Dst = uVar4; + _Dst = _Dst + 1; + } + _Src = (undefined8 *)0x0; + _Size = 0; + if (uVar8 != 0) { + _Dst = (undefined8 *)((longlong)_Dst - (longlong)puVar7); + do { + uVar1 = *(undefined1 *)puVar7; + puVar7 = (undefined8 *)((longlong)puVar7 + 1); + uVar8 = uVar8 - 1; + *(undefined1 *)((longlong)_Dst + -1 + (longlong)puVar7) = uVar1; + } while (uVar8 != 0); + _Src = (undefined8 *)0x0; + } + goto LAB_140081c5f; + } + } + _Src = local_ac; + memcpy(_Dst,_Src,_Size); +LAB_140081c5f: + FUN_14001be00(param_1,_Src,_Size,_Dst); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140081cc0.c b/decomp/Agent_Release_x64/full/functions/0x140081cc0.c new file mode 100644 index 00000000..cd9b62ef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140081cc0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140081cc0 FUN_140081cc0 + * Pseudocode, not original source. */ + +void FUN_140081cc0(longlong param_1,undefined8 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + SIZE_T SVar1; + exception local_58 [80]; + + if ((uint)param_3 < 0x100001) { + SVar1 = param_3; + FUN_14001ba80(param_1,CONCAT71((int7)((ulonglong)param_2 >> 8),1),param_3,param_4); + FUN_140081aa0(param_1,(longlong)(int)(uint)param_3,SVar1,param_4); + FUN_14001bee0(param_1,param_2,param_3 & 0xffffffff,param_4); + return; + } + FUN_14002f1e0(local_58,L"CMessage.WriteString failed! length=%d",param_3 & 0xffffffff,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140081d40.c b/decomp/Agent_Release_x64/full/functions/0x140081d40.c new file mode 100644 index 00000000..2e496c61 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140081d40.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140081d40 FUN_140081d40 + * Pseudocode, not original source. */ + +void FUN_140081d40(longlong param_1,undefined8 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + uint uVar1; + exception local_58 [80]; + + uVar1 = (uint)param_3; + if (uVar1 < 0x100001) { + FUN_14001ba80(param_1,CONCAT71((int7)((ulonglong)param_2 >> 8),2),param_3,param_4); + FUN_140081aa0(param_1,(longlong)(int)uVar1,param_3,param_4); + FUN_14001bee0(param_1,param_2,(ulonglong)(uVar1 * 2),param_4); + return; + } + FUN_14002f1e0(local_58,L"CMessage.WriteString failed! length=%d",param_3 & 0xffffffff,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140081dc0.c b/decomp/Agent_Release_x64/full/functions/0x140081dc0.c new file mode 100644 index 00000000..e1e64580 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140081dc0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140081dc0 FUN_140081dc0 + * Pseudocode, not original source. */ + +void FUN_140081dc0(longlong param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + int iVar1; + undefined8 *puVar2; + + iVar1 = *(int *)(param_2 + 0x18); + FUN_140081aa0(param_1,(longlong)iVar1,param_3,param_4); + if (*(int *)(param_2 + 0x18) == 0) { + puVar2 = (undefined8 *)0x0; + } + else { + puVar2 = *(undefined8 **)(param_2 + 0x10); + } + FUN_14001bee0(param_1,puVar2,(ulonglong)(uint)(iVar1 * 8),param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140081e10.c b/decomp/Agent_Release_x64/full/functions/0x140081e10.c new file mode 100644 index 00000000..a806c578 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140081e10.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140081e10 FUN_140081e10 + * Pseudocode, not original source. */ + +undefined8 FUN_140081e10(uint *param_1,LPCWSTR param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + + uVar1 = FUN_1400813e0(param_1,param_2,param_3,param_4); + if ((char)uVar1 != '\0') { + uVar1 = FUN_140022080(param_1,param_2 + 4); + if ((char)uVar1 != '\0') { + return CONCAT71((int7)(uVar1 >> 8),1); + } + } + return uVar1 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140081e60.c b/decomp/Agent_Release_x64/full/functions/0x140081e60.c new file mode 100644 index 00000000..694e235f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140081e60.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140081e60 FUN_140081e60 + * Pseudocode, not original source. */ + +void FUN_140081e60(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + + puVar1 = (undefined8 *)*param_2; + if ((puVar1 != (undefined8 *)0x0) && (puVar1 != (undefined8 *)PTR_DAT_140155008)) { + puVar2 = puVar1; + if (puVar1 == (undefined8 *)0x0) { + puVar2 = (undefined8 *)PTR_DAT_140155008; + } + FUN_140081cc0(param_1,puVar2,(ulonglong)*(uint *)(puVar1 + -1),param_4); + return; + } + if (puVar1 == (undefined8 *)0x0) { + puVar1 = (undefined8 *)PTR_DAT_140155008; + } + FUN_140081cc0(param_1,puVar1,0,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140081ea0.c b/decomp/Agent_Release_x64/full/functions/0x140081ea0.c new file mode 100644 index 00000000..3482c4ac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140081ea0.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140081ea0 FUN_140081ea0 + * Pseudocode, not original source. */ + +void FUN_140081ea0(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + + puVar1 = (undefined8 *)*param_2; + if ((puVar1 != (undefined8 *)0x0) && (puVar1 != (undefined8 *)PTR_DAT_140155010)) { + puVar2 = puVar1; + if (puVar1 == (undefined8 *)0x0) { + puVar2 = (undefined8 *)PTR_DAT_140155010; + } + FUN_140081d40(param_1,puVar2,(ulonglong)*(uint *)(puVar1 + -1),param_4); + return; + } + if (puVar1 == (undefined8 *)0x0) { + puVar1 = (undefined8 *)PTR_DAT_140155010; + } + FUN_140081d40(param_1,puVar1,0,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140081ee0.c b/decomp/Agent_Release_x64/full/functions/0x140081ee0.c new file mode 100644 index 00000000..b7de0f72 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140081ee0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140081ee0 FUN_140081ee0 + * Pseudocode, not original source. */ + +void FUN_140081ee0(longlong param_1,short *param_2) + +{ + short sVar1; + ulonglong uVar2; + short *psVar3; + exception local_58 [80]; + + uVar2 = 0xffffffffffffffff; + psVar3 = param_2; + do { + if (uVar2 == 0) break; + uVar2 = uVar2 - 1; + sVar1 = *psVar3; + psVar3 = psVar3 + 1; + } while (sVar1 != 0); + uVar2 = ~uVar2 - 1; + if (0x7fffffff < uVar2) { + FUN_14002f1e0(local_58,L"WriteString failed! length=%I64d",uVar2,param_1); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + FUN_140081d40(param_1,(undefined8 *)param_2,uVar2 & 0xffffffff,param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140081f40.c b/decomp/Agent_Release_x64/full/functions/0x140081f40.c new file mode 100644 index 00000000..e01ed852 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140081f40.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140081f40 FUN_140081f40 + * Pseudocode, not original source. */ + +void FUN_140081f40(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + SIZE_T SVar2; + + puVar1 = (undefined8 *)*param_2; + if ((puVar1 == (undefined8 *)0x0) || (puVar1 == (undefined8 *)PTR_DAT_140155008)) { + SVar2 = 0; + } + else { + SVar2 = (SIZE_T)*(uint *)(puVar1 + -1); + } + if (puVar1 == (undefined8 *)0x0) { + puVar1 = (undefined8 *)PTR_DAT_140155008; + } + FUN_140081cc0(param_1,puVar1,SVar2,param_4); + FUN_1400221b0(param_1,(ulonglong)*(ushort *)(param_2 + 1),SVar2,param_4); + FUN_14001c020(param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140081fb0.c b/decomp/Agent_Release_x64/full/functions/0x140081fb0.c new file mode 100644 index 00000000..196e9e33 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140081fb0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140081fb0 FUN_140081fb0 + * Pseudocode, not original source. */ + +undefined8 * FUN_140081fb0(undefined8 *param_1) + +{ + *(undefined4 *)((longlong)param_1 + 0x14) = 1; + param_1[1] = 0; + *param_1 = Proud::IRmiProxy::vftable; + *(undefined1 *)(param_1 + 2) = 0; + *(undefined1 *)(param_1 + 3) = 1; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140081fe0.c b/decomp/Agent_Release_x64/full/functions/0x140081fe0.c new file mode 100644 index 00000000..f038e1f5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140081fe0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140081fe0 FUN_140081fe0 + * Pseudocode, not original source. */ + +void FUN_140081fe0(undefined8 *param_1) + +{ + *param_1 = Proud::IRmiProxy::vftable; + if (param_1[1] != 0) { + FUN_14002fa10( + L"RMI Proxy which is still in use by ProudNet core cannot be destroyed! Destroy CNetClient or CNetServer instance first." + ); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140082010.c b/decomp/Agent_Release_x64/full/functions/0x140082010.c new file mode 100644 index 00000000..b5a87b93 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140082010.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140082010 FUN_140082010 + * Pseudocode, not original source. */ + +undefined8 * FUN_140082010(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::IRmiProxy::vftable; + if (param_1[1] != 0) { + FUN_14002fa10( + L"RMI Proxy which is still in use by ProudNet core cannot be destroyed! Destroy CNetClient or CNetServer instance first." + ); + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140082060.c b/decomp/Agent_Release_x64/full/functions/0x140082060.c new file mode 100644 index 00000000..64217d14 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140082060.c @@ -0,0 +1,193 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140082060 FUN_140082060 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_140082060(longlong *param_1,undefined8 *param_2,ulonglong param_3,longlong param_4, + longlong param_5,undefined8 param_6,undefined4 param_7) + +{ + byte bVar1; + int iVar2; + ulonglong uVar3; + undefined1 *puVar4; + undefined8 uVar5; + longlong lVar6; + int iVar7; + SIZE_T SVar8; + longlong lVar9; + undefined4 *puVar10; + undefined8 *puVar11; + undefined1 auStack_1ac8 [32]; + longlong local_1aa8; + undefined8 local_1a98; + undefined8 uStack_1a90; + undefined4 local_1a88; + undefined4 local_1a84; + undefined4 local_1a80; + undefined4 local_1a7c; + undefined8 local_1a78; + undefined4 local_1a70; + undefined8 local_1a68; + undefined4 local_1a60; + undefined4 local_1a5c; + undefined4 local_1a58; + undefined1 local_1a54; + undefined1 local_1a53; + undefined1 local_1a52; + undefined4 local_1a50; + undefined8 local_1a48; + undefined1 local_1a40; + undefined1 local_1a3f; + undefined8 local_1a38; + undefined4 local_1a28 [2]; + longlong local_1a20; + longlong local_1a18; + uint local_1a10; + int local_1a0c; + undefined1 local_1a00 [136]; + longlong local_1978; + undefined8 uStack_1970; + longlong *local_cf8; + undefined4 local_cf0; + int local_cec; + undefined1 local_ce8 [3200]; + undefined1 *local_68; + undefined4 local_60; + int local_5c; + ulonglong local_58; + undefined8 uStack_48; + + uStack_48 = 0x14008207f; + local_1a38 = 0xfffffffffffffffe; + local_58 = DAT_1401555a0 ^ (ulonglong)auStack_1ac8; + iVar7 = (int)param_3; + if (param_1[1] == 0) { + uVar3 = FUN_14002fa10(L"ProudNet RMI Proxy is not attached yet!"); + uVar3 = uVar3 & 0xffffffffffffff00; + } + else { + lVar6 = param_4; + FUN_14003b530(param_4,param_2,param_3,param_4); + FUN_1400806d0(local_1a28); + SVar8 = 0x80; + puVar4 = local_1a00; + FUN_140080350((longlong)local_1a28,(longlong)puVar4,0x80,lVar6); + uVar5 = CONCAT71((int7)((ulonglong)puVar4 >> 8),1); + FUN_14001ba80((longlong)local_1a28,uVar5,SVar8,lVar6); + local_5c = 200; + lVar9 = 0; + local_60 = 0; + local_68 = local_ce8; + local_cec = 200; + local_cf0 = 0; + local_cf8 = &local_1978; + if (local_1a20 == 0) { + if (local_1a18 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,uVar5,0,lVar6); + } + } + else { + local_1a10 = *(uint *)(local_1a20 + 0x18); + } + local_1a98 = (longlong *)local_1a18; + if (local_1a18 == 0) { + if (local_1a20 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)local_1a10,0,lVar6); + } + local_1a98 = (longlong *)lVar9; + if (*(int *)(local_1a20 + 0x18) != 0) { + local_1a98 = *(longlong **)(local_1a20 + 0x10); + } + } + uStack_1a90 = CONCAT44(uStack_1a90._4_4_,local_1a10); + local_cf0 = 1; + uStack_1970 = uStack_1a90; + local_1978 = (longlong)local_1a98; + FUN_140040a60((longlong)local_ce8,(longlong)&local_1978,0,lVar6); + if (local_cf8 == (longlong *)0x0) { + FUN_14002f1e0((exception *)&local_1a80, + (wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,lVar9,lVar6); + /* WARNING: Subroutine does not return */ + _CxxThrowException(&local_1a80,(ThrowInfo *)&DAT_140151b88); + } + if (local_cec < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_140041760((longlong)&local_1978,param_5,lVar9); + FUN_140040a60((longlong)local_ce8,(longlong)&local_1978,lVar9,lVar6); + if (local_cf8 == (longlong *)0x0) { + FUN_14002f1e0((exception *)&local_1a80, + (wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,lVar9,lVar6); + /* WARNING: Subroutine does not return */ + _CxxThrowException(&local_1a80,(ThrowInfo *)&DAT_140151b88); + } + if (local_cec < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_1a80 = *(undefined4 *)(param_4 + 0x2c); + local_1a7c = *(undefined4 *)(param_4 + 8); + local_1a78 = *(undefined8 *)(param_4 + 0x10); + local_1a70 = *(undefined4 *)(param_4 + 0x18); + local_1a68 = *(undefined8 *)(param_4 + 0x20); + local_1a60 = *(undefined4 *)(param_4 + 0x28); + local_1a53 = *(undefined1 *)(param_4 + 0x30); + local_1a54 = *(undefined1 *)(param_4 + 0x40); + local_1a52 = *(undefined1 *)(param_4 + 0x41); + local_1a5c = *(undefined4 *)(param_4 + 0x54); + local_1a50 = 0xffffffff; + local_1a48 = *(undefined8 *)(param_4 + 0x48); + local_1a3f = *(undefined1 *)(param_4 + 0x50); + local_1a40 = DAT_1401551cc; + local_1a58 = *(undefined4 *)(param_4 + 0x58); + local_1aa8 = CONCAT44(local_1aa8._4_4_,iVar7); + puVar10 = &local_1a80; + puVar4 = local_ce8; + puVar11 = param_2; + bVar1 = (**(code **)(*(longlong *)param_1[1] + 0x28))(); + if ((char)param_1[2] == '\0') { + iVar2 = FUN_1400a1f10((longlong)local_ce8,puVar4,puVar10,puVar11); + local_1a98 = (longlong *)CONCAT44(param_7,iVar2); + uStack_1a90 = param_6; + local_1a88 = *(undefined4 *)(param_4 + 0x54); + local_1a84 = *(undefined4 *)(param_4 + 0x58); + if (((char)param_1[3] != '\0') && (lVar6 = 0, 0 < iVar7)) { + do { + (**(code **)(*param_1 + 0x10)) + (param_1,*(undefined4 *)((longlong)param_2 + lVar6 * 4),&local_1a98,param_4); + lVar6 = lVar6 + 1; + } while (lVar6 < iVar7); + } + puVar11 = &local_1a98; + puVar10 = (undefined4 *)(param_3 & 0xffffffff); + local_1aa8 = param_4; + (**(code **)(*(longlong *)param_1[1] + 0x68))((longlong *)param_1[1],param_2); + } + if (local_68 == (undefined1 *)0x0) { + FUN_14002f1e0((exception *)&local_1a80, + (wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,puVar10,puVar11); + /* WARNING: Subroutine does not return */ + _CxxThrowException(&local_1a80,(ThrowInfo *)&DAT_140151b88); + } + if (local_5c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_60 = 0; + local_1a98 = &local_1a20; + FUN_140095270(&local_1a20); + if ((local_1a18 != 0) && (local_1a0c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar3 = (ulonglong)bVar1; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140082400.c b/decomp/Agent_Release_x64/full/functions/0x140082400.c new file mode 100644 index 00000000..999973d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140082400.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140082400 FUN_140082400 + * Pseudocode, not original source. */ + +void FUN_140082400(undefined8 param_1,double param_2,undefined8 param_3,undefined8 param_4) + +{ + exception local_58 [88]; + + if (param_2 < DAT_1401550f8 * 10.0 * 2.0) { + FUN_14002f1e0(local_58,L"No ping timeout value is too small!",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140082450.c b/decomp/Agent_Release_x64/full/functions/0x140082450.c new file mode 100644 index 00000000..870c6808 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140082450.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140082450 FUN_140082450 + * Pseudocode, not original source. */ + +void FUN_140082450(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x000140082477. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140082490.c b/decomp/Agent_Release_x64/full/functions/0x140082490.c new file mode 100644 index 00000000..cb21d97b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140082490.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140082490 FUN_140082490 + * Pseudocode, not original source. */ + +void FUN_140082490(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x0001400824b7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400824d0.c b/decomp/Agent_Release_x64/full/functions/0x1400824d0.c new file mode 100644 index 00000000..d40ec2a3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400824d0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400824d0 FUN_1400824d0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400824d0(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140082530.c b/decomp/Agent_Release_x64/full/functions/0x140082530.c new file mode 100644 index 00000000..e49f812e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140082530.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140082530 FUN_140082530 + * Pseudocode, not original source. */ + +undefined8 * FUN_140082530(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140082590.c b/decomp/Agent_Release_x64/full/functions/0x140082590.c new file mode 100644 index 00000000..65e922c3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140082590.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140082590 FUN_140082590 + * Pseudocode, not original source. */ + +void FUN_140082590(longlong param_1,int param_2,longlong param_3,longlong param_4) + +{ + undefined8 *puVar1; + longlong lVar2; + longlong lVar3; + int iVar4; + longlong lVar5; + int iVar6; + longlong lVar7; + longlong lVar8; + longlong lVar9; + + iVar6 = (int)param_4; + lVar9 = (longlong)iVar6; + lVar7 = (longlong)param_2; + if (((-1 < iVar6) && (-1 < param_2)) && (param_2 <= *(int *)(param_1 + 0x18))) { + iVar4 = *(int *)(param_1 + 0x18); + FUN_140065570(param_1,iVar4 + iVar6,param_3,param_4); + iVar4 = iVar4 - param_2; + if ((0 < iVar4) && (iVar4 = iVar4 + -1, lVar5 = (longlong)iVar4, -1 < iVar4)) { + lVar8 = (lVar9 + lVar7 + lVar5) * 8; + do { + lVar2 = FUN_14003d690(param_1); + lVar3 = FUN_14003d690(param_1); + *(undefined8 *)(lVar3 + lVar8) = *(undefined8 *)(lVar2 + lVar9 * -8 + lVar8); + lVar8 = lVar8 + -8; + lVar5 = lVar5 + -1; + } while (-1 < lVar5); + } + if (0 < iVar6) { + lVar5 = lVar7 * 8; + do { + lVar8 = FUN_14003d690(param_1); + puVar1 = (undefined8 *)(lVar5 + param_3 + lVar7 * -8); + lVar5 = lVar5 + 8; + lVar9 = lVar9 + -1; + *(undefined8 *)(lVar8 + -8 + lVar5) = *puVar1; + } while (lVar9 != 0); + } + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140082680.c b/decomp/Agent_Release_x64/full/functions/0x140082680.c new file mode 100644 index 00000000..86f7a302 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140082680.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140082680 FUN_140082680 + * Pseudocode, not original source. */ + +void FUN_140082680(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((*(longlong *)(param_2 + 8) == 0) && (*(longlong *)(param_2 + 0x10) == 0)) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_2,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400826b0.c b/decomp/Agent_Release_x64/full/functions/0x1400826b0.c new file mode 100644 index 00000000..e60cf569 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400826b0.c @@ -0,0 +1,75 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400826b0 FUN_1400826b0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400826b0(longlong *param_1,uint *param_2,int *param_3,ulonglong param_4) + +{ + uint uVar1; + longlong lVar2; + int iVar3; + ulonglong uVar4; + int *piVar5; + longlong lVar6; + ulonglong *puVar7; + longlong lVar8; + int iVar9; + int *piVar10; + longlong lVar11; + int local_res10 [4]; + ulonglong local_res20; + uint local_28 [4]; + + uVar1 = *param_2; + piVar10 = param_3; + uVar4 = FUN_140080ca0(param_2,(undefined8 *)local_28,param_3,param_4); + if ((char)uVar4 != '\0') { + puVar7 = &local_res20; + uVar4 = FUN_140080ca0(param_2,puVar7,piVar10,param_4); + if ((char)uVar4 != '\0') { + iVar3 = (**(code **)(*param_1 + 0xd0))(param_1); + iVar9 = (int)local_res20; + if (iVar9 <= iVar3) { + local_res10[0] = iVar9; + FUN_1400801a0((longlong)param_3,puVar7,(SIZE_T)piVar10,param_4); + uVar4 = local_res20 & 0xffffffff; + piVar5 = param_3; + FUN_140080830(param_3,uVar4,(SIZE_T)piVar10,param_4); + lVar11 = *(longlong *)(param_2 + 4); + if (lVar11 == 0) { + lVar6 = *(longlong *)(param_2 + 2); + if (lVar6 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(piVar5,uVar4,piVar10,0); + } + if (*(int *)(lVar6 + 0x18) != 0) { + lVar11 = *(longlong *)(lVar6 + 0x10); + } + } + lVar6 = *(longlong *)(param_3 + 4); + lVar8 = (longlong)((int)(*param_2 + ((int)*param_2 >> 0x1f & 7U)) >> 3); + if (lVar6 == 0) { + lVar2 = *(longlong *)(param_3 + 2); + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,lVar8,piVar10,lVar11); + } + if (*(int *)(lVar2 + 0x18) != 0) { + lVar6 = *(longlong *)(lVar2 + 0x10); + } + } + piVar10 = (int *)(lVar11 + lVar8); + param_4 = (ulonglong)local_28[0]; + uVar4 = FUN_1400b9c50(lVar6,local_res10,(longlong)piVar10,local_28[0]); + if (((int)uVar4 == 0) && (local_res10[0] == iVar9)) { + return CONCAT71((int7)(uVar4 >> 8),1); + } + } + } + } + uVar4 = FUN_1400802d0((int *)param_2, + (ulonglong)(uint)((int)(((int)uVar1 >> 0x1f & 7U) + uVar1) >> 3),piVar10, + param_4); + return uVar4 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400827c0.c b/decomp/Agent_Release_x64/full/functions/0x1400827c0.c new file mode 100644 index 00000000..7b4bbaed --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400827c0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400827c0 FUN_1400827c0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400827c0(undefined8 *param_1) + +{ + *param_1 = Proud::CNetCoreImpl::vftable; + param_1[2] = 0; + param_1[3] = 0; + param_1[4] = 0; + param_1[5] = 0; + param_1[1] = Proud::CFastArray::vftable; + param_1[7] = 0; + param_1[6] = Proud::CFastArray::vftable; + param_1[8] = 0; + param_1[9] = 0; + param_1[10] = 0; + param_1[0xb] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140082810.c b/decomp/Agent_Release_x64/full/functions/0x140082810.c new file mode 100644 index 00000000..79f6bcde --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140082810.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140082810 FUN_140082810 + * Pseudocode, not original source. */ + +void FUN_140082810(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + LPVOID pvVar2; + longlong *plVar3; + + *param_1 = Proud::CNetCoreImpl::vftable; + puVar1 = (undefined8 *)param_1[0xb]; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1,param_3,param_4,0xfffffffffffffffe); + } + param_1[6] = Proud::CFastArray::vftable; + pvVar2 = (LPVOID)param_1[8]; + if (pvVar2 != (LPVOID)0x0) { + plVar3 = (longlong *)param_1[7]; + if (plVar3 == (longlong *)0x0) { + FUN_1400302f0(pvVar2); + } + else { + (**(code **)(*plVar3 + 0x18))(plVar3,pvVar2); + } + } + param_1[1] = Proud::CFastArray::vftable; + pvVar2 = (LPVOID)param_1[3]; + if (pvVar2 != (LPVOID)0x0) { + plVar3 = (longlong *)param_1[2]; + if (plVar3 == (longlong *)0x0) { + FUN_1400302f0(pvVar2); + } + else { + (**(code **)(*plVar3 + 0x18))(plVar3,pvVar2); + } + } + *param_1 = Proud::IRmiHost::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400828c0.c b/decomp/Agent_Release_x64/full/functions/0x1400828c0.c new file mode 100644 index 00000000..748ac9d8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400828c0.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400828c0 FUN_1400828c0 + * Pseudocode, not original source. */ + +void FUN_1400828c0(longlong *param_1,longlong param_2,undefined8 param_3,longlong param_4) + +{ + char cVar1; + int iVar2; + longlong lVar3; + longlong lVar4; + int iVar5; + ulonglong uVar6; + longlong lVar7; + longlong *plVar8; + uint uVar9; + longlong lVar10; + int iVar11; + exception local_68 [80]; + + cVar1 = (**(code **)(*param_1 + 0x90))(); + if (cVar1 != '\0') { + FUN_14002f1e0(local_68,(wchar_t *)PTR_u_Already_async_callback_may_occur_1401567a8,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_68,(ThrowInfo *)&DAT_140151b88); + } + uVar9 = *(uint *)(param_1 + 4); + uVar6 = 0; + lVar7 = 0; + if (0 < (int)uVar9) { + plVar8 = param_1 + 1; + while( true ) { + if ((lVar7 < 0) || (iVar5 = (int)uVar6, (int)param_1[4] <= iVar5)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(uVar6,lVar7,(ulonglong)uVar9,param_4); + } + if (*(longlong *)(param_1[3] + lVar7 * 8) == param_2) break; + uVar6 = (ulonglong)(iVar5 + 1U); + lVar7 = lVar7 + 1; + if ((int)uVar9 <= (int)(iVar5 + 1U)) { + return; + } + } + if (iVar5 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar2 = (int)param_1[4] - iVar5; + iVar11 = 1; + if (iVar2 < 2) { + iVar11 = iVar2; + } + uVar9 = ((int)param_1[4] - iVar11) - iVar5; + uVar6 = (ulonglong)uVar9; + if (0 < (int)uVar9) { + lVar10 = (longlong)(int)uVar9; + lVar7 = lVar7 * 8; + do { + lVar3 = FUN_14003d690((longlong)plVar8); + lVar4 = FUN_14003d690((longlong)plVar8); + *(undefined8 *)(lVar4 + lVar7) = *(undefined8 *)((longlong)iVar11 * 8 + lVar3 + lVar7); + lVar7 = lVar7 + 8; + lVar10 = lVar10 + -1; + } while (lVar10 != 0); + } + FUN_140065570((longlong)plVar8,(int)param_1[4] - iVar11,uVar6,param_4); + *(undefined8 *)(param_2 + 8) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140082a20.c b/decomp/Agent_Release_x64/full/functions/0x140082a20.c new file mode 100644 index 00000000..2296e3c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140082a20.c @@ -0,0 +1,61 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140082a20 FUN_140082a20 + * Pseudocode, not original source. */ + +void FUN_140082a20(longlong param_1,longlong param_2) + +{ + longlong lVar1; + int iVar2; + longlong lVar3; + longlong lVar4; + int iVar5; + longlong lVar6; + ulonglong uVar7; + longlong lVar8; + longlong lVar9; + int iVar10; + + uVar7 = 0; + lVar8 = 0; + if (0 < *(int *)(param_1 + 0x48)) { + lVar1 = param_1 + 0x30; + while( true ) { + if ((lVar8 < 0) || (iVar5 = (int)uVar7, *(int *)(param_1 + 0x48) <= iVar5)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(param_1,param_2,uVar7,lVar8); + } + if (*(longlong *)(*(longlong *)(param_1 + 0x40) + lVar8 * 8) == param_2) break; + uVar7 = (ulonglong)(iVar5 + 1U); + lVar8 = lVar8 + 1; + if (*(int *)(param_1 + 0x48) <= (int)(iVar5 + 1U)) { + return; + } + } + if (iVar5 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar2 = *(int *)(param_1 + 0x48) - iVar5; + iVar10 = 1; + if (iVar2 < 2) { + iVar10 = iVar2; + } + iVar5 = (*(int *)(param_1 + 0x48) - iVar10) - iVar5; + if (0 < iVar5) { + lVar9 = (longlong)iVar5; + lVar6 = lVar8 * 8; + do { + lVar3 = FUN_14003d690(lVar1); + lVar4 = FUN_14003d690(lVar1); + *(undefined8 *)(lVar4 + lVar6) = *(undefined8 *)((longlong)iVar10 * 8 + lVar3 + lVar6); + lVar6 = lVar6 + 8; + lVar9 = lVar9 + -1; + } while (lVar9 != 0); + } + FUN_140065570(lVar1,*(int *)(param_1 + 0x48) - iVar10,uVar7,lVar8); + *(undefined8 *)(param_2 + 0x10) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140082b40.c b/decomp/Agent_Release_x64/full/functions/0x140082b40.c new file mode 100644 index 00000000..5a25a15e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140082b40.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140082b40 FUN_140082b40 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140082b40(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140082810(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140082b70.c b/decomp/Agent_Release_x64/full/functions/0x140082b70.c new file mode 100644 index 00000000..16f11dea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140082b70.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140082b70 FUN_140082b70 + * Pseudocode, not original source. */ + +void FUN_140082b70(longlong param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + longlong lVar1; + uint uVar2; + ulonglong uVar4; + ulonglong uVar5; + ulonglong uVar3; + + uVar4 = 0; + lVar1 = param_1; + uVar3 = uVar4; + uVar5 = uVar4; + if (0 < *(int *)(param_1 + 0x20)) { + do { + if (((longlong)uVar5 < 0) || (*(int *)(param_1 + 0x20) <= (int)uVar3)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(lVar1,uVar3,uVar5,param_4); + } + uVar2 = (int)uVar3 + 1; + uVar3 = (ulonglong)uVar2; + uVar5 = uVar5 + 1; + lVar1 = *(longlong *)(*(longlong *)(param_1 + 0x18) + -8 + uVar5 * 8); + *(undefined8 *)(lVar1 + 8) = 0; + } while ((int)uVar2 < *(int *)(param_1 + 0x20)); + } + lVar1 = param_1 + 8; + FUN_140065570(lVar1,0,uVar5,param_4); + uVar3 = uVar4; + if (0 < *(int *)(param_1 + 0x48)) { + do { + if (((longlong)uVar4 < 0) || (*(int *)(param_1 + 0x48) <= (int)uVar3)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(lVar1,uVar4,uVar5,param_4); + } + uVar2 = (int)uVar3 + 1; + uVar3 = (ulonglong)uVar2; + uVar4 = uVar4 + 1; + lVar1 = *(longlong *)(*(longlong *)(param_1 + 0x40) + -8 + uVar4 * 8); + *(undefined8 *)(lVar1 + 0x10) = 0; + } while ((int)uVar2 < *(int *)(param_1 + 0x48)); + } + FUN_140065570(param_1 + 0x30,0,uVar5,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140082c10.c b/decomp/Agent_Release_x64/full/functions/0x140082c10.c new file mode 100644 index 00000000..a589a1d7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140082c10.c @@ -0,0 +1,94 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140082c10 FUN_140082c10 + * Pseudocode, not original source. */ + +void FUN_140082c10(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + char cVar1; + short sVar2; + ushort uVar3; + ushort uVar4; + int iVar5; + longlong *plVar6; + longlong *plVar7; + ushort uVar8; + ushort uVar9; + ushort uVar10; + int iVar11; + longlong lVar12; + longlong *local_res10; + exception local_78 [80]; + + plVar6 = param_1; + plVar7 = param_2; + local_res10 = param_2; + cVar1 = (**(code **)(*param_1 + 0x90))(); + if (cVar1 != '\0') { + FUN_14002f1e0(local_78,(wchar_t *)PTR_u_Already_async_callback_may_occur_1401567a8,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_78,(ThrowInfo *)&DAT_140151b88); + } + iVar11 = 0; + lVar12 = 0; + if (0 < (int)param_1[4]) { + do { + if ((lVar12 < 0) || ((int)param_1[4] <= iVar11)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar6,plVar7,param_3,param_4); + } + plVar6 = *(longlong **)(param_1[3] + lVar12 * 8); + iVar5 = (**(code **)*plVar6)(plVar6); + if (0xfff9 < iVar5) { +LAB_140082ddb: + FUN_14002f1e0(local_78,(wchar_t *)PTR_u_Wrong_RMI_ID_is_found__RMI_ID_sh_1401567a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_78,(ThrowInfo *)&DAT_140151b88); + } + iVar5 = (**(code **)(*plVar6 + 8))(plVar6); + if (iVar5 < 1) goto LAB_140082ddb; + sVar2 = (**(code **)(*param_2 + 8))(param_2); + uVar8 = sVar2 + 1; + uVar3 = (**(code **)*param_2)(param_2); + sVar2 = (**(code **)(*plVar6 + 8))(plVar6); + plVar7 = (longlong *)*plVar6; + uVar9 = sVar2 + 1; + uVar4 = (*(code *)*plVar7)(); + uVar10 = uVar9; + if (uVar9 < uVar4) { + uVar10 = uVar4; + uVar4 = uVar9; + } + uVar9 = uVar8; + if (uVar8 < uVar3) { + uVar9 = uVar3; + uVar3 = uVar8; + } + if (uVar4 < uVar3) { +LAB_140082d34: + if ((uVar9 <= uVar10) || ((uVar3 <= uVar10 && (uVar10 <= uVar9)))) goto LAB_140082db8; + if (uVar3 <= uVar4) goto LAB_140082d49; + } + else { + if (uVar10 <= uVar9) goto LAB_140082db8; + if (uVar4 <= uVar3) goto LAB_140082d34; +LAB_140082d49: + if ((uVar4 <= uVar9) && (uVar9 <= uVar10)) { +LAB_140082db8: + FUN_14002f1e0(local_78,(wchar_t *)PTR_u_Duplicated_RMI_ID_is_found__Revi_140156798,param_3 + ,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_78,(ThrowInfo *)&DAT_140151b88); + } + } + iVar11 = iVar11 + 1; + lVar12 = lVar12 + 1; + } while (iVar11 < (int)param_1[4]); + } + param_2[1] = (longlong)param_1; + FUN_140082590((longlong)(param_1 + 1),(int)param_1[4],(longlong)&local_res10,1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140082e10.c b/decomp/Agent_Release_x64/full/functions/0x140082e10.c new file mode 100644 index 00000000..3346350e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140082e10.c @@ -0,0 +1,96 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140082e10 FUN_140082e10 + * Pseudocode, not original source. */ + +void FUN_140082e10(longlong *param_1,longlong *param_2,undefined8 param_3,longlong param_4) + +{ + short sVar1; + ushort uVar2; + ushort uVar3; + longlong lVar4; + longlong lVar5; + longlong *plVar6; + longlong *plVar7; + int iVar8; + ushort uVar9; + ushort uVar10; + ushort uVar11; + longlong lVar12; + int iVar13; + longlong lVar14; + exception local_78 [80]; + + iVar13 = 0; + lVar14 = 0; + plVar6 = param_1; + plVar7 = param_2; + if (0 < (int)param_1[9]) { + do { + if ((lVar14 < 0) || ((int)param_1[9] <= iVar13)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar6,plVar7,param_3,param_4); + } + plVar6 = *(longlong **)(param_1[8] + lVar14 * 8); + sVar1 = (**(code **)(*param_2 + 8))(param_2); + uVar11 = sVar1 + 1; + uVar2 = (**(code **)*param_2)(param_2); + sVar1 = (**(code **)(*plVar6 + 8))(plVar6); + plVar7 = (longlong *)*plVar6; + uVar9 = sVar1 + 1; + uVar3 = (*(code *)*plVar7)(); + uVar10 = uVar9; + if (uVar9 < uVar3) { + uVar10 = uVar3; + uVar3 = uVar9; + } + uVar9 = uVar11; + if (uVar11 < uVar2) { + uVar9 = uVar2; + uVar2 = uVar11; + } + if (uVar3 < uVar2) { +LAB_140082ebd: + if ((uVar9 <= uVar10) || ((uVar2 <= uVar10 && (uVar10 <= uVar9)))) goto LAB_140082f92; + if (uVar2 <= uVar3) goto LAB_140082eda; + } + else { + if (uVar10 <= uVar9) goto LAB_140082f92; + if (uVar3 <= uVar2) goto LAB_140082ebd; +LAB_140082eda: + if ((uVar3 <= uVar9) && (uVar9 <= uVar10)) { +LAB_140082f92: + FUN_14002f1e0(local_78,(wchar_t *)PTR_u_Duplicated_RMI_ID_is_found__Revi_140156798,param_3 + ,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_78,(ThrowInfo *)&DAT_140151b88); + } + } + iVar13 = iVar13 + 1; + lVar14 = lVar14 + 1; + } while (iVar13 < (int)param_1[9]); + } + param_2[2] = (longlong)param_1; + iVar13 = (int)param_1[9]; + if (-1 < iVar13) { + lVar14 = param_1[9]; + FUN_140065570((longlong)(param_1 + 6),(int)lVar14 + 1,param_3,param_4); + iVar8 = (int)lVar14 - iVar13; + if ((0 < iVar8) && (iVar8 = iVar8 + -1, lVar14 = (longlong)iVar8, -1 < iVar8)) { + lVar12 = (lVar14 + iVar13) * 8 + 8; + do { + lVar4 = FUN_14003d690((longlong)(param_1 + 6)); + lVar5 = FUN_14003d690((longlong)(param_1 + 6)); + *(undefined8 *)(lVar5 + lVar12) = *(undefined8 *)(lVar4 + -8 + lVar12); + lVar12 = lVar12 + -8; + lVar14 = lVar14 + -1; + } while (-1 < lVar14); + } + lVar14 = FUN_14003d690((longlong)(param_1 + 6)); + *(longlong **)(lVar14 + (longlong)iVar13 * 8) = param_2; + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140082fd0.c b/decomp/Agent_Release_x64/full/functions/0x140082fd0.c new file mode 100644 index 00000000..e60a54d3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140082fd0.c @@ -0,0 +1,186 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140082fd0 FUN_140082fd0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined1 +FUN_140082fd0(longlong *param_1,undefined8 param_2,ulonglong param_3,longlong param_4, + undefined8 param_5,int param_6) + +{ + undefined1 uVar1; + int iVar2; + undefined1 *puVar3; + longlong lVar4; + SIZE_T SVar5; + undefined4 *puVar6; + ulonglong uVar7; + longlong lVar8; + undefined8 uVar9; + int *piVar10; + undefined1 auStack_1ad8 [32]; + longlong local_1ab8; + longlong *local_1aa8; + uint uStack_1aa0; + undefined4 uStack_1a9c; + undefined4 local_1a98; + undefined4 local_1a94; + undefined8 local_1a90; + undefined4 local_1a88; + undefined8 local_1a80; + undefined4 local_1a78; + undefined4 local_1a74; + undefined4 local_1a70; + undefined1 local_1a6c; + undefined1 local_1a6b; + undefined1 local_1a6a; + undefined4 local_1a68; + undefined8 local_1a60; + undefined1 local_1a58; + undefined1 local_1a57; + int local_1a50 [2]; + wchar_t *local_1a48; + undefined4 local_1a40; + undefined4 local_1a3c; + undefined8 local_1a38; + undefined4 local_1a28 [2]; + longlong local_1a20; + longlong local_1a18; + uint local_1a10; + int local_1a0c; + undefined1 local_1a00 [136]; + undefined1 local_1978 [3200]; + undefined1 *local_cf8; + int local_cf0; + int local_cec; + longlong local_ce8; + undefined8 uStack_ce0; + longlong *local_68; + undefined4 local_60; + int local_5c; + ulonglong local_58; + undefined8 uStack_48; + + uStack_48 = 0x140082fef; + local_1a38 = 0xfffffffffffffffe; + local_58 = DAT_1401555a0 ^ (ulonglong)auStack_1ad8; + lVar8 = param_4; + FUN_14003b530(param_4,param_2,param_3,param_4); + FUN_1400806d0(local_1a28); + SVar5 = 0x80; + puVar3 = local_1a00; + FUN_140080350((longlong)local_1a28,(longlong)puVar3,0x80,lVar8); + FUN_14001ba80((longlong)local_1a28,CONCAT71((int7)((ulonglong)puVar3 >> 8),2),SVar5,lVar8); + lVar4 = (longlong)param_6; + FUN_140081aa0((longlong)local_1a28,lVar4,SVar5,lVar8); + local_cec = 200; + local_cf0 = 0; + local_cf8 = local_1978; + local_5c = 200; + local_60 = 0; + local_68 = &local_ce8; + if (local_1a20 == 0) { + if (local_1a18 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,lVar4,SVar5,lVar8); + } + } + else { + local_1a10 = *(uint *)(local_1a20 + 0x18); + } + local_1aa8 = (longlong *)local_1a18; + if (local_1a18 == 0) { + if (local_1a20 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)local_1a10,SVar5,lVar8); + } + local_1aa8 = (longlong *)0; + if (*(int *)(local_1a20 + 0x18) != 0) { + local_1aa8 = *(longlong **)(local_1a20 + 0x10); + } + } + local_60 = 1; + uStack_ce0 = CONCAT44(uStack_1a9c,local_1a10); + uStack_1aa0 = local_1a10; + local_ce8 = (longlong)local_1aa8; + FUN_140040a60((longlong)local_1978,(longlong)&local_ce8,SVar5,lVar8); + if (local_68 == (longlong *)0x0) { + FUN_14002f1e0((exception *)&local_1a98, + (wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,SVar5,lVar8); + /* WARNING: Subroutine does not return */ + _CxxThrowException(&local_1a98,(ThrowInfo *)&DAT_140151b88); + } + if (local_5c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uStack_1aa0 = param_6; + if (local_cf8 == (undefined1 *)0x0) { + FUN_14002f1e0((exception *)&local_1a98, + (wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,SVar5,lVar8); + /* WARNING: Subroutine does not return */ + _CxxThrowException(&local_1a98,(ThrowInfo *)&DAT_140151b88); + } + if (local_cf0 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar2 = local_cf0 + 1; + if ((iVar2 < 0) || (local_cec < iVar2)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined8 *)(local_cf8 + (longlong)local_cf0 * 0x10) = param_5; + *(ulonglong *)(local_cf8 + (longlong)local_cf0 * 0x10 + 8) = CONCAT44(uStack_1a9c,param_6); + local_1a98 = *(undefined4 *)(param_4 + 0x2c); + local_1a94 = *(undefined4 *)(param_4 + 8); + local_1a90 = *(undefined8 *)(param_4 + 0x10); + local_1a88 = *(undefined4 *)(param_4 + 0x18); + local_1a80 = *(undefined8 *)(param_4 + 0x20); + local_1a78 = *(undefined4 *)(param_4 + 0x28); + local_1a6b = *(undefined1 *)(param_4 + 0x30); + local_1a6c = *(undefined1 *)(param_4 + 0x40); + local_1a6a = *(undefined1 *)(param_4 + 0x41); + local_1a74 = *(undefined4 *)(param_4 + 0x54); + local_1a68 = 0xffffffff; + local_1a60 = *(undefined8 *)(param_4 + 0x48); + local_1a57 = *(undefined1 *)(param_4 + 0x50); + local_1a58 = DAT_1401551cc; + local_1a70 = *(undefined4 *)(param_4 + 0x58); + local_1ab8 = CONCAT44(local_1ab8._4_4_,(int)param_3); + puVar6 = &local_1a98; + puVar3 = local_1978; + uVar9 = param_2; + local_cf0 = iVar2; + uVar1 = (**(code **)(*param_1 + 0x28))(param_1); + local_1a50[0] = FUN_1400a1f10((longlong)local_1978,puVar3,puVar6,uVar9); + local_1a50[1] = 0; + local_1a48 = L""; + local_1a40 = *(undefined4 *)(param_4 + 0x54); + local_1a3c = *(undefined4 *)(param_4 + 0x58); + piVar10 = local_1a50; + uVar7 = param_3 & 0xffffffff; + local_1ab8 = param_4; + (**(code **)(*param_1 + 0x68))(param_1,param_2); + if (local_cf8 == (undefined1 *)0x0) { + FUN_14002f1e0((exception *)&local_1a98, + (wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,uVar7,piVar10); + /* WARNING: Subroutine does not return */ + _CxxThrowException(&local_1a98,(ThrowInfo *)&DAT_140151b88); + } + if (-1 < local_cec) { + local_cf0 = 0; + local_1aa8 = &local_1a20; + FUN_140095270(&local_1a20); + if ((local_1a18 != 0) && (local_1a0c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140083340.c b/decomp/Agent_Release_x64/full/functions/0x140083340.c new file mode 100644 index 00000000..a1780bfa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140083340.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140083340 FUN_140083340 + * Pseudocode, not original source. */ + +void FUN_140083340(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + longlong *plVar3; + + plVar3 = param_2; + lVar1 = (**(code **)(*param_1 + 0x98))(); + if (lVar1 != 0) { + plVar2 = (longlong *)(**(code **)(*param_1 + 0x98))(param_1); + plVar3 = (longlong *)0x0; + if (*param_2 != 0) { + plVar3 = *(longlong **)(*param_2 + 0x38); + } + (**(code **)(*plVar2 + 8))(plVar2); + } + FUN_14002b570(param_2,plVar3,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400833a0.c b/decomp/Agent_Release_x64/full/functions/0x1400833a0.c new file mode 100644 index 00000000..f3f60454 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400833a0.c @@ -0,0 +1,819 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400833a0 FUN_1400833a0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_1400833a0(longlong *param_1,longlong *param_2,int *param_3,int *param_4,uint param_5) + +{ + byte bVar1; + char cVar2; + uint uVar3; + uint uVar4; + uint uVar5; + int *piVar6; + uint *puVar7; + undefined8 uVar8; + longlong *plVar9; + int *piVar10; + longlong *plVar11; + undefined *extraout_RAX; + undefined *puVar12; + ulonglong uVar13; + undefined8 *puVar14; + undefined4 *puVar15; + longlong lVar16; + undefined ***pppuVar17; + wchar_t *pwVar18; + undefined1 *puVar19; + undefined7 uVar21; + uint *puVar20; + uint uVar22; + int iVar23; + uint uVar24; + uint **ppuVar25; + SIZE_T SVar26; + uint **ppuVar27; + undefined8 uVar28; + uint *puVar29; + undefined1 auStackY_1d58 [32]; + uint *local_1d28; + uint local_1d20 [2]; + uint *local_1d18; + undefined8 local_1d10; + ushort local_1d08 [4]; + uint *local_1d00; + undefined **local_1cf8; + undefined8 local_1cf0; + undefined8 local_1ce8; + undefined8 local_1ce0; + undefined8 local_1cd8; + longlong *local_1cb0; + longlong *local_1ca8; + undefined1 local_1ca0; + undefined8 local_1c98; + longlong local_1c90; + longlong local_1c88; + undefined4 local_1c80; + int local_1c7c; + longlong *local_1c70; + int local_1c68 [2]; + longlong local_1c60; + longlong local_1c58; + uint local_1c50; + int local_1c4c; + int *local_1c40; + undefined1 local_1c38; + int *local_1c30; + undefined1 local_1c28; + int *local_1c20; + undefined1 local_1c18; + longlong local_1c10; + uint uStack_1c08; + undefined4 uStack_1c04; + longlong local_1c00; + uint uStack_1bf8; + undefined4 uStack_1bf4; + longlong local_1bf0; + longlong local_1be8 [2]; + undefined4 local_1bd8 [2]; + longlong local_1bd0; + longlong local_1bc8; + uint local_1bc0; + int local_1bbc; + undefined1 local_1bb0 [136]; + uint *local_1b28; + longlong local_1b20; + ulonglong local_1b18; + undefined8 local_1b10; + uint local_1b08 [100]; + longlong local_1978; + undefined8 uStack_1970; + longlong *local_cf8; + undefined4 local_cf0; + int local_cec; + longlong local_ce8 [400]; + longlong *local_68; + undefined4 local_60; + int local_5c; + ulonglong local_58; + undefined8 uStack_48; + + uStack_48 = 0x1400833bf; + local_1be8[1] = 0xfffffffffffffffe; + local_58 = DAT_1401555a0 ^ (ulonglong)auStackY_1d58; + bVar1 = 0; + local_1cb0 = param_2; + if ((param_3[9] == 0) || (*param_3 == 2)) { + uVar13 = (**(code **)(*param_1 + 0x78))(); + } + else { + piVar6 = (int *)(**(code **)(*param_1 + 0x58))(); + local_1c40 = piVar6; + FUN_14002e6e0(piVar6); + local_1c38 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(*param_1 + 200))(param_1,L"Proud::CNetCoreImpl::Send_SecureLayer"); + } + local_1b28 = (uint *)0x0; + local_1b10 = 0; + local_1b20 = 0; + local_1b18 = 100; + ppuVar27 = &local_1b28; + plVar9 = (longlong *)(ulonglong)param_5; + (**(code **)(*param_1 + 0x50))(param_1); + FUN_14002e770((longlong)piVar6); + local_1c38 = 0; + FUN_140030200(piVar6,plVar9,param_4,ppuVar27); + local_1d00 = (uint *)PTR_DAT_140155010; + iVar23 = 0; + local_1d10 = (longlong *)((ulonglong)local_1d10._4_4_ << 0x20); + if (0 < local_1b20) { + lVar16 = 0; + do { + if ((lVar16 < 0) || (local_1b20 <= lVar16)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar7 = local_1b28; + if (local_1b18 < 0x65) { + puVar7 = local_1b08; + } + local_1d20[0] = puVar7[lVar16]; + uVar3 = (**(code **)(*param_1 + 0x30))(param_1); + pwVar18 = (wchar_t *)(ulonglong)local_1d20[0]; + param_4 = param_3; + if (uVar3 == local_1d20[0]) { + ppuVar27 = (uint **)local_1d20; + plVar9 = param_2; + bVar1 = (**(code **)(*param_1 + 0x78))(); + } + else { + ppuVar25 = &local_1d00; + puVar7 = (uint *)(**(code **)(*param_1 + 0xc0))(param_1); + if (puVar7 == (uint *)0x0) { + plVar11 = (longlong *)(**(code **)(*param_1 + 0x58))(param_1); + plVar9 = plVar11; + local_1ca8 = plVar11; + FUN_14002e6e0((int *)plVar11); + local_1ca0 = 1; + if (DAT_14015bfcf != '\0') { + ppuVar25 = (uint **)*param_1; + pwVar18 = L"Proud::CNetCoreImpl::Send_SecureLayer"; + plVar9 = param_1; + (*(code *)ppuVar25[0x19])(); + } + if (((local_1d00 == (uint *)0x0) || (local_1d00 == (uint *)PTR_DAT_140155010)) || + ((int)local_1d00[-2] < 1)) { + FUN_140030200(plVar9,pwVar18,ppuVar25,ppuVar27); + local_1d28 = (uint *)PTR_DAT_140155010; + uVar3 = FUN_140030080( + L"CStartServerParameter.m_enableP2PEncryptedMessaging=false. P2P Messaging can not encrypted!!" + ); + uVar4 = 0; + uVar13 = 0; + if ((local_1d28 != (uint *)0x0) && + (uVar13 = 0, local_1d28 != (uint *)PTR_DAT_140155010)) { + uVar13 = (ulonglong)local_1d28[-2]; + } + uVar5 = uVar3; + if ((((int)uVar3 <= (int)uVar13) && (uVar5 = uVar4, local_1d28 != (uint *)0x0)) && + (local_1d28 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_1d28[-2]; + } + uVar22 = 1; + if (1 < (int)uVar5) { + uVar22 = uVar5; + } + uVar5 = uVar4; + if ((local_1d28 != (uint *)0x0) && (local_1d28 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_1d28[-2]; + } + if ((int)uVar5 < (int)uVar22) { + if (local_1d28 == (uint *)0x0) { + local_1d28 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar22 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar22 == 0) { + FUN_140003240((longlong *)&local_1d28,uVar13,PTR_DAT_140155010,ppuVar27); + } + else { + uVar5 = uVar4; + if ((local_1d28 != (uint *)0x0) && (local_1d28 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_1d28[-2]; + } + if (uVar22 != uVar5) { + puVar7 = (uint *)FUN_140030280((longlong)(int)uVar22 * 2 + 10); + if (puVar7 != (uint *)0x0) { + *puVar7 = 0; + puVar7[1] = 1; + } + *puVar7 = uVar22; + uVar5 = 0; + if ((local_1d28 != (uint *)0x0) && (local_1d28 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_1d28[-2]; + } + puVar20 = (uint *)PTR_DAT_140155010; + if ((int)uVar22 < (int)uVar5) { +LAB_140083cf7: + if (local_1d28 != (uint *)0x0) { + puVar20 = local_1d28; + } + } + else { + uVar22 = uVar4; + if (local_1d28 != (uint *)0x0) { + if (local_1d28 != (uint *)PTR_DAT_140155010) { + uVar22 = local_1d28[-2]; + } + goto LAB_140083cf7; + } + } + uVar13 = (ulonglong)uVar22; + puVar29 = puVar20; + FUN_1400300b0(puVar7 + 2,puVar20,uVar22); + FUN_140003240((longlong *)&local_1d28,puVar20,uVar13,puVar29); + local_1d28 = puVar7 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_1d28); + puVar7 = local_1d28; + if (local_1d28 == (uint *)0x0) { + puVar7 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar7, + L"CStartServerParameter.m_enableP2PEncryptedMessaging=false. P2P Messaging can not encrypted!!" + ,uVar3); + puVar7 = local_1d28; + if (local_1d28 == (uint *)0x0) { + puVar7 = (uint *)PTR_DAT_140155010; + } + uVar4 = FUN_140030080((short *)puVar7); + uVar5 = 0; + uVar3 = 0; + if (0 < (int)uVar4) { + uVar3 = uVar4; + } + uVar4 = uVar5; + if ((local_1d28 != (uint *)0x0) && (local_1d28 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_1d28[-2]; + } + if (((int)uVar3 < (int)uVar4) || (uVar3 = uVar5, local_1d28 == (uint *)0x0)) { +LAB_140083d95: + if (((local_1d28 != (uint *)PTR_DAT_140155010) && (local_1d28 != (uint *)0x0)) && + (local_1d28 + -2 != (uint *)0x0)) { + local_1d28[-2] = uVar3; + *(undefined2 *)((longlong)local_1d28 + (longlong)(int)uVar3 * 2) = 0; + } + } + else if (local_1d28 != (uint *)PTR_DAT_140155010) { + uVar3 = local_1d28[-2]; + goto LAB_140083d95; + } + local_1cf0 = 0; + local_1ce8 = 0; + local_1ce0 = 0; + local_1cd8 = 0; + local_1cf8 = Proud::ByteArray::vftable; + ppuVar27 = &local_1d28; + plVar9 = FUN_14003c120((longlong *)&local_1c70,5,(ulonglong)local_1d20[0], + (longlong *)ppuVar27,(longlong)&local_1cf8); + param_4 = (int *)*param_1; + (**(code **)(param_4 + 0x20))(param_1); + FUN_14003b870(&local_1cf8); + FUN_140003240((longlong *)&local_1d28,plVar9,param_4,ppuVar27); + param_2 = local_1cb0; + iVar23 = (int)local_1d10; + } + else { + local_1cf0 = 0; + local_1ce8 = 0; + local_1ce0 = 0; + local_1cd8 = 0; + local_1cf8 = Proud::ByteArray::vftable; + ppuVar27 = &local_1d00; + plVar9 = FUN_14003c120(local_1be8,5,(ulonglong)local_1d20[0],(longlong *)ppuVar27, + (longlong)&local_1cf8); + param_4 = (int *)*param_1; + (**(code **)(param_4 + 0x20))(param_1); + FUN_14003b870(&local_1cf8); + } + FUN_14002e770((longlong)plVar11); + local_1ca0 = 0; + } + else { + pwVar18 = (wchar_t *)*param_1; + piVar6 = (int *)(**(code **)(pwVar18 + 0x2c))(); + local_1c20 = piVar6; + FUN_14002e6e0(piVar6); + local_1c18 = 1; + if (DAT_14015bfcf != '\0') { + ppuVar25 = (uint **)*param_1; + pwVar18 = L"Proud::CNetCoreImpl::Send_SecureLayer"; + (*(code *)ppuVar25[0x19])(param_1); + } + FUN_1400806d0((undefined4 *)&local_1c98); + FUN_1400801a0((longlong)&local_1c98,pwVar18,(SIZE_T)ppuVar25,ppuVar27); + if (*param_3 == 1) { + ppuVar25 = (uint **)local_1d08; + uVar13 = (ulonglong)local_1d20[0]; + plVar9 = param_1; + cVar2 = (**(code **)(*param_1 + 0xa0))(); + if (cVar2 == '\0') { + FUN_140030200(plVar9,uVar13,ppuVar25,ppuVar27); + local_1d28 = (uint *)PTR_DAT_140155010; + uVar3 = FUN_140030080((short *)&DAT_140101c50); + uVar4 = 0; + uVar5 = 0; + uVar13 = 0; + if ((local_1d28 != (uint *)0x0) && + (uVar13 = 0, local_1d28 != (uint *)PTR_DAT_140155010)) { + uVar13 = (ulonglong)local_1d28[-2]; + } + uVar22 = uVar3; + if ((((int)uVar3 <= (int)uVar13) && (uVar22 = uVar5, local_1d28 != (uint *)0x0)) && + (local_1d28 != (uint *)PTR_DAT_140155010)) { + uVar22 = local_1d28[-2]; + } + uVar24 = 1; + if (1 < (int)uVar22) { + uVar24 = uVar22; + } + uVar22 = uVar5; + if ((local_1d28 != (uint *)0x0) && (local_1d28 != (uint *)PTR_DAT_140155010)) { + uVar22 = local_1d28[-2]; + } + if ((int)uVar22 < (int)uVar24) { + if (local_1d28 == (uint *)0x0) { + local_1d28 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar24 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar24 == 0) { + FUN_140003240((longlong *)&local_1d28,PTR_DAT_140155010,uVar13,ppuVar27); + } + else { + uVar22 = uVar5; + if ((local_1d28 != (uint *)0x0) && (local_1d28 != (uint *)PTR_DAT_140155010)) { + uVar22 = local_1d28[-2]; + } + if (uVar24 != uVar22) { + puVar7 = (uint *)FUN_140030280((longlong)(int)uVar24 * 2 + 10); + if (puVar7 != (uint *)0x0) { + *puVar7 = 0; + puVar7[1] = 1; + } + *puVar7 = uVar24; + uVar22 = uVar5; + if ((local_1d28 != (uint *)0x0) && (local_1d28 != (uint *)PTR_DAT_140155010)) + { + uVar22 = local_1d28[-2]; + } + puVar20 = (uint *)PTR_DAT_140155010; + if ((int)uVar24 < (int)uVar22) { +LAB_140083f4d: + if (local_1d28 != (uint *)0x0) { + puVar20 = local_1d28; + } + } + else { + uVar24 = uVar5; + if (local_1d28 != (uint *)0x0) { + if (local_1d28 != (uint *)PTR_DAT_140155010) { + uVar24 = local_1d28[-2]; + } + goto LAB_140083f4d; + } + } + uVar13 = (ulonglong)uVar24; + FUN_1400300b0(puVar7 + 2,puVar20,uVar24); + FUN_140003240((longlong *)&local_1d28,puVar20,uVar13,ppuVar27); + local_1d28 = puVar7 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_1d28); + puVar7 = local_1d28; + if (local_1d28 == (uint *)0x0) { + puVar7 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar7,&DAT_140101c50,uVar3); + puVar7 = local_1d28; + if (local_1d28 == (uint *)0x0) { + puVar7 = (uint *)PTR_DAT_140155010; + } + uVar5 = FUN_140030080((short *)puVar7); + uVar3 = uVar4; + if (0 < (int)uVar5) { + uVar3 = uVar5; + } + uVar5 = uVar4; + if ((local_1d28 != (uint *)0x0) && (local_1d28 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_1d28[-2]; + } + if (((int)uVar5 <= (int)uVar3) && (uVar3 = uVar4, local_1d28 != (uint *)0x0)) { + if (local_1d28 == (uint *)PTR_DAT_140155010) goto LAB_140084007; + uVar3 = local_1d28[-2]; + } + if (((local_1d28 != (uint *)PTR_DAT_140155010) && (local_1d28 != (uint *)0x0)) && + (local_1d28 + -2 != (uint *)0x0)) { + local_1d28[-2] = uVar3; + *(undefined2 *)((longlong)local_1d28 + (longlong)(int)uVar3 * 2) = 0; + } +LAB_140084007: + local_1cf0 = 0; + local_1ce8 = 0; + local_1ce0 = 0; + local_1cd8 = 0; + local_1cf8 = Proud::ByteArray::vftable; + ppuVar27 = &local_1d28; + plVar9 = FUN_14003c120((longlong *)&local_1c70,5,(ulonglong)local_1d20[0], + (longlong *)ppuVar27,(longlong)&local_1cf8); + lVar16 = *param_1; + (**(code **)(lVar16 + 0x80))(param_1); + pppuVar17 = &local_1cf8; + FUN_14003b870(pppuVar17); + puVar7 = local_1d28; + if (((local_1d28 != (uint *)0x0) && (local_1d28 != (uint *)PTR_DAT_140155010)) && + (puVar20 = local_1d28 + -2, puVar20 != (uint *)0x0)) { + plVar11 = (longlong *)FUN_140030200(pppuVar17,plVar9,lVar16,ppuVar27); + local_1ca8 = plVar11; + FUN_14002e6e0((int *)plVar11); + local_1ca0 = 1; + puVar7 = puVar7 + -1; + *puVar7 = *puVar7 - 1; + if (*puVar7 == 0) { + FUN_1400302f0(puVar20); + } + FUN_14002e770((longlong)plVar11); + } + local_1c70 = &local_1c90; + FUN_140095270(&local_1c90); + if (local_1c88 != 0) { + if (local_1c7c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_1c80 = 0; + } + FUN_14002e770((longlong)piVar6); + puVar7 = local_1d00; + if (((local_1d00 != (uint *)0x0) && (local_1d00 != (uint *)PTR_DAT_140155010)) && + (puVar20 = local_1d00 + -2, puVar20 != (uint *)0x0)) { + plVar9 = (longlong *)FUN_140030200(piVar6,plVar9,lVar16,ppuVar27); + local_1ca8 = plVar9; + FUN_14002e6e0((int *)plVar9); + local_1ca0 = 1; + puVar7 = puVar7 + -1; + *puVar7 = *puVar7 - 1; + if (*puVar7 == 0) { + FUN_1400302f0(puVar20); + } + FUN_14002e770((longlong)plVar9); + } + local_1d00 = (uint *)PTR_DAT_140155010; + puVar12 = PTR_DAT_140155010; + if (100 < local_1b18) { + operator_delete__(local_1b28); + puVar12 = extraout_RAX; + } + return (ulonglong)puVar12 & 0xffffffffffffff00; + } + FUN_1400221b0((longlong)&local_1c98,(ulonglong)local_1d08[0],(SIZE_T)ppuVar25,ppuVar27 + ); + } + plVar9 = param_2; + FUN_140080ab0(&local_1c98,(longlong)param_2,(SIZE_T)ppuVar25,(longlong)ppuVar27); + FUN_1400806d0(local_1c68); + FUN_1400801a0((longlong)local_1c68,plVar9,(SIZE_T)ppuVar25,ppuVar27); + uVar28 = 0; + piVar10 = local_1c68; + puVar14 = &local_1c98; + if (param_3[9] == 1) { + uVar8 = FUN_140092cd0((longlong)puVar14,piVar10,puVar7,0); + cVar2 = (char)uVar8; + } + else { + puVar7 = puVar7 + 0xf4; + uVar8 = FUN_1400a07b0((longlong)puVar14,piVar10,(SIZE_T)puVar7,0); + cVar2 = (char)uVar8; + } + if (cVar2 == '\0') { + FUN_140030200(puVar14,piVar10,puVar7,uVar28); + local_1d18 = (uint *)PTR_DAT_140155010; + uVar3 = FUN_140030080(L"Encrypt Error"); + uVar4 = 0; + uVar13 = 0; + if ((local_1d18 != (uint *)0x0) && + (uVar13 = 0, local_1d18 != (uint *)PTR_DAT_140155010)) { + uVar13 = (ulonglong)local_1d18[-2]; + } + uVar5 = uVar3; + if ((((int)uVar3 <= (int)uVar13) && (uVar5 = uVar4, local_1d18 != (uint *)0x0)) && + (local_1d18 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_1d18[-2]; + } + uVar22 = 1; + if (1 < (int)uVar5) { + uVar22 = uVar5; + } + uVar5 = uVar4; + if ((local_1d18 != (uint *)0x0) && (local_1d18 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_1d18[-2]; + } + if ((int)uVar5 < (int)uVar22) { + if (local_1d18 == (uint *)0x0) { + local_1d18 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar22 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar22 == 0) { + FUN_140003240((longlong *)&local_1d18,uVar13,PTR_DAT_140155010,uVar28); + } + else { + uVar5 = uVar4; + if ((local_1d18 != (uint *)0x0) && (local_1d18 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_1d18[-2]; + } + if (uVar22 != uVar5) { + puVar7 = (uint *)FUN_140030280((longlong)(int)uVar22 * 2 + 10); + if (puVar7 != (uint *)0x0) { + *puVar7 = 0; + puVar7[1] = 1; + } + *puVar7 = uVar22; + uVar5 = 0; + if ((local_1d18 != (uint *)0x0) && (local_1d18 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_1d18[-2]; + } + puVar20 = (uint *)PTR_DAT_140155010; + if ((int)uVar22 < (int)uVar5) { +LAB_14008395c: + if (local_1d18 != (uint *)0x0) { + puVar20 = local_1d18; + } + } + else { + uVar22 = uVar4; + if (local_1d18 != (uint *)0x0) { + if (local_1d18 != (uint *)PTR_DAT_140155010) { + uVar22 = local_1d18[-2]; + } + goto LAB_14008395c; + } + } + uVar13 = (ulonglong)uVar22; + puVar29 = puVar20; + FUN_1400300b0(puVar7 + 2,puVar20,uVar22); + FUN_140003240((longlong *)&local_1d18,puVar20,uVar13,puVar29); + local_1d18 = puVar7 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_1d18); + puVar7 = local_1d18; + if (local_1d18 == (uint *)0x0) { + puVar7 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar7,L"Encrypt Error",uVar3); + puVar7 = local_1d18; + if (local_1d18 == (uint *)0x0) { + puVar7 = (uint *)PTR_DAT_140155010; + } + uVar4 = FUN_140030080((short *)puVar7); + uVar5 = 0; + uVar3 = 0; + if (0 < (int)uVar4) { + uVar3 = uVar4; + } + uVar4 = uVar5; + if ((local_1d18 != (uint *)0x0) && (local_1d18 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_1d18[-2]; + } + if (((int)uVar3 < (int)uVar4) || (uVar3 = uVar5, local_1d18 == (uint *)0x0)) { +LAB_1400839fa: + if (((local_1d18 != (uint *)PTR_DAT_140155010) && (local_1d18 != (uint *)0x0)) && + (local_1d18 + -2 != (uint *)0x0)) { + local_1d18[-2] = uVar3; + *(undefined2 *)((longlong)local_1d18 + (longlong)(int)uVar3 * 2) = 0; + } + } + else if (local_1d18 != (uint *)PTR_DAT_140155010) { + uVar3 = local_1d18[-2]; + goto LAB_1400839fa; + } + local_1cf0 = 0; + local_1ce8 = 0; + local_1ce0 = 0; + local_1cd8 = 0; + local_1cf8 = Proud::ByteArray::vftable; + ppuVar27 = &local_1d18; + plVar9 = FUN_14003c120(&local_1bf0,5,(ulonglong)local_1d20[0],(longlong *)ppuVar27, + (longlong)&local_1cf8); + param_4 = (int *)*param_1; + (**(code **)(param_4 + 0x20))(param_1); + pppuVar17 = &local_1cf8; + FUN_14003b870(pppuVar17); + puVar7 = local_1d18; + if (((local_1d18 != (uint *)0x0) && (local_1d18 != (uint *)PTR_DAT_140155010)) && + (puVar20 = local_1d18 + -2, puVar20 != (uint *)0x0)) { + piVar10 = (int *)FUN_140030200(pppuVar17,plVar9,param_4,ppuVar27); + local_1c30 = piVar10; + FUN_14002e6e0(piVar10); + local_1c28 = 1; + puVar7 = puVar7 + -1; + *puVar7 = *puVar7 - 1; + if (*puVar7 == 0) { + FUN_1400302f0(puVar20); + } + FUN_14002e770((longlong)piVar10); + local_1c28 = 0; + } + local_1d18 = (uint *)PTR_DAT_140155010; + if (*param_3 == 1) { + plVar9 = (longlong *)(ulonglong)local_1d20[0]; + (**(code **)(*param_1 + 0xa8))(param_1); + } + param_2 = local_1cb0; + iVar23 = (int)local_1d10; + } + else { + FUN_1400806d0(local_1bd8); + SVar26 = 0x80; + puVar19 = local_1bb0; + FUN_140080350((longlong)local_1bd8,(longlong)puVar19,0x80,uVar28); + uVar21 = (undefined7)((ulonglong)puVar19 >> 8); + uVar8 = CONCAT71(uVar21,0x24); + if (*param_3 != 1) { + uVar8 = CONCAT71(uVar21,0x25); + } + FUN_14001ba80((longlong)local_1bd8,uVar8,SVar26,uVar28); + uVar13 = (ulonglong)*(byte *)(param_3 + 9); + puVar15 = local_1bd8; + FUN_14001ba80((longlong)puVar15,uVar13,SVar26,uVar28); + if (local_1c60 == 0) { + uVar3 = local_1c50; + if (local_1c58 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar15,uVar13,SVar26,uVar28); + } + } + else { + uVar3 = *(uint *)(local_1c60 + 0x18); + } + lVar16 = (longlong)(int)uVar3; + FUN_140081aa0((longlong)local_1bd8,lVar16,SVar26,uVar28); + local_5c = 200; + local_60 = 0; + local_68 = local_ce8; + local_cec = 200; + local_cf0 = 0; + local_cf8 = &local_1978; + if (local_1bd0 == 0) { + uVar3 = local_1bc0; + if (local_1bc8 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,lVar16,SVar26,uVar28); + } + } + else { + uVar3 = *(uint *)(local_1bd0 + 0x18); + } + lVar16 = local_1bc8; + if (local_1bc8 == 0) { + if (local_1bd0 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)uVar3,SVar26,uVar28); + } + lVar16 = 0; + if (*(int *)(local_1bd0 + 0x18) != 0) { + lVar16 = *(longlong *)(local_1bd0 + 0x10); + } + } + local_cf0 = 1; + uStack_1970 = CONCAT44(uStack_1c04,uVar3); + plVar9 = &local_1978; + local_1c10 = lVar16; + uStack_1c08 = uVar3; + local_1978 = lVar16; + FUN_140040a60((longlong)local_ce8,(longlong)plVar9,SVar26,uVar28); + if (local_cf8 == (longlong *)0x0) { + FUN_14002f1e0((exception *)&local_1cf8, + (wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,SVar26, + uVar28); + /* WARNING: Subroutine does not return */ + _CxxThrowException(&local_1cf8,(ThrowInfo *)&DAT_140151b88); + } + if (local_cec < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_cec = 200; + local_cf0 = 0; + local_cf8 = &local_1978; + if (local_1c60 == 0) { + uVar3 = local_1c50; + if (local_1c58 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,plVar9,SVar26,uVar28); + } + } + else { + uVar3 = *(uint *)(local_1c60 + 0x18); + } + lVar16 = local_1c58; + if (local_1c58 == 0) { + if (local_1c60 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)uVar3,SVar26,uVar28); + } + lVar16 = 0; + if (*(int *)(local_1c60 + 0x18) != 0) { + lVar16 = *(longlong *)(local_1c60 + 0x10); + } + } + local_cf0 = 1; + uStack_1970 = CONCAT44(uStack_1bf4,uVar3); + local_1c00 = lVar16; + uStack_1bf8 = uVar3; + local_1978 = lVar16; + FUN_140040a60((longlong)local_ce8,(longlong)&local_1978,SVar26,uVar28); + if (local_cf8 == (longlong *)0x0) { + FUN_14002f1e0((exception *)&local_1cf8, + (wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,SVar26, + uVar28); + /* WARNING: Subroutine does not return */ + _CxxThrowException(&local_1cf8,(ThrowInfo *)&DAT_140151b88); + } + if (local_cec < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + ppuVar27 = (uint **)local_1d20; + plVar9 = local_ce8; + bVar1 = (**(code **)(*param_1 + 0x78))(param_1); + if (local_68 == (longlong *)0x0) { + FUN_14002f1e0((exception *)&local_1cf8, + (wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_4, + ppuVar27); + /* WARNING: Subroutine does not return */ + _CxxThrowException(&local_1cf8,(ThrowInfo *)&DAT_140151b88); + } + if (local_5c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_60 = 0; + local_1d10 = &local_1bd0; + FUN_140095270(&local_1bd0); + if ((local_1bc8 != 0) && (local_1bbc < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + local_1d10 = &local_1c60; + FUN_140095270(&local_1c60); + if (local_1c58 != 0) { + if (local_1c4c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_1c50 = 0; + } + local_1d10 = &local_1c90; + FUN_140095270(&local_1c90); + if (local_1c88 != 0) { + if (local_1c7c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_1c80 = 0; + } + FUN_14002e770((longlong)piVar6); + local_1c18 = 0; + } + } + iVar23 = iVar23 + 1; + local_1d10 = (longlong *)CONCAT44(local_1d10._4_4_,iVar23); + lVar16 = (longlong)iVar23; + } while (lVar16 < local_1b20); + } + FUN_140003240((longlong *)&local_1d00,plVar9,param_4,ppuVar27); + if (100 < local_1b18) { + operator_delete__(local_1b28); + } + uVar13 = (ulonglong)bVar1; + } + return uVar13; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140084280.c b/decomp/Agent_Release_x64/full/functions/0x140084280.c new file mode 100644 index 00000000..b2f24abe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140084280.c @@ -0,0 +1,442 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140084280 FUN_140084280 + * Pseudocode, not original source. */ + +ulonglong FUN_140084280(uint *param_1,int param_2,uint *param_3,uint *param_4) + +{ + undefined *puVar1; + undefined *puVar2; + char cVar3; + uint uVar4; + uint uVar5; + uint uVar6; + undefined8 uVar7; + ulonglong uVar8; + wchar_t *pwVar9; + uint *puVar10; + uint *puVar11; + longlong *plVar12; + int *piVar13; + int *piVar14; + undefined ***pppuVar15; + uint *puVar16; + wchar_t *pwVar17; + uint uVar18; + longlong lVar19; + uint *puVar20; + uint **ppuVar21; + undefined **ppuVar22; + uint uVar23; + wchar_t local_res18 [4]; + uint *local_res20; + uint *local_b8; + undefined *local_b0; + uint *local_a8; + undefined1 local_a0; + wchar_t local_98 [4]; + undefined **local_90; + undefined8 local_88; + undefined8 local_80; + undefined8 local_78; + undefined8 local_70; + uint local_68; + uint local_64; + uint *local_60; + undefined1 local_58; + longlong local_50 [3]; + + local_50[1] = 0xfffffffffffffffe; + uVar4 = (int)(*param_3 + ((int)*param_3 >> 0x1f & 7U)) >> 3; + puVar11 = param_3; + puVar20 = param_4; + local_res20 = param_4; + local_68 = uVar4; + uVar7 = FUN_140080f30(param_3,&local_64,param_3,param_4); + if ((char)uVar7 != '\0') { + pwVar9 = local_res18; + puVar10 = param_3; + uVar8 = FUN_140080ca0(param_3,(undefined8 *)pwVar9,puVar11,puVar20); + if ((char)uVar8 != '\0') { + FUN_140030200(puVar10,pwVar9,puVar11,puVar20); + local_b0 = PTR_DAT_140155010; + puVar11 = (uint *)(ulonglong)param_3[10]; + pwVar9 = (wchar_t *)(**(code **)(*(longlong *)param_1 + 0xc0))(param_1,puVar11,&local_b0); + if (((pwVar9 == (wchar_t *)0x0) || (puVar10 = (uint *)(ulonglong)local_64, local_64 == 0)) || + (local_64 == 3)) { +LAB_140084a05: + piVar13 = (int *)(**(code **)(*(longlong *)param_1 + 0x58))(param_1); + local_a8 = (uint *)piVar13; + FUN_14002e6e0(piVar13); + local_a0 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)param_1 + 200)) + (param_1,L"Proud::CNetCoreImpl::ProcessMessage_Encrypted"); + } + FUN_14001b850((longlong *)&local_b0,L" decrypt failed"); + local_88 = 0; + local_80 = 0; + local_78 = 0; + local_70 = 0; + local_90 = Proud::ByteArray::vftable; + ppuVar22 = &local_b0; + plVar12 = FUN_14003c120((longlong *)local_res18,6,(ulonglong)param_3[10], + (longlong *)ppuVar22,(longlong)&local_90); + lVar19 = *(longlong *)param_1; + (**(code **)(lVar19 + 0x80))(param_1,plVar12); + FUN_14003b870(&local_90); + uVar8 = (ulonglong)uVar4; + FUN_1400802d0((int *)param_3,uVar8,lVar19,ppuVar22); + FUN_14002e770((longlong)piVar13); + puVar2 = local_b0; + if (((local_b0 != (undefined *)0x0) && (local_b0 != PTR_DAT_140155010)) && + (puVar1 = local_b0 + -8, puVar1 != (undefined *)0x0)) { + piVar14 = (int *)FUN_140030200(piVar13,uVar8,lVar19,ppuVar22); + local_a8 = (uint *)piVar14; + FUN_14002e6e0(piVar14); + local_a0 = 1; + piVar13 = (int *)(puVar2 + -4); + *piVar13 = *piVar13 + -1; + if (*piVar13 == 0) { + FUN_1400302f0(puVar1); + } + local_b0 = (undefined *)FUN_14002e770((longlong)piVar14); + } + goto LAB_140084b0d; + } + if (local_64 == 1) { + puVar20 = (uint *)(ulonglong)(uint)((int)(((int)*param_3 >> 0x1f & 7U) + *param_3) >> 3); + puVar10 = param_3; + puVar11 = param_4; + uVar7 = FUN_140092720((longlong)param_3,(int *)param_4,(uint *)pwVar9,(ulonglong)puVar20); + cVar3 = (char)uVar7; +LAB_14008437e: + if (cVar3 == '\0') goto LAB_140084a05; + } + else if (local_64 == 2) { + puVar20 = (uint *)(ulonglong)(uint)((int)(((int)*param_3 >> 0x1f & 7U) + *param_3) >> 3); + pwVar9 = pwVar9 + 0x1e8; + puVar10 = param_3; + puVar11 = param_4; + uVar7 = FUN_1400a0a90((longlong)param_3,(int *)param_4,(SIZE_T)pwVar9,(ulonglong)puVar20); + cVar3 = (char)uVar7; + goto LAB_14008437e; + } + if (param_2 != 0x24) { +LAB_1400849b5: + puVar2 = local_b0; + if (((local_b0 != (undefined *)0x0) && (local_b0 != PTR_DAT_140155010)) && + (puVar1 = local_b0 + -8, puVar1 != (undefined *)0x0)) { + piVar14 = (int *)FUN_140030200(puVar10,puVar11,pwVar9,puVar20); + local_a8 = (uint *)piVar14; + FUN_14002e6e0(piVar14); + local_a0 = 1; + piVar13 = (int *)(puVar2 + -4); + *piVar13 = *piVar13 + -1; + if (*piVar13 == 0) { + FUN_1400302f0(puVar1); + } + local_b0 = (undefined *)FUN_14002e770((longlong)piVar14); + } + return CONCAT71((int7)((ulonglong)local_b0 >> 8),1); + } + lVar19 = 2; + pwVar9 = local_98; + uVar7 = FUN_140080600(param_4,(undefined8 *)pwVar9,2); + if ((char)uVar7 != '\0') { + pwVar9 = local_res18; + pwVar17 = (wchar_t *)(ulonglong)param_3[10]; + cVar3 = (**(code **)(*(longlong *)param_1 + 0xb0))(param_1); + lVar19 = *(longlong *)param_1; + if (cVar3 == '\0') { + puVar10 = (uint *)(**(code **)(lVar19 + 0x58))(); + puVar11 = puVar10; + local_a8 = puVar10; + FUN_14002e6e0((int *)puVar10); + local_a0 = 1; + if (DAT_14015bfcf != '\0') { + pwVar9 = *(wchar_t **)param_1; + pwVar17 = L"Proud::CNetCoreImpl::ProcessMessage_Encrypted"; + puVar11 = param_1; + (**(code **)(pwVar9 + 100))(); + } + FUN_140030200(puVar11,pwVar17,pwVar9,puVar20); + local_b8 = (uint *)PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_b8,L"GetExpectedDecryptCount failed!!",pwVar9,puVar20); + local_88 = 0; + local_80 = 0; + local_78 = 0; + local_70 = 0; + local_90 = Proud::ByteArray::vftable; + ppuVar21 = &local_b8; + plVar12 = FUN_14003c120(local_50,6,(ulonglong)param_3[10],(longlong *)ppuVar21, + (longlong)&local_90); + lVar19 = *(longlong *)param_1; + (**(code **)(lVar19 + 0x80))(param_1,plVar12); + FUN_14003b870(&local_90); + uVar8 = (ulonglong)uVar4; + FUN_1400802d0((int *)param_4,uVar8,lVar19,ppuVar21); + puVar11 = local_b8; + if (((local_b8 != (uint *)0x0) && (local_b8 != (uint *)PTR_DAT_140155010)) && + (puVar20 = local_b8 + -2, puVar20 != (uint *)0x0)) { + piVar13 = (int *)FUN_140030200(param_4,uVar8,lVar19,ppuVar21); + local_60 = (uint *)piVar13; + FUN_14002e6e0(piVar13); + local_58 = 1; + puVar11 = puVar11 + -1; + *puVar11 = *puVar11 - 1; + if (*puVar11 == 0) { + FUN_1400302f0(puVar20); + } + FUN_14002e770((longlong)piVar13); + } + local_b8 = (uint *)PTR_DAT_140155010; + FUN_14002e770((longlong)puVar10); + puVar2 = local_b0; + if (((local_b0 != (undefined *)0x0) && (local_b0 != PTR_DAT_140155010)) && + (puVar1 = local_b0 + -8, puVar1 != (undefined *)0x0)) { + piVar14 = (int *)FUN_140030200(puVar10,uVar8,lVar19,ppuVar21); + local_a8 = (uint *)piVar14; + FUN_14002e6e0(piVar14); + local_a0 = 1; + piVar13 = (int *)(puVar2 + -4); + *piVar13 = *piVar13 + -1; + if (*piVar13 == 0) { + FUN_1400302f0(puVar1); + } + local_b0 = (undefined *)FUN_14002e770((longlong)piVar14); + } + } + else { + if (local_98[0] == local_res18[0]) { + puVar11 = (uint *)(ulonglong)param_3[10]; + (**(code **)(lVar19 + 0xb8))(); + puVar10 = param_1; + goto LAB_1400849b5; + } + puVar10 = (uint *)(**(code **)(lVar19 + 0x58))(); + puVar11 = puVar10; + local_a8 = puVar10; + FUN_14002e6e0((int *)puVar10); + local_a0 = 1; + if (DAT_14015bfcf != '\0') { + pwVar9 = *(wchar_t **)param_1; + pwVar17 = L"Proud::CNetCoreImpl::ProcessMessage_Encrypted"; + puVar11 = param_1; + (**(code **)(pwVar9 + 100))(); + } + FUN_140030200(puVar11,pwVar17,pwVar9,puVar20); + local_b8 = (uint *)PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_b8,L"decryptCount1(%d) != decryptCount2(%d)", + (ulonglong)(ushort)local_98[0],(ulonglong)(ushort)local_res18[0]); + local_88 = 0; + local_80 = 0; + local_78 = 0; + local_70 = 0; + local_90 = Proud::ByteArray::vftable; + ppuVar21 = &local_b8; + plVar12 = FUN_14003c120(local_50,6,(ulonglong)param_3[10],(longlong *)ppuVar21, + (longlong)&local_90); + lVar19 = *(longlong *)param_1; + (**(code **)(lVar19 + 0x80))(param_1,plVar12); + FUN_14003b870(&local_90); + uVar8 = (ulonglong)uVar4; + FUN_1400802d0((int *)param_4,uVar8,lVar19,ppuVar21); + puVar11 = local_b8; + if (((local_b8 != (uint *)0x0) && (local_b8 != (uint *)PTR_DAT_140155010)) && + (puVar20 = local_b8 + -2, puVar20 != (uint *)0x0)) { + piVar13 = (int *)FUN_140030200(param_4,uVar8,lVar19,ppuVar21); + local_60 = (uint *)piVar13; + FUN_14002e6e0(piVar13); + local_58 = 1; + puVar11 = puVar11 + -1; + *puVar11 = *puVar11 - 1; + if (*puVar11 == 0) { + FUN_1400302f0(puVar20); + } + FUN_14002e770((longlong)piVar13); + } + local_b8 = (uint *)PTR_DAT_140155010; + FUN_14002e770((longlong)puVar10); + puVar2 = local_b0; + if (((local_b0 != (undefined *)0x0) && (local_b0 != PTR_DAT_140155010)) && + (puVar1 = local_b0 + -8, puVar1 != (undefined *)0x0)) { + piVar14 = (int *)FUN_140030200(puVar10,uVar8,lVar19,ppuVar21); + local_a8 = (uint *)piVar14; + FUN_14002e6e0(piVar14); + local_a0 = 1; + piVar13 = (int *)(puVar2 + -4); + *piVar13 = *piVar13 + -1; + if (*piVar13 == 0) { + FUN_1400302f0(puVar1); + } + local_b0 = (undefined *)FUN_14002e770((longlong)piVar14); + } + } + goto LAB_140084b0d; + } + puVar10 = (uint *)(**(code **)(*(longlong *)param_1 + 0x58))(); + puVar11 = puVar10; + local_60 = puVar10; + FUN_14002e6e0((int *)puVar10); + local_58 = 1; + if (DAT_14015bfcf != '\0') { + lVar19 = *(longlong *)param_1; + pwVar9 = L"Proud::CNetCoreImpl::ProcessMessage_Encrypted"; + puVar11 = param_1; + (**(code **)(lVar19 + 200))(); + } + FUN_140030200(puVar11,pwVar9,lVar19,puVar20); + local_b8 = (uint *)PTR_DAT_140155010; + uVar4 = FUN_140030080(L"decryptCount1 read failed!!"); + uVar18 = 0; + uVar6 = 0; + uVar8 = 0; + if ((local_b8 != (uint *)0x0) && (uVar8 = 0, local_b8 != (uint *)PTR_DAT_140155010)) { + uVar8 = (ulonglong)local_b8[-2]; + } + uVar5 = uVar4; + if ((((int)uVar4 <= (int)uVar8) && (uVar5 = uVar6, local_b8 != (uint *)0x0)) && + (local_b8 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_b8[-2]; + } + uVar23 = 1; + if (1 < (int)uVar5) { + uVar23 = uVar5; + } + uVar5 = uVar6; + if ((local_b8 != (uint *)0x0) && (local_b8 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_b8[-2]; + } + if ((int)uVar5 < (int)uVar23) { + if (local_b8 == (uint *)0x0) { + local_b8 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar23 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar23 == 0) { + FUN_140003240((longlong *)&local_b8,PTR_DAT_140155010,uVar8,puVar20); + } + else { + uVar5 = uVar6; + if ((local_b8 != (uint *)0x0) && (local_b8 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_b8[-2]; + } + if (uVar23 != uVar5) { + puVar11 = (uint *)FUN_140030280((longlong)(int)uVar23 * 2 + 10); + if (puVar11 != (uint *)0x0) { + *puVar11 = 0; + puVar11[1] = 1; + } + *puVar11 = uVar23; + uVar5 = uVar6; + if ((local_b8 != (uint *)0x0) && (local_b8 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_b8[-2]; + } + puVar16 = (uint *)PTR_DAT_140155010; + if ((int)uVar23 < (int)uVar5) { +LAB_1400844e5: + if (local_b8 != (uint *)0x0) { + puVar16 = local_b8; + } + } + else { + uVar23 = uVar6; + if (local_b8 != (uint *)0x0) { + if (local_b8 != (uint *)PTR_DAT_140155010) { + uVar23 = local_b8[-2]; + } + goto LAB_1400844e5; + } + } + uVar8 = (ulonglong)uVar23; + FUN_1400300b0(puVar11 + 2,puVar16,uVar23); + FUN_140003240((longlong *)&local_b8,puVar16,uVar8,puVar20); + local_b8 = puVar11 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_b8); + puVar11 = local_b8; + if (local_b8 == (uint *)0x0) { + puVar11 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar11,L"decryptCount1 read failed!!",uVar4); + puVar11 = local_b8; + if (local_b8 == (uint *)0x0) { + puVar11 = (uint *)PTR_DAT_140155010; + } + uVar6 = FUN_140030080((short *)puVar11); + uVar4 = uVar18; + if (0 < (int)uVar6) { + uVar4 = uVar6; + } + uVar6 = uVar18; + if ((local_b8 != (uint *)0x0) && (local_b8 != (uint *)PTR_DAT_140155010)) { + uVar6 = local_b8[-2]; + } + if (((int)uVar4 < (int)uVar6) || (uVar4 = uVar18, local_b8 == (uint *)0x0)) { +LAB_140084578: + if (((local_b8 != (uint *)PTR_DAT_140155010) && (local_b8 != (uint *)0x0)) && + (local_b8 + -2 != (uint *)0x0)) { + local_b8[-2] = uVar4; + *(undefined2 *)((longlong)local_b8 + (longlong)(int)uVar4 * 2) = 0; + } + } + else if (local_b8 != (uint *)PTR_DAT_140155010) { + uVar4 = local_b8[-2]; + goto LAB_140084578; + } + local_88 = 0; + local_80 = 0; + local_78 = 0; + local_70 = 0; + local_90 = Proud::ByteArray::vftable; + ppuVar21 = &local_b8; + plVar12 = FUN_14003c120(local_50,6,(ulonglong)param_3[10],(longlong *)ppuVar21, + (longlong)&local_90); + lVar19 = *(longlong *)param_1; + (**(code **)(lVar19 + 0x80))(param_1); + pppuVar15 = &local_90; + FUN_14003b870(pppuVar15); + puVar11 = local_b8; + if (((local_b8 != (uint *)0x0) && (local_b8 != (uint *)PTR_DAT_140155010)) && + (puVar20 = local_b8 + -2, puVar20 != (uint *)0x0)) { + piVar13 = (int *)FUN_140030200(pppuVar15,plVar12,lVar19,ppuVar21); + local_a8 = (uint *)piVar13; + FUN_14002e6e0(piVar13); + local_a0 = 1; + puVar11 = puVar11 + -1; + *puVar11 = *puVar11 - 1; + if (*puVar11 == 0) { + FUN_1400302f0(puVar20); + } + FUN_14002e770((longlong)piVar13); + } + uVar8 = (ulonglong)local_68; + FUN_1400802d0((int *)local_res20,uVar8,lVar19,ppuVar21); + FUN_14002e770((longlong)puVar10); + puVar2 = local_b0; + if (((local_b0 != (undefined *)0x0) && (local_b0 != PTR_DAT_140155010)) && + (puVar1 = local_b0 + -8, puVar1 != (undefined *)0x0)) { + piVar14 = (int *)FUN_140030200(puVar10,uVar8,lVar19,ppuVar21); + local_a8 = (uint *)piVar14; + FUN_14002e6e0(piVar14); + local_a0 = 1; + piVar13 = (int *)(puVar2 + -4); + *piVar13 = *piVar13 + -1; + if (*piVar13 == 0) { + FUN_1400302f0(puVar1); + } + local_b0 = (undefined *)FUN_14002e770((longlong)piVar14); + } + goto LAB_140084b0d; + } + } + local_b0 = (undefined *)FUN_1400802d0((int *)param_3,(ulonglong)uVar4,puVar11,puVar20); +LAB_140084b0d: + return (ulonglong)local_b0 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140084b30.c b/decomp/Agent_Release_x64/full/functions/0x140084b30.c new file mode 100644 index 00000000..a2cee268 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140084b30.c @@ -0,0 +1,404 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140084b30 FUN_140084b30 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_140084b30(longlong *param_1,longlong *param_2,int *param_3,uint *param_4,uint param_5) + +{ + short *psVar1; + int iVar2; + uint uVar3; + uint uVar4; + ulonglong uVar5; + uint *puVar6; + longlong *plVar7; + undefined ***pppuVar8; + ulonglong uVar9; + undefined8 *puVar10; + ulonglong uVar11; + short **ppsVar12; + undefined4 *puVar13; + wchar_t *pwVar14; + uint *puVar15; + undefined1 *puVar16; + undefined8 uVar17; + longlong lVar18; + uint uVar19; + ulonglong uVar20; + SIZE_T SVar21; + int *piVar22; + ulonglong uVar23; + uint **ppuVar24; + short *psVar25; + undefined1 auStackY_1b18 [32]; + uint *local_1ae8; + longlong *local_1ae0; + uint local_1ad8 [2]; + int local_1ad0 [2]; + longlong local_1ac8; + ulonglong local_1ac0; + int local_1ab8; + int local_1ab4; + undefined8 local_1aa8; + longlong local_1aa0; + ulonglong local_1a98; + uint local_1a90; + int local_1a8c; + uint *local_1a80; + int *local_1a78; + short *local_1a70; + undefined ***local_1a68; + undefined1 local_1a60; + undefined **local_1a58; + undefined8 local_1a50; + undefined8 local_1a48; + undefined8 local_1a40; + undefined8 local_1a38; + undefined8 local_1a30; + undefined4 local_1a28 [2]; + longlong local_1a20; + longlong local_1a18; + undefined4 local_1a10; + int local_1a0c; + undefined1 local_1a00 [136]; + longlong local_1978 [400]; + longlong *local_cf8; + undefined4 local_cf0; + undefined4 local_cec; + undefined1 local_ce8 [3216]; + ulonglong local_58; + undefined8 uStack_48; + + uStack_48 = 0x140084b4f; + local_1a30 = 0xfffffffffffffffe; + local_58 = DAT_1401555a0 ^ (ulonglong)auStackY_1b18; + local_1a80 = param_4; + local_1a78 = param_3; + if ((param_3[10] == 0) || + (plVar7 = param_2, puVar6 = param_4, + iVar2 = FUN_1400a1f10((longlong)param_2,param_2,param_3,param_4), iVar2 < 0x33)) + goto LAB_1400851e6; + FUN_1400806d0((undefined4 *)&local_1aa8); + FUN_1400801a0((longlong)&local_1aa8,plVar7,(SIZE_T)param_3,puVar6); + puVar10 = &local_1aa8; + plVar7 = param_2; + FUN_140080ab0(puVar10,(longlong)param_2,(SIZE_T)param_3,(longlong)puVar6); + if (local_1aa0 == 0) { + uVar3 = local_1a90; + if (local_1a98 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar10,plVar7,param_3,puVar6); + } + } + else { + uVar3 = *(uint *)(local_1aa0 + 0x18); + } + FUN_1400806d0(local_1ad0); + FUN_1400801a0((longlong)local_1ad0,plVar7,(SIZE_T)param_3,puVar6); + uVar5 = (ulonglong)uVar3; + FUN_140080830(local_1ad0,uVar5,(SIZE_T)param_3,puVar6); + uVar11 = (ulonglong)uVar3; + local_1ad8[0] = FUN_1400b9d20(uVar3); + uVar9 = 0; + uVar20 = local_1a98; + if (local_1a98 == 0) { + if (local_1aa0 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(uVar11,uVar5,0,puVar6); + } + uVar20 = uVar9; + if (*(int *)(local_1aa0 + 0x18) != 0) { + uVar20 = *(ulonglong *)(local_1aa0 + 0x10); + } + } + uVar11 = local_1ac0; + if (local_1ac0 == 0) { + if (local_1ac8 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,uVar5,uVar20,puVar6); + } + uVar11 = uVar9; + if (*(int *)(local_1ac8 + 0x18) != 0) { + uVar11 = *(ulonglong *)(local_1ac8 + 0x10); + } + } + uVar23 = (ulonglong)uVar3; + puVar6 = local_1ad8; + uVar5 = FUN_1400b9b90(uVar11,puVar6,uVar20,uVar3); + if ((int)uVar5 == 0) { + uVar3 = FUN_1400a1f10((longlong)param_2,puVar6,uVar20,uVar23); + if (local_1ad8[0] + 9 < uVar3) { + FUN_140080830(local_1ad0,(ulonglong)local_1ad8[0],uVar20,uVar23); + FUN_1400806d0(local_1a28); + SVar21 = 0x80; + puVar16 = local_1a00; + FUN_140080350((longlong)local_1a28,(longlong)puVar16,0x80,uVar23); + uVar17 = CONCAT71((int7)((ulonglong)puVar16 >> 8),0x26); + puVar13 = local_1a28; + FUN_14001ba80((longlong)puVar13,uVar17,SVar21,uVar23); + if (local_1ac8 == 0) { + iVar2 = local_1ab8; + if (local_1ac0 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar13,uVar17,SVar21,uVar23); + } + } + else { + iVar2 = *(int *)(local_1ac8 + 0x18); + } + lVar18 = (longlong)iVar2; + FUN_140081aa0((longlong)local_1a28,lVar18,SVar21,uVar23); + iVar2 = FUN_1400a1f10((longlong)param_2,lVar18,SVar21,uVar23); + FUN_140081aa0((longlong)local_1a28,(longlong)iVar2,SVar21,uVar23); + local_cec = 200; + local_cf0 = 0; + local_cf8 = local_1978; + FUN_140041760((longlong)local_ce8,(longlong)local_1a28,SVar21); + puVar16 = local_ce8; + FUN_140040a60((longlong)local_1978,(longlong)puVar16,SVar21,uVar23); + FUN_140040950((longlong)local_ce8,puVar16,SVar21,uVar23); + FUN_140041760((longlong)local_ce8,(longlong)local_1ad0,SVar21); + puVar16 = local_ce8; + FUN_140040a60((longlong)local_1978,(longlong)puVar16,SVar21,uVar23); + FUN_140040950((longlong)local_ce8,puVar16,SVar21,uVar23); + plVar7 = local_1978; + piVar22 = local_1a78; + uVar9 = FUN_1400833a0(param_1,plVar7,local_1a78,(int *)param_4,param_5); + FUN_140040950((longlong)local_1978,plVar7,piVar22,param_4); + local_1ae0 = &local_1a20; + FUN_140095270(&local_1a20); + if (local_1a18 != 0) { + if (local_1a0c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_1a10 = 0; + } + local_1ae0 = &local_1ac8; + FUN_140095270(&local_1ac8); + if (local_1ac0 != 0) { + if (local_1ab4 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_1ab8 = 0; + } + local_1ae0 = &local_1aa0; + FUN_140095270(&local_1aa0); + if ((local_1a98 != 0) && (local_1a8c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar9 & 0xff; + } + local_1ae0 = &local_1ac8; + FUN_140095270(&local_1ac8); + if (local_1ac0 != 0) { + if (local_1ab4 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_1ab8 = 0; + } + local_1ae0 = &local_1aa0; + FUN_140095270(&local_1aa0); + if ((local_1a98 != 0) && (local_1a8c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + goto LAB_1400851e6; + } + FUN_140030200(uVar11,puVar6,uVar20,uVar23); + local_1a70 = (short *)PTR_DAT_140155010; + uVar5 = uVar5 & 0xffffffff; + pwVar14 = L"Packet compression failed! Error code=%d"; + ppsVar12 = &local_1a70; + FUN_14001b7a0((longlong *)ppsVar12,L"Packet compression failed! Error code=%d",uVar5,uVar23); + psVar1 = local_1a70; + psVar25 = local_1a70; + if (local_1a70 == (short *)0x0) { + psVar25 = (short *)PTR_DAT_140155010; + } + FUN_140030200(ppsVar12,pwVar14,uVar5,uVar23); + local_1ae8 = (uint *)PTR_DAT_140155010; + uVar3 = FUN_140030080(psVar25); + if ((local_1ae8 != (uint *)0x0) && (uVar9 = 0, local_1ae8 != (uint *)PTR_DAT_140155010)) { + uVar9 = (ulonglong)local_1ae8[-2]; + } + uVar4 = uVar3; + if ((((int)uVar3 <= (int)uVar9) && (uVar4 = 0, local_1ae8 != (uint *)0x0)) && + (local_1ae8 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_1ae8[-2]; + } + uVar19 = 1; + if (1 < (int)uVar4) { + uVar19 = uVar4; + } + if (local_1ae8 == (uint *)0x0) { + uVar4 = 0; + } + else if (local_1ae8 == (uint *)PTR_DAT_140155010) { + uVar4 = 0; + } + else { + uVar4 = local_1ae8[-2]; + } + if ((int)uVar4 < (int)uVar19) { + if (local_1ae8 == (uint *)0x0) { + local_1ae8 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar19 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar19 == 0) { + FUN_140003240((longlong *)&local_1ae8,PTR_DAT_140155010,uVar9,uVar23); + } + else { + if (local_1ae8 == (uint *)0x0) { + uVar4 = 0; + } + else if (local_1ae8 == (uint *)PTR_DAT_140155010) { + uVar4 = 0; + } + else { + uVar4 = local_1ae8[-2]; + } + if (uVar19 != uVar4) { + puVar6 = (uint *)FUN_140030280((longlong)(int)uVar19 * 2 + 10); + if (puVar6 != (uint *)0x0) { + *puVar6 = 0; + puVar6[1] = 1; + } + *puVar6 = uVar19; + if (local_1ae8 == (uint *)0x0) { + uVar4 = 0; + } + else if (local_1ae8 == (uint *)PTR_DAT_140155010) { + uVar4 = 0; + } + else { + uVar4 = local_1ae8[-2]; + } + puVar15 = (uint *)PTR_DAT_140155010; + if ((int)uVar19 < (int)uVar4) { +LAB_140084db5: + if (local_1ae8 != (uint *)0x0) { + puVar15 = local_1ae8; + } + } + else { + if (local_1ae8 != (uint *)0x0) { + if (local_1ae8 == (uint *)PTR_DAT_140155010) { + uVar19 = 0; + } + else { + uVar19 = local_1ae8[-2]; + } + goto LAB_140084db5; + } + uVar19 = 0; + } + uVar9 = (ulonglong)uVar19; + FUN_1400300b0(puVar6 + 2,puVar15,uVar19); + FUN_140003240((longlong *)&local_1ae8,puVar15,uVar9,uVar23); + param_4 = local_1a80; + local_1ae8 = puVar6 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_1ae8); + puVar6 = local_1ae8; + if (local_1ae8 == (uint *)0x0) { + puVar6 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar6,psVar25,uVar3); + puVar6 = local_1ae8; + if (local_1ae8 == (uint *)0x0) { + puVar6 = (uint *)PTR_DAT_140155010; + } + uVar4 = FUN_140030080((short *)puVar6); + uVar19 = 0; + uVar3 = 0; + if (0 < (int)uVar4) { + uVar3 = uVar4; + } + uVar4 = uVar19; + if ((local_1ae8 != (uint *)0x0) && (local_1ae8 != (uint *)PTR_DAT_140155010)) { + uVar4 = local_1ae8[-2]; + } + if (((int)uVar3 < (int)uVar4) || (uVar3 = uVar19, local_1ae8 == (uint *)0x0)) { +LAB_140084e50: + if (((local_1ae8 != (uint *)PTR_DAT_140155010) && (local_1ae8 != (uint *)0x0)) && + (local_1ae8 + -2 != (uint *)0x0)) { + local_1ae8[-2] = uVar3; + *(undefined2 *)((longlong)local_1ae8 + (longlong)(int)uVar3 * 2) = 0; + } + } + else if (local_1ae8 != (uint *)PTR_DAT_140155010) { + uVar3 = local_1ae8[-2]; + goto LAB_140084e50; + } + local_1a50 = 0; + local_1a48 = 0; + local_1a40 = 0; + local_1a38 = 0; + local_1a58 = Proud::ByteArray::vftable; + ppuVar24 = &local_1ae8; + plVar7 = FUN_14003c120((longlong *)&local_1ae0,0x27,(ulonglong)*param_4,(longlong *)ppuVar24, + (longlong)&local_1a58); + lVar18 = *param_1; + (**(code **)(lVar18 + 0x80))(param_1); + pppuVar8 = &local_1a58; + FUN_14003b870(pppuVar8); + puVar6 = local_1ae8; + if (((local_1ae8 != (uint *)0x0) && (local_1ae8 != (uint *)PTR_DAT_140155010)) && + (puVar15 = local_1ae8 + -2, puVar15 != (uint *)0x0)) { + pppuVar8 = (undefined ***)FUN_140030200(pppuVar8,plVar7,lVar18,ppuVar24); + local_1a68 = pppuVar8; + FUN_14002e6e0((int *)pppuVar8); + local_1a60 = 1; + puVar6 = puVar6 + -1; + *puVar6 = *puVar6 - 1; + if (*puVar6 == 0) { + FUN_1400302f0(puVar15); + } + FUN_14002e770((longlong)pppuVar8); + } + if (((psVar1 != (short *)0x0) && (psVar1 != (short *)PTR_DAT_140155010)) && + (psVar1 + -4 != (short *)0x0)) { + pppuVar8 = (undefined ***)FUN_140030200(pppuVar8,plVar7,lVar18,ppuVar24); + local_1a68 = pppuVar8; + FUN_14002e6e0((int *)pppuVar8); + local_1a60 = 1; + piVar22 = (int *)(psVar1 + -2); + *piVar22 = *piVar22 + -1; + if (*piVar22 == 0) { + FUN_1400302f0(psVar1 + -4); + } + FUN_14002e770((longlong)pppuVar8); + } + local_1ae0 = &local_1ac8; + FUN_140095270(&local_1ac8); + if (local_1ac0 != 0) { + if (local_1ab4 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_1ab8 = 0; + } + local_1ae0 = &local_1aa0; + FUN_140095270(&local_1aa0); + param_4 = local_1a80; + if ((local_1a98 != 0) && (local_1a8c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } +LAB_1400851e6: + uVar9 = FUN_1400833a0(param_1,param_2,local_1a78,(int *)param_4,param_5); + return uVar9; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140085230.c b/decomp/Agent_Release_x64/full/functions/0x140085230.c new file mode 100644 index 00000000..9b131a21 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140085230.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140085230 FUN_140085230 + * Pseudocode, not original source. */ + +undefined8 * FUN_140085230(undefined8 *param_1) + +{ + *(undefined2 *)(param_1 + 1) = 0; + param_1[2] = 0; + *param_1 = Proud::IRmiStub::vftable; + *(undefined2 *)(param_1 + 3) = 0; + *(undefined1 *)((longlong)param_1 + 0x1a) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140085260.c b/decomp/Agent_Release_x64/full/functions/0x140085260.c new file mode 100644 index 00000000..a5efc660 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140085260.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140085260 FUN_140085260 + * Pseudocode, not original source. */ + +void FUN_140085260(undefined8 *param_1) + +{ + *param_1 = Proud::IRmiStub::vftable; + if (param_1[2] != 0) { + FUN_14002fa10( + L"RMI Stub which is still in use by ProudNet core cannot be destroyed! Destroy CNetClient or CNetServer instance first." + ); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140085290.c b/decomp/Agent_Release_x64/full/functions/0x140085290.c new file mode 100644 index 00000000..b412a945 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140085290.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140085290 FUN_140085290 + * Pseudocode, not original source. */ + +undefined8 * FUN_140085290(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::IRmiStub::vftable; + if (param_1[2] != 0) { + FUN_14002fa10( + L"RMI Stub which is still in use by ProudNet core cannot be destroyed! Destroy CNetClient or CNetServer instance first." + ); + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400852e0.c b/decomp/Agent_Release_x64/full/functions/0x1400852e0.c new file mode 100644 index 00000000..aaa880d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400852e0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400852e0 FUN_1400852e0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400852e0(undefined8 *param_1) + +{ + *param_1 = Proud::CTestUdpConnReset::vftable; + param_1[1] = 0; + memset(param_1 + 2,0,100); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140085320.c b/decomp/Agent_Release_x64/full/functions/0x140085320.c new file mode 100644 index 00000000..06339ffb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140085320.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140085320 FUN_140085320 + * Pseudocode, not original source. */ + +void FUN_140085320(undefined8 *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + longlong *plVar2; + longlong lVar3; + + *param_1 = Proud::CTestUdpConnReset::vftable; + if (param_1[1] != 0) { + lVar3 = *(longlong *)(param_1[1] + 8) + -1; + *(longlong *)(param_1[1] + 8) = lVar3; + if (*(longlong *)(param_1[1] + 8) == 0) { + puVar1 = (undefined8 *)param_1[1]; + plVar2 = (longlong *)*puVar1; + if (plVar2 != (longlong *)0x0) { + FUN_1400358a0(plVar2,lVar3,param_3,param_4); + FUN_1400302f0(plVar2); + } + FUN_1400302f0(puVar1); + } + } + *param_1 = Proud::IFastSocketDelegate::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400853b0.c b/decomp/Agent_Release_x64/full/functions/0x1400853b0.c new file mode 100644 index 00000000..e1eaee26 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400853b0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400853b0 FUN_1400853b0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400853b0(undefined8 *param_1,ulonglong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140085320(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400853e0.c b/decomp/Agent_Release_x64/full/functions/0x1400853e0.c new file mode 100644 index 00000000..aee84309 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400853e0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400853e0 FUN_1400853e0 + * Pseudocode, not original source. */ + +void FUN_1400853e0(undefined8 *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + longlong *plVar1; + + plVar1 = (longlong *)*param_1; + if (plVar1 != (longlong *)0x0) { + FUN_1400358a0(plVar1,param_2,param_3,param_4); + FUN_1400302f0(plVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140085410.c b/decomp/Agent_Release_x64/full/functions/0x140085410.c new file mode 100644 index 00000000..e06324d5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140085410.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140085410 FUN_140085410 + * Pseudocode, not original source. */ + +void FUN_140085410(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + exception local_58 [88]; + + if ((longlong *)param_2[2] != param_1) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + plVar1 = (longlong *)param_2[1]; + lVar2 = *param_2; + if (plVar1 != (longlong *)0x0) { + *plVar1 = lVar2; + } + if (lVar2 != 0) { + *(longlong **)(lVar2 + 8) = plVar1; + } + if (plVar1 == (longlong *)0x0) { + if ((longlong *)param_1[1] != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4 + ); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + param_1[1] = lVar2; + } + if (lVar2 == 0) { + if ((longlong *)*param_1 != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4 + ); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = (longlong)plVar1; + } + *param_2 = 0; + param_2[1] = 0; + param_2[2] = 0; + *(int *)(param_1 + 2) = (int)param_1[2] + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400854f0.c b/decomp/Agent_Release_x64/full/functions/0x1400854f0.c new file mode 100644 index 00000000..d9a3c542 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400854f0.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400854f0 FUN_1400854f0 + * Pseudocode, not original source. */ + +int FUN_1400854f0(longlong param_1,int param_2) + +{ + uint uVar1; + int iVar2; + uint uVar3; + int iVar4; + + iVar4 = *(int *)(param_1 + 0x24); + if (iVar4 == 0) { + iVar2 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + iVar4 = 0x400; + if (iVar2 < 0x400) { + iVar4 = iVar2; + } + iVar2 = 4; + if (4 < iVar4) { + iVar2 = iVar4; + } + iVar4 = iVar2 + param_2; + if (iVar2 + param_2 < *(int *)(param_1 + 0x20)) { + iVar4 = *(int *)(param_1 + 0x20); + } + return iVar4; + } + if (iVar4 != 1) { + if (iVar4 != 2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 < *(int *)(param_1 + 0x20)) { + param_2 = *(int *)(param_1 + 0x20); + } + return param_2; + } + uVar1 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + uVar3 = 0x10; + if (0x10 < (int)uVar1) { + uVar3 = uVar1; + } + if (uVar3 < 9) { + uVar3 = 8; + } + iVar4 = uVar3 + param_2; + if ((int)(uVar3 + param_2) < *(int *)(param_1 + 0x20)) { + iVar4 = *(int *)(param_1 + 0x20); + } + return iVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140085590.c b/decomp/Agent_Release_x64/full/functions/0x140085590.c new file mode 100644 index 00000000..ea612d78 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140085590.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140085590 FUN_140085590 + * Pseudocode, not original source. */ + +int FUN_140085590(longlong param_1,int param_2) + +{ + uint uVar1; + int iVar2; + uint uVar3; + int iVar4; + + iVar4 = *(int *)(param_1 + 0x24); + if (iVar4 == 0) { + iVar2 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + iVar4 = 0x400; + if (iVar2 < 0x400) { + iVar4 = iVar2; + } + iVar2 = 4; + if (4 < iVar4) { + iVar2 = iVar4; + } + iVar4 = iVar2 + param_2; + if (iVar2 + param_2 < *(int *)(param_1 + 0x20)) { + iVar4 = *(int *)(param_1 + 0x20); + } + return iVar4; + } + if (iVar4 != 1) { + if (iVar4 != 2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 < *(int *)(param_1 + 0x20)) { + param_2 = *(int *)(param_1 + 0x20); + } + return param_2; + } + uVar1 = (int)(*(int *)(param_1 + 0x18) + (*(int *)(param_1 + 0x18) >> 0x1f & 7U)) >> 3; + uVar3 = 0x10; + if (0x10 < (int)uVar1) { + uVar3 = uVar1; + } + if (uVar3 < 0x41) { + uVar3 = 0x40; + } + iVar4 = uVar3 + param_2; + if ((int)(uVar3 + param_2) < *(int *)(param_1 + 0x20)) { + iVar4 = *(int *)(param_1 + 0x20); + } + return iVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140085630.c b/decomp/Agent_Release_x64/full/functions/0x140085630.c new file mode 100644 index 00000000..b441d0eb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140085630.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140085630 FUN_140085630 + * Pseudocode, not original source. */ + +void FUN_140085630(longlong param_1,longlong param_2) + +{ + undefined2 *puVar1; + int iVar2; + + iVar2 = 0; + if (0 < param_2) { + puVar1 = (undefined2 *)(param_1 + 0x34); + do { + if ((undefined8 *)(puVar1 + -0x1a) != (undefined8 *)0x0) { + *(undefined ***)(puVar1 + -6) = Proud::AddrPort::vftable; + *(undefined4 *)(puVar1 + -2) = 0; + *puVar1 = 0; + *(undefined8 *)(puVar1 + -0x1a) = 0; + *(undefined8 *)(puVar1 + -0xe) = 0; + *(undefined8 *)(puVar1 + -0x16) = 0; + *(undefined4 *)(puVar1 + -0x12) = 5; + *(undefined4 *)(puVar1 + -10) = 0; + *(undefined4 *)(puVar1 + -2) = DAT_1401553d0; + *puVar1 = DAT_1401553d4; + } + iVar2 = iVar2 + 1; + puVar1 = puVar1 + 0x1c; + } while (iVar2 < param_2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400856a0.c b/decomp/Agent_Release_x64/full/functions/0x1400856a0.c new file mode 100644 index 00000000..e8e8de74 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400856a0.c @@ -0,0 +1,59 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400856a0 FUN_1400856a0 + * Pseudocode, not original source. */ + +void FUN_1400856a0(longlong param_1,wchar_t *param_2,SIZE_T *param_3,TypeDescriptor *param_4) + +{ + int *piVar1; + double dVar2; + + FUN_1400b7aa0((double *)(param_1 + 0x188),*(double *)(*(longlong *)(param_1 + 0x148) + 0x1c0)); + if (*(char *)(param_1 + 0x198) == '\x01') { + FUN_14004b260(*(longlong **)(param_1 + 0x148),param_2,param_3,param_4); + } + FUN_1400b7aa0((double *)(param_1 + 0x1a0),*(double *)(*(longlong *)(param_1 + 0x148) + 0x1c0)); + if (*(char *)(param_1 + 0x1b0) == '\x01') { + FUN_14005cc60(*(longlong **)(param_1 + 0x148),param_2,param_3,(longlong)param_4); + } + FUN_1400b7aa0((double *)(param_1 + 0x1b8),*(double *)(*(longlong *)(param_1 + 0x148) + 0x1c0)); + if (*(char *)(param_1 + 0x1c8) == '\x01') { + FUN_1400632c0(*(SIZE_T **)(param_1 + 0x148)); + } + FUN_1400b7aa0((double *)(param_1 + 0x1d0),*(double *)(*(longlong *)(param_1 + 0x148) + 0x1c0)); + if (*(char *)(param_1 + 0x1e0) == '\x01') { + FUN_14004cbf0(*(longlong **)(param_1 + 0x148),param_2,(longlong)param_3,param_4); + } + FUN_1400b7aa0((double *)(param_1 + 0xa0),*(double *)(*(longlong *)(param_1 + 0x148) + 0x1c0)); + if (*(char *)(param_1 + 0xb0) == '\x01') { + FUN_140041f40(*(SIZE_T **)(param_1 + 0x148),param_2,(SIZE_T)param_3,(undefined *)param_4); + } + FUN_1400b7aa0((double *)(param_1 + 0xb8),*(double *)(*(longlong *)(param_1 + 0x148) + 0x1c0)); + if (*(char *)(param_1 + 200) == '\x01') { + FUN_140063b40(*(undefined ****)(param_1 + 0x148),param_2,(undefined *)param_3,param_4); + } + FUN_1400b7aa0((double *)(param_1 + 0x248),*(double *)(*(longlong *)(param_1 + 0x148) + 0x1c0)); + if (*(char *)(param_1 + 600) == '\x01') { + piVar1 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + FUN_14002e6e0(piVar1); + if (DAT_14015bfcf != '\0') { + param_3 = (SIZE_T *)**(longlong **)(param_1 + 0x148); + param_2 = L"Proud::CNetThreads_S::Heartbeat_One"; + (*(code *)param_3[0x19])(); + } + dVar2 = (double)(**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x118) + 8))(); + FUN_140054d90(*(longlong *)(param_1 + 0x148) + 0x2d8,dVar2); + FUN_14002e770((longlong)piVar1); + } + if (*(int *)(*(longlong *)(param_1 + 0x148) + 600) != 0) { + FUN_1400b7aa0((double *)(param_1 + 0x1e8),*(double *)(*(longlong *)(param_1 + 0x148) + 0x1c0)); + if (*(char *)(param_1 + 0x1f8) == '\x01') { + LOCK(); + *(undefined4 *)(param_1 + 0x200) = 1; + UNLOCK(); + } + } + FUN_14004f2b0(*(longlong *)(param_1 + 0x148),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400858c0.c b/decomp/Agent_Release_x64/full/functions/0x1400858c0.c new file mode 100644 index 00000000..94762087 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400858c0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400858c0 FUN_1400858c0 + * Pseudocode, not original source. */ + +void FUN_1400858c0(longlong param_1,longlong param_2,longlong param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong lVar2; + longlong lVar3; + longlong local_res10; + + if (param_3 == 0) { + lVar2 = 0; + } + else { + lVar2 = param_3 + 0x40; + } + lVar3 = param_3; + FUN_14009c480(&local_res10,lVar2); + FUN_14002e6e0((int *)(param_3 + 0xa8)); + if ((*(longlong **)(param_3 + 0x150) != (longlong *)0x0) && + (lVar1 = **(longlong **)(param_3 + 0x150), lVar1 != 0)) { + FUN_140036f50(lVar1); + } + if (0 < *(int *)(param_2 + 8)) { + *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x6c0) = + *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x6c0) + 1; + *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x680) = + *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x680) + (longlong)*(int *)(param_2 + 8); + } + *(undefined1 *)(param_3 + 0x100) = 0; + FUN_14009c5c0(param_3,lVar2,lVar3,param_4); + FUN_14002e770(param_3 + 0xa8); + FUN_14009c490(&local_res10); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400859c0.c b/decomp/Agent_Release_x64/full/functions/0x1400859c0.c new file mode 100644 index 00000000..11b6adf8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400859c0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400859c0 FUN_1400859c0 + * Pseudocode, not original source. */ + +void FUN_1400859c0(longlong param_1,undefined8 param_2,wchar_t *param_3,undefined8 param_4) + +{ + int *piVar1; + + FUN_140093300(); + piVar1 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + FUN_14002e6e0(piVar1); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x148) + 200)) + (*(longlong **)(param_1 + 0x148), + L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_SpeedHackDetectorPing"); + } + FUN_140095500(param_3); + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140085a50.c b/decomp/Agent_Release_x64/full/functions/0x140085a50.c new file mode 100644 index 00000000..6b0b2dc0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140085a50.c @@ -0,0 +1,62 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140085a50 FUN_140085a50 + * Pseudocode, not original source. */ + +void FUN_140085a50(longlong param_1,uint *param_2,longlong param_3,undefined8 param_4) + +{ + int *piVar1; + undefined8 uVar2; + int *piVar3; + longlong lVar4; + longlong lVar5; + longlong lVar6; + undefined8 local_res18; + longlong local_res20; + undefined **local_50; + undefined4 local_48; + undefined2 local_44; + int *local_40; + undefined1 local_38; + int *local_30; + undefined1 local_28; + + if ((param_3 != 0) && (uVar2 = FUN_140080600(param_2,&local_res18,8), (char)uVar2 != '\0')) { + piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + local_40 = piVar3; + FUN_14002e6e0(piVar3); + local_38 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x148) + 200)) + (*(longlong **)(param_1 + 0x148), + L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_ReplyReceiveSpeedAtReceiverSide_NoBypass" + ); + } + lVar6 = 0; + if ((*(longlong **)(param_3 + 0x740) == (longlong *)0x0) || + (lVar4 = **(longlong **)(param_3 + 0x740), lVar5 = lVar4 + 0x40, lVar4 == 0)) { + lVar5 = lVar6; + } + FUN_14009c480(&local_res20,lVar5); + lVar4 = lVar6; + if (*(longlong **)(param_3 + 0x740) != (longlong *)0x0) { + lVar4 = **(longlong **)(param_3 + 0x740); + } + piVar1 = (int *)(lVar4 + 0xa8); + local_30 = piVar1; + FUN_14002e6e0(piVar1); + local_28 = 1; + local_50 = Proud::AddrPort::vftable; + local_48 = *(undefined4 *)(param_3 + 0x710); + local_44 = *(undefined2 *)(param_3 + 0x714); + if (*(longlong **)(param_3 + 0x740) != (longlong *)0x0) { + lVar6 = **(longlong **)(param_3 + 0x740); + } + FUN_140097b30(*(longlong *)(lVar6 + 0x168),(longlong)&local_50,local_res18); + FUN_14002e770((longlong)piVar1); + FUN_14009c490(&local_res20); + FUN_14002e770((longlong)piVar3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140085bb0.c b/decomp/Agent_Release_x64/full/functions/0x140085bb0.c new file mode 100644 index 00000000..b3735e41 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140085bb0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140085bb0 FUN_140085bb0 + * Pseudocode, not original source. */ + +void FUN_140085bb0(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x000140085bd7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140085bf0.c b/decomp/Agent_Release_x64/full/functions/0x140085bf0.c new file mode 100644 index 00000000..5dad3387 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140085bf0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140085bf0 FUN_140085bf0 + * Pseudocode, not original source. */ + +void FUN_140085bf0(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x000140085c17. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140085c30.c b/decomp/Agent_Release_x64/full/functions/0x140085c30.c new file mode 100644 index 00000000..69189d1a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140085c30.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140085c30 FUN_140085c30 + * Pseudocode, not original source. */ + +undefined8 * FUN_140085c30(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140085c90.c b/decomp/Agent_Release_x64/full/functions/0x140085c90.c new file mode 100644 index 00000000..11613ae2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140085c90.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140085c90 FUN_140085c90 + * Pseudocode, not original source. */ + +undefined8 * FUN_140085c90(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140085cf0.c b/decomp/Agent_Release_x64/full/functions/0x140085cf0.c new file mode 100644 index 00000000..01c2e207 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140085cf0.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140085cf0 FUN_140085cf0 + * Pseudocode, not original source. */ + +void FUN_140085cf0(longlong *param_1) + +{ + longlong lVar1; + longlong *plVar2; + longlong *plVar3; + exception local_58 [88]; + + lVar1 = *param_1; + while( true ) { + if (lVar1 == 0) { + return; + } + plVar2 = (longlong *)*param_1; + if ((longlong *)plVar2[2] != param_1) break; + plVar3 = (longlong *)plVar2[1]; + lVar1 = *plVar2; + if (plVar3 != (longlong *)0x0) { + *plVar3 = lVar1; + } + if (lVar1 != 0) { + *(longlong **)(lVar1 + 8) = plVar3; + } + if (plVar3 == (longlong *)0x0) { + if ((longlong *)param_1[1] != plVar2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + param_1[1] = lVar1; + } + if (lVar1 == 0) { + if ((longlong *)*param_1 != plVar2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = (longlong)plVar3; + } + *plVar2 = 0; + plVar2[1] = 0; + plVar2[2] = 0; + *(int *)(param_1 + 2) = (int)param_1[2] + -1; + lVar1 = *param_1; + } + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140085de0.c b/decomp/Agent_Release_x64/full/functions/0x140085de0.c new file mode 100644 index 00000000..ed776a8a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140085de0.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140085de0 FUN_140085de0 + * Pseudocode, not original source. */ + +void FUN_140085de0(longlong param_1,int param_2,SIZE_T param_3) + +{ + longlong *plVar1; + int iVar2; + longlong lVar3; + SIZE_T SVar4; + undefined8 uVar5; + exception local_58 [80]; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 != *(int *)(param_1 + 0x18)) { + if (*(int *)(param_1 + 0x1c) < param_2) { + iVar2 = FUN_140085590(param_1,param_2); + plVar1 = *(longlong **)(param_1 + 8); + SVar4 = (SIZE_T)iVar2; + if (*(int *)(param_1 + 0x1c) == 0) { + if (plVar1 == (longlong *)0x0) { + lVar3 = FUN_140030280(SVar4); + } + else { + lVar3 = (**(code **)(*plVar1 + 8))(plVar1,SVar4); + } + } + else { + uVar5 = *(undefined8 *)(param_1 + 0x10); + if (plVar1 == (longlong *)0x0) { + lVar3 = FUN_1400302b0(uVar5,SVar4); + } + else { + lVar3 = (**(code **)(*plVar1 + 0x10))(plVar1,uVar5); + param_3 = SVar4; + } + if (lVar3 == 0) { + FUN_14002f1e0(local_58,L"Memory allocation failure!",param_3,uVar5); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + } + *(longlong *)(param_1 + 0x10) = lVar3; + *(int *)(param_1 + 0x1c) = iVar2; + } + *(int *)(param_1 + 0x18) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140085ea0.c b/decomp/Agent_Release_x64/full/functions/0x140085ea0.c new file mode 100644 index 00000000..805cd6f6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140085ea0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140085ea0 FUN_140085ea0 + * Pseudocode, not original source. */ + +void FUN_140085ea0(longlong param_1,longlong param_2,longlong param_3) + +{ + longlong lVar1; + undefined4 *puVar2; + int iVar3; + + iVar3 = 0; + if (0 < param_3) { + puVar2 = (undefined4 *)(param_1 + 0x30); + lVar1 = param_2 - param_1; + do { + if ((undefined8 *)(puVar2 + -0xc) != (undefined8 *)0x0) { + *(undefined8 *)(puVar2 + -0xc) = *(undefined8 *)(lVar1 + -0x30 + (longlong)puVar2); + puVar2[-10] = *(undefined4 *)(lVar1 + -0x28 + (longlong)puVar2); + puVar2[-9] = *(undefined4 *)(lVar1 + -0x24 + (longlong)puVar2); + puVar2[-8] = *(undefined4 *)(lVar1 + -0x20 + (longlong)puVar2); + *(undefined8 *)(puVar2 + -6) = *(undefined8 *)(lVar1 + -0x18 + (longlong)puVar2); + puVar2[-4] = *(undefined4 *)(lVar1 + -0x10 + (longlong)puVar2); + *(undefined ***)(puVar2 + -2) = Proud::AddrPort::vftable; + *puVar2 = *(undefined4 *)(lVar1 + (longlong)puVar2); + *(undefined2 *)(puVar2 + 1) = *(undefined2 *)(lVar1 + 4 + (longlong)puVar2); + } + iVar3 = iVar3 + 1; + puVar2 = puVar2 + 0xe; + } while (iVar3 < param_3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140085f20.c b/decomp/Agent_Release_x64/full/functions/0x140085f20.c new file mode 100644 index 00000000..8e1a6ee7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140085f20.c @@ -0,0 +1,134 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140085f20 FUN_140085f20 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014008625a) */ + +void FUN_140085f20(longlong param_1,longlong param_2,undefined8 param_3,longlong param_4) + +{ + bool bVar1; + int *piVar2; + int iVar3; + longlong lVar4; + longlong *plVar5; + longlong lVar6; + int *piVar7; + longlong *plVar8; + int iVar9; + + piVar2 = (int *)(*(longlong *)(param_1 + 0x148) + 0x798); + FUN_14002e6e0(piVar2); + piVar7 = (int *)(*(longlong *)(param_1 + 0x148) + 2000); + FUN_14002e6e0(piVar7); + iVar3 = 0; + iVar9 = *(int *)(*(longlong *)(param_1 + 0x148) + 0x818) + + *(int *)(*(longlong *)(param_1 + 0x148) + 0x838); + FUN_140065570(param_2,iVar9,param_3,param_4); + if (*(int *)(param_2 + 0x18) == 0) { + plVar8 = (longlong *)0x0; + } + else { + plVar8 = *(longlong **)(param_2 + 0x10); + } + lVar6 = *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x828); + plVar5 = plVar8; + while (lVar6 != 0) { + FUN_14009c460(lVar6 + 0x40); + if (lVar6 == 0) { + lVar4 = 0; + } + else { + lVar4 = lVar6 + 0x88; + } + *plVar5 = lVar4; + if (*(longlong **)(lVar6 + 0xa0) != (longlong *)0x0) { + FUN_14003d350(*(longlong **)(lVar6 + 0xa0),lVar6,param_3,param_4); + } + iVar3 = iVar3 + 1; + plVar5 = plVar5 + 1; + lVar6 = *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x828); + } + lVar6 = *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x808); + if (lVar6 != 0) { + plVar5 = plVar8 + iVar3; + do { + FUN_14009c460(lVar6 + 0xc0); + if (lVar6 == 0) { + lVar4 = 0; + } + else { + lVar4 = lVar6 + 0x108; + } + *plVar5 = lVar4; + if (*(longlong **)(lVar6 + 0x120) != (longlong *)0x0) { + FUN_14003d180(*(longlong **)(lVar6 + 0x120),lVar6,param_3,param_4); + } + plVar5 = plVar5 + 1; + lVar6 = *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x808); + } while (lVar6 != 0); + } + FUN_14002e770((longlong)piVar7); + FUN_14002e770((longlong)piVar2); + lVar6 = (longlong)iVar9; + if (0 < iVar9) { + do { + lVar4 = 0; + if (lVar6 < 1) { + return; + } + do { + plVar5 = (longlong *)plVar8[lVar4]; + piVar2 = (int *)(**(code **)(*plVar5 + 0x10))(plVar5); + if (lVar4 == 0) { + FUN_14002e6e0(piVar2); + iVar3 = (**(code **)(*plVar5 + 8))(plVar5); + FUN_14002e770((longlong)piVar2); + if (iVar3 != 0) { + piVar2 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + FUN_14002e6e0(piVar2); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x148) + 200)) + (*(longlong **)(param_1 + 0x148), + L"Proud::CNetThreads_S::NetworkerThread_EveryRemote_IssueSendOnNeed"); + } + (**(code **)(*plVar5 + 0x20)) + (plVar5,L"Proud::CNetThreads_S::NetworkerThread_EveryRemote_IssueSendOnNeed", + iVar3); + FUN_14002e770((longlong)piVar2); + } + (**(code **)(*plVar5 + 0x18))(plVar5); + *plVar8 = plVar8[lVar6 + -1]; +LAB_140086252: + lVar6 = lVar6 + -1; + } + else { + bVar1 = FUN_14002e730(piVar2); + if (bVar1) { + iVar3 = (**(code **)(*plVar5 + 8))(plVar5); + FUN_14002e770((longlong)piVar2); + if (iVar3 != 0) { + piVar2 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + FUN_14002e6e0(piVar2); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x148) + 200)) + (*(longlong **)(param_1 + 0x148), + L"Proud::CNetThreads_S::NetworkerThread_EveryRemote_IssueSendOnNeed"); + } + (**(code **)(*plVar5 + 0x20)) + (plVar5,L"Proud::CNetThreads_S::NetworkerThread_EveryRemote_IssueSendOnNeed" + ,iVar3); + FUN_14002e770((longlong)piVar2); + } + (**(code **)(*plVar5 + 0x18))(plVar5); + plVar8[lVar4] = plVar8[lVar6 + -1]; + goto LAB_140086252; + } + } + lVar4 = lVar4 + 1; + } while (lVar4 < lVar6); + } while (0 < lVar6); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400862c0.c b/decomp/Agent_Release_x64/full/functions/0x1400862c0.c new file mode 100644 index 00000000..e038df4c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400862c0.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400862c0 FUN_1400862c0 + * Pseudocode, not original source. */ + +void FUN_1400862c0(longlong param_1,int param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + LPVOID pvVar2; + int iVar3; + longlong lVar4; + longlong lVar5; + exception local_58 [80]; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar3 = *(int *)(param_1 + 0x18); + if (param_2 != iVar3) { + if (*(int *)(param_1 + 0x1c) < param_2) { + iVar3 = FUN_14003d0e0(param_1,param_2); + plVar1 = *(longlong **)(param_1 + 8); + lVar4 = (longlong)iVar3; + if (*(int *)(param_1 + 0x1c) == 0) { + if (plVar1 == (longlong *)0x0) { + lVar4 = FUN_140030280(lVar4 * 0x38); + } + else { + lVar4 = (**(code **)(*plVar1 + 8))(plVar1,lVar4 * 0x38); + } + *(longlong *)(param_1 + 0x10) = lVar4; + FUN_140085630(lVar4,(longlong)param_2); + } + else { + pvVar2 = *(LPVOID *)(param_1 + 0x10); + if (plVar1 == (longlong *)0x0) { + lVar4 = FUN_140030280(lVar4 * 0x38); + } + else { + lVar4 = (**(code **)(*plVar1 + 8))(plVar1,lVar4 * 0x38); + } + FUN_140085ea0(lVar4,(longlong)pvVar2,(longlong)*(int *)(param_1 + 0x18)); + lVar5 = (longlong)*(int *)(param_1 + 0x18); + FUN_140085630(lVar5 * 0x38 + lVar4,(longlong)(param_2 - *(int *)(param_1 + 0x18))); + if (lVar4 == 0) { + FUN_14002f1e0(local_58,L"Memory allocation failure!",lVar5,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + plVar1 = *(longlong **)(param_1 + 8); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(pvVar2); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,pvVar2); + } + *(longlong *)(param_1 + 0x10) = lVar4; + } + *(int *)(param_1 + 0x1c) = iVar3; + } + else if ((iVar3 - param_2 < 1) && (0 < param_2 - iVar3)) { + FUN_140085630((longlong)iVar3 * 0x38 + *(longlong *)(param_1 + 0x10), + (longlong)(param_2 - iVar3)); + } + *(int *)(param_1 + 0x18) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140086450.c b/decomp/Agent_Release_x64/full/functions/0x140086450.c new file mode 100644 index 00000000..1eeb6b6a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140086450.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140086450 FUN_140086450 + * Pseudocode, not original source. */ + +void FUN_140086450(longlong param_1) + +{ + CloseHandle(*(HANDLE *)(param_1 + 0x20)); + FUN_140085cf0((longlong *)(param_1 + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140086480.c b/decomp/Agent_Release_x64/full/functions/0x140086480.c new file mode 100644 index 00000000..89083506 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140086480.c @@ -0,0 +1,63 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140086480 FUN_140086480 + * Pseudocode, not original source. */ + +void FUN_140086480(longlong param_1,longlong param_2,char *param_3,undefined8 param_4) + +{ + byte bVar1; + uint uVar2; + undefined8 uVar3; + longlong *plVar4; + uint *puVar5; + int iVar6; + char *pcVar7; + byte local_res20; + uint local_a0 [2]; + uint *local_98; + uint local_90; + undefined8 local_20; + + local_20 = 0xfffffffffffffffe; + local_98 = (uint *)(param_2 + 8); + uVar2 = (int)(*local_98 + ((int)*local_98 >> 0x1f & 7U)) >> 3; + pcVar7 = param_3; + if (uVar2 != 0) { + param_4 = 2; + pcVar7 = "Proud::CNetThreads_S::UserWorkerThread_FinalReceiveRmi"; + FUN_14005ed30(*(longlong **)(param_1 + 0x148),(wchar_t *)0x0, + "Proud::CNetThreads_S::UserWorkerThread_FinalReceiveRmi",2); + } + local_res20 = 0; + iVar6 = 0; + local_a0[0] = 0; + puVar5 = local_a0; + uVar3 = FUN_140080fb0(local_98,puVar5,pcVar7,param_4); + if ((char)uVar3 != '\0') { + local_90 = *(uint *)(*(longlong *)(param_1 + 0x148) + 0x48); + plVar4 = (longlong *)(ulonglong)local_90; + for (; iVar6 < (int)local_90; iVar6 = iVar6 + 1) { + if ((iVar6 < 0) || (*(int *)(*(longlong *)(param_1 + 0x148) + 0x48) <= iVar6)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar4,puVar5,pcVar7,param_4); + } + plVar4 = *(longlong **) + (*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x40) + (longlong)iVar6 * 8); + FUN_1400802d0((int *)local_98,(ulonglong)uVar2,pcVar7,param_4); + puVar5 = (uint *)(param_2 + 8); + pcVar7 = param_3; + bVar1 = (**(code **)(*plVar4 + 0x10))(); + local_res20 = local_res20 | bVar1; + } + if (local_res20 == 0) { + FUN_1400802d0((int *)local_98,(ulonglong)uVar2,pcVar7,param_4); + if (*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x758) != 0) { + plVar4 = *(longlong **)(*(longlong *)(param_1 + 0x148) + 0x758); + (**(code **)(*plVar4 + 0x28))(plVar4,local_a0[0]); + } + } + FUN_1400a2740((undefined8 *)(param_1 + 0x160),*(undefined4 *)(param_2 + 0x30),'\0',param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400865f0.c b/decomp/Agent_Release_x64/full/functions/0x1400865f0.c new file mode 100644 index 00000000..7cc7e444 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400865f0.c @@ -0,0 +1,47 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400865f0 FUN_1400865f0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400865f0(int *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + longlong *plVar2; + DWORD DVar3; + longlong lVar4; + undefined8 uVar5; + ulonglong uVar6; + uint uVar7; + longlong lVar8; + + FUN_14002e6e0(param_1); + if (param_1[0x1e] != 0) { + DVar3 = GetCurrentThreadId(); + uVar6 = 0; + uVar1 = param_1[0x1e]; + lVar8 = 0; + if (0 < (int)uVar1) { + do { + if ((lVar8 < 0) || ((int)uVar1 <= (int)uVar6)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(uVar6,lVar8,(ulonglong)uVar1,param_4); + } + plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x1c) + lVar8 * 8); + lVar4 = 0; + if (plVar2 != (longlong *)0x0) { + lVar4 = *plVar2; + } + if (*(DWORD *)(lVar4 + 8) == DVar3) { + uVar5 = FUN_14002e770((longlong)param_1); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); + } + uVar7 = (int)uVar6 + 1; + uVar6 = (ulonglong)uVar7; + lVar8 = lVar8 + 1; + } while ((int)uVar7 < (int)uVar1); + } + } + uVar6 = FUN_14002e770((longlong)param_1); + return uVar6 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140086680.c b/decomp/Agent_Release_x64/full/functions/0x140086680.c new file mode 100644 index 00000000..d80165af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140086680.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140086680 FUN_140086680 + * Pseudocode, not original source. */ + +void FUN_140086680(longlong param_1,undefined8 param_2,SIZE_T param_3) + +{ + undefined8 *puVar1; + + FUN_14002e6e0((int *)&DAT_14015e268); + *(undefined4 *)(param_1 + 0x50) = 0; + *(undefined8 *)(param_1 + 0x58) = 0; + FUN_140085de0(param_1,0,param_3); + FUN_14001bc70(param_1 + 0x28,0,param_3); + puVar1 = DAT_14015e260; + if ((*(short *)(param_1 + -8) == 0x1de6) && (*(longlong *)(param_1 + 0x60) == 0)) { + *(undefined8 *)(param_1 + 0x60) = *DAT_14015e260; + *puVar1 = (short *)(param_1 + -8); + FUN_14002e770(0x14015e268); + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140086710.c b/decomp/Agent_Release_x64/full/functions/0x140086710.c new file mode 100644 index 00000000..c6102ff1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140086710.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140086710 FUN_140086710 + * Pseudocode, not original source. */ + +void FUN_140086710(longlong *param_1,undefined8 param_2,SIZE_T param_3) + +{ + if (*param_1 != 0) { + FUN_140086680(*param_1,param_2,param_3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140086730.c b/decomp/Agent_Release_x64/full/functions/0x140086730.c new file mode 100644 index 00000000..890beb8b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140086730.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140086730 FUN_140086730 + * Pseudocode, not original source. */ + +void FUN_140086730(longlong *param_1,longlong *param_2) + +{ + longlong lVar1; + undefined8 *puVar2; + undefined8 *puVar3; + + lVar1 = *param_2; + if (lVar1 != *param_1) { + if (lVar1 != 0) { + *(longlong *)(*param_2 + 8) = *(longlong *)(lVar1 + 8) + 1; + } + puVar3 = (undefined8 *)0x0; + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + puVar3 = (undefined8 *)*param_1; + } + *param_1 = *param_2; + if (puVar3 != (undefined8 *)0x0) { + puVar2 = (undefined8 *)*puVar3; + if (puVar2 != (undefined8 *)0x0) { + FUN_140037670(puVar2); + operator_delete(puVar2); + } + FUN_1400302f0(puVar3); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400867c0.c b/decomp/Agent_Release_x64/full/functions/0x1400867c0.c new file mode 100644 index 00000000..639d4993 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400867c0.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400867c0 FUN_1400867c0 + * Pseudocode, not original source. */ + +void FUN_1400867c0(longlong param_1,longlong param_2) + +{ + undefined4 *puVar1; + int iVar2; + + if (0 < param_2) { + iVar2 = 0; + puVar1 = (undefined4 *)(param_1 + 0x18); + do { + FUN_140095270((longlong *)(puVar1 + -4)); + if (*(longlong *)(puVar1 + -2) != 0) { + if ((int)puVar1[1] < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *puVar1 = 0; + } + iVar2 = iVar2 + 1; + puVar1 = puVar1 + 0x12; + } while (iVar2 < param_2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140086830.c b/decomp/Agent_Release_x64/full/functions/0x140086830.c new file mode 100644 index 00000000..1c704644 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140086830.c @@ -0,0 +1,69 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140086830 FUN_140086830 + * Pseudocode, not original source. */ + +void FUN_140086830(longlong param_1,undefined8 param_2,SIZE_T *param_3,TypeDescriptor *param_4) + +{ + int *piVar1; + char cVar2; + short *psVar3; + HANDLE hThread; + __time64_t _Var4; + int *piVar5; + longlong lVar6; + wchar_t *pwVar7; + undefined8 uVar8; + short *psVar9; + double dVar10; + char local_res8 [8]; + short *local_res10; + + hThread = GetCurrentThread(); + pwVar7 = (wchar_t *)0x0; + SetThreadPriorityBoost(hThread,0); + FUN_1400bbb40(local_res8); + cVar2 = *(char *)(param_1 + 0x140); + while (cVar2 == '\0') { + pwVar7 = (wchar_t *)0x64; + FUN_14003a0e0((undefined8 *)(param_1 + 0x150),100); + dVar10 = FUN_14003a480((char *)(*(longlong *)(param_1 + 0x148) + 0x760)); + *(double *)(*(longlong *)(param_1 + 0x148) + 0x1c0) = dVar10; + dVar10 = FUN_14003a420((char *)(*(longlong *)(param_1 + 0x148) + 0x760)); + *(double *)(*(longlong *)(param_1 + 0x148) + 0x200) = dVar10; + _Var4 = _time64((__time64_t *)0x0); + *(__time64_t *)(*(longlong *)(param_1 + 0x148) + 0x208) = _Var4; + FUN_1400856a0(param_1,pwVar7,param_3,param_4); + cVar2 = *(char *)(param_1 + 0x140); + } + lVar6 = *(longlong *)(param_1 + 0x148); + FUN_14004cca0(lVar6,pwVar7,param_3,param_4); + if (*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x17f0) != 0) { + FUN_140030200(lVar6,pwVar7,param_3,param_4); + local_res10 = (short *)PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_res10,L"%s thread 종료", + L"Proud::CNetThreads_S::Heartbeat_Main",param_4); + psVar3 = local_res10; + psVar9 = local_res10; + if (local_res10 == (short *)0x0) { + psVar9 = (short *)PTR_DAT_140155010; + } + uVar8 = 0; + lVar6 = *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x17f0); + FUN_14008f2e0(lVar6,0,psVar9,param_4); + if (((psVar3 != (short *)0x0) && (psVar3 != (short *)PTR_DAT_140155010)) && + (psVar3 + -4 != (short *)0x0)) { + piVar5 = (int *)FUN_140030200(lVar6,uVar8,psVar9,param_4); + FUN_14002e6e0(piVar5); + piVar1 = (int *)(psVar3 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar3 + -4); + } + FUN_14002e770((longlong)piVar5); + } + } + FUN_1400bbb70(local_res8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400869c0.c b/decomp/Agent_Release_x64/full/functions/0x1400869c0.c new file mode 100644 index 00000000..e3f6cc6d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400869c0.c @@ -0,0 +1,145 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400869c0 FUN_1400869c0 + * Pseudocode, not original source. */ + +void FUN_1400869c0(longlong param_1,longlong param_2,uint *param_3,undefined8 param_4) + +{ + bool bVar1; + undefined *puVar2; + uint uVar3; + int *piVar4; + int *piVar5; + int *piVar6; + undefined *puVar7; + uint *puVar8; + ulonglong uVar9; + uint *puVar10; + undefined8 uVar11; + undefined8 uVar12; + undefined *local_res10; + longlong local_res18 [2]; + undefined8 in_stack_ffffffffffffff10; + undefined4 uVar13; + undefined **local_c8; + undefined8 local_c0; + undefined8 local_b8; + undefined8 local_b0; + undefined8 local_a8; + undefined **local_a0; + undefined8 local_98; + undefined8 local_90; + undefined8 local_88; + undefined8 local_80; + int *local_78; + undefined1 local_70; + int *local_68; + undefined1 local_60; + int *local_58; + undefined1 local_50; + undefined8 local_48; + + uVar13 = (undefined4)((ulonglong)in_stack_ffffffffffffff10 >> 0x20); + local_48 = 0xfffffffffffffffe; + puVar8 = param_3 + 0x30; + if (param_3 == (uint *)0x0) { + puVar8 = (uint *)0x0; + } + puVar10 = param_3; + FUN_14009c480(local_res18,(longlong)puVar8); + piVar4 = (int *)(**(code **)(*(longlong *)(param_3 + 0x42) + 0x10))(); + FUN_14002e6e0(piVar4); + bVar1 = true; + **(undefined1 **)(param_3 + 0x1d2) = 0; + uVar3 = *(uint *)(param_2 + 8); + uVar9 = (ulonglong)uVar3; + if ((int)uVar3 < 0) { + piVar6 = piVar4; + FUN_14002e770((longlong)piVar4); + bVar1 = false; + FUN_140030200(piVar6,uVar9,puVar10,param_4); + local_res10 = PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_res10,L"%s:%d", + L"Proud::CNetThreads_S::NetWorkerThread_TcpSendCompletionCase", + (ulonglong)*(uint *)(param_2 + 0xc)); + local_68 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + FUN_14002e6e0(local_68); + local_60 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x148) + 200)) + (*(longlong **)(param_1 + 0x148), + L"Proud::CNetThreads_S::NetWorkerThread_TcpSendCompletionCase"); + } + puVar2 = local_res10; + local_98 = 0; + local_90 = 0; + local_88 = 0; + local_80 = 0; + local_a0 = Proud::ByteArray::vftable; + puVar7 = local_res10; + if (local_res10 == (undefined *)0x0) { + puVar7 = PTR_DAT_140155010; + } + uVar12 = 3; + uVar11 = 0xb; + FUN_140061820(*(SIZE_T **)(param_1 + 0x148),param_3,0xb,3,(longlong)&local_a0,puVar7, + *(undefined4 *)(param_2 + 0xc)); + FUN_14003b870(&local_a0); + piVar6 = local_68; + FUN_14002e770((longlong)local_68); + if (((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140155010)) && + (puVar2 + -8 != (undefined *)0x0)) { + piVar5 = (int *)FUN_140030200(piVar6,param_3,uVar11,uVar12); + local_58 = piVar5; + FUN_14002e6e0(piVar5); + local_50 = 1; + piVar6 = (int *)(puVar2 + -4); + *piVar6 = *piVar6 + -1; + if (*piVar6 == 0) { + FUN_1400302f0(puVar2 + -8); + } + FUN_14002e770((longlong)piVar5); + } + } + else { + FUN_14009ed20((longlong *)(*(longlong *)(param_3 + 0x1d2) + 0x48),uVar3); + uVar3 = FUN_14009c130(*(char **)(param_3 + 0x1d2),uVar9,puVar10,param_4); + if (uVar3 != 0) { + FUN_14002e770((longlong)piVar4); + bVar1 = false; + piVar6 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + local_78 = piVar6; + FUN_14002e6e0(piVar6); + local_70 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x148) + 200)) + (*(longlong **)(param_1 + 0x148), + L"Proud::CNetThreads_S::NetWorkerThread_TcpSendCompletionCase"); + } + local_c0 = 0; + local_b8 = 0; + local_b0 = 0; + local_a8 = 0; + local_c8 = Proud::ByteArray::vftable; + (**(code **)(*(longlong *)(param_3 + 0x28) + 0x38)) + (param_3 + 0x28,0xb,3,&local_c8, + L"Proud::CNetThreads_S::NetWorkerThread_TcpSendCompletionCase", + CONCAT44(uVar13,uVar3)); + FUN_14003b870(&local_c8); + (**(code **)(*(longlong *)(param_3 + 0x28) + 0x40)) + (param_3 + 0x28,L"Proud::CNetThreads_S::NetWorkerThread_TcpSendCompletionCase"); + FUN_14002e770((longlong)piVar6); + local_70 = 0; + } + *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x580) = + *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x580) + 1; + *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x5c0) = + *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x5c0) + (longlong)*(int *)(param_2 + 8); + } + if (bVar1) { + FUN_14002e770((longlong)piVar4); + } + FUN_14009c490(local_res18); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140086ce0.c b/decomp/Agent_Release_x64/full/functions/0x140086ce0.c new file mode 100644 index 00000000..62f0c995 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140086ce0.c @@ -0,0 +1,205 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140086ce0 FUN_140086ce0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140086ce0(longlong param_1,uint *param_2,longlong param_3,TypeDescriptor *param_4) + +{ + undefined **ppuVar1; + undefined **ppuVar2; + int iVar3; + undefined8 uVar4; + ulonglong uVar5; + int *piVar6; + int *piVar7; + longlong lVar8; + longlong *plVar9; + longlong *plVar10; + int **ppiVar11; + SIZE_T SVar12; + undefined ***pppuVar13; + int *piVar14; + undefined *puVar15; + bool bVar16; + undefined1 auStack_da8 [32]; + undefined *local_d88; + undefined **local_d78; + undefined4 local_d70; + undefined2 local_d6c; + undefined **local_d68; + undefined4 local_d60; + undefined2 local_d5c; + int **local_d58; + undefined1 local_d50; + undefined *local_d48; + int *local_d40; + undefined1 local_d38; + int local_d30 [2]; + undefined *local_d28; + longlong local_d20; + int local_d14; + undefined8 local_d08; + int *local_d00; + undefined1 local_cf8; + undefined **local_ce8; + undefined8 uStack_ce0; + undefined1 local_cd8 [3216]; + ulonglong local_48; + + local_d08 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_da8; + FUN_140093300(); + local_d68 = Proud::AddrPort::vftable; + local_d60 = 0; + local_d5c = 0; + local_d78 = Proud::AddrPort::vftable; + local_d70 = 0; + local_d6c = 0; + local_ce8 = (undefined **)0x0; + uStack_ce0 = 0; + SVar12 = 0x10; + uVar4 = FUN_140080600(param_2,&local_ce8,0x10); + if ((char)uVar4 == '\0') { + return; + } + uVar5 = FUN_140081030(param_2,(longlong)&local_d68); + if ((char)uVar5 != '\0') { + uVar5 = FUN_140081030(param_2,(longlong)&local_d78); + if ((char)uVar5 == '\0') { + return; + } + piVar6 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + local_d00 = piVar6; + FUN_14002e6e0(piVar6); + local_cf8 = 1; + if (DAT_14015bfcf != '\0') { + SVar12 = **(SIZE_T **)(param_1 + 0x148); + (**(code **)(SVar12 + 200)) + (*(SIZE_T **)(param_1 + 0x148), + L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_NotifyHolepunchSuccess"); + } + bVar16 = *(undefined ***)(param_3 + 0x728) < local_ce8; + if ((*(undefined ***)(param_3 + 0x728) == local_ce8) && + (bVar16 = *(ulonglong *)(param_3 + 0x730) < uStack_ce0, + *(ulonglong *)(param_3 + 0x730) == uStack_ce0)) { + iVar3 = 0; + } + else { + iVar3 = (1 - (uint)bVar16) - (uint)(bVar16 != 0); + } + if ((iVar3 == 0) && (*(char *)(param_3 + 0x700) == '\0')) { + *(undefined1 *)(param_3 + 0x700) = 1; + uVar4 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x118) + 8))(); + *(undefined8 *)(param_3 + 0x198) = uVar4; + uVar4 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x118) + 8))(); + *(undefined8 *)(param_3 + 0x1b8) = uVar4; + local_ce8 = Proud::AddrPort::vftable; + uStack_ce0._0_6_ = CONCAT24(local_d6c,local_d70); + FUN_14009dda0(param_3 + 0x700,(longlong)&local_ce8); + *(undefined4 *)(param_3 + 0x720) = local_d60; + *(undefined2 *)(param_3 + 0x724) = local_d5c; + lVar8 = param_3; + FUN_14004cb90(*(longlong *)(param_1 + 0x148),param_3,SVar12,param_4); + FUN_1400806d0(local_d30); + FUN_1400801a0((longlong)local_d30,lVar8,SVar12,param_4); + FUN_140080830(local_d30,0x800,SVar12,param_4); + uVar4 = 0; + FUN_140080830(local_d30,0,SVar12,param_4); + FUN_14001ba80((longlong)local_d30,CONCAT71((int7)((ulonglong)uVar4 >> 8),0xf),SVar12,param_4); + local_ce8 = *(undefined ***)(param_3 + 0x728); + uStack_ce0 = *(undefined8 *)(param_3 + 0x730); + FUN_140044710((longlong)local_d30,&local_ce8,SVar12,param_4); + piVar7 = (int *)(**(code **)(*(longlong *)(param_3 + 0x108) + 0x10))(); + local_d40 = piVar7; + FUN_14002e6e0(piVar7); + local_d38 = 1; + lVar8 = FUN_140041760((longlong)local_cd8,(longlong)local_d30,SVar12); + local_ce8 = (undefined **)0x0; + uStack_ce0 = CONCAT71(uStack_ce0._1_7_,1); + pppuVar13 = &local_ce8; + FUN_14009c2b0(*(char **)(param_3 + 0x748),lVar8,(SIZE_T *)pppuVar13,param_4); + FUN_140040950((longlong)local_cd8,lVar8,pppuVar13,param_4); + FUN_14002e770((longlong)piVar7); + if (*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x17f0) != 0) { + FUN_140030200(piVar7,lVar8,pppuVar13,param_4); + local_d40 = (int *)PTR_DAT_140155010; + plVar9 = FUN_140033b30((longlong)&local_d78,(longlong *)&local_ce8,pppuVar13,param_4); + plVar10 = FUN_140033b30((longlong)&local_d68,(longlong *)&local_d48,pppuVar13,param_4); + local_d88 = (undefined *)*plVar9; + if ((undefined *)*plVar9 == (undefined *)0x0) { + local_d88 = PTR_DAT_140155010; + } + puVar15 = (undefined *)*plVar10; + if ((undefined *)*plVar10 == (undefined *)0x0) { + puVar15 = PTR_DAT_140155010; + } + uVar5 = (ulonglong)*(uint *)(param_3 + 0x6f8); + ppiVar11 = &local_d40; + FUN_14001b7a0((longlong *)ppiVar11, + L"Client %d가 서버와의 UDP 홀펀칭 성공: Client local Addr=%s,Client addr at server=%s" + ,uVar5,puVar15); + if (((local_d48 != (undefined *)0x0) && (local_d48 != PTR_DAT_140155010)) && + (local_d48 + -8 != (undefined *)0x0)) { + ppiVar11 = (int **)FUN_140030200(ppiVar11,PTR_DAT_140155010,uVar5,puVar15); + local_d58 = ppiVar11; + FUN_14002e6e0((int *)ppiVar11); + local_d50 = 1; + piVar7 = (int *)(local_d48 + -4); + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(local_d48 + -8); + } + FUN_14002e770((longlong)ppiVar11); + } + ppuVar2 = local_ce8; + local_d48 = PTR_DAT_140155010; + if (((local_ce8 != (undefined **)0x0) && (local_ce8 != (undefined **)PTR_DAT_140155010)) && + (ppuVar1 = local_ce8 + -1, ppuVar1 != (undefined **)0x0)) { + ppiVar11 = (int **)FUN_140030200(ppiVar11,PTR_DAT_140155010,uVar5,puVar15); + local_d58 = ppiVar11; + FUN_14002e6e0((int *)ppiVar11); + local_d50 = 1; + piVar7 = (int *)((longlong)ppuVar2 + -4); + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(ppuVar1); + } + FUN_14002e770((longlong)ppiVar11); + } + piVar7 = local_d40; + piVar14 = local_d40; + if (local_d40 == (int *)0x0) { + piVar14 = (int *)PTR_DAT_140155010; + } + uVar4 = 1; + lVar8 = *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x17f0); + FUN_14008f2e0(lVar8,1,(short *)piVar14,puVar15); + if (((piVar7 != (int *)0x0) && (piVar7 != (int *)PTR_DAT_140155010)) && + (piVar7 + -2 != (int *)0x0)) { + ppiVar11 = (int **)FUN_140030200(lVar8,uVar4,piVar14,puVar15); + local_d58 = ppiVar11; + FUN_14002e6e0((int *)ppiVar11); + local_d50 = 1; + piVar14 = piVar7 + -1; + *piVar14 = *piVar14 + -1; + if (*piVar14 == 0) { + FUN_1400302f0(piVar7 + -2); + } + FUN_14002e770((longlong)ppiVar11); + } + } + local_ce8 = &local_d28; + FUN_140095270((longlong *)&local_d28); + if ((local_d20 != 0) && (local_d14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + FUN_14002e770((longlong)piVar6); + return; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140087160.c b/decomp/Agent_Release_x64/full/functions/0x140087160.c new file mode 100644 index 00000000..5313975b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140087160.c @@ -0,0 +1,199 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140087160 FUN_140087160 + * Pseudocode, not original source. */ + +void FUN_140087160(longlong param_1,uint *param_2,longlong param_3,undefined8 param_4) + +{ + int *piVar1; + void *pvVar2; + longlong lVar3; + short *psVar4; + char cVar5; + int iVar6; + int iVar7; + ulonglong uVar8; + undefined8 uVar9; + int *piVar10; + longlong lVar11; + longlong *plVar12; + undefined8 *puVar13; + undefined8 *puVar14; + short **ppsVar15; + int *piVar16; + longlong lVar17; + longlong lVar18; + undefined *puVar19; + short *psVar20; + longlong lVar21; + ulonglong uVar22; + uint local_res18 [2]; + undefined8 *local_res20; + short *local_138; + undefined **local_130; + undefined4 local_128; + undefined2 local_124; + undefined *local_120; + undefined **local_118; + undefined4 local_110; + undefined2 local_10c; + undefined **local_108; + undefined4 local_100; + undefined2 local_fc; + int *local_f8; + undefined1 local_f0; + undefined *local_e8; + undefined **local_e0; + undefined4 local_d8; + undefined2 local_d4; + int *local_d0; + undefined1 local_c8; + int *local_c0; + undefined1 local_b8; + short **local_b0; + undefined1 local_a8; + undefined8 local_a0; + undefined8 local_98 [2]; + undefined8 local_88 [2]; + undefined8 local_78 [2]; + undefined8 local_68 [2]; + undefined8 local_58 [2]; + undefined8 local_48 [2]; + + local_a0 = 0xfffffffffffffffe; + lVar11 = param_3; + FUN_140093300(); + local_118 = Proud::AddrPort::vftable; + lVar18 = 0; + local_110 = 0; + local_10c = 0; + local_130 = Proud::AddrPort::vftable; + local_128 = 0; + local_124 = 0; + uVar8 = FUN_140081030(param_2,(longlong)&local_118); + if ((((char)uVar8 != '\0') && + (uVar8 = FUN_140081030(param_2,(longlong)&local_130), (char)uVar8 != '\0')) && + (uVar9 = FUN_140081090(param_2,local_res18,lVar11,param_4), (char)uVar9 != '\0')) { + piVar10 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + local_f8 = piVar10; + FUN_14002e6e0(piVar10); + local_f0 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x148) + 200)) + (*(longlong **)(param_1 + 0x148), + L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_PeerUdp_NotifyHolepunchSuccess" + ); + } + lVar11 = FUN_140041ab0(*(longlong *)(param_1 + 0x148),local_res18[0]); + if (lVar11 != 0) { + plVar12 = FUN_14004ffa0(*(longlong *)(param_1 + 0x148) + 0x2d8,(longlong *)&local_res20, + local_res18[0],*(uint *)(param_3 + 0x6f8)); + if ((longlong *)*plVar12 != (longlong *)0x0) { + lVar18 = *(longlong *)*plVar12; + } + if ((local_res20 != (undefined8 *)0x0) && + (local_res20[1] = local_res20[1] + -1, piVar10 = local_f8, local_res20[1] == 0)) { + pvVar2 = (void *)*local_res20; + if (pvVar2 != (void *)0x0) { + FUN_14003ccf0((longlong)pvVar2); + operator_delete(pvVar2); + } + FUN_1400302f0(local_res20); + piVar10 = local_f8; + } + if (((lVar18 != 0) && (*(char *)(lVar18 + 0x1a0) == '\0')) && + (cVar5 = FUN_14003cd30(lVar18), cVar5 != '\0')) { + iVar6 = FUN_14003ccb0(lVar18); + local_e0 = Proud::AddrPort::vftable; + local_d8 = local_128; + local_d4 = local_124; + local_108 = Proud::AddrPort::vftable; + local_100 = local_110; + local_fc = local_10c; + FUN_14003ca50(lVar18,*(int *)(param_3 + 0x6f8),(longlong)&local_108,(longlong)&local_e0); + iVar7 = FUN_14003ccb0(lVar18); + if ((iVar7 == 2) && (iVar6 == 1)) { + lVar21 = *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x4a8); + puVar13 = FUN_14003cc30(lVar18,local_78,*(int *)(lVar11 + 0x6f8)); + puVar14 = FUN_14003cb30(lVar18,local_98,*(int *)(lVar11 + 0x6f8)); + (**(code **)(lVar21 + 0x60)) + (*(longlong *)(param_1 + 0x148) + 0x4a8,*(undefined4 *)(param_3 + 0x6f8), + &DAT_14015de10,lVar11 + 0x6f8,puVar14,puVar13); + lVar3 = *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x4a8); + FUN_14003cc30(lVar18,local_58,*(int *)(param_3 + 0x6f8)); + FUN_14003cb30(lVar18,local_88,*(int *)(param_3 + 0x6f8)); + lVar17 = *(longlong *)(param_1 + 0x148) + 0x4a8; + lVar21 = param_3 + 0x6f8; + puVar19 = &DAT_14015de10; + uVar8 = (ulonglong)*(uint *)(lVar11 + 0x6f8); + (**(code **)(lVar3 + 0x60))(); + if (*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x17f0) != 0) { + FUN_140030200(lVar17,uVar8,puVar19,lVar21); + local_138 = (short *)PTR_DAT_140155010; + puVar13 = FUN_14003cc30(lVar18,local_68,*(int *)(lVar11 + 0x6f8)); + puVar14 = FUN_14003cc30(lVar18,local_48,*(int *)(param_3 + 0x6f8)); + (**(code **)*puVar13)(puVar13,&local_e8); + (**(code **)*puVar14)(puVar14,&local_120); + uVar22 = (ulonglong)*(uint *)(lVar11 + 0x6f8); + uVar8 = (ulonglong)*(uint *)(param_3 + 0x6f8); + ppsVar15 = &local_138; + FUN_14001b7a0((longlong *)ppsVar15, + L"Client %d와 Client %d가 쌍방 홀펀칭을 위한 단계 1 완료: Client %d External Addr=%s,Client %d External Addr=%s" + ,uVar8,uVar22); + if (((local_120 != (undefined *)0x0) && (local_120 != PTR_DAT_140155010)) && + (local_120 + -8 != (undefined *)0x0)) { + ppsVar15 = (short **)FUN_140030200(ppsVar15,PTR_DAT_140155010,uVar8,uVar22); + local_b0 = ppsVar15; + FUN_14002e6e0((int *)ppsVar15); + local_a8 = 1; + piVar1 = (int *)(local_120 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_120 + -8); + } + FUN_14002e770((longlong)ppsVar15); + } + local_120 = PTR_DAT_140155010; + if (((local_e8 != (undefined *)0x0) && (local_e8 != PTR_DAT_140155010)) && + (local_e8 + -8 != (undefined *)0x0)) { + piVar16 = (int *)FUN_140030200(ppsVar15,PTR_DAT_140155010,uVar8,uVar22); + local_c0 = piVar16; + FUN_14002e6e0(piVar16); + local_b8 = 1; + piVar1 = (int *)(local_e8 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_e8 + -8); + } + FUN_14002e770((longlong)piVar16); + } + psVar4 = local_138; + psVar20 = local_138; + if (local_138 == (short *)0x0) { + psVar20 = (short *)PTR_DAT_140155010; + } + uVar9 = 1; + lVar18 = *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x17f0); + FUN_14008f2e0(lVar18,1,psVar20,uVar22); + if (((psVar4 != (short *)0x0) && (psVar4 != (short *)PTR_DAT_140155010)) && + (psVar4 + -4 != (short *)0x0)) { + piVar16 = (int *)FUN_140030200(lVar18,uVar9,psVar20,uVar22); + local_d0 = piVar16; + FUN_14002e6e0(piVar16); + local_c8 = 1; + piVar1 = (int *)(psVar4 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar4 + -4); + } + FUN_14002e770((longlong)piVar16); + } + } + } + } + } + FUN_14002e770((longlong)piVar10); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140087640.c b/decomp/Agent_Release_x64/full/functions/0x140087640.c new file mode 100644 index 00000000..035b61f3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140087640.c @@ -0,0 +1,191 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140087640 FUN_140087640 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140087640(longlong param_1,uint *param_2,longlong param_3,longlong param_4) + +{ + undefined **ppuVar1; + int *piVar2; + short *psVar3; + undefined **ppuVar4; + ushort uVar5; + undefined8 uVar6; + int *piVar7; + longlong *plVar8; + int *piVar9; + ulonglong *puVar10; + short **ppsVar11; + longlong lVar12; + undefined ***pppuVar13; + longlong lVar14; + wchar_t *pwVar15; + SIZE_T SVar16; + ulonglong uVar17; + undefined *puVar18; + short *psVar19; + undefined1 auStackY_db8 [32]; + short *local_d88; + int local_d80 [2]; + undefined *local_d78; + longlong local_d70; + uint local_d68; + int local_d64; + int *local_d58; + undefined8 local_d50; + undefined1 local_d48; + undefined4 local_d44; + undefined1 local_d40; + undefined1 local_d3f; + int *local_d38; + undefined1 local_d30; + undefined8 local_d28; + exception local_d20 [72]; + undefined **local_cd8; + undefined8 uStack_cd0; + longlong local_cc8; + undefined8 uStack_cc0; + longlong *local_48; + undefined4 local_40; + int local_3c; + ulonglong local_38; + + local_d28 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStackY_db8; + lVar12 = param_4; + FUN_140093300(); + local_cd8 = (undefined **)0x0; + uStack_cd0 = 0; + SVar16 = 0x10; + pppuVar13 = &local_cd8; + uVar6 = FUN_140080600(param_2,pppuVar13,0x10); + if ((char)uVar6 != '\0') { + FUN_1400806d0(local_d80); + FUN_1400801a0((longlong)local_d80,pppuVar13,SVar16,lVar12); + FUN_140080830(local_d80,0x800,SVar16,lVar12); + uVar6 = 0; + FUN_140080830(local_d80,0,SVar16,lVar12); + FUN_14001ba80((longlong)local_d80,CONCAT71((int7)((ulonglong)uVar6 >> 8),0xd),SVar16,lVar12); + FUN_140044710((longlong)local_d80,&local_cd8,SVar16,lVar12); + lVar14 = param_3; + FUN_1400812d0((longlong)local_d80,param_3,SVar16,lVar12); + uVar6 = uStack_cd0; + local_3c = 200; + local_40 = 0; + local_48 = &local_cc8; + if (local_d78 == (undefined *)0x0) { + if (local_d70 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,lVar14,0,lVar12); + } + } + else { + local_d68 = *(uint *)(local_d78 + 0x18); + } + local_cc8 = local_d70; + if (local_d70 == 0) { + if (local_d78 == (undefined *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)local_d68,0,lVar12); + } + local_cc8 = 0; + if (*(int *)(local_d78 + 0x18) != 0) { + local_cc8 = *(longlong *)(local_d78 + 0x10); + } + } + uStack_cd0 = CONCAT44(uStack_cd0._4_4_,local_d68); + local_40 = 1; + uStack_cc0 = uStack_cd0; + local_d58 = (int *)CONCAT44(local_d58._4_4_,5); + local_d50 = 0; + local_d48 = 1; + local_d44 = 0xffffffff; + local_d40 = 1; + local_d3f = DAT_1401551cc; + local_cd8 = Proud::AddrPort::vftable; + uStack_cd0 = CONCAT26(SUB82(uVar6,6),*(undefined6 *)(param_3 + 8)); + uVar5 = FUN_140096e50(1,0); + uVar17 = (ulonglong)uVar5; + pppuVar13 = &local_cd8; + pwVar15 = (wchar_t *)0x0; + FUN_14009c8f0(param_4,0,uVar5,(longlong)pppuVar13,(longlong)&local_cc8,(uint *)&local_d58); + if (local_48 == (longlong *)0x0) { + FUN_14002f1e0(local_d20,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,uVar17, + pppuVar13); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d20,(ThrowInfo *)&DAT_140151b88); + } + if (local_3c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + piVar7 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + local_d38 = piVar7; + FUN_14002e6e0(piVar7); + local_d30 = 1; + puVar10 = *(ulonglong **)(param_1 + 0x148); + if (DAT_14015bfcf != '\0') { + uVar17 = *puVar10; + pwVar15 = L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_ServerHolepunch"; + (**(code **)(uVar17 + 200))(); + } + if (*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x17f0) != 0) { + FUN_140030200(puVar10,pwVar15,uVar17,pppuVar13); + local_d88 = (short *)PTR_DAT_140155010; + plVar8 = FUN_140033b30(param_3,(longlong *)&local_cd8,uVar17,pppuVar13); + puVar18 = (undefined *)*plVar8; + if ((undefined *)*plVar8 == (undefined *)0x0) { + puVar18 = PTR_DAT_140155010; + } + pwVar15 = L"MessageType_ServerHolepunch from %s"; + ppsVar11 = &local_d88; + FUN_14001b7a0((longlong *)ppsVar11,L"MessageType_ServerHolepunch from %s",puVar18,pppuVar13); + ppuVar4 = local_cd8; + if (((local_cd8 != (undefined **)0x0) && (local_cd8 != (undefined **)PTR_DAT_140155010)) && + (ppuVar1 = local_cd8 + -1, ppuVar1 != (undefined **)0x0)) { + piVar9 = (int *)FUN_140030200(ppsVar11,pwVar15,puVar18,pppuVar13); + local_d58 = piVar9; + FUN_14002e6e0(piVar9); + local_d50 = CONCAT71(local_d50._1_7_,1); + piVar2 = (int *)((longlong)ppuVar4 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppuVar1); + } + FUN_14002e770((longlong)piVar9); + } + psVar3 = local_d88; + psVar19 = local_d88; + if (local_d88 == (short *)0x0) { + psVar19 = (short *)PTR_DAT_140155010; + } + uVar6 = 1; + lVar12 = *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x17f0); + FUN_14008f2e0(lVar12,1,psVar19,pppuVar13); + if (((psVar3 != (short *)0x0) && (psVar3 != (short *)PTR_DAT_140155010)) && + (psVar3 + -4 != (short *)0x0)) { + piVar9 = (int *)FUN_140030200(lVar12,uVar6,psVar19,pppuVar13); + local_d58 = piVar9; + FUN_14002e6e0(piVar9); + local_d50 = CONCAT71(local_d50._1_7_,1); + piVar2 = (int *)(psVar3 + -2); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(psVar3 + -4); + } + FUN_14002e770((longlong)piVar9); + } + } + FUN_14002e770((longlong)piVar7); + local_cd8 = &local_d78; + FUN_140095270((longlong *)&local_d78); + if ((local_d70 != 0) && (local_d64 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400879e0.c b/decomp/Agent_Release_x64/full/functions/0x1400879e0.c new file mode 100644 index 00000000..63230526 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400879e0.c @@ -0,0 +1,197 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400879e0 FUN_1400879e0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400879e0(longlong param_1,uint *param_2,longlong param_3,longlong param_4) + +{ + undefined **ppuVar1; + int *piVar2; + short *psVar3; + undefined **ppuVar4; + ushort uVar5; + undefined8 uVar6; + int *piVar7; + longlong *plVar8; + int *piVar9; + ulonglong *puVar10; + short **ppsVar11; + longlong lVar12; + uint *puVar13; + ulonglong uVar14; + wchar_t *pwVar15; + SIZE_T SVar16; + undefined *puVar17; + short *psVar18; + undefined ***pppuVar19; + undefined1 auStackY_dc8 [32]; + uint local_d98 [2]; + short *local_d90; + int local_d88 [2]; + undefined *local_d80; + longlong local_d78; + uint local_d70; + int local_d6c; + int *local_d60; + undefined8 local_d58; + undefined1 local_d50; + undefined4 local_d4c; + undefined1 local_d48; + undefined1 local_d47; + int *local_d40; + undefined1 local_d38; + undefined8 local_d30; + exception local_d28 [80]; + undefined **local_cd8; + undefined8 uStack_cd0; + longlong local_cc8; + undefined8 uStack_cc0; + longlong *local_48; + undefined4 local_40; + int local_3c; + ulonglong local_38; + + local_d30 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStackY_dc8; + lVar12 = param_4; + FUN_140093300(); + local_cd8 = (undefined **)0x0; + uStack_cd0 = 0; + SVar16 = 0x10; + uVar6 = FUN_140080600(param_2,&local_cd8,0x10); + if ((char)uVar6 != '\0') { + puVar13 = local_d98; + uVar6 = FUN_140081090(param_2,puVar13,SVar16,lVar12); + if ((char)uVar6 != '\0') { + FUN_1400806d0(local_d88); + FUN_1400801a0((longlong)local_d88,puVar13,SVar16,lVar12); + FUN_140080830(local_d88,0x800,SVar16,lVar12); + uVar6 = 0; + FUN_140080830(local_d88,0,SVar16,lVar12); + FUN_14001ba80((longlong)local_d88,CONCAT71((int7)((ulonglong)uVar6 >> 8),0x11),SVar16,lVar12); + FUN_140044710((longlong)local_d88,&local_cd8,SVar16,lVar12); + FUN_1400812d0((longlong)local_d88,param_3,SVar16,lVar12); + uVar14 = (ulonglong)local_d98[0]; + FUN_140021e80((longlong)local_d88,uVar14,SVar16,lVar12); + uVar6 = uStack_cd0; + local_3c = 200; + local_40 = 0; + local_48 = &local_cc8; + if (local_d80 == (undefined *)0x0) { + if (local_d78 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,uVar14,0,lVar12); + } + } + else { + local_d70 = *(uint *)(local_d80 + 0x18); + } + local_cc8 = local_d78; + if (local_d78 == 0) { + if (local_d80 == (undefined *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)local_d70,0,lVar12); + } + local_cc8 = 0; + if (*(int *)(local_d80 + 0x18) != 0) { + local_cc8 = *(longlong *)(local_d80 + 0x10); + } + } + uStack_cd0 = CONCAT44(uStack_cd0._4_4_,local_d70); + local_40 = 1; + uStack_cc0 = uStack_cd0; + local_d60 = (int *)CONCAT44(local_d60._4_4_,5); + local_d58 = 0; + local_d50 = 1; + local_d4c = 0xffffffff; + local_d48 = 1; + local_d47 = DAT_1401551cc; + local_cd8 = Proud::AddrPort::vftable; + uStack_cd0 = CONCAT26(SUB82(uVar6,6),*(undefined6 *)(param_3 + 8)); + uVar5 = FUN_140096e50(1,0); + uVar14 = (ulonglong)uVar5; + pppuVar19 = &local_cd8; + pwVar15 = (wchar_t *)0x0; + FUN_14009c8f0(param_4,0,uVar5,(longlong)pppuVar19,(longlong)&local_cc8,(uint *)&local_d60); + if (local_48 == (longlong *)0x0) { + FUN_14002f1e0(local_d28,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,uVar14, + pppuVar19); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d28,(ThrowInfo *)&DAT_140151b88); + } + if (local_3c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + piVar7 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + local_d40 = piVar7; + FUN_14002e6e0(piVar7); + local_d38 = 1; + puVar10 = *(ulonglong **)(param_1 + 0x148); + if (DAT_14015bfcf != '\0') { + uVar14 = *puVar10; + pwVar15 = L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_PeerUdp_ServerHolepunch"; + (**(code **)(uVar14 + 200))(); + } + if (*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x17f0) != 0) { + FUN_140030200(puVar10,pwVar15,uVar14,pppuVar19); + local_d90 = (short *)PTR_DAT_140155010; + plVar8 = FUN_140033b30(param_3,(longlong *)&local_cd8,uVar14,pppuVar19); + puVar17 = (undefined *)*plVar8; + if ((undefined *)*plVar8 == (undefined *)0x0) { + puVar17 = PTR_DAT_140155010; + } + pwVar15 = L"MessageType_PeerUdp_ServerHolepunch from %s"; + ppsVar11 = &local_d90; + FUN_14001b7a0((longlong *)ppsVar11,L"MessageType_PeerUdp_ServerHolepunch from %s",puVar17, + pppuVar19); + ppuVar4 = local_cd8; + if (((local_cd8 != (undefined **)0x0) && (local_cd8 != (undefined **)PTR_DAT_140155010)) && + (ppuVar1 = local_cd8 + -1, ppuVar1 != (undefined **)0x0)) { + piVar9 = (int *)FUN_140030200(ppsVar11,pwVar15,puVar17,pppuVar19); + local_d60 = piVar9; + FUN_14002e6e0(piVar9); + local_d58 = CONCAT71(local_d58._1_7_,1); + piVar2 = (int *)((longlong)ppuVar4 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppuVar1); + } + FUN_14002e770((longlong)piVar9); + } + psVar3 = local_d90; + psVar18 = local_d90; + if (local_d90 == (short *)0x0) { + psVar18 = (short *)PTR_DAT_140155010; + } + uVar6 = 1; + lVar12 = *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x17f0); + FUN_14008f2e0(lVar12,1,psVar18,pppuVar19); + if (((psVar3 != (short *)0x0) && (psVar3 != (short *)PTR_DAT_140155010)) && + (psVar3 + -4 != (short *)0x0)) { + piVar9 = (int *)FUN_140030200(lVar12,uVar6,psVar18,pppuVar19); + local_d60 = piVar9; + FUN_14002e6e0(piVar9); + local_d58 = CONCAT71(local_d58._1_7_,1); + piVar2 = (int *)(psVar3 + -2); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(psVar3 + -4); + } + FUN_14002e770((longlong)piVar9); + } + } + FUN_14002e770((longlong)piVar7); + local_cd8 = &local_d80; + FUN_140095270((longlong *)&local_d80); + if ((local_d78 != 0) && (local_d6c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140087da0.c b/decomp/Agent_Release_x64/full/functions/0x140087da0.c new file mode 100644 index 00000000..9e9ff79f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140087da0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140087da0 FUN_140087da0 + * Pseudocode, not original source. */ + +void FUN_140087da0(longlong param_1,undefined8 param_2,SIZE_T *param_3,TypeDescriptor *param_4) + +{ + DWORD DVar1; + char *pcVar2; + + DVar1 = GetCurrentThreadId(); + pcVar2 = "PNSrv Heartbeat"; + FUN_140037ab0(DVar1,"PNSrv Heartbeat"); + FUN_140086830(param_1,pcVar2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140087dd0.c b/decomp/Agent_Release_x64/full/functions/0x140087dd0.c new file mode 100644 index 00000000..58b732c1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140087dd0.c @@ -0,0 +1,495 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140087dd0 FUN_140087dd0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Removing unreachable block (ram,0x00014008847c) */ + +void FUN_140087dd0(longlong param_1,uint *param_2,wchar_t *param_3,longlong param_4) + +{ + uint uVar1; + char *pcVar2; + code *pcVar3; + LPVOID pvVar4; + int iVar5; + ulonglong uVar6; + undefined8 uVar7; + longlong lVar8; + ulonglong uVar9; + undefined4 *puVar10; + int *piVar11; + uint uVar12; + wchar_t *pwVar13; + undefined1 *puVar14; + longlong lVar15; + longlong *plVar16; + ulonglong uVar17; + undefined1 *puVar18; + undefined1 *puVar19; + uint uVar20; + undefined8 *puVar21; + longlong lVar22; + undefined8 *puVar23; + SIZE_T *pSVar24; + longlong lVar25; + ulonglong uVar26; + undefined1 auStack_1b88 [32]; + int local_1b68 [2]; + longlong *local_1b60; + longlong *local_1b58; + undefined **local_1b50; + longlong *local_1b48; + LPVOID local_1b40; + undefined8 local_1b38; + undefined8 local_1b30; + uint local_1b28; + int local_1b20 [2]; + longlong local_1b18; + longlong local_1b10; + uint local_1b08; + int local_1b04; + int *local_1af8; + undefined1 local_1af0; + undefined4 local_1ae8; + undefined4 uStack_1ae4; + undefined4 local_1ad8; + undefined4 uStack_1ad4; + int *local_1ad0; + undefined1 local_1ac8; + SIZE_T local_1ac0; + undefined1 local_1ab8; + longlong local_1ab0; + uint uStack_1aa8; + undefined4 uStack_1aa4; + SIZE_T local_1aa0; + undefined1 local_1a98; + longlong local_1a90; + uint uStack_1a88; + undefined4 uStack_1a84; + undefined8 local_1a80; + exception local_1a78 [88]; + undefined8 local_1a20; + undefined4 local_1a18 [2]; + longlong local_1a10; + longlong local_1a08; + uint local_1a00; + int local_19fc; + undefined1 local_19f0 [136]; + longlong local_1968; + undefined8 uStack_1960; + longlong *local_ce8; + undefined4 local_ce0; + int local_cdc; + undefined1 local_cd8 [3200]; + undefined1 *local_58; + undefined4 local_50; + int local_4c; + ulonglong local_48; + undefined8 uStack_40; + + uStack_40 = 0x140087de6; + puVar18 = auStack_1b88; + puVar19 = auStack_1b88; + local_1a80 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)local_1b68; + uVar17 = 0; + local_1b48 = (longlong *)0x0; + local_1b40 = (LPVOID)0x0; + local_1b38 = 0; + local_1b30 = 0; + local_1b50 = Proud::BypassDestList::vftable; + pwVar13 = param_3; + uVar6 = thunk_FUN_140081240(param_2,(longlong)&local_1b50,param_3,param_4); + puVar14 = auStack_1b88; + if (((char)uVar6 == '\0') || + (uVar6 = FUN_140080ca0(param_2,&local_1b58,pwVar13,param_4), plVar16 = local_1b58, + puVar14 = auStack_1b88, (char)uVar6 == '\0')) { +LAB_1400885cb: + pvVar4 = local_1b40; + plVar16 = local_1b48; + local_1b50 = Proud::CFastArray::vftable; + if (local_1b40 == (LPVOID)0x0) goto LAB_1400885fb; + puVar19 = puVar14; + if (local_1b48 != (longlong *)0x0) { + pcVar3 = *(code **)(*local_1b48 + 0x18); + *(undefined8 *)(puVar14 + -8) = 0x1400885f4; + (*pcVar3)(plVar16,pvVar4); + goto LAB_1400885fb; + } + } + else { + uVar20 = (uint)local_1b58; + if ((-1 < (int)uVar20) && ((int)uVar20 < DAT_140155140)) { + uVar1 = *param_2; + uVar12 = (int)uVar1 >> 0x1f & 7; + iVar5 = FUN_14003fcd0((longlong)param_2,(ulonglong)uVar12,pwVar13,param_4); + if (((int)(uVar12 + uVar1) >> 3) + uVar20 != iVar5) { + param_4 = 2; + FUN_14005ed30(*(longlong **)(param_1 + 0x148),param_3, + "msg.GetReadOffset() + payloadLength == msg.GetLength()",2); + } + FUN_1400806d0(local_1b20); + uVar6 = (ulonglong)plVar16 & 0xffffffff; + uVar7 = FUN_140080930(param_2,local_1b20,uVar20,param_4); + if ((char)uVar7 == '\0') { + FUN_14005ed30(*(longlong **)(param_1 + 0x148),param_3,"0",2); + local_1b58 = &local_1b18; + FUN_140095270(&local_1b18); + puVar14 = auStack_1b88; + if (local_1b10 != 0) { + if (local_1b04 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_1b08 = 0; + puVar14 = auStack_1b88; + } + } + else { + lVar8 = (longlong)(int)local_1b38; + local_1b60 = (longlong *)CONCAT44(local_1b60._4_4_,(int)local_1b38); + if ((int)local_1b38 < 1) { + local_1b58 = &local_1b18; + FUN_140095270(&local_1b18); + puVar14 = auStack_1b88; + if (local_1b10 != 0) { + if (local_1b04 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_1b08 = 0; + puVar14 = auStack_1b88; + } + } + else { + lVar25 = lVar8 * 0x18; + uVar26 = lVar25 + 0x10; + if (uVar26 < 0x401) { + uVar9 = lVar25 + 0x1f; + if (uVar9 <= uVar26) { + uVar9 = 0xffffffffffffff0; + } + lVar25 = -(uVar9 & 0xfffffffffffffff0); + puVar18 = auStack_1b88 + lVar25; + puVar10 = (undefined4 *)((longlong)local_1b68 + lVar25); + puVar23 = (undefined8 *)0x0; + if (puVar10 != (undefined4 *)0x0) { + *puVar10 = 0xcccc; + puVar18 = auStack_1b88 + lVar25; +LAB_140087fab: + puVar23 = (undefined8 *)(puVar10 + 4); + } + } + else { + puVar10 = malloc(uVar26); + puVar23 = (undefined8 *)0x0; + if (puVar10 != (undefined4 *)0x0) { + *puVar10 = 0xdddd; + puVar18 = auStack_1b88; + goto LAB_140087fab; + } + } + pwVar13 = (wchar_t *)**(longlong **)(param_1 + 0x148); + pcVar3 = *(code **)(pwVar13 + 0x2c); + *(undefined8 *)(puVar18 + -8) = 0x140087fbc; + piVar11 = (int *)(*pcVar3)(); + local_1ad0 = piVar11; + *(undefined8 *)(puVar18 + -8) = 0x140087fcb; + FUN_14002e6e0(piVar11); + local_1ac8 = 1; + if (DAT_14015bfcf != '\0') { + uVar6 = **(ulonglong **)(param_1 + 0x148); + pwVar13 = L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_ReliableRelay1"; + pcVar3 = *(code **)(uVar6 + 200); + *(undefined8 *)(puVar18 + -8) = 0x140087ff3; + (*pcVar3)(); + } + pcVar3 = *(code **)(*(longlong *)param_3 + 0x10); + *(undefined8 *)(puVar18 + -8) = 0x140087ffd; + local_1b28 = (*pcVar3)(); + local_1b68[0] = 0; + puVar21 = puVar23; + uVar26 = uVar17; + if (0 < lVar8) { + do { + pvVar4 = local_1b40; + if ((longlong)uVar17 < 0) { +LAB_14008809e: + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar18 + -8) = &UNK_1400880a3; + FUN_14002f5c0(param_3,pwVar13,uVar6,param_4); + } + if ((int)local_1b38 <= (int)uVar26) goto LAB_14008809e; + uVar20 = *(uint *)((longlong)local_1b40 + uVar17 * 8); + pwVar13 = (wchar_t *)(ulonglong)uVar20; + lVar8 = *(longlong *)(param_1 + 0x148); + *(undefined8 *)(puVar18 + -8) = 0x14008803f; + lVar8 = FUN_140041ab0(lVar8,uVar20); + if (lVar8 != 0) { + *(undefined8 *)(puVar18 + -8) = 0x140088053; + FUN_14009c460(lVar8 + 0xc0); + local_1ae8 = *(undefined4 *)((longlong)pvVar4 + uVar17 * 8 + 4); + local_1ad8 = *(undefined4 *)((longlong)pvVar4 + uVar17 * 8); + *puVar21 = CONCAT44(uStack_1ae4,local_1ae8); + puVar21[1] = lVar8; + puVar21[2] = CONCAT44(uStack_1ad4,local_1ad8); + local_1b68[0] = local_1b68[0] + 1; + puVar21 = puVar21 + 3; + } + uVar17 = uVar17 + 1; + param_3 = (wchar_t *)(longlong)(int)local_1b60; + uVar26 = (ulonglong)((int)uVar26 + 1); + } while ((longlong)uVar17 < (longlong)param_3); + } + piVar11 = local_1ad0; + iVar5 = local_1b68[0]; + *(undefined8 *)(puVar18 + -8) = 0x1400880b0; + FUN_14002e770((longlong)piVar11); + local_1ac8 = 0; + lVar8 = (longlong)iVar5; + while ((0 < lVar8 && (lVar25 = 0, 0 < lVar8))) { + lVar22 = lVar8 * 0x18 + -0x18; + do { + uVar6 = puVar23[lVar25 * 3]; + local_1b60 = (longlong *)puVar23[lVar25 * 3 + 1]; + local_1a20 = puVar23[lVar25 * 3 + 2]; + pcVar3 = *(code **)(*(longlong *)(puVar23[lVar25 * 3 + 1] + 0x108) + 0x10); + *(undefined8 *)(puVar18 + -8) = 0x14008810b; + piVar11 = (int *)(*pcVar3)(); + local_1af0 = 0; + local_1af8 = piVar11; + *(undefined8 *)(puVar18 + -8) = 0x140088122; + FUN_1400806d0(local_1a18); + pSVar24 = (SIZE_T *)0x80; + puVar14 = local_19f0; + *(undefined8 *)(puVar18 + -8) = 0x14008813c; + FUN_140080350((longlong)local_1a18,(longlong)puVar14,0x80,param_4); + *(undefined8 *)(puVar18 + -8) = 0x14008814b; + FUN_14001ba80((longlong)local_1a18,CONCAT71((int7)((ulonglong)puVar14 >> 8),0x17), + (SIZE_T)pSVar24,param_4); + uVar17 = (ulonglong)local_1b28; + *(undefined8 *)(puVar18 + -8) = 0x14008815a; + FUN_140021e80((longlong)local_1a18,uVar17,(SIZE_T)pSVar24,param_4); + *(undefined8 *)(puVar18 + -8) = 0x140088168; + FUN_140021e80((longlong)local_1a18,uVar6 & 0xffffffff,(SIZE_T)pSVar24,param_4); + *(undefined8 *)(puVar18 + -8) = 0x14008817b; + FUN_140080120((longlong *)&local_1ae8,(longlong)local_1a18); + lVar15 = (longlong)(int)local_1b58; + *(undefined8 *)(puVar18 + -8) = 0x14008818c; + FUN_140081aa0((longlong)local_1a18,lVar15,(SIZE_T)pSVar24,param_4); + local_4c = 200; + local_50 = 0; + local_58 = local_cd8; + local_cdc = 200; + local_ce0 = 0; + local_ce8 = &local_1968; + if (local_1a10 == 0) { + uVar20 = local_1a00; + if (local_1a08 == 0) { + /* WARNING: Subroutine does not return */ + *(undefined8 *)(puVar18 + -8) = 0x14008853d; + FUN_140095370(0,lVar15,pSVar24,param_4); + } + } + else { + uVar20 = *(uint *)(local_1a10 + 0x18); + } + lVar15 = local_1a08; + if (local_1a08 == 0) { + if (local_1a10 == 0) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar18 + -8) = &UNK_140088537; + FUN_140095370(0,(ulonglong)uVar20,pSVar24,param_4); + } + lVar15 = 0; + if (*(int *)(local_1a10 + 0x18) != 0) { + lVar15 = *(longlong *)(local_1a10 + 0x10); + } + } + local_ce0 = 1; + uStack_1960 = CONCAT44(uStack_1aa4,uVar20); + plVar16 = &local_1968; + local_1ab0 = lVar15; + uStack_1aa8 = uVar20; + local_1968 = lVar15; + *(undefined8 *)(puVar18 + -8) = 0x140088243; + FUN_140040a60((longlong)local_cd8,(longlong)plVar16,pSVar24,param_4); + if (local_ce8 == (longlong *)0x0) { + *(undefined8 *)(puVar18 + -8) = 0x14008851e; + FUN_14002f1e0(local_1a78,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0 + ,pSVar24,param_4); + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar18 + -8) = &UNK_140088531; + _CxxThrowException(local_1a78,(ThrowInfo *)&DAT_140151b88); + } + if (local_cdc < 0) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar18 + -8) = &UNK_14008850a; + FUN_14002f590(); + } + local_cdc = 200; + local_ce0 = 0; + local_ce8 = &local_1968; + if (local_1b18 == 0) { + uVar20 = local_1b08; + if (local_1b10 == 0) { + /* WARNING: Subroutine does not return */ + *(undefined8 *)(puVar18 + -8) = 0x140088504; + FUN_140095370(0,plVar16,pSVar24,param_4); + } + } + else { + uVar20 = *(uint *)(local_1b18 + 0x18); + } + lVar15 = local_1b10; + if (local_1b10 == 0) { + if (local_1b18 == 0) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar18 + -8) = &UNK_1400884fe; + FUN_140095370(0,(ulonglong)uVar20,pSVar24,param_4); + } + lVar15 = 0; + if (*(int *)(local_1b18 + 0x18) != 0) { + lVar15 = *(longlong *)(local_1b18 + 0x10); + } + } + local_ce0 = 1; + uStack_1960 = CONCAT44(uStack_1a84,uVar20); + local_1a90 = lVar15; + uStack_1a88 = uVar20; + local_1968 = lVar15; + *(undefined8 *)(puVar18 + -8) = 0x1400882ed; + FUN_140040a60((longlong)local_cd8,(longlong)&local_1968,pSVar24,param_4); + if (local_ce8 == (longlong *)0x0) { + *(undefined8 *)(puVar18 + -8) = 0x1400884e5; + FUN_14002f1e0(local_1a78,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0 + ,pSVar24,param_4); + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar18 + -8) = &UNK_1400884f8; + _CxxThrowException(local_1a78,(ThrowInfo *)&DAT_140151b88); + } + if (local_cdc < 0) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar18 + -8) = &UNK_1400884d1; + FUN_14002f590(); + } + if (lVar25 == 0) { + local_1af0 = 1; + *(undefined8 *)(puVar18 + -8) = 0x1400883a5; + FUN_14002e6e0(piVar11); + plVar16 = local_1b60; + local_1aa0 = 0; + local_1a98 = 1; + pSVar24 = &local_1aa0; + pcVar2 = *(char **)((longlong)local_1b60 + 0x748); + *(undefined8 *)(puVar18 + -8) = 0x1400883d1; + FUN_14009c2b0(pcVar2,(longlong)local_cd8,pSVar24,param_4); + *(undefined8 *)(puVar18 + -8) = 0x1400883d9; + FUN_14002e770((longlong)piVar11); + local_1af0 = 0; + *(undefined8 *)(puVar18 + -8) = 0x1400883ea; + FUN_14009c470((longlong)plVar16 + 0xc0); + puVar23[1] = 0; + *puVar23 = *(undefined8 *)(lVar22 + (longlong)puVar23); + puVar23[1] = *(undefined8 *)(lVar22 + 8 + (longlong)puVar23); + puVar23[2] = *(undefined8 *)(lVar22 + 0x10 + (longlong)puVar23); +LAB_14008840b: + local_1b68[0] = local_1b68[0] + -1; + lVar8 = lVar8 + -1; + lVar22 = lVar22 + -0x18; + } + else { + *(undefined8 *)(puVar18 + -8) = 0x14008831a; + local_1af0 = FUN_14002e730(piVar11); + if ((bool)local_1af0) { + local_1ac0 = 0; + local_1ab8 = 1; + pSVar24 = &local_1ac0; + pcVar2 = *(char **)((longlong)local_1b60 + 0x748); + *(undefined8 *)(puVar18 + -8) = 0x140088358; + FUN_14009c2b0(pcVar2,(longlong)local_cd8,pSVar24,param_4); + *(undefined8 *)(puVar18 + -8) = 0x140088360; + FUN_14002e770((longlong)piVar11); + local_1af0 = 0; + lVar15 = (longlong)local_1b60 + 0xc0; + *(undefined8 *)(puVar18 + -8) = 0x140088375; + FUN_14009c470(lVar15); + puVar23[lVar25 * 3 + 1] = 0; + puVar23[lVar25 * 3] = *(undefined8 *)(lVar22 + (longlong)puVar23); + puVar23[lVar25 * 3 + 1] = *(undefined8 *)(lVar22 + 8 + (longlong)puVar23); + puVar23[lVar25 * 3 + 2] = *(undefined8 *)(lVar22 + 0x10 + (longlong)puVar23); + goto LAB_14008840b; + } + } + if (local_58 == (undefined1 *)0x0) { + *(undefined8 *)(puVar18 + -8) = 0x1400884b8; + FUN_14002f1e0(local_1a78,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0 + ,pSVar24,param_4); + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar18 + -8) = &UNK_1400884cb; + _CxxThrowException(local_1a78,(ThrowInfo *)&DAT_140151b88); + } + if (local_4c < 0) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar18 + -8) = &UNK_1400884a4; + FUN_14002f590(); + } + local_50 = 0; + *(undefined8 *)(puVar18 + -8) = 0x140088442; + FUN_140080140((longlong *)&local_1ae8); + local_1b60 = &local_1a10; + *(undefined8 *)(puVar18 + -8) = 0x14008845a; + FUN_140095270(&local_1a10); + if (local_1a08 != 0) { + if (local_19fc < 0) { + /* WARNING: Subroutine does not return */ + *(undefined8 *)(puVar18 + -8) = 0x14008849e; + FUN_14002f590(); + } + local_1a00 = 0; + } + lVar25 = lVar25 + 1; + } while (lVar25 < lVar8); + } + if ((puVar23 != (undefined8 *)0x0) && (*(int *)(puVar23 + -2) == 0xdddd)) { + *(undefined8 *)(puVar18 + -8) = 0x140088555; + free(puVar23 + -2); + } + local_1b58 = &local_1b18; + *(undefined8 *)(puVar18 + -8) = 0x140088567; + FUN_140095270(&local_1b18); + puVar14 = puVar18; + if (local_1b10 != 0) { + if (local_1b04 < 0) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar18 + -8) = &UNK_14008857a; + FUN_14002f590(); + } + local_1b08 = 0; + } + } + } + goto LAB_1400885cb; + } + FUN_14005ed30(*(longlong **)(param_1 + 0x148),param_3,"0",2); + local_1b50 = Proud::CFastArray::vftable; + puVar14 = auStack_1b88; + if (local_1b40 == (LPVOID)0x0) goto LAB_1400885fb; + if (local_1b48 != (longlong *)0x0) { + (**(code **)(*local_1b48 + 0x18))(); + puVar14 = auStack_1b88; + goto LAB_1400885fb; + } + } + pvVar4 = local_1b40; + local_1b50 = Proud::CFastArray::vftable; + *(undefined8 *)(puVar19 + -8) = 0x1400885fb; + FUN_1400302f0(pvVar4); + puVar14 = puVar19; +LAB_1400885fb: + *(undefined8 *)(puVar14 + -8) = 0x14008860a; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140088630.c b/decomp/Agent_Release_x64/full/functions/0x140088630.c new file mode 100644 index 00000000..c9e542b0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140088630.c @@ -0,0 +1,438 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140088630 FUN_140088630 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Removing unreachable block (ram,0x000140088c5e) */ + +void FUN_140088630(longlong param_1,uint *param_2,wchar_t *param_3,uint **param_4) + +{ + uint uVar1; + longlong *plVar2; + code *pcVar3; + int iVar4; + undefined8 uVar5; + ulonglong uVar6; + ulonglong uVar7; + ulonglong uVar8; + undefined4 *puVar9; + int *piVar10; + wchar_t *pwVar11; + char *pcVar12; + longlong lVar13; + longlong *plVar14; + uint uVar15; + wchar_t *pwVar16; + longlong lVar17; + undefined1 *puVar18; + int *piVar19; + undefined1 *puVar20; + longlong lVar21; + wchar_t *pwVar22; + longlong **pplVar23; + undefined1 *puVar24; + longlong *plVar25; + longlong lVar26; + longlong *plVar27; + uint uVar28; + undefined1 auStack_1b18 [32]; + undefined4 local_1af8; + uint local_1af4; + undefined8 local_1af0; + ulonglong local_1ae8; + longlong *local_1ae0; + bool local_1ad8; + uint local_1ad0 [2]; + undefined8 local_1ac8; + undefined1 local_1ac0; + undefined4 local_1abc; + undefined1 local_1ab8; + undefined1 local_1ab7; + uint local_1ab0 [2]; + undefined **local_1aa8; + longlong *local_1aa0; + longlong *local_1a98; + ulonglong local_1a90; + undefined8 local_1a88; + int local_1a80 [2]; + longlong local_1a78; + longlong local_1a70; + undefined4 local_1a68; + int local_1a64; + longlong local_1a58; + wchar_t *local_1a50; + undefined8 local_1a48; + int *local_1a40; + undefined1 local_1a38; + undefined8 local_1a30; + longlong local_1a28 [2]; + undefined4 local_1a18 [2]; + longlong local_1a10; + longlong local_1a08; + undefined4 local_1a00; + int local_19fc; + undefined1 local_19f0 [136]; + undefined1 local_1968 [3200]; + undefined1 *local_ce8; + undefined4 local_ce0; + undefined4 local_cdc; + undefined1 local_cd8 [3216]; + ulonglong local_48; + undefined8 uStack_40; + + uStack_40 = 0x140088646; + puVar20 = auStack_1b18; + local_1a30 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)&local_1af8; + pwVar22 = param_3; + local_1a58 = param_1; + uVar5 = FUN_140080e30(param_2,local_1ab0,param_3,param_4); + puVar18 = auStack_1b18; + if (((char)uVar5 == '\0') || + (uVar6 = FUN_140080ca0(param_2,&local_1a48,pwVar22,param_4), puVar18 = auStack_1b18, + (char)uVar6 == '\0')) goto LAB_140088d6f; + plVar25 = (longlong *)0x0; + local_1aa0 = (longlong *)0x0; + local_1a98 = (longlong *)0x0; + local_1a90 = 0; + local_1a88 = 0; + local_1aa8 = Proud::HostIDArray::vftable; + uVar6 = FUN_140080ca0(param_2,&local_1ae8,pwVar22,param_4); + plVar14 = plVar25; + plVar27 = plVar25; + if (((char)uVar6 == '\0') || + ((iVar4 = (int)local_1ae8, plVar27 = (longlong *)0x0, iVar4 < 0 || (DAT_140155140 < iVar4)))) { +LAB_140088d4f: + puVar18 = auStack_1b18; + if (plVar27 == (longlong *)0x0) goto LAB_140088d6f; + puVar18 = auStack_1b18; + if (plVar14 == (longlong *)0x0) { +LAB_140088d67: + *(undefined8 *)(puVar18 + -8) = 0x140088d6f; + FUN_1400302f0(plVar27); + goto LAB_140088d6f; + } + lVar17 = *plVar14; + puVar18 = auStack_1b18; + } + else { + FUN_14003ecf0((longlong)&local_1aa8,iVar4,(longlong)pwVar22); + plVar27 = local_1a98; + plVar14 = local_1a98; + if ((int)local_1a90 == 0) { + plVar14 = plVar25; + } + uVar6 = (ulonglong)(uint)(iVar4 * 4); + uVar5 = FUN_140080600(param_2,plVar14,uVar6); + plVar14 = local_1aa0; + if ((char)uVar5 == '\0') goto LAB_140088d4f; + uVar7 = FUN_140080ca0(param_2,&local_1ae8,uVar6,param_4); + uVar8 = local_1ae8; + puVar18 = auStack_1b18; + if ((char)uVar7 != '\0') { + uVar28 = (uint)local_1ae8; + if (((int)uVar28 < 0) || (DAT_140155140 <= (int)uVar28)) { + FUN_14005ed30(*(longlong **)(param_1 + 0x148),param_3, + "Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_UnreliableRelay1",2); + puVar18 = auStack_1b18; + } + else { + uVar1 = *param_2; + uVar15 = (int)uVar1 >> 0x1f & 7; + iVar4 = FUN_14003fcd0((longlong)param_2,(ulonglong)uVar15,uVar6,param_4); + if (((int)(uVar15 + uVar1) >> 3) + uVar28 != iVar4) { + param_4 = (uint **)0x2; + FUN_14005ed30(*(longlong **)(param_1 + 0x148),param_3, + "msg.GetReadOffset() + payloadLength == msg.GetLength()",2); + } + FUN_1400806d0(local_1a80); + pplVar23 = (longlong **)(uVar8 & 0xffffffff); + uVar5 = FUN_140080930(param_2,local_1a80,uVar28,param_4); + if ((char)uVar5 == '\0') { + FUN_14005ed30(*(longlong **)(param_1 + 0x148),param_3, + "Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_UnreliableRelay1",2); + local_1ae0 = &local_1a78; + FUN_140095270(&local_1a78); + puVar18 = auStack_1b18; + if (local_1a70 != 0) { + if (local_1a64 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_1a68 = 0; + puVar18 = auStack_1b18; + } + } + else { + iVar4 = (int)local_1a90; + piVar19 = (int *)(longlong)(int)local_1a90; + if ((int)local_1a90 < 1) { + local_1ae0 = &local_1a78; + FUN_140095270(&local_1a78); + puVar18 = auStack_1b18; + if (local_1a70 != 0) { + if (local_1a64 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_1a68 = 0; + puVar18 = auStack_1b18; + } + } + else { + uVar6 = ((longlong)piVar19 + 1) * 0x10; + local_1ae0 = (longlong *)piVar19; + if (uVar6 < 0x401) { + uVar8 = uVar6 + 0xf; + if (uVar8 <= uVar6) { + uVar8 = 0xffffffffffffff0; + } + lVar17 = -(uVar8 & 0xfffffffffffffff0); + puVar20 = auStack_1b18 + lVar17; + puVar9 = (undefined4 *)((longlong)&local_1af8 + lVar17); + pwVar22 = (wchar_t *)0x0; + if (puVar9 != (undefined4 *)0x0) { + *puVar9 = 0xcccc; + puVar20 = auStack_1b18 + lVar17; +LAB_1400888c2: + pwVar22 = (wchar_t *)(puVar9 + 4); + } + } + else { + puVar9 = malloc(uVar6); + pwVar22 = (wchar_t *)0x0; + if (puVar9 != (undefined4 *)0x0) { + *puVar9 = 0xdddd; + puVar20 = auStack_1b18; + goto LAB_1400888c2; + } + } + pwVar16 = (wchar_t *)**(longlong **)(param_1 + 0x148); + pcVar3 = *(code **)(pwVar16 + 0x2c); + *(undefined8 *)(puVar20 + -8) = 0x1400888d3; + piVar10 = (int *)(*pcVar3)(); + local_1a40 = piVar10; + *(undefined8 *)(puVar20 + -8) = 0x1400888e2; + FUN_14002e6e0(piVar10); + local_1a38 = 1; + if (DAT_14015bfcf != '\0') { + pplVar23 = (longlong **)**(ulonglong **)(param_1 + 0x148); + pwVar16 = L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_UnreliableRelay1"; + pcVar3 = (code *)pplVar23[0x19]; + *(undefined8 *)(puVar20 + -8) = 0x14008890a; + (*pcVar3)(); + } + pcVar3 = *(code **)(*(longlong *)param_3 + 0x10); + *(undefined8 *)(puVar20 + -8) = 0x140088914; + local_1af4 = (*pcVar3)(); + local_1af0 = (ulonglong)local_1af0._4_4_ << 0x20; + plVar14 = plVar25; + pwVar11 = pwVar22; + if (0 < iVar4) { + do { + local_1a50 = pwVar11; + if (((longlong)plVar25 < 0) || ((int)piVar19 <= (int)plVar14)) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar20 + -8) = &UNK_1400889b7; + FUN_14002f5c0(param_3,pwVar16,pplVar23,param_4); + } + uVar28 = *(uint *)((longlong)plVar27 + (longlong)plVar25 * 4); + pwVar16 = (wchar_t *)(ulonglong)uVar28; + param_3 = *(wchar_t **)(param_1 + 0x148); + *(undefined8 *)(puVar20 + -8) = 0x14008894d; + pwVar11 = (wchar_t *)FUN_140041ab0((longlong)param_3,uVar28); + local_1ac8 = CONCAT44(local_1ac8._4_4_,uVar28); + if (pwVar11 != (wchar_t *)0x0) { + *(undefined8 *)(puVar20 + -8) = 0x140088964; + FUN_14009c460((longlong)(pwVar11 + 0x60)); + plVar2 = *(longlong **)(local_1a58 + 0x148); + *(undefined8 *)(puVar20 + -8) = 0x14008897a; + pwVar16 = pwVar11; + FUN_140054c90(plVar2,(longlong *)pwVar11,pplVar23,param_4); + *(wchar_t **)local_1a50 = pwVar11; + *(undefined8 *)(local_1a50 + 4) = local_1ac8; + local_1af0 = CONCAT44(local_1af0._4_4_,(int)local_1af0 + 1); + param_3 = local_1a50 + 8; + local_1a50 = param_3; + } + plVar25 = (longlong *)((longlong)plVar25 + 1); + piVar19 = (int *)(local_1a90 & 0xffffffff); + param_1 = local_1a58; + plVar14 = (longlong *)(ulonglong)((int)plVar14 + 1); + pwVar11 = local_1a50; + } while ((longlong)plVar25 < (longlong)local_1ae0); + } + piVar19 = local_1a40; + *(undefined8 *)(puVar20 + -8) = 0x1400889c4; + FUN_14002e770((longlong)piVar19); + local_1a38 = 0; + *(undefined8 *)(puVar20 + -8) = 0x1400889d7; + FUN_1400806d0(local_1a18); + puVar24 = (undefined1 *)0x80; + puVar18 = local_19f0; + *(undefined8 *)(puVar20 + -8) = 0x1400889f1; + FUN_140080350((longlong)local_1a18,(longlong)puVar18,0x80,param_4); + *(undefined8 *)(puVar20 + -8) = 0x140088a00; + FUN_14001ba80((longlong)local_1a18,CONCAT71((int7)((ulonglong)puVar18 >> 8),0x18), + (SIZE_T)puVar24,param_4); + uVar6 = (ulonglong)local_1af4; + *(undefined8 *)(puVar20 + -8) = 0x140088a0f; + FUN_140021e80((longlong)local_1a18,uVar6,(SIZE_T)puVar24,param_4); + *(undefined8 *)(puVar20 + -8) = 0x140088a22; + FUN_140080120(local_1a28,(longlong)local_1a18); + lVar17 = (longlong)(int)(uint)local_1ae8; + *(undefined8 *)(puVar20 + -8) = 0x140088a33; + FUN_140081aa0((longlong)local_1a18,lVar17,(SIZE_T)puVar24,param_4); + local_cdc = 200; + local_ce0 = 0; + local_ce8 = local_1968; + *(undefined8 *)(puVar20 + -8) = 0x140088a64; + FUN_140041760((longlong)local_cd8,(longlong)local_1a18,puVar24); + puVar18 = local_cd8; + *(undefined8 *)(puVar20 + -8) = 0x140088a78; + FUN_140040a60((longlong)local_1968,(longlong)puVar18,puVar24,param_4); + *(undefined8 *)(puVar20 + -8) = 0x140088a85; + FUN_140040950((longlong)local_cd8,puVar18,puVar24,param_4); + *(undefined8 *)(puVar20 + -8) = 0x140088a95; + FUN_140041760((longlong)local_cd8,(longlong)local_1a80,puVar24); + puVar18 = local_cd8; + *(undefined8 *)(puVar20 + -8) = 0x140088aa9; + FUN_140040a60((longlong)local_1968,(longlong)puVar18,puVar24,param_4); + *(undefined8 *)(puVar20 + -8) = 0x140088ab6; + FUN_140040950((longlong)local_cd8,puVar18,puVar24,param_4); + local_1af8._1_1_ = DAT_14015dea0; + local_1af8._0_1_ = DAT_14015dec0; + local_1af4 = local_1ab0[0]; + lVar17 = (longlong)(int)local_1af0; + while ((0 < lVar17 && (lVar26 = 0, plVar27 = local_1a98, 0 < lVar17))) { + lVar21 = lVar17 * 0x10 + -0x10; + do { + lVar13 = *(longlong *)(pwVar22 + lVar26 * 8); + local_1af0 = lVar13; + local_1ae8 = *(ulonglong *)(pwVar22 + lVar26 * 8 + 4); + pcVar3 = *(code **)(*(longlong *)(lVar13 + 0x108) + 0x10); + *(undefined8 *)(puVar20 + -8) = 0x140088b24; + piVar19 = (int *)(*pcVar3)(); + local_1ad8 = false; + local_1ae0 = (longlong *)piVar19; + if (lVar26 == 0) { + local_1ad8 = true; + *(undefined8 *)(puVar20 + -8) = 0x140088bdb; + FUN_14002e6e0(piVar19); + local_1ad0[0] = local_1af4; + local_1ac8 = local_1a48; + local_1ac0 = local_1af8._1_1_; + local_1abc = 0xffffffff; + local_1ab8 = (undefined1)local_1af8; + local_1ab7 = 0; + param_4 = (uint **)local_1ad0; + puVar24 = local_1968; + uVar28 = (uint)local_1ae8; + puVar18 = (undefined1 *)(local_1ae8 & 0xffffffff); + *(undefined8 *)(puVar20 + -8) = 0x140088c1f; + FUN_14009dae0((char *)(lVar13 + 0x700),uVar28,(longlong)puVar24,(uint *)param_4); + *(undefined8 *)(puVar20 + -8) = 0x140088c27; + FUN_14002e770((longlong)piVar19); + local_1ad8 = false; + lVar13 = local_1af0 + 0xc0; + *(undefined8 *)(puVar20 + -8) = 0x140088c3c; + FUN_14009c470(lVar13); + pwVar22[0] = L'\0'; + pwVar22[1] = L'\0'; + pwVar22[2] = L'\0'; + pwVar22[3] = L'\0'; + *(undefined8 *)pwVar22 = *(undefined8 *)(lVar21 + (longlong)pwVar22); + *(undefined8 *)(pwVar22 + 4) = *(undefined8 *)(lVar21 + 8 + (longlong)pwVar22); +LAB_140088c53: + lVar17 = lVar17 + -1; + lVar21 = lVar21 + -0x10; + } + else { + *(undefined8 *)(puVar20 + -8) = 0x140088b40; + local_1ad8 = FUN_14002e730(piVar19); + if (local_1ad8) { + local_1ad0[0] = local_1af4; + local_1ac8 = local_1a48; + local_1ac0 = local_1af8._1_1_; + local_1abc = 0xffffffff; + local_1ab8 = (undefined1)local_1af8; + local_1ab7 = 0; + pcVar12 = (char *)(local_1af0 + 0x700); + param_4 = (uint **)local_1ad0; + puVar24 = local_1968; + uVar28 = (uint)local_1ae8; + puVar18 = (undefined1 *)(local_1ae8 & 0xffffffff); + *(undefined8 *)(puVar20 + -8) = 0x140088b96; + FUN_14009dae0(pcVar12,uVar28,(longlong)puVar24,(uint *)param_4); + *(undefined8 *)(puVar20 + -8) = 0x140088b9e; + FUN_14002e770((longlong)piVar19); + local_1ad8 = false; + lVar13 = local_1af0 + 0xc0; + *(undefined8 *)(puVar20 + -8) = 0x140088bb3; + FUN_14009c470(lVar13); + pwVar16 = pwVar22 + lVar26 * 8; + pwVar16[0] = L'\0'; + pwVar16[1] = L'\0'; + pwVar16[2] = L'\0'; + pwVar16[3] = L'\0'; + *(undefined8 *)(pwVar22 + lVar26 * 8) = + *(undefined8 *)(lVar21 + (longlong)pwVar22); + *(undefined8 *)(pwVar22 + lVar26 * 8 + 4) = + *(undefined8 *)(lVar21 + 8 + (longlong)pwVar22); + goto LAB_140088c53; + } + } + lVar26 = lVar26 + 1; + plVar27 = local_1a98; + } while (lVar26 < lVar17); + } + if ((pwVar22 != (wchar_t *)0x0) && (*(int *)(pwVar22 + -8) == 0xdddd)) { + *(undefined8 *)(puVar20 + -8) = 0x140088c9f; + free(pwVar22 + -8); + } + *(undefined8 *)(puVar20 + -8) = 0x140088cac; + FUN_140040950((longlong)local_1968,puVar18,puVar24,param_4); + *(undefined8 *)(puVar20 + -8) = 0x140088cb9; + FUN_140080140(local_1a28); + local_1ae0 = &local_1a10; + *(undefined8 *)(puVar20 + -8) = 0x140088cd1; + FUN_140095270(&local_1a10); + if (local_1a08 != 0) { + if (local_19fc < 0) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar20 + -8) = &UNK_140088cea; + FUN_14002f590(); + } + local_1a00 = 0; + } + local_1ae0 = &local_1a78; + *(undefined8 *)(puVar20 + -8) = 0x140088d08; + FUN_140095270(&local_1a78); + puVar18 = puVar20; + if (local_1a70 != 0) { + if (local_1a64 < 0) { + /* WARNING: Subroutine does not return */ + *(undefined **)(puVar20 + -8) = &UNK_140088d21; + FUN_14002f590(); + } + local_1a68 = 0; + } + } + } + } + } + if (plVar27 == (longlong *)0x0) goto LAB_140088d6f; + if (local_1aa0 == (longlong *)0x0) goto LAB_140088d67; + lVar17 = *local_1aa0; + plVar14 = local_1aa0; + } + pcVar3 = *(code **)(lVar17 + 0x18); + *(undefined8 *)(puVar18 + -8) = 0x140088d65; + (*pcVar3)(plVar14,plVar27); +LAB_140088d6f: + *(undefined8 *)(puVar18 + -8) = 0x140088d7e; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140088da0.c b/decomp/Agent_Release_x64/full/functions/0x140088da0.c new file mode 100644 index 00000000..7e81baca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140088da0.c @@ -0,0 +1,170 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140088da0 FUN_140088da0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140088da0(longlong param_1,uint *param_2,wchar_t *param_3,undefined8 param_4) + +{ + int iVar1; + uint uVar2; + undefined8 uVar3; + ulonglong uVar4; + int *piVar5; + longlong lVar6; + uint uVar7; + undefined1 *puVar8; + wchar_t *pwVar9; + undefined8 uVar10; + SIZE_T SVar11; + longlong **pplVar12; + undefined1 auStack_1aa8 [32]; + longlong *local_1a88; + undefined1 local_1a80; + uint local_1a78; + uint local_1a74; + int local_1a70 [2]; + longlong local_1a68; + longlong local_1a60; + int local_1a54; + int *local_1a48; + undefined1 local_1a40; + int *local_1a38; + undefined1 local_1a30; + longlong local_1a28 [2]; + undefined8 local_1a18; + undefined4 local_1a08 [2]; + longlong local_1a00; + longlong local_19f8; + undefined4 local_19f0; + int local_19ec; + undefined1 local_19e0 [136]; + undefined1 local_1958 [3200]; + undefined1 *local_cd8; + undefined4 local_cd0; + undefined4 local_ccc; + undefined1 local_cc8 [3216]; + ulonglong local_38; + undefined8 uStack_30; + + uStack_30 = 0x140088dba; + local_1a18 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_1aa8; + pwVar9 = param_3; + FUN_140093300(); + uVar3 = FUN_140081090(param_2,&local_1a78,pwVar9,param_4); + if ((char)uVar3 != '\0') { + uVar10 = 4; + uVar3 = FUN_140080600(param_2,(undefined8 *)&local_1a74,4); + if ((char)uVar3 != '\0') { + uVar4 = FUN_140080ca0(param_2,&local_1a88,uVar10,param_4); + if ((char)uVar4 != '\0') { + if (((int)(uint)local_1a88 < 0) || (DAT_140155140 <= (int)(uint)local_1a88)) { + FUN_14005ed30(*(longlong **)(param_1 + 0x148),param_3, + "Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_LingerDataFrame1",2); + } + else { + uVar2 = *param_2; + uVar7 = (int)uVar2 >> 0x1f & 7; + iVar1 = FUN_14003fcd0((longlong)param_2,(ulonglong)uVar7,uVar10,param_4); + if (((int)(uVar7 + uVar2) >> 3) + (uint)local_1a88 != iVar1) { + param_4 = 2; + FUN_14005ed30(*(longlong **)(param_1 + 0x148),param_3, + "msg.GetReadOffset() + frameLength == msg.GetLength()",2); + } + FUN_1400806d0(local_1a70); + uVar3 = FUN_140080930(param_2,local_1a70,(uint)local_1a88,param_4); + if ((char)uVar3 == '\0') { + FUN_14005ed30(*(longlong **)(param_1 + 0x148),param_3, + "Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_LingerDataFrame1",2) + ; + local_1a88 = &local_1a68; + FUN_140095270(&local_1a68); + if ((local_1a60 != 0) && (local_1a54 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + else { + piVar5 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + local_1a48 = piVar5; + FUN_14002e6e0(piVar5); + local_1a40 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x148) + 200)) + (*(longlong **)(param_1 + 0x148), + L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_LingerDataFrame1"); + } + uVar2 = (**(code **)(*(longlong *)param_3 + 0x10))(param_3); + lVar6 = FUN_140041ab0(*(longlong *)(param_1 + 0x148),local_1a78); + if (lVar6 == 0) { + FUN_14002e770((longlong)piVar5); + local_1a88 = &local_1a68; + FUN_140095270(&local_1a68); + if ((local_1a60 != 0) && (local_1a54 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + else { + FUN_14002e770((longlong)piVar5); + local_1a40 = 0; + FUN_1400806d0(local_1a08); + SVar11 = 0x80; + puVar8 = local_19e0; + FUN_140080350((longlong)local_1a08,(longlong)puVar8,0x80,param_4); + FUN_14001ba80((longlong)local_1a08,CONCAT71((int7)((ulonglong)puVar8 >> 8),0x19), + SVar11,param_4); + FUN_140021e80((longlong)local_1a08,(ulonglong)uVar2,SVar11,param_4); + FUN_140021e80((longlong)local_1a08,(ulonglong)local_1a74,SVar11,param_4); + FUN_140080120(local_1a28,(longlong)local_1a08); + FUN_140081aa0((longlong)local_1a08,(longlong)(int)(uint)local_1a88,SVar11,param_4); + local_ccc = 200; + local_cd0 = 0; + local_cd8 = local_1958; + FUN_140041760((longlong)local_cc8,(longlong)local_1a08,SVar11); + puVar8 = local_cc8; + FUN_140040a60((longlong)local_1958,(longlong)puVar8,SVar11,param_4); + FUN_140040950((longlong)local_cc8,puVar8,SVar11,param_4); + FUN_140041760((longlong)local_cc8,(longlong)local_1a70,SVar11); + puVar8 = local_cc8; + FUN_140040a60((longlong)local_1958,(longlong)puVar8,SVar11,param_4); + FUN_140040950((longlong)local_cc8,puVar8,SVar11,param_4); + piVar5 = (int *)(**(code **)(*(longlong *)(lVar6 + 0x108) + 0x10))(); + local_1a38 = piVar5; + FUN_14002e6e0(piVar5); + local_1a30 = 1; + local_1a88 = (longlong *)0x0; + local_1a80 = 1; + pplVar12 = &local_1a88; + puVar8 = local_1958; + FUN_14009c2b0(*(char **)(lVar6 + 0x748),(longlong)puVar8,(SIZE_T *)pplVar12,param_4); + FUN_14002e770((longlong)piVar5); + FUN_140040950((longlong)local_1958,puVar8,pplVar12,param_4); + FUN_140080140(local_1a28); + local_1a88 = &local_1a00; + FUN_140095270(&local_1a00); + if (local_19f8 != 0) { + if (local_19ec < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_19f0 = 0; + } + local_1a88 = &local_1a68; + FUN_140095270(&local_1a68); + if ((local_1a60 != 0) && (local_1a54 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + } + } + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140089170.c b/decomp/Agent_Release_x64/full/functions/0x140089170.c new file mode 100644 index 00000000..a304bd55 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140089170.c @@ -0,0 +1,149 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140089170 FUN_140089170 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140089170(longlong param_1,uint *param_2,longlong *param_3,undefined8 param_4) + +{ + uint uVar1; + undefined8 uVar2; + int *piVar3; + int *piVar4; + longlong lVar5; + wchar_t *pwVar6; + undefined8 uVar7; + SIZE_T SVar8; + uint *puVar9; + uint *puVar10; + undefined1 auStack_da8 [32]; + undefined8 local_d88; + undefined8 uStack_d80; + undefined1 local_d78; + undefined4 local_d74; + undefined1 local_d70; + undefined1 local_d6f; + undefined4 local_d68 [2]; + longlong local_d60; + longlong local_d58; + uint local_d50; + int local_d4c; + int *local_d40; + undefined1 local_d38; + int *local_d30; + undefined1 local_d28; + undefined8 local_d20; + exception local_d18 [80]; + uint local_cc8; + uint uStack_cc4; + uint uStack_cc0; + undefined4 uStack_cbc; + uint *local_48; + undefined4 local_40; + int local_3c; + ulonglong local_38; + + local_d20 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_da8; + FUN_140093300(); + uVar2 = FUN_140080600(param_2,&local_d88,8); + if ((char)uVar2 != '\0') { + SVar8 = 8; + pwVar6 = (wchar_t *)&local_d40; + uVar2 = FUN_140080600(param_2,(undefined8 *)pwVar6,8); + if ((char)uVar2 != '\0') { + piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + local_d30 = piVar3; + FUN_14002e6e0(piVar3); + local_d28 = 1; + if (DAT_14015bfcf != '\0') { + SVar8 = **(SIZE_T **)(param_1 + 0x148); + pwVar6 = + L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_RequestServerTimeAndKeepAlive"; + (**(code **)(SVar8 + 200))(); + } + lVar5 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x118) + 8))(); + param_3[0x33] = lVar5; + lVar5 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x118) + 8))(); + param_3[0x37] = lVar5; + param_3[0x38] = (longlong)local_d40; + param_3[0x39] = + (longlong)(((double)local_d40 - (double)param_3[0x39]) * 0.5 + (double)param_3[0x39]); + FUN_1400806d0(local_d68); + FUN_1400801a0((longlong)local_d68,pwVar6,SVar8,param_4); + uVar7 = CONCAT71((int7)((ulonglong)pwVar6 >> 8),0x1c); + FUN_14001ba80((longlong)local_d68,uVar7,SVar8,param_4); + FUN_1400220c0((longlong)local_d68,local_d88,SVar8,param_4); + uVar2 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x118) + 8))(); + FUN_1400220c0((longlong)local_d68,uVar2,SVar8,param_4); + piVar4 = (int *)(**(code **)(param_3[0x21] + 0x10))(); + local_d40 = piVar4; + FUN_14002e6e0(piVar4); + local_d38 = 1; + local_3c = 200; + local_40 = 0; + local_48 = &local_cc8; + if (local_d60 == 0) { + uStack_cc0 = local_d50; + if (local_d58 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,uVar7,SVar8,param_4); + } + } + else { + uStack_cc0 = *(uint *)(local_d60 + 0x18); + } + lVar5 = local_d58; + if (local_d58 == 0) { + if (local_d60 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)uStack_cc0,SVar8,param_4); + } + lVar5 = 0; + if (*(int *)(local_d60 + 0x18) != 0) { + lVar5 = *(longlong *)(local_d60 + 0x10); + } + } + local_40 = 1; + local_d88._0_4_ = (uint)lVar5; + local_d88._4_4_ = (uint)((ulonglong)lVar5 >> 0x20); + local_cc8 = (uint)local_d88; + uStack_cc4 = local_d88._4_4_; + uStack_cbc = uStack_d80._4_4_; + local_d88 = (longlong *)((ulonglong)local_d88._4_4_ << 0x20); + uStack_d80 = 0; + local_d78 = 1; + local_d74 = 0xffffffff; + local_d70 = 1; + local_d6f = DAT_1401551cc; + uVar1 = (**(code **)(*param_3 + 0x10))(param_3); + puVar10 = (uint *)&local_d88; + puVar9 = &local_cc8; + FUN_14009dae0((char *)(param_3 + 0xe0),uVar1,(longlong)puVar9,puVar10); + if (local_48 == (uint *)0x0) { + FUN_14002f1e0(local_d18,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,puVar9, + puVar10); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d18,(ThrowInfo *)&DAT_140151b88); + } + if (local_3c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14002e770((longlong)piVar4); + local_d88 = &local_d60; + FUN_140095270(&local_d60); + if (local_d58 != 0) { + if (local_d4c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d50 = 0; + } + FUN_14002e770((longlong)piVar3); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140089470.c b/decomp/Agent_Release_x64/full/functions/0x140089470.c new file mode 100644 index 00000000..f2fe2b40 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140089470.c @@ -0,0 +1,97 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140089470 FUN_140089470 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140089470(undefined8 param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + int *piVar1; + longlong lVar2; + undefined8 uVar3; + longlong **pplVar4; + undefined1 auStack_d68 [32]; + longlong *local_d48; + undefined1 uStack_d40; + undefined3 uStack_d3f; + undefined4 uStack_d3c; + int local_d38 [2]; + longlong local_d30; + longlong local_d28; + uint local_d20; + int local_d1c; + int *local_d10; + undefined1 local_d08; + undefined8 local_d00; + exception local_cf8 [80]; + longlong local_ca8; + undefined8 uStack_ca0; + longlong *local_28; + undefined4 local_20; + int local_1c; + ulonglong local_18; + + local_d00 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_d68; + lVar2 = param_2; + FUN_1400806d0(local_d38); + FUN_1400801a0((longlong)local_d38,lVar2,param_3,param_4); + FUN_140080830(local_d38,0x800,param_3,param_4); + uVar3 = 0; + FUN_140080830(local_d38,0,param_3,param_4); + uVar3 = CONCAT71((int7)((ulonglong)uVar3 >> 8),8); + FUN_14001ba80((longlong)local_d38,uVar3,param_3,param_4); + piVar1 = (int *)(**(code **)(*(longlong *)(param_2 + 0x108) + 0x10))(); + local_d10 = piVar1; + FUN_14002e6e0(piVar1); + local_d08 = 1; + local_1c = 200; + local_20 = 0; + local_28 = &local_ca8; + if (local_d30 == 0) { + if (local_d28 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,uVar3,0,param_4); + } + } + else { + local_d20 = *(uint *)(local_d30 + 0x18); + } + local_ca8 = local_d28; + if (local_d28 == 0) { + if (local_d30 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)local_d20,0,param_4); + } + local_ca8 = 0; + if (*(int *)(local_d30 + 0x18) != 0) { + local_ca8 = *(longlong *)(local_d30 + 0x10); + } + } + local_20 = 1; + uStack_ca0 = CONCAT44(uStack_d3c,local_d20); + local_d48 = (longlong *)0x0; + _uStack_d40 = CONCAT31((int3)(local_d20 >> 8),1); + pplVar4 = &local_d48; + FUN_14009c2b0(*(char **)(param_2 + 0x748),(longlong)&local_ca8,(SIZE_T *)pplVar4,param_4); + if (local_28 == (longlong *)0x0) { + FUN_14002f1e0(local_cf8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,pplVar4, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_cf8,(ThrowInfo *)&DAT_140151b88); + } + if (local_1c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14002e770((longlong)piVar1); + local_d48 = &local_d30; + FUN_140095270(&local_d30); + if ((local_d28 != 0) && (local_d1c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140089640.c b/decomp/Agent_Release_x64/full/functions/0x140089640.c new file mode 100644 index 00000000..55910d2a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140089640.c @@ -0,0 +1,147 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140089640 FUN_140089640 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140089640(longlong param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + longlong *plVar1; + uint uVar2; + int *piVar3; + int *piVar4; + longlong lVar5; + undefined8 *puVar6; + undefined8 uVar7; + longlong *plVar8; + uint *puVar9; + uint *puVar10; + undefined4 extraout_XMM0_Da; + undefined4 extraout_XMM0_Db; + undefined1 auStack_da8 [32]; + undefined8 local_d88; + undefined8 uStack_d80; + undefined1 local_d78; + undefined4 local_d74; + undefined1 local_d70; + undefined1 local_d6f; + int local_d68 [2]; + undefined *local_d60; + longlong local_d58; + uint local_d50; + int local_d4c; + int *local_d40; + undefined1 local_d38; + int *local_d30; + undefined1 local_d28; + undefined8 local_d20; + exception local_d18 [80]; + uint local_cc8; + undefined4 uStack_cc4; + uint uStack_cc0; + undefined4 uStack_cbc; + uint *local_48; + undefined4 local_40; + int local_3c; + ulonglong local_38; + + local_d20 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_da8; + plVar8 = param_3; + FUN_140093300(); + piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + local_d30 = piVar3; + FUN_14002e6e0(piVar3); + local_d28 = 1; + if (DAT_14015bfcf != '\0') { + plVar8 = (longlong *)**(longlong **)(param_1 + 0x148); + (*(code *)plVar8[0x19]) + (*(longlong **)(param_1 + 0x148), + L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_RequestReceiveSpeedAtReceiverSide_NoBypass" + ); + } + if (((param_3 != (longlong *)0x0) && + (plVar1 = (longlong *)param_3[0xe8], plVar1 != (longlong *)0x0)) && (*plVar1 != 0)) { + local_d88 = Proud::AddrPort::vftable; + uStack_d80 = CONCAT26(uStack_d80._6_2_,(int6)param_3[0xe2]); + puVar6 = &local_d88; + FUN_1400979a0(*(longlong *)(*plVar1 + 0x178),(longlong)puVar6); + if (0.0 <= (double)CONCAT44(extraout_XMM0_Db,extraout_XMM0_Da) && + (double)CONCAT44(extraout_XMM0_Db,extraout_XMM0_Da) != 0.0) { + FUN_1400806d0(local_d68); + FUN_1400801a0((longlong)local_d68,puVar6,(SIZE_T)plVar8,param_4); + FUN_140080830(local_d68,0x800,(SIZE_T)plVar8,param_4); + uVar7 = 0; + FUN_140080830(local_d68,0,(SIZE_T)plVar8,param_4); + uVar7 = CONCAT71((int7)((ulonglong)uVar7 >> 8),0x28); + FUN_14001ba80((longlong)local_d68,uVar7,(SIZE_T)plVar8,param_4); + FUN_1400220c0((longlong)local_d68,CONCAT44(extraout_XMM0_Db,extraout_XMM0_Da),(SIZE_T)plVar8, + param_4); + piVar4 = (int *)(**(code **)(param_3[0x21] + 0x10))(); + local_d40 = piVar4; + FUN_14002e6e0(piVar4); + local_d38 = 1; + local_3c = 200; + local_40 = 0; + local_48 = &local_cc8; + if (local_d60 == (undefined *)0x0) { + if (local_d58 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,uVar7,0,param_4); + } + } + else { + local_d50 = *(uint *)(local_d60 + 0x18); + } + lVar5 = local_d58; + if (local_d58 == 0) { + if (local_d60 == (undefined *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)local_d50,0,param_4); + } + lVar5 = 0; + if (*(int *)(local_d60 + 0x18) != 0) { + lVar5 = *(longlong *)(local_d60 + 0x10); + } + } + local_40 = 1; + local_d88._0_4_ = (uint)lVar5; + local_d88._4_4_ = (undefined4)((ulonglong)lVar5 >> 0x20); + local_cc8 = (uint)local_d88; + uStack_cc4 = local_d88._4_4_; + uStack_cbc = uStack_d80._4_4_; + local_d88 = (undefined **)CONCAT44(local_d88._4_4_,1); + uStack_d80 = 0; + local_d78 = 1; + local_d74 = 0xffffffff; + local_d70 = 1; + local_d6f = DAT_1401551cc; + uStack_cc0 = local_d50; + uVar2 = (**(code **)(*param_3 + 0x10))(param_3); + puVar10 = (uint *)&local_d88; + puVar9 = &local_cc8; + FUN_14009dae0((char *)(param_3 + 0xe0),uVar2,(longlong)puVar9,puVar10); + if (local_48 == (uint *)0x0) { + FUN_14002f1e0(local_d18,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,puVar9, + puVar10); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d18,(ThrowInfo *)&DAT_140151b88); + } + if (local_3c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14002e770((longlong)piVar4); + local_d88 = &local_d60; + FUN_140095270((longlong *)&local_d60); + if ((local_d58 != 0) && (local_d4c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + } + FUN_14002e770((longlong)piVar3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140089910.c b/decomp/Agent_Release_x64/full/functions/0x140089910.c new file mode 100644 index 00000000..b911d533 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140089910.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140089910 FUN_140089910 + * Pseudocode, not original source. */ + +undefined8 * FUN_140089910(undefined8 *param_1,uint param_2) + +{ + LPVOID pvVar1; + longlong *plVar2; + + *param_1 = Proud::CFastArray::vftable; + if (0 < *(int *)(param_1 + 3)) { + FUN_1400867c0(param_1[2],(longlong)*(int *)(param_1 + 3)); + } + pvVar1 = (LPVOID)param_1[2]; + if (pvVar1 != (LPVOID)0x0) { + plVar2 = (longlong *)param_1[1]; + if (plVar2 == (longlong *)0x0) { + FUN_1400302f0(pvVar1); + } + else { + (**(code **)(*plVar2 + 0x18))(plVar2,pvVar1); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140089980.c b/decomp/Agent_Release_x64/full/functions/0x140089980.c new file mode 100644 index 00000000..c0bf03b4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140089980.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140089980 FUN_140089980 + * Pseudocode, not original source. */ + +void FUN_140089980(undefined8 *param_1) + +{ + LPVOID pvVar1; + longlong *plVar2; + + *param_1 = Proud::CFastArray::vftable; + if (0 < *(int *)(param_1 + 3)) { + FUN_1400867c0(param_1[2],(longlong)*(int *)(param_1 + 3)); + } + pvVar1 = (LPVOID)param_1[2]; + if (pvVar1 != (LPVOID)0x0) { + plVar2 = (longlong *)param_1[1]; + if (plVar2 != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x0001400899c7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*plVar2 + 0x18))(plVar2,pvVar1); + return; + } + FUN_1400302f0(pvVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400899e0.c b/decomp/Agent_Release_x64/full/functions/0x1400899e0.c new file mode 100644 index 00000000..7a996fa0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400899e0.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400899e0 FUN_1400899e0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400899e0(longlong param_1,longlong param_2,uint *param_3,longlong param_4) + +{ + uint uVar1; + undefined8 uVar2; + ulonglong uVar3; + uint *puVar4; + longlong lVar5; + uint local_res18 [4]; + undefined **local_38; + undefined4 local_30; + undefined2 local_2c; + undefined **local_28; + undefined4 local_20; + undefined2 local_1c; + + uVar1 = *param_3; + puVar4 = param_3; + lVar5 = param_4; + uVar2 = FUN_140080f30(param_3,local_res18,param_3,param_4); + if ((char)uVar2 == '\0') { +LAB_140089a1c: + uVar3 = FUN_1400802d0((int *)param_3, + (ulonglong)(uint)((int)(((int)uVar1 >> 0x1f & 7U) + uVar1) >> 3),puVar4, + lVar5); + uVar3 = uVar3 & 0xffffffffffffff00; + } + else { + if (local_res18[0] == 0xc) { + local_28 = Proud::AddrPort::vftable; + local_20 = *(undefined4 *)(param_2 + 8); + local_1c = *(undefined2 *)(param_2 + 0xc); + uVar2 = FUN_140087640(param_1,param_3,(longlong)&local_28,param_4); + } + else { + if (local_res18[0] != 0x10) goto LAB_140089a1c; + local_38 = Proud::AddrPort::vftable; + local_30 = *(undefined4 *)(param_2 + 8); + local_2c = *(undefined2 *)(param_2 + 0xc); + uVar2 = FUN_1400879e0(param_1,param_3,(longlong)&local_38,param_4); + } + uVar3 = CONCAT71((int7)((ulonglong)uVar2 >> 8),1); + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140089ab0.c b/decomp/Agent_Release_x64/full/functions/0x140089ab0.c new file mode 100644 index 00000000..3f47db7d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140089ab0.c @@ -0,0 +1,197 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140089ab0 FUN_140089ab0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140089ab0(longlong param_1,uint *param_2,uint *param_3,undefined8 param_4) + +{ + char cVar1; + int iVar2; + int *piVar3; + undefined8 *puVar4; + ulonglong uVar5; + undefined8 uVar6; + undefined **ppuVar7; + longlong lVar8; + uint *puVar9; + SIZE_T SVar10; + undefined ***pppuVar11; + int iVar12; + bool bVar13; + undefined1 auStack_da8 [32]; + undefined **local_d88; + undefined *local_d80; + longlong local_d78; + ulonglong local_d70; + undefined8 local_d68; + undefined **local_d60; + undefined8 local_d58; + undefined8 *local_d50; + undefined8 local_d48; + undefined8 local_d40; + undefined **local_d38; + undefined8 local_d30; + undefined8 local_d28; + undefined8 local_d20; + undefined8 local_d18; + int *local_d10; + undefined1 local_d08; + undefined8 local_d00; + undefined **local_cf8; + undefined **ppuStack_cf0; + undefined **local_ce8; + undefined **ppuStack_ce0; + undefined1 local_cd8 [3216]; + ulonglong local_48; + + local_d00 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_da8; + puVar9 = param_3; + FUN_140093300(); + piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + local_d10 = piVar3; + FUN_14002e6e0(piVar3); + local_d08 = 1; + if (DAT_14015bfcf != '\0') { + puVar9 = (uint *)**(longlong **)(param_1 + 0x148); + (**(code **)(puVar9 + 0x32)) + (*(longlong **)(param_1 + 0x148), + L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_NotifyServerConnectionRequestData" + ); + } + iVar2 = 0; + puVar4 = (undefined8 *)0x0; + if (*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x1708) != 0) { + puVar4 = *(undefined8 **)(*(longlong *)(param_1 + 0x148) + 0x16f8); + } + do { + if (puVar4 == (undefined8 *)0x0) { + FUN_140089470(param_1,(longlong)param_3,(SIZE_T)puVar9,param_4); +LAB_140089e8f: + FUN_14002e770((longlong)piVar3); + return; + } + if (param_3 == (uint *)puVar4[2]) { + local_d58 = 0; + local_d50 = (undefined8 *)0x0; + local_d48 = 0; + local_d40 = 0; + local_d60 = Proud::ByteArray::vftable; + uVar5 = FUN_140080ca0(param_2,&local_cf8,puVar9,param_4); + ppuVar7 = local_cf8; + if ((((char)uVar5 != '\0') && (iVar12 = (int)local_cf8, -1 < iVar12)) && + (iVar12 <= DAT_140155140)) { + FUN_14001bc70((longlong)&local_d60,iVar12,(SIZE_T)puVar9); + puVar4 = local_d50; + if ((int)local_d48 == 0) { + puVar4 = (undefined8 *)0x0; + } + puVar9 = (uint *)((ulonglong)ppuVar7 & 0xffffffff); + uVar6 = FUN_140080600(param_2,puVar4,puVar9); + if ((char)uVar6 != '\0') { + local_cf8 = (undefined **)0x0; + ppuStack_cf0 = (undefined **)0x0; + SVar10 = 0x10; + uVar6 = FUN_140080600(param_2,&local_cf8,0x10); + if ((char)uVar6 == '\0') { + FUN_140089470(param_1,(longlong)param_3,SVar10,param_4); + FUN_14003b870(&local_d60); + } + else { + local_ce8 = local_cf8; + ppuStack_ce0 = ppuStack_cf0; + SVar10 = 4; + uVar6 = FUN_140080600(param_2,&local_cf8,4); + if ((char)uVar6 == '\0') { + FUN_140089470(param_1,(longlong)param_3,SVar10,param_4); + FUN_14003b870(&local_d60); + } + else { + SVar10 = *(SIZE_T *)(param_1 + 0x148); + bVar13 = local_ce8 < *(undefined ***)(SVar10 + 1000); + ppuVar7 = local_ce8; + if ((local_ce8 != *(undefined ***)(SVar10 + 1000)) || + (bVar13 = ppuStack_ce0 < *(undefined ***)(SVar10 + 0x3f0), ppuVar7 = ppuStack_ce0, + ppuStack_ce0 != *(undefined ***)(SVar10 + 0x3f0))) { + iVar2 = (1 - (uint)bVar13) - (uint)(bVar13 != 0); + } + if ((iVar2 == 0) && ((int)local_cf8 == *(int *)(SVar10 + 0x220))) { + cVar1 = FUN_14003d7e0((longlong)(param_3 + 0xa2)); + if (cVar1 == '\x01') { + lVar8 = *(longlong *)(param_1 + 0x148); + if (*(longlong *)(lVar8 + 0x758) == 0) { + local_d80 = (undefined *)0x0; + local_d78 = 0; + local_d70 = 0; + local_d68 = 0; + local_d88 = Proud::ByteArray::vftable; + FUN_140058e30(lVar8,param_3,(longlong)&local_d88,param_4); + FUN_14003b870(&local_d88); + } + else { + local_cf8 = Proud::AddrPort::vftable; + ppuStack_cf0 = (undefined **) + CONCAT26(ppuStack_cf0._6_2_, + *(undefined6 *)(*(longlong *)(param_3 + 0x1d2) + 0x130)) + ; + FUN_1400607e0(lVar8,(longlong)&local_cf8,(SIZE_T)&local_d60,param_4); + } + FUN_14003b870(&local_d60); + } + else { + FUN_1400806d0((undefined4 *)&local_d88); + FUN_1400801a0((longlong)&local_d88,ppuVar7,SVar10,param_4); + FUN_140080830((int *)&local_d88,0x800,SVar10,param_4); + uVar6 = 0; + FUN_140080830((int *)&local_d88,0,SVar10,param_4); + FUN_14001ba80((longlong)&local_d88,CONCAT71((int7)((ulonglong)uVar6 >> 8),9), + SVar10,param_4); + local_d30 = 0; + local_d28 = 0; + local_d20 = 0; + local_d18 = 0; + local_d38 = Proud::ByteArray::vftable; + FUN_140081aa0((longlong)&local_d88,0,SVar10,param_4); + FUN_14003b870(&local_d38); + ppuVar7 = (undefined **)(**(code **)(*(longlong *)(param_3 + 0x42) + 0x10))(); + local_ce8 = ppuVar7; + FUN_14002e6e0((int *)ppuVar7); + ppuStack_ce0 = (undefined **)CONCAT71(ppuStack_ce0._1_7_,1); + lVar8 = FUN_140041760((longlong)local_cd8,(longlong)&local_d88,SVar10); + local_cf8 = (undefined **)0x0; + ppuStack_cf0 = (undefined **)CONCAT71(ppuStack_cf0._1_7_,1); + pppuVar11 = &local_cf8; + FUN_14009c2b0(*(char **)(param_3 + 0x1d2),lVar8,(SIZE_T *)pppuVar11,param_4); + FUN_140040950((longlong)local_cd8,lVar8,pppuVar11,param_4); + FUN_14002e770((longlong)ppuVar7); + local_cf8 = &local_d80; + FUN_140095270((longlong *)&local_d80); + if (local_d78 != 0) { + if ((longlong)local_d70 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d70 = local_d70 & 0xffffffff00000000; + } + FUN_14003b870(&local_d60); + } + } + else { + FUN_140089470(param_1,(longlong)param_3,SVar10,param_4); + FUN_14003b870(&local_d60); + } + } + } + goto LAB_140089e8f; + } + } + FUN_140089470(param_1,(longlong)param_3,(SIZE_T)puVar9,param_4); + FUN_14003b870(&local_d60); + goto LAB_140089e8f; + } + puVar4 = (undefined8 *)puVar4[3]; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140089ed0.c b/decomp/Agent_Release_x64/full/functions/0x140089ed0.c new file mode 100644 index 00000000..b403d516 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140089ed0.c @@ -0,0 +1,190 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140089ed0 FUN_140089ed0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140089ed0(longlong param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + longlong lVar1; + undefined4 uVar2; + uint uVar3; + int *piVar4; + int *piVar5; + longlong *plVar6; + undefined8 uVar7; + undefined8 *puVar8; + undefined8 **ppuVar9; + undefined **ppuVar10; + undefined1 auStack_db8 [32]; + wchar_t *local_d98; + uint local_d90; + int local_d88 [2]; + longlong local_d80; + undefined8 *local_d78; + undefined4 local_d70; + int local_d6c; + undefined *local_d60; + undefined1 uStack_d58; + undefined3 uStack_d57; + undefined4 uStack_d54; + longlong *local_d50; + undefined1 local_d48; + int *local_d40; + undefined1 local_d38; + undefined **local_d30; + undefined8 local_d28; + undefined8 local_d20; + undefined8 local_d18; + undefined8 local_d10; + undefined8 local_ce8; + undefined8 *local_cd8; + undefined8 uStack_cd0; + undefined8 **local_58; + undefined4 local_50; + int local_4c; + ulonglong local_48; + + local_ce8 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_db8; + FUN_140093300(); + piVar4 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + local_d40 = piVar4; + FUN_14002e6e0(piVar4); + local_d38 = 1; + if (DAT_14015bfcf != '\0') { + param_3 = (longlong *)**(longlong **)(param_1 + 0x148); + (*(code *)param_3[0x19]) + (*(longlong **)(param_1 + 0x148), + L"Proud::CNetThreads_S::NetWorkerThread_NewClientCase"); + } + plVar6 = *(longlong **)(*(longlong *)(param_2 + 0x748) + 0x110); + FUN_140039a80(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x788),plVar6,param_3,param_4); + FUN_1400806d0(local_d88); + FUN_1400801a0((longlong)local_d88,plVar6,(SIZE_T)param_3,param_4); + FUN_140080830(local_d88,0x800,(SIZE_T)param_3,param_4); + uVar7 = 0; + FUN_140080830(local_d88,0,(SIZE_T)param_3,param_4); + uVar7 = CONCAT71((int7)((ulonglong)uVar7 >> 8),4); + FUN_14001ba80((longlong)local_d88,uVar7,(SIZE_T)param_3,param_4); + FUN_14001ba80((longlong)local_d88, + CONCAT71((int7)((ulonglong)uVar7 >> 8), + *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x17f0) != 0), + (SIZE_T)param_3,param_4); + FUN_140081310((longlong)local_d88,(byte *)(*(longlong *)(param_1 + 0x148) + 0x228),(SIZE_T)param_3 + ,param_4); + lVar1 = *(longlong *)(param_1 + 0x148); + uVar3 = *(uint *)(lVar1 + 0xc68); + FUN_140081aa0((longlong)local_d88,(longlong)(int)uVar3,(SIZE_T)param_3,param_4); + puVar8 = (undefined8 *)0x0; + if (*(int *)(lVar1 + 0xc68) != 0) { + puVar8 = *(undefined8 **)(lVar1 + 0xc60); + } + if (uVar3 == 0) goto LAB_14008a07c; + local_d88[1] = 0; + if (local_d80 == 0) { + if (local_d78 == (undefined8 *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar8,param_3,param_4); + } +LAB_14008a04e: + param_3 = (longlong *)(ulonglong)uVar3; + FUN_14001bb60((longlong *)&local_d78,puVar8,param_3,param_4); + } + else { + if (local_d78 != (undefined8 *)0x0) goto LAB_14008a04e; + if (local_d80 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar8,param_3,param_4); + } + param_3 = (longlong *)(ulonglong)uVar3; + FUN_14001bd90(local_d80,puVar8,(SIZE_T)param_3); + } + FUN_14001be00((longlong)local_d88,puVar8,(SIZE_T)param_3,param_4); +LAB_14008a07c: + FUN_14002e770((longlong)piVar4); + local_d38 = 0; + piVar5 = (int *)(**(code **)(*(longlong *)(param_2 + 0x108) + 0x10))(); + local_d50 = (longlong *)piVar5; + FUN_14002e6e0(piVar5); + local_d48 = 1; + local_4c = 200; + local_50 = 0; + local_58 = &local_cd8; + if (local_d80 == 0) { + uVar2 = local_d70; + if (local_d78 == (undefined8 *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,0,param_3,param_4); + } + } + else { + uVar2 = *(undefined4 *)(local_d80 + 0x18); + } + local_cd8 = local_d78; + if (local_d78 == (undefined8 *)0x0) { + if (local_d80 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,0,param_3,param_4); + } + local_cd8 = (undefined8 *)0x0; + if (*(int *)(local_d80 + 0x18) != 0) { + local_cd8 = *(undefined8 **)(local_d80 + 0x10); + } + } + local_50 = 1; + uStack_cd0 = CONCAT44(uStack_d54,uVar2); + local_d60 = (undefined *)0x0; + _uStack_d58 = CONCAT31((int3)((uint)uVar2 >> 8),1); + ppuVar10 = &local_d60; + ppuVar9 = &local_cd8; + FUN_14009c2b0(*(char **)(param_2 + 0x748),(longlong)ppuVar9,(SIZE_T *)ppuVar10,param_4); + if (local_58 != (undefined8 **)0x0) { + if (local_4c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar3 = FUN_14009bf20(*(longlong *)(param_2 + 0x748),ppuVar9,ppuVar10,param_4); + if (uVar3 == 0) { + FUN_14002e770((longlong)piVar5); + local_d48 = 0; + } + else { + FUN_14002e770((longlong)piVar5); + local_d48 = 0; + local_d38 = 1; + FUN_14002e6e0(piVar4); + local_d28 = 0; + local_d20 = 0; + local_d18 = 0; + local_d10 = 0; + local_d30 = Proud::ByteArray::vftable; + local_d98 = L"Proud::CNetThreads_S::NetWorkerThread_NewClientCase"; + local_d90 = uVar3; + (**(code **)(*(longlong *)(param_2 + 0xa0) + 0x38))(param_2 + 0xa0,0xb,3,&local_d30); + FUN_14003b870(&local_d30); + (**(code **)(*(longlong *)(param_2 + 0xa0) + 0x40)) + (param_2 + 0xa0,L"Proud::CNetThreads_S::NetWorkerThread_NewClientCase"); + } + FUN_14009c470(param_2 + 0xc0); + local_d50 = &local_d80; + FUN_140095270(&local_d80); + if (local_d78 != (undefined8 *)0x0) { + if (local_d6c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d70 = 0; + } + if (uVar3 != 0) { + FUN_14002e770((longlong)piVar4); + } + return; + } + FUN_14002f1e0((exception *)&local_d30,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0, + ppuVar10,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(&local_d30,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008a2b0.c b/decomp/Agent_Release_x64/full/functions/0x14008a2b0.c new file mode 100644 index 00000000..f7b4ee56 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008a2b0.c @@ -0,0 +1,129 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008a2b0 FUN_14008a2b0 + * Pseudocode, not original source. */ + +void FUN_14008a2b0(longlong param_1,int param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + undefined8 *puVar2; + longlong *plVar3; + ulonglong uVar4; + int iVar5; + int iVar6; + longlong *plVar7; + ulonglong uVar8; + uint uVar9; + ulonglong uVar10; + longlong lVar11; + longlong lVar12; + exception local_c8 [144]; + + lVar12 = (longlong)param_2; + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar6 = *(int *)(param_1 + 0x18); + if (param_2 != iVar6) { + if (*(int *)(param_1 + 0x1c) < param_2) { + iVar6 = FUN_1400854f0(param_1,param_2); + lVar11 = (longlong)iVar6; + plVar3 = *(longlong **)(param_1 + 8); + if (*(int *)(param_1 + 0x1c) == 0) { + if (plVar3 == (longlong *)0x0) { + puVar2 = (undefined8 *)FUN_140030280(lVar11 << 3); + } + else { + puVar2 = (undefined8 *)(**(code **)(*plVar3 + 8))(plVar3,lVar11 << 3); + } + *(undefined8 **)(param_1 + 0x10) = puVar2; + if (0 < param_2) { + do { + if (puVar2 != (undefined8 *)0x0) { + *puVar2 = 0; + } + puVar2 = puVar2 + 1; + lVar12 = lVar12 + -1; + } while (lVar12 != 0); + } + } + else { + plVar1 = *(longlong **)(param_1 + 0x10); + if (plVar3 == (longlong *)0x0) { + plVar3 = (longlong *)FUN_140030280(lVar11 << 3); + } + else { + plVar3 = (longlong *)(**(code **)(*plVar3 + 8))(plVar3,lVar11 << 3); + } + iVar5 = *(int *)(param_1 + 0x18); + uVar8 = 0; + uVar4 = uVar8; + uVar10 = uVar8; + plVar7 = plVar3; + if (0 < (longlong)iVar5) { + do { + if (plVar7 != (longlong *)0x0) { + *plVar7 = 0; + FUN_140086730(plVar7,plVar1 + uVar4); + } + uVar9 = (int)uVar10 + 1; + uVar4 = (longlong)(int)uVar9; + uVar10 = (ulonglong)uVar9; + plVar7 = plVar7 + 1; + } while ((longlong)(int)uVar9 < (longlong)iVar5); + } + iVar5 = param_2 - *(int *)(param_1 + 0x18); + plVar7 = plVar3 + *(int *)(param_1 + 0x18); + if (0 < iVar5) { + do { + if (plVar7 != (longlong *)0x0) { + *plVar7 = 0; + } + uVar9 = (int)uVar8 + 1; + uVar8 = (ulonglong)uVar9; + plVar7 = plVar7 + 1; + } while ((longlong)(int)uVar9 < (longlong)iVar5); + } + if (plVar3 == (longlong *)0x0) { + FUN_14002f1e0(local_c8,L"Memory allocation failure!",(longlong)iVar5,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_c8,(ThrowInfo *)&DAT_140151b88); + } + FUN_1400bc420(plVar1,(longlong)*(int *)(param_1 + 0x18)); + plVar7 = *(longlong **)(param_1 + 8); + if (plVar7 == (longlong *)0x0) { + FUN_1400302f0(plVar1); + } + else { + (**(code **)(*plVar7 + 0x18))(plVar7,plVar1); + } + *(longlong **)(param_1 + 0x10) = plVar3; + } + *(int *)(param_1 + 0x1c) = iVar6; + } + else if (iVar6 - param_2 < 1) { + iVar5 = param_2 - iVar6; + if (0 < iVar5) { + puVar2 = (undefined8 *)(*(longlong *)(param_1 + 0x10) + (longlong)iVar6 * 8); + iVar6 = 0; + if (0 < iVar5) { + do { + if (puVar2 != (undefined8 *)0x0) { + *puVar2 = 0; + } + iVar6 = iVar6 + 1; + puVar2 = puVar2 + 1; + } while (iVar6 < iVar5); + } + } + } + else { + FUN_1400bc420((longlong *)(*(longlong *)(param_1 + 0x10) + lVar12 * 8), + (longlong)(iVar6 - param_2)); + } + *(int *)(param_1 + 0x18) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008a4f0.c b/decomp/Agent_Release_x64/full/functions/0x14008a4f0.c new file mode 100644 index 00000000..2b74ddab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008a4f0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008a4f0 FUN_14008a4f0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14008a4f0(undefined8 *param_1,uint param_2) + +{ + LPVOID pvVar1; + longlong *plVar2; + + *param_1 = Proud::CFastArray::vftable; + if (0 < *(int *)(param_1 + 3)) { + FUN_1400867c0(param_1[2],(longlong)*(int *)(param_1 + 3)); + } + pvVar1 = (LPVOID)param_1[2]; + if (pvVar1 != (LPVOID)0x0) { + plVar2 = (longlong *)param_1[1]; + if (plVar2 == (longlong *)0x0) { + FUN_1400302f0(pvVar1); + } + else { + (**(code **)(*plVar2 + 0x18))(plVar2,pvVar1); + } + } + if ((param_2 & 1) != 0) { + FUN_1400302f0(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008a560.c b/decomp/Agent_Release_x64/full/functions/0x14008a560.c new file mode 100644 index 00000000..1b58fa94 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008a560.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008a560 FUN_14008a560 + * Pseudocode, not original source. */ + +undefined4 * +FUN_14008a560(undefined4 *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + + FUN_14002e600(param_1,0,CONCAT71((int7)((ulonglong)param_3 >> 8),1),param_4); + *(undefined ***)(param_1 + 0xe) = Proud::CFastArray,0>::vftable; + *(undefined8 *)(param_1 + 0x10) = 0; + *(undefined8 *)(param_1 + 0x12) = 0; + *(undefined8 *)(param_1 + 0x14) = 0; + *(undefined8 *)(param_1 + 0x16) = 0; + *(undefined ***)(param_1 + 0x18) = Proud::CFastArray,0>::vftable; + *(undefined8 *)(param_1 + 0x1a) = 0; + *(undefined8 *)(param_1 + 0x1c) = 0; + *(undefined8 *)(param_1 + 0x1e) = 0; + *(undefined8 *)(param_1 + 0x20) = 0; + *(undefined8 *)(param_1 + 0x22) = 0; + *(undefined8 *)(param_1 + 0x24) = 0; + FUN_1400b7b30((double *)(param_1 + 0x28),DAT_140155180); + FUN_1400b7b30((double *)(param_1 + 0x2e),DAT_1401550f8); + FUN_14003a1c0((undefined8 *)(param_1 + 0x54)); + FUN_1400376a0(param_1 + 0x56,*(LPTIMECALLBACK *)(param_1 + 0x54),DAT_14015506c); + lVar1 = param_2 + 0x120; + if (param_2 == 0) { + lVar1 = 0; + } + FUN_1400a2820((undefined8 *)(param_1 + 0x58),lVar1); + FUN_1400b7b30((double *)(param_1 + 0x62),DAT_1401550a8); + FUN_1400b7b30((double *)(param_1 + 0x68),DAT_1401550a8); + FUN_1400b7b30((double *)(param_1 + 0x6e),DAT_1401550b0); + FUN_1400b7b30((double *)(param_1 + 0x74),DAT_140155150); + FUN_1400b7b30((double *)(param_1 + 0x7a),1.0); + param_1[0x80] = 0; + param_1[0x90] = 0; + FUN_1400b7b30((double *)(param_1 + 0x92),DAT_1401550d8); + *(undefined8 *)(param_1 + 0x40) = 0; + *(longlong *)(param_1 + 0x52) = param_2; + *(undefined1 *)(param_1 + 0x50) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008a700.c b/decomp/Agent_Release_x64/full/functions/0x14008a700.c new file mode 100644 index 00000000..d75a6eeb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008a700.c @@ -0,0 +1,141 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008a700 FUN_14008a700 + * Pseudocode, not original source. */ + +void FUN_14008a700(int *param_1,wchar_t *param_2,longlong *param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + int *piVar2; + wchar_t *pwVar3; + undefined8 *puVar4; + int iVar5; + longlong lVar6; + + piVar2 = (int *)(**(code **)(**(longlong **)(param_1 + 0x52) + 0x58))(); + FUN_14002e6e0(piVar2); + if (DAT_14015bfcf != '\0') { + param_3 = (longlong *)**(longlong **)(param_1 + 0x52); + param_2 = L"Proud::CNetThreads_S::~CNetThreads_S"; + (*(code *)param_3[0x19])(); + } + *(undefined1 *)(param_1 + 0x50) = 1; + FUN_14002e770((longlong)piVar2); + puVar4 = (undefined8 *)0x0; + if (*(undefined8 **)(param_1 + 0x22) != (undefined8 *)0x0) { + puVar4 = (undefined8 *)**(undefined8 **)(param_1 + 0x22); + } + FUN_1400375f0(puVar4); + if (*(undefined8 **)(param_1 + 0x24) == (undefined8 *)0x0) { + puVar4 = (undefined8 *)0x0; + } + else { + puVar4 = (undefined8 *)**(undefined8 **)(param_1 + 0x24); + } + FUN_1400375f0(puVar4); + piVar2 = param_1; + FUN_14002e6e0(param_1); + iVar5 = 0; + lVar6 = 0; + if (0 < param_1[0x1e]) { + do { + if ((lVar6 < 0) || (param_1[0x1e] <= iVar5)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(piVar2,param_2,param_3,param_4); + } + puVar4 = *(undefined8 **)(*(longlong *)(param_1 + 0x1c) + lVar6 * 8); + piVar2 = (int *)0x0; + if (puVar4 != (undefined8 *)0x0) { + piVar2 = (int *)*puVar4; + } + FUN_1400375f0((undefined8 *)piVar2); + iVar5 = iVar5 + 1; + lVar6 = lVar6 + 1; + } while (iVar5 < param_1[0x1e]); + } + piVar2 = param_1; + FUN_14002e770((longlong)param_1); + iVar5 = 0; + lVar6 = 0; + if (0 < param_1[0x14]) { + do { + if ((lVar6 < 0) || (param_1[0x14] <= iVar5)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(piVar2,param_2,param_3,param_4); + } + puVar4 = *(undefined8 **)(*(longlong *)(param_1 + 0x12) + lVar6 * 8); + piVar2 = (int *)0x0; + if (puVar4 != (undefined8 *)0x0) { + piVar2 = (int *)*puVar4; + } + FUN_1400375f0((undefined8 *)piVar2); + iVar5 = iVar5 + 1; + lVar6 = lVar6 + 1; + } while (iVar5 < param_1[0x14]); + } + CloseHandle(*(HANDLE *)(param_1 + 0x60)); + FUN_140085cf0((longlong *)(param_1 + 0x5a)); + FUN_1400376e0((UINT *)(param_1 + 0x56)); + FUN_14003a1b0((undefined8 *)(param_1 + 0x54)); + if ((*(longlong *)(param_1 + 0x24) != 0) && + (*(longlong *)(*(longlong *)(param_1 + 0x24) + 8) = + *(longlong *)(*(longlong *)(param_1 + 0x24) + 8) + -1, + *(longlong *)(*(longlong *)(param_1 + 0x24) + 8) == 0)) { + puVar4 = *(undefined8 **)(param_1 + 0x24); + puVar1 = (undefined8 *)*puVar4; + if (puVar1 != (undefined8 *)0x0) { + FUN_140037670(puVar1); + operator_delete(puVar1); + } + FUN_1400302f0(puVar4); + } + if ((*(longlong *)(param_1 + 0x22) != 0) && + (*(longlong *)(*(longlong *)(param_1 + 0x22) + 8) = + *(longlong *)(*(longlong *)(param_1 + 0x22) + 8) + -1, + *(longlong *)(*(longlong *)(param_1 + 0x22) + 8) == 0)) { + puVar4 = *(undefined8 **)(param_1 + 0x22); + puVar1 = (undefined8 *)*puVar4; + if (puVar1 != (undefined8 *)0x0) { + FUN_140037670(puVar1); + operator_delete(puVar1); + } + FUN_1400302f0(puVar4); + } + *(undefined ***)(param_1 + 0x18) = Proud::CFastArray,0>::vftable; + pwVar3 = (wchar_t *)(longlong)param_1[0x1e]; + if (0 < param_1[0x1e]) { + FUN_1400bc420(*(longlong **)(param_1 + 0x1c),(longlong)pwVar3); + param_2 = pwVar3; + } + pwVar3 = *(wchar_t **)(param_1 + 0x1c); + if (pwVar3 != (wchar_t *)0x0) { + param_3 = *(longlong **)(param_1 + 0x1a); + if (param_3 == (longlong *)0x0) { + FUN_1400302f0(pwVar3); + } + else { + (**(code **)(*param_3 + 0x18))(param_3); + param_2 = pwVar3; + } + } + *(undefined ***)(param_1 + 0xe) = Proud::CFastArray,0>::vftable; + pwVar3 = (wchar_t *)(longlong)param_1[0x14]; + if (0 < param_1[0x14]) { + FUN_1400bc420(*(longlong **)(param_1 + 0x12),(longlong)pwVar3); + param_2 = pwVar3; + } + pwVar3 = *(wchar_t **)(param_1 + 0x12); + if (pwVar3 != (wchar_t *)0x0) { + param_3 = *(longlong **)(param_1 + 0x10); + if (param_3 == (longlong *)0x0) { + FUN_1400302f0(pwVar3); + } + else { + (**(code **)(*param_3 + 0x18))(param_3); + param_2 = pwVar3; + } + } + FUN_14002e7a0(param_1,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008a9c0.c b/decomp/Agent_Release_x64/full/functions/0x14008a9c0.c new file mode 100644 index 00000000..d246965c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008a9c0.c @@ -0,0 +1,168 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008a9c0 FUN_14008a9c0 + * Pseudocode, not original source. */ + +undefined8 FUN_14008a9c0(longlong param_1,longlong param_2,ulonglong param_3) + +{ + int *piVar1; + uint uVar2; + int *piVar3; + short *psVar4; + undefined8 uVar5; + longlong *plVar6; + undefined8 *puVar7; + undefined **ppuVar8; + short **ppsVar9; + longlong lVar10; + ulonglong uVar11; + wchar_t *pwVar12; + char *pcVar13; + uint uVar14; + ulonglong uVar15; + longlong lVar16; + ulonglong uVar17; + undefined *puVar18; + short *psVar19; + short *local_res8; + undefined *local_res20; + undefined **local_60; + undefined4 local_58; + undefined2 local_54; + int *local_50; + undefined1 local_48; + + piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + local_50 = piVar3; + FUN_14002e6e0(piVar3); + local_48 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x148) + 200))(); + } + FUN_14003a420((char *)(*(longlong *)(param_1 + 0x148) + 0x760)); + local_res8 = (short *)FUN_140030280(0x780); + psVar19 = (short *)0x0; + psVar4 = psVar19; + if (local_res8 != (short *)0x0) { + local_60 = Proud::AddrPort::vftable; + local_58 = *(undefined4 *)(param_3 + 8); + local_54 = *(undefined2 *)(param_3 + 0xc); + psVar4 = (short *)FUN_1400965a0((undefined8 *)local_res8,*(longlong *)(param_1 + 0x148),param_2, + &local_60); + } + lVar10 = *(longlong *)(param_1 + 0x148); + pcVar13 = (char *)(lVar10 + 0x1740); + uVar2 = *(uint *)(lVar10 + 0x1768); + uVar17 = (ulonglong)uVar2; + uVar11 = ((ulonglong)psVar4 & 0xffffffff) % uVar17; + uVar15 = *(ulonglong *)(lVar10 + 0x1748); + uVar14 = (uint)uVar11; + local_res8 = psVar4; + if (uVar15 != 0) { + for (plVar6 = *(longlong **)(uVar15 + uVar11 * 8); + (plVar6 != (longlong *)0x0 && (uVar14 == *(uint *)(plVar6 + 4) % uVar2)); + plVar6 = (longlong *)plVar6[2]) { + if ((short *)*plVar6 == psVar4) goto LAB_14008ab69; + } + if (uVar15 != 0) { + for (plVar6 = *(longlong **)(uVar15 + uVar11 * 8); + (plVar6 != (longlong *)0x0 && (uVar14 == *(uint *)(plVar6 + 4) % uVar2)); + plVar6 = (longlong *)plVar6[2]) { + if ((short *)*plVar6 == psVar4) goto LAB_14008ab65; + } + if (uVar15 != 0) goto LAB_14008ab3c; + } + } + uVar5 = FUN_14003f710((longlong)pcVar13,uVar2,'\x01'); + if ((char)uVar5 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } +LAB_14008ab3c: + FUN_14003d560(pcVar13); + uVar17 = (ulonglong)psVar4 & 0xffffffff; + plVar6 = FUN_1400413b0(pcVar13,&local_res8,uVar14,(int)psVar4); + FUN_14003d560(pcVar13); + uVar15 = uVar11; +LAB_14008ab65: + *(undefined1 *)(plVar6 + 1) = 0; +LAB_14008ab69: + if (psVar4 != (short *)0x0) { + psVar19 = psVar4 + 0x1c; + } + FUN_140034b90(*(longlong *)(*(longlong *)(psVar4 + 0x3a4) + 0x110),psVar19,uVar15,uVar17); + FUN_14009c460((longlong)(psVar4 + 0x60)); + FUN_140039410(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x788), + *(ULONG_PTR *)(*(longlong *)(psVar4 + 0x3a4) + 0x110), + (LPOVERLAPPED)0xffffffffffffffff); + lVar10 = *(longlong *)(param_1 + 0x148); + pcVar13 = (char *)(ulonglong)*(uint *)(lVar10 + 0x1710); + uVar15 = (ulonglong)((uint)*(ushort *)(param_3 + 0xc) ^ *(uint *)(param_3 + 8)) % + (ulonglong)pcVar13; + lVar16 = 0; + if (*(longlong *)(lVar10 + 0x16f0) != 0) { + lVar16 = *(longlong *)(*(longlong *)(lVar10 + 0x16f0) + uVar15 * 8); + while ((lVar16 != 0 && + (uVar11 = (ulonglong)*(uint *)(lVar16 + 0x28) % (ulonglong)pcVar13, + (int)uVar15 == (int)uVar11))) { + if ((*(uint *)(lVar16 + 8) == *(uint *)(param_3 + 8)) && + (*(ushort *)(lVar16 + 0xc) == *(ushort *)(param_3 + 0xc))) goto LAB_14008ac28; + lVar16 = *(longlong *)(lVar16 + 0x18); + } + } + pcVar13 = (char *)(lVar10 + 0x16e8); + uVar11 = param_3; + puVar7 = FUN_140099760(pcVar13,param_3); + *puVar7 = psVar4; +LAB_14008ac28: + if (*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x17f0) != 0) { + FUN_140030200(pcVar13,uVar11,lVar16,uVar15); + local_res8 = (short *)PTR_DAT_140155010; + plVar6 = FUN_140033b30(param_3,(longlong *)&local_res20,lVar16,uVar15); + puVar18 = (undefined *)*plVar6; + if ((undefined *)*plVar6 == (undefined *)0x0) { + puVar18 = PTR_DAT_140155010; + } + pwVar12 = L"new TCP socket is accepted. RemoteClient_S=%p,TCP socket=%s"; + ppsVar9 = &local_res8; + FUN_14001b7a0((longlong *)ppsVar9,L"new TCP socket is accepted. RemoteClient_S=%p,TCP socket=%s" + ,psVar4,puVar18); + if (((local_res20 != (undefined *)0x0) && (local_res20 != PTR_DAT_140155010)) && + (local_res20 + -8 != (undefined *)0x0)) { + ppuVar8 = (undefined **)FUN_140030200(ppsVar9,pwVar12,psVar4,puVar18); + local_60 = ppuVar8; + FUN_14002e6e0((int *)ppuVar8); + local_58 = CONCAT31(local_58._1_3_,1); + piVar1 = (int *)(local_res20 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_res20 + -8); + } + FUN_14002e770((longlong)ppuVar8); + } + psVar19 = local_res8; + psVar4 = local_res8; + if (local_res8 == (short *)0x0) { + psVar4 = (short *)PTR_DAT_140155010; + } + uVar5 = 0; + lVar10 = *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x17f0); + FUN_14008f2e0(lVar10,0,psVar4,puVar18); + if (((psVar19 != (short *)0x0) && (psVar19 != (short *)PTR_DAT_140155010)) && + (psVar19 + -4 != (short *)0x0)) { + ppuVar8 = (undefined **)FUN_140030200(lVar10,uVar5,psVar4,puVar18); + local_60 = ppuVar8; + FUN_14002e6e0((int *)ppuVar8); + local_58 = CONCAT31(local_58._1_3_,1); + piVar1 = (int *)(psVar19 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar19 + -4); + } + FUN_14002e770((longlong)ppuVar8); + } + } + uVar5 = FUN_14002e770((longlong)piVar3); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008ad70.c b/decomp/Agent_Release_x64/full/functions/0x14008ad70.c new file mode 100644 index 00000000..25bbc623 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008ad70.c @@ -0,0 +1,252 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008ad70 FUN_14008ad70 + * Pseudocode, not original source. */ + +longlong * +FUN_14008ad70(longlong param_1,undefined8 param_2,undefined **param_3,undefined **param_4) + +{ + undefined *puVar1; + undefined8 *puVar2; + undefined *puVar3; + uint uVar4; + uint uVar5; + uint uVar6; + longlong *plVar7; + longlong *plVar8; + int *piVar9; + uint *puVar10; + int *piVar11; + char *pcVar12; + char *pcVar13; + undefined ***pppuVar14; + uint *puVar15; + uint uVar16; + char *pcVar17; + ulonglong uVar18; + longlong lVar19; + uint **ppuVar20; + uint uVar21; + uint *local_res8; + undefined *local_res10; + longlong local_res18; + longlong local_res20; + undefined **local_b8; + undefined8 local_b0; + undefined8 local_a8; + undefined8 local_a0; + undefined8 local_98; + undefined **local_90; + undefined8 local_88; + undefined8 local_80; + undefined8 local_78; + undefined8 local_70; + int *local_68; + undefined1 local_60; + int *local_58; + undefined1 local_50; + undefined8 local_48; + + local_48 = 0xfffffffffffffffe; + pcVar17 = (char *)0x0; + uVar21 = 0; + do { + lVar19 = *(longlong *)(param_1 + 0x148); + pcVar13 = (char *)(lVar19 + 0x60); + if (lVar19 == 0) { + pcVar13 = pcVar17; + } + pcVar12 = pcVar17; + if (*(longlong *)(lVar19 + 0x750) != 0) { + pcVar12 = *(char **)(*(longlong *)(lVar19 + 0x750) + 0x38); + } + plVar7 = FUN_140090610(pcVar12,pcVar13,param_3,(longlong)param_4); + if (plVar7 == (longlong *)0x0) { + FUN_140030200(pcVar12,pcVar13,param_3,param_4); + local_res8 = (uint *)PTR_DAT_140155010; + uVar4 = FUN_140030080(L"FATAL: Cannot create TCP socket for AcceptEx!"); + uVar6 = 0; + if ((local_res8 != (uint *)0x0) && + (pcVar17 = (char *)0x0, local_res8 != (uint *)PTR_DAT_140155010)) { + pcVar17 = (char *)(ulonglong)local_res8[-2]; + } + uVar5 = uVar4; + if ((((int)uVar4 <= (int)pcVar17) && (uVar5 = uVar6, local_res8 != (uint *)0x0)) && + (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_res8[-2]; + } + uVar16 = 1; + if (1 < (int)uVar5) { + uVar16 = uVar5; + } + uVar5 = uVar6; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_res8[-2]; + } + if ((int)uVar5 < (int)uVar16) { + if (local_res8 == (uint *)0x0) { + local_res8 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar16 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar16 == 0) { + FUN_140003240((longlong *)&local_res8,PTR_DAT_140155010,pcVar17,param_4); + } + else { + uVar5 = uVar6; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_res8[-2]; + } + if (uVar16 != uVar5) { + puVar10 = (uint *)FUN_140030280((longlong)(int)uVar16 * 2 + 10); + if (puVar10 != (uint *)0x0) { + *puVar10 = 0; + puVar10[1] = 1; + } + *puVar10 = uVar16; + uVar5 = uVar6; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar5 = local_res8[-2]; + } + puVar15 = (uint *)PTR_DAT_140155010; + if ((int)uVar16 < (int)uVar5) { +LAB_14008b017: + if (local_res8 != (uint *)0x0) { + puVar15 = local_res8; + } + } + else { + uVar16 = uVar6; + if (local_res8 != (uint *)0x0) { + if (local_res8 != (uint *)PTR_DAT_140155010) { + uVar16 = local_res8[-2]; + } + goto LAB_14008b017; + } + } + uVar18 = (ulonglong)uVar16; + FUN_1400300b0(puVar10 + 2,puVar15,uVar16); + FUN_140003240((longlong *)&local_res8,puVar15,uVar18,param_4); + local_res8 = puVar10 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_res8); + puVar10 = local_res8; + if (local_res8 == (uint *)0x0) { + puVar10 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar10,L"FATAL: Cannot create TCP socket for AcceptEx!",uVar4); + puVar10 = local_res8; + if (local_res8 == (uint *)0x0) { + puVar10 = (uint *)PTR_DAT_140155010; + } + uVar6 = FUN_140030080((short *)puVar10); + uVar4 = uVar21; + if (0 < (int)uVar6) { + uVar4 = uVar6; + } + uVar6 = uVar21; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar6 = local_res8[-2]; + } + if (((int)uVar6 <= (int)uVar4) && (uVar4 = uVar21, local_res8 != (uint *)0x0)) { + if (local_res8 == (uint *)PTR_DAT_140155010) goto LAB_14008b0cb; + uVar4 = local_res8[-2]; + } + if (((local_res8 != (uint *)PTR_DAT_140155010) && (local_res8 != (uint *)0x0)) && + (local_res8 + -2 != (uint *)0x0)) { + local_res8[-2] = uVar4; + *(undefined2 *)((longlong)local_res8 + (longlong)(int)uVar4 * 2) = 0; + } +LAB_14008b0cb: + local_b0 = 0; + local_a8 = 0; + local_a0 = 0; + local_98 = 0; + local_b8 = Proud::ByteArray::vftable; + ppuVar20 = &local_res8; + plVar7 = FUN_14003c120(&local_res20,1,1,(longlong *)ppuVar20,(longlong)&local_b8); + lVar19 = **(longlong **)(param_1 + 0x148); + (**(code **)(lVar19 + 0x80))(); + pppuVar14 = &local_b8; + FUN_14003b870(pppuVar14); + puVar10 = local_res8; + if (local_res8 == (uint *)0x0) { + return (longlong *)0x0; + } + if (local_res8 == (uint *)PTR_DAT_140155010) { + return (longlong *)0x0; + } + puVar15 = local_res8 + -2; + if (puVar15 == (uint *)0x0) { + return (longlong *)0x0; + } + piVar11 = (int *)FUN_140030200(pppuVar14,plVar7,lVar19,ppuVar20); + local_68 = piVar11; + FUN_14002e6e0(piVar11); + local_60 = 1; + puVar10 = puVar10 + -1; + *puVar10 = *puVar10 - 1; + if (*puVar10 == 0) { + FUN_1400302f0(puVar15); + } + FUN_14002e770((longlong)piVar11); + return (longlong *)0x0; + } + puVar2 = *(undefined8 **)(*(longlong *)(param_1 + 0x148) + 0x748); + pcVar13 = pcVar17; + if (puVar2 != (undefined8 *)0x0) { + pcVar13 = (char *)*puVar2; + } + plVar8 = plVar7; + uVar4 = FUN_140036aa0((longlong)pcVar13,(longlong)plVar7,param_3,param_4); + if (uVar4 == 0) { + return plVar7; + } + if (uVar4 != 0x2746) { + if (uVar4 != 0x2736) { + FUN_140030200(pcVar13,plVar8,param_3,param_4); + local_res10 = PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_res10, + L"FATAL: AcceptEx failed with error code %d! No more accept will be possible." + ,(ulonglong)uVar4,param_4); + local_88 = 0; + local_80 = 0; + local_78 = 0; + local_70 = 0; + local_90 = Proud::ByteArray::vftable; + param_4 = &local_res10; + plVar8 = FUN_14003c120(&local_res18,1,1,(longlong *)param_4,(longlong)&local_90); + param_3 = (undefined **)**(longlong **)(param_1 + 0x148); + (*(code *)param_3[0x10])(); + pppuVar14 = &local_90; + FUN_14003b870(pppuVar14); + puVar3 = local_res10; + if (((local_res10 != (undefined *)0x0) && (local_res10 != PTR_DAT_140155010)) && + (puVar1 = local_res10 + -8, puVar1 != (undefined *)0x0)) { + piVar9 = (int *)FUN_140030200(pppuVar14,plVar8,param_3,param_4); + local_58 = piVar9; + FUN_14002e6e0(piVar9); + local_50 = 1; + piVar11 = (int *)(puVar3 + -4); + *piVar11 = *piVar11 + -1; + if (*piVar11 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)piVar9); + } + } +LAB_14008af03: + FUN_1400358a0(plVar7,plVar8,(longlong *)param_3,param_4); + FUN_1400302f0(plVar7); + return (longlong *)0x0; + } + if (*(char *)(param_1 + 0x140) != '\0') goto LAB_14008af03; + FUN_1400358a0(plVar7,plVar8,(longlong *)param_3,param_4); + FUN_1400302f0(plVar7); + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008b180.c b/decomp/Agent_Release_x64/full/functions/0x14008b180.c new file mode 100644 index 00000000..26a24124 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008b180.c @@ -0,0 +1,125 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008b180 FUN_14008b180 + * Pseudocode, not original source. */ + +void FUN_14008b180(longlong param_1,wchar_t *param_2,longlong param_3,undefined8 param_4) + +{ + undefined *puVar1; + int *piVar2; + undefined *puVar3; + int *piVar4; + longlong *plVar5; + int *piVar6; + undefined ***pppuVar7; + wchar_t *pwVar8; + longlong lVar9; + undefined8 uVar10; + undefined **ppuVar11; + undefined *local_res8; + int *local_70; + undefined1 local_68; + int *local_60; + undefined1 local_58; + undefined **local_50; + undefined8 local_48; + undefined8 local_40; + undefined8 local_38; + undefined8 local_30; + + if (*(longlong *)(param_1 + 0x148) != 0) { + pwVar8 = param_2; + lVar9 = param_3; + uVar10 = param_4; + piVar4 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + local_60 = piVar4; + FUN_14002e6e0(piVar4); + local_58 = 1; + plVar5 = *(longlong **)(param_1 + 0x148); + if (DAT_14015bfcf != '\0') { + lVar9 = *plVar5; + pwVar8 = L"Proud::CNetThreads_S::ShowThreadExceptionAndPurgeClient"; + (**(code **)(lVar9 + 200))(); + } + if (param_2 == (wchar_t *)0x0) { + if (*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x758) != 0) { + FUN_140030200(plVar5,pwVar8,lVar9,uVar10); + local_res8 = PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_res8, + L"%s에서 %s 오류가 발생했으나 클라이언트를 식별 불가.", + param_3,param_4); + local_48 = 0; + local_40 = 0; + local_38 = 0; + local_30 = 0; + local_50 = Proud::ByteArray::vftable; + ppuVar11 = &local_res8; + plVar5 = FUN_14003c120((longlong *)&local_70,1,0,(longlong *)ppuVar11,(longlong)&local_50); + lVar9 = **(longlong **)(param_1 + 0x148); + (**(code **)(lVar9 + 0x80))(); + pppuVar7 = &local_50; + FUN_14003b870(pppuVar7); + puVar3 = local_res8; + if (((local_res8 != (undefined *)0x0) && (local_res8 != PTR_DAT_140155010)) && + (puVar1 = local_res8 + -8, puVar1 != (undefined *)0x0)) { + piVar6 = (int *)FUN_140030200(pppuVar7,plVar5,lVar9,ppuVar11); + local_70 = piVar6; + FUN_14002e6e0(piVar6); + local_68 = 1; + piVar2 = (int *)(puVar3 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)piVar6); + } + } + } + else { + if (*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x758) != 0) { + FUN_140030200(plVar5,pwVar8,lVar9,uVar10); + local_res8 = PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_res8, + L"%s에서 %s 이유로 클라이언트 %d를 추방합니다.",param_3, + param_4); + local_48 = 0; + local_40 = 0; + local_38 = 0; + local_30 = 0; + local_50 = Proud::ByteArray::vftable; + ppuVar11 = &local_res8; + plVar5 = FUN_14003c120((longlong *)&local_70,1,(ulonglong)*(uint *)(param_2 + 0x37c), + (longlong *)ppuVar11,(longlong)&local_50); + lVar9 = **(longlong **)(param_1 + 0x148); + (**(code **)(lVar9 + 0x80))(); + pppuVar7 = &local_50; + FUN_14003b870(pppuVar7); + puVar3 = local_res8; + if (((local_res8 != (undefined *)0x0) && (local_res8 != PTR_DAT_140155010)) && + (puVar1 = local_res8 + -8, puVar1 != (undefined *)0x0)) { + piVar6 = (int *)FUN_140030200(pppuVar7,plVar5,lVar9,ppuVar11); + local_70 = piVar6; + FUN_14002e6e0(piVar6); + local_68 = 1; + piVar2 = (int *)(puVar3 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)piVar6); + } + } + local_48 = 0; + local_40 = 0; + local_38 = 0; + local_30 = 0; + local_50 = Proud::ByteArray::vftable; + FUN_140061820(*(SIZE_T **)(param_1 + 0x148),(uint *)param_2,1,3,(longlong)&local_50, + L"Proud::CNetThreads_S::ShowThreadExceptionAndPurgeClient",0); + FUN_14003b870(&local_50); + } + FUN_14002e770((longlong)piVar4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008b450.c b/decomp/Agent_Release_x64/full/functions/0x14008b450.c new file mode 100644 index 00000000..7a86e52d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008b450.c @@ -0,0 +1,208 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008b450 FUN_14008b450 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14008b450(int *param_1,uint *param_2,longlong *param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined8 uVar2; + int *piVar3; + byte *pbVar4; + longlong lVar5; + undefined ***pppuVar6; + int iVar7; + SIZE_T SVar8; + undefined ***pppuVar9; + uint *puVar10; + longlong **pplVar11; + longlong *plVar12; + undefined8 uVar13; + byte *pbVar14; + undefined1 auStack_e68 [32]; + int *local_e48; + undefined1 local_e40; + longlong *local_e38; + undefined1 local_e30; + undefined **local_e28; + undefined8 local_e20; + byte *local_e18; + undefined8 local_e10; + undefined8 local_e08; + undefined **local_e00; + undefined8 local_df8; + byte *local_df0; + undefined8 local_de8; + undefined8 local_de0; + undefined **local_dd8; + undefined8 local_dd0; + byte *local_dc8; + undefined8 local_dc0; + undefined8 local_db8; + int *local_db0; + undefined1 local_da8; + undefined **local_da0; + undefined8 local_d98; + byte *local_d90; + undefined8 local_d88; + undefined8 local_d80; + int local_d78 [2]; + longlong local_d70; + longlong local_d68; + undefined4 local_d60; + int local_d5c; + undefined8 local_d20; + exception local_d18 [80]; + undefined1 local_cc8 [3216]; + ulonglong local_38; + + local_d20 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_e68; + plVar12 = param_3; + local_e38 = param_3; + local_db0 = param_1; + FUN_140093300(); + pbVar14 = (byte *)0x0; + local_df8 = 0; + local_df0 = (byte *)0x0; + local_de8 = 0; + local_de0 = 0; + local_e00 = Proud::ByteArray::vftable; + uVar1 = FUN_140080ca0(param_2,&local_e48,plVar12,param_4); + piVar3 = local_e48; + if ((((char)uVar1 != '\0') && (iVar7 = (int)local_e48, -1 < iVar7)) && (iVar7 <= DAT_140155140)) { + FUN_14001bc70((longlong)&local_e00,iVar7,(SIZE_T)plVar12); + pbVar4 = local_df0; + if ((int)local_de8 == 0) { + pbVar4 = pbVar14; + } + SVar8 = (ulonglong)piVar3 & 0xffffffff; + uVar2 = FUN_140080600(param_2,(undefined8 *)pbVar4,SVar8); + if ((char)uVar2 != '\0') { + local_dd0 = 0; + local_dc8 = (byte *)0x0; + local_dc0 = 0; + local_db8 = 0; + local_dd8 = Proud::ByteArray::vftable; + uVar1 = FUN_140080ca0(param_2,&local_e48,SVar8,param_4); + piVar3 = local_e48; + if ((((char)uVar1 != '\0') && (iVar7 = (int)local_e48, -1 < iVar7)) && + (iVar7 <= DAT_140155140)) { + FUN_14001bc70((longlong)&local_dd8,iVar7,SVar8); + pbVar4 = local_dc8; + if ((int)local_dc0 == 0) { + pbVar4 = pbVar14; + } + uVar2 = FUN_140080600(param_2,(undefined8 *)pbVar4,(ulonglong)piVar3 & 0xffffffff); + if ((char)uVar2 != '\0') { + local_d98 = 0; + local_d90 = (byte *)0x0; + local_d88 = 0; + local_d80 = 0; + local_da0 = Proud::ByteArray::vftable; + plVar12 = (longlong *)(*(longlong *)(param_1 + 0x52) + 0xc48); + pppuVar9 = &local_e00; + pppuVar6 = &local_da0; + FUN_1400a1330((ulonglong *)&local_e48,(longlong)pppuVar6,(SIZE_T)pppuVar9,plVar12); + if ((local_e48 == (int *)0x0) || (*(longlong *)(local_e48 + 0xe) == 0)) { + FUN_14002b570((longlong *)&local_e48,pppuVar6,pppuVar9,plVar12); + piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x52) + 0x58))(); + local_e48 = piVar3; + FUN_14002e6e0(piVar3); + local_e40 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x52) + 200)) + (*(longlong **)(param_1 + 0x52), + L"Proud::CNetThreads_S::NetworkerThread_ProcessMessage_NotifyCSEncryptedSessionKey" + ); + } + pbVar4 = pbVar14; + if (*(longlong *)(*(longlong *)(param_1 + 0x52) + 0x1708) != 0) { + pbVar4 = *(byte **)(*(longlong *)(param_1 + 0x52) + 0x16f8); + } + for (; pbVar4 != (byte *)0x0; pbVar4 = *(byte **)(pbVar4 + 0x18)) { + if (param_3 == *(longlong **)(pbVar4 + 0x10)) { + pbVar4 = local_d90; + if ((int)local_d88 == 0) { + pbVar4 = pbVar14; + } + uVar13 = 0x10; + FUN_140090ac0(param_3 + 0x51,pbVar4, + (ulonglong)(*(uint *)(*(longlong *)(param_1 + 0x52) + 0x244) >> 3), + 0x10); + local_e20 = 0; + local_e18 = (byte *)0x0; + local_e10 = 0; + local_e08 = 0; + local_e28 = Proud::ByteArray::vftable; + puVar10 = (uint *)(param_3 + 0x51); + uVar2 = FUN_140092530((longlong)&local_dd8,(longlong)&local_e28,puVar10,uVar13); + if ((char)uVar2 == '\0') { + FUN_14002f1e0(local_d18,L"Decrypt Fast EncryptKey Error",puVar10,uVar13); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d18,(ThrowInfo *)&DAT_140151b88); + } + pbVar4 = local_e18; + if ((int)local_e10 == 0) { + pbVar4 = pbVar14; + } + SVar8 = (SIZE_T)(*(uint *)(*(longlong *)(param_1 + 0x52) + 0x248) >> 3); + FUN_1400a0660((ulonglong)(param_3 + 0xcb),(longlong)pbVar4,SVar8,uVar13); + FUN_14003b870(&local_e28); + *(undefined1 *)(param_3 + 0xd1) = 1; + FUN_14002e770((longlong)piVar3); + local_e40 = 0; + FUN_1400806d0(local_d78); + FUN_1400801a0((longlong)local_d78,pbVar4,SVar8,uVar13); + FUN_140080830(local_d78,0x800,SVar8,uVar13); + uVar2 = 0; + FUN_140080830(local_d78,0,SVar8,uVar13); + FUN_14001ba80((longlong)local_d78,CONCAT71((int7)((ulonglong)uVar2 >> 8),6),SVar8, + uVar13); + piVar3 = (int *)(**(code **)(param_3[0x21] + 0x10))(); + local_db0 = piVar3; + FUN_14002e6e0(piVar3); + local_da8 = 1; + lVar5 = FUN_140041760((longlong)local_cc8,(longlong)local_d78,SVar8); + local_e38 = (longlong *)0x0; + local_e30 = 1; + pplVar11 = &local_e38; + FUN_14009c2b0((char *)param_3[0xe9],lVar5,(SIZE_T *)pplVar11,uVar13); + FUN_140040950((longlong)local_cc8,lVar5,pplVar11,uVar13); + FUN_14002e770((longlong)piVar3); + local_e38 = &local_d70; + FUN_140095270(&local_d70); + if (local_d68 != 0) { + if (local_d5c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d60 = 0; + } + FUN_14003b870(&local_da0); + FUN_14003b870(&local_dd8); + goto LAB_14008b923; + } + } + FUN_14002e770((longlong)piVar3); + FUN_14003b870(&local_da0); + FUN_14003b870(&local_dd8); + } + else { + FUN_14002b570((longlong *)&local_e48,pppuVar6,pppuVar9,plVar12); + FUN_14003b870(&local_da0); + FUN_14003b870(&local_dd8); + } + goto LAB_14008b923; + } + } + FUN_14003b870(&local_dd8); + } + } +LAB_14008b923: + FUN_14003b870(&local_e00); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008b960.c b/decomp/Agent_Release_x64/full/functions/0x14008b960.c new file mode 100644 index 00000000..9c3f1548 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008b960.c @@ -0,0 +1,113 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008b960 FUN_14008b960 + * Pseudocode, not original source. */ + +void FUN_14008b960(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + wchar_t *pwVar1; + undefined *puVar2; + undefined *puVar3; + longlong *plVar4; + wchar_t *pwVar5; + int *piVar6; + wchar_t *pwVar7; + wchar_t **ppwVar8; + int *piVar9; + undefined8 uVar10; + undefined **ppuVar11; + wchar_t *local_res8; + undefined *local_78; + wchar_t *local_70; + undefined1 local_68; + undefined8 local_60; + wchar_t *local_58; + undefined1 local_50; + undefined **local_48; + undefined8 local_40; + undefined8 local_38; + undefined8 local_30; + undefined8 local_28; + + local_60 = 0xfffffffffffffffe; + if ((*(longlong *)(param_1 + 0x148) != 0) && + (*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x758) != 0)) { + FUN_140030200(param_1,param_2,param_3,param_4); + local_78 = PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_78,L"(%s): unexpected thread exit with (%s)",param_2,param_3); + piVar9 = (int *)0x0; + local_40 = 0; + local_38 = 0; + local_30 = 0; + local_28 = 0; + local_48 = Proud::ByteArray::vftable; + ppuVar11 = &local_78; + uVar10 = 1; + FUN_14003c120((longlong *)&local_res8,1,1,(longlong *)ppuVar11,(longlong)&local_48); + FUN_14003b870(&local_48); + local_70 = (wchar_t *)0x0; + FUN_14003bff0((ulonglong *)&local_70,(ulonglong *)&local_res8,uVar10,ppuVar11); + pwVar5 = *(wchar_t **)(param_1 + 0x148); + ppwVar8 = &local_70; + (**(code **)(*(longlong *)pwVar5 + 0x38))(); + if ((char)param_4 != '\0') { + if (local_res8 != (wchar_t *)0x0) { + piVar9 = *(int **)(local_res8 + 0x1c); + } + ppwVar8 = &local_70; + plVar4 = FUN_14003c240(piVar9,(longlong *)ppwVar8,uVar10,ppuVar11); + pwVar5 = (wchar_t *)*plVar4; + if ((wchar_t *)*plVar4 == (wchar_t *)0x0) { + pwVar5 = (wchar_t *)PTR_DAT_140155010; + } + FUN_14002fa10(pwVar5); + pwVar7 = local_70; + if (((local_70 != (wchar_t *)0x0) && (local_70 != (wchar_t *)PTR_DAT_140155010)) && + (pwVar1 = local_70 + -4, pwVar1 != (wchar_t *)0x0)) { + pwVar5 = (wchar_t *)FUN_140030200(pwVar5,ppwVar8,uVar10,ppuVar11); + local_58 = pwVar5; + FUN_14002e6e0((int *)pwVar5); + local_50 = 1; + pwVar7 = pwVar7 + -2; + *(int *)pwVar7 = *(int *)pwVar7 + -1; + if (*(int *)pwVar7 == 0) { + FUN_1400302f0(pwVar1); + } + FUN_14002e770((longlong)pwVar5); + } + } + pwVar7 = local_res8; + if (local_res8 != (wchar_t *)0x0) { + local_70 = local_res8; + FUN_14002e6e0((int *)local_res8); + local_68 = 1; + *(longlong *)(local_res8 + 0x20) = *(longlong *)(local_res8 + 0x20) + -1; + if (*(longlong *)(local_res8 + 0x20) == 0) { + FUN_14002e770((longlong)pwVar7); + local_68 = 0; + FUN_14002b500((undefined4 *)local_res8,ppwVar8,uVar10,ppuVar11); + pwVar5 = local_res8; + } + else { + FUN_14002e770((longlong)pwVar7); + pwVar5 = pwVar7; + } + } + puVar3 = local_78; + if (((local_78 != (undefined *)0x0) && (local_78 != PTR_DAT_140155010)) && + (puVar2 = local_78 + -8, puVar2 != (undefined *)0x0)) { + piVar6 = (int *)FUN_140030200(pwVar5,ppwVar8,uVar10,ppuVar11); + local_58 = (wchar_t *)piVar6; + FUN_14002e6e0(piVar6); + local_50 = 1; + piVar9 = (int *)(puVar3 + -4); + *piVar9 = *piVar9 + -1; + if (*piVar9 == 0) { + FUN_1400302f0(puVar2); + } + FUN_14002e770((longlong)piVar6); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008bb70.c b/decomp/Agent_Release_x64/full/functions/0x14008bb70.c new file mode 100644 index 00000000..bed7178f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008bb70.c @@ -0,0 +1,152 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008bb70 FUN_14008bb70 + * Pseudocode, not original source. */ + +void FUN_14008bb70(longlong param_1,longlong param_2,char *param_3,longlong param_4) + +{ + longlong *plVar1; + int iVar2; + ulonglong uVar3; + undefined8 *puVar4; + int *piVar5; + int *piVar6; + int *piVar7; + int **ppiVar8; + longlong lVar9; + int iVar10; + uint uVar11; + char *pcVar12; + int *local_res20; + int *local_198; + undefined1 local_190; + undefined8 local_120; + undefined1 local_118 [4]; + undefined4 local_114; + char *local_e0; + exception local_70 [72]; + + local_120 = 0xfffffffffffffffe; + pcVar12 = param_3; + if ((int)(*(int *)(param_2 + 8) + (*(int *)(param_2 + 8) >> 0x1f & 7U)) >> 3 != 0) { + param_4 = 2; + pcVar12 = "Proud::CNetThreads_S::UserWorkerThread_FinalReceiveUserMessage"; + FUN_14005ed30(*(longlong **)(param_1 + 0x148),(wchar_t *)0x0, + "Proud::CNetThreads_S::UserWorkerThread_FinalReceiveUserMessage",2); + } + if (*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x758) != 0) { + FUN_14003b570(local_118); + local_114 = *(undefined4 *)(param_2 + 0x30); + local_118[0] = *(undefined1 *)(param_2 + 0x48); + ppiVar8 = &local_res20; + local_e0 = param_3; + uVar3 = FUN_140080ca0((uint *)(param_2 + 8),ppiVar8,pcVar12,param_4); + if ((char)uVar3 != '\0') { + lVar9 = *(longlong *)(param_2 + 0x10); + if (lVar9 == 0) { + if (*(longlong *)(param_2 + 0x18) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,ppiVar8,pcVar12,param_4); + } + iVar10 = *(int *)(param_2 + 0x20); + } + else { + iVar10 = *(int *)(lVar9 + 0x18); + } + iVar2 = (int)(*(int *)(param_2 + 8) + (*(int *)(param_2 + 8) >> 0x1f & 7U)) >> 3; + ppiVar8 = (int **)(longlong)iVar2; + uVar11 = iVar10 - iVar2; + pcVar12 = (char *)(ulonglong)uVar11; + if ((uint)local_res20 == uVar11) { + if (*(longlong *)(param_2 + 0x18) == 0) { + if (lVar9 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,ppiVar8,pcVar12,param_4); + } + if (*(int *)(lVar9 + 0x18) == 0) { + lVar9 = 0; + } + else { + lVar9 = *(longlong *)(lVar9 + 0x10); + } + } + else { + lVar9 = *(longlong *)(param_2 + 0x18); + if (lVar9 == 0) { + FUN_14002f1e0(local_70,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0, + pcVar12,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_70,(ThrowInfo *)&DAT_140151b88); + } + } + plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x148) + 0x758); + param_4 = lVar9 + (longlong)ppiVar8; + (**(code **)(*plVar1 + 0x30)) + (plVar1,*(undefined4 *)(param_2 + 0x30),local_118,param_4,(uint)local_res20); + goto LAB_14008be37; + } + } + local_res20 = (int *)FUN_140030280(0x60); + if (local_res20 == (int *)0x0) { + puVar4 = (undefined8 *)0x0; + } + else { + puVar4 = FUN_14003bef0((undefined8 *)local_res20,ppiVar8,pcVar12,param_4); + } + piVar7 = (int *)0x0; + if (puVar4 == (undefined8 *)0x0) { + local_res20 = (int *)0x0; + piVar5 = piVar7; + } + else { + piVar5 = (int *)FUN_140030280(0x48); + local_198 = piVar5; + if (piVar5 != (int *)0x0) { + local_res20 = piVar5; + uVar3 = FUN_14002e790(); + pcVar12 = (char *)CONCAT71((int7)((ulonglong)pcVar12 >> 8),1); + FUN_14002e600(piVar5,uVar3 & 0xffffffff,pcVar12,param_4); + } + local_res20 = piVar5; + FUN_14002e6e0(piVar5); + piVar5[0x10] = 1; + piVar5[0x11] = 0; + *(undefined8 **)(piVar5 + 0xe) = puVar4; + FUN_14002e770((longlong)piVar5); + } + piVar6 = piVar7; + if (piVar5 != (int *)0x0) { + piVar6 = *(int **)(piVar5 + 0xe); + } + *piVar6 = 0x1f; + if (piVar5 != (int *)0x0) { + piVar7 = *(int **)(piVar5 + 0xe); + } + FUN_140006c60((longlong *)(piVar7 + 4),L"Invalid payload size in User Message!",pcVar12,param_4) + ; + local_198 = (int *)0x0; + FUN_14003bff0((ulonglong *)&local_198,(ulonglong *)&local_res20,pcVar12,param_4); + ppiVar8 = &local_198; + (**(code **)(**(longlong **)(param_1 + 0x148) + 0x80))(); + if (piVar5 != (int *)0x0) { + local_190 = 0; + local_198 = piVar5; + FUN_14002e6e0(piVar5); + local_190 = 1; + plVar1 = (longlong *)(piVar5 + 0x10); + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + FUN_14002e770((longlong)piVar5); + local_190 = 0; + FUN_14002b500(piVar5,ppiVar8,pcVar12,param_4); + } + else { + FUN_14002e770((longlong)piVar5); + } + } + } +LAB_14008be37: + FUN_1400a2740((undefined8 *)(param_1 + 0x160),*(undefined4 *)(param_2 + 0x30),'\0',param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008be60.c b/decomp/Agent_Release_x64/full/functions/0x14008be60.c new file mode 100644 index 00000000..b87d7818 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008be60.c @@ -0,0 +1,304 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008be60 FUN_14008be60 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14008be60(undefined ***param_1,undefined ***param_2,undefined ***param_3, + undefined ***param_4) + +{ + undefined **ppuVar1; + int *piVar2; + uint uVar3; + uint uVar4; + undefined8 uVar5; + ulonglong uVar6; + uint *puVar7; + undefined ***pppuVar8; + int *piVar9; + uint uVar10; + uint uVar11; + char *pcVar12; + undefined ***pppuVar13; + undefined **ppuVar14; + undefined *puVar15; + undefined ***pppuVar16; + uint uVar17; + undefined ***pppuVar18; + undefined1 auStackY_2a8 [32]; + undefined **local_278; + undefined **local_270; + undefined ***local_268; + undefined ***local_260; + undefined **local_258; + undefined4 local_250; + undefined2 local_24c; + undefined ***local_238 [2]; + undefined **local_228; + undefined4 local_220; + undefined2 local_21c; + undefined ***local_218; + undefined1 local_210; + undefined **local_208; + undefined4 local_200; + undefined2 local_1fc; + undefined **local_1f8; + undefined8 local_1f0; + undefined8 local_1e8; + undefined8 local_1e0; + undefined8 local_1d8; + int *local_1d0; + undefined1 local_1c8; + undefined **local_1c0; + undefined8 local_1b8; + undefined4 local_1b0; + undefined8 local_1a8; + undefined4 local_1a0; + undefined **local_198; + undefined4 local_190; + undefined2 local_18c; + longlong local_158 [36]; + ulonglong local_38; + + local_158[1] = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStackY_2a8; + pppuVar8 = &local_278; + local_260 = param_1; + FUN_1400bbb40(pppuVar8); + pppuVar18 = (undefined ***)0x0; + local_268 = (undefined ***)0x0; + pppuVar16 = (undefined ***)0x1; + do { + while( true ) { + while( true ) { + if (*(char *)(param_1 + 0x28) != '\0') { + if (param_1[0x29][0x2fe] != (undefined *)0x0) { + FUN_140030200(pppuVar8,param_2,param_3,param_4); + local_238[0] = (undefined ***)PTR_DAT_140155010; + FUN_14001b7a0((longlong *)local_238,L"%s thread 종료.", + L"Proud::CNetThreads_S::TcpListenerProc",param_4); + pppuVar8 = local_238[0]; + param_3 = local_238[0]; + if (local_238[0] == (undefined ***)0x0) { + param_3 = (undefined ***)PTR_DAT_140155010; + } + param_2 = (undefined ***)0x0; + puVar15 = param_1[0x29][0x2fe]; + FUN_14008f2e0((longlong)puVar15,0,(short *)param_3,param_4); + if (((pppuVar8 != (undefined ***)0x0) && (pppuVar8 != (undefined ***)PTR_DAT_140155010)) + && (pppuVar8 + -1 != (undefined ***)0x0)) { + piVar9 = (int *)FUN_140030200(puVar15,param_2,param_3,param_4); + local_1c8 = 0; + local_1d0 = piVar9; + FUN_14002e6e0(piVar9); + local_1c8 = 1; + piVar2 = (int *)((longlong)pppuVar8 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(pppuVar8 + -1); + } + FUN_14002e770((longlong)piVar9); + } + } + pppuVar8 = local_268; + if (local_268 != (undefined ***)0x0) { + FUN_1400358a0((longlong *)local_268,param_2,(longlong *)param_3,param_4); + FUN_1400302f0(pppuVar8); + } + FUN_1400bbb70((char *)&local_278); + return; + } + uVar17 = 0; + if (((local_268 == (undefined ***)0x0) && ((char)pppuVar16 != '\0')) && + (local_268 = (undefined ***) + FUN_14008ad70((longlong)param_1,param_2,(undefined **)param_3, + (undefined **)param_4), local_268 == (undefined ***)0x0)) { + pppuVar16 = pppuVar18; + } + pppuVar13 = local_268; + local_198 = Proud::AddrPort::vftable; + local_1c0 = (undefined **)0x0; + local_1a8 = 0; + local_1b8 = 0; + local_1b0 = 5; + local_1a0 = 0; + local_190 = DAT_1401553d0; + local_18c = DAT_1401553d4; + param_3 = (undefined ***)(ulonglong)DAT_140155068; + param_2 = &local_1c0; + pcVar12 = param_1[0x29][0xf2]; + uVar5 = FUN_1400388c0(pcVar12,(longlong *)param_2,(ulonglong)param_3,param_4); + if ((char)uVar5 == '\x01') break; + pppuVar8 = pppuVar18; + if ((undefined8 *)param_1[0x29][0xe9] != (undefined8 *)0x0) { + pppuVar8 = *(undefined ****)param_1[0x29][0xe9]; + } + FUN_140035730((longlong)pppuVar8); + } + if (pppuVar13 == (undefined ***)0x0) break; + local_208 = Proud::AddrPort::vftable; + local_200 = 0; + local_1fc = 0; + local_258 = Proud::AddrPort::vftable; + local_250 = 0; + local_24c = 0; + param_2 = pppuVar18; + if ((undefined8 *)param_1[0x29][0xe9] != (undefined8 *)0x0) { + param_2 = *(undefined ****)param_1[0x29][0xe9]; + } + param_4 = &local_258; + param_3 = &local_208; + FUN_140035580((longlong)pppuVar13,(longlong)param_2,(longlong)param_3,(longlong)param_4); + uVar6 = FUN_140033290((longlong)&local_258); + if ((char)uVar6 == '\0') { +LAB_14008c022: + FUN_1400358a0((longlong *)pppuVar13,param_2,(longlong *)param_3,param_4); + FUN_1400302f0(pppuVar13); + pppuVar8 = pppuVar13; + } + else { + local_228 = Proud::AddrPort::vftable; + local_220 = local_250; + local_21c = local_24c; + param_3 = &local_228; + pppuVar8 = param_1; + param_2 = pppuVar13; + uVar5 = FUN_14008a9c0((longlong)param_1,(longlong)pppuVar13,(ulonglong)param_3); + if ((char)uVar5 == '\0') goto LAB_14008c022; + } + local_268 = (undefined ***)0x0; + } + FUN_140030200(pcVar12,param_2,param_3,param_4); + local_270 = (undefined **)PTR_DAT_140155010; + uVar3 = FUN_140030080(L"acceptex getqueued but socket null"); + uVar4 = uVar17; + if ((local_270 != (undefined **)0x0) && (local_270 != (undefined **)PTR_DAT_140155010)) { + uVar4 = *(uint *)(local_270 + -1); + } + uVar10 = uVar3; + if ((((int)uVar3 <= (int)uVar4) && (uVar10 = uVar17, local_270 != (undefined **)0x0)) && + (local_270 != (undefined **)PTR_DAT_140155010)) { + uVar10 = *(uint *)(local_270 + -1); + } + uVar4 = 1; + if (1 < (int)uVar10) { + uVar4 = uVar10; + } + uVar11 = 0; + uVar10 = uVar11; + if ((local_270 != (undefined **)0x0) && (local_270 != (undefined **)PTR_DAT_140155010)) { + uVar10 = *(uint *)(local_270 + -1); + } + if ((int)uVar10 < (int)uVar4) { + if (local_270 == (undefined **)0x0) { + local_270 = (undefined **)PTR_DAT_140155010; + } + if ((int)uVar4 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar4 == 0) { + FUN_140003240((longlong *)&local_270,PTR_DAT_140155010,param_3,param_4); + } + else { + uVar10 = uVar11; + if ((local_270 != (undefined **)0x0) && (local_270 != (undefined **)PTR_DAT_140155010)) { + uVar10 = *(uint *)(local_270 + -1); + } + if (uVar4 != uVar10) { + puVar7 = (uint *)FUN_140030280((longlong)(int)uVar4 * 2 + 10); + if (puVar7 != (uint *)0x0) { + *puVar7 = 0; + puVar7[1] = 1; + } + *puVar7 = uVar4; + uVar10 = uVar11; + if ((local_270 != (undefined **)0x0) && (local_270 != (undefined **)PTR_DAT_140155010)) { + uVar10 = *(uint *)(local_270 + -1); + } + ppuVar14 = (undefined **)PTR_DAT_140155010; + if ((int)uVar4 < (int)uVar10) { +LAB_14008c147: + if (local_270 != (undefined **)0x0) { + ppuVar14 = local_270; + } + } + else { + uVar4 = uVar17; + if (local_270 != (undefined **)0x0) { + if (local_270 != (undefined **)PTR_DAT_140155010) { + uVar4 = *(uint *)(local_270 + -1); + } + goto LAB_14008c147; + } + } + uVar6 = (ulonglong)uVar4; + FUN_1400300b0(puVar7 + 2,ppuVar14,uVar4); + FUN_140003240((longlong *)&local_270,ppuVar14,uVar6,param_4); + local_270 = (undefined **)(puVar7 + 2); + } + } + } + FUN_140002ea0((longlong *)&local_270); + ppuVar14 = local_270; + if (local_270 == (undefined **)0x0) { + ppuVar14 = (undefined **)PTR_DAT_140155010; + } + FUN_1400300b0(ppuVar14,L"acceptex getqueued but socket null",uVar3); + ppuVar14 = local_270; + if (local_270 == (undefined **)0x0) { + ppuVar14 = (undefined **)PTR_DAT_140155010; + } + uVar4 = FUN_140030080((short *)ppuVar14); + uVar17 = 0; + if (0 < (int)uVar4) { + uVar17 = uVar4; + } + uVar4 = uVar11; + if ((local_270 != (undefined **)0x0) && (local_270 != (undefined **)PTR_DAT_140155010)) { + uVar4 = *(uint *)(local_270 + -1); + } + if (((int)uVar17 < (int)uVar4) || (uVar17 = uVar11, local_270 == (undefined **)0x0)) { +LAB_14008c1ea: + if (((local_270 != (undefined **)PTR_DAT_140155010) && (local_270 != (undefined **)0x0)) && + (local_270 + -1 != (undefined **)0x0)) { + *(uint *)(local_270 + -1) = uVar17; + *(undefined2 *)((longlong)local_270 + (longlong)(int)uVar17 * 2) = 0; + } + } + else if (local_270 != (undefined **)PTR_DAT_140155010) { + uVar17 = *(uint *)(local_270 + -1); + goto LAB_14008c1ea; + } + local_1f0 = 0; + local_1e8 = 0; + local_1e0 = 0; + local_1d8 = 0; + local_1f8 = Proud::ByteArray::vftable; + param_4 = &local_270; + param_2 = (undefined ***)FUN_14003c120(local_158,1,0,(longlong *)param_4,(longlong)&local_1f8); + param_3 = (undefined ***)*param_1[0x29]; + (*(code *)param_3[0x10])(); + pppuVar8 = &local_1f8; + FUN_14003b870(pppuVar8); + ppuVar14 = local_270; + if (((local_270 != (undefined **)0x0) && (local_270 != (undefined **)PTR_DAT_140155010)) && + (ppuVar1 = local_270 + -1, ppuVar1 != (undefined **)0x0)) { + pppuVar8 = (undefined ***)FUN_140030200(pppuVar8,param_2,param_3,param_4); + local_210 = 0; + local_218 = pppuVar8; + FUN_14002e6e0((int *)pppuVar8); + local_210 = 1; + puVar7 = (uint *)((longlong)ppuVar14 + -4); + *puVar7 = *puVar7 - 1; + if (*puVar7 == 0) { + FUN_1400302f0(ppuVar1); + } + FUN_14002e770((longlong)pppuVar8); + local_210 = 0; + } + local_270 = (undefined **)PTR_DAT_140155010; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008c430.c b/decomp/Agent_Release_x64/full/functions/0x14008c430.c new file mode 100644 index 00000000..7e1f153c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008c430.c @@ -0,0 +1,157 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008c430 FUN_14008c430 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14008c430(longlong *param_1,undefined8 param_2,longlong ****param_3,longlong param_4) + +{ + int *piVar1; + undefined8 *puVar2; + longlong ******pppppplVar3; + char cVar4; + int *piVar5; + longlong *plVar6; + undefined8 uVar7; + int *piVar8; + longlong lVar9; + bool bVar10; + undefined1 auStack_1d8 [32]; + char local_1b8; + int local_1b7; + longlong ******local_1b0; + longlong ******local_1a8; + longlong *local_1a0; + undefined1 local_198; + int *local_190; + undefined1 local_188; + undefined8 local_180; + longlong local_178 [39]; + int *local_40; + ulonglong local_28; + + local_180 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_1d8; + FUN_1400bbb40(&local_1b8); + if (*(longlong *)(param_1[0x29] + 0x758) != 0) { + (**(code **)(**(longlong **)(param_1[0x29] + 0x758) + 0x58))(); + } + piVar5 = (int *)(**(code **)(*(longlong *)param_1[0x29] + 0x58))(); + plVar6 = local_178; + FUN_1400a1e40((undefined4 *)plVar6,piVar5); + cVar4 = (char)param_1[0x28]; + while (cVar4 == '\0') { + local_1b0 = (longlong ******)0x0; + plVar6 = (longlong *)(**(code **)(*(longlong *)param_1[0x29] + 0x58))(); + local_1a0 = plVar6; + FUN_14002e6e0((int *)plVar6); + local_198 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)param_1[0x29] + 200)) + ((longlong *)param_1[0x29],L"Proud::CNetThreads_S::UserWorkerThread_Main"); + } + param_3 = (longlong ****)&local_1b0; + piVar5 = local_40; + uVar7 = FUN_1400a2650(param_1 + 0x2c,(longlong)local_40,(longlong *)param_3,param_4); + cVar4 = (char)uVar7; + FUN_14002e770((longlong)plVar6); + local_198 = 0; + if (cVar4 == '\x01') { + if (*(longlong *)(param_1[0x29] + 0x758) != 0) { + puVar2 = *(undefined8 **)(param_1[0x29] + 0x758); + param_3 = (longlong ****)*puVar2; + (*(code *)param_3[0xf])(puVar2,&local_1b7); + } + piVar1 = local_40; + plVar6 = param_1; + piVar5 = local_40; + if (*local_40 == 1) { + param_3 = (longlong ****)local_1b0; + FUN_140086480((longlong)param_1,(longlong)local_40,(char *)local_1b0,param_4); + } + else if (*local_40 == 2) { + param_3 = (longlong ****)local_1b0; + FUN_14008bb70((longlong)param_1,(longlong)local_40,(char *)local_1b0,param_4); + } + else { + FUN_1400593d0((longlong *)param_1[0x29],local_40 + 0x14,param_3,param_4); + param_3 = (longlong ****)0x0; + piVar5 = (int *)(ulonglong)(uint)piVar1[0xc]; + plVar6 = param_1 + 0x2c; + FUN_1400a2740(plVar6,piVar1[0xc],'\0',param_4); + } + if (*(longlong *)(param_1[0x29] + 0x758) != 0) { + plVar6 = *(longlong **)(param_1[0x29] + 0x758); + piVar5 = &local_1b7; + (**(code **)(*plVar6 + 0x80))(); + } + } + if (*(longlong *)(param_1[0x29] + 0x758) != 0) { + LOCK(); + bVar10 = (int)param_1[0x48] == 0; + if (bVar10) { + *(int *)(param_1 + 0x48) = 1; + } + UNLOCK(); + if (bVar10) { + LOCK(); + bVar10 = (int)param_1[0x40] == 1; + if (bVar10) { + *(int *)(param_1 + 0x40) = 0; + } + UNLOCK(); + if (bVar10) { + cVar4 = '\x01'; + plVar6 = *(longlong **)(param_1[0x29] + 0x758); + piVar5 = *(int **)(param_1[0x29] + 0x260); + (**(code **)(*plVar6 + 0x88))(); + } + LOCK(); + *(undefined4 *)(param_1 + 0x48) = 0; + UNLOCK(); + } + } + if (cVar4 == '\0') { + plVar6 = param_1 + 0x2c; + FUN_1400a25c0((longlong)plVar6); + } + cVar4 = (char)param_1[0x28]; + } + if (*(longlong *)(param_1[0x29] + 0x758) != 0) { + plVar6 = *(longlong **)(param_1[0x29] + 0x758); + (**(code **)(*plVar6 + 0x60))(); + } + if (*(longlong *)(param_1[0x29] + 0x17f0) != 0) { + FUN_140030200(plVar6,piVar5,param_3,param_4); + local_1a8 = (longlong ******)PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_1a8,L"%s thread 종료.", + L"Proud::CNetThreads_S::UserWorkerThread_Main",param_4); + pppppplVar3 = local_1a8; + param_3 = (longlong ****)local_1a8; + if ((longlong *******)local_1a8 == (longlong *******)0x0) { + param_3 = (longlong ****)PTR_DAT_140155010; + } + piVar5 = (int *)0x0; + lVar9 = *(longlong *)(param_1[0x29] + 0x17f0); + FUN_14008f2e0(lVar9,0,(short *)param_3,param_4); + if ((((longlong *******)pppppplVar3 != (longlong *******)0x0) && + (pppppplVar3 != (longlong ******)PTR_DAT_140155010)) && + ((longlong *******)(pppppplVar3 + -1) != (longlong *******)0x0)) { + piVar8 = (int *)FUN_140030200(lVar9,piVar5,param_3,param_4); + local_190 = piVar8; + FUN_14002e6e0(piVar8); + local_188 = 1; + piVar1 = (int *)((longlong)pppppplVar3 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(pppppplVar3 + -1); + } + FUN_14002e770((longlong)piVar8); + } + } + FUN_1400a1e80((longlong)local_178,piVar5,param_3,param_4); + FUN_1400bbb70(&local_1b8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008c770.c b/decomp/Agent_Release_x64/full/functions/0x14008c770.c new file mode 100644 index 00000000..ed27b094 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008c770.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008c770 FUN_14008c770 + * Pseudocode, not original source. */ + +void FUN_14008c770(undefined ***param_1,undefined8 param_2,undefined ***param_3,undefined ***param_4 + ) + +{ + DWORD DVar1; + char *pcVar2; + + DVar1 = GetCurrentThreadId(); + pcVar2 = "PNSrv TcpListener"; + FUN_140037ab0(DVar1,"PNSrv TcpListener"); + FUN_14008be60(param_1,(undefined ***)pcVar2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008c7a0.c b/decomp/Agent_Release_x64/full/functions/0x14008c7a0.c new file mode 100644 index 00000000..00de525f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008c7a0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008c7a0 FUN_14008c7a0 + * Pseudocode, not original source. */ + +void FUN_14008c7a0(longlong *param_1,undefined8 param_2,longlong ****param_3,longlong param_4) + +{ + DWORD DVar1; + char *pcVar2; + + DVar1 = GetCurrentThreadId(); + pcVar2 = "PNSrv UserWorker"; + FUN_140037ab0(DVar1,"PNSrv UserWorker"); + FUN_14008c430(param_1,pcVar2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008c7d0.c b/decomp/Agent_Release_x64/full/functions/0x14008c7d0.c new file mode 100644 index 00000000..c1c5a24c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008c7d0.c @@ -0,0 +1,60 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008c7d0 FUN_14008c7d0 + * Pseudocode, not original source. */ + +void FUN_14008c7d0(longlong param_1,longlong param_2,undefined4 *param_3,undefined8 param_4, + char param_5) + +{ + undefined8 *puVar1; + undefined4 *puVar2; + longlong lVar3; + SIZE_T SVar4; + undefined8 uVar5; + undefined4 local_170 [2]; + undefined4 local_168 [2]; + longlong local_160; + longlong local_158; + int local_14c; + undefined1 local_140 [232]; + exception local_58 [80]; + + if ((param_2 != 0) && (param_5 == '\x01')) { + *(int *)(param_2 + 0x1dc) = *(int *)(param_2 + 0x1dc) + 1; + } + if (*(longlong *)(param_3 + 2) == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_exception_due_to_not_using_Inter_140156b80,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + FUN_140080700(local_168,param_3); + FUN_140056e60((longlong)local_140); + local_170[0] = (undefined4)param_4; + uVar5 = 0; + SVar4 = *(SIZE_T *)(param_2 + 0x278); + puVar2 = local_170; + puVar1 = FUN_14005a220((longlong *)(param_2 + 0x268),puVar2,SVar4,0); + if (*(undefined8 **)(param_2 + 0x278) == (undefined8 *)0x0) { + *(undefined8 **)(param_2 + 0x270) = puVar1; + } + else { + **(undefined8 **)(param_2 + 0x278) = puVar1; + } + *(undefined8 **)(param_2 + 0x278) = puVar1; + FUN_140056f10((longlong)local_140,puVar2,SVar4,uVar5); + FUN_140095270(&local_160); + if ((local_158 != 0) && (local_14c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 == 0) { + lVar3 = 0; + } + else { + lVar3 = param_2 + 8; + } + FUN_1400a25d0(param_1 + 0x160,lVar3,SVar4,uVar5); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008c900.c b/decomp/Agent_Release_x64/full/functions/0x14008c900.c new file mode 100644 index 00000000..abcf238f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008c900.c @@ -0,0 +1,91 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008c900 FUN_14008c900 + * Pseudocode, not original source. */ + +void FUN_14008c900(longlong param_1,int *param_2,byte param_3,longlong param_4,char param_5) + +{ + uint uVar1; + longlong lVar2; + byte bVar3; + int iVar4; + int *piVar5; + longlong *plVar6; + undefined4 *puVar7; + longlong lVar8; + ulonglong uVar9; + SIZE_T SVar10; + longlong lVar11; + undefined4 local_68 [2]; + longlong local_60; + longlong local_58; + int local_4c; + int local_40; + undefined **local_38; + int local_30; + undefined2 local_2c; + byte local_28; + + iVar4 = *param_2; + FUN_140093300(); + lVar11 = **(longlong **)(param_1 + 0x148); + piVar5 = (int *)(**(code **)(lVar11 + 0x58))(); + FUN_14002e6e0(piVar5); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x148) + 200)) + (*(longlong **)(param_1 + 0x148), + L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_Rmi"); + } + plVar6 = (longlong *)(*(longlong *)(param_1 + 0x148) + 0x480); + SVar10 = *(SIZE_T *)(param_4 + 0x30); + bVar3 = (**(code **)(*plVar6 + 0x10))(plVar6,param_2); + if ((param_3 | bVar3) == 0) { + uVar9 = (ulonglong)(uint)((int)((iVar4 >> 0x1f & 7U) + iVar4) >> 3); + FUN_1400802d0(param_2,uVar9,SVar10,lVar11); + FUN_1400806d0(local_68); + local_38 = Proud::AddrPort::vftable; + local_40 = 0; + local_30 = DAT_1401553d0; + local_2c = DAT_1401553d4; + puVar7 = local_68; + local_28 = param_3 | bVar3; + FUN_1400801a0((longlong)puVar7,uVar9,SVar10,lVar11); + if (*(longlong *)(param_2 + 2) == 0) { + if (*(longlong *)(param_2 + 4) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar7,uVar9,SVar10,lVar11); + } + uVar1 = param_2[6]; + } + else { + uVar1 = *(uint *)(*(longlong *)(param_2 + 2) + 0x18); + } + iVar4 = (int)(*param_2 + (*param_2 >> 0x1f & 7U)) >> 3; + lVar8 = *(longlong *)(param_2 + 4); + if (lVar8 == 0) { + lVar2 = *(longlong *)(param_2 + 2); + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(longlong)iVar4,(ulonglong)uVar1,lVar11); + } + if (*(int *)(lVar2 + 0x18) != 0) { + lVar8 = *(longlong *)(lVar2 + 0x10); + } + } + FUN_140080c70((longlong)local_68,(undefined8 *)(iVar4 + lVar8),(ulonglong)(uVar1 - iVar4),lVar11 + ); + local_28 = (byte)param_2[0x10]; + local_30 = param_2[0xe]; + local_2c = (undefined2)param_2[0xf]; + local_40 = param_2[10]; + FUN_14008c7d0(param_1,param_4,local_68,1,param_5); + FUN_140095270(&local_60); + if ((local_58 != 0) && (local_4c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + FUN_14002e770((longlong)piVar5); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008cb20.c b/decomp/Agent_Release_x64/full/functions/0x14008cb20.c new file mode 100644 index 00000000..2eaf004e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008cb20.c @@ -0,0 +1,79 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008cb20 FUN_14008cb20 + * Pseudocode, not original source. */ + +void FUN_14008cb20(longlong param_1,int *param_2,SIZE_T param_3,longlong param_4,char param_5) + +{ + uint uVar1; + longlong lVar2; + int iVar3; + int *piVar4; + undefined4 *puVar5; + longlong lVar6; + longlong lVar7; + undefined4 local_58 [2]; + longlong local_50; + longlong local_48; + int local_3c; + int local_30; + undefined **local_28; + int local_20; + undefined2 local_1c; + undefined1 local_18; + + piVar4 = param_2; + lVar7 = param_4; + FUN_1400806d0(local_58); + local_28 = Proud::AddrPort::vftable; + local_18 = 0; + local_30 = 0; + local_20 = DAT_1401553d0; + local_1c = DAT_1401553d4; + puVar5 = local_58; + FUN_1400801a0((longlong)puVar5,piVar4,param_3,lVar7); + if (*(longlong *)(param_2 + 2) == 0) { + if (*(longlong *)(param_2 + 4) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar5,piVar4,param_3,lVar7); + } + uVar1 = param_2[6]; + } + else { + uVar1 = *(uint *)(*(longlong *)(param_2 + 2) + 0x18); + } + iVar3 = (int)(*param_2 + (*param_2 >> 0x1f & 7U)) >> 3; + lVar6 = *(longlong *)(param_2 + 4); + if (lVar6 == 0) { + lVar2 = *(longlong *)(param_2 + 2); + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(longlong)iVar3,(ulonglong)uVar1,lVar7); + } + if (*(int *)(lVar2 + 0x18) != 0) { + lVar6 = *(longlong *)(lVar2 + 0x10); + } + } + FUN_140080c70((longlong)local_58,(undefined8 *)(iVar3 + lVar6),(ulonglong)(uVar1 - iVar3),lVar7); + local_18 = (undefined1)param_2[0x10]; + local_20 = param_2[0xe]; + local_1c = (undefined2)param_2[0xf]; + local_30 = param_2[10]; + FUN_140093300(); + piVar4 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x148) + 200)) + (*(longlong **)(param_1 + 0x148), + L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_UserMessage"); + } + FUN_14008c7d0(param_1,param_4,local_58,2,param_5); + FUN_14002e770((longlong)piVar4); + FUN_140095270(&local_50); + if ((local_48 != 0) && (local_3c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008ccf0.c b/decomp/Agent_Release_x64/full/functions/0x14008ccf0.c new file mode 100644 index 00000000..0f418b9b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008ccf0.c @@ -0,0 +1,403 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008ccf0 FUN_14008ccf0 + * Pseudocode, not original source. */ + +undefined8 +FUN_14008ccf0(longlong *param_1,IMAGE_DOS_HEADER *param_2,IMAGE_DOS_HEADER *param_3, + IMAGE_DOS_HEADER *param_4) + +{ + uint uVar1; + int iVar2; + undefined8 uVar3; + longlong *plVar4; + int *piVar5; + uint *puVar6; + ulonglong uVar7; + undefined8 *puVar8; + uint uVar9; + IMAGE_DOS_HEADER *pIVar10; + uint *puVar11; + uint uVar16; + IMAGE_DOS_HEADER *pIVar12; + ulonglong uVar13; + undefined *puVar14; + longlong lVar15; + uint **ppuVar17; + undefined8 *local_res10 [2]; + IMAGE_DOS_HEADER *local_res20; + uint *local_c8; + uint local_c0; + uint local_bc; + undefined1 local_b8 [16]; + undefined8 *local_a8; + undefined8 local_a0; + undefined8 local_98; + word local_90 [4]; + undefined **local_88; + word local_80 [2]; + undefined2 local_7c; + byte local_78; + undefined **local_68; + undefined1 local_60; + undefined3 uStack_5f; + word local_5c; + undefined **local_58; + undefined4 local_50; + word local_4c; + undefined **local_48; + word local_40 [2]; + word local_3c; + undefined **local_38; + word local_30 [2]; + word local_2c; + byte local_28 [16]; + + local_28[0] = 0xfe; + local_28[1] = 0xff; + local_28[2] = 0xff; + local_28[3] = 0xff; + local_28[4] = 0xff; + local_28[5] = 0xff; + local_28[6] = 0xff; + local_28[7] = 0xff; + local_c0 = (int)(*(int *)param_2 + (*(int *)param_2 >> 0x1f & 7U)) >> 3; + pIVar12 = param_3; + local_res20 = param_4; + uVar3 = FUN_140080f30((uint *)param_2,&local_bc,param_3,param_4); + if ((char)uVar3 == '\0') goto switchD_14008cd77_caseD_3; + local_res10[0] = (undefined8 *)((ulonglong)local_res10[0] & 0xffffffffffffff00); + pIVar12 = &IMAGE_DOS_HEADER_140000000; + plVar4 = param_1; + pIVar10 = param_2; + switch(local_bc) { + case 1: + pIVar12 = (IMAGE_DOS_HEADER *)0x0; + FUN_14008c900((longlong)param_1,(int *)param_2,0,(longlong)param_3, + local_res20 != (IMAGE_DOS_HEADER *)0x0); + param_4 = param_3; + default: +switchD_14008cd77_caseD_3: + uVar7 = FUN_1400802d0((int *)param_2,(ulonglong)local_c0,pIVar12,param_4); + return uVar7 & 0xffffffffffffff00; + case 2: + pIVar12 = (IMAGE_DOS_HEADER *)0x0; + FUN_14008cb20((longlong)param_1,(int *)param_2,0,(longlong)param_3, + local_res20 != (IMAGE_DOS_HEADER *)0x0); + param_4 = param_3; + goto switchD_14008cd77_caseD_3; + case 5: + FUN_14008b450((int *)param_1,(uint *)param_2,(longlong *)param_3,param_4); + break; + case 7: + FUN_140089ab0((longlong)param_1,(uint *)param_2,(uint *)param_3,param_4); + break; + case 0xc: + local_58 = Proud::AddrPort::vftable; + local_50._0_2_ = param_2->e_res2_10_[8]; + local_50._2_2_ = param_2->e_res2_10_[9]; + local_4c = (word)param_2->e_lfanew; + uVar7 = FUN_140033290((longlong)&local_58); + if ((char)uVar7 == '\0') { + FUN_14005ed30((longlong *)param_1[0x29],(wchar_t *)param_3, + "receivedInfo.GetRemoteAddr().IsUnicastEndpoint()",2); + } + local_48 = Proud::AddrPort::vftable; + local_40 = *(word (*) [2])(param_2->e_res2_10_ + 8); + local_3c = (word)param_2->e_lfanew; + param_3 = (IMAGE_DOS_HEADER *)&local_48; + param_4 = local_res20; + FUN_140087640((longlong)param_1,(uint *)param_2,(longlong)param_3,(longlong)local_res20); + break; + case 0xe: + FUN_140086ce0((longlong)param_1,(uint *)param_2,(longlong)param_3,(TypeDescriptor *)param_4); + break; + case 0x10: + local_38 = Proud::AddrPort::vftable; + local_30 = *(word (*) [2])(param_2->e_res2_10_ + 8); + local_2c = (word)param_2->e_lfanew; + uVar7 = FUN_140033290((longlong)&local_38); + if ((char)uVar7 == '\0') { + FUN_14005ed30((longlong *)param_1[0x29],(wchar_t *)param_3, + "receivedInfo.GetRemoteAddr().IsUnicastEndpoint()",2); + } + local_68 = Proud::AddrPort::vftable; + _local_60 = param_2->e_res2_10_[8]; + unique0x00023d02 = param_2->e_res2_10_[9]; + local_5c = (word)param_2->e_lfanew; + param_3 = (IMAGE_DOS_HEADER *)&local_68; + param_4 = local_res20; + FUN_1400879e0((longlong)param_1,(uint *)param_2,(longlong)param_3,(longlong)local_res20); + break; + case 0x12: + FUN_140087160((longlong)param_1,(uint *)param_2,(longlong)param_3,param_4); + break; + case 0x14: + FUN_140087dd0((longlong)param_1,(uint *)param_2,(wchar_t *)param_3,(longlong)param_4); + break; + case 0x15: + FUN_140088630((longlong)param_1,(uint *)param_2,(wchar_t *)param_3,(uint **)param_4); + break; + case 0x16: + FUN_140088da0((longlong)param_1,(uint *)param_2,(wchar_t *)param_3,param_4); + break; + case 0x1a: + FUN_140089170((longlong)param_1,(uint *)param_2,(longlong *)param_3,param_4); + break; + case 0x1b: + FUN_1400859c0((longlong)param_1,param_2,(wchar_t *)param_3,param_4); + break; + case 0x24: + case 0x25: + FUN_1400806d0((undefined4 *)local_b8); + local_88 = Proud::AddrPort::vftable; + local_78 = 0; + local_90[0] = 0; + local_90[1] = 0; + local_80[0] = (word)DAT_1401553d0; + local_80[1] = DAT_1401553d0._2_2_; + local_7c = DAT_1401553d4; + param_4 = (IMAGE_DOS_HEADER *)local_b8; + pIVar10 = (IMAGE_DOS_HEADER *)(ulonglong)local_bc; + pIVar12 = param_2; + uVar3 = FUN_140084280((uint *)param_1[0x29],local_bc,(uint *)param_2,(uint *)param_4); + if ((char)uVar3 != '\0') { + local_78 = param_2->e_program[0]; + local_80 = *(word (*) [2])(param_2->e_res2_10_ + 8); + local_7c = (undefined2)param_2->e_lfanew; + local_90._0_4_ = *(undefined4 *)param_2->e_res2_10_; + pIVar10 = (IMAGE_DOS_HEADER *)local_b8; + param_4 = local_res20; + uVar3 = FUN_14008ccf0(param_1,pIVar10,param_3,local_res20); + local_res10[0] = (undefined8 *)CONCAT71(local_res10[0]._1_7_,(char)uVar3); + pIVar12 = param_3; + } + local_c8 = (uint *)(local_b8 + 8); + plVar4 = (longlong *)(local_b8 + 8); + FUN_140095270(plVar4); + if ((local_a8 != (undefined8 *)0x0) && (local_a0._4_4_ < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + goto LAB_14008d085; + case 0x26: + FUN_1400806d0((undefined4 *)local_b8); + local_88 = Proud::AddrPort::vftable; + local_78 = 0; + local_90[0] = 0; + local_90[1] = 0; + local_80[0] = (word)DAT_1401553d0; + local_80[1] = DAT_1401553d0._2_2_; + local_7c = DAT_1401553d4; + pIVar12 = (IMAGE_DOS_HEADER *)local_b8; + uVar3 = FUN_1400826b0((longlong *)param_1[0x29],(uint *)param_2,(int *)pIVar12, + (ulonglong)param_4); + if ((char)uVar3 != '\0') { + local_78 = param_2->e_program[0]; + local_80 = *(word (*) [2])(param_2->e_res2_10_ + 8); + local_7c = (undefined2)param_2->e_lfanew; + local_90._0_4_ = *(undefined4 *)param_2->e_res2_10_; + pIVar10 = (IMAGE_DOS_HEADER *)local_b8; + param_4 = local_res20; + uVar3 = FUN_14008ccf0(param_1,pIVar10,param_3,local_res20); + local_res10[0] = (undefined8 *)CONCAT71(local_res10[0]._1_7_,(char)uVar3); + pIVar12 = param_3; + } + local_c8 = (uint *)(local_b8 + 8); + plVar4 = (longlong *)(local_b8 + 8); + FUN_140095270(plVar4); + if ((local_a8 != (undefined8 *)0x0) && (local_a0._4_4_ < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } +LAB_14008d085: + puVar6 = (uint *)0x0; + param_3 = pIVar12; + if ((char)local_res10[0] != '\x01') { + if ((char)local_res10[0] == '\0') goto switchD_14008cd77_caseD_3; + goto LAB_14008d3b5; + } + break; + case 0x27: + FUN_140089640((longlong)param_1,param_2,(longlong *)param_3,param_4); + break; + case 0x28: + FUN_140085a50((longlong)param_1,(uint *)param_2,(longlong)param_3,param_4); + } + if (*(longlong *)¶m_2->e_cparhdr == 0) { + lVar15._0_2_ = param_2->e_sp; + lVar15._2_2_ = param_2->e_csum; + lVar15._4_2_ = param_2->e_ip; + lVar15._6_2_ = param_2->e_cs; + if (lVar15 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(plVar4,pIVar10,param_3,param_4); + } + uVar16._0_2_ = param_2->e_lfarlc; + uVar16._2_2_ = param_2->e_ovno; + } + else { + uVar16 = *(uint *)(*(longlong *)¶m_2->e_cparhdr + 0x18); + } + uVar9 = *(int *)param_2 >> 0x1f & 7; + uVar1 = (int)(*(int *)param_2 + uVar9) >> 3; + puVar6 = (uint *)(ulonglong)uVar1; + if (((uVar16 == uVar1) || (puVar6 = (uint *)(ulonglong)local_bc, local_bc == 0x24)) || + (local_bc == 0x25)) goto LAB_14008d3b5; + FUN_140030200((ulonglong)uVar16,(ulonglong)uVar9,param_3,param_4); + local_c8 = (uint *)PTR_DAT_140155010; + local_c0 = FUN_140030080(L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_ProudNetLayer"); + uVar16 = 0; + uVar7 = 0; + if ((local_c8 != (uint *)0x0) && (uVar7 = 0, local_c8 != (uint *)PTR_DAT_140155010)) { + uVar7 = (ulonglong)local_c8[-2]; + } + uVar1 = local_c0; + if ((((int)local_c0 <= (int)uVar7) && (uVar1 = uVar16, local_c8 != (uint *)0x0)) && + (local_c8 != (uint *)PTR_DAT_140155010)) { + uVar1 = local_c8[-2]; + } + uVar9 = 1; + if (1 < (int)uVar1) { + uVar9 = uVar1; + } + if ((local_c8 != (uint *)0x0) && (local_c8 != (uint *)PTR_DAT_140155010)) { + uVar16 = local_c8[-2]; + } + if ((int)uVar16 < (int)uVar9) { + if (local_c8 == (uint *)0x0) { + local_c8 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar9 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar9 == 0) { + FUN_140003240((longlong *)&local_c8,PTR_DAT_140155010,uVar7,0); + } + else { + uVar16 = 0; + if ((local_c8 != (uint *)0x0) && (local_c8 != (uint *)PTR_DAT_140155010)) { + uVar16 = local_c8[-2]; + } + if (uVar9 != uVar16) { + puVar6 = (uint *)FUN_140030280((longlong)(int)uVar9 * 2 + 10); + uVar7 = 0; + uVar16 = 0; + if (puVar6 != (uint *)0x0) { + *puVar6 = 0; + puVar6[1] = 1; + } + *puVar6 = uVar9; + if ((local_c8 != (uint *)0x0) && (local_c8 != (uint *)PTR_DAT_140155010)) { + uVar16 = local_c8[-2]; + } + puVar11 = (uint *)PTR_DAT_140155010; + if ((int)uVar9 < (int)uVar16) { + uVar13 = (ulonglong)uVar9; +LAB_14008d202: + if (local_c8 != (uint *)0x0) { + puVar11 = local_c8; + } + } + else { + uVar13 = uVar7; + if (local_c8 != (uint *)0x0) { + if (local_c8 != (uint *)PTR_DAT_140155010) { + uVar13 = (ulonglong)local_c8[-2]; + } + goto LAB_14008d202; + } + } + FUN_1400300b0(puVar6 + 2,puVar11,(int)uVar13); + FUN_140003240((longlong *)&local_c8,puVar11,uVar13,uVar7); + local_c8 = puVar6 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_c8); + puVar6 = local_c8; + if (local_c8 == (uint *)0x0) { + puVar6 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar6,L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_ProudNetLayer", + local_c0); + puVar6 = local_c8; + if (local_c8 == (uint *)0x0) { + puVar6 = (uint *)PTR_DAT_140155010; + } + uVar1 = FUN_140030080((short *)puVar6); + puVar14 = PTR_DAT_140155010; + puVar6 = (uint *)0x0; + uVar16 = 0; + if (0 < (int)uVar1) { + uVar16 = uVar1; + } + puVar11 = puVar6; + if ((local_c8 != (uint *)0x0) && (puVar11 = (uint *)0x0, local_c8 != (uint *)PTR_DAT_140155010)) { + puVar11 = (uint *)(ulonglong)local_c8[-2]; + } + if (((int)uVar16 < (int)puVar11) || (uVar16 = 0, local_c8 == (uint *)0x0)) { +LAB_14008d299: + if (((local_c8 != (uint *)PTR_DAT_140155010) && (local_c8 != (uint *)0x0)) && + (puVar11 = local_c8 + -2, puVar11 != (uint *)0x0)) { + *puVar11 = uVar16; + *(short *)((longlong)local_c8 + (longlong)(int)uVar16 * 2) = 0; + } + } + else if (local_c8 != (uint *)PTR_DAT_140155010) { + uVar16 = local_c8[-2]; + goto LAB_14008d299; + } + iVar2 = FUN_14003fcd0((longlong)param_2,puVar11,puVar14,0); + local_res10[0] = (undefined8 *)FUN_140065820((longlong)param_2,puVar11,puVar14,puVar6); + local_b8._0_8_ = Proud::CFastArray::vftable; + local_b8._8_2_ = 0; + local_b8._10_2_ = 0; + local_b8._12_2_ = 0; + local_b8._14_2_ = 0; + local_a8 = (undefined8 *)0x0; + local_a0._0_2_ = 0; + local_a0._2_2_ = 0; + local_a0._4_2_ = 0; + local_a0._6_2_ = 0; + local_98._0_2_ = 0; + local_98._2_2_ = 0; + local_98._4_2_ = 0; + local_98._6_2_ = 0; + if (iVar2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14001bc70((longlong)local_b8,iVar2,(SIZE_T)puVar14); + puVar8 = local_a8; + if ((int)local_a0 == 0) { + puVar8 = (undefined8 *)0x0; + } + FUN_14001bd30(puVar8,local_res10[0],(longlong)iVar2); + local_b8._0_8_ = Proud::ByteArray::vftable; + ppuVar17 = &local_c8; + plVar4 = FUN_14003c120((longlong *)local_res10,0x1f,(ulonglong)*(uint *)param_2->e_res2_10_, + (longlong *)ppuVar17,(longlong)local_b8); + lVar15 = *(longlong *)param_1[0x29]; + (**(code **)(lVar15 + 0x80))(); + puVar8 = (undefined8 *)local_b8; + FUN_14003b870(puVar8); + puVar6 = local_c8; + if (((local_c8 != (uint *)0x0) && (local_c8 != (uint *)PTR_DAT_140155010)) && + (puVar11 = local_c8 + -2, puVar11 != (uint *)0x0)) { + piVar5 = (int *)FUN_140030200(puVar8,plVar4,lVar15,ppuVar17); + local_68 = (undefined **)piVar5; + FUN_14002e6e0(piVar5); + local_60 = 1; + puVar6 = puVar6 + -1; + *puVar6 = *puVar6 - 1; + if (*puVar6 == 0) { + FUN_1400302f0(puVar11); + } + puVar6 = (uint *)FUN_14002e770((longlong)piVar5); + } +LAB_14008d3b5: + return CONCAT71((int7)((ulonglong)puVar6 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008d450.c b/decomp/Agent_Release_x64/full/functions/0x14008d450.c new file mode 100644 index 00000000..c12a6201 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008d450.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008d450 FUN_14008d450 + * Pseudocode, not original source. */ + +void FUN_14008d450(longlong *param_1,IMAGE_DOS_HEADER *param_2,IMAGE_DOS_HEADER *param_3, + IMAGE_DOS_HEADER *param_4) + +{ + int iVar1; + int iVar2; + longlong *plVar3; + IMAGE_DOS_HEADER *pIVar4; + int iVar5; + IMAGE_DOS_HEADER *pIVar6; + IMAGE_DOS_HEADER *pIVar7; + + iVar5 = 0; + plVar3 = param_1; + pIVar4 = param_2; + pIVar6 = param_3; + pIVar7 = param_4; + while( true ) { + iVar2._0_2_ = param_3->e_lfarlc; + iVar2._2_2_ = param_3->e_ovno; + if (iVar5 == iVar2) { + return; + } + if ((iVar5 < 0) || (iVar2 <= iVar5)) break; + pIVar4 = (IMAGE_DOS_HEADER *)(*(longlong *)¶m_3->e_sp + (longlong)iVar5 * 0x48); + iVar2 = *(int *)(*(longlong *)¶m_3->e_sp + (longlong)iVar5 * 0x48); + if ((int)(iVar2 + (iVar2 >> 0x1f & 7U)) >> 3 != 0) { + FUN_14005ed30((longlong *)param_1[0x29],(wchar_t *)param_2, + "ri.m_unsafeMessage.GetReadOffset() == 0",2); + } + plVar3 = param_1; + pIVar6 = param_2; + pIVar7 = param_4; + FUN_14008ccf0(param_1,pIVar4,param_2,param_4); + iVar1._0_2_ = param_3->e_lfarlc; + iVar1._2_2_ = param_3->e_ovno; + if (iVar1 <= iVar5) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar3,pIVar4,pIVar6,pIVar7); + } + iVar5 = iVar5 + 1; + } + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar3,pIVar4,pIVar6,pIVar7); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008d500.c b/decomp/Agent_Release_x64/full/functions/0x14008d500.c new file mode 100644 index 00000000..0278be5d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008d500.c @@ -0,0 +1,273 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008d500 FUN_14008d500 + * Pseudocode, not original source. */ + +void FUN_14008d500(byte **param_1,longlong param_2,IMAGE_DOS_HEADER *param_3, + IMAGE_DOS_HEADER *param_4) + +{ + undefined4 uVar1; + IMAGE_DOS_HEADER *pIVar2; + int iVar3; + int *piVar4; + IMAGE_DOS_HEADER *pIVar5; + IMAGE_DOS_HEADER *pIVar6; + undefined8 uVar7; + undefined8 *puVar8; + longlong *plVar9; + byte *pbVar10; + byte **ppbVar11; + word *pwVar12; + int iVar13; + byte *pbVar14; + IMAGE_DOS_HEADER *pIVar15; + IMAGE_DOS_HEADER *pIVar16; + longlong lVar17; + undefined1 local_170 [8]; + IMAGE_DOS_HEADER *local_168; + longlong local_160; + undefined **local_158; + byte local_150 [4]; + word local_14c; + undefined **local_148; + word local_140 [4]; + undefined **local_138; + byte local_130 [4]; + word local_12c; + undefined **local_128; + undefined4 local_120; + word local_11c; + longlong local_118; + undefined **local_110; + word local_108 [2]; + word local_104; + undefined **local_100; + byte local_f8 [4]; + word local_f4; + undefined **local_f0; + byte local_e8 [4]; + word local_e4; + word *local_e0; + byte local_d8; + int *local_d0; + byte local_c8; + int *local_c0; + byte local_b8; + byte *local_b0; + byte local_a8 [8]; + IMAGE_DOS_HEADER *local_a0; + byte local_98 [16]; + int *local_88; + undefined1 local_80; + word *local_78; + undefined1 local_70; + word *local_68; + undefined1 local_60; + undefined8 local_58; + + local_58 = 0xfffffffffffffffe; + pbVar14 = (byte *)0x0; + pbVar10 = param_3->e_program; + if (param_3 == (IMAGE_DOS_HEADER *)0x0) { + pbVar10 = pbVar14; + } + plVar9 = &local_118; + pIVar5 = param_3; + pIVar6 = param_4; + FUN_14009c480(plVar9,(longlong)pbVar10); + if (*(int *)(param_2 + 8) < 1) { + pwVar12 = param_3[1].e_res2_10_; + local_68 = pwVar12; + FUN_14002e6e0((int *)pwVar12); + local_60 = 1; + param_3[2].e_program[0] = 0; + FUN_14009c6f0((longlong)param_3,pbVar10,(undefined **)pIVar5,pIVar6); + FUN_14002e770((longlong)pwVar12); + goto LAB_14008db0d; + } + local_158 = Proud::AddrPort::vftable; + local_150[0] = 0; + local_150[1] = 0; + local_150[2] = 0; + local_150[3] = 0; + local_14c = 0; + local_160 = 0; + local_148 = Proud::AddrPort::vftable; + local_140[0] = 0; + local_140[1] = 0; + local_140[2] = 0; + FUN_140030200(plVar9,pbVar10,pIVar5,pIVar6); + local_168 = (IMAGE_DOS_HEADER *)PTR_DAT_140155010; + piVar4 = (int *)(**(code **)(*(longlong *)param_1[0x29] + 0x58))(); + local_c0 = piVar4; + FUN_14002e6e0(piVar4); + local_b8 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)param_1[0x29] + 200)) + (param_1[0x29],L"Proud::CNetThreads_S::NetWorkerThread_UdpRecvCompletionCase"); + } + lVar17 = (**(code **)(*(longlong *)(param_1[0x29] + 0x118) + 8))(); + local_f0 = Proud::AddrPort::vftable; + local_e8 = *(byte (*) [4])(param_2 + 0x30); + local_e4 = *(word *)(param_2 + 0x34); + pIVar5 = (IMAGE_DOS_HEADER *)FUN_14003fd00((longlong)param_1[0x29],(longlong)&local_f0); + local_100 = Proud::AddrPort::vftable; + local_f8 = *(byte (*) [4])(param_2 + 0x30); + local_f4 = *(word *)(param_2 + 0x34); + local_170._0_4_ = FUN_140040c60((longlong)param_1[0x29],(longlong)&local_100); + uVar1 = *(undefined4 *)(param_1[0x29] + 0x22c); + if (pIVar5 != (IMAGE_DOS_HEADER *)0x0) { + FUN_14009c460((longlong)pIVar5[1].e_program); + local_140[0] = pIVar5[0xe].e_sp; + local_140[1] = pIVar5[0xe].e_csum; + local_140[2] = pIVar5[0xe].e_ip; + } + FUN_14002e770((longlong)piVar4); + local_b8 = 0; + local_e0 = param_3[1].e_res2_10_; + FUN_14002e6e0((int *)local_e0); + local_d8 = 1; + local_128 = Proud::AddrPort::vftable; + local_120 = *(undefined4 *)(param_2 + 0x30); + local_11c = *(word *)(param_2 + 0x34); + pbVar10 = pbVar14; + if (*(ulonglong **)(param_3[2].e_program + 0x10) != (ulonglong *)0x0) { + pbVar10 = (byte *)**(ulonglong **)(param_3[2].e_program + 0x10); + } + puVar8 = *(undefined8 **)(param_3[2].e_program + 0x38); + pIVar6 = (IMAGE_DOS_HEADER *)FUN_140035710((longlong)pbVar10); + pIVar16 = (IMAGE_DOS_HEADER *)&local_128; + pIVar15 = (IMAGE_DOS_HEADER *)(ulonglong)*(uint *)(param_2 + 8); + uVar7 = FUN_14009a550(puVar8,(longlong)pIVar6,*(uint *)(param_2 + 8),(longlong)pIVar16, + (char)local_170._0_4_,lVar17,&local_160,(longlong *)&local_168); + FUN_14002e770((longlong)param_3[1].e_res2_10_); + local_d8 = 0; + if ((int)uVar7 == 0) { + if (pIVar5 != (IMAGE_DOS_HEADER *)0x0) { + *(longlong *)(param_1[0x29] + 0x600) = *(longlong *)(param_1[0x29] + 0x600) + 1; + *(longlong *)(param_1[0x29] + 0x640) = + *(longlong *)(param_1[0x29] + 0x640) + (longlong)*(int *)(local_160 + 0x40); + uVar7 = (**(code **)(*(longlong *)(param_1[0x29] + 0x118) + 8))(); + pIVar5[3].e_lfarlc = (short)uVar7; + pIVar5[3].e_ovno = (short)((ulonglong)uVar7 >> 0x10); + pIVar5[3].e_res_4_[0] = (short)((ulonglong)uVar7 >> 0x20); + pIVar5[3].e_res_4_[1] = (short)((ulonglong)uVar7 >> 0x30); + uVar7 = (**(code **)(*(longlong *)(param_1[0x29] + 0x118) + 8))(); + *(undefined8 *)(pIVar5[3].e_res2_10_ + 8) = uVar7; + FUN_1400700b0((longlong)param_4,0,pIVar15,pIVar16); + if (*(uint *)(local_160 + 0x40) != 0) { + pbVar14 = *(byte **)(local_160 + 0x38); + } + FUN_1400959c0((longlong)pIVar5,(longlong)pbVar14,(ulonglong)*(uint *)(local_160 + 0x40), + (longlong)&local_148,uVar1,(longlong)param_4); + pIVar6 = pIVar5; + pIVar16 = param_3; + FUN_14008d450((longlong *)param_1,pIVar5,param_4,param_3); + pIVar15 = param_4; + goto LAB_14008da1c; + } + FUN_1400700b0((longlong)param_4,0,pIVar15,pIVar16); + FUN_14009e8c0(&local_b0); + local_b0 = pbVar14; + if (*(int *)(local_160 + 0x40) != 0) { + local_b0 = *(byte **)(local_160 + 0x38); + } + local_a8._0_4_ = *(undefined4 *)(local_160 + 0x40); + local_98[0] = 0; + local_98[1] = 0; + local_98[2] = 0; + local_98[3] = 0; + pIVar6 = (IMAGE_DOS_HEADER *)local_170; + ppbVar11 = &local_b0; + local_a0 = param_4; + local_98._4_4_ = uVar1; + puVar8 = FUN_14009f250((longlong *)ppbVar11,(undefined4 *)pIVar6,pIVar15,pIVar16); + if (-1 < (int)puVar8) { + iVar3._0_2_ = param_4->e_lfarlc; + iVar3._2_2_ = param_4->e_ovno; + while (iVar13 = (int)pbVar14, iVar13 != iVar3) { + if ((iVar13 < 0) || (iVar3 <= iVar13)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(ppbVar11,pIVar6,pIVar15,pIVar16); + } + pIVar5 = (IMAGE_DOS_HEADER *)(*(longlong *)¶m_4->e_sp + (longlong)iVar13 * 0x48); + FUN_1400802d0((int *)pIVar5,0,pIVar15,pIVar16); + local_138 = Proud::AddrPort::vftable; + local_130[0] = local_150[0]; + local_130[1] = local_150[1]; + local_130[2] = local_150[2]; + local_130[3] = local_150[3]; + local_12c = local_14c; + pIVar6 = (IMAGE_DOS_HEADER *)&local_138; + ppbVar11 = param_1; + pIVar16 = param_3; + FUN_1400899e0((longlong)param_1,(longlong)pIVar6,(uint *)pIVar5,(longlong)param_3); + iVar3._0_2_ = param_4->e_lfarlc; + iVar3._2_2_ = param_4->e_ovno; + if (iVar3 <= iVar13) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(ppbVar11,pIVar6,pIVar5,pIVar16); + } + pIVar15 = pIVar5; + pbVar14 = (byte *)(ulonglong)(iVar13 + 1); + } + } + } + else { + if ((int)uVar7 == 2) { + piVar4 = (int *)(**(code **)(*(longlong *)param_1[0x29] + 0x58))(); + local_d0 = piVar4; + FUN_14002e6e0(piVar4); + local_c8 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)param_1[0x29] + 200)) + (param_1[0x29],L"Proud::CNetThreads_S::NetWorkerThread_UdpRecvCompletionCase"); + } + pIVar15 = local_168; + if (local_168 == (IMAGE_DOS_HEADER *)0x0) { + pIVar15 = (IMAGE_DOS_HEADER *)PTR_DAT_140155010; + } + local_110 = Proud::AddrPort::vftable; + local_108 = *(word (*) [2])(param_2 + 0x30); + local_104 = *(word *)(param_2 + 0x34); + pIVar6 = (IMAGE_DOS_HEADER *)&local_110; + FUN_140052260((longlong *)param_1[0x29],(longlong)pIVar6,(short *)pIVar15); + FUN_14002e770((longlong)piVar4); + local_c8 = 0; + } +LAB_14008da1c: + if (pIVar5 != (IMAGE_DOS_HEADER *)0x0) { + FUN_14009c470((longlong)pIVar5[1].e_program); + } + } + pwVar12 = param_3[1].e_res2_10_; + local_78 = pwVar12; + FUN_14002e6e0((int *)pwVar12); + local_70 = 1; + param_3[2].e_program[0] = 0; + FUN_14009c6f0((longlong)param_3,pIVar6,(undefined **)pIVar15,pIVar16); + FUN_14002e770((longlong)pwVar12); + pIVar5 = local_168; + if (((local_168 != (IMAGE_DOS_HEADER *)0x0) && + (local_168 != (IMAGE_DOS_HEADER *)PTR_DAT_140155010)) && + (pIVar2 = local_168 + -1, pIVar2->e_program + 0x38 != (byte *)0x0)) { + piVar4 = (int *)FUN_140030200(pwVar12,pIVar6,pIVar15,pIVar16); + local_88 = piVar4; + FUN_14002e6e0(piVar4); + local_80 = 1; + pbVar14 = pIVar5[-1].e_program + 0x3c; + *(int *)pbVar14 = *(int *)pbVar14 + -1; + if (*(int *)pbVar14 == 0) { + FUN_1400302f0(pIVar2->e_program + 0x38); + } + FUN_14002e770((longlong)piVar4); + } + local_168 = (IMAGE_DOS_HEADER *)PTR_DAT_140155010; + if (local_160 != 0) { + FUN_140086680(local_160,pIVar6,(SIZE_T)pIVar15); + } +LAB_14008db0d: + FUN_14009c490(&local_118); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008db40.c b/decomp/Agent_Release_x64/full/functions/0x14008db40.c new file mode 100644 index 00000000..b3b9eb40 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008db40.c @@ -0,0 +1,237 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008db40 FUN_14008db40 + * Pseudocode, not original source. */ + +void FUN_14008db40(longlong *param_1,longlong param_2,IMAGE_DOS_HEADER *param_3, + IMAGE_DOS_HEADER *param_4) + +{ + int *piVar1; + bool bVar2; + short *psVar3; + uint uVar4; + int *piVar5; + int *piVar6; + longlong *plVar7; + int *piVar8; + word *pwVar9; + undefined8 *puVar10; + short **ppsVar11; + longlong lVar12; + byte *pbVar13; + wchar_t *pwVar14; + undefined *puVar15; + IMAGE_DOS_HEADER *pIVar16; + ulonglong uVar17; + short *psVar18; + undefined8 uVar19; + undefined *puVar20; + undefined8 uVar21; + short *local_res10; + longlong local_res18 [2]; + undefined8 in_stack_fffffffffffffec0; + undefined4 uVar22; + undefined *local_118; + undefined **local_110; + undefined8 local_108; + undefined8 local_100; + undefined8 local_f8; + undefined8 local_f0; + undefined **local_e8; + undefined8 local_e0; + undefined8 local_d8; + undefined8 local_d0; + undefined8 local_c8; + undefined **local_c0; + undefined8 local_b8; + undefined8 local_b0; + undefined8 local_a8; + undefined8 local_a0; + int *local_98; + undefined1 local_90; + int *local_88; + undefined1 local_80; + int *local_78; + undefined1 local_70; + int *local_68; + undefined1 local_60; + int *local_58; + undefined1 local_50; + undefined8 local_48; + + uVar22 = (undefined4)((ulonglong)in_stack_fffffffffffffec0 >> 0x20); + local_48 = 0xfffffffffffffffe; + if (param_3 == (IMAGE_DOS_HEADER *)0x0) { + pbVar13 = (byte *)0x0; + } + else { + pbVar13 = param_3[1].e_program; + } + pIVar16 = param_4; + FUN_14009c480(local_res18,(longlong)pbVar13); + piVar5 = (int *)(**(code **)(*(longlong *)¶m_3[2].e_cparhdr + 0x10))(); + FUN_14002e6e0(piVar5); + uVar4 = *(uint *)(param_2 + 8); + if ((int)uVar4 < 1) { + *(undefined1 *)(*(longlong *)(param_3[0xe].e_program + 8) + 0x40) = 0; + FUN_14002e770((longlong)piVar5); + piVar6 = (int *)(**(code **)(*(longlong *)param_1[0x29] + 0x58))(); + local_88 = piVar6; + FUN_14002e6e0(piVar6); + local_80 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)param_1[0x29] + 200)) + ((longlong *)param_1[0x29], + L"Proud::CNetThreads_S::NetWorkerThread_TcpRecvCompletionCase"); + } + local_108 = 0; + local_100 = 0; + local_f8 = 0; + local_f0 = 0; + local_110 = Proud::ByteArray::vftable; + uVar19 = 3; + uVar21 = 0xb; + FUN_140061820((SIZE_T *)param_1[0x29],(uint *)param_3,0xb,3,(longlong)&local_110, + L"Proud::CNetThreads_S::NetWorkerThread_TcpRecvCompletionCase", + *(undefined4 *)(param_2 + 0xc)); + FUN_14003b870(&local_110); + pwVar9 = param_3[1].e_res_4_ + 2; + pwVar14 = L"Proud::CNetThreads_S::NetWorkerThread_TcpRecvCompletionCase"; + (**(code **)(*(longlong *)pwVar9 + 0x40))(); + if (*(longlong *)(param_1[0x29] + 0x17f0) != 0) { + FUN_140030200(pwVar9,pwVar14,uVar21,uVar19); + local_res10 = (short *)PTR_DAT_140155010; + puVar10 = (undefined8 *)(*(longlong *)(param_3[0xe].e_program + 8) + 0x128); + plVar7 = (longlong *)(**(code **)*puVar10)(puVar10,&local_118); + puVar20 = (undefined *)*plVar7; + if ((undefined *)*plVar7 == (undefined *)0x0) { + puVar20 = PTR_DAT_140155010; + } + uVar17 = (ulonglong)*(uint *)(param_3[0xd].e_program + 0x38); + puVar15 = &DAT_140103ee0; + ppsVar11 = &local_res10; + FUN_14001b7a0((longlong *)ppsVar11, + L"서버: 클라이언트 연결 해제. HostID=%d, Addr=%s, ErrorCode = %d", + uVar17,puVar20); + if (((local_118 != (undefined *)0x0) && (local_118 != PTR_DAT_140155010)) && + (local_118 + -8 != (undefined *)0x0)) { + piVar8 = (int *)FUN_140030200(ppsVar11,puVar15,uVar17,puVar20); + local_68 = piVar8; + FUN_14002e6e0(piVar8); + local_60 = 1; + piVar1 = (int *)(local_118 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_118 + -8); + } + FUN_14002e770((longlong)piVar8); + } + psVar3 = local_res10; + psVar18 = local_res10; + if (local_res10 == (short *)0x0) { + psVar18 = (short *)PTR_DAT_140155010; + } + uVar21 = 0; + lVar12 = *(longlong *)(param_1[0x29] + 0x17f0); + FUN_14008f2e0(lVar12,0,psVar18,puVar20); + if (((psVar3 != (short *)0x0) && (psVar3 != (short *)PTR_DAT_140155010)) && + (psVar3 + -4 != (short *)0x0)) { + piVar8 = (int *)FUN_140030200(lVar12,uVar21,psVar18,puVar20); + local_98 = piVar8; + FUN_14002e6e0(piVar8); + local_90 = 1; + piVar1 = (int *)(psVar3 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar3 + -4); + } + FUN_14002e770((longlong)piVar8); + } + } +LAB_14008e024: + bVar2 = false; + FUN_14002e770((longlong)piVar6); + } + else { + puVar10 = (undefined8 *) + FUN_140035710(*(longlong *)(*(longlong *)(param_3[0xe].e_program + 8) + 0x110)); + uVar17 = (ulonglong)uVar4; + FUN_1400bbc90((longlong *)(*(longlong *)(param_3[0xe].e_program + 8) + 200),puVar10,uVar17); + FUN_1400700b0((longlong)param_4,0,uVar17,pIVar16); + uVar4 = FUN_140095950((longlong)param_3,(longlong)param_4,uVar17,pIVar16); + if (uVar4 != 0) { + *(undefined1 *)(*(longlong *)(param_3[0xe].e_program + 8) + 0x40) = 0; + FUN_14002e770((longlong)piVar5); + piVar5 = (int *)(**(code **)(*(longlong *)param_1[0x29] + 0x58))(); + local_78 = piVar5; + FUN_14002e6e0(piVar5); + local_70 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)param_1[0x29] + 200)) + ((longlong *)param_1[0x29], + L"Proud::CNetThreads_S::NetWorkerThread_TcpRecvCompletionCase"); + } + local_b8 = 0; + local_b0 = 0; + local_a8 = 0; + local_a0 = 0; + local_c0 = Proud::ByteArray::vftable; + FUN_140061820((SIZE_T *)param_1[0x29],(uint *)param_3,(ulonglong)uVar4,3,(longlong)&local_c0, + L"Proud::CNetThreads_S::NetWorkerThread_TcpRecvCompletionCase",0); + FUN_14003b870(&local_c0); + FUN_14002e770((longlong)piVar5); + goto LAB_14008e03b; + } + FUN_14002e770((longlong)piVar5); + uVar21 = (**(code **)(*(longlong *)(param_1[0x29] + 0x118) + 8))(); + param_3[3].e_magic[0] = (char)uVar21; + param_3[3].e_magic[1] = (char)((ulonglong)uVar21 >> 8); + param_3[3].e_cblp = (short)((ulonglong)uVar21 >> 0x10); + param_3[3].e_cp = (short)((ulonglong)uVar21 >> 0x20); + param_3[3].e_crlc = (short)((ulonglong)uVar21 >> 0x30); + *(longlong *)(param_1[0x29] + 0x500) = *(longlong *)(param_1[0x29] + 0x500) + 1; + *(longlong *)(param_1[0x29] + 0x540) = + *(longlong *)(param_1[0x29] + 0x540) + (longlong)*(int *)(param_2 + 8); + uVar21 = 0; + pIVar16 = param_3; + FUN_14008d450(param_1,param_3,param_4,(IMAGE_DOS_HEADER *)0x0); + bVar2 = true; + FUN_14002e6e0(piVar5); + *(undefined1 *)(*(longlong *)(param_3[0xe].e_program + 8) + 0x40) = 0; + uVar4 = FUN_14009bf20(*(longlong *)(param_3[0xe].e_program + 8),pIVar16,(undefined **)param_4, + uVar21); + if (uVar4 != 0) { + FUN_14002e770((longlong)piVar5); + piVar6 = (int *)(**(code **)(*(longlong *)param_1[0x29] + 0x58))(); + local_58 = piVar6; + FUN_14002e6e0(piVar6); + local_50 = 1; + if (DAT_14015bfcf != '\0') { + (**(code **)(*(longlong *)param_1[0x29] + 200)) + ((longlong *)param_1[0x29], + L"Proud::CNetThreads_S::NetWorkerThread_TcpRecvCompletionCase"); + } + local_e0 = 0; + local_d8 = 0; + local_d0 = 0; + local_c8 = 0; + local_e8 = Proud::ByteArray::vftable; + (**(code **)(*(longlong *)(param_3[1].e_res_4_ + 2) + 0x38)) + (param_3[1].e_res_4_ + 2,0xb,3,&local_e8, + L"Proud::CNetThreads_S::NetWorkerThread_TcpRecvCompletionCase", + CONCAT44(uVar22,uVar4)); + FUN_14003b870(&local_e8); + (**(code **)(*(longlong *)(param_3[1].e_res_4_ + 2) + 0x40)) + (param_3[1].e_res_4_ + 2, + L"Proud::CNetThreads_S::NetWorkerThread_TcpRecvCompletionCase"); + goto LAB_14008e024; + } + } + if (bVar2) { + FUN_14002e770((longlong)piVar5); + } +LAB_14008e03b: + FUN_14009c490(local_res18); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008e070.c b/decomp/Agent_Release_x64/full/functions/0x14008e070.c new file mode 100644 index 00000000..a6dbb16f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008e070.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008e070 FUN_14008e070 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14008e070(longlong *param_1,undefined8 *param_2,IMAGE_DOS_HEADER *param_3, + undefined8 param_4) + +{ + int iVar1; + IMAGE_DOS_HEADER *pIVar2; + undefined1 auStack_188 [32]; + IMAGE_DOS_HEADER *local_168; + longlong *local_160; + undefined8 local_150; + ulonglong local_28; + + local_150 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_188; + local_168 = (IMAGE_DOS_HEADER *)0x0; + pIVar2 = param_3; + local_160 = param_1; + local_168 = (IMAGE_DOS_HEADER *)FUN_1400a2590((longlong *)*param_2); + if (local_168 != (IMAGE_DOS_HEADER *)0x0) { + iVar1 = *(int *)(param_2 + 2); + if (iVar1 == 2) { + FUN_14008db40(param_1,(longlong)param_2,local_168,param_3); + } + else if (iVar1 == 1) { + FUN_1400869c0((longlong)param_1,(longlong)param_2,(uint *)local_168,param_4); + } + else if (((iVar1 == 0) && (*(int *)(param_2 + 3) == -1)) && + (*(longlong *)(param_1[0x29] + 0x788) != 0)) { + FUN_140089ed0((longlong)param_1,(longlong)local_168,(longlong *)pIVar2,param_4); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008e140.c b/decomp/Agent_Release_x64/full/functions/0x14008e140.c new file mode 100644 index 00000000..68991143 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008e140.c @@ -0,0 +1,307 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008e140 FUN_14008e140 + * Pseudocode, not original source. */ + +void FUN_14008e140(IMAGE_DOS_HEADER *param_1,undefined8 param_2,IMAGE_DOS_HEADER *param_3, + IMAGE_DOS_HEADER *param_4) + +{ + int *piVar1; + byte bVar2; + uint uVar3; + short *psVar4; + bool bVar5; + HANDLE hThread; + undefined8 uVar6; + IMAGE_DOS_HEADER *pIVar7; + IMAGE_DOS_HEADER *pIVar8; + int *piVar9; + longlong lVar10; + IMAGE_DOS_HEADER *pIVar11; + IMAGE_DOS_HEADER *pIVar12; + int iVar13; + undefined4 *puVar15; + ulonglong uVar16; + short *psVar17; + ulonglong uVar18; + double dVar19; + char local_res10 [8]; + longlong *local_res18; + short *local_res20; + undefined **local_108; + IMAGE_DOS_HEADER *local_100; + IMAGE_DOS_HEADER *local_f8; + undefined8 local_f0; + undefined8 local_e8; + undefined **local_e0; + longlong *local_d8; + LPVOID local_d0; + undefined8 local_c8; + word local_c0 [4]; + undefined **local_b8; + longlong *local_b0; + LPVOID local_a8; + byte local_a0 [16]; + IMAGE_DOS_HEADER *local_90; + undefined8 local_88; + uint local_80; + byte local_78 [8]; + word local_70 [4]; + undefined **local_68; + word local_60 [2]; + word local_5c; + int *local_58; + byte local_50; + byte local_48 [16]; + ulonglong uVar14; + + local_48[0] = 0xfe; + local_48[1] = 0xff; + local_48[2] = 0xff; + local_48[3] = 0xff; + local_48[4] = 0xff; + local_48[5] = 0xff; + local_48[6] = 0xff; + local_48[7] = 0xff; + hThread = GetCurrentThread(); + pIVar12 = (IMAGE_DOS_HEADER *)0x0; + SetThreadPriorityBoost(hThread,0); + pIVar11 = (IMAGE_DOS_HEADER *)local_res10; + FUN_1400bbb40(pIVar11); + local_b8 = Proud::CFastArray::vftable; + uVar16 = 0; + local_b0 = (longlong *)0x0; + local_a8 = (LPVOID)0x0; + local_a0[0] = 0; + local_a0[1] = 0; + local_a0[2] = 0; + local_a0[3] = 0; + local_a0[4] = 0; + local_a0[5] = 0; + local_a0[6] = 0; + local_a0[7] = 0; + local_a0[8] = 0; + local_a0[9] = 0; + local_a0[10] = 0; + local_a0[0xb] = 0; + local_a0[0xc] = 0; + local_a0[0xd] = 0; + local_a0[0xe] = 0; + local_a0[0xf] = 0; + local_d8 = (longlong *)0x0; + local_d0 = (LPVOID)0x0; + local_c8._0_2_ = 0; + local_c8._2_2_ = 0; + local_c8._4_2_ = 0; + local_c8._6_2_ = 0; + local_e0 = Proud::CReceivedMessageList::vftable; + local_c0[0] = 1000; + local_c0[1] = 0; + local_c0[2] = 1; + local_c0[3] = 0; + bVar5 = FUN_14002fb90(pIVar11,pIVar12,param_3,param_4); + if (bVar5) { + local_108 = Proud::CFastArray::vftable; + local_100 = (IMAGE_DOS_HEADER *)0x0; + local_f8 = (IMAGE_DOS_HEADER *)0x0; + local_f0 = 0; + local_e8 = 0; + pIVar12 = (IMAGE_DOS_HEADER *)0xa; + FUN_1400862c0((longlong)&local_108,10,param_3,param_4); + local_res18 = (longlong *)((ulonglong)local_res18 & 0xffffffff00000000); + while (param_1[2].e_program[0] == 0) { + param_4 = (IMAGE_DOS_HEADER *)(ulonglong)DAT_140155068; + param_3 = (IMAGE_DOS_HEADER *)&local_res18; + uVar6 = FUN_140038d10(*(char **)(*(longlong *)(param_1[2].e_program + 8) + 0x788), + (longlong *)&local_108,(uint *)param_3,param_4); + pIVar12 = *(IMAGE_DOS_HEADER **)(*(longlong *)(param_1[2].e_program + 8) + 0x118); + dVar19 = (double)(**(code **)&pIVar12->e_cparhdr)(); + pIVar11 = *(IMAGE_DOS_HEADER **)(param_1[2].e_program + 8); + if (*(double *)(pIVar11[0x10].e_res_4_ + 2) <= dVar19 - *(double *)(param_1 + 2) && + dVar19 - *(double *)(param_1 + 2) != *(double *)(pIVar11[0x10].e_res_4_ + 2)) { + *(double *)(param_1 + 2) = dVar19; + pIVar12 = (IMAGE_DOS_HEADER *)&local_b8; + pIVar11 = param_1; + FUN_140085f20((longlong)param_1,(longlong)pIVar12,param_3,(longlong)param_4); + } + if (((char)uVar6 != '\0') && (uVar14 = uVar16, uVar18 = uVar16, (uint)local_res18 != 0)) { + do { + iVar13 = (int)uVar14; + if ((iVar13 < 0) || ((int)local_f0 <= iVar13)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pIVar11,pIVar12,param_3,param_4); + } + pIVar12 = (IMAGE_DOS_HEADER *)(local_f8->e_magic + (longlong)iVar13 * 0x38); + param_3 = (IMAGE_DOS_HEADER *)&local_e0; + pIVar11 = param_1; + FUN_14008e070((longlong *)param_1,(undefined8 *)pIVar12,param_3,param_4); + if ((int)local_f0 <= iVar13) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pIVar11,pIVar12,param_3,param_4); + } + pIVar8 = (IMAGE_DOS_HEADER *)(local_f8->e_magic + uVar18); + pIVar11 = *(IMAGE_DOS_HEADER **)pIVar8; + pIVar7 = (IMAGE_DOS_HEADER *)FUN_1400a2530((longlong *)pIVar11); + if (pIVar7 != (IMAGE_DOS_HEADER *)0x0) { + uVar3._0_2_ = pIVar8->e_sp; + uVar3._2_2_ = pIVar8->e_csum; + pIVar11 = (IMAGE_DOS_HEADER *)(ulonglong)uVar3; + if (uVar3 == 2) { + param_4 = (IMAGE_DOS_HEADER *)&local_e0; + pIVar11 = param_1; + FUN_14008d500((byte **)param_1,(longlong)pIVar8,pIVar7,param_4); + pIVar12 = pIVar8; + param_3 = pIVar7; + } + else if (uVar3 == 1) { + pIVar11 = param_1; + FUN_1400858c0((longlong)param_1,(longlong)pIVar8,(longlong)pIVar7,param_4); + pIVar12 = pIVar8; + param_3 = pIVar7; + } + } + uVar14 = (ulonglong)(iVar13 + 1U); + uVar18 = uVar18 + 0x38; + } while (iVar13 + 1U < (uint)local_res18); + } + } + local_108 = Proud::CFastArray::vftable; + pIVar11 = local_f8; + if (local_f8 != (IMAGE_DOS_HEADER *)0x0) { + param_3 = local_100; + if (local_100 == (IMAGE_DOS_HEADER *)0x0) { + FUN_1400302f0(local_f8); + } + else { + pIVar11 = local_100; + pIVar12 = local_f8; + (**(code **)(*(longlong *)local_100 + 0x18))(); + } + } + } + else { + bVar2 = param_1[2].e_program[0]; + while (bVar2 == 0) { + local_68 = Proud::AddrPort::vftable; + local_90 = (IMAGE_DOS_HEADER *)0x0; + local_78[0] = 0; + local_78[1] = 0; + local_78[2] = 0; + local_78[3] = 0; + local_78[4] = 0; + local_78[5] = 0; + local_78[6] = 0; + local_78[7] = 0; + local_88._0_2_ = 0; + local_88._2_2_ = 0; + local_88._4_2_ = 0; + local_88._6_2_ = 0; + local_80 = 5; + local_70[0] = 0; + local_70[1] = 0; + param_3 = (IMAGE_DOS_HEADER *)(ulonglong)DAT_140155068; + local_60 = (word [2])DAT_1401553d0; + local_5c = DAT_1401553d4; + uVar6 = FUN_1400388c0(*(char **)(*(longlong *)(param_1[2].e_program + 8) + 0x788), + (longlong *)&local_90,(ulonglong)param_3,param_4); + pIVar12 = *(IMAGE_DOS_HEADER **)(*(longlong *)(param_1[2].e_program + 8) + 0x118); + dVar19 = (double)(**(code **)&pIVar12->e_cparhdr)(); + pIVar11 = *(IMAGE_DOS_HEADER **)(param_1[2].e_program + 8); + if (*(double *)(pIVar11[0x10].e_res_4_ + 2) <= dVar19 - *(double *)(param_1 + 2) && + dVar19 - *(double *)(param_1 + 2) != *(double *)(pIVar11[0x10].e_res_4_ + 2)) { + *(double *)(param_1 + 2) = dVar19; + pIVar12 = (IMAGE_DOS_HEADER *)&local_b8; + pIVar11 = param_1; + FUN_140085f20((longlong)param_1,(longlong)pIVar12,param_3,(longlong)param_4); + } + if ((char)uVar6 != '\0') { + param_3 = (IMAGE_DOS_HEADER *)&local_e0; + pIVar12 = (IMAGE_DOS_HEADER *)&local_90; + FUN_14008e070((longlong *)param_1,(undefined8 *)pIVar12,param_3,param_4); + pIVar11 = local_90; + pIVar8 = (IMAGE_DOS_HEADER *)FUN_1400a2530((longlong *)local_90); + if (pIVar8 != (IMAGE_DOS_HEADER *)0x0) { + pIVar11 = (IMAGE_DOS_HEADER *)(ulonglong)local_80; + if (local_80 == 2) { + param_4 = (IMAGE_DOS_HEADER *)&local_e0; + pIVar12 = (IMAGE_DOS_HEADER *)&local_90; + pIVar11 = param_1; + FUN_14008d500((byte **)param_1,(longlong)pIVar12,pIVar8,param_4); + param_3 = pIVar8; + } + else if (local_80 == 1) { + pIVar12 = (IMAGE_DOS_HEADER *)&local_90; + pIVar11 = param_1; + FUN_1400858c0((longlong)param_1,(longlong)pIVar12,(longlong)pIVar8,param_4); + param_3 = pIVar8; + } + } + } + bVar2 = param_1[2].e_program[0]; + } + } + if (*(longlong *)(*(longlong *)(param_1[2].e_program + 8) + 0x17f0) != 0) { + FUN_140030200(pIVar11,pIVar12,param_3,param_4); + local_res20 = (short *)PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_res20,L"%s thread 종료.", + L"Proud::CNetThreads_S::NetWorkerThread_Main",param_4); + psVar4 = local_res20; + psVar17 = local_res20; + if (local_res20 == (short *)0x0) { + psVar17 = (short *)PTR_DAT_140155010; + } + uVar6 = 0; + lVar10 = *(longlong *)(*(longlong *)(param_1[2].e_program + 8) + 0x17f0); + FUN_14008f2e0(lVar10,0,psVar17,param_4); + if (((psVar4 != (short *)0x0) && (psVar4 != (short *)PTR_DAT_140155010)) && + (psVar4 + -4 != (short *)0x0)) { + piVar9 = (int *)FUN_140030200(lVar10,uVar6,psVar17,param_4); + local_58 = piVar9; + FUN_14002e6e0(piVar9); + local_50 = 1; + piVar1 = (int *)(psVar4 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar4 + -4); + } + FUN_14002e770((longlong)piVar9); + } + } + local_e0 = Proud::CFastArray::vftable; + lVar10 = (longlong)(int)local_c8; + if (0 < (int)local_c8) { + puVar15 = (undefined4 *)((longlong)local_d0 + 0x18); + do { + local_res18 = (longlong *)(puVar15 + -4); + FUN_140095270(local_res18); + if (*(longlong *)(puVar15 + -2) != 0) { + if ((int)puVar15[1] < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *puVar15 = 0; + } + uVar16 = uVar16 + 1; + puVar15 = puVar15 + 0x12; + } while ((longlong)uVar16 < lVar10); + } + if (local_d0 != (LPVOID)0x0) { + if (local_d8 == (longlong *)0x0) { + FUN_1400302f0(local_d0); + } + else { + (**(code **)(*local_d8 + 0x18))(local_d8,local_d0); + } + } + if (local_a8 != (LPVOID)0x0) { + if (local_b0 == (longlong *)0x0) { + FUN_1400302f0(local_a8); + } + else { + (**(code **)(*local_b0 + 0x18))(local_b0,local_a8); + } + } + FUN_1400bbb70(local_res10); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008e5f0.c b/decomp/Agent_Release_x64/full/functions/0x14008e5f0.c new file mode 100644 index 00000000..3d14481c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008e5f0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008e5f0 FUN_14008e5f0 + * Pseudocode, not original source. */ + +void FUN_14008e5f0(IMAGE_DOS_HEADER *param_1,undefined8 param_2,IMAGE_DOS_HEADER *param_3, + IMAGE_DOS_HEADER *param_4) + +{ + DWORD DVar1; + char *pcVar2; + + DVar1 = GetCurrentThreadId(); + pcVar2 = "PNSrv NetWorker"; + FUN_140037ab0(DVar1,"PNSrv NetWorker"); + FUN_14008e140(param_1,pcVar2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008e620.c b/decomp/Agent_Release_x64/full/functions/0x14008e620.c new file mode 100644 index 00000000..873d6f1e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008e620.c @@ -0,0 +1,313 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008e620 FUN_14008e620 + * Pseudocode, not original source. */ + +void FUN_14008e620(int *param_1,int param_2,int *param_3) + +{ + uint uVar1; + int *piVar2; + int iVar3; + undefined8 *puVar4; + undefined8 *puVar5; + longlong lVar6; + longlong lVar7; + longlong lVar8; + longlong *plVar9; + undefined8 **ppuVar10; + int iVar11; + int iVar12; + ulonglong uVar13; + int iVar14; + longlong lVar15; + longlong lVar16; + int local_res18; + undefined8 *local_88; + undefined8 *local_80; + undefined8 *local_78; + undefined8 *local_70; + undefined8 local_68; + int *local_60; + undefined1 local_58; + + iVar12 = (int)param_3; + local_68 = 0xfffffffffffffffe; + uVar13 = (ulonglong)*(uint *)(*(longlong *)(param_1 + 0x52) + 600); + if (*(uint *)(*(longlong *)(param_1 + 0x52) + 600) != 0) { + FUN_1400b7ae0((double *)(param_1 + 0x7a),(double)uVar13 * 0.001); + } + puVar5 = operator_new(0x28); + if (puVar5 == (undefined8 *)0x0) { + puVar5 = (undefined8 *)0x0; + } + else { + param_3 = param_1; + puVar5 = FUN_140037560(puVar5,FUN_14008c770,param_1); + } + if (puVar5 == (undefined8 *)0x0) { + local_80 = (undefined8 *)0x0; + } + else { + local_80 = (undefined8 *)FUN_140030280(0x10); + local_80[1] = 1; + *local_80 = puVar5; + } + puVar5 = local_80; + FUN_140086730((longlong *)(param_1 + 0x22),(longlong *)&local_80); + puVar4 = local_80; + if (puVar5 != (undefined8 *)0x0) { + plVar9 = puVar5 + 1; + *plVar9 = *plVar9 + -1; + if (*plVar9 == 0) { + puVar5 = (undefined8 *)*local_80; + if (puVar5 != (undefined8 *)0x0) { + FUN_140037670(puVar5); + operator_delete(puVar5); + } + FUN_1400302f0(puVar4); + } + } + puVar5 = operator_new(0x28); + if (puVar5 == (undefined8 *)0x0) { + puVar5 = (undefined8 *)0x0; + } + else { + param_3 = param_1; + puVar5 = FUN_140037560(puVar5,FUN_140087da0,param_1); + } + if (puVar5 == (undefined8 *)0x0) { + local_78 = (undefined8 *)0x0; + } + else { + local_78 = (undefined8 *)FUN_140030280(0x10); + local_78[1] = 1; + *local_78 = puVar5; + } + puVar5 = local_78; + ppuVar10 = &local_78; + FUN_140086730((longlong *)(param_1 + 0x24),(longlong *)ppuVar10); + puVar4 = local_78; + if (puVar5 != (undefined8 *)0x0) { + plVar9 = puVar5 + 1; + *plVar9 = *plVar9 + -1; + if (*plVar9 == 0) { + puVar5 = (undefined8 *)*local_78; + if (puVar5 != (undefined8 *)0x0) { + FUN_140037670(puVar5); + operator_delete(puVar5); + } + FUN_1400302f0(puVar4); + } + } + iVar14 = 0; + if (0 < iVar12) { + piVar2 = param_1 + 0xe; + do { + local_70 = operator_new(0x28); + if (local_70 == (undefined8 *)0x0) { + puVar5 = (undefined8 *)0x0; + } + else { + param_3 = param_1; + puVar5 = FUN_140037560(local_70,FUN_14008e5f0,param_1); + } + if (puVar5 == (undefined8 *)0x0) { + local_70 = (undefined8 *)0x0; + } + else { + local_70 = (undefined8 *)FUN_140030280(0x10); + local_70[1] = 1; + *local_70 = puVar5; + } + puVar5 = local_70; + iVar3 = param_1[0x14]; + if (iVar3 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar11 = param_1[0x14]; + FUN_14008a2b0((longlong)piVar2,iVar11 + 1,param_3,uVar13); + iVar11 = iVar11 - iVar3; + if ((0 < iVar11) && (iVar11 = iVar11 + -1, -1 < iVar11)) { + lVar15 = (longlong)(iVar11 + iVar3 + 1) << 3; + lVar16 = (longlong)(iVar11 + iVar3) << 3; + do { + lVar6 = FUN_14003d690((longlong)piVar2); + lVar7 = FUN_14003d690((longlong)piVar2); + FUN_140086730((longlong *)(lVar15 + lVar7),(longlong *)(lVar16 + lVar6)); + lVar16 = lVar16 + -8; + lVar15 = lVar15 + -8; + iVar11 = iVar11 + -1; + } while (-1 < iVar11); + } + lVar15 = FUN_14003d690((longlong)piVar2); + ppuVar10 = &local_70; + FUN_140086730((longlong *)(lVar15 + (longlong)iVar3 * 8),(longlong *)ppuVar10); + puVar4 = local_70; + if (puVar5 != (undefined8 *)0x0) { + plVar9 = puVar5 + 1; + *plVar9 = *plVar9 + -1; + if (*plVar9 == 0) { + puVar5 = (undefined8 *)*local_70; + if (puVar5 != (undefined8 *)0x0) { + FUN_140037670(puVar5); + operator_delete(puVar5); + } + FUN_1400302f0(puVar4); + } + } + iVar14 = iVar14 + 1; + } while (iVar14 < iVar12); + } + local_60 = param_1; + FUN_14002e6e0(param_1); + local_58 = 1; + local_res18 = 0; + if (0 < param_2) { + do { + puVar5 = operator_new(0x28); + if (puVar5 == (undefined8 *)0x0) { + puVar5 = (undefined8 *)0x0; + } + else { + param_3 = param_1; + puVar5 = FUN_140037560(puVar5,FUN_14008c7a0,param_1); + } + if (puVar5 == (undefined8 *)0x0) { + local_88 = (undefined8 *)0x0; + } + else { + local_88 = (undefined8 *)FUN_140030280(0x10); + local_88[1] = 1; + *local_88 = puVar5; + } + iVar12 = param_1[0x1e]; + lVar15 = (longlong)iVar12; + if (iVar12 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar14 = param_1[0x1e]; + uVar1 = iVar14 + 1; + ppuVar10 = (undefined8 **)(ulonglong)uVar1; + FUN_14008a2b0((longlong)(param_1 + 0x18),uVar1,param_3,uVar13); + iVar14 = iVar14 - iVar12; + if ((0 < iVar14) && (iVar14 = iVar14 + -1, lVar16 = (longlong)iVar14, -1 < iVar14)) { + lVar6 = (lVar16 + lVar15) * 8 + 8; + do { + lVar7 = FUN_14003d690((longlong)(param_1 + 0x18)); + lVar8 = FUN_14003d690((longlong)(param_1 + 0x18)); + plVar9 = (longlong *)(lVar6 + lVar8); + ppuVar10 = *(undefined8 ***)(lVar7 + -8 + lVar6); + if (ppuVar10 != (undefined8 **)*plVar9) { + if (ppuVar10 != (undefined8 **)0x0) { + ppuVar10 = (undefined8 **)((longlong)ppuVar10[1] + 1); + *(undefined8 ***)(*(longlong *)(lVar7 + -8 + lVar6) + 8) = ppuVar10; + } + puVar5 = (undefined8 *)0x0; + if ((*plVar9 != 0) && + (*(longlong *)(*plVar9 + 8) = *(longlong *)(*plVar9 + 8) + -1, + *(longlong *)(*plVar9 + 8) == 0)) { + puVar5 = (undefined8 *)*plVar9; + } + *plVar9 = *(longlong *)(lVar7 + -8 + lVar6); + if (puVar5 != (undefined8 *)0x0) { + puVar4 = (undefined8 *)*puVar5; + if (puVar4 != (undefined8 *)0x0) { + FUN_140037670(puVar4); + operator_delete(puVar4); + } + FUN_1400302f0(puVar5); + } + } + lVar6 = lVar6 + -8; + lVar16 = lVar16 + -1; + } while (-1 < lVar16); + } + lVar16 = FUN_14003d690((longlong)(param_1 + 0x18)); + if (local_88 != *(undefined8 **)(lVar16 + lVar15 * 8)) { + if (local_88 != (undefined8 *)0x0) { + local_88[1] = local_88[1] + 1; + } + puVar5 = (undefined8 *)0x0; + lVar6 = *(longlong *)(lVar16 + lVar15 * 8); + if ((lVar6 != 0) && + (*(longlong *)(*(longlong *)(lVar16 + lVar15 * 8) + 8) = *(longlong *)(lVar6 + 8) + -1, + *(longlong *)(*(longlong *)(lVar16 + lVar15 * 8) + 8) == 0)) { + puVar5 = *(undefined8 **)(lVar16 + lVar15 * 8); + } + *(undefined8 **)(lVar16 + lVar15 * 8) = local_88; + if (puVar5 != (undefined8 *)0x0) { + puVar4 = (undefined8 *)*puVar5; + if (puVar4 != (undefined8 *)0x0) { + FUN_140037670(puVar4); + operator_delete(puVar4); + } + FUN_1400302f0(puVar5); + } + } + if (local_88 != (undefined8 *)0x0) { + plVar9 = local_88 + 1; + *plVar9 = *plVar9 + -1; + if (*plVar9 == 0) { + puVar5 = (undefined8 *)*local_88; + if (puVar5 != (undefined8 *)0x0) { + FUN_140037670(puVar5); + operator_delete(puVar5); + } + FUN_1400302f0(local_88); + } + } + local_res18 = local_res18 + 1; + } while (local_res18 < param_2); + } + FUN_14002e770((longlong)param_1); + plVar9 = (longlong *)0x0; + if (*(undefined8 **)(param_1 + 0x22) != (undefined8 *)0x0) { + plVar9 = (longlong *)**(undefined8 **)(param_1 + 0x22); + } + FUN_140037760(plVar9,ppuVar10,param_3,uVar13); + plVar9 = (longlong *)0x0; + if (*(undefined8 **)(param_1 + 0x24) != (undefined8 *)0x0) { + plVar9 = (longlong *)**(undefined8 **)(param_1 + 0x24); + } + FUN_140037760(plVar9,ppuVar10,param_3,uVar13); + iVar12 = 0; + lVar15 = 0; + if (0 < param_1[0x14]) { + do { + if ((lVar15 < 0) || (param_1[0x14] <= iVar12)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar9,ppuVar10,param_3,uVar13); + } + puVar5 = *(undefined8 **)(*(longlong *)(param_1 + 0x12) + lVar15 * 8); + plVar9 = (longlong *)0x0; + if (puVar5 != (undefined8 *)0x0) { + plVar9 = (longlong *)*puVar5; + } + FUN_140037760(plVar9,ppuVar10,param_3,uVar13); + iVar12 = iVar12 + 1; + lVar15 = lVar15 + 1; + } while (iVar12 < param_1[0x14]); + } + iVar12 = 0; + lVar15 = 0; + if (0 < param_1[0x1e]) { + do { + if ((lVar15 < 0) || (param_1[0x1e] <= iVar12)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar9,ppuVar10,param_3,uVar13); + } + puVar5 = *(undefined8 **)(*(longlong *)(param_1 + 0x1c) + lVar15 * 8); + plVar9 = (longlong *)0x0; + if (puVar5 != (undefined8 *)0x0) { + plVar9 = (longlong *)*puVar5; + } + FUN_140037760(plVar9,ppuVar10,param_3,uVar13); + iVar12 = iVar12 + 1; + lVar15 = lVar15 + 1; + } while (iVar12 < param_1[0x1e]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008ebf0.c b/decomp/Agent_Release_x64/full/functions/0x14008ebf0.c new file mode 100644 index 00000000..fb89b605 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008ebf0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008ebf0 FUN_14008ebf0 + * Pseudocode, not original source. */ + +void FUN_14008ebf0(undefined8 *param_1) + +{ + if ((undefined8 *)*param_1 != param_1 + 1) { + free((undefined8 *)*param_1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008ec10.c b/decomp/Agent_Release_x64/full/functions/0x14008ec10.c new file mode 100644 index 00000000..c4a765a3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008ec10.c @@ -0,0 +1,121 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008ec10 FUN_14008ec10 + * Pseudocode, not original source. */ + +int FUN_14008ec10(longlong *param_1,wchar_t *param_2,short *param_3) + +{ + undefined *puVar1; + rsize_t _DstSize; + int iVar2; + int iVar3; + int iVar4; + int iVar5; + wchar_t *pwVar6; + longlong lVar7; + int iVar8; + int iVar9; + int iVar10; + wchar_t *pwVar11; + longlong lVar12; + longlong lVar13; + wchar_t *pwVar14; + int local_58; + + iVar2 = FUN_140030080(param_2); + if (iVar2 != 0) { + iVar3 = FUN_140030080(param_3); + pwVar14 = (wchar_t *)*param_1; + iVar4 = 0; + local_58 = 0; + iVar5 = iVar4; + pwVar11 = (wchar_t *)PTR_DAT_140155010; + if ((pwVar14 != (wchar_t *)0x0) && (pwVar11 = pwVar14, pwVar14 != (wchar_t *)PTR_DAT_140155010)) + { + iVar5 = *(int *)(pwVar14 + -4); + } + pwVar14 = pwVar11 + iVar5; + if (pwVar11 < pwVar14) { + do { + pwVar6 = wcsstr(pwVar11,param_2); + while (pwVar6 != (wchar_t *)0x0) { + pwVar11 = pwVar6 + iVar2; + iVar4 = iVar4 + 1; + pwVar6 = wcsstr(pwVar11,param_2); + local_58 = iVar4; + } + iVar5 = FUN_140030080(pwVar11); + pwVar11 = pwVar11 + (iVar5 + 1); + } while (pwVar11 < pwVar14); + if (0 < iVar4) { + puVar1 = (undefined *)*param_1; + iVar5 = 0; + if ((puVar1 != (undefined *)0x0) && (puVar1 != PTR_DAT_140155010)) { + iVar5 = *(int *)(puVar1 + -8); + } + lVar12 = (longlong)iVar3; + iVar9 = (iVar3 - iVar2) * iVar4 + iVar5; + iVar8 = iVar5; + if (iVar5 < iVar9) { + iVar8 = iVar9; + } + iVar10 = 0; + if ((puVar1 != (undefined *)0x0) && (iVar10 = 0, puVar1 != PTR_DAT_140155010)) { + iVar10 = *(int *)(puVar1 + -8); + } + if (iVar8 <= iVar10) { + iVar8 = 0; + if ((puVar1 != (undefined *)0x0) && (iVar8 = 0, puVar1 != PTR_DAT_140155010)) { + iVar8 = *(int *)(puVar1 + -8); + } + } + iVar10 = 1; + if (1 < iVar8) { + iVar10 = iVar8; + } + if (puVar1 == (undefined *)0x0) { + iVar8 = 0; + } + else if (puVar1 == PTR_DAT_140155010) { + iVar8 = 0; + } + else { + iVar8 = *(int *)(puVar1 + -8); + } + if (iVar8 < iVar10) { + FUN_140002dc0(param_1,iVar10); + } + FUN_140002ea0(param_1); + lVar7 = (longlong)iVar5; + pwVar11 = (wchar_t *)*param_1; + if ((wchar_t *)*param_1 == (wchar_t *)0x0) { + pwVar11 = (wchar_t *)PTR_DAT_140155010; + } + pwVar14 = pwVar11; + while (pwVar14 < pwVar11 + lVar7) { + pwVar6 = wcsstr(pwVar14,param_2); + if (pwVar6 != (wchar_t *)0x0) { + do { + pwVar14 = pwVar6 + lVar12; + lVar13 = (longlong) + ((iVar5 - (int)((longlong)pwVar6 - (longlong)pwVar11 >> 1)) - iVar2); + _DstSize = lVar13 * 2; + memmove_s(pwVar14,_DstSize,pwVar6 + iVar2,_DstSize); + memcpy_s(pwVar6,lVar12 * 2,param_3,lVar12 * 2); + pwVar6[lVar12 + lVar13] = L'\0'; + iVar5 = iVar5 + (iVar3 - iVar2); + pwVar6 = wcsstr(pwVar14,param_2); + } while (pwVar6 != (wchar_t *)0x0); + } + iVar4 = FUN_140030080(pwVar14); + pwVar14 = pwVar14 + (iVar4 + 1); + iVar4 = local_58; + } + FUN_140003010(param_1,iVar9); + } + } + return iVar4; + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008eec0.c b/decomp/Agent_Release_x64/full/functions/0x14008eec0.c new file mode 100644 index 00000000..d238ca5e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008eec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008eec0 FUN_14008eec0 + * Pseudocode, not original source. */ + +void FUN_14008eec0(char *param_1) + +{ + FUN_140040f50(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008eee0.c b/decomp/Agent_Release_x64/full/functions/0x14008eee0.c new file mode 100644 index 00000000..22b52d7f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008eee0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008eee0 FUN_14008eee0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014008ef4f) */ +/* WARNING: Removing unreachable block (ram,0x00014008ef58) */ +/* WARNING: Removing unreachable block (ram,0x00014008ef76) */ +/* WARNING: Removing unreachable block (ram,0x00014008ef7f) */ + +undefined1 * +FUN_14008eee0(undefined1 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined8 uVar2; + + *param_1 = 0; + *(undefined8 *)(param_1 + 0x50) = 0; + *(undefined8 *)(param_1 + 8) = 0; + *(undefined8 *)(param_1 + 0x10) = 0; + *(undefined8 *)(param_1 + 0x18) = 0; + *(undefined4 *)(param_1 + 0x28) = 0x11; + *(undefined8 *)(param_1 + 0x20) = 0; + *(undefined4 *)(param_1 + 0x48) = 0; + *(undefined4 *)(param_1 + 0x2c) = 0x3f400000; + *(undefined4 *)(param_1 + 0x30) = 0x3e800000; + *(undefined4 *)(param_1 + 0x34) = 0x40100000; + uVar2 = 0x8000000000000000; + *(undefined8 *)(param_1 + 0x38) = 0x26; + *(undefined8 *)(param_1 + 0x40) = 0; + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)(param_1 + 0x58),uVar1 & 0xffffffff, + CONCAT71((int7)((ulonglong)uVar2 >> 8),1),param_4); + param_1[0x88] = 1; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008efc0.c b/decomp/Agent_Release_x64/full/functions/0x14008efc0.c new file mode 100644 index 00000000..03c62270 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008efc0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008efc0 FUN_14008efc0 + * Pseudocode, not original source. */ + +void FUN_14008efc0(char *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(param_1 + 0x58),param_2,param_3,param_4); + FUN_14008eec0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008eff0.c b/decomp/Agent_Release_x64/full/functions/0x14008eff0.c new file mode 100644 index 00000000..037eaf18 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008eff0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008eff0 FUN_14008eff0 + * Pseudocode, not original source. */ + +void FUN_14008eff0(longlong *param_1,longlong *param_2) + +{ + longlong lVar1; + void *pvVar2; + undefined8 *puVar3; + longlong lVar4; + + lVar1 = *param_2; + if (lVar1 != *param_1) { + lVar4 = 0; + if (lVar1 != 0) { + lVar4 = *(longlong *)(lVar1 + 8) + 1; + *(longlong *)(*param_2 + 8) = lVar4; + } + puVar3 = (undefined8 *)0x0; + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + puVar3 = (undefined8 *)*param_1; + } + *param_1 = *param_2; + if (puVar3 != (undefined8 *)0x0) { + pvVar2 = (void *)*puVar3; + if (pvVar2 != (void *)0x0) { + FUN_140003240((longlong *)((longlong)pvVar2 + 8),param_2,lVar4,param_1); + operator_delete(pvVar2); + } + FUN_1400302f0(puVar3); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008f080.c b/decomp/Agent_Release_x64/full/functions/0x14008f080.c new file mode 100644 index 00000000..f7ceacf4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008f080.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008f080 FUN_14008f080 + * Pseudocode, not original source. */ + +void FUN_14008f080(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + void *pvVar2; + + if (*param_1 != 0) { + *(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1; + if (*(longlong *)(*param_1 + 8) == 0) { + puVar1 = (undefined8 *)*param_1; + pvVar2 = (void *)*puVar1; + if (pvVar2 != (void *)0x0) { + FUN_140003240((longlong *)((longlong)pvVar2 + 8),0,param_3,param_4); + operator_delete(pvVar2); + } + FUN_1400302f0(puVar1); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008f0f0.c b/decomp/Agent_Release_x64/full/functions/0x14008f0f0.c new file mode 100644 index 00000000..4274d6da --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008f0f0.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008f0f0 FUN_14008f0f0 + * Pseudocode, not original source. */ + +void FUN_14008f0f0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + void *pvVar2; + + if (*(longlong *)(param_1 + 0x10) != 0) { + *(longlong *)(*(longlong *)(param_1 + 0x10) + 8) = + *(longlong *)(*(longlong *)(param_1 + 0x10) + 8) + -1; + if (*(longlong *)(*(longlong *)(param_1 + 0x10) + 8) == 0) { + puVar1 = *(undefined8 **)(param_1 + 0x10); + pvVar2 = (void *)*puVar1; + if (pvVar2 != (void *)0x0) { + FUN_140003240((longlong *)((longlong)pvVar2 + 8),0,param_3,param_4); + operator_delete(pvVar2); + } + FUN_1400302f0(puVar1); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008f160.c b/decomp/Agent_Release_x64/full/functions/0x14008f160.c new file mode 100644 index 00000000..4f0146e3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008f160.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008f160 FUN_14008f160 + * Pseudocode, not original source. */ + +longlong * FUN_14008f160(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + longlong *plVar3; + + plVar1 = (longlong *)param_1[1]; + if (plVar1 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + *param_2 = 0; + plVar3 = plVar1 + 2; + FUN_14008eff0(param_2,plVar3); + lVar2 = *plVar1; + param_1[1] = lVar2; + if (lVar2 == 0) { + param_1[2] = 0; + } + else { + *(undefined8 *)(lVar2 + 8) = 0; + } + FUN_14008f0f0((longlong)plVar1,plVar3,param_3,param_4); + plVar3 = (longlong *)*param_1; + if (plVar3 == (longlong *)0x0) { + FUN_1400302f0(plVar1); + } + else { + (**(code **)(*plVar3 + 0x10))(plVar3,plVar1); + } + param_1[3] = param_1[3] + -1; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008f200.c b/decomp/Agent_Release_x64/full/functions/0x14008f200.c new file mode 100644 index 00000000..dd601405 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008f200.c @@ -0,0 +1,47 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008f200 FUN_14008f200 + * Pseudocode, not original source. */ + +void FUN_14008f200(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + undefined8 *puVar2; + void *pvVar3; + longlong *plVar4; + + lVar1 = param_1[3]; + while( true ) { + if (lVar1 == 0) { + param_1[1] = 0; + param_1[2] = 0; + return; + } + plVar4 = (longlong *)param_1[1]; + if (plVar4 == (longlong *)0x0) break; + param_1[1] = *plVar4; + if ((plVar4[2] != 0) && + (*(longlong *)(plVar4[2] + 8) = *(longlong *)(plVar4[2] + 8) + -1, + *(longlong *)(plVar4[2] + 8) == 0)) { + puVar2 = (undefined8 *)plVar4[2]; + pvVar3 = (void *)*puVar2; + if (pvVar3 != (void *)0x0) { + FUN_140003240((longlong *)((longlong)pvVar3 + 8),param_2,param_3,param_4); + operator_delete(pvVar3); + } + FUN_1400302f0(puVar2); + } + if ((longlong *)*param_1 == (longlong *)0x0) { + FUN_1400302f0(plVar4); + } + else { + (**(code **)(*(longlong *)*param_1 + 0x10))(); + param_2 = plVar4; + } + param_1[3] = param_1[3] + -1; + lVar1 = param_1[3]; + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008f2e0.c b/decomp/Agent_Release_x64/full/functions/0x14008f2e0.c new file mode 100644 index 00000000..996c0bab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008f2e0.c @@ -0,0 +1,139 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008f2e0 FUN_14008f2e0 + * Pseudocode, not original source. */ + +void FUN_14008f2e0(longlong param_1,undefined8 param_2,short *param_3,undefined8 param_4) + +{ + longlong *plVar1; + void *pvVar2; + undefined4 *puVar3; + longlong lVar4; + __time64_t _Var5; + undefined8 *puVar6; + undefined8 uVar7; + undefined *puVar8; + undefined8 uVar9; + undefined8 *puVar10; + short *psVar11; + undefined2 *puVar12; + longlong *local_res8; + exception local_78 [80]; + + uVar9 = param_2; + psVar11 = param_3; + FUN_14002e6e0((int *)(param_1 + 0x18)); + if (*(char *)(param_1 + 0x50) != '\0') { + FUN_14002f1e0(local_78,L"LogFile Creation Failed",psVar11,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_78,(ThrowInfo *)&DAT_140151b88); + } + uVar7 = 0x20; + pvVar2 = operator_new(0x20); + if (pvVar2 == (void *)0x0) { + pvVar2 = (void *)0x0; + } + else { + FUN_140030200(uVar7,uVar9,psVar11,param_4); + *(undefined **)((longlong)pvVar2 + 8) = PTR_DAT_140155010; + } + if (pvVar2 == (void *)0x0) { + local_res8 = (longlong *)0x0; + } + else { + local_res8 = (longlong *)FUN_140030280(0x10); + local_res8[1] = 1; + *local_res8 = (longlong)pvVar2; + } + if (local_res8 == (longlong *)0x0) { + puVar3 = (undefined4 *)0x0; + } + else { + puVar3 = (undefined4 *)*local_res8; + } + *puVar3 = 1; + if (local_res8 == (longlong *)0x0) { + lVar4 = 0; + } + else { + lVar4 = *local_res8; + } + FUN_140006c60((longlong *)(lVar4 + 8),param_3,psVar11,param_4); + if (local_res8 == (longlong *)0x0) { + lVar4 = 0; + } + else { + lVar4 = *local_res8; + } + puVar12 = &DAT_14011e014; + puVar8 = &DAT_14011d6b8; + FUN_14008ec10((longlong *)(lVar4 + 8),L"\n",&DAT_14011e014); + if (local_res8 == (longlong *)0x0) { + lVar4 = 0; + } + else { + lVar4 = *local_res8; + } + *(int *)(lVar4 + 0x10) = (int)param_2; + _Var5 = _time64((__time64_t *)0x0); + if (local_res8 == (longlong *)0x0) { + lVar4 = 0; + } + else { + lVar4 = *local_res8; + } + *(__time64_t *)(lVar4 + 0x18) = _Var5; + uVar9 = *(undefined8 *)(param_1 + 0x98); + if (*(longlong **)(param_1 + 0x88) == (longlong *)0x0) { + puVar6 = (undefined8 *)FUN_140030280(0x18); + } + else { + puVar8 = (undefined *)0x18; + puVar6 = (undefined8 *)(**(code **)(**(longlong **)(param_1 + 0x88) + 8))(); + } + if ((puVar6 != (undefined8 *)0x0) && (puVar6[2] = 0, local_res8 != (longlong *)0x0)) { + local_res8[1] = local_res8[1] + 1; + puVar10 = (undefined8 *)0x0; + if ((puVar6[2] != 0) && + (*(longlong *)(puVar6[2] + 8) = *(longlong *)(puVar6[2] + 8) + -1, + *(longlong *)(puVar6[2] + 8) == 0)) { + puVar10 = (undefined8 *)puVar6[2]; + } + puVar6[2] = local_res8; + if (puVar10 != (undefined8 *)0x0) { + pvVar2 = (void *)*puVar10; + if (pvVar2 != (void *)0x0) { + FUN_140003240((longlong *)((longlong)pvVar2 + 8),puVar8,puVar12,param_4); + operator_delete(pvVar2); + } + FUN_1400302f0(puVar10); + } + } + puVar6[1] = uVar9; + *puVar6 = 0; + *(longlong *)(param_1 + 0xa0) = *(longlong *)(param_1 + 0xa0) + 1; + if (*(undefined8 **)(param_1 + 0x98) == (undefined8 *)0x0) { + *(undefined8 **)(param_1 + 0x90) = puVar6; + } + else { + **(undefined8 **)(param_1 + 0x98) = puVar6; + } + *(undefined8 **)(param_1 + 0x98) = puVar6; + uVar9 = 1; + FUN_1400bbee0((undefined8 *)(param_1 + 0x10),1); + if (local_res8 != (longlong *)0x0) { + plVar1 = local_res8 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + pvVar2 = (void *)*local_res8; + if (pvVar2 != (void *)0x0) { + FUN_140003240((longlong *)((longlong)pvVar2 + 8),uVar9,puVar12,param_4); + operator_delete(pvVar2); + } + FUN_1400302f0(local_res8); + } + } + FUN_14002e770(param_1 + 0x18); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008f570.c b/decomp/Agent_Release_x64/full/functions/0x14008f570.c new file mode 100644 index 00000000..a976b8d9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008f570.c @@ -0,0 +1,132 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008f570 FUN_14008f570 + * Pseudocode, not original source. */ + +void FUN_14008f570(longlong param_1,wchar_t *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + void *pvVar2; + undefined4 *puVar3; + undefined8 *puVar4; + undefined8 uVar5; + longlong lVar6; + wchar_t *pwVar7; + undefined *puVar8; + undefined8 *puVar9; + undefined2 *puVar10; + undefined8 local_res18; + undefined8 local_res20; + longlong *local_b8; + exception local_80 [80]; + + pwVar7 = param_2; + local_res18 = param_3; + local_res20 = param_4; + FUN_14002e6e0((int *)(param_1 + 0x18)); + if (*(char *)(param_1 + 0x50) != '\0') { + FUN_14002f1e0(local_80,L"LogFile Creation Failed",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_80,(ThrowInfo *)&DAT_140151b88); + } + uVar5 = 0x20; + pvVar2 = operator_new(0x20); + if (pvVar2 == (void *)0x0) { + pvVar2 = (void *)0x0; + } + else { + FUN_140030200(uVar5,pwVar7,param_3,param_4); + *(undefined **)((longlong)pvVar2 + 8) = PTR_DAT_140155010; + } + if (pvVar2 == (void *)0x0) { + local_b8 = (longlong *)0x0; + } + else { + local_b8 = (longlong *)FUN_140030280(0x10); + local_b8[1] = 1; + *local_b8 = (longlong)pvVar2; + } + if (local_b8 == (longlong *)0x0) { + puVar3 = (undefined4 *)0x0; + } + else { + puVar3 = (undefined4 *)*local_b8; + } + *puVar3 = 2; + if (local_b8 == (longlong *)0x0) { + lVar6 = 0; + } + else { + lVar6 = *local_b8; + } + FUN_14001b710((longlong *)(lVar6 + 8),param_2,(va_list)&local_res18); + if (local_b8 == (longlong *)0x0) { + lVar6 = 0; + } + else { + lVar6 = *local_b8; + } + puVar10 = &DAT_14011e014; + FUN_14008ec10((longlong *)(lVar6 + 8),L"\n",&DAT_14011e014); + if (local_b8 == (longlong *)0x0) { + lVar6 = 0; + } + else { + lVar6 = *local_b8; + } + puVar8 = &DAT_140104220; + FUN_14001b850((longlong *)(lVar6 + 8),(short *)&DAT_140104220); + uVar5 = *(undefined8 *)(param_1 + 0x98); + if (*(longlong **)(param_1 + 0x88) == (longlong *)0x0) { + puVar4 = (undefined8 *)FUN_140030280(0x18); + } + else { + puVar8 = (undefined *)0x18; + puVar4 = (undefined8 *)(**(code **)(**(longlong **)(param_1 + 0x88) + 8))(); + } + if ((puVar4 != (undefined8 *)0x0) && (puVar4[2] = 0, local_b8 != (longlong *)0x0)) { + local_b8[1] = local_b8[1] + 1; + puVar9 = (undefined8 *)0x0; + if ((puVar4[2] != 0) && + (*(longlong *)(puVar4[2] + 8) = *(longlong *)(puVar4[2] + 8) + -1, + *(longlong *)(puVar4[2] + 8) == 0)) { + puVar9 = (undefined8 *)puVar4[2]; + } + puVar4[2] = local_b8; + if (puVar9 != (undefined8 *)0x0) { + pvVar2 = (void *)*puVar9; + if (pvVar2 != (void *)0x0) { + FUN_140003240((longlong *)((longlong)pvVar2 + 8),puVar8,puVar10,param_4); + operator_delete(pvVar2); + } + FUN_1400302f0(puVar9); + } + } + puVar4[1] = uVar5; + *puVar4 = 0; + *(longlong *)(param_1 + 0xa0) = *(longlong *)(param_1 + 0xa0) + 1; + if (*(undefined8 **)(param_1 + 0x98) == (undefined8 *)0x0) { + *(undefined8 **)(param_1 + 0x90) = puVar4; + } + else { + **(undefined8 **)(param_1 + 0x98) = puVar4; + } + *(undefined8 **)(param_1 + 0x98) = puVar4; + uVar5 = 1; + FUN_1400bbee0((undefined8 *)(param_1 + 0x10),1); + if (local_b8 != (longlong *)0x0) { + plVar1 = local_b8 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + pvVar2 = (void *)*local_b8; + if (pvVar2 != (void *)0x0) { + FUN_140003240((longlong *)((longlong)pvVar2 + 8),uVar5,puVar10,param_4); + operator_delete(pvVar2); + } + FUN_1400302f0(local_b8); + } + } + FUN_14002e770(param_1 + 0x18); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008f7f0.c b/decomp/Agent_Release_x64/full/functions/0x14008f7f0.c new file mode 100644 index 00000000..3637759f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008f7f0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008f7f0 FUN_14008f7f0 + * Pseudocode, not original source. */ + +void FUN_14008f7f0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + + FUN_14008f200(param_1,param_2,param_3,param_4); + puVar1 = (undefined8 *)*param_1; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14008f820.c b/decomp/Agent_Release_x64/full/functions/0x14008f820.c new file mode 100644 index 00000000..eb294511 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14008f820.c @@ -0,0 +1,579 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14008f820 FUN_14008f820 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +void FUN_14008f820(undefined8 *param_1) + +{ + char cVar1; + LPCWSTR pWVar2; + longlong lVar3; + LPCWSTR ****pppppWVar4; + undefined *puVar5; + undefined8 *puVar6; + bool bVar7; + DWORD DVar8; + BOOL BVar9; + int iVar10; + errno_t eVar11; + longlong *plVar12; + int *piVar13; + undefined8 *puVar14; + LPCWSTR *****ppppppWVar15; + wchar_t *pwVar16; + HANDLE pvVar17; + undefined1 *puVar18; + LPCWSTR ******lpFileName; + int *piVar19; + LPCWSTR ******pppppppWVar20; + undefined *lpBuffer; + LPCWSTR ******lpBuffer_00; + LPCWSTR ******pppppppWVar21; + LPCWSTR *****ppppppWVar22; + LPCWSTR ******pppppppWVar23; + int iVar24; + PLONG pLVar25; + ulonglong uVar26; + rsize_t rVar27; + LPDWORD lpNumberOfBytesWritten; + ulonglong uVar28; + undefined1 auStackY_3b8 [32]; + undefined2 local_378 [4]; + LPCWSTR ******local_370; + LPCWSTR ******local_368; + LPCWSTR *****local_360; + LPCWSTR ******local_358; + undefined *local_350; + ulonglong local_348; + undefined8 *local_340; + undefined8 *local_338; + undefined8 *local_330; + longlong local_328; + DWORD local_320; + DWORD DStack_31c; + DWORD local_318; + DWORD DStack_314; + longlong local_310; + DWORD local_308 [2]; + undefined8 local_300; + __time64_t local_2f8; + undefined8 local_2f0; + DWORD local_2e8; + DWORD local_2e4; + DWORD local_2e0 [2]; + longlong local_2d8; + LPCWSTR ******local_2d0; + undefined1 local_2c8; + __time64_t local_2c0; + DWORD local_2b8 [2]; + LPCWSTR ****local_2b0; + int *local_2a8; + undefined1 local_2a0; + LPCWSTR ******local_298; + undefined1 local_290; + int *local_288; + undefined1 local_280; + undefined8 local_278; + undefined8 *local_270; + undefined8 *local_268; + undefined1 *local_258; + undefined1 local_250 [264]; + undefined1 *local_148; + undefined1 local_140 [264]; + ulonglong local_38; + + local_278 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStackY_3b8; + local_320 = GetFileSize((HANDLE)*param_1,&DStack_31c); + if ((local_320 != 0xffffffff) || (DVar8 = FUN_140063e60(), local_2f0 = local_348, -1 < (int)DVar8) + ) { + local_2f0 = CONCAT44(DStack_31c,local_320); + } + rVar27 = 0; + pLVar25 = (PLONG)((longlong)&local_2f0 + 4); + uVar26 = local_2f0 & 0xffffffff; + pvVar17 = (HANDLE)*param_1; + DVar8 = SetFilePointer(pvVar17,(LONG)local_2f0,pLVar25,0); + if (DVar8 == 0xffffffff) { + FUN_140063e60(); + } + FUN_140030200(pvVar17,uVar26,pLVar25,rVar27); + local_350 = PTR_DAT_140155010; + local_2c0 = _time64((__time64_t *)0x0); + plVar12 = FUN_140073e80(&local_2c0,&local_310,L"%#c"); + pWVar2 = (LPCWSTR)*plVar12; + local_258 = local_250; + if (pWVar2 == (LPCWSTR)0x0) { + local_258 = (undefined1 *)0x0; + goto LAB_14008f9df; + } + iVar10 = lstrlenW(pWVar2); + iVar10 = iVar10 + 1; + if (iVar10 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (local_258 == local_250) { + if (0x80 < iVar10) { + puVar18 = calloc((longlong)iVar10,2); + goto LAB_14008f971; + } +LAB_14008f985: + puVar18 = local_250; + } + else { + if (iVar10 < 0x81) { + free(local_258); + goto LAB_14008f985; + } + puVar18 = _recalloc(local_258,(longlong)iVar10,2); + if (puVar18 == (undefined1 *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } +LAB_14008f971: + if (puVar18 == (undefined1 *)0x0) { + local_258 = puVar18; + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + rVar27 = (longlong)iVar10 * 2; + local_258 = puVar18; + eVar11 = memcpy_s(puVar18,rVar27,pWVar2,rVar27); + if (eVar11 != 0) { + if (eVar11 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar11 == 0x16) || (eVar11 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar11 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } +LAB_14008f9df: + ppppppWVar22 = (LPCWSTR *****)0x0; + FUN_14001b7a0((longlong *)&local_350,L"-------- Log start at %s --------\r\n",local_258,rVar27); + if (local_258 != local_250) { + free(local_258); + } + LOCK(); + piVar19 = (int *)(local_310 + -8); + iVar10 = *piVar19; + *piVar19 = *piVar19 + -1; + UNLOCK(); + if (iVar10 + -1 < 1) { + (**(code **)(**(longlong **)(local_310 + -0x18) + 8))(); + } + puVar5 = local_350; + lpBuffer = PTR_DAT_140155010; + iVar10 = 0; + if (local_350 != (undefined *)0x0) { + ppppppWVar15 = ppppppWVar22; + if (local_350 != PTR_DAT_140155010) { + ppppppWVar15 = (LPCWSTR *****)(ulonglong)*(uint *)(local_350 + -8); + } + lpBuffer = local_350; + iVar10 = (int)ppppppWVar15; + } + uVar26 = (ulonglong)(uint)(iVar10 * 2); + lpNumberOfBytesWritten = &local_2e8; + pvVar17 = (HANDLE)*param_1; + BVar9 = WriteFile(pvVar17,lpBuffer,iVar10 * 2,lpNumberOfBytesWritten,(LPOVERLAPPED)0x0); + if (BVar9 == 0) { + FUN_140063e60(); + } + if (((puVar5 != (undefined *)0x0) && (puVar5 != PTR_DAT_140155010)) && + (puVar5 + -8 != (undefined *)0x0)) { + piVar13 = (int *)FUN_140030200(pvVar17,lpBuffer,uVar26,lpNumberOfBytesWritten); + local_2a8 = piVar13; + FUN_14002e6e0(piVar13); + local_2a0 = 1; + piVar19 = (int *)(puVar5 + -4); + *piVar19 = *piVar19 + -1; + if (*piVar19 == 0) { + FUN_1400302f0(puVar5 + -8); + } + FUN_14002e770((longlong)piVar13); + local_2a0 = 0; + } + cVar1 = *(char *)(param_1 + 0x10); + local_350 = PTR_DAT_140155010; + uVar28 = local_348; + do { + if (cVar1 != '\0') { + return; + } + lpBuffer_00 = (LPCWSTR ******)0x12c; + bVar7 = FUN_14003a0e0(param_1 + 2,300); + if (bVar7) { + local_340 = (undefined8 *)0x0; + local_328 = 0; + local_338 = (undefined8 *)0x0; + local_330 = (undefined8 *)0x0; + lpFileName = (LPCWSTR ******)(param_1 + 3); + local_2d0 = lpFileName; + FUN_14002e6e0((int *)lpFileName); + local_2c8 = 1; + if (*(char *)(param_1 + 10) == '\0') { + lVar3 = param_1[0x14]; + while (lVar3 != 0) { + lpBuffer_00 = &local_360; + plVar12 = FUN_14008f160(param_1 + 0x11,(longlong *)lpBuffer_00,uVar26, + lpNumberOfBytesWritten); + puVar14 = (undefined8 *)FUN_140030280(0x18); + local_270 = puVar14; + local_268 = puVar14; + if (puVar14 != (undefined8 *)0x0) { + puVar14[2] = 0; + if (*plVar12 != 0) { + *(longlong *)(*plVar12 + 8) = *(longlong *)(*plVar12 + 8) + 1; + ppppppWVar15 = ppppppWVar22; + if ((puVar14[2] != 0) && + (*(longlong *)(puVar14[2] + 8) = *(longlong *)(puVar14[2] + 8) + -1, + *(longlong *)(puVar14[2] + 8) == 0)) { + ppppppWVar15 = (LPCWSTR *****)puVar14[2]; + } + puVar14[2] = *plVar12; + if (ppppppWVar15 != (LPCWSTR *****)0x0) { + pppppWVar4 = *ppppppWVar15; + if (pppppWVar4 != (LPCWSTR ****)0x0) { + FUN_140003240((longlong *)(pppppWVar4 + 1),lpBuffer_00,uVar26, + lpNumberOfBytesWritten); + operator_delete(pppppWVar4); + } + FUN_1400302f0(ppppppWVar15); + } + } + } + ppppppWVar15 = local_360; + puVar14[1] = local_330; + *puVar14 = 0; + local_328 = local_328 + 1; + puVar6 = puVar14; + if (local_330 != (undefined8 *)0x0) { + *local_330 = puVar14; + puVar6 = local_338; + } + local_338 = puVar6; + local_330 = puVar14; + if ((local_360 != (LPCWSTR *****)0x0) && + (local_360[1] = (LPCWSTR ****)((longlong)local_360[1] + -1), + local_360[1] == (LPCWSTR ****)0x0)) { + pppppWVar4 = *local_360; + if (pppppWVar4 != (LPCWSTR ****)0x0) { + FUN_140003240((longlong *)(pppppWVar4 + 1),lpBuffer_00,uVar26,lpNumberOfBytesWritten); + operator_delete(pppppWVar4); + } + FUN_1400302f0(ppppppWVar15); + } + lpFileName = local_2d0; + lVar3 = param_1[0x14]; + } + } + FUN_14002e770((longlong)lpFileName); + local_2c8 = 0; + FUN_140030200(lpFileName,lpBuffer_00,uVar26,lpNumberOfBytesWritten); + local_370 = (LPCWSTR ******)PTR_DAT_140155010; + pppppppWVar23 = (LPCWSTR ******)PTR_DAT_140155010; + while (local_328 != 0) { + lpBuffer_00 = (LPCWSTR ******)&local_368; + FUN_14008f160((longlong *)&local_340,(longlong *)lpBuffer_00,uVar26,lpNumberOfBytesWritten); + pppppppWVar21 = local_368; + ppppppWVar15 = ppppppWVar22; + if (local_368 != (LPCWSTR ******)0x0) { + ppppppWVar15 = *local_368; + } + iVar10 = *(int *)ppppppWVar15; + iVar24 = 0; + if (iVar10 == 0) { + if ((HANDLE)*param_1 != (HANDLE)0x0) { + CloseHandle((HANDLE)*param_1); + *param_1 = 0; + } + ppppppWVar15 = ppppppWVar22; + if (pppppppWVar21 != (LPCWSTR ******)0x0) { + ppppppWVar15 = *pppppppWVar21; + } + lpFileName = (LPCWSTR ******)ppppppWVar15[1]; + if ((LPCWSTR ******)ppppppWVar15[1] == (LPCWSTR ******)0x0) { + lpFileName = (LPCWSTR ******)PTR_DAT_140155010; + } + pppppppWVar20 = (LPCWSTR ******)param_1[1]; + if (pppppppWVar20 == (LPCWSTR ******)0x0) { + lpNumberOfBytesWritten = (LPDWORD)0x0; + lpBuffer_00 = (LPCWSTR ******)0x40000000; + uVar26 = 1; + pvVar17 = CreateFileW((LPCWSTR)lpFileName,0x40000000,1,(LPSECURITY_ATTRIBUTES)0x0,4,0x80 + ,(HANDLE)0x0); + } + else { + lpNumberOfBytesWritten = (LPDWORD)0x1; + uVar26 = 0x40000000; + lpBuffer_00 = lpFileName; + pvVar17 = FUN_140063e80((longlong *)pppppppWVar20,(LPCWSTR)lpFileName,0x40000000,1, + (LPSECURITY_ATTRIBUTES)0x0,4,0x80,0); + lpFileName = pppppppWVar20; + } + if (pvVar17 == (HANDLE)0xffffffffffffffff) { + DVar8 = FUN_140063e60(); + if ((int)DVar8 < 0) { + *(undefined1 *)(param_1 + 10) = 1; + goto LAB_140090139; + } + } + else { + *param_1 = pvVar17; + } + local_378[0] = 0xfeff; + BVar9 = WriteFile((HANDLE)*param_1,local_378,2,local_308,(LPOVERLAPPED)0x0); + if (BVar9 == 0) { + FUN_140063e60(); + } + local_318 = GetFileSize((HANDLE)*param_1,&DStack_314); + if ((local_318 != 0xffffffff) || (DVar8 = FUN_140063e60(), -1 < (int)DVar8)) { + uVar28 = CONCAT44(DStack_314,local_318); + } + rVar27 = 0; + pLVar25 = (PLONG)((longlong)&local_300 + 4); + uVar26 = uVar28 & 0xffffffff; + pvVar17 = (HANDLE)*param_1; + local_300 = uVar28; + DVar8 = SetFilePointer(pvVar17,(LONG)uVar28,pLVar25,0); + if (DVar8 == 0xffffffff) { + FUN_140063e60(); + } + FUN_140030200(pvVar17,uVar26,pLVar25,rVar27); + local_358 = (LPCWSTR ******)PTR_DAT_140155010; + local_2f8 = _time64((__time64_t *)0x0); + plVar12 = FUN_140073e80(&local_2f8,(longlong *)&local_348,L"%#c"); + pWVar2 = (LPCWSTR)*plVar12; + local_148 = local_140; + if (pWVar2 == (LPCWSTR)0x0) { + local_148 = (undefined1 *)0x0; + } + else { + iVar10 = lstrlenW(pWVar2); + iVar10 = iVar10 + 1; + if (iVar10 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (local_148 == local_140) { + if (0x80 < iVar10) { + puVar18 = calloc((longlong)iVar10,2); + goto LAB_14008ffe8; + } +LAB_14008fffa: + puVar18 = local_140; + } + else { + if (iVar10 < 0x81) { + free(local_148); + goto LAB_14008fffa; + } + puVar18 = _recalloc(local_148,(longlong)iVar10,2); + if (puVar18 == (undefined1 *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } +LAB_14008ffe8: + if (puVar18 == (undefined1 *)0x0) { + local_148 = puVar18; + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + rVar27 = (longlong)iVar10 * 2; + local_148 = puVar18; + eVar11 = memcpy_s(puVar18,rVar27,pWVar2,rVar27); + if (eVar11 != 0) { + if (eVar11 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar11 == 0x16) || (eVar11 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar11 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + } + FUN_14001b7a0((longlong *)&local_358,L"-------- Log start at %s --------\r\n",local_148, + rVar27); + if (local_148 != local_140) { + free(local_148); + } + LOCK(); + piVar19 = (int *)(local_348 - 8); + iVar10 = *piVar19; + *piVar19 = *piVar19 + -1; + UNLOCK(); + if (iVar10 + -1 < 1) { + (**(code **)(**(longlong **)(local_348 - 0x18) + 8))(); + } + pppppppWVar23 = local_358; + lpBuffer_00 = (LPCWSTR ******)PTR_DAT_140155010; + if (local_358 != (LPCWSTR ******)0x0) { + ppppppWVar15 = ppppppWVar22; + if (local_358 != (LPCWSTR ******)PTR_DAT_140155010) { + ppppppWVar15 = (LPCWSTR *****)(ulonglong)*(uint *)(local_358 + -1); + } + iVar24 = (int)ppppppWVar15; + lpBuffer_00 = local_358; + } + uVar26 = (ulonglong)(uint)(iVar24 * 2); + lpFileName = (LPCWSTR ******)*param_1; + lpNumberOfBytesWritten = local_2b8; + BVar9 = WriteFile(lpFileName,lpBuffer_00,iVar24 * 2,local_2b8,(LPOVERLAPPED)0x0); + if (BVar9 == 0) { + FUN_140063e60(); + } + if (((pppppppWVar23 != (LPCWSTR ******)0x0) && + (pppppppWVar23 != (LPCWSTR ******)PTR_DAT_140155010)) && + (pppppppWVar23 + -1 != (LPCWSTR ******)0x0)) { + lpFileName = (LPCWSTR ******) + FUN_140030200(lpFileName,lpBuffer_00,uVar26,lpNumberOfBytesWritten); + local_298 = lpFileName; + FUN_14002e6e0((int *)lpFileName); + local_290 = 1; + pWVar2 = (LPCWSTR)((longlong)pppppppWVar23 + -4); + *(int *)pWVar2 = *(int *)pWVar2 + -1; + if (*(int *)pWVar2 == 0) { + FUN_1400302f0(pppppppWVar23 + -1); + } + FUN_14002e770((longlong)lpFileName); + local_290 = 0; + } + local_358 = (LPCWSTR ******)PTR_DAT_140155010; + pppppppWVar21 = local_368; + pppppppWVar23 = local_370; + } + else if (iVar10 == 1) { + ppppppWVar15 = ppppppWVar22; + if (local_368 != (LPCWSTR ******)0x0) { + ppppppWVar15 = *local_368; + } + local_2b0 = ppppppWVar15[3]; + plVar12 = FUN_140073e80((__time64_t *)&local_2b0,&local_2d8,L"%#c"); + lVar3 = *plVar12; + ppppppWVar15 = ppppppWVar22; + if (pppppppWVar21 != (LPCWSTR ******)0x0) { + ppppppWVar15 = *pppppppWVar21; + } + pwVar16 = FUN_14009d520(*(int *)(ppppppWVar15 + 2)); + FUN_14001b7a0((longlong *)&local_370,L"[%s] [%s] %s\r\n",pwVar16,lVar3); + LOCK(); + piVar19 = (int *)(local_2d8 + -8); + iVar10 = *piVar19; + *piVar19 = *piVar19 + -1; + UNLOCK(); + if (iVar10 + -1 < 1) { + (**(code **)(**(longlong **)(local_2d8 + -0x18) + 8))(); + } + pppppppWVar23 = local_370; + lpBuffer_00 = (LPCWSTR ******)PTR_DAT_140155010; + if (local_370 != (LPCWSTR ******)0x0) { + ppppppWVar15 = ppppppWVar22; + if (local_370 != (LPCWSTR ******)PTR_DAT_140155010) { + ppppppWVar15 = (LPCWSTR *****)(ulonglong)*(uint *)(local_370 + -1); + } + iVar24 = (int)ppppppWVar15; + lpBuffer_00 = local_370; + } + uVar26 = (ulonglong)(uint)(iVar24 * 2); + lpNumberOfBytesWritten = &local_2e4; + lpFileName = (LPCWSTR ******)*param_1; + BVar9 = WriteFile(lpFileName,lpBuffer_00,iVar24 * 2,lpNumberOfBytesWritten, + (LPOVERLAPPED)0x0); + pppppppWVar21 = local_368; + if (BVar9 == 0) { + FUN_140063e60(); + pppppppWVar21 = local_368; + } + } + else { + lpFileName = (LPCWSTR ******)(ulonglong)(iVar10 - 2U); + if (iVar10 - 2U == 0) { + ppppppWVar15 = ppppppWVar22; + if (local_368 != (LPCWSTR ******)0x0) { + ppppppWVar15 = *local_368; + } + pppppWVar4 = ppppppWVar15[1]; + iVar10 = 0; + if ((pppppWVar4 != (LPCWSTR ****)0x0) && + (iVar10 = iVar24, pppppWVar4 != (LPCWSTR ****)PTR_DAT_140155010)) { + iVar10 = *(int *)(pppppWVar4 + -1); + } + ppppppWVar15 = ppppppWVar22; + if (local_368 != (LPCWSTR ******)0x0) { + ppppppWVar15 = *local_368; + } + lpBuffer_00 = (LPCWSTR ******)ppppppWVar15[1]; + if ((LPCWSTR ******)ppppppWVar15[1] == (LPCWSTR ******)0x0) { + lpBuffer_00 = (LPCWSTR ******)PTR_DAT_140155010; + } + uVar26 = (ulonglong)(uint)(iVar10 * 2); + lpNumberOfBytesWritten = local_2e0; + lpFileName = (LPCWSTR ******)*param_1; + BVar9 = WriteFile(lpFileName,lpBuffer_00,iVar10 * 2,lpNumberOfBytesWritten, + (LPOVERLAPPED)0x0); + if (BVar9 == 0) { + FUN_140063e60(); + } + } + } +LAB_140090139: + pppppppWVar20 = local_368; + if (pppppppWVar21 != (LPCWSTR ******)0x0) { + pppppppWVar21 = pppppppWVar21 + 1; + *pppppppWVar21 = (LPCWSTR *****)((longlong)*pppppppWVar21 + -1); + pppppppWVar23 = local_370; + if (*pppppppWVar21 == (LPCWSTR *****)0x0) { + ppppppWVar15 = *local_368; + if (ppppppWVar15 != (LPCWSTR *****)0x0) { + FUN_140003240((longlong *)(ppppppWVar15 + 1),lpBuffer_00,uVar26,lpNumberOfBytesWritten + ); + operator_delete(ppppppWVar15); + } + FUN_1400302f0(pppppppWVar20); + lpFileName = pppppppWVar20; + pppppppWVar23 = local_370; + } + } + } + if (((pppppppWVar23 != (LPCWSTR ******)0x0) && + (pppppppWVar23 != (LPCWSTR ******)PTR_DAT_140155010)) && + (pppppppWVar23 + -1 != (LPCWSTR ******)0x0)) { + piVar19 = (int *)FUN_140030200(lpFileName,lpBuffer_00,uVar26,lpNumberOfBytesWritten); + local_288 = piVar19; + FUN_14002e6e0(piVar19); + local_280 = 1; + pWVar2 = (LPCWSTR)((longlong)pppppppWVar23 + -4); + *(int *)pWVar2 = *(int *)pWVar2 + -1; + if (*(int *)pWVar2 == 0) { + FUN_1400302f0(pppppppWVar23 + -1); + } + FUN_14002e770((longlong)piVar19); + local_280 = 0; + } + local_370 = (LPCWSTR ******)PTR_DAT_140155010; + FUN_14008f200((longlong *)&local_340,(longlong *)lpBuffer_00,uVar26,lpNumberOfBytesWritten); + if (local_340 != (undefined8 *)0x0) { + (**(code **)*local_340)(local_340,1); + } + } + cVar1 = *(char *)(param_1 + 0x10); + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140090280.c b/decomp/Agent_Release_x64/full/functions/0x140090280.c new file mode 100644 index 00000000..f30ba682 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140090280.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140090280 FUN_140090280 + * Pseudocode, not original source. */ + +void FUN_140090280(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + *(undefined1 *)(param_1 + 0x10) = 1; + FUN_1400375f0(param_1 + 0xb); + FUN_14008f200(param_1 + 0x11,param_2,param_3,param_4); + if ((undefined8 *)param_1[0x11] != (undefined8 *)0x0) { + param_2 = (longlong *)0x1; + (*(code *)**(undefined8 **)param_1[0x11])(); + } + FUN_140037670(param_1 + 0xb); + FUN_14002e7a0((undefined4 *)(param_1 + 3),param_2,param_3,param_4); + CloseHandle((HANDLE)param_1[2]); + if ((HANDLE)*param_1 != (HANDLE)0x0) { + CloseHandle((HANDLE)*param_1); + *param_1 = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140090330.c b/decomp/Agent_Release_x64/full/functions/0x140090330.c new file mode 100644 index 00000000..b6021973 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140090330.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140090330 FUN_140090330 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140090330(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined8 uVar2; + + *param_1 = 0; + param_1[1] = 0; + uVar2 = 0x7fffffff; + FUN_1400bbec0(param_1 + 2,0,0x7fffffff); + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)(param_1 + 3),uVar1 & 0xffffffff, + CONCAT71((int7)((ulonglong)uVar2 >> 8),1),param_4); + *(undefined1 *)(param_1 + 10) = 0; + FUN_140037560(param_1 + 0xb,&LAB_140090320,param_1); + param_1[0x11] = 0; + param_1[0x14] = 0; + param_1[0x12] = 0; + param_1[0x13] = 0; + *(undefined1 *)(param_1 + 0x10) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400903d0.c b/decomp/Agent_Release_x64/full/functions/0x1400903d0.c new file mode 100644 index 00000000..10fbdc26 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400903d0.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400903d0 FUN_1400903d0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400903d0(LPCWSTR param_1) + +{ + DWORD DVar1; + BOOL BVar2; + undefined8 *hFile; + undefined8 *puVar3; + undefined2 *lpBuffer; + undefined8 uVar4; + undefined8 **lpNumberOfBytesWritten; + undefined2 local_res10 [4]; + undefined8 *local_res18 [2]; + + puVar3 = (undefined8 *)0x0; + hFile = CreateFileW(param_1,0x40000000,1,(LPSECURITY_ATTRIBUTES)0x0,4,0x80,(HANDLE)0x0); + if ((hFile == (undefined8 *)0xffffffffffffffff) && + (DVar1 = FUN_140063e60(), hFile = puVar3, (int)DVar1 < 0)) { + puVar3 = (undefined8 *)0x0; + } + else { + local_res10[0] = 0xfeff; + lpNumberOfBytesWritten = local_res18; + uVar4 = 2; + lpBuffer = local_res10; + BVar2 = WriteFile(hFile,lpBuffer,2,(LPDWORD)lpNumberOfBytesWritten,(LPOVERLAPPED)0x0); + if (BVar2 == 0) { + FUN_140063e60(); + } + local_res18[0] = operator_new(0xc0); + if (local_res18[0] != (undefined8 *)0x0) { + puVar3 = FUN_140090330(local_res18[0],lpBuffer,uVar4,lpNumberOfBytesWritten); + } + *puVar3 = hFile; + FUN_140037760(puVar3 + 0xb,lpBuffer,uVar4,lpNumberOfBytesWritten); + CloseHandle((HANDLE)0xffffffffffffffff); + } + return puVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400904c0.c b/decomp/Agent_Release_x64/full/functions/0x1400904c0.c new file mode 100644 index 00000000..47da2ed7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400904c0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400904c0 FUN_1400904c0 + * Pseudocode, not original source. */ + +void FUN_1400904c0(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x0001400904e7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140090500.c b/decomp/Agent_Release_x64/full/functions/0x140090500.c new file mode 100644 index 00000000..6d420747 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140090500.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140090500 FUN_140090500 + * Pseudocode, not original source. */ + +undefined8 * FUN_140090500(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140090560.c b/decomp/Agent_Release_x64/full/functions/0x140090560.c new file mode 100644 index 00000000..f586be7d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140090560.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140090560 FUN_140090560 + * Pseudocode, not original source. */ + +void FUN_140090560(longlong param_1,int param_2,undefined8 param_3,longlong param_4) + +{ + int iVar1; + longlong lVar2; + longlong lVar3; + longlong lVar4; + int iVar5; + longlong lVar6; + + iVar5 = (int)param_3; + if ((-1 < param_2) && (-1 < iVar5)) { + iVar1 = *(int *)(param_1 + 0x18) - param_2; + if (iVar1 <= iVar5) { + iVar5 = iVar1; + } + if (0 < iVar1 - iVar5) { + lVar4 = (longlong)param_2 << 3; + lVar6 = (longlong)(iVar1 - iVar5); + do { + lVar2 = FUN_14003d690(param_1); + lVar3 = FUN_14003d690(param_1); + *(undefined8 *)(lVar3 + lVar4) = *(undefined8 *)((longlong)iVar5 * 8 + lVar2 + lVar4); + lVar4 = lVar4 + 8; + lVar6 = lVar6 + -1; + } while (lVar6 != 0); + } + FUN_140065570(param_1,*(int *)(param_1 + 0x18) - iVar5,param_3,param_4); + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140090610.c b/decomp/Agent_Release_x64/full/functions/0x140090610.c new file mode 100644 index 00000000..27346e5d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140090610.c @@ -0,0 +1,68 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140090610 FUN_140090610 + * Pseudocode, not original source. */ + +undefined8 * FUN_140090610(char *param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + int *piVar1; + DWORD DVar2; + DWORD DVar3; + longlong lVar4; + undefined8 *puVar5; + uint uVar6; + undefined8 uVar7; + exception local_50 [72]; + + if (*param_1 != '\0') { + FUN_14002f1e0(local_50,L"ServerSocketPool is already destructed!",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + uVar7 = param_2; + DVar2 = GetTickCount(); + DVar3 = GetTickCount(); + if (DVar3 - DVar2 < 10000) { + piVar1 = (int *)(param_1 + 0x30); + do { + FUN_14002e6e0(piVar1); + if (0 < *(int *)(param_1 + 0x80)) { + puVar5 = (undefined8 *)FUN_140030280(0x400); + if (puVar5 == (undefined8 *)0x0) { + puVar5 = (undefined8 *)0x0; + } + else { + uVar6 = *(int *)(param_1 + 0x80) - 1; + if (((int)uVar6 < 0) || (*(int *)(param_1 + 0x80) <= (int)uVar6)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0((ulonglong)uVar6,uVar7,param_3,param_4); + } + puVar5 = FUN_140035bb0(puVar5,*(undefined8 *) + (*(longlong *)(param_1 + 0x78) + (longlong)(int)uVar6 * 8), + param_2,param_4); + } + FUN_140090560((longlong)(param_1 + 0x68),*(int *)(param_1 + 0x80) + -1,1,param_4); + FUN_14002e770((longlong)piVar1); + return puVar5; + } + FUN_14002e770((longlong)piVar1); + Sleep(1); + DVar3 = GetTickCount(); + } while (DVar3 - DVar2 < 10000); + } + lVar4 = Ordinal_23(2,1,6); + if (lVar4 == -1) { + puVar5 = (undefined8 *)0x0; + } + else { + puVar5 = (undefined8 *)FUN_140030280(0x400); + if (puVar5 == (undefined8 *)0x0) { + puVar5 = (undefined8 *)0x0; + } + else { + puVar5 = FUN_140035bb0(puVar5,lVar4,param_2,param_4); + } + } + return puVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400907a0.c b/decomp/Agent_Release_x64/full/functions/0x1400907a0.c new file mode 100644 index 00000000..0ba5e54c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400907a0.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400907a0 FUN_1400907a0 + * Pseudocode, not original source. */ + +void FUN_1400907a0(undefined1 *param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + int *piVar1; + int *piVar2; + undefined8 uVar3; + LPVOID pvVar4; + ulonglong uVar5; + int iVar6; + ulonglong uVar7; + + *param_1 = 1; + FUN_1400375f0((undefined8 *)(param_1 + 8)); + piVar1 = (int *)(param_1 + 0x30); + piVar2 = piVar1; + FUN_14002e6e0(piVar1); + uVar5 = 0; + uVar7 = uVar5; + if (0 < *(int *)(param_1 + 0x80)) { + do { + if (((longlong)uVar5 < 0) || (iVar6 = (int)uVar7, *(int *)(param_1 + 0x80) <= iVar6)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(piVar2,param_2,param_3,param_4); + } + uVar3 = *(undefined8 *)(*(longlong *)(param_1 + 0x78) + uVar5 * 8); + FUN_1400385f0(uVar3); + if (*(int *)(param_1 + 0x80) <= iVar6) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(uVar3,param_2,param_3,param_4); + } + piVar2 = *(int **)(*(longlong *)(param_1 + 0x78) + uVar5 * 8); + Ordinal_3(); + uVar7 = (ulonglong)(iVar6 + 1U); + uVar5 = uVar5 + 1; + } while ((int)(iVar6 + 1U) < *(int *)(param_1 + 0x80)); + } + FUN_140065570((longlong)(param_1 + 0x68),0,param_3,param_4); + FUN_14002e770((longlong)piVar1); + *(undefined ***)(param_1 + 0x68) = Proud::CFastArray::vftable; + pvVar4 = *(LPVOID *)(param_1 + 0x78); + if (pvVar4 != (LPVOID)0x0) { + if (*(longlong **)(param_1 + 0x70) == (longlong *)0x0) { + FUN_1400302f0(pvVar4); + } + else { + (**(code **)(**(longlong **)(param_1 + 0x70) + 0x18))(); + } + } + FUN_14002e7a0(piVar1,pvVar4,param_3,param_4); + FUN_140037670((undefined8 *)(param_1 + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400908b0.c b/decomp/Agent_Release_x64/full/functions/0x1400908b0.c new file mode 100644 index 00000000..ec337b08 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400908b0.c @@ -0,0 +1,65 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400908b0 FUN_1400908b0 + * Pseudocode, not original source. */ + +void FUN_1400908b0(char *param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + int *piVar1; + int iVar2; + bool bVar3; + longlong lVar4; + longlong lVar5; + longlong lVar6; + int iVar7; + longlong lVar8; + undefined8 uVar9; + longlong lVar10; + + if (*param_1 == '\0') { + piVar1 = (int *)(param_1 + 0x30); + do { + FUN_14002e6e0(piVar1); + if (*(int *)(param_1 + 0x80) < 100) { + FUN_14002e770((longlong)piVar1); + bVar3 = false; + uVar9 = 6; + lVar4 = Ordinal_23(2); + if (lVar4 != -1) { + bVar3 = true; + FUN_14002e6e0(piVar1); + iVar2 = *(int *)(param_1 + 0x80); + if (iVar2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar7 = *(int *)(param_1 + 0x80); + FUN_140065570((longlong)(param_1 + 0x68),iVar7 + 1,uVar9,param_4); + iVar7 = iVar7 - iVar2; + if ((0 < iVar7) && (iVar7 = iVar7 + -1, lVar8 = (longlong)iVar7, -1 < iVar7)) { + lVar10 = (lVar8 + iVar2) * 8 + 8; + do { + lVar5 = FUN_14003d690((longlong)(param_1 + 0x68)); + lVar6 = FUN_14003d690((longlong)(param_1 + 0x68)); + *(undefined8 *)(lVar6 + lVar10) = *(undefined8 *)(lVar5 + -8 + lVar10); + lVar10 = lVar10 + -8; + lVar8 = lVar8 + -1; + } while (-1 < lVar8); + } + lVar8 = FUN_14003d690((longlong)(param_1 + 0x68)); + *(longlong *)(lVar8 + (longlong)iVar2 * 8) = lVar4; + } + } + else { + FUN_14002e770((longlong)piVar1); + bVar3 = false; + Sleep(10); + } + if (bVar3) { + FUN_14002e770((longlong)piVar1); + } + } while (*param_1 == '\0'); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140090a40.c b/decomp/Agent_Release_x64/full/functions/0x140090a40.c new file mode 100644 index 00000000..ecdb5088 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140090a40.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140090a40 FUN_140090a40 + * Pseudocode, not original source. */ + +undefined1 * +FUN_140090a40(undefined1 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined1 *puVar2; + undefined8 uVar3; + + puVar2 = param_1; + FUN_140037560((undefined8 *)(param_1 + 8),&LAB_140090a30,param_1); + uVar1 = FUN_14002e790(); + uVar1 = uVar1 & 0xffffffff; + uVar3 = CONCAT71((int7)((ulonglong)puVar2 >> 8),1); + FUN_14002e600((undefined4 *)(param_1 + 0x30),uVar1,uVar3,param_4); + *(undefined ***)(param_1 + 0x68) = Proud::CFastArray::vftable; + *(undefined8 *)(param_1 + 0x70) = 0; + *(undefined8 *)(param_1 + 0x78) = 0; + *(undefined8 *)(param_1 + 0x80) = 0; + *(undefined8 *)(param_1 + 0x88) = 0; + *param_1 = 0; + FUN_140037760((longlong *)(param_1 + 8),uVar1,uVar3,param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140090ac0.c b/decomp/Agent_Release_x64/full/functions/0x140090ac0.c new file mode 100644 index 00000000..a175214b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140090ac0.c @@ -0,0 +1,220 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140090ac0 FUN_140090ac0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140090ac0(void *param_1,byte *param_2,undefined8 param_3,undefined8 param_4) + +{ + byte bVar1; + uint uVar2; + undefined4 uVar3; + int iVar4; + uint uVar5; + uint *puVar6; + int iVar7; + void *pvVar8; + int iVar9; + longlong lVar10; + int iVar11; + ulonglong uVar12; + int iVar13; + int iVar14; + uint *puVar15; + longlong lVar16; + byte *pbVar17; + longlong lVar18; + undefined1 auStack_d8 [32]; + int local_b8; + exception local_a8 [68]; + uint auStack_64 [9]; + ulonglong local_40; + + local_40 = DAT_1401555a0 ^ (ulonglong)auStack_d8; + iVar11 = (int)param_3; + local_b8 = iVar11; + if (((iVar11 != 0x10) && (iVar11 != 0x18)) && (iVar11 != 0x20)) { + FUN_14002ed90(local_a8,"Incorrect key length",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_a8,(ThrowInfo *)&DAT_140151b88); + } + iVar4 = (int)param_4; + if (((iVar4 != 0x10) && (iVar4 != 0x18)) && (iVar4 != 0x20)) { + FUN_14002ed90(local_a8,"Incorrect block length",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_a8,(ThrowInfo *)&DAT_140151b88); + } + *(int *)((longlong)param_1 + 0x3c4) = iVar4; + if (iVar11 == 0x10) { + if (iVar4 == 0x10) { + uVar3 = 10; + } + else { + uVar3 = 0xe; + if (iVar4 == 0x18) { + uVar3 = 0xc; + } + } + } + else { + if (iVar11 != 0x18) { + *(undefined4 *)((longlong)param_1 + 0x3c8) = 0xe; + goto LAB_140090bcf; + } + uVar3 = 0xe; + if (iVar4 != 0x20) { + uVar3 = 0xc; + } + } + *(undefined4 *)((longlong)param_1 + 0x3c8) = uVar3; +LAB_140090bcf: + iVar9 = 0; + iVar4 = (int)(iVar4 + (iVar4 >> 0x1f & 3U)) >> 2; + lVar16 = (longlong)iVar4; + pvVar8 = param_1; + if (-1 < *(int *)((longlong)param_1 + 0x3c8)) { + do { + if (0 < iVar4) { + memset(pvVar8,0,lVar16 << 2); + } + iVar9 = iVar9 + 1; + pvVar8 = (void *)((longlong)pvVar8 + 0x20); + } while (iVar9 <= *(int *)((longlong)param_1 + 0x3c8)); + } + iVar9 = 0; + if (-1 < *(int *)((longlong)param_1 + 0x3c8)) { + pvVar8 = (void *)((longlong)param_1 + 0x1e0); + do { + if (0 < iVar4) { + memset(pvVar8,0,lVar16 << 2); + } + iVar9 = iVar9 + 1; + pvVar8 = (void *)((longlong)pvVar8 + 0x20); + } while (iVar9 <= *(int *)((longlong)param_1 + 0x3c8)); + } + puVar6 = auStack_64; + iVar9 = (*(int *)((longlong)param_1 + 0x3c8) + 1) * iVar4; + uVar5 = (int)(iVar11 + (iVar11 >> 0x1f & 3U)) >> 2; + lVar18 = (longlong)(int)uVar5; + if (0 < (int)uVar5) { + uVar12 = (ulonglong)uVar5; + do { + puVar6 = puVar6 + 1; + bVar1 = param_2[2]; + *puVar6 = (uint)*param_2 << 0x18; + *puVar6 = *puVar6 | (uint)param_2[1] << 0x10; + *puVar6 = *puVar6 | (uint)bVar1 << 8; + *puVar6 = *puVar6 | (uint)param_2[3]; + uVar12 = uVar12 - 1; + param_2 = param_2 + 4; + } while (uVar12 != 0); + } + iVar7 = 0; + lVar10 = 0; + iVar13 = iVar7; + if (0 < (int)uVar5) { + do { + iVar13 = iVar7; + if (iVar9 <= iVar7) break; + uVar2 = auStack_64[lVar10 + 1]; + lVar10 = lVar10 + 1; + iVar13 = iVar7 + 1; + *(uint *)((longlong)param_1 + ((longlong)(iVar7 % iVar4) + (longlong)(iVar7 / iVar4) * 8) * 4) + = uVar2; + *(uint *)((longlong)param_1 + + ((longlong)(iVar7 % iVar4) + 0x78 + + ((longlong)*(int *)((longlong)param_1 + 0x3c8) - (longlong)(iVar7 / iVar4)) * 8) * 4) + = uVar2; + iVar7 = iVar13; + } while (lVar10 < lVar18); + } + iVar7 = 1; + if (iVar13 < iVar9) { + pbVar17 = &DAT_140107f00; + do { + uVar12 = (ulonglong)(int)auStack_64[lVar18]; + auStack_64[1] = + auStack_64[1] ^ + CONCAT31(CONCAT21(CONCAT11((&DAT_140104d00)[(longlong)uVar12 >> 0x10 & 0xff] ^ *pbVar17, + (&DAT_140104d00)[(longlong)uVar12 >> 8 & 0xff]), + (&DAT_140104d00)[uVar12 & 0xff]), + (&DAT_140104d00)[auStack_64[lVar18] >> 0x18]); + if (uVar5 == 8) { + lVar10 = 3; + puVar6 = auStack_64 + 2; + do { + *puVar6 = *puVar6 ^ puVar6[-1]; + lVar10 = lVar10 + -1; + puVar6 = puVar6 + 1; + } while (lVar10 != 0); + uVar12 = (ulonglong)(int)auStack_64[4]; + lVar10 = 5; + auStack_64[5] = + auStack_64[5] ^ + CONCAT31(CONCAT21(CONCAT11((&DAT_140104d00)[auStack_64[4] >> 0x18], + (&DAT_140104d00)[(longlong)uVar12 >> 0x10 & 0xff]), + (&DAT_140104d00)[(longlong)uVar12 >> 8 & 0xff]), + (&DAT_140104d00)[uVar12 & 0xff]); + do { + puVar6 = auStack_64 + lVar10; + lVar10 = lVar10 + 1; + auStack_64[lVar10] = auStack_64[lVar10] ^ *puVar6; + } while (lVar10 < 8); + } + else { + lVar10 = 1; + if (1 < lVar18) { + do { + puVar6 = auStack_64 + lVar10; + lVar10 = lVar10 + 1; + auStack_64[lVar10] = auStack_64[lVar10] ^ *puVar6; + } while (lVar10 < lVar18); + } + } + lVar10 = 0; + iVar14 = iVar13; + iVar11 = local_b8; + if (0 < (int)uVar5) { + do { + if (iVar9 <= iVar14) goto LAB_140090eb5; + uVar2 = auStack_64[lVar10 + 1]; + lVar10 = lVar10 + 1; + iVar13 = iVar14 + 1; + *(uint *)((longlong)param_1 + + ((longlong)(iVar14 % iVar4) + (longlong)(iVar14 / iVar4) * 8) * 4) = uVar2; + *(uint *)((longlong)param_1 + + ((longlong)(iVar14 % iVar4) + 0x78 + + ((longlong)*(int *)((longlong)param_1 + 0x3c8) - (longlong)(iVar14 / iVar4)) * 8) + * 4) = uVar2; + iVar14 = iVar13; + } while (lVar10 < lVar18); + } + pbVar17 = pbVar17 + 1; + } while (iVar13 < iVar9); + } +LAB_140090eb5: + if (1 < *(int *)((longlong)param_1 + 0x3c8)) { + puVar6 = (uint *)((longlong)param_1 + 0x200); + do { + puVar15 = puVar6; + lVar18 = lVar16; + if (0 < lVar16) { + do { + uVar12 = (ulonglong)(int)*puVar15; + lVar18 = lVar18 + -1; + *puVar15 = *(uint *)(&DAT_140106f00 + (ulonglong)(*puVar15 >> 0x18) * 4) ^ + *(uint *)(&DAT_140107300 + ((longlong)uVar12 >> 0x10 & 0xffU) * 4) ^ + *(uint *)(&DAT_140107700 + ((longlong)uVar12 >> 8 & 0xffU) * 4) ^ + *(uint *)(&DAT_140107b00 + (uVar12 & 0xff) * 4); + puVar15 = puVar15 + 1; + } while (lVar18 != 0); + } + iVar7 = iVar7 + 1; + puVar6 = puVar6 + 8; + } while (iVar7 < *(int *)((longlong)param_1 + 0x3c8)); + } + *(int *)((longlong)param_1 + 0x3c0) = iVar11; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140090f90.c b/decomp/Agent_Release_x64/full/functions/0x140090f90.c new file mode 100644 index 00000000..ecab6a23 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140090f90.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140090f90 FUN_140090f90 + * Pseudocode, not original source. */ + +bool FUN_140090f90(longlong param_1) + +{ + return 0 < *(int *)(param_1 + 0x3c0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140090fa0.c b/decomp/Agent_Release_x64/full/functions/0x140090fa0.c new file mode 100644 index 00000000..74f2fffc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140090fa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140090fa0 FUN_140090fa0 + * Pseudocode, not original source. */ + +void FUN_140090fa0(longlong param_1) + +{ + *(undefined4 *)(param_1 + 0x3c0) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140090fb0.c b/decomp/Agent_Release_x64/full/functions/0x140090fb0.c new file mode 100644 index 00000000..504a0933 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140090fb0.c @@ -0,0 +1,91 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140090fb0 FUN_140090fb0 + * Pseudocode, not original source. */ + +void FUN_140090fb0(byte *param_1,byte *param_2,uint *param_3) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + ulonglong uVar4; + ulonglong uVar5; + ulonglong uVar6; + ulonglong uVar7; + uint uVar8; + uint *puVar9; + uint uVar10; + ulonglong uVar11; + exception local_78 [80]; + + if ((int)param_3[0xf0] < 1) { + FUN_14002f1e0(local_78,L"aes key is not initialized",param_3,param_1); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_78,(ThrowInfo *)&DAT_140151b88); + } + uVar1 = ((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[2] << 8 | + (uint)param_1[3]) ^ *param_3; + uVar10 = param_3[0xf2]; + uVar3 = ((uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[6] << 8 | + (uint)param_1[7]) ^ param_3[1]; + uVar2 = ((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[10] << 8 | + (uint)param_1[0xb]) ^ param_3[2]; + uVar8 = ((uint)CONCAT11(param_1[0xe],param_1[0xf]) | + (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10) ^ param_3[3]; + if (1 < (int)uVar10) { + uVar11 = (ulonglong)(uVar10 - 1); + puVar9 = param_3 + 10; + do { + uVar5 = (ulonglong)(int)uVar3; + uVar6 = (ulonglong)(int)uVar2; + uVar7 = (ulonglong)(int)uVar8; + uVar4 = (ulonglong)(int)uVar1; + uVar3 = *(uint *)(&DAT_140104f00 + ((longlong)uVar5 >> 0x18 & 0xffU) * 4) ^ + *(uint *)(&DAT_140105300 + ((longlong)uVar6 >> 0x10 & 0xffU) * 4) ^ + *(uint *)(&DAT_140105700 + ((longlong)uVar7 >> 8 & 0xffU) * 4) ^ + *(uint *)(&DAT_140105b00 + (uVar4 & 0xff) * 4) ^ puVar9[-1]; + uVar2 = *(uint *)(&DAT_140105700 + ((longlong)uVar4 >> 8 & 0xffU) * 4) ^ + *(uint *)(&DAT_140104f00 + ((longlong)uVar6 >> 0x18 & 0xffU) * 4) ^ + *(uint *)(&DAT_140105300 + ((longlong)uVar7 >> 0x10 & 0xffU) * 4) ^ + *(uint *)(&DAT_140105b00 + (uVar5 & 0xff) * 4) ^ *puVar9; + uVar8 = *(uint *)(&DAT_140105300 + ((longlong)uVar4 >> 0x10 & 0xffU) * 4) ^ + *(uint *)(&DAT_140105700 + ((longlong)uVar5 >> 8 & 0xffU) * 4) ^ + *(uint *)(&DAT_140104f00 + ((longlong)uVar7 >> 0x18 & 0xffU) * 4) ^ + *(uint *)(&DAT_140105b00 + (uVar6 & 0xff) * 4) ^ puVar9[1]; + uVar1 = *(uint *)(&DAT_140104f00 + (ulonglong)(uVar1 >> 0x18) * 4) ^ + *(uint *)(&DAT_140105300 + ((longlong)uVar5 >> 0x10 & 0xffU) * 4) ^ + *(uint *)(&DAT_140105700 + ((longlong)uVar6 >> 8 & 0xffU) * 4) ^ + *(uint *)(&DAT_140105b00 + (uVar7 & 0xff) * 4) ^ puVar9[-2]; + uVar11 = uVar11 - 1; + puVar9 = puVar9 + 8; + } while (uVar11 != 0); + uVar10 = param_3[0xf2]; + } + uVar6 = (ulonglong)(int)uVar2; + uVar5 = (ulonglong)(int)uVar8; + puVar9 = param_3 + (longlong)(int)uVar10 * 8; + uVar4 = (ulonglong)(int)uVar1; + uVar11 = (ulonglong)(int)uVar3; + uVar10 = *puVar9; + *param_2 = (&DAT_140104d00)[(longlong)uVar4 >> 0x18 & 0xff] ^ (byte)(uVar10 >> 0x18); + param_2[1] = (&DAT_140104d00)[(longlong)uVar11 >> 0x10 & 0xff] ^ (byte)(uVar10 >> 0x10); + param_2[2] = (&DAT_140104d00)[(longlong)uVar6 >> 8 & 0xff] ^ (byte)(uVar10 >> 8); + param_2[3] = (&DAT_140104d00)[uVar5 & 0xff] ^ (byte)uVar10; + uVar10 = puVar9[1]; + param_2[4] = (&DAT_140104d00)[(longlong)uVar11 >> 0x18 & 0xff] ^ (byte)(uVar10 >> 0x18); + param_2[5] = (&DAT_140104d00)[(longlong)uVar6 >> 0x10 & 0xff] ^ (byte)(uVar10 >> 0x10); + param_2[6] = (&DAT_140104d00)[(longlong)uVar5 >> 8 & 0xff] ^ (byte)(uVar10 >> 8); + param_2[7] = (&DAT_140104d00)[uVar4 & 0xff] ^ (byte)uVar10; + uVar10 = puVar9[2]; + param_2[8] = (&DAT_140104d00)[(longlong)uVar6 >> 0x18 & 0xff] ^ (byte)(uVar10 >> 0x18); + param_2[9] = (&DAT_140104d00)[(longlong)uVar5 >> 0x10 & 0xff] ^ (byte)(uVar10 >> 0x10); + param_2[10] = (&DAT_140104d00)[(longlong)uVar4 >> 8 & 0xff] ^ (byte)(uVar10 >> 8); + param_2[0xb] = (&DAT_140104d00)[uVar11 & 0xff] ^ (byte)uVar10; + uVar10 = puVar9[3]; + param_2[0xc] = (&DAT_140104d00)[(longlong)uVar5 >> 0x18 & 0xff] ^ (byte)(uVar10 >> 0x18); + param_2[0xd] = (&DAT_140104d00)[(longlong)uVar4 >> 0x10 & 0xff] ^ (byte)(uVar10 >> 0x10); + param_2[0xe] = (&DAT_140104d00)[(longlong)uVar11 >> 8 & 0xff] ^ (byte)(uVar10 >> 8); + param_2[0xf] = (&DAT_140104d00)[uVar6 & 0xff] ^ (byte)uVar10; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140091430.c b/decomp/Agent_Release_x64/full/functions/0x140091430.c new file mode 100644 index 00000000..9ee489d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140091430.c @@ -0,0 +1,93 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140091430 FUN_140091430 + * Pseudocode, not original source. */ + +void FUN_140091430(byte *param_1,byte *param_2,longlong param_3) + +{ + undefined4 uVar1; + uint *puVar2; + undefined4 *puVar3; + uint uVar4; + uint uVar5; + uint uVar6; + ulonglong uVar7; + ulonglong uVar8; + ulonglong uVar9; + ulonglong uVar10; + uint uVar11; + int iVar12; + ulonglong uVar13; + exception local_78 [80]; + + if (*(int *)(param_3 + 0x3c0) < 1) { + FUN_14002f1e0(local_78,L"aes key is not initialized",param_3,param_1); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_78,(ThrowInfo *)&DAT_140151b88); + } + iVar12 = *(int *)(param_3 + 0x3c8); + uVar6 = ((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[2] << 8 | + (uint)param_1[3]) ^ *(uint *)(param_3 + 0x1e0); + uVar5 = ((uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[6] << 8 | + (uint)param_1[7]) ^ *(uint *)(param_3 + 0x1e4); + uVar4 = ((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[10] << 8 | + (uint)param_1[0xb]) ^ *(uint *)(param_3 + 0x1e8); + uVar11 = ((uint)CONCAT11(param_1[0xe],param_1[0xf]) | + (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10) ^ *(uint *)(param_3 + 0x1ec); + if (1 < iVar12) { + uVar13 = (ulonglong)(iVar12 - 1); + puVar2 = (uint *)(param_3 + 0x208); + do { + uVar10 = (ulonglong)(int)uVar5; + uVar9 = (ulonglong)(int)uVar11; + uVar8 = (ulonglong)(int)uVar4; + uVar7 = (ulonglong)(int)uVar6; + uVar5 = *(uint *)(&DAT_140106300 + ((longlong)uVar7 >> 0x10 & 0xffU) * 4) ^ + *(uint *)(&DAT_140105f00 + ((longlong)uVar10 >> 0x18 & 0xffU) * 4) ^ + *(uint *)(&DAT_140106700 + ((longlong)uVar9 >> 8 & 0xffU) * 4) ^ + *(uint *)(&DAT_140106b00 + (uVar8 & 0xff) * 4) ^ puVar2[-1]; + uVar4 = *(uint *)(&DAT_140105f00 + ((longlong)uVar8 >> 0x18 & 0xffU) * 4) ^ + *(uint *)(&DAT_140106700 + ((longlong)uVar7 >> 8 & 0xffU) * 4) ^ + *(uint *)(&DAT_140106300 + ((longlong)uVar10 >> 0x10 & 0xffU) * 4) ^ + *(uint *)(&DAT_140106b00 + (uVar9 & 0xff) * 4) ^ *puVar2; + uVar11 = *(uint *)(&DAT_140106300 + ((longlong)uVar8 >> 0x10 & 0xffU) * 4) ^ + *(uint *)(&DAT_140106700 + ((longlong)uVar10 >> 8 & 0xffU) * 4) ^ + *(uint *)(&DAT_140105f00 + ((longlong)uVar9 >> 0x18 & 0xffU) * 4) ^ + *(uint *)(&DAT_140106b00 + (uVar7 & 0xff) * 4) ^ puVar2[1]; + uVar6 = *(uint *)(&DAT_140105f00 + (ulonglong)(uVar6 >> 0x18) * 4) ^ + *(uint *)(&DAT_140106700 + ((longlong)uVar8 >> 8 & 0xffU) * 4) ^ + *(uint *)(&DAT_140106300 + ((longlong)uVar9 >> 0x10 & 0xffU) * 4) ^ + *(uint *)(&DAT_140106b00 + (uVar10 & 0xff) * 4) ^ puVar2[-2]; + uVar13 = uVar13 - 1; + puVar2 = puVar2 + 8; + } while (uVar13 != 0); + iVar12 = *(int *)(param_3 + 0x3c8); + } + uVar13 = (ulonglong)(int)uVar6; + uVar8 = (ulonglong)(int)uVar4; + uVar9 = (ulonglong)(int)uVar11; + uVar7 = (ulonglong)(int)uVar5; + puVar3 = (undefined4 *)(((longlong)iVar12 + 0xf) * 0x20 + param_3); + uVar1 = *puVar3; + *param_2 = (&DAT_140104e00)[(longlong)uVar13 >> 0x18 & 0xff] ^ (byte)((uint)uVar1 >> 0x18); + param_2[1] = (&DAT_140104e00)[(longlong)uVar9 >> 0x10 & 0xff] ^ (byte)((uint)uVar1 >> 0x10); + param_2[2] = (&DAT_140104e00)[(longlong)uVar8 >> 8 & 0xff] ^ (byte)((uint)uVar1 >> 8); + param_2[3] = (&DAT_140104e00)[uVar7 & 0xff] ^ (byte)uVar1; + uVar1 = puVar3[1]; + param_2[4] = (&DAT_140104e00)[(longlong)uVar7 >> 0x18 & 0xff] ^ (byte)((uint)uVar1 >> 0x18); + param_2[5] = (&DAT_140104e00)[(longlong)uVar13 >> 0x10 & 0xff] ^ (byte)((uint)uVar1 >> 0x10); + param_2[6] = (&DAT_140104e00)[(longlong)uVar9 >> 8 & 0xff] ^ (byte)((uint)uVar1 >> 8); + param_2[7] = (&DAT_140104e00)[uVar8 & 0xff] ^ (byte)uVar1; + uVar1 = puVar3[2]; + param_2[8] = (&DAT_140104e00)[(longlong)uVar8 >> 0x18 & 0xff] ^ (byte)((uint)uVar1 >> 0x18); + param_2[9] = (&DAT_140104e00)[(longlong)uVar7 >> 0x10 & 0xff] ^ (byte)((uint)uVar1 >> 0x10); + param_2[10] = (&DAT_140104e00)[(longlong)uVar13 >> 8 & 0xff] ^ (byte)((uint)uVar1 >> 8); + param_2[0xb] = (&DAT_140104e00)[uVar9 & 0xff] ^ (byte)uVar1; + uVar1 = puVar3[3]; + param_2[0xc] = (&DAT_140104e00)[(longlong)uVar9 >> 0x18 & 0xff] ^ (byte)((uint)uVar1 >> 0x18); + param_2[0xd] = (&DAT_140104e00)[(longlong)uVar8 >> 0x10 & 0xff] ^ (byte)((uint)uVar1 >> 0x10); + param_2[0xe] = (&DAT_140104e00)[(longlong)uVar7 >> 8 & 0xff] ^ (byte)((uint)uVar1 >> 8); + param_2[0xf] = (&DAT_140104e00)[uVar13 & 0xff] ^ (byte)uVar1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400918c0.c b/decomp/Agent_Release_x64/full/functions/0x1400918c0.c new file mode 100644 index 00000000..53083341 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400918c0.c @@ -0,0 +1,140 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400918c0 FUN_1400918c0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +void FUN_1400918c0(byte *param_1,byte *param_2,uint *param_3) + +{ + int iVar1; + longlong lVar2; + uint uVar3; + int iVar4; + longlong lVar5; + int iVar6; + uint *puVar7; + int iVar8; + int iVar9; + longlong lVar10; + int iVar11; + longlong lVar12; + longlong lVar13; + undefined1 auStack_118 [32]; + int local_f8; + int local_f4; + int local_f0; + ulonglong local_e8; + size_t local_e0; + byte *local_d8; + uint *local_d0; + exception local_c8 [72]; + undefined4 local_80; + uint auStack_64 [9]; + ulonglong local_40; + + local_40 = DAT_1401555a0 ^ (ulonglong)auStack_118; + local_d8 = param_2; + local_d0 = param_3; + if (0 < (int)param_3[0xf0]) { + uVar3 = param_3[0xf1]; + if (uVar3 == 0x10) { + FUN_140090fb0(param_1,param_2,param_3); + } + else { + lVar12 = 0; + iVar4 = (int)(uVar3 + ((int)uVar3 >> 0x1f & 3U)) >> 2; + iVar6 = 0; + lVar13 = (longlong)iVar4; + if (iVar4 != 4) { + iVar6 = (iVar4 != 6) + 1; + } + lVar5 = (longlong)iVar6 * 0x20; + iVar6 = *(int *)(&DAT_140107f28 + lVar5); + local_f8 = *(int *)(&DAT_140107f30 + lVar5); + iVar9 = *(int *)(&DAT_140107f38 + lVar5); + puVar7 = &local_80; + lVar5 = lVar12; + if (0 < iVar4) { + do { + lVar10 = lVar5 + 1; + *puVar7 = (uint)*param_1 << 0x18; + *puVar7 = *puVar7 | (uint)param_1[1] << 0x10; + *puVar7 = *puVar7 | (uint)param_1[2] << 8; + *puVar7 = *puVar7 | (uint)param_1[3]; + *puVar7 = *puVar7 ^ param_3[lVar5]; + puVar7 = puVar7 + 1; + lVar5 = lVar10; + param_1 = param_1 + 4; + } while (lVar10 < lVar13); + } + if (1 < (int)param_3[0xf2]) { + lVar5 = (longlong)param_3 - (longlong)&local_80; + local_e0 = (size_t)(iVar4 * 4); + local_e8 = (ulonglong)(param_3[0xf2] - 1); + local_f4 = iVar6; + local_f0 = iVar9; + do { + lVar5 = lVar5 + 0x20; + if (0 < iVar4) { + iVar11 = local_f8 - iVar6; + iVar8 = iVar9 - iVar6; + lVar10 = lVar12; + iVar1 = iVar6; + do { + lVar2 = lVar10 * 4; + lVar10 = lVar10 + 1; + auStack_64[lVar10] = + *(uint *)(&DAT_140105700 + + ((longlong)(ulonglong)(uint)(&local_80)[(iVar11 + iVar1) % iVar4] >> 8 & + 0xffU) * 4) ^ + *(uint *)(&DAT_140105b00 + + (ulonglong)*(byte *)(&local_80 + (iVar8 + iVar1) % iVar4) * 4) ^ + *(uint *)(&DAT_140105300 + + ((longlong)(ulonglong)(uint)(&local_80)[iVar1 % iVar4] >> 0x10 & 0xffU) + * 4) ^ + *(uint *)(&DAT_140104f00 + + (ulonglong)*(byte *)((longlong)&local_80 + lVar2 + 3) * 4) ^ + *(uint *)((longlong)auStack_64 + lVar5 + lVar2 + 0xffffffffffffffe4U); + iVar6 = local_f4; + iVar9 = local_f0; + iVar1 = iVar1 + 1; + } while (lVar10 < lVar13); + } + memcpy(&local_80,auStack_64 + 1,local_e0); + local_e8 = local_e8 - 1; + param_2 = local_d8; + param_3 = local_d0; + } while (local_e8 != 0); + } + if (0 < iVar4) { + iVar6 = iVar6 - local_f8; + iVar9 = iVar9 - local_f8; + do { + lVar5 = lVar12 + (longlong)(int)param_3[0xf2] * 8; + lVar10 = lVar12 * 4; + lVar12 = lVar12 + 1; + uVar3 = param_3[lVar5]; + *param_2 = (&DAT_140104d00)[*(byte *)((longlong)&local_80 + lVar10 + 3)] ^ + (byte)(uVar3 >> 0x18); + param_2[1] = (&DAT_140104d00) + [(longlong)(ulonglong)(uint)(&local_80)[(local_f8 + iVar6) % iVar4] >> 0x10 & + 0xff] ^ (byte)(uVar3 >> 0x10); + param_2[2] = (&DAT_140104d00) + [(longlong)(ulonglong)(uint)(&local_80)[local_f8 % iVar4] >> 8 & 0xff] ^ + (byte)(uVar3 >> 8); + iVar1 = local_f8 + iVar9; + local_f8 = local_f8 + 1; + param_2[3] = (&DAT_140104d00)[*(byte *)(&local_80 + iVar1 % iVar4)] ^ (byte)uVar3; + param_2 = param_2 + 4; + } while (lVar12 < lVar13); + } + } + return; + } + FUN_14002f1e0(local_c8,L"aes key is not initialized",param_3,param_1); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_c8,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140091c70.c b/decomp/Agent_Release_x64/full/functions/0x140091c70.c new file mode 100644 index 00000000..27e4656a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140091c70.c @@ -0,0 +1,138 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140091c70 FUN_140091c70 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +void FUN_140091c70(byte *param_1,byte *param_2,longlong param_3) + +{ + longlong lVar1; + undefined4 uVar2; + int iVar3; + longlong lVar4; + int iVar5; + uint *puVar6; + int iVar7; + int iVar8; + uint *puVar9; + int iVar10; + longlong lVar11; + longlong lVar12; + ulonglong uVar13; + undefined1 auStack_118 [32]; + int local_f8; + int local_f4; + int local_ec; + size_t local_e8; + byte *local_e0; + longlong local_d8; + exception local_d0 [72]; + undefined4 local_88; + uint auStack_6c [9]; + ulonglong local_48; + + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_118; + local_e0 = param_2; + local_d8 = param_3; + if (0 < *(int *)(param_3 + 0x3c0)) { + iVar3 = *(int *)(param_3 + 0x3c4); + if (iVar3 == 0x10) { + FUN_140091430(param_1,param_2,param_3); + } + else { + iVar5 = 0; + iVar3 = (int)(iVar3 + (iVar3 >> 0x1f & 3U)) >> 2; + lVar11 = (longlong)iVar3; + if (iVar3 != 4) { + iVar5 = (iVar3 != 6) + 1; + } + lVar4 = (longlong)iVar5 * 0x20; + iVar5 = *(int *)(&DAT_140107f2c + lVar4); + local_f4 = *(int *)(&DAT_140107f34 + lVar4); + local_f8 = *(int *)(&DAT_140107f3c + lVar4); + if (0 < iVar3) { + puVar6 = &local_88; + puVar9 = (uint *)(param_3 + 0x1e0); + lVar4 = lVar11; + do { + *puVar6 = (uint)*param_1 << 0x18; + *puVar6 = *puVar6 | (uint)param_1[1] << 0x10; + *puVar6 = *puVar6 | (uint)param_1[2] << 8; + *puVar6 = *puVar6 | (uint)param_1[3]; + *puVar6 = *puVar6 ^ *puVar9; + lVar4 = lVar4 + -1; + puVar6 = puVar6 + 1; + puVar9 = puVar9 + 1; + param_1 = param_1 + 4; + } while (lVar4 != 0); + } + if (1 < *(int *)(param_3 + 0x3c8)) { + uVar13 = (ulonglong)(*(int *)(param_3 + 0x3c8) - 1); + local_e8 = (size_t)(iVar3 * 4); + lVar4 = (param_3 - (longlong)&local_88) + 0x200; + local_ec = iVar5; + do { + lVar12 = 0; + if (0 < iVar3) { + iVar10 = local_f4 - iVar5; + iVar8 = local_f8 - iVar5; + iVar7 = iVar5; + do { + lVar1 = lVar12 * 4; + lVar12 = lVar12 + 1; + auStack_6c[lVar12] = + *(uint *)(&DAT_140106700 + + ((longlong)(ulonglong)(uint)(&local_88)[(iVar10 + iVar7) % iVar3] >> 8 & + 0xffU) * 4) ^ + *(uint *)(&DAT_140106b00 + + (ulonglong)*(byte *)(&local_88 + (iVar8 + iVar7) % iVar3) * 4) ^ + *(uint *)(&DAT_140106300 + + ((longlong)(ulonglong)(uint)(&local_88)[iVar7 % iVar3] >> 0x10 & 0xffU) + * 4) ^ + *(uint *)(&DAT_140105f00 + + (ulonglong)*(byte *)((longlong)&local_88 + lVar1 + 3) * 4) ^ + *(uint *)((longlong)&local_88 + lVar4 + lVar1); + iVar7 = iVar7 + 1; + iVar5 = local_ec; + } while (lVar12 < lVar11); + } + memcpy(&local_88,auStack_6c + 1,local_e8); + lVar4 = lVar4 + 0x20; + uVar13 = uVar13 - 1; + param_3 = local_d8; + param_2 = local_e0; + } while (uVar13 != 0); + } + lVar4 = 0; + if (0 < iVar3) { + iVar5 = iVar5 - local_f4; + local_f8 = local_f8 - local_f4; + do { + lVar12 = lVar4 + 0x78; + lVar1 = lVar4 * 4; + lVar4 = lVar4 + 1; + uVar2 = *(undefined4 *)(param_3 + (lVar12 + (longlong)*(int *)(param_3 + 0x3c8) * 8) * 4); + *param_2 = (&DAT_140104e00)[*(byte *)((longlong)&local_88 + lVar1 + 3)] ^ + (byte)((uint)uVar2 >> 0x18); + param_2[1] = (&DAT_140104e00) + [(longlong)(ulonglong)(uint)(&local_88)[(local_f4 + iVar5) % iVar3] >> 0x10 & + 0xff] ^ (byte)((uint)uVar2 >> 0x10); + param_2[2] = (&DAT_140104e00) + [(longlong)(ulonglong)(uint)(&local_88)[local_f4 % iVar3] >> 8 & 0xff] ^ + (byte)((uint)uVar2 >> 8); + iVar7 = local_f4 + local_f8; + local_f4 = local_f4 + 1; + param_2[3] = (&DAT_140104e00)[*(byte *)(&local_88 + iVar7 % iVar3)] ^ (byte)uVar2; + param_2 = param_2 + 4; + } while (lVar4 < lVar11); + } + } + return; + } + FUN_14002f1e0(local_d0,L"aes key is not initialized",param_3,param_1); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d0,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140092020.c b/decomp/Agent_Release_x64/full/functions/0x140092020.c new file mode 100644 index 00000000..d2d1a2a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140092020.c @@ -0,0 +1,126 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140092020 FUN_140092020 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_140092020(uint *param_1,byte *param_2,byte *param_3,ulonglong param_4,int param_5) + +{ + uint uVar1; + undefined1 auVar2 [16]; + undefined1 auVar3 [16]; + ulonglong uVar4; + byte *pbVar5; + ulonglong uVar6; + uint uVar7; + undefined1 auStack_c8 [32]; + exception local_a8 [72]; + byte local_60 [32]; + ulonglong local_40; + + local_40 = DAT_1401555a0 ^ (ulonglong)auStack_c8; + if ((int)param_1[0xf0] < 1) { + FUN_14002f1e0(local_a8,L"aes key is not initialized",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_a8,(ThrowInfo *)&DAT_140151b88); + } + if (param_4 != 0) { + uVar6 = (ulonglong)(int)param_1[0xf1]; + auVar2._8_8_ = 0; + auVar2._0_8_ = uVar6; + auVar3._8_8_ = 0; + auVar3._0_8_ = param_4; + uVar4 = param_4 / uVar6; + if (SUB168(auVar3 % auVar2,0) == 0) { + local_60[1] = 0; + local_60[2] = 0; + local_60[3] = 0; + local_60[4] = 0; + local_60[5] = 0; + local_60[6] = 0; + local_60[7] = 0; + local_60[8] = 0; + local_60[9] = 0; + local_60[10] = 0; + local_60[0xb] = 0; + local_60[0xc] = 0; + local_60[0xd] = 0; + local_60[0xe] = 0; + local_60[0xf] = 0; + local_60[0x10] = 0; + local_60[0x11] = 0; + local_60[0x12] = 0; + local_60[0x13] = 0; + local_60[0x14] = 0; + local_60[0x15] = 0; + local_60[0x16] = 0; + local_60[0x17] = 0; + local_60[0x18] = 0; + local_60[0x19] = 0; + local_60[0x1a] = 0; + local_60[0x1b] = 0; + local_60[0x1c] = 0; + local_60[0x1d] = 0; + local_60[0x1e] = 0; + local_60[0x1f] = 0; + uVar7 = 0; + local_60[0] = SUB161(auVar3 % auVar2,0); + if (param_5 == 1) { + if (uVar4 != 0) { + do { + if (0 < (int)uVar6) { + uVar6 = uVar6 & 0xffffffff; + pbVar5 = local_60; + do { + *pbVar5 = *pbVar5 ^ pbVar5[(longlong)param_2 - (longlong)local_60]; + uVar6 = uVar6 - 1; + pbVar5 = pbVar5 + 1; + } while (uVar6 != 0); + } + FUN_1400918c0(local_60,param_3,param_1); + uVar6 = (ulonglong)(int)param_1[0xf1]; + memcpy(local_60,param_3,uVar6); + uVar7 = uVar7 + 1; + param_2 = param_2 + (int)param_1[0xf1]; + param_3 = param_3 + (int)param_1[0xf1]; + } while ((ulonglong)uVar7 < param_4 / uVar6); + } + } + else if (param_5 == 2) { + if (uVar4 != 0) { + do { + FUN_1400918c0(local_60,param_3,param_1); + if (0 < (int)param_1[0xf1]) { + uVar4 = (ulonglong)param_1[0xf1]; + pbVar5 = param_3; + do { + *pbVar5 = *pbVar5 ^ pbVar5[(longlong)param_2 - (longlong)param_3]; + uVar4 = uVar4 - 1; + pbVar5 = pbVar5 + 1; + } while (uVar4 != 0); + } + uVar1 = param_1[0xf1]; + memcpy(local_60,param_3,(longlong)(int)uVar1); + uVar7 = uVar7 + 1; + param_2 = param_2 + (int)param_1[0xf1]; + param_3 = param_3 + (int)param_1[0xf1]; + } while ((ulonglong)uVar7 < param_4 / (ulonglong)(longlong)(int)uVar1); + } + } + else if (uVar4 != 0) { + do { + FUN_1400918c0(param_2,param_3,param_1); + uVar7 = uVar7 + 1; + param_2 = param_2 + (int)param_1[0xf1]; + param_3 = param_3 + (int)param_1[0xf1]; + } while ((ulonglong)uVar7 < param_4 / (ulonglong)(longlong)(int)param_1[0xf1]); + } + return; + } + } + FUN_14002f1e0(local_a8,L"block size is not 16byte or 24byte or 32byte",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_a8,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400922b0.c b/decomp/Agent_Release_x64/full/functions/0x1400922b0.c new file mode 100644 index 00000000..23882dc8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400922b0.c @@ -0,0 +1,124 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400922b0 FUN_1400922b0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400922b0(uint *param_1,byte *param_2,byte *param_3,ulonglong param_4,int param_5) + +{ + uint uVar1; + undefined1 auVar2 [16]; + undefined1 auVar3 [16]; + ulonglong uVar4; + byte *pbVar5; + uint uVar6; + undefined1 auStack_b8 [32]; + exception local_98 [72]; + byte local_50 [32]; + ulonglong local_30; + + local_30 = DAT_1401555a0 ^ (ulonglong)auStack_b8; + if ((int)param_1[0xf0] < 1) { + FUN_14002f1e0(local_98,L"aes key is not initialized",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_98,(ThrowInfo *)&DAT_140151b88); + } + if (param_4 != 0) { + auVar2._8_8_ = 0; + auVar2._0_8_ = (longlong)(int)param_1[0xf1]; + auVar3._8_8_ = 0; + auVar3._0_8_ = param_4; + uVar4 = param_4 / (ulonglong)(longlong)(int)param_1[0xf1]; + if (SUB168(auVar3 % auVar2,0) == 0) { + local_50[1] = 0; + local_50[2] = 0; + local_50[3] = 0; + local_50[4] = 0; + local_50[5] = 0; + local_50[6] = 0; + local_50[7] = 0; + local_50[8] = 0; + local_50[9] = 0; + local_50[10] = 0; + local_50[0xb] = 0; + local_50[0xc] = 0; + local_50[0xd] = 0; + local_50[0xe] = 0; + local_50[0xf] = 0; + local_50[0x10] = 0; + local_50[0x11] = 0; + local_50[0x12] = 0; + local_50[0x13] = 0; + local_50[0x14] = 0; + local_50[0x15] = 0; + local_50[0x16] = 0; + local_50[0x17] = 0; + local_50[0x18] = 0; + local_50[0x19] = 0; + local_50[0x1a] = 0; + local_50[0x1b] = 0; + local_50[0x1c] = 0; + local_50[0x1d] = 0; + local_50[0x1e] = 0; + local_50[0x1f] = 0; + uVar6 = 0; + local_50[0] = SUB161(auVar3 % auVar2,0); + if (param_5 == 1) { + if (uVar4 != 0) { + do { + FUN_140091c70(param_2,param_3,(longlong)param_1); + if (0 < (int)param_1[0xf1]) { + uVar4 = (ulonglong)param_1[0xf1]; + pbVar5 = param_3; + do { + *pbVar5 = *pbVar5 ^ pbVar5[(longlong)(local_50 + -(longlong)param_3)]; + uVar4 = uVar4 - 1; + pbVar5 = pbVar5 + 1; + } while (uVar4 != 0); + } + uVar1 = param_1[0xf1]; + memcpy(local_50,param_2,(longlong)(int)uVar1); + uVar6 = uVar6 + 1; + param_2 = param_2 + (int)param_1[0xf1]; + param_3 = param_3 + (int)param_1[0xf1]; + } while ((ulonglong)uVar6 < param_4 / (ulonglong)(longlong)(int)uVar1); + } + } + else if (param_5 == 2) { + if (uVar4 != 0) { + do { + FUN_1400918c0(local_50,param_3,param_1); + if (0 < (int)param_1[0xf1]) { + uVar4 = (ulonglong)param_1[0xf1]; + pbVar5 = param_3; + do { + *pbVar5 = *pbVar5 ^ pbVar5[(longlong)param_2 - (longlong)param_3]; + uVar4 = uVar4 - 1; + pbVar5 = pbVar5 + 1; + } while (uVar4 != 0); + } + uVar1 = param_1[0xf1]; + memcpy(local_50,param_2,(longlong)(int)uVar1); + uVar6 = uVar6 + 1; + param_2 = param_2 + (int)param_1[0xf1]; + param_3 = param_3 + (int)param_1[0xf1]; + } while ((ulonglong)uVar6 < param_4 / (ulonglong)(longlong)(int)uVar1); + } + } + else if (uVar4 != 0) { + do { + FUN_140091c70(param_2,param_3,(longlong)param_1); + uVar6 = uVar6 + 1; + param_2 = param_2 + (int)param_1[0xf1]; + param_3 = param_3 + (int)param_1[0xf1]; + } while ((ulonglong)uVar6 < param_4 / (ulonglong)(longlong)(int)param_1[0xf1]); + } + return; + } + } + FUN_14002f1e0(local_98,L"block size is not 16byte or 24byte or 32byte",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_98,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140092530.c b/decomp/Agent_Release_x64/full/functions/0x140092530.c new file mode 100644 index 00000000..3accbc54 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140092530.c @@ -0,0 +1,107 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140092530 FUN_140092530 + * Pseudocode, not original source. */ + +undefined8 FUN_140092530(longlong param_1,longlong param_2,uint *param_3,undefined8 param_4) + +{ + byte bVar1; + uint uVar2; + uint uVar3; + undefined7 uVar7; + ulonglong uVar4; + byte *pbVar5; + undefined8 uVar6; + byte *_Dst; + byte *pbVar8; + undefined **local_138; + undefined8 local_130; + byte *local_128; + ulonglong local_120; + undefined8 local_118; + longlong local_110; + longlong local_108; + ulonglong local_100; + undefined8 local_f8; + exception local_e8 [72]; + exception local_a0 [72]; + exception local_58 [80]; + + local_f8 = 0xfffffffffffffffe; + if ((int)param_3[0xf0] < 1) { + FUN_14002ed90(local_e8,&DAT_1401080e0,param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_e8,(ThrowInfo *)&DAT_140151b88); + } + if (*(int *)(param_1 + 0x18) == 0) { + uVar7 = (undefined7)((ulonglong)&stack0x00000000 >> 8); + } + else { + _Dst = (byte *)0x0; + local_130 = 0; + local_128 = (byte *)0x0; + local_120 = 0; + local_118 = 0; + local_138 = Proud::ByteArray::vftable; + FUN_14001bc70((longlong)&local_138,*(int *)(param_1 + 0x18),(SIZE_T)param_3); + uVar4 = (ulonglong)*(int *)(param_1 + 0x18); + pbVar8 = local_128; + if ((int)local_120 == 0) { + pbVar8 = _Dst; + } + pbVar5 = _Dst; + if (*(int *)(param_1 + 0x18) != 0) { + pbVar5 = *(byte **)(param_1 + 0x10); + } + FUN_1400922b0(param_3,pbVar5,pbVar8,uVar4,0); + if ((int)local_120 < 1) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(param_3,local_120 & 0xffffffff,pbVar8,uVar4); + } + bVar1 = *local_128; + if ((int)local_120 < (int)(bVar1 + 5)) { + FUN_14002ed90(local_a0,&DAT_1401080b0,pbVar8,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_a0,(ThrowInfo *)&DAT_140151b88); + } + pbVar5 = local_128; + if ((int)local_120 == 0) { + pbVar5 = _Dst; + } + uVar2 = *(uint *)(pbVar5 + 1); + local_100 = 0; + local_108 = 0; + local_110 = 0; + pbVar5 = local_128; + if ((int)local_120 == 0) { + pbVar5 = _Dst; + } + uVar3 = FUN_1400bbf10(pbVar5 + 5,((int)local_120 - (uint)bVar1) + -5); + if (uVar2 != uVar3) { + FUN_14002ed90(local_58,&DAT_140108078,pbVar8,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + FUN_14001bc70(param_2,((int)local_120 - (uint)bVar1) + -5,(SIZE_T)pbVar8); + pbVar8 = local_128; + if ((int)local_120 == 0) { + pbVar8 = _Dst; + } + if (*(int *)(param_2 + 0x18) != 0) { + _Dst = *(byte **)(param_2 + 0x10); + } + memcpy(_Dst,pbVar8 + 5,(longlong)(int)(((int)local_120 - (uint)bVar1) + -5)); + FUN_140095270(&local_110); + if (local_108 != 0) { + if ((longlong)local_100 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_100 = local_100 & 0xffffffff00000000; + } + uVar6 = FUN_14003b870(&local_138); + uVar7 = (undefined7)((ulonglong)uVar6 >> 8); + } + return CONCAT71(uVar7,1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140092720.c b/decomp/Agent_Release_x64/full/functions/0x140092720.c new file mode 100644 index 00000000..4886bdb8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140092720.c @@ -0,0 +1,167 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140092720 FUN_140092720 + * Pseudocode, not original source. */ + +undefined8 FUN_140092720(longlong param_1,int *param_2,uint *param_3,ulonglong param_4) + +{ + byte bVar1; + undefined7 uVar5; + longlong lVar2; + byte *pbVar3; + void *_Dst; + undefined8 uVar4; + uint uVar6; + ulonglong uVar7; + byte *pbVar9; + uint uVar10; + byte *pbVar12; + undefined **local_258; + undefined8 local_250; + byte *local_248; + ulonglong local_240; + undefined8 local_238; + longlong local_230; + longlong local_228; + ulonglong local_220; + undefined8 local_210; + exception local_178 [144]; + exception local_e8 [72]; + exception local_a0 [72]; + exception local_58 [80]; + ulonglong uVar8; + int iVar11; + + local_210 = 0xfffffffffffffffe; + if ((int)param_3[0xf0] < 1) { + FUN_14002ed90(local_a0,&DAT_1401080e0,param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_a0,(ThrowInfo *)&DAT_140151b88); + } + lVar2 = *(longlong *)(param_1 + 8); + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + uVar10 = *(uint *)(param_1 + 0x18); + } + else { + uVar10 = *(uint *)(lVar2 + 0x18); + } + uVar7 = (ulonglong)uVar10; + if ((int)uVar10 <= (int)param_4) { + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,uVar7,param_3,param_4); + } + param_4 = (ulonglong)*(uint *)(param_1 + 0x18); + } + else { + param_4 = (ulonglong)*(uint *)(lVar2 + 0x18); + } + } + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,uVar7,param_3,param_4); + } + iVar11 = *(int *)(param_1 + 0x18); + } + else { + iVar11 = *(int *)(lVar2 + 0x18); + } + uVar10 = iVar11 - (int)param_4; + if (uVar10 == 0) { + uVar5 = (undefined7)((ulonglong)lVar2 >> 8); + } + else { + if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,uVar7,param_3,param_4); + } + if (*(int *)(lVar2 + 0x18) == 0) { + lVar2 = 0; + } + else { + lVar2 = *(longlong *)(lVar2 + 0x10); + } + } + else { + lVar2 = *(longlong *)(param_1 + 0x10); + if (lVar2 == 0) { + FUN_14002f1e0(local_178,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_178,(ThrowInfo *)&DAT_140151b88); + } + } + pbVar9 = (byte *)0x0; + local_250 = 0; + local_248 = (byte *)0x0; + local_240 = 0; + local_238 = 0; + local_258 = Proud::ByteArray::vftable; + FUN_14001bc70((longlong)&local_258,uVar10,(SIZE_T)param_3); + pbVar12 = local_248; + if ((int)local_240 == 0) { + pbVar12 = pbVar9; + } + uVar7 = (ulonglong)uVar10; + FUN_1400922b0(param_3,(byte *)((int)param_4 + lVar2),pbVar12,uVar7,0); + if ((int)local_240 < 1) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(param_3,local_240 & 0xffffffff,pbVar12,uVar7); + } + bVar1 = *local_248; + if ((int)local_240 < (int)(bVar1 + 5)) { + FUN_14002ed90(local_e8,&DAT_1401080b0,pbVar12,uVar7); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_e8,(ThrowInfo *)&DAT_140151b88); + } + pbVar3 = local_248; + if ((int)local_240 == 0) { + pbVar3 = pbVar9; + } + uVar10 = *(uint *)(pbVar3 + 1); + local_220 = 0; + local_228 = 0; + local_230 = 0; + pbVar3 = local_248; + if ((int)local_240 == 0) { + pbVar3 = pbVar9; + } + uVar6 = ((int)local_240 - (uint)bVar1) - 5; + uVar8 = (ulonglong)uVar6; + uVar6 = FUN_1400bbf10(pbVar3 + 5,uVar6); + if (uVar10 != uVar6) { + FUN_14002ed90(local_58,&DAT_140108078,pbVar12,uVar7); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + FUN_1400801a0((longlong)param_2,uVar8,(SIZE_T)pbVar12,uVar7); + uVar8 = (ulonglong)(((int)local_240 - (uint)bVar1) - 5); + FUN_140080830(param_2,uVar8,(SIZE_T)pbVar12,uVar7); + iVar11 = (int)local_240; + pbVar3 = local_248; + if ((int)local_240 == 0) { + pbVar3 = pbVar9; + } + _Dst = (void *)FUN_140065820((longlong)param_2,uVar8,pbVar12,uVar7); + memcpy(_Dst,pbVar3 + 5,(longlong)(int)((iVar11 - (uint)bVar1) + -5)); + FUN_140095270(&local_230); + if (local_228 != 0) { + if ((longlong)local_220 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_220 = local_220 & 0xffffffff00000000; + } + uVar4 = FUN_14003b870(&local_258); + uVar5 = (undefined7)((ulonglong)uVar4 >> 8); + } + return CONCAT71(uVar5,1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400929e0.c b/decomp/Agent_Release_x64/full/functions/0x1400929e0.c new file mode 100644 index 00000000..c14782d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400929e0.c @@ -0,0 +1,90 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400929e0 FUN_1400929e0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140092ae5) */ +/* WARNING: Removing unreachable block (ram,0x000140092af3) */ +/* WARNING: Removing unreachable block (ram,0x000140092aeb) */ +/* WARNING: Removing unreachable block (ram,0x000140092afa) */ + +void FUN_1400929e0(undefined8 *param_1,int param_2,byte *param_3,longlong param_4,uint *param_5) + +{ + byte *pbVar1; + byte *pbVar2; + byte *pbVar3; + longlong lVar4; + uint uVar5; + SIZE_T SVar6; + SIZE_T SVar7; + byte *pbVar8; + undefined **local_50; + undefined8 local_48; + byte *local_40; + undefined8 local_38; + undefined8 local_30; + + SVar7 = (SIZE_T)param_2; + pbVar8 = (byte *)0x0; + local_48 = 0; + local_40 = (byte *)0x0; + local_38 = 0; + local_30 = 0; + local_50 = Proud::ByteArray::vftable; + pbVar3 = (byte *)(param_4 + 4); + FUN_14001bc70((longlong)&local_50,1,(SIZE_T)param_3); + pbVar1 = local_40; + if ((int)local_38 == 0) { + pbVar1 = pbVar8; + } + SVar6 = 1; + FUN_14001bd30((undefined8 *)pbVar1,(undefined8 *)pbVar3,1); + lVar4 = (longlong)(int)local_38; + FUN_14001bc70((longlong)&local_50,(int)local_38 + 4,SVar6); + pbVar1 = local_40; + if ((int)local_38 == 0) { + pbVar1 = pbVar8; + } + SVar6 = 4; + FUN_14001bd30((undefined8 *)(pbVar1 + lVar4),(undefined8 *)(param_4 + 0xc),4); + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 != 0) { + lVar4 = (longlong)(int)local_38; + FUN_14001bc70((longlong)&local_50,(int)local_38 + param_2,SVar6); + pbVar1 = local_40; + if ((int)local_38 == 0) { + pbVar1 = pbVar8; + } + FUN_14001bd30((undefined8 *)(pbVar1 + lVar4),param_1,SVar7); + SVar6 = SVar7; + } + pbVar1 = pbVar8; + if (*pbVar3 != 0) { + do { + lVar4 = (longlong)(int)local_38; + if ((int)local_38 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14001bc70((longlong)&local_50,(int)local_38 + 1,SVar6); + pbVar2 = local_40; + if ((int)local_38 == 0) { + pbVar2 = pbVar8; + } + pbVar2[lVar4] = 0; + uVar5 = (int)pbVar1 + 1; + pbVar1 = (byte *)(ulonglong)uVar5; + } while ((int)uVar5 < (int)(uint)*pbVar3); + } + pbVar3 = local_40; + if ((int)local_38 == 0) { + pbVar3 = pbVar8; + } + FUN_140092020(param_5,pbVar3,param_3,(longlong)(int)local_38,0); + FUN_14003b870(&local_50); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140092b80.c b/decomp/Agent_Release_x64/full/functions/0x140092b80.c new file mode 100644 index 00000000..5cecf406 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140092b80.c @@ -0,0 +1,63 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140092b80 FUN_140092b80 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_140092b80(longlong param_1,longlong param_2,uint *param_3,undefined8 param_4) + +{ + int iVar1; + char cVar2; + undefined8 uVar3; + byte *pbVar4; + byte *pbVar5; + uint *puVar6; + undefined1 auStackY_118 [32]; + exception local_d8 [72]; + exception local_90 [72]; + int local_48; + byte local_44; + undefined4 local_40; + uint local_3c; + ulonglong local_38; + + local_38 = DAT_1401555a0 ^ (ulonglong)auStackY_118; + if ((int)param_3[0xf0] < 1) { + FUN_14002ed90(local_90,&DAT_1401080e0,param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_90,(ThrowInfo *)&DAT_140151b88); + } + iVar1 = *(int *)(param_1 + 0x18); + pbVar5 = (byte *)0x0; + pbVar4 = pbVar5; + if (iVar1 != 0) { + pbVar4 = *(byte **)(param_1 + 0x10); + } + puVar6 = param_3; + local_3c = FUN_1400bbf10(pbVar4,iVar1); + if (0 < (int)param_3[0xf0]) { + local_40 = 5; + cVar2 = (char)((iVar1 + 5) % (int)param_3[0xf1]); + local_44 = 0; + if (cVar2 != '\0') { + local_44 = (char)param_3[0xf1] - cVar2; + } + local_48 = local_44 + 5 + iVar1; + FUN_14001bc70(param_2,local_48,(SIZE_T)puVar6); + pbVar4 = pbVar5; + if (*(int *)(param_2 + 0x18) != 0) { + pbVar4 = *(byte **)(param_2 + 0x10); + } + if (*(int *)(param_1 + 0x18) != 0) { + pbVar5 = *(byte **)(param_1 + 0x10); + } + uVar3 = FUN_1400929e0((undefined8 *)pbVar5,*(int *)(param_1 + 0x18),pbVar4,(longlong)&local_48, + param_3); + return CONCAT71((int7)((ulonglong)uVar3 >> 8),1); + } + FUN_14002f1e0(local_d8,L"aes key is not initialized",puVar6,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d8,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140092cd0.c b/decomp/Agent_Release_x64/full/functions/0x140092cd0.c new file mode 100644 index 00000000..0b2e2e0d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140092cd0.c @@ -0,0 +1,136 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140092cd0 FUN_140092cd0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_140092cd0(longlong param_1,int *param_2,uint *param_3,ulonglong param_4) + +{ + uint uVar1; + undefined7 uVar4; + longlong lVar2; + undefined8 uVar3; + int *piVar5; + ulonglong uVar6; + int iVar7; + byte *pbVar8; + uint *puVar9; + byte *pbVar10; + undefined1 auStackY_238 [32]; + exception local_120 [72]; + exception local_d8 [72]; + exception local_90 [72]; + uint local_48; + byte local_44; + undefined4 local_40; + uint local_3c; + ulonglong local_38; + + local_38 = DAT_1401555a0 ^ (ulonglong)auStackY_238; + if ((int)param_3[0xf0] < 1) { + FUN_14002ed90(local_120,&DAT_1401080e0,param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_120,(ThrowInfo *)&DAT_140151b88); + } + lVar2 = *(longlong *)(param_1 + 8); + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + uVar1 = *(uint *)(param_1 + 0x18); + } + else { + uVar1 = *(uint *)(lVar2 + 0x18); + } + uVar6 = (ulonglong)uVar1; + if ((int)uVar1 <= (int)param_4) { + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,uVar6,param_3,param_4); + } + param_4 = (ulonglong)*(uint *)(param_1 + 0x18); + } + else { + param_4 = (ulonglong)*(uint *)(lVar2 + 0x18); + } + } + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,uVar6,param_3,param_4); + } + iVar7 = *(int *)(param_1 + 0x18); + } + else { + iVar7 = *(int *)(lVar2 + 0x18); + } + iVar7 = iVar7 - (int)param_4; + if (iVar7 == 0) { + uVar4 = (undefined7)((ulonglong)lVar2 >> 8); + } + else { + if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,uVar6,param_3,param_4); + } + if (*(int *)(lVar2 + 0x18) == 0) { + lVar2 = 0; + } + else { + lVar2 = *(longlong *)(lVar2 + 0x10); + } + } + else { + lVar2 = *(longlong *)(param_1 + 0x10); + if (lVar2 == 0) { + FUN_14002f1e0(local_90,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_90,(ThrowInfo *)&DAT_140151b88); + } + } + pbVar8 = (byte *)((int)param_4 + lVar2); + puVar9 = param_3; + local_3c = FUN_1400bbf10(pbVar8,iVar7); + if ((int)param_3[0xf0] < 1) { + FUN_14002f1e0(local_d8,L"aes key is not initialized",puVar9,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d8,(ThrowInfo *)&DAT_140151b88); + } + local_40 = 5; + uVar6 = (longlong)(iVar7 + 5) % (longlong)(int)param_3[0xf1] & 0xffffffff; + local_44 = (byte)uVar6; + if (local_44 != 0) { + local_44 = (char)param_3[0xf1] - local_44; + uVar6 = (ulonglong)local_44; + } + uVar1 = (byte)uVar6 + 5 + iVar7; + local_48 = uVar1; + FUN_1400801a0((longlong)param_2,uVar6,(SIZE_T)puVar9,param_4); + uVar6 = (ulonglong)uVar1; + piVar5 = param_2; + FUN_140080830(param_2,uVar6,(SIZE_T)puVar9,param_4); + pbVar10 = *(byte **)(param_2 + 4); + if (pbVar10 == (byte *)0x0) { + lVar2 = *(longlong *)(param_2 + 2); + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(piVar5,uVar6,0,param_4); + } + if (*(int *)(lVar2 + 0x18) == 0) { + pbVar10 = (byte *)0x0; + } + else { + pbVar10 = *(byte **)(lVar2 + 0x10); + } + } + uVar3 = FUN_1400929e0((undefined8 *)pbVar8,iVar7,pbVar10,(longlong)&local_48,param_3); + uVar4 = (undefined7)((ulonglong)uVar3 >> 8); + } + return CONCAT71(uVar4,1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140092f00.c b/decomp/Agent_Release_x64/full/functions/0x140092f00.c new file mode 100644 index 00000000..ee7b1cf2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140092f00.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140092f00 FUN_140092f00 + * Pseudocode, not original source. */ + +undefined8 FUN_140092f00(void) + +{ + return 1000; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140092f10.c b/decomp/Agent_Release_x64/full/functions/0x140092f10.c new file mode 100644 index 00000000..3cbf3945 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140092f10.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140092f10 FUN_140092f10 + * Pseudocode, not original source. */ + +undefined8 FUN_140092f10(void) + +{ + return 0x3f2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140092f30.c b/decomp/Agent_Release_x64/full/functions/0x140092f30.c new file mode 100644 index 00000000..799cbe4c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140092f30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140092f30 FUN_140092f30 + * Pseudocode, not original source. */ + +void FUN_140092f30(undefined8 *param_1) + +{ + *param_1 = Proud::IHeartbeatWork::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140092f40.c b/decomp/Agent_Release_x64/full/functions/0x140092f40.c new file mode 100644 index 00000000..63b7791f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140092f40.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140092f40 FUN_140092f40 + * Pseudocode, not original source. */ + +undefined8 * FUN_140092f40(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::IHeartbeatWork::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140092f70.c b/decomp/Agent_Release_x64/full/functions/0x140092f70.c new file mode 100644 index 00000000..fbf44801 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140092f70.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140092f70 FUN_140092f70 + * Pseudocode, not original source. */ + +undefined1 FUN_140092f70(void) + +{ + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140092f80.c b/decomp/Agent_Release_x64/full/functions/0x140092f80.c new file mode 100644 index 00000000..f28f6741 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140092f80.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140092f80 FUN_140092f80 + * Pseudocode, not original source. */ + +undefined8 FUN_140092f80(void) + +{ + return 2000; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140092f90.c b/decomp/Agent_Release_x64/full/functions/0x140092f90.c new file mode 100644 index 00000000..10789b3b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140092f90.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140092f90 FUN_140092f90 + * Pseudocode, not original source. */ + +undefined8 FUN_140092f90(void) + +{ + return 0x7d3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140092fb0.c b/decomp/Agent_Release_x64/full/functions/0x140092fb0.c new file mode 100644 index 00000000..7e3c0efb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140092fb0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140092fb0 FUN_140092fb0 + * Pseudocode, not original source. */ + +void FUN_140092fb0(longlong *param_1) + +{ + undefined8 *puVar1; + + puVar1 = (undefined8 *)*param_1; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140092fd0.c b/decomp/Agent_Release_x64/full/functions/0x140092fd0.c new file mode 100644 index 00000000..9fbed850 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140092fd0.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140092fd0 FUN_140092fd0 + * Pseudocode, not original source. */ + +void FUN_140092fd0(longlong param_1,int *param_2) + +{ + longlong lVar1; + uint local_res8 [2]; + + FUN_14002e6e0((int *)(param_1 + 0x98)); + if (*param_2 == 0) { + *(undefined4 *)(param_1 + 0x88) = 2; + lVar1 = (**(code **)(**(longlong **)(param_1 + 0x40) + 0x10))(); + if (lVar1 == 0) { + lVar1 = (**(code **)(**(longlong **)(param_1 + 0x40) + 0x18))(); + local_res8[0] = (uint)(lVar1 != 0); + } + else { + lVar1 = (**(code **)(**(longlong **)(param_1 + 0x40) + 0x10))(); + local_res8[0] = *(uint *)(lVar1 + 0x1578); + } + (**(code **)(*(longlong *)(param_1 + 0x68) + 0x30)) + ((longlong *)(param_1 + 0x68),1,&DAT_14015ded0,param_1 + 0x60,local_res8); + } + else { + *(undefined4 *)(param_1 + 0x88) = 0; + } + FUN_14002e770(param_1 + 0x98); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140093090.c b/decomp/Agent_Release_x64/full/functions/0x140093090.c new file mode 100644 index 00000000..a212a161 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140093090.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140093090 FUN_140093090 + * Pseudocode, not original source. */ + +void FUN_140093090(longlong param_1) + +{ + FUN_14002e6e0((int *)(param_1 + 0x98)); + *(undefined4 *)(param_1 + 0x88) = 0; + FUN_14002e770(param_1 + 0x98); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400930d0.c b/decomp/Agent_Release_x64/full/functions/0x1400930d0.c new file mode 100644 index 00000000..45d3f718 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400930d0.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400930d0 FUN_1400930d0 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +undefined8 FUN_1400930d0(longlong param_1) + +{ + undefined8 uVar1; + double dVar2; + + FUN_14002e6e0((int *)(param_1 + 0x88)); + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x38) + 0x70) + 0x88))(); + *(undefined4 *)(param_1 + 0x78) = 0; + dVar2 = (double)(**(code **)(**(longlong **)(param_1 + 0x30) + 8))(); + *(double *)(param_1 + 0x80) = dVar2 + _DAT_14015c018; + uVar1 = FUN_14002e770(param_1 + 0x88); + return CONCAT71((int7)((ulonglong)uVar1 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140093150.c b/decomp/Agent_Release_x64/full/functions/0x140093150.c new file mode 100644 index 00000000..2f79ecd6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140093150.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140093150 FUN_140093150 + * Pseudocode, not original source. */ + +undefined * +FUN_140093150(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + bool bVar1; + bool bVar2; + + bVar1 = false; + bVar2 = FUN_14002e780((int *)&DAT_14015e148); + if (bVar2) { + if (DAT_140156b40 == '\0') { + bVar1 = false; + } + else { + bVar1 = true; + FUN_14002e6e0((int *)&DAT_14015e148); + } + } + if ((DAT_14015e140 & 1) == 0) { + DAT_14015e140 = DAT_14015e140 | 1; + FUN_1400bc5c0((longlong *)&DAT_14015e080,param_2,param_3,param_4); + atexit((_func_5014 *)&LAB_1400f1750); + } + DAT_140156b40 = 0; + if (bVar1) { + FUN_14002e770(0x14015e148); + } + return &DAT_14015e080; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140093210.c b/decomp/Agent_Release_x64/full/functions/0x140093210.c new file mode 100644 index 00000000..ccf7b636 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140093210.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140093210 FUN_140093210 + * Pseudocode, not original source. */ + +void FUN_140093210(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + undefined8 *puVar2; + + *param_1 = Proud::CVizAgent::vftable; + param_1[2] = Proud::CVizAgent::vftable; + param_1[6] = Proud::CVizAgent::vftable; + piVar1 = (int *)FUN_140093150(param_1,param_2,param_3,param_4); + puVar2 = param_1 + 6; + FUN_1400bc340(piVar1,(longlong)puVar2,param_3,param_4); + if ((undefined8 *)param_1[9] != (undefined8 *)0x0) { + puVar2 = (undefined8 *)0x1; + (*(code *)**(undefined8 **)param_1[9])(); + } + param_1[9] = 0; + FUN_14002e7a0((undefined4 *)(param_1 + 0x13),puVar2,param_3,param_4); + FUN_140081fe0(param_1 + 0xd); + FUN_140003240(param_1 + 0xc,puVar2,param_3,param_4); + FUN_140003240(param_1 + 10,puVar2,param_3,param_4); + puVar2 = (undefined8 *)param_1[9]; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + param_1[6] = Proud::IHeartbeatWork::vftable; + FUN_140085260(param_1 + 2); + *param_1 = Proud::INetClientEvent::vftable; + FUN_14003b5c0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140093300.c b/decomp/Agent_Release_x64/full/functions/0x140093300.c new file mode 100644 index 00000000..1e6294cb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140093300.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140093300 FUN_140093300 + * Pseudocode, not original source. */ + +void FUN_140093300(void) + +{ + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140093310.c b/decomp/Agent_Release_x64/full/functions/0x140093310.c new file mode 100644 index 00000000..4c6c1f87 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140093310.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140093310 FUN_140093310 + * Pseudocode, not original source. */ + +void FUN_140093310(longlong param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140093330((undefined8 *)(param_1 + -0x10),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140093320.c b/decomp/Agent_Release_x64/full/functions/0x140093320.c new file mode 100644 index 00000000..743bfe9b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140093320.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140093320 FUN_140093320 + * Pseudocode, not original source. */ + +void FUN_140093320(longlong param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140093330((undefined8 *)(param_1 + -0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140093330.c b/decomp/Agent_Release_x64/full/functions/0x140093330.c new file mode 100644 index 00000000..8a63ed50 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140093330.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140093330 FUN_140093330 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140093330(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140093210(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140093360.c b/decomp/Agent_Release_x64/full/functions/0x140093360.c new file mode 100644 index 00000000..8e99dac4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140093360.c @@ -0,0 +1,99 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140093360 FUN_140093360 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_140093360(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *puVar1; + int *piVar2; + int *piVar3; + undefined **ppuVar4; + int *piVar5; + undefined8 *puVar6; + undefined *puVar7; + double dVar8; + undefined1 auStack_b8 [32]; + int *local_98; + undefined1 local_90; + int *local_88; + undefined1 local_80; + undefined8 local_78; + undefined *local_68; + undefined2 local_60; + undefined4 local_5c; + undefined4 local_58; + undefined4 local_54; + undefined4 local_50; + undefined8 local_48 [6]; + ulonglong local_18; + + local_78 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_b8; + dVar8 = (double)(**(code **)(**(longlong **)(param_1 + 0x40) + 8))(); + if (*(double *)(param_1 + 0x90) <= dVar8 && dVar8 != *(double *)(param_1 + 0x90)) { + ppuVar4 = &local_68; + FUN_14003b600(ppuVar4,param_2,param_3,param_4); + if (local_68 == (undefined *)0x0) { + local_68 = PTR_DAT_140155010; + } + if (*(undefined **)(param_1 + 0x50) != local_68) { + piVar2 = (int *)FUN_140030200(ppuVar4,param_2,param_3,param_4); + piVar5 = piVar2; + local_88 = piVar2; + FUN_14002e6e0(piVar2); + puVar1 = local_68; + local_80 = 1; + if (((local_68 != (undefined *)0x0) && (local_68 != PTR_DAT_140155010)) && + (puVar7 = local_68 + -8, puVar7 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(piVar5,param_2,param_3,param_4); + local_98 = piVar3; + FUN_14002e6e0(piVar3); + local_90 = 1; + piVar5 = (int *)(puVar1 + -4); + *piVar5 = *piVar5 + -1; + if (*piVar5 == 0) { + FUN_1400302f0(puVar7); + } + FUN_14002e770((longlong)piVar3); + } + local_68 = *(undefined **)(param_1 + 0x50); + if (((local_68 != PTR_DAT_140155010) && (local_68 != (undefined *)0x0)) && + (local_68 != (undefined *)0x8)) { + *(int *)(local_68 + -4) = *(int *)(local_68 + -4) + 1; + } + FUN_14002e770((longlong)piVar2); + } + local_60 = *(undefined2 *)(param_1 + 0x58); + local_5c = DAT_140156a98; + local_58 = DAT_140156a9c; + local_54 = DAT_140156aa0; + local_50 = DAT_140156aa4; + ppuVar4 = &local_68; + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x48) + 0x70) + 0x78))(); + dVar8 = (double)(**(code **)(**(longlong **)(param_1 + 0x40) + 8))(); + *(double *)(param_1 + 0x90) = dVar8 + _DAT_14015c018; + *(undefined4 *)(param_1 + 0x88) = 1; + puVar6 = local_48; + FUN_14003b870(puVar6); + puVar1 = local_68; + if (((local_68 != (undefined *)0x0) && (local_68 != PTR_DAT_140155010)) && + (puVar7 = local_68 + -8, puVar7 != (undefined *)0x0)) { + piVar2 = (int *)FUN_140030200(puVar6,ppuVar4,param_3,param_4); + local_98 = piVar2; + FUN_14002e6e0(piVar2); + local_90 = 1; + piVar5 = (int *)(puVar1 + -4); + *piVar5 = *piVar5 + -1; + if (*piVar5 == 0) { + FUN_1400302f0(puVar7); + } + FUN_14002e770((longlong)piVar2); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140093550.c b/decomp/Agent_Release_x64/full/functions/0x140093550.c new file mode 100644 index 00000000..2124c8d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140093550.c @@ -0,0 +1,63 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140093550 FUN_140093550 + * Pseudocode, not original source. */ + +void FUN_140093550(longlong param_1) + +{ + longlong *plVar1; + int *piVar2; + longlong lVar3; + longlong lVar4; + undefined1 local_res8 [8]; + undefined4 local_res10 [2]; + undefined8 uVar5; + int *piVar6; + undefined1 uVar7; + + uVar5 = 0xfffffffffffffffe; + piVar2 = (int *)(param_1 + 0x98); + piVar6 = piVar2; + FUN_14002e6e0(piVar2); + uVar7 = 1; + lVar3 = (**(code **)(**(longlong **)(param_1 + 0x40) + 0x10))(); + if (lVar3 == 0) { + lVar3 = (**(code **)(**(longlong **)(param_1 + 0x40) + 0x18))(); + if (lVar3 != 0) { + (**(code **)(*(longlong *)(param_1 + 0x68) + 0x90)) + (param_1 + 0x68,1,&DAT_14015de10,*(longlong *)(param_1 + 0x68),uVar5,piVar6,uVar7); + if (*(longlong *)(lVar3 + 0xc98) == 0) { + lVar3 = 0; + } + else { + lVar3 = *(longlong *)(lVar3 + 0xc88); + } + for (; lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x10)) { + (**(code **)(*(longlong *)(param_1 + 0x68) + 0xa0)) + (param_1 + 0x68,1,&DAT_14015de10,*(longlong *)(lVar3 + 8) + 0x6f8); + } + } + } + else { + local_res8[0] = 0; + local_res10[0] = + (**(code **)(*(longlong *)(lVar3 + 0x70) + 0x108))((longlong *)(lVar3 + 0x70),local_res8); + plVar1 = (longlong *)(param_1 + 0x68); + (**(code **)(*plVar1 + 0x60))(plVar1,1,&DAT_14015de10,local_res10); + (**(code **)(*plVar1 + 0x70))(plVar1,1,&DAT_14015de10); + lVar4 = 0; + if (*(longlong *)(lVar3 + 0x1670) != 0) { + lVar4 = *(longlong *)(lVar3 + 0x1660); + } + for (; lVar4 != 0; lVar4 = *(longlong *)(lVar4 + 0x10)) { + lVar3 = 0; + if (*(longlong **)(lVar4 + 8) != (longlong *)0x0) { + lVar3 = **(longlong **)(lVar4 + 8); + } + (**(code **)(*plVar1 + 0x80))(plVar1,1,&DAT_14015de10,lVar3 + 0x56c); + } + } + FUN_14002e770((longlong)piVar2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400936d0.c b/decomp/Agent_Release_x64/full/functions/0x1400936d0.c new file mode 100644 index 00000000..e3a68ecd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400936d0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400936d0 FUN_1400936d0 + * Pseudocode, not original source. */ + +undefined1 +FUN_1400936d0(longlong *param_1,undefined8 param_2,SIZE_T param_3,longlong *param_4,uint *param_5) + +{ + undefined1 uVar1; + SIZE_T SVar2; + longlong *plVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + plVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,plVar3); + FUN_1400221b0((longlong)local_30,0x3e9,SVar2,plVar3); + FUN_140081ea0((longlong)local_30,param_4,SVar2,plVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,SVar2,plVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_u_RequestLogin_1401569e8,0x3e9); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400937c0.c b/decomp/Agent_Release_x64/full/functions/0x1400937c0.c new file mode 100644 index 00000000..b7f215cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400937c0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400937c0 FUN_1400937c0 + * Pseudocode, not original source. */ + +undefined1 +FUN_1400937c0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + longlong *param_5,uint *param_6) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x3e9,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_5,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30, + PTR_u_RequestLogin_1401569e8,0x3e9); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400938b0.c b/decomp/Agent_Release_x64/full/functions/0x1400938b0.c new file mode 100644 index 00000000..5b722723 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400938b0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400938b0 FUN_1400938b0 + * Pseudocode, not original source. */ + +undefined1 +FUN_1400938b0(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,longlong *param_5, + uint *param_6) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x3eb,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + FUN_140081ea0((longlong)local_30,param_5,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_6,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_u_NotifyCommon_ReceiveRmi_1401569f8, + 0x3eb); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400939b0.c b/decomp/Agent_Release_x64/full/functions/0x1400939b0.c new file mode 100644 index 00000000..bbaf9a79 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400939b0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400939b0 FUN_1400939b0 + * Pseudocode, not original source. */ + +undefined1 +FUN_1400939b0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5,longlong *param_6,uint *param_7) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x3eb,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + FUN_140081ea0((longlong)local_30,param_6,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_7,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30, + PTR_u_NotifyCommon_ReceiveRmi_1401569f8,0x3eb); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140093ac0.c b/decomp/Agent_Release_x64/full/functions/0x140093ac0.c new file mode 100644 index 00000000..4f13633e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140093ac0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140093ac0 FUN_140093ac0 + * Pseudocode, not original source. */ + +undefined1 FUN_140093ac0(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x3ec,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30, + PTR_u_NotifyCli_ConnectionState_140156a00,0x3ec); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140093ba0.c b/decomp/Agent_Release_x64/full/functions/0x140093ba0.c new file mode 100644 index 00000000..9a7a9a00 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140093ba0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140093ba0 FUN_140093ba0 + * Pseudocode, not original source. */ + +undefined1 +FUN_140093ba0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x3ec,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30, + PTR_u_NotifyCli_ConnectionState_140156a00,0x3ec); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140093c80.c b/decomp/Agent_Release_x64/full/functions/0x140093c80.c new file mode 100644 index 00000000..402f19fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140093c80.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140093c80 FUN_140093c80 + * Pseudocode, not original source. */ + +undefined1 FUN_140093c80(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,param_4); + FUN_1400221b0((longlong)local_30,0x3ed,SVar2,param_4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_u_NotifyCli_Peers_Clear_140156a08, + 0x3ed); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140093d40.c b/decomp/Agent_Release_x64/full/functions/0x140093d40.c new file mode 100644 index 00000000..348b7d93 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140093d40.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140093d40 FUN_140093d40 + * Pseudocode, not original source. */ + +undefined1 FUN_140093d40(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x3ed,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30, + PTR_u_NotifyCli_Peers_Clear_140156a08,0x3ed); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140093e10.c b/decomp/Agent_Release_x64/full/functions/0x140093e10.c new file mode 100644 index 00000000..55cb3a48 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140093e10.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140093e10 FUN_140093e10 + * Pseudocode, not original source. */ + +undefined1 FUN_140093e10(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x3ee,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30, + PTR_u_NotifyCli_Peers_AddOrEdit_140156a10,0x3ee); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140093ef0.c b/decomp/Agent_Release_x64/full/functions/0x140093ef0.c new file mode 100644 index 00000000..d9b34981 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140093ef0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140093ef0 FUN_140093ef0 + * Pseudocode, not original source. */ + +undefined1 +FUN_140093ef0(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x3ee,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30, + PTR_u_NotifyCli_Peers_AddOrEdit_140156a10,0x3ee); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140093fd0.c b/decomp/Agent_Release_x64/full/functions/0x140093fd0.c new file mode 100644 index 00000000..04615f35 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140093fd0.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140093fd0 FUN_140093fd0 + * Pseudocode, not original source. */ + +undefined1 FUN_140093fd0(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,param_4); + FUN_1400221b0((longlong)local_30,0x3ef,SVar2,param_4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_u_NotifySrv_ClientEmpty_140156a18, + 0x3ef); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140094090.c b/decomp/Agent_Release_x64/full/functions/0x140094090.c new file mode 100644 index 00000000..97685f05 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140094090.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140094090 FUN_140094090 + * Pseudocode, not original source. */ + +undefined1 FUN_140094090(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x3ef,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30, + PTR_u_NotifySrv_ClientEmpty_140156a18,0x3ef); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140094160.c b/decomp/Agent_Release_x64/full/functions/0x140094160.c new file mode 100644 index 00000000..02a60921 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140094160.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140094160 FUN_140094160 + * Pseudocode, not original source. */ + +undefined1 FUN_140094160(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x3f0,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30, + PTR_u_NotifySrv_Clients_AddOrEdit_140156a20,0x3f0); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140094240.c b/decomp/Agent_Release_x64/full/functions/0x140094240.c new file mode 100644 index 00000000..ea08bee7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140094240.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140094240 FUN_140094240 + * Pseudocode, not original source. */ + +undefined1 +FUN_140094240(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x3f0,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30, + PTR_u_NotifySrv_Clients_AddOrEdit_140156a20,0x3f0); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140094320.c b/decomp/Agent_Release_x64/full/functions/0x140094320.c new file mode 100644 index 00000000..457aa8e0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140094320.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140094320 FUN_140094320 + * Pseudocode, not original source. */ + +undefined1 FUN_140094320(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4) + +{ + undefined1 uVar1; + SIZE_T SVar2; + uint *puVar3; + undefined4 local_res10 [2]; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + local_res10[0] = (undefined4)param_2; + SVar2 = param_3; + puVar3 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,param_2,SVar2,puVar3); + FUN_1400221b0((longlong)local_30,0x3f1,SVar2,puVar3); + FUN_140021e80((longlong)local_30,(ulonglong)*param_4,SVar2,puVar3); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_30,PTR_u_NotifySrv_Clients_Remove_140156a28 + ,0x3f1); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140094400.c b/decomp/Agent_Release_x64/full/functions/0x140094400.c new file mode 100644 index 00000000..e16ceaf6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140094400.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140094400 FUN_140094400 + * Pseudocode, not original source. */ + +undefined1 +FUN_140094400(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4, + uint *param_5) + +{ + undefined1 uVar1; + undefined8 uVar2; + ulonglong uVar3; + undefined8 uVar4; + undefined4 local_30 [2]; + longlong local_28; + longlong local_20; + int local_14; + + uVar2 = param_2; + uVar3 = param_3; + uVar4 = param_4; + FUN_1400806d0(local_30); + FUN_1400801a0((longlong)local_30,uVar2,uVar3,uVar4); + FUN_1400221b0((longlong)local_30,0x3f1,uVar3,uVar4); + FUN_140021e80((longlong)local_30,(ulonglong)*param_5,uVar3,uVar4); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,param_3 & 0xffffffff,param_4,local_30, + PTR_u_NotifySrv_Clients_Remove_140156a28,0x3f1); + FUN_140095270(&local_28); + if ((local_20 != 0) && (local_14 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400944e0.c b/decomp/Agent_Release_x64/full/functions/0x1400944e0.c new file mode 100644 index 00000000..82b9decc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400944e0.c @@ -0,0 +1,360 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400944e0 FUN_1400944e0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400944e0(longlong *param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + uint uVar2; + int iVar3; + DWORD DVar4; + DWORD DVar5; + undefined8 uVar6; + undefined8 uVar7; + short *psVar8; + longlong *plVar9; + undefined **ppuVar10; + int *piVar11; + int *piVar12; + undefined *puVar13; + undefined **ppuVar14; + ulonglong uVar15; + undefined4 uVar16; + undefined **ppuVar17; + undefined *puVar18; + undefined *puVar19; + undefined *local_res10; + undefined8 local_res18; + uint local_res20 [2]; + undefined *local_118; + int *local_110; + undefined *local_108; + uint local_100; + undefined8 local_f8; + int local_f0; + undefined *local_e8; + undefined *local_e0; + undefined *local_d8; + undefined *local_d0; + undefined *local_c8; + undefined **local_c0; + undefined1 local_b8; + undefined *local_b0; + undefined8 local_a8; + undefined1 local_98 [4]; + uint local_94; + undefined8 local_60; + + local_a8 = 0xfffffffffffffffe; + uVar1 = param_2[10]; + uVar7 = param_3; + local_res18 = param_3; + if (uVar1 == 0) { + FUN_140093300(); + } + uVar2 = *param_2; + uVar6 = FUN_140080fb0(param_2,local_res20,uVar7,param_4); + if ((char)uVar6 == '\0') { +LAB_140094ce2: + uVar15 = FUN_1400802d0((int *)param_2, + (ulonglong)(uint)((int)(((int)uVar2 >> 0x1f & 7U) + uVar2) >> 3),uVar7, + param_4); + uVar15 = uVar15 & 0xffffffffffffff00; + } + else { + local_60 = param_3; + if (local_res20[0] == 0x7d1) { + FUN_14003b570(local_98); + local_94 = param_2[10]; + local_98[0] = (undefined1)param_2[0x10]; + plVar9 = (longlong *)param_1[2]; + puVar18 = PTR_u_NotifyLoginOk_140156a88; + (**(code **)(*plVar9 + 0x48))(); + DVar4 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar1,0x7d1,PTR_u_NotifyLoginOk_140156a88,&DAT_14011e014 + ); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar9,param_2,puVar18,param_4); + puVar18 = PTR_DAT_140155010; + local_res10 = PTR_DAT_140155010; + uVar7 = 0xfffffffe; + ppuVar17 = &local_b0; + plVar9 = FUN_14001ac70((longlong *)&local_res10,(longlong *)ppuVar17,0xfffffffe); + if (puVar18 == (undefined *)0x0) { + puVar18 = PTR_DAT_140155010; + } + local_res10 = puVar18; + if ((undefined *)*plVar9 != puVar18) { + piVar11 = (int *)FUN_140030200(PTR_DAT_140155010,ppuVar17,uVar7,param_4); + piVar12 = piVar11; + local_110 = piVar11; + FUN_14002e6e0(piVar11); + local_108 = (undefined *)CONCAT71(local_108._1_7_,1); + if (((puVar18 != (undefined *)0x0) && (puVar18 != PTR_DAT_140155010)) && + (puVar18 + -8 != (undefined *)0x0)) { + ppuVar14 = (undefined **)FUN_140030200(piVar12,ppuVar17,uVar7,param_4); + local_c0 = ppuVar14; + FUN_14002e6e0((int *)ppuVar14); + local_b8 = 1; + piVar12 = (int *)(puVar18 + -4); + *piVar12 = *piVar12 + -1; + if (*piVar12 == 0) { + FUN_1400302f0(puVar18 + -8); + } + FUN_14002e770((longlong)ppuVar14); + } + puVar18 = (undefined *)*plVar9; + if (((puVar18 != PTR_DAT_140155010) && (puVar18 != (undefined *)0x0)) && + (puVar18 != (undefined *)0x8)) { + *(int *)(puVar18 + -4) = *(int *)(puVar18 + -4) + 1; + } + local_res10 = puVar18; + FUN_14002e770((longlong)piVar11); + } + if (((local_b0 != (undefined *)0x0) && (local_b0 != PTR_DAT_140155010)) && + (local_b0 + -8 != (undefined *)0x0)) { + piVar11 = (int *)FUN_140030200(PTR_DAT_140155010,ppuVar17,uVar7,param_4); + local_110 = piVar11; + FUN_14002e6e0(piVar11); + local_108 = (undefined *)CONCAT71(local_108._1_7_,1); + piVar12 = (int *)(local_b0 + -4); + *piVar12 = *piVar12 + -1; + if (*piVar12 == 0) { + FUN_1400302f0(local_b0 + -8); + } + FUN_14002e770((longlong)piVar11); + } + local_c0 = &local_e8; + piVar12 = (int *)PTR_DAT_140155010; + local_b0 = PTR_DAT_140155010; + FUN_140030200(PTR_DAT_140155010,ppuVar17,uVar7,param_4); + local_e8 = PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_e8 = (undefined *)0x0; + } + if (puVar18 != PTR_DAT_140155010) { + piVar12 = (int *)FUN_140030200(piVar12,ppuVar17,uVar7,param_4); + local_110 = piVar12; + FUN_14002e6e0(piVar12); + local_108 = (undefined *)CONCAT71(local_108._1_7_,1); + FUN_140003240((longlong *)&local_e8,ppuVar17,uVar7,param_4); + if (((puVar18 != PTR_DAT_140155010) && (puVar18 != (undefined *)0x0)) && + (puVar18 != (undefined *)0x8)) { + *(int *)(puVar18 + -4) = *(int *)(puVar18 + -4) + 1; + } + local_e8 = puVar18; + FUN_14002e770((longlong)piVar12); + } + puVar19 = PTR_u_NotifyLoginOk_140156a88; + FUN_140030200(piVar12,ppuVar17,uVar7,param_4); + local_d8 = PTR_DAT_140155010; + iVar3 = FUN_140030080((short *)puVar19); + puVar13 = FUN_140002f90((longlong *)&local_d8,iVar3); + FUN_1400300b0(puVar13,puVar19,iVar3); + FUN_140003070((longlong *)&local_d8); + (**(code **)(*param_1 + 0x28))(param_1,0x7d1,&local_d8,&local_e8); + plVar9 = (longlong *)param_1[2]; + uVar7 = 0x7d1; + uVar15 = (ulonglong)uVar1; + puVar19 = PTR_u_NotifyLoginOk_140156a88; + (**(code **)(*plVar9 + 0x70))(); + param_3 = local_res18; + if (((puVar18 != (undefined *)0x0) && (puVar18 != PTR_DAT_140155010)) && + (puVar18 + -8 != (undefined *)0x0)) { + piVar11 = (int *)FUN_140030200(plVar9,uVar15,uVar7,puVar19); + local_110 = piVar11; + FUN_14002e6e0(piVar11); + local_108 = (undefined *)CONCAT71(local_108._1_7_,1); + piVar12 = (int *)(puVar18 + -4); + *piVar12 = *piVar12 + -1; + if (*piVar12 == 0) { + FUN_1400302f0(puVar18 + -8); + } + FUN_14002e770((longlong)piVar11); + param_3 = local_res18; + } + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_110 = (int *)CONCAT44(local_110._4_4_,0x7d1); + local_108 = PTR_u_NotifyLoginOk_140156a88; + local_100 = uVar1; + local_f8 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_110); + DVar4 = GetTickCount(); + } + uVar7 = (**(code **)(*param_1 + 0x38))(param_1,uVar1,local_98); + if ((char)uVar7 == '\0') { + uVar7 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_u_NotifyLoginOk_140156a88); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_110 = (int *)CONCAT44(local_110._4_4_,0x7d1); + local_108 = PTR_u_NotifyLoginOk_140156a88; +LAB_140094cb3: + local_100 = uVar1; + local_f8 = param_3; + DVar5 = GetTickCount(); + local_f0 = DVar5 - DVar4; + uVar7 = (**(code **)(*param_1 + 0x18))(param_1,&local_110); + } + } + else { + if (local_res20[0] != 0x7d2) goto LAB_140094ce2; + FUN_14003b570(local_98); + local_94 = param_2[10]; + local_98[0] = (undefined1)param_2[0x10]; + uVar7 = FUN_140080600(param_2,&local_118,4); + uVar16 = local_res10._0_4_; + if ((char)uVar7 != '\0') { + uVar16 = local_118._0_4_; + } + local_res10 = (undefined *)CONCAT44(local_res10._4_4_,uVar16); + plVar9 = (longlong *)param_1[2]; + puVar18 = PTR_u_NotifyLoginFailed_140156a90; + (**(code **)(*plVar9 + 0x48))(); + DVar4 = 0; + if (*(char *)((longlong)param_1 + 0x19) == '\0') { + if ((char)param_1[3] == '\0') { + (**(code **)(*(longlong *)param_1[2] + 0x70)) + ((longlong *)param_1[2],uVar1,0x7d2,PTR_u_NotifyLoginFailed_140156a90, + &DAT_14011e014); + } + } + else if ((char)param_1[3] == '\0') { + FUN_140030200(plVar9,param_2,puVar18,param_4); + local_118 = PTR_DAT_140155010; + psVar8 = (short *)FUN_14003beb0(local_res10._0_4_); + FUN_14001b850((longlong *)&local_118,psVar8); + FUN_14001b850((longlong *)&local_118,(short *)&DAT_14011eebc); + puVar18 = local_118; + iVar3 = 0; + if ((local_118 != (undefined *)0x0) && (local_118 != PTR_DAT_140155010)) { + iVar3 = *(int *)(local_118 + -8); + } + uVar15 = (ulonglong)(iVar3 - 2U); + ppuVar17 = &local_c8; + plVar9 = FUN_14001ac70((longlong *)&local_118,(longlong *)ppuVar17,iVar3 - 2U); + if (puVar18 == (undefined *)0x0) { + puVar18 = PTR_DAT_140155010; + } + local_118 = puVar18; + if ((undefined *)*plVar9 != puVar18) { + ppuVar10 = (undefined **)FUN_140030200(PTR_DAT_140155010,ppuVar17,uVar15,param_4); + ppuVar14 = ppuVar10; + local_c0 = ppuVar10; + FUN_14002e6e0((int *)ppuVar10); + local_b8 = 1; + if (((puVar18 != (undefined *)0x0) && (puVar18 != PTR_DAT_140155010)) && + (puVar18 + -8 != (undefined *)0x0)) { + piVar11 = (int *)FUN_140030200(ppuVar14,ppuVar17,uVar15,param_4); + local_110 = piVar11; + FUN_14002e6e0(piVar11); + local_108 = (undefined *)CONCAT71(local_108._1_7_,1); + piVar12 = (int *)(puVar18 + -4); + *piVar12 = *piVar12 + -1; + if (*piVar12 == 0) { + FUN_1400302f0(puVar18 + -8); + } + FUN_14002e770((longlong)piVar11); + } + puVar18 = (undefined *)*plVar9; + if (((puVar18 != PTR_DAT_140155010) && (puVar18 != (undefined *)0x0)) && + (puVar18 != (undefined *)0x8)) { + *(int *)(puVar18 + -4) = *(int *)(puVar18 + -4) + 1; + } + local_118 = puVar18; + FUN_14002e770((longlong)ppuVar10); + } + if (((local_c8 != (undefined *)0x0) && (local_c8 != PTR_DAT_140155010)) && + (local_c8 + -8 != (undefined *)0x0)) { + piVar11 = (int *)FUN_140030200(PTR_DAT_140155010,ppuVar17,uVar15,param_4); + local_110 = piVar11; + FUN_14002e6e0(piVar11); + local_108 = (undefined *)CONCAT71(local_108._1_7_,1); + piVar12 = (int *)(local_c8 + -4); + *piVar12 = *piVar12 + -1; + if (*piVar12 == 0) { + FUN_1400302f0(local_c8 + -8); + } + FUN_14002e770((longlong)piVar11); + } + local_c0 = &local_e0; + piVar12 = (int *)PTR_DAT_140155010; + local_c8 = PTR_DAT_140155010; + FUN_140030200(PTR_DAT_140155010,ppuVar17,uVar15,param_4); + local_e0 = PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_e0 = (undefined *)0x0; + } + if (puVar18 != PTR_DAT_140155010) { + piVar12 = (int *)FUN_140030200(piVar12,ppuVar17,uVar15,param_4); + local_110 = piVar12; + FUN_14002e6e0(piVar12); + local_108 = (undefined *)CONCAT71(local_108._1_7_,1); + FUN_140003240((longlong *)&local_e0,ppuVar17,uVar15,param_4); + if (((puVar18 != PTR_DAT_140155010) && (puVar18 != (undefined *)0x0)) && + (puVar18 != (undefined *)0x8)) { + *(int *)(puVar18 + -4) = *(int *)(puVar18 + -4) + 1; + } + local_e0 = puVar18; + FUN_14002e770((longlong)piVar12); + } + puVar19 = PTR_u_NotifyLoginFailed_140156a90; + FUN_140030200(piVar12,ppuVar17,uVar15,param_4); + local_d0 = PTR_DAT_140155010; + iVar3 = FUN_140030080((short *)puVar19); + puVar13 = FUN_140002f90((longlong *)&local_d0,iVar3); + FUN_1400300b0(puVar13,puVar19,iVar3); + FUN_140003070((longlong *)&local_d0); + (**(code **)(*param_1 + 0x28))(param_1,0x7d2,&local_d0,&local_e0); + plVar9 = (longlong *)param_1[2]; + uVar7 = 0x7d2; + uVar15 = (ulonglong)uVar1; + puVar19 = PTR_u_NotifyLoginFailed_140156a90; + (**(code **)(*plVar9 + 0x70))(); + param_3 = local_res18; + if (((puVar18 != (undefined *)0x0) && (puVar18 != PTR_DAT_140155010)) && + (puVar18 + -8 != (undefined *)0x0)) { + piVar11 = (int *)FUN_140030200(plVar9,uVar15,uVar7,puVar19); + local_110 = piVar11; + FUN_14002e6e0(piVar11); + local_108 = (undefined *)CONCAT71(local_108._1_7_,1); + piVar12 = (int *)(puVar18 + -4); + *piVar12 = *piVar12 + -1; + if (*piVar12 == 0) { + FUN_1400302f0(puVar18 + -8); + } + FUN_14002e770((longlong)piVar11); + param_3 = local_res18; + } + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_110 = (int *)CONCAT44(local_110._4_4_,0x7d2); + local_108 = PTR_u_NotifyLoginFailed_140156a90; + local_100 = uVar1; + local_f8 = param_3; + (**(code **)(*param_1 + 0x20))(param_1,&local_110); + DVar4 = GetTickCount(); + } + uVar7 = (**(code **)(*param_1 + 0x40))(param_1,uVar1,local_98,&local_res10); + if ((char)uVar7 == '\0') { + uVar7 = (**(code **)(*(longlong *)param_1[2] + 0x40)) + ((longlong *)param_1[2],PTR_u_NotifyLoginFailed_140156a90); + } + if (((char)param_1[3] == '\0') && (*(char *)((longlong)param_1 + 0x1a) != '\0')) { + local_110 = (int *)CONCAT44(local_110._4_4_,0x7d2); + local_108 = PTR_u_NotifyLoginFailed_140156a90; + goto LAB_140094cb3; + } + } + uVar15 = CONCAT71((int7)((ulonglong)uVar7 >> 8),1); + } + return uVar15; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140094d10.c b/decomp/Agent_Release_x64/full/functions/0x140094d10.c new file mode 100644 index 00000000..01bb7b0e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140094d10.c @@ -0,0 +1,68 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140094d10 FUN_140094d10 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140094d10(undefined8 *param_1,undefined8 param_2,short *param_3,longlong param_4, + longlong *param_5) + +{ + ulonglong uVar1; + longlong *plVar2; + longlong *plVar3; + int *piVar4; + undefined8 *puVar5; + undefined8 uVar6; + short *psVar7; + undefined4 uVar8; + + uVar8 = (undefined4)param_4; + *param_1 = Proud::INetClientEvent::vftable; + *(undefined2 *)(param_1 + 1) = 0; + uVar6 = param_2; + psVar7 = param_3; + FUN_140085230(param_1 + 2); + param_1[2] = VizS2C::Stub::vftable; + puVar5 = param_1 + 6; + FUN_1400bbf60(puVar5); + *param_1 = Proud::CVizAgent::vftable; + param_1[2] = Proud::CVizAgent::vftable; + param_1[6] = Proud::CVizAgent::vftable; + param_1[9] = 0; + FUN_140030200(puVar5,uVar6,psVar7,param_4); + param_1[10] = PTR_DAT_140155010; + FUN_140030200(puVar5,uVar6,psVar7,param_4); + param_1[0xc] = PTR_DAT_140155010; + puVar5 = param_1 + 0xd; + FUN_140081fb0(puVar5); + *puVar5 = VizC2S::Proxy::vftable; + if (*(int *)((longlong)param_1 + 0x7c) != 1) { + FUN_14002fa10((wchar_t *)PTR_u_PIDL_compiler_is_incompatible_to_140156790); + } + uVar1 = FUN_14002e790(); + uVar6 = CONCAT71((int7)((ulonglong)psVar7 >> 8),1); + FUN_14002e600((undefined4 *)(param_1 + 0x13),uVar1 & 0xffffffff,uVar6,param_4); + param_1[8] = param_2; + FUN_140006c60(param_1 + 10,param_3,uVar6,param_4); + *(undefined4 *)(param_1 + 0xb) = uVar8; + FUN_140003170(param_1 + 0xc,param_5,uVar6,param_4); + plVar2 = operator_new(0x1900); + plVar3 = (longlong *)0x0; + if (plVar2 != (longlong *)0x0) { + plVar3 = FUN_14007d410(plVar2,param_5,uVar6,param_4); + } + param_1[9] = plVar3; + (**(code **)(plVar3[0xe] + 0x118))(plVar3 + 0xe,param_1); + (**(code **)(*(longlong *)param_1[9] + 8))((longlong *)param_1[9],puVar5); + plVar3 = (longlong *)param_1[9]; + puVar5 = param_1 + 2; + (**(code **)(*plVar3 + 0x10))(); + param_1[0x12] = 0; + *(undefined4 *)(param_1 + 0x11) = 0; + *(undefined1 *)(param_1 + 0xf) = 1; + *(undefined1 *)(param_1 + 5) = 1; + piVar4 = (int *)FUN_140093150(plVar3,puVar5,uVar6,param_4); + FUN_1400bc260(piVar4,(longlong)(param_1 + 6),10,param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140094ec0.c b/decomp/Agent_Release_x64/full/functions/0x140094ec0.c new file mode 100644 index 00000000..eee42b8b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140094ec0.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140094ec0 FUN_140094ec0 + * Pseudocode, not original source. */ + +void FUN_140094ec0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 uVar1; + + uVar1 = 0; + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x18) + 0x70) + 0x98))(); + FUN_14002e6e0((int *)(param_1 + 0x68)); + if (*(int *)(param_1 + 0x58) == 0) { + FUN_140093360(param_1 + -0x30,uVar1,param_3,param_4); + } + FUN_14002e770(param_1 + 0x68); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140094f30.c b/decomp/Agent_Release_x64/full/functions/0x140094f30.c new file mode 100644 index 00000000..83f1a957 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140094f30.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140094f30 FUN_140094f30 + * Pseudocode, not original source. */ + +undefined1 FUN_140094f30(longlong param_1) + +{ + FUN_14002e6e0((int *)(param_1 + 0x88)); + FUN_140093550(param_1 + -0x10); + FUN_14002e770(param_1 + 0x88); + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140094f80.c b/decomp/Agent_Release_x64/full/functions/0x140094f80.c new file mode 100644 index 00000000..d6064cbc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140094f80.c @@ -0,0 +1,62 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140094f80 FUN_140094f80 + * Pseudocode, not original source. */ + +undefined1 +FUN_140094f80(longlong *param_1,undefined8 param_2,SIZE_T param_3,longlong param_4,uint *param_5) + +{ + undefined1 uVar1; + int iVar2; + undefined4 *puVar3; + ulonglong uVar4; + ulonglong uVar5; + uint uVar6; + SIZE_T SVar8; + longlong lVar9; + undefined4 local_res10 [2]; + undefined4 local_40 [2]; + longlong local_38; + longlong local_30; + int local_24; + ulonglong uVar7; + + local_res10[0] = (undefined4)param_2; + SVar8 = param_3; + lVar9 = param_4; + FUN_1400806d0(local_40); + FUN_1400801a0((longlong)local_40,param_2,SVar8,lVar9); + FUN_1400221b0((longlong)local_40,0x3ea,SVar8,lVar9); + uVar4 = (ulonglong)*(uint *)(param_4 + 0x18); + puVar3 = local_40; + FUN_140021e80((longlong)puVar3,uVar4,SVar8,lVar9); + uVar5 = 0; + iVar2 = *(int *)(param_4 + 0x18); + uVar7 = uVar5; + if (0 < iVar2) { + do { + if (((longlong)uVar5 < 0) || (iVar2 <= (int)uVar7)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(puVar3,uVar4,SVar8,lVar9); + } + uVar4 = (ulonglong)*(uint *)(*(longlong *)(param_4 + 0x10) + uVar5 * 4); + puVar3 = local_40; + FUN_140021e80((longlong)puVar3,uVar4,SVar8,lVar9); + uVar6 = (int)uVar7 + 1; + uVar7 = (ulonglong)uVar6; + uVar5 = uVar5 + 1; + iVar2 = *(int *)(param_4 + 0x18); + } while ((int)uVar6 < iVar2); + } + FUN_1400bc810((longlong)local_40,param_5,SVar8,lVar9); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,local_res10,1,param_3,local_40,PTR_u_NotifyCommon_SendRmi_1401569f0, + 0x3ea); + FUN_140095270(&local_38); + if ((local_30 != 0) && (local_24 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400950b0.c b/decomp/Agent_Release_x64/full/functions/0x1400950b0.c new file mode 100644 index 00000000..6c62a2de --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400950b0.c @@ -0,0 +1,63 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400950b0 FUN_1400950b0 + * Pseudocode, not original source. */ + +undefined1 +FUN_1400950b0(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4, + longlong param_5,uint *param_6) + +{ + undefined1 uVar1; + int iVar2; + undefined4 *puVar3; + undefined8 uVar4; + ulonglong uVar5; + ulonglong uVar6; + uint uVar7; + undefined8 uVar9; + ulonglong uVar10; + undefined4 local_40 [2]; + longlong local_38; + longlong local_30; + int local_24; + ulonglong uVar8; + + uVar10 = param_3 & 0xffffffff; + uVar4 = param_2; + uVar9 = param_4; + FUN_1400806d0(local_40); + FUN_1400801a0((longlong)local_40,uVar4,param_3,uVar9); + FUN_1400221b0((longlong)local_40,0x3ea,param_3,uVar9); + uVar5 = (ulonglong)*(uint *)(param_5 + 0x18); + puVar3 = local_40; + FUN_140021e80((longlong)puVar3,uVar5,param_3,uVar9); + uVar6 = 0; + iVar2 = *(int *)(param_5 + 0x18); + uVar8 = uVar6; + if (0 < iVar2) { + do { + if (((longlong)uVar6 < 0) || (iVar2 <= (int)uVar8)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(puVar3,uVar5,param_3,uVar9); + } + uVar5 = (ulonglong)*(uint *)(*(longlong *)(param_5 + 0x10) + uVar6 * 4); + puVar3 = local_40; + FUN_140021e80((longlong)puVar3,uVar5,param_3,uVar9); + uVar7 = (int)uVar8 + 1; + uVar8 = (ulonglong)uVar7; + uVar6 = uVar6 + 1; + iVar2 = *(int *)(param_5 + 0x18); + } while ((int)uVar7 < iVar2); + } + FUN_1400bc810((longlong)local_40,param_6,param_3,uVar9); + uVar1 = (**(code **)(*param_1 + 0x18)) + (param_1,param_2,uVar10,param_4,local_40,PTR_u_NotifyCommon_SendRmi_1401569f0, + 0x3ea); + FUN_140095270(&local_38); + if ((local_30 != 0) && (local_24 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400951f0.c b/decomp/Agent_Release_x64/full/functions/0x1400951f0.c new file mode 100644 index 00000000..55fabe8e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400951f0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400951f0 FUN_1400951f0 + * Pseudocode, not original source. */ + +void FUN_1400951f0(longlong param_1) + +{ + FUN_14002e6e0((int *)&DAT_14015e210); + if ((*(short *)(param_1 + -8) == 0x1de6) && (*(longlong *)(param_1 + 0x30) == 0)) { + *(short **)(param_1 + 0x30) = DAT_14015e248; + DAT_14015e248 = (short *)(param_1 + -8); + FUN_14002e770(0x14015e210); + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095270.c b/decomp/Agent_Release_x64/full/functions/0x140095270.c new file mode 100644 index 00000000..145ecb77 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095270.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095270 FUN_140095270 + * Pseudocode, not original source. */ + +void FUN_140095270(longlong *param_1) + +{ + longlong *plVar1; + + if (*param_1 != 0) { + plVar1 = (longlong *)(*param_1 + 0x28); + *plVar1 = *plVar1 + -1; + if (*(longlong *)(*param_1 + 0x28) == 0) { + FUN_1400951f0(*param_1); + } + *param_1 = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400952b0.c b/decomp/Agent_Release_x64/full/functions/0x1400952b0.c new file mode 100644 index 00000000..bb6d7484 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400952b0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400952b0 FUN_1400952b0 + * Pseudocode, not original source. */ + +undefined2 * FUN_1400952b0(undefined8 param_1,undefined8 param_2,SIZE_T param_3) + +{ + undefined8 *puVar1; + undefined2 *puVar2; + undefined2 *puVar3; + + FUN_14002e6e0((int *)&DAT_14015e210); + puVar3 = DAT_14015e248; + if (DAT_14015e248 == (undefined2 *)0x0) { + puVar2 = (undefined2 *)FUN_140030280(0x40); + puVar3 = (undefined2 *)0x0; + if (puVar2 != (undefined2 *)0x0) { + *(undefined8 *)(puVar2 + 8) = 0; + *(undefined8 *)(puVar2 + 0xc) = 0; + *(undefined8 *)(puVar2 + 0x10) = 0; + *(undefined8 *)(puVar2 + 0x14) = 0; + *(undefined ***)(puVar2 + 4) = Proud::ByteArray::vftable; + *(undefined8 *)(puVar2 + 0x18) = 0; + *puVar2 = 0x1de6; + *(undefined8 *)(puVar2 + 0x1c) = 0; + puVar3 = puVar2; + } + } + else { + puVar1 = (undefined8 *)(DAT_14015e248 + 0x1c); + DAT_14015e248 = *(undefined2 **)(DAT_14015e248 + 0x1c); + *puVar1 = 0; + } + FUN_14001bc70((longlong)(puVar3 + 4),0,param_3); + FUN_14002e770(0x14015e210); + return puVar3 + 4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095370.c b/decomp/Agent_Release_x64/full/functions/0x140095370.c new file mode 100644 index 00000000..f2824891 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095370.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095370 FUN_140095370 + * Pseudocode, not original source. */ + +void FUN_140095370(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + LPCWSTR local_res8 [4]; + exception local_50 [80]; + + FUN_14002ff30((longlong *)local_res8,param_2,param_3,param_4); + FUN_14001b850((longlong *)local_res8,L".dmp"); + if (local_res8[0] == (LPCWSTR)0x0) { + local_res8[0] = (LPCWSTR)PTR_DAT_140155010; + } + FUN_1400bc8e0(local_res8[0]); + FUN_14002f1e0(local_50,(wchar_t *)PTR_u_error__ArrayPtr_is_null__140156b70,param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400953e0.c b/decomp/Agent_Release_x64/full/functions/0x1400953e0.c new file mode 100644 index 00000000..16854b2d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400953e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400953e0 FUN_1400953e0 + * Pseudocode, not original source. */ + +void FUN_1400953e0(undefined8 *param_1) + +{ + *param_1 = Proud::ISendIssueObject::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400953f0.c b/decomp/Agent_Release_x64/full/functions/0x1400953f0.c new file mode 100644 index 00000000..07a189b6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400953f0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400953f0 FUN_1400953f0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400953f0(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::ISendIssueObject::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095420.c b/decomp/Agent_Release_x64/full/functions/0x140095420.c new file mode 100644 index 00000000..4dafd993 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095420.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095420 FUN_140095420 + * Pseudocode, not original source. */ + +bool FUN_140095420(longlong param_1) + +{ + return *(int *)(param_1 + 0x710) != *(int *)(param_1 + 0x720); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095430.c b/decomp/Agent_Release_x64/full/functions/0x140095430.c new file mode 100644 index 00000000..301d8d4c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095430.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095430 FUN_140095430 + * Pseudocode, not original source. */ + +undefined1 FUN_140095430(longlong param_1) + +{ + return *(undefined1 *)(param_1 + 0x228); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095440.c b/decomp/Agent_Release_x64/full/functions/0x140095440.c new file mode 100644 index 00000000..47d0ea1a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095440.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095440 FUN_140095440 + * Pseudocode, not original source. */ + +void FUN_140095440(longlong param_1,undefined1 param_2) + +{ + *(undefined1 *)(param_1 + 0x228) = param_2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095450.c b/decomp/Agent_Release_x64/full/functions/0x140095450.c new file mode 100644 index 00000000..579bde16 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095450.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095450 FUN_140095450 + * Pseudocode, not original source. */ + +void FUN_140095450(longlong param_1) + +{ + /* WARNING: Could not recover jumptable at 0x000140095461. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x198) + 0x118) + 8))(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095470.c b/decomp/Agent_Release_x64/full/functions/0x140095470.c new file mode 100644 index 00000000..2e789b90 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095470.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095470 FUN_140095470 + * Pseudocode, not original source. */ + +void FUN_140095470(longlong param_1,uint param_2,undefined4 param_3,longlong param_4,LPVOID param_5, + undefined4 param_6) + +{ + FUN_140061820(*(SIZE_T **)(param_1 + 0x198),(uint *)(param_1 + -0xa0),(ulonglong)param_2,param_3, + param_4,param_5,param_6); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400954b0.c b/decomp/Agent_Release_x64/full/functions/0x1400954b0.c new file mode 100644 index 00000000..311f5131 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400954b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400954b0 FUN_1400954b0 + * Pseudocode, not original source. */ + +void FUN_1400954b0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14009c130(*(char **)(param_1 + 0x640),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400954c0.c b/decomp/Agent_Release_x64/full/functions/0x1400954c0.c new file mode 100644 index 00000000..c802f02e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400954c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400954c0 FUN_1400954c0 + * Pseudocode, not original source. */ + +void FUN_1400954c0(longlong param_1) + +{ + FUN_14009c470(param_1 + -0x48); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400954d0.c b/decomp/Agent_Release_x64/full/functions/0x1400954d0.c new file mode 100644 index 00000000..2b8d5ecb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400954d0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400954d0 FUN_1400954d0 + * Pseudocode, not original source. */ + +void FUN_1400954d0(undefined8 *param_1) + +{ + if ((void *)*param_1 != (void *)0x0) { + operator_delete((void *)*param_1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400954f0.c b/decomp/Agent_Release_x64/full/functions/0x1400954f0.c new file mode 100644 index 00000000..cd57f30e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400954f0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400954f0 FUN_1400954f0 + * Pseudocode, not original source. */ + +bool FUN_1400954f0(longlong param_1) + +{ + return *(longlong *)(param_1 + 0x278) == 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095500.c b/decomp/Agent_Release_x64/full/functions/0x140095500.c new file mode 100644 index 00000000..c0cd24fa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095500.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095500 FUN_140095500 + * Pseudocode, not original source. */ + +void FUN_140095500(wchar_t *param_1) + +{ + double dVar1; + char *pcVar2; + undefined1 *puVar3; + double dVar4; + double dVar5; + double dVar6; + + if (*(longlong *)(param_1 + 0x3a8) != 0) { + dVar5 = *(double *)(*(longlong *)(param_1 + 0x3a8) + 8); + dVar4 = (double)(**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x11c) + 0x118) + 8))(); + pcVar2 = *(char **)(param_1 + 0x3a8); + if (*(double *)(pcVar2 + 0x10) == 0.0) { + *(double *)(pcVar2 + 0x10) = dVar4; + *(double *)(*(longlong *)(param_1 + 0x3a8) + 8) = dVar4; + return; + } + if (*pcVar2 == '\0') { + dVar1 = *(double *)(*(longlong *)(param_1 + 0x11c) + 0x17f8); + dVar6 = 0.9; + if ((dVar1 <= 0.9) && (dVar6 = dVar1, dVar1 < 0.2)) { + dVar6 = 0.2; + } + dVar5 = dVar4 - dVar5; + *(double *)(*(longlong *)(param_1 + 0x3a8) + 0x18) = + (*(double *)(*(longlong *)(param_1 + 0x3a8) + 0x18) - dVar5) * dVar6 + dVar5; + puVar3 = *(undefined1 **)(param_1 + 0x3a8); + if ((5.8999999999999995 < dVar4 - *(double *)(puVar3 + 0x10)) && + (*(double *)(puVar3 + 0x18) <= 0.413 && *(double *)(puVar3 + 0x18) != 0.413)) { + *puVar3 = 1; + } + if (**(char **)(param_1 + 0x3a8) != '\0') { + FUN_14005ed30(*(longlong **)(param_1 + 0x11c),param_1,"Speedhack",1); + } + *(double *)(*(longlong *)(param_1 + 0x3a8) + 8) = dVar4; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095660.c b/decomp/Agent_Release_x64/full/functions/0x140095660.c new file mode 100644 index 00000000..83f6fa6a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095660.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095660 FUN_140095660 + * Pseudocode, not original source. */ + +bool FUN_140095660(longlong param_1) + +{ + return *(longlong *)(param_1 + 0x188) != 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095670.c b/decomp/Agent_Release_x64/full/functions/0x140095670.c new file mode 100644 index 00000000..935c18ea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095670.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095670 FUN_140095670 + * Pseudocode, not original source. */ + +bool FUN_140095670(longlong param_1) + +{ + longlong *plVar1; + + plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x198) + 0x748); + if (plVar1 != (longlong *)0x0) { + return *plVar1 == 0; + } + return true; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400956a0.c b/decomp/Agent_Release_x64/full/functions/0x1400956a0.c new file mode 100644 index 00000000..690b1915 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400956a0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400956a0 FUN_1400956a0 + * Pseudocode, not original source. */ + +void FUN_1400956a0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + if (*(longlong **)(param_1 + 0x10) != (longlong *)0x0) { + FUN_14003d180(*(longlong **)(param_1 + 0x10),param_1 + -0x110,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400956d0.c b/decomp/Agent_Release_x64/full/functions/0x1400956d0.c new file mode 100644 index 00000000..6cb75ef2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400956d0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400956d0 FUN_1400956d0 + * Pseudocode, not original source. */ + +void FUN_1400956d0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong lVar2; + longlong *plVar3; + int *piVar4; + + piVar4 = (int *)(*(longlong *)(param_1 + 0x198) + 0x798); + FUN_14002e6e0(piVar4); + if (*(longlong *)(param_1 + 0x80) == 0) { + lVar1 = param_1 + -0xa0; + lVar2 = *(longlong *)(param_1 + 0x198); + plVar3 = (longlong *)(lVar2 + 0x808); + if (*(longlong *)(param_1 + 0x80) != 0) { + FUN_14003d180(plVar3,lVar1,param_3,param_4); + } + if (*(longlong *)(lVar2 + 0x810) == 0) { + *plVar3 = lVar1; + } + else { + *(longlong *)(*(longlong *)(lVar2 + 0x810) + 0x118) = lVar1; + *(undefined8 *)(param_1 + 0x70) = *(undefined8 *)(lVar2 + 0x810); + } + *(longlong *)(lVar2 + 0x810) = lVar1; + *(longlong **)(param_1 + 0x80) = plVar3; + *(int *)(lVar2 + 0x818) = *(int *)(lVar2 + 0x818) + 1; + } + FUN_14002e770((longlong)piVar4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095790.c b/decomp/Agent_Release_x64/full/functions/0x140095790.c new file mode 100644 index 00000000..26731ea6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095790.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095790 FUN_140095790 + * Pseudocode, not original source. */ + +void FUN_140095790(longlong param_1,undefined8 param_2,undefined4 param_3) + +{ + longlong *plVar1; + undefined **local_30; + undefined8 local_28; + undefined8 local_20; + undefined8 local_18; + undefined8 local_10; + + local_28 = 0; + local_20 = 0; + local_18 = 0; + local_10 = 0; + local_30 = Proud::ByteArray::vftable; + plVar1 = (longlong *)(param_1 + -0x68); + (**(code **)(*plVar1 + 0x38))(plVar1,0xb,3,&local_30,param_2,param_3,0xfffffffffffffffe); + FUN_14003b870(&local_30); + /* WARNING: Could not recover jumptable at 0x000140095805. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*plVar1 + 0x40))(plVar1,param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095810.c b/decomp/Agent_Release_x64/full/functions/0x140095810.c new file mode 100644 index 00000000..6267753c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095810.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095810 FUN_140095810 + * Pseudocode, not original source. */ + +void FUN_140095810(undefined8 *param_1) + +{ + void *pvVar1; + + pvVar1 = (void *)*param_1; + if (pvVar1 != (void *)0x0) { + FUN_14003b870((undefined8 *)((longlong)pvVar1 + 8)); + operator_delete(pvVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095840.c b/decomp/Agent_Release_x64/full/functions/0x140095840.c new file mode 100644 index 00000000..96adc62d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095840.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095840 FUN_140095840 + * Pseudocode, not original source. */ + +void FUN_140095840(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + short *psVar2; + int *piVar3; + longlong *plVar4; + longlong lVar5; + undefined8 uVar6; + short *psVar7; + double dVar8; + short *local_res8; + + if (*(longlong *)(param_1 + 0xc0) == 0) { + *(undefined8 *)(param_1 + 0xc0) = param_2; + plVar4 = (longlong *)(*(longlong *)(param_1 + 0x198) + 0x118); + uVar6 = param_2; + dVar8 = (double)(**(code **)(*plVar4 + 8))(plVar4,param_2,param_3,param_4,0xfffffffffffffffe); + if ((dVar8 - *(double *)(param_1 + 0x5f0) < 0.3) && + (*(longlong *)(*(longlong *)(param_1 + 0x198) + 0x17f0) != 0)) { + FUN_140030200(plVar4,uVar6,param_3,param_4); + local_res8 = (short *)PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_res8, + L"**경고** 클라가 들어오자마자 바로 추방되었습니다. 의도입니까, 버그입니까?: %s" + ,param_2,param_4); + psVar2 = local_res8; + psVar7 = local_res8; + if (local_res8 == (short *)0x0) { + psVar7 = (short *)PTR_DAT_140155010; + } + uVar6 = 0; + lVar5 = *(longlong *)(*(longlong *)(param_1 + 0x198) + 0x17f0); + FUN_14008f2e0(lVar5,0,psVar7,param_4); + if (((psVar2 != (short *)0x0) && (psVar2 != (short *)PTR_DAT_140155010)) && + (psVar2 + -4 != (short *)0x0)) { + piVar3 = (int *)FUN_140030200(lVar5,uVar6,psVar7,param_4); + FUN_14002e6e0(piVar3); + piVar1 = (int *)(psVar2 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar2 + -4); + } + FUN_14002e770((longlong)piVar3); + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095950.c b/decomp/Agent_Release_x64/full/functions/0x140095950.c new file mode 100644 index 00000000..1bc22ce1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095950.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095950 FUN_140095950 + * Pseudocode, not original source. */ + +undefined4 FUN_140095950(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined4 uVar2; + undefined4 local_res8 [2]; + + FUN_1400700b0(param_2,0,param_3,param_4); + uVar1 = FUN_14009f830((longlong *)(*(longlong *)(param_1 + 0x748) + 200),param_2, + (ulonglong)*(uint *)(param_1 + 0x6f8), + (ulonglong)*(uint *)(*(longlong *)(param_1 + 0x238) + 0x22c),local_res8); + uVar2 = 0; + if ((int)uVar1 < 0) { + uVar2 = local_res8[0]; + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400959c0.c b/decomp/Agent_Release_x64/full/functions/0x1400959c0.c new file mode 100644 index 00000000..5039a0da --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400959c0.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400959c0 FUN_1400959c0 + * Pseudocode, not original source. */ + +void FUN_1400959c0(longlong param_1,longlong param_2,undefined8 param_3,longlong param_4, + undefined4 param_5,longlong param_6) + +{ + int iVar1; + undefined8 *puVar2; + longlong *plVar3; + longlong lVar4; + longlong lVar5; + ulonglong uVar6; + ulonglong uVar7; + undefined8 uVar8; + undefined4 local_res18 [2]; + longlong local_48; + undefined4 local_40; + longlong local_38; + undefined4 local_30; + undefined4 local_2c; + + uVar8 = param_3; + lVar4 = param_4; + FUN_1400700b0(param_6,0,param_3,param_4); + uVar6 = (ulonglong)*(int *)(param_6 + 0x18); + FUN_14009e8c0(&local_48); + plVar3 = &local_48; + lVar5 = 0; + local_2c = param_5; + local_40 = (undefined4)param_3; + local_38 = param_6; + local_30 = 0; + local_48 = param_2; + puVar2 = FUN_14009f250(plVar3,local_res18,uVar8,lVar4); + iVar1 = (int)puVar2; + if ((-1 < iVar1) && (0 < iVar1)) { + lVar4 = uVar6 * 0x48; + uVar7 = uVar6; + do { + if (((longlong)(lVar5 + uVar6) < 0) || (*(int *)(param_6 + 0x18) <= (int)uVar7)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar3,lVar4,uVar6,(longlong)iVar1); + } + plVar3 = *(longlong **)(param_6 + 0x10); + lVar5 = lVar5 + 1; + *(undefined4 *)(lVar4 + 0x38 + (longlong)plVar3) = *(undefined4 *)(param_4 + 8); + *(undefined2 *)(lVar4 + 0x3c + (longlong)plVar3) = *(undefined2 *)(param_4 + 0xc); + uVar7 = (ulonglong)((int)uVar7 + 1); + *(undefined4 *)(lVar4 + 0x28 + (longlong)plVar3) = *(undefined4 *)(param_1 + 0x6f8); + lVar4 = lVar4 + 0x48; + } while (lVar5 < iVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095ac0.c b/decomp/Agent_Release_x64/full/functions/0x140095ac0.c new file mode 100644 index 00000000..823eb7b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095ac0.c @@ -0,0 +1,155 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095ac0 FUN_140095ac0 + * Pseudocode, not original source. */ + +void FUN_140095ac0(uint *param_1,uint *param_2,undefined8 param_3,ulonglong param_4) + +{ + longlong lVar1; + uint *puVar2; + undefined8 uVar3; + uint *puVar4; + undefined *puVar5; + int *piVar6; + uint *puVar7; + uint *puVar8; + uint *puVar9; + uint *puVar10; + uint *puVar11; + ulonglong uVar12; + ulonglong uVar13; + uint uVar14; + + param_2[0xc] = param_1[0x1be]; + uVar14 = param_1[0x1c5]; + param_2[6] = param_1[0x1c4]; + *(short *)(param_2 + 7) = (short)uVar14; + uVar12 = *(ulonglong *)(param_1 + 0x1d2); + param_2[2] = *(uint *)(uVar12 + 0x130); + *(undefined2 *)(param_2 + 3) = *(undefined2 *)(uVar12 + 0x134); + param_2[10] = param_1[0x1c8]; + *(short *)(param_2 + 0xb) = (short)param_1[0x1c9]; + *(undefined8 *)(param_2 + 0x28) = *(undefined8 *)(param_1 + 0x72); + param_2[0x2a] = param_1[0x7a]; + *(char *)((longlong)param_2 + 0x91) = (char)param_1[0x1c0]; + puVar11 = (uint *)0x0; + puVar2 = param_1; + puVar9 = param_2; + puVar10 = puVar11; + if (*(longlong *)(param_1 + 0x1a) != 0) { + puVar10 = *(uint **)(param_1 + 0x16); + } + for (; puVar10 != (uint *)0x0; puVar10 = *(uint **)(puVar10 + 4)) { + uVar12 = (ulonglong)param_2[0x18]; + uVar14 = *puVar10; + param_4 = (ulonglong)uVar14; + lVar1 = *(longlong *)(param_2 + 0x10); + if (lVar1 != 0) { + puVar2 = *(uint **)(lVar1 + (param_4 % uVar12) * 8); + while ((puVar2 != (uint *)0x0 && + (puVar9 = (uint *)((ulonglong)puVar2[6] % uVar12), + (int)(param_4 % uVar12) == (int)puVar9))) { + if (*puVar2 == uVar14) goto LAB_140095c11; + puVar2 = *(uint **)(puVar2 + 2); + } + } + uVar13 = param_4 % uVar12; + if (lVar1 != 0) { + puVar2 = *(uint **)(lVar1 + uVar13 * 8); + while ((puVar2 != (uint *)0x0 && + (puVar9 = (uint *)((ulonglong)puVar2[6] % uVar12), (uint)uVar13 == (uint)puVar9))) { + if (*puVar2 == uVar14) goto LAB_140095c0d; + puVar2 = *(uint **)(puVar2 + 2); + } + } + puVar9 = puVar10; + puVar2 = FUN_140043f00((char *)(param_2 + 0xe),puVar10,(uint)uVar13,uVar14); + uVar12 = uVar13; +LAB_140095c0d: + *(char *)(puVar2 + 1) = '\0'; +LAB_140095c11: + } + puVar10 = puVar11; + if (0 < (int)param_1[0x96]) { + do { + if (((longlong)puVar11 < 0) || ((int)param_1[0x96] <= (int)puVar10)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(puVar2,puVar9,uVar12,param_4); + } + puVar8 = (uint *)(*(longlong *)(param_1 + 0x94) + (longlong)puVar11 * 4); + puVar7 = param_2 + 0xe; + uVar14 = *puVar8; + param_4 = (ulonglong)param_2[0x18]; + uVar12 = (ulonglong)uVar14 % param_4; + lVar1 = *(longlong *)(param_2 + 0x10); + if (lVar1 != 0) { + puVar2 = *(uint **)(lVar1 + uVar12 * 8); + while ((puVar2 != (uint *)0x0 && + (puVar9 = (uint *)((ulonglong)puVar2[6] % param_4), (int)uVar12 == (int)puVar9))) { + if (*puVar2 == uVar14) goto LAB_140095d0e; + puVar2 = *(uint **)(puVar2 + 2); + } + } + uVar13 = (ulonglong)uVar14 % param_4; + if (lVar1 == 0) { +LAB_140095ccf: + uVar3 = FUN_14003f710((longlong)puVar7,param_2[0x18],'\x01'); + if ((char)uVar3 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + else { + puVar4 = *(uint **)(lVar1 + uVar13 * 8); + while ((puVar4 != (uint *)0x0 && + ((uint)uVar13 == (uint)(uint *)((ulonglong)puVar4[6] % param_4)))) { + puVar9 = (uint *)((ulonglong)puVar4[6] % param_4); + if (*puVar4 == uVar14) goto LAB_140095d05; + puVar4 = *(uint **)(puVar4 + 2); + } + if (lVar1 == 0) goto LAB_140095ccf; + } + FUN_14003f000((char *)puVar7); + param_4 = (ulonglong)uVar14; + puVar4 = FUN_140041130((char *)puVar7,puVar8,(uint)uVar13,uVar14); + FUN_14003f000((char *)puVar7); + puVar2 = puVar7; + puVar9 = puVar8; + uVar12 = uVar13; +LAB_140095d05: + *(undefined1 *)(puVar4 + 1) = 0; +LAB_140095d0e: + uVar14 = (int)puVar10 + 1; + puVar10 = (uint *)(ulonglong)uVar14; + puVar11 = (uint *)((longlong)puVar11 + 1); + } while ((int)uVar14 < (int)param_1[0x96]); + } + *(undefined1 *)(param_2 + 0xd) = 0; + *(bool *)(param_2 + 0x24) = param_1[0x1c4] != param_1[0x1c8]; + puVar5 = *(undefined **)(param_2 + 0x26); + if (*(undefined **)(param_2 + 0x26) == (undefined *)0x0) { + puVar5 = PTR_DAT_140155010; + } + *(undefined **)(param_2 + 0x26) = puVar5; + if (*(undefined **)(param_1 + 0x7c) != puVar5) { + piVar6 = (int *)FUN_140030200(puVar2,puVar9,uVar12,param_4); + FUN_14002e6e0(piVar6); + FUN_140003240((longlong *)(param_2 + 0x26),puVar9,uVar12,param_4); + puVar5 = *(undefined **)(param_1 + 0x7c); + *(undefined **)(param_2 + 0x26) = puVar5; + if (((puVar5 != PTR_DAT_140155010) && (puVar5 != (undefined *)0x0)) && + (puVar5 != (undefined *)0x8)) { + *(int *)(puVar5 + -4) = *(int *)(puVar5 + -4) + 1; + } + FUN_14002e770((longlong)piVar6); + } + *(undefined8 *)(param_2 + 0x2c) = *(undefined8 *)(param_1 + 0xc); + *(undefined8 *)(param_2 + 0x2e) = *(undefined8 *)(param_1 + 0x78); + uVar14 = (**(code **)(**(longlong **)(*(longlong *)(param_1 + 0x8e) + 0x478) + 0x18)) + (*(longlong **)(*(longlong *)(param_1 + 0x8e) + 0x478),param_1[0x1be]); + param_2[0x32] = uVar14; + param_2[0x30] = param_1[0x76]; + param_2[0x31] = param_1[0x77]; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095e40.c b/decomp/Agent_Release_x64/full/functions/0x140095e40.c new file mode 100644 index 00000000..d6bca1dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095e40.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095e40 FUN_140095e40 + * Pseudocode, not original source. */ + +void FUN_140095e40(char *param_1,LPVOID param_2,char param_3) + +{ + uint uVar1; + ulonglong uVar2; + uint uVar3; + + if (param_2 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar1 = *(uint *)(param_1 + 0x28); + uVar2 = (ulonglong)*(uint *)((longlong)param_2 + 0x28) % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 0x20) == 1) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + } + else { + uVar3 = (uint)uVar2; + if (((*(longlong *)((longlong)param_2 + 0x20) == 0) || + (*(uint *)(*(longlong *)((longlong)param_2 + 0x20) + 0x28) % uVar1 != uVar3)) && + ((*(longlong *)((longlong)param_2 + 0x18) == 0 || + (*(uint *)(*(longlong *)((longlong)param_2 + 0x18) + 0x28) % uVar1 != uVar3)))) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + } + else if (param_2 == *(LPVOID *)(*(longlong *)(param_1 + 8) + (longlong)(int)uVar3 * 8)) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = + *(undefined8 *)((longlong)param_2 + 0x18); + } + if (param_2 == *(LPVOID *)(param_1 + 0x10)) { + *(undefined8 *)(param_1 + 0x10) = *(undefined8 *)((longlong)param_2 + 0x18); + *(undefined8 *)((longlong)param_2 + 0x20) = 0; + } + if (param_2 == *(LPVOID *)(param_1 + 0x18)) { + *(undefined8 *)(param_1 + 0x18) = *(undefined8 *)((longlong)param_2 + 0x20); + *(undefined8 *)((longlong)param_2 + 0x18) = 0; + } + if (*(longlong *)((longlong)param_2 + 0x20) != 0) { + *(undefined8 *)(*(longlong *)((longlong)param_2 + 0x20) + 0x18) = + *(undefined8 *)((longlong)param_2 + 0x18); + } + if (*(longlong *)((longlong)param_2 + 0x18) != 0) { + *(undefined8 *)(*(longlong *)((longlong)param_2 + 0x18) + 0x20) = + *(undefined8 *)((longlong)param_2 + 0x20); + } + } + FUN_14004f480(param_1,param_2,param_3); + FUN_140097020(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095f40.c b/decomp/Agent_Release_x64/full/functions/0x140095f40.c new file mode 100644 index 00000000..92eff964 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095f40.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095f40 FUN_140095f40 + * Pseudocode, not original source. */ + +ulonglong FUN_140095f40(char *param_1,longlong param_2,char param_3) + +{ + uint uVar1; + LPVOID pvVar2; + ulonglong uVar3; + ulonglong uVar4; + undefined8 uVar5; + + uVar1 = *(uint *)(param_1 + 0x28); + uVar3 = (ulonglong)((uint)*(ushort *)(param_2 + 0xc) ^ *(uint *)(param_2 + 8)); + uVar4 = uVar3 / uVar1; + uVar3 = uVar3 % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 8) != 0) { + uVar4 = uVar3; + for (pvVar2 = *(LPVOID *)(*(longlong *)(param_1 + 8) + uVar3 * 8); + (pvVar2 != (LPVOID)0x0 && + (uVar4 = (ulonglong)*(uint *)((longlong)pvVar2 + 0x28) / (ulonglong)uVar1, + (uint)uVar3 == *(uint *)((longlong)pvVar2 + 0x28) % uVar1)); + pvVar2 = *(LPVOID *)((longlong)pvVar2 + 0x18)) { + if ((*(uint *)((longlong)pvVar2 + 8) == *(uint *)(param_2 + 8)) && + (*(ushort *)((longlong)pvVar2 + 0xc) == *(ushort *)(param_2 + 0xc))) { + uVar5 = FUN_140095e40(param_1,pvVar2,param_3); + return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); + } + } + } + return uVar4 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140095fd0.c b/decomp/Agent_Release_x64/full/functions/0x140095fd0.c new file mode 100644 index 00000000..ceac994b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140095fd0.c @@ -0,0 +1,115 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140095fd0 FUN_140095fd0 + * Pseudocode, not original source. */ + +void FUN_140095fd0(char *param_1) + +{ + longlong *plVar1; + undefined8 *puVar2; + void *pvVar3; + longlong *plVar4; + longlong *plVar5; + uint uVar6; + ulonglong uVar7; + longlong lVar8; + longlong lVar9; + float fVar10; + float fVar11; + + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + 1; + FUN_14003d560(param_1); + plVar5 = *(longlong **)(param_1 + 0x10); + while (plVar5 != (longlong *)0x0) { + plVar1 = (longlong *)plVar5[2]; + if ((*plVar5 != 0) && + (*(longlong *)(*plVar5 + 8) = *(longlong *)(*plVar5 + 8) + -1, + *(longlong *)(*plVar5 + 8) == 0)) { + puVar2 = (undefined8 *)*plVar5; + pvVar3 = (void *)*puVar2; + if (pvVar3 != (void *)0x0) { + FUN_14003ccf0((longlong)pvVar3); + operator_delete(pvVar3); + } + FUN_1400302f0(puVar2); + } + plVar4 = *(longlong **)(param_1 + 0x50); + if (plVar4 == (longlong *)0x0) { + FUN_1400302f0(plVar5); + } + else { + (**(code **)(*plVar4 + 0x18))(plVar4,plVar5); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + plVar5 = plVar1; + } + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + param_1[0x20] = '\0'; + param_1[0x21] = '\0'; + param_1[0x22] = '\0'; + param_1[0x23] = '\0'; + param_1[0x24] = '\0'; + param_1[0x25] = '\0'; + param_1[0x26] = '\0'; + param_1[0x27] = '\0'; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + FUN_14003d560(param_1); + if (*(int *)(param_1 + 0x48) == 0) { + uVar6 = FUN_14003d4e0((longlong)param_1,*(longlong *)(param_1 + 0x20)); + if (*(LPVOID *)(param_1 + 8) != (LPVOID)0x0) { + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + } + lVar8 = 0; + *(uint *)(param_1 + 0x28) = uVar6; + fVar11 = (float)uVar6 * *(float *)(param_1 + 0x34); + if ((9.223372e+18 < fVar11) && (fVar11 = fVar11 - 9.223372e+18, fVar11 < 9.223372e+18)) { + lVar8 = -0x8000000000000000; + } + fVar10 = (float)uVar6 * *(float *)(param_1 + 0x30); + lVar9 = 0; + *(longlong *)(param_1 + 0x38) = (longlong)fVar11 + lVar8; + if ((9.223372e+18 < fVar10) && (fVar10 = fVar10 - 9.223372e+18, fVar10 < 9.223372e+18)) { + lVar9 = -0x8000000000000000; + } + uVar7 = (longlong)fVar10 + lVar9; + if ((ulonglong)((longlong)fVar10 + lVar9) < 0x11) { + uVar7 = 0; + } + *(ulonglong *)(param_1 + 0x40) = uVar7; + } + FUN_14003d560(param_1); + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140096160.c b/decomp/Agent_Release_x64/full/functions/0x140096160.c new file mode 100644 index 00000000..42bd2bd6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140096160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140096160 FUN_140096160 + * Pseudocode, not original source. */ + +void FUN_140096160(char *param_1) + +{ + FUN_140095fd0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140096180.c b/decomp/Agent_Release_x64/full/functions/0x140096180.c new file mode 100644 index 00000000..cf3f59a4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140096180.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140096180 FUN_140096180 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400961db) */ +/* WARNING: Removing unreachable block (ram,0x0001400961e4) */ +/* WARNING: Removing unreachable block (ram,0x000140096202) */ +/* WARNING: Removing unreachable block (ram,0x00014009620b) */ + +undefined1 * FUN_140096180(undefined1 *param_1) + +{ + *param_1 = 0; + *(undefined4 *)(param_1 + 0x28) = 0x11; + *(undefined8 *)(param_1 + 0x50) = 0; + *(undefined8 *)(param_1 + 8) = 0; + *(undefined8 *)(param_1 + 0x10) = 0; + *(undefined8 *)(param_1 + 0x18) = 0; + *(undefined8 *)(param_1 + 0x20) = 0; + *(undefined4 *)(param_1 + 0x48) = 0; + *(undefined4 *)(param_1 + 0x2c) = 0x3f400000; + *(undefined4 *)(param_1 + 0x30) = 0x3e800000; + *(undefined4 *)(param_1 + 0x34) = 0x40100000; + *(undefined8 *)(param_1 + 0x38) = 0x26; + *(undefined8 *)(param_1 + 0x40) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140096240.c b/decomp/Agent_Release_x64/full/functions/0x140096240.c new file mode 100644 index 00000000..1b26c7c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140096240.c @@ -0,0 +1,77 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140096240 FUN_140096240 + * Pseudocode, not original source. */ + +void FUN_140096240(longlong param_1,uint param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + LPVOID pvVar2; + double dVar3; + int *piVar4; + uint *puVar5; + longlong **pplVar6; + uint *puVar7; + ulonglong uVar8; + double dVar9; + longlong *local_res8; + + piVar4 = (int *)(**(code **)(**(longlong **)(param_1 + 0x238) + 0x58))(); + FUN_14002e6e0(piVar4); + if (DAT_14015bfcf != '\0') { + (**(code **)(**(longlong **)(param_1 + 0x238) + 200)) + (*(longlong **)(param_1 + 0x238),L"Proud::CRemoteClient_S::GetP2PGroupTotalRecentPing" + ); + } + uVar8 = (ulonglong)param_2; + pplVar6 = &local_res8; + FUN_140057180(*(longlong *)(param_1 + 0x238),(longlong *)pplVar6,param_2); + if ((local_res8 != (longlong *)0x0) && (lVar1 = *local_res8, lVar1 != 0)) { + dVar3 = 0.0; + puVar7 = (uint *)0x0; + if (*(longlong *)(lVar1 + 0x28) != 0) { + puVar7 = *(uint **)(lVar1 + 0x18); + } + while( true ) { + puVar5 = (uint *)0x0; + if (local_res8 != (longlong *)0x0) { + puVar5 = (uint *)*local_res8; + } + if (puVar7 == (uint *)0x0) break; + pplVar6 = (longlong **)(ulonglong)*puVar7; + dVar9 = (double)(**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x238) + 0xa8) + 0xd0))(); + if (0.0 <= dVar9) { + dVar3 = dVar3 + 1.0; + } + puVar7 = *(uint **)(puVar7 + 6); + } + if ((uint *)(lVar1 + 8) != puVar5 + 2) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if (0.0 < dVar3) { + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + pvVar2 = (LPVOID)*local_res8; + if (pvVar2 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar2,pplVar6,uVar8,param_4); + FUN_1400302f0(pvVar2); + } + FUN_1400302f0(local_res8); + } + FUN_14002e770((longlong)piVar4); + return; + } + } + if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + pvVar2 = (LPVOID)*local_res8; + if (pvVar2 != (LPVOID)0x0) { + FUN_1400443d0((longlong)pvVar2,pplVar6,uVar8,param_4); + FUN_1400302f0(pvVar2); + } + FUN_1400302f0(local_res8); + } + FUN_14002e770((longlong)piVar4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140096480.c b/decomp/Agent_Release_x64/full/functions/0x140096480.c new file mode 100644 index 00000000..afc1432f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140096480.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140096480 FUN_140096480 + * Pseudocode, not original source. */ + +longlong * FUN_140096480(uint *param_1,longlong *param_2,undefined8 param_3,ulonglong param_4) + +{ + undefined8 *puVar1; + uint *puVar2; + longlong *plVar3; + uint *puVar4; + + puVar4 = (uint *)0x0; + plVar3 = param_2; + puVar1 = (undefined8 *)FUN_140030280(0xd0); + puVar2 = puVar4; + if (puVar1 != (undefined8 *)0x0) { + puVar2 = (uint *)FUN_1400bc950(puVar1,plVar3,param_3,param_4); + } + FUN_140040e20(param_2,(longlong)puVar2,param_3,param_4); + if (*param_2 != 0) { + puVar4 = *(uint **)(*param_2 + 0x38); + } + FUN_140095ac0(param_1,puVar4,param_3,param_4); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140096500.c b/decomp/Agent_Release_x64/full/functions/0x140096500.c new file mode 100644 index 00000000..6fc7d598 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140096500.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140096500 FUN_140096500 + * Pseudocode, not original source. */ + +ulonglong FUN_140096500(longlong param_1,int *param_2,SIZE_T param_3,undefined8 param_4) + +{ + ulonglong in_RAX; + ulonglong uVar1; + int *piVar2; + undefined8 uVar3; + undefined4 local_120 [4]; + longlong local_110; + longlong local_108; + int local_fc; + undefined1 local_f0 [232]; + + if (*(longlong *)(param_1 + 0x278) == 0) { + uVar1 = in_RAX & 0xffffffffffffff00; + } + else { + piVar2 = FUN_140059ee0((longlong *)(param_1 + 0x260),local_120,param_3,param_4); + uVar1 = (ulonglong)*(uint *)(param_1 + 0x6f0); + FUN_1400a1e10(param_2,piVar2,uVar1,param_4); + FUN_140056f10((longlong)local_f0,piVar2,uVar1,param_4); + uVar3 = FUN_140095270(&local_110); + if ((local_108 != 0) && (local_fc < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar1 = CONCAT71((int7)((ulonglong)uVar3 >> 8),1); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400965a0.c b/decomp/Agent_Release_x64/full/functions/0x1400965a0.c new file mode 100644 index 00000000..219e7f98 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400965a0.c @@ -0,0 +1,127 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400965a0 FUN_1400965a0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400965a0(undefined8 *param_1,longlong param_2,longlong param_3,undefined ***param_4) + +{ + ulonglong uVar1; + undefined1 *puVar2; + undefined1 *puVar3; + undefined1 *puVar4; + undefined8 *puVar5; + longlong lVar6; + undefined ***pppuVar7; + undefined8 uVar8; + undefined **local_50; + undefined4 local_48; + undefined2 local_44; + + *param_1 = Proud::ISendDest_S::vftable; + lVar6 = param_3; + pppuVar7 = param_4; + FUN_1400a2870(param_1 + 1); + param_1[7] = Proud::ICompletionContext::vftable; + param_1[0x22] = 0; + param_1[0x23] = 0; + param_1[0x24] = 0; + FUN_14005a3b0(param_1 + 8); + param_1[0x14] = Proud::ITcpLayerOwner_S::vftable; + param_1[0x15] = 0; + FUN_14009c420(param_1 + 0x18); + *param_1 = Proud::CRemoteClient_S::vftable; + param_1[1] = Proud::CRemoteClient_S::vftable; + param_1[7] = Proud::CRemoteClient_S::vftable; + param_1[8] = Proud::CRemoteClient_S::vftable; + param_1[0x14] = Proud::CRemoteClient_S::vftable; + param_1[0x18] = Proud::CRemoteClient_S::vftable; + param_1[0x21] = Proud::CRemoteClient_S::vftable; + uVar1 = FUN_14002e790(); + uVar1 = uVar1 & 0xffffffff; + puVar5 = param_1 + 0x25; + lVar6 = CONCAT71((int7)((ulonglong)lVar6 >> 8),1); + FUN_14002e600((undefined4 *)puVar5,uVar1,lVar6,pppuVar7); + puVar4 = (undefined1 *)0x0; + param_1[0x3c] = 0; + FUN_140030200(puVar5,uVar1,lVar6,pppuVar7); + param_1[0x3e] = PTR_DAT_140155010; + param_1[0x40] = 0; + param_1[0x41] = 0; + param_1[0x42] = 0; + param_1[0x43] = 0; + param_1[0x3f] = Proud::ByteArray::vftable; + param_1[0x45] = 0; + param_1[0x48] = Proud::CFastArray::vftable; + param_1[0x49] = 0; + param_1[0x4a] = 0; + param_1[0x4b] = 0; + param_1[0x4c] = 0; + param_1[0x4d] = 0; + param_1[0x50] = 0; + param_1[0x4e] = 0; + param_1[0x4f] = 0; + *(undefined4 *)(param_1 + 0xc9) = 0; + param_1[0xcc] = 0; + param_1[0xcd] = 0; + param_1[0xce] = 0; + param_1[0xcf] = 0; + param_1[0xcb] = Proud::ByteArray::vftable; + *(undefined1 *)(param_1 + 0xd0) = 0; + FUN_140096180((undefined1 *)(param_1 + 0xd4)); + puVar5 = param_1; + FUN_14009dc90((undefined2 *)(param_1 + 0xe0),param_1); + param_1[0xea] = 0; + param_1[0xec] = 0; + puVar2 = operator_new(0x140); + puVar3 = puVar4; + if (puVar2 != (undefined1 *)0x0) { + local_50 = Proud::AddrPort::vftable; + local_48 = *(undefined4 *)(param_4 + 1); + local_44 = *(undefined2 *)((longlong)param_4 + 0xc); + pppuVar7 = &local_50; + puVar5 = param_1 + 0x14; + puVar3 = FUN_14009bfe0(puVar2,puVar5,param_3,(longlong)pppuVar7); + lVar6 = param_3; + } + param_1[0xe9] = puVar3; + *(undefined4 *)(param_1 + 0xed) = 0; + param_1[0x31] = 0; + param_1[0x32] = 0; + param_1[0x2c] = 0; + uVar8 = (**(code **)(*(longlong *)(param_2 + 0x118) + 8))(); + param_1[0x35] = (double)DAT_140155148; + *(undefined4 *)(param_1 + 0xdf) = 0; + *(undefined1 *)(param_1 + 0xd3) = 0; + *(undefined1 *)(param_1 + 0x46) = 0; + param_1[0x38] = 0; + param_1[0x39] = 0; + *(undefined4 *)(param_1 + 0x3d) = 0; + param_1[0x47] = param_2; + param_1[0xd2] = uVar8; + param_1[0x30] = uVar8; + param_1[0x33] = uVar8; + param_1[0x34] = uVar8; + param_1[0x37] = uVar8; + *(undefined4 *)((longlong)param_1 + 0x68a) = 0; + *(undefined1 *)(param_1 + 0xd1) = 0; + param_1[0x36] = 0; + param_1[0x3c] = 0; + param_1[0xeb] = 0; + param_1[0x3a] = 0; + param_1[0x3b] = 0; + param_1[0x44] = 0; + puVar3 = operator_new(0x20); + if (puVar3 != (undefined1 *)0x0) { + *(undefined8 *)(puVar3 + 0x18) = 0x3fe2e147ae147ae1; + *(undefined8 *)(puVar3 + 0x10) = 0; + *(undefined8 *)(puVar3 + 8) = 0; + *puVar3 = 0; + puVar4 = puVar3; + } + param_1[0xea] = puVar4; + FUN_1400b8d60(param_1 + 0x4d,puVar5,lVar6,pppuVar7); + FUN_14009bfd0(param_1[0xe9],*(char *)(param_2 + 0x240)); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140096930.c b/decomp/Agent_Release_x64/full/functions/0x140096930.c new file mode 100644 index 00000000..db5f28fa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140096930.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140096930 FUN_140096930 + * Pseudocode, not original source. */ + +undefined4 FUN_140096930(longlong param_1) + +{ + return *(undefined4 *)(param_1 + 0x6f8); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140096940.c b/decomp/Agent_Release_x64/full/functions/0x140096940.c new file mode 100644 index 00000000..757839c1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140096940.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140096940 FUN_140096940 + * Pseudocode, not original source. */ + +void FUN_140096940(longlong param_1) + +{ + FUN_140096930(param_1 + -8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140096950.c b/decomp/Agent_Release_x64/full/functions/0x140096950.c new file mode 100644 index 00000000..6226be9e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140096950.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140096950 FUN_140096950 + * Pseudocode, not original source. */ + +void FUN_140096950(longlong param_1,ulonglong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140096e20((longlong *)(param_1 + -0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140096960.c b/decomp/Agent_Release_x64/full/functions/0x140096960.c new file mode 100644 index 00000000..9e9af6c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140096960.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140096960 FUN_140096960 + * Pseudocode, not original source. */ + +void FUN_140096960(longlong param_1,ulonglong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140096e20((longlong *)(param_1 + -0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140096970.c b/decomp/Agent_Release_x64/full/functions/0x140096970.c new file mode 100644 index 00000000..8c7a4f37 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140096970.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140096970 FUN_140096970 + * Pseudocode, not original source. */ + +void FUN_140096970(longlong param_1,ulonglong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140096e20((longlong *)(param_1 + -0xc0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140096980.c b/decomp/Agent_Release_x64/full/functions/0x140096980.c new file mode 100644 index 00000000..577f7953 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140096980.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140096980 FUN_140096980 + * Pseudocode, not original source. */ + +void FUN_140096980(void) + +{ + FUN_1400645b0(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140096990.c b/decomp/Agent_Release_x64/full/functions/0x140096990.c new file mode 100644 index 00000000..d1d155c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140096990.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140096990 FUN_140096990 + * Pseudocode, not original source. */ + +void FUN_140096990(longlong param_1,ulonglong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140096e20((longlong *)(param_1 + -8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400969a0.c b/decomp/Agent_Release_x64/full/functions/0x1400969a0.c new file mode 100644 index 00000000..151daa16 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400969a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400969a0 FUN_1400969a0 + * Pseudocode, not original source. */ + +void FUN_1400969a0(longlong param_1,ulonglong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140096e20((longlong *)(param_1 + -0x108),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400969b0.c b/decomp/Agent_Release_x64/full/functions/0x1400969b0.c new file mode 100644 index 00000000..8728f60e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400969b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400969b0 FUN_1400969b0 + * Pseudocode, not original source. */ + +void FUN_1400969b0(longlong param_1) + +{ + FUN_140096930(param_1 + -0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400969c0.c b/decomp/Agent_Release_x64/full/functions/0x1400969c0.c new file mode 100644 index 00000000..09630a9a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400969c0.c @@ -0,0 +1,109 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400969c0 FUN_1400969c0 + * Pseudocode, not original source. */ + +void FUN_1400969c0(longlong *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + void *pvVar1; + undefined8 *puVar2; + longlong lVar3; + longlong *plVar4; + longlong *plVar5; + longlong local_res10; + + *param_1 = (longlong)Proud::CRemoteClient_S::vftable; + param_1[1] = (longlong)Proud::CRemoteClient_S::vftable; + param_1[7] = (longlong)Proud::CRemoteClient_S::vftable; + param_1[8] = (longlong)Proud::CRemoteClient_S::vftable; + param_1[0x14] = (longlong)Proud::CRemoteClient_S::vftable; + param_1[0x18] = (longlong)Proud::CRemoteClient_S::vftable; + param_1[0x21] = (longlong)Proud::CRemoteClient_S::vftable; + FUN_140095fd0((char *)(param_1 + 0xd4)); + if ((longlong *)param_1[0x24] != (longlong *)0x0) { + FUN_14003d180((longlong *)param_1[0x24],(longlong)param_1,param_3,param_4); + } + plVar4 = param_1 + 2; + if ((longlong *)param_1[4] != (longlong *)0x0) { + FUN_140085410((longlong *)param_1[4],plVar4,param_3,param_4); + } + plVar5 = (longlong *)param_1[0xec]; + if ((plVar5 != (longlong *)0x0) && (*plVar5 != 0)) { + if (plVar5 == (longlong *)0x0) { + lVar3 = 0; + } + else { + lVar3 = *plVar5; + } + FUN_140095f40((char *)(param_1[0x47] + 0x6f0),lVar3 + 0x158,'\0'); + param_3 = param_1 + 0xed; + if (0 < (int)*param_3) { + param_4 = 1; + FUN_14002d1f0(param_1[0x47] + 0x1848,*(int *)(param_1[0x47] + 0x1860),(longlong)param_3,1); + } + local_res10 = 0; + plVar4 = &local_res10; + FUN_1400ad4b0(param_1 + 0xec,plVar4); + } + pvVar1 = (void *)param_1[0xe9]; + if (pvVar1 != (void *)0x0) { + FUN_14009c0b0((longlong)pvVar1,plVar4,param_3,param_4); + operator_delete(pvVar1); + } + FUN_14005a170(param_1 + 0x4d,plVar4,param_3,param_4); + if ((param_1[0xec] != 0) && + (*(longlong *)(param_1[0xec] + 8) = *(longlong *)(param_1[0xec] + 8) + -1, + *(longlong *)(param_1[0xec] + 8) == 0)) { + plVar5 = (longlong *)param_1[0xec]; + puVar2 = (undefined8 *)*plVar5; + if (puVar2 != (undefined8 *)0x0) { + plVar4 = (longlong *)0x1; + (**(code **)*puVar2)(); + } + FUN_1400302f0(plVar5); + } + if ((void *)param_1[0xea] != (void *)0x0) { + operator_delete((void *)param_1[0xea]); + } + FUN_14009dd40((longlong)(param_1 + 0xe0)); + FUN_140096160((char *)(param_1 + 0xd4)); + FUN_14003b870(param_1 + 0xcb); + FUN_14005a170(param_1 + 0x4d,plVar4,param_3,param_4); + if ((undefined8 *)param_1[0x4d] != (undefined8 *)0x0) { + plVar4 = (longlong *)0x1; + (*(code *)**(undefined8 **)param_1[0x4d])(); + } + param_1[0x48] = (longlong)Proud::CFastArray::vftable; + plVar5 = (longlong *)param_1[0x4a]; + if (plVar5 != (longlong *)0x0) { + param_3 = (longlong *)param_1[0x49]; + if (param_3 == (longlong *)0x0) { + FUN_1400302f0(plVar5); + } + else { + (**(code **)(*param_3 + 0x18))(param_3); + plVar4 = plVar5; + } + } + pvVar1 = (void *)param_1[0x45]; + if (pvVar1 != (void *)0x0) { + FUN_14003b870((undefined8 *)((longlong)pvVar1 + 8)); + operator_delete(pvVar1); + } + FUN_14003b870(param_1 + 0x3f); + FUN_140003240(param_1 + 0x3e,plVar4,param_3,param_4); + FUN_14002e7a0((undefined4 *)(param_1 + 0x25),plVar4,param_3,param_4); + param_1[0x21] = (longlong)Proud::ISendIssueObject::vftable; + FUN_14009c440(param_1 + 0x18); + param_1[8] = (longlong)Proud::CP2PGroupMemberBase_S::vftable; + FUN_140059ec0((char *)(param_1 + 9),plVar4,param_3,param_4); + if ((longlong *)param_1[0x24] != (longlong *)0x0) { + plVar4 = param_1; + FUN_14003d180((longlong *)param_1[0x24],(longlong)param_1,param_3,param_4); + } + param_1[7] = (longlong)Proud::ICompletionContext::vftable; + FUN_1400a27f0(param_1 + 1,plVar4,param_3,param_4); + *param_1 = (longlong)Proud::ISendDest_S::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140096cb0.c b/decomp/Agent_Release_x64/full/functions/0x140096cb0.c new file mode 100644 index 00000000..42552cc8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140096cb0.c @@ -0,0 +1,55 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140096cb0 FUN_140096cb0 + * Pseudocode, not original source. */ + +void FUN_140096cb0(longlong param_1,undefined4 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined8 uVar1; + undefined8 *puVar2; + undefined4 local_128 [2]; + longlong local_120; + longlong local_118; + int local_10c; + undefined4 local_100 [58]; + + if ((*(longlong *)(param_1 + 0x238) != 0) && + (*(longlong *)(*(longlong *)(param_1 + 0x238) + 0x3e0) != 0)) { + FUN_1400806d0(local_128); + FUN_1400589c0(local_100,param_2,param_3,param_4); + uVar1 = *(undefined8 *)(param_1 + 0x278); + if (*(longlong **)(param_1 + 0x268) == (longlong *)0x0) { + puVar2 = (undefined8 *)FUN_140030280(0x128); + } + else { + param_2 = (undefined4 *)0x128; + puVar2 = (undefined8 *)(**(code **)(**(longlong **)(param_1 + 0x268) + 8))(); + } + if (puVar2 != (undefined8 *)0x0) { + *(undefined4 *)(puVar2 + 2) = 0; + FUN_140080700((undefined4 *)(puVar2 + 3),local_128); + param_2 = local_100; + FUN_1400589c0((undefined4 *)(puVar2 + 8),param_2,param_3,param_4); + } + puVar2[1] = uVar1; + *puVar2 = 0; + *(longlong *)(param_1 + 0x280) = *(longlong *)(param_1 + 0x280) + 1; + if (*(undefined8 **)(param_1 + 0x278) == (undefined8 *)0x0) { + *(undefined8 **)(param_1 + 0x270) = puVar2; + } + else { + **(undefined8 **)(param_1 + 0x278) = puVar2; + } + *(undefined8 **)(param_1 + 0x278) = puVar2; + FUN_140056f10((longlong)local_100,param_2,param_3,param_4); + FUN_140095270(&local_120); + if ((local_118 != 0) && (local_10c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_1400a25d0(*(longlong *)(*(longlong *)(param_1 + 0x238) + 0x3e0) + 0x160,param_1 + 8,param_3, + param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140096e20.c b/decomp/Agent_Release_x64/full/functions/0x140096e20.c new file mode 100644 index 00000000..7f4b8298 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140096e20.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140096e20 FUN_140096e20 + * Pseudocode, not original source. */ + +longlong * FUN_140096e20(longlong *param_1,ulonglong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_1400969c0(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + FUN_1400302f0(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140096e50.c b/decomp/Agent_Release_x64/full/functions/0x140096e50.c new file mode 100644 index 00000000..0e1a35c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140096e50.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140096e50 FUN_140096e50 + * Pseudocode, not original source. */ + +undefined2 FUN_140096e50(undefined1 param_1,undefined1 param_2) + +{ + return CONCAT11(param_1,param_2); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140096e60.c b/decomp/Agent_Release_x64/full/functions/0x140096e60.c new file mode 100644 index 00000000..2cc22000 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140096e60.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140096e60 FUN_140096e60 + * Pseudocode, not original source. */ + +void FUN_140096e60(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + exception local_58 [88]; + + if ((longlong *)param_2[2] != param_1) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + plVar1 = (longlong *)param_2[1]; + lVar2 = *param_2; + if (plVar1 != (longlong *)0x0) { + *plVar1 = lVar2; + } + if (lVar2 != 0) { + *(longlong **)(lVar2 + 8) = plVar1; + } + if (plVar1 == (longlong *)0x0) { + if ((longlong *)param_1[1] != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + param_1[1] = lVar2; + } + if (lVar2 == 0) { + if ((longlong *)*param_1 != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = (longlong)plVar1; + } + *param_2 = 0; + param_2[1] = 0; + param_2[2] = 0; + *(int *)(param_1 + 2) = (int)param_1[2] + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140096f40.c b/decomp/Agent_Release_x64/full/functions/0x140096f40.c new file mode 100644 index 00000000..986c74c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140096f40.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140096f40 FUN_140096f40 + * Pseudocode, not original source. */ + +void FUN_140096f40(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + exception local_58 [88]; + + if ((longlong *)param_2[2] != param_1) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase" + ,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + plVar1 = (longlong *)param_2[1]; + lVar2 = *param_2; + if (plVar1 != (longlong *)0x0) { + *plVar1 = lVar2; + } + if (lVar2 != 0) { + *(longlong **)(lVar2 + 8) = plVar1; + } + if (plVar1 == (longlong *)0x0) { + if ((longlong *)param_1[1] != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase" + ,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + param_1[1] = lVar2; + } + if (lVar2 == 0) { + if ((longlong *)*param_1 != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase" + ,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = (longlong)plVar1; + } + *param_2 = 0; + param_2[1] = 0; + param_2[2] = 0; + *(int *)(param_1 + 2) = (int)param_1[2] + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097020.c b/decomp/Agent_Release_x64/full/functions/0x140097020.c new file mode 100644 index 00000000..f0c536fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097020.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097020 FUN_140097020 + * Pseudocode, not original source. */ + +void FUN_140097020(char *param_1) + +{ + longlong lVar1; + longlong lVar2; + longlong lVar3; + ulonglong uVar4; + exception local_58 [88]; + + if (*param_1 != '\0') { + uVar4 = 0; + if ((*(longlong *)(param_1 + 0x20) != 0) && (*(longlong *)(param_1 + 8) == 0)) { + FUN_14002f1e0(local_58,L"CFastMap consistency error #0!",param_1,0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + lVar1 = *(longlong *)(param_1 + 0x10); + lVar3 = lVar1; + while (lVar3 != 0) { + lVar2 = *(longlong *)(lVar3 + 0x18); + if ((lVar2 != 0) && (*(longlong *)(lVar2 + 0x20) != lVar3)) { + FUN_14002f1e0(local_58,L"CFastMap consistency error #1!",param_1,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if ((lVar3 == lVar1) && (*(longlong *)(lVar3 + 0x20) != 0)) { + FUN_14002f1e0(local_58,L"CFastMap consistency error #2!",param_1,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if ((lVar3 == *(longlong *)(param_1 + 0x18)) && (lVar2 != 0)) { + FUN_14002f1e0(local_58,L"CFastMap consistency error #3!",param_1,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + uVar4 = (ulonglong)((int)uVar4 + 1); + lVar3 = lVar2; + } + if ((int)uVar4 != *(int *)(param_1 + 0x20)) { + for (; lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 0x18)) { + } + FUN_14002f1e0(local_58,L"CFastMap consistency error #4!",param_1,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097150.c b/decomp/Agent_Release_x64/full/functions/0x140097150.c new file mode 100644 index 00000000..24f78cf3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097150.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097150 FUN_140097150 + * Pseudocode, not original source. */ + +bool FUN_140097150(longlong param_1,double param_2) + +{ + ulonglong uVar1; + + if (*(int *)(param_1 + 0x158) + *(int *)(param_1 + 0x140) + *(int *)(param_1 + 0x120) + + *(int *)(param_1 + 0x108) + *(int *)(param_1 + 0xe8) + *(int *)(param_1 + 0xd0) + + *(int *)(param_1 + 0xb0) + *(int *)(param_1 + 0x98) + *(int *)(param_1 + 0x78) + + *(int *)(param_1 + 0x60) + *(int *)(param_1 + 0x40) + *(int *)(param_1 + 0x28) + + *(int *)(param_1 + 0x1b0) == 0) { + return false; + } + if (*(char *)(*(longlong *)(param_1 + 400) + 0x88) == '\0') { + return true; + } + uVar1 = FUN_1400bca40((double *)(param_1 + 0x1d8),param_2,*(double *)(param_1 + 0x208)); + return (char)uVar1 == '\0'; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400971f0.c b/decomp/Agent_Release_x64/full/functions/0x1400971f0.c new file mode 100644 index 00000000..7217bb40 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400971f0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400971f0 FUN_1400971f0 + * Pseudocode, not original source. */ + +void FUN_1400971f0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((longlong *)param_1[2] != (longlong *)0x0) { + FUN_140096e60((longlong *)param_1[2],param_1,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097210.c b/decomp/Agent_Release_x64/full/functions/0x140097210.c new file mode 100644 index 00000000..4d604c42 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097210.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097210 FUN_140097210 + * Pseudocode, not original source. */ + +void FUN_140097210(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((longlong *)param_1[2] != (longlong *)0x0) { + FUN_140096f40((longlong *)param_1[2],param_1,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097230.c b/decomp/Agent_Release_x64/full/functions/0x140097230.c new file mode 100644 index 00000000..32b4b09a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097230.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097230 FUN_140097230 + * Pseudocode, not original source. */ + +void FUN_140097230(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + if (param_2[2] != 0) { + FUN_140096e60(param_1,param_2,param_3,param_4); + } + if (param_1[1] == 0) { + *param_1 = (longlong)param_2; + } + else { + *(longlong **)(param_1[1] + 8) = param_2; + *param_2 = param_1[1]; + } + param_1[1] = (longlong)param_2; + param_2[2] = (longlong)param_1; + *(int *)(param_1 + 2) = (int)param_1[2] + 1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097280.c b/decomp/Agent_Release_x64/full/functions/0x140097280.c new file mode 100644 index 00000000..8083e72c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097280.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097280 FUN_140097280 + * Pseudocode, not original source. */ + +void FUN_140097280(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x0001400972a7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400972c0.c b/decomp/Agent_Release_x64/full/functions/0x1400972c0.c new file mode 100644 index 00000000..b6ea5691 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400972c0.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400972c0 FUN_1400972c0 + * Pseudocode, not original source. */ + +void FUN_1400972c0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + if (param_2[2] != 0) { + FUN_140096f40(param_1,param_2,param_3,param_4); + } + if (param_1[1] == 0) { + *param_1 = (longlong)param_2; + } + else { + *(longlong **)(param_1[1] + 8) = param_2; + *param_2 = param_1[1]; + } + param_1[1] = (longlong)param_2; + param_2[2] = (longlong)param_1; + *(int *)(param_1 + 2) = (int)param_1[2] + 1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097310.c b/decomp/Agent_Release_x64/full/functions/0x140097310.c new file mode 100644 index 00000000..272c916d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097310.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097310 FUN_140097310 + * Pseudocode, not original source. */ + +void FUN_140097310(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x000140097337. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097350.c b/decomp/Agent_Release_x64/full/functions/0x140097350.c new file mode 100644 index 00000000..7756ae7b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097350.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097350 FUN_140097350 + * Pseudocode, not original source. */ + +longlong FUN_140097350(longlong param_1,longlong param_2) + +{ + ulonglong uVar1; + longlong lVar2; + + uVar1 = (ulonglong)((uint)*(ushort *)(param_2 + 0xc) ^ *(uint *)(param_2 + 8)) % + (ulonglong)*(uint *)(param_1 + 0x28); + if (*(longlong *)(param_1 + 8) != 0) { + for (lVar2 = *(longlong *)(*(longlong *)(param_1 + 8) + uVar1 * 8); + (lVar2 != 0 && ((uint)uVar1 == *(uint *)(lVar2 + 0x28) % *(uint *)(param_1 + 0x28))); + lVar2 = *(longlong *)(lVar2 + 0x18)) { + if ((*(uint *)(lVar2 + 8) == *(uint *)(param_2 + 8)) && + (*(ushort *)(lVar2 + 0xc) == *(ushort *)(param_2 + 0xc))) { + return lVar2; + } + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400973b0.c b/decomp/Agent_Release_x64/full/functions/0x1400973b0.c new file mode 100644 index 00000000..19304598 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400973b0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400973b0 FUN_1400973b0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400973b0(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097410.c b/decomp/Agent_Release_x64/full/functions/0x140097410.c new file mode 100644 index 00000000..2c924061 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097410.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097410 FUN_140097410 + * Pseudocode, not original source. */ + +undefined8 * FUN_140097410(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097470.c b/decomp/Agent_Release_x64/full/functions/0x140097470.c new file mode 100644 index 00000000..32caadc4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097470.c @@ -0,0 +1,79 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097470 FUN_140097470 + * Pseudocode, not original source. */ + +void FUN_140097470(undefined8 *param_1,longlong param_2,longlong param_3) + +{ + longlong lVar1; + undefined8 *puVar2; + undefined8 *puVar3; + longlong lVar4; + undefined8 *puVar5; + longlong lVar6; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (-1 < param_3) { + param_1[3] = param_3; + } + if (param_2 == 0) { + if ((100 < (ulonglong)param_1[2]) && ((void *)*param_1 != (void *)0x0)) { + operator_delete__((void *)*param_1); + *param_1 = 0; + } + param_1[2] = 100; + param_1[1] = 0; + return; + } + lVar4 = param_1[2]; + if (param_2 <= lVar4) { + param_1[1] = param_2; + return; + } + lVar1 = param_1[3]; + if (lVar1 == 0) { + lVar1 = (longlong)(param_1[1] + (ulonglong)((uint)((longlong)param_1[1] >> 0x3f) & 7)) >> 3; + if (lVar1 < 4) { + lVar1 = 4; + } + else if (0x400 < lVar1) { + lVar1 = 0x400; + } + } + lVar6 = param_2; + if (param_2 < lVar1 + lVar4) { + lVar6 = lVar1 + lVar4; + } + if (lVar6 < lVar4) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar2 = operator_new(lVar6 << 4); + puVar5 = param_1 + 4; + if (100 < (ulonglong)param_1[2]) { + puVar5 = (undefined8 *)*param_1; + } + lVar4 = param_1[1]; + if (0 < lVar4) { + puVar3 = puVar2; + do { + lVar4 = lVar4 + -1; + *puVar3 = *(undefined8 *)(((longlong)puVar5 - (longlong)puVar2) + (longlong)puVar3); + puVar3[1] = *(undefined8 *) + (((longlong)puVar5 - (longlong)puVar2) + -8 + (longlong)(puVar3 + 2)); + puVar3 = puVar3 + 2; + } while (lVar4 != 0); + } + memset(puVar2 + param_1[1] * 2,0,(param_2 - param_1[1]) * 0x10); + if (100 < (ulonglong)param_1[2]) { + operator_delete__(puVar5); + } + *param_1 = puVar2; + param_1[2] = lVar6; + param_1[1] = param_2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400975e0.c b/decomp/Agent_Release_x64/full/functions/0x1400975e0.c new file mode 100644 index 00000000..85737073 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400975e0.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400975e0 FUN_1400975e0 + * Pseudocode, not original source. */ + +void FUN_1400975e0(longlong *param_1) + +{ + longlong lVar1; + longlong *plVar2; + longlong *plVar3; + exception local_58 [88]; + + lVar1 = *param_1; + while( true ) { + if (lVar1 == 0) { + return; + } + plVar2 = (longlong *)*param_1; + if ((longlong *)plVar2[2] != param_1) break; + plVar3 = (longlong *)plVar2[1]; + lVar1 = *plVar2; + if (plVar3 != (longlong *)0x0) { + *plVar3 = lVar1; + } + if (lVar1 != 0) { + *(longlong **)(lVar1 + 8) = plVar3; + } + if (plVar3 == (longlong *)0x0) { + if ((longlong *)param_1[1] != plVar2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + param_1[1] = lVar1; + } + if (lVar1 == 0) { + if ((longlong *)*param_1 != plVar2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = (longlong)plVar3; + } + *plVar2 = 0; + plVar2[1] = 0; + plVar2[2] = 0; + *(int *)(param_1 + 2) = (int)param_1[2] + -1; + lVar1 = *param_1; + } + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400976d0.c b/decomp/Agent_Release_x64/full/functions/0x1400976d0.c new file mode 100644 index 00000000..df21a6ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400976d0.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400976d0 FUN_1400976d0 + * Pseudocode, not original source. */ + +void FUN_1400976d0(longlong param_1,int param_2,longlong param_3) + +{ + longlong *plVar1; + int iVar2; + longlong lVar3; + undefined8 uVar4; + exception local_58 [80]; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 != *(int *)(param_1 + 0x18)) { + if (*(int *)(param_1 + 0x1c) < param_2) { + iVar2 = FUN_1400854f0(param_1,param_2); + plVar1 = *(longlong **)(param_1 + 8); + lVar3 = (longlong)iVar2; + if (*(int *)(param_1 + 0x1c) == 0) { + if (plVar1 == (longlong *)0x0) { + lVar3 = FUN_140030280(lVar3 << 3); + } + else { + lVar3 = (**(code **)(*plVar1 + 8))(plVar1,lVar3 << 3); + } + } + else { + uVar4 = *(undefined8 *)(param_1 + 0x10); + if (plVar1 == (longlong *)0x0) { + lVar3 = FUN_1400302b0(uVar4,lVar3 << 3); + } + else { + param_3 = lVar3 << 3; + lVar3 = (**(code **)(*plVar1 + 0x10))(plVar1,uVar4); + } + if (lVar3 == 0) { + FUN_14002f1e0(local_58,L"Memory allocation failure!",param_3,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + } + *(longlong *)(param_1 + 0x10) = lVar3; + *(int *)(param_1 + 0x1c) = iVar2; + } + *(int *)(param_1 + 0x18) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400977a0.c b/decomp/Agent_Release_x64/full/functions/0x1400977a0.c new file mode 100644 index 00000000..566c974c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400977a0.c @@ -0,0 +1,60 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400977a0 FUN_1400977a0 + * Pseudocode, not original source. */ + +void FUN_1400977a0(longlong *param_1) + +{ + longlong lVar1; + longlong *plVar2; + longlong *plVar3; + exception local_58 [88]; + + lVar1 = *param_1; + while( true ) { + if (lVar1 == 0) { + return; + } + plVar2 = (longlong *)*param_1; + if ((longlong *)plVar2[2] != param_1) break; + plVar3 = (longlong *)plVar2[1]; + lVar1 = *plVar2; + if (plVar3 != (longlong *)0x0) { + *plVar3 = lVar1; + } + if (lVar1 != 0) { + *(longlong **)(lVar1 + 8) = plVar3; + } + if (plVar3 == (longlong *)0x0) { + if ((longlong *)param_1[1] != plVar2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase" + ,0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + param_1[1] = lVar1; + } + if (lVar1 == 0) { + if ((longlong *)*param_1 != plVar2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase" + ,0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = (longlong)plVar3; + } + *plVar2 = 0; + plVar2[1] = 0; + plVar2[2] = 0; + *(int *)(param_1 + 2) = (int)param_1[2] + -1; + lVar1 = *param_1; + } + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase" + ,0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097890.c b/decomp/Agent_Release_x64/full/functions/0x140097890.c new file mode 100644 index 00000000..6213bcbf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097890.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097890 FUN_140097890 + * Pseudocode, not original source. */ + +void FUN_140097890(longlong param_1) + +{ + FUN_14003f710(param_1 + 0x20,3,'\x01'); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400978b0.c b/decomp/Agent_Release_x64/full/functions/0x1400978b0.c new file mode 100644 index 00000000..710153fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400978b0.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400978b0 FUN_1400978b0 + * Pseudocode, not original source. */ + +void FUN_1400978b0(longlong *param_1,longlong *param_2,double param_3,undefined8 param_4) + +{ + bool bVar1; + undefined8 in_R8; + + if (param_2[2] == 0) { + bVar1 = FUN_140097150((longlong)param_2,param_3); + if (bVar1) { + if (param_2[2] != 0) { + FUN_140096f40(param_1,param_2,in_R8,param_4); + } + if (param_1[1] == 0) { + *param_1 = (longlong)param_2; + } + else { + *(longlong **)(param_1[1] + 8) = param_2; + *param_2 = param_1[1]; + } + param_1[1] = (longlong)param_2; + param_2[2] = (longlong)param_1; + *(int *)(param_1 + 2) = (int)param_1[2] + 1; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097920.c b/decomp/Agent_Release_x64/full/functions/0x140097920.c new file mode 100644 index 00000000..8cd58b8f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097920.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097920 FUN_140097920 + * Pseudocode, not original source. */ + +int FUN_140097920(longlong param_1,ulonglong param_2) + +{ + longlong lVar1; + ulonglong uVar2; + longlong *plVar3; + int iVar4; + + iVar4 = 0; + plVar3 = (longlong *)(param_1 + 0x18); + uVar2 = 0; + do { + if (5 < uVar2) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(param_1,param_2,uVar2,plVar3); + } + param_2 = 0; + for (lVar1 = *plVar3; lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 8)) { + param_2 = (ulonglong)(uint)((int)param_2 + *(int *)(lVar1 + 0x30)); + } + for (lVar1 = plVar3[3]; lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 8)) { + param_2 = (ulonglong)(uint)((int)param_2 + *(int *)(lVar1 + 0x30)); + } + uVar2 = uVar2 + 1; + iVar4 = iVar4 + (int)param_2; + plVar3 = plVar3 + 7; + } while ((longlong)uVar2 < 6); + if (0 < *(int *)(param_1 + 0x1c0)) { + iVar4 = iVar4 + (*(int *)(param_1 + 0x1c0) - *(int *)(param_1 + 0x1c8)); + } + return iVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400979a0.c b/decomp/Agent_Release_x64/full/functions/0x1400979a0.c new file mode 100644 index 00000000..240356ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400979a0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400979a0 FUN_1400979a0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400979a0(longlong param_1,longlong param_2) + +{ + uint uVar1; + ulonglong uVar2; + ulonglong uVar3; + longlong lVar4; + + uVar1 = *(uint *)(param_1 + 0x30); + uVar2 = (ulonglong)((uint)*(ushort *)(param_2 + 0xc) ^ *(uint *)(param_2 + 8)); + uVar3 = uVar2 / uVar1; + uVar2 = uVar2 % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 0x10) != 0) { + for (lVar4 = *(longlong *)(*(longlong *)(param_1 + 0x10) + uVar2 * 8); + (lVar4 != 0 && + (uVar3 = (ulonglong)*(uint *)(lVar4 + 0x28) / (ulonglong)uVar1, + (uint)uVar2 == *(uint *)(lVar4 + 0x28) % uVar1)); lVar4 = *(longlong *)(lVar4 + 0x18)) { + if ((*(uint *)(lVar4 + 8) == *(uint *)(param_2 + 8)) && + (*(ushort *)(lVar4 + 0xc) == *(ushort *)(param_2 + 0xc))) { + return *(ulonglong *)(lVar4 + 0x10); + } + } + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097a20.c b/decomp/Agent_Release_x64/full/functions/0x140097a20.c new file mode 100644 index 00000000..b074a711 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097a20.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097a20 FUN_140097a20 + * Pseudocode, not original source. */ + +void FUN_140097a20(char *param_1,LPVOID param_2,char param_3) + +{ + uint uVar1; + + if (param_2 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if (*(longlong **)(param_1 + 0x50) == (longlong *)0x0) { + FUN_1400302f0(param_2); + } + else { + (**(code **)(**(longlong **)(param_1 + 0x50) + 0x18))(); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + if (((param_3 != '\0') && (*(ulonglong *)(param_1 + 0x20) < *(ulonglong *)(param_1 + 0x40))) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar1 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14009f920(param_1,uVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097a90.c b/decomp/Agent_Release_x64/full/functions/0x140097a90.c new file mode 100644 index 00000000..0859d2f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097a90.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097a90 FUN_140097a90 + * Pseudocode, not original source. */ + +int FUN_140097a90(longlong param_1,longlong param_2) + +{ + ulonglong uVar1; + longlong lVar2; + + uVar1 = (ulonglong)((uint)*(ushort *)(param_2 + 0xc) ^ *(uint *)(param_2 + 8)) % + (ulonglong)*(uint *)(param_1 + 0x48); + if (*(longlong *)(param_1 + 0x28) != 0) { + for (lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x28) + uVar1 * 8); + (lVar2 != 0 && ((uint)uVar1 == *(uint *)(lVar2 + 0x28) % *(uint *)(param_1 + 0x48))); + lVar2 = *(longlong *)(lVar2 + 0x18)) { + if ((*(uint *)(lVar2 + 8) == *(uint *)(param_2 + 8)) && + (*(ushort *)(lVar2 + 0xc) == *(ushort *)(param_2 + 0xc))) { + lVar2 = *(longlong *)(lVar2 + 0x10); + return *(int *)(lVar2 + 0x1b0) + + *(int *)(lVar2 + 0x158) + *(int *)(lVar2 + 0x140) + *(int *)(lVar2 + 0x120) + + *(int *)(lVar2 + 0x108) + *(int *)(lVar2 + 0xe8) + *(int *)(lVar2 + 0xd0) + + *(int *)(lVar2 + 0xb0) + *(int *)(lVar2 + 0x98) + *(int *)(lVar2 + 0x78) + + *(int *)(lVar2 + 0x60) + *(int *)(lVar2 + 0x40) + *(int *)(lVar2 + 0x28); + } + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097b30.c b/decomp/Agent_Release_x64/full/functions/0x140097b30.c new file mode 100644 index 00000000..3b75766a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097b30.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097b30 FUN_140097b30 + * Pseudocode, not original source. */ + +ulonglong FUN_140097b30(longlong param_1,longlong param_2,undefined8 param_3) + +{ + uint uVar1; + ulonglong uVar2; + ulonglong uVar3; + longlong lVar4; + + uVar1 = *(uint *)(param_1 + 0x48); + uVar2 = (ulonglong)((uint)*(ushort *)(param_2 + 0xc) ^ *(uint *)(param_2 + 8)); + uVar3 = uVar2 / uVar1; + uVar2 = uVar2 % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 0x28) != 0) { + lVar4 = *(longlong *)(*(longlong *)(param_1 + 0x28) + uVar2 * 8); + while( true ) { + if (lVar4 == 0) { + return uVar3; + } + uVar3 = (ulonglong)*(uint *)(lVar4 + 0x28) / (ulonglong)uVar1; + if ((uint)uVar2 != *(uint *)(lVar4 + 0x28) % uVar1) { + return uVar3; + } + if ((*(uint *)(lVar4 + 8) == *(uint *)(param_2 + 8)) && + (*(ushort *)(lVar4 + 0xc) == *(ushort *)(param_2 + 0xc))) break; + lVar4 = *(longlong *)(lVar4 + 0x18); + } + uVar3 = *(ulonglong *)(lVar4 + 0x10); + *(undefined8 *)(uVar3 + 0x210) = param_3; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097b90.c b/decomp/Agent_Release_x64/full/functions/0x140097b90.c new file mode 100644 index 00000000..87c83979 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097b90.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097b90 FUN_140097b90 + * Pseudocode, not original source. */ + +int FUN_140097b90(longlong param_1,longlong param_2) + +{ + ulonglong uVar1; + ulonglong uVar2; + int iVar3; + longlong lVar4; + + uVar1 = (ulonglong)((uint)*(ushort *)(param_2 + 0xc) ^ *(uint *)(param_2 + 8)) % + (ulonglong)*(uint *)(param_1 + 0x48); + if (*(longlong *)(param_1 + 0x28) != 0) { + lVar4 = *(longlong *)(*(longlong *)(param_1 + 0x28) + uVar1 * 8); + while ((lVar4 != 0 && + (uVar2 = (ulonglong)*(uint *)(lVar4 + 0x28) % (ulonglong)*(uint *)(param_1 + 0x48), + (int)uVar1 == (int)uVar2))) { + if ((*(uint *)(lVar4 + 8) == *(uint *)(param_2 + 8)) && + (*(ushort *)(lVar4 + 0xc) == *(ushort *)(param_2 + 0xc))) { + iVar3 = FUN_140097920(*(longlong *)(lVar4 + 0x10),uVar2); + return iVar3; + } + lVar4 = *(longlong *)(lVar4 + 0x18); + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097c10.c b/decomp/Agent_Release_x64/full/functions/0x140097c10.c new file mode 100644 index 00000000..b9f31e75 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097c10.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097c10 FUN_140097c10 + * Pseudocode, not original source. */ + +void FUN_140097c10(short *param_1) + +{ + int iVar1; + longlong lVar2; + longlong lVar3; + short *psVar4; + ulonglong uVar5; + ulonglong uVar6; + + iVar1 = *(int *)(param_1 + 0xd8); + uVar5 = 0; + psVar4 = param_1; + uVar6 = uVar5; + if (0 < (longlong)iVar1) { + do { + if (((longlong)uVar5 < 0) || (*(int *)(param_1 + 0xd8) <= (int)uVar6)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(psVar4,uVar5,uVar6,param_1); + } + lVar2 = *(longlong *)(param_1 + 200); + lVar3 = *(longlong *)(*(longlong *)(param_1 + 0xd4) + uVar5 * 8); + psVar4 = (short *)(lVar3 + -8); + if ((*psVar4 != 0x1de6) || (*(longlong *)(lVar3 + 0x50) != 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar5 = uVar5 + 1; + uVar6 = (ulonglong)((int)uVar6 + 1); + *(undefined8 *)(lVar3 + 0x50) = *(undefined8 *)(lVar2 + 0x80); + *(short **)(lVar2 + 0x80) = psVar4; + } while ((longlong)uVar5 < (longlong)iVar1); + } + FUN_1400976d0((longlong)(param_1 + 0xcc),0,uVar6); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097ca0.c b/decomp/Agent_Release_x64/full/functions/0x140097ca0.c new file mode 100644 index 00000000..4f793490 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097ca0.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097ca0 FUN_140097ca0 + * Pseudocode, not original source. */ + +void FUN_140097ca0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + plVar2 = (longlong *)*param_1; + while( true ) { + if (plVar2 == (longlong *)0x0) { + while( true ) { + plVar2 = (longlong *)param_1[3]; + if (plVar2 == (longlong *)0x0) { + FUN_1400975e0(param_1 + 3); + FUN_1400975e0(param_1); + return; + } + if ((longlong *)plVar2[2] != (longlong *)0x0) { + FUN_140096e60((longlong *)plVar2[2],plVar2,param_3,param_4); + } + lVar1 = *(longlong *)(param_1[6] + 400); + if (((short)plVar2[-1] != 0x1de6) || (plVar2[10] != 0)) break; + plVar2[10] = *(longlong *)(lVar1 + 0x80); + *(longlong **)(lVar1 + 0x80) = plVar2 + -1; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((longlong *)plVar2[2] != (longlong *)0x0) { + FUN_140096e60((longlong *)plVar2[2],plVar2,param_3,param_4); + } + lVar1 = *(longlong *)(param_1[6] + 400); + if (((short)plVar2[-1] != 0x1de6) || (plVar2[10] != 0)) break; + plVar2[10] = *(longlong *)(lVar1 + 0x80); + *(longlong **)(lVar1 + 0x80) = plVar2 + -1; + plVar2 = (longlong *)*param_1; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097d90.c b/decomp/Agent_Release_x64/full/functions/0x140097d90.c new file mode 100644 index 00000000..982ebc4d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097d90.c @@ -0,0 +1,48 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097d90 FUN_140097d90 + * Pseudocode, not original source. */ + +void FUN_140097d90(undefined8 *param_1,undefined8 param_2,longlong param_3) + +{ + int iVar1; + longlong lVar2; + longlong lVar3; + + if (param_1[0xce] != 0) { + iVar1 = *(int *)(param_1 + 0xd2); + param_3 = 0; + if (0 < (longlong)iVar1) { + do { + if (*(int *)(param_1 + 0xd2) == 0) { + lVar3 = 0; + } + else { + lVar3 = param_1[0xd1]; + } + lVar3 = *(longlong *)(lVar3 + param_3 * 8); + lVar2 = param_1[0xce]; + if ((*(short *)(lVar3 + -8) != 0x1de6) || (*(longlong *)(lVar3 + 0x50) != 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + param_3 = param_3 + 1; + *(undefined8 *)(lVar3 + 0x50) = *(undefined8 *)(lVar2 + 0x80); + *(short **)(lVar2 + 0x80) = (short *)(lVar3 + -8); + } while (param_3 < iVar1); + } + } + FUN_1400976d0((longlong)(param_1 + 0xcf),0,param_3); + if ((100 < (ulonglong)param_1[2]) && ((void *)*param_1 != (void *)0x0)) { + operator_delete__((void *)*param_1); + *param_1 = 0; + } + param_1[1] = 0; + param_1[2] = 100; + *(undefined4 *)(param_1 + 0xd5) = DAT_1401553d0; + *(undefined2 *)((longlong)param_1 + 0x6ac) = DAT_1401553d4; + param_1[0xce] = 0; + *(undefined4 *)(param_1 + 0xd6) = 0xffffffff; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097e90.c b/decomp/Agent_Release_x64/full/functions/0x140097e90.c new file mode 100644 index 00000000..bb23f09e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097e90.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097e90 FUN_140097e90 + * Pseudocode, not original source. */ + +undefined2 * FUN_140097e90(longlong *param_1) + +{ + longlong lVar1; + undefined2 *puVar2; + + lVar1 = *param_1; + if (lVar1 != 0) { + *param_1 = *(longlong *)(lVar1 + 0x58); + *(undefined8 *)(lVar1 + 0x58) = 0; + return (undefined2 *)(lVar1 + 8); + } + puVar2 = (undefined2 *)FUN_140030280(0x60); + if (puVar2 != (undefined2 *)0x0) { + *(undefined8 *)(puVar2 + 4) = 0; + *(undefined8 *)(puVar2 + 8) = 0; + *(undefined8 *)(puVar2 + 0xc) = 0; + *(undefined8 *)(puVar2 + 0x14) = 0; + *(undefined8 *)(puVar2 + 0x18) = 0; + *(undefined8 *)(puVar2 + 0x1c) = 0; + *(undefined8 *)(puVar2 + 0x20) = 0; + *(undefined ***)(puVar2 + 0x10) = Proud::ByteArray::vftable; + *(undefined4 *)(puVar2 + 0x28) = 0xffffffff; + *(undefined4 *)(puVar2 + 0x2a) = 0; + *(undefined8 *)(puVar2 + 0x2c) = 0; + *puVar2 = 0x1de6; + return puVar2 + 4; + } + return (undefined2 *)0x8; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097f20.c b/decomp/Agent_Release_x64/full/functions/0x140097f20.c new file mode 100644 index 00000000..29eee497 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097f20.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097f20 FUN_140097f20 + * Pseudocode, not original source. */ + +undefined2 * FUN_140097f20(longlong *param_1) + +{ + longlong lVar1; + undefined2 *puVar2; + + lVar1 = *param_1; + if (lVar1 != 0) { + *param_1 = *(longlong *)(lVar1 + 0x68); + *(undefined8 *)(lVar1 + 0x68) = 0; + return (undefined2 *)(lVar1 + 8); + } + puVar2 = (undefined2 *)FUN_140030280(0x70); + if (puVar2 != (undefined2 *)0x0) { + *(undefined ***)(puVar2 + 4) = Proud::CFastArray::vftable; + *(undefined8 *)(puVar2 + 8) = 0; + *(undefined8 *)(puVar2 + 0xc) = 0; + *(undefined8 *)(puVar2 + 0x10) = 0; + *(undefined8 *)(puVar2 + 0x14) = 0; + *(undefined ***)(puVar2 + 0x18) = Proud::CFastArray::vftable; + *(undefined8 *)(puVar2 + 0x1c) = 0; + *(undefined8 *)(puVar2 + 0x20) = 0; + *(undefined8 *)(puVar2 + 0x24) = 0; + *(undefined8 *)(puVar2 + 0x28) = 0; + *(undefined4 *)(puVar2 + 0x2c) = 0; + *(undefined8 *)(puVar2 + 0x30) = 0; + *puVar2 = 0x1de6; + *(undefined8 *)(puVar2 + 0x34) = 0; + return puVar2 + 4; + } + return (undefined2 *)0x8; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140097fc0.c b/decomp/Agent_Release_x64/full/functions/0x140097fc0.c new file mode 100644 index 00000000..9e2a6577 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140097fc0.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140097fc0 FUN_140097fc0 + * Pseudocode, not original source. */ + +void FUN_140097fc0(char *param_1,LPVOID param_2,char param_3) + +{ + uint uVar1; + ulonglong uVar2; + uint uVar3; + + if (param_2 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar1 = *(uint *)(param_1 + 0x28); + uVar2 = (ulonglong)*(uint *)((longlong)param_2 + 0x28) % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 0x20) == 1) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + } + else { + uVar3 = (uint)uVar2; + if (((*(longlong *)((longlong)param_2 + 0x20) == 0) || + (*(uint *)(*(longlong *)((longlong)param_2 + 0x20) + 0x28) % uVar1 != uVar3)) && + ((*(longlong *)((longlong)param_2 + 0x18) == 0 || + (*(uint *)(*(longlong *)((longlong)param_2 + 0x18) + 0x28) % uVar1 != uVar3)))) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + } + else if (param_2 == *(LPVOID *)(*(longlong *)(param_1 + 8) + (longlong)(int)uVar3 * 8)) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = + *(undefined8 *)((longlong)param_2 + 0x18); + } + if (param_2 == *(LPVOID *)(param_1 + 0x10)) { + *(undefined8 *)(param_1 + 0x10) = *(undefined8 *)((longlong)param_2 + 0x18); + *(undefined8 *)((longlong)param_2 + 0x20) = 0; + } + if (param_2 == *(LPVOID *)(param_1 + 0x18)) { + *(undefined8 *)(param_1 + 0x18) = *(undefined8 *)((longlong)param_2 + 0x20); + *(undefined8 *)((longlong)param_2 + 0x18) = 0; + } + if (*(longlong *)((longlong)param_2 + 0x20) != 0) { + *(undefined8 *)(*(longlong *)((longlong)param_2 + 0x20) + 0x18) = + *(undefined8 *)((longlong)param_2 + 0x18); + } + if (*(longlong *)((longlong)param_2 + 0x18) != 0) { + *(undefined8 *)(*(longlong *)((longlong)param_2 + 0x18) + 0x20) = + *(undefined8 *)((longlong)param_2 + 0x20); + } + } + FUN_140097a20(param_1,param_2,param_3); + FUN_140097020(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400980c0.c b/decomp/Agent_Release_x64/full/functions/0x1400980c0.c new file mode 100644 index 00000000..078aa11e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400980c0.c @@ -0,0 +1,102 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400980c0 FUN_1400980c0 + * Pseudocode, not original source. */ + +void FUN_1400980c0(char *param_1) + +{ + longlong *plVar1; + LPVOID pvVar2; + LPVOID pvVar3; + uint uVar4; + ulonglong uVar5; + longlong lVar6; + longlong lVar7; + float fVar8; + float fVar9; + + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + 1; + FUN_14003d560(param_1); + pvVar3 = *(LPVOID *)(param_1 + 0x10); + while (pvVar3 != (LPVOID)0x0) { + plVar1 = *(longlong **)(param_1 + 0x50); + pvVar2 = *(LPVOID *)((longlong)pvVar3 + 0x10); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(pvVar3); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,pvVar3); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + pvVar3 = pvVar2; + } + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + param_1[0x20] = '\0'; + param_1[0x21] = '\0'; + param_1[0x22] = '\0'; + param_1[0x23] = '\0'; + param_1[0x24] = '\0'; + param_1[0x25] = '\0'; + param_1[0x26] = '\0'; + param_1[0x27] = '\0'; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + FUN_14003d560(param_1); + if (*(int *)(param_1 + 0x48) == 0) { + uVar4 = FUN_14003d4e0((longlong)param_1,*(longlong *)(param_1 + 0x20)); + if (*(LPVOID *)(param_1 + 8) != (LPVOID)0x0) { + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + } + lVar6 = 0; + *(uint *)(param_1 + 0x28) = uVar4; + fVar9 = (float)uVar4 * *(float *)(param_1 + 0x34); + if ((9.223372e+18 < fVar9) && (fVar9 = fVar9 - 9.223372e+18, fVar9 < 9.223372e+18)) { + lVar6 = -0x8000000000000000; + } + fVar8 = (float)uVar4 * *(float *)(param_1 + 0x30); + lVar7 = 0; + *(longlong *)(param_1 + 0x38) = (longlong)fVar9 + lVar6; + if ((9.223372e+18 < fVar8) && (fVar8 = fVar8 - 9.223372e+18, fVar8 < 9.223372e+18)) { + lVar7 = -0x8000000000000000; + } + uVar5 = (longlong)fVar8 + lVar7; + if ((ulonglong)((longlong)fVar8 + lVar7) < 0x11) { + uVar5 = 0; + } + *(ulonglong *)(param_1 + 0x40) = uVar5; + } + FUN_14003d560(param_1); + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400981f0.c b/decomp/Agent_Release_x64/full/functions/0x1400981f0.c new file mode 100644 index 00000000..23fd0c6c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400981f0.c @@ -0,0 +1,74 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400981f0 FUN_1400981f0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400981f0(char *param_1,longlong param_2,uint param_3,undefined4 param_4) + +{ + undefined2 uVar1; + longlong *plVar2; + longlong lVar3; + undefined8 uVar4; + uint uVar5; + undefined8 *puVar6; + + plVar2 = *(longlong **)(param_1 + 0x50); + if (plVar2 == (longlong *)0x0) { + puVar6 = (undefined8 *)FUN_140030280(0x30); + } + else { + puVar6 = (undefined8 *)(**(code **)(*plVar2 + 8))(plVar2,0x30); + } + if (puVar6 != (undefined8 *)0x0) { + *puVar6 = Proud::AddrPort::vftable; + *(undefined4 *)(puVar6 + 1) = *(undefined4 *)(param_2 + 8); + uVar1 = *(undefined2 *)(param_2 + 0xc); + *(undefined4 *)(puVar6 + 5) = param_4; + *(undefined2 *)((longlong)puVar6 + 0xc) = uVar1; + } + lVar3 = *(longlong *)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8); + FUN_140097020(param_1); + if (*(longlong *)(param_1 + 0x20) == 0) { + *(undefined8 **)(param_1 + 0x10) = puVar6; + *(undefined8 **)(param_1 + 0x18) = puVar6; + puVar6[4] = 0; + puVar6[3] = 0; + } + else { + FUN_140097020(param_1); + FUN_140097020(param_1); + if (lVar3 == 0) { + lVar3 = *(longlong *)(param_1 + 0x10); + puVar6[4] = 0; + puVar6[3] = lVar3; + if (lVar3 != 0) { + *(undefined8 **)(lVar3 + 0x20) = puVar6; + } + *(undefined8 **)(param_1 + 0x10) = puVar6; + } + else { + if (*(longlong *)(lVar3 + 0x20) == 0) { + *(undefined8 **)(param_1 + 0x10) = puVar6; + } + else { + *(undefined8 **)(*(longlong *)(lVar3 + 0x20) + 0x18) = puVar6; + } + uVar4 = *(undefined8 *)(lVar3 + 0x20); + puVar6[3] = lVar3; + puVar6[4] = uVar4; + *(undefined8 **)(lVar3 + 0x20) = puVar6; + } + } + *(undefined8 **)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8) = puVar6; + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; + FUN_140097020(param_1); + FUN_140097020(param_1); + if ((*(ulonglong *)(param_1 + 0x38) < *(ulonglong *)(param_1 + 0x20)) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar5 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14009f920(param_1,uVar5); + } + FUN_140097020(param_1); + return puVar6; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140098340.c b/decomp/Agent_Release_x64/full/functions/0x140098340.c new file mode 100644 index 00000000..52d86256 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140098340.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140098340 FUN_140098340 + * Pseudocode, not original source. */ + +void FUN_140098340(longlong *param_1,longlong param_2,undefined4 param_3) + +{ + longlong lVar1; + longlong *plVar2; + undefined4 uStack_14; + + lVar1 = param_1[1]; + if (lVar1 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_140097470(param_1,lVar1 + 1,-1); + if (lVar1 < param_1[1]) { + if ((ulonglong)param_1[2] < 0x65) { + plVar2 = param_1 + (lVar1 + 2) * 2; + } + else { + plVar2 = (longlong *)(lVar1 * 0x10 + *param_1); + } + *plVar2 = CONCAT44(uStack_14,param_3); + plVar2[1] = param_2; + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400983c0.c b/decomp/Agent_Release_x64/full/functions/0x1400983c0.c new file mode 100644 index 00000000..b818cbc1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400983c0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400983c0 FUN_1400983c0 + * Pseudocode, not original source. */ + +undefined2 * FUN_1400983c0(void) + +{ + undefined2 *puVar1; + + FUN_14002e6e0((int *)&DAT_14015e268); + puVar1 = FUN_140097f20(DAT_14015e260); + FUN_14002e770(0x14015e268); + return puVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140098420.c b/decomp/Agent_Release_x64/full/functions/0x140098420.c new file mode 100644 index 00000000..c9a08574 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140098420.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140098420 FUN_140098420 + * Pseudocode, not original source. */ + +void FUN_140098420(longlong *param_1,double param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + bool bVar2; + longlong lVar3; + + if (param_1[8] == 0) { + lVar3 = 0; + } + else { + lVar3 = param_1[6]; + } + do { + while( true ) { + if (lVar3 == 0) { + return; + } + plVar1 = *(longlong **)(lVar3 + 0x10); + if ((plVar1[2] == 0) && (bVar2 = FUN_140097150((longlong)plVar1,param_2), bVar2)) break; +LAB_1400984b5: + lVar3 = *(longlong *)(lVar3 + 0x18); + } + if (plVar1[2] != 0) { + FUN_140096f40(param_1,plVar1,param_3,param_4); + } + if (param_1[1] != 0) { + *(longlong **)(param_1[1] + 8) = plVar1; + *plVar1 = param_1[1]; + param_1[1] = (longlong)plVar1; + plVar1[2] = (longlong)param_1; + *(int *)(param_1 + 2) = (int)param_1[2] + 1; + goto LAB_1400984b5; + } + *param_1 = (longlong)plVar1; + param_1[1] = (longlong)plVar1; + plVar1[2] = (longlong)param_1; + *(int *)(param_1 + 2) = (int)param_1[2] + 1; + lVar3 = *(longlong *)(lVar3 + 0x18); + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400984d0.c b/decomp/Agent_Release_x64/full/functions/0x1400984d0.c new file mode 100644 index 00000000..4dc0653a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400984d0.c @@ -0,0 +1,383 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400984d0 FUN_1400984d0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140098a39) */ +/* WARNING: Removing unreachable block (ram,0x000140098a40) */ +/* WARNING: Removing unreachable block (ram,0x000140098a4f) */ + +void FUN_1400984d0(short *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong lVar2; + undefined8 uVar3; + undefined8 *puVar4; + undefined8 *puVar5; + int iVar6; + uint uVar7; + short *psVar8; + undefined8 *puVar9; + longlong *in_RDX; + longlong lVar10; + longlong *plVar11; + uint uVar12; + int iVar13; + longlong *plVar14; + size_t sVar15; + ulonglong uVar16; + int iVar17; + int iVar18; + longlong local_res20; + undefined8 local_a8; + exception local_98 [96]; + + puVar5 = (undefined8 *)0x0; + uVar12 = 0; + psVar8 = param_1 + 0x18; + puVar4 = puVar5; + do { + if (((longlong)puVar4 < 0) || (5 < (longlong)puVar4)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(psVar8,in_RDX,param_3,param_4); + } + plVar14 = *(longlong **)psVar8; + if (plVar14 != (longlong *)0x0) { + FUN_140097d90(param_3,in_RDX,(longlong)param_3); + *(undefined4 *)(param_3 + 0xd5) = *(undefined4 *)(param_1 + 0xbc); + local_a8 = (int *)CONCAT44(local_a8._4_4_,0x10); + *(short *)((longlong)param_3 + 0x6ac) = param_1[0xbe]; + param_3[0xce] = *(longlong *)(param_1 + 200); + *(undefined2 *)(param_3 + 0xcc) = 0xabce; + *(short *)((longlong)param_3 + 0x662) = param_1[0xc0]; + lVar1 = plVar14[6]; + param_3[0xcd] = 0; + *(int *)((longlong)param_3 + 0x664) = (int)lVar1; + lVar1 = param_3[1]; + if (lVar1 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_140097470(param_3,lVar1 + 1,-1); + if (param_3[1] <= lVar1) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_3[2] < 0x65) { + plVar11 = param_3 + (lVar1 + 2) * 2; + } + else { + plVar11 = (longlong *)(lVar1 * 0x10 + *param_3); + } + *plVar11 = (longlong)local_a8; + plVar11[1] = (longlong)(param_3 + 0xcc); + puVar4 = puVar5; + if ((int)plVar14[6] != 0) { + puVar4 = (undefined8 *)plVar14[5]; + } + lVar1 = param_3[1]; + local_a8 = (int *)CONCAT44(local_a8._4_4_,(int)plVar14[6]); + if (lVar1 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + sVar15 = 0xffffffffffffffff; + FUN_140097470(param_3,lVar1 + 1,-1); + if (param_3[1] <= lVar1) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_3[2] < 0x65) { + plVar11 = param_3 + (lVar1 + 2) * 2; + } + else { + plVar11 = (longlong *)(lVar1 * 0x10 + *param_3); + } + *plVar11 = (longlong)local_a8; + plVar11[1] = (longlong)puVar4; + *(int *)(param_3 + 0xd6) = (int)plVar14[9]; + iVar18 = (int)param_3[0xd2]; + if (-1 < iVar18) { + lVar1 = param_3[0xd2]; + FUN_1400976d0((longlong)(param_3 + 0xcf),(int)lVar1 + 1,sVar15); + iVar17 = (int)lVar1 - iVar18; + if (0 < iVar17) { + puVar4 = puVar5; + if ((int)param_3[0xd2] != 0) { + puVar4 = (undefined8 *)param_3[0xd1]; + } + sVar15 = (longlong)iVar17 << 3; + memmove(puVar4 + (longlong)iVar18 + 1,puVar4 + iVar18,sVar15); + } + if ((int)param_3[0xd2] != 0) { + puVar5 = (undefined8 *)param_3[0xd1]; + } + puVar5[iVar18] = plVar14; + if ((longlong *)plVar14[2] == (longlong *)0x0) { + return; + } + FUN_140096e60((longlong *)plVar14[2],plVar14,sVar15,param_4); + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar4 = (undefined8 *)((longlong)puVar4 + 1); + psVar8 = psVar8 + 0x1c; + } while ((longlong)puVar4 < 6); + iVar18 = -1; + plVar14 = param_3; + if (*(int *)(param_1 + 0xd8) == 0) { + *(int *)(param_1 + 0xea) = *(int *)(param_1 + 0xea) + 1; + local_a8 = (int *)(param_1 + 0x14); + param_1[0xe0] = 0; + param_1[0xe1] = 0; + param_1[0xe2] = 0; + param_1[0xe3] = 0; + param_1[0xe4] = 0; + param_1[0xe5] = 0; + param_1[0xe6] = 0; + param_1[0xe7] = 0; + param_1[0xe8] = 0; + param_1[0xe9] = 0; + local_res20 = 0; + puVar4 = puVar5; + do { + if ((local_res20 < 0) || (5 < local_res20)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(local_res20,in_RDX,plVar14,param_4); + } + iVar17 = *local_a8; + while (0 < iVar17) { + plVar11 = *(longlong **)(local_a8 + -4); + if ((int)puVar4 == 0) { + iVar18 = *(int *)(param_1 + 0xd8); + if (iVar18 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar17 = *(int *)(param_1 + 0xd8); + uVar7 = iVar17 + 1; + in_RDX = (longlong *)(ulonglong)uVar7; + FUN_1400976d0((longlong)(param_1 + 0xcc),uVar7,(longlong)plVar14); + iVar17 = iVar17 - iVar18; + if (0 < iVar17) { + puVar9 = puVar5; + if (*(int *)(param_1 + 0xd8) != 0) { + puVar9 = *(undefined8 **)(param_1 + 0xd4); + } + in_RDX = puVar9 + iVar18; + plVar14 = (longlong *)((longlong)iVar17 << 3); + memmove(puVar9 + (longlong)iVar18 + 1,in_RDX,(size_t)plVar14); + } + puVar9 = puVar5; + if (*(int *)(param_1 + 0xd8) != 0) { + puVar9 = *(undefined8 **)(param_1 + 0xd4); + } + puVar9[iVar18] = plVar11; + *(int *)(param_1 + 0xe0) = *(int *)(param_1 + 0xe0) + (int)plVar11[6]; + iVar18 = (int)plVar11[9]; + } + else { + if ((DAT_140155118 <= (int)plVar11[6] + *(int *)(param_1 + 0xe0)) || + (iVar18 != (int)plVar11[9])) goto LAB_14009871d; + iVar17 = *(int *)(param_1 + 0xd8); + if (iVar17 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar13 = *(int *)(param_1 + 0xd8); + uVar7 = iVar13 + 1; + in_RDX = (longlong *)(ulonglong)uVar7; + FUN_1400976d0((longlong)(param_1 + 0xcc),uVar7,(longlong)plVar14); + iVar13 = iVar13 - iVar17; + if (0 < iVar13) { + puVar9 = puVar5; + if (*(int *)(param_1 + 0xd8) != 0) { + puVar9 = *(undefined8 **)(param_1 + 0xd4); + } + in_RDX = puVar9 + iVar17; + plVar14 = (longlong *)((longlong)iVar13 << 3); + memmove(puVar9 + (longlong)iVar17 + 1,in_RDX,(size_t)plVar14); + } + puVar9 = puVar5; + if (*(int *)(param_1 + 0xd8) != 0) { + puVar9 = *(undefined8 **)(param_1 + 0xd4); + } + puVar9[iVar17] = plVar11; + *(int *)(param_1 + 0xe0) = *(int *)(param_1 + 0xe0) + (int)plVar11[6]; + } + if ((longlong *)plVar11[2] != (longlong *)0x0) { + FUN_140096e60((longlong *)plVar11[2],plVar11,plVar14,param_4); + in_RDX = plVar11; + } + puVar4 = (undefined8 *)(ulonglong)((int)puVar4 + 1); + iVar17 = *local_a8; + } + local_res20 = local_res20 + 1; + local_a8 = local_a8 + 0xe; + } while (local_res20 < 6); +LAB_14009871d: + } + if (*(int *)(param_1 + 0xe0) < 1) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_140097d90(param_3,in_RDX,(longlong)plVar14); + *(undefined4 *)(param_3 + 0xd5) = *(undefined4 *)(param_1 + 0xbc); + local_a8 = (int *)CONCAT44(local_a8._4_4_,0x10); + *(short *)((longlong)param_3 + 0x6ac) = param_1[0xbe]; + iVar17 = *(int *)(param_1 + 0xe0) - *(int *)(param_1 + 0xe4); + if (DAT_140155118 < *(int *)(param_1 + 0xe0) - *(int *)(param_1 + 0xe4)) { + iVar17 = DAT_140155118; + } + param_3[0xce] = *(longlong *)(param_1 + 200); + *(undefined2 *)(param_3 + 0xcc) = 0xabcd; + *(short *)((longlong)param_3 + 0x662) = param_1[0xc0]; + *(undefined4 *)((longlong)param_3 + 0x664) = *(undefined4 *)(param_1 + 0xe0); + *(undefined4 *)(param_3 + 0xcd) = *(undefined4 *)(param_1 + 0xea); + *(undefined4 *)((longlong)param_3 + 0x66c) = *(undefined4 *)(param_1 + 0xe2); + lVar1 = param_3[1]; + if (-1 < lVar1) { + lVar10 = lVar1 + 1; + sVar15 = 0xffffffffffffffff; + plVar14 = param_3; + FUN_140097470(param_3,lVar10,-1); + if (param_3[1] <= lVar1) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_3[2] < 0x65) { + plVar11 = param_3 + (lVar1 + 2) * 2; + } + else { + plVar11 = (longlong *)(lVar1 * 0x10 + *param_3); + } + *plVar11 = (longlong)local_a8; + plVar11[1] = (longlong)(param_3 + 0xcc); + *(int *)(param_3 + 0xd6) = iVar18; + iVar18 = *(int *)(param_1 + 0xe4); + iVar13 = iVar18; + while( true ) { + if (iVar18 + iVar17 <= iVar13) { + *(int *)(param_1 + 0xe2) = *(int *)(param_1 + 0xe2) + 1; + if (*(int *)(param_1 + 0xe4) == *(int *)(param_1 + 0xe0)) { + iVar18 = *(int *)(param_1 + 0xd8); + puVar4 = puVar5; + if (*(int *)(param_1 + 0xd8) != 0) { + puVar4 = *(undefined8 **)(param_1 + 0xd4); + } + if (iVar18 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (iVar18 != 0) { + lVar1 = param_3[0xd2]; + FUN_1400976d0((longlong)(param_3 + 0xcf),(int)lVar1 + iVar18,sVar15); + puVar9 = puVar5; + if ((int)param_3[0xd2] != 0) { + puVar9 = (undefined8 *)param_3[0xd1]; + } + sVar15 = (longlong)iVar18 << 3; + if (sVar15 < 0x21) { + puVar9 = puVar9 + (int)lVar1; + for (uVar16 = (longlong)iVar18 & 0x1fffffffffffffff; uVar16 != 0; uVar16 = uVar16 - 1) + { + uVar3 = *puVar4; + puVar4 = puVar4 + 1; + *puVar9 = uVar3; + puVar9 = puVar9 + 1; + } + sVar15 = 0; + } + else { + memcpy(puVar9 + (int)lVar1,puVar4,sVar15); + } + } + FUN_1400976d0((longlong)(param_1 + 0xcc),0,sVar15); + } + lVar1 = param_3[1]; + puVar4 = puVar5; + puVar9 = puVar5; + if (0 < lVar1) { + do { + if (((longlong)puVar5 < 0) || (lVar1 <= (longlong)puVar5)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_3[2] < 0x65) { + plVar14 = param_3 + ((longlong)puVar5 + 2) * 2; + } + else { + plVar14 = (longlong *)((longlong)puVar5 * 0x10 + *param_3); + } + uVar12 = (int)puVar9 + (int)*plVar14; + uVar7 = (int)puVar4 + 1; + puVar5 = (undefined8 *)(longlong)(int)uVar7; + puVar4 = (undefined8 *)(ulonglong)uVar7; + puVar9 = (undefined8 *)(ulonglong)uVar12; + } while ((longlong)puVar5 < lVar1); + } + FUN_1400bca80((longlong)(param_1 + 0xec),uVar12); + *(undefined8 *)(param_1 + 0x100) = param_2; + *(double *)(param_1 + 0xf8) = (double)(int)uVar12 + *(double *)(param_1 + 0xf8); + return; + } + iVar13 = *(int *)(param_1 + 0xe8); + if ((iVar13 < 0) || (*(int *)(param_1 + 0xd8) <= iVar13)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar14,lVar10,sVar15,param_3); + } + lVar1 = *(longlong *)(*(longlong *)(param_1 + 0xd4) + (longlong)iVar13 * 8); + iVar13 = *(int *)(lVar1 + 0x30) - *(int *)(param_1 + 0xe6); + iVar6 = (iVar18 - *(int *)(param_1 + 0xe4)) + iVar17; + if (iVar6 < iVar13) { + iVar13 = iVar6; + } + if (iVar13 < 1) break; + puVar4 = puVar5; + if (*(int *)(lVar1 + 0x30) != 0) { + puVar4 = *(undefined8 **)(lVar1 + 0x28); + } + iVar6 = *(int *)(param_1 + 0xe6); + lVar2 = param_3[1]; + local_a8._4_4_ = (undefined4)((ulonglong)local_a8 >> 0x20); + local_a8 = (int *)CONCAT44(local_a8._4_4_,iVar13); + if (lVar2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + lVar10 = lVar2 + 1; + sVar15 = 0xffffffffffffffff; + plVar14 = param_3; + FUN_140097470(param_3,lVar10,-1); + if (param_3[1] <= lVar2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_3[2] < 0x65) { + plVar11 = param_3 + (lVar2 + 2) * 2; + } + else { + plVar11 = (longlong *)(lVar2 * 0x10 + *param_3); + } + *plVar11 = (longlong)local_a8; + plVar11[1] = (longlong)iVar6 + (longlong)puVar4; + *(int *)(param_1 + 0xe6) = *(int *)(param_1 + 0xe6) + iVar13; + *(int *)(param_1 + 0xe4) = *(int *)(param_1 + 0xe4) + iVar13; + if (*(int *)(param_1 + 0xe6) == *(int *)(lVar1 + 0x30)) { + *(int *)(param_1 + 0xe8) = *(int *)(param_1 + 0xe8) + 1; + param_1[0xe6] = 0; + param_1[0xe7] = 0; + } + iVar13 = *(int *)(param_1 + 0xe4); + } + FUN_140097c10(param_1); + FUN_14002f1e0(local_98,L"Unexpected at PacketQueue Pop!",sVar15,param_3); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_98,(ThrowInfo *)&DAT_140151b88); + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140098d00.c b/decomp/Agent_Release_x64/full/functions/0x140098d00.c new file mode 100644 index 00000000..e425cdbb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140098d00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140098d00 FUN_140098d00 + * Pseudocode, not original source. */ + +void FUN_140098d00(void *param_1) + +{ + _eh_vector_destructor_iterator_(param_1,0x38,6,FUN_140097ca0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140098d20.c b/decomp/Agent_Release_x64/full/functions/0x140098d20.c new file mode 100644 index 00000000..72c304ab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140098d20.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140098d20 FUN_140098d20 + * Pseudocode, not original source. */ + +void FUN_140098d20(longlong *param_1) + +{ + undefined8 uVar1; + code *pcVar2; + + FUN_140097c10((short *)param_1); + param_1[0x33] = (longlong)Proud::CFastArray::vftable; + if ((LPVOID)param_1[0x35] != (LPVOID)0x0) { + if ((longlong *)param_1[0x34] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[0x35]); + } + else { + (**(code **)(*(longlong *)param_1[0x34] + 0x18))(); + } + } + pcVar2 = FUN_140097ca0; + uVar1 = 6; + _eh_vector_destructor_iterator_(param_1 + 3,0x38,6,FUN_140097ca0); + if ((longlong *)param_1[2] != (longlong *)0x0) { + FUN_140096f40((longlong *)param_1[2],param_1,uVar1,pcVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140098db0.c b/decomp/Agent_Release_x64/full/functions/0x140098db0.c new file mode 100644 index 00000000..d5353037 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140098db0.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140098db0 FUN_140098db0 + * Pseudocode, not original source. */ + +void FUN_140098db0(undefined8 *param_1,undefined8 param_2,longlong param_3) + +{ + FUN_140097d90(param_1,param_2,param_3); + param_1[0xcf] = Proud::CFastArray::vftable; + if ((LPVOID)param_1[0xd1] != (LPVOID)0x0) { + if ((longlong *)param_1[0xd0] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[0xd1]); + } + else { + (**(code **)(*(longlong *)param_1[0xd0] + 0x18))(); + } + } + if (100 < (ulonglong)param_1[2]) { + operator_delete__((void *)*param_1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140098e20.c b/decomp/Agent_Release_x64/full/functions/0x140098e20.c new file mode 100644 index 00000000..2f95e0a7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140098e20.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140098e20 FUN_140098e20 + * Pseudocode, not original source. */ + +void FUN_140098e20(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + LPVOID pvVar2; + + lVar1 = *param_1; + while (lVar1 != 0) { + pvVar2 = (LPVOID)*param_1; + *param_1 = *(longlong *)((longlong)pvVar2 + 0x58); + *(undefined8 *)((longlong)pvVar2 + 0x58) = 0; + FUN_14003b870((undefined8 *)((longlong)pvVar2 + 0x20)); + if (*(longlong **)((longlong)pvVar2 + 0x18) != (longlong *)0x0) { + FUN_140096e60(*(longlong **)((longlong)pvVar2 + 0x18),(longlong *)((longlong)pvVar2 + 8), + param_3,param_4); + } + FUN_1400302f0(pvVar2); + lVar1 = *param_1; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140098eb0.c b/decomp/Agent_Release_x64/full/functions/0x140098eb0.c new file mode 100644 index 00000000..3585e4ce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140098eb0.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140098eb0 FUN_140098eb0 + * Pseudocode, not original source. */ + +void FUN_140098eb0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + LPVOID pvVar2; + LPVOID pvVar3; + longlong *plVar4; + + lVar1 = *param_1; + while (lVar1 != 0) { + pvVar2 = (LPVOID)*param_1; + *param_1 = *(longlong *)((longlong)pvVar2 + 0x68); + *(undefined8 *)((longlong)pvVar2 + 0x68) = 0; + *(undefined ***)((longlong)pvVar2 + 0x30) = Proud::CFastArray::vftable; + if (*(LPVOID *)((longlong)pvVar2 + 0x40) != (LPVOID)0x0) { + if (*(longlong **)((longlong)pvVar2 + 0x38) == (longlong *)0x0) { + FUN_1400302f0(*(LPVOID *)((longlong)pvVar2 + 0x40)); + } + else { + (**(code **)(**(longlong **)((longlong)pvVar2 + 0x38) + 0x18))(); + } + } + *(undefined ***)((longlong)pvVar2 + 8) = Proud::CFastArray::vftable; + pvVar3 = *(LPVOID *)((longlong)pvVar2 + 0x18); + if (pvVar3 != (LPVOID)0x0) { + plVar4 = *(longlong **)((longlong)pvVar2 + 0x10); + if (plVar4 == (longlong *)0x0) { + FUN_1400302f0(pvVar3); + } + else { + (**(code **)(*plVar4 + 0x18))(plVar4,pvVar3); + } + } + FUN_1400302f0(pvVar2); + lVar1 = *param_1; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140098f80.c b/decomp/Agent_Release_x64/full/functions/0x140098f80.c new file mode 100644 index 00000000..42065091 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140098f80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140098f80 FUN_140098f80 + * Pseudocode, not original source. */ + +void FUN_140098f80(char *param_1) + +{ + FUN_1400980c0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140098fa0.c b/decomp/Agent_Release_x64/full/functions/0x140098fa0.c new file mode 100644 index 00000000..7a96bfde --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140098fa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140098fa0 FUN_140098fa0 + * Pseudocode, not original source. */ + +void FUN_140098fa0(char *param_1) + +{ + FUN_140040660(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140098fc0.c b/decomp/Agent_Release_x64/full/functions/0x140098fc0.c new file mode 100644 index 00000000..e7170dc4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140098fc0.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140098fc0 FUN_140098fc0 + * Pseudocode, not original source. */ + +undefined8 * FUN_140098fc0(char *param_1,longlong param_2,uint param_3,undefined4 param_4) + +{ + undefined8 uVar1; + undefined8 *puVar2; + + if (*(longlong *)(param_1 + 8) == 0) { + uVar1 = FUN_14003f710((longlong)param_1,*(uint *)(param_1 + 0x28),'\x01'); + if ((char)uVar1 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + FUN_140097020(param_1); + puVar2 = FUN_1400981f0(param_1,param_2,param_3,param_4); + FUN_140097020(param_1); + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140099040.c b/decomp/Agent_Release_x64/full/functions/0x140099040.c new file mode 100644 index 00000000..864b969d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140099040.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140099040 FUN_140099040 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014009909b) */ +/* WARNING: Removing unreachable block (ram,0x0001400990a4) */ +/* WARNING: Removing unreachable block (ram,0x0001400990c2) */ +/* WARNING: Removing unreachable block (ram,0x0001400990cb) */ + +undefined1 * FUN_140099040(undefined1 *param_1) + +{ + *param_1 = 0; + *(undefined4 *)(param_1 + 0x28) = 0x11; + *(undefined8 *)(param_1 + 0x50) = 0; + *(undefined8 *)(param_1 + 8) = 0; + *(undefined8 *)(param_1 + 0x10) = 0; + *(undefined8 *)(param_1 + 0x18) = 0; + *(undefined8 *)(param_1 + 0x20) = 0; + *(undefined4 *)(param_1 + 0x48) = 0; + *(undefined4 *)(param_1 + 0x2c) = 0x3f400000; + *(undefined4 *)(param_1 + 0x30) = 0x3e800000; + *(undefined4 *)(param_1 + 0x34) = 0x40100000; + *(undefined8 *)(param_1 + 0x38) = 0x26; + *(undefined8 *)(param_1 + 0x40) = 0; + *(undefined8 *)(param_1 + 0x60) = 0; + *(undefined8 *)(param_1 + 0x68) = 0; + *(undefined8 *)(param_1 + 0x58) = 0; + *(undefined8 *)(param_1 + 0x70) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140099100.c b/decomp/Agent_Release_x64/full/functions/0x140099100.c new file mode 100644 index 00000000..c926d035 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140099100.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140099100 FUN_140099100 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140099170) */ +/* WARNING: Removing unreachable block (ram,0x000140099179) */ +/* WARNING: Removing unreachable block (ram,0x000140099197) */ +/* WARNING: Removing unreachable block (ram,0x0001400991a0) */ +/* WARNING: Removing unreachable block (ram,0x0001400991db) */ +/* WARNING: Removing unreachable block (ram,0x0001400991e4) */ +/* WARNING: Removing unreachable block (ram,0x000140099202) */ +/* WARNING: Removing unreachable block (ram,0x00014009920b) */ + +undefined1 * FUN_140099100(undefined1 *param_1,longlong param_2) + +{ + *param_1 = 0; + *(undefined8 *)(param_1 + 0x50) = 0; + *(undefined8 *)(param_1 + 8) = 0; + *(undefined8 *)(param_1 + 0x10) = 0; + *(undefined8 *)(param_1 + 0x18) = 0; + *(undefined4 *)(param_1 + 0x28) = 0x11; + *(undefined8 *)(param_1 + 0x20) = 0; + *(undefined4 *)(param_1 + 0x48) = 0; + *(undefined4 *)(param_1 + 0x2c) = 0x3f400000; + *(undefined4 *)(param_1 + 0x30) = 0x3e800000; + *(undefined4 *)(param_1 + 0x34) = 0x40100000; + *(undefined8 *)(param_1 + 0x38) = 0x26; + *(undefined8 *)(param_1 + 0x40) = 0; + *(undefined4 *)(param_1 + 0x2c) = 0x3dcccccd; + *(undefined4 *)(param_1 + 0x30) = 0x33d6bf95; + *(undefined4 *)(param_1 + 0x34) = 0x40066666; + *(undefined8 *)(param_1 + 0x38) = 0x23; + *(undefined8 *)(param_1 + 0x40) = 0; + if (param_2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(longlong *)(param_1 + 0x50) = param_2; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140099240.c b/decomp/Agent_Release_x64/full/functions/0x140099240.c new file mode 100644 index 00000000..1d2ec069 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140099240.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140099240 FUN_140099240 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400992a7) */ +/* WARNING: Removing unreachable block (ram,0x0001400992b0) */ +/* WARNING: Removing unreachable block (ram,0x0001400992ce) */ +/* WARNING: Removing unreachable block (ram,0x0001400992d7) */ +/* WARNING: Removing unreachable block (ram,0x000140099312) */ +/* WARNING: Removing unreachable block (ram,0x00014009931b) */ +/* WARNING: Removing unreachable block (ram,0x000140099339) */ +/* WARNING: Removing unreachable block (ram,0x000140099342) */ + +undefined1 * FUN_140099240(undefined1 *param_1) + +{ + *param_1 = 0; + *(undefined8 *)(param_1 + 0x50) = 0; + *(undefined8 *)(param_1 + 8) = 0; + *(undefined8 *)(param_1 + 0x10) = 0; + *(undefined8 *)(param_1 + 0x18) = 0; + *(undefined4 *)(param_1 + 0x28) = 0x11; + *(undefined8 *)(param_1 + 0x20) = 0; + *(undefined4 *)(param_1 + 0x48) = 0; + *(undefined4 *)(param_1 + 0x2c) = 0x3f400000; + *(undefined4 *)(param_1 + 0x30) = 0x3e800000; + *(undefined4 *)(param_1 + 0x34) = 0x40100000; + *(undefined8 *)(param_1 + 0x38) = 0x26; + *(undefined8 *)(param_1 + 0x40) = 0; + *(undefined4 *)(param_1 + 0x2c) = 0x3dcccccd; + *(undefined4 *)(param_1 + 0x30) = 0x33d6bf95; + *(undefined4 *)(param_1 + 0x34) = 0x40066666; + *(undefined8 *)(param_1 + 0x38) = 0x23; + *(undefined8 *)(param_1 + 0x40) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140099370.c b/decomp/Agent_Release_x64/full/functions/0x140099370.c new file mode 100644 index 00000000..13e8a534 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140099370.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140099370 FUN_140099370 + * Pseudocode, not original source. */ + +ulonglong FUN_140099370(longlong *param_1,longlong *param_2,double param_3,undefined8 param_4) + +{ + longlong *plVar1; + bool bVar2; + ulonglong in_RAX; + ulonglong uVar3; + undefined8 in_R8; + longlong *plVar4; + undefined8 uVar5; + exception local_68 [96]; + + plVar1 = (longlong *)*param_1; + if (plVar1 == (longlong *)0x0) { + uVar3 = in_RAX & 0xffffffffffffff00; + } + else { + if ((int)plVar1[0x2b] + (int)plVar1[0x28] + (int)plVar1[0x24] + (int)plVar1[0x21] + + (int)plVar1[0x1d] + (int)plVar1[0x1a] + (int)plVar1[0x16] + (int)plVar1[0x13] + + (int)plVar1[0xf] + (int)plVar1[0xc] + (int)plVar1[8] + (int)plVar1[5] + (int)plVar1[0x36] == + 0) { + FUN_14002f1e0(local_68,L"Unexpected state in RemoteToPacketSendMap!",in_R8,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_68,(ThrowInfo *)&DAT_140151b88); + } + uVar5 = (**(code **)(*(longlong *)param_1[3] + 8))(); + plVar4 = param_2; + FUN_1400984d0((short *)plVar1,uVar5,param_2,param_4); + if (param_2[1] == 0) { + FUN_14002f1e0(local_68,L"Unexpected state in RemoteToPacketSendMap #2!",plVar4,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_68,(ThrowInfo *)&DAT_140151b88); + } + bVar2 = FUN_140097150((longlong)plVar1,param_3); + if ((bVar2) || ((longlong *)plVar1[2] == (longlong *)0x0)) { + if ((longlong *)plVar1[2] != (longlong *)0x0) { + FUN_140096f40((longlong *)plVar1[2],plVar1,plVar4,param_4); + } + uVar5 = FUN_1400972c0(param_1,plVar1,plVar4,param_4); + } + else { + uVar5 = FUN_140096f40((longlong *)plVar1[2],plVar1,plVar4,param_4); + } + plVar1[0x2d] = (longlong)param_3; + uVar3 = CONCAT71((int7)((ulonglong)uVar5 >> 8),1); + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400994b0.c b/decomp/Agent_Release_x64/full/functions/0x1400994b0.c new file mode 100644 index 00000000..2d9ee6f6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400994b0.c @@ -0,0 +1,61 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400994b0 FUN_1400994b0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400994b0(undefined8 *param_1) + +{ + ulonglong uVar1; + undefined8 *puVar2; + undefined8 uVar3; + undefined8 uVar4; + undefined1 *puVar5; + + uVar1 = 0; + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + puVar5 = &LAB_140097bf0; + uVar3 = 0x38; + uVar4 = 6; + _eh_vector_constructor_iterator_ + (param_1 + 3,0x38,6,(_func_void_void_ptr *)&LAB_140097bf0,FUN_140097ca0); + param_1[0x2e] = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 0x2f) = 0; + *(undefined2 *)((longlong)param_1 + 0x17c) = 0; + param_1[0x33] = Proud::CFastArray::vftable; + param_1[0x34] = 0; + param_1[0x35] = 0; + param_1[0x36] = 0; + param_1[0x37] = 0; + FUN_1400bcab0(param_1 + 0x3b); + param_1[0x3e] = 0; + param_1[0x3f] = 0; + param_1[0x3d] = 0; + param_1[0x40] = 0; + FUN_1400bcb90(param_1 + 0x41); + param_1[0x42] = 0; + param_1[0x43] = 0; + puVar2 = param_1 + 9; + do { + if (5 < uVar1) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(puVar2,uVar3,uVar4,puVar5); + } + *puVar2 = param_1; + uVar1 = uVar1 + 1; + puVar2 = puVar2 + 7; + } while ((longlong)uVar1 < 6); + param_1[0x31] = 0xffffffffffffffff; + param_1[0x32] = 0; + param_1[0x2d] = 0; + *(undefined4 *)(param_1 + 0x2f) = DAT_1401553d0; + *(undefined2 *)((longlong)param_1 + 0x17c) = DAT_1401553d4; + *(undefined2 *)(param_1 + 0x30) = 0; + param_1[0x38] = 0; + param_1[0x39] = 0; + *(undefined4 *)(param_1 + 0x3a) = 0; + *(int *)((longlong)param_1 + 0x1d4) = (int)param_1; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140099610.c b/decomp/Agent_Release_x64/full/functions/0x140099610.c new file mode 100644 index 00000000..9471c350 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140099610.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140099610 FUN_140099610 + * Pseudocode, not original source. */ + +uint * FUN_140099610(char *param_1,uint *param_2,undefined8 *param_3) + +{ + uint uVar1; + ulonglong uVar2; + uint *puVar3; + uint uVar4; + + uVar1 = *param_2; + uVar2 = (ulonglong)uVar1 % (ulonglong)*(uint *)(param_1 + 0x28); + uVar4 = (uint)uVar2; + if (*(longlong *)(param_1 + 8) != 0) { + for (puVar3 = *(uint **)(*(longlong *)(param_1 + 8) + uVar2 * 8); + (puVar3 != (uint *)0x0 && (uVar4 == puVar3[8] % *(uint *)(param_1 + 0x28))); + puVar3 = *(uint **)(puVar3 + 4)) { + if (*puVar3 == uVar1) { + *(undefined8 *)(puVar3 + 2) = *param_3; + return puVar3; + } + } + } + puVar3 = FUN_140067740(param_1,param_2,uVar4,uVar1); + *(undefined8 *)(puVar3 + 2) = *param_3; + return puVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400996b0.c b/decomp/Agent_Release_x64/full/functions/0x1400996b0.c new file mode 100644 index 00000000..183f1312 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400996b0.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400996b0 FUN_1400996b0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400996b0(char *param_1,longlong param_2,undefined8 *param_3) + +{ + ulonglong uVar1; + undefined8 *puVar2; + uint uVar3; + uint uVar4; + + uVar3 = (uint)*(ushort *)(param_2 + 0xc) ^ *(uint *)(param_2 + 8); + uVar1 = (ulonglong)uVar3 % (ulonglong)*(uint *)(param_1 + 0x28); + uVar4 = (uint)uVar1; + if (*(longlong *)(param_1 + 8) != 0) { + for (puVar2 = *(undefined8 **)(*(longlong *)(param_1 + 8) + uVar1 * 8); + (puVar2 != (undefined8 *)0x0 && (uVar4 == *(uint *)(puVar2 + 5) % *(uint *)(param_1 + 0x28)) + ); puVar2 = (undefined8 *)puVar2[3]) { + if ((*(uint *)(puVar2 + 1) == *(uint *)(param_2 + 8)) && + (*(ushort *)((longlong)puVar2 + 0xc) == *(ushort *)(param_2 + 0xc))) { + puVar2[2] = *param_3; + return puVar2; + } + } + } + puVar2 = FUN_140098fc0(param_1,param_2,uVar4,uVar3); + puVar2[2] = *param_3; + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140099760.c b/decomp/Agent_Release_x64/full/functions/0x140099760.c new file mode 100644 index 00000000..99870e62 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140099760.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140099760 FUN_140099760 + * Pseudocode, not original source. */ + +undefined8 * FUN_140099760(char *param_1,longlong param_2) + +{ + longlong lVar1; + ulonglong uVar2; + undefined8 *puVar3; + uint uVar4; + uint uVar5; + + uVar4 = (uint)*(ushort *)(param_2 + 0xc) ^ *(uint *)(param_2 + 8); + uVar2 = (ulonglong)uVar4 % (ulonglong)*(uint *)(param_1 + 0x28); + uVar5 = (uint)uVar2; + if (*(longlong *)(param_1 + 8) != 0) { + for (lVar1 = *(longlong *)(*(longlong *)(param_1 + 8) + uVar2 * 8); + (lVar1 != 0 && (uVar5 == *(uint *)(lVar1 + 0x28) % *(uint *)(param_1 + 0x28))); + lVar1 = *(longlong *)(lVar1 + 0x18)) { + if ((*(uint *)(lVar1 + 8) == *(uint *)(param_2 + 8)) && + (*(ushort *)(lVar1 + 0xc) == *(ushort *)(param_2 + 0xc))) { + return (undefined8 *)(lVar1 + 0x10); + } + } + } + puVar3 = FUN_140098fc0(param_1,param_2,uVar5,uVar4); + return puVar3 + 2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140099810.c b/decomp/Agent_Release_x64/full/functions/0x140099810.c new file mode 100644 index 00000000..dabd9c2d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140099810.c @@ -0,0 +1,104 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140099810 FUN_140099810 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140099a38) */ +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_140099810(longlong param_1,double param_2,undefined8 param_3,undefined *param_4) + +{ + char *pcVar1; + double dVar2; + longlong *plVar3; + longlong *plVar4; + int iVar5; + LPVOID pvVar6; + undefined8 uVar7; + code *pcVar8; + char *pcVar9; + char *pcStack_70; + undefined **local_68; + undefined4 local_60; + undefined2 local_5c; + LPVOID local_58; + char *pcStack_50; + + pcVar1 = (char *)(param_1 + 0x20); + pcVar9 = pcVar1; + pcStack_70 = pcVar1; + if (*(longlong *)(param_1 + 0x40) == 0) { + pvVar6 = (LPVOID)0x0; + } + else { + pvVar6 = *(LPVOID *)(param_1 + 0x30); + } + while( true ) { + while( true ) { + if ((pvVar6 == (LPVOID)0x0) && (pcVar9 == pcVar1)) { + return; + } + if (pvVar6 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + plVar3 = *(longlong **)((longlong)pvVar6 + 0x10); + FUN_1400bca90((double *)(plVar3 + 0x3b),param_2); + FUN_1400bcc00((double *)(plVar3 + 0x3d),param_2); + FUN_1400bcbb0(plVar3 + 0x42,param_2); + dVar2 = (double)plVar3[0x3d]; + iVar5 = (**(code **)(**(longlong **)(param_1 + 0x18) + 0x18))(); + if ((double)iVar5 < dVar2) { + local_68 = Proud::AddrPort::vftable; + local_60 = *(undefined4 *)((longlong)pvVar6 + 8); + local_5c = *(undefined2 *)((longlong)pvVar6 + 0xc); + (**(code **)(**(longlong **)(param_1 + 0x18) + 0x10)) + (*(longlong **)(param_1 + 0x18),&local_68); + } + FUN_1400bcb10((double *)(plVar3 + 0x41),(double)plVar3[0x3d],(double)plVar3[0x42]); + if (_DAT_140155120 < param_2 - (double)plVar3[0x2d]) break; + if (pvVar6 != (LPVOID)0x0) { + pvVar6 = *(LPVOID *)((longlong)pvVar6 + 0x18); + } + } + if ((longlong *)plVar3[2] != (longlong *)0x0) { + FUN_140096f40((longlong *)plVar3[2],plVar3,param_3,param_4); + } + plVar4 = *(longlong **)(param_1 + 0x78); + FUN_140097c10((short *)plVar3); + plVar3[0x33] = (longlong)Proud::CFastArray::vftable; + if ((LPVOID)plVar3[0x35] != (LPVOID)0x0) { + if ((longlong *)plVar3[0x34] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)plVar3[0x35]); + } + else { + (**(code **)(*(longlong *)plVar3[0x34] + 0x18))(); + } + } + pcVar8 = FUN_140097ca0; + uVar7 = 6; + _eh_vector_destructor_iterator_(plVar3 + 3,0x38,6,FUN_140097ca0); + param_4 = pcVar8; + if ((longlong *)plVar3[2] != (longlong *)0x0) { + FUN_140096f40((longlong *)plVar3[2],plVar3,uVar7,pcVar8); + param_4 = pcVar8; + } + (**(code **)(*plVar4 + 0x18))(plVar4,plVar3); + if (pcVar9 != pcVar1) break; + pcStack_50 = pcStack_70; + if (pvVar6 == (LPVOID)0x0) { + local_58 = (LPVOID)0x0; + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + local_58 = *(LPVOID *)((longlong)pvVar6 + 0x18); + param_3 = 0; + FUN_140097fc0(pcVar1,pvVar6,'\0'); + pvVar6 = local_58; + pcVar9 = pcStack_50; + pcStack_70 = pcStack_50; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140099a90.c b/decomp/Agent_Release_x64/full/functions/0x140099a90.c new file mode 100644 index 00000000..175d97dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140099a90.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140099a90 FUN_140099a90 + * Pseudocode, not original source. */ + +ulonglong FUN_140099a90(longlong param_1,longlong param_2) + +{ + ushort uVar1; + uint uVar2; + uint uVar3; + longlong *plVar4; + longlong *plVar5; + ulonglong uVar6; + ulonglong uVar7; + LPVOID pvVar8; + + uVar1 = *(ushort *)(param_2 + 0xc); + uVar2 = *(uint *)(param_2 + 8); + uVar3 = *(uint *)(param_1 + 0x48); + uVar7 = (ulonglong)(uVar1 ^ uVar2) / (ulonglong)uVar3; + uVar6 = (ulonglong)(uVar1 ^ uVar2) % (ulonglong)uVar3; + if ((*(longlong *)(param_1 + 0x28) != 0) && + (pvVar8 = *(LPVOID *)(*(longlong *)(param_1 + 0x28) + uVar6 * 8), pvVar8 != (LPVOID)0x0)) { + while( true ) { + uVar7 = (ulonglong)*(uint *)((longlong)pvVar8 + 0x28) / (ulonglong)uVar3; + if ((uint)uVar6 != *(uint *)((longlong)pvVar8 + 0x28) % uVar3) break; + if ((*(uint *)((longlong)pvVar8 + 8) == uVar2) && + (*(ushort *)((longlong)pvVar8 + 0xc) == uVar1)) { + if (pvVar8 == (LPVOID)0x0) { + return uVar7; + } + plVar4 = (longlong *)(*(longlong **)((longlong)pvVar8 + 0x10))[2]; + if (plVar4 != (longlong *)0x0) { + FUN_140096f40(plVar4,*(longlong **)((longlong)pvVar8 + 0x10),(ulonglong)uVar1, + (ulonglong)uVar2); + } + plVar4 = *(longlong **)((longlong)pvVar8 + 0x10); + plVar5 = *(longlong **)(param_1 + 0x78); + FUN_140098d20(plVar4); + (**(code **)(*plVar5 + 0x18))(plVar5,plVar4); + uVar7 = FUN_140097fc0((char *)(param_1 + 0x20),pvVar8,'\0'); + return uVar7; + } + pvVar8 = *(LPVOID *)((longlong)pvVar8 + 0x18); + if (pvVar8 == (LPVOID)0x0) { + return uVar7; + } + } + } + return uVar7; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140099b70.c b/decomp/Agent_Release_x64/full/functions/0x140099b70.c new file mode 100644 index 00000000..f5e9bfc5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140099b70.c @@ -0,0 +1,64 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140099b70 FUN_140099b70 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x000140099cc7) */ + +void FUN_140099b70(longlong param_1,undefined8 param_2,undefined8 param_3,undefined *param_4) + +{ + longlong *plVar1; + longlong *plVar2; + LPVOID pvVar3; + LPVOID pvVar4; + undefined8 uVar5; + code *pcVar6; + + if (*(longlong *)(param_1 + 0x40) == 0) { + pvVar4 = (LPVOID)0x0; + } + else { + pvVar4 = *(LPVOID *)(param_1 + 0x30); + } + while( true ) { + if (pvVar4 == (LPVOID)0x0) { + return; + } + if (pvVar4 == (LPVOID)0x0) break; + plVar1 = *(longlong **)((longlong)pvVar4 + 0x10); + if ((longlong *)plVar1[2] != (longlong *)0x0) { + FUN_140096f40((longlong *)plVar1[2],plVar1,param_3,param_4); + } + plVar2 = *(longlong **)(param_1 + 0x78); + FUN_140097c10((short *)plVar1); + plVar1[0x33] = (longlong)Proud::CFastArray::vftable; + if ((LPVOID)plVar1[0x35] != (LPVOID)0x0) { + if ((longlong *)plVar1[0x34] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)plVar1[0x35]); + } + else { + (**(code **)(*(longlong *)plVar1[0x34] + 0x18))(); + } + } + pcVar6 = FUN_140097ca0; + uVar5 = 6; + _eh_vector_destructor_iterator_(plVar1 + 3,0x38,6,FUN_140097ca0); + param_4 = pcVar6; + if ((longlong *)plVar1[2] != (longlong *)0x0) { + FUN_140096f40((longlong *)plVar1[2],plVar1,uVar5,pcVar6); + param_4 = pcVar6; + } + (**(code **)(*plVar2 + 0x18))(plVar2,plVar1); + if (pvVar4 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + pvVar3 = *(LPVOID *)((longlong)pvVar4 + 0x18); + param_3 = 0; + FUN_140097fc0((char *)(param_1 + 0x20),pvVar4,'\0'); + pvVar4 = pvVar3; + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140099d00.c b/decomp/Agent_Release_x64/full/functions/0x140099d00.c new file mode 100644 index 00000000..6f0fe927 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140099d00.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140099d00 FUN_140099d00 + * Pseudocode, not original source. */ + +void FUN_140099d00(char *param_1) + +{ + longlong *plVar1; + longlong *plVar2; + longlong lVar3; + + plVar1 = *(longlong **)(param_1 + 0x50); + if (*(longlong *)(param_1 + 0x20) == 0) { + lVar3 = 0; + } + else { + lVar3 = *(longlong *)(param_1 + 0x10); + } + for (; lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x18)) { + if (*(longlong *)(lVar3 + 0x10) != 0) { + plVar2 = *(longlong **)(lVar3 + 0x10); + FUN_140098d20(plVar2); + (**(code **)(*plVar1 + 0x18))(plVar1,plVar2); + } + } + FUN_140040660(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140099d80.c b/decomp/Agent_Release_x64/full/functions/0x140099d80.c new file mode 100644 index 00000000..db9fa48d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140099d80.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140099d80 FUN_140099d80 + * Pseudocode, not original source. */ + +undefined8 FUN_140099d80(char *param_1,longlong param_2,undefined8 *param_3) + +{ + uint uVar1; + longlong lVar2; + ulonglong uVar3; + undefined8 *puVar4; + + uVar1 = *(uint *)(param_1 + 0x28); + uVar3 = (ulonglong)((uint)*(ushort *)(param_2 + 0xc) ^ *(uint *)(param_2 + 8)) % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 8) != 0) { + for (lVar2 = *(longlong *)(*(longlong *)(param_1 + 8) + uVar3 * 8); + (lVar2 != 0 && ((uint)uVar3 == *(uint *)(lVar2 + 0x28) % uVar1)); + lVar2 = *(longlong *)(lVar2 + 0x18)) { + if ((*(uint *)(lVar2 + 8) == *(uint *)(param_2 + 8)) && + (*(ushort *)(lVar2 + 0xc) == *(ushort *)(param_2 + 0xc))) { + return (ulonglong)*(uint *)(lVar2 + 0x28) / (ulonglong)uVar1 & 0xffffff00; + } + } + } + puVar4 = FUN_140099760(param_1,param_2); + *puVar4 = *param_3; + return CONCAT71((int7)((ulonglong)puVar4 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140099e30.c b/decomp/Agent_Release_x64/full/functions/0x140099e30.c new file mode 100644 index 00000000..093a4433 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140099e30.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140099e30 FUN_140099e30 + * Pseudocode, not original source. */ + +undefined8 * +FUN_140099e30(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + + puVar1 = (undefined8 *) + (**(code **)(*param_1 + 8))(param_1,0x220,param_3,param_4,0xfffffffffffffffe); + if (puVar1 != (undefined8 *)0x0) { + FUN_1400994b0(puVar1); + } + return puVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140099e70.c b/decomp/Agent_Release_x64/full/functions/0x140099e70.c new file mode 100644 index 00000000..9b3694d6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140099e70.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140099e70 FUN_140099e70 + * Pseudocode, not original source. */ + +void FUN_140099e70(longlong *param_1,char *param_2,SIZE_T param_3) + +{ + char *pcVar1; + longlong lVar2; + + pcVar1 = param_2; + if (*(longlong *)(param_2 + 0x20) == 0) { + lVar2 = 0; + } + else { + lVar2 = *(longlong *)(param_2 + 0x10); + } + for (; lVar2 != 0; lVar2 = *(longlong *)(lVar2 + 0x10)) { + FUN_140086680(*(longlong *)(lVar2 + 8),pcVar1,param_3); + } + FUN_140098f80(param_2); + /* WARNING: Could not recover jumptable at 0x000140099ed6. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*param_1 + 0x18))(param_1,param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x140099ee0.c b/decomp/Agent_Release_x64/full/functions/0x140099ee0.c new file mode 100644 index 00000000..fb4e0990 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x140099ee0.c @@ -0,0 +1,122 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x140099ee0 FUN_140099ee0 + * Pseudocode, not original source. */ + +void FUN_140099ee0(longlong param_1,longlong *param_2,SIZE_T param_3) + +{ + char *pcVar1; + longlong lVar2; + SIZE_T *pSVar3; + undefined8 *puVar4; + int iVar5; + longlong lVar6; + longlong lVar7; + SIZE_T SVar8; + undefined8 uVar9; + longlong lVar10; + exception local_70 [72]; + + lVar10 = 0; + if (*(longlong *)(param_1 + 0x20) != 0) { + lVar10 = *(longlong *)(param_1 + 0x10); + } + do { + if (lVar10 == 0) { + return; + } + if (*(longlong *)(lVar10 + 0x10) != 0) { + pcVar1 = *(char **)(lVar10 + 0x10); + lVar7 = 0; + if (*(longlong *)(pcVar1 + 0x20) != 0) { + lVar7 = *(longlong *)(pcVar1 + 0x10); + } + for (; lVar7 != 0; lVar7 = *(longlong *)(lVar7 + 0x10)) { + lVar2 = *(longlong *)(lVar7 + 8); + FUN_14002e6e0((int *)&DAT_14015e268); + *(undefined4 *)(lVar2 + 0x50) = 0; + *(undefined8 *)(lVar2 + 0x58) = 0; + if (*(int *)(lVar2 + 0x18) != 0) { + if (*(int *)(lVar2 + 0x1c) < 0) { + iVar5 = FUN_140085590(lVar2,0); + SVar8 = (SIZE_T)iVar5; + pSVar3 = *(SIZE_T **)(lVar2 + 8); + if (*(int *)(lVar2 + 0x1c) == 0) { + if (pSVar3 == (SIZE_T *)0x0) { + lVar6 = FUN_140030280(SVar8); + } + else { + param_3 = *pSVar3; + lVar6 = (**(code **)(param_3 + 8))(); + } + } + else { + uVar9 = *(undefined8 *)(lVar2 + 0x10); + if (pSVar3 == (SIZE_T *)0x0) { + lVar6 = FUN_1400302b0(uVar9,SVar8); + } + else { + lVar6 = (**(code **)(*pSVar3 + 0x10))(); + param_3 = SVar8; + } + if (lVar6 == 0) { + FUN_14002f1e0(local_70,L"Memory allocation failure!",param_3,uVar9); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_70,(ThrowInfo *)&DAT_140151b88); + } + } + *(longlong *)(lVar2 + 0x10) = lVar6; + *(int *)(lVar2 + 0x1c) = iVar5; + } + *(undefined4 *)(lVar2 + 0x18) = 0; + } + if (*(int *)(lVar2 + 0x40) != 0) { + if (*(int *)(lVar2 + 0x44) < 0) { + iVar5 = FUN_14001bbd0(lVar2 + 0x28,0); + SVar8 = (SIZE_T)iVar5; + pSVar3 = *(SIZE_T **)(lVar2 + 0x30); + if (*(int *)(lVar2 + 0x44) == 0) { + if (pSVar3 == (SIZE_T *)0x0) { + lVar6 = FUN_140030280(SVar8); + } + else { + param_3 = *pSVar3; + lVar6 = (**(code **)(param_3 + 8))(); + } + } + else { + uVar9 = *(undefined8 *)(lVar2 + 0x38); + if (pSVar3 == (SIZE_T *)0x0) { + lVar6 = FUN_1400302b0(uVar9,SVar8); + } + else { + lVar6 = (**(code **)(*pSVar3 + 0x10))(); + param_3 = SVar8; + } + if (lVar6 == 0) { + FUN_14002f1e0(local_70,L"Memory allocation failure!",param_3,uVar9); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_70,(ThrowInfo *)&DAT_140151b88); + } + } + *(longlong *)(lVar2 + 0x38) = lVar6; + *(int *)(lVar2 + 0x44) = iVar5; + } + *(undefined4 *)(lVar2 + 0x40) = 0; + } + puVar4 = DAT_14015e260; + if ((*(short *)(lVar2 + -8) != 0x1de6) || (*(longlong *)(lVar2 + 0x60) != 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined8 *)(lVar2 + 0x60) = *DAT_14015e260; + *puVar4 = (short *)(lVar2 + -8); + FUN_14002e770(0x14015e268); + } + FUN_140098f80(pcVar1); + (**(code **)(*param_2 + 0x18))(param_2); + } + lVar10 = *(longlong *)(lVar10 + 0x18); + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009a140.c b/decomp/Agent_Release_x64/full/functions/0x14009a140.c new file mode 100644 index 00000000..fa458d0e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009a140.c @@ -0,0 +1,48 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009a140 FUN_14009a140 + * Pseudocode, not original source. */ + +undefined1 * +FUN_14009a140(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined1 *puVar1; + ulonglong uVar2; + longlong lVar3; + float fVar4; + exception local_50 [72]; + + puVar1 = (undefined1 *) + (**(code **)(*param_1 + 8))(param_1,0x78,param_3,param_4,0xfffffffffffffffe); + if (puVar1 != (undefined1 *)0x0) { + FUN_140099040(puVar1); + } + *(undefined4 *)(puVar1 + 0x2c) = 0x3dcccccd; + *(undefined4 *)(puVar1 + 0x30) = 0x33d6bf95; + *(undefined4 *)(puVar1 + 0x34) = 0x40066666; + fVar4 = (float)*(uint *)(puVar1 + 0x28) * 2.1; + lVar3 = 0; + if ((9.223372e+18 < fVar4) && (fVar4 = fVar4 - 9.223372e+18, fVar4 < 9.223372e+18)) { + lVar3 = -0x8000000000000000; + } + *(longlong *)(puVar1 + 0x38) = (longlong)fVar4 + lVar3; + fVar4 = (float)*(uint *)(puVar1 + 0x28) * 1e-07; + lVar3 = 0; + if ((9.223372e+18 < fVar4) && (fVar4 = fVar4 - 9.223372e+18, fVar4 < 9.223372e+18)) { + lVar3 = -0x8000000000000000; + } + uVar2 = (longlong)fVar4 + lVar3; + if ((ulonglong)((longlong)fVar4 + lVar3) < 0x11) { + uVar2 = 0; + } + *(ulonglong *)(puVar1 + 0x40) = uVar2; + if (*(longlong *)(puVar1 + 0x20) != 0) { + FUN_14002f1e0(local_50,(wchar_t *)PTR_u_Collection_object_can_use_fast_h_1401551d0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + *(longlong **)(puVar1 + 0x50) = param_1; + return puVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009a260.c b/decomp/Agent_Release_x64/full/functions/0x14009a260.c new file mode 100644 index 00000000..99225699 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009a260.c @@ -0,0 +1,118 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009a260 FUN_14009a260 + * Pseudocode, not original source. */ + +void FUN_14009a260(longlong *param_1,undefined8 param_2,undefined8 param_3,ulonglong param_4, + longlong param_5,double param_6,uint *param_7) + +{ + ushort uVar1; + longlong lVar2; + int iVar3; + uint uVar4; + ulonglong uVar5; + longlong *plVar6; + longlong *plVar7; + longlong *plVar8; + undefined8 uVar9; + undefined2 uVar10; + longlong **pplVar11; + ulonglong uVar12; + ulonglong uVar13; + longlong *local_78; + exception local_70 [88]; + + uVar10 = (undefined2)param_3; + uVar9 = param_2; + uVar12 = param_4; + uVar5 = FUN_140033290(param_4); + if (((char)uVar5 != '\0') && (iVar3 = FUN_1400a1f10(param_5,uVar9,param_3,uVar12), 0 < iVar3)) { + uVar1 = *(ushort *)(param_4 + 0xc); + pplVar11 = (longlong **)(ulonglong)uVar1; + uVar4 = *(uint *)(param_4 + 8); + uVar13 = (ulonglong)uVar4; + uVar12 = (ulonglong)(uVar1 ^ uVar4) % (ulonglong)*(uint *)(param_1 + 9); + uVar5 = uVar12; + if (param_1[5] != 0) { + lVar2 = *(longlong *)(param_1[5] + uVar12 * 8); + while ((lVar2 != 0 && + (uVar5 = (ulonglong)*(uint *)(lVar2 + 0x28) % (ulonglong)*(uint *)(param_1 + 9), + (int)uVar12 == (int)uVar5))) { + if ((*(uint *)(lVar2 + 8) == uVar4) && (*(ushort *)(lVar2 + 0xc) == uVar1)) { + plVar6 = *(longlong **)(lVar2 + 0x10); + goto LAB_14009a378; + } + lVar2 = *(longlong *)(lVar2 + 0x18); + } + } + plVar6 = FUN_140099e30((longlong *)param_1[0xf],uVar5,pplVar11,uVar13); + pplVar11 = &local_78; + plVar6[0x31] = param_1[0xf]; + *(undefined4 *)((longlong)plVar6 + 0x1bc) = 1; + plVar6[0x32] = (longlong)param_1; + *(undefined4 *)(plVar6 + 0x2f) = *(undefined4 *)(param_4 + 8); + *(undefined2 *)((longlong)plVar6 + 0x17c) = *(undefined2 *)(param_4 + 0xc); + *(undefined2 *)(plVar6 + 0x30) = uVar10; + plVar6[0x2d] = (longlong)param_6; + uVar5 = param_4; + local_78 = plVar6; + FUN_140099d80((char *)(param_1 + 4),param_4,pplVar11); +LAB_14009a378: + if (((int)plVar6[0x2f] != *(int *)(param_4 + 8)) || + (*(short *)((longlong)plVar6 + 0x17c) != *(short *)(param_4 + 0xc))) { + FUN_14002f1e0(local_70,L"PacketQueue consistency failed!",pplVar11,uVar13); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_70,(ThrowInfo *)&DAT_140151b88); + } + uVar4 = *param_7; + if (((int)uVar4 < 0) || (5 < (int)uVar4)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (DAT_140155144 == '\0') { + uVar4 = 0; + } + *param_7 = uVar4; + if (5 < uVar4) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(0,uVar5,pplVar11,uVar13); + } + plVar8 = plVar6 + (longlong)(int)uVar4 * 7 + 3; + iVar3 = (int)param_2; + if ((*(longlong *)(param_7 + 2) != 0) && (iVar3 != 0)) { + if (*(char *)((longlong)param_7 + 0x19) == '\0') { + plVar7 = (longlong *)plVar8[3]; + } + else { + plVar7 = (longlong *)*plVar8; + } + for (; plVar7 != (longlong *)0x0; plVar7 = (longlong *)plVar7[1]) { + if (((plVar7[8] != 0) && (*(longlong *)(param_7 + 2) == plVar7[8])) && + (iVar3 == *(int *)((longlong)plVar7 + 0x4c))) goto LAB_14009a45b; + } + } + plVar7 = (longlong *)FUN_140097e90(param_1 + 0x10); + if (*(char *)((longlong)param_7 + 0x19) == '\0') { + plVar8 = plVar8 + 3; + } + FUN_140097230(plVar8,plVar7,pplVar11,uVar13); + plVar7[8] = *(longlong *)(param_7 + 2); + uVar4 = param_7[5]; + *(int *)((longlong)plVar7 + 0x4c) = iVar3; + *(uint *)(plVar7 + 9) = uVar4; +LAB_14009a45b: + thunk_FUN_1400a1fb0(param_5,(longlong)(plVar7 + 3),(SIZE_T)pplVar11,uVar13); + if ((int)plVar6[0x2b] + (int)plVar6[0x28] + (int)plVar6[0x24] + (int)plVar6[0x21] + + (int)plVar6[0x1d] + (int)plVar6[0x1a] + (int)plVar6[0x16] + (int)plVar6[0x13] + + (int)plVar6[0xf] + (int)plVar6[0xc] + (int)plVar6[8] + (int)plVar6[5] + (int)plVar6[0x36] < + 1) { + FUN_14002f1e0(local_70,L"PacketQueue consistency 2 failed!",pplVar11,uVar13); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_70,(ThrowInfo *)&DAT_140151b88); + } + plVar6[0x2d] = (longlong)param_6; + FUN_1400978b0(param_1,plVar6,param_6,uVar13); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009a550.c b/decomp/Agent_Release_x64/full/functions/0x14009a550.c new file mode 100644 index 00000000..1ddaa0e1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009a550.c @@ -0,0 +1,378 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009a550 FUN_14009a550 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 +FUN_14009a550(undefined8 *param_1,longlong param_2,uint param_3,longlong param_4,char param_5, + longlong param_6,undefined8 *param_7,longlong *param_8) + +{ + uint uVar1; + undefined8 *puVar2; + char cVar3; + int iVar4; + uint uVar5; + undefined8 uVar6; + longlong lVar7; + longlong *plVar8; + char *pcVar9; + uint *puVar10; + undefined2 *puVar11; + char cVar12; + uint *puVar13; + longlong lVar14; + longlong lVar15; + uint *puVar16; + uint *puVar17; + ulonglong uVar18; + ulonglong uVar19; + char **ppcVar20; + SIZE_T SVar21; + longlong **pplVar22; + uint *puVar23; + uint uVar24; + undefined1 auStack_108 [32]; + uint local_e8; + longlong *local_d8; + uint local_d0 [2]; + longlong local_c8; + uint *local_c0; + int local_b8; + int local_b4; + uint local_a8; + longlong local_a0; + uint local_98; + undefined8 *local_90; + char *local_88; + undefined8 local_80; + ushort local_78; + ushort local_76; + uint local_74; + uint local_70; + uint local_6c; + ulonglong local_68; + + local_80 = 0xfffffffffffffffe; + local_68 = DAT_1401555a0 ^ (ulonglong)auStack_108; + uVar19 = (ulonglong)param_3; + local_90 = param_7; + local_a8 = param_3; + local_a0 = param_4; + FUN_1400806d0(local_d0); + uVar18 = uVar19; + FUN_140080350((longlong)local_d0,param_2,uVar19,param_4); + FUN_140080830((int *)local_d0,uVar19,uVar18,param_4); + FUN_1400802d0((int *)local_d0,0,uVar18,param_4); + uVar19 = 0x10; + uVar6 = FUN_140080600(local_d0,(undefined8 *)&local_78,0x10); + if ((char)uVar6 == '\0') { + FUN_140006c60(param_8,L"UDP frag header missing!",uVar19,param_4); + local_d8 = &local_c8; + FUN_140095270(&local_c8); + if (local_c0 == (uint *)0x0) { + return 2; + } + if (-1 < local_b4) { + return 2; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (local_78 == 0xabcd) { + if (((((int)local_74 < 1) || + (iVar4 = (**(code **)(*(longlong *)*param_1 + 8))(), iVar4 < (int)local_74)) || + (uVar19 = (ulonglong)local_6c, (int)local_6c < 0)) || + ((int)local_74 / (int)DAT_140155118 < (int)local_6c)) { + uVar5 = (**(code **)(*(longlong *)*param_1 + 8))(); + local_e8 = local_6c; + FUN_14001b7a0(param_8,L"UDP frag length is wrong #1! packetlength=%d, maxlength=%d, fragID=%d" + ,(ulonglong)local_74,(ulonglong)uVar5); + local_d8 = &local_c8; + FUN_140095270(&local_c8); + if (local_c0 == (uint *)0x0) { + return 2; + } + if (-1 < local_b4) { + return 2; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (local_78 != 0xabce) goto LAB_14009a72f; + } + else if (local_78 != 0xabce) { + FUN_14001b7a0(param_8,L"Cannot identify UDP fragment nor full packet! fragheaderSplitter=%u", + (ulonglong)local_78,param_4); + local_d8 = &local_c8; + FUN_140095270(&local_c8); + if (local_c0 == (uint *)0x0) { + return 2; + } + if (-1 < local_b4) { + return 2; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (((int)local_74 < 1) || + (iVar4 = (**(code **)(*(longlong *)*param_1 + 8))(), iVar4 < (int)local_74)) { + FUN_140006c60(param_8,L"UDP full packet length is wrong!",uVar19,param_4); + local_d8 = &local_c8; + FUN_140095270(&local_c8); + if (local_c0 == (uint *)0x0) { + return 2; + } + if (-1 < local_b4) { + return 2; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } +LAB_14009a72f: + cVar3 = (**(code **)(*(longlong *)*param_1 + 0x20))(); + uVar5 = local_6c; + puVar13 = local_c0; + lVar15 = local_c8; + cVar12 = (char)(local_76 >> 8); + if ((((cVar12 == '\0') || (param_5 == '\0')) || (cVar12 == param_5)) && + ((((char)local_76 == '\0' || (cVar3 == '\0')) || ((char)local_76 == cVar3)))) { + local_98 = DAT_140155118 * local_6c; + uVar1 = local_74 - local_98; + if ((int)DAT_140155118 < (int)(local_74 - local_98)) { + uVar1 = DAT_140155118; + } + ppcVar20 = (char **)(ulonglong)uVar1; + if (local_c8 == 0) { + if (local_c0 == (uint *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370((ulonglong)local_98,(ulonglong)local_76,ppcVar20,param_4); + } + } + else { + local_b8 = *(int *)(local_c8 + 0x18); + } + uVar24 = local_b8 - ((int)(local_d0[0] + ((int)local_d0[0] >> 0x1f & 7U)) >> 3); + if ((local_78 == 0xabcd) && (uVar1 != uVar24)) { + FUN_14001b7a0(param_8, + L"UDP frag length is wrong #2! desiredFragLength=%d, fragPayloadLength=%d", + ppcVar20,(ulonglong)uVar24); + local_d8 = &local_c8; + FUN_140095270(&local_c8); + if (local_c0 == (uint *)0x0) { + return 2; + } + if (-1 < local_b4) { + return 2; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d8 = param_1 + 1; + lVar14 = local_a0; + lVar7 = FUN_140097350((longlong)local_d8,local_a0); + if (lVar7 == 0) { + plVar8 = (longlong *)(**(code **)(*(longlong *)*param_1 + 0x18))(); + pcVar9 = FUN_14009a140(plVar8,lVar14,ppcVar20,param_4); + *(longlong *)(pcVar9 + 0x70) = param_6; + ppcVar20 = &local_88; + lVar14 = local_a0; + local_88 = pcVar9; + FUN_1400996b0((char *)local_d8,local_a0,ppcVar20); + lVar15 = local_c8; + puVar13 = local_c0; + uVar5 = local_6c; + } + else { + pcVar9 = *(char **)(lVar7 + 0x10); + } + puVar2 = local_90; + if (local_78 == 0xabcd) { + SVar21 = (SIZE_T)local_70; + puVar23 = (uint *)(SVar21 % (ulonglong)*(uint *)(pcVar9 + 0x28)); + puVar17 = (uint *)0x0; + puVar13 = puVar23; + puVar10 = puVar17; + if ((*(longlong *)(pcVar9 + 8) != 0) && + (puVar16 = *(uint **)(*(longlong *)(pcVar9 + 8) + (longlong)puVar23 * 8), + puVar16 != (uint *)0x0)) { + while (puVar13 = (uint *)((ulonglong)puVar16[8] % (ulonglong)*(uint *)(pcVar9 + 0x28)), + puVar10 = puVar17, (int)puVar23 == (int)puVar13) { + puVar10 = puVar16; + if ((*puVar16 == local_70) || + (puVar16 = *(uint **)(puVar16 + 4), puVar10 = puVar17, puVar16 == (uint *)0x0)) break; + } + } + iVar4 = 0; + if (puVar10 == (uint *)0x0) { + plVar8 = (longlong *)FUN_1400983c0(); + local_d8 = plVar8; + FUN_14001bc70((longlong)(plVar8 + 5),local_74,SVar21); + if (0 < (int)local_74) { + iVar4 = (int)(local_74 - 1) / (int)DAT_140155118 + 1; + } + FUN_140085de0((longlong)plVar8,iVar4,SVar21); + plVar8[0xb] = param_6; + puVar13 = puVar17; + if ((int)plVar8[3] != 0) { + puVar13 = (uint *)plVar8[2]; + } + memset(puVar13,0,(longlong)(int)plVar8[3]); + pplVar22 = &local_d8; + puVar13 = &local_70; + puVar10 = FUN_140099610(pcVar9,puVar13,pplVar22); + uVar5 = local_6c; + } + else { + plVar8 = *(longlong **)(puVar10 + 2); + pplVar22 = (longlong **)(ulonglong)*(uint *)(plVar8 + 8); + if (*(uint *)(plVar8 + 8) != local_74) { + FUN_14001b7a0(param_8, + L"UDP frag length is wrong #3! assembledDataCount=%d, packetLength=%d", + pplVar22,(ulonglong)local_74); + SVar21 = 0; + FUN_140040120(pcVar9,puVar10,'\0'); + FUN_140086680((longlong)plVar8,puVar10,SVar21); + local_d8 = &local_c8; + FUN_140095270(&local_c8); + if (local_c0 == (uint *)0x0) { + return 2; + } + if (-1 < local_b4) { + return 2; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + uVar1 = *(uint *)(plVar8 + 3); + if ((int)uVar1 <= (int)uVar5) { + FUN_140006c60(param_8,L"UDP FragID is wrong!",pplVar22,puVar23); + local_d8 = &local_c8; + FUN_140095270(&local_c8); + if ((local_c0 != (uint *)0x0) && (local_b4 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return 2; + } + if ((int)plVar8[8] < (int)(uVar24 + local_98)) { + FUN_140006c60(param_8,L"UDP Frag Payload Length is wrong!",pplVar22,puVar23); + local_d8 = &local_c8; + FUN_140095270(&local_c8); + if (local_c0 == (uint *)0x0) { + return 2; + } + if (-1 < local_b4) { + return 2; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (((int)uVar5 < 0) || ((int)uVar1 <= (int)uVar5)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0((ulonglong)uVar1,puVar13,pplVar22,puVar23); + } + lVar15 = plVar8[2]; + if (*(char *)(lVar15 + (int)uVar5) == '\0') { + if ((int)uVar1 <= (int)uVar5) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0((ulonglong)uVar1,lVar15,pplVar22,puVar23); + } + *(undefined1 *)(lVar15 + (int)uVar5) = 1; + *(int *)(plVar8 + 10) = (int)plVar8[10] + 1; + *(double *)(pcVar9 + 0x60) = (double)(int)local_a8 + *(double *)(pcVar9 + 0x60); + *(longlong *)(pcVar9 + 0x70) = param_6; + puVar13 = local_c0; + if (local_c0 == (uint *)0x0) { + if (local_c8 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,lVar15,pplVar22,puVar23); + } + puVar13 = puVar17; + if (*(int *)(local_c8 + 0x18) != 0) { + puVar13 = *(uint **)(local_c8 + 0x10); + } + } + if ((int)plVar8[8] != 0) { + puVar17 = (uint *)plVar8[7]; + } + FUN_14001bd30((undefined8 *)((longlong)puVar17 + (longlong)(int)local_98), + (undefined8 *) + ((longlong)((int)(local_d0[0] + ((int)local_d0[0] >> 0x1f & 7U)) >> 3) + + (longlong)puVar13),(longlong)(int)uVar24); + } + if ((int)plVar8[3] == (int)plVar8[10]) { + *(undefined4 *)(local_90 + 2) = *(undefined4 *)(local_a0 + 8); + *(undefined2 *)((longlong)local_90 + 0x14) = *(undefined2 *)(local_a0 + 0xc); + *local_90 = plVar8; + if (puVar10 == (uint *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + FUN_140040120(pcVar9,puVar10,'\0'); + local_d8 = &local_c8; + FUN_140095270(&local_c8); + if (local_c0 == (uint *)0x0) { + return 0; + } + if (-1 < local_b4) { + return 0; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + else if ((local_78 == 0xabce) && (0 < (int)uVar24)) { + puVar17 = (uint *)0x0; + if (puVar13 == (uint *)0x0) { + if (lVar15 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0xabcd,lVar14,ppcVar20,param_4); + } + puVar13 = puVar17; + if (*(int *)(lVar15 + 0x18) != 0) { + puVar13 = *(uint **)(lVar15 + 0x10); + } + } + *(double *)(pcVar9 + 0x60) = (double)(int)local_a8 + *(double *)(pcVar9 + 0x60); + *(longlong *)(pcVar9 + 0x70) = param_6; + *(undefined4 *)(local_90 + 2) = *(undefined4 *)(local_a0 + 8); + *(undefined2 *)((longlong)local_90 + 0x14) = *(undefined2 *)(local_a0 + 0xc); + puVar11 = FUN_1400983c0(); + FUN_14001bc70((longlong)(puVar11 + 0x14),uVar24,(SIZE_T)ppcVar20); + if (*(int *)(puVar11 + 0x20) != 0) { + puVar17 = *(uint **)(puVar11 + 0x1c); + } + FUN_14001bd30((undefined8 *)puVar17, + (undefined8 *) + ((longlong)((int)(local_d0[0] + ((int)local_d0[0] >> 0x1f & 7U)) >> 3) + + (longlong)puVar13),(longlong)(int)uVar24); + *puVar2 = puVar11; + local_d8 = &local_c8; + FUN_140095270(&local_c8); + if ((local_c0 != (uint *)0x0) && (local_b4 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return 0; + } + local_d8 = &local_c8; + FUN_140095270(&local_c8); + if ((local_c0 != (uint *)0x0) && (local_b4 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + else { + local_d8 = &local_c8; + FUN_140095270(&local_c8); + if ((local_c0 != (uint *)0x0) && (local_b4 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009ad20.c b/decomp/Agent_Release_x64/full/functions/0x14009ad20.c new file mode 100644 index 00000000..9b98371c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009ad20.c @@ -0,0 +1,371 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009ad20 FUN_14009ad20 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_14009ad20(undefined8 *param_1,undefined8 param_2,SIZE_T param_3) + +{ + char *pcVar1; + int iVar2; + longlong lVar3; + SIZE_T *pSVar4; + uint uVar5; + undefined8 *puVar6; + char cVar7; + uint uVar8; + uint uVar9; + int iVar10; + longlong lVar11; + longlong *plVar12; + uint uVar13; + int iVar14; + LPVOID pvVar15; + SIZE_T SVar16; + ulonglong uVar17; + undefined8 uVar18; + char *pcVar19; + bool bVar20; + bool bVar21; + double dVar22; + LPVOID pvVar23; + LPVOID pvVar24; + char *pcVar25; + LPVOID pvVar26; + LPVOID pvVar27; + char *pcVar28; + undefined *puVar29; + exception local_90 [88]; + + dVar22 = (double)(**(code **)(*(longlong *)*param_1 + 0x10))(); + pcVar1 = (char *)(param_1 + 1); + pcVar25 = pcVar1; + if (param_1[5] == 0) { + pvVar15 = (LPVOID)0x0; + } + else { + pvVar15 = (LPVOID)param_1[3]; + } + do { + pvVar23 = pvVar15; + if ((pvVar23 == (LPVOID)0x0) && (pcVar25 == pcVar1)) { + return; + } + if (pvVar23 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + pcVar19 = *(char **)((longlong)pvVar23 + 0x10); + pvVar24 = pvVar23; + pvVar15 = (LPVOID)0x0; + pcVar28 = pcVar19; + if (*(longlong *)(pcVar19 + 0x20) != 0) { + pvVar15 = *(LPVOID *)(pcVar19 + 0x10); + } + while ((pvVar26 = pvVar15, pvVar15 = (LPVOID)0x0, pvVar26 != (LPVOID)0x0 || + (pcVar19 != *(char **)((longlong)pvVar23 + 0x10)))) { + if (pvVar26 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + lVar3 = *(longlong *)((longlong)pvVar26 + 8); + if (dVar22 - *(double *)(lVar3 + 0x58) <= _DAT_140155128) { + if (pvVar26 != (LPVOID)0x0) { + pvVar15 = *(LPVOID *)((longlong)pvVar26 + 0x10); + } + } + else { + puVar29 = &DAT_14015e268; + pvVar27 = pvVar26; + FUN_14002e6e0((int *)&DAT_14015e268); + *(undefined4 *)(lVar3 + 0x50) = 0; + *(undefined8 *)(lVar3 + 0x58) = 0; + iVar10 = *(int *)(lVar3 + 0x18); + if (iVar10 != 0) { + uVar9 = *(uint *)(lVar3 + 0x1c); + uVar17 = (ulonglong)uVar9; + if ((int)uVar9 < 0) { + iVar2 = *(int *)(lVar3 + 0x24); + if (iVar2 == 0) { + uVar8 = (int)(iVar10 + (iVar10 >> 0x1f & 7U)) >> 3; + uVar13 = 0x400; + if ((int)uVar8 < 0x400) { + uVar13 = uVar8; + } + pvVar15 = (LPVOID)0x4; + if (4 < (int)uVar13) { + pvVar15 = (LPVOID)(ulonglong)uVar13; + } +LAB_14009ae93: + iVar10 = *(int *)(lVar3 + 0x20); + iVar14 = (int)pvVar15; + bVar21 = SBORROW4(iVar10,iVar14); + iVar2 = iVar10 - iVar14; + bVar20 = iVar10 == iVar14; + } + else { + if (iVar2 == 1) { + uVar8 = (int)(iVar10 + (iVar10 >> 0x1f & 7U)) >> 3; + uVar13 = 0x10; + if (0x10 < (int)uVar8) { + uVar13 = uVar8; + } + pvVar15 = (LPVOID)(ulonglong)uVar13; + if (uVar13 < 0x41) { + pvVar15 = (LPVOID)0x40; + } + goto LAB_14009ae93; + } + if (iVar2 != 2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar10 = *(int *)(lVar3 + 0x20); + bVar21 = false; + bVar20 = iVar10 == 0; + iVar2 = iVar10; + } + iVar14 = (int)pvVar15; + if (!bVar20 && bVar21 == iVar2 < 0) { + iVar14 = iVar10; + } + plVar12 = *(longlong **)(lVar3 + 8); + if (uVar9 == 0) { + if (plVar12 == (longlong *)0x0) { + lVar11 = FUN_140030280((longlong)iVar14); + } + else { + lVar11 = (**(code **)(*plVar12 + 8))(plVar12,(longlong)iVar14); + } + } + else { + uVar18 = *(undefined8 *)(lVar3 + 0x10); + if (plVar12 == (longlong *)0x0) { + lVar11 = FUN_1400302b0(uVar18,(longlong)iVar14); + } + else { + uVar17 = (ulonglong)iVar14; + lVar11 = (**(code **)(*plVar12 + 0x10)) + (plVar12,uVar18,uVar17,uVar18,pvVar24,pcVar25,pvVar27,pcVar28, + puVar29,1); + } + if (lVar11 == 0) { + FUN_14002f1e0(local_90,L"Memory allocation failure!",uVar17,uVar18); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_90,(ThrowInfo *)&DAT_140151b88); + } + } + *(longlong *)(lVar3 + 0x10) = lVar11; + *(int *)(lVar3 + 0x1c) = iVar14; + } + *(undefined4 *)(lVar3 + 0x18) = 0; + } + uVar9 = 0; + iVar10 = *(int *)(lVar3 + 0x40); + if (iVar10 != 0) { + uVar13 = *(uint *)(lVar3 + 0x44); + uVar17 = (ulonglong)uVar13; + if ((int)uVar13 < 0) { + iVar2 = *(int *)(lVar3 + 0x4c); + if (iVar2 == 0) { + uVar9 = (int)(iVar10 + (iVar10 >> 0x1f & 7U)) >> 3; + uVar8 = 0x400; + if ((int)uVar9 < 0x400) { + uVar8 = uVar9; + } + uVar9 = 4; + if (4 < (int)uVar8) { + uVar9 = uVar8; + } +LAB_14009af67: + uVar8 = *(uint *)(lVar3 + 0x48); + bVar21 = SBORROW4(uVar8,uVar9); + uVar5 = uVar8 - uVar9; + bVar20 = uVar8 == uVar9; + } + else { + if (iVar2 == 1) { + uVar8 = (int)(iVar10 + (iVar10 >> 0x1f & 7U)) >> 3; + uVar9 = 0x10; + if (0x10 < (int)uVar8) { + uVar9 = uVar8; + } + if (uVar9 < 0x41) { + uVar9 = 0x40; + } + goto LAB_14009af67; + } + if (iVar2 != 2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar8 = *(uint *)(lVar3 + 0x48); + bVar21 = false; + bVar20 = uVar8 == 0; + uVar5 = uVar8; + } + if (!bVar20 && bVar21 == (int)uVar5 < 0) { + uVar9 = uVar8; + } + plVar12 = *(longlong **)(lVar3 + 0x30); + if (uVar13 == 0) { + if (plVar12 == (longlong *)0x0) { + lVar11 = FUN_140030280((longlong)(int)uVar9); + } + else { + lVar11 = (**(code **)(*plVar12 + 8))(plVar12,(longlong)(int)uVar9); + } + } + else { + uVar18 = *(undefined8 *)(lVar3 + 0x38); + if (plVar12 == (longlong *)0x0) { + lVar11 = FUN_1400302b0(uVar18,(longlong)(int)uVar9); + } + else { + uVar17 = (ulonglong)(int)uVar9; + lVar11 = (**(code **)(*plVar12 + 0x10))(plVar12,uVar18); + } + if (lVar11 == 0) { + FUN_14002f1e0(local_90,L"Memory allocation failure!",uVar17,uVar18); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_90,(ThrowInfo *)&DAT_140151b88); + } + } + *(longlong *)(lVar3 + 0x38) = lVar11; + *(uint *)(lVar3 + 0x44) = uVar9; + } + *(undefined4 *)(lVar3 + 0x40) = 0; + } + puVar6 = DAT_14015e260; + if ((*(short *)(lVar3 + -8) != 0x1de6) || (*(longlong *)(lVar3 + 0x60) != 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined8 *)(lVar3 + 0x60) = *DAT_14015e260; + *puVar6 = (short *)(lVar3 + -8); + FUN_14002e770(0x14015e268); + if (pcVar19 != *(char **)((longlong)pvVar23 + 0x10)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (pvVar26 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + pvVar15 = *(LPVOID *)((longlong)pvVar26 + 0x10); + param_3 = 0; + FUN_140040120(*(char **)((longlong)pvVar23 + 0x10),pvVar26,'\0'); + pcVar19 = pcVar28; + } + } + if ((*(longlong *)(*(longlong *)((longlong)pvVar23 + 0x10) + 0x20) == 0) && + (cVar7 = FUN_1400bcae0(*(longlong *)((longlong)pvVar23 + 0x10) + 0x58,dVar22), cVar7 != '\0') + ) { + pcVar19 = *(char **)((longlong)pvVar23 + 0x10); + plVar12 = (longlong *)(**(code **)(*(longlong *)*param_1 + 0x18))(); + if (*(longlong *)(pcVar19 + 0x20) != 0) { + pvVar15 = *(LPVOID *)(pcVar19 + 0x10); + } + for (; pvVar15 != (LPVOID)0x0; pvVar15 = *(LPVOID *)((longlong)pvVar15 + 0x10)) { + lVar3 = *(longlong *)((longlong)pvVar15 + 8); + FUN_14002e6e0((int *)&DAT_14015e268); + *(undefined4 *)(lVar3 + 0x50) = 0; + *(undefined8 *)(lVar3 + 0x58) = 0; + if (*(int *)(lVar3 + 0x18) != 0) { + if (*(int *)(lVar3 + 0x1c) < 0) { + iVar10 = FUN_140085590(lVar3,0); + SVar16 = (SIZE_T)iVar10; + pSVar4 = *(SIZE_T **)(lVar3 + 8); + if (*(int *)(lVar3 + 0x1c) == 0) { + if (pSVar4 == (SIZE_T *)0x0) { + lVar11 = FUN_140030280(SVar16); + } + else { + param_3 = *pSVar4; + lVar11 = (**(code **)(param_3 + 8))(); + } + } + else { + uVar18 = *(undefined8 *)(lVar3 + 0x10); + if (pSVar4 == (SIZE_T *)0x0) { + lVar11 = FUN_1400302b0(uVar18,SVar16); + } + else { + lVar11 = (**(code **)(*pSVar4 + 0x10))(); + param_3 = SVar16; + } + if (lVar11 == 0) { + FUN_14002f1e0(local_90,L"Memory allocation failure!",param_3,uVar18); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_90,(ThrowInfo *)&DAT_140151b88); + } + } + *(longlong *)(lVar3 + 0x10) = lVar11; + *(int *)(lVar3 + 0x1c) = iVar10; + } + *(undefined4 *)(lVar3 + 0x18) = 0; + } + if (*(int *)(lVar3 + 0x40) != 0) { + if (*(int *)(lVar3 + 0x44) < 0) { + iVar10 = FUN_14001bbd0(lVar3 + 0x28,0); + SVar16 = (SIZE_T)iVar10; + pSVar4 = *(SIZE_T **)(lVar3 + 0x30); + if (*(int *)(lVar3 + 0x44) == 0) { + if (pSVar4 == (SIZE_T *)0x0) { + lVar11 = FUN_140030280(SVar16); + } + else { + param_3 = *pSVar4; + lVar11 = (**(code **)(param_3 + 8))(); + } + } + else { + uVar18 = *(undefined8 *)(lVar3 + 0x38); + if (pSVar4 == (SIZE_T *)0x0) { + lVar11 = FUN_1400302b0(uVar18,SVar16); + } + else { + lVar11 = (**(code **)(*pSVar4 + 0x10))(); + param_3 = SVar16; + } + if (lVar11 == 0) { + FUN_14002f1e0(local_90,L"Memory allocation failure!",param_3,uVar18); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_90,(ThrowInfo *)&DAT_140151b88); + } + } + *(longlong *)(lVar3 + 0x38) = lVar11; + *(int *)(lVar3 + 0x44) = iVar10; + } + *(undefined4 *)(lVar3 + 0x40) = 0; + } + puVar6 = DAT_14015e260; + if ((*(short *)(lVar3 + -8) != 0x1de6) || (*(longlong *)(lVar3 + 0x60) != 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined8 *)(lVar3 + 0x60) = *DAT_14015e260; + *puVar6 = (short *)(lVar3 + -8); + FUN_14002e770(0x14015e268); + } + FUN_140098f80(pcVar19); + (**(code **)(*plVar12 + 0x18))(plVar12,pcVar19); + if (pcVar25 != pcVar1) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (pvVar23 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + pvVar15 = *(LPVOID *)((longlong)pvVar23 + 0x18); + param_3 = 0; + FUN_140097fc0(pcVar1,pvVar23,'\0'); + } + else if (pvVar23 != (LPVOID)0x0) { + pvVar15 = *(LPVOID *)((longlong)pvVar23 + 0x18); + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009b3b0.c b/decomp/Agent_Release_x64/full/functions/0x14009b3b0.c new file mode 100644 index 00000000..37170c8e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009b3b0.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009b3b0 FUN_14009b3b0 + * Pseudocode, not original source. */ + +void FUN_14009b3b0(undefined8 *param_1,double param_2,SIZE_T param_3) + +{ + undefined8 in_RDX; + longlong lVar1; + + if (param_1[5] == 0) { + lVar1 = 0; + } + else { + lVar1 = param_1[3]; + } + for (; lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 0x18)) { + FUN_1400bcc00((double *)(*(longlong *)(lVar1 + 0x10) + 0x58),param_2); + } + FUN_14009ad20(param_1,in_RDX,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009b410.c b/decomp/Agent_Release_x64/full/functions/0x14009b410.c new file mode 100644 index 00000000..6db67b98 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009b410.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009b410 FUN_14009b410 + * Pseudocode, not original source. */ + +ulonglong FUN_14009b410(undefined8 *param_1,longlong param_2) + +{ + ushort uVar1; + uint uVar2; + longlong *plVar3; + ulonglong uVar4; + ulonglong uVar5; + LPVOID pvVar6; + SIZE_T SVar7; + + uVar1 = *(ushort *)(param_2 + 0xc); + SVar7 = (SIZE_T)uVar1; + uVar2 = *(uint *)(param_1 + 6); + uVar4 = (ulonglong)((uint)uVar1 ^ *(uint *)(param_2 + 8)); + uVar5 = uVar4 / uVar2; + uVar4 = uVar4 % (ulonglong)uVar2; + if ((param_1[2] != 0) && (pvVar6 = *(LPVOID *)(param_1[2] + uVar4 * 8), pvVar6 != (LPVOID)0x0)) { + while( true ) { + uVar5 = (ulonglong)*(uint *)((longlong)pvVar6 + 0x28) / (ulonglong)uVar2; + if ((uint)uVar4 != *(uint *)((longlong)pvVar6 + 0x28) % uVar2) break; + if ((*(uint *)((longlong)pvVar6 + 8) == *(uint *)(param_2 + 8)) && + (*(ushort *)((longlong)pvVar6 + 0xc) == uVar1)) { + if (pvVar6 == (LPVOID)0x0) { + return uVar5; + } + plVar3 = (longlong *)(**(code **)(*(longlong *)*param_1 + 0x18))(); + FUN_140099e70(plVar3,*(char **)((longlong)pvVar6 + 0x10),SVar7); + uVar4 = FUN_140097fc0((char *)(param_1 + 1),pvVar6,'\0'); + return uVar4; + } + pvVar6 = *(LPVOID *)((longlong)pvVar6 + 0x18); + if (pvVar6 == (LPVOID)0x0) { + return uVar5; + } + } + } + return uVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009b4c0.c b/decomp/Agent_Release_x64/full/functions/0x14009b4c0.c new file mode 100644 index 00000000..cad06da9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009b4c0.c @@ -0,0 +1,430 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009b4c0 FUN_14009b4c0 + * Pseudocode, not original source. */ + +void FUN_14009b4c0(undefined8 *param_1) + +{ + char *pcVar1; + int iVar2; + char *pcVar3; + longlong lVar4; + longlong *plVar5; + uint uVar6; + undefined8 *puVar7; + int iVar8; + uint uVar9; + uint uVar10; + longlong lVar11; + longlong *plVar12; + uint uVar13; + int iVar14; + LPVOID pvVar15; + LPVOID pvVar16; + ulonglong uVar17; + ulonglong uVar18; + undefined8 uVar19; + bool bVar20; + bool bVar21; + LPVOID pvVar22; + char *pcVar23; + LPVOID pvVar24; + char *pcVar25; + undefined *puVar26; + exception local_a0 [104]; + + pcVar1 = (char *)(param_1 + 1); + pvVar15 = (LPVOID)0x0; + if (param_1[5] != 0) { + pvVar15 = (LPVOID)param_1[3]; + } + do { + pvVar16 = (LPVOID)0x0; + if (pvVar15 == (LPVOID)0x0) { + return; + } + if (pvVar15 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + pcVar3 = *(char **)((longlong)pvVar15 + 0x10); + pvVar22 = pvVar15; + pcVar23 = pcVar1; + if (*(longlong *)(pcVar3 + 0x20) != 0) { + pvVar16 = *(LPVOID *)(pcVar3 + 0x10); + } + while ((uVar18 = 0, pvVar16 != (LPVOID)0x0 || (pcVar3 != *(char **)((longlong)pvVar15 + 0x10)))) + { + if (pvVar16 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + lVar4 = *(longlong *)((longlong)pvVar16 + 8); + puVar26 = &DAT_14015e268; + pvVar24 = pvVar16; + pcVar25 = pcVar3; + FUN_14002e6e0((int *)&DAT_14015e268); + *(undefined4 *)(lVar4 + 0x50) = 0; + *(undefined8 *)(lVar4 + 0x58) = 0; + iVar8 = *(int *)(lVar4 + 0x18); + if (iVar8 != 0) { + uVar10 = *(uint *)(lVar4 + 0x1c); + uVar17 = (ulonglong)uVar10; + if ((int)uVar10 < 0) { + iVar2 = *(int *)(lVar4 + 0x24); + if (iVar2 == 0) { + uVar9 = (int)(iVar8 + (iVar8 >> 0x1f & 7U)) >> 3; + uVar13 = 0x400; + if ((int)uVar9 < 0x400) { + uVar13 = uVar9; + } + uVar18 = 4; + if (4 < (int)uVar13) { + uVar18 = (ulonglong)uVar13; + } +LAB_14009b60e: + iVar8 = *(int *)(lVar4 + 0x20); + iVar14 = (int)uVar18; + bVar21 = SBORROW4(iVar8,iVar14); + iVar2 = iVar8 - iVar14; + bVar20 = iVar8 == iVar14; + } + else { + if (iVar2 == 1) { + uVar9 = (int)(iVar8 + (iVar8 >> 0x1f & 7U)) >> 3; + uVar13 = 0x10; + if (0x10 < (int)uVar9) { + uVar13 = uVar9; + } + uVar18 = (ulonglong)uVar13; + if (uVar13 < 0x41) { + uVar18 = 0x40; + } + goto LAB_14009b60e; + } + if (iVar2 != 2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar8 = *(int *)(lVar4 + 0x20); + bVar21 = false; + bVar20 = iVar8 == 0; + iVar2 = iVar8; + } + iVar14 = (int)uVar18; + if (!bVar20 && bVar21 == iVar2 < 0) { + iVar14 = iVar8; + } + plVar12 = *(longlong **)(lVar4 + 8); + if (uVar10 == 0) { + if (plVar12 == (longlong *)0x0) { + lVar11 = FUN_140030280((longlong)iVar14); + } + else { + lVar11 = (**(code **)(*plVar12 + 8))(plVar12,(longlong)iVar14); + } + } + else { + uVar19 = *(undefined8 *)(lVar4 + 0x10); + if (plVar12 == (longlong *)0x0) { + lVar11 = FUN_1400302b0(uVar19,(longlong)iVar14); + } + else { + uVar17 = (ulonglong)iVar14; + lVar11 = (**(code **)(*plVar12 + 0x10)) + (plVar12,uVar19,uVar17,uVar19,pvVar22,pcVar23,pvVar24,pcVar25, + puVar26,1); + } + if (lVar11 == 0) { + FUN_14002f1e0(local_a0,L"Memory allocation failure!",uVar17,uVar19); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_a0,(ThrowInfo *)&DAT_140151b88); + } + } + *(longlong *)(lVar4 + 0x10) = lVar11; + *(int *)(lVar4 + 0x1c) = iVar14; + } + *(undefined4 *)(lVar4 + 0x18) = 0; + } + uVar10 = 0; + iVar8 = *(int *)(lVar4 + 0x40); + if (iVar8 != 0) { + uVar13 = *(uint *)(lVar4 + 0x44); + uVar18 = (ulonglong)uVar13; + if ((int)uVar13 < 0) { + iVar2 = *(int *)(lVar4 + 0x4c); + if (iVar2 == 0) { + uVar10 = (int)(iVar8 + (iVar8 >> 0x1f & 7U)) >> 3; + uVar9 = 0x400; + if ((int)uVar10 < 0x400) { + uVar9 = uVar10; + } + uVar10 = 4; + if (4 < (int)uVar9) { + uVar10 = uVar9; + } +LAB_14009b6e2: + uVar9 = *(uint *)(lVar4 + 0x48); + bVar21 = SBORROW4(uVar9,uVar10); + uVar6 = uVar9 - uVar10; + bVar20 = uVar9 == uVar10; + } + else { + if (iVar2 == 1) { + uVar9 = (int)(iVar8 + (iVar8 >> 0x1f & 7U)) >> 3; + uVar10 = 0x10; + if (0x10 < (int)uVar9) { + uVar10 = uVar9; + } + if (uVar10 < 0x41) { + uVar10 = 0x40; + } + goto LAB_14009b6e2; + } + if (iVar2 != 2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar9 = *(uint *)(lVar4 + 0x48); + bVar21 = false; + bVar20 = uVar9 == 0; + uVar6 = uVar9; + } + if (!bVar20 && bVar21 == (int)uVar6 < 0) { + uVar10 = uVar9; + } + plVar12 = *(longlong **)(lVar4 + 0x30); + if (uVar13 == 0) { + if (plVar12 == (longlong *)0x0) { + lVar11 = FUN_140030280((longlong)(int)uVar10); + } + else { + lVar11 = (**(code **)(*plVar12 + 8))(plVar12,(longlong)(int)uVar10); + } + } + else { + uVar19 = *(undefined8 *)(lVar4 + 0x38); + if (plVar12 == (longlong *)0x0) { + lVar11 = FUN_1400302b0(uVar19,(longlong)(int)uVar10); + } + else { + uVar18 = (ulonglong)(int)uVar10; + lVar11 = (**(code **)(*plVar12 + 0x10))(plVar12,uVar19); + } + if (lVar11 == 0) { + FUN_14002f1e0(local_a0,L"Memory allocation failure!",uVar18,uVar19); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_a0,(ThrowInfo *)&DAT_140151b88); + } + } + *(longlong *)(lVar4 + 0x38) = lVar11; + *(uint *)(lVar4 + 0x44) = uVar10; + } + *(undefined4 *)(lVar4 + 0x40) = 0; + } + puVar7 = DAT_14015e260; + if ((*(short *)(lVar4 + -8) != 0x1de6) || (*(longlong *)(lVar4 + 0x60) != 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined8 *)(lVar4 + 0x60) = *DAT_14015e260; + *puVar7 = (short *)(lVar4 + -8); + FUN_14002e770(0x14015e268); + if (pcVar3 != *(char **)((longlong)pvVar15 + 0x10)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (pvVar16 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + pvVar24 = *(LPVOID *)((longlong)pvVar16 + 0x10); + FUN_140040120(*(char **)((longlong)pvVar15 + 0x10),pvVar16,'\0'); + pvVar16 = pvVar24; + } + pcVar3 = *(char **)((longlong)pvVar15 + 0x10); + plVar12 = (longlong *)(**(code **)(*(longlong *)*param_1 + 0x18))(); + if (*(longlong *)(pcVar3 + 0x20) != 0) { + uVar18 = *(ulonglong *)(pcVar3 + 0x10); + } + for (; uVar10 = 0, uVar18 != 0; uVar18 = *(ulonglong *)(uVar18 + 0x10)) { + lVar4 = *(longlong *)(uVar18 + 8); + FUN_14002e6e0((int *)&DAT_14015e268); + *(undefined4 *)(lVar4 + 0x50) = 0; + *(undefined8 *)(lVar4 + 0x58) = 0; + iVar8 = *(int *)(lVar4 + 0x18); + if (iVar8 != 0) { + uVar13 = *(uint *)(lVar4 + 0x1c); + uVar17 = (ulonglong)uVar13; + if ((int)uVar13 < 0) { + iVar2 = *(int *)(lVar4 + 0x24); + if (iVar2 == 0) { + uVar10 = (int)(iVar8 + (iVar8 >> 0x1f & 7U)) >> 3; + uVar9 = 0x400; + if ((int)uVar10 < 0x400) { + uVar9 = uVar10; + } + uVar10 = 4; + if (4 < (int)uVar9) { + uVar10 = uVar9; + } +LAB_14009b892: + uVar9 = *(uint *)(lVar4 + 0x20); + bVar21 = SBORROW4(uVar9,uVar10); + uVar6 = uVar9 - uVar10; + bVar20 = uVar9 == uVar10; + } + else { + if (iVar2 == 1) { + uVar9 = (int)(iVar8 + (iVar8 >> 0x1f & 7U)) >> 3; + uVar10 = 0x10; + if (0x10 < (int)uVar9) { + uVar10 = uVar9; + } + if (uVar10 < 0x41) { + uVar10 = 0x40; + } + goto LAB_14009b892; + } + if (iVar2 != 2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar9 = *(uint *)(lVar4 + 0x20); + bVar21 = false; + bVar20 = uVar9 == 0; + uVar6 = uVar9; + } + if (!bVar20 && bVar21 == (int)uVar6 < 0) { + uVar10 = uVar9; + } + plVar5 = *(longlong **)(lVar4 + 8); + if (uVar13 == 0) { + if (plVar5 == (longlong *)0x0) { + lVar11 = FUN_140030280((longlong)(int)uVar10); + } + else { + lVar11 = (**(code **)(*plVar5 + 8))(plVar5,(longlong)(int)uVar10); + } + } + else { + uVar19 = *(undefined8 *)(lVar4 + 0x10); + if (plVar5 == (longlong *)0x0) { + lVar11 = FUN_1400302b0(uVar19,(longlong)(int)uVar10); + } + else { + uVar17 = (ulonglong)(int)uVar10; + lVar11 = (**(code **)(*plVar5 + 0x10))(plVar5,uVar19); + } + if (lVar11 == 0) { + FUN_14002f1e0(local_a0,L"Memory allocation failure!",uVar17,uVar19); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_a0,(ThrowInfo *)&DAT_140151b88); + } + } + *(longlong *)(lVar4 + 0x10) = lVar11; + *(uint *)(lVar4 + 0x1c) = uVar10; + } + *(undefined4 *)(lVar4 + 0x18) = 0; + } + uVar10 = 0; + iVar8 = *(int *)(lVar4 + 0x40); + if (iVar8 != 0) { + uVar13 = *(uint *)(lVar4 + 0x44); + uVar17 = (ulonglong)uVar13; + if ((int)uVar13 < 0) { + iVar2 = *(int *)(lVar4 + 0x4c); + if (iVar2 == 0) { + uVar10 = (int)(iVar8 + (iVar8 >> 0x1f & 7U)) >> 3; + uVar9 = 0x400; + if ((int)uVar10 < 0x400) { + uVar9 = uVar10; + } + uVar10 = 4; + if (4 < (int)uVar9) { + uVar10 = uVar9; + } +LAB_14009b966: + uVar9 = *(uint *)(lVar4 + 0x48); + bVar21 = SBORROW4(uVar9,uVar10); + uVar6 = uVar9 - uVar10; + bVar20 = uVar9 == uVar10; + } + else { + if (iVar2 == 1) { + uVar9 = (int)(iVar8 + (iVar8 >> 0x1f & 7U)) >> 3; + uVar10 = 0x10; + if (0x10 < (int)uVar9) { + uVar10 = uVar9; + } + if (uVar10 < 0x41) { + uVar10 = 0x40; + } + goto LAB_14009b966; + } + if (iVar2 != 2) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar9 = *(uint *)(lVar4 + 0x48); + bVar21 = false; + bVar20 = uVar9 == 0; + uVar6 = uVar9; + } + if (!bVar20 && bVar21 == (int)uVar6 < 0) { + uVar10 = uVar9; + } + plVar5 = *(longlong **)(lVar4 + 0x30); + if (uVar13 == 0) { + if (plVar5 == (longlong *)0x0) { + lVar11 = FUN_140030280((longlong)(int)uVar10); + } + else { + lVar11 = (**(code **)(*plVar5 + 8))(plVar5,(longlong)(int)uVar10); + } + } + else { + uVar19 = *(undefined8 *)(lVar4 + 0x38); + if (plVar5 == (longlong *)0x0) { + lVar11 = FUN_1400302b0(uVar19,(longlong)(int)uVar10); + } + else { + uVar17 = (ulonglong)(int)uVar10; + lVar11 = (**(code **)(*plVar5 + 0x10))(plVar5,uVar19); + } + if (lVar11 == 0) { + FUN_14002f1e0(local_a0,L"Memory allocation failure!",uVar17,uVar19); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_a0,(ThrowInfo *)&DAT_140151b88); + } + } + *(longlong *)(lVar4 + 0x38) = lVar11; + *(uint *)(lVar4 + 0x44) = uVar10; + } + *(undefined4 *)(lVar4 + 0x40) = 0; + } + puVar7 = DAT_14015e260; + if ((*(short *)(lVar4 + -8) != 0x1de6) || (*(longlong *)(lVar4 + 0x60) != 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined8 *)(lVar4 + 0x60) = *DAT_14015e260; + *puVar7 = (short *)(lVar4 + -8); + FUN_14002e770(0x14015e268); + } + FUN_140098f80(pcVar3); + (**(code **)(*plVar12 + 0x18))(plVar12,pcVar3); + if (pcVar23 != pcVar1) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (pvVar15 == (LPVOID)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + pvVar16 = *(LPVOID *)((longlong)pvVar15 + 0x18); + FUN_140097fc0(pcVar1,pvVar15,'\0'); + pvVar15 = pvVar16; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009bb80.c b/decomp/Agent_Release_x64/full/functions/0x14009bb80.c new file mode 100644 index 00000000..04250313 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009bb80.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009bb80 FUN_14009bb80 + * Pseudocode, not original source. */ + +void FUN_14009bb80(char *param_1,undefined8 param_2,SIZE_T param_3) + +{ + FUN_140099ee0((longlong)param_1,*(longlong **)(param_1 + 0x50),param_3); + FUN_140098fa0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009bbb0.c b/decomp/Agent_Release_x64/full/functions/0x14009bbb0.c new file mode 100644 index 00000000..fdf3304a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009bbb0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009bbb0 FUN_14009bbb0 + * Pseudocode, not original source. */ + +void FUN_14009bbb0(char *param_1) + +{ + FUN_140099d00(param_1); + FUN_140098fa0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009bbe0.c b/decomp/Agent_Release_x64/full/functions/0x14009bbe0.c new file mode 100644 index 00000000..1d266051 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009bbe0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009bbe0 FUN_14009bbe0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14009bbe0(undefined8 *param_1,longlong param_2,undefined8 param_3) + +{ + longlong lVar1; + float fVar2; + + *param_1 = 0; + param_1[1] = 0; + *(undefined4 *)(param_1 + 2) = 0; + param_1[3] = param_3; + FUN_140099100((undefined1 *)(param_1 + 4),param_2); + param_1[0x10] = 0; + *(undefined1 *)(param_1 + 0x11) = 1; + param_1[0xf] = param_2; + *(undefined8 *)((longlong)param_1 + 0x4c) = 0x3dcccccd; + *(undefined4 *)((longlong)param_1 + 0x54) = 0x40000000; + fVar2 = (float)*(uint *)(param_1 + 9) * 2.0; + lVar1 = 0; + if ((9.223372e+18 < fVar2) && (fVar2 = fVar2 - 9.223372e+18, fVar2 < 9.223372e+18)) { + lVar1 = -0x8000000000000000; + } + param_1[0xb] = (longlong)fVar2 + lVar1; + fVar2 = (float)*(uint *)(param_1 + 9) * 0.0; + lVar1 = 0; + if ((9.223372e+18 < fVar2) && (fVar2 = fVar2 - 9.223372e+18, fVar2 < 9.223372e+18)) { + lVar1 = -0x8000000000000000; + } + param_1[0xc] = (longlong)fVar2 + lVar1; + if ((ulonglong)((longlong)fVar2 + lVar1) < 0x11) { + param_1[0xc] = 0; + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009bce0.c b/decomp/Agent_Release_x64/full/functions/0x14009bce0.c new file mode 100644 index 00000000..26105ac7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009bce0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009bce0 FUN_14009bce0 + * Pseudocode, not original source. */ + +void FUN_14009bce0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + + plVar1 = param_1 + 4; + FUN_140099d00((char *)plVar1); + FUN_140098e20(param_1 + 0x10,param_2,param_3,param_4); + FUN_140099d00((char *)plVar1); + FUN_140098fa0((char *)plVar1); + FUN_1400977a0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009bd40.c b/decomp/Agent_Release_x64/full/functions/0x14009bd40.c new file mode 100644 index 00000000..f504f81d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009bd40.c @@ -0,0 +1,47 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009bd40 FUN_14009bd40 + * Pseudocode, not original source. */ + +undefined8 * +FUN_14009bd40(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + float fVar2; + exception local_50 [72]; + + FUN_140099240((undefined1 *)(param_1 + 1)); + *param_1 = param_2; + *(undefined4 *)((longlong)param_1 + 0x34) = 0x3e99999a; + *(undefined4 *)(param_1 + 7) = 0x3d4ccccd; + *(undefined4 *)((longlong)param_1 + 0x3c) = 0x41000000; + fVar2 = (float)*(uint *)(param_1 + 6) * 8.0; + lVar1 = 0; + if ((9.223372e+18 < fVar2) && (fVar2 = fVar2 - 9.223372e+18, fVar2 < 9.223372e+18)) { + lVar1 = -0x8000000000000000; + } + param_1[8] = (longlong)fVar2 + lVar1; + fVar2 = (float)*(uint *)(param_1 + 6) * 0.05; + lVar1 = 0; + if ((9.223372e+18 < fVar2) && (fVar2 = fVar2 - 9.223372e+18, fVar2 < 9.223372e+18)) { + lVar1 = -0x8000000000000000; + } + param_1[9] = (longlong)fVar2 + lVar1; + if ((ulonglong)((longlong)fVar2 + lVar1) < 0x11) { + param_1[9] = 0; + } + lVar1 = (**(code **)(*param_2 + 0x18))(param_2); + if (lVar1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_1[5] != 0) { + FUN_14002f1e0(local_50,(wchar_t *)PTR_u_Collection_object_can_use_fast_h_1401551d0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + param_1[0xb] = lVar1; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009be60.c b/decomp/Agent_Release_x64/full/functions/0x14009be60.c new file mode 100644 index 00000000..7607dabf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009be60.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009be60 FUN_14009be60 + * Pseudocode, not original source. */ + +ulonglong FUN_14009be60(longlong param_1,double param_2) + +{ + uint uVar1; + undefined8 uVar2; + ulonglong uVar3; + + (**(code **)(**(longlong **)(param_1 + 0x108) + 0x10))(); + uVar1 = *(uint *)(param_1 + 0x7c); + uVar2 = FUN_1400bcac0((double *)(param_1 + 0x90),param_2); + if ((int)uVar2 < (int)uVar1) { + uVar3 = FUN_1400bcac0((double *)(param_1 + 0x90),param_2); + } + else { + uVar3 = (ulonglong)uVar1; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009bee0.c b/decomp/Agent_Release_x64/full/functions/0x14009bee0.c new file mode 100644 index 00000000..6e4911de --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009bee0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009bee0 FUN_14009bee0 + * Pseudocode, not original source. */ + +void FUN_14009bee0(longlong param_1,double param_2) + +{ + (**(code **)(**(longlong **)(param_1 + 0x108) + 0x10))(); + FUN_14009e8e0(param_1 + 0x48,param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009bf20.c b/decomp/Agent_Release_x64/full/functions/0x14009bf20.c new file mode 100644 index 00000000..439cad7e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009bf20.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009bf20 FUN_14009bf20 + * Pseudocode, not original source. */ + +uint FUN_14009bf20(longlong param_1,undefined8 param_2,undefined **param_3,undefined8 param_4) + +{ + char cVar1; + uint uVar2; + ulonglong uVar3; + + (**(code **)(**(longlong **)(param_1 + 0x108) + 8))(); + (**(code **)(**(longlong **)(param_1 + 0x108) + 0x10))(); + if ((*(char *)(param_1 + 0x40) == '\0') && + (*(char *)(*(longlong *)(param_1 + 0x110) + 0x80) == '\0')) { + cVar1 = (**(code **)(**(longlong **)(param_1 + 0x108) + 0x28))(); + if (cVar1 == '\0') { + *(undefined1 *)(param_1 + 0x40) = 1; + uVar3 = (ulonglong)DAT_140155048; + uVar2 = FUN_1400362c0(*(longlong *)(param_1 + 0x110),uVar3,param_3,param_4); + if (uVar2 != 0) { + *(undefined1 *)(param_1 + 0x40) = 0; + FUN_140035490(*(longlong **)(param_1 + 0x110),uVar3,param_3,param_4); + return uVar2; + } + *(undefined8 *)(param_1 + 0x118) = 0; + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009bfd0.c b/decomp/Agent_Release_x64/full/functions/0x14009bfd0.c new file mode 100644 index 00000000..c5ca5778 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009bfd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009bfd0 FUN_14009bfd0 + * Pseudocode, not original source. */ + +void FUN_14009bfd0(longlong param_1,char param_2) + +{ + FUN_140034ca0(*(longlong *)(param_1 + 0x110),param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009bfe0.c b/decomp/Agent_Release_x64/full/functions/0x14009bfe0.c new file mode 100644 index 00000000..01d63c0b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009bfe0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009bfe0 FUN_14009bfe0 + * Pseudocode, not original source. */ + +undefined1 * FUN_14009bfe0(undefined1 *param_1,undefined8 param_2,longlong param_3,longlong param_4) + +{ + FUN_14009ef40((undefined8 *)(param_1 + 0x48),param_2,param_3,param_4); + FUN_1400bbb90((undefined8 *)(param_1 + 200),(longlong)DAT_1401550ec); + *(undefined8 *)(param_1 + 0x110) = 0; + *(undefined ***)(param_1 + 0x128) = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 0x130) = 0; + *(undefined2 *)(param_1 + 0x134) = 0; + *(undefined4 *)(param_1 + 0x130) = *(undefined4 *)(param_4 + 8); + *(undefined2 *)(param_1 + 0x134) = *(undefined2 *)(param_4 + 0xc); + *param_1 = 0; + param_1[0x40] = 0; + *(undefined8 *)(param_1 + 0x108) = param_2; + if (param_3 != 0) { + *(longlong *)(param_1 + 0x110) = param_3; + FUN_14009e950(param_3); + } + *(undefined8 *)(param_1 + 0x118) = 0; + *(undefined8 *)(param_1 + 0x120) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c0b0.c b/decomp/Agent_Release_x64/full/functions/0x14009c0b0.c new file mode 100644 index 00000000..3243e765 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c0b0.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c0b0 FUN_14009c0b0 + * Pseudocode, not original source. */ + +void FUN_14009c0b0(longlong param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + longlong *plVar1; + + (**(code **)**(undefined8 **)(param_1 + 0x108))(); + (**(code **)(**(longlong **)(param_1 + 0x108) + 0x48))(); + plVar1 = *(longlong **)(param_1 + 0x110); + if (plVar1 != (longlong *)0x0) { + FUN_1400358a0(plVar1,param_2,param_3,param_4); + FUN_1400302f0(plVar1); + } + FUN_1400bbbd0(param_1 + 200); + FUN_14009efd0((longlong *)(param_1 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c130.c b/decomp/Agent_Release_x64/full/functions/0x14009c130.c new file mode 100644 index 00000000..8adf492d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c130.c @@ -0,0 +1,68 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c130 FUN_14009c130 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +uint FUN_14009c130(char *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + char cVar1; + int iVar2; + uint uVar3; + ulonglong uVar4; + double dVar5; + undefined8 uVar6; + undefined1 auStack_6a8 [32]; + undefined8 local_688; + void *local_678; + undefined8 local_670; + ulonglong local_668; + undefined8 local_660; + ulonglong local_18; + + local_688 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_6a8; + (**(code **)(**(longlong **)(param_1 + 0x108) + 8))(); + (**(code **)(**(longlong **)(param_1 + 0x108) + 0x10))(); + if (((*(char *)(*(longlong *)(param_1 + 0x110) + 0x80) == '\0') && (*param_1 == '\0')) && + (cVar1 = (**(code **)(**(longlong **)(param_1 + 0x108) + 0x28))(), cVar1 == '\0')) { + dVar5 = (double)(**(code **)(**(longlong **)(param_1 + 0x108) + 0x30))(); + uVar4 = FUN_14009be60((longlong)param_1,dVar5); + iVar2 = (int)uVar4; + if (0 < iVar2) { + *param_1 = '\x01'; + local_678 = (void *)0x0; + local_660 = 0; + local_670 = 0; + local_668 = 100; + uVar4 = uVar4 & 0xffffffff; + FUN_14009ebd0((longlong)(param_1 + 0x48),(longlong *)&local_678,iVar2); + uVar3 = FUN_1400367d0(*(longlong *)(param_1 + 0x110),(longlong *)&local_678,uVar4,param_4); + FUN_1400bca80((longlong)(param_1 + 0x90),iVar2); + uVar6 = (**(code **)(**(longlong **)(param_1 + 0x108) + 0x30))(); + *(double *)(param_1 + 0xb0) = (double)iVar2 + *(double *)(param_1 + 0xb0); + *(undefined8 *)(param_1 + 0xc0) = uVar6; + if (uVar3 == 0) { + param_1[0x120] = '\0'; + param_1[0x121] = '\0'; + param_1[0x122] = '\0'; + param_1[0x123] = '\0'; + param_1[0x124] = '\0'; + param_1[0x125] = '\0'; + param_1[0x126] = '\0'; + param_1[0x127] = '\0'; + } + else { + *param_1 = '\0'; + } + if (local_668 < 0x65) { + return uVar3; + } + operator_delete__(local_678); + return uVar3; + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c2b0.c b/decomp/Agent_Release_x64/full/functions/0x14009c2b0.c new file mode 100644 index 00000000..389d2f03 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c2b0.c @@ -0,0 +1,60 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c2b0 FUN_14009c2b0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14009c2b0(char *param_1,longlong param_2,SIZE_T *param_3,undefined8 param_4) + +{ + undefined1 auStack_de8 [32]; + undefined8 local_dc8; + longlong *local_dc0; + exception local_db8 [80]; + undefined4 local_d68 [2]; + longlong local_d60; + longlong local_d58; + undefined4 local_d50; + int local_d4c; + undefined1 local_d40 [136]; + undefined1 local_cb8 [3200]; + undefined1 *local_38; + undefined4 local_30; + int local_2c; + ulonglong local_28; + + local_dc8 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_de8; + (**(code **)(**(longlong **)(param_1 + 0x108) + 0x10))(); + local_2c = 200; + local_30 = 0; + local_38 = local_cb8; + FUN_1400806d0(local_d68); + FUN_140080350((longlong)local_d68,(longlong)local_d40,0x80,param_4); + FUN_14009ee20(param_2,(longlong)local_cb8,(SIZE_T)local_d68,param_4); + FUN_14009eb20((longlong *)(param_1 + 0x48),(longlong)local_cb8,param_3,param_4); + if (*param_1 == '\0') { + (**(code **)(**(longlong **)(param_1 + 0x108) + 0x20))(); + } + local_dc0 = &local_d60; + FUN_140095270(&local_d60); + if (local_d58 != 0) { + if (local_d4c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d50 = 0; + } + if (local_38 == (undefined1 *)0x0) { + FUN_14002f1e0(local_db8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_db8,(ThrowInfo *)&DAT_140151b88); + } + if (local_2c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c420.c b/decomp/Agent_Release_x64/full/functions/0x14009c420.c new file mode 100644 index 00000000..737e10b9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c420.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c420 FUN_14009c420 + * Pseudocode, not original source. */ + +undefined8 * FUN_14009c420(undefined8 *param_1) + +{ + *param_1 = Proud::CUseCount::vftable; + *(undefined4 *)(param_1 + 8) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c440.c b/decomp/Agent_Release_x64/full/functions/0x14009c440.c new file mode 100644 index 00000000..0e71ceb1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c440.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c440 FUN_14009c440 + * Pseudocode, not original source. */ + +void FUN_14009c440(undefined8 *param_1) + +{ + *param_1 = Proud::CUseCount::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c450.c b/decomp/Agent_Release_x64/full/functions/0x14009c450.c new file mode 100644 index 00000000..ea380f67 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c450.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c450 FUN_14009c450 + * Pseudocode, not original source. */ + +undefined4 FUN_14009c450(longlong param_1) + +{ + return *(undefined4 *)(param_1 + 0x40); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c460.c b/decomp/Agent_Release_x64/full/functions/0x14009c460.c new file mode 100644 index 00000000..0d2b3071 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c460.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c460 FUN_14009c460 + * Pseudocode, not original source. */ + +void FUN_14009c460(longlong param_1) + +{ + LOCK(); + *(int *)(param_1 + 0x40) = *(int *)(param_1 + 0x40) + 1; + UNLOCK(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c470.c b/decomp/Agent_Release_x64/full/functions/0x14009c470.c new file mode 100644 index 00000000..50bd6b0f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c470.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c470 FUN_14009c470 + * Pseudocode, not original source. */ + +void FUN_14009c470(longlong param_1) + +{ + LOCK(); + *(int *)(param_1 + 0x40) = *(int *)(param_1 + 0x40) + -1; + UNLOCK(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c480.c b/decomp/Agent_Release_x64/full/functions/0x14009c480.c new file mode 100644 index 00000000..c5baa566 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c480.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c480 FUN_14009c480 + * Pseudocode, not original source. */ + +longlong * FUN_14009c480(longlong *param_1,longlong param_2) + +{ + *param_1 = param_2; + LOCK(); + *(int *)(param_2 + 0x40) = *(int *)(param_2 + 0x40) + 1; + UNLOCK(); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c490.c b/decomp/Agent_Release_x64/full/functions/0x14009c490.c new file mode 100644 index 00000000..c71e7d8d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c490.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c490 FUN_14009c490 + * Pseudocode, not original source. */ + +void FUN_14009c490(longlong *param_1) + +{ + LOCK(); + *(int *)(*param_1 + 0x40) = *(int *)(*param_1 + 0x40) + -1; + UNLOCK(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c4a0.c b/decomp/Agent_Release_x64/full/functions/0x14009c4a0.c new file mode 100644 index 00000000..642ee750 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c4a0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c4a0 FUN_14009c4a0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14009c4a0(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::CUseCount::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c4d0.c b/decomp/Agent_Release_x64/full/functions/0x14009c4d0.c new file mode 100644 index 00000000..fc814140 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c4d0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c4d0 FUN_14009c4d0 + * Pseudocode, not original source. */ + +void FUN_14009c4d0(longlong param_1) + +{ + /* WARNING: Could not recover jumptable at 0x00014009c4e1. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x140) + 0x118) + 8))(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c4f0.c b/decomp/Agent_Release_x64/full/functions/0x14009c4f0.c new file mode 100644 index 00000000..b6d9acf9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c4f0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c4f0 FUN_14009c4f0 + * Pseudocode, not original source. */ + +undefined4 FUN_14009c4f0(longlong param_1) + +{ + return *(undefined4 *)(*(longlong *)(param_1 + 0x140) + 0x23c); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c500.c b/decomp/Agent_Release_x64/full/functions/0x14009c500.c new file mode 100644 index 00000000..26e8894e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c500.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c500 FUN_14009c500 + * Pseudocode, not original source. */ + +void FUN_14009c500(longlong param_1,longlong param_2,short *param_3) + +{ + undefined **local_18; + undefined4 local_10; + undefined2 local_c; + + local_18 = Proud::AddrPort::vftable; + local_10 = *(undefined4 *)(param_2 + 8); + local_c = *(undefined2 *)(param_2 + 0xc); + FUN_140052260(*(longlong **)(param_1 + 0x138),(longlong)&local_18,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c540.c b/decomp/Agent_Release_x64/full/functions/0x14009c540.c new file mode 100644 index 00000000..bed8cf9f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c540.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c540 FUN_14009c540 + * Pseudocode, not original source. */ + +void FUN_14009c540(longlong param_1) + +{ + /* WARNING: Could not recover jumptable at 0x00014009c54a. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(**(longlong **)(param_1 + 0x138) + 0xd0))(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c560.c b/decomp/Agent_Release_x64/full/functions/0x14009c560.c new file mode 100644 index 00000000..884ff56d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c560.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c560 FUN_14009c560 + * Pseudocode, not original source. */ + +void FUN_14009c560(longlong param_1,longlong param_2) + +{ + undefined **local_18; + undefined4 local_10; + undefined2 local_c; + + local_18 = Proud::AddrPort::vftable; + local_10 = *(undefined4 *)(param_2 + 8); + local_c = *(undefined2 *)(param_2 + 0xc); + FUN_140040c60(*(longlong *)(param_1 + 0x148),(longlong)&local_18); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c5a0.c b/decomp/Agent_Release_x64/full/functions/0x14009c5a0.c new file mode 100644 index 00000000..a3f6ddc4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c5a0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c5a0 FUN_14009c5a0 + * Pseudocode, not original source. */ + +void FUN_14009c5a0(longlong param_1) + +{ + /* WARNING: Could not recover jumptable at 0x00014009c5aa. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(**(longlong **)(param_1 + 0x138) + 0x30))(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c5b0.c b/decomp/Agent_Release_x64/full/functions/0x14009c5b0.c new file mode 100644 index 00000000..d5d10930 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c5b0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c5b0 FUN_14009c5b0 + * Pseudocode, not original source. */ + +longlong FUN_14009c5b0(longlong param_1) + +{ + return param_1 + 0x20; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c5c0.c b/decomp/Agent_Release_x64/full/functions/0x14009c5c0.c new file mode 100644 index 00000000..9180e819 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c5c0.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c5c0 FUN_14009c5c0 + * Pseudocode, not original source. */ + +void FUN_14009c5c0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong *plVar2; + uint uVar3; + undefined8 uVar4; + longlong lVar5; + longlong lVar6; + double dVar7; + undefined **local_18; + undefined4 local_10; + undefined2 local_c; + + FUN_140093300(); + if (*(char *)(param_1 + 0x100) == '\0') { + lVar6 = 0; + lVar5 = lVar6; + if (*(longlong **)(param_1 + 0x150) != (longlong *)0x0) { + lVar5 = **(longlong **)(param_1 + 0x150); + } + if (*(char *)(lVar5 + 0x80) == '\0') { + plVar1 = *(longlong **)(param_1 + 0x170); + plVar2 = *(longlong **)(param_1 + 0x168); + dVar7 = (double)(**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x118) + 8))(); + uVar4 = FUN_140099370(plVar2,plVar1,dVar7,param_4); + if (((char)uVar4 != '\0') && (0 < *(longlong *)(*(longlong *)(param_1 + 0x170) + 8))) { + plVar1 = *(longlong **)(param_1 + 0x170); + *(undefined1 *)(param_1 + 0x100) = 1; + local_18 = Proud::AddrPort::vftable; + local_10 = (undefined4)plVar1[0xd5]; + local_c = *(undefined2 *)((longlong)plVar1 + 0x6ac); + if (*(longlong **)(param_1 + 0x150) != (longlong *)0x0) { + lVar6 = **(longlong **)(param_1 + 0x150); + } + uVar3 = FUN_140037090(lVar6,plVar1,(longlong)&local_18,(ulonglong)*(uint *)(plVar1 + 0xd6)); + if (uVar3 != 0) { + *(undefined1 *)(param_1 + 0x100) = 0; + } + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c6d0.c b/decomp/Agent_Release_x64/full/functions/0x14009c6d0.c new file mode 100644 index 00000000..afde7b9d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c6d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c6d0 FUN_14009c6d0 + * Pseudocode, not original source. */ + +undefined8 FUN_14009c6d0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14009c5c0(param_1 + -0x88,param_2,param_3,param_4); + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c6f0.c b/decomp/Agent_Release_x64/full/functions/0x14009c6f0.c new file mode 100644 index 00000000..b306b6a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c6f0.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c6f0 FUN_14009c6f0 + * Pseudocode, not original source. */ + +void FUN_14009c6f0(longlong param_1,undefined8 param_2,undefined **param_3,undefined8 param_4) + +{ + uint uVar1; + longlong lVar2; + longlong lVar3; + + FUN_140093300(); + if (*(char *)(param_1 + 0x140) == '\0') { + lVar3 = 0; + lVar2 = lVar3; + if (*(longlong **)(param_1 + 0x150) != (longlong *)0x0) { + lVar2 = **(longlong **)(param_1 + 0x150); + } + if (*(char *)(lVar2 + 0x80) == '\0') { + *(undefined1 *)(param_1 + 0x140) = 1; + if (*(longlong **)(param_1 + 0x150) != (longlong *)0x0) { + lVar3 = **(longlong **)(param_1 + 0x150); + } + uVar1 = FUN_140036430(lVar3,(ulonglong)DAT_14015504c,param_3,param_4); + if (uVar1 != 0) { + *(undefined1 *)(param_1 + 0x140) = 0; + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c760.c b/decomp/Agent_Release_x64/full/functions/0x14009c760.c new file mode 100644 index 00000000..583148cd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c760.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c760 FUN_14009c760 + * Pseudocode, not original source. */ + +void FUN_14009c760(longlong param_1,undefined8 param_2,SIZE_T param_3,undefined *param_4) + +{ + longlong lVar1; + undefined8 *puVar2; + double dVar3; + + lVar1 = *(longlong *)(param_1 + 0x168); + dVar3 = (double)(**(code **)(*(longlong *)(param_1 + 8) + 8))(param_1 + 8); + FUN_140099810(lVar1,dVar3,param_3,param_4); + puVar2 = *(undefined8 **)(param_1 + 0x178); + if (puVar2 != (undefined8 *)0x0) { + dVar3 = (double)(**(code **)(*(longlong *)(param_1 + 8) + 8))(param_1 + 8); + FUN_14009b3b0(puVar2,dVar3,param_3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c7d0.c b/decomp/Agent_Release_x64/full/functions/0x14009c7d0.c new file mode 100644 index 00000000..d1b2950e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c7d0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c7d0 FUN_14009c7d0 + * Pseudocode, not original source. */ + +void FUN_14009c7d0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + if (*(longlong **)(param_1 + 0x10) != (longlong *)0x0) { + FUN_14003d350(*(longlong **)(param_1 + 0x10),param_1 + -0x90,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c800.c b/decomp/Agent_Release_x64/full/functions/0x14009c800.c new file mode 100644 index 00000000..5e7ce8c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c800.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c800 FUN_14009c800 + * Pseudocode, not original source. */ + +void FUN_14009c800(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + + plVar1 = (longlong *)*param_1; + if (plVar1 != (longlong *)0x0) { + FUN_14009bce0(plVar1,param_2,param_3,param_4); + operator_delete(plVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c830.c b/decomp/Agent_Release_x64/full/functions/0x14009c830.c new file mode 100644 index 00000000..a304bc16 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c830.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c830 FUN_14009c830 + * Pseudocode, not original source. */ + +void FUN_14009c830(undefined8 *param_1,undefined8 param_2,longlong param_3) + +{ + undefined8 *puVar1; + + puVar1 = (undefined8 *)*param_1; + if (puVar1 != (undefined8 *)0x0) { + FUN_140098db0(puVar1,param_2,param_3); + operator_delete(puVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c860.c b/decomp/Agent_Release_x64/full/functions/0x14009c860.c new file mode 100644 index 00000000..54683598 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c860.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c860 FUN_14009c860 + * Pseudocode, not original source. */ + +void FUN_14009c860(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + if (*(longlong *)(param_2 + 0xa0) != 0) { + FUN_14003d350(param_1,param_2,param_3,param_4); + } + if (param_1[1] == 0) { + *param_1 = param_2; + } + else { + *(longlong *)(param_1[1] + 0x98) = param_2; + *(longlong *)(param_2 + 0x90) = param_1[1]; + } + param_1[1] = param_2; + *(longlong **)(param_2 + 0xa0) = param_1; + *(int *)(param_1 + 2) = (int)param_1[2] + 1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c8c0.c b/decomp/Agent_Release_x64/full/functions/0x14009c8c0.c new file mode 100644 index 00000000..0570ceab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c8c0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c8c0 FUN_14009c8c0 + * Pseudocode, not original source. */ + +void FUN_14009c8c0(undefined8 *param_1,undefined8 param_2,SIZE_T param_3) + +{ + void *pvVar1; + + pvVar1 = (void *)*param_1; + if (pvVar1 != (void *)0x0) { + FUN_14009bb80((char *)((longlong)pvVar1 + 8),param_2,param_3); + operator_delete(pvVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009c8f0.c b/decomp/Agent_Release_x64/full/functions/0x14009c8f0.c new file mode 100644 index 00000000..a89fc489 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009c8f0.c @@ -0,0 +1,109 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009c8f0 FUN_14009c8f0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14009c8f0(longlong param_1,uint param_2,ushort param_3,longlong param_4,longlong param_5, + uint *param_6) + +{ + longlong *plVar1; + double dVar2; + int *piVar3; + ulonglong uVar4; + longlong lVar5; + undefined ***pppuVar6; + undefined1 auStackY_e78 [32]; + undefined **local_e38; + undefined4 local_e30; + undefined2 local_e2c; + int *local_e28; + undefined1 local_e20; + int *local_e18; + undefined1 local_e10; + undefined8 local_e08; + uint local_df8; + uint uStack_df4; + uint uStack_df0; + uint uStack_dec; + uint local_de8; + uint uStack_de4; + uint uStack_de0; + uint uStack_ddc; + exception local_dd8 [80]; + undefined4 local_d88 [2]; + undefined *local_d80; + longlong local_d78; + undefined4 local_d70; + int local_d6c; + undefined1 local_d60 [136]; + undefined1 local_cd8 [3200]; + undefined1 *local_58; + undefined4 local_50; + int local_4c; + ulonglong local_48; + + local_e08 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStackY_e78; + lVar5 = param_4; + FUN_140093300(); + local_4c = 200; + local_50 = 0; + local_58 = local_cd8; + FUN_1400806d0(local_d88); + FUN_140080350((longlong)local_d88,(longlong)local_d60,0x80,lVar5); + FUN_14009ee20(param_5,(longlong)local_cd8,(SIZE_T)local_d88,lVar5); + local_e28 = (int *)(param_1 + 0xa8); + FUN_14002e6e0(local_e28); + local_e20 = 1; + local_df8 = *param_6; + uStack_df4 = param_6[1]; + uStack_df0 = param_6[2]; + uStack_dec = param_6[3]; + local_de8 = param_6[4]; + uStack_de4 = param_6[5]; + uStack_de0 = param_6[6]; + uStack_ddc = param_6[7]; + local_e38 = Proud::AddrPort::vftable; + local_e30 = *(undefined4 *)(param_4 + 8); + local_e2c = *(undefined2 *)(param_4 + 0xc); + plVar1 = *(longlong **)(param_1 + 0x168); + dVar2 = (double)(**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x118) + 8))(); + pppuVar6 = &local_e38; + uVar4 = (ulonglong)param_3; + FUN_14009a260(plVar1,(ulonglong)param_2,uVar4,(ulonglong)pppuVar6,(longlong)local_cd8,dVar2, + &local_df8); + if (*(char *)(param_1 + 0x100) == '\0') { + piVar3 = (int *)(*(longlong *)(param_1 + 0x148) + 2000); + local_e18 = piVar3; + FUN_14002e6e0(piVar3); + local_e10 = 1; + if (*(longlong *)(param_1 + 0xa0) == 0) { + FUN_14009c860((longlong *)(*(longlong *)(param_1 + 0x148) + 0x828),param_1,uVar4,pppuVar6); + } + FUN_14002e770((longlong)piVar3); + } + FUN_14002e770((longlong)local_e28); + local_e38 = &local_d80; + FUN_140095270((longlong *)&local_d80); + if (local_d78 != 0) { + if (local_d6c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d70 = 0; + } + if (local_58 == (undefined1 *)0x0) { + FUN_14002f1e0(local_dd8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,uVar4, + pppuVar6); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_dd8,(ThrowInfo *)&DAT_140151b88); + } + if (local_4c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009cb10.c b/decomp/Agent_Release_x64/full/functions/0x14009cb10.c new file mode 100644 index 00000000..c8ce008e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009cb10.c @@ -0,0 +1,112 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009cb10 FUN_14009cb10 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +longlong * FUN_14009cb10(longlong param_1,longlong *param_2,ulonglong param_3,undefined8 param_4) + +{ + undefined *puVar1; + int *piVar2; + undefined *puVar3; + undefined8 *puVar4; + longlong *plVar5; + int *piVar6; + ulonglong uVar7; + longlong lVar8; + char *pcVar9; + LPCWSTR pWVar10; + char *pcVar11; + ulonglong uVar12; + undefined8 uVar13; + undefined1 auStack_128 [32]; + undefined *local_108; + undefined4 local_100; + int *local_f8; + undefined1 local_f0; + longlong *local_e8; + undefined8 local_e0; + undefined8 local_d8 [2]; + undefined8 local_c8 [2]; + char *local_b8; + char local_b0 [136]; + ulonglong local_28; + + local_e0 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_128; + lVar8 = 0; + local_100 = 0; + if (*(longlong **)(param_1 + 0x150) != (longlong *)0x0) { + lVar8 = **(longlong **)(param_1 + 0x150); + } + uVar12 = param_3; + local_e8 = param_2; + puVar4 = FUN_140034a30(lVar8,local_d8); + FUN_140033ef0(param_2,(longlong)puVar4,uVar12,param_4); + local_100 = 1; + puVar4 = FUN_140034a30(*(longlong *)(*(longlong *)(param_3 + 0x748) + 0x110),local_c8); + plVar5 = FUN_140033e00((longlong)puVar4,(longlong *)&local_108,uVar12,param_4); + pcVar9 = (char *)*plVar5; + if ((char *)*plVar5 == (char *)0x0) { + pcVar9 = PTR_DAT_140155008; + } + plVar5 = param_2; + FUN_140034120(param_2,pcVar9); + puVar3 = local_108; + if (((local_108 != (undefined *)0x0) && (local_108 != PTR_DAT_140155008)) && + (puVar1 = local_108 + -8, puVar1 != (undefined *)0x0)) { + piVar6 = (int *)FUN_140030200(plVar5,pcVar9,uVar12,param_4); + local_f8 = piVar6; + FUN_14002e6e0(piVar6); + local_f0 = 1; + piVar2 = (int *)(puVar3 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)piVar6); + } + pcVar9 = *(char **)(*(longlong *)(param_1 + 0x148) + 0x218); + if (pcVar9 == (char *)0x0) { + pcVar9 = PTR_DAT_140155008; + } + FUN_140034120(param_2,pcVar9); + pcVar9 = *(char **)(*(longlong *)(param_1 + 0x148) + 0x210); + if (pcVar9 == (char *)0x0) { + pcVar9 = PTR_DAT_140155008; + } + FUN_140034120(param_2,pcVar9); + uVar7 = FUN_140034540(param_2,pcVar9,uVar12,param_4); + if ((char)uVar7 == '\0') { + plVar5 = FUN_140034160((longlong *)&local_108,pcVar9,uVar12,param_4); + pWVar10 = (LPCWSTR)*plVar5; + if ((LPCWSTR)*plVar5 == (LPCWSTR)0x0) { + pWVar10 = (LPCWSTR)PTR_DAT_140155010; + } + local_b8 = local_b0; + uVar13 = 3; + FUN_14002e8f0((longlong *)&local_b8,pWVar10,3); + pcVar11 = local_b8; + FUN_14002efe0(param_2,local_b8); + pcVar9 = local_b8; + if (local_b8 != local_b0) { + free(local_b8); + } + if (((local_108 != (undefined *)0x0) && (local_108 != PTR_DAT_140155010)) && + (local_108 + -8 != (undefined *)0x0)) { + piVar6 = (int *)FUN_140030200(pcVar9,pcVar11,uVar13,param_4); + local_f8 = piVar6; + FUN_14002e6e0(piVar6); + local_f0 = 1; + piVar2 = (int *)(local_108 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(local_108 + -8); + } + FUN_14002e770((longlong)piVar6); + } + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009cd30.c b/decomp/Agent_Release_x64/full/functions/0x14009cd30.c new file mode 100644 index 00000000..a1ca5b71 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009cd30.c @@ -0,0 +1,80 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009cd30 FUN_14009cd30 + * Pseudocode, not original source. */ + +void FUN_14009cd30(undefined8 *param_1,undefined8 *param_2,longlong *param_3,undefined8 param_4) + +{ + void *pvVar1; + undefined8 *puVar2; + longlong *plVar3; + + *param_1 = Proud::CUdpSocket_S::vftable; + param_1[1] = Proud::CUdpSocket_S::vftable; + param_1[2] = Proud::CUdpSocket_S::vftable; + param_1[8] = Proud::CUdpSocket_S::vftable; + param_1[0x11] = Proud::CUdpSocket_S::vftable; + pvVar1 = (void *)param_1[0x2f]; + if (pvVar1 != (void *)0x0) { + FUN_14009bb80((char *)((longlong)pvVar1 + 8),param_2,(SIZE_T)param_3); + operator_delete(pvVar1); + } + param_1[0x2f] = 0; + puVar2 = (undefined8 *)param_1[0x2e]; + if (puVar2 != (undefined8 *)0x0) { + FUN_140098db0(puVar2,param_2,(longlong)param_3); + operator_delete(puVar2); + } + param_1[0x2e] = 0; + plVar3 = (longlong *)param_1[0x2d]; + if (plVar3 != (longlong *)0x0) { + FUN_14009bce0(plVar3,param_2,param_3,param_4); + operator_delete(plVar3); + } + param_1[0x2d] = 0; + if ((longlong *)param_1[0x14] != (longlong *)0x0) { + param_2 = param_1; + FUN_14003d350((longlong *)param_1[0x14],(longlong)param_1,param_3,param_4); + } + pvVar1 = (void *)param_1[0x2f]; + if (pvVar1 != (void *)0x0) { + FUN_14009bb80((char *)((longlong)pvVar1 + 8),param_2,(SIZE_T)param_3); + operator_delete(pvVar1); + } + puVar2 = (undefined8 *)param_1[0x2e]; + if (puVar2 != (undefined8 *)0x0) { + FUN_140098db0(puVar2,param_2,(longlong)param_3); + operator_delete(puVar2); + } + plVar3 = (longlong *)param_1[0x2d]; + if (plVar3 != (longlong *)0x0) { + FUN_14009bce0(plVar3,param_2,param_3,param_4); + operator_delete(plVar3); + } + if ((param_1[0x2a] != 0) && + (*(longlong *)(param_1[0x2a] + 8) = *(longlong *)(param_1[0x2a] + 8) + -1, + *(longlong *)(param_1[0x2a] + 8) == 0)) { + puVar2 = (undefined8 *)param_1[0x2a]; + plVar3 = (longlong *)*puVar2; + if (plVar3 != (longlong *)0x0) { + FUN_1400358a0(plVar3,param_2,param_3,param_4); + FUN_1400302f0(plVar3); + } + FUN_1400302f0(puVar2); + } + if ((undefined8 *)param_1[0x1c] != (undefined8 *)0x0) { + param_2 = (undefined8 *)0x1; + (*(code *)**(undefined8 **)param_1[0x1c])(); + } + FUN_14002e7a0((undefined4 *)(param_1 + 0x15),param_2,param_3,param_4); + param_1[0x11] = Proud::ISendIssueObject::vftable; + FUN_14009c440(param_1 + 8); + param_1[2] = Proud::IUdpPacketDefragBoardDg::vftable; + param_1[1] = Proud::IUdpPacketFragBoardDg::vftable; + if ((longlong *)param_1[0x14] != (longlong *)0x0) { + FUN_14003d350((longlong *)param_1[0x14],(longlong)param_1,param_3,param_4); + } + *param_1 = Proud::ICompletionContext::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009cf50.c b/decomp/Agent_Release_x64/full/functions/0x14009cf50.c new file mode 100644 index 00000000..4ee6548b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009cf50.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009cf50 FUN_14009cf50 + * Pseudocode, not original source. */ + +undefined8 FUN_14009cf50(void) + +{ + return 4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009cf60.c b/decomp/Agent_Release_x64/full/functions/0x14009cf60.c new file mode 100644 index 00000000..52601d7f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009cf60.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009cf60 FUN_14009cf60 + * Pseudocode, not original source. */ + +void FUN_14009cf60(longlong param_1) + +{ + longlong lVar1; + + lVar1 = (**(code **)(*(longlong *)(param_1 + 0x48) + 0x10))(param_1 + 0x48); + FUN_14002e820(lVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009cf80.c b/decomp/Agent_Release_x64/full/functions/0x14009cf80.c new file mode 100644 index 00000000..c23c10b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009cf80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009cf80 FUN_14009cf80 + * Pseudocode, not original source. */ + +void FUN_14009cf80(longlong param_1,undefined8 *param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_14009d4f0((undefined8 *)(param_1 + -0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009cf90.c b/decomp/Agent_Release_x64/full/functions/0x14009cf90.c new file mode 100644 index 00000000..227f7ce3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009cf90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009cf90 FUN_14009cf90 + * Pseudocode, not original source. */ + +void FUN_14009cf90(longlong param_1,undefined8 *param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_14009d4f0((undefined8 *)(param_1 + -8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009cfa0.c b/decomp/Agent_Release_x64/full/functions/0x14009cfa0.c new file mode 100644 index 00000000..9cc6647c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009cfa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009cfa0 FUN_14009cfa0 + * Pseudocode, not original source. */ + +void FUN_14009cfa0(longlong param_1,undefined8 *param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_14009d4f0((undefined8 *)(param_1 + -0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009cfb0.c b/decomp/Agent_Release_x64/full/functions/0x14009cfb0.c new file mode 100644 index 00000000..963f4ebd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009cfb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009cfb0 FUN_14009cfb0 + * Pseudocode, not original source. */ + +void FUN_14009cfb0(longlong param_1,undefined8 *param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_14009d4f0((undefined8 *)(param_1 + -0x10),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009cfc0.c b/decomp/Agent_Release_x64/full/functions/0x14009cfc0.c new file mode 100644 index 00000000..cde388d5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009cfc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009cfc0 FUN_14009cfc0 + * Pseudocode, not original source. */ + +void FUN_14009cfc0(longlong param_1) + +{ + FUN_14009c4d0(param_1 + -8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009cfd0.c b/decomp/Agent_Release_x64/full/functions/0x14009cfd0.c new file mode 100644 index 00000000..b5076f35 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009cfd0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009cfd0 FUN_14009cfd0 + * Pseudocode, not original source. */ + +undefined8 FUN_14009cfd0(longlong param_1) + +{ + return *(undefined8 *)(param_1 + 0xd0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009cfe0.c b/decomp/Agent_Release_x64/full/functions/0x14009cfe0.c new file mode 100644 index 00000000..62c7cc37 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009cfe0.c @@ -0,0 +1,106 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009cfe0 FUN_14009cfe0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14009cfe0(longlong param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + ushort uVar1; + longlong lVar2; + undefined8 uVar3; + ulonglong uVar4; + undefined ***pppuVar5; + undefined1 auStackY_d88 [32]; + undefined **local_d58; + undefined4 uStack_d50; + undefined2 uStack_d4c; + undefined2 uStack_d4a; + int local_d48 [2]; + undefined *local_d40; + longlong local_d38; + uint local_d30; + int local_d2c; + uint local_d20 [2]; + undefined8 local_d18; + undefined1 local_d10; + undefined4 local_d0c; + undefined1 local_d08; + undefined1 local_d07; + undefined8 local_d00; + exception local_cf8 [80]; + longlong local_ca8; + undefined8 uStack_ca0; + longlong *local_28; + undefined4 local_20; + int local_1c; + ulonglong local_18; + + local_d00 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStackY_d88; + lVar2 = param_2; + FUN_1400806d0(local_d48); + FUN_1400801a0((longlong)local_d48,lVar2,param_3,param_4); + FUN_140080830(local_d48,0x800,param_3,param_4); + uVar3 = 0; + FUN_140080830(local_d48,0,param_3,param_4); + uVar3 = CONCAT71((int7)((ulonglong)uVar3 >> 8),0x27); + FUN_14001ba80((longlong)local_d48,uVar3,param_3,param_4); + local_1c = 200; + local_20 = 0; + local_28 = &local_ca8; + if (local_d40 == (undefined *)0x0) { + if (local_d38 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,uVar3,0,param_4); + } + } + else { + local_d30 = *(uint *)(local_d40 + 0x18); + } + local_ca8 = local_d38; + if (local_d38 == 0) { + if (local_d40 == (undefined *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)local_d30,0,param_4); + } + local_ca8 = 0; + if (*(int *)(local_d40 + 0x18) != 0) { + local_ca8 = *(longlong *)(local_d40 + 0x10); + } + } + local_20 = 1; + uStack_ca0 = CONCAT26(uStack_d4a,CONCAT24(uStack_d4c,local_d30)); + local_d20[0] = 1; + local_d18 = 0; + local_d10 = 1; + local_d0c = 0xffffffff; + local_d08 = 1; + local_d07 = DAT_1401551cc; + local_d58 = Proud::AddrPort::vftable; + uStack_d50 = *(undefined4 *)(param_2 + 8); + uStack_d4c = *(undefined2 *)(param_2 + 0xc); + uVar1 = FUN_140096e50(1,0); + uVar4 = (ulonglong)uVar1; + pppuVar5 = &local_d58; + FUN_14009c8f0(param_1 + -8,0,uVar1,(longlong)pppuVar5,(longlong)&local_ca8,local_d20); + if (local_28 == (longlong *)0x0) { + FUN_14002f1e0(local_cf8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,uVar4, + pppuVar5); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_cf8,(ThrowInfo *)&DAT_140151b88); + } + if (local_1c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d58 = &local_d40; + FUN_140095270((longlong *)&local_d40); + if ((local_d38 != 0) && (local_d2c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009d1e0.c b/decomp/Agent_Release_x64/full/functions/0x14009d1e0.c new file mode 100644 index 00000000..7d312caa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009d1e0.c @@ -0,0 +1,123 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009d1e0 FUN_14009d1e0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_14009d1e0(undefined8 *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + ulonglong uVar2; + undefined8 *puVar3; + longlong *plVar4; + longlong *plVar5; + longlong *plVar6; + undefined8 **ppuVar7; + longlong *plVar8; + undefined8 *local_res10; + longlong local_50; + undefined4 local_44; + undefined8 *local_40; + + *param_1 = Proud::ICompletionContext::vftable; + plVar6 = (longlong *)0x0; + param_1[0x12] = 0; + param_1[0x13] = 0; + param_1[0x14] = 0; + param_1[1] = Proud::IUdpPacketFragBoardDg::vftable; + param_1[2] = Proud::IUdpPacketDefragBoardDg::vftable; + FUN_14009c420(param_1 + 8); + *param_1 = Proud::CUdpSocket_S::vftable; + param_1[1] = Proud::CUdpSocket_S::vftable; + param_1[2] = Proud::CUdpSocket_S::vftable; + param_1[8] = Proud::CUdpSocket_S::vftable; + param_1[0x11] = Proud::CUdpSocket_S::vftable; + uVar2 = FUN_14002e790(); + plVar8 = (longlong *)CONCAT71((int7)((ulonglong)param_3 >> 8),1); + FUN_14002e600((undefined4 *)(param_1 + 0x15),uVar2 & 0xffffffff,plVar8,param_4); + param_1[0x1c] = 0; + param_1[0x2a] = 0; + param_1[0x2b] = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 0x2c) = 0; + *(undefined2 *)((longlong)param_1 + 0x164) = 0; + param_1[0x2d] = 0; + param_1[0x2e] = 0; + param_1[0x2f] = 0; + FUN_140033200(&local_50); + local_50 = 0; + local_44 = 1; + local_40 = param_1 + 0x15; + puVar3 = FUN_140030350(0x800,&local_50,plVar8,param_4); + param_1[0x1c] = puVar3; + local_res10 = operator_new(0x90); + plVar4 = plVar6; + if (local_res10 != (undefined8 *)0x0) { + plVar8 = param_1 + 1; + plVar4 = FUN_14009bbe0(local_res10,param_1[0x1c],plVar8); + } + param_1[0x2d] = plVar4; + *(undefined1 *)(plVar4 + 0x11) = 0; + plVar5 = operator_new(0x6b8); + plVar4 = plVar6; + if (plVar5 != (longlong *)0x0) { + *plVar5 = 0; + plVar5[3] = 0; + plVar5[1] = 0; + plVar5[2] = 100; + plVar5[0xcf] = (longlong)Proud::CFastArray::vftable; + plVar5[0xd0] = 0; + plVar5[0xd1] = 0; + plVar5[0xd2] = 0; + plVar5[0xd3] = 0; + plVar5[0xd4] = (longlong)Proud::AddrPort::vftable; + *(undefined4 *)(plVar5 + 0xd5) = 0; + *(undefined2 *)((longlong)plVar5 + 0x6ac) = 0; + plVar4 = plVar5; + } + param_1[0x2e] = plVar4; + *(undefined1 *)(param_1 + 0x20) = 0; + *(undefined1 *)(param_1 + 0x28) = 0; + local_res10 = (undefined8 *)FUN_140030280(0x400); + plVar4 = plVar6; + if (local_res10 != (undefined8 *)0x0) { + plVar8 = (longlong *)(param_2 + 0x60); + if (param_2 == 0) { + plVar8 = plVar6; + } + plVar4 = FUN_140035990(local_res10,1,plVar8,param_4); + } + if (plVar4 == (longlong *)0x0) { + local_res10 = (undefined8 *)0x0; + } + else { + local_res10 = (undefined8 *)FUN_140030280(0x10); + local_res10[1] = 1; + *local_res10 = plVar4; + } + puVar3 = local_res10; + ppuVar7 = &local_res10; + FUN_140031f40(param_1 + 0x2a,(longlong *)ppuVar7); + puVar1 = local_res10; + if (puVar3 != (undefined8 *)0x0) { + plVar4 = puVar3 + 1; + *plVar4 = *plVar4 + -1; + if (*plVar4 == 0) { + plVar4 = (longlong *)*local_res10; + if (plVar4 != (longlong *)0x0) { + FUN_1400358a0(plVar4,ppuVar7,plVar8,param_4); + FUN_1400302f0(plVar4); + } + FUN_1400302f0(puVar1); + } + } + param_1[0x29] = param_2; + *(undefined4 *)(param_1 + 0x2c) = DAT_1401553d0; + *(undefined2 *)((longlong)param_1 + 0x164) = DAT_1401553d4; + local_res10 = operator_new(0x60); + if (local_res10 != (undefined8 *)0x0) { + plVar6 = FUN_14009bd40(local_res10,param_1 + 2,plVar8,param_4); + } + param_1[0x2f] = plVar6; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009d4f0.c b/decomp/Agent_Release_x64/full/functions/0x14009d4f0.c new file mode 100644 index 00000000..fc01b376 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009d4f0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009d4f0 FUN_14009d4f0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_14009d4f0(undefined8 *param_1,undefined8 *param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_14009cd30(param_1,param_2,param_3,param_4); + if (((ulonglong)param_2 & 1) != 0) { + FUN_1400302f0(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009d520.c b/decomp/Agent_Release_x64/full/functions/0x14009d520.c new file mode 100644 index 00000000..916396c6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009d520.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009d520 FUN_14009d520 + * Pseudocode, not original source. */ + +wchar_t * FUN_14009d520(int param_1) + +{ + if (param_1 == 0) { + return L"System"; + } + if (param_1 != 1) { + if (param_1 != 2) { + return L""; + } + return L"HolepunchFreqFail"; + } + return L"Holepunch"; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009d550.c b/decomp/Agent_Release_x64/full/functions/0x14009d550.c new file mode 100644 index 00000000..97706a8d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009d550.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009d550 FUN_14009d550 + * Pseudocode, not original source. */ + +wchar_t * FUN_14009d550(int param_1) + +{ + if (param_1 == 0) { + return L"Disconnected"; + } + if (param_1 == 1) { + return L"Connecting"; + } + if (param_1 == 2) { + return L"Connected"; + } + if (param_1 != 3) { + return L""; + } + return L"Disconnecting"; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009d590.c b/decomp/Agent_Release_x64/full/functions/0x14009d590.c new file mode 100644 index 00000000..8ec12026 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009d590.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009d590 FUN_14009d590 + * Pseudocode, not original source. */ + +uint * FUN_14009d590(uint *param_1,LPCWSTR param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140081e10(param_1,param_2,param_3,param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009d5b0.c b/decomp/Agent_Release_x64/full/functions/0x14009d5b0.c new file mode 100644 index 00000000..e26b4b0a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009d5b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009d5b0 FUN_14009d5b0 + * Pseudocode, not original source. */ + +uint * FUN_14009d5b0(uint *param_1,undefined8 *param_2) + +{ + FUN_140080600(param_1,param_2,0x10); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009d5d0.c b/decomp/Agent_Release_x64/full/functions/0x14009d5d0.c new file mode 100644 index 00000000..6a1868cd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009d5d0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009d5d0 FUN_14009d5d0 + * Pseudocode, not original source. */ + +void FUN_14009d5d0(uint param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + exception local_58 [88]; + + FUN_14002f1e0(local_58,L"Proud::ThrowExceptionOnReadArray: 길이 %d 할당 요청", + (ulonglong)param_1,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009d600.c b/decomp/Agent_Release_x64/full/functions/0x14009d600.c new file mode 100644 index 00000000..45c8d729 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009d600.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009d600 FUN_14009d600 + * Pseudocode, not original source. */ + +longlong FUN_14009d600(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *local_18; + undefined2 local_10; + + FUN_140030200(param_1,param_2,param_3,param_4); + local_18 = PTR_DAT_140155008; + FUN_14001bf80((longlong *)&local_18,param_2,param_3,param_4); + local_10 = (undefined2)param_2[1]; + FUN_140081f40(param_1,(longlong *)&local_18,param_3,param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009d660.c b/decomp/Agent_Release_x64/full/functions/0x14009d660.c new file mode 100644 index 00000000..42ea8b40 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009d660.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009d660 FUN_14009d660 + * Pseudocode, not original source. */ + +longlong FUN_14009d660(longlong param_1,undefined8 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + int iVar1; + longlong lVar2; + int iVar3; + longlong lVar4; + SIZE_T SVar5; + exception local_58 [80]; + + lVar4 = 0; + *(undefined4 *)(param_1 + 4) = 0; + lVar2 = *(longlong *)(param_1 + 8); + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + } + else if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + iVar1 = *(int *)(lVar2 + 0x18); + FUN_14001bc70(lVar2,iVar1 + 0x10,param_3); + if (*(int *)(lVar2 + 0x18) != 0) { + lVar4 = *(longlong *)(lVar2 + 0x10); + } + SVar5 = 0x10; + FUN_14001bd30((undefined8 *)(lVar4 + iVar1),param_2,0x10); + goto LAB_14009d732; + } + if (*(longlong *)(param_1 + 0x10) == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + iVar1 = *(int *)(param_1 + 0x18); + iVar3 = iVar1 + 0x10; + if ((iVar3 < 0) || (*(int *)(param_1 + 0x1c) < iVar3)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + SVar5 = 0x10; + *(int *)(param_1 + 0x18) = iVar3; + FUN_14001bd30((undefined8 *)((longlong)iVar1 + *(longlong *)(param_1 + 0x10)),param_2,0x10); +LAB_14009d732: + FUN_14001be00(param_1,param_2,SVar5,param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009d760.c b/decomp/Agent_Release_x64/full/functions/0x14009d760.c new file mode 100644 index 00000000..8ef5a237 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009d760.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009d760 FUN_14009d760 + * Pseudocode, not original source. */ + +void FUN_14009d760(longlong *param_1,char *param_2) + +{ + wchar_t *pwVar1; + + pwVar1 = L"false"; + if (*param_2 != '\0') { + pwVar1 = L"true"; + } + FUN_14001b850(param_1,pwVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009d780.c b/decomp/Agent_Release_x64/full/functions/0x14009d780.c new file mode 100644 index 00000000..8869d366 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009d780.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009d780 FUN_14009d780 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14009d780(longlong *param_1) + +{ + undefined1 auStack_108 [32]; + wchar_t local_e8 [104]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_108; + swprintf_s(local_e8,99,L"%d"); + FUN_14001b850(param_1,local_e8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009d7e0.c b/decomp/Agent_Release_x64/full/functions/0x14009d7e0.c new file mode 100644 index 00000000..170891bf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009d7e0.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009d7e0 FUN_14009d7e0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14009d7e0(longlong *param_1) + +{ + undefined1 auStack_108 [32]; + wchar_t local_e8 [104]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_108; + swprintf_s(local_e8,99,L"%d"); + FUN_14001b850(param_1,local_e8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009d840.c b/decomp/Agent_Release_x64/full/functions/0x14009d840.c new file mode 100644 index 00000000..bf2b05ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009d840.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009d840 FUN_14009d840 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14009d840(longlong *param_1) + +{ + undefined1 auStack_108 [32]; + wchar_t local_e8 [104]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_108; + swprintf_s(local_e8,99,L"%d"); + FUN_14001b850(param_1,local_e8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009d8a0.c b/decomp/Agent_Release_x64/full/functions/0x14009d8a0.c new file mode 100644 index 00000000..7e4ecd0e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009d8a0.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009d8a0 FUN_14009d8a0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14009d8a0(longlong *param_1) + +{ + undefined1 auStack_108 [32]; + wchar_t local_e8 [104]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_108; + swprintf_s(local_e8,99,L"%ld"); + FUN_14001b850(param_1,local_e8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009d900.c b/decomp/Agent_Release_x64/full/functions/0x14009d900.c new file mode 100644 index 00000000..97c3683c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009d900.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009d900 FUN_14009d900 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14009d900(longlong *param_1) + +{ + undefined1 auStack_108 [32]; + wchar_t local_e8 [104]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_108; + swprintf_s(local_e8,99,L"%I64d"); + FUN_14001b850(param_1,local_e8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009d960.c b/decomp/Agent_Release_x64/full/functions/0x14009d960.c new file mode 100644 index 00000000..4f337a9b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009d960.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009d960 FUN_14009d960 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14009d960(longlong *param_1) + +{ + undefined1 auStack_108 [32]; + wchar_t local_e8 [104]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_108; + swprintf_s(local_e8,99,L"%f"); + FUN_14001b850(param_1,local_e8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009d9d0.c b/decomp/Agent_Release_x64/full/functions/0x14009d9d0.c new file mode 100644 index 00000000..0cee8e0f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009d9d0.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009d9d0 FUN_14009d9d0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14009d9d0(longlong *param_1) + +{ + undefined1 auStack_108 [32]; + wchar_t local_e8 [104]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_108; + swprintf_s(local_e8,99,L"%lf"); + FUN_14001b850(param_1,local_e8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009da40.c b/decomp/Agent_Release_x64/full/functions/0x14009da40.c new file mode 100644 index 00000000..b640301c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009da40.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009da40 FUN_14009da40 + * Pseudocode, not original source. */ + +void FUN_14009da40(longlong *param_1,longlong *param_2) + +{ + FUN_14001b850(param_1,(short *)&DAT_14010a3b8); + FUN_14001b5a0(param_1,param_2); + FUN_14001b850(param_1,(short *)&DAT_14010a3b8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009da80.c b/decomp/Agent_Release_x64/full/functions/0x14009da80.c new file mode 100644 index 00000000..2bb5d150 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009da80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009da80 FUN_14009da80 + * Pseudocode, not original source. */ + +void FUN_14009da80(longlong *param_1) + +{ + FUN_14001b850(param_1,L""); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009da90.c b/decomp/Agent_Release_x64/full/functions/0x14009da90.c new file mode 100644 index 00000000..260bac98 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009da90.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009da90 FUN_14009da90 + * Pseudocode, not original source. */ + +void FUN_14009da90(longlong *param_1,UUID *param_2) + +{ + RPC_STATUS RVar1; + wchar_t *pwVar2; + wchar_t *local_res18 [2]; + + RVar1 = UuidToStringW(param_2,(RPC_WSTR *)local_res18); + pwVar2 = L""; + if (RVar1 == 0) { + pwVar2 = local_res18[0]; + } + FUN_14001b850(param_1,pwVar2); + RpcStringFreeW((RPC_WSTR *)local_res18); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009dae0.c b/decomp/Agent_Release_x64/full/functions/0x14009dae0.c new file mode 100644 index 00000000..5bf1f62e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009dae0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009dae0 FUN_14009dae0 + * Pseudocode, not original source. */ + +void FUN_14009dae0(char *param_1,uint param_2,longlong param_3,uint *param_4) + +{ + undefined1 uVar1; + ushort uVar2; + longlong lVar3; + undefined **local_18; + undefined4 local_10; + undefined2 local_c; + + if (*param_1 != '\0') { + local_18 = Proud::AddrPort::vftable; + local_10 = *(undefined4 *)(param_1 + 0x10); + local_c = *(undefined2 *)(param_1 + 0x14); + if (*(longlong **)(param_1 + 0x40) == (longlong *)0x0) { + lVar3 = 0; + } + else { + lVar3 = **(longlong **)(param_1 + 0x40); + } + uVar1 = (**(code **)(**(longlong **)(param_1 + 0x38) + 0x10))(); + uVar2 = FUN_140096e50(1,uVar1); + FUN_14009c8f0(lVar3,param_2,uVar2,(longlong)&local_18,param_3,param_4); + return; + } + local_18 = *(undefined ***)(param_4 + 2); + local_10 = CONCAT31(local_10._1_3_,(char)param_4[4]); + FUN_14009c2b0(*(char **)(*(longlong *)(param_1 + 0x38) + 0x748),param_3,(SIZE_T *)&local_18, + param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009dbb0.c b/decomp/Agent_Release_x64/full/functions/0x14009dbb0.c new file mode 100644 index 00000000..de7fb1c1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009dbb0.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009dbb0 FUN_14009dbb0 + * Pseudocode, not original source. */ + +void FUN_14009dbb0(longlong param_1) + +{ + longlong *plVar1; + ulonglong uVar2; + longlong lVar3; + longlong lVar4; + undefined **local_18; + undefined4 local_10; + undefined2 local_c; + + if (((*(longlong **)(param_1 + 0x40) != (longlong *)0x0) && (**(longlong **)(param_1 + 0x40) != 0) + ) && (uVar2 = FUN_140033290(param_1 + 8), (char)uVar2 != '\0')) { + local_10 = *(undefined4 *)(param_1 + 0x10); + local_c = *(undefined2 *)(param_1 + 0x14); + lVar4 = 0; + local_18 = Proud::AddrPort::vftable; + lVar3 = lVar4; + if (*(longlong **)(param_1 + 0x40) != (longlong *)0x0) { + lVar3 = **(longlong **)(param_1 + 0x40); + } + FUN_140099a90(*(longlong *)(lVar3 + 0x168),(longlong)&local_18); + plVar1 = *(longlong **)(param_1 + 0x40); + lVar3 = lVar4; + if (plVar1 != (longlong *)0x0) { + lVar3 = *plVar1; + } + if (*(longlong *)(lVar3 + 0x178) != 0) { + local_10 = *(undefined4 *)(param_1 + 0x10); + local_18 = Proud::AddrPort::vftable; + local_c = *(undefined2 *)(param_1 + 0x14); + if (plVar1 != (longlong *)0x0) { + lVar4 = *plVar1; + } + FUN_14009b410(*(undefined8 **)(lVar4 + 0x178),(longlong)&local_18); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009dc90.c b/decomp/Agent_Release_x64/full/functions/0x14009dc90.c new file mode 100644 index 00000000..c61ac1e9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009dc90.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009dc90 FUN_14009dc90 + * Pseudocode, not original source. */ + +undefined2 * FUN_14009dc90(undefined2 *param_1,undefined8 param_2) + +{ + *(undefined ***)(param_1 + 4) = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 8) = 0; + param_1[10] = 0; + *(undefined ***)(param_1 + 0xc) = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 0x10) = 0; + param_1[0x12] = 0; + *(undefined4 *)(param_1 + 0x14) = 0; + *(undefined4 *)(param_1 + 0x16) = 0; + *(undefined4 *)(param_1 + 0x18) = 0; + *(undefined4 *)(param_1 + 0x1a) = 0; + *(undefined8 *)(param_1 + 0x20) = 0; + *param_1 = 0; + *(undefined1 *)(param_1 + 1) = 0; + *(undefined4 *)(param_1 + 8) = DAT_1401553d0; + param_1[10] = DAT_1401553d4; + *(undefined4 *)(param_1 + 0x10) = DAT_1401553d0; + param_1[0x12] = DAT_1401553d4; + *(undefined8 *)(param_1 + 0x1c) = param_2; + *(undefined4 *)(param_1 + 0x14) = 0; + *(undefined4 *)(param_1 + 0x16) = 0; + *(undefined4 *)(param_1 + 0x18) = 0; + *(undefined4 *)(param_1 + 0x1a) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009dd40.c b/decomp/Agent_Release_x64/full/functions/0x14009dd40.c new file mode 100644 index 00000000..5115476c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009dd40.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009dd40 FUN_14009dd40 + * Pseudocode, not original source. */ + +void FUN_14009dd40(longlong param_1) + +{ + longlong *plVar1; + undefined8 *puVar2; + + if ((*(longlong *)(param_1 + 0x40) != 0) && + (*(longlong *)(*(longlong *)(param_1 + 0x40) + 8) = + *(longlong *)(*(longlong *)(param_1 + 0x40) + 8) + -1, + *(longlong *)(*(longlong *)(param_1 + 0x40) + 8) == 0)) { + plVar1 = *(longlong **)(param_1 + 0x40); + puVar2 = (undefined8 *)*plVar1; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(plVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009dda0.c b/decomp/Agent_Release_x64/full/functions/0x14009dda0.c new file mode 100644 index 00000000..ada0fdcc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009dda0.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009dda0 FUN_14009dda0 + * Pseudocode, not original source. */ + +void FUN_14009dda0(longlong param_1,longlong param_2) + +{ + short sVar1; + int iVar2; + undefined8 *puVar3; + + if ((*(int *)(param_1 + 0x10) != *(int *)(param_2 + 8)) || + (*(short *)(param_1 + 0x14) != *(short *)(param_2 + 0xc))) { + FUN_140043cc0((char *)(*(longlong *)(*(longlong *)(param_1 + 0x38) + 0x238) + 0x388),param_1 + 8 + ,'\0'); + iVar2 = *(int *)(param_2 + 8); + *(int *)(param_1 + 0x10) = iVar2; + sVar1 = *(short *)(param_2 + 0xc); + *(short *)(param_1 + 0x14) = sVar1; + if ((iVar2 != DAT_1401553d0) || (sVar1 != DAT_1401553d4)) { + puVar3 = FUN_140099760((char *)(*(longlong *)(*(longlong *)(param_1 + 0x38) + 0x238) + 0x388), + param_1 + 8); + *puVar3 = *(undefined8 *)(param_1 + 0x38); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009de40.c b/decomp/Agent_Release_x64/full/functions/0x14009de40.c new file mode 100644 index 00000000..4c3c9626 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009de40.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009de40 FUN_14009de40 + * Pseudocode, not original source. */ + +undefined4 * +FUN_14009de40(undefined4 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined7 uVar2; + + uVar2 = (undefined7)((ulonglong)param_3 >> 8); + uVar1 = FUN_14002e790(); + FUN_14002e600(param_1,uVar1 & 0xffffffff,CONCAT71(uVar2,1),param_4); + FUN_14003a1f0((undefined8 *)(param_1 + 0x12),1,1); + FUN_14003a1f0((undefined8 *)(param_1 + 0x14),1,1); + *(undefined8 *)(param_1 + 0xe) = 0; + param_1[0x10] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009dea0.c b/decomp/Agent_Release_x64/full/functions/0x14009dea0.c new file mode 100644 index 00000000..278a2a6d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009dea0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009dea0 FUN_14009dea0 + * Pseudocode, not original source. */ + +void FUN_14009dea0(undefined4 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14003a1b0((undefined8 *)(param_1 + 0x14)); + FUN_14003a1b0((undefined8 *)(param_1 + 0x12)); + FUN_14002e7a0(param_1,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009dee0.c b/decomp/Agent_Release_x64/full/functions/0x14009dee0.c new file mode 100644 index 00000000..0ed664f4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009dee0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009dee0 FUN_14009dee0 + * Pseudocode, not original source. */ + +int FUN_14009dee0(int *param_1) + +{ + int iVar1; + + while( true ) { + FUN_14002e6e0(param_1); + if (param_1[0xf] < 1) break; + FUN_14002e770((longlong)param_1); + FUN_14003a100((undefined8 *)(param_1 + 0x14)); + } + param_1[0xe] = param_1[0xe] + 1; + ResetEvent(*(HANDLE *)(param_1 + 0x12)); + iVar1 = param_1[0xe]; + FUN_14002e770((longlong)param_1); + return iVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009df60.c b/decomp/Agent_Release_x64/full/functions/0x14009df60.c new file mode 100644 index 00000000..f13b57fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009df60.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009df60 FUN_14009df60 + * Pseudocode, not original source. */ + +void FUN_14009df60(int *param_1) + +{ + FUN_14002e6e0(param_1); + param_1[0xe] = param_1[0xe] + -1; + if (param_1[0xe] < 1) { + SetEvent(*(HANDLE *)(param_1 + 0x12)); + } + FUN_14002e770((longlong)param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009df90.c b/decomp/Agent_Release_x64/full/functions/0x14009df90.c new file mode 100644 index 00000000..3cb42e4e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009df90.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009df90 FUN_14009df90 + * Pseudocode, not original source. */ + +void FUN_14009df90(int *param_1) + +{ + int *local_20; + int *local_18; + + while( true ) { + FUN_14002e6e0(param_1); + if ((param_1[0xf] < 1) && (param_1[0xe] < 1)) break; + local_20 = param_1 + 0x12; + local_18 = param_1 + 0x14; + FUN_14002e770((longlong)param_1); + FUN_14003a120((longlong)&local_20,2,0xffffffff,1); + } + param_1[0xf] = param_1[0xf] + 1; + ResetEvent(*(HANDLE *)(param_1 + 0x14)); + FUN_14002e770((longlong)param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009e020.c b/decomp/Agent_Release_x64/full/functions/0x14009e020.c new file mode 100644 index 00000000..ae6fe6cb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009e020.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009e020 FUN_14009e020 + * Pseudocode, not original source. */ + +void FUN_14009e020(int *param_1) + +{ + FUN_14002e6e0(param_1); + param_1[0xf] = param_1[0xf] + -1; + if (param_1[0xf] < 1) { + SetEvent(*(HANDLE *)(param_1 + 0x14)); + } + FUN_14002e770((longlong)param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009e050.c b/decomp/Agent_Release_x64/full/functions/0x14009e050.c new file mode 100644 index 00000000..7383c2b9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009e050.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009e050 FUN_14009e050 + * Pseudocode, not original source. */ + +void FUN_14009e050(undefined8 *param_1) + +{ + if (*(char *)(param_1 + 1) != '\0') { + FUN_14009df60((int *)*param_1); + *(undefined1 *)(param_1 + 1) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009e080.c b/decomp/Agent_Release_x64/full/functions/0x14009e080.c new file mode 100644 index 00000000..5d0aeb80 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009e080.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009e080 FUN_14009e080 + * Pseudocode, not original source. */ + +void FUN_14009e080(undefined8 *param_1) + +{ + if (*(char *)(param_1 + 1) != '\0') { + FUN_14009e020((int *)*param_1); + *(undefined1 *)(param_1 + 1) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009e0b0.c b/decomp/Agent_Release_x64/full/functions/0x14009e0b0.c new file mode 100644 index 00000000..b03080c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009e0b0.c @@ -0,0 +1,211 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009e0b0 FUN_14009e0b0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14009e0b0(longlong param_1,short **param_2,undefined *param_3,ulonglong param_4) + +{ + int *piVar1; + int iVar2; + int iVar3; + int iVar4; + int iVar5; + int *piVar6; + short *psVar7; + uint uVar8; + int iVar9; + double dVar10; + undefined1 auStack_ab8 [32]; + short *local_a98; + short *local_a90; + int *local_a88; + undefined1 local_a80; + int local_a7c; + int *local_a78; + undefined1 local_a70; + undefined8 local_a68; + undefined8 local_a58 [324]; + ulonglong local_38; + + local_a68 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_ab8; + FUN_140039bb0(local_a58,param_2,param_3,param_4); + FUN_140039cd0((longlong)local_a58); + if (*(char *)(param_1 + 0x1040) == '\0') { + do { + dVar10 = (double)FUN_14003a220((longlong)local_a58); + piVar1 = (int *)(param_1 + 0x28); + iVar9 = 0; + iVar5 = 0; + param_3 = (undefined *)0x0; + if (dVar10 <= 0.9) { + piVar6 = piVar1; + local_a88 = piVar1; + local_a7c = FUN_14009dee0(piVar1); + local_a80 = 1; + param_2 = (short **)(param_1 + 0x80); + uVar8 = *(uint *)param_2; + param_4 = (ulonglong)uVar8; + do { + if (uVar8 != *(uint *)param_2) { + FUN_140030200(piVar6,param_2,param_3,param_4); + local_a98 = (short *)PTR_DAT_140155010; + iVar2 = FUN_140030080((short *)&DAT_14010a4b0); + iVar4 = iVar5; + if ((local_a98 != (short *)0x0) && (local_a98 != (short *)PTR_DAT_140155010)) { + iVar4 = *(int *)(local_a98 + -4); + } + iVar3 = iVar2; + if (((iVar2 <= iVar4) && (iVar3 = iVar9, local_a98 != (short *)0x0)) && + (local_a98 != (short *)PTR_DAT_140155010)) { + iVar3 = *(int *)(local_a98 + -4); + } + iVar9 = 1; + if (1 < iVar3) { + iVar9 = iVar3; + } + iVar4 = iVar5; + if ((local_a98 != (short *)0x0) && (local_a98 != (short *)PTR_DAT_140155010)) { + iVar4 = *(int *)(local_a98 + -4); + } + if (iVar4 < iVar9) { + FUN_140002dc0((longlong *)&local_a98,iVar9); + } + FUN_140002ea0((longlong *)&local_a98); + psVar7 = local_a98; + if (local_a98 == (short *)0x0) { + psVar7 = (short *)PTR_DAT_140155010; + } + FUN_1400300b0(psVar7,&DAT_14010a4b0,iVar2); + psVar7 = local_a98; + if (local_a98 == (short *)0x0) { + psVar7 = (short *)PTR_DAT_140155010; + } + iVar4 = FUN_140030080(psVar7); + param_3 = PTR_DAT_140155010; + iVar9 = 0; + if (0 < iVar4) { + iVar9 = iVar4; + } + iVar4 = iVar5; + if ((local_a98 != (short *)0x0) && (local_a98 != (short *)PTR_DAT_140155010)) { + iVar4 = *(int *)(local_a98 + -4); + } + if ((iVar9 < iVar4) || (iVar9 = iVar5, local_a98 == (short *)0x0)) { +LAB_14009e41e: + if (((local_a98 != (short *)PTR_DAT_140155010) && (local_a98 != (short *)0x0)) && + ((int *)(local_a98 + -4) != (int *)0x0)) { + *(int *)(local_a98 + -4) = iVar9; + local_a98[iVar9] = 0; + } + } + else if (local_a98 != (short *)PTR_DAT_140155010) { + iVar9 = *(int *)(local_a98 + -4); + goto LAB_14009e41e; + } + param_2 = &local_a98; + FUN_14005f1b0(*(SIZE_T **)(param_1 + 0x1088),(wchar_t *)param_2,(SIZE_T)param_3,param_4) + ; + *(undefined1 *)(param_1 + 0x1040) = 1; + FUN_14009df60(piVar1); + goto LAB_14009e45f; + } + param_3 = param_3 + 1; + param_2 = (short **)((longlong)param_2 + 4); + } while ((longlong)param_3 < 1000); + if (1 < local_a7c) { + *(undefined1 *)(param_1 + 0x1080) = 1; + } + FUN_14009df60(piVar1); + local_a80 = 0; + } + else { + piVar6 = piVar1; + local_a78 = piVar1; + FUN_14009df90(piVar1); + local_a70 = 1; + param_2 = (short **)(param_1 + 0x80); + iVar4 = *(int *)param_2; + param_4 = (ulonglong)(iVar4 + 1U); + do { + iVar2 = *(int *)param_2; + *(uint *)param_2 = iVar2 + 1U; + if (iVar4 + 1U != iVar2 + 1U) { + FUN_140030200(piVar6,param_2,param_3,param_4); + local_a90 = (short *)PTR_DAT_140155010; + iVar2 = FUN_140030080((short *)&DAT_14010a520); + iVar4 = iVar9; + if ((local_a90 != (short *)0x0) && (local_a90 != (short *)PTR_DAT_140155010)) { + iVar4 = *(int *)(local_a90 + -4); + } + iVar3 = iVar2; + if (((iVar2 <= iVar4) && (iVar3 = iVar9, local_a90 != (short *)0x0)) && + (local_a90 != (short *)PTR_DAT_140155010)) { + iVar3 = *(int *)(local_a90 + -4); + } + iVar4 = 1; + if (1 < iVar3) { + iVar4 = iVar3; + } + iVar3 = iVar9; + if ((local_a90 != (short *)0x0) && (local_a90 != (short *)PTR_DAT_140155010)) { + iVar3 = *(int *)(local_a90 + -4); + } + if (iVar3 < iVar4) { + FUN_140002dc0((longlong *)&local_a90,iVar4); + } + FUN_140002ea0((longlong *)&local_a90); + psVar7 = local_a90; + if (local_a90 == (short *)0x0) { + psVar7 = (short *)PTR_DAT_140155010; + } + FUN_1400300b0(psVar7,&DAT_14010a520,iVar2); + psVar7 = local_a90; + if (local_a90 == (short *)0x0) { + psVar7 = (short *)PTR_DAT_140155010; + } + iVar2 = FUN_140030080(psVar7); + param_3 = PTR_DAT_140155010; + iVar4 = 0; + if (0 < iVar2) { + iVar4 = iVar2; + } + if ((local_a90 != (short *)0x0) && (local_a90 != (short *)PTR_DAT_140155010)) { + iVar9 = *(int *)(local_a90 + -4); + } + if ((iVar4 < iVar9) || (iVar4 = iVar5, local_a90 == (short *)0x0)) { +LAB_14009e2ed: + if (((local_a90 != (short *)PTR_DAT_140155010) && (local_a90 != (short *)0x0)) && + ((int *)(local_a90 + -4) != (int *)0x0)) { + *(int *)(local_a90 + -4) = iVar4; + local_a90[iVar4] = 0; + } + } + else if (local_a90 != (short *)PTR_DAT_140155010) { + iVar4 = *(int *)(local_a90 + -4); + goto LAB_14009e2ed; + } + param_2 = &local_a90; + FUN_14005f1b0(*(SIZE_T **)(param_1 + 0x1088),(wchar_t *)param_2,(SIZE_T)param_3,param_4) + ; + *(undefined1 *)(param_1 + 0x1040) = 1; + FUN_14009e020(piVar1); + goto LAB_14009e45f; + } + uVar8 = (int)param_3 + 1; + param_3 = (undefined *)(ulonglong)uVar8; + param_2 = (short **)((longlong)param_2 + 4); + } while ((int)uVar8 < 1000); + FUN_14009e020(piVar1); + local_a70 = 0; + } + Sleep(0); + } while (*(char *)(param_1 + 0x1040) == '\0'); + } +LAB_14009e45f: + FUN_140039bf0(local_a58,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009e4b0.c b/decomp/Agent_Release_x64/full/functions/0x14009e4b0.c new file mode 100644 index 00000000..ddf21269 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009e4b0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009e4b0 FUN_14009e4b0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_14009e4b0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = Proud::CFastArray,0>::vftable; + param_1[1] = 0; + param_1[2] = 0; + param_1[3] = 0; + param_1[4] = 0; + FUN_14009de40((undefined4 *)(param_1 + 5),param_2,param_3,param_4); + *(undefined1 *)(param_1 + 0x210) = 0; + *(undefined1 *)(param_1 + 0x208) = 0; + memset(param_1 + 0x10,0,4000); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009e520.c b/decomp/Agent_Release_x64/full/functions/0x14009e520.c new file mode 100644 index 00000000..90d73feb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009e520.c @@ -0,0 +1,188 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009e520 FUN_14009e520 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014009e5e0) */ +/* WARNING: Removing unreachable block (ram,0x00014009e5e4) */ +/* WARNING: Removing unreachable block (ram,0x00014009e600) */ +/* WARNING: Removing unreachable block (ram,0x00014009e62d) */ + +void FUN_14009e520(undefined *param_1,undefined8 param_2,undefined *param_3,undefined8 param_4) + +{ + char cVar1; + int iVar2; + int iVar3; + undefined8 *puVar4; + longlong lVar5; + longlong *plVar6; + longlong *plVar7; + SIZE_T *pSVar8; + longlong *plVar9; + int iVar10; + longlong **pplVar11; + longlong lVar12; + int *piVar13; + int iVar14; + longlong *local_res10; + longlong *local_res18 [2]; + + iVar14 = 0; + do { + puVar4 = (undefined8 *)0x0; + local_res18[0] = operator_new(0x28); + if (local_res18[0] != (longlong *)0x0) { + param_3 = param_1; + puVar4 = FUN_140037560(local_res18[0],&LAB_14009e4a0,param_1); + } + if (puVar4 == (undefined8 *)0x0) { + local_res18[0] = (longlong *)0x0; + } + else { + local_res18[0] = (longlong *)FUN_140030280(0x10); + local_res18[0][1] = 1; + *local_res18[0] = (longlong)puVar4; + } + plVar9 = local_res18[0]; + iVar10 = *(int *)(param_1 + 0x18); + if (iVar10 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14008a2b0((longlong)param_1,iVar10 + 1,param_3,param_4); + lVar12 = 0; + lVar5 = FUN_14003d690((longlong)param_1); + plVar7 = (longlong *)(lVar5 + (longlong)iVar10 * 8); + pplVar11 = local_res18; + FUN_140086730(plVar7,(longlong *)pplVar11); + plVar6 = local_res18[0]; + if (plVar9 != (longlong *)0x0) { + plVar9 = plVar9 + 1; + *plVar9 = *plVar9 + -1; + if (*plVar9 == 0) { + puVar4 = (undefined8 *)*local_res18[0]; + if (puVar4 != (undefined8 *)0x0) { + FUN_140037670(puVar4); + operator_delete(puVar4); + } + FUN_1400302f0(plVar6); + plVar7 = plVar6; + } + } + iVar14 = iVar14 + 1; + } while (iVar14 < 10); + iVar14 = 0; + lVar5 = lVar12; + do { + if ((lVar5 < 0) || (*(int *)(param_1 + 0x18) <= iVar14)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar7,pplVar11,param_3,param_4); + } + puVar4 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + lVar5 * 8); + if (puVar4 == (undefined8 *)0x0) { + plVar7 = (longlong *)0x0; + } + else { + plVar7 = (longlong *)*puVar4; + } + FUN_140037760(plVar7,pplVar11,param_3,param_4); + iVar14 = iVar14 + 1; + lVar5 = lVar5 + 1; + } while (lVar5 < 10); + pSVar8 = (SIZE_T *)0x3e8; + Sleep(1000); + cVar1 = param_1[0x1080]; + while (cVar1 == '\0') { + pSVar8 = (SIZE_T *)0x32; + Sleep(0x32); + cVar1 = param_1[0x1080]; + } + param_1[0x1040] = 1; + iVar14 = 0; + do { + if ((lVar12 < 0) || (*(int *)(param_1 + 0x18) <= iVar14)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pSVar8,pplVar11,param_3,param_4); + } + puVar4 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + lVar12 * 8); + if (puVar4 == (undefined8 *)0x0) { + pSVar8 = (SIZE_T *)0x0; + } + else { + pSVar8 = (SIZE_T *)*puVar4; + } + FUN_1400375f0(pSVar8); + iVar14 = iVar14 + 1; + lVar12 = lVar12 + 1; + } while (lVar12 < 10); + piVar13 = (int *)(param_1 + 0x80); + lVar5 = 999; + do { + if ((*(int *)(param_1 + 0x80) == 0) || (*piVar13 != piVar13[1])) { + FUN_140030200(pSVar8,pplVar11,param_3,param_4); + local_res10 = (longlong *)PTR_DAT_140155010; + iVar2 = FUN_140030080((short *)&DAT_14010a5e0); + iVar10 = 0; + iVar14 = iVar10; + if ((local_res10 != (longlong *)0x0) && (local_res10 != (longlong *)PTR_DAT_140155010)) { + iVar14 = (int)local_res10[-1]; + } + iVar3 = iVar2; + if (((iVar2 <= iVar14) && (iVar3 = 0, local_res10 != (longlong *)0x0)) && + (iVar3 = 0, local_res10 != (longlong *)PTR_DAT_140155010)) { + iVar3 = (int)local_res10[-1]; + } + iVar14 = 1; + if (1 < iVar3) { + iVar14 = iVar3; + } + iVar3 = iVar10; + if ((local_res10 != (longlong *)0x0) && (local_res10 != (longlong *)PTR_DAT_140155010)) { + iVar3 = (int)local_res10[-1]; + } + if (iVar3 < iVar14) { + FUN_140002dc0((longlong *)&local_res10,iVar14); + } + FUN_140002ea0((longlong *)&local_res10); + plVar9 = local_res10; + if (local_res10 == (longlong *)0x0) { + plVar9 = (longlong *)PTR_DAT_140155010; + } + FUN_1400300b0(plVar9,&DAT_14010a5e0,iVar2); + plVar9 = local_res10; + if (local_res10 == (longlong *)0x0) { + plVar9 = (longlong *)PTR_DAT_140155010; + } + iVar2 = FUN_140030080((short *)plVar9); + param_3 = PTR_DAT_140155010; + iVar14 = 0; + if (0 < iVar2) { + iVar14 = iVar2; + } + if ((local_res10 != (longlong *)0x0) && (local_res10 != (longlong *)PTR_DAT_140155010)) { + iVar10 = (int)local_res10[-1]; + } + if ((iVar14 < iVar10) || (iVar14 = 0, local_res10 == (longlong *)0x0)) { +LAB_14009e851: + if (((local_res10 != (longlong *)PTR_DAT_140155010) && (local_res10 != (longlong *)0x0)) && + (local_res10 + -1 != (longlong *)0x0)) { + *(int *)(local_res10 + -1) = iVar14; + *(short *)((longlong)local_res10 + (longlong)iVar14 * 2) = 0; + } + } + else if (local_res10 != (longlong *)PTR_DAT_140155010) { + iVar14 = (int)local_res10[-1]; + goto LAB_14009e851; + } + pplVar11 = &local_res10; + pSVar8 = *(SIZE_T **)(param_1 + 0x1088); + FUN_14005f1b0(pSVar8,(wchar_t *)pplVar11,(SIZE_T)param_3,param_4); + } + piVar13 = piVar13 + 1; + lVar5 = lVar5 + -1; + if (lVar5 == 0) { + return; + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009e8c0.c b/decomp/Agent_Release_x64/full/functions/0x14009e8c0.c new file mode 100644 index 00000000..7a2f4ac5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009e8c0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009e8c0 FUN_14009e8c0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14009e8c0(undefined8 *param_1) + +{ + *param_1 = 0; + *(undefined4 *)(param_1 + 1) = 0; + param_1[2] = 0; + param_1[3] = 0; + *(undefined4 *)(param_1 + 4) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009e8e0.c b/decomp/Agent_Release_x64/full/functions/0x14009e8e0.c new file mode 100644 index 00000000..7e099714 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009e8e0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009e8e0 FUN_14009e8e0 + * Pseudocode, not original source. */ + +void FUN_14009e8e0(longlong param_1,double param_2) + +{ + FUN_1400bca90((double *)(param_1 + 0x48),param_2); + FUN_1400bcc00((double *)(param_1 + 0x60),param_2); + FUN_1400bcbb0((undefined8 *)(param_1 + 0x38),param_2); + FUN_1400bcb10((double *)(param_1 + 0x58),*(double *)(param_1 + 0x60),*(double *)(param_1 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009e950.c b/decomp/Agent_Release_x64/full/functions/0x14009e950.c new file mode 100644 index 00000000..0a4fe2a6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009e950.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009e950 FUN_14009e950 + * Pseudocode, not original source. */ + +void FUN_14009e950(longlong param_1) + +{ + FUN_140036a40(param_1,DAT_140155048); + FUN_1400369e0(param_1,DAT_140155050); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009e980.c b/decomp/Agent_Release_x64/full/functions/0x14009e980.c new file mode 100644 index 00000000..ecb9769b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009e980.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009e980 FUN_14009e980 + * Pseudocode, not original source. */ + +void FUN_14009e980(longlong param_1) + +{ + FUN_140036a40(param_1,DAT_14015504c); + FUN_1400369e0(param_1,DAT_140155054); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009e9b0.c b/decomp/Agent_Release_x64/full/functions/0x14009e9b0.c new file mode 100644 index 00000000..08e4ff0d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009e9b0.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009e9b0 FUN_14009e9b0 + * Pseudocode, not original source. */ + +undefined2 * FUN_14009e9b0(longlong *param_1) + +{ + longlong lVar1; + undefined2 *puVar2; + + lVar1 = *param_1; + if (lVar1 != 0) { + *param_1 = *(longlong *)(lVar1 + 0x38); + *(undefined8 *)(lVar1 + 0x38) = 0; + return (undefined2 *)(lVar1 + 8); + } + puVar2 = (undefined2 *)FUN_140030280(0x40); + if (puVar2 != (undefined2 *)0x0) { + *(undefined8 *)(puVar2 + 8) = 0; + *(undefined8 *)(puVar2 + 0xc) = 0; + *(undefined8 *)(puVar2 + 0x10) = 0; + *(undefined8 *)(puVar2 + 0x14) = 0; + *(undefined8 *)(puVar2 + 0x18) = 0; + *(undefined ***)(puVar2 + 4) = Proud::ByteArray::vftable; + *(undefined8 *)(puVar2 + 0x1c) = 0; + *puVar2 = 0x1de6; + return puVar2 + 4; + } + return (undefined2 *)0x8; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009ea30.c b/decomp/Agent_Release_x64/full/functions/0x14009ea30.c new file mode 100644 index 00000000..190f2fd4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009ea30.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009ea30 FUN_14009ea30 + * Pseudocode, not original source. */ + +void FUN_14009ea30(longlong *param_1) + +{ + longlong lVar1; + LPVOID pvVar2; + + lVar1 = *param_1; + while (lVar1 != 0) { + pvVar2 = (LPVOID)*param_1; + *param_1 = *(longlong *)((longlong)pvVar2 + 0x38); + *(undefined8 *)((longlong)pvVar2 + 0x38) = 0; + FUN_14003b870((undefined8 *)((longlong)pvVar2 + 8)); + FUN_1400302f0(pvVar2); + lVar1 = *param_1; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009ea90.c b/decomp/Agent_Release_x64/full/functions/0x14009ea90.c new file mode 100644 index 00000000..fe416167 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009ea90.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009ea90 FUN_14009ea90 + * Pseudocode, not original source. */ + +longlong FUN_14009ea90(longlong *param_1) + +{ + longlong *plVar1; + longlong lVar2; + longlong lVar3; + longlong *plVar4; + + plVar1 = (longlong *)param_1[1]; + if (plVar1 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + lVar2 = *plVar1; + lVar3 = plVar1[2]; + param_1[1] = lVar2; + if (lVar2 == 0) { + param_1[2] = 0; + } + else { + *(undefined8 *)(lVar2 + 8) = 0; + } + plVar4 = (longlong *)*param_1; + if (plVar4 != (longlong *)0x0) { + (**(code **)(*plVar4 + 0x10))(plVar4,plVar1); + param_1[3] = param_1[3] + -1; + return lVar3; + } + FUN_1400302f0(plVar1); + param_1[3] = param_1[3] + -1; + return lVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009eb20.c b/decomp/Agent_Release_x64/full/functions/0x14009eb20.c new file mode 100644 index 00000000..2aa99669 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009eb20.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009eb20 FUN_14009eb20 + * Pseudocode, not original source. */ + +void FUN_14009eb20(longlong *param_1,longlong param_2,SIZE_T *param_3,undefined8 param_4) + +{ + SIZE_T SVar1; + longlong *plVar2; + longlong lVar3; + undefined2 *puVar4; + undefined8 *puVar5; + + puVar4 = FUN_14009e9b0(param_1); + SVar1 = *param_3; + *(SIZE_T *)(puVar4 + 0x14) = SVar1; + thunk_FUN_1400a1fb0(param_2,(longlong)puVar4,SVar1,param_4); + plVar2 = (longlong *)param_1[1]; + lVar3 = param_1[3]; + if (plVar2 == (longlong *)0x0) { + puVar5 = (undefined8 *)FUN_140030280(0x18); + } + else { + puVar5 = (undefined8 *)(**(code **)(*plVar2 + 8))(plVar2,0x18); + } + if (puVar5 != (undefined8 *)0x0) { + puVar5[2] = puVar4; + } + puVar5[1] = lVar3; + *puVar5 = 0; + param_1[4] = param_1[4] + 1; + if ((undefined8 *)param_1[3] == (undefined8 *)0x0) { + param_1[2] = (longlong)puVar5; + } + else { + *(undefined8 *)param_1[3] = puVar5; + } + param_1[3] = (longlong)puVar5; + *(int *)((longlong)param_1 + 0x34) = *(int *)((longlong)param_1 + 0x34) + *(int *)(puVar4 + 0xc); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009ebd0.c b/decomp/Agent_Release_x64/full/functions/0x14009ebd0.c new file mode 100644 index 00000000..0a9d9879 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009ebd0.c @@ -0,0 +1,73 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009ebd0 FUN_14009ebd0 + * Pseudocode, not original source. */ + +void FUN_14009ebd0(longlong param_1,longlong *param_2,int param_3) + +{ + int iVar1; + longlong lVar2; + longlong lVar3; + longlong *plVar4; + undefined8 *puVar5; + longlong lVar6; + int iVar7; + undefined4 uStack_24; + + if ((100 < (ulonglong)param_2[2]) && ((void *)*param_2 != (void *)0x0)) { + operator_delete__((void *)*param_2); + *param_2 = 0; + } + param_2[1] = 0; + param_2[2] = 100; + lVar2 = *(longlong *)(param_1 + 0x28); + iVar7 = 0; + if (lVar2 != 0) { + if (*(int *)(lVar2 + 0x18) == 0) { + lVar6 = 0; + } + else { + lVar6 = *(longlong *)(lVar2 + 0x10); + } + iVar7 = *(int *)(lVar2 + 0x18) - *(int *)(param_1 + 0x30); + FUN_140098340(param_2,lVar6 + *(int *)(param_1 + 0x30),iVar7); + } + puVar5 = *(undefined8 **)(param_1 + 0x10); + while( true ) { + if ((puVar5 == (undefined8 *)0x0) || (param_3 <= iVar7)) { + return; + } + if (puVar5 == (undefined8 *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + lVar2 = puVar5[2]; + iVar1 = *(int *)(lVar2 + 0x18); + if (iVar1 == 0) { + lVar6 = 0; + } + else { + lVar6 = *(longlong *)(lVar2 + 0x10); + } + lVar3 = param_2[1]; + if (lVar3 < 0) break; + FUN_140097470(param_2,lVar3 + 1,-1); + if (param_2[1] <= lVar3) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((ulonglong)param_2[2] < 0x65) { + plVar4 = param_2 + (lVar3 + 2) * 2; + } + else { + plVar4 = (longlong *)(lVar3 * 0x10 + *param_2); + } + *plVar4 = CONCAT44(uStack_24,iVar1); + plVar4[1] = lVar6; + iVar7 = iVar7 + *(int *)(lVar2 + 0x18); + puVar5 = (undefined8 *)*puVar5; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009ed20.c b/decomp/Agent_Release_x64/full/functions/0x14009ed20.c new file mode 100644 index 00000000..5786317f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009ed20.c @@ -0,0 +1,62 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009ed20 FUN_14009ed20 + * Pseudocode, not original source. */ + +void FUN_14009ed20(longlong *param_1,int param_2) + +{ + longlong lVar1; + int iVar2; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 != 0) { + lVar1 = param_1[5]; + if (lVar1 != 0) { + iVar2 = (int)param_1[6] + param_2; + if (iVar2 < *(int *)(lVar1 + 0x18)) { + *(int *)((longlong)param_1 + 0x34) = *(int *)((longlong)param_1 + 0x34) - param_2; + *(int *)(param_1 + 6) = iVar2; + return; + } + iVar2 = *(int *)(lVar1 + 0x18) - (int)param_1[6]; + *(int *)((longlong)param_1 + 0x34) = *(int *)((longlong)param_1 + 0x34) - iVar2; + param_2 = param_2 - iVar2; + if ((*(short *)(lVar1 + -8) != 0x1de6) || (*(longlong *)(lVar1 + 0x30) != 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(longlong *)(lVar1 + 0x30) = *param_1; + *param_1 = lVar1 + -8; + param_1[5] = 0; + *(undefined4 *)(param_1 + 6) = 0; + } + if (0 < param_2) { + while (param_1[4] != 0) { + lVar1 = FUN_14009ea90(param_1 + 1); + if (param_2 < *(int *)(lVar1 + 0x18)) { + *(int *)((longlong)param_1 + 0x34) = *(int *)((longlong)param_1 + 0x34) - param_2; + param_1[5] = lVar1; + *(int *)(param_1 + 6) = param_2; + return; + } + *(int *)((longlong)param_1 + 0x34) = + *(int *)((longlong)param_1 + 0x34) - *(int *)(lVar1 + 0x18); + param_2 = param_2 - *(int *)(lVar1 + 0x18); + if ((*(short *)(lVar1 + -8) != 0x1de6) || (*(longlong *)(lVar1 + 0x30) != 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(longlong *)(lVar1 + 0x30) = *param_1; + *param_1 = lVar1 + -8; + if (param_2 < 1) { + return; + } + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009ee20.c b/decomp/Agent_Release_x64/full/functions/0x14009ee20.c new file mode 100644 index 00000000..0c9ec7c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009ee20.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009ee20 FUN_14009ee20 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_14009ee20(longlong param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + int iVar1; + undefined8 uVar2; + SIZE_T SVar3; + undefined1 auStack_d28 [32]; + undefined8 local_d08; + exception local_d00 [72]; + undefined1 local_cb8 [3200]; + longlong local_38; + int local_2c; + ulonglong local_28; + + local_d08 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_d28; + uVar2 = 0x5713; + SVar3 = param_3; + FUN_1400221b0(param_3,0x5713,param_3,param_4); + iVar1 = FUN_1400a1f10(param_1,uVar2,SVar3,param_4); + FUN_140081aa0(param_3,(longlong)iVar1,SVar3,param_4); + if (*(longlong *)(param_2 + 0xc80) == 0) { + FUN_14002f1e0(local_d00,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,SVar3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d00,(ThrowInfo *)&DAT_140151b88); + } + if (*(int *)(param_2 + 0xc8c) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(param_2 + 0xc88) = 0; + FUN_140041760((longlong)local_cb8,param_3,SVar3); + FUN_140040a60(param_2,(longlong)local_cb8,SVar3,param_4); + if (local_38 == 0) { + FUN_14002f1e0(local_d00,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,SVar3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d00,(ThrowInfo *)&DAT_140151b88); + } + if (local_2c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_140040a60(param_2,param_1,SVar3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009ef40.c b/decomp/Agent_Release_x64/full/functions/0x14009ef40.c new file mode 100644 index 00000000..ea3fe872 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009ef40.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009ef40 FUN_14009ef40 + * Pseudocode, not original source. */ + +undefined8 * +FUN_14009ef40(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = 0; + param_1[1] = 0; + param_1[4] = 0; + param_1[2] = 0; + param_1[3] = 0; + param_1[7] = 0; + param_1[8] = 0; + FUN_1400bcab0(param_1 + 9); + FUN_1400bcb90(param_1 + 0xb); + param_1[0xd] = 0; + param_1[0xe] = 0; + param_1[0xc] = 0; + param_1[0xf] = 0; + param_1[6] = 0; + FUN_1400b8d60(param_1 + 1,param_2,param_3,param_4); + param_1[5] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009efd0.c b/decomp/Agent_Release_x64/full/functions/0x14009efd0.c new file mode 100644 index 00000000..a710060c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009efd0.c @@ -0,0 +1,64 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009efd0 FUN_14009efd0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014009f034) */ + +void FUN_14009efd0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + longlong *plVar3; + LPVOID pvVar4; + undefined8 *puVar5; + + puVar5 = (undefined8 *)param_1[2]; + while( true ) { + if (puVar5 == (undefined8 *)0x0) { + lVar1 = param_1[4]; + while( true ) { + if (lVar1 == 0) { + param_1[2] = 0; + param_1[3] = 0; + puVar5 = (undefined8 *)param_1[1]; + if (puVar5 != (undefined8 *)0x0) { + (**(code **)*puVar5)(puVar5,1); + } + lVar1 = *param_1; + while (lVar1 != 0) { + pvVar4 = (LPVOID)*param_1; + *param_1 = *(longlong *)((longlong)pvVar4 + 0x38); + *(undefined8 *)((longlong)pvVar4 + 0x38) = 0; + FUN_14003b870((undefined8 *)((longlong)pvVar4 + 8)); + FUN_1400302f0(pvVar4); + lVar1 = *param_1; + } + return; + } + plVar2 = (longlong *)param_1[2]; + if (plVar2 == (longlong *)0x0) break; + param_1[2] = *plVar2; + plVar3 = (longlong *)param_1[1]; + if (plVar3 == (longlong *)0x0) { + FUN_1400302f0(plVar2); + } + else { + (**(code **)(*plVar3 + 0x10))(plVar3,plVar2); + } + param_1[4] = param_1[4] + -1; + lVar1 = param_1[4]; + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + lVar1 = puVar5[2]; + if ((*(short *)(lVar1 + -8) != 0x1de6) || (*(longlong *)(lVar1 + 0x30) != 0)) break; + *(longlong *)(lVar1 + 0x30) = *param_1; + *param_1 = lVar1 + -8; + puVar5 = (undefined8 *)*puVar5; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009f100.c b/decomp/Agent_Release_x64/full/functions/0x14009f100.c new file mode 100644 index 00000000..3325e555 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009f100.c @@ -0,0 +1,60 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009f100 FUN_14009f100 + * Pseudocode, not original source. */ + +void FUN_14009f100(longlong param_1,int param_2,longlong param_3,undefined8 param_4) + +{ + longlong lVar1; + undefined4 *puVar2; + longlong lVar3; + int iVar4; + undefined4 *puVar5; + undefined2 *puVar6; + int iVar7; + longlong lVar8; + longlong lVar9; + + iVar7 = (int)param_4; + lVar3 = (longlong)iVar7; + if (((-1 < iVar7) && (-1 < param_2)) && (param_2 <= *(int *)(param_1 + 0x18))) { + iVar4 = *(int *)(param_1 + 0x18); + FUN_1400700b0(param_1,iVar4 + iVar7,param_3,param_4); + iVar4 = iVar4 - param_2; + if ((0 < iVar4) && (iVar4 = iVar4 + -1, lVar8 = (longlong)iVar4, -1 < iVar4)) { + lVar9 = (lVar8 + param_2 + lVar3) * 0x48; + do { + lVar1 = FUN_14003d690(param_1); + puVar5 = (undefined4 *)(lVar3 * -0x48 + lVar1 + lVar9); + lVar1 = FUN_14003d690(param_1); + puVar2 = (undefined4 *)(lVar9 + lVar1); + FUN_140064ff0(puVar2,puVar5); + lVar9 = lVar9 + -0x48; + lVar8 = lVar8 + -1; + puVar2[10] = puVar5[10]; + puVar2[0xe] = puVar5[0xe]; + *(undefined2 *)(puVar2 + 0xf) = *(undefined2 *)(puVar5 + 0xf); + *(undefined1 *)(puVar2 + 0x10) = *(undefined1 *)(puVar5 + 0x10); + } while (-1 < lVar8); + } + if (0 < lVar3) { + puVar6 = (undefined2 *)(param_3 + 0x3c); + do { + lVar8 = FUN_14003d690(param_1); + puVar2 = (undefined4 *) + (((longlong)param_2 * 0x48 - param_3) + -0x3c + lVar8 + (longlong)puVar6); + FUN_140064ff0(puVar2,(undefined4 *)(puVar6 + -0x1e)); + lVar3 = lVar3 + -1; + puVar2[10] = *(undefined4 *)(puVar6 + -10); + puVar2[0xe] = *(undefined4 *)(puVar6 + -2); + *(undefined2 *)(puVar2 + 0xf) = *puVar6; + *(undefined1 *)(puVar2 + 0x10) = *(undefined1 *)(puVar6 + 2); + puVar6 = puVar6 + 0x24; + } while (lVar3 != 0); + } + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009f250.c b/decomp/Agent_Release_x64/full/functions/0x14009f250.c new file mode 100644 index 00000000..d821bc57 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009f250.c @@ -0,0 +1,342 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009f250 FUN_14009f250 + * Pseudocode, not original source. */ + +undefined8 * +FUN_14009f250(longlong *param_1,undefined4 *param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined4 uVar2; + undefined8 uVar3; + ulonglong uVar4; + undefined2 *puVar5; + undefined8 *puVar6; + uint *puVar7; + undefined2 *puVar8; + longlong **pplVar9; + ulonglong *puVar10; + undefined8 *puVar11; + uint uVar12; + undefined4 uVar13; + SIZE_T SVar14; + undefined8 *puVar15; + longlong *local_res8; + ulonglong local_res10; + longlong *local_res18; + undefined2 *local_138; + undefined8 *local_130; + uint local_128; + int iStack_124; + uint local_120 [2]; + longlong local_118; + longlong local_110; + undefined4 local_108; + int local_104; + undefined2 *local_f8; + undefined8 *local_f0; + undefined8 local_e8; + undefined4 local_d8 [2]; + longlong local_d0; + longlong local_c8; + undefined4 local_c0; + int local_bc; + undefined4 local_b0; + undefined **local_a8; + undefined4 local_a0; + undefined2 local_9c; + undefined1 local_98; + undefined8 local_88; + exception local_80 [72]; + + local_88 = 0xfffffffffffffffe; + puVar6 = (undefined8 *)0x0; + *param_2 = 0; + if ((int)param_1[1] == 0) { + puVar6 = (undefined8 *)0x0; + } + else { + FUN_1400806d0(local_120); + SVar14 = (SIZE_T)*(uint *)(param_1 + 1); + FUN_140080350((longlong)local_120,*param_1,SVar14,param_4); + FUN_140080830((int *)local_120,(ulonglong)*(uint *)(param_1 + 1),SVar14,param_4); + FUN_1400802d0((int *)local_120,0,SVar14,param_4); + puVar11 = puVar6; + puVar15 = puVar6; + while( true ) { + local_128 = 0; + iStack_124 = 0; + local_130 = (undefined8 *)0x0; + local_138 = (undefined2 *)0x0; + SVar14 = 2; + pplVar9 = &local_res8; + puVar7 = local_120; + uVar3 = FUN_140080600(puVar7,pplVar9,2); + uVar13 = SUB84(puVar11,0); + if ((char)uVar3 == '\0') { + *(undefined4 *)(param_1 + 4) = uVar13; + FUN_140095270((longlong *)&local_138); + if (local_130 != (undefined8 *)0x0) { + if (iStack_124 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_128 = 0; + } + local_res8 = &local_118; + FUN_140095270(&local_118); + if (local_110 == 0) { + return puVar15; + } + if (-1 < local_104) { + return puVar15; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if ((short)local_res8 != 0x5713) break; + puVar10 = &local_res10; + puVar7 = local_120; + uVar4 = FUN_140080ca0(puVar7,puVar10,SVar14,param_4); + uVar1 = local_res10; + if ((char)uVar4 == '\0') { + *(undefined4 *)(param_1 + 4) = uVar13; + FUN_140095270((longlong *)&local_138); + if (local_130 != (undefined8 *)0x0) { + if (iStack_124 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_128 = 0; + } + local_res8 = &local_118; + FUN_140095270(&local_118); + if (local_110 == 0) { + return puVar15; + } + if (-1 < local_104) { + return puVar15; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar12 = (uint)local_res10; + if ((int)uVar12 < 0) { + if (local_118 == 0) { + if (local_110 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar7,puVar10,SVar14,param_4); + } + } + else { + local_108 = *(undefined4 *)(local_118 + 0x18); + } + *(undefined4 *)(param_1 + 4) = local_108; + *param_2 = 0x1f; + FUN_140095270((longlong *)&local_138); + if (local_130 != (undefined8 *)0x0) { + if (iStack_124 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_128 = 0; + } + local_res8 = &local_118; + FUN_140095270(&local_118); + if ((local_110 != 0) && (local_104 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + goto LAB_14009f7ab; + } + if (*(int *)((longlong)param_1 + 0x1c) < (int)uVar12) { + if (local_118 == 0) { + if (local_110 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar7,puVar10,SVar14,param_4); + } + } + else { + local_108 = *(undefined4 *)(local_118 + 0x18); + } + *(undefined4 *)(param_1 + 4) = local_108; + *param_2 = 0x20; + FUN_140095270((longlong *)&local_138); + if (local_130 != (undefined8 *)0x0) { + if (iStack_124 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_128 = 0; + } + local_res8 = &local_118; + FUN_140095270(&local_118); + if ((local_110 != 0) && (local_104 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + goto LAB_14009f7ab; + } + uVar4 = local_res10 & 0xffffffff; + uVar2 = FUN_140080660(local_120,uVar12,SVar14,param_4); + if ((char)uVar2 == '\0') { + *(undefined4 *)(param_1 + 4) = uVar13; + FUN_140095270((longlong *)&local_138); + if (local_130 != (undefined8 *)0x0) { + if (iStack_124 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_128 = 0; + } + local_res8 = &local_118; + FUN_140095270(&local_118); + if (local_110 == 0) { + return puVar15; + } + if (-1 < local_104) { + return puVar15; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (local_130 != (undefined8 *)0x0) { + FUN_14002f1e0(local_80,(wchar_t *)PTR_u_Cannot_use_internal_buffer_becau_140156ba0,SVar14, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_80,(ThrowInfo *)&DAT_140151b88); + } + if (local_138 == (undefined2 *)0x0) { + puVar5 = FUN_1400952b0(0,uVar4,SVar14); + *(undefined8 *)(puVar5 + 0x14) = 1; + if (local_130 == (undefined8 *)0x0) { + uVar4 = 0; + local_138 = puVar5; + goto LAB_14009f39c; + } + puVar8 = local_138; + local_138 = puVar5; + if (iStack_124 < (int)uVar12) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + else { +LAB_14009f39c: + puVar8 = local_138; + if ((int)uVar12 < 1) { + if (local_138 == (undefined2 *)0x0) goto LAB_14009f55a; + uVar12 = 0; + } + else if (local_138 == (undefined2 *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,uVar4,SVar14,param_4); + } + FUN_14001bc70((longlong)local_138,uVar12,SVar14); + uVar12 = local_128; + } + local_128 = uVar12; + puVar11 = local_130; + if (local_130 == (undefined8 *)0x0) { + uVar4 = 0; + if (local_138 == (undefined2 *)0x0) { +LAB_14009f55a: + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar8,uVar4,SVar14,param_4); + } + puVar11 = puVar6; + if (*(int *)(local_138 + 0xc) != 0) { + puVar11 = *(undefined8 **)(local_138 + 8); + } + } + uVar3 = FUN_140080600(local_120,puVar11,uVar1 & 0xffffffff); + if ((char)uVar3 == '\0') { + *(undefined4 *)(param_1 + 4) = uVar13; + FUN_140095270((longlong *)&local_138); + if (local_130 != (undefined8 *)0x0) { + if (iStack_124 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_128 = 0; + } + local_res8 = &local_118; + FUN_140095270(&local_118); + if (local_110 == 0) { + return puVar15; + } + if (-1 < local_104) { + return puVar15; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_1400806d0(local_d8); + local_a8 = Proud::AddrPort::vftable; + local_98 = 0; + local_a0 = DAT_1401553d0; + local_9c = DAT_1401553d4; + local_b0 = (undefined4)param_1[3]; + local_e8 = 0; + local_f0 = (undefined8 *)0x0; + if (local_138 == (undefined2 *)0x0) { + local_f8 = (undefined2 *)0x0; + local_f0 = local_130; + local_e8 = CONCAT44(iStack_124,local_128); + } + else { + *(longlong *)(local_138 + 0x14) = *(longlong *)(local_138 + 0x14) + 1; + local_f8 = local_138; + } + FUN_1400807a0(local_d8,(longlong *)&local_f8); + param_4 = 1; + FUN_14009f100(param_1[2],*(int *)(param_1[2] + 0x18),(longlong)local_d8,1); + puVar15 = (undefined8 *)(ulonglong)((int)puVar15 + 1); + puVar11 = (undefined8 *) + (ulonglong)(uint)((int)(((int)local_120[0] >> 0x1f & 7U) + local_120[0]) >> 3); + local_res18 = &local_d0; + FUN_140095270(&local_d0); + if (local_c8 != 0) { + if (local_bc < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_c0 = 0; + } + FUN_140095270((longlong *)&local_138); + if ((local_130 != (undefined8 *)0x0) && (iStack_124 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + if (local_118 == 0) { + if (local_110 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar7,pplVar9,SVar14,param_4); + } + } + else { + local_108 = *(undefined4 *)(local_118 + 0x18); + } + *(undefined4 *)(param_1 + 4) = local_108; + *param_2 = 0x1f; + FUN_140095270((longlong *)&local_138); + if (local_130 != (undefined8 *)0x0) { + if (iStack_124 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_128 = 0; + } + local_res8 = &local_118; + FUN_140095270(&local_118); + if ((local_110 != 0) && (local_104 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } +LAB_14009f7ab: + puVar6 = (undefined8 *)0xffffffff; + } + return puVar6; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009f830.c b/decomp/Agent_Release_x64/full/functions/0x14009f830.c new file mode 100644 index 00000000..9216dd40 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009f830.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009f830 FUN_14009f830 + * Pseudocode, not original source. */ + +ulonglong FUN_14009f830(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, + undefined4 *param_5) + +{ + undefined8 *puVar1; + longlong local_38; + undefined4 local_30; + undefined8 local_28; + undefined4 local_20; + undefined4 local_1c; + int local_18; + + local_1c = (undefined4)param_4; + local_20 = (undefined4)param_3; + local_38 = 0; + local_18 = 0; + if ((int)param_1[4] != 0) { + local_38 = param_1[3]; + } + local_38 = local_38 + param_1[6]; + local_30 = (undefined4)param_1[7]; + local_28 = param_2; + puVar1 = FUN_14009f250(&local_38,param_5,param_3,param_4); + FUN_1400bbe80(param_1,(longlong)local_18,param_3,param_4); + return (ulonglong)puVar1 & 0xffffffff; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009f8a0.c b/decomp/Agent_Release_x64/full/functions/0x14009f8a0.c new file mode 100644 index 00000000..05b980b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009f8a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009f8a0 FUN_14009f8a0 + * Pseudocode, not original source. */ + +void FUN_14009f8a0(undefined8 *param_1) + +{ + *param_1 = Proud::IHostIDFactory::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009f8b0.c b/decomp/Agent_Release_x64/full/functions/0x14009f8b0.c new file mode 100644 index 00000000..cefe5b0d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009f8b0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009f8b0 FUN_14009f8b0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14009f8b0(undefined8 *param_1) + +{ + *(undefined4 *)(param_1 + 1) = 2; + *param_1 = Proud::CHostIDFactory::vftable; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009f8d0.c b/decomp/Agent_Release_x64/full/functions/0x14009f8d0.c new file mode 100644 index 00000000..dcbb5a87 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009f8d0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009f8d0 FUN_14009f8d0 + * Pseudocode, not original source. */ + +void FUN_14009f8d0(longlong param_1) + +{ + int *piVar1; + undefined4 uVar2; + + piVar1 = (int *)(param_1 + 8); + *piVar1 = *piVar1 + 1; + uVar2 = *(undefined4 *)(param_1 + 8); + if (*piVar1 == 0) { + uVar2 = 3; + } + *(undefined4 *)(param_1 + 8) = uVar2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009f8f0.c b/decomp/Agent_Release_x64/full/functions/0x14009f8f0.c new file mode 100644 index 00000000..245ada54 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009f8f0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009f8f0 FUN_14009f8f0 + * Pseudocode, not original source. */ + +undefined8 * FUN_14009f8f0(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::IHostIDFactory::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009f920.c b/decomp/Agent_Release_x64/full/functions/0x14009f920.c new file mode 100644 index 00000000..ea50bd39 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009f920.c @@ -0,0 +1,133 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009f920 FUN_14009f920 + * Pseudocode, not original source. */ + +void FUN_14009f920(char *param_1,uint param_2) + +{ + ulonglong uVar1; + undefined8 uVar2; + ulonglong uVar3; + ulonglong uVar4; + void *_Dst; + longlong lVar5; + longlong lVar6; + ulonglong uVar7; + ulonglong uVar8; + int iVar9; + ulonglong uVar10; + ulonglong uVar11; + float fVar12; + float fVar13; + + if (param_2 == 0) { + param_2 = FUN_14003d4e0((longlong)param_1,*(longlong *)(param_1 + 0x20)); + } + if (param_2 != *(uint *)(param_1 + 0x28)) { + if (*(longlong *)(param_1 + 8) == 0) { + lVar5 = 0; + *(uint *)(param_1 + 0x28) = param_2; + fVar13 = (float)param_2 * *(float *)(param_1 + 0x34); + if ((9.223372e+18 < fVar13) && (fVar13 = fVar13 - 9.223372e+18, fVar13 < 9.223372e+18)) { + lVar5 = -0x8000000000000000; + } + fVar12 = (float)param_2 * *(float *)(param_1 + 0x30); + lVar6 = 0; + *(longlong *)(param_1 + 0x38) = (longlong)fVar13 + lVar5; + if ((9.223372e+18 < fVar12) && (fVar12 = fVar12 - 9.223372e+18, fVar12 < 9.223372e+18)) { + lVar6 = -0x8000000000000000; + } + *(longlong *)(param_1 + 0x40) = (longlong)fVar12 + lVar6; + if ((ulonglong)((longlong)fVar12 + lVar6) < 0x11) { + param_1[0x40] = '\0'; + param_1[0x41] = '\0'; + param_1[0x42] = '\0'; + param_1[0x43] = '\0'; + param_1[0x44] = '\0'; + param_1[0x45] = '\0'; + param_1[0x46] = '\0'; + param_1[0x47] = '\0'; + return; + } + } + else { + _Dst = (void *)FUN_140030280((ulonglong)param_2 << 3); + if (_Dst == (void *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + memset(_Dst,0,(ulonglong)param_2 << 3); + uVar7 = 0; + uVar4 = *(ulonglong *)(param_1 + 0x10); + uVar10 = uVar7; + uVar11 = uVar7; + while (uVar4 != 0) { + uVar1 = *(ulonglong *)(uVar4 + 0x18); + uVar3 = (ulonglong)*(uint *)(uVar4 + 0x28) % (ulonglong)param_2; + lVar5 = *(longlong *)((longlong)_Dst + uVar3 * 8); + iVar9 = (int)uVar10; + if (iVar9 == 0) { + *(undefined8 *)(uVar4 + 0x20) = 0; + *(undefined8 *)(uVar4 + 0x18) = 0; + uVar10 = 1; + uVar7 = uVar4; + uVar11 = uVar4; + } + else if (lVar5 == 0) { + *(undefined8 *)(uVar4 + 0x20) = 0; + *(ulonglong *)(uVar4 + 0x18) = uVar7; + if (uVar7 != 0) { + *(ulonglong *)(uVar7 + 0x20) = uVar4; + } + uVar10 = (ulonglong)(iVar9 + 1); + uVar7 = uVar4; + } + else { + uVar8 = uVar4; + if (*(longlong *)(lVar5 + 0x20) != 0) { + *(ulonglong *)(*(longlong *)(lVar5 + 0x20) + 0x18) = uVar4; + uVar8 = uVar7; + } + uVar2 = *(undefined8 *)(lVar5 + 0x20); + *(longlong *)(uVar4 + 0x18) = lVar5; + uVar10 = (ulonglong)(iVar9 + 1); + *(undefined8 *)(uVar4 + 0x20) = uVar2; + *(ulonglong *)(lVar5 + 0x20) = uVar4; + uVar7 = uVar8; + } + *(ulonglong *)((longlong)_Dst + uVar3 * 8) = uVar4; + uVar4 = uVar1; + } + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + *(void **)(param_1 + 8) = _Dst; + *(uint *)(param_1 + 0x28) = param_2; + *(ulonglong *)(param_1 + 0x10) = uVar7; + *(ulonglong *)(param_1 + 0x18) = uVar11; + FUN_140097020(param_1); + lVar5 = 0; + fVar13 = (float)*(uint *)(param_1 + 0x28) * *(float *)(param_1 + 0x34); + if ((9.223372e+18 < fVar13) && (fVar13 = fVar13 - 9.223372e+18, fVar13 < 9.223372e+18)) { + lVar5 = -0x8000000000000000; + } + fVar12 = (float)*(uint *)(param_1 + 0x28) * *(float *)(param_1 + 0x30); + lVar6 = 0; + *(longlong *)(param_1 + 0x38) = (longlong)fVar13 + lVar5; + if ((9.223372e+18 < fVar12) && (fVar12 = fVar12 - 9.223372e+18, fVar12 < 9.223372e+18)) { + lVar6 = -0x8000000000000000; + } + *(longlong *)(param_1 + 0x40) = (longlong)fVar12 + lVar6; + if ((ulonglong)((longlong)fVar12 + lVar6) < 0x11) { + param_1[0x40] = '\0'; + param_1[0x41] = '\0'; + param_1[0x42] = '\0'; + param_1[0x43] = '\0'; + param_1[0x44] = '\0'; + param_1[0x45] = '\0'; + param_1[0x46] = '\0'; + param_1[0x47] = '\0'; + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009fb70.c b/decomp/Agent_Release_x64/full/functions/0x14009fb70.c new file mode 100644 index 00000000..20e817fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009fb70.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009fb70 FUN_14009fb70 + * Pseudocode, not original source. */ + +uint FUN_14009fb70(longlong param_1,uint param_2) + +{ + ulonglong uVar1; + uint *puVar2; + + uVar1 = (ulonglong)param_2 % (ulonglong)*(uint *)(param_1 + 0x40); + if (*(longlong *)(param_1 + 0x20) != 0) { + for (puVar2 = *(uint **)(*(longlong *)(param_1 + 0x20) + uVar1 * 8); + (puVar2 != (uint *)0x0 && ((uint)uVar1 == puVar2[10] % *(uint *)(param_1 + 0x40))); + puVar2 = *(uint **)(puVar2 + 6)) { + if (*puVar2 == param_2) goto LAB_14009fbbd; + } + } + puVar2 = (uint *)0x0; +LAB_14009fbbd: + if (puVar2 != (uint *)0x0) { + return puVar2[3]; + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009fbd0.c b/decomp/Agent_Release_x64/full/functions/0x14009fbd0.c new file mode 100644 index 00000000..7beff115 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009fbd0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009fbd0 FUN_14009fbd0 + * Pseudocode, not original source. */ + +undefined4 FUN_14009fbd0(longlong *param_1) + +{ + longlong *plVar1; + longlong lVar2; + longlong *plVar3; + longlong lVar4; + + plVar1 = (longlong *)param_1[1]; + if (plVar1 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + lVar2 = *plVar1; + lVar4 = plVar1[2]; + param_1[1] = lVar2; + if (lVar2 == 0) { + param_1[2] = 0; + } + else { + *(undefined8 *)(lVar2 + 8) = 0; + } + plVar3 = (longlong *)*param_1; + if (plVar3 != (longlong *)0x0) { + (**(code **)(*plVar3 + 0x10))(plVar3,plVar1); + param_1[3] = param_1[3] + -1; + return (int)lVar4; + } + FUN_1400302f0(plVar1); + param_1[3] = param_1[3] + -1; + return (int)lVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009fc50.c b/decomp/Agent_Release_x64/full/functions/0x14009fc50.c new file mode 100644 index 00000000..065eba07 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009fc50.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009fc50 FUN_14009fc50 + * Pseudocode, not original source. */ + +undefined8 * FUN_14009fc50(longlong *param_1,undefined4 *param_2) + +{ + longlong lVar1; + longlong *plVar2; + undefined8 *puVar3; + + lVar1 = param_1[2]; + plVar2 = (longlong *)*param_1; + if (plVar2 == (longlong *)0x0) { + puVar3 = (undefined8 *)FUN_140030280(0x18); + } + else { + puVar3 = (undefined8 *)(**(code **)(*plVar2 + 8))(plVar2,0x18); + } + if (puVar3 != (undefined8 *)0x0) { + *(undefined4 *)(puVar3 + 2) = *param_2; + } + puVar3[1] = lVar1; + *puVar3 = 0; + param_1[3] = param_1[3] + 1; + if ((undefined8 *)param_1[2] == (undefined8 *)0x0) { + param_1[1] = (longlong)puVar3; + } + else { + *(undefined8 *)param_1[2] = puVar3; + } + param_1[2] = (longlong)puVar3; + return puVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009fcd0.c b/decomp/Agent_Release_x64/full/functions/0x14009fcd0.c new file mode 100644 index 00000000..b8990bc5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009fcd0.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009fcd0 FUN_14009fcd0 + * Pseudocode, not original source. */ + +undefined4 * FUN_14009fcd0(char *param_1,undefined4 *param_2,uint param_3,undefined4 param_4) + +{ + longlong *plVar1; + longlong lVar2; + undefined8 uVar3; + uint uVar4; + undefined4 *puVar5; + + plVar1 = *(longlong **)(param_1 + 0x50); + if (plVar1 == (longlong *)0x0) { + puVar5 = (undefined4 *)FUN_140030280(0x30); + } + else { + puVar5 = (undefined4 *)(**(code **)(*plVar1 + 8))(plVar1,0x30); + } + if (puVar5 != (undefined4 *)0x0) { + *puVar5 = *param_2; + *(undefined8 *)(puVar5 + 2) = 0; + *(undefined8 *)(puVar5 + 4) = 0; + puVar5[10] = param_4; + } + lVar2 = *(longlong *)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8); + FUN_140097020(param_1); + if (*(longlong *)(param_1 + 0x20) == 0) { + *(undefined4 **)(param_1 + 0x10) = puVar5; + *(undefined4 **)(param_1 + 0x18) = puVar5; + *(undefined8 *)(puVar5 + 8) = 0; + *(undefined8 *)(puVar5 + 6) = 0; + } + else { + FUN_140097020(param_1); + FUN_140097020(param_1); + if (lVar2 == 0) { + lVar2 = *(longlong *)(param_1 + 0x10); + *(undefined8 *)(puVar5 + 8) = 0; + *(longlong *)(puVar5 + 6) = lVar2; + if (lVar2 != 0) { + *(undefined4 **)(lVar2 + 0x20) = puVar5; + } + *(undefined4 **)(param_1 + 0x10) = puVar5; + } + else { + if (*(longlong *)(lVar2 + 0x20) == 0) { + *(undefined4 **)(param_1 + 0x10) = puVar5; + } + else { + *(undefined4 **)(*(longlong *)(lVar2 + 0x20) + 0x18) = puVar5; + } + uVar3 = *(undefined8 *)(lVar2 + 0x20); + *(longlong *)(puVar5 + 6) = lVar2; + *(undefined8 *)(puVar5 + 8) = uVar3; + *(undefined4 **)(lVar2 + 0x20) = puVar5; + } + } + *(undefined4 **)(*(longlong *)(param_1 + 8) + (ulonglong)param_3 * 8) = puVar5; + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; + FUN_140097020(param_1); + FUN_140097020(param_1); + if ((*(ulonglong *)(param_1 + 0x38) < *(ulonglong *)(param_1 + 0x20)) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar4 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14009f920(param_1,uVar4); + } + FUN_140097020(param_1); + return puVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009fe10.c b/decomp/Agent_Release_x64/full/functions/0x14009fe10.c new file mode 100644 index 00000000..373dfeb7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009fe10.c @@ -0,0 +1,67 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009fe10 FUN_14009fe10 + * Pseudocode, not original source. */ + +undefined4 FUN_14009fe10(longlong param_1,double param_2) + +{ + int *piVar1; + int iVar2; + uint uVar3; + ulonglong uVar4; + undefined4 uVar5; + uint *puVar6; + + if (*(longlong *)(param_1 + 0x88) == 0) { + piVar1 = (int *)(param_1 + 0x10); + *piVar1 = *piVar1 + 1; + iVar2 = *piVar1; + uVar5 = *(undefined4 *)(param_1 + 0x10); + } + else { + if (*(longlong *)(param_1 + 0x78) == 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar3 = *(uint *)(*(longlong *)(param_1 + 0x78) + 0x10); + uVar4 = (ulonglong)uVar3 % (ulonglong)*(uint *)(param_1 + 0x40); + if (*(longlong *)(param_1 + 0x20) != 0) { + for (puVar6 = *(uint **)(*(longlong *)(param_1 + 0x20) + uVar4 * 8); + (puVar6 != (uint *)0x0 && ((uint)uVar4 == puVar6[10] % *(uint *)(param_1 + 0x40))); + puVar6 = *(uint **)(puVar6 + 6)) { + if (*puVar6 == uVar3) goto LAB_14009fe8d; + } + } + puVar6 = (uint *)0x0; +LAB_14009fe8d: + if (puVar6 == (uint *)0x0) { + FUN_14009fbd0((longlong *)(param_1 + 0x70)); + piVar1 = (int *)(param_1 + 0x10); + *piVar1 = *piVar1 + 1; + if (*piVar1 == 0) { + *(undefined4 *)(param_1 + 0x10) = 3; + return 3; + } + goto LAB_14009fee6; + } + if (*(double *)(param_1 + 8) <= param_2 - *(double *)(puVar6 + 4) && + param_2 - *(double *)(puVar6 + 4) != *(double *)(param_1 + 8)) { + puVar6[4] = 0; + puVar6[5] = 0; + puVar6[3] = puVar6[3] + 1; + uVar5 = FUN_14009fbd0((longlong *)(param_1 + 0x70)); + return uVar5; + } + piVar1 = (int *)(param_1 + 0x10); + *piVar1 = *piVar1 + 1; + iVar2 = *piVar1; + uVar5 = *(undefined4 *)(param_1 + 0x10); + } + if (iVar2 == 0) { + uVar5 = 3; + } + *(undefined4 *)(param_1 + 0x10) = uVar5; +LAB_14009fee6: + return *(undefined4 *)(param_1 + 0x10); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009fef0.c b/decomp/Agent_Release_x64/full/functions/0x14009fef0.c new file mode 100644 index 00000000..dfdd71ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009fef0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009fef0 FUN_14009fef0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x00014009ff67) */ +/* WARNING: Removing unreachable block (ram,0x00014009ff70) */ +/* WARNING: Removing unreachable block (ram,0x00014009ff8e) */ +/* WARNING: Removing unreachable block (ram,0x00014009ff97) */ + +undefined8 * FUN_14009fef0(undefined8 *param_1,undefined8 param_2) + +{ + *param_1 = Proud::CRecycleHostIDFactory::vftable; + param_1[1] = param_2; + *(undefined1 *)(param_1 + 3) = 0; + param_1[0xd] = 0; + param_1[4] = 0; + param_1[5] = 0; + param_1[6] = 0; + *(undefined4 *)(param_1 + 8) = 0x11; + param_1[7] = 0; + *(undefined4 *)(param_1 + 0xc) = 0; + *(undefined4 *)((longlong)param_1 + 0x44) = 0x3f400000; + *(undefined4 *)(param_1 + 9) = 0x3e800000; + *(undefined4 *)((longlong)param_1 + 0x4c) = 0x40100000; + param_1[10] = 0x26; + param_1[0xb] = 0; + param_1[0xe] = 0; + param_1[0x11] = 0; + param_1[0xf] = 0; + param_1[0x10] = 0; + *(undefined4 *)(param_1 + 2) = 2; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x14009ffe0.c b/decomp/Agent_Release_x64/full/functions/0x14009ffe0.c new file mode 100644 index 00000000..ad5a2bba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x14009ffe0.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x14009ffe0 FUN_14009ffe0 + * Pseudocode, not original source. */ + +void FUN_14009ffe0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + undefined8 *puVar2; + longlong *plVar3; + + *param_1 = Proud::CRecycleHostIDFactory::vftable; + *(undefined4 *)(param_1 + 2) = 2; + FUN_140040660((char *)(param_1 + 3)); + lVar1 = param_1[0x11]; + while( true ) { + if (lVar1 == 0) { + param_1[0xf] = 0; + param_1[0x10] = 0; + FUN_1400395f0(param_1 + 0xe); + FUN_140098fa0((char *)(param_1 + 3)); + *param_1 = Proud::IHostIDFactory::vftable; + return; + } + puVar2 = (undefined8 *)param_1[0xf]; + if (puVar2 == (undefined8 *)0x0) break; + param_1[0xf] = *puVar2; + plVar3 = (longlong *)param_1[0xe]; + if (plVar3 == (longlong *)0x0) { + FUN_1400302f0(puVar2); + } + else { + (**(code **)(*plVar3 + 0x10))(plVar3,puVar2); + } + param_1[0x11] = param_1[0x11] + -1; + lVar1 = param_1[0x11]; + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a00d0.c b/decomp/Agent_Release_x64/full/functions/0x1400a00d0.c new file mode 100644 index 00000000..3d6b9ab8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a00d0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a00d0 FUN_1400a00d0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400a00d0(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14009ffe0(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a0100.c b/decomp/Agent_Release_x64/full/functions/0x1400a0100.c new file mode 100644 index 00000000..90439e5b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a0100.c @@ -0,0 +1,92 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a0100 FUN_1400a0100 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400a0100(longlong param_1,undefined8 param_2,uint param_3) + +{ + uint uVar1; + longlong lVar2; + longlong *plVar3; + ulonglong uVar4; + undefined8 *puVar5; + undefined8 uVar6; + uint *puVar7; + uint uVar8; + uint local_res18 [4]; + + uVar1 = *(uint *)(param_1 + 0x40); + puVar5 = (undefined8 *)((ulonglong)param_3 / (ulonglong)uVar1); + uVar4 = (ulonglong)param_3 % (ulonglong)uVar1; + lVar2 = *(longlong *)(param_1 + 0x20); + uVar8 = (uint)uVar4; + if (lVar2 != 0) { + for (puVar7 = *(uint **)(lVar2 + uVar4 * 8); + (puVar7 != (uint *)0x0 && + (puVar5 = (undefined8 *)((ulonglong)puVar7[10] / (ulonglong)uVar1), + uVar8 == puVar7[10] % uVar1)); puVar7 = *(uint **)(puVar7 + 6)) { + if (*puVar7 == param_3) goto LAB_1400a015b; + } + } + puVar7 = (uint *)0x0; +LAB_1400a015b: + local_res18[0] = param_3; + if (puVar7 != (uint *)0x0) { + if (*(double *)(puVar7 + 4) != 0.0) { + return puVar5; + } + *(undefined8 *)(puVar7 + 4) = param_2; + puVar5 = FUN_14009fc50((longlong *)(param_1 + 0x70),local_res18); + return puVar5; + } + if (lVar2 != 0) { + for (puVar7 = *(uint **)(lVar2 + uVar4 * 8); + (puVar7 != (uint *)0x0 && (uVar8 == puVar7[10] % uVar1)); puVar7 = *(uint **)(puVar7 + 6)) { + if (*puVar7 == param_3) goto LAB_1400a0267; + } + if (lVar2 != 0) { + for (puVar7 = *(uint **)(lVar2 + uVar4 * 8); + (puVar7 != (uint *)0x0 && (uVar8 == puVar7[10] % uVar1)); puVar7 = *(uint **)(puVar7 + 6)) + { + if (*puVar7 == param_3) goto LAB_1400a0255; + } + if (lVar2 != 0) goto LAB_1400a022c; + } + } + uVar6 = FUN_14003f710(param_1 + 0x18,uVar1,'\x01'); + if ((char)uVar6 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } +LAB_1400a022c: + FUN_140097020((char *)(param_1 + 0x18)); + puVar7 = FUN_14009fcd0((char *)(param_1 + 0x18),local_res18,uVar8,param_3); + FUN_140097020((char *)(param_1 + 0x18)); +LAB_1400a0255: + *(ulonglong *)(puVar7 + 2) = (ulonglong)param_3; + *(undefined8 *)(puVar7 + 4) = param_2; +LAB_1400a0267: + plVar3 = *(longlong **)(param_1 + 0x70); + uVar6 = *(undefined8 *)(param_1 + 0x80); + if (plVar3 == (longlong *)0x0) { + puVar5 = (undefined8 *)FUN_140030280(0x18); + } + else { + puVar5 = (undefined8 *)(**(code **)(*plVar3 + 8))(plVar3,0x18); + } + if (puVar5 != (undefined8 *)0x0) { + *(uint *)(puVar5 + 2) = param_3; + } + puVar5[1] = uVar6; + *puVar5 = 0; + *(longlong *)(param_1 + 0x88) = *(longlong *)(param_1 + 0x88) + 1; + if (*(undefined8 **)(param_1 + 0x80) == (undefined8 *)0x0) { + *(undefined8 **)(param_1 + 0x78) = puVar5; + } + else { + **(undefined8 **)(param_1 + 0x80) = puVar5; + } + *(undefined8 **)(param_1 + 0x80) = puVar5; + return puVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a02e0.c b/decomp/Agent_Release_x64/full/functions/0x1400a02e0.c new file mode 100644 index 00000000..9a9b96a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a02e0.c @@ -0,0 +1,73 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a02e0 FUN_1400a02e0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Removing unreachable block (ram,0x0001400a0394) */ + +void FUN_1400a02e0(longlong param_1,byte *param_2,int param_3) + +{ + byte bVar1; + undefined1 uVar2; + byte bVar3; + uint uVar4; + longlong lVar5; + undefined8 *puVar6; + longlong lVar7; + undefined8 *puVar8; + undefined8 local_58; + undefined8 uStack_50; + undefined8 local_48; + undefined8 uStack_40; + undefined8 local_38; + undefined8 uStack_30; + undefined8 local_28; + undefined8 uStack_20; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)&local_58; + puVar6 = (undefined8 *)0x0; + lVar7 = (longlong)param_3; + puVar8 = puVar6; + if (*(int *)(param_1 + 0x18) != 0) { + puVar8 = *(undefined8 **)(param_1 + 0x10); + } + local_58 = *puVar8; + uStack_50 = puVar8[1]; + local_48 = puVar8[2]; + uStack_40 = puVar8[3]; + local_38 = puVar8[4]; + uStack_30 = puVar8[5]; + local_28 = puVar8[6]; + uStack_20 = puVar8[7]; + puVar8 = puVar6; + if (0 < param_3) { + do { + uVar4 = (int)puVar8 + 1U & 0x8000003f; + if ((int)uVar4 < 0) { + uVar4 = (uVar4 - 1 | 0xffffffc0) + 1; + } + puVar8 = (undefined8 *)(longlong)(int)uVar4; + bVar1 = *(byte *)((longlong)&local_58 + (longlong)puVar8); + uVar4 = (int)puVar6 + (uint)bVar1 & 0x8000003f; + if ((int)uVar4 < 0) { + uVar4 = (uVar4 - 1 | 0xffffffc0) + 1; + } + puVar6 = (undefined8 *)(ulonglong)uVar4; + uVar2 = *(undefined1 *)((longlong)&local_58 + (longlong)puVar8); + lVar5 = (longlong)(int)uVar4; + bVar3 = *(byte *)((longlong)&local_58 + lVar5); + *(undefined1 *)((longlong)&local_58 + (longlong)puVar8) = + *(undefined1 *)((longlong)&local_58 + lVar5); + *(undefined1 *)((longlong)&local_58 + lVar5) = uVar2; + *param_2 = *param_2 ^ + *(byte *)((longlong)&local_58 + + (longlong)(int)((uint)bVar3 + (uint)bVar1 & 0x8000003f)); + lVar7 = lVar7 + -1; + param_2 = param_2 + 1; + } while (lVar7 != 0); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a03d0.c b/decomp/Agent_Release_x64/full/functions/0x1400a03d0.c new file mode 100644 index 00000000..48b9a8c6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a03d0.c @@ -0,0 +1,89 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a03d0 FUN_1400a03d0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Removing unreachable block (ram,0x0001400a04b4) */ + +void FUN_1400a03d0(longlong param_1,byte *param_2,int param_3) + +{ + byte bVar1; + undefined1 uVar2; + byte bVar3; + uint uVar4; + longlong lVar5; + undefined8 *puVar6; + longlong lVar7; + undefined8 *puVar8; + undefined8 local_98; + undefined8 uStack_90; + undefined8 local_88; + undefined8 uStack_80; + undefined8 local_78; + undefined8 uStack_70; + undefined8 local_68; + undefined8 uStack_60; + undefined8 local_58; + undefined8 uStack_50; + undefined8 local_48; + undefined8 uStack_40; + undefined8 local_38; + undefined8 uStack_30; + undefined8 local_28; + undefined8 uStack_20; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)&local_98; + puVar6 = (undefined8 *)0x0; + lVar7 = (longlong)param_3; + puVar8 = puVar6; + if (*(int *)(param_1 + 0x18) != 0) { + puVar8 = *(undefined8 **)(param_1 + 0x10); + } + local_98 = *puVar8; + uStack_90 = puVar8[1]; + local_88 = puVar8[2]; + uStack_80 = puVar8[3]; + local_78 = puVar8[4]; + uStack_70 = puVar8[5]; + local_68 = puVar8[6]; + uStack_60 = puVar8[7]; + local_58 = puVar8[8]; + uStack_50 = puVar8[9]; + local_48 = puVar8[10]; + uStack_40 = puVar8[0xb]; + local_38 = puVar8[0xc]; + uStack_30 = puVar8[0xd]; + local_28 = puVar8[0xe]; + uStack_20 = puVar8[0xf]; + puVar8 = puVar6; + if (0 < param_3) { + do { + uVar4 = (int)puVar8 + 1U & 0x8000007f; + if ((int)uVar4 < 0) { + uVar4 = (uVar4 - 1 | 0xffffff80) + 1; + } + puVar8 = (undefined8 *)(longlong)(int)uVar4; + bVar1 = *(byte *)((longlong)&local_98 + (longlong)puVar8); + uVar4 = (int)puVar6 + (uint)bVar1 & 0x8000007f; + if ((int)uVar4 < 0) { + uVar4 = (uVar4 - 1 | 0xffffff80) + 1; + } + puVar6 = (undefined8 *)(ulonglong)uVar4; + uVar2 = *(undefined1 *)((longlong)&local_98 + (longlong)puVar8); + lVar5 = (longlong)(int)uVar4; + bVar3 = *(byte *)((longlong)&local_98 + lVar5); + *(undefined1 *)((longlong)&local_98 + (longlong)puVar8) = + *(undefined1 *)((longlong)&local_98 + lVar5); + *(undefined1 *)((longlong)&local_98 + lVar5) = uVar2; + *param_2 = *param_2 ^ + *(byte *)((longlong)&local_98 + + (longlong)(int)((uint)bVar3 + (uint)bVar1 & 0x8000007f)); + lVar7 = lVar7 + -1; + param_2 = param_2 + 1; + } while (lVar7 != 0); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a0500.c b/decomp/Agent_Release_x64/full/functions/0x1400a0500.c new file mode 100644 index 00000000..bd726261 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a0500.c @@ -0,0 +1,55 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a0500 FUN_1400a0500 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Removing unreachable block (ram,0x0001400a05ac) */ + +void FUN_1400a0500(longlong param_1,byte *param_2,int param_3) + +{ + byte bVar1; + byte bVar2; + byte bVar3; + uint uVar4; + void *pvVar5; + longlong lVar6; + void *pvVar7; + undefined1 auStack_138 [32]; + byte local_118 [256]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_138; + pvVar7 = (void *)0x0; + lVar6 = (longlong)param_3; + pvVar5 = pvVar7; + if (*(int *)(param_1 + 0x18) != 0) { + pvVar5 = *(void **)(param_1 + 0x10); + } + memcpy(local_118,pvVar5,0x100); + pvVar5 = pvVar7; + if (0 < param_3) { + do { + uVar4 = (int)pvVar7 + 1U & 0x800000ff; + if ((int)uVar4 < 0) { + uVar4 = (uVar4 - 1 | 0xffffff00) + 1; + } + pvVar7 = (void *)(longlong)(int)uVar4; + bVar1 = local_118[(longlong)pvVar7]; + uVar4 = (int)pvVar5 + (uint)bVar1 & 0x800000ff; + if ((int)uVar4 < 0) { + uVar4 = (uVar4 - 1 | 0xffffff00) + 1; + } + pvVar5 = (void *)(ulonglong)uVar4; + bVar2 = local_118[(longlong)pvVar7]; + bVar3 = local_118[(int)uVar4]; + local_118[(longlong)pvVar7] = local_118[(int)uVar4]; + local_118[(int)uVar4] = bVar2; + *param_2 = *param_2 ^ local_118[(int)((uint)bVar3 + (uint)bVar1 & 0x800000ff)]; + lVar6 = lVar6 + -1; + param_2 = param_2 + 1; + } while (lVar6 != 0); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a0600.c b/decomp/Agent_Release_x64/full/functions/0x1400a0600.c new file mode 100644 index 00000000..b6a1752c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a0600.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a0600 FUN_1400a0600 + * Pseudocode, not original source. */ + +void FUN_1400a0600(longlong param_1,byte *param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + int iVar2; + exception local_58 [88]; + + iVar2 = (int)param_3; + iVar1 = *(int *)(param_1 + 0x18) << 3; + if (iVar1 == 0x200) { + FUN_1400a02e0(param_1,param_2,iVar2); + return; + } + if (iVar1 != 0x400) { + if (iVar1 != 0x800) { + FUN_14002f1e0(local_58,L"RC4 Encrypt Error. FastEncryptLevel is correct",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + FUN_1400a0500(param_1,param_2,iVar2); + return; + } + FUN_1400a03d0(param_1,param_2,iVar2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a0660.c b/decomp/Agent_Release_x64/full/functions/0x1400a0660.c new file mode 100644 index 00000000..6de6fd24 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a0660.c @@ -0,0 +1,95 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a0660 FUN_1400a0660 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400a0660(ulonglong param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + byte bVar1; + uint uVar2; + longlong lVar3; + uint uVar4; + ulonglong uVar5; + int iVar6; + ulonglong uVar7; + ulonglong uVar8; + int iVar9; + ulonglong uVar10; + ulonglong uVar11; + undefined1 auStack_198 [32]; + exception local_178 [80]; + byte abStack_128 [256]; + ulonglong local_28; + + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_198; + iVar9 = (int)param_3; + if (iVar9 == 0) { + *(undefined1 *)(param_1 + 0x28) = 1; + } + else { + if (param_2 == 0) { + FUN_14002f1e0(local_178,L"RC4 ExpandFrom Error. inputkey is NULL",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_178,(ThrowInfo *)&DAT_140151b88); + } + uVar7 = param_3 & 0xffffffff; + uVar5 = param_1; + FUN_14001bc70(param_1,iVar9,param_3); + uVar8 = 0; + uVar10 = uVar8; + if (0 < iVar9) { + do { + iVar6 = (int)uVar10; + if ((iVar6 < 0) || (*(int *)(param_1 + 0x18) <= iVar6)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(uVar5,uVar7,param_3,uVar10); + } + param_3 = (SIZE_T)iVar6; + *(char *)(param_3 + *(longlong *)(param_1 + 0x10)) = (char)uVar10; + uVar10 = (ulonglong)(iVar6 + 1U); + uVar7 = (longlong)iVar6 % (longlong)iVar9 & 0xffffffff; + bVar1 = *(byte *)((int)((longlong)iVar6 % (longlong)iVar9) + param_2); + uVar5 = (ulonglong)bVar1; + abStack_128[param_3] = bVar1; + } while ((int)(iVar6 + 1U) < iVar9); + } + uVar10 = uVar8; + uVar11 = uVar8; + if (0 < iVar9) { + do { + if ((longlong)uVar10 < 0) { +LAB_1400a07a2: + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(uVar5,uVar7,param_3,uVar10); + } + uVar2 = *(uint *)(param_1 + 0x18); + param_3 = (SIZE_T)uVar2; + if ((int)uVar2 <= (int)uVar11) goto LAB_1400a07a2; + lVar3 = *(longlong *)(param_1 + 0x10); + uVar4 = (uint)abStack_128[uVar10] + (int)uVar8; + uVar5 = (longlong)(int)(*(byte *)(lVar3 + uVar10) + uVar4) % (longlong)iVar9; + uVar8 = uVar5 & 0xffffffff; + uVar5 = (longlong)((ulonglong)(uint)((int)uVar5 >> 0x1f) << 0x20 | uVar5 & 0xffffffff) % + (longlong)iVar9; + uVar7 = uVar5 & 0xffffffff; + iVar6 = (int)uVar5; + if ((iVar6 < 0) || ((int)uVar2 <= iVar6)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0((ulonglong)uVar4,uVar7,param_3,uVar10); + } + bVar1 = *(byte *)(lVar3 + uVar10); + uVar5 = (ulonglong)bVar1; + param_3 = (SIZE_T)iVar6; + uVar10 = uVar10 + 1; + uVar11 = (ulonglong)((int)uVar11 + 1); + *(undefined1 *)(lVar3 + -1 + uVar10) = *(undefined1 *)(param_3 + lVar3); + *(byte *)(param_3 + lVar3) = bVar1; + } while ((longlong)uVar10 < (longlong)iVar9); + } + *(undefined1 *)(param_1 + 0x28) = 1; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a07b0.c b/decomp/Agent_Release_x64/full/functions/0x1400a07b0.c new file mode 100644 index 00000000..b65d5ecd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a07b0.c @@ -0,0 +1,186 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a07b0 FUN_1400a07b0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400a07b0(longlong param_1,int *param_2,SIZE_T param_3,ulonglong param_4) + +{ + uint uVar1; + undefined7 uVar4; + longlong lVar2; + undefined8 uVar3; + uint *puVar5; + ulonglong uVar6; + uint uVar7; + uint *puVar9; + SIZE_T SVar10; + byte *_Src; + exception local_290 [72]; + exception local_248 [72]; + exception local_200 [72]; + exception local_1b8 [72]; + exception local_170 [288]; + exception local_50 [72]; + int iVar8; + + if (*(char *)(param_3 + 0x28) == '\0') { + if (*(int *)(param_3 + 0x18) == 0) { + FUN_14002ed90(local_1b8,&DAT_14010a948,param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_1b8,(ThrowInfo *)&DAT_140151b88); + } + } + else if (*(int *)(param_3 + 0x18) == 0) { + FUN_14002f1e0(local_248, + L"FastEncrypt Key Length is 0, Check ServerStartParameters m_fastEncryptedMessageKeyLength" + ,param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_248,(ThrowInfo *)&DAT_140151b88); + } + lVar2 = *(longlong *)(param_1 + 8); + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + uVar7 = *(uint *)(param_1 + 0x18); + } + else { + uVar7 = *(uint *)(lVar2 + 0x18); + } + uVar6 = (ulonglong)uVar7; + if ((int)uVar7 <= (int)param_4) { + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,uVar6,param_3,param_4); + } + param_4 = (ulonglong)*(uint *)(param_1 + 0x18); + } + else { + param_4 = (ulonglong)*(uint *)(lVar2 + 0x18); + } + } + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,uVar6,param_3,param_4); + } + iVar8 = *(int *)(param_1 + 0x18); + } + else { + iVar8 = *(int *)(lVar2 + 0x18); + } + uVar7 = iVar8 - (int)param_4; + if (uVar7 == 0) { + uVar4 = (undefined7)((ulonglong)lVar2 >> 8); + } + else { + if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,uVar6,param_3,param_4); + } + if (*(int *)(lVar2 + 0x18) == 0) { + lVar2 = 0; + } + else { + lVar2 = *(longlong *)(lVar2 + 0x10); + } + } + else { + lVar2 = *(longlong *)(param_1 + 0x10); + if (lVar2 == 0) { + FUN_14002f1e0(local_290,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_290,(ThrowInfo *)&DAT_140151b88); + } + } + puVar9 = (uint *)0x0; + _Src = (byte *)((int)param_4 + lVar2); + SVar10 = param_3; + FUN_1400801a0((longlong)param_2,uVar6,param_3,param_4); + FUN_140080830(param_2,(ulonglong)(uVar7 + 4),SVar10,param_4); + uVar6 = (ulonglong)uVar7; + uVar1 = FUN_1400bbf10(_Src,uVar7); + if (*(longlong *)(param_2 + 4) == 0) { + lVar2 = *(longlong *)(param_2 + 2); + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,uVar6,SVar10,param_4); + } + puVar5 = puVar9; + if (*(int *)(lVar2 + 0x18) != 0) { + puVar5 = *(uint **)(lVar2 + 0x10); + } + } + else { + puVar5 = *(uint **)(param_2 + 4); + if (*(uint **)(param_2 + 4) == (uint *)0x0) { + FUN_14002f1e0(local_200,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,SVar10, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_200,(ThrowInfo *)&DAT_140151b88); + } + } + *puVar5 = uVar1; + if (*(longlong *)(param_2 + 4) == 0) { + lVar2 = *(longlong *)(param_2 + 2); + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar5,uVar6,SVar10,param_4); + } + puVar5 = puVar9; + if (*(int *)(lVar2 + 0x18) != 0) { + puVar5 = *(uint **)(lVar2 + 0x10); + } + } + else { + puVar5 = *(uint **)(param_2 + 4); + if (*(uint **)(param_2 + 4) == (uint *)0x0) { + FUN_14002f1e0(local_170,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,SVar10, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_170,(ThrowInfo *)&DAT_140151b88); + } + } + uVar6 = (ulonglong)uVar7; + puVar5 = puVar5 + 1; + memcpy(puVar5,_Src,uVar6); + lVar2 = *(longlong *)(param_2 + 2); + if (lVar2 == 0) { + if (*(longlong *)(param_2 + 4) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar5,_Src,uVar6,param_4); + } + uVar7 = param_2[6]; + } + else { + uVar7 = *(uint *)(lVar2 + 0x18); + } + uVar6 = (ulonglong)uVar7; + if (*(longlong *)(param_2 + 4) == 0) { + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar5,_Src,uVar6,param_4); + } + if (*(int *)(lVar2 + 0x18) != 0) { + puVar9 = *(uint **)(lVar2 + 0x10); + } + } + else { + puVar9 = *(uint **)(param_2 + 4); + if (puVar9 == (uint *)0x0) { + FUN_14002f1e0(local_50,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,uVar6, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + } + uVar3 = FUN_1400a0600(param_3,(byte *)puVar9,uVar6,param_4); + uVar4 = (undefined7)((ulonglong)uVar3 >> 8); + } + return CONCAT71(uVar4,1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a0a90.c b/decomp/Agent_Release_x64/full/functions/0x1400a0a90.c new file mode 100644 index 00000000..8d370d13 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a0a90.c @@ -0,0 +1,158 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a0a90 FUN_1400a0a90 + * Pseudocode, not original source. */ + +undefined8 FUN_1400a0a90(longlong param_1,int *param_2,SIZE_T param_3,ulonglong param_4) + +{ + uint uVar1; + uint uVar2; + undefined7 uVar6; + longlong lVar3; + uint *puVar4; + void *_Dst; + undefined8 uVar5; + ulonglong uVar7; + ulonglong uVar8; + uint *puVar9; + uint uVar10; + SIZE_T SVar12; + int iVar13; + undefined **local_238; + undefined8 local_230; + uint *local_228; + ulonglong local_220; + undefined8 local_218; + undefined8 local_208; + exception local_200 [288]; + exception local_e0 [72]; + exception local_98 [72]; + exception local_50 [72]; + int iVar11; + + local_208 = 0xfffffffffffffffe; + if (*(char *)(param_3 + 0x28) == '\0') { + if (*(int *)(param_3 + 0x18) == 0) { + FUN_14002ed90(local_98,&DAT_14010a9c8,param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_98,(ThrowInfo *)&DAT_140151b88); + } + } + else if (*(int *)(param_3 + 0x18) == 0) { + FUN_14002f1e0(local_200, + L"FastEncrypt Key Length is 0, Check ServerStartParameters m_fastEncryptedMessageKeyLength" + ,param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_200,(ThrowInfo *)&DAT_140151b88); + } + lVar3 = *(longlong *)(param_1 + 8); + if (lVar3 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + uVar10 = *(uint *)(param_1 + 0x18); + } + else { + uVar10 = *(uint *)(lVar3 + 0x18); + } + uVar7 = (ulonglong)uVar10; + if ((int)uVar10 <= (int)param_4) { + if (lVar3 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,uVar7,param_3,param_4); + } + param_4 = (ulonglong)*(uint *)(param_1 + 0x18); + } + else { + param_4 = (ulonglong)*(uint *)(lVar3 + 0x18); + } + } + if (lVar3 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,uVar7,param_3,param_4); + } + iVar11 = *(int *)(param_1 + 0x18); + } + else { + iVar11 = *(int *)(lVar3 + 0x18); + } + iVar13 = (int)param_4; + uVar10 = iVar11 - iVar13; + if (uVar10 == 0) { + uVar6 = (undefined7)((ulonglong)lVar3 >> 8); + } + else { + if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar3 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,uVar7,param_3,param_4); + } + if (*(int *)(lVar3 + 0x18) == 0) { + lVar3 = 0; + } + else { + lVar3 = *(longlong *)(lVar3 + 0x10); + } + } + else { + lVar3 = *(longlong *)(param_1 + 0x10); + if (lVar3 == 0) { + FUN_14002f1e0(local_e0,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_e0,(ThrowInfo *)&DAT_140151b88); + } + } + puVar9 = (uint *)0x0; + SVar12 = param_3; + FUN_1400801a0((longlong)param_2,uVar7,param_3,param_4); + FUN_140080830(param_2,(ulonglong)(uVar10 - 4),SVar12,param_4); + local_230 = 0; + local_228 = (uint *)0x0; + local_220 = 0; + local_218 = 0; + local_238 = Proud::ByteArray::vftable; + FUN_14001bc70((longlong)&local_238,uVar10,SVar12); + puVar4 = local_228; + if ((int)local_220 == 0) { + puVar4 = puVar9; + } + memcpy(puVar4,(void *)(iVar13 + lVar3),(ulonglong)uVar10); + uVar7 = local_220 & 0xffffffff; + puVar4 = local_228; + if ((int)local_220 == 0) { + puVar4 = puVar9; + } + FUN_1400a0600(param_3,(byte *)puVar4,uVar7,param_4); + puVar4 = local_228; + if ((int)local_220 == 0) { + puVar4 = puVar9; + } + uVar1 = *puVar4; + puVar4 = local_228; + if ((int)local_220 == 0) { + puVar4 = puVar9; + } + uVar10 = uVar10 - 4; + uVar8 = (ulonglong)uVar10; + uVar2 = FUN_1400bbf10((byte *)(puVar4 + 1),uVar10); + if (uVar1 != uVar2) { + FUN_14002ed90(local_50,&DAT_14010a990,uVar7,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + puVar4 = local_228; + if ((int)local_220 == 0) { + puVar4 = puVar9; + } + _Dst = (void *)FUN_140065820((longlong)param_2,uVar8,uVar7,param_4); + memcpy(_Dst,puVar4 + 1,(ulonglong)uVar10); + uVar5 = FUN_14003b870(&local_238); + uVar6 = (undefined7)((ulonglong)uVar5 >> 8); + } + return CONCAT71(uVar6,1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a0d10.c b/decomp/Agent_Release_x64/full/functions/0x1400a0d10.c new file mode 100644 index 00000000..7ad6c090 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a0d10.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a0d10 FUN_1400a0d10 + * Pseudocode, not original source. */ + +longlong FUN_1400a0d10(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + undefined8 uVar2; + longlong lVar3; + undefined8 uVar4; + exception local_58 [80]; + + InitializeCriticalSection((LPCRITICAL_SECTION)&DAT_1401631e0); + InitializeCriticalSection((LPCRITICAL_SECTION)&DAT_140163220); + InitializeCriticalSection((LPCRITICAL_SECTION)&DAT_140163260); + iVar1 = FUN_1400be4c0(&PTR_s_fortuna_140110ae0); + if (iVar1 == -1) { + FUN_14002f1e0(local_58,L"REGISTER PRNG ERROR : SPRNG",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + iVar1 = FUN_1400bdc60(&PTR_DAT_140110a60); + if (iVar1 == -1) { + FUN_14002f1e0(local_58,L"REGISTER HASH ERROR : SHA1",param_3,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + memcpy(&DAT_1401632a0,&PTR_s_LibTomMath_14011089f_1_1401108d0,0x188); + iVar1 = FUN_1400bce10(0x14010aa10); + *(int *)(param_1 + 0x1058) = iVar1; + iVar1 = FUN_1400bcd70(0x14010aa08); + uVar4 = 0; + *(int *)(param_1 + 0x105c) = iVar1; + lVar3 = param_1; + uVar2 = FUN_1400bcc70(0x80,*(uint *)(param_1 + 0x1058),param_1,(undefined *)0x0); + if ((int)uVar2 != 0) { + FUN_14002f1e0(local_58,L"PRNG MAKE ERROR",lVar3,uVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a0e30.c b/decomp/Agent_Release_x64/full/functions/0x1400a0e30.c new file mode 100644 index 00000000..84dff818 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a0e30.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a0e30 FUN_1400a0e30 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400a0e30(undefined8 *param_1) + +{ + undefined8 *puVar1; + + puVar1 = operator_new(0x48); + *param_1 = puVar1; + *puVar1 = 0; + puVar1[1] = 0; + puVar1[2] = 0; + puVar1[3] = 0; + puVar1[4] = 0; + puVar1[5] = 0; + puVar1[6] = 0; + puVar1[7] = 0; + puVar1[8] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a0e80.c b/decomp/Agent_Release_x64/full/functions/0x1400a0e80.c new file mode 100644 index 00000000..31e12464 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a0e80.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a0e80 FUN_1400a0e80 + * Pseudocode, not original source. */ + +void FUN_1400a0e80(longlong *param_1) + +{ + if (*param_1 != 0) { + FUN_1400bee80(*param_1); + operator_delete((void *)*param_1); + } + *param_1 = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a0eb0.c b/decomp/Agent_Release_x64/full/functions/0x1400a0eb0.c new file mode 100644 index 00000000..5296a8ed --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a0eb0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a0eb0 FUN_1400a0eb0 + * Pseudocode, not original source. */ + +undefined * +FUN_1400a0eb0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + bool bVar1; + bool bVar2; + + bVar1 = false; + bVar2 = FUN_14002e780((int *)&DAT_14015f348); + if (bVar2) { + if (DAT_140156e40 == '\0') { + bVar1 = false; + } + else { + bVar1 = true; + FUN_14002e6e0((int *)&DAT_14015f348); + } + } + if ((DAT_14015f340 & 1) == 0) { + DAT_14015f340 = DAT_14015f340 | 1; + FUN_1400a0d10(0x14015e2e0,param_2,param_3,param_4); + atexit(FUN_1400f1890); + } + DAT_140156e40 = 0; + if (bVar1) { + FUN_14002e770(0x14015f348); + } + return &DAT_14015e2e0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a0f70.c b/decomp/Agent_Release_x64/full/functions/0x1400a0f70.c new file mode 100644 index 00000000..791a8ced --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a0f70.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a0f70 FUN_1400a0f70 + * Pseudocode, not original source. */ + +void FUN_1400a0f70(longlong param_1,int param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined *puVar1; + longlong lVar2; + ulonglong uVar3; + undefined1 *puVar4; + uint uVar5; + exception local_58 [80]; + + uVar5 = param_2 >> 3; + uVar3 = (ulonglong)uVar5; + lVar2 = param_1; + FUN_14001bc70(param_1,uVar5,param_3); + if (*(int *)(param_1 + 0x18) == 0) { + puVar4 = (undefined1 *)0x0; + } + else { + puVar4 = *(undefined1 **)(param_1 + 0x10); + } + puVar1 = FUN_1400a0eb0(lVar2,uVar3,param_3,param_4); + uVar5 = FUN_1400be9c0(puVar4,uVar5,(longlong)puVar1); + if (uVar5 == 0) { + FUN_14002f1e0(local_58,L"Create Random Block Read Error",puVar1,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a0fe0.c b/decomp/Agent_Release_x64/full/functions/0x1400a0fe0.c new file mode 100644 index 00000000..fc7107f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a0fe0.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a0fe0 FUN_1400a0fe0 + * Pseudocode, not original source. */ + +void FUN_1400a0fe0(undefined8 *param_1,longlong param_2,SIZE_T param_3) + +{ + ulonglong uVar1; + char *pcVar2; + SIZE_T SVar3; + int *piVar4; + uint local_res10 [6]; + exception local_58 [80]; + + FUN_14001bc70(param_2,0x400,param_3); + local_res10[0] = *(uint *)(param_2 + 0x18); + if (local_res10[0] == 0) { + pcVar2 = (char *)0x0; + } + else { + pcVar2 = *(char **)(param_2 + 0x10); + } + piVar4 = (int *)*param_1; + SVar3 = 0; + uVar1 = FUN_1400bf3b0(pcVar2,local_res10,0,piVar4); + if ((int)uVar1 != 0) { + FUN_14002f1e0(local_58,L"PUBLIC KEY EXPORT ERROR",SVar3,piVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + if (*(uint *)(param_2 + 0x18) < local_res10[0]) { + FUN_14002f1e0(local_58,L"PublicKey To Blob result is larger! Memory corruption may occur!",SVar3 + ,piVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + FUN_14001bc70(param_2,local_res10[0],SVar3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a10a0.c b/decomp/Agent_Release_x64/full/functions/0x1400a10a0.c new file mode 100644 index 00000000..20f23eb1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a10a0.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a10a0 FUN_1400a10a0 + * Pseudocode, not original source. */ + +void FUN_1400a10a0(undefined8 *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined *puVar1; + undefined *puVar2; + ulonglong uVar3; + undefined8 *puVar4; + longlong lVar5; + SIZE_T SVar6; + undefined8 uVar7; + exception local_58 [80]; + + puVar4 = param_1; + lVar5 = param_2; + puVar1 = FUN_1400a0eb0(param_1,param_2,param_3,param_4); + puVar2 = FUN_1400a0eb0(puVar4,lVar5,param_3,param_4); + uVar7 = 0x10001; + SVar6 = 0x80; + uVar3 = FUN_1400bf560(puVar2,*(uint *)(puVar1 + 0x1058),0x80,0x10001,(undefined4 *)*param_1); + if ((int)uVar3 != 0) { + FUN_14002f1e0(local_58,L"RSA MAKE KEY ERROR",SVar6,uVar7); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + FUN_1400a0fe0(param_1,param_2,SVar6); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a1130.c b/decomp/Agent_Release_x64/full/functions/0x1400a1130.c new file mode 100644 index 00000000..785cc1c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a1130.c @@ -0,0 +1,85 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a1130 FUN_1400a1130 + * Pseudocode, not original source. */ + +void FUN_1400a1130(longlong param_1,longlong param_2,longlong param_3) + +{ + uint uVar1; + undefined8 *puVar2; + ulonglong uVar3; + undefined *puVar4; + undefined *puVar5; + undefined *puVar6; + char *pcVar7; + longlong lVar8; + ulonglong uVar9; + char *pcVar10; + undefined8 *puVar11; + uint *puVar12; + bool bVar13; + uint local_res18 [2]; + undefined8 *local_res20; + exception local_80 [72]; + + puVar2 = operator_new(0x48); + *puVar2 = 0; + puVar2[1] = 0; + puVar2[2] = 0; + puVar2[3] = 0; + puVar2[4] = 0; + puVar2[5] = 0; + puVar2[6] = 0; + puVar2[7] = 0; + puVar2[8] = 0; + pcVar10 = (char *)0x0; + pcVar7 = pcVar10; + if (*(uint *)(param_3 + 0x18) != 0) { + pcVar7 = *(char **)(param_3 + 0x10); + } + puVar11 = puVar2; + local_res20 = puVar2; + uVar3 = FUN_1400beed0(pcVar7,*(uint *)(param_3 + 0x18),(undefined4 *)puVar2); + bVar13 = (int)uVar3 != 0; + uVar3 = (ulonglong)bVar13; + if (bVar13) { + FUN_14002f1e0(local_80,L"%s fail: %d",L"Proud::CRsaKey::FromBlob",1); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_80,(ThrowInfo *)&DAT_140151b88); + } + uVar1 = *(uint *)(param_2 + 0x18); + local_res18[0] = uVar1; + local_res18[0] = (*DAT_140163330)(puVar2[3]); + uVar9 = (ulonglong)local_res18[0]; + lVar8 = param_1; + FUN_14001bc70(param_1,local_res18[0],(SIZE_T)puVar11); + pcVar7 = pcVar10; + if (*(int *)(param_1 + 0x18) != 0) { + pcVar7 = *(char **)(param_1 + 0x10); + } + if (*(int *)(param_2 + 0x18) != 0) { + pcVar10 = *(char **)(param_2 + 0x10); + } + puVar4 = FUN_1400a0eb0(lVar8,uVar9,puVar11,uVar3); + puVar5 = FUN_1400a0eb0(lVar8,uVar9,puVar11,uVar3); + puVar6 = FUN_1400a0eb0(lVar8,uVar9,puVar11,uVar3); + puVar12 = local_res18; + uVar3 = FUN_1400bf940(pcVar10,uVar1,pcVar7,puVar12,(byte *)0x0,0,(ulonglong)puVar6, + *(uint *)(puVar5 + 0x1058),*(uint *)(puVar4 + 0x105c),2,(longlong)puVar2); + if ((int)uVar3 != 0) { + FUN_14002f1e0(local_80,L"%s fail: %d",L"Proud::CRsa::EncryptSessionKeyByPublicKey",1); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_80,(ThrowInfo *)&DAT_140151b88); + } + if (*(uint *)(param_1 + 0x18) < local_res18[0]) { + FUN_14002f1e0(local_80,L"Encryption result is larger! Memory corruption may occur!",pcVar7, + puVar12); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_80,(ThrowInfo *)&DAT_140151b88); + } + FUN_14001bc70(param_1,local_res18[0],(SIZE_T)pcVar7); + FUN_1400bee80((longlong)puVar2); + operator_delete(puVar2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a1330.c b/decomp/Agent_Release_x64/full/functions/0x1400a1330.c new file mode 100644 index 00000000..30d9a053 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a1330.c @@ -0,0 +1,204 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a1330 FUN_1400a1330 + * Pseudocode, not original source. */ + +ulonglong * FUN_1400a1330(ulonglong *param_1,longlong param_2,SIZE_T param_3,longlong *param_4) + +{ + undefined *puVar1; + int *piVar2; + uint uVar3; + undefined *puVar4; + ulonglong uVar5; + int *piVar6; + longlong lVar7; + void *pvVar8; + ulonglong *puVar9; + ulonglong *puVar10; + ulonglong **ppuVar11; + ulonglong uVar12; + ulonglong **ppuVar13; + SIZE_T SVar14; + void *pvVar15; + undefined8 uVar16; + longlong *plVar17; + uint *puVar18; + undefined **ppuVar19; + int local_res10 [2]; + uint local_res18 [4]; + ulonglong *local_88; + undefined *local_80; + undefined8 local_78; + ulonglong *local_70; + undefined1 local_68; + undefined **local_60; + undefined8 local_58; + undefined8 local_50; + undefined8 local_48; + undefined8 local_40; + + local_78 = 0xfffffffffffffffe; + pvVar8 = (void *)0x0; + local_res10[0] = 0; + local_res18[0] = *(uint *)(param_3 + 0x18); + uVar5 = (ulonglong)local_res18[0]; + lVar7 = param_2; + SVar14 = param_3; + plVar17 = param_4; + FUN_14001bc70(param_2,local_res18[0],param_3); + pvVar15 = pvVar8; + if (*(int *)(param_2 + 0x18) != 0) { + pvVar15 = *(void **)(param_2 + 0x10); + } + uVar3 = *(uint *)(param_3 + 0x18); + if (uVar3 != 0) { + pvVar8 = *(void **)(param_3 + 0x10); + } + puVar4 = FUN_1400a0eb0(lVar7,uVar5,SVar14,plVar17); + puVar18 = local_res18; + uVar12 = (ulonglong)uVar3; + uVar5 = FUN_1400bfb00(pvVar8,uVar3,pvVar15,puVar18,(byte *)0x0,0,*(uint *)(puVar4 + 0x105c),2, + local_res10,*param_4); + if ((int)uVar5 == 0) { + if (local_res10[0] == 1) { + if (*(uint *)(param_3 + 0x18) < local_res18[0]) { + FUN_140030200(pvVar8,(ulonglong)local_res18[0],pvVar15,puVar18); + local_80 = PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_80, + L"Decryption result is larger! Memory corruption may occur!",pvVar15,puVar18); + local_58 = 0; + local_50 = 0; + local_48 = 0; + local_40 = 0; + local_60 = Proud::ByteArray::vftable; + ppuVar19 = &local_80; + uVar16 = 0; + FUN_14003c120((longlong *)&local_88,6,0,(longlong *)ppuVar19,(longlong)&local_60); + FUN_14003b870(&local_60); + *param_1 = 0; + ppuVar13 = &local_88; + FUN_14003bff0(param_1,(ulonglong *)ppuVar13,uVar16,ppuVar19); + ppuVar11 = &local_88; + FUN_14002b570((longlong *)ppuVar11,ppuVar13,uVar16,ppuVar19); + puVar4 = local_80; + if (((local_80 != (undefined *)0x0) && (local_80 != PTR_DAT_140155010)) && + (puVar1 = local_80 + -8, puVar1 != (undefined *)0x0)) { + piVar6 = (int *)FUN_140030200(ppuVar11,ppuVar13,uVar16,ppuVar19); + local_70 = (ulonglong *)piVar6; + FUN_14002e6e0(piVar6); + local_68 = 1; + piVar2 = (int *)(puVar4 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)piVar6); + } + } + else { + FUN_14001bc70(param_2,local_res18[0],(SIZE_T)pvVar15); + *param_1 = 0; + } + } + else { + FUN_140030200(pvVar8,uVar12,pvVar15,puVar18); + local_80 = PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_80,L"Incorrect Packet",pvVar15,puVar18); + local_58 = 0; + local_50 = 0; + local_48 = 0; + local_40 = 0; + local_60 = Proud::ByteArray::vftable; + ppuVar19 = &local_80; + uVar16 = 0; + FUN_14003c120((longlong *)&local_88,6,0,(longlong *)ppuVar19,(longlong)&local_60); + FUN_14003b870(&local_60); + *param_1 = 0; + ppuVar13 = &local_88; + puVar9 = param_1; + FUN_14003bff0(param_1,(ulonglong *)ppuVar13,uVar16,ppuVar19); + puVar10 = local_88; + if (local_88 != (ulonglong *)0x0) { + local_70 = local_88; + FUN_14002e6e0((int *)local_88); + local_68 = 1; + local_88[8] = local_88[8] - 1; + if (local_88[8] == 0) { + FUN_14002e770((longlong)puVar10); + local_68 = 0; + FUN_14002b500((undefined4 *)local_88,ppuVar13,uVar16,ppuVar19); + puVar9 = local_88; + } + else { + FUN_14002e770((longlong)puVar10); + puVar9 = puVar10; + } + } + puVar4 = local_80; + if (((local_80 != (undefined *)0x0) && (local_80 != PTR_DAT_140155010)) && + (puVar1 = local_80 + -8, puVar1 != (undefined *)0x0)) { + piVar6 = (int *)FUN_140030200(puVar9,ppuVar13,uVar16,ppuVar19); + local_70 = (ulonglong *)piVar6; + FUN_14002e6e0(piVar6); + local_68 = 1; + piVar2 = (int *)(puVar4 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)piVar6); + } + } + } + else { + FUN_140030200(pvVar8,uVar12,pvVar15,puVar18); + local_80 = PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_80,L"Error",pvVar15,puVar18); + local_58 = 0; + local_50 = 0; + local_48 = 0; + local_40 = 0; + local_60 = Proud::ByteArray::vftable; + ppuVar19 = &local_80; + uVar16 = 0; + FUN_14003c120((longlong *)&local_88,6,0,(longlong *)ppuVar19,(longlong)&local_60); + FUN_14003b870(&local_60); + *param_1 = 0; + ppuVar13 = &local_88; + puVar9 = param_1; + FUN_14003bff0(param_1,(ulonglong *)ppuVar13,uVar16,ppuVar19); + puVar10 = local_88; + if (local_88 != (ulonglong *)0x0) { + local_70 = local_88; + FUN_14002e6e0((int *)local_88); + local_68 = 1; + local_88[8] = local_88[8] - 1; + if (local_88[8] == 0) { + FUN_14002e770((longlong)puVar10); + local_68 = 0; + FUN_14002b500((undefined4 *)local_88,ppuVar13,uVar16,ppuVar19); + puVar9 = local_88; + } + else { + FUN_14002e770((longlong)puVar10); + puVar9 = puVar10; + } + } + puVar4 = local_80; + if (((local_80 != (undefined *)0x0) && (local_80 != PTR_DAT_140155010)) && + (puVar1 = local_80 + -8, puVar1 != (undefined *)0x0)) { + piVar6 = (int *)FUN_140030200(puVar9,ppuVar13,uVar16,ppuVar19); + local_70 = (ulonglong *)piVar6; + FUN_14002e6e0(piVar6); + local_68 = 1; + piVar2 = (int *)(puVar4 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)piVar6); + } + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a1730.c b/decomp/Agent_Release_x64/full/functions/0x1400a1730.c new file mode 100644 index 00000000..914dfd22 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a1730.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a1730 FUN_1400a1730 + * Pseudocode, not original source. */ + +ulonglong FUN_1400a1730(longlong param_1,int param_2,undefined8 param_3) + +{ + uint uVar1; + ulonglong in_RAX; + longlong lVar2; + uint uVar3; + ulonglong uVar4; + ulonglong uVar5; + ulonglong uVar6; + + uVar4 = 0; + uVar1 = *(uint *)(param_1 + 0x18); + lVar2 = param_1; + uVar5 = uVar4; + uVar6 = uVar4; + if (0 < (int)uVar1) { + do { + if (((longlong)uVar5 < 0) || ((int)uVar1 <= (int)uVar4)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(lVar2,(ulonglong)uVar1,param_3,uVar4); + } + lVar2 = *(longlong *)(param_1 + 0x10); + in_RAX = *(ulonglong *)(uVar6 + 0x10 + lVar2); + if ((*(int *)(uVar6 + lVar2) == param_2) && (*(int *)(uVar6 + 8 + lVar2) == (int)param_3)) { + return CONCAT71((int7)(in_RAX >> 8),1); + } + uVar3 = (int)uVar4 + 1; + uVar4 = (ulonglong)uVar3; + uVar5 = uVar5 + 1; + uVar6 = uVar6 + 0x18; + } while ((int)uVar3 < (int)uVar1); + } + return in_RAX & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a17b0.c b/decomp/Agent_Release_x64/full/functions/0x1400a17b0.c new file mode 100644 index 00000000..6224eb99 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a17b0.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a17b0 FUN_1400a17b0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400a17b0(longlong param_1,int param_2) + +{ + int iVar1; + ulonglong in_RAX; + longlong lVar2; + uint uVar3; + ulonglong uVar4; + ulonglong uVar5; + ulonglong uVar6; + + iVar1 = *(int *)(param_1 + 0x18); + uVar4 = 0; + lVar2 = param_1; + uVar5 = uVar4; + uVar6 = uVar4; + if (0 < iVar1) { + do { + if (((longlong)uVar5 < 0) || (iVar1 <= (int)uVar4)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(lVar2,param_1,uVar4,uVar5); + } + lVar2 = *(longlong *)(param_1 + 0x10); + in_RAX = *(ulonglong *)(uVar6 + 0x10 + lVar2); + if (*(int *)(uVar6 + lVar2) == param_2) { + return CONCAT71((int7)(in_RAX >> 8),1); + } + uVar3 = (int)uVar4 + 1; + uVar4 = (ulonglong)uVar3; + uVar5 = uVar5 + 1; + uVar6 = uVar6 + 0x18; + } while ((int)uVar3 < iVar1); + } + return in_RAX & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a1820.c b/decomp/Agent_Release_x64/full/functions/0x1400a1820.c new file mode 100644 index 00000000..ac162203 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a1820.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a1820 FUN_1400a1820 + * Pseudocode, not original source. */ + +ulonglong FUN_1400a1820(longlong param_1,int param_2,undefined8 param_3,int param_4) + +{ + int iVar1; + ulonglong in_RAX; + undefined8 uVar2; + longlong lVar3; + int iVar4; + ulonglong uVar5; + longlong lVar6; + + iVar1 = *(int *)(param_1 + 0x18); + uVar5 = 0; + lVar6 = 0; + if (0 < iVar1) { + in_RAX = 0; + lVar3 = param_1; + do { + if ((lVar6 < 0) || (iVar4 = (int)uVar5, iVar1 <= iVar4)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(lVar3,uVar5,param_3,param_1); + } + lVar3 = *(longlong *)(param_1 + 0x10); + if (((*(int *)(in_RAX + 4 + lVar3) == param_2) && (*(int *)(in_RAX + lVar3) == (int)param_3)) + && (*(int *)(in_RAX + 8 + lVar3) == param_4)) { + uVar2 = FUN_14003e820(param_1,iVar4,1,param_1); + return CONCAT71((int7)((ulonglong)uVar2 >> 8),1); + } + uVar5 = (ulonglong)(iVar4 + 1U); + lVar6 = lVar6 + 1; + in_RAX = in_RAX + 0x18; + } while ((int)(iVar4 + 1U) < iVar1); + } + return in_RAX & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a18a0.c b/decomp/Agent_Release_x64/full/functions/0x1400a18a0.c new file mode 100644 index 00000000..b29f39ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a18a0.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a18a0 FUN_1400a18a0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400a191d) */ +/* WARNING: Removing unreachable block (ram,0x0001400a1926) */ +/* WARNING: Removing unreachable block (ram,0x0001400a1944) */ +/* WARNING: Removing unreachable block (ram,0x0001400a194d) */ + +undefined4 * FUN_1400a18a0(undefined4 *param_1) + +{ + undefined8 *puVar1; + undefined8 local_40 [7]; + + *(undefined1 *)(param_1 + 2) = 0; + *(undefined8 *)(param_1 + 0x16) = 0; + *(undefined8 *)(param_1 + 4) = 0; + *(undefined8 *)(param_1 + 6) = 0; + *(undefined8 *)(param_1 + 8) = 0; + param_1[0xc] = 0x11; + *(undefined8 *)(param_1 + 10) = 0; + param_1[0x14] = 0; + param_1[0xd] = 0x3f400000; + param_1[0xe] = 0x3e800000; + param_1[0xf] = 0x40100000; + *(undefined8 *)(param_1 + 0x10) = 0x26; + *(undefined8 *)(param_1 + 0x12) = 0; + *(undefined ***)(param_1 + 0x18) = Proud::CFastArray::vftable; + *(undefined8 *)(param_1 + 0x1a) = 0; + *(undefined8 *)(param_1 + 0x1c) = 0; + *(undefined8 *)(param_1 + 0x1e) = 0; + *(undefined8 *)(param_1 + 0x20) = 0; + FUN_14003d0a0((undefined8 *)(param_1 + 0x24)); + *(undefined8 *)(param_1 + 0x34) = 0; + *(undefined8 *)(param_1 + 0x36) = 0; + *(undefined8 *)(param_1 + 0x38) = 0; + *(undefined8 *)(param_1 + 0x3a) = 0; + *(undefined ***)(param_1 + 0x32) = Proud::CP2PGroup_S::CAddMemberAckWaiterList::vftable; + FUN_14003d0d0((undefined1 *)(param_1 + 0x3c)); + *param_1 = 0; + puVar1 = FUN_14003d0a0(local_40); + *(undefined8 *)(param_1 + 0x24) = *puVar1; + *(undefined8 *)(param_1 + 0x26) = puVar1[1]; + *(undefined8 *)(param_1 + 0x28) = puVar1[2]; + *(undefined8 *)(param_1 + 0x2a) = puVar1[3]; + *(undefined8 *)(param_1 + 0x2c) = puVar1[4]; + *(undefined8 *)(param_1 + 0x2e) = puVar1[5]; + *(undefined8 *)(param_1 + 0x30) = puVar1[6]; + *(undefined1 *)(param_1 + 0x22) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a1a40.c b/decomp/Agent_Release_x64/full/functions/0x1400a1a40.c new file mode 100644 index 00000000..4ad77c9b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a1a40.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a1a40 FUN_1400a1a40 + * Pseudocode, not original source. */ + +void FUN_1400a1a40(undefined4 *param_1,undefined4 *param_2) + +{ + uint uVar1; + uint uVar2; + longlong lVar3; + ulonglong uVar4; + undefined8 uVar5; + uint *puVar6; + uint *puVar7; + uint uVar8; + uint local_res8 [2]; + + if (*(longlong *)(param_1 + 10) == 0) { + puVar7 = (uint *)0x0; + } + else { + puVar7 = *(uint **)(param_1 + 6); + } + do { + if (puVar7 == (uint *)0x0) { + *param_2 = *param_1; + return; + } + if (puVar7 == (uint *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar1 = *puVar7; + uVar2 = param_2[0xc]; + lVar3 = *(longlong *)(param_2 + 4); + uVar4 = (ulonglong)uVar1 % (ulonglong)uVar2; + uVar8 = (uint)uVar4; + local_res8[0] = uVar1; + if (lVar3 == 0) { +LAB_1400a1afe: + uVar5 = FUN_14003f710((longlong)(param_2 + 2),uVar2,'\x01'); + if ((char)uVar5 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + else { + for (puVar6 = *(uint **)(lVar3 + uVar4 * 8); + (puVar6 != (uint *)0x0 && (uVar8 == puVar6[6] % uVar2)); puVar6 = *(uint **)(puVar6 + 2)) + { + if (*puVar6 == uVar1) goto LAB_1400a1b3e; + } + if (lVar3 == 0) goto LAB_1400a1afe; + for (puVar6 = *(uint **)(lVar3 + uVar4 * 8); + (puVar6 != (uint *)0x0 && (uVar8 == puVar6[6] % uVar2)); puVar6 = *(uint **)(puVar6 + 2)) + { + if (*puVar6 == uVar1) goto LAB_1400a1b3a; + } + if (lVar3 == 0) goto LAB_1400a1afe; + } + FUN_14003f000((char *)(param_2 + 2)); + puVar6 = FUN_140041130((char *)(param_2 + 2),local_res8,uVar8,uVar1); + FUN_14003f000((char *)(param_2 + 2)); +LAB_1400a1b3a: + *(undefined1 *)(puVar6 + 1) = 0; +LAB_1400a1b3e: + puVar7 = *(uint **)(puVar7 + 6); + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a1b90.c b/decomp/Agent_Release_x64/full/functions/0x1400a1b90.c new file mode 100644 index 00000000..e9c96075 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a1b90.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a1b90 FUN_1400a1b90 + * Pseudocode, not original source. */ + +longlong * +FUN_1400a1b90(undefined4 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined4 *puVar1; + undefined4 *puVar2; + undefined4 *puVar3; + + puVar3 = (undefined4 *)0x0; + puVar1 = (undefined4 *)FUN_140030280(0x60); + puVar2 = puVar3; + if (puVar1 != (undefined4 *)0x0) { + puVar2 = FUN_1400bfce0(puVar1); + } + FUN_140040e20(param_2,(longlong)puVar2,param_3,param_4); + if (*param_2 != 0) { + puVar3 = *(undefined4 **)(*param_2 + 0x38); + } + FUN_1400a1a40(param_1,puVar3); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a1c10.c b/decomp/Agent_Release_x64/full/functions/0x1400a1c10.c new file mode 100644 index 00000000..3689e81c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a1c10.c @@ -0,0 +1,100 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a1c10 FUN_1400a1c10 + * Pseudocode, not original source. */ + +undefined8 FUN_1400a1c10(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + undefined8 uVar2; + uint *puVar3; + longlong lVar4; + SIZE_T SVar5; + uint local_res8 [2]; + longlong *local_res10; + uint local_c8 [2]; + longlong local_c0; + longlong local_b8; + int local_ac; + undefined8 local_a0; + exception local_98 [144]; + + local_a0 = 0xfffffffffffffffe; + puVar3 = local_c8; + FUN_1400806d0(puVar3); + lVar4 = *(longlong *)(param_1 + 8); + if (lVar4 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar3,param_2,param_3,param_4); + } + uVar1 = *(uint *)(param_1 + 0x18); + } + else { + uVar1 = *(uint *)(lVar4 + 0x18); + } + SVar5 = (SIZE_T)uVar1; + if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar4 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar3,param_2,SVar5,param_4); + } + if (*(int *)(lVar4 + 0x18) == 0) { + lVar4 = 0; + } + else { + lVar4 = *(longlong *)(lVar4 + 0x10); + } + } + else { + lVar4 = *(longlong *)(param_1 + 0x10); + if (lVar4 == 0) { + FUN_14002f1e0(local_98,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,SVar5, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_98,(ThrowInfo *)&DAT_140151b88); + } + } + puVar3 = local_c8; + FUN_140080350((longlong)puVar3,lVar4,SVar5,param_4); + if (*(longlong *)(param_1 + 8) == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar3,lVar4,SVar5,param_4); + } + uVar1 = *(uint *)(param_1 + 0x18); + } + else { + uVar1 = *(uint *)(*(longlong *)(param_1 + 8) + 0x18); + } + FUN_140080830((int *)local_c8,(ulonglong)uVar1,SVar5,param_4); + uVar2 = FUN_140080f30(local_c8,local_res8,SVar5,param_4); + if ((char)uVar2 != '\0') { + if (local_res8[0] == 1) { + local_res10 = &local_c0; + FUN_140095270(&local_c0); + if ((local_b8 != 0) && (local_ac < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return 1; + } + if (local_res8[0] == 2) { + local_res10 = &local_c0; + FUN_140095270(&local_c0); + if ((local_b8 != 0) && (local_ac < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return 2; + } + } + local_res10 = &local_c0; + FUN_140095270(&local_c0); + if ((local_b8 != 0) && (local_ac < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return 3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a1da0.c b/decomp/Agent_Release_x64/full/functions/0x1400a1da0.c new file mode 100644 index 00000000..bd2083f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a1da0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a1da0 FUN_1400a1da0 + * Pseudocode, not original source. */ + +undefined4 * FUN_1400a1da0(undefined4 *param_1) + +{ + FUN_1400806d0(param_1 + 2); + *(undefined ***)(param_1 + 0xe) = Proud::AddrPort::vftable; + param_1[0x10] = 0; + *(undefined2 *)(param_1 + 0x11) = 0; + *(undefined1 *)(param_1 + 0x12) = 0; + param_1[0xc] = 0; + param_1[0x10] = DAT_1401553d0; + *(undefined2 *)(param_1 + 0x11) = DAT_1401553d4; + FUN_140056e60((longlong)(param_1 + 0x14)); + *param_1 = 3; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a1e10.c b/decomp/Agent_Release_x64/full/functions/0x1400a1e10.c new file mode 100644 index 00000000..c76c30d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a1e10.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a1e10 FUN_1400a1e10 + * Pseudocode, not original source. */ + +void FUN_1400a1e10(int *param_1,int *param_2,SIZE_T param_3,undefined8 param_4) + +{ + int iVar1; + + iVar1 = *param_2; + param_1[0xc] = (int)param_3; + *param_1 = iVar1; + if (*param_2 == 0) { + FUN_140079690(param_1 + 0x14,param_2 + 0xc,param_3,param_4); + return; + } + FUN_140064ff0(param_1 + 2,param_2 + 2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a1e40.c b/decomp/Agent_Release_x64/full/functions/0x1400a1e40.c new file mode 100644 index 00000000..7f9cc816 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a1e40.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a1e40 FUN_1400a1e40 + * Pseudocode, not original source. */ + +undefined4 * FUN_1400a1e40(undefined4 *param_1,undefined8 param_2) + +{ + *(undefined8 *)(param_1 + 0x50) = param_2; + *(undefined4 **)(param_1 + 0x4e) = param_1; + FUN_1400a1da0(param_1); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a1e80.c b/decomp/Agent_Release_x64/full/functions/0x1400a1e80.c new file mode 100644 index 00000000..506f133f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a1e80.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a1e80 FUN_1400a1e80 + * Pseudocode, not original source. */ + +void FUN_1400a1e80(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + longlong lVar2; + + piVar1 = *(int **)(param_1 + 0x140); + FUN_14002e6e0(piVar1); + lVar2 = *(longlong *)(param_1 + 0x138); + FUN_140056f10(lVar2 + 0x50,param_2,param_3,param_4); + FUN_140095270((longlong *)(lVar2 + 0x10)); + if (*(longlong *)(lVar2 + 0x18) != 0) { + if (*(int *)(lVar2 + 0x24) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(lVar2 + 0x20) = 0; + } + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a1f10.c b/decomp/Agent_Release_x64/full/functions/0x1400a1f10.c new file mode 100644 index 00000000..465e323d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a1f10.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a1f10 FUN_1400a1f10 + * Pseudocode, not original source. */ + +int FUN_1400a1f10(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + int *piVar2; + longlong lVar3; + uint uVar4; + longlong lVar6; + uint uVar7; + ulonglong uVar9; + uint uVar10; + exception local_58 [80]; + ulonglong uVar5; + ulonglong uVar8; + + lVar1 = *(longlong *)(param_1 + 0xc80); + uVar5 = 0; + uVar10 = 0; + if (lVar1 == 0) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + lVar6 = (longlong)*(int *)(param_1 + 0xc88); + uVar9 = uVar5; + uVar7 = uVar10; + uVar4 = uVar10; + if (1 < lVar6) { + piVar2 = (int *)(lVar1 + 0x18); + lVar3 = (lVar6 - 2U >> 1) + 1; + uVar9 = lVar3 * 2; + uVar8 = uVar5; + do { + uVar4 = (int)uVar5 + piVar2[-4]; + uVar5 = (ulonglong)uVar4; + uVar7 = (int)uVar8 + *piVar2; + uVar8 = (ulonglong)uVar7; + piVar2 = piVar2 + 8; + lVar3 = lVar3 + -1; + } while (lVar3 != 0); + } + if ((longlong)uVar9 < lVar6) { + uVar10 = *(uint *)(lVar1 + 8 + uVar9 * 0x10); + } + return uVar7 + uVar4 + uVar10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a1fb0.c b/decomp/Agent_Release_x64/full/functions/0x1400a1fb0.c new file mode 100644 index 00000000..2c1804f4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a1fb0.c @@ -0,0 +1,91 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a1fb0 FUN_1400a1fb0 + * Pseudocode, not original source. */ + +void FUN_1400a1fb0(longlong param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + uint uVar2; + longlong lVar3; + undefined8 uVar4; + int iVar5; + undefined8 *_Dst; + undefined8 *_Src; + undefined8 *puVar6; + ulonglong uVar7; + ulonglong uVar8; + ulonglong uVar9; + ulonglong uVar10; + ulonglong uVar11; + ulonglong uVar12; + ulonglong uVar13; + exception local_78 [80]; + + iVar5 = FUN_1400a1f10(param_1,param_2,param_3,param_4); + FUN_14001bc70(param_2,iVar5,param_3); + uVar7 = 0; + if (*(longlong *)(param_1 + 0xc80) == 0) { + FUN_14002f1e0(local_78,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_78,(ThrowInfo *)&DAT_140151b88); + } + uVar13 = uVar7; + if (*(int *)(param_2 + 0x18) != 0) { + uVar13 = *(ulonglong *)(param_2 + 0x10); + } + iVar5 = *(int *)(param_1 + 0xc88); + uVar8 = uVar7; + uVar9 = uVar7; + uVar10 = uVar7; + if (0 < (longlong)iVar5) { + do { + lVar3 = *(longlong *)(param_1 + 0xc80); + if (lVar3 == 0) { + FUN_14002f1e0(local_78,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_78,(ThrowInfo *)&DAT_140151b88); + } + if (((longlong)uVar7 < 0) || (*(int *)(param_1 + 0xc88) <= (int)uVar9)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar2 = *(uint *)(lVar3 + 8 + uVar8); + param_3 = (SIZE_T)(int)uVar2; + _Src = *(undefined8 **)(lVar3 + uVar8); + _Dst = (undefined8 *)((longlong)(int)uVar10 + uVar13); + if (param_3 < 0x21) { + uVar12 = (ulonglong)(uVar2 & 7); + for (uVar11 = param_3 >> 3; uVar11 != 0; uVar11 = uVar11 - 1) { + uVar4 = *_Src; + _Src = _Src + 1; + *_Dst = uVar4; + _Dst = _Dst + 1; + } + param_4 = 0; + param_3 = 0; + if (uVar12 != 0) { + puVar6 = _Src; + do { + uVar1 = *(undefined1 *)puVar6; + puVar6 = (undefined8 *)((longlong)puVar6 + 1); + uVar12 = uVar12 - 1; + *(undefined1 *)((longlong)_Dst + (-1 - (longlong)_Src) + (longlong)puVar6) = uVar1; + } while (uVar12 != 0); + param_4 = 0; + } + } + else { + memcpy(_Dst,_Src,param_3); + } + uVar7 = uVar7 + 1; + uVar8 = uVar8 + 0x10; + uVar9 = (ulonglong)((int)uVar9 + 1); + uVar10 = (ulonglong)((int)uVar10 + uVar2); + } while ((longlong)uVar7 < (longlong)iVar5); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a2150.c b/decomp/Agent_Release_x64/full/functions/0x1400a2150.c new file mode 100644 index 00000000..8e9c324f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a2150.c @@ -0,0 +1,106 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a2150 FUN_1400a2150 + * Pseudocode, not original source. */ + +void FUN_1400a2150(longlong param_1,int *param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + int iVar2; + longlong lVar3; + undefined8 uVar4; + uint uVar5; + longlong lVar6; + int *piVar7; + undefined8 *_Src; + longlong lVar8; + longlong lVar9; + int iVar10; + ulonglong uVar11; + ulonglong uVar12; + int iVar13; + SIZE_T _Size; + exception local_78 [80]; + + piVar7 = param_2; + FUN_140080220((undefined8 *)param_2); + FUN_1400801a0((longlong)param_2,piVar7,param_3,param_4); + uVar5 = FUN_1400a1f10(param_1,piVar7,param_3,param_4); + piVar7 = param_2; + FUN_140080830(param_2,(ulonglong)uVar5,param_3,param_4); + if (*(longlong *)(param_1 + 0xc80) == 0) { + FUN_14002f1e0(local_78,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_78,(ThrowInfo *)&DAT_140151b88); + } + iVar2 = *(int *)(param_1 + 0xc88); + iVar13 = 0; + iVar10 = 0; + lVar8 = 0; + if (0 < (longlong)iVar2) { + lVar9 = 0; + do { + lVar3 = *(longlong *)(param_1 + 0xc80); + if (lVar3 == 0) { + FUN_14002f1e0(local_78,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_78,(ThrowInfo *)&DAT_140151b88); + } + if ((lVar8 < 0) || (*(int *)(param_1 + 0xc88) <= iVar10)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + lVar6 = *(longlong *)(param_2 + 4); + uVar5 = *(uint *)(lVar9 + 8 + lVar3); + _Size = (SIZE_T)(int)uVar5; + _Src = *(undefined8 **)(lVar9 + lVar3); + if (lVar6 == 0) { + lVar3 = *(longlong *)(param_2 + 2); + if (lVar3 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(piVar7,_Src,param_3,param_4); + } + if (*(int *)(lVar3 + 0x18) == 0) { + lVar6 = 0; + } + else { + lVar6 = *(longlong *)(lVar3 + 0x10); + } + } + piVar7 = (int *)(iVar13 + lVar6); + if (_Size < 0x21) { + uVar12 = (ulonglong)(uVar5 & 7); + for (uVar11 = _Size >> 3; uVar11 != 0; uVar11 = uVar11 - 1) { + uVar4 = *_Src; + _Src = _Src + 1; + *(undefined8 *)piVar7 = uVar4; + piVar7 = piVar7 + 2; + } + param_4 = 0; + _Size = 0; + if (uVar12 != 0) { + piVar7 = (int *)((longlong)piVar7 - (longlong)_Src); + do { + uVar1 = *(undefined1 *)_Src; + _Src = (undefined8 *)((longlong)_Src + 1); + uVar12 = uVar12 - 1; + *(undefined1 *)((longlong)piVar7 + -1 + (longlong)_Src) = uVar1; + } while (uVar12 != 0); + param_4 = 0; + } + } + else { + memcpy(piVar7,_Src,_Size); + } + lVar8 = lVar8 + 1; + iVar13 = iVar13 + uVar5; + iVar10 = iVar10 + 1; + lVar9 = lVar9 + 0x10; + param_3 = _Size; + } while (lVar8 < iVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a2330.c b/decomp/Agent_Release_x64/full/functions/0x1400a2330.c new file mode 100644 index 00000000..b32c2e7c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a2330.c @@ -0,0 +1,129 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a2330 FUN_1400a2330 + * Pseudocode, not original source. */ + +void FUN_1400a2330(longlong param_1,longlong *param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + int iVar2; + longlong lVar3; + undefined8 uVar4; + uint uVar5; + longlong lVar6; + undefined8 *_Dst; + longlong *plVar7; + undefined8 *_Src; + undefined8 *puVar8; + ulonglong uVar9; + ulonglong uVar10; + ulonglong uVar11; + ulonglong uVar12; + ulonglong uVar13; + ulonglong uVar14; + ulonglong uVar15; + exception local_78 [80]; + + lVar6 = param_1; + plVar7 = param_2; + uVar5 = FUN_1400a1f10(param_1,param_2,param_3,param_4); + if ((int)uVar5 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2[1] == 0) { + lVar6 = *param_2; + if ((int)uVar5 < 1) { + if (lVar6 == 0) goto LAB_1400a2389; + plVar7 = (longlong *)0x0; + } + else { + if (lVar6 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,plVar7,param_3,param_4); + } + plVar7 = (longlong *)(ulonglong)uVar5; + } + FUN_14001bc70(lVar6,(int)plVar7,param_3); + } + else { + if (*(int *)((longlong)param_2 + 0x14) < (int)uVar5) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(uint *)(param_2 + 2) = uVar5; + } +LAB_1400a2389: + uVar9 = 0; + if (*(longlong *)(param_1 + 0xc80) == 0) { + FUN_14002f1e0(local_78,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_78,(ThrowInfo *)&DAT_140151b88); + } + uVar15 = param_2[1]; + if (param_2[1] == 0) { + lVar3 = *param_2; + if (lVar3 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(lVar6,plVar7,param_3,param_4); + } + uVar15 = uVar9; + if (*(int *)(lVar3 + 0x18) != 0) { + uVar15 = *(ulonglong *)(lVar3 + 0x10); + } + } + iVar2 = *(int *)(param_1 + 0xc88); + uVar10 = uVar9; + uVar11 = uVar9; + uVar12 = uVar9; + if (0 < (longlong)iVar2) { + do { + lVar6 = *(longlong *)(param_1 + 0xc80); + if (lVar6 == 0) { + FUN_14002f1e0(local_78,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_78,(ThrowInfo *)&DAT_140151b88); + } + if (((longlong)uVar9 < 0) || (*(int *)(param_1 + 0xc88) <= (int)uVar11)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar5 = *(uint *)(lVar6 + 8 + uVar10); + param_3 = (SIZE_T)(int)uVar5; + _Src = *(undefined8 **)(lVar6 + uVar10); + _Dst = (undefined8 *)((longlong)(int)uVar12 + uVar15); + if (param_3 < 0x21) { + uVar14 = (ulonglong)(uVar5 & 7); + for (uVar13 = param_3 >> 3; uVar13 != 0; uVar13 = uVar13 - 1) { + uVar4 = *_Src; + _Src = _Src + 1; + *_Dst = uVar4; + _Dst = _Dst + 1; + } + param_4 = 0; + param_3 = 0; + if (uVar14 != 0) { + puVar8 = _Src; + do { + uVar1 = *(undefined1 *)puVar8; + puVar8 = (undefined8 *)((longlong)puVar8 + 1); + uVar14 = uVar14 - 1; + *(undefined1 *)((longlong)_Dst + (-1 - (longlong)_Src) + (longlong)puVar8) = uVar1; + } while (uVar14 != 0); + param_4 = 0; + } + } + else { + memcpy(_Dst,_Src,param_3); + } + uVar9 = uVar9 + 1; + uVar10 = uVar10 + 0x10; + uVar11 = (ulonglong)((int)uVar11 + 1); + uVar12 = (ulonglong)((int)uVar12 + uVar5); + } while ((longlong)uVar9 < (longlong)iVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a2530.c b/decomp/Agent_Release_x64/full/functions/0x1400a2530.c new file mode 100644 index 00000000..bf4ebec2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a2530.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a2530 FUN_1400a2530 + * Pseudocode, not original source. */ + +longlong * FUN_1400a2530(longlong *param_1) + +{ + int iVar1; + + if (param_1 != (longlong *)0x0) { + iVar1 = (**(code **)(*param_1 + 8))(); + if (iVar1 == 4) { + return param_1; + } + } + return (longlong *)0x0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a2560.c b/decomp/Agent_Release_x64/full/functions/0x1400a2560.c new file mode 100644 index 00000000..d40bd1b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a2560.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a2560 FUN_1400a2560 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400a2560(undefined8 *param_1) + +{ + int iVar1; + + if (param_1 != (undefined8 *)0x0) { + iVar1 = (**(code **)*param_1)(); + if (iVar1 == 1) { + return param_1; + } + } + return (undefined8 *)0x0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a2590.c b/decomp/Agent_Release_x64/full/functions/0x1400a2590.c new file mode 100644 index 00000000..092ad152 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a2590.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a2590 FUN_1400a2590 + * Pseudocode, not original source. */ + +longlong * FUN_1400a2590(longlong *param_1) + +{ + int iVar1; + + if (param_1 != (longlong *)0x0) { + iVar1 = (**(code **)(*param_1 + 8))(); + if (iVar1 == 1) { + return param_1 + -7; + } + } + return (longlong *)0x0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a25c0.c b/decomp/Agent_Release_x64/full/functions/0x1400a25c0.c new file mode 100644 index 00000000..56fb49ea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a25c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a25c0 FUN_1400a25c0 + * Pseudocode, not original source. */ + +void FUN_1400a25c0(longlong param_1) + +{ + FUN_14003a0e0((undefined8 *)(param_1 + 0x20),DAT_140155070); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a25d0.c b/decomp/Agent_Release_x64/full/functions/0x1400a25d0.c new file mode 100644 index 00000000..a37e5ffb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a25d0.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a25d0 FUN_1400a25d0 + * Pseudocode, not original source. */ + +void FUN_1400a25d0(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong *plVar2; + + if (*(longlong *)(param_2 + 0x18) == 0) { + plVar1 = (longlong *)(param_2 + 8); + plVar2 = (longlong *)(param_1 + 8); + if (*(longlong *)(param_2 + 0x18) != 0) { + FUN_140085410(plVar2,plVar1,param_3,param_4); + } + if (*(longlong *)(param_1 + 0x10) == 0) { + *plVar2 = (longlong)plVar1; + } + else { + *(longlong **)(*(longlong *)(param_1 + 0x10) + 8) = plVar1; + *plVar1 = *(longlong *)(param_1 + 0x10); + } + *(longlong **)(param_1 + 0x10) = plVar1; + *(longlong **)(param_2 + 0x18) = plVar2; + *(int *)(param_1 + 0x18) = *(int *)(param_1 + 0x18) + 1; + } + FUN_1400bbee0((undefined8 *)(param_1 + 0x20),1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a2650.c b/decomp/Agent_Release_x64/full/functions/0x1400a2650.c new file mode 100644 index 00000000..760bf2d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a2650.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a2650 FUN_1400a2650 + * Pseudocode, not original source. */ + +undefined8 FUN_1400a2650(undefined8 *param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + longlong *plVar1; + char cVar2; + int *piVar3; + undefined8 uVar4; + ulonglong uVar5; + longlong *plVar6; + + plVar6 = param_3; + piVar3 = (int *)(**(code **)(*(longlong *)*param_1 + 8))(); + FUN_14002e6e0(piVar3); + do { + do { + if (*(int *)(param_1 + 3) < 1) { + uVar5 = FUN_14002e770((longlong)piVar3); + return uVar5 & 0xffffffffffffff00; + } + plVar1 = *(longlong **)(param_1[1] + 0x18); + if ((longlong *)plVar1[3] != (longlong *)0x0) { + FUN_140085410((longlong *)plVar1[3],plVar1 + 1,plVar6,param_4); + } + cVar2 = (**(code **)(*plVar1 + 0x10))(plVar1); + } while (((cVar2 != '\0') || (cVar2 = (**(code **)(*plVar1 + 0x18))(plVar1), cVar2 != '\0')) || + (cVar2 = (**(code **)(*plVar1 + 0x28))(plVar1,param_2), cVar2 == '\0')); + cVar2 = (**(code **)(*(longlong *)*param_1 + 0x18)) + ((longlong *)*param_1,*(undefined4 *)(param_2 + 0x30)); + } while (cVar2 == '\0'); + (**(code **)(*plVar1 + 0x20))(plVar1,1); + *param_3 = plVar1[5]; + uVar4 = FUN_14002e770((longlong)piVar3); + return CONCAT71((int7)((ulonglong)uVar4 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a2740.c b/decomp/Agent_Release_x64/full/functions/0x1400a2740.c new file mode 100644 index 00000000..565a0166 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a2740.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a2740 FUN_1400a2740 + * Pseudocode, not original source. */ + +void FUN_1400a2740(undefined8 *param_1,undefined4 param_2,char param_3,undefined8 param_4) + +{ + char cVar1; + int *piVar2; + longlong *plVar3; + longlong lVar4; + + piVar2 = (int *)(**(code **)(*(longlong *)*param_1 + 8))(); + FUN_14002e6e0(piVar2); + plVar3 = (longlong *)(**(code **)(*(longlong *)*param_1 + 0x10))((longlong *)*param_1,param_2); + if (plVar3 != (longlong *)0x0) { + lVar4 = *plVar3; + (**(code **)(lVar4 + 0x20))(plVar3,param_3); + if (param_3 == '\0') { + cVar1 = (**(code **)(*plVar3 + 0x10))(plVar3); + if (cVar1 == '\0') { + FUN_1400a25d0((longlong)param_1,(longlong)plVar3,lVar4,param_4); + } + } + } + FUN_14002e770((longlong)piVar2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a27f0.c b/decomp/Agent_Release_x64/full/functions/0x1400a27f0.c new file mode 100644 index 00000000..4e78b3fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a27f0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a27f0 FUN_1400a27f0 + * Pseudocode, not original source. */ + +void FUN_1400a27f0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = Proud::ITaskSubject::vftable; + if ((longlong *)param_1[3] != (longlong *)0x0) { + FUN_140085410((longlong *)param_1[3],param_1 + 1,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a2820.c b/decomp/Agent_Release_x64/full/functions/0x1400a2820.c new file mode 100644 index 00000000..6cf23b85 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a2820.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a2820 FUN_1400a2820 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400a2820(undefined8 *param_1,undefined8 param_2) + +{ + param_1[1] = 0; + param_1[2] = 0; + *(undefined4 *)(param_1 + 3) = 0; + FUN_1400bbec0(param_1 + 4,0,0x7fffffff); + *param_1 = param_2; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a2870.c b/decomp/Agent_Release_x64/full/functions/0x1400a2870.c new file mode 100644 index 00000000..08482655 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a2870.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a2870 FUN_1400a2870 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400a2870(undefined8 *param_1) + +{ + *param_1 = Proud::ITaskSubject::vftable; + param_1[4] = param_1; + param_1[1] = 0; + param_1[2] = 0; + param_1[3] = 0; + param_1[5] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a28a0.c b/decomp/Agent_Release_x64/full/functions/0x1400a28a0.c new file mode 100644 index 00000000..2e484096 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a28a0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a28a0 FUN_1400a28a0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400a28a0(undefined8 *param_1,uint param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = Proud::ITaskSubject::vftable; + if ((longlong *)param_1[3] != (longlong *)0x0) { + FUN_140085410((longlong *)param_1[3],param_1 + 1,param_3,param_4); + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a28f0.c b/decomp/Agent_Release_x64/full/functions/0x1400a28f0.c new file mode 100644 index 00000000..b6d12096 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a28f0.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a28f0 FUN_1400a28f0 + * Pseudocode, not original source. */ + +undefined4 * FUN_1400a28f0(undefined4 *param_1) + +{ + undefined4 uVar1; + + *(double *)(param_1 + 2) = DAT_1401550f8 * 10.0 * 2.0; + uVar1 = DAT_14015bfc4; + *param_1 = 0; + param_1[4] = uVar1; + param_1[1] = 0x10000; + param_1[5] = DAT_140155190; + *(undefined1 *)(param_1 + 6) = 1; + *(undefined2 *)(param_1 + 9) = 0x100; + *(undefined1 *)((longlong)param_1 + 0x27) = 1; + *(undefined8 *)(param_1 + 7) = 0x80; + *(undefined1 *)((longlong)param_1 + 0x26) = DAT_140155145; + param_1[10] = 0; + *(undefined1 *)((longlong)param_1 + 0x2d) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a2960.c b/decomp/Agent_Release_x64/full/functions/0x1400a2960.c new file mode 100644 index 00000000..2e209160 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a2960.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a2960 FUN_1400a2960 + * Pseudocode, not original source. */ + +int FUN_1400a2960(longlong param_1) + +{ + int iVar1; + + iVar1 = FUN_14003a250(param_1,0x7fffffff); + if (iVar1 == 0) { + iVar1 = 1; + } + return iVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a2980.c b/decomp/Agent_Release_x64/full/functions/0x1400a2980.c new file mode 100644 index 00000000..3b842c45 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a2980.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a2980 FUN_1400a2980 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400a29b0) */ + +void FUN_1400a2980(undefined8 param_1,undefined8 param_2,SIZE_T param_3,undefined4 *param_4) + +{ + longlong *plVar1; + undefined2 *puVar2; + longlong *plVar3; + SIZE_T SVar4; + undefined4 *puVar5; + + plVar1 = (longlong *)(param_4 + 2); + *param_4 = 1; + param_4[1] = (int)param_2; + plVar3 = plVar1; + SVar4 = param_3; + puVar5 = param_4; + FUN_140095270(plVar1); + *(undefined8 *)(param_4 + 6) = 0; + *(undefined8 *)(param_4 + 4) = 0; + if (*plVar1 == 0) { + puVar2 = FUN_1400952b0(plVar3,param_2,SVar4); + *plVar1 = (longlong)puVar2; + *(undefined8 *)(puVar2 + 0x14) = 1; + } + thunk_FUN_1400a2330(param_3,plVar1,SVar4,puVar5); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a2a00.c b/decomp/Agent_Release_x64/full/functions/0x1400a2a00.c new file mode 100644 index 00000000..7a062b00 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a2a00.c @@ -0,0 +1,137 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a2a00 FUN_1400a2a00 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400a2a00(byte *param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + uint uVar1; + longlong lVar2; + int iVar3; + SIZE_T SVar4; + longlong lVar5; + ulonglong uVar6; + undefined1 *puVar7; + longlong lVar8; + SIZE_T SVar9; + undefined1 auStack_1a08 [32]; + exception local_19e8 [72]; + undefined8 local_19a0; + exception local_1998 [80]; + undefined1 local_1948 [3200]; + longlong local_cc8; + undefined4 local_cc0; + int local_cbc; + undefined1 local_cb8 [3200]; + longlong local_38; + int local_2c; + ulonglong local_28; + undefined8 uStack_20; + + uStack_20 = 0x1400a2a0e; + local_19a0 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_1a08; + if (*(longlong *)(param_2 + 0xc80) == 0) { + FUN_14002f1e0(local_19e8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_19e8,(ThrowInfo *)&DAT_140151b88); + } + if (*(int *)(param_2 + 0xc8c) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + lVar8 = 0; + *(undefined4 *)(param_2 + 0xc88) = 0; + SVar9 = param_3; + FUN_14001ba80(param_3,CONCAT71((int7)((ulonglong)param_2 >> 8),0x13),param_3,param_4); + FUN_14001ba80(param_3,(ulonglong)*param_1,SVar9,param_4); + if (*(int *)param_1 == 1) { + uVar6 = (ulonglong)*(uint *)(param_1 + 4); + SVar4 = param_3; + FUN_140021e80(param_3,uVar6,SVar9,param_4); + if (*(longlong *)(param_1 + 8) == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(SVar4,uVar6,SVar9,param_4); + } + iVar3 = *(int *)(param_1 + 0x18); + } + else { + iVar3 = *(int *)(*(longlong *)(param_1 + 8) + 0x18); + } + FUN_140081aa0(param_3,(longlong)iVar3,SVar9,param_4); + FUN_140041760((longlong)local_1948,param_3,SVar9); + puVar7 = local_1948; + lVar5 = param_2; + FUN_140040a60(param_2,(longlong)puVar7,SVar9,param_4); + if (local_cc8 == 0) { + FUN_14002f1e0(local_19e8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,SVar9, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_19e8,(ThrowInfo *)&DAT_140151b88); + } + if (local_cbc < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_cc0 = 0; + lVar2 = *(longlong *)(param_1 + 8); + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(lVar5,puVar7,SVar9,param_4); + } + uVar1 = *(uint *)(param_1 + 0x18); + } + else { + uVar1 = *(uint *)(lVar2 + 0x18); + } + if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(lVar5,puVar7,(ulonglong)uVar1,param_4); + } + if (*(int *)(lVar2 + 0x18) != 0) { + lVar8 = *(longlong *)(lVar2 + 0x10); + } + } + else { + lVar8 = *(longlong *)(param_1 + 0x10); + if (lVar8 == 0) { + FUN_14002f1e0(local_1998,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0, + (ulonglong)uVar1,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_1998,(ThrowInfo *)&DAT_140151b88); + } + } + FUN_1400409d0(param_2,lVar8,uVar1); + } + else if (*(int *)param_1 == 2) { + if ((*(longlong **)(param_1 + 0x20) == (longlong *)0x0) || + (lVar8 = **(longlong **)(param_1 + 0x20), lVar8 == 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_1400a3240(lVar8,param_3,SVar9,param_4); + FUN_140021e80(param_3,(ulonglong)*(uint *)(param_1 + 0x34),SVar9,param_4); + FUN_140021e80(param_3,(ulonglong)*(uint *)(param_1 + 0x30),SVar9,param_4); + FUN_140041760((longlong)local_cb8,param_3,SVar9); + FUN_140040a60(param_2,(longlong)local_cb8,SVar9,param_4); + if (local_38 == 0) { + FUN_14002f1e0(local_19e8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,SVar9, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_19e8,(ThrowInfo *)&DAT_140151b88); + } + if (local_2c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a2c80.c b/decomp/Agent_Release_x64/full/functions/0x1400a2c80.c new file mode 100644 index 00000000..7fabb89b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a2c80.c @@ -0,0 +1,92 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a2c80 FUN_1400a2c80 + * Pseudocode, not original source. */ + +void FUN_1400a2c80(longlong *param_1,longlong *param_2,int param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong lVar2; + void *pvVar3; + void *_Dst; + int iVar4; + int iVar5; + + iVar4 = (int)param_4; + lVar1 = *param_2; + if (lVar1 == 0) { + if (param_2[1] == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_1,param_4); + } + iVar5 = (int)param_2[2]; + } + else { + iVar5 = *(int *)(lVar1 + 0x18); + } + if (iVar5 < param_3 + iVar4) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(param_1,param_2,param_1,param_4); + } + if ((0 < iVar4) && (param_1[1] == 0)) { + lVar2 = *param_1; + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_1,param_4); + } + if (*(int *)(lVar2 + 0x18) == 0) { + lVar2 = 0; + } + else { + lVar2 = *(longlong *)(lVar2 + 0x10); + } + if (lVar2 == 0) goto LAB_1400a2d0e; + } + _Dst = (void *)param_2[1]; + pvVar3 = _Dst; + if (_Dst == (void *)0x0) { + if (lVar1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,param_2,param_1,param_4); + } + if (*(int *)(lVar1 + 0x18) == 0) { + pvVar3 = (void *)0x0; + } + else { + pvVar3 = *(void **)(lVar1 + 0x10); + } + } + if (pvVar3 != (void *)0x0) { + lVar2 = param_1[1]; + if (lVar2 == 0) { + lVar2 = *param_1; + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(_Dst,param_2,param_1,param_4); + } + if (*(int *)(lVar2 + 0x18) == 0) { + lVar2 = 0; + } + else { + lVar2 = *(longlong *)(lVar2 + 0x10); + } + } + if (_Dst == (void *)0x0) { + if (lVar1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,param_2,param_1,param_4); + } + if (*(int *)(lVar1 + 0x18) == 0) { + memmove((void *)0x0,(void *)(lVar2 + param_3),(longlong)iVar4); + return; + } + _Dst = *(void **)(lVar1 + 0x10); + } + memmove(_Dst,(void *)(lVar2 + param_3),(longlong)iVar4); + return; + } +LAB_1400a2d0e: + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a2d90.c b/decomp/Agent_Release_x64/full/functions/0x1400a2d90.c new file mode 100644 index 00000000..1b20ea44 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a2d90.c @@ -0,0 +1,74 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a2d90 FUN_1400a2d90 + * Pseudocode, not original source. */ + +ulonglong FUN_1400a2d90(uint *param_1,uint *param_2,longlong param_3,undefined8 param_4) + +{ + longlong lVar1; + undefined4 uVar2; + ulonglong uVar3; + uint *puVar4; + undefined8 *puVar5; + longlong lVar6; + int iVar7; + uint local_res18 [2]; + undefined4 local_res20 [2]; + undefined4 local_28; + undefined4 local_24 [3]; + + uVar3 = FUN_140080ca0(param_2,(undefined8 *)local_res18,param_3,param_4); + if ((char)uVar3 == '\0') { + return uVar3; + } + puVar5 = (undefined8 *)(ulonglong)local_res18[0]; + puVar4 = param_1; + FUN_1400976d0((longlong)param_1,local_res18[0],param_3); + uVar3 = (ulonglong)param_1[6]; + iVar7 = 0; + lVar6 = 0; + if (0 < (int)param_1[6]) { + do { + if ((lVar6 < 0) || ((int)uVar3 <= iVar7)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(puVar4,puVar5,param_3,param_4); + } + lVar1 = *(longlong *)(param_1 + 4); + uVar3 = FUN_140080600(param_2,(undefined8 *)local_res18,1); + if ((char)uVar3 == '\0') goto LAB_1400a2ead; + param_3 = 4; + puVar4 = param_2; + if ((char)local_res18[0] == '\0') { + puVar5 = (undefined8 *)local_res20; + uVar3 = FUN_140080600(param_2,puVar5,4); + if ((char)uVar3 == '\0') { +LAB_1400a2ea6: + *(undefined4 *)(lVar1 + lVar6 * 8) = 0; +LAB_1400a2ead: + return uVar3 & 0xffffffffffffff00; + } + *(undefined4 *)(lVar1 + lVar6 * 8) = local_res20[0]; + uVar2 = local_res20[0]; + } + else { + uVar3 = FUN_140080600(param_2,(undefined8 *)&local_28,4); + if ((char)uVar3 == '\0') goto LAB_1400a2ea6; + puVar5 = (undefined8 *)local_24; + param_3 = 4; + *(undefined4 *)(lVar1 + lVar6 * 8) = local_28; + uVar3 = FUN_140080600(param_2,puVar5,4); + uVar2 = local_24[0]; + if ((char)uVar3 == '\0') { + *(undefined4 *)(lVar1 + 4 + lVar6 * 8) = 0; + return uVar3 & 0xffffffffffffff00; + } + } + *(undefined4 *)(lVar1 + 4 + lVar6 * 8) = uVar2; + uVar3 = (ulonglong)param_1[6]; + iVar7 = iVar7 + 1; + lVar6 = lVar6 + 1; + } while (iVar7 < (int)param_1[6]); + } + return CONCAT71((int7)(uVar3 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a2ec0.c b/decomp/Agent_Release_x64/full/functions/0x1400a2ec0.c new file mode 100644 index 00000000..07e8bf4a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a2ec0.c @@ -0,0 +1,76 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a2ec0 FUN_1400a2ec0 + * Pseudocode, not original source. */ + +longlong * FUN_1400a2ec0(longlong *param_1,longlong *param_2,SIZE_T param_3,undefined8 param_4) + +{ + uint uVar1; + longlong *plVar2; + longlong *plVar3; + exception local_50 [72]; + + if (param_1[1] != 0) { + FUN_14002f1e0(local_50,(wchar_t *)PTR_u_exception_due_to_using_external_b_140156b88,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + param_2[2] = 0; + param_2[1] = 0; + *param_2 = 0; + plVar2 = param_1; + plVar3 = param_2; + if (*param_1 != 0) { + plVar2 = param_2; + FUN_140080150(param_2,param_2,param_3,param_4); + if (*param_1 == 0) { + if (param_1[1] == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(plVar2,plVar3,param_3,param_4); + } + uVar1 = *(uint *)(param_1 + 2); + } + else { + uVar1 = *(uint *)(*param_1 + 0x18); + } + plVar3 = (longlong *)(ulonglong)uVar1; + if ((int)uVar1 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2[1] == 0) { + plVar2 = (longlong *)*param_2; + if ((int)uVar1 < 1) { + if (plVar2 == (longlong *)0x0) goto LAB_1400a2f88; + plVar3 = (longlong *)0x0; + } + else if (plVar2 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,plVar3,param_3,param_4); + } + FUN_14001bc70((longlong)plVar2,(int)plVar3,param_3); + } + else { + if (*(int *)((longlong)param_2 + 0x14) < (int)uVar1) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(uint *)(param_2 + 2) = uVar1; + } +LAB_1400a2f88: + if (*param_1 != 0) { + uVar1 = *(uint *)(*param_1 + 0x18); + goto LAB_1400a2fa7; + } + } + if (param_1[1] == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(plVar2,plVar3,param_3,param_4); + } + uVar1 = *(uint *)(param_1 + 2); +LAB_1400a2fa7: + FUN_1400a2c80(param_1,param_2,0,(ulonglong)uVar1); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a2fd0.c b/decomp/Agent_Release_x64/full/functions/0x1400a2fd0.c new file mode 100644 index 00000000..31221521 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a2fd0.c @@ -0,0 +1,75 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a2fd0 FUN_1400a2fd0 + * Pseudocode, not original source. */ + +void FUN_1400a2fd0(longlong param_1,undefined8 param_2,longlong param_3,undefined8 param_4) + +{ + int iVar1; + int iVar2; + int iVar3; + longlong lVar4; + int iVar5; + undefined8 *_Src; + longlong lVar6; + undefined8 *puVar7; + longlong lVar8; + + iVar1 = *(int *)(param_1 + 0x18); + lVar6 = (longlong)iVar1; + iVar5 = (int)param_2; + if (iVar1 == 0) { + iVar1 = *(int *)(param_1 + 0x18); + FUN_1400976d0(param_1,iVar1 + 1,param_3); + puVar7 = (undefined8 *)0x0; + if (0 < iVar1) { + _Src = puVar7; + if (*(int *)(param_1 + 0x18) != 0) { + _Src = *(undefined8 **)(param_1 + 0x10); + } + memmove(_Src + 1,_Src,(longlong)iVar1 << 3); + } + if (*(int *)(param_1 + 0x18) != 0) { + puVar7 = *(undefined8 **)(param_1 + 0x10); + } + *puVar7 = CONCAT44(iVar5,iVar5); + } + else { + iVar3 = iVar1 + -1; + if ((iVar3 < 0) || (iVar1 <= iVar3)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(param_1,param_2,param_3,param_4); + } + lVar8 = *(longlong *)(param_1 + 0x10); + lVar4 = (longlong)iVar3; + iVar3 = *(int *)(lVar8 + lVar4 * 8); + if ((iVar3 != iVar5) && (iVar2 = *(int *)(lVar8 + 4 + lVar4 * 8), iVar2 != iVar5)) { + if ((iVar2 + 1 != iVar5) && (iVar3 + 1 != iVar5)) { + if (iVar1 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar3 = *(int *)(param_1 + 0x18); + FUN_1400976d0(param_1,iVar3 + 1,lVar8); + iVar3 = iVar3 - iVar1; + lVar8 = 0; + if (0 < iVar3) { + lVar4 = lVar8; + if (*(int *)(param_1 + 0x18) != 0) { + lVar4 = *(longlong *)(param_1 + 0x10); + } + memmove((void *)(lVar4 + 8 + lVar6 * 8),(void *)(lVar4 + lVar6 * 8),(longlong)iVar3 << 3); + } + if (*(int *)(param_1 + 0x18) != 0) { + lVar8 = *(longlong *)(param_1 + 0x10); + } + *(ulonglong *)(lVar8 + lVar6 * 8) = CONCAT44(iVar5,iVar5); + return; + } + *(int *)(lVar8 + 4 + lVar4 * 8) = iVar5; + return; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a3120.c b/decomp/Agent_Release_x64/full/functions/0x1400a3120.c new file mode 100644 index 00000000..0ec39be5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a3120.c @@ -0,0 +1,78 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a3120 FUN_1400a3120 + * Pseudocode, not original source. */ + +void FUN_1400a3120(longlong param_1,longlong param_2,size_t param_3,undefined8 param_4) + +{ + uint uVar1; + longlong lVar2; + longlong lVar3; + void *_Src; + int iVar4; + longlong lVar5; + int iVar6; + ulonglong uVar7; + int iVar8; + longlong lVar9; + undefined4 uStackX_c; + + _Src = (void *)0x0; + lVar3 = param_2; + FUN_14003ecf0(param_2,0,param_3); + iVar6 = *(int *)(param_1 + 0x18); + iVar8 = 0; + lVar9 = 0; + if (0 < iVar6) { + do { + if ((lVar9 < 0) || (iVar6 <= iVar8)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(lVar3,_Src,param_3,param_4); + } + uVar7 = *(ulonglong *)(*(longlong *)(param_1 + 0x10) + lVar9 * 8); + uStackX_c = (int)(uVar7 >> 0x20); + uVar7 = uVar7 & 0xffffffff; + while( true ) { + iVar6 = *(int *)(param_2 + 0x18); + lVar5 = (longlong)iVar6; + if (iVar6 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar4 = *(int *)(param_2 + 0x18); + uVar1 = iVar4 + 1; + _Src = (void *)(ulonglong)uVar1; + FUN_14003ecf0(param_2,uVar1,param_3); + iVar4 = iVar4 - iVar6; + if (0 < iVar4) { + if (*(int *)(param_2 + 0x18) == 0) { + lVar3 = 0; + lVar2 = 0; + } + else { + lVar3 = *(longlong *)(param_2 + 0x10); + lVar2 = *(longlong *)(param_2 + 0x10); + } + _Src = (void *)(lVar3 + lVar5 * 4); + param_3 = (longlong)iVar4 << 2; + memmove((void *)(lVar2 + 4 + lVar5 * 4),_Src,param_3); + } + if (*(int *)(param_2 + 0x18) == 0) { + lVar3 = 0; + } + else { + lVar3 = *(longlong *)(param_2 + 0x10); + } + iVar6 = (int)uVar7; + *(int *)(lVar3 + lVar5 * 4) = iVar6; + if (iVar6 == uStackX_c) break; + uVar7 = (ulonglong)(iVar6 + 1); + } + iVar6 = *(int *)(param_1 + 0x18); + iVar8 = iVar8 + 1; + lVar9 = lVar9 + 1; + } while (iVar8 < iVar6); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a3240.c b/decomp/Agent_Release_x64/full/functions/0x1400a3240.c new file mode 100644 index 00000000..363ad092 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a3240.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a3240 FUN_1400a3240 + * Pseudocode, not original source. */ + +void FUN_1400a3240(longlong param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + ulonglong uVar1; + int iVar2; + longlong lVar3; + ulonglong uVar4; + ulonglong uVar5; + uint uVar6; + ulonglong uVar7; + + uVar4 = (ulonglong)*(int *)(param_1 + 0x18); + lVar3 = param_2; + FUN_140081aa0(param_2,uVar4,param_3,param_4); + iVar2 = *(int *)(param_1 + 0x18); + uVar5 = 0; + uVar7 = uVar5; + if (0 < iVar2) { + do { + if (((longlong)uVar5 < 0) || (iVar2 <= (int)uVar7)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(lVar3,uVar4,param_3,param_4); + } + uVar1 = *(ulonglong *)(*(longlong *)(param_1 + 0x10) + uVar5 * 8); + uVar6 = (uint)(uVar1 >> 0x20); + if ((uint)uVar1 == uVar6) { + FUN_14001ba80(param_2,0,param_3,param_4); + uVar4 = uVar1 & 0xffffffff; + } + else { + FUN_14001ba80(param_2,CONCAT71((int7)(uVar4 >> 8),1),param_3,param_4); + FUN_140021e80(param_2,uVar1 & 0xffffffff,param_3,param_4); + uVar4 = (ulonglong)uVar6; + } + lVar3 = param_2; + FUN_140021e80(param_2,uVar4,param_3,param_4); + iVar2 = *(int *)(param_1 + 0x18); + uVar6 = (int)uVar7 + 1; + uVar5 = uVar5 + 1; + uVar7 = (ulonglong)uVar6; + } while ((int)uVar6 < iVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a32f0.c b/decomp/Agent_Release_x64/full/functions/0x1400a32f0.c new file mode 100644 index 00000000..cfe5fa87 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a32f0.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a32f0 FUN_1400a32f0 + * Pseudocode, not original source. */ + +longlong * FUN_1400a32f0(longlong param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + int iVar1; + undefined8 *puVar2; + undefined8 *puVar3; + undefined8 *puVar4; + + puVar4 = (undefined8 *)0x0; + FUN_14004ded0(param_2,param_3,param_3,param_4); + puVar3 = puVar4; + if ((undefined8 *)*param_2 != (undefined8 *)0x0) { + puVar3 = *(undefined8 **)*param_2; + } + iVar1 = *(int *)(param_1 + 0x18); + if (-1 < iVar1) { + FUN_1400976d0((longlong)puVar3,iVar1,(longlong)param_3); + puVar2 = puVar4; + if (*(int *)(param_1 + 0x18) != 0) { + puVar2 = *(undefined8 **)(param_1 + 0x10); + } + if (*(int *)(puVar3 + 3) != 0) { + puVar4 = (undefined8 *)puVar3[2]; + } + FUN_14001bd30(puVar4,puVar2,(longlong)iVar1 << 3); + return param_2; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a33a0.c b/decomp/Agent_Release_x64/full/functions/0x1400a33a0.c new file mode 100644 index 00000000..348437c8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a33a0.c @@ -0,0 +1,121 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a33a0 FUN_1400a33a0 + * Pseudocode, not original source. */ + +void FUN_1400a33a0(undefined4 *param_1,undefined4 *param_2,longlong *param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + undefined8 *puVar3; + LPVOID pvVar4; + longlong *plVar5; + longlong *plVar6; + longlong lVar7; + longlong *local_30; + longlong *local_28; + longlong local_20; + + param_2[1] = param_1[1]; + lVar7 = 0; + if ((*(longlong *)(param_1 + 2) == 0) && (*(longlong *)(param_1 + 4) == 0)) { + local_20 = 0; + local_28 = (longlong *)0x0; + local_30 = (longlong *)0x0; + if (*(longlong *)(param_2 + 2) == 0) { + *(undefined8 *)(param_2 + 4) = 0; + *(undefined8 *)(param_2 + 6) = 0; + } + else { + FUN_140095270((longlong *)(param_2 + 2)); + if (local_30 != (longlong *)0x0) { + local_30[5] = local_30[5] + 1; + *(longlong **)(param_2 + 2) = local_30; + } + } + FUN_140095270((longlong *)&local_30); + if ((local_28 != (longlong *)0x0) && (local_20 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + else { + plVar6 = FUN_1400a2ec0((longlong *)(param_1 + 2),(longlong *)&local_30,(SIZE_T)param_3,param_4); + if (*plVar6 == *(longlong *)(param_2 + 2)) { + param_2[7] = *(undefined4 *)((longlong)plVar6 + 0x14); + *(longlong *)(param_2 + 4) = plVar6[1]; + param_2[6] = (int)plVar6[2]; + } + else { + FUN_140095270((longlong *)(param_2 + 2)); + if (*plVar6 != 0) { + plVar1 = (longlong *)(*plVar6 + 0x28); + *plVar1 = *plVar1 + 1; + *(longlong *)(param_2 + 2) = *plVar6; + } + } + FUN_140095270((longlong *)&local_30); + if ((local_28 != (longlong *)0x0) && (local_20 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + *param_2 = *param_1; + plVar6 = *(longlong **)(param_1 + 8); + if ((plVar6 == (longlong *)0x0) || (*plVar6 == 0)) { + local_30 = (longlong *)0x0; + if (*(longlong *)(param_2 + 8) != 0) { + plVar6 = (longlong *)(*(longlong *)(param_2 + 8) + 8); + *plVar6 = *plVar6 + -1; + if (*plVar6 == 0) { + local_28 = param_3; + FUN_140043d50((longlong)(param_2 + 8),*(longlong **)(param_2 + 8)); + } + } + *(undefined8 *)(param_2 + 8) = 0; + *(longlong **)(param_2 + 10) = param_3; + } + else { + plVar6 = FUN_1400a32f0(*plVar6,(longlong *)&local_30,param_3,param_4); + lVar2 = *plVar6; + if (lVar2 != 0) { + *(longlong *)(lVar2 + 8) = *(longlong *)(lVar2 + 8) + 1; + lVar7 = lVar2; + } + if (*(longlong *)(param_2 + 8) != 0) { + plVar1 = (longlong *)(*(longlong *)(param_2 + 8) + 8); + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + FUN_140043d50((longlong)(param_2 + 8),*(longlong **)(param_2 + 8)); + } + } + plVar5 = local_28; + plVar1 = local_30; + *(longlong *)(param_2 + 8) = lVar7; + *(longlong *)(param_2 + 10) = plVar6[1]; + if (local_30 != (longlong *)0x0) { + plVar6 = local_30 + 1; + *plVar6 = *plVar6 + -1; + if (*plVar6 == 0) { + puVar3 = (undefined8 *)*local_30; + *puVar3 = Proud::CFastArray::vftable; + pvVar4 = (LPVOID)puVar3[2]; + if (pvVar4 != (LPVOID)0x0) { + plVar6 = (longlong *)puVar3[1]; + if (plVar6 == (longlong *)0x0) { + FUN_1400302f0(pvVar4); + } + else { + (**(code **)(*plVar6 + 0x18))(plVar6,pvVar4); + } + } + (**(code **)(*plVar5 + 0x18))(plVar5,puVar3); + (**(code **)(*local_28 + 0x18))(local_28,plVar1); + } + } + } + param_2[0xc] = param_1[0xc]; + param_2[0xd] = param_1[0xd]; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a35e0.c b/decomp/Agent_Release_x64/full/functions/0x1400a35e0.c new file mode 100644 index 00000000..3658a542 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a35e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a35e0 FUN_1400a35e0 + * Pseudocode, not original source. */ + +void FUN_1400a35e0(undefined8 *param_1) + +{ + *param_1 = Proud::ISendSpeedMeasurerDg::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a35f0.c b/decomp/Agent_Release_x64/full/functions/0x1400a35f0.c new file mode 100644 index 00000000..b10a77b1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a35f0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a35f0 FUN_1400a35f0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400a35f0(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::ISendSpeedMeasurerDg::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a3620.c b/decomp/Agent_Release_x64/full/functions/0x1400a3620.c new file mode 100644 index 00000000..533bb8fa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a3620.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a3620 FUN_1400a3620 + * Pseudocode, not original source. */ + +void FUN_1400a3620(longlong param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x78) + 0x10)) + (*(longlong *)(param_1 + 0x108) + 0x78); + FUN_1400b4730(*(longlong **)(param_1 + 0x108),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a3660.c b/decomp/Agent_Release_x64/full/functions/0x1400a3660.c new file mode 100644 index 00000000..c5a48969 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a3660.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a3660 FUN_1400a3660 + * Pseudocode, not original source. */ + +void FUN_1400a3660(longlong param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x78) + 0x10)) + (*(longlong *)(param_1 + 0x108) + 0x78); + FUN_1400b4ed0(*(longlong **)(param_1 + 0x108),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a36a0.c b/decomp/Agent_Release_x64/full/functions/0x1400a36a0.c new file mode 100644 index 00000000..95ed1899 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a36a0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a36a0 FUN_1400a36a0 + * Pseudocode, not original source. */ + +void FUN_1400a36a0(longlong param_1,int param_2) + +{ + undefined8 uVar1; + + if (*(int *)(param_1 + 0x100) < param_2) { + *(undefined4 *)(param_1 + 0x40) = 0; + *(int *)(param_1 + 0x100) = param_2; + uVar1 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x70) + 0x1c0)) + (*(longlong *)(param_1 + 0x108) + 0x70); + *(undefined8 *)(param_1 + 0x80) = uVar1; + *(undefined1 *)(param_1 + 0xc0) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a3700.c b/decomp/Agent_Release_x64/full/functions/0x1400a3700.c new file mode 100644 index 00000000..51b97b39 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a3700.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a3700 FUN_1400a3700 + * Pseudocode, not original source. */ + +void FUN_1400a3700(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + exception local_58 [88]; + + if ((longlong *)param_2[2] != param_1) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + plVar1 = (longlong *)param_2[1]; + lVar2 = *param_2; + if (plVar1 != (longlong *)0x0) { + *plVar1 = lVar2; + } + if (lVar2 != 0) { + *(longlong **)(lVar2 + 8) = plVar1; + } + if (plVar1 == (longlong *)0x0) { + if ((longlong *)param_1[1] != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + param_1[1] = lVar2; + } + if (lVar2 == 0) { + if ((longlong *)*param_1 != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = (longlong)plVar1; + } + *param_2 = 0; + param_2[1] = 0; + param_2[2] = 0; + *(int *)(param_1 + 2) = (int)param_1[2] + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a37e0.c b/decomp/Agent_Release_x64/full/functions/0x1400a37e0.c new file mode 100644 index 00000000..9ab30f09 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a37e0.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a37e0 FUN_1400a37e0 + * Pseudocode, not original source. */ + +void FUN_1400a37e0(longlong param_1,uint *param_2) + +{ + longlong *plVar1; + longlong lVar2; + + lVar2 = 0; + plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x108) + 0x1570); + if (plVar1 != (longlong *)0x0) { + lVar2 = *plVar1; + } + FUN_140064430(param_2,(undefined4 *)(lVar2 + 8)); + plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x108) + 0x1570); + if (plVar1 == (longlong *)0x0) { + uRam0000000000000100 = 0; + return; + } + *(undefined8 *)(*plVar1 + 0x100) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a3860.c b/decomp/Agent_Release_x64/full/functions/0x1400a3860.c new file mode 100644 index 00000000..e63a61df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a3860.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a3860 FUN_1400a3860 + * Pseudocode, not original source. */ + +void FUN_1400a3860(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 uVar1; + + FUN_14007e2e0(*(longlong **)(param_1 + 0x108),7,0,param_4); + if (*(int *)(param_1 + 0x100) < 4) { + *(undefined4 *)(param_1 + 0x40) = 0; + *(undefined4 *)(param_1 + 0x100) = 4; + uVar1 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x70) + 0x1c0)) + (*(longlong *)(param_1 + 0x108) + 0x70); + *(undefined8 *)(param_1 + 0x80) = uVar1; + *(undefined1 *)(param_1 + 0xc0) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a38d0.c b/decomp/Agent_Release_x64/full/functions/0x1400a38d0.c new file mode 100644 index 00000000..c109c562 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a38d0.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a38d0 FUN_1400a38d0 + * Pseudocode, not original source. */ + +void FUN_1400a38d0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 uVar1; + + FUN_14007e2e0(*(longlong **)(param_1 + 0x108),8,0,param_4); + if (*(int *)(param_1 + 0x100) < 4) { + *(undefined4 *)(param_1 + 0x40) = 0; + *(undefined4 *)(param_1 + 0x100) = 4; + uVar1 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x70) + 0x1c0)) + (*(longlong *)(param_1 + 0x108) + 0x70); + *(undefined8 *)(param_1 + 0x80) = uVar1; + *(undefined1 *)(param_1 + 0xc0) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a3940.c b/decomp/Agent_Release_x64/full/functions/0x1400a3940.c new file mode 100644 index 00000000..b0e77c33 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a3940.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a3940 FUN_1400a3940 + * Pseudocode, not original source. */ + +void FUN_1400a3940(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 uVar1; + + FUN_14007e2e0(*(longlong **)(param_1 + 0x108),9,0,param_4); + if (*(int *)(param_1 + 0x100) < 4) { + *(undefined4 *)(param_1 + 0x40) = 0; + *(undefined4 *)(param_1 + 0x100) = 4; + uVar1 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x70) + 0x1c0)) + (*(longlong *)(param_1 + 0x108) + 0x70); + *(undefined8 *)(param_1 + 0x80) = uVar1; + *(undefined1 *)(param_1 + 0xc0) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a39b0.c b/decomp/Agent_Release_x64/full/functions/0x1400a39b0.c new file mode 100644 index 00000000..3d6e5e1a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a39b0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a39b0 FUN_1400a39b0 + * Pseudocode, not original source. */ + +void FUN_1400a39b0(longlong param_1,longlong param_2,longlong param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + int *piVar3; + longlong lVar4; + longlong lVar5; + + lVar4 = param_2; + lVar5 = param_3; + piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x108) + 0x58))(); + FUN_14002e6e0(piVar3); + *(undefined1 *)(param_2 + 0x80) = 0; + if ((*(longlong **)(param_2 + 0x100) != (longlong *)0x0) && + (lVar2 = **(longlong **)(param_2 + 0x100), lVar2 != 0)) { + FUN_140036f50(lVar2); + } + if (0 < *(int *)(param_3 + 8)) { + plVar1 = (longlong *)(*(longlong *)(param_1 + 0x108) + 0x668); + *plVar1 = *plVar1 + 1; + plVar1 = (longlong *)(*(longlong *)(param_1 + 0x108) + 0x670); + *plVar1 = *plVar1 + (longlong)*(int *)(param_3 + 8); + } + FUN_1400b6d90(param_2,lVar4,lVar5,param_4); + FUN_14002e770((longlong)piVar3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a3a70.c b/decomp/Agent_Release_x64/full/functions/0x1400a3a70.c new file mode 100644 index 00000000..4d043a60 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a3a70.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a3a70 FUN_1400a3a70 + * Pseudocode, not original source. */ + +void FUN_1400a3a70(longlong param_1,uint param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong lVar2; + undefined8 uVar3; + + lVar1 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + lVar2 = 0; + if (*(longlong **)(lVar1 + 0x128) != (longlong *)0x0) { + lVar2 = **(longlong **)(lVar1 + 0x128); + } + FUN_140034c70(lVar2,'\x01'); + lVar1 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + lVar2 = 0; + if (*(longlong **)(lVar1 + 0x128) != (longlong *)0x0) { + lVar2 = **(longlong **)(lVar1 + 0x128); + } + FUN_140034b80(lVar2,1); + FUN_14007e2e0(*(longlong **)(param_1 + 0x108),3,(ulonglong)param_2,param_4); + if (*(int *)(param_1 + 0x100) < 4) { + *(undefined4 *)(param_1 + 0x40) = 0; + *(undefined4 *)(param_1 + 0x100) = 4; + uVar3 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x70) + 0x1c0)) + (*(longlong *)(param_1 + 0x108) + 0x70); + *(undefined8 *)(param_1 + 0x80) = uVar3; + *(undefined1 *)(param_1 + 0xc0) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a3b30.c b/decomp/Agent_Release_x64/full/functions/0x1400a3b30.c new file mode 100644 index 00000000..e0f3df78 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a3b30.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a3b30 FUN_1400a3b30 + * Pseudocode, not original source. */ + +void FUN_1400a3b30(longlong param_1,undefined8 param_2,undefined **param_3,undefined8 param_4) + +{ + uint uVar1; + int *piVar2; + longlong lVar3; + undefined8 uVar4; + + piVar2 = (int *)(**(code **)(**(longlong **)(param_1 + 0x108) + 0x58))(); + FUN_14002e6e0(piVar2); + lVar3 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + uVar1 = FUN_1400b2a10(lVar3,param_2,param_3,param_4); + if ((uVar1 != 0) && + (FUN_14007e2e0(*(longlong **)(param_1 + 0x108),3,(ulonglong)uVar1,param_4), + *(int *)(param_1 + 0x100) < 4)) { + *(undefined4 *)(param_1 + 0x40) = 0; + *(undefined4 *)(param_1 + 0x100) = 4; + uVar4 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x70) + 0x1c0))(); + *(undefined8 *)(param_1 + 0x80) = uVar4; + *(undefined1 *)(param_1 + 0xc0) = 0; + } + FUN_14002e770((longlong)piVar2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a3bf0.c b/decomp/Agent_Release_x64/full/functions/0x1400a3bf0.c new file mode 100644 index 00000000..9ba87d4c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a3bf0.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a3bf0 FUN_1400a3bf0 + * Pseudocode, not original source. */ + +void FUN_1400a3bf0(longlong param_1,undefined8 param_2,undefined **param_3,undefined8 param_4) + +{ + undefined8 uVar1; + + FUN_140064730(*(longlong *)(param_1 + 0x108)); + if (*(int *)(param_1 + 0x100) < 3) { + *(undefined4 *)(param_1 + 0x40) = 0; + *(undefined4 *)(param_1 + 0x100) = 3; + uVar1 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x70) + 0x1c0)) + (*(longlong *)(param_1 + 0x108) + 0x70); + *(undefined8 *)(param_1 + 0x80) = uVar1; + *(undefined1 *)(param_1 + 0xc0) = 0; + } + FUN_1400a3b30(param_1,param_2,param_3,param_4); + FUN_140075880(*(longlong **)(param_1 + 0x108),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a3c60.c b/decomp/Agent_Release_x64/full/functions/0x1400a3c60.c new file mode 100644 index 00000000..6a65cc37 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a3c60.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a3c60 FUN_1400a3c60 + * Pseudocode, not original source. */ + +undefined8 FUN_1400a3c60(longlong param_1) + +{ + char cVar1; + double dVar2; + undefined8 uVar3; + + if (*(char *)(param_1 + 0x1c0) == '\0') { + FUN_14002e6e0((int *)(param_1 + 0x1c8)); + FUN_14002e6e0((int *)(param_1 + 0x88)); + if (*(char *)(param_1 + 0x1c0) == '\0') { + cVar1 = FUN_14003a4e0(param_1 + 0x48); + if (cVar1 != '\0') { + FUN_14003a390((char *)(param_1 + 0x48)); + dVar2 = FUN_14003a420((char *)(param_1 + 0x48)); + *(double *)(param_1 + 0xc0) = dVar2; + } + } + *(undefined1 *)(param_1 + 0x1c0) = 1; + FUN_14002e770(param_1 + 0x88); + FUN_14002e770(param_1 + 0x1c8); + uVar3 = *(undefined8 *)(param_1 + 0xc0); + } + else { + uVar3 = *(undefined8 *)(param_1 + 0xc0); + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a3d20.c b/decomp/Agent_Release_x64/full/functions/0x1400a3d20.c new file mode 100644 index 00000000..686d6eb3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a3d20.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a3d20 FUN_1400a3d20 + * Pseudocode, not original source. */ + +void FUN_1400a3d20(longlong param_1,undefined8 param_2) + +{ + longlong lVar1; + longlong *plVar2; + undefined8 local_res10 [3]; + + local_res10[0] = param_2; + for (lVar1 = *(longlong *)(param_1 + 0x290); lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 8)) { + plVar2 = (longlong *)(*(longlong *)(lVar1 + 0x108) + 0x1818); + (**(code **)(*plVar2 + 0x100))(plVar2,1,&DAT_14015de10,local_res10); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a3d80.c b/decomp/Agent_Release_x64/full/functions/0x1400a3d80.c new file mode 100644 index 00000000..47598f33 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a3d80.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a3d80 FUN_1400a3d80 + * Pseudocode, not original source. */ + +void FUN_1400a3d80(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((longlong *)param_1[2] != (longlong *)0x0) { + FUN_1400a3700((longlong *)param_1[2],param_1,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a3da0.c b/decomp/Agent_Release_x64/full/functions/0x1400a3da0.c new file mode 100644 index 00000000..01e43aab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a3da0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a3da0 FUN_1400a3da0 + * Pseudocode, not original source. */ + +void FUN_1400a3da0(undefined8 *param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + + puVar1 = (undefined8 *)*param_1; + if (puVar1 != (undefined8 *)0x0) { + FUN_1400b08b0(puVar1,param_2,param_3,param_4); + operator_delete(puVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a3dd0.c b/decomp/Agent_Release_x64/full/functions/0x1400a3dd0.c new file mode 100644 index 00000000..23006eb9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a3dd0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a3dd0 FUN_1400a3dd0 + * Pseudocode, not original source. */ + +undefined * +FUN_1400a3dd0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + bool bVar1; + bool bVar2; + + bVar1 = false; + bVar2 = FUN_14002e780((int *)&DAT_14015f418); + if (bVar2) { + if (DAT_140156f00 == '\0') { + bVar1 = false; + } + else { + bVar1 = true; + FUN_14002e6e0((int *)&DAT_14015f418); + } + } + if ((DAT_14015f410 & 1) == 0) { + DAT_14015f410 = DAT_14015f410 | 1; + FUN_14008eee0(&DAT_14015f380,param_2,param_3,param_4); + atexit((_func_5014 *)&LAB_1400f18e0); + } + DAT_140156f00 = 0; + if (bVar1) { + FUN_14002e770(0x14015f418); + } + return &DAT_14015f380; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a3e90.c b/decomp/Agent_Release_x64/full/functions/0x1400a3e90.c new file mode 100644 index 00000000..c83e8df3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a3e90.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a3e90 FUN_1400a3e90 + * Pseudocode, not original source. */ + +void FUN_1400a3e90(longlong *param_1) + +{ + longlong lVar1; + longlong *plVar2; + longlong *plVar3; + exception local_58 [88]; + + lVar1 = *param_1; + while( true ) { + if (lVar1 == 0) { + return; + } + plVar2 = (longlong *)*param_1; + if ((longlong *)plVar2[2] != param_1) break; + plVar3 = (longlong *)plVar2[1]; + lVar1 = *plVar2; + if (plVar3 != (longlong *)0x0) { + *plVar3 = lVar1; + } + if (lVar1 != 0) { + *(longlong **)(lVar1 + 8) = plVar3; + } + if (plVar3 == (longlong *)0x0) { + if ((longlong *)param_1[1] != plVar2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + param_1[1] = lVar1; + } + if (lVar1 == 0) { + if ((longlong *)*param_1 != plVar2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = (longlong)plVar3; + } + *plVar2 = 0; + plVar2[1] = 0; + plVar2[2] = 0; + *(int *)(param_1 + 2) = (int)param_1[2] + -1; + lVar1 = *param_1; + } + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase",0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a3f80.c b/decomp/Agent_Release_x64/full/functions/0x1400a3f80.c new file mode 100644 index 00000000..e712c710 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a3f80.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a3f80 FUN_1400a3f80 + * Pseudocode, not original source. */ + +void FUN_1400a3f80(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + + FUN_14002e6e0((int *)(param_1 + 0x10)); + if ((longlong *)param_2[2] != (longlong *)0x0) { + FUN_1400a3700((longlong *)param_2[2],param_2,param_3,param_4); + } + plVar1 = (longlong *)(param_1 + 0x298); + if (param_2[2] != 0) { + FUN_1400a3700(plVar1,param_2,param_3,param_4); + } + if (*(longlong *)(param_1 + 0x2a0) == 0) { + *plVar1 = (longlong)param_2; + } + else { + *(longlong **)(*(longlong *)(param_1 + 0x2a0) + 8) = param_2; + *param_2 = *(longlong *)(param_1 + 0x2a0); + } + *(longlong **)(param_1 + 0x2a0) = param_2; + param_2[2] = (longlong)plVar1; + *(int *)(param_1 + 0x2a8) = *(int *)(param_1 + 0x2a8) + 1; + FUN_14002e770(param_1 + 0x10); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a4030.c b/decomp/Agent_Release_x64/full/functions/0x1400a4030.c new file mode 100644 index 00000000..7abb7c12 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a4030.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a4030 FUN_1400a4030 + * Pseudocode, not original source. */ + +void FUN_1400a4030(undefined8 *param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + void *pvVar1; + + pvVar1 = (void *)*param_1; + if (pvVar1 != (void *)0x0) { + FUN_140039850((longlong)pvVar1,param_2,param_3,param_4); + operator_delete(pvVar1); + *param_1 = 0; + return; + } + *param_1 = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a4080.c b/decomp/Agent_Release_x64/full/functions/0x1400a4080.c new file mode 100644 index 00000000..b62981bb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a4080.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a4080 FUN_1400a4080 + * Pseudocode, not original source. */ + +longlong * FUN_1400a4080(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + + lVar1 = 0; + *param_1 = 0; + param_1[1] = 0; + param_1[2] = 0; + param_1[0x1a] = 0; + *(undefined4 *)(param_1 + 8) = 0; + param_1[0x10] = 0; + *(undefined1 *)(param_1 + 0x18) = 0; + param_1[0x21] = param_2; + *(undefined4 *)(param_1 + 0x20) = 0; + if (*(longlong *)(param_1[0x21] + 0x5d8) != 0) { + lVar1 = *(longlong *)(*(longlong *)(param_1[0x21] + 0x5d8) + 0x38); + } + FUN_1400a3f80(lVar1,param_1,param_3,param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a40f0.c b/decomp/Agent_Release_x64/full/functions/0x1400a40f0.c new file mode 100644 index 00000000..f2c53928 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a40f0.c @@ -0,0 +1,51 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a40f0 FUN_1400a40f0 + * Pseudocode, not original source. */ + +void FUN_1400a40f0(longlong param_1,undefined8 param_2,undefined *param_3,undefined1 *param_4) + +{ + int *piVar1; + int iVar2; + undefined *puVar3; + int *piVar4; + longlong *plVar5; + undefined1 *puVar6; + undefined1 local_res8; + undefined7 uStackX_9; + + if (*(char *)(*(longlong *)(param_1 + 0x108) + 0x650) == '\0') { + plVar5 = (longlong *)(*(longlong *)(param_1 + 0x108) + 0x70); + local_res8 = 0; + iVar2 = (**(code **)(*plVar5 + 0x108))(plVar5,&local_res8,param_3,param_4,0xfffffffffffffffe); + if ((iVar2 == 2) && (*(int *)(*(longlong *)(param_1 + 0x108) + 0x1578) != 0)) { + plVar5 = (longlong *)(*(longlong *)(param_1 + 0x108) + 0x70); + puVar6 = &local_res8; + (**(code **)(*plVar5 + 0xb0))(); + puVar3 = (undefined *)CONCAT71(uStackX_9,local_res8); + if ((puVar3 != (undefined *)0x0) && + ((puVar3 != PTR_DAT_140155010 && (0 < *(int *)(puVar3 + -8))))) { + *(undefined1 *)(*(longlong *)(param_1 + 0x108) + 0x650) = 1; + plVar5 = (longlong *)(*(longlong *)(param_1 + 0x108) + 0x1818); + param_4 = &local_res8; + param_3 = &DAT_14015de10; + puVar6 = (undefined1 *)0x1; + (**(code **)(*plVar5 + 0xf0))(); + puVar3 = (undefined *)CONCAT71(uStackX_9,local_res8); + } + if (((puVar3 != (undefined *)0x0) && (puVar3 != PTR_DAT_140155010)) && + (puVar3 + -8 != (undefined *)0x0)) { + piVar4 = (int *)FUN_140030200(plVar5,puVar6,param_3,param_4); + FUN_14002e6e0(piVar4); + piVar1 = (int *)(puVar3 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(puVar3 + -8); + } + FUN_14002e770((longlong)piVar4); + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a4210.c b/decomp/Agent_Release_x64/full/functions/0x1400a4210.c new file mode 100644 index 00000000..63dfdc23 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a4210.c @@ -0,0 +1,125 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a4210 FUN_1400a4210 + * Pseudocode, not original source. */ + +void FUN_1400a4210(longlong param_1,longlong *param_2,SIZE_T param_3,undefined8 param_4) + +{ + undefined1 uVar1; + longlong lVar2; + undefined8 uVar3; + uint uVar4; + longlong lVar5; + undefined8 *_Dst; + undefined8 *_Src; + undefined8 *puVar6; + size_t _Size; + ulonglong uVar7; + ulonglong uVar8; + exception local_98 [144]; + + if (*(longlong *)(param_1 + 8) == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(param_1,param_2,param_3,param_4); + } + uVar4 = *(uint *)(param_1 + 0x18); + } + else { + uVar4 = *(uint *)(*(longlong *)(param_1 + 8) + 0x18); + } + if ((int)uVar4 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2[1] == 0) { + lVar5 = *param_2; + if ((int)uVar4 < 1) { + if (lVar5 == 0) goto LAB_1400a427e; + uVar4 = 0; + } + else if (lVar5 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)uVar4,param_3,param_4); + } + FUN_14001bc70(lVar5,uVar4,param_3); + } + else { + if (*(int *)((longlong)param_2 + 0x14) < (int)uVar4) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(uint *)(param_2 + 2) = uVar4; + lVar5 = param_1; + } +LAB_1400a427e: + lVar2 = *(longlong *)(param_1 + 8); + if (lVar2 == 0) { + if (*(longlong *)(param_1 + 0x10) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(lVar5,0,param_3,param_4); + } + uVar4 = *(uint *)(param_1 + 0x18); + } + else { + uVar4 = *(uint *)(lVar2 + 0x18); + } + if (*(longlong *)(param_1 + 0x10) == 0) { + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(lVar5,0,param_3,param_4); + } + if (*(int *)(lVar2 + 0x18) == 0) { + _Src = (undefined8 *)0x0; + } + else { + _Src = *(undefined8 **)(lVar2 + 0x10); + } + } + else { + _Src = *(undefined8 **)(param_1 + 0x10); + if (_Src == (undefined8 *)0x0) { + FUN_14002f1e0(local_98,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_98,(ThrowInfo *)&DAT_140151b88); + } + } + _Dst = (undefined8 *)param_2[1]; + if (_Dst == (undefined8 *)0x0) { + lVar5 = *param_2; + if (lVar5 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,_Src,param_3,param_4); + } + if (*(int *)(lVar5 + 0x18) == 0) { + _Dst = (undefined8 *)0x0; + } + else { + _Dst = *(undefined8 **)(lVar5 + 0x10); + } + } + _Size = (size_t)(int)uVar4; + if (0x20 < _Size) { + memcpy(_Dst,_Src,_Size); + return; + } + uVar8 = (ulonglong)(uVar4 & 7); + for (uVar7 = _Size >> 3; uVar7 != 0; uVar7 = uVar7 - 1) { + uVar3 = *_Src; + _Src = _Src + 1; + *_Dst = uVar3; + _Dst = _Dst + 1; + } + if (uVar8 != 0) { + puVar6 = _Src; + do { + uVar1 = *(undefined1 *)puVar6; + puVar6 = (undefined8 *)((longlong)puVar6 + 1); + uVar8 = uVar8 - 1; + *(undefined1 *)((longlong)_Dst + (-1 - (longlong)_Src) + (longlong)puVar6) = uVar1; + } while (uVar8 != 0); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a4390.c b/decomp/Agent_Release_x64/full/functions/0x1400a4390.c new file mode 100644 index 00000000..6424b098 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a4390.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a4390 FUN_1400a4390 + * Pseudocode, not original source. */ + +void FUN_1400a4390(longlong param_1,undefined8 param_2,undefined **param_3,double *param_4) + +{ + longlong lVar1; + double dVar2; + undefined **ppuVar3; + int iVar4; + longlong lVar5; + undefined *puVar6; + double dVar7; + + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x78) + 0x10)) + (*(longlong *)(param_1 + 0x108) + 0x78); + puVar6 = (undefined *) + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x70) + 0x1c0)) + (*(longlong *)(param_1 + 0x108) + 0x70); + lVar1 = *(longlong *)(param_1 + 0x108); + iVar4 = 0; + if (*(longlong *)(lVar1 + 0x1670) == 0) { + lVar5 = 0; + } + else { + lVar5 = *(longlong *)(lVar1 + 0x1660); + } + for (; lVar5 != 0; lVar5 = *(longlong *)(lVar5 + 0x10)) { + ppuVar3 = (undefined **)0x0; + if (*(undefined8 **)(lVar5 + 8) != (undefined8 *)0x0) { + ppuVar3 = (undefined **)**(undefined8 **)(lVar5 + 8); + } + if (*(char *)((longlong)ppuVar3 + 0x684) == '\0') { + FUN_1400b5f20(ppuVar3,puVar6,param_3,param_4); + if (((longlong *)ppuVar3[5] != (longlong *)0x0) && (*(longlong *)ppuVar3[5] != 0)) { + iVar4 = iVar4 + 1; + } + } + } + if (lVar1 + 0x1650 == *(longlong *)(param_1 + 0x108) + 0x1650) { + dVar2 = 1.0; + if (1.0 <= (double)iVar4) { + dVar2 = (double)iVar4; + } + *(double *)(*(longlong *)(param_1 + 0x108) + 0x648) = DAT_140155090 * dVar2; + dVar7 = FUN_1400303b0(); + *(double *)(*(longlong *)(param_1 + 0x108) + 0x640) = dVar7 * dVar2; + return; + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a44d0.c b/decomp/Agent_Release_x64/full/functions/0x1400a44d0.c new file mode 100644 index 00000000..3838e360 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a44d0.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a44d0 FUN_1400a44d0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400a44d0(longlong param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + undefined8 uVar2; + ulonglong uVar3; + longlong *plVar4; + longlong lVar5; + undefined8 uVar6; + undefined1 auStack_a8 [32]; + uint local_88; + uint local_78 [2]; + longlong *local_70; + undefined **local_68; + undefined4 local_60; + undefined2 local_5c; + undefined **local_58; + undefined4 local_50; + undefined2 local_4c; + ulonglong local_48; + undefined8 uStack_40; + ulonglong local_38; + undefined8 uStack_30; + ulonglong local_28; + + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_a8; + lVar5 = 0; + uVar6 = 0x10; + local_60 = 0; + local_38 = 0; + uStack_30 = 0; + local_68 = Proud::AddrPort::vftable; + local_5c = 0; + uVar2 = FUN_140080600(param_2,&local_38,0x10); + if ((char)uVar2 != '\0') { + uVar3 = FUN_140081030(param_2,(longlong)&local_68); + if ((char)uVar3 != '\0') { + uVar2 = FUN_140081090(param_2,local_78,uVar6,param_4); + if ((char)uVar2 != '\0') { + plVar4 = FUN_140070860(*(longlong **)(param_1 + 0x108),(longlong *)&local_70,local_78[0]); + if ((longlong *)*plVar4 != (longlong *)0x0) { + lVar5 = *(longlong *)*plVar4; + } + if ((local_70 != (longlong *)0x0) && (local_70[1] = local_70[1] + -1, local_70[1] == 0)) { + puVar1 = (undefined8 *)*local_70; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_70); + } + if ((((lVar5 != 0) && (*(char *)(lVar5 + 0x684) == '\0')) && + (plVar4 = *(longlong **)(lVar5 + 0x28), plVar4 != (longlong *)0x0)) && (*plVar4 != 0)) { + local_58 = Proud::AddrPort::vftable; + local_50 = local_60; + local_48 = local_38; + uStack_40 = uStack_30; + local_4c = local_5c; + local_88 = local_78[0]; + FUN_1400b37d0((SIZE_T *)*plVar4,(undefined *)param_2,&local_48,(longlong)&local_58); + } + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a4640.c b/decomp/Agent_Release_x64/full/functions/0x1400a4640.c new file mode 100644 index 00000000..b77e53b7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a4640.c @@ -0,0 +1,105 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a4640 FUN_1400a4640 + * Pseudocode, not original source. */ + +void FUN_1400a4640(IMAGE_DOS_HEADER *param_1,IMAGE_DOS_HEADER *param_2,uint *param_3, + undefined ***param_4) + +{ + undefined8 *puVar1; + undefined8 uVar2; + ulonglong uVar3; + longlong **pplVar4; + uint *puVar5; + SIZE_T SVar6; + uint local_res18 [2]; + longlong *local_res20; + longlong *local_b8; + int local_b0 [2]; + longlong local_a8; + longlong local_a0; + int local_94; + longlong *local_88; + undefined1 local_78 [56]; + word local_40 [2]; + undefined2 local_3c; + byte local_38; + byte local_28 [16]; + + local_28[0] = 0xfe; + local_28[1] = 0xff; + local_28[2] = 0xff; + local_28[3] = 0xff; + local_28[4] = 0xff; + local_28[5] = 0xff; + local_28[6] = 0xff; + local_28[7] = 0xff; + if (param_3[10] == 1) { + puVar5 = param_3; + (**(code **)(*(longlong *)(*(longlong *)¶m_1[2].e_cparhdr + 0x78) + 0x10))(); + uVar2 = FUN_140081090(param_3,local_res18,puVar5,param_4); + if (((((char)uVar2 != '\0') && + (uVar3 = FUN_140080ca0(param_3,&local_b8,puVar5,param_4), (char)uVar3 != '\0')) && + (-1 < (int)(uint)local_b8)) && ((int)(uint)local_b8 < DAT_140155140)) { + FUN_1400806d0(local_b0); + uVar2 = FUN_140080930(param_3,local_b0,(uint)local_b8,param_4); + if ((char)uVar2 == '\0') { + local_b8 = &local_a8; + FUN_140095270(&local_a8); + if ((local_a0 != 0) && (local_94 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + else { + SVar6 = (SIZE_T)local_res18[0]; + pplVar4 = &local_res20; + FUN_140070860(*(longlong **)¶m_1[2].e_cparhdr,(longlong *)pplVar4,local_res18[0]); + if (((local_res20 != (longlong *)0x0) && (*local_res20 != 0)) && + (*(char *)(*local_res20 + 0x684) == '\0')) { + FUN_1400806d0((undefined4 *)local_78); + local_78._48_8_ = Proud::AddrPort::vftable; + local_38 = 0; + local_78._40_2_ = 0; + local_78._42_2_ = 0; + local_40[0] = (word)DAT_1401553d0; + local_40[1] = DAT_1401553d0._2_2_; + local_3c = DAT_1401553d4; + FUN_1400801a0((longlong)local_78,pplVar4,SVar6,param_4); + local_38 = 1; + FUN_1400a4210((longlong)local_b0,(longlong *)(local_78 + 8),SVar6,param_4); + local_78._0_4_ = local_b0[0]; + FUN_1400802d0((int *)local_78,0,SVar6,param_4); + local_78._40_4_ = local_res18[0]; + FUN_1400aa720(param_1,param_2,(IMAGE_DOS_HEADER *)local_78,param_4); + local_88 = (longlong *)(local_78 + 8); + FUN_140095270((longlong *)(local_78 + 8)); + if (local_78._16_8_ != 0) { + if ((int)local_78._28_4_ < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_78._24_2_ = 0; + local_78._26_2_ = 0; + } + } + if ((local_res20 != (longlong *)0x0) && + (local_res20[1] = local_res20[1] + -1, local_res20[1] == 0)) { + puVar1 = (undefined8 *)*local_res20; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res20); + } + local_88 = &local_a8; + FUN_140095270(&local_a8); + if ((local_a0 != 0) && (local_94 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a4860.c b/decomp/Agent_Release_x64/full/functions/0x1400a4860.c new file mode 100644 index 00000000..94cbe78f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a4860.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a4860 FUN_1400a4860 + * Pseudocode, not original source. */ + +longlong FUN_1400a4860(longlong param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + longlong lVar2; + undefined4 extraout_var; + uint7 uVar4; + longlong lVar3; + undefined *local_res8; + + lVar3 = *(longlong *)(param_1 + 0x108); + FUN_140030200(param_1,param_2,param_3,param_4); + local_res8 = PTR_DAT_140155010; + FUN_140003170((longlong *)&local_res8,(longlong *)(lVar3 + 0x1588),param_3,param_4); + lVar2 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + lVar3 = 0; + if (*(longlong **)(lVar2 + 0x128) != (longlong *)0x0) { + lVar3 = **(longlong **)(lVar2 + 0x128); + } + uVar1 = FUN_140035e90(lVar3,(longlong *)&local_res8, + *(undefined2 *)(*(longlong *)(param_1 + 0x108) + 0x1590),param_4); + uVar4 = (uint7)(CONCAT44(extraout_var,uVar1) >> 8); + if ((uVar1 == 0) || (uVar1 == 0x2733)) { + lVar3 = CONCAT71(uVar4,1); + } + else { + *param_2 = uVar1; + lVar3 = (ulonglong)uVar4 << 8; + } + return lVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a4910.c b/decomp/Agent_Release_x64/full/functions/0x1400a4910.c new file mode 100644 index 00000000..71e51b72 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a4910.c @@ -0,0 +1,88 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a4910 FUN_1400a4910 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400a4910(longlong param_1,undefined8 param_2,uint *param_3,undefined8 param_4) + +{ + longlong lVar1; + undefined8 uVar2; + longlong lVar3; + longlong lVar4; + ulonglong uVar5; + double dVar6; + undefined1 auStack_668 [32]; + uint local_648 [4]; + undefined4 local_638 [392]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_668; + dVar6 = (double)(**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x70) + 0x1c0)) + (*(longlong *)(param_1 + 0x108) + 0x70); + if (dVar6 - *(double *)(param_1 + 200) <= DAT_140155060) { + FUN_140034cf0(local_638); + lVar1 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + lVar4 = 0; + if (*(longlong **)(lVar1 + 0x128) != (longlong *)0x0) { + lVar4 = **(longlong **)(lVar1 + 0x128); + } + FUN_140034d10((longlong)local_638,lVar4); + lVar1 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + lVar4 = 0; + if (*(longlong **)(lVar1 + 0x128) != (longlong *)0x0) { + lVar4 = **(longlong **)(lVar1 + 0x128); + } + FUN_140034d70((longlong)local_638,lVar4); + FUN_140034dd0((longlong)local_638,0); + lVar1 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + lVar4 = 0; + if (*(longlong **)(lVar1 + 0x128) != (longlong *)0x0) { + lVar4 = **(longlong **)(lVar1 + 0x128); + } + param_3 = local_648; + uVar2 = FUN_140034e30((longlong)local_638,lVar4,param_3); + if ((char)uVar2 == '\0') { + return; + } + if (local_648[0] == 0) { + lVar3 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + lVar1 = 0; + if (*(longlong **)(lVar3 + 0x128) != (longlong *)0x0) { + lVar1 = **(longlong **)(lVar3 + 0x128); + } + uVar2 = CONCAT71((int7)((ulonglong)lVar4 >> 8),1); + FUN_140034c70(lVar1,'\x01'); + lVar4 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + FUN_1400b2b10(lVar4,uVar2,param_3,param_4); + lVar4 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + uVar5 = FUN_140033290(lVar4 + 0x110); + if ((char)uVar5 == '\0') { + FUN_14002fa10( + L"서버와 TCP 연결이 되었는데도 로컬 소켓 주소를 얻을 수 없다니!" + ); + } + if (1 < *(int *)(param_1 + 0x100)) { + return; + } + *(undefined4 *)(param_1 + 0x40) = 0; + *(undefined4 *)(param_1 + 0x100) = 2; + uVar2 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x70) + 0x1c0)) + (*(longlong *)(param_1 + 0x108) + 0x70); + *(undefined8 *)(param_1 + 0x80) = uVar2; + *(undefined1 *)(param_1 + 0xc0) = 0; + return; + } + lVar4 = FUN_1400a4860(param_1,local_648,param_3,param_4); + if ((char)lVar4 != '\0') { + return; + } + } + else { + local_648[0] = 0x274c; + } + FUN_1400a3a70(param_1,local_648[0],param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a4ae0.c b/decomp/Agent_Release_x64/full/functions/0x1400a4ae0.c new file mode 100644 index 00000000..e1e18692 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a4ae0.c @@ -0,0 +1,62 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a4ae0 FUN_1400a4ae0 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400a4ae0(longlong param_1,uint *param_2) + +{ + double dVar1; + undefined8 *puVar2; + undefined8 uVar3; + int *piVar4; + longlong *plVar5; + longlong lVar6; + double dVar7; + double dVar8; + longlong *local_res18; + double local_res20; + undefined **local_20; + uint local_18; + undefined2 local_14; + + uVar3 = FUN_140080600(param_2,&local_res20,8); + if ((char)uVar3 != '\0') { + piVar4 = (int *)(**(code **)(**(longlong **)(param_1 + 0x108) + 0x58))(); + FUN_14002e6e0(piVar4); + local_20 = Proud::AddrPort::vftable; + local_18 = param_2[0xe]; + local_14 = (undefined2)param_2[0xf]; + plVar5 = FUN_14006ee80(*(longlong *)(param_1 + 0x108),&local_res18,(longlong)&local_20); + lVar6 = 0; + if ((longlong *)*plVar5 != (longlong *)0x0) { + lVar6 = *(longlong *)*plVar5; + } + if ((local_res18 != (longlong *)0x0) && + (local_res18[1] = local_res18[1] + -1, local_res18[1] == 0)) { + puVar2 = (undefined8 *)*local_res18; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(local_res18); + } + if ((lVar6 != 0) && (*(int *)(lVar6 + 0x56c) != 1)) { + dVar7 = FUN_14003a420((char *)(*(longlong *)(param_1 + 0x108) + 0x1620)); + dVar8 = (dVar7 - local_res20) * 0.5; + *(double *)(lVar6 + 0x158) = dVar8; + dVar1 = *(double *)(lVar6 + 0x50); + if (0.0 < dVar1) { + dVar8 = (dVar8 - dVar1) * _DAT_140155108 + dVar1; + } + *(double *)(lVar6 + 0x50) = dVar8; + if (0.0 < dVar7) { + *(double *)(lVar6 + 0xc0) = dVar7; + *(int *)(lVar6 + 0x100) = *(int *)(lVar6 + 0x100) + 1; + } + } + FUN_14002e770((longlong)piVar4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a4c50.c b/decomp/Agent_Release_x64/full/functions/0x1400a4c50.c new file mode 100644 index 00000000..7478e4ed --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a4c50.c @@ -0,0 +1,68 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a4c50 FUN_1400a4c50 + * Pseudocode, not original source. */ + +void FUN_1400a4c50(longlong param_1,uint *param_2) + +{ + longlong *plVar1; + undefined8 *puVar2; + undefined8 uVar3; + longlong lVar4; + longlong lVar5; + longlong *plVar6; + undefined2 uVar7; + undefined4 uVar8; + longlong *local_res8; + undefined8 local_res10; + undefined **local_28; + undefined4 local_20; + undefined2 local_1c; + + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x78) + 0x10)) + (*(longlong *)(param_1 + 0x108) + 0x78); + uVar3 = FUN_140080600(param_2,&local_res10,8); + if ((char)uVar3 != '\0') { + lVar5 = 0; + uVar8 = 0; + uVar7 = 0; + if ((param_2[10] == 1) && (lVar4 = FUN_140064bc0(*(longlong *)(param_1 + 0x108)), lVar4 != 0)) { + lVar5 = FUN_140064bc0(*(longlong *)(param_1 + 0x108)); + plVar1 = *(longlong **)(lVar5 + 0x108); + lVar5 = FUN_140064bc0(*(longlong *)(param_1 + 0x108)); + uVar8 = *(undefined4 *)(lVar5 + 0x140); + uVar7 = *(undefined2 *)(lVar5 + 0x144); + local_res8 = plVar1; + } + else { + plVar6 = FUN_140070860(*(longlong **)(param_1 + 0x108),(longlong *)&local_res8,param_2[10]); + plVar1 = local_res8; + if ((longlong *)*plVar6 != (longlong *)0x0) { + lVar5 = *(longlong *)*plVar6; + } + if ((local_res8 != (longlong *)0x0) && + (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) { + puVar2 = (undefined8 *)*local_res8; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(plVar1); + } + if (((lVar5 != 0) && (*(longlong **)(lVar5 + 0x18) != (longlong *)0x0)) && + (**(longlong **)(lVar5 + 0x18) != 0)) { + lVar4 = FUN_1400b34a0(lVar5); + uVar8 = *(undefined4 *)(lVar5 + 0x598); + uVar7 = *(undefined2 *)(lVar5 + 0x59c); + local_res8 = *(longlong **)(lVar4 + 0x108); + } + } + if (local_res8 != (longlong *)0x0) { + local_28 = Proud::AddrPort::vftable; + local_20 = uVar8; + local_1c = uVar7; + FUN_140097b30((longlong)local_res8,(longlong)&local_28,local_res10); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a4dc0.c b/decomp/Agent_Release_x64/full/functions/0x1400a4dc0.c new file mode 100644 index 00000000..b25b17c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a4dc0.c @@ -0,0 +1,77 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a4dc0 FUN_1400a4dc0 + * Pseudocode, not original source. */ + +void FUN_1400a4dc0(longlong *param_1,undefined8 param_2,ulonglong param_3,ulonglong param_4) + +{ + longlong lVar1; + int *piVar2; + int *piVar3; + undefined *puVar4; + undefined **ppuVar5; + wchar_t *pwVar6; + ulonglong uVar7; + ulonglong uVar8; + bool bVar9; + undefined *local_res10; + undefined *local_res18 [2]; + + bVar9 = (int)param_1[0x20] == 5; + uVar7 = (ulonglong)bVar9; + puVar4 = (undefined *)0x0; + if (*(longlong *)(param_1[0x21] + 0x5d8) != 0) { + puVar4 = *(undefined **)(*(longlong *)(param_1[0x21] + 0x5d8) + 0x38); + } + FUN_14002e6e0((int *)(puVar4 + 0x10)); + lVar1 = param_1[2]; + puVar4 = puVar4 + 0x10; + FUN_14002e770((longlong)puVar4); + uVar8 = (ulonglong)(lVar1 == 0); + if ((!bVar9) || (lVar1 != 0)) { + FUN_140030200(puVar4,param_2,param_3,param_4); + local_res18[0] = PTR_DAT_140155010; + pwVar6 = L"CNetClientManager.dtor assert fail: %d %d"; + ppuVar5 = local_res18; + FUN_14001b7a0((longlong *)ppuVar5,L"CNetClientManager.dtor assert fail: %d %d",uVar7,uVar8); + FUN_140030200(ppuVar5,pwVar6,uVar7,uVar8); + puVar4 = local_res18[0]; + local_res10 = PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_res10 = (undefined *)0x0; + } + param_3 = uVar7; + param_4 = uVar8; + if (local_res18[0] != PTR_DAT_140155010) { + piVar2 = (int *)FUN_140030200(ppuVar5,pwVar6,uVar7,uVar8); + FUN_14002e6e0(piVar2); + FUN_140003240((longlong *)&local_res10,pwVar6,uVar7,uVar8); + local_res10 = puVar4; + if (((puVar4 != PTR_DAT_140155010) && (puVar4 != (undefined *)0x0)) && + (puVar4 != (undefined *)0x8)) { + *(int *)(puVar4 + -4) = *(int *)(puVar4 + -4) + 1; + } + FUN_14002e770((longlong)piVar2); + param_3 = uVar7; + param_4 = uVar8; + } + ppuVar5 = &local_res10; + FUN_140033120((longlong *)ppuVar5,pwVar6,param_3,param_4); + if (((puVar4 != (undefined *)0x0) && (puVar4 != PTR_DAT_140155010)) && + (puVar4 + -8 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(ppuVar5,pwVar6,param_3,param_4); + FUN_14002e6e0(piVar3); + piVar2 = (int *)(puVar4 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar4 + -8); + } + FUN_14002e770((longlong)piVar3); + } + } + if ((longlong *)param_1[2] != (longlong *)0x0) { + FUN_1400a3700((longlong *)param_1[2],param_1,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a4f60.c b/decomp/Agent_Release_x64/full/functions/0x1400a4f60.c new file mode 100644 index 00000000..54f2523b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a4f60.c @@ -0,0 +1,97 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a4f60 FUN_1400a4f60 + * Pseudocode, not original source. */ + +void FUN_1400a4f60(longlong param_1,longlong *param_2,wchar_t *param_3,longlong **param_4) + +{ + longlong *plVar1; + int *piVar2; + longlong *plVar3; + int *piVar4; + int *piVar5; + longlong *plVar6; + longlong lVar7; + double dVar8; + undefined8 uVar9; + longlong *local_res8; + + piVar4 = (int *)(**(code **)(**(longlong **)(param_1 + 0x108) + 0x58))(); + FUN_14002e6e0(piVar4); + lVar7 = *(longlong *)(param_1 + 0x108); + if (0.0 < *(double *)(lVar7 + 0x1648)) { + dVar8 = (double)(**(code **)(*(longlong *)(lVar7 + 0x70) + 0x1c0))(); + if (10.0 < dVar8 - *(double *)(lVar7 + 0x1648)) { + if ((*(char *)(lVar7 + 0x1790) != '\0') || (*(int *)(lVar7 + 0x6c8) != 0)) { + param_3 = + L"**WARNING** CNetClient.FrameMove is not called in ten seconds. Is this your intention?"; + param_2 = (longlong *)0x0; + FUN_140072eb0(lVar7,0, + L"**WARNING** CNetClient.FrameMove is not called in ten seconds. Is this your intention?" + ,param_4); + } + *(undefined8 *)(*(longlong *)(param_1 + 0x108) + 0x1648) = 0xbff0000000000000; + } + } + lVar7 = *(longlong *)(param_1 + 0x108); + plVar6 = (longlong *)(lVar7 + 0x70); + dVar8 = (double)(**(code **)(*plVar6 + 0x1c0))(); + dVar8 = dVar8 - *(double *)(*(longlong *)(param_1 + 0x108) + 0x18c0); + if (((*(double *)(lVar7 + 0x6a8) <= dVar8 && dVar8 != *(double *)(lVar7 + 0x6a8)) && + (*(longlong **)(lVar7 + 0x5d0) != (longlong *)0x0)) && (**(longlong **)(lVar7 + 0x5d0) != 0)) + { + if ((*(char *)(lVar7 + 0x1790) != '\0') || (*(int *)(lVar7 + 0x6c8) != 0)) { + plVar6 = *(longlong **)(param_1 + 0x108); + param_4 = (longlong **)plVar6[0xd5]; + param_3 = (wchar_t *)&DAT_14010b380; + param_2 = (longlong *)0x0; + FUN_140072eb0((longlong)plVar6,0, + L"default timeouttime:%lf,Client %d: 오랫동안 TCP 수신이 없어서 연결해제 모드로 전환합니다." + ,param_4); + } + FUN_140030200(plVar6,param_2,param_3,param_4); + local_res8 = (longlong *)PTR_DAT_140155010; + param_4 = &local_res8; + param_2 = (longlong *)0xc; + param_3 = (wchar_t *)0x7; + plVar6 = *(longlong **)(param_1 + 0x108); + FUN_14007dca0(plVar6,0xc,(undefined *)0x7,param_4); + plVar3 = local_res8; + if (((local_res8 != (longlong *)0x0) && (local_res8 != (longlong *)PTR_DAT_140155010)) && + (plVar1 = local_res8 + -1, plVar1 != (longlong *)0x0)) { + piVar5 = (int *)FUN_140030200(plVar6,param_2,param_3,param_4); + FUN_14002e6e0(piVar5); + piVar2 = (int *)((longlong)plVar3 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(plVar1); + } + FUN_14002e770((longlong)piVar5); + } + local_res8 = (longlong *)PTR_DAT_140155010; + plVar6 = *(longlong **)(*(longlong *)(param_1 + 0x108) + 0x5d0); + lVar7 = 0; + if (plVar6 != (longlong *)0x0) { + lVar7 = *plVar6; + } + if (*(int *)(lVar7 + 0x100) < 4) { + *(undefined4 *)(lVar7 + 0x40) = 0; + *(undefined4 *)(lVar7 + 0x100) = 4; + uVar9 = (**(code **)(*(longlong *)(*(longlong *)(lVar7 + 0x108) + 0x70) + 0x1c0))(); + *(undefined8 *)(lVar7 + 0x80) = uVar9; + *(undefined1 *)(lVar7 + 0xc0) = 0; + } + } + FUN_1400a4390(param_1,param_2,(undefined **)param_3,(double *)param_4); + FUN_140074ab0(*(longlong **)(param_1 + 0x108),param_2,(SIZE_T)param_3,param_4); + FUN_14006eff0(*(longlong *)(param_1 + 0x108),param_2,(SIZE_T)param_3,param_4); + FUN_14006f2e0(*(longlong *)(param_1 + 0x108),param_2,(SIZE_T)param_3,param_4); + FUN_14006f540(*(longlong *)(param_1 + 0x108),param_2,(undefined8 *)param_3,param_4); + FUN_14007fed0(*(longlong **)(param_1 + 0x108),param_2,(SIZE_T)param_3,(undefined *)param_4); + FUN_1400671b0(*(longlong *)(param_1 + 0x108)); + FUN_140067310(*(longlong **)(param_1 + 0x108)); + FUN_140075460(*(longlong **)(param_1 + 0x108),param_2,param_3,param_4); + FUN_14002e770((longlong)piVar4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a5210.c b/decomp/Agent_Release_x64/full/functions/0x1400a5210.c new file mode 100644 index 00000000..e8b82f83 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a5210.c @@ -0,0 +1,147 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a5210 FUN_1400a5210 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400a5210(longlong param_1,uint *param_2,undefined8 param_3,longlong param_4) + +{ + longlong *plVar1; + int *piVar2; + int iVar3; + undefined8 uVar4; + ulonglong uVar5; + longlong lVar6; + undefined8 *puVar7; + longlong lVar8; + longlong *plVar9; + int *piVar10; + undefined1 *puVar11; + SIZE_T SVar12; + wchar_t *pwVar13; + bool bVar14; + undefined1 auStack_19c8 [32]; + undefined **local_19a8; + undefined4 local_19a0; + undefined2 local_199c; + int local_1998 [2]; + longlong local_1990; + longlong local_1988; + int local_197c; + int *local_1970; + undefined1 local_1968; + undefined8 local_1960; + longlong *local_1958; + longlong *plStack_1950; + undefined1 local_1948 [3200]; + undefined1 *local_cc8; + undefined4 local_cc0; + undefined4 local_cbc; + undefined1 local_cb8 [3216]; + ulonglong local_28; + undefined8 uStack_20; + + uStack_20 = 0x1400a5226; + local_1960 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_19c8; + local_19a8 = Proud::AddrPort::vftable; + lVar8 = 0; + local_19a0 = 0; + local_199c = 0; + local_1958 = (longlong *)0x0; + plStack_1950 = (longlong *)0x0; + uVar4 = FUN_140080600(param_2,&local_1958,0x10); + if (((char)uVar4 != '\0') && + (uVar5 = FUN_140081030(param_2,(longlong)&local_19a8), (char)uVar5 != '\0')) { + SVar12 = *(SIZE_T *)(param_1 + 0x108); + lVar6 = lVar8; + if (*(longlong **)(SVar12 + 0x1570) != (longlong *)0x0) { + lVar6 = **(longlong **)(SVar12 + 0x1570); + } + bVar14 = local_1958 < *(longlong **)(lVar6 + 8); + iVar3 = 0; + plVar9 = local_1958; + if ((local_1958 != *(longlong **)(lVar6 + 8)) || + (bVar14 = plStack_1950 < *(longlong **)(lVar6 + 0x10), plVar9 = plStack_1950, + plStack_1950 != *(longlong **)(lVar6 + 0x10))) { + iVar3 = (1 - (uint)bVar14) - (uint)(bVar14 != 0); + } + if (iVar3 == 0) { + lVar6 = lVar8; + if (*(longlong **)(SVar12 + 0x1570) != (longlong *)0x0) { + lVar6 = **(longlong **)(SVar12 + 0x1570); + } + if ((*(uint *)(lVar6 + 0xd0) == param_2[0xe]) && + (*(short *)(lVar6 + 0xd4) == (short)param_2[0xf])) { + FUN_1400806d0(local_1998); + FUN_1400801a0((longlong)local_1998,plVar9,SVar12,param_4); + FUN_140080830(local_1998,0x800,SVar12,param_4); + uVar4 = 0; + FUN_140080830(local_1998,0,SVar12,param_4); + FUN_14001ba80((longlong)local_1998,CONCAT71((int7)((ulonglong)uVar4 >> 8),0xe),SVar12, + param_4); + plVar9 = *(longlong **)(*(longlong *)(param_1 + 0x108) + 0x1570); + if (plVar9 != (longlong *)0x0) { + lVar8 = *plVar9; + } + local_1958 = *(longlong **)(lVar8 + 8); + plStack_1950 = *(longlong **)(lVar8 + 0x10); + FUN_140044710((longlong)local_1998,&local_1958,SVar12,param_4); + puVar7 = FUN_140064cd0(*(longlong *)(param_1 + 0x108),&local_1970); + FUN_1400812d0((longlong)local_1998,(longlong)puVar7,SVar12,param_4); + FUN_1400812d0((longlong)local_1998,(longlong)&local_19a8,SVar12,param_4); + local_cbc = 200; + local_cc0 = 0; + local_cc8 = local_1948; + FUN_140041760((longlong)local_cb8,(longlong)local_1998,SVar12); + puVar11 = local_cb8; + FUN_140040a60((longlong)local_1948,(longlong)puVar11,SVar12,param_4); + FUN_140040950((longlong)local_cb8,puVar11,SVar12,param_4); + lVar8 = FUN_140064bc0(*(longlong *)(param_1 + 0x108)); + *(undefined4 *)(lVar8 + 0x140) = local_19a0; + *(undefined2 *)(lVar8 + 0x144) = local_199c; + local_1958 = (longlong *)0x0; + plStack_1950 = (longlong *)CONCAT71(plStack_1950._1_7_,1); + lVar8 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + pwVar13 = (wchar_t *)&local_1958; + puVar11 = local_1948; + FUN_1400b2d20(lVar8,(longlong)puVar11,(SIZE_T *)pwVar13,param_4); + if ((*(char *)(*(longlong *)(param_1 + 0x108) + 0x1790) != '\0') || + (*(int *)(*(longlong *)(param_1 + 0x108) + 0x6c8) != 0)) { + plVar9 = FUN_140033b30((longlong)&local_19a8,(longlong *)&local_1958,pwVar13,param_4); + param_4 = *plVar9; + pwVar13 = L"Message_ServerHolepunchAck. AddrOfHereAtServer=%s"; + puVar11 = (undefined1 *)0x1; + lVar8 = *(longlong *)(param_1 + 0x108); + FUN_140072eb0(lVar8,1,L"Message_ServerHolepunchAck. AddrOfHereAtServer=%s",param_4); + plVar9 = local_1958; + if ((local_1958 != (longlong *)0x0) && + ((local_1958 != (longlong *)PTR_DAT_140155010 && + (plVar1 = local_1958 + -1, plVar1 != (longlong *)0x0)))) { + piVar10 = (int *)FUN_140030200(lVar8,puVar11,pwVar13,param_4); + local_1970 = piVar10; + FUN_14002e6e0(piVar10); + local_1968 = 1; + piVar2 = (int *)((longlong)plVar9 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(plVar1); + } + FUN_14002e770((longlong)piVar10); + } + } + FUN_140040950((longlong)local_1948,puVar11,pwVar13,param_4); + local_1958 = &local_1990; + FUN_140095270(&local_1990); + if ((local_1988 != 0) && (local_197c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a5540.c b/decomp/Agent_Release_x64/full/functions/0x1400a5540.c new file mode 100644 index 00000000..4a9b0edb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a5540.c @@ -0,0 +1,107 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a5540 FUN_1400a5540 + * Pseudocode, not original source. */ + +ulonglong FUN_1400a5540(IMAGE_DOS_HEADER *param_1,IMAGE_DOS_HEADER *param_2,uint *param_3, + undefined ***param_4) + +{ + ulonglong uVar1; + undefined8 uVar2; + undefined1 *puVar3; + undefined8 *puVar4; + undefined8 *puVar5; + int iVar6; + uint *puVar7; + SIZE_T SVar8; + undefined8 *local_res18; + undefined **local_a8; + undefined8 local_a0; + undefined8 *local_98; + ulonglong local_90; + undefined8 local_88; + undefined1 local_78 [56]; + word local_40 [2]; + undefined2 local_3c; + byte local_38; + byte local_28 [16]; + + local_28[0] = 0xfe; + local_28[1] = 0xff; + local_28[2] = 0xff; + local_28[3] = 0xff; + local_28[4] = 0xff; + local_28[5] = 0xff; + local_28[6] = 0xff; + local_28[7] = 0xff; + local_a0 = 0; + local_98 = (undefined8 *)0x0; + local_90 = 0; + local_88 = 0; + local_a8 = Proud::ByteArray::vftable; + puVar7 = param_3; + uVar1 = FUN_140080ca0(param_3,&local_res18,param_3,param_4); + if ((((char)uVar1 == '\0') || (iVar6 = (int)local_res18, iVar6 < 0)) || (DAT_140155140 < iVar6)) { +LAB_1400a56c7: + uVar1 = FUN_14003b870(&local_a8); + return uVar1 & 0xffffffffffffff00; + } + FUN_14001bc70((longlong)&local_a8,iVar6,(SIZE_T)puVar7); + puVar4 = local_98; + if ((int)local_90 == 0) { + puVar4 = (undefined8 *)0x0; + } + SVar8 = (ulonglong)local_res18 & 0xffffffff; + uVar2 = FUN_140080600(param_3,puVar4,SVar8); + if ((char)uVar2 == '\0') goto LAB_1400a56c7; + FUN_1400806d0((undefined4 *)local_78); + local_78._48_8_ = Proud::AddrPort::vftable; + local_38 = 0; + local_40[0] = (word)DAT_1401553d0; + local_40[1] = DAT_1401553d0._2_2_; + local_3c = DAT_1401553d4; + local_78._40_2_ = 1; + local_78._42_2_ = 0; + puVar3 = local_78; + FUN_1400801a0((longlong)puVar3,puVar4,SVar8,param_4); + SVar8 = local_90 & 0xffffffff; + if ((int)local_90 < 1) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(puVar3,puVar4,SVar8,param_4); + } + local_78._4_2_ = 0; + local_78._6_2_ = 0; + puVar5 = local_98; + if (local_78._8_8_ == 0) { + if (local_78._16_8_ == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar4,SVar8,param_4); + } + } + else if (local_78._16_8_ == 0) { + if (local_78._8_8_ == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar4,SVar8,param_4); + } + FUN_14001bd90(local_78._8_8_,local_98,SVar8); + goto LAB_1400a566c; + } + FUN_14001bb60((longlong *)(local_78 + 0x10),local_98,SVar8,param_4); +LAB_1400a566c: + FUN_14001be00((longlong)local_78,puVar5,SVar8,param_4); + local_38 = 1; + FUN_1400aa720(param_1,param_2,(IMAGE_DOS_HEADER *)local_78,param_4); + local_res18 = (undefined8 *)(local_78 + 8); + FUN_140095270((longlong *)(local_78 + 8)); + if (local_78._16_8_ != 0) { + if ((int)local_78._28_4_ < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_78._24_2_ = 0; + local_78._26_2_ = 0; + } + uVar2 = FUN_14003b870(&local_a8); + return CONCAT71((int7)((ulonglong)uVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a56f0.c b/decomp/Agent_Release_x64/full/functions/0x1400a56f0.c new file mode 100644 index 00000000..e1758625 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a56f0.c @@ -0,0 +1,163 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a56f0 FUN_1400a56f0 + * Pseudocode, not original source. */ + +void FUN_1400a56f0(longlong param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + longlong lVar4; + uint *puVar5; + int *piVar6; + longlong lVar7; + longlong *plVar8; + uint *puVar9; + undefined8 uVar10; + ulonglong uVar11; + uint uVar12; + undefined8 uVar13; + uint **ppuVar14; + uint uVar15; + uint *local_res8; + + uVar11 = param_2; + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x78) + 0x10))(); + lVar7 = *(longlong *)(param_1 + 0x108); + lVar4 = FUN_140064be0(lVar7); + *(undefined1 *)(lVar4 + 0x80) = 0; + uVar1 = *(uint *)(param_2 + 8); + if (-1 < (int)uVar1) { + if (0 < (int)uVar1) { + lVar7 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + uVar11 = (ulonglong)uVar1; + FUN_14009ed20((longlong *)(lVar7 + 0x170),uVar1); + plVar8 = (longlong *)(*(longlong *)(param_1 + 0x108) + 0x660); + *plVar8 = *plVar8 + (longlong)*(int *)(param_2 + 8); + } + lVar7 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + FUN_1400b2ba0(lVar7,uVar11,param_3,param_4); + return; + } + FUN_140030200(lVar7,uVar11,param_3,param_4); + local_res8 = (uint *)PTR_DAT_140155010; + uVar1 = FUN_140030080(L"compdatalength < 0 sendcomplete"); + uVar15 = 0; + uVar3 = 0; + uVar11 = 0; + if ((local_res8 != (uint *)0x0) && (uVar11 = 0, local_res8 != (uint *)PTR_DAT_140155010)) { + uVar11 = (ulonglong)local_res8[-2]; + } + uVar2 = uVar1; + if ((((int)uVar1 <= (int)uVar11) && (uVar2 = uVar3, local_res8 != (uint *)0x0)) && + (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_res8[-2]; + } + uVar12 = 1; + if (1 < (int)uVar2) { + uVar12 = uVar2; + } + uVar2 = uVar3; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_res8[-2]; + } + if ((int)uVar2 < (int)uVar12) { + if (local_res8 == (uint *)0x0) { + local_res8 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar12 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar12 == 0) { + FUN_140003240((longlong *)&local_res8,PTR_DAT_140155010,uVar11,param_4); + } + else { + uVar2 = uVar3; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_res8[-2]; + } + if (uVar12 != uVar2) { + puVar5 = (uint *)FUN_140030280((longlong)(int)uVar12 * 2 + 10); + if (puVar5 != (uint *)0x0) { + *puVar5 = 0; + puVar5[1] = 1; + } + *puVar5 = uVar12; + uVar2 = uVar3; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_res8[-2]; + } + puVar9 = (uint *)PTR_DAT_140155010; + if ((int)uVar12 < (int)uVar2) { +LAB_1400a5842: + if (local_res8 != (uint *)0x0) { + puVar9 = local_res8; + } + } + else { + uVar12 = uVar3; + if (local_res8 != (uint *)0x0) { + if (local_res8 != (uint *)PTR_DAT_140155010) { + uVar12 = local_res8[-2]; + } + goto LAB_1400a5842; + } + } + uVar11 = (ulonglong)uVar12; + FUN_1400300b0(puVar5 + 2,puVar9,uVar12); + FUN_140003240((longlong *)&local_res8,puVar9,uVar11,param_4); + local_res8 = puVar5 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_res8); + puVar5 = local_res8; + if (local_res8 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar5,L"compdatalength < 0 sendcomplete",uVar1); + puVar5 = local_res8; + if (local_res8 == (uint *)0x0) { + puVar5 = (uint *)PTR_DAT_140155010; + } + uVar3 = FUN_140030080((short *)puVar5); + uVar1 = uVar15; + if (0 < (int)uVar3) { + uVar1 = uVar3; + } + uVar3 = uVar15; + if ((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) { + uVar3 = local_res8[-2]; + } + if (((int)uVar3 <= (int)uVar1) && (uVar1 = uVar15, local_res8 != (uint *)0x0)) { + if (local_res8 == (uint *)PTR_DAT_140155010) goto LAB_1400a58fc; + uVar1 = local_res8[-2]; + } + if (((local_res8 != (uint *)PTR_DAT_140155010) && (local_res8 != (uint *)0x0)) && + (local_res8 + -2 != (uint *)0x0)) { + local_res8[-2] = uVar1; + *(undefined2 *)((longlong)local_res8 + (longlong)(int)uVar1 * 2) = 0; + } +LAB_1400a58fc: + ppuVar14 = &local_res8; + uVar10 = 0xb; + uVar13 = 3; + plVar8 = *(longlong **)(param_1 + 0x108); + FUN_14007dca0(plVar8,0xb,(undefined *)0x3,(longlong **)ppuVar14); + puVar5 = local_res8; + if (((local_res8 != (uint *)0x0) && (local_res8 != (uint *)PTR_DAT_140155010)) && + (puVar9 = local_res8 + -2, puVar9 != (uint *)0x0)) { + piVar6 = (int *)FUN_140030200(plVar8,uVar10,uVar13,ppuVar14); + FUN_14002e6e0(piVar6); + puVar5 = puVar5 + -1; + *puVar5 = *puVar5 - 1; + if (*puVar5 == 0) { + FUN_1400302f0(puVar9); + } + FUN_14002e770((longlong)piVar6); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a59c0.c b/decomp/Agent_Release_x64/full/functions/0x1400a59c0.c new file mode 100644 index 00000000..1f3a0705 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a59c0.c @@ -0,0 +1,189 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a59c0 FUN_1400a59c0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400a5aea) */ +/* WARNING: Removing unreachable block (ram,0x0001400a5afd) */ +/* WARNING: Removing unreachable block (ram,0x0001400a5b17) */ +/* WARNING: Removing unreachable block (ram,0x0001400a5b1f) */ +/* WARNING: Removing unreachable block (ram,0x0001400a5b26) */ + +void FUN_1400a59c0(longlong param_1,undefined8 param_2,SIZE_T param_3,undefined *param_4) + +{ + char cVar1; + int *piVar2; + longlong lVar3; + int *piVar4; + int *piVar5; + longlong *plVar6; + longlong **pplVar7; + ulonglong *puVar8; + wchar_t *pwVar9; + longlong *plVar10; + uint uVar11; + ulonglong uVar12; + double dVar13; + undefined8 uVar14; + ulonglong local_res8; + longlong *local_res10; + longlong *local_res18; + + piVar2 = (int *)(**(code **)(**(longlong **)(param_1 + 0x108) + 0x58)) + (*(longlong **)(param_1 + 0x108),param_2,param_3,param_4, + 0xfffffffffffffffe); + FUN_14002e6e0(piVar2); + *(int *)(param_1 + 0x40) = *(int *)(param_1 + 0x40) + 1; + puVar8 = *(ulonglong **)(param_1 + 0x108); + if ((longlong *)puVar8[0x16] != (longlong *)0x0) { + FUN_1400642a0((longlong *)puVar8[0x16],(longlong)puVar8,param_3,param_4); + } + plVar10 = (longlong *)0x0; + uVar11 = 1; + if (*(int *)(param_1 + 0x40) == 1) { + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x78) + 0x10))(); + lVar3 = FUN_140064bc0(*(longlong *)(param_1 + 0x108)); + if (lVar3 != 0) { + lVar3 = FUN_140064bc0(*(longlong *)(param_1 + 0x108)); + plVar6 = plVar10; + if (*(undefined8 **)(lVar3 + 0x100) != (undefined8 *)0x0) { + plVar6 = (longlong *)**(undefined8 **)(lVar3 + 0x100); + } + FUN_140035490(plVar6,puVar8,param_3,param_4); + } + lVar3 = *(longlong *)(*(longlong *)(param_1 + 0x108) + 0x1670); + while (lVar3 != 0) { + plVar6 = plVar10; + if (*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x1670) != 0) { + plVar6 = *(longlong **)(*(longlong *)(param_1 + 0x108) + 0x1660); + } + if (plVar6 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + local_res8 = 0; + if (plVar6[1] != 0) { + *(longlong *)(plVar6[1] + 8) = *(longlong *)(plVar6[1] + 8) + 1; + local_res8 = plVar6[1]; + } + puVar8 = &local_res8; + FUN_140076d80(*(longlong *)(param_1 + 0x108),puVar8,param_3,param_4); + lVar3 = *(longlong *)(*(longlong *)(param_1 + 0x108) + 0x1670); + } + FUN_1400768c0(*(longlong *)(param_1 + 0x108)); + FUN_140076a10(*(longlong *)(param_1 + 0x108)); + lVar3 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + if (lVar3 != 0) { + lVar3 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + plVar6 = plVar10; + if (*(undefined8 **)(lVar3 + 0x128) != (undefined8 *)0x0) { + plVar6 = (longlong *)**(undefined8 **)(lVar3 + 0x128); + } + FUN_140035490(plVar6,puVar8,param_3,param_4); + } + } + FUN_140075880(*(longlong **)(param_1 + 0x108),puVar8,param_3,param_4); + if (*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x1718) == 0) { + lVar3 = FUN_140064bc0(*(longlong *)(param_1 + 0x108)); + if (lVar3 != 0) { + lVar3 = FUN_140064bc0(*(longlong *)(param_1 + 0x108)); + if ((*(longlong **)(lVar3 + 0x100) != (longlong *)0x0) && + (**(longlong **)(lVar3 + 0x100) != 0)) { + lVar3 = FUN_140064bc0(*(longlong *)(param_1 + 0x108)); + plVar6 = plVar10; + if (*(undefined8 **)(lVar3 + 0x100) != (undefined8 *)0x0) { + plVar6 = (longlong *)**(undefined8 **)(lVar3 + 0x100); + } + cVar1 = FUN_140035730((longlong)plVar6); + if (((cVar1 == '\0') || + (lVar3 = FUN_140064bc0(*(longlong *)(param_1 + 0x108)), *(char *)(lVar3 + 0x80) != '\0') + ) || (lVar3 = FUN_140064bc0(*(longlong *)(param_1 + 0x108)), + *(char *)(lVar3 + 0xc0) != '\0')) { + uVar11 = 2; + goto LAB_1400a5cf3; + } + } + } + lVar3 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + if (lVar3 != 0) { + lVar3 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + if ((*(longlong **)(lVar3 + 0x128) != (longlong *)0x0) && + (**(longlong **)(lVar3 + 0x128) != 0)) { + lVar3 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + plVar6 = plVar10; + if (*(undefined8 **)(lVar3 + 0x128) != (undefined8 *)0x0) { + plVar6 = (longlong *)**(undefined8 **)(lVar3 + 0x128); + } + cVar1 = FUN_140035730((longlong)plVar6); + if (((cVar1 == '\0') || + (lVar3 = FUN_140064be0(*(longlong *)(param_1 + 0x108)), *(char *)(lVar3 + 0x80) != '\0') + ) || (lVar3 = FUN_140064be0(*(longlong *)(param_1 + 0x108)), + *(char *)(lVar3 + 0xc0) != '\0')) { + uVar11 = 3; + goto LAB_1400a5cf3; + } + } + } + cVar1 = FUN_14003a4e0(*(longlong *)(param_1 + 0x108) + 0x1620); + if (cVar1 == '\0') { + FUN_14003a3e0((char *)(*(longlong *)(param_1 + 0x108) + 0x1620)); + } + FUN_14007b7f0(*(longlong *)(param_1 + 0x108),'\0',param_3,param_4); + if (*(int *)(param_1 + 0x100) < 5) { + *(undefined4 *)(param_1 + 0x40) = 0; + *(undefined4 *)(param_1 + 0x100) = 5; + uVar14 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x70) + 0x1c0))(); + *(undefined8 *)(param_1 + 0x80) = uVar14; + *(undefined1 *)(param_1 + 0xc0) = 0; + } + } + else { +LAB_1400a5cf3: + plVar6 = (longlong *)(*(longlong *)(param_1 + 0x108) + 0x70); + dVar13 = (double)(**(code **)(*plVar6 + 0x1c0))(); + if ((5.0 < dVar13 - *(double *)(param_1 + 0x80)) && (*(char *)(param_1 + 0xc0) == '\0')) { + FUN_140030200(plVar6,puVar8,param_3,param_4); + local_res18 = (longlong *)PTR_DAT_140155010; + uVar12 = (ulonglong)uVar11; + pwVar9 = L"Too long time elapsed since disconnecting mode! unsafeDisconnectReason=%d"; + pplVar7 = &local_res18; + FUN_14001b7a0((longlong *)pplVar7, + L"Too long time elapsed since disconnecting mode! unsafeDisconnectReason=%d", + uVar12,param_4); + FUN_140030200(pplVar7,pwVar9,uVar12,param_4); + plVar6 = local_res18; + local_res10 = (longlong *)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_res10 = plVar10; + } + if (local_res18 != (longlong *)PTR_DAT_140155010) { + piVar4 = (int *)FUN_140030200(pplVar7,pwVar9,uVar12,param_4); + FUN_14002e6e0(piVar4); + FUN_140003240((longlong *)&local_res10,pwVar9,uVar12,param_4); + local_res10 = plVar6; + if (((plVar6 != (longlong *)PTR_DAT_140155010) && (plVar6 != (longlong *)0x0)) && + (plVar6 != (longlong *)0x8)) { + *(int *)((longlong)plVar6 + -4) = *(int *)((longlong)plVar6 + -4) + 1; + } + FUN_14002e770((longlong)piVar4); + } + pplVar7 = &local_res10; + FUN_140033120((longlong *)pplVar7,pwVar9,uVar12,param_4); + *(undefined1 *)(param_1 + 0xc0) = 1; + if (((plVar6 != (longlong *)0x0) && (plVar6 != (longlong *)PTR_DAT_140155010)) && + (plVar6 + -1 != (longlong *)0x0)) { + piVar5 = (int *)FUN_140030200(pplVar7,pwVar9,uVar12,param_4); + FUN_14002e6e0(piVar5); + piVar4 = (int *)((longlong)plVar6 + -4); + *piVar4 = *piVar4 + -1; + if (*piVar4 == 0) { + FUN_1400302f0(plVar6 + -1); + } + FUN_14002e770((longlong)piVar5); + } + } + } + FUN_14002e770((longlong)piVar2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a5ed0.c b/decomp/Agent_Release_x64/full/functions/0x1400a5ed0.c new file mode 100644 index 00000000..1afefaca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a5ed0.c @@ -0,0 +1,143 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a5ed0 FUN_1400a5ed0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400a5ed0(longlong param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 uVar1; + int *piVar2; + longlong *plVar3; + longlong **pplVar4; + longlong *plVar5; + undefined ***pppuVar6; + undefined8 *puVar7; + undefined1 auStack_da8 [32]; + longlong *local_d88; + longlong *local_d80; + uint uStack_d78; + undefined4 uStack_d74; + int local_d70 [2]; + longlong local_d68; + longlong *local_d60; + uint local_d58; + int local_d54; + int *local_d48; + undefined1 local_d40; + undefined **local_d38; + uint local_d30; + undefined2 local_d2c; + undefined4 local_d28 [2]; + undefined8 local_d20; + undefined1 local_d18; + undefined4 local_d14; + undefined1 local_d10; + undefined1 local_d0f; + undefined8 local_d08; + exception local_d00 [72]; + longlong *local_cb8; + undefined8 uStack_cb0; + undefined8 **local_38; + undefined4 local_30; + int local_2c; + ulonglong local_28; + + local_d08 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_da8; + uVar1 = FUN_140080600(param_2,&local_d80,8); + if ((char)uVar1 != '\0') { + piVar2 = (int *)(**(code **)(**(longlong **)(param_1 + 0x108) + 0x58))(); + local_d48 = piVar2; + FUN_14002e6e0(piVar2); + local_d40 = 1; + local_d38 = Proud::AddrPort::vftable; + local_d30 = param_2[0xe]; + local_d2c = (undefined2)param_2[0xf]; + pppuVar6 = &local_d38; + pplVar4 = &local_d88; + plVar3 = FUN_14006ee80(*(longlong *)(param_1 + 0x108),pplVar4,(longlong)pppuVar6); + plVar5 = (longlong *)0x0; + if ((longlong *)*plVar3 != (longlong *)0x0) { + plVar5 = *(longlong **)*plVar3; + } + if ((local_d88 != (longlong *)0x0) && + (local_d88[1] = local_d88[1] + -1, piVar2 = local_d48, local_d88[1] == 0)) { + if ((undefined8 *)*local_d88 != (undefined8 *)0x0) { + pplVar4 = (longlong **)0x1; + (*(code *)**(undefined8 **)*local_d88)(); + } + FUN_1400302f0(local_d88); + piVar2 = local_d48; + } + if ((plVar5 != (longlong *)0x0) && (*(int *)((longlong)plVar5 + 0x56c) != 1)) { + FUN_1400806d0(local_d70); + FUN_1400801a0((longlong)local_d70,pplVar4,(SIZE_T)pppuVar6,param_4); + FUN_140080830(local_d70,0x800,(SIZE_T)pppuVar6,param_4); + uVar1 = 0; + FUN_140080830(local_d70,0,(SIZE_T)pppuVar6,param_4); + uVar1 = CONCAT71((int7)((ulonglong)uVar1 >> 8),0x21); + FUN_14001ba80((longlong)local_d70,uVar1,(SIZE_T)pppuVar6,param_4); + FUN_1400220c0((longlong)local_d70,local_d80,(SIZE_T)pppuVar6,param_4); + local_2c = 200; + local_30 = 0; + local_38 = &local_cb8; + if (local_d68 == 0) { + uStack_d78 = local_d58; + if (local_d60 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,uVar1,pppuVar6,param_4); + } + } + else { + uStack_d78 = *(uint *)(local_d68 + 0x18); + } + local_d80 = local_d60; + if (local_d60 == (longlong *)0x0) { + if (local_d68 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)uStack_d78,pppuVar6,param_4); + } + local_d80 = (longlong *)0x0; + if (*(int *)(local_d68 + 0x18) != 0) { + local_d80 = *(longlong **)(local_d68 + 0x10); + } + } + local_30 = 1; + uStack_cb0 = CONCAT44(uStack_d74,uStack_d78); + local_d28[0] = 0; + local_d20 = 0; + local_d18 = 1; + local_d14 = 0xffffffff; + local_d10 = 1; + local_d0f = DAT_1401551cc; + puVar7 = (undefined8 *)local_d28; + local_cb8 = local_d80; + FUN_1400b34c0(plVar5 + 0xcd,(longlong)&local_cb8,puVar7); + if (local_38 == (longlong **)0x0) { + FUN_14002f1e0(local_d00,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,puVar7, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d00,(ThrowInfo *)&DAT_140151b88); + } + if (local_2c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_30 = 0; + local_d80 = &local_d68; + FUN_140095270(&local_d68); + if (local_d60 != (longlong *)0x0) { + if (local_d54 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d58 = 0; + } + } + FUN_14002e770((longlong)piVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a6180.c b/decomp/Agent_Release_x64/full/functions/0x1400a6180.c new file mode 100644 index 00000000..bf90d662 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a6180.c @@ -0,0 +1,142 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a6180 FUN_1400a6180 + * Pseudocode, not original source. */ + +void FUN_1400a6180(longlong param_1,SIZE_T param_2,longlong param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + undefined1 uVar2; + ushort uVar3; + longlong lVar4; + longlong *plVar5; + uint *puVar6; + undefined ***pppuVar7; + uint uVar8; + double extraout_XMM0_Qa; + undefined8 uVar9; + undefined4 uVar10; + undefined4 uVar11; + longlong *local_res10; + int local_d8 [2]; + longlong local_d0; + longlong local_c8; + int local_bc; + undefined **local_b0; + undefined4 local_a8; + undefined2 local_a4; + undefined **local_a0; + undefined4 local_98; + undefined2 local_94; + undefined **local_90; + undefined4 local_88; + undefined2 local_84; + uint local_80 [2]; + undefined8 local_78; + undefined1 local_70; + undefined4 local_6c; + undefined1 local_68; + undefined1 local_67; + uint local_60 [2]; + undefined8 local_58; + undefined1 local_50; + undefined4 local_4c; + undefined1 local_48; + undefined1 local_47; + undefined8 local_40; + + if (param_2 == 0) { + return; + } + local_40 = 0xfffffffffffffffe; + local_a0 = Proud::AddrPort::vftable; + local_98 = *(undefined4 *)(param_3 + 0x38); + local_94 = *(undefined2 *)(param_3 + 0x3c); + pppuVar7 = &local_a0; + FUN_1400979a0(*(longlong *)(param_2 + 0x188),(longlong)pppuVar7); + if (extraout_XMM0_Qa <= 0.0) { + return; + } + FUN_1400806d0(local_d8); + FUN_1400801a0((longlong)local_d8,pppuVar7,param_2,param_4); + FUN_140080830(local_d8,0x800,param_2,param_4); + uVar9 = 0; + FUN_140080830(local_d8,0,param_2,param_4); + FUN_14001ba80((longlong)local_d8,CONCAT71((int7)((ulonglong)uVar9 >> 8),0x28),param_2,param_4); + FUN_1400220c0((longlong)local_d8,extraout_XMM0_Qa,param_2,param_4); + uVar8 = *(uint *)(param_3 + 0x28); + if (uVar8 == 1) { + lVar4 = 0; + local_78 = 0; + local_70 = 1; + local_6c = 0xffffffff; + local_68 = 1; + local_67 = DAT_1401551cc; + plVar5 = *(longlong **)(*(longlong *)(param_1 + 0x108) + 0x1570); + if (plVar5 != (longlong *)0x0) { + lVar4 = *plVar5; + } + local_90 = Proud::AddrPort::vftable; + local_88 = *(undefined4 *)(lVar4 + 0xd0); + local_84 = *(undefined2 *)(lVar4 + 0xd4); + plVar5 = *(longlong **)(param_1 + 0x108); + local_80[0] = uVar8; + uVar9 = (**(code **)(plVar5[0xe] + 0x1c0))(); + uVar10 = (undefined4)uVar9; + uVar11 = (undefined4)((ulonglong)uVar9 >> 0x20); + uVar2 = (**(code **)(*plVar5 + 0x30))(plVar5); + uVar3 = FUN_140096e50(uVar2,1); + lVar4 = FUN_140064bc0(*(longlong *)(param_1 + 0x108)); + puVar6 = local_80; + pppuVar7 = &local_90; + uVar8 = 1; + } + else { + if (uVar8 == 0) goto LAB_1400a6406; + plVar5 = FUN_140070860(*(longlong **)(param_1 + 0x108),(longlong *)&local_res10,uVar8); + lVar4 = 0; + if ((longlong *)*plVar5 != (longlong *)0x0) { + lVar4 = *(longlong *)*plVar5; + } + if ((local_res10 != (longlong *)0x0) && + (local_res10[1] = local_res10[1] + -1, local_res10[1] == 0)) { + puVar1 = (undefined8 *)*local_res10; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(local_res10); + } + if ((*(longlong **)(lVar4 + 0x18) == (longlong *)0x0) || (**(longlong **)(lVar4 + 0x18) == 0)) + goto LAB_1400a6406; + local_60[0] = 1; + local_58 = 0; + local_50 = 1; + local_4c = 0xffffffff; + local_48 = 1; + local_47 = DAT_1401551cc; + local_b0 = Proud::AddrPort::vftable; + local_a8 = *(undefined4 *)(lVar4 + 0x598); + local_a4 = *(undefined2 *)(lVar4 + 0x59c); + uVar8 = *(uint *)(param_3 + 0x28); + plVar5 = *(longlong **)(param_1 + 0x108); + uVar9 = (**(code **)(plVar5[0xe] + 0x1c0))(); + uVar10 = (undefined4)uVar9; + uVar11 = (undefined4)((ulonglong)uVar9 >> 0x20); + uVar2 = (**(code **)(*plVar5 + 0x30))(plVar5); + uVar3 = FUN_140096e50(uVar2,(char)uVar8); + lVar4 = FUN_1400b34a0(lVar4); + puVar6 = local_60; + pppuVar7 = &local_b0; + } + FUN_1400b73e0(lVar4,uVar8,(ulonglong)uVar3,(longlong)pppuVar7,(longlong)local_d8, + (double)CONCAT44(uVar11,uVar10),(undefined8 *)puVar6); +LAB_1400a6406: + local_res10 = &local_d0; + FUN_140095270(&local_d0); + if ((local_c8 != 0) && (local_bc < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a6450.c b/decomp/Agent_Release_x64/full/functions/0x1400a6450.c new file mode 100644 index 00000000..b366a38a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a6450.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a6450 FUN_1400a6450 + * Pseudocode, not original source. */ + +void FUN_1400a6450(longlong param_1,longlong *param_2,ulonglong param_3,undefined8 param_4) + +{ + uint uVar1; + undefined *puVar2; + int *piVar3; + int *piVar4; + longlong *plVar5; + wchar_t *pwVar6; + undefined *local_res8; + + piVar3 = (int *)(param_1 + 0x10); + piVar4 = piVar3; + plVar5 = param_2; + FUN_14002e6e0(piVar3); + if ((int)param_2[0x20] != 5) { + FUN_140030200(piVar4,plVar5,param_3,param_4); + local_res8 = PTR_DAT_140155010; + uVar1 = FUN_140030080(L"Unexpected at CNetClientManager::Unregister"); + puVar2 = FUN_140002f90((longlong *)&local_res8,uVar1); + param_3 = (ulonglong)uVar1; + pwVar6 = L"Unexpected at CNetClientManager::Unregister"; + FUN_1400300b0(puVar2,L"Unexpected at CNetClientManager::Unregister",uVar1); + FUN_140003070((longlong *)&local_res8); + FUN_140033120((longlong *)&local_res8,pwVar6,param_3,param_4); + } + if ((longlong *)param_2[2] != (longlong *)0x0) { + FUN_1400a3700((longlong *)param_2[2],param_2,param_3,param_4); + } + FUN_14002e770((longlong)piVar3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a6500.c b/decomp/Agent_Release_x64/full/functions/0x1400a6500.c new file mode 100644 index 00000000..6b5634eb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a6500.c @@ -0,0 +1,58 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a6500 FUN_1400a6500 + * Pseudocode, not original source. */ + +void FUN_1400a6500(longlong param_1,char param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + undefined8 *puVar2; + longlong *plVar3; + longlong *plVar4; + longlong *plVar5; + longlong *local_res8; + + FUN_14002e6e0((int *)(param_1 + 0x10)); + plVar1 = (longlong *)(param_1 + 0x290); + plVar5 = (longlong *)*plVar1; + if (((plVar5 == (longlong *)0x0) || (*plVar5 == 0)) && (param_2 != '\0')) { + local_res8 = operator_new(0x3c0); + plVar5 = (longlong *)0x0; + plVar4 = plVar5; + if (local_res8 != (longlong *)0x0) { + plVar4 = FUN_1400c01b0(local_res8,param_1 + 8,param_3,param_4); + } + if (plVar4 == (longlong *)0x0) { + local_res8 = (longlong *)0x0; + } + else { + local_res8 = (longlong *)FUN_140030280(0x10); + local_res8[1] = 1; + *local_res8 = (longlong)plVar4; + } + plVar4 = local_res8; + FUN_1400ad4b0(plVar1,(longlong *)&local_res8); + plVar3 = local_res8; + if (plVar4 != (longlong *)0x0) { + plVar4 = plVar4 + 1; + *plVar4 = *plVar4 + -1; + if (*plVar4 == 0) { + puVar2 = (undefined8 *)*local_res8; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(plVar3); + } + } + if ((undefined8 *)*plVar1 != (undefined8 *)0x0) { + plVar5 = *(longlong **)*plVar1; + } + FUN_1400bfd70((longlong)plVar5); + } + else if (((plVar5 != (longlong *)0x0) && (*plVar5 != 0)) && (param_2 == '\0')) { + FUN_1400bfd10(*plVar5); + } + FUN_14002e770(param_1 + 0x10); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a6640.c b/decomp/Agent_Release_x64/full/functions/0x1400a6640.c new file mode 100644 index 00000000..416fa350 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a6640.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a6640 FUN_1400a6640 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400a6640(longlong *param_1,undefined4 *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + undefined8 *puVar2; + + plVar1 = (longlong *)*param_1; + if (plVar1 == (longlong *)0x0) { + puVar2 = (undefined8 *)FUN_140030280(0x58); + } + else { + puVar2 = (undefined8 *) + (**(code **)(*plVar1 + 8))(plVar1,0x58,param_3,param_4,0xfffffffffffffffe); + } + if (puVar2 != (undefined8 *)0x0) { + FUN_140080700((undefined4 *)(puVar2 + 2),param_2); + *(undefined4 *)(puVar2 + 7) = param_2[10]; + puVar2[8] = Proud::AddrPort::vftable; + *(undefined4 *)(puVar2 + 9) = param_2[0xe]; + *(undefined2 *)((longlong)puVar2 + 0x4c) = *(undefined2 *)(param_2 + 0xf); + *(undefined1 *)(puVar2 + 10) = *(undefined1 *)(param_2 + 0x10); + } + puVar2[1] = param_3; + *puVar2 = param_4; + param_1[3] = param_1[3] + 1; + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a66f0.c b/decomp/Agent_Release_x64/full/functions/0x1400a66f0.c new file mode 100644 index 00000000..4c60c8c1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a66f0.c @@ -0,0 +1,310 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a66f0 FUN_1400a66f0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400a66f0(longlong param_1,IMAGE_DOS_HEADER *param_2,uint *param_3, + undefined ***param_4) + +{ + undefined1 uVar1; + ushort uVar2; + ulonglong in_RAX; + ulonglong uVar3; + undefined8 uVar4; + longlong *plVar5; + longlong *plVar6; + longlong *plVar7; + undefined1 *puVar8; + longlong **pplVar9; + longlong **pplVar10; + longlong **pplVar11; + longlong **pplVar12; + uint *puVar13; + SIZE_T SVar14; + int iVar15; + longlong **pplVar16; + int iVar17; + uint uVar18; + longlong **pplVar20; + double dVar21; + uint local_res18 [2]; + longlong *local_res20; + undefined8 local_178; + longlong local_170; + longlong local_168; + undefined4 local_160; + int local_15c; + undefined **local_150; + undefined8 local_148; + longlong **local_140; + ulonglong local_138; + undefined8 local_130; + undefined **local_128; + longlong **local_120; + longlong **local_118; + undefined8 local_110; + undefined8 local_108; + longlong **local_100; + undefined1 local_f8 [56]; + word local_c0 [2]; + undefined2 local_bc; + byte local_b8; + undefined **local_a8; + uint local_a0; + byte local_9c [4]; + byte local_98 [8]; + int local_90 [2]; + ulonglong local_88; + uint local_80 [2]; + byte local_78 [8]; + undefined1 local_70; + undefined4 local_6c; + undefined1 local_68; + undefined1 local_67; + undefined8 local_60; + longlong **pplVar19; + + local_60 = 0xfffffffffffffffe; + if (((param_3[10] != 1) || + (puVar13 = param_3, in_RAX = FUN_140080e30(param_3,local_res18,param_3,param_4), + (char)in_RAX == '\0')) || + (in_RAX = FUN_140080ca0(param_3,(undefined8 *)local_98,puVar13,param_4), (char)in_RAX == '\0')) + goto LAB_1400a6c5b; + pplVar11 = (longlong **)0x0; + local_120 = (longlong **)0x0; + local_118 = (longlong **)0x0; + local_110 = 0; + local_108 = 0; + local_128 = Proud::HostIDArray::vftable; + in_RAX = FUN_140080ca0(param_3,(undefined8 *)local_90,puVar13,param_4); + pplVar12 = pplVar11; + pplVar9 = pplVar11; + if ((((char)in_RAX == '\0') || (pplVar12 = (longlong **)0x0, local_90[0] < 0)) || + (DAT_140155140 < local_90[0])) { +LAB_1400a6c3b: + if (pplVar12 == (longlong **)0x0) goto LAB_1400a6c5b; + if (pplVar9 == (longlong **)0x0) { +LAB_1400a6c53: + in_RAX = FUN_1400302f0(pplVar12); + goto LAB_1400a6c5b; + } + plVar6 = *pplVar9; + } + else { + FUN_14003ecf0((longlong)&local_128,local_90[0],(longlong)puVar13); + pplVar12 = local_118; + iVar17 = (int)local_110; + pplVar9 = local_118; + if ((int)local_110 == 0) { + pplVar9 = pplVar11; + } + SVar14 = (SIZE_T)(uint)(local_90[0] * 4); + in_RAX = FUN_140080600(param_3,pplVar9,SVar14); + pplVar9 = local_120; + if ((char)in_RAX == '\0') goto LAB_1400a6c3b; + local_148 = 0; + local_140 = (longlong **)0x0; + local_138 = 0; + local_130 = 0; + local_150 = Proud::ByteArray::vftable; + uVar3 = FUN_140080ca0(param_3,&local_88,SVar14,param_4); + if ((((char)uVar3 != '\0') && (iVar15 = (int)local_88, -1 < iVar15)) && + (iVar15 <= DAT_140155140)) { + FUN_14001bc70((longlong)&local_150,iVar15,SVar14); + pplVar9 = local_140; + if ((int)local_138 == 0) { + pplVar9 = pplVar11; + } + SVar14 = local_88 & 0xffffffff; + uVar4 = FUN_140080600(param_3,pplVar9,SVar14); + if ((char)uVar4 != '\0') { + FUN_1400806d0((undefined4 *)&local_178); + FUN_1400801a0((longlong)&local_178,pplVar9,SVar14,param_4); + FUN_140080830((int *)&local_178,0x800,SVar14,param_4); + uVar4 = 0; + FUN_140080830((int *)&local_178,0,SVar14,param_4); + FUN_14001ba80((longlong)&local_178,CONCAT71((int7)((ulonglong)uVar4 >> 8),0x23),SVar14, + param_4); + uVar3 = local_138; + iVar15 = (int)local_138; + plVar6 = &local_178; + FUN_140081aa0((longlong)plVar6,(longlong)(int)local_138,SVar14,param_4); + pplVar9 = local_140; + if ((int)local_138 == 0) { + pplVar9 = pplVar11; + } + if (iVar15 != 0) { + local_178._4_4_ = 0; + if (local_170 == 0) { + if (local_168 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,pplVar9,SVar14,param_4); + } +LAB_1400a68de: + SVar14 = uVar3 & 0xffffffff; + FUN_14001bb60(&local_168,pplVar9,SVar14,param_4); + } + else { + if (local_168 != 0) goto LAB_1400a68de; + if (local_170 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,pplVar9,SVar14,param_4); + } + SVar14 = uVar3 & 0xffffffff; + FUN_14001bd90(local_170,pplVar9,SVar14); + } + plVar6 = &local_178; + FUN_14001be00((longlong)plVar6,pplVar9,SVar14,param_4); + } + local_70 = DAT_14015dea0; + local_6c = 0xffffffff; + local_68 = DAT_14015dec0; + local_80[0] = local_res18[0]; + local_78[0] = local_98[0]; + local_78[1] = local_98[1]; + local_78[2] = local_98[2]; + local_78[3] = local_98[3]; + local_78[4] = local_98[4]; + local_78[5] = local_98[5]; + local_78[6] = local_98[6]; + local_78[7] = local_98[7]; + local_67 = 0; + pplVar19 = pplVar11; + pplVar20 = pplVar11; + if (0 < iVar17) { + do { + if (((longlong)pplVar20 < 0) || (iVar17 <= (int)pplVar19)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar6,pplVar9,SVar14,param_4); + } + plVar6 = *(longlong **)(param_1 + 0x108); + pplVar9 = (longlong **)((longlong)pplVar12 + (longlong)pplVar20 * 4); + local_100 = pplVar9; + if (*(uint *)pplVar9 != *(uint *)(plVar6 + 0x2af)) { + SVar14 = (SIZE_T)*(uint *)pplVar9; + pplVar10 = &local_res20; + plVar5 = FUN_140070860(plVar6,(longlong *)pplVar10,*(uint *)pplVar9); + plVar7 = local_res20; + pplVar16 = pplVar11; + if ((undefined8 *)*plVar5 != (undefined8 *)0x0) { + pplVar16 = *(longlong ***)*plVar5; + } + pplVar9 = pplVar10; + if (local_res20 != (longlong *)0x0) { + local_res20[1] = local_res20[1] + -1; + plVar6 = (longlong *)local_res20[1]; + if ((longlong *)local_res20[1] == (longlong *)0x0) { + if ((undefined8 *)*local_res20 != (undefined8 *)0x0) { + pplVar10 = (longlong **)0x1; + (*(code *)**(undefined8 **)*local_res20)(); + } + FUN_1400302f0(plVar7); + plVar6 = plVar7; + } + pplVar9 = pplVar10; + pplVar12 = local_118; + iVar17 = (int)local_110; + } + if ((((pplVar16 != (longlong **)0x0) && + (*(char *)((longlong)pplVar16 + 0x684) == '\0')) && + (*(char *)(pplVar16 + 0xc1) != '\x01')) && + ((pplVar16[3] != (longlong *)0x0 && (*pplVar16[3] != 0)))) { + local_a8 = Proud::AddrPort::vftable; + local_a0 = *(uint *)(pplVar16 + 0xb3); + local_9c._0_2_ = *(undefined2 *)((longlong)pplVar16 + 0x59c); + plVar6 = *(longlong **)(param_1 + 0x108); + dVar21 = (double)(**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x70) + + 0x1c0))(); + uVar1 = (**(code **)(*plVar6 + 0x30))(plVar6); + uVar2 = FUN_140096e50(uVar1,(char)*(uint *)local_100); + plVar6 = (longlong *)FUN_1400b34a0((longlong)pplVar16); + param_4 = &local_a8; + SVar14 = (SIZE_T)uVar2; + pplVar9 = (longlong **)(ulonglong)*(uint *)local_100; + FUN_1400b73e0((longlong)plVar6,*(uint *)local_100,SVar14,(longlong)param_4, + (longlong)&local_178,dVar21,(undefined8 *)local_80); + } + } + uVar18 = (int)pplVar19 + 1; + pplVar19 = (longlong **)(ulonglong)uVar18; + pplVar20 = (longlong **)((longlong)pplVar20 + 1); + } while ((int)uVar18 < iVar17); + } + FUN_1400806d0((undefined4 *)local_f8); + local_f8._48_8_ = Proud::AddrPort::vftable; + local_b8 = 0; + local_c0[0] = (word)DAT_1401553d0; + local_c0[1] = DAT_1401553d0._2_2_; + local_bc = DAT_1401553d4; + local_f8._40_2_ = 1; + local_f8._42_2_ = 0; + puVar8 = local_f8; + FUN_1400801a0((longlong)puVar8,pplVar9,SVar14,param_4); + SVar14 = local_138 & 0xffffffff; + if ((int)local_138 < 1) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(puVar8,pplVar9,SVar14,param_4); + } + local_f8._4_2_ = 0; + local_f8._6_2_ = 0; + pplVar11 = local_140; + if (local_f8._8_8_ == 0) { + if (local_f8._16_8_ == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,pplVar9,SVar14,param_4); + } + } + else if (local_f8._16_8_ == 0) { + if (local_f8._8_8_ == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,pplVar9,SVar14,param_4); + } + FUN_14001bd90(local_f8._8_8_,local_140,SVar14); + goto LAB_1400a6b69; + } + FUN_14001bb60((longlong *)(local_f8 + 0x10),local_140,SVar14,param_4); +LAB_1400a6b69: + FUN_14001be00((longlong)local_f8,pplVar11,SVar14,param_4); + FUN_1400aa720((IMAGE_DOS_HEADER *)param_1,param_2,(IMAGE_DOS_HEADER *)local_f8,param_4); + local_res20 = (longlong *)(local_f8 + 8); + FUN_140095270((longlong *)(local_f8 + 8)); + if (local_f8._16_8_ != 0) { + if ((int)local_f8._28_4_ < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_f8._24_2_ = 0; + local_f8._26_2_ = 0; + } + local_res20 = &local_170; + FUN_140095270(&local_170); + if (local_168 != 0) { + if (local_15c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_160 = 0; + } + uVar4 = FUN_14003b870(&local_150); + if (pplVar12 != (longlong **)0x0) { + if (local_120 == (longlong **)0x0) { + uVar4 = FUN_1400302f0(pplVar12); + } + else { + uVar4 = (*(code *)(*local_120)[3])(local_120,pplVar12); + } + } + return CONCAT71((int7)((ulonglong)uVar4 >> 8),1); + } + } + in_RAX = FUN_14003b870(&local_150); + if (pplVar12 == (longlong **)0x0) goto LAB_1400a6c5b; + if (local_120 == (longlong **)0x0) goto LAB_1400a6c53; + plVar6 = *local_120; + pplVar9 = local_120; + } + in_RAX = (*(code *)plVar6[3])(pplVar9,pplVar12); +LAB_1400a6c5b: + return in_RAX & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a6c80.c b/decomp/Agent_Release_x64/full/functions/0x1400a6c80.c new file mode 100644 index 00000000..b0e31611 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a6c80.c @@ -0,0 +1,419 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a6c80 FUN_1400a6c80 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400a6c80(longlong *param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + uint uVar2; + longlong *plVar3; + undefined8 uVar4; + int *piVar5; + ulonglong uVar6; + int *piVar7; + longlong lVar8; + uint *puVar9; + longlong *plVar10; + uint uVar11; + undefined8 *puVar12; + longlong **pplVar13; + undefined ***pppuVar14; + undefined8 uVar15; + int iVar16; + longlong **pplVar17; + SIZE_T SVar18; + uint *puVar19; + SIZE_T *pSVar20; + longlong lVar21; + undefined1 auStack_ec8 [32]; + undefined1 local_ea8 [8]; + longlong *local_ea0; + int local_e98 [2]; + longlong local_e90; + longlong local_e88; + undefined4 local_e80; + int local_e7c; + longlong *local_e70; + longlong *local_e68; + longlong *local_e60; + undefined **local_e58; + undefined8 local_e50; + longlong **local_e48; + undefined8 local_e40; + undefined8 local_e38; + undefined **local_e30; + undefined8 local_e28; + longlong **local_e20; + undefined8 local_e18; + undefined8 local_e10; + undefined **local_e08; + undefined8 local_e00; + longlong **local_df8; + undefined8 local_df0; + undefined8 local_de8; + longlong *local_dd0; + undefined **local_dc8; + undefined8 local_dc0; + longlong **local_db8; + ulonglong local_db0; + undefined8 local_da8; + undefined **local_da0; + undefined8 local_d98; + longlong **local_d90; + ulonglong local_d88; + undefined8 local_d80; + int *local_d78; + undefined1 local_d70; + int *local_d68; + undefined1 local_d60; + SIZE_T local_d58; + undefined1 local_d50; + uint local_d48; + int iStack_d44; + undefined8 local_d40; + undefined8 local_d38; + undefined8 local_d30; + undefined8 local_d28; + undefined8 local_d20; + int *local_d18; + undefined1 local_d10; + int *local_d08; + undefined1 local_d00; + undefined8 local_ce0; + undefined1 local_cb8 [3216]; + ulonglong local_28; + + local_ce0 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_ec8; + local_ea0 = param_1; + (**(code **)(*(longlong *)(param_1[0x21] + 0x78) + 0x10))(); + SVar18 = 1; + puVar12 = (undefined8 *)local_ea8; + puVar19 = param_2; + uVar4 = FUN_140080600(param_2,puVar12,1); + if ((char)uVar4 == '\0') { + FUN_140030200(puVar19,puVar12,SVar18,param_4); + local_e70 = (longlong *)PTR_DAT_140155010; + pplVar13 = &local_e70; + uVar4 = 8; + uVar15 = 3; + plVar10 = (longlong *)param_1[0x21]; + FUN_14007dca0(plVar10,8,(undefined *)0x3,pplVar13); + plVar3 = local_e70; + if (((local_e70 != (longlong *)0x0) && (local_e70 != (longlong *)PTR_DAT_140155010)) && + (plVar1 = local_e70 + -1, plVar1 != (longlong *)0x0)) { + piVar5 = (int *)FUN_140030200(plVar10,uVar4,uVar15,pplVar13); + local_d68 = piVar5; + FUN_14002e6e0(piVar5); + local_d60 = 1; + piVar7 = (int *)((longlong)plVar3 + -4); + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(plVar1); + } + FUN_14002e770((longlong)piVar5); + local_d60 = 0; + } + local_e70 = (longlong *)PTR_DAT_140155010; +LAB_1400a6d7e: + if ((int)param_1[0x20] < 4) { + *(undefined4 *)(param_1 + 8) = 0; + *(undefined4 *)(param_1 + 0x20) = 4; + lVar21 = (**(code **)(*(longlong *)(param_1[0x21] + 0x70) + 0x1c0))(); + param_1[0x10] = lVar21; + *(undefined1 *)(param_1 + 0x18) = 0; + } + return; + } + FUN_1400a28f0(&local_d48); + puVar19 = &local_d48; + puVar9 = param_2; + uVar4 = FUN_140081110(param_2,puVar19,SVar18,param_4); + if ((char)uVar4 == '\0') { + FUN_140030200(puVar9,puVar19,SVar18,param_4); + local_e60 = (longlong *)PTR_DAT_140155010; + pplVar13 = &local_e60; + uVar4 = 8; + uVar15 = 3; + plVar10 = (longlong *)param_1[0x21]; + FUN_14007dca0(plVar10,8,(undefined *)0x3,pplVar13); + plVar3 = local_e60; + if (((local_e60 != (longlong *)0x0) && (local_e60 != (longlong *)PTR_DAT_140155010)) && + (plVar1 = local_e60 + -1, plVar1 != (longlong *)0x0)) { + piVar5 = (int *)FUN_140030200(plVar10,uVar4,uVar15,pplVar13); + local_d78 = piVar5; + FUN_14002e6e0(piVar5); + local_d70 = 1; + piVar7 = (int *)((longlong)plVar3 + -4); + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(plVar1); + } + FUN_14002e770((longlong)piVar5); + local_d70 = 0; + } + local_e60 = (longlong *)PTR_DAT_140155010; + goto LAB_1400a6d7e; + } + lVar21 = param_1[0x21]; + *(ulonglong *)(lVar21 + 0x6a0) = CONCAT44(iStack_d44,local_d48); + *(undefined8 *)(lVar21 + 0x6a8) = local_d40; + *(undefined8 *)(lVar21 + 0x6b0) = local_d38; + *(undefined8 *)(lVar21 + 0x6b8) = local_d30; + *(undefined8 *)(lVar21 + 0x6c0) = local_d28; + *(undefined8 *)(lVar21 + 0x6c8) = local_d20; + if (*(char *)(param_1[0x21] + 0x6cc) != '\0') { + uVar4 = (**(code **)(*(longlong *)(param_1[0x21] + 0x70) + 0x1c0))(); + *(undefined8 *)(param_1[0x21] + 0x638) = uVar4; + } + pplVar17 = (longlong **)0x0; + local_e00 = 0; + local_df8 = (longlong **)0x0; + local_df0 = 0; + local_de8 = 0; + local_e08 = Proud::ByteArray::vftable; + pplVar13 = &local_dd0; + puVar19 = param_2; + uVar6 = FUN_140080ca0(param_2,pplVar13,SVar18,param_4); + plVar10 = local_dd0; + if ((((char)uVar6 != '\0') && (iVar16 = (int)local_dd0, -1 < iVar16)) && (iVar16 <= DAT_140155140) + ) { + FUN_14001bc70((longlong)&local_e08,iVar16,SVar18); + pplVar13 = local_df8; + if ((int)local_df0 == 0) { + pplVar13 = pplVar17; + } + SVar18 = (ulonglong)plVar10 & 0xffffffff; + puVar19 = param_2; + uVar4 = FUN_140080600(param_2,pplVar13,SVar18); + if ((char)uVar4 != '\0') { + local_e50 = 0; + local_e48 = (longlong **)0x0; + local_e40 = 0; + local_e38 = 0; + local_e58 = Proud::ByteArray::vftable; + local_e28 = 0; + local_e20 = (longlong **)0x0; + local_e18 = 0; + local_e10 = 0; + local_e30 = Proud::ByteArray::vftable; + FUN_1400a0f70((longlong)&local_e58,*(int *)(param_1[0x21] + 0x6bc),SVar18,param_4); + pplVar13 = local_e48; + if ((int)local_e40 == 0) { + pplVar13 = pplVar17; + } + SVar18 = (SIZE_T)(*(uint *)(param_1[0x21] + 0x6bc) >> 3); + uVar4 = 0x10; + FUN_140090ac0((void *)(param_1[0x21] + 0xd8),(byte *)pplVar13,SVar18,0x10); + FUN_1400a0f70((longlong)&local_e30,*(int *)(param_1[0x21] + 0x6c0),SVar18,uVar4); + pplVar13 = local_e20; + if ((int)local_e18 == 0) { + pplVar13 = pplVar17; + } + SVar18 = (SIZE_T)(*(uint *)(param_1[0x21] + 0x6c0) >> 3); + FUN_1400a0660(param_1[0x21] + 0x4a8,(longlong)pplVar13,SVar18,uVar4); + piVar7 = (int *)FUN_1400303d0(); + FUN_14002e6e0(piVar7); + if (iStack_d44 < DAT_140155140) { + iStack_d44 = DAT_140155140; + } + DAT_140155140 = iStack_d44; + FUN_14002e770((longlong)piVar7); + uVar11 = (int)*param_2 >> 0x1f & 7; + if (*(longlong *)(param_2 + 2) == 0) { + if (*(longlong *)(param_2 + 4) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)uVar11,SVar18,uVar4); + } + uVar2 = param_2[6]; + } + else { + uVar2 = *(uint *)(*(longlong *)(param_2 + 2) + 0x18); + } + if ((int)(*param_2 + uVar11) >> 3 != uVar2) { + FUN_140030200((ulonglong)uVar2,(ulonglong)uVar11,SVar18,uVar4); + local_ea0 = (longlong *)PTR_DAT_140155010; + pplVar13 = &local_ea0; + uVar4 = 8; + uVar15 = 3; + plVar10 = (longlong *)param_1[0x21]; + FUN_14007dca0(plVar10,8,(undefined *)0x3,pplVar13); + plVar3 = local_ea0; + if (((local_ea0 != (longlong *)0x0) && (local_ea0 != (longlong *)PTR_DAT_140155010)) && + (plVar1 = local_ea0 + -1, plVar1 != (longlong *)0x0)) { + piVar5 = (int *)FUN_140030200(plVar10,uVar4,uVar15,pplVar13); + local_d08 = piVar5; + FUN_14002e6e0(piVar5); + local_d00 = 1; + piVar7 = (int *)((longlong)plVar3 + -4); + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(plVar1); + } + FUN_14002e770((longlong)piVar5); + } + FUN_1400a36a0((longlong)param_1,4); + FUN_14003b870(&local_e30); + FUN_14003b870(&local_e58); + goto LAB_1400a7617; + } + *(undefined1 *)(param_1[0x21] + 0x1790) = local_ea8[0]; + lVar21 = param_1[0x21]; + lVar8 = FUN_140064be0(lVar21); + FUN_1400b2af0(lVar8,*(char *)(lVar21 + 0x6b8)); + local_dc0 = 0; + local_db8 = (longlong **)0x0; + local_db0 = 0; + local_da8 = 0; + local_dc8 = Proud::ByteArray::vftable; + local_d98 = 0; + local_d90 = (longlong **)0x0; + local_d88 = 0; + local_d80 = 0; + local_da0 = Proud::ByteArray::vftable; + FUN_1400a0f70((longlong)&local_e58,*(int *)(param_1[0x21] + 0x6bc),SVar18,uVar4); + pplVar13 = local_e48; + if ((int)local_e40 == 0) { + pplVar13 = pplVar17; + } + uVar4 = 0x10; + FUN_140090ac0((void *)(param_1[0x21] + 0x708),(byte *)pplVar13, + (ulonglong)(*(uint *)(param_1[0x21] + 0x6bc) >> 3),0x10); + pppuVar14 = &local_e08; + FUN_1400a1130((longlong)&local_dc8,(longlong)&local_e58,(longlong)pppuVar14); + FUN_1400a0f70((longlong)&local_e30,*(int *)(param_1[0x21] + 0x6c0),(SIZE_T)pppuVar14,uVar4); + pplVar13 = local_e20; + if ((int)local_e18 == 0) { + pplVar13 = pplVar17; + } + FUN_1400a0660(param_1[0x21] + 0xad8,(longlong)pplVar13, + (ulonglong)(*(uint *)(param_1[0x21] + 0x6c0) >> 3),uVar4); + puVar19 = (uint *)(param_1[0x21] + 0x708); + pppuVar14 = &local_da0; + FUN_140092b80((longlong)&local_e30,(longlong)pppuVar14,puVar19,uVar4); + FUN_1400806d0(local_e98); + FUN_1400801a0((longlong)local_e98,pppuVar14,(SIZE_T)puVar19,uVar4); + FUN_140080830(local_e98,0x800,(SIZE_T)puVar19,uVar4); + uVar15 = 0; + FUN_140080830(local_e98,0,(SIZE_T)puVar19,uVar4); + FUN_14001ba80((longlong)local_e98,CONCAT71((int7)((ulonglong)uVar15 >> 8),5),(SIZE_T)puVar19, + uVar4); + uVar6 = local_db0; + iVar16 = (int)local_db0; + FUN_140081aa0((longlong)local_e98,(longlong)(int)local_db0,(SIZE_T)puVar19,uVar4); + pplVar13 = local_db8; + if ((int)local_db0 == 0) { + pplVar13 = pplVar17; + } + if (iVar16 != 0) { + local_e98[1] = 0; + if (local_e90 == 0) { + if (local_e88 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,pplVar13,puVar19,uVar4); + } +LAB_1400a7382: + puVar19 = (uint *)(uVar6 & 0xffffffff); + FUN_14001bb60(&local_e88,pplVar13,puVar19,uVar4); + } + else { + if (local_e88 != 0) goto LAB_1400a7382; + if (local_e90 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,pplVar13,puVar19,uVar4); + } + puVar19 = (uint *)(uVar6 & 0xffffffff); + FUN_14001bd90(local_e90,pplVar13,(SIZE_T)puVar19); + } + FUN_14001be00((longlong)local_e98,pplVar13,(SIZE_T)puVar19,uVar4); + } + uVar6 = local_d88; + iVar16 = (int)local_d88; + FUN_140081aa0((longlong)local_e98,(longlong)(int)local_d88,(SIZE_T)puVar19,uVar4); + pplVar13 = local_d90; + if ((int)local_d88 == 0) { + pplVar13 = pplVar17; + } + if (iVar16 != 0) { + local_e98[1] = 0; + if (local_e90 == 0) { + if (local_e88 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,pplVar13,puVar19,uVar4); + } +LAB_1400a7400: + puVar19 = (uint *)(uVar6 & 0xffffffff); + FUN_14001bb60(&local_e88,pplVar13,puVar19,uVar4); + } + else { + if (local_e88 != 0) goto LAB_1400a7400; + if (local_e90 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,pplVar13,puVar19,uVar4); + } + puVar19 = (uint *)(uVar6 & 0xffffffff); + FUN_14001bd90(local_e90,pplVar13,(SIZE_T)puVar19); + } + FUN_14001be00((longlong)local_e98,pplVar13,(SIZE_T)puVar19,uVar4); + } + lVar21 = FUN_140041760((longlong)local_cb8,(longlong)local_e98,puVar19); + local_d58 = 0; + local_d50 = 1; + lVar8 = FUN_140064be0(param_1[0x21]); + pSVar20 = &local_d58; + FUN_1400b2d20(lVar8,lVar21,pSVar20,uVar4); + FUN_140040950((longlong)local_cb8,lVar21,pSVar20,uVar4); + local_dd0 = &local_e90; + FUN_140095270(&local_e90); + if (local_e88 != 0) { + if (local_e7c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_e80 = 0; + } + FUN_14003b870(&local_da0); + FUN_14003b870(&local_dc8); + FUN_14003b870(&local_e30); + FUN_14003b870(&local_e58); + goto LAB_1400a7617; + } + } + FUN_140030200(puVar19,pplVar13,SVar18,param_4); + local_e68 = (longlong *)PTR_DAT_140155010; + pplVar13 = &local_e68; + uVar4 = 8; + uVar15 = 3; + plVar10 = (longlong *)param_1[0x21]; + FUN_14007dca0(plVar10,8,(undefined *)0x3,pplVar13); + plVar3 = local_e68; + if (((local_e68 != (longlong *)0x0) && (local_e68 != (longlong *)PTR_DAT_140155010)) && + (plVar1 = local_e68 + -1, plVar1 != (longlong *)0x0)) { + piVar5 = (int *)FUN_140030200(plVar10,uVar4,uVar15,pplVar13); + local_d18 = piVar5; + FUN_14002e6e0(piVar5); + local_d10 = 1; + piVar7 = (int *)((longlong)plVar3 + -4); + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(plVar1); + } + FUN_14002e770((longlong)piVar5); + local_d10 = 0; + } + local_e68 = (longlong *)PTR_DAT_140155010; + if ((int)param_1[0x20] < 4) { + *(undefined4 *)(param_1 + 8) = 0; + *(undefined4 *)(param_1 + 0x20) = 4; + lVar21 = (**(code **)(*(longlong *)(param_1[0x21] + 0x70) + 0x1c0))(); + param_1[0x10] = lVar21; + *(undefined1 *)(param_1 + 0x18) = 0; + } +LAB_1400a7617: + FUN_14003b870(&local_e08); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a7650.c b/decomp/Agent_Release_x64/full/functions/0x1400a7650.c new file mode 100644 index 00000000..6ebfc724 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a7650.c @@ -0,0 +1,164 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a7650 FUN_1400a7650 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400a7650(longlong param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + uint uVar1; + int iVar2; + undefined8 *puVar3; + int *piVar4; + undefined8 uVar5; + longlong lVar6; + ulonglong uVar7; + longlong **pplVar8; + undefined8 *puVar9; + undefined1 auStack_d68 [32]; + int local_d48 [2]; + longlong local_d40; + undefined8 *local_d38; + uint local_d30; + int local_d2c; + longlong *local_d18; + undefined8 uStack_d10; + undefined8 local_d08; + exception local_d00 [72]; + undefined8 *local_cb8; + undefined8 uStack_cb0; + undefined8 **local_38; + undefined4 local_30; + int local_2c; + ulonglong local_28; + + local_d08 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_d68; + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x78) + 0x10))(); + FUN_1400806d0(local_d48); + FUN_1400801a0((longlong)local_d48,param_2,param_3,param_4); + FUN_140080830(local_d48,0x800,param_3,param_4); + uVar5 = 0; + FUN_140080830(local_d48,0,param_3,param_4); + FUN_14001ba80((longlong)local_d48,CONCAT71((int7)((ulonglong)uVar5 >> 8),7),param_3,param_4); + lVar6 = *(longlong *)(param_1 + 0x108); + uVar1 = *(uint *)(lVar6 + 0x15c0); + piVar4 = local_d48; + FUN_140081aa0((longlong)piVar4,(longlong)(int)uVar1,param_3,param_4); + puVar9 = (undefined8 *)0x0; + puVar3 = puVar9; + if (*(int *)(lVar6 + 0x15c0) != 0) { + puVar3 = *(undefined8 **)(lVar6 + 0x15b8); + } + if (uVar1 != 0) { + local_d48[1] = 0; + if (local_d40 == 0) { + if (local_d38 == (undefined8 *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar3,param_3,param_4); + } +LAB_1400a7730: + param_3 = (SIZE_T)uVar1; + FUN_14001bb60((longlong *)&local_d38,puVar3,param_3,param_4); + } + else { + if (local_d38 != (undefined8 *)0x0) goto LAB_1400a7730; + if (local_d40 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,puVar3,param_3,param_4); + } + param_3 = (SIZE_T)uVar1; + FUN_14001bd90(local_d40,puVar3,param_3); + } + piVar4 = local_d48; + FUN_14001be00((longlong)piVar4,puVar3,param_3,param_4); + } + lVar6 = local_d40; + local_d18 = *(longlong **)(*(longlong *)(param_1 + 0x108) + 0x1594); + uStack_d10 = *(undefined8 *)(*(longlong *)(param_1 + 0x108) + 0x159c); + local_d48[1] = 0; + if (local_d40 == 0) { + if (local_d38 == (undefined8 *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(piVar4,puVar3,param_3,param_4); + } + } + else if (local_d38 == (undefined8 *)0x0) { + if (local_d40 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(piVar4,puVar3,param_3,param_4); + } + iVar2 = *(int *)(local_d40 + 0x18); + FUN_14001bc70(local_d40,iVar2 + 0x10,param_3); + puVar3 = puVar9; + if (*(int *)(lVar6 + 0x18) != 0) { + puVar3 = *(undefined8 **)(lVar6 + 0x10); + } + puVar3 = (undefined8 *)((longlong)puVar3 + (longlong)iVar2); + goto LAB_1400a77e0; + } + lVar6 = (longlong)(int)local_d30; + local_d30 = local_d30 + 0x10; + if (((int)local_d30 < 0) || (local_d2c < (int)local_d30)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar3 = (undefined8 *)((longlong)local_d38 + lVar6); +LAB_1400a77e0: + *puVar3 = local_d18; + puVar3[1] = uStack_d10; + FUN_14001be00((longlong)local_d48,&local_d18,param_3,param_4); + uVar7 = (ulonglong)*(uint *)(*(longlong *)(param_1 + 0x108) + 0x698); + FUN_140021e80((longlong)local_d48,uVar7,param_3,param_4); + local_2c = 200; + local_30 = 0; + local_38 = &local_cb8; + if (local_d40 == 0) { + uVar1 = local_d30; + if (local_d38 == (undefined8 *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,uVar7,param_3,param_4); + } + } + else { + uVar1 = *(uint *)(local_d40 + 0x18); + } + local_cb8 = local_d38; + if (local_d38 == (undefined8 *)0x0) { + if (local_d40 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)uVar1,param_3,param_4); + } + local_cb8 = puVar9; + if (*(int *)(local_d40 + 0x18) != 0) { + local_cb8 = *(undefined8 **)(local_d40 + 0x10); + } + } + uStack_d10 = CONCAT44(uStack_d10._4_4_,uVar1); + local_30 = 1; + uStack_cb0 = uStack_d10; + local_d18 = (longlong *)0x0; + uStack_d10 = CONCAT71(uStack_d10._1_7_,1); + lVar6 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + pplVar8 = &local_d18; + FUN_1400b2d20(lVar6,(longlong)&local_cb8,(SIZE_T *)pplVar8,param_4); + if (local_38 == (undefined8 **)0x0) { + FUN_14002f1e0(local_d00,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,pplVar8, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d00,(ThrowInfo *)&DAT_140151b88); + } + if (local_2c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d18 = &local_d40; + FUN_140095270(&local_d40); + if ((local_d38 != (undefined8 *)0x0) && (local_d2c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a7950.c b/decomp/Agent_Release_x64/full/functions/0x1400a7950.c new file mode 100644 index 00000000..55b49356 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a7950.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a7950 FUN_1400a7950 + * Pseudocode, not original source. */ + +undefined4 * FUN_1400a7950(longlong *param_1,undefined4 *param_2) + +{ + longlong *plVar1; + longlong lVar2; + + plVar1 = (longlong *)param_1[1]; + if (plVar1 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + FUN_140080700(param_2,(undefined4 *)(plVar1 + 2)); + lVar2 = *plVar1; + param_1[1] = lVar2; + if (lVar2 == 0) { + param_1[2] = 0; + } + else { + *(undefined8 *)(lVar2 + 8) = 0; + } + FUN_140070370(param_1,plVar1); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a79d0.c b/decomp/Agent_Release_x64/full/functions/0x1400a79d0.c new file mode 100644 index 00000000..b85013f8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a79d0.c @@ -0,0 +1,293 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a79d0 FUN_1400a79d0 + * Pseudocode, not original source. */ + +void FUN_1400a79d0(undefined ***param_1,uint *param_2,uint *param_3,undefined8 param_4) + +{ + undefined **ppuVar1; + uint uVar2; + uint uVar3; + longlong *plVar4; + uint *puVar5; + IMAGE_DOS_HEADER *pIVar6; + undefined ***pppuVar7; + ulonglong *puVar8; + undefined **ppuVar9; + ulonglong **ppuVar10; + uint uVar11; + uint uVar12; + int iVar13; + ulonglong uVar14; + undefined ***pppuVar15; + IMAGE_DOS_HEADER *pIVar16; + ulonglong uVar17; + ulonglong uVar18; + uint local_res8 [2]; + IMAGE_DOS_HEADER *local_res10; + undefined **local_res18; + ulonglong *local_res20; + undefined1 local_c8 [40]; + undefined **local_a0; + uint local_98; + word local_94; + undefined **local_90; + byte local_88 [32]; + undefined ***local_68; + byte local_60; + longlong local_58; + byte local_50 [16]; + + local_50[0] = 0xfe; + local_50[1] = 0xff; + local_50[2] = 0xff; + local_50[3] = 0xff; + local_50[4] = 0xff; + local_50[5] = 0xff; + local_50[6] = 0xff; + local_50[7] = 0xff; + local_res10 = (IMAGE_DOS_HEADER *)param_2; + (**(code **)(param_1[0x21][0xf] + 0x10))(); + local_a0 = Proud::AddrPort::vftable; + local_98 = param_3[0xe]; + local_94 = (word)param_3[0xf]; + pppuVar15 = &local_a0; + ppuVar10 = &local_res20; + plVar4 = FUN_14006ee80((longlong)param_1[0x21],ppuVar10,(longlong)pppuVar15); + puVar8 = (ulonglong *)*plVar4; + uVar14 = 0; + uVar18 = uVar14; + if (puVar8 != (ulonglong *)0x0) { + uVar18 = *puVar8; + } + if (local_res20 != (ulonglong *)0x0) { + local_res20[1] = local_res20[1] - 1; + puVar8 = (ulonglong *)local_res20[1]; + if ((ulonglong *)local_res20[1] == (ulonglong *)0x0) { + if ((undefined8 *)*local_res20 != (undefined8 *)0x0) { + ppuVar10 = (ulonglong **)0x1; + (*(code *)**(undefined8 **)*local_res20)(); + } + FUN_1400302f0(local_res20); + puVar8 = local_res20; + } + } + if ((uVar18 == 0) || (*(char *)(uVar18 + 0x650) != '\0')) { + if (*(longlong *)(param_3 + 2) == 0) { + if (*(longlong *)(param_3 + 4) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar8,ppuVar10,pppuVar15,param_4); + } + uVar2 = param_3[6]; + } + else { + uVar2 = *(uint *)(*(longlong *)(param_3 + 2) + 0x18); + } + FUN_140080890(param_3,(ulonglong)(uVar2 - ((int)(*param_3 + ((int)*param_3 >> 0x1f & 7U)) >> 3)) + ,pppuVar15,param_4); + return; + } + local_c8._8_2_ = 0; + local_c8._10_2_ = 0; + local_c8._12_2_ = 0; + local_c8._14_2_ = 0; + local_c8._16_8_ = 0; + local_c8._24_2_ = 0; + local_c8._26_2_ = 0; + local_c8._28_2_ = 0; + local_c8._30_2_ = 0; + local_c8._0_8_ = Proud::CReceivedMessageList::vftable; + local_c8._32_2_ = 1000; + local_c8._34_2_ = 0; + local_c8._36_2_ = 1; + local_c8._38_2_ = 0; + pppuVar7 = (undefined ***)(uVar18 + 0x638); + pppuVar15 = (undefined ***)local_res8; + pIVar16 = (IMAGE_DOS_HEADER *)local_c8; + pIVar6 = (IMAGE_DOS_HEADER *)param_3; + FUN_1400b8600((longlong *)pppuVar7,param_3,(ulonglong)pIVar16,(undefined4 *)pppuVar15); + if (local_res8[0] == 0) goto LAB_1400a7d32; + FUN_140030200(pppuVar7,pIVar6,pIVar16,pppuVar15); + local_res18 = (undefined **)PTR_DAT_140155010; + uVar2 = FUN_140030080(L"Stream Extract Error at Reliable UDP"); + uVar12 = 0; + uVar17 = uVar14; + if ((local_res18 != (undefined **)0x0) && + (uVar17 = 0, local_res18 != (undefined **)PTR_DAT_140155010)) { + uVar17 = (ulonglong)*(uint *)(local_res18 + -1); + } + uVar3 = uVar2; + if ((((int)uVar2 <= (int)uVar17) && (uVar3 = uVar12, local_res18 != (undefined **)0x0)) && + (local_res18 != (undefined **)PTR_DAT_140155010)) { + uVar3 = *(uint *)(local_res18 + -1); + } + uVar11 = 1; + if (1 < (int)uVar3) { + uVar11 = uVar3; + } + uVar3 = uVar12; + if ((local_res18 != (undefined **)0x0) && (local_res18 != (undefined **)PTR_DAT_140155010)) { + uVar3 = *(uint *)(local_res18 + -1); + } + if ((int)uVar3 < (int)uVar11) { + if (local_res18 == (undefined **)0x0) { + local_res18 = (undefined **)PTR_DAT_140155010; + } + if ((int)uVar11 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar11 == 0) { + FUN_140003240((longlong *)&local_res18,PTR_DAT_140155010,uVar17,pppuVar15); + } + else { + uVar3 = uVar12; + if ((local_res18 != (undefined **)0x0) && (local_res18 != (undefined **)PTR_DAT_140155010)) { + uVar3 = *(uint *)(local_res18 + -1); + } + if (uVar11 != uVar3) { + puVar5 = (uint *)FUN_140030280((longlong)(int)uVar11 * 2 + 10); + if (puVar5 != (uint *)0x0) { + *puVar5 = 0; + puVar5[1] = 1; + } + *puVar5 = uVar11; + uVar3 = uVar12; + if ((local_res18 != (undefined **)0x0) && (local_res18 != (undefined **)PTR_DAT_140155010)) + { + uVar3 = *(uint *)(local_res18 + -1); + } + ppuVar9 = (undefined **)PTR_DAT_140155010; + if ((int)uVar11 < (int)uVar3) { +LAB_1400a7bdb: + if (local_res18 != (undefined **)0x0) { + ppuVar9 = local_res18; + } + } + else { + uVar11 = uVar12; + if (local_res18 != (undefined **)0x0) { + if (local_res18 != (undefined **)PTR_DAT_140155010) { + uVar11 = *(uint *)(local_res18 + -1); + } + goto LAB_1400a7bdb; + } + } + uVar17 = (ulonglong)uVar11; + FUN_1400300b0(puVar5 + 2,ppuVar9,uVar11); + FUN_140003240((longlong *)&local_res18,ppuVar9,uVar17,pppuVar15); + local_res18 = (undefined **)(puVar5 + 2); + } + } + } + FUN_140002ea0((longlong *)&local_res18); + ppuVar9 = local_res18; + if (local_res18 == (undefined **)0x0) { + ppuVar9 = (undefined **)PTR_DAT_140155010; + } + FUN_1400300b0(ppuVar9,L"Stream Extract Error at Reliable UDP",uVar2); + ppuVar9 = local_res18; + if (local_res18 == (undefined **)0x0) { + ppuVar9 = (undefined **)PTR_DAT_140155010; + } + uVar3 = FUN_140030080((short *)ppuVar9); + uVar2 = 0; + if (0 < (int)uVar3) { + uVar2 = uVar3; + } + uVar3 = uVar12; + if ((local_res18 != (undefined **)0x0) && (local_res18 != (undefined **)PTR_DAT_140155010)) { + uVar3 = *(uint *)(local_res18 + -1); + } + if (((int)uVar2 < (int)uVar3) || (uVar2 = uVar12, local_res18 == (undefined **)0x0)) { +LAB_1400a7c6e: + if (((local_res18 != (undefined **)PTR_DAT_140155010) && (local_res18 != (undefined **)0x0)) && + (local_res18 + -1 != (undefined **)0x0)) { + *(uint *)(local_res18 + -1) = uVar2; + *(undefined2 *)((longlong)local_res18 + (longlong)(int)uVar2 * 2) = 0; + } + } + else if (local_res18 != (undefined **)PTR_DAT_140155010) { + uVar2 = *(uint *)(local_res18 + -1); + goto LAB_1400a7c6e; + } + local_88[0] = 0; + local_88[1] = 0; + local_88[2] = 0; + local_88[3] = 0; + local_88[4] = 0; + local_88[5] = 0; + local_88[6] = 0; + local_88[7] = 0; + local_88[8] = 0; + local_88[9] = 0; + local_88[10] = 0; + local_88[0xb] = 0; + local_88[0xc] = 0; + local_88[0xd] = 0; + local_88[0xe] = 0; + local_88[0xf] = 0; + local_88[0x10] = 0; + local_88[0x11] = 0; + local_88[0x12] = 0; + local_88[0x13] = 0; + local_88[0x14] = 0; + local_88[0x15] = 0; + local_88[0x16] = 0; + local_88[0x17] = 0; + local_88[0x18] = 0; + local_88[0x19] = 0; + local_88[0x1a] = 0; + local_88[0x1b] = 0; + local_88[0x1c] = 0; + local_88[0x1d] = 0; + local_88[0x1e] = 0; + local_88[0x1f] = 0; + local_90 = Proud::ByteArray::vftable; + pppuVar15 = &local_res18; + pIVar6 = (IMAGE_DOS_HEADER *) + FUN_14003c120(&local_58,(ulonglong)local_res8[0],(ulonglong)*(uint *)(uVar18 + 0x56c), + (longlong *)pppuVar15,(longlong)&local_90); + pIVar16 = (IMAGE_DOS_HEADER *)*param_1[0x21]; + (**(code **)(pIVar16 + 1))(); + pppuVar7 = &local_90; + FUN_14003b870(pppuVar7); + ppuVar9 = local_res18; + param_2 = (uint *)local_res10; + if (((local_res18 != (undefined **)0x0) && (local_res18 != (undefined **)PTR_DAT_140155010)) && + (ppuVar1 = local_res18 + -1, ppuVar1 != (undefined **)0x0)) { + pppuVar7 = (undefined ***)FUN_140030200(pppuVar7,pIVar6,pIVar16,pppuVar15); + local_68 = pppuVar7; + FUN_14002e6e0((int *)pppuVar7); + local_60 = 1; + puVar5 = (uint *)((longlong)ppuVar9 + -4); + *puVar5 = *puVar5 - 1; + if (*puVar5 == 0) { + FUN_1400302f0(ppuVar1); + } + FUN_14002e770((longlong)pppuVar7); + param_2 = (uint *)local_res10; + } +LAB_1400a7d32: + while( true ) { + iVar13 = (int)uVar14; + if (iVar13 == local_c8._24_4_) { + FUN_140089980((undefined8 *)local_c8); + return; + } + if ((iVar13 < 0) || ((int)local_c8._24_4_ <= iVar13)) break; + pIVar16 = (IMAGE_DOS_HEADER *)(local_c8._16_8_ + (longlong)iVar13 * 0x48); + pIVar16->e_program[0] = (byte)param_3[0x10]; + pppuVar7 = param_1; + pIVar6 = (IMAGE_DOS_HEADER *)param_2; + FUN_1400aa720((IMAGE_DOS_HEADER *)param_1,(IMAGE_DOS_HEADER *)param_2,pIVar16,pppuVar15); + if ((int)local_c8._24_4_ <= iVar13) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar7,pIVar6,pIVar16,pppuVar15); + } + uVar14 = (ulonglong)(iVar13 + 1); + } + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar7,pIVar6,pIVar16,pppuVar15); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a7de0.c b/decomp/Agent_Release_x64/full/functions/0x1400a7de0.c new file mode 100644 index 00000000..ae2aad83 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a7de0.c @@ -0,0 +1,346 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a7de0 FUN_1400a7de0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +void FUN_1400a7de0(undefined ***param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined **ppuVar1; + undefined8 *puVar2; + uint uVar3; + uint uVar4; + undefined8 uVar5; + ulonglong uVar6; + uint *puVar7; + longlong *plVar8; + undefined ***pppuVar9; + undefined **ppuVar10; + uint uVar11; + int iVar12; + ulonglong uVar13; + undefined8 uVar14; + undefined1 *puVar15; + IMAGE_DOS_HEADER *pIVar16; + IMAGE_DOS_HEADER *pIVar17; + undefined ***pppuVar18; + uint uVar19; + uint uVar20; + undefined1 auStackY_df8 [32]; + undefined **local_dc8; + ulonglong *local_dc0; + uint local_db8; + uint local_db4; + uint local_db0 [2]; + undefined1 *local_da8; + longlong local_da0 [4]; + longlong *local_d80; + undefined8 local_d78; + undefined4 local_d6c; + undefined1 local_d68 [88]; + undefined **local_d10; + byte local_d08 [32]; + undefined ***local_ce8; + undefined1 local_ce0; + longlong local_cd8 [2]; + undefined1 local_cc8 [3216]; + ulonglong local_38; + + local_cd8[1] = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStackY_df8; + (**(code **)(param_1[0x21][0xf] + 0x10))(); + uVar5 = FUN_140081090(param_2,local_db0,param_3,param_4); + if ((char)uVar5 == '\0') { + return; + } + uVar14 = 4; + uVar5 = FUN_140080600(param_2,(undefined8 *)&local_db4,4); + if ((char)uVar5 == '\0') { + return; + } + uVar6 = FUN_140080ca0(param_2,&local_da8,uVar14,param_4); + if ((char)uVar6 == '\0') { + return; + } + if ((int)(uint)local_da8 < 0) { + return; + } + if (DAT_140155140 <= (int)(uint)local_da8) { + return; + } + FUN_1400806d0((undefined4 *)(local_d68 + 0x28)); + uVar5 = FUN_140080930(param_2,(int *)(local_d68 + 0x28),(uint)local_da8,param_4); + if ((char)uVar5 == '\0') { + local_da8 = local_d68 + 0x30; + FUN_140095270((longlong *)(local_d68 + 0x30)); + if (local_d68._56_8_ == 0) { + return; + } + if (-1 < (int)local_d68._68_4_) { + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar6 = (ulonglong)local_db0[0]; + FUN_140070860((longlong *)param_1[0x21],(longlong *)&local_dc0,local_db0[0]); + if ((((local_dc0 == (ulonglong *)0x0) || (uVar13 = *local_dc0, uVar13 == 0)) || + (*(char *)(uVar13 + 0x684) != '\0')) || (*(char *)(uVar13 + 0x650) != '\0')) + goto LAB_1400a8320; + local_d78 = (**(code **)(param_1[0x21][0x11] + 0x18))(); + uVar13 = 0; + uVar19 = 0; + local_da0[3] = 0; + local_da0[2] = 0; + local_da0[1] = 0; + local_d80 = (longlong *)0x0; + local_da0[0] = 0; + uVar20 = 0; + local_d6c = 0; + FUN_140041760((longlong)local_cc8,(longlong)(local_d68 + 0x28),uVar6); + plVar8 = local_da0; + puVar15 = local_cc8; + uVar6 = (ulonglong)local_db4; + FUN_1400a2980(param_1[0x21][0x9c],uVar6,(SIZE_T)puVar15,(undefined4 *)plVar8); + FUN_140040950((longlong)local_cc8,uVar6,puVar15,plVar8); + local_d68._8_2_ = 0; + local_d68._10_2_ = 0; + local_d68._12_2_ = 0; + local_d68._14_2_ = 0; + local_d68._16_8_ = 0; + local_d68._24_2_ = 0; + local_d68._26_2_ = 0; + local_d68._28_2_ = 0; + local_d68._30_2_ = 0; + local_d68._0_8_ = Proud::CReceivedMessageList::vftable; + local_d68._32_2_ = 1000; + local_d68._34_2_ = 0; + local_d68._36_2_ = 1; + local_d68._38_2_ = 0; + uVar6 = uVar13; + if (local_dc0 != (ulonglong *)0x0) { + uVar6 = *local_dc0; + } + pppuVar9 = (undefined ***)(uVar6 + 0x638); + pppuVar18 = (undefined ***)&local_db8; + pIVar16 = (IMAGE_DOS_HEADER *)local_d68; + plVar8 = local_da0; + FUN_1400b8570((longlong)pppuVar9,plVar8,(longlong)pIVar16,(undefined4 *)pppuVar18); + if (local_db8 != 0) { + FUN_140030200(pppuVar9,plVar8,pIVar16,pppuVar18); + local_dc8 = (undefined **)PTR_DAT_140155010; + uVar3 = FUN_140030080(L"Stream Extract Error at Reliable UDP"); + uVar6 = uVar13; + if ((local_dc8 != (undefined **)0x0) && + (uVar6 = 0, local_dc8 != (undefined **)PTR_DAT_140155010)) { + uVar6 = (ulonglong)*(uint *)(local_dc8 + -1); + } + uVar4 = uVar3; + if ((((int)uVar3 <= (int)uVar6) && (uVar4 = uVar20, local_dc8 != (undefined **)0x0)) && + (local_dc8 != (undefined **)PTR_DAT_140155010)) { + uVar4 = *(uint *)(local_dc8 + -1); + } + uVar11 = 1; + if (1 < (int)uVar4) { + uVar11 = uVar4; + } + uVar4 = uVar20; + if ((local_dc8 != (undefined **)0x0) && (local_dc8 != (undefined **)PTR_DAT_140155010)) { + uVar4 = *(uint *)(local_dc8 + -1); + } + if ((int)uVar4 < (int)uVar11) { + if (local_dc8 == (undefined **)0x0) { + local_dc8 = (undefined **)PTR_DAT_140155010; + } + if ((int)uVar11 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar11 == 0) { + FUN_140003240((longlong *)&local_dc8,PTR_DAT_140155010,uVar6,pppuVar18); + } + else { + uVar4 = uVar20; + if ((local_dc8 != (undefined **)0x0) && (local_dc8 != (undefined **)PTR_DAT_140155010)) { + uVar4 = *(uint *)(local_dc8 + -1); + } + if (uVar11 != uVar4) { + puVar7 = (uint *)FUN_140030280((longlong)(int)uVar11 * 2 + 10); + if (puVar7 != (uint *)0x0) { + *puVar7 = 0; + puVar7[1] = 1; + } + *puVar7 = uVar11; + uVar4 = uVar20; + if ((local_dc8 != (undefined **)0x0) && (local_dc8 != (undefined **)PTR_DAT_140155010)) { + uVar4 = *(uint *)(local_dc8 + -1); + } + ppuVar10 = (undefined **)PTR_DAT_140155010; + if ((int)uVar11 < (int)uVar4) { +LAB_1400a80ee: + if (local_dc8 != (undefined **)0x0) { + ppuVar10 = local_dc8; + } + } + else { + uVar11 = uVar20; + if (local_dc8 != (undefined **)0x0) { + if (local_dc8 != (undefined **)PTR_DAT_140155010) { + uVar11 = *(uint *)(local_dc8 + -1); + } + goto LAB_1400a80ee; + } + } + uVar6 = (ulonglong)uVar11; + FUN_1400300b0(puVar7 + 2,ppuVar10,uVar11); + FUN_140003240((longlong *)&local_dc8,ppuVar10,uVar6,pppuVar18); + local_dc8 = (undefined **)(puVar7 + 2); + } + } + } + FUN_140002ea0((longlong *)&local_dc8); + ppuVar10 = local_dc8; + if (local_dc8 == (undefined **)0x0) { + ppuVar10 = (undefined **)PTR_DAT_140155010; + } + FUN_1400300b0(ppuVar10,L"Stream Extract Error at Reliable UDP",uVar3); + ppuVar10 = local_dc8; + if (local_dc8 == (undefined **)0x0) { + ppuVar10 = (undefined **)PTR_DAT_140155010; + } + uVar3 = FUN_140030080((short *)ppuVar10); + uVar20 = uVar19; + if (0 < (int)uVar3) { + uVar20 = uVar3; + } + uVar3 = uVar19; + if ((local_dc8 != (undefined **)0x0) && (local_dc8 != (undefined **)PTR_DAT_140155010)) { + uVar3 = *(uint *)(local_dc8 + -1); + } + if (((int)uVar20 < (int)uVar3) || (uVar20 = uVar19, local_dc8 == (undefined **)0x0)) { +LAB_1400a818a: + if (((local_dc8 != (undefined **)PTR_DAT_140155010) && (local_dc8 != (undefined **)0x0)) && + (local_dc8 + -1 != (undefined **)0x0)) { + *(uint *)(local_dc8 + -1) = uVar20; + *(undefined2 *)((longlong)local_dc8 + (longlong)(int)uVar20 * 2) = 0; + } + } + else if (local_dc8 != (undefined **)PTR_DAT_140155010) { + uVar20 = *(uint *)(local_dc8 + -1); + goto LAB_1400a818a; + } + local_d08[0] = 0; + local_d08[1] = 0; + local_d08[2] = 0; + local_d08[3] = 0; + local_d08[4] = 0; + local_d08[5] = 0; + local_d08[6] = 0; + local_d08[7] = 0; + local_d08[8] = 0; + local_d08[9] = 0; + local_d08[10] = 0; + local_d08[0xb] = 0; + local_d08[0xc] = 0; + local_d08[0xd] = 0; + local_d08[0xe] = 0; + local_d08[0xf] = 0; + local_d08[0x10] = 0; + local_d08[0x11] = 0; + local_d08[0x12] = 0; + local_d08[0x13] = 0; + local_d08[0x14] = 0; + local_d08[0x15] = 0; + local_d08[0x16] = 0; + local_d08[0x17] = 0; + local_d08[0x18] = 0; + local_d08[0x19] = 0; + local_d08[0x1a] = 0; + local_d08[0x1b] = 0; + local_d08[0x1c] = 0; + local_d08[0x1d] = 0; + local_d08[0x1e] = 0; + local_d08[0x1f] = 0; + local_d10 = Proud::ByteArray::vftable; + uVar6 = uVar13; + if (local_dc0 != (ulonglong *)0x0) { + uVar6 = *local_dc0; + } + pppuVar18 = &local_dc8; + plVar8 = FUN_14003c120(local_cd8,(ulonglong)local_db8,(ulonglong)*(uint *)(uVar6 + 0x56c), + (longlong *)pppuVar18,(longlong)&local_d10); + pIVar16 = (IMAGE_DOS_HEADER *)*param_1[0x21]; + (**(code **)(pIVar16 + 1))(); + pppuVar9 = &local_d10; + FUN_14003b870(pppuVar9); + ppuVar10 = local_dc8; + if (((local_dc8 != (undefined **)0x0) && (local_dc8 != (undefined **)PTR_DAT_140155010)) && + (ppuVar1 = local_dc8 + -1, ppuVar1 != (undefined **)0x0)) { + pppuVar9 = (undefined ***)FUN_140030200(pppuVar9,plVar8,pIVar16,pppuVar18); + local_ce8 = pppuVar9; + FUN_14002e6e0((int *)pppuVar9); + local_ce0 = 1; + puVar7 = (uint *)((longlong)ppuVar10 + -4); + *puVar7 = *puVar7 - 1; + if (*puVar7 == 0) { + FUN_1400302f0(ppuVar1); + } + FUN_14002e770((longlong)pppuVar9); + local_ce0 = 0; + } + local_dc8 = (undefined **)PTR_DAT_140155010; + } + while (iVar12 = (int)uVar13, iVar12 != local_d68._24_4_) { + if ((iVar12 < 0) || ((int)local_d68._24_4_ <= iVar12)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar9,plVar8,pIVar16,pppuVar18); + } + pIVar17 = (IMAGE_DOS_HEADER *)(local_d68._16_8_ + (longlong)iVar12 * 0x48); + pIVar17->e_program[0] = 1; + FUN_1400802d0((int *)pIVar17,0,pIVar16,pppuVar18); + plVar8 = (longlong *)0x0; + pppuVar9 = param_1; + FUN_1400aa720((IMAGE_DOS_HEADER *)param_1,(IMAGE_DOS_HEADER *)0x0,pIVar17,pppuVar18); + if ((int)local_d68._24_4_ <= iVar12) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar9,plVar8,pIVar17,pppuVar18); + } + pIVar16 = pIVar17; + uVar13 = (ulonglong)(iVar12 + 1); + } + FUN_140089980((undefined8 *)local_d68); + if (local_d80 != (longlong *)0x0) { + plVar8 = local_d80 + 1; + *plVar8 = *plVar8 + -1; + if (*plVar8 == 0) { + FUN_140043d50((longlong)&local_d80,local_d80); + } + } + local_d68._80_8_ = local_da0 + 1; + FUN_140095270(local_da0 + 1); + if (local_da0[2] != 0) { + if (local_da0[3] < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_da0[3] = local_da0[3] & 0xffffffff00000000; + } +LAB_1400a8320: + if ((local_dc0 != (ulonglong *)0x0) && (local_dc0[1] = local_dc0[1] - 1, local_dc0[1] == 0)) { + puVar2 = (undefined8 *)*local_dc0; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(local_dc0); + } + local_d68._80_8_ = local_d68 + 0x30; + FUN_140095270((longlong *)(local_d68 + 0x30)); + if ((local_d68._56_8_ != 0) && ((int)local_d68._68_4_ < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a83b0.c b/decomp/Agent_Release_x64/full/functions/0x1400a83b0.c new file mode 100644 index 00000000..88ebf662 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a83b0.c @@ -0,0 +1,421 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a83b0 FUN_1400a83b0 + * Pseudocode, not original source. */ + +void FUN_1400a83b0(undefined ***param_1,longlong *param_2,uint *param_3,undefined8 param_4) + +{ + undefined **ppuVar1; + longlong lVar2; + undefined8 *puVar3; + uint uVar4; + uint uVar5; + undefined8 uVar6; + ulonglong uVar7; + uint *puVar8; + longlong *plVar9; + undefined **ppuVar10; + undefined ***pppuVar11; + void *pvVar12; + longlong **pplVar13; + int iVar14; + void *pvVar15; + uint uVar16; + undefined8 uVar17; + SIZE_T SVar18; + IMAGE_DOS_HEADER *pIVar19; + void *_Dst; + undefined ***pppuVar20; + uint uVar21; + uint uVar22; + undefined **local_res18; + uint local_res20 [2]; + undefined **local_128; + longlong *local_120; + undefined4 local_118; + undefined4 local_114; + undefined2 *local_110; + void *local_108; + undefined8 local_100; + longlong *local_f8; + undefined8 local_f0; + undefined4 local_e4; + undefined4 local_e0 [2]; + int local_d8 [2]; + undefined *local_d0; + void *local_c8; + uint local_c0; + int local_bc; + undefined1 local_b0 [48]; + undefined **local_80; + undefined8 local_78; + byte local_70 [24]; + undefined ***local_58; + byte local_50; + longlong local_48; + undefined2 **local_40; + byte local_38 [16]; + + local_38[0] = 0xfe; + local_38[1] = 0xff; + local_38[2] = 0xff; + local_38[3] = 0xff; + local_38[4] = 0xff; + local_38[5] = 0xff; + local_38[6] = 0xff; + local_38[7] = 0xff; + if (param_3[10] != 1) { + return; + } + puVar8 = param_3; + (**(code **)(param_1[0x21][0xf] + 0x10))(); + uVar6 = FUN_140081090(param_3,local_res20,puVar8,param_4); + if ((char)uVar6 == '\0') { + return; + } + uVar17 = 4; + uVar6 = FUN_140080600(param_3,(undefined8 *)local_e0,4); + if ((char)uVar6 == '\0') { + return; + } + uVar7 = FUN_140080ca0(param_3,(undefined8 *)(local_b0 + 0x28),uVar17,param_4); + if ((char)uVar7 == '\0') { + return; + } + if ((int)local_b0._40_4_ < 0) { + return; + } + if (DAT_140155140 <= (int)local_b0._40_4_) { + return; + } + FUN_1400806d0(local_d8); + uVar6 = FUN_140080930(param_3,local_d8,local_b0._40_4_,param_4); + if ((char)uVar6 == '\0') { + local_res18 = &local_d0; + FUN_140095270((longlong *)&local_d0); + if (local_c8 == (void *)0x0) { + return; + } + if (-1 < local_bc) { + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + SVar18 = (SIZE_T)local_res20[0]; + pplVar13 = &local_120; + FUN_140070860((longlong *)param_1[0x21],(longlong *)pplVar13,local_res20[0]); + if ((((local_120 == (longlong *)0x0) || (lVar2 = *local_120, lVar2 == 0)) || + (*(char *)(lVar2 + 0x684) != '\0')) || (*(char *)(lVar2 + 0x650) != '\0')) goto LAB_1400a89b9; + ppuVar10 = param_1[0x21] + 0x11; + local_f0 = (**(code **)(*ppuVar10 + 0x18))(); + pvVar15 = (void *)0x0; + uVar21 = 0; + local_100 = 0; + local_108 = (void *)0x0; + local_110 = (undefined2 *)0x0; + local_f8 = (longlong *)0x0; + uVar22 = 0; + local_e4 = 0; + local_118 = 1; + local_114 = local_e0[0]; + local_110 = FUN_1400952b0(ppuVar10,pplVar13,SVar18); + *(undefined8 *)(local_110 + 0x14) = 1; + if (local_d0 == (undefined *)0x0) { + uVar4 = local_c0; + if (local_c8 == (void *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(ppuVar10,0,SVar18,param_4); + } + } + else { + uVar4 = *(uint *)(local_d0 + 0x18); + } + if ((int)uVar4 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (local_108 == (void *)0x0) { + if ((int)uVar4 < 1) { + if (local_110 == (undefined2 *)0x0) goto LAB_1400a85c5; + uVar4 = 0; + } + else if (local_110 == (undefined2 *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370((ulonglong)uVar4,local_c8,SVar18,0); + } + FUN_14001bc70((longlong)local_110,uVar4,SVar18); + } + else { + if (local_100._4_4_ < (int)uVar4) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_100 = CONCAT44(local_100._4_4_,uVar4); + } +LAB_1400a85c5: + if (local_d0 == (undefined *)0x0) { + if (local_c8 == (void *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(local_110,0,SVar18,local_108); + } + } + else { + local_c0 = *(uint *)(local_d0 + 0x18); + } + pvVar12 = local_c8; + if (local_c8 == (void *)0x0) { + if (local_d0 == (undefined *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(local_110,0,(ulonglong)local_c0,local_108); + } + pvVar12 = pvVar15; + if (*(int *)(local_d0 + 0x18) != 0) { + pvVar12 = *(void **)(local_d0 + 0x10); + } + } + _Dst = local_108; + if (local_108 == (void *)0x0) { + if (local_110 == (undefined2 *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,pvVar12,(ulonglong)local_c0,0); + } + _Dst = pvVar15; + if (*(int *)(local_110 + 0xc) != 0) { + _Dst = *(void **)(local_110 + 8); + } + } + memcpy(_Dst,pvVar12,(longlong)(int)local_c0); + local_b0._8_2_ = 0; + local_b0._10_2_ = 0; + local_b0._12_2_ = 0; + local_b0._14_2_ = 0; + local_b0._16_8_ = 0; + local_b0._24_2_ = 0; + local_b0._26_2_ = 0; + local_b0._28_2_ = 0; + local_b0._30_2_ = 0; + local_b0._0_8_ = Proud::CReceivedMessageList::vftable; + local_b0._32_2_ = 1000; + local_b0._34_2_ = 0; + local_b0._36_2_ = 1; + local_b0._38_2_ = 0; + pvVar12 = pvVar15; + if (local_120 != (longlong *)0x0) { + pvVar12 = (void *)*local_120; + } + pppuVar11 = (undefined ***)((longlong)pvVar12 + 0x638); + pppuVar20 = &local_res18; + pIVar19 = (IMAGE_DOS_HEADER *)local_b0; + plVar9 = (longlong *)&local_118; + FUN_1400b8570((longlong)pppuVar11,plVar9,(longlong)pIVar19,(undefined4 *)pppuVar20); + if ((int)local_res18 != 0) { + FUN_140030200(pppuVar11,plVar9,pIVar19,pppuVar20); + local_128 = (undefined **)PTR_DAT_140155010; + uVar4 = FUN_140030080(L"Stream Extract Error at Reliable UDP"); + pvVar12 = pvVar15; + if ((local_128 != (undefined **)0x0) && + (pvVar12 = (void *)0x0, local_128 != (undefined **)PTR_DAT_140155010)) { + pvVar12 = (void *)(ulonglong)*(uint *)(local_128 + -1); + } + uVar5 = uVar4; + if ((((int)uVar4 <= (int)pvVar12) && (uVar5 = uVar22, local_128 != (undefined **)0x0)) && + (local_128 != (undefined **)PTR_DAT_140155010)) { + uVar5 = *(uint *)(local_128 + -1); + } + uVar16 = 1; + if (1 < (int)uVar5) { + uVar16 = uVar5; + } + uVar5 = uVar22; + if ((local_128 != (undefined **)0x0) && (local_128 != (undefined **)PTR_DAT_140155010)) { + uVar5 = *(uint *)(local_128 + -1); + } + if ((int)uVar5 < (int)uVar16) { + if (local_128 == (undefined **)0x0) { + local_128 = (undefined **)PTR_DAT_140155010; + } + if ((int)uVar16 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar16 == 0) { + FUN_140003240((longlong *)&local_128,PTR_DAT_140155010,pvVar12,pppuVar20); + } + else { + uVar5 = uVar22; + if ((local_128 != (undefined **)0x0) && (local_128 != (undefined **)PTR_DAT_140155010)) { + uVar5 = *(uint *)(local_128 + -1); + } + if (uVar16 != uVar5) { + puVar8 = (uint *)FUN_140030280((longlong)(int)uVar16 * 2 + 10); + if (puVar8 != (uint *)0x0) { + *puVar8 = 0; + puVar8[1] = 1; + } + *puVar8 = uVar16; + uVar5 = uVar22; + if ((local_128 != (undefined **)0x0) && (local_128 != (undefined **)PTR_DAT_140155010)) { + uVar5 = *(uint *)(local_128 + -1); + } + ppuVar10 = (undefined **)PTR_DAT_140155010; + if ((int)uVar16 < (int)uVar5) { +LAB_1400a8775: + if (local_128 != (undefined **)0x0) { + ppuVar10 = local_128; + } + } + else { + uVar16 = uVar22; + if (local_128 != (undefined **)0x0) { + if (local_128 != (undefined **)PTR_DAT_140155010) { + uVar16 = *(uint *)(local_128 + -1); + } + goto LAB_1400a8775; + } + } + uVar7 = (ulonglong)uVar16; + FUN_1400300b0(puVar8 + 2,ppuVar10,uVar16); + FUN_140003240((longlong *)&local_128,ppuVar10,uVar7,pppuVar20); + local_128 = (undefined **)(puVar8 + 2); + } + } + } + FUN_140002ea0((longlong *)&local_128); + ppuVar10 = local_128; + if (local_128 == (undefined **)0x0) { + ppuVar10 = (undefined **)PTR_DAT_140155010; + } + FUN_1400300b0(ppuVar10,L"Stream Extract Error at Reliable UDP",uVar4); + ppuVar10 = local_128; + if (local_128 == (undefined **)0x0) { + ppuVar10 = (undefined **)PTR_DAT_140155010; + } + uVar4 = FUN_140030080((short *)ppuVar10); + uVar22 = uVar21; + if (0 < (int)uVar4) { + uVar22 = uVar4; + } + uVar4 = uVar21; + if ((local_128 != (undefined **)0x0) && (local_128 != (undefined **)PTR_DAT_140155010)) { + uVar4 = *(uint *)(local_128 + -1); + } + if (((int)uVar22 < (int)uVar4) || (uVar22 = uVar21, local_128 == (undefined **)0x0)) { +LAB_1400a8811: + if (((local_128 != (undefined **)PTR_DAT_140155010) && (local_128 != (undefined **)0x0)) && + (local_128 + -1 != (undefined **)0x0)) { + *(uint *)(local_128 + -1) = uVar22; + *(undefined2 *)((longlong)local_128 + (longlong)(int)uVar22 * 2) = 0; + } + } + else if (local_128 != (undefined **)PTR_DAT_140155010) { + uVar22 = *(uint *)(local_128 + -1); + goto LAB_1400a8811; + } + local_78._0_2_ = 0; + local_78._2_2_ = 0; + local_78._4_4_ = 0; + local_70[0] = 0; + local_70[1] = 0; + local_70[2] = 0; + local_70[3] = 0; + local_70[4] = 0; + local_70[5] = 0; + local_70[6] = 0; + local_70[7] = 0; + local_70[8] = 0; + local_70[9] = 0; + local_70[10] = 0; + local_70[0xb] = 0; + local_70[0xc] = 0; + local_70[0xd] = 0; + local_70[0xe] = 0; + local_70[0xf] = 0; + local_70[0x10] = 0; + local_70[0x11] = 0; + local_70[0x12] = 0; + local_70[0x13] = 0; + local_70[0x14] = 0; + local_70[0x15] = 0; + local_70[0x16] = 0; + local_70[0x17] = 0; + local_80 = Proud::ByteArray::vftable; + pvVar12 = pvVar15; + if (local_120 != (longlong *)0x0) { + pvVar12 = (void *)*local_120; + } + pppuVar20 = &local_128; + plVar9 = FUN_14003c120(&local_48,(ulonglong)local_res18 & 0xffffffff, + (ulonglong)*(uint *)((longlong)pvVar12 + 0x56c),(longlong *)pppuVar20, + (longlong)&local_80); + pIVar19 = (IMAGE_DOS_HEADER *)*param_1[0x21]; + (**(code **)(pIVar19 + 1))(); + pppuVar11 = &local_80; + FUN_14003b870(pppuVar11); + ppuVar10 = local_128; + if (((local_128 != (undefined **)0x0) && (local_128 != (undefined **)PTR_DAT_140155010)) && + (ppuVar1 = local_128 + -1, ppuVar1 != (undefined **)0x0)) { + pppuVar11 = (undefined ***)FUN_140030200(pppuVar11,plVar9,pIVar19,pppuVar20); + local_58 = pppuVar11; + FUN_14002e6e0((int *)pppuVar11); + local_50 = 1; + puVar8 = (uint *)((longlong)ppuVar10 + -4); + *puVar8 = *puVar8 - 1; + if (*puVar8 == 0) { + FUN_1400302f0(ppuVar1); + } + FUN_14002e770((longlong)pppuVar11); + local_50 = 0; + } + local_128 = (undefined **)PTR_DAT_140155010; + } + while (iVar14 = (int)pvVar15, iVar14 != local_b0._24_4_) { + if ((iVar14 < 0) || ((int)local_b0._24_4_ <= iVar14)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar11,plVar9,pIVar19,pppuVar20); + } + pIVar19 = (IMAGE_DOS_HEADER *)(local_b0._16_8_ + (longlong)iVar14 * 0x48); + pIVar19->e_program[0] = 1; + pppuVar11 = param_1; + plVar9 = param_2; + FUN_1400aa720((IMAGE_DOS_HEADER *)param_1,(IMAGE_DOS_HEADER *)param_2,pIVar19,pppuVar20); + if ((int)local_b0._24_4_ <= iVar14) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar11,plVar9,pIVar19,pppuVar20); + } + pvVar15 = (void *)(ulonglong)(iVar14 + 1); + } + FUN_140089980((undefined8 *)local_b0); + if (local_f8 != (longlong *)0x0) { + plVar9 = local_f8 + 1; + *plVar9 = *plVar9 + -1; + if (*plVar9 == 0) { + FUN_140043d50((longlong)&local_f8,local_f8); + } + } + local_40 = &local_110; + FUN_140095270((longlong *)&local_110); + if (local_108 != (void *)0x0) { + if ((longlong)local_100 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_100 = local_100 & 0xffffffff00000000; + } +LAB_1400a89b9: + if ((local_120 != (longlong *)0x0) && (local_120[1] = local_120[1] + -1, local_120[1] == 0)) { + puVar3 = (undefined8 *)*local_120; + if (puVar3 != (undefined8 *)0x0) { + (**(code **)*puVar3)(puVar3,1); + } + FUN_1400302f0(local_120); + } + local_res18 = &local_d0; + FUN_140095270((longlong *)&local_d0); + if ((local_c8 != (void *)0x0) && (local_bc < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a8a40.c b/decomp/Agent_Release_x64/full/functions/0x1400a8a40.c new file mode 100644 index 00000000..656dd563 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a8a40.c @@ -0,0 +1,231 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a8a40 FUN_1400a8a40 + * Pseudocode, not original source. */ + +void FUN_1400a8a40(longlong param_1,undefined8 param_2,undefined *param_3,undefined ***param_4) + +{ + undefined **ppuVar1; + int *piVar2; + ushort uVar3; + undefined4 uVar4; + uint uVar5; + uint uVar6; + int iVar7; + uint uVar8; + longlong lVar9; + uint *puVar10; + longlong *plVar11; + int *piVar12; + int iVar13; + ulonglong uVar14; + undefined **ppuVar15; + undefined ***pppuVar16; + ulonglong uVar17; + uint uVar18; + int iVar19; + double dVar20; + undefined8 uVar21; + undefined **local_res8; + undefined *local_res10; + longlong local_res18; + undefined **local_50; + undefined8 local_48; + undefined8 local_40; + undefined8 local_38; + undefined8 local_30; + + lVar9 = *(longlong *)(param_1 + 0x108); + if ((*(char *)(lVar9 + 0x1790) != '\0') || (*(int *)(lVar9 + 0x6c8) != 0)) { + param_3 = &DAT_14010b9a8; + param_2 = 0; + FUN_140072eb0(lVar9,0,L"클라이언트 NetWorker thread 시작",param_4); + } + lVar9 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + uVar17 = 0; + iVar19 = 0; + uVar14 = uVar17; + if (*(ulonglong **)(lVar9 + 0x128) != (ulonglong *)0x0) { + uVar14 = **(ulonglong **)(lVar9 + 0x128); + } + uVar4 = FUN_140037510(uVar14,param_2,param_3,param_4); + uVar8 = 0; + if ((char)uVar4 != '\0') { + lVar9 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + FUN_1400b2b10(lVar9,param_2,param_3,param_4); + dVar20 = FUN_14003a420((char *)(*(longlong *)(param_1 + 0x108) + 0x1620)); + *(double *)(param_1 + 200) = dVar20; + lVar9 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + uVar14 = uVar17; + if (*(ulonglong **)(lVar9 + 0x128) != (ulonglong *)0x0) { + uVar14 = **(ulonglong **)(lVar9 + 0x128); + } + FUN_140034b70(uVar14); + lVar9 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + uVar14 = uVar17; + if (*(ulonglong **)(lVar9 + 0x128) != (ulonglong *)0x0) { + uVar14 = **(ulonglong **)(lVar9 + 0x128); + } + FUN_140034b80(uVar14,0); + lVar9 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + uVar14 = uVar17; + if (*(ulonglong **)(lVar9 + 0x128) != (ulonglong *)0x0) { + uVar14 = **(ulonglong **)(lVar9 + 0x128); + } + uVar21 = 0; + FUN_140034c70(uVar14,'\0'); + local_res8 = &local_res10; + lVar9 = *(longlong *)(param_1 + 0x108); + FUN_140030200(uVar14,uVar21,param_3,param_4); + local_res10 = PTR_DAT_140155010; + FUN_140003170((longlong *)&local_res10,(longlong *)(lVar9 + 0x1588),param_3,param_4); + lVar9 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + if (*(ulonglong **)(lVar9 + 0x128) != (ulonglong *)0x0) { + uVar17 = **(ulonglong **)(lVar9 + 0x128); + } + uVar3 = *(ushort *)(*(longlong *)(param_1 + 0x108) + 0x1590); + uVar14 = (ulonglong)uVar3; + uVar8 = FUN_140035e90(uVar17,(longlong *)&local_res10,uVar3,param_4); + if ((uVar8 == 0) || (uVar8 == 0x2733)) { + if (0 < *(int *)(param_1 + 0x100)) { + return; + } + *(undefined4 *)(param_1 + 0x40) = 0; + *(undefined4 *)(param_1 + 0x100) = 1; + uVar21 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x70) + 0x1c0))(); + *(undefined8 *)(param_1 + 0x80) = uVar21; + *(undefined1 *)(param_1 + 0xc0) = 0; + return; + } + goto LAB_1400a8d0d; + } + FUN_140030200(uVar14,param_2,param_3,param_4); + local_res8 = (undefined **)PTR_DAT_140155010; + uVar5 = FUN_140030080(L"Cannot bind TCP socket to a local address!"); + if ((local_res8 != (undefined **)0x0) && + (uVar17 = 0, local_res8 != (undefined **)PTR_DAT_140155010)) { + uVar17 = (ulonglong)*(uint *)(local_res8 + -1); + } + uVar6 = uVar5; + if ((((int)uVar5 <= (int)uVar17) && (uVar6 = uVar8, local_res8 != (undefined **)0x0)) && + (local_res8 != (undefined **)PTR_DAT_140155010)) { + uVar6 = *(uint *)(local_res8 + -1); + } + uVar18 = 1; + if (1 < (int)uVar6) { + uVar18 = uVar6; + } + uVar6 = uVar8; + if ((local_res8 != (undefined **)0x0) && (local_res8 != (undefined **)PTR_DAT_140155010)) { + uVar6 = *(uint *)(local_res8 + -1); + } + if ((int)uVar6 < (int)uVar18) { + if (local_res8 == (undefined **)0x0) { + local_res8 = (undefined **)PTR_DAT_140155010; + } + if ((int)uVar18 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar18 == 0) { + FUN_140003240((longlong *)&local_res8,PTR_DAT_140155010,uVar17,param_4); + } + else { + uVar6 = uVar8; + if ((local_res8 != (undefined **)0x0) && (local_res8 != (undefined **)PTR_DAT_140155010)) { + uVar6 = *(uint *)(local_res8 + -1); + } + if (uVar18 != uVar6) { + puVar10 = (uint *)FUN_140030280((longlong)(int)uVar18 * 2 + 10); + if (puVar10 != (uint *)0x0) { + *puVar10 = 0; + puVar10[1] = 1; + } + *puVar10 = uVar18; + uVar6 = uVar8; + if ((local_res8 != (undefined **)0x0) && (local_res8 != (undefined **)PTR_DAT_140155010)) { + uVar6 = *(uint *)(local_res8 + -1); + } + ppuVar15 = (undefined **)PTR_DAT_140155010; + if ((int)uVar18 < (int)uVar6) { +LAB_1400a8bb3: + if (local_res8 != (undefined **)0x0) { + ppuVar15 = local_res8; + } + } + else { + uVar18 = uVar8; + if (local_res8 != (undefined **)0x0) { + if (local_res8 != (undefined **)PTR_DAT_140155010) { + uVar18 = *(uint *)(local_res8 + -1); + } + goto LAB_1400a8bb3; + } + } + uVar17 = (ulonglong)uVar18; + FUN_1400300b0(puVar10 + 2,ppuVar15,uVar18); + FUN_140003240((longlong *)&local_res8,ppuVar15,uVar17,param_4); + local_res8 = (undefined **)(puVar10 + 2); + } + } + } + FUN_140002ea0((longlong *)&local_res8); + ppuVar15 = local_res8; + if (local_res8 == (undefined **)0x0) { + ppuVar15 = (undefined **)PTR_DAT_140155010; + } + FUN_1400300b0(ppuVar15,L"Cannot bind TCP socket to a local address!",uVar5); + ppuVar15 = local_res8; + if (local_res8 == (undefined **)0x0) { + ppuVar15 = (undefined **)PTR_DAT_140155010; + } + iVar7 = FUN_140030080((short *)ppuVar15); + iVar13 = iVar19; + if (0 < iVar7) { + iVar13 = iVar7; + } + iVar7 = iVar19; + if ((local_res8 != (undefined **)0x0) && (local_res8 != (undefined **)PTR_DAT_140155010)) { + iVar7 = *(int *)(local_res8 + -1); + } + if ((iVar13 < iVar7) || (iVar13 = iVar19, local_res8 == (undefined **)0x0)) { +LAB_1400a8c49: + if (((local_res8 != (undefined **)PTR_DAT_140155010) && (local_res8 != (undefined **)0x0)) && + (local_res8 + -1 != (undefined **)0x0)) { + *(int *)(local_res8 + -1) = iVar13; + *(undefined2 *)((longlong)local_res8 + (longlong)iVar13 * 2) = 0; + } + } + else if (local_res8 != (undefined **)PTR_DAT_140155010) { + iVar13 = *(int *)(local_res8 + -1); + goto LAB_1400a8c49; + } + local_48 = 0; + local_40 = 0; + local_38 = 0; + local_30 = 0; + local_50 = Proud::ByteArray::vftable; + param_4 = &local_res8; + plVar11 = FUN_14003c120(&local_res18,3,0,(longlong *)param_4,(longlong)&local_50); + uVar14 = **(ulonglong **)(param_1 + 0x108); + (**(code **)(uVar14 + 0x80))(); + pppuVar16 = &local_50; + FUN_14003b870(pppuVar16); + ppuVar15 = local_res8; + if (((local_res8 != (undefined **)0x0) && (local_res8 != (undefined **)PTR_DAT_140155010)) && + (ppuVar1 = local_res8 + -1, ppuVar1 != (undefined **)0x0)) { + piVar12 = (int *)FUN_140030200(pppuVar16,plVar11,uVar14,param_4); + FUN_14002e6e0(piVar12); + piVar2 = (int *)((longlong)ppuVar15 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppuVar1); + } + FUN_14002e770((longlong)piVar12); + } + uVar8 = Ordinal_111(); +LAB_1400a8d0d: + FUN_1400a3a70(param_1,uVar8,uVar14,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a8e90.c b/decomp/Agent_Release_x64/full/functions/0x1400a8e90.c new file mode 100644 index 00000000..eb30b812 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a8e90.c @@ -0,0 +1,104 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a8e90 FUN_1400a8e90 + * Pseudocode, not original source. */ + +void FUN_1400a8e90(undefined8 *param_1,longlong *param_2,uint *param_3,undefined8 param_4) + +{ + longlong *plVar1; + void *pvVar2; + undefined8 *puVar3; + longlong lVar4; + undefined8 *puVar5; + + *param_1 = Proud::CNetClientManager::vftable; + param_1[1] = Proud::CNetClientManager::vftable; + if (param_1[0x56] != 0) { + FUN_1400adb10(param_1[0x56],(longlong)param_2,(longlong)param_3,param_4); + FUN_1400adc30(param_1[0x56],param_2,param_3,param_4); + } + plVar1 = (longlong *)param_1[0x52]; + if ((plVar1 != (longlong *)0x0) && (*plVar1 != 0)) { + if (plVar1 == (longlong *)0x0) { + lVar4 = 0; + } + else { + lVar4 = *plVar1; + } + FUN_1400bfdd0(lVar4,param_2,param_3,param_4); + lVar4 = 0; + if ((longlong *)param_1[0x52] != (longlong *)0x0) { + lVar4 = *(longlong *)param_1[0x52]; + } + FUN_1400c05c0(lVar4); + } + *(undefined1 *)(param_1 + 0x10) = 1; + if ((undefined8 *)param_1[0xf] == (undefined8 *)0x0) { + puVar5 = (undefined8 *)0x0; + } + else { + puVar5 = *(undefined8 **)param_1[0xf]; + } + FUN_1400375f0(puVar5); + pvVar2 = (void *)param_1[0x57]; + if (pvVar2 != (void *)0x0) { + FUN_140039850((longlong)pvVar2,param_2,(longlong *)param_3,param_4); + operator_delete(pvVar2); + } + param_1[0x57] = 0; + timeKillEvent(*(UINT *)(param_1 + 0x4c)); + puVar5 = (undefined8 *)param_1[0x56]; + if (puVar5 != (undefined8 *)0x0) { + FUN_1400b08b0(puVar5,param_2,(longlong *)param_3,param_4); + operator_delete(puVar5); + } + param_1[0x56] = 0; + FUN_140072110(param_1 + 0x45); + pvVar2 = (void *)param_1[0x57]; + if (pvVar2 != (void *)0x0) { + FUN_140039850((longlong)pvVar2,param_2,(longlong *)param_3,param_4); + operator_delete(pvVar2); + } + param_1[0x57] = 0; + puVar5 = (undefined8 *)param_1[0x56]; + if (puVar5 != (undefined8 *)0x0) { + FUN_1400b08b0(puVar5,param_2,(longlong *)param_3,param_4); + operator_delete(puVar5); + } + FUN_1400a3e90(param_1 + 0x53); + if ((param_1[0x52] != 0) && + (*(longlong *)(param_1[0x52] + 8) = *(longlong *)(param_1[0x52] + 8) + -1, + *(longlong *)(param_1[0x52] + 8) == 0)) { + plVar1 = (longlong *)param_1[0x52]; + puVar5 = (undefined8 *)*plVar1; + if (puVar5 != (undefined8 *)0x0) { + param_2 = (longlong *)0x1; + (**(code **)*puVar5)(); + } + FUN_1400302f0(plVar1); + } + FUN_140072110(param_1 + 0x45); + if ((undefined8 *)param_1[0x45] != (undefined8 *)0x0) { + param_2 = (longlong *)0x1; + (*(code *)**(undefined8 **)param_1[0x45])(); + } + FUN_1400395f0(param_1 + 0x41); + FUN_14002e7a0((undefined4 *)(param_1 + 0x39),param_2,param_3,param_4); + FUN_14002e7a0((undefined4 *)(param_1 + 0x11),param_2,param_3,param_4); + if ((param_1[0xf] != 0) && + (*(longlong *)(param_1[0xf] + 8) = *(longlong *)(param_1[0xf] + 8) + -1, + *(longlong *)(param_1[0xf] + 8) == 0)) { + puVar5 = (undefined8 *)param_1[0xf]; + puVar3 = (undefined8 *)*puVar5; + if (puVar3 != (undefined8 *)0x0) { + FUN_140037670(puVar3); + operator_delete(puVar3); + } + FUN_1400302f0(puVar5); + } + FUN_14002e7a0((undefined4 *)(param_1 + 2),param_2,param_3,param_4); + param_1[1] = Proud::ISendSpeedMeasurerDg::vftable; + *param_1 = Proud::ICompletionPortEventSink::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a9100.c b/decomp/Agent_Release_x64/full/functions/0x1400a9100.c new file mode 100644 index 00000000..23b11144 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a9100.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a9100 FUN_1400a9100 + * Pseudocode, not original source. */ + +void FUN_1400a9100(longlong param_1,longlong *param_2,uint *param_3,undefined8 param_4) + +{ + FUN_1400a92d0((undefined8 *)(param_1 + -8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a9110.c b/decomp/Agent_Release_x64/full/functions/0x1400a9110.c new file mode 100644 index 00000000..f6010415 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a9110.c @@ -0,0 +1,45 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a9110 FUN_1400a9110 + * Pseudocode, not original source. */ + +void FUN_1400a9110(longlong param_1,longlong *param_2) + +{ + char cVar1; + undefined8 *puVar2; + longlong *plVar3; + longlong *plVar4; + + plVar4 = (longlong *)0x0; + plVar3 = plVar4; + if ((undefined8 *)*param_2 != (undefined8 *)0x0) { + plVar3 = *(longlong **)*param_2; + } + cVar1 = (**(code **)(*plVar3 + 0x10))(); + if (cVar1 == '\0') { + if ((undefined8 *)*param_2 != (undefined8 *)0x0) { + plVar4 = *(longlong **)*param_2; + } + (**(code **)(*plVar4 + 8))(plVar4); + } + puVar2 = FUN_140072250((longlong *)(param_1 + 0x228),param_2,*(undefined8 *)(param_1 + 0x238),0); + if (*(undefined8 **)(param_1 + 0x238) == (undefined8 *)0x0) { + *(undefined8 **)(param_1 + 0x230) = puVar2; + } + else { + **(undefined8 **)(param_1 + 0x238) = puVar2; + } + *(undefined8 **)(param_1 + 0x238) = puVar2; + if ((*param_2 != 0) && + (*(longlong *)(*param_2 + 8) = *(longlong *)(*param_2 + 8) + -1, + *(longlong *)(*param_2 + 8) == 0)) { + plVar4 = (longlong *)*param_2; + puVar2 = (undefined8 *)*plVar4; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(plVar4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a91f0.c b/decomp/Agent_Release_x64/full/functions/0x1400a91f0.c new file mode 100644 index 00000000..06a5eba5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a91f0.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a91f0 FUN_1400a91f0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400a92af) */ +/* WARNING: Removing unreachable block (ram,0x0001400a92ba) */ +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400a91f0(longlong param_1) + +{ + longlong *plVar1; + longlong lVar2; + longlong *plVar3; + + if (*(double *)(param_1 + 0xc0) - *(double *)(param_1 + 0x248) <= _DAT_1401551c0) { + return; + } + *(double *)(param_1 + 0x248) = *(double *)(param_1 + 0xc0); + plVar3 = *(longlong **)(param_1 + 0x230); + do { + while( true ) { + if (plVar3 == (longlong *)0x0) { + return; + } + lVar2 = 0; + if ((longlong *)plVar3[2] != (longlong *)0x0) { + lVar2 = *(longlong *)plVar3[2]; + } + if (*(char *)(lVar2 + 0x80) == '\0') break; +LAB_1400a92aa: + plVar3 = (longlong *)*plVar3; + } + lVar2 = 0; + if ((longlong *)plVar3[2] != (longlong *)0x0) { + lVar2 = *(longlong *)plVar3[2]; + } + if (*(char *)(lVar2 + 0x40) != '\0') goto LAB_1400a92aa; + plVar1 = (longlong *)*plVar3; + FUN_1400721e0((longlong *)(param_1 + 0x228),plVar3); + plVar3 = plVar1; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a92d0.c b/decomp/Agent_Release_x64/full/functions/0x1400a92d0.c new file mode 100644 index 00000000..04ba4b1e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a92d0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a92d0 FUN_1400a92d0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400a92d0(undefined8 *param_1,longlong *param_2,uint *param_3,undefined8 param_4) + +{ + FUN_1400a8e90(param_1,param_2,param_3,param_4); + if (((ulonglong)param_2 & 1) != 0) { + FUN_1400302f0(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a9300.c b/decomp/Agent_Release_x64/full/functions/0x1400a9300.c new file mode 100644 index 00000000..70f16be8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a9300.c @@ -0,0 +1,154 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a9300 FUN_1400a9300 + * Pseudocode, not original source. */ + +void FUN_1400a9300(longlong param_1,uint *param_2,undefined8 param_3,ulonglong param_4) + +{ + undefined8 *puVar1; + longlong lVar2; + longlong *plVar3; + longlong *plVar4; + ulonglong uVar5; + longlong *plVar6; + undefined8 uVar7; + longlong **pplVar8; + undefined4 *puVar9; + longlong *local_res8; + undefined4 local_128 [2]; + ulonglong local_120 [2]; + longlong local_110 [2]; + undefined **local_100; + undefined8 local_f8; + undefined8 local_f0; + undefined8 local_e8; + undefined8 local_e0; + longlong local_d8; + longlong local_d0; + ulonglong local_c8; + undefined4 local_b8; + undefined **local_b0; + undefined8 local_a8; + undefined8 local_a0; + undefined8 local_98; + undefined8 local_90; + undefined **local_80; + undefined4 local_78; + undefined2 local_74; + undefined **local_68; + undefined8 local_60; + undefined8 local_58; + undefined8 local_50; + undefined8 local_48; + longlong *local_38; + undefined1 local_30; + undefined8 local_28; + + local_28 = 0xfffffffffffffffe; + puVar1 = *(undefined8 **)(*(longlong *)(param_1 + 0x108) + 0x1570); + plVar4 = (longlong *)0x0; + plVar3 = plVar4; + if (puVar1 != (undefined8 *)0x0) { + plVar3 = (longlong *)*puVar1; + } + plVar3 = plVar3 + 1; + FUN_140064430(param_2,(undefined4 *)plVar3); + puVar1 = *(undefined8 **)(*(longlong *)(param_1 + 0x108) + 0x1570); + plVar6 = plVar4; + if (puVar1 != (undefined8 *)0x0) { + plVar6 = (longlong *)*puVar1; + } + uVar7 = CONCAT71((int7)((ulonglong)plVar3 >> 8),1); + FUN_1400ac730(plVar6,'\x01'); + local_120[0] = 0; + local_110[0] = 0; + local_110[1] = 0; + local_f8 = 0; + local_f0 = 0; + local_e8 = 0; + local_e0 = 0; + local_100 = Proud::ByteArray::vftable; + local_c8 = 0; + local_d0 = 0; + local_d8 = 0; + local_a8 = 0; + local_a0 = 0; + local_98 = 0; + local_90 = 0; + local_b0 = Proud::ByteArray::vftable; + local_80 = Proud::AddrPort::vftable; + local_78 = 0; + local_74 = 0; + local_60 = 0; + local_58 = 0; + local_50 = 0; + local_48 = 0; + local_68 = Proud::ByteArray::vftable; + local_res8 = (longlong *)FUN_140030280(0x60); + plVar3 = plVar4; + if (local_res8 != (longlong *)0x0) { + plVar3 = FUN_14003bef0(local_res8,uVar7,param_2,param_4); + } + if (plVar3 == (longlong *)0x0) { + local_res8 = (longlong *)0x0; + } + else { + plVar4 = (longlong *)FUN_140030280(0x48); + if (plVar4 != (longlong *)0x0) { + local_res8 = plVar4; + uVar5 = FUN_14002e790(); + param_2 = (uint *)CONCAT71((int7)((ulonglong)param_2 >> 8),1); + FUN_14002e600((undefined4 *)plVar4,uVar5 & 0xffffffff,param_2,param_4); + } + local_res8 = plVar4; + FUN_14002e6e0((int *)plVar4); + plVar4[8] = 1; + plVar4[7] = (longlong)plVar3; + FUN_14002e770((longlong)plVar4); + } + pplVar8 = &local_res8; + FUN_14003bff0(local_120,(ulonglong *)pplVar8,param_2,param_4); + if (plVar4 != (longlong *)0x0) { + local_38 = plVar4; + FUN_14002e6e0((int *)plVar4); + local_30 = 1; + plVar3 = plVar4 + 8; + *plVar3 = *plVar3 + -1; + if (*plVar3 == 0) { + FUN_14002e770((longlong)plVar4); + local_30 = 0; + FUN_14002b500((undefined4 *)plVar4,pplVar8,param_2,param_4); + } + else { + FUN_14002e770((longlong)plVar4); + } + } + local_128[0] = 0xd; + local_b8 = 1; + puVar9 = local_128; + FUN_14007af60(*(longlong **)(param_1 + 0x108),puVar9,(SIZE_T)param_2,param_4); + lVar2 = *(longlong *)(param_1 + 0x108); + if ((*(char *)(lVar2 + 0x1790) != '\0') || (*(int *)(lVar2 + 0x6c8) != 0)) { + param_4 = (ulonglong)*(uint *)(lVar2 + 0x1578); + param_2 = (uint *)&DAT_14010ba90; + puVar9 = (undefined4 *)0x1; + FUN_140072eb0(lVar2,1,L"Client %d: 서버 UDP 홀펀칭 성공",param_4); + } + FUN_14003b870(&local_68); + FUN_14003b870(&local_b0); + local_res8 = &local_d8; + FUN_140095270(&local_d8); + if (local_d0 != 0) { + if ((longlong)local_c8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_c8 = local_c8 & 0xffffffff00000000; + } + FUN_14003b870(&local_100); + FUN_140056b00(local_110 + 1,puVar9,param_2,param_4); + FUN_140056a80(local_110,puVar9,param_2,param_4); + FUN_14002b570((longlong *)local_120,puVar9,param_2,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a95a0.c b/decomp/Agent_Release_x64/full/functions/0x1400a95a0.c new file mode 100644 index 00000000..5d0e6ee6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a95a0.c @@ -0,0 +1,477 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a95a0 FUN_1400a95a0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400a95a0(longlong param_1,uint *param_2,SIZE_T param_3,undefined4 *param_4) + +{ + ushort uVar1; + uint uVar2; + uint uVar3; + undefined8 uVar4; + ulonglong uVar5; + longlong lVar6; + int *piVar7; + undefined8 *puVar8; + longlong *plVar9; + undefined ****ppppuVar10; + uint *puVar11; + longlong *plVar12; + undefined ***pppuVar13; + uint uVar14; + undefined4 *puVar15; + LPWSTR lpFilename; + uint *puVar16; + int iVar17; + int *piVar18; + uint uVar19; + undefined *puVar20; + undefined ***pppuVar21; + uint **ppuVar22; + undefined1 auStackY_4a8 [32]; + undefined1 local_478 [8]; + uint *local_470; + uint *local_468; + undefined ***local_460; + undefined8 local_458; + undefined4 local_450 [2]; + undefined ***local_448; + undefined4 local_440 [2]; + undefined ***local_438; + undefined *local_430; + undefined **local_428; + undefined4 local_420; + undefined2 local_41c; + undefined *local_418; + undefined **local_410; + undefined **local_408; + undefined8 local_400; + undefined8 local_3f8; + undefined8 local_3f0; + undefined8 local_3e8; + int *local_3e0; + undefined1 local_3d8; + longlong local_3d0; + undefined ****local_3c8; + undefined1 local_3c0; + int *local_3b8; + undefined1 local_3b0; + int *local_3a8; + undefined1 local_3a0; + int *local_398; + undefined1 local_390; + undefined ****local_388; + undefined1 local_380; + int *local_378; + undefined1 local_370; + longlong local_368 [4]; + undefined4 local_348 [20]; + uint *local_2f8; + undefined ***local_2f0; + undefined4 local_2e8; + undefined4 local_2e4; + undefined4 local_2d8; + undefined4 local_298; + undefined2 local_294; + undefined4 local_258; + undefined4 local_254; + undefined4 local_250; + undefined4 local_24c; + WCHAR local_248 [264]; + ulonglong local_38; + + local_368[1] = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStackY_4a8; + plVar12 = (longlong *)(*(longlong *)(param_1 + 0x108) + 0x78); + puVar11 = param_2; + (**(code **)(*plVar12 + 0x10))(); + pppuVar21 = (undefined ***)0x0; + local_458 = 0; + local_460 = (undefined ***)0x0; + local_468 = (uint *)0x0; + local_468 = (uint *)FUN_1400952b0(plVar12,puVar11,param_3); + local_468[10] = 1; + local_468[0xb] = 0; + local_428 = Proud::AddrPort::vftable; + local_420 = 0; + local_41c = 0; + pppuVar13 = (undefined ***)local_440; + puVar11 = param_2; + uVar4 = FUN_140081090(param_2,(undefined4 *)pppuVar13,param_3,param_4); + if ((char)uVar4 != '\0') { + local_258 = 0; + local_254 = 0; + local_250 = 0; + local_24c = 0; + param_3 = 0x10; + pppuVar13 = (undefined ***)&local_258; + puVar11 = param_2; + uVar4 = FUN_140080600(param_2,pppuVar13,0x10); + if ((char)uVar4 != '\0') { + pppuVar13 = &local_410; + puVar11 = param_2; + uVar5 = FUN_140080ca0(param_2,pppuVar13,param_3,param_4); + if ((((char)uVar5 != '\0') && (iVar17 = (int)local_410, -1 < iVar17)) && + (iVar17 <= DAT_140155140)) { + if (local_460 == (undefined ***)0x0) { + puVar11 = local_468; + if (iVar17 < 1) { + if (local_468 == (uint *)0x0) goto LAB_1400a9bd7; + iVar17 = 0; + } + else if (local_468 == (uint *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,0,param_3,param_4); + } + FUN_14001bc70((longlong)local_468,iVar17,param_3); + } + else { + if (local_458._4_4_ < iVar17) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_458 = CONCAT44(local_458._4_4_,iVar17); + } + pppuVar13 = local_460; + if (local_460 == (undefined ***)0x0) { + if (local_468 == (uint *)0x0) { +LAB_1400a9bd7: + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar11,0,param_3,param_4); + } + pppuVar13 = pppuVar21; + if (local_468[6] != 0) { + pppuVar13 = *(undefined ****)(local_468 + 4); + } + } + param_3 = (ulonglong)local_410 & 0xffffffff; + puVar11 = param_2; + uVar4 = FUN_140080600(param_2,pppuVar13,param_3); + if ((char)uVar4 != '\0') { + pppuVar13 = &local_428; + uVar5 = FUN_140081030(param_2,(longlong)pppuVar13); + puVar11 = param_2; + if ((char)uVar5 != '\0') { + *(undefined4 *)(*(longlong *)(param_1 + 0x108) + 0x1578) = local_440[0]; + plVar12 = *(longlong **)(*(longlong *)(param_1 + 0x108) + 0x15d8); + if ((plVar12 != (longlong *)0x0) && (*plVar12 != 0)) { + lVar6 = FUN_140064be0(*(longlong *)(param_1 + 0x108)); + *(undefined4 *)(lVar6 + 0x108) = local_420; + *(undefined2 *)(lVar6 + 0x10c) = local_41c; + } + piVar7 = (int *)(**(code **)(**(longlong **)(param_1 + 0x108) + 0x58))(); + local_3a8 = piVar7; + FUN_14002e6e0(piVar7); + local_3a0 = 1; + FUN_140056e60((longlong)local_348); + local_348[0] = 1; + if (local_468 == local_2f8) { + local_2e4 = local_458._4_4_; + local_2f0 = local_460; + local_2e8 = (undefined4)local_458; + } + else { + FUN_140095270((longlong *)&local_2f8); + if (local_468 != (uint *)0x0) { + *(longlong *)(local_468 + 10) = *(longlong *)(local_468 + 10) + 1; + local_2f8 = local_468; + } + } + local_2d8 = 1; + plVar12 = FUN_14001b810(local_368,(longlong *)(*(longlong *)(param_1 + 0x108) + 0x1588), + param_3,param_4); + uVar1 = *(ushort *)(*(longlong *)(param_1 + 0x108) + 0x1590); + puVar20 = (undefined *)(ulonglong)uVar1; + puVar8 = FUN_140033450(local_368 + 2,plVar12,uVar1,param_4); + local_298 = *(undefined4 *)(puVar8 + 1); + local_294 = *(undefined2 *)((longlong)puVar8 + 0xc); + puVar15 = local_348; + FUN_14007af60(*(longlong **)(param_1 + 0x108),puVar15,(SIZE_T)puVar20,param_4); + lVar6 = *(longlong *)(param_1 + 0x108); + *(undefined4 *)(lVar6 + 0x6d0) = local_258; + *(undefined4 *)(lVar6 + 0x6d4) = local_254; + *(undefined4 *)(lVar6 + 0x6d8) = local_250; + *(undefined4 *)(lVar6 + 0x6dc) = local_24c; + if (*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x58) != 0) { + piVar18 = (int *)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x58) + 0x98); + local_378 = piVar18; + FUN_14002e6e0(piVar18); + local_370 = 1; + local_478[0] = 0; + plVar12 = (longlong *)(*(longlong *)(param_1 + 0x108) + 0x70); + local_450[0] = (**(code **)(*plVar12 + 0x108))(plVar12,local_478); + param_4 = local_450; + puVar20 = &DAT_14015de10; + puVar15 = (undefined4 *)0x1; + (**(code **)(*(longlong *) + (*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x58) + 0x68) + 0x60))() + ; + FUN_14002e770((longlong)piVar18); + } + FUN_140056f10((longlong)local_348,puVar15,puVar20,param_4); + FUN_14002e770((longlong)piVar7); + lVar6 = *(longlong *)(param_1 + 0x108); + if ((*(char *)(lVar6 + 0x1790) != '\0') || (*(int *)(lVar6 + 0x6c8) != 0)) { + param_4 = (undefined4 *)(ulonglong)*(uint *)(lVar6 + 0x1578); + puVar20 = &DAT_14010bb78; + puVar15 = (undefined4 *)0x1; + FUN_140072eb0(lVar6,1,L"서버와의 연결 성공. HostID=%d",param_4); + } + if (*(int *)(*(longlong *)(param_1 + 0x108) + 0x1578) == 0x32) { + uVar2 = FUN_14003a0c0(lVar6,puVar15,puVar20,param_4); + uVar14 = (int)uVar2 / 3 + ((int)uVar2 >> 0x1f) + + (int)(((longlong)(int)uVar2 / 3 + ((longlong)(int)uVar2 >> 0x3f) & + 0xffffffffU) >> 0x1f); + uVar3 = uVar14 * 3; + if (uVar2 == uVar3) { + FUN_140030200((ulonglong)uVar3,(ulonglong)uVar14,puVar20,param_4); + pppuVar13 = (undefined ***)PTR_DAT_140155010; + local_438 = (undefined ***)PTR_DAT_140155010; + puVar20 = (undefined *)0x104; + lpFilename = local_248; + GetModuleFileNameW((HMODULE)0x0,lpFilename,0x104); + ppppuVar10 = *(undefined *****)(param_1 + 0x108); + if ((ppppuVar10[699] != (undefined ***)0x0) && + (*ppppuVar10[699] != (undefined **)0x0)) { + lVar6 = FUN_140064be0((longlong)ppppuVar10); + plVar12 = (longlong *)(*(longlong *)(param_1 + 0x108) + 0x70); + plVar12 = (longlong *)(**(code **)(*plVar12 + 0xb0))(plVar12,&local_418); + plVar9 = (longlong *) + (*(code *)**(undefined8 **)(lVar6 + 0x100)) + ((undefined8 *)(lVar6 + 0x100),&local_430); + param_4 = (undefined4 *)*plVar12; + if ((undefined4 *)*plVar12 == (undefined4 *)0x0) { + param_4 = (undefined4 *)PTR_DAT_140155010; + } + puVar20 = (undefined *)*plVar9; + if ((undefined *)*plVar9 == (undefined *)0x0) { + puVar20 = PTR_DAT_140155010; + } + ppppuVar10 = &local_438; + FUN_14001b7a0((longlong *)ppppuVar10,L"Usage: %s ## %s ## %s",puVar20,param_4); + if (((local_430 != (undefined *)0x0) && (local_430 != PTR_DAT_140155010)) && + (local_430 + -8 != (undefined *)0x0)) { + ppppuVar10 = (undefined ****) + FUN_140030200(ppppuVar10,PTR_DAT_140155010,puVar20,param_4); + local_388 = ppppuVar10; + FUN_14002e6e0((int *)ppppuVar10); + local_380 = 1; + piVar7 = (int *)(local_430 + -4); + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(local_430 + -8); + } + FUN_14002e770((longlong)ppppuVar10); + } + lpFilename = (LPWSTR)PTR_DAT_140155010; + local_430 = PTR_DAT_140155010; + if (((local_418 != (undefined *)0x0) && (local_418 != PTR_DAT_140155010)) && + (local_418 + -8 != (undefined *)0x0)) { + ppppuVar10 = (undefined ****) + FUN_140030200(ppppuVar10,PTR_DAT_140155010,puVar20,param_4); + local_3c8 = ppppuVar10; + FUN_14002e6e0((int *)ppppuVar10); + local_3c0 = 1; + piVar7 = (int *)(local_418 + -4); + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(local_418 + -8); + } + FUN_14002e770((longlong)ppppuVar10); + } + FUN_140030200(ppppuVar10,lpFilename,puVar20,param_4); + pppuVar13 = local_438; + local_448 = (undefined ***)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_448 = pppuVar21; + } + if (local_438 != (undefined ***)PTR_DAT_140155010) { + piVar7 = (int *)FUN_140030200(ppppuVar10,lpFilename,puVar20,param_4); + local_3b8 = piVar7; + FUN_14002e6e0(piVar7); + local_3b0 = 1; + FUN_140003240((longlong *)&local_448,lpFilename,puVar20,param_4); + local_448 = pppuVar13; + if (((pppuVar13 != (undefined ***)PTR_DAT_140155010) && + (pppuVar13 != (undefined ***)0x0)) && (pppuVar13 != (undefined ***)0x8)) { + *(int *)((longlong)pppuVar13 + -4) = *(int *)((longlong)pppuVar13 + -4) + 1; + } + FUN_14002e770((longlong)piVar7); + } + ppppuVar10 = &local_448; + FUN_140033120((longlong *)ppppuVar10,lpFilename,puVar20,param_4); + } + if (((pppuVar13 != (undefined ***)0x0) && + (pppuVar13 != (undefined ***)PTR_DAT_140155010)) && + (pppuVar13 + -1 != (undefined ***)0x0)) { + piVar18 = (int *)FUN_140030200(ppppuVar10,lpFilename,puVar20,param_4); + local_398 = piVar18; + FUN_14002e6e0(piVar18); + local_390 = 1; + piVar7 = (int *)((longlong)pppuVar13 + -4); + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(pppuVar13 + -1); + } + FUN_14002e770((longlong)piVar18); + } + } + } + FUN_140095270((longlong *)&local_468); + if (local_460 == (undefined ***)0x0) { + return; + } + if (-1 < local_458) { + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + } + } + } + FUN_140030200(puVar11,pppuVar13,param_3,param_4); + local_470 = (uint *)PTR_DAT_140155010; + uVar3 = FUN_140030080(L"Bad format in NotifyServerConnectSuccess"); + if ((local_470 != (uint *)0x0) && + (pppuVar21 = (undefined ***)0x0, local_470 != (uint *)PTR_DAT_140155010)) { + pppuVar21 = (undefined ***)(ulonglong)local_470[-2]; + } + uVar14 = 0; + uVar2 = uVar3; + if ((((int)uVar3 <= (int)pppuVar21) && (uVar2 = uVar14, local_470 != (uint *)0x0)) && + (local_470 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_470[-2]; + } + uVar19 = 1; + if (1 < (int)uVar2) { + uVar19 = uVar2; + } + uVar2 = uVar14; + if ((local_470 != (uint *)0x0) && (local_470 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_470[-2]; + } + if ((int)uVar2 < (int)uVar19) { + if (local_470 == (uint *)0x0) { + local_470 = (uint *)PTR_DAT_140155010; + } + if ((int)uVar19 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar19 == 0) { + FUN_140003240((longlong *)&local_470,PTR_DAT_140155010,pppuVar21,param_4); + } + else { + uVar2 = uVar14; + if ((local_470 != (uint *)0x0) && (local_470 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_470[-2]; + } + if (uVar19 != uVar2) { + puVar11 = (uint *)FUN_140030280((longlong)(int)uVar19 * 2 + 10); + if (puVar11 != (uint *)0x0) { + *puVar11 = 0; + puVar11[1] = 1; + } + *puVar11 = uVar19; + uVar2 = uVar14; + if ((local_470 != (uint *)0x0) && (local_470 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_470[-2]; + } + puVar16 = (uint *)PTR_DAT_140155010; + if ((int)uVar19 < (int)uVar2) { +LAB_1400a9cdc: + if (local_470 != (uint *)0x0) { + puVar16 = local_470; + } + } + else { + uVar19 = uVar14; + if (local_470 != (uint *)0x0) { + if (local_470 != (uint *)PTR_DAT_140155010) { + uVar19 = local_470[-2]; + } + goto LAB_1400a9cdc; + } + } + uVar5 = (ulonglong)uVar19; + FUN_1400300b0(puVar11 + 2,puVar16,uVar19); + FUN_140003240((longlong *)&local_470,puVar16,uVar5,param_4); + local_470 = puVar11 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_470); + puVar11 = local_470; + if (local_470 == (uint *)0x0) { + puVar11 = (uint *)PTR_DAT_140155010; + } + FUN_1400300b0(puVar11,L"Bad format in NotifyServerConnectSuccess",uVar3); + puVar11 = local_470; + if (local_470 == (uint *)0x0) { + puVar11 = (uint *)PTR_DAT_140155010; + } + uVar2 = FUN_140030080((short *)puVar11); + uVar3 = 0; + if (0 < (int)uVar2) { + uVar3 = uVar2; + } + uVar2 = uVar14; + if ((local_470 != (uint *)0x0) && (local_470 != (uint *)PTR_DAT_140155010)) { + uVar2 = local_470[-2]; + } + if (((int)uVar2 <= (int)uVar3) && (uVar3 = uVar14, local_470 != (uint *)0x0)) { + if (local_470 == (uint *)PTR_DAT_140155010) goto LAB_1400a9d96; + uVar3 = local_470[-2]; + } + if (((local_470 != (uint *)PTR_DAT_140155010) && (local_470 != (uint *)0x0)) && + (local_470 + -2 != (uint *)0x0)) { + local_470[-2] = uVar3; + *(undefined2 *)((longlong)local_470 + (longlong)(int)uVar3 * 2) = 0; + } +LAB_1400a9d96: + local_400 = 0; + local_3f8 = 0; + local_3f0 = 0; + local_3e8 = 0; + local_408 = Proud::ByteArray::vftable; + ppuVar22 = &local_470; + plVar12 = FUN_14003c120(&local_3d0,8,1,(longlong *)ppuVar22,(longlong)&local_408); + uVar4 = 0x1f; + FUN_14007dfc0(*(longlong **)(param_1 + 0x108),(undefined4 *)0x1f,plVar12,ppuVar22); + pppuVar13 = &local_408; + FUN_14003b870(pppuVar13); + puVar11 = local_470; + if (((local_470 != (uint *)0x0) && (local_470 != (uint *)PTR_DAT_140155010)) && + (puVar16 = local_470 + -2, puVar16 != (uint *)0x0)) { + piVar7 = (int *)FUN_140030200(pppuVar13,uVar4,plVar12,ppuVar22); + local_3e0 = piVar7; + FUN_14002e6e0(piVar7); + local_3d8 = 1; + puVar11 = puVar11 + -1; + *puVar11 = *puVar11 - 1; + if (*puVar11 == 0) { + FUN_1400302f0(puVar16); + } + FUN_14002e770((longlong)piVar7); + local_3d8 = 0; + } + local_470 = (uint *)PTR_DAT_140155010; + if (*(int *)(param_1 + 0x100) < 4) { + *(undefined4 *)(param_1 + 0x40) = 0; + *(undefined4 *)(param_1 + 0x100) = 4; + uVar4 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x70) + 0x1c0))(); + *(undefined8 *)(param_1 + 0x80) = uVar4; + *(undefined1 *)(param_1 + 0xc0) = 0; + } + FUN_140095270((longlong *)&local_468); + if ((local_460 != (undefined ***)0x0) && (local_458 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400a9ed0.c b/decomp/Agent_Release_x64/full/functions/0x1400a9ed0.c new file mode 100644 index 00000000..b318ba42 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400a9ed0.c @@ -0,0 +1,103 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400a9ed0 FUN_1400a9ed0 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400a9ed0(longlong param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + undefined8 uVar2; + int *piVar3; + undefined4 *puVar4; + SIZE_T SVar5; + double dVar6; + double dVar7; + double local_res18; + double local_res20; + undefined4 local_118 [2]; + undefined8 local_110; + undefined8 local_100; + undefined8 local_f8; + undefined **local_f0; + undefined8 local_e8; + undefined8 local_e0; + undefined8 local_d8; + undefined8 local_d0; + undefined8 local_c8; + undefined8 local_c0; + undefined8 local_b8; + undefined4 local_a8; + undefined **local_a0; + undefined8 local_98; + undefined8 local_90; + undefined8 local_88; + undefined8 local_80; + undefined **local_70; + undefined4 local_68; + undefined2 local_64; + undefined **local_58; + undefined8 local_50; + undefined8 local_48; + undefined8 local_40; + undefined8 local_38; + int *local_28; + undefined1 local_20; + undefined8 local_18; + + local_18 = 0xfffffffffffffffe; + uVar2 = FUN_140080600(param_2,&local_res18,8); + if ((char)uVar2 != '\0') { + SVar5 = 8; + uVar2 = FUN_140080600(param_2,&local_res20,8); + if ((char)uVar2 != '\0') { + piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x108) + 0x58))(); + local_28 = piVar3; + FUN_14002e6e0(piVar3); + local_20 = 1; + dVar6 = FUN_14003a420((char *)(*(longlong *)(param_1 + 0x108) + 0x1620)); + dVar7 = (dVar6 - local_res18) * 0.5; + *(double *)(*(longlong *)(param_1 + 0x108) + 0x500) = dVar7; + lVar1 = *(longlong *)(param_1 + 0x108); + if (*(double *)(lVar1 + 0x4f8) != 0.0) { + dVar7 = (dVar7 - *(double *)(lVar1 + 0x4f8)) * _DAT_140155108 + *(double *)(lVar1 + 0x4f8); + } + *(double *)(lVar1 + 0x4f8) = dVar7; + *(double *)(*(longlong *)(param_1 + 0x108) + 0x4f0) = + dVar6 - (local_res20 + *(double *)(*(longlong *)(param_1 + 0x108) + 0x4f8)); + local_110 = 0; + local_100 = 0; + local_f8 = 0; + local_e8 = 0; + local_e0 = 0; + local_d8 = 0; + local_d0 = 0; + local_f0 = Proud::ByteArray::vftable; + local_b8 = 0; + local_c0 = 0; + local_c8 = 0; + local_98 = 0; + local_90 = 0; + local_88 = 0; + local_80 = 0; + local_a0 = Proud::ByteArray::vftable; + local_70 = Proud::AddrPort::vftable; + local_68 = 0; + local_64 = 0; + local_50 = 0; + local_48 = 0; + local_40 = 0; + local_38 = 0; + local_58 = Proud::ByteArray::vftable; + local_118[0] = 0xe; + local_a8 = 1; + puVar4 = local_118; + FUN_14007af60(*(longlong **)(param_1 + 0x108),puVar4,SVar5,param_4); + FUN_140056f10((longlong)local_118,puVar4,SVar5,param_4); + FUN_14002e770((longlong)piVar3); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400aa0a0.c b/decomp/Agent_Release_x64/full/functions/0x1400aa0a0.c new file mode 100644 index 00000000..ab325efa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400aa0a0.c @@ -0,0 +1,176 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400aa0a0 FUN_1400aa0a0 + * Pseudocode, not original source. */ + +void FUN_1400aa0a0(longlong param_1,int *param_2,byte *param_3,undefined8 param_4) + +{ + longlong lVar1; + undefined2 **ppuVar2; + byte bVar3; + int iVar4; + SIZE_T SVar5; + int *piVar6; + longlong *plVar7; + undefined4 *puVar8; + longlong lVar9; + ulonglong uVar10; + undefined8 *puVar11; + longlong lVar12; + uint uVar13; + SIZE_T SVar14; + longlong lVar15; + undefined8 uVar16; + undefined2 **local_res8; + undefined4 local_1b8 [2]; + undefined2 *local_1b0; + longlong local_1a8; + int local_19c; + uint local_190; + undefined **local_188; + int local_180; + undefined2 local_17c; + char local_178; + int *local_168; + undefined1 local_160; + undefined8 local_158; + undefined4 local_150 [2]; + undefined4 local_148 [2]; + longlong local_140; + longlong local_138; + undefined4 local_130; + int local_12c; + uint local_120; + undefined **local_118; + int local_110; + undefined2 local_10c; + char local_108; + undefined1 local_100 [232]; + + local_158 = 0xfffffffffffffffe; + uVar13 = (int)((*param_2 >> 0x1f & 7U) + *param_2) >> 3; + SVar5 = FUN_140071d60(*(longlong **)(param_1 + 0x108),param_2[10],param_3,param_4); + plVar7 = (longlong *)(*(longlong *)(param_1 + 0x108) + 0x1838); + lVar15 = *plVar7; + SVar14 = SVar5; + bVar3 = (**(code **)(lVar15 + 0x10))(plVar7,param_2); + *param_3 = *param_3 | bVar3; + if (*param_3 == 0) { + FUN_1400802d0(param_2,(ulonglong)uVar13,SVar14,lVar15); + plVar7 = (longlong *)(*(longlong *)(param_1 + 0x108) + 0x17f0); + bVar3 = (**(code **)(*plVar7 + 0x10))(plVar7,param_2); + *param_3 = *param_3 | bVar3; + if (*param_3 == 0) { + uVar10 = (ulonglong)uVar13; + FUN_1400802d0(param_2,uVar10,SVar5,lVar15); + FUN_1400806d0(local_1b8); + local_188 = Proud::AddrPort::vftable; + local_178 = 0; + lVar12 = 0; + local_190 = 0; + local_180 = DAT_1401553d0; + local_17c = DAT_1401553d4; + puVar8 = local_1b8; + FUN_1400801a0((longlong)puVar8,uVar10,SVar5,lVar15); + if (*(longlong *)(param_2 + 2) == 0) { + if (*(longlong *)(param_2 + 4) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar8,uVar10,SVar5,lVar15); + } + uVar13 = param_2[6]; + } + else { + uVar13 = *(uint *)(*(longlong *)(param_2 + 2) + 0x18); + } + iVar4 = (int)(*param_2 + (*param_2 >> 0x1f & 7U)) >> 3; + lVar9 = *(longlong *)(param_2 + 4); + if (*(longlong *)(param_2 + 4) == 0) { + lVar1 = *(longlong *)(param_2 + 2); + if (lVar1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(longlong)iVar4,(ulonglong)uVar13,lVar15); + } + lVar9 = lVar12; + if (*(int *)(lVar1 + 0x18) != 0) { + lVar9 = *(longlong *)(lVar1 + 0x10); + } + } + SVar14 = (SIZE_T)(uVar13 - iVar4); + puVar11 = (undefined8 *)(iVar4 + lVar9); + puVar8 = local_1b8; + FUN_140080c70((longlong)puVar8,puVar11,SVar14,lVar15); + local_180 = param_2[0xe]; + local_17c = (undefined2)param_2[0xf]; + local_190 = param_2[10]; + local_178 = (char)param_2[0x10]; + if ((local_1b0 == (undefined2 *)0x0) && (local_1a8 == 0)) { + local_1b0 = FUN_1400952b0(puVar8,puVar11,SVar14); + *(undefined8 *)(local_1b0 + 0x14) = 1; + } + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x78) + 0x10))(); + FUN_140080700(local_148,local_1b8); + local_120 = local_190; + local_118 = Proud::AddrPort::vftable; + local_110 = local_180; + local_10c = local_17c; + local_108 = local_178; + FUN_140056e60((longlong)local_100); + local_150[0] = 1; + lVar15 = *(longlong *)(param_1 + 0x108); + uVar16 = 0; + SVar14 = *(SIZE_T *)(lVar15 + 0x15f0); + puVar8 = local_150; + puVar11 = FUN_140079d50((longlong *)(lVar15 + 0x15e0),puVar8,SVar14,0); + if (*(undefined8 **)(lVar15 + 0x15f0) == (undefined8 *)0x0) { + *(undefined8 **)(lVar15 + 0x15e8) = puVar11; + } + else { + **(undefined8 **)(lVar15 + 0x15f0) = puVar11; + } + *(undefined8 **)(lVar15 + 0x15f0) = puVar11; + FUN_140056f10((longlong)local_100,puVar8,SVar14,uVar16); + local_res8 = (undefined2 **)&local_140; + FUN_140095270(&local_140); + if (local_138 != 0) { + if (local_12c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_130 = 0; + } + if ((local_190 != 1) && (local_190 != 0)) { + piVar6 = (int *)(**(code **)(**(longlong **)(param_1 + 0x108) + 0x58))(); + local_168 = piVar6; + FUN_14002e6e0(piVar6); + local_160 = 1; + plVar7 = FUN_140070860(*(longlong **)(param_1 + 0x108),(longlong *)&local_res8,local_190); + if ((longlong *)*plVar7 != (longlong *)0x0) { + lVar12 = *(longlong *)*plVar7; + } + if ((local_res8 != (undefined2 **)0x0) && + (local_res8[1] = (undefined2 *)((longlong)local_res8[1] + -1), ppuVar2 = local_res8, + piVar6 = local_168, local_res8[1] == (undefined2 *)0x0)) { + puVar11 = (undefined8 *)*local_res8; + if (puVar11 != (undefined8 *)0x0) { + (**(code **)*puVar11)(puVar11,1); + } + FUN_1400302f0(ppuVar2); + piVar6 = local_168; + } + if (((lVar12 != 0) && (*(char *)(lVar12 + 0x684) == '\0')) && + (*(undefined1 *)(lVar12 + 0x21) = 1, local_178 == '\0')) { + *(int *)(lVar12 + 0x48) = *(int *)(lVar12 + 0x48) + 1; + } + FUN_14002e770((longlong)piVar6); + } + local_res8 = &local_1b0; + FUN_140095270((longlong *)&local_1b0); + if ((local_1a8 != 0) && (local_19c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400aa420.c b/decomp/Agent_Release_x64/full/functions/0x1400aa420.c new file mode 100644 index 00000000..f0e34be3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400aa420.c @@ -0,0 +1,157 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400aa420 FUN_1400aa420 + * Pseudocode, not original source. */ + +void FUN_1400aa420(longlong param_1,int *param_2,SIZE_T param_3,undefined8 param_4) + +{ + uint uVar1; + longlong lVar2; + int iVar3; + undefined8 *puVar4; + int *piVar5; + longlong *plVar6; + undefined4 *puVar7; + longlong lVar8; + longlong lVar9; + ulonglong uVar10; + SIZE_T SVar11; + undefined8 uVar12; + longlong *local_res10; + undefined4 local_208 [2]; + longlong local_200; + longlong local_1f8; + int local_1ec; + uint local_1e0; + undefined **local_1d8; + int local_1d0; + undefined2 local_1cc; + char local_1c8; + int *local_1b8; + undefined1 local_1b0; + undefined8 local_1a8; + undefined4 local_1a0 [2]; + undefined4 local_198 [2]; + longlong local_190; + longlong local_188; + undefined4 local_180; + int local_17c; + uint local_170; + undefined **local_168; + int local_160; + undefined2 local_15c; + char local_158; + undefined1 local_150 [232]; + exception local_68 [80]; + + local_1a8 = 0xfffffffffffffffe; + piVar5 = param_2; + FUN_1400806d0(local_208); + local_1d8 = Proud::AddrPort::vftable; + local_1c8 = 0; + lVar9 = 0; + local_1e0 = 0; + local_1d0 = DAT_1401553d0; + local_1cc = DAT_1401553d4; + puVar7 = local_208; + FUN_1400801a0((longlong)puVar7,piVar5,param_3,param_4); + if (*(longlong *)(param_2 + 2) == 0) { + if (*(longlong *)(param_2 + 4) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar7,piVar5,param_3,param_4); + } + uVar1 = param_2[6]; + } + else { + uVar1 = *(uint *)(*(longlong *)(param_2 + 2) + 0x18); + } + iVar3 = (int)(*param_2 + (*param_2 >> 0x1f & 7U)) >> 3; + lVar8 = *(longlong *)(param_2 + 4); + if (*(longlong *)(param_2 + 4) == 0) { + lVar2 = *(longlong *)(param_2 + 2); + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(longlong)iVar3,(ulonglong)uVar1,param_4); + } + lVar8 = lVar9; + if (*(int *)(lVar2 + 0x18) != 0) { + lVar8 = *(longlong *)(lVar2 + 0x10); + } + } + uVar10 = (ulonglong)(uVar1 - iVar3); + FUN_140080c70((longlong)local_208,(undefined8 *)(iVar3 + lVar8),uVar10,param_4); + local_1d0 = param_2[0xe]; + local_1cc = (undefined2)param_2[0xf]; + local_1e0 = param_2[10]; + local_1c8 = (char)param_2[0x10]; + if (local_200 == 0) { + FUN_14002f1e0(local_68,(wchar_t *)PTR_u_exception_due_to_not_using_Inter_140156b80,uVar10, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_68,(ThrowInfo *)&DAT_140151b88); + } + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x108) + 0x78) + 0x10))(); + FUN_140080700(local_198,local_208); + local_170 = local_1e0; + local_168 = Proud::AddrPort::vftable; + local_160 = local_1d0; + local_15c = local_1cc; + local_158 = local_1c8; + FUN_140056e60((longlong)local_150); + local_1a0[0] = 2; + lVar8 = *(longlong *)(param_1 + 0x108); + uVar12 = 0; + SVar11 = *(SIZE_T *)(lVar8 + 0x15f0); + puVar7 = local_1a0; + puVar4 = FUN_140079d50((longlong *)(lVar8 + 0x15e0),puVar7,SVar11,0); + if (*(undefined8 **)(lVar8 + 0x15f0) == (undefined8 *)0x0) { + *(undefined8 **)(lVar8 + 0x15e8) = puVar4; + } + else { + **(undefined8 **)(lVar8 + 0x15f0) = puVar4; + } + *(undefined8 **)(lVar8 + 0x15f0) = puVar4; + FUN_140056f10((longlong)local_150,puVar7,SVar11,uVar12); + local_res10 = &local_190; + FUN_140095270(&local_190); + if (local_188 != 0) { + if (local_17c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_180 = 0; + } + if ((local_1e0 != 1) && (local_1e0 != 0)) { + piVar5 = (int *)(**(code **)(**(longlong **)(param_1 + 0x108) + 0x58))(); + local_1b8 = piVar5; + FUN_14002e6e0(piVar5); + local_1b0 = 1; + plVar6 = FUN_140070860(*(longlong **)(param_1 + 0x108),(longlong *)&local_res10,local_1e0); + if ((longlong *)*plVar6 != (longlong *)0x0) { + lVar9 = *(longlong *)*plVar6; + } + if ((local_res10 != (longlong *)0x0) && + (local_res10[1] = local_res10[1] + -1, plVar6 = local_res10, piVar5 = local_1b8, + local_res10[1] == 0)) { + puVar4 = (undefined8 *)*local_res10; + if (puVar4 != (undefined8 *)0x0) { + (**(code **)*puVar4)(puVar4,1); + } + FUN_1400302f0(plVar6); + piVar5 = local_1b8; + } + if (((lVar9 != 0) && (*(char *)(lVar9 + 0x684) == '\0')) && + (*(undefined1 *)(lVar9 + 0x21) = 1, local_1c8 == '\0')) { + *(int *)(lVar9 + 0x48) = *(int *)(lVar9 + 0x48) + 1; + } + FUN_14002e770((longlong)piVar5); + } + local_res10 = &local_200; + FUN_140095270(&local_200); + if ((local_1f8 != 0) && (local_1ec < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400aa720.c b/decomp/Agent_Release_x64/full/functions/0x1400aa720.c new file mode 100644 index 00000000..726b5470 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400aa720.c @@ -0,0 +1,379 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400aa720 FUN_1400aa720 + * Pseudocode, not original source. */ + +undefined8 +FUN_1400aa720(IMAGE_DOS_HEADER *param_1,IMAGE_DOS_HEADER *param_2,IMAGE_DOS_HEADER *param_3, + undefined ***param_4) + +{ + undefined8 *puVar1; + int *piVar2; + char cVar3; + uint uVar4; + uint uVar5; + int iVar6; + undefined8 uVar7; + longlong *plVar8; + int *piVar9; + ulonglong uVar10; + IMAGE_DOS_HEADER *pIVar11; + undefined8 *puVar12; + undefined8 *puVar13; + uint uVar14; + IMAGE_DOS_HEADER *pIVar15; + undefined *puVar16; + IMAGE_DOS_HEADER *pIVar17; + wchar_t *pwVar18; + longlong lVar19; + undefined8 **ppuVar20; + undefined8 *local_res8; + IMAGE_DOS_HEADER *local_res10; + uint local_res18; + undefined8 *local_res20; + undefined1 local_78 [16]; + undefined8 *local_68; + undefined8 local_60; + undefined8 local_58; + word local_50 [4]; + undefined **local_48; + word local_40 [2]; + undefined2 local_3c; + byte local_38; + + pIVar17 = param_3; + local_res10 = param_2; + (**(code **)(*(longlong *)(*(longlong *)¶m_1[2].e_cparhdr + 0x78) + 0x10))(); + uVar4 = (int)(*(int *)param_3 + (*(int *)param_3 >> 0x1f & 7U)) >> 3; + local_res20 = (undefined8 *)CONCAT44(local_res20._4_4_,uVar4); + pIVar15 = (IMAGE_DOS_HEADER *)&local_res18; + pIVar11 = param_3; + uVar7 = FUN_140080f30((uint *)param_3,(uint *)pIVar15,pIVar17,param_4); + if ((char)uVar7 == '\0') goto LAB_1400aad10; + cVar3 = '\0'; + local_res8 = (undefined8 *)((ulonglong)local_res8 & 0xffffffffffffff00); + if (0x27 < local_res18 - 1) goto switchD_1400aa7a3_caseD_5; + pIVar15 = &IMAGE_DOS_HEADER_140000000; + pIVar11 = (IMAGE_DOS_HEADER *) + (IMAGE_DOS_HEADER_140000000.e_magic + + (&switchD_1400aa7a3::switchdataD_1400aad28)[(int)(local_res18 - 1)]); + switch(local_res18) { + case 1: + pIVar17 = (IMAGE_DOS_HEADER *)&local_res8; + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400aa0a0((longlong)param_1,(int *)param_3,(byte *)pIVar17,param_4); + cVar3 = (char)local_res8; + goto switchD_1400aa7a3_caseD_5; + case 2: + pIVar17 = (IMAGE_DOS_HEADER *)&local_res8; + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400aa420((longlong)param_1,(int *)param_3,(SIZE_T)pIVar17,param_4); + goto switchD_1400aa7a3_caseD_5; + case 3: + if ((*(int *)param_3->e_res2_10_ == 1) || (*(int *)param_3->e_res2_10_ == 0)) { + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400a3860((longlong)param_1,param_3,pIVar17,param_4); + } + break; + case 4: + if ((*(int *)param_3->e_res2_10_ == 1) || (*(int *)param_3->e_res2_10_ == 0)) { + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400a6c80((longlong *)param_1,(uint *)param_3,pIVar17,param_4); + } + break; + default: + goto switchD_1400aa7a3_caseD_5; + case 6: + if ((*(int *)param_3->e_res2_10_ == 1) || (*(int *)param_3->e_res2_10_ == 0)) { + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400a7650((longlong)param_1,param_3,(SIZE_T)pIVar17,param_4); + } + break; + case 8: + if ((*(int *)param_3->e_res2_10_ == 1) || (*(int *)param_3->e_res2_10_ == 0)) { + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400a38d0((longlong)param_1,param_3,pIVar17,param_4); + } + break; + case 9: + if ((*(int *)param_3->e_res2_10_ == 1) || (*(int *)param_3->e_res2_10_ == 0)) { + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400a3940((longlong)param_1,param_3,pIVar17,param_4); + } + break; + case 10: + if ((*(int *)param_3->e_res2_10_ == 1) || (*(int *)param_3->e_res2_10_ == 0)) { + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400a95a0((longlong)param_1,(uint *)param_3,(SIZE_T)pIVar17,(undefined4 *)param_4); + } + break; + case 0xb: + if ((*(int *)param_3->e_res2_10_ == 1) || (*(int *)param_3->e_res2_10_ == 0)) { + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400a37e0((longlong)param_1,(uint *)param_3); + } + break; + case 0xd: + if ((*(int *)param_3->e_res2_10_ == 1) || (*(int *)param_3->e_res2_10_ == 0)) { + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400a5210((longlong)param_1,(uint *)param_3,pIVar17,(longlong)param_4); + } + break; + case 0xf: + if ((*(int *)param_3->e_res2_10_ == 1) || (*(int *)param_3->e_res2_10_ == 0)) { + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400a9300((longlong)param_1,(uint *)param_3,pIVar17,(ulonglong)param_4); + } + break; + case 0x11: + if ((*(int *)param_3->e_res2_10_ == 1) || (*(int *)param_3->e_res2_10_ == 0)) { + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400a44d0((longlong)param_1,(uint *)param_3,pIVar17,param_4); + } + break; + case 0x13: + pIVar11 = param_1; + pIVar15 = local_res10; + pIVar17 = param_3; + FUN_1400a79d0((undefined ***)param_1,(uint *)local_res10,(uint *)param_3,param_4); + break; + case 0x17: + if ((*(int *)param_3->e_res2_10_ == 1) || (*(int *)param_3->e_res2_10_ == 0)) { + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400a7de0((undefined ***)param_1,(uint *)param_3,pIVar17,param_4); + } + break; + case 0x18: + if ((*(int *)param_3->e_res2_10_ == 1) || (*(int *)param_3->e_res2_10_ == 0)) { + pIVar11 = param_1; + pIVar15 = local_res10; + pIVar17 = param_3; + FUN_1400a4640(param_1,local_res10,(uint *)param_3,param_4); + } + break; + case 0x19: + if ((*(int *)param_3->e_res2_10_ == 1) || (*(int *)param_3->e_res2_10_ == 0)) { + pIVar11 = param_1; + pIVar15 = local_res10; + pIVar17 = param_3; + FUN_1400a83b0((undefined ***)param_1,(longlong *)local_res10,(uint *)param_3,param_4); + } + break; + case 0x1c: + if ((*(int *)param_3->e_res2_10_ == 1) || (*(int *)param_3->e_res2_10_ == 0)) { + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400a9ed0((longlong)param_1,(uint *)param_3,pIVar17,param_4); + } + break; + case 0x1d: + break; + case 0x1e: + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400a3620((longlong)param_1,(uint *)param_3,pIVar17,param_4); + break; + case 0x1f: + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400a3660((longlong)param_1,(uint *)param_3,pIVar17,param_4); + break; + case 0x20: + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400a5ed0((longlong)param_1,(uint *)param_3,pIVar17,param_4); + break; + case 0x21: + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400a4ae0((longlong)param_1,(uint *)param_3); + break; + case 0x22: + if ((*(int *)param_3->e_res2_10_ == 1) || (*(int *)param_3->e_res2_10_ == 0)) { + pIVar11 = param_1; + pIVar15 = local_res10; + pIVar17 = param_3; + FUN_1400a66f0((longlong)param_1,local_res10,(uint *)param_3,param_4); + } + break; + case 0x23: + pIVar11 = param_1; + pIVar15 = local_res10; + pIVar17 = param_3; + FUN_1400a5540(param_1,local_res10,(uint *)param_3,param_4); + break; + case 0x24: + case 0x25: + FUN_1400806d0((undefined4 *)local_78); + local_48 = Proud::AddrPort::vftable; + local_38 = 0; + local_50[0] = 0; + local_50[1] = 0; + local_40[0] = (word)DAT_1401553d0; + local_40[1] = DAT_1401553d0._2_2_; + local_3c = DAT_1401553d4; + param_4 = (undefined ***)local_78; + pIVar15 = (IMAGE_DOS_HEADER *)(ulonglong)local_res18; + pIVar17 = param_3; + uVar7 = FUN_140084280(*(uint **)¶m_1[2].e_cparhdr,local_res18,(uint *)param_3, + (uint *)param_4); + if ((char)uVar7 != '\0') { + local_38 = param_3->e_program[0]; + local_40 = *(word (*) [2])(param_3->e_res2_10_ + 8); + local_3c = (undefined2)param_3->e_lfanew; + local_50._0_4_ = *(undefined4 *)param_3->e_res2_10_; + pIVar17 = (IMAGE_DOS_HEADER *)local_78; + pIVar15 = local_res10; + uVar7 = FUN_1400aa720(param_1,local_res10,pIVar17,param_4); + cVar3 = (char)uVar7; + } + local_res8 = (undefined8 *)(local_78 + 8); + pIVar11 = (IMAGE_DOS_HEADER *)(local_78 + 8); + FUN_140095270((longlong *)pIVar11); + if ((local_68 != (undefined8 *)0x0) && (local_60._4_4_ < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + goto switchD_1400aa7a3_caseD_5; + case 0x26: + FUN_1400806d0((undefined4 *)local_78); + local_48 = Proud::AddrPort::vftable; + local_38 = 0; + local_50[0] = 0; + local_50[1] = 0; + local_40[0] = (word)DAT_1401553d0; + local_40[1] = DAT_1401553d0._2_2_; + local_3c = DAT_1401553d4; + pIVar17 = (IMAGE_DOS_HEADER *)local_78; + pIVar15 = param_3; + uVar7 = FUN_1400826b0(*(longlong **)¶m_1[2].e_cparhdr,(uint *)param_3,(int *)pIVar17, + (ulonglong)param_4); + if ((char)uVar7 != '\0') { + local_38 = param_3->e_program[0]; + local_40 = *(word (*) [2])(param_3->e_res2_10_ + 8); + local_3c = (undefined2)param_3->e_lfanew; + local_50._0_4_ = *(undefined4 *)param_3->e_res2_10_; + pIVar17 = (IMAGE_DOS_HEADER *)local_78; + pIVar15 = local_res10; + uVar7 = FUN_1400aa720(param_1,local_res10,pIVar17,param_4); + cVar3 = (char)uVar7; + } + local_res8 = (undefined8 *)(local_78 + 8); + pIVar11 = (IMAGE_DOS_HEADER *)(local_78 + 8); + FUN_140095270((longlong *)pIVar11); + if ((local_68 != (undefined8 *)0x0) && (local_60._4_4_ < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + goto switchD_1400aa7a3_caseD_5; + case 0x27: + pIVar11 = param_1; + pIVar15 = local_res10; + pIVar17 = param_3; + FUN_1400a6180((longlong)param_1,(SIZE_T)local_res10,(longlong)param_3,param_4); + break; + case 0x28: + pIVar11 = param_1; + pIVar15 = param_3; + FUN_1400a4c50((longlong)param_1,(uint *)param_3); + } + cVar3 = '\x01'; +switchD_1400aa7a3_caseD_5: + if (*(longlong *)¶m_3->e_cparhdr == 0) { + lVar19._0_2_ = param_3->e_sp; + lVar19._2_2_ = param_3->e_csum; + lVar19._4_2_ = param_3->e_ip; + lVar19._6_2_ = param_3->e_cs; + if (lVar19 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(pIVar11,pIVar15,pIVar17,param_4); + } + uVar4._0_2_ = param_3->e_lfarlc; + uVar4._2_2_ = param_3->e_ovno; + } + else { + uVar4 = *(uint *)(*(longlong *)¶m_3->e_cparhdr + 0x18); + } + uVar14 = *(int *)param_3 >> 0x1f & 7; + uVar5 = (int)(*(int *)param_3 + uVar14) >> 3; + puVar12 = (undefined8 *)(ulonglong)uVar5; + if (cVar3 == '\x01') { + if (((uVar4 != uVar5) && (puVar12 = (undefined8 *)(ulonglong)local_res18, local_res18 != 0x24)) + && (local_res18 != 0x25)) { + FUN_140030200((ulonglong)uVar4,(ulonglong)uVar14,pIVar17,param_4); + local_res8 = (undefined8 *)PTR_DAT_140155010; + uVar10 = (ulonglong)local_res18; + pwVar18 = L"Proud::CNetClientWorker::ProcessMessage_ProudNetLayer"; + puVar16 = &DAT_14010bc48; + FUN_14001b7a0((longlong *)&local_res8,L"%s위치에서 MessageType:%d", + L"Proud::CNetClientWorker::ProcessMessage_ProudNetLayer",uVar10); + iVar6 = FUN_14003fcd0((longlong)param_3,puVar16,pwVar18,uVar10); + local_res20 = (undefined8 *)FUN_140065820((longlong)param_3,puVar16,pwVar18,uVar10); + local_78._0_8_ = Proud::CFastArray::vftable; + local_78._8_2_ = 0; + local_78._10_2_ = 0; + local_78._12_2_ = 0; + local_78._14_2_ = 0; + local_68 = (undefined8 *)0x0; + local_60._0_2_ = 0; + local_60._2_2_ = 0; + local_60._4_2_ = 0; + local_60._6_2_ = 0; + local_58._0_2_ = 0; + local_58._2_2_ = 0; + local_58._4_2_ = 0; + local_58._6_2_ = 0; + if (iVar6 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_14001bc70((longlong)local_78,iVar6,(SIZE_T)pwVar18); + puVar12 = local_68; + if ((int)local_60 == 0) { + puVar12 = (undefined8 *)0x0; + } + FUN_14001bd30(puVar12,local_res20,(longlong)iVar6); + local_78._0_8_ = Proud::ByteArray::vftable; + ppuVar20 = &local_res8; + plVar8 = FUN_14003c120((longlong *)&local_res20,0x1f,(ulonglong)*(uint *)param_3->e_res2_10_, + (longlong *)ppuVar20,(longlong)local_78); + lVar19 = **(longlong **)¶m_1[2].e_cparhdr; + (**(code **)(lVar19 + 0x80))(); + puVar13 = (undefined8 *)local_78; + FUN_14003b870(puVar13); + puVar12 = local_res8; + if (((local_res8 != (undefined8 *)0x0) && (local_res8 != (undefined8 *)PTR_DAT_140155010)) && + (puVar1 = local_res8 + -1, puVar1 != (undefined8 *)0x0)) { + piVar9 = (int *)FUN_140030200(puVar13,plVar8,lVar19,ppuVar20); + FUN_14002e6e0(piVar9); + piVar2 = (int *)((longlong)puVar12 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1); + } + puVar12 = (undefined8 *)FUN_14002e770((longlong)piVar9); + } + } + } + else if (cVar3 == '\0') { + uVar4 = (uint)local_res20; +LAB_1400aad10: + uVar10 = FUN_1400802d0((int *)param_3,(ulonglong)uVar4,pIVar17,param_4); + return uVar10 & 0xffffffffffffff00; + } + return CONCAT71((int7)((ulonglong)puVar12 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400aadd0.c b/decomp/Agent_Release_x64/full/functions/0x1400aadd0.c new file mode 100644 index 00000000..2479651b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400aadd0.c @@ -0,0 +1,73 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400aadd0 FUN_1400aadd0 + * Pseudocode, not original source. */ + +void FUN_1400aadd0(IMAGE_DOS_HEADER *param_1,IMAGE_DOS_HEADER *param_2,undefined8 param_3, + undefined ***param_4) + +{ + longlong lVar1; + longlong lVar2; + longlong *plVar3; + longlong *plVar4; + undefined1 local_78 [56]; + word local_40 [2]; + undefined2 local_3c; + byte local_38; + + (**(code **)(*(longlong *)(*(longlong *)¶m_1[2].e_cparhdr + 0x78) + 0x10))(); + lVar1 = *(longlong *)¶m_1[2].e_cparhdr; + lVar2 = *(longlong *)(lVar1 + 0x6f8); + while( true ) { + if (lVar2 == 0) { + return; + } + lVar2 = *(longlong *)(lVar1 + 0x6e8); + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + FUN_140080700((undefined4 *)local_78,(undefined4 *)(lVar2 + 0x10)); + local_78._40_4_ = *(undefined4 *)(lVar2 + 0x38); + local_78._48_8_ = Proud::AddrPort::vftable; + local_40 = *(word (*) [2])(lVar2 + 0x48); + local_3c = *(undefined2 *)(lVar2 + 0x4c); + local_38 = *(byte *)(lVar2 + 0x50); + FUN_1400aa720(param_1,param_2,(IMAGE_DOS_HEADER *)local_78,param_4); + plVar3 = *(longlong **)(lVar1 + 0x6e8); + if (plVar3 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + lVar2 = *plVar3; + *(longlong *)(lVar1 + 0x6e8) = lVar2; + if (lVar2 == 0) { + *(undefined8 *)(lVar1 + 0x6f0) = 0; + } + else { + *(undefined8 *)(lVar2 + 8) = 0; + } + FUN_140095270(plVar3 + 3); + if (plVar3[4] != 0) { + if (*(int *)((longlong)plVar3 + 0x2c) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(plVar3 + 5) = 0; + } + plVar4 = *(longlong **)(lVar1 + 0x6e0); + if (plVar4 == (longlong *)0x0) { + FUN_1400302f0(plVar3); + } + else { + (**(code **)(*plVar4 + 0x10))(plVar4,plVar3); + } + *(longlong *)(lVar1 + 0x6f8) = *(longlong *)(lVar1 + 0x6f8) + -1; + FUN_140095270((longlong *)(local_78 + 8)); + if ((local_78._16_8_ != 0) && ((int)local_78._28_4_ < 0)) break; + lVar2 = *(longlong *)(lVar1 + 0x6f8); + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400aaf80.c b/decomp/Agent_Release_x64/full/functions/0x1400aaf80.c new file mode 100644 index 00000000..eb9b9a4a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400aaf80.c @@ -0,0 +1,183 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400aaf80 FUN_1400aaf80 + * Pseudocode, not original source. */ + +void FUN_1400aaf80(IMAGE_DOS_HEADER *param_1,IMAGE_DOS_HEADER *param_2,undefined **param_3, + undefined ***param_4) + +{ + undefined **ppuVar1; + int *piVar2; + longlong *plVar3; + longlong lVar4; + char cVar5; + IMAGE_DOS_HEADER *pIVar6; + undefined8 uVar7; + undefined **ppuVar8; + IMAGE_DOS_HEADER *pIVar9; + int *piVar10; + undefined ***pppuVar11; + int iVar12; + undefined **ppuVar13; + longlong lVar14; + uint local_res8 [2]; + undefined **local_res10; + longlong local_e8; + undefined **local_e0; + undefined4 local_d8; + undefined2 local_d4; + undefined **local_d0; + undefined8 local_c8; + longlong local_c0; + undefined8 local_b8; + undefined4 local_b0; + undefined4 local_ac; + undefined **local_a8; + undefined4 local_a0; + undefined2 local_9c; + undefined **local_98; + undefined4 local_90; + word local_8c; + undefined **local_88; + word local_80 [2]; + word local_7c; + undefined **local_78; + word local_70 [2]; + word local_6c; + int *local_68; + undefined1 local_60; + byte local_58 [32]; + + local_58[0] = 0xfe; + local_58[1] = 0xff; + local_58[2] = 0xff; + local_58[3] = 0xff; + local_58[4] = 0xff; + local_58[5] = 0xff; + local_58[6] = 0xff; + local_58[7] = 0xff; + pIVar6 = param_2; + ppuVar13 = param_3; + (**(code **)(*(longlong *)(*(longlong *)¶m_1[2].e_cparhdr + 0x78) + 0x10))(); + param_2[1].e_program[0] = 0; + if ((*(double *)(param_2[2].e_program + 8) == 0.0) && (0 < *(int *)(param_3 + 1))) { + lVar14 = (**(code **)(*(longlong *)(*(longlong *)¶m_1[2].e_cparhdr + 0x70) + 0x1c0))(); + plVar3 = (longlong *)(*(longlong *)¶m_1[2].e_cparhdr + 0x678); + *plVar3 = *plVar3 + 1; + lVar4 = *(longlong *)¶m_1[2].e_cparhdr; + plVar3 = (longlong *)(lVar4 + 0x680); + *plVar3 = *plVar3 + (longlong)*(int *)(param_3 + 1); + local_e0 = Proud::AddrPort::vftable; + pIVar9 = (IMAGE_DOS_HEADER *)0x0; + local_d8 = 0; + local_d4 = 0; + local_e8 = 0; + FUN_140030200(lVar4,pIVar6,ppuVar13,param_4); + local_res10 = (undefined **)PTR_DAT_140155010; + local_78 = Proud::AddrPort::vftable; + local_80 = *(word (*) [2])(param_3 + 6); + local_7c = *(word *)((longlong)param_3 + 0x34); + local_88 = Proud::AddrPort::vftable; + pIVar6 = pIVar9; + if (*(undefined8 **)(param_2 + 2) != (undefined8 *)0x0) { + pIVar6 = (IMAGE_DOS_HEADER *)**(undefined8 **)(param_2 + 2); + } + pppuVar11 = *(undefined ****)¶m_2[3].e_cparhdr; + local_70 = local_80; + local_6c = local_7c; + cVar5 = (**(code **)(**(longlong **)¶m_1[2].e_cparhdr + 0xe0)) + (*(longlong **)¶m_1[2].e_cparhdr,&local_78); + pIVar6 = (IMAGE_DOS_HEADER *)FUN_140035710((longlong)pIVar6); + param_4 = &local_88; + ppuVar13 = (undefined **)(ulonglong)*(uint *)(param_3 + 1); + uVar7 = FUN_14009a550(pppuVar11,(longlong)pIVar6,*(uint *)(param_3 + 1),(longlong)param_4,cVar5, + lVar14,&local_e8,(longlong *)&local_res10); + if ((int)uVar7 == 0) { + local_c8 = 0; + local_c0 = 0; + local_b8 = 0; + local_d0 = Proud::CReceivedMessageList::vftable; + local_b0 = 1000; + local_ac = 1; + local_a8 = Proud::AddrPort::vftable; + local_a0 = local_d8; + local_9c = local_d4; + ppuVar13 = (undefined **)(ulonglong)*(uint *)(local_e8 + 0x40); + pIVar6 = pIVar9; + if (*(uint *)(local_e8 + 0x40) != 0) { + pIVar6 = *(IMAGE_DOS_HEADER **)(local_e8 + 0x38); + } + param_4 = &local_a8; + pppuVar11 = *(undefined ****)¶m_1[2].e_cparhdr; + FUN_140074030(pppuVar11,(longlong)pIVar6,ppuVar13,(longlong)param_4,(uint *)&local_d0, + local_res8); + while (iVar12 = (int)pIVar9, iVar12 != (int)local_b8) { + if ((iVar12 < 0) || ((int)local_b8 <= iVar12)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar11,pIVar6,ppuVar13,param_4); + } + pIVar6 = (IMAGE_DOS_HEADER *)(local_c0 + (longlong)iVar12 * 0x48); + lVar4 = *(longlong *)¶m_1[2].e_cparhdr; + param_4 = (undefined ***)0x0; + ppuVar13 = *(undefined ***)(lVar4 + 0x6f0); + ppuVar8 = (undefined **) + FUN_1400a6640((longlong *)(lVar4 + 0x6e0),(undefined4 *)pIVar6,ppuVar13,0); + pppuVar11 = *(undefined ****)(lVar4 + 0x6f0); + if (pppuVar11 == (undefined ***)0x0) { + *(undefined ***)(lVar4 + 0x6e8) = ppuVar8; + } + else { + *pppuVar11 = ppuVar8; + } + *(undefined ***)(lVar4 + 0x6f0) = ppuVar8; + if ((int)local_b8 <= iVar12) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppuVar11,pIVar6,ppuVar13,param_4); + } + pIVar9 = (IMAGE_DOS_HEADER *)(ulonglong)(iVar12 + 1); + } + if ((*(longlong *)(param_2[2].e_res_4_ + 2) != 0) || + (lVar4._0_2_ = param_1[2].e_cparhdr, lVar4._2_2_ = param_1[2].e_minalloc, + lVar4._4_2_ = param_1[2].e_maxalloc, lVar4._6_2_ = param_1[2].e_ss, + pIVar9 = (IMAGE_DOS_HEADER *)FUN_140064bc0(lVar4), param_2 == pIVar9)) { + pIVar6 = param_2; + FUN_1400aadd0(param_1,param_2,ppuVar13,param_4); + } + pppuVar11 = &local_d0; + FUN_140089980(pppuVar11); + } + else if ((int)uVar7 == 2) { + ppuVar13 = local_res10; + if (local_res10 == (undefined **)0x0) { + ppuVar13 = (undefined **)PTR_DAT_140155010; + } + local_98 = Proud::AddrPort::vftable; + local_90 = *(undefined4 *)(param_3 + 6); + local_8c = *(word *)((longlong)param_3 + 0x34); + pppuVar11 = (undefined ***)(*(longlong *)¶m_1[2].e_cparhdr + 0x88); + pIVar6 = (IMAGE_DOS_HEADER *)&local_98; + (*(code *)**pppuVar11)(); + } + ppuVar8 = local_res10; + if (((local_res10 != (undefined **)0x0) && (local_res10 != (undefined **)PTR_DAT_140155010)) && + (ppuVar1 = local_res10 + -1, ppuVar1 != (undefined **)0x0)) { + piVar10 = (int *)FUN_140030200(pppuVar11,pIVar6,ppuVar13,param_4); + local_68 = piVar10; + FUN_14002e6e0(piVar10); + local_60 = 1; + piVar2 = (int *)((longlong)ppuVar8 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(ppuVar1); + } + FUN_14002e770((longlong)piVar10); + } + local_res10 = (undefined **)PTR_DAT_140155010; + if (local_e8 != 0) { + FUN_140086680(local_e8,pIVar6,(SIZE_T)ppuVar13); + } + } + FUN_1400b6ec0((longlong)param_2,pIVar6,ppuVar13,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ab2e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ab2e0.c new file mode 100644 index 00000000..2d548d46 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ab2e0.c @@ -0,0 +1,115 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ab2e0 FUN_1400ab2e0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400ab2e0(IMAGE_DOS_HEADER *param_1,undefined8 param_2,undefined8 param_3, + undefined ***param_4) + +{ + longlong *plVar1; + longlong lVar2; + int *piVar3; + int *piVar4; + undefined8 *puVar5; + undefined8 uVar6; + ulonglong uVar7; + int local_b8; + int local_b4; + longlong local_b0; + longlong local_a8; + int local_a0; + int local_9c; + undefined1 local_98; + undefined4 local_90; + undefined **local_88; + undefined4 local_80; + undefined2 local_7c; + undefined1 local_78; + int *local_68; + undefined1 local_60; + undefined4 local_58 [2]; + longlong local_50; + longlong local_48; + int local_3c; + undefined8 local_30; + + local_30 = 0xfffffffffffffffe; + piVar3 = (int *)(**(code **)(**(longlong **)¶m_1[2].e_cparhdr + 0x58))(); + local_68 = piVar3; + FUN_14002e6e0(piVar3); + local_60 = 1; + if (*(longlong *)(*(longlong *)¶m_1[2].e_cparhdr + 0x1548) == 0) { + uVar7 = FUN_14002e770((longlong)piVar3); + uVar7 = uVar7 & 0xffffffffffffff00; + } + else { + FUN_1400806d0(&local_b8); + local_88 = Proud::AddrPort::vftable; + local_78 = 0; + local_80 = DAT_1401553d0; + local_7c = DAT_1401553d4; + local_90 = *(undefined4 *)(*(longlong *)¶m_1[2].e_cparhdr + 0x1578); + piVar4 = FUN_1400a7950((longlong *)(*(longlong *)¶m_1[2].e_cparhdr + 0x1530),local_58); + local_b8 = *piVar4; + local_b4 = piVar4[1]; + if (*(longlong *)(piVar4 + 2) == local_b0) { + local_9c = piVar4[7]; + local_a8 = *(longlong *)(piVar4 + 4); + local_a0 = piVar4[6]; + } + else { + FUN_140095270(&local_b0); + if (*(longlong *)(piVar4 + 2) != 0) { + plVar1 = (longlong *)(*(longlong *)(piVar4 + 2) + 0x28); + *plVar1 = *plVar1 + 1; + local_b0 = *(longlong *)(piVar4 + 2); + } + } + local_98 = (undefined1)piVar4[8]; + FUN_140095270(&local_50); + if ((local_48 != 0) && (local_3c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_1400802d0(&local_b8,0,param_3,param_4); + lVar2 = *(longlong *)¶m_1[2].e_cparhdr; + uVar6 = *(undefined8 *)(lVar2 + 0x6f0); + if (*(longlong **)(lVar2 + 0x6e0) == (longlong *)0x0) { + puVar5 = (undefined8 *)FUN_140030280(0x58); + } + else { + puVar5 = (undefined8 *)(**(code **)(**(longlong **)(lVar2 + 0x6e0) + 8))(); + } + if (puVar5 != (undefined8 *)0x0) { + FUN_140080700((undefined4 *)(puVar5 + 2),&local_b8); + *(undefined4 *)(puVar5 + 7) = local_90; + puVar5[8] = Proud::AddrPort::vftable; + *(undefined4 *)(puVar5 + 9) = local_80; + *(undefined2 *)((longlong)puVar5 + 0x4c) = local_7c; + *(undefined1 *)(puVar5 + 10) = local_78; + } + puVar5[1] = uVar6; + *puVar5 = 0; + *(longlong *)(lVar2 + 0x6f8) = *(longlong *)(lVar2 + 0x6f8) + 1; + if (*(undefined8 **)(lVar2 + 0x6f0) == (undefined8 *)0x0) { + *(undefined8 **)(lVar2 + 0x6e8) = puVar5; + } + else { + **(undefined8 **)(lVar2 + 0x6f0) = puVar5; + } + *(undefined8 **)(lVar2 + 0x6f0) = puVar5; + FUN_1400aadd0(param_1,(IMAGE_DOS_HEADER *)0x0,param_3,param_4); + FUN_140095270(&local_b0); + if (local_a8 != 0) { + if (local_9c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_a0 = 0; + } + uVar6 = FUN_14002e770((longlong)piVar3); + uVar7 = CONCAT71((int7)((ulonglong)uVar6 >> 8),1); + } + return uVar7; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ab530.c b/decomp/Agent_Release_x64/full/functions/0x1400ab530.c new file mode 100644 index 00000000..fa1c10ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ab530.c @@ -0,0 +1,377 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ab530 FUN_1400ab530 + * Pseudocode, not original source. */ + +void FUN_1400ab530(IMAGE_DOS_HEADER *param_1,longlong param_2,undefined **param_3, + undefined ***param_4) + +{ + undefined **ppuVar1; + longlong *plVar2; + int iVar3; + int iVar4; + int iVar5; + longlong lVar6; + longlong lVar7; + longlong *plVar8; + char cVar9; + uint uVar10; + uint uVar12; + longlong lVar13; + uint uVar11; + int *piVar14; + uint *puVar15; + int *piVar16; + undefined8 *puVar17; + longlong lVar18; + longlong *plVar19; + ulonglong uVar20; + undefined **ppuVar21; + longlong lVar22; + undefined ***pppuVar23; + int iVar24; + ulonglong uVar25; + uint uVar26; + undefined8 uVar27; + longlong **pplVar28; + uint uVar29; + undefined8 uVar30; + undefined8 uVar31; + undefined **local_res8; + undefined **local_res10; + longlong *local_res18; + undefined **local_50; + undefined8 local_48; + longlong local_40; + undefined8 local_38; + undefined4 local_30; + undefined4 local_2c; + + lVar22 = param_2; + (**(code **)(*(longlong *)(*(longlong *)¶m_1[2].e_cparhdr + 0x78) + 0x10))(); + lVar18._0_2_ = param_1[2].e_cparhdr; + lVar18._2_2_ = param_1[2].e_minalloc; + lVar18._4_2_ = param_1[2].e_maxalloc; + lVar18._6_2_ = param_1[2].e_ss; + lVar13 = FUN_140064be0(lVar18); + *(undefined1 *)(lVar13 + 0xc0) = 0; + if (*(int *)(param_2 + 8) < 1) { + FUN_140030200(lVar18,lVar22,param_3,param_4); + local_res10 = (undefined **)PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_res10,L"compeltedlength < 0 recvcomplete errorcode:%d", + (ulonglong)*(uint *)(param_2 + 0xc),param_4); + param_4 = &local_res10; + lVar22 = 0xb; + param_3 = (undefined **)0x3; + plVar19 = *(longlong **)¶m_1[2].e_cparhdr; + FUN_14007dca0(plVar19,0xb,(undefined *)0x3,(longlong **)param_4); + iVar24._0_1_ = param_1[2].e_magic[0]; + iVar24._1_1_ = param_1[2].e_magic[1]; + iVar24._2_2_ = param_1[2].e_cblp; + if (iVar24 < 4) { + param_1->e_program[0] = 0; + param_1->e_program[1] = 0; + param_1->e_program[2] = 0; + param_1->e_program[3] = 0; + param_1[2].e_magic[0] = '\x04'; + param_1[2].e_magic[1] = '\0'; + param_1[2].e_cblp = 0; + plVar19 = (longlong *)(*(longlong *)¶m_1[2].e_cparhdr + 0x70); + uVar30 = (**(code **)(*plVar19 + 0x1c0))(); + param_1[1].e_magic[0] = (char)uVar30; + param_1[1].e_magic[1] = (char)((ulonglong)uVar30 >> 8); + param_1[1].e_cblp = (short)((ulonglong)uVar30 >> 0x10); + param_1[1].e_cp = (short)((ulonglong)uVar30 >> 0x20); + param_1[1].e_crlc = (short)((ulonglong)uVar30 >> 0x30); + param_1[1].e_program[0] = 0; + } + ppuVar21 = local_res10; + if (((local_res10 != (undefined **)0x0) && (local_res10 != (undefined **)PTR_DAT_140155010)) && + (ppuVar1 = local_res10 + -1, ppuVar1 != (undefined **)0x0)) { + piVar14 = (int *)FUN_140030200(plVar19,lVar22,param_3,param_4); + FUN_14002e6e0(piVar14); + piVar16 = (int *)((longlong)ppuVar21 + -4); + *piVar16 = *piVar16 + -1; + if (*piVar16 == 0) { + FUN_1400302f0(ppuVar1); + } + FUN_14002e770((longlong)piVar14); + } + local_res10 = (undefined **)PTR_DAT_140155010; + goto LAB_1400aba47; + } + lVar13._0_2_ = param_1[2].e_cparhdr; + lVar13._2_2_ = param_1[2].e_minalloc; + lVar13._4_2_ = param_1[2].e_maxalloc; + lVar13._6_2_ = param_1[2].e_ss; + lVar18 = FUN_140064be0(lVar13); + uVar25 = 0; + uVar12 = 0; + uVar20 = uVar25; + if (*(ulonglong **)(lVar18 + 0x128) != (ulonglong *)0x0) { + uVar20 = **(ulonglong **)(lVar18 + 0x128); + } + cVar9 = FUN_140035730(uVar20); + uVar26 = 0; + if (cVar9 == '\0') { + uVar30 = (**(code **)(*(longlong *)(*(longlong *)¶m_1[2].e_cparhdr + 0x70) + 0x1c0))(); + *(undefined8 *)(*(longlong *)¶m_1[2].e_cparhdr + 0x18c0) = uVar30; + lVar22._0_2_ = param_1[2].e_cparhdr; + lVar22._2_2_ = param_1[2].e_minalloc; + lVar22._4_2_ = param_1[2].e_maxalloc; + lVar22._6_2_ = param_1[2].e_ss; + lVar18 = FUN_140064be0(lVar22); + uVar20 = uVar25; + if (*(ulonglong **)(lVar18 + 0x128) != (ulonglong *)0x0) { + uVar20 = **(ulonglong **)(lVar18 + 0x128); + } + puVar17 = (undefined8 *)FUN_140035710(uVar20); + lVar6._0_2_ = param_1[2].e_cparhdr; + lVar6._2_2_ = param_1[2].e_minalloc; + lVar6._4_2_ = param_1[2].e_maxalloc; + lVar6._6_2_ = param_1[2].e_ss; + lVar18 = FUN_140064be0(lVar6); + param_3 = (undefined **)(ulonglong)*(uint *)(param_2 + 8); + FUN_1400bbc90((longlong *)(lVar18 + 0x130),puVar17,(SIZE_T)param_3); + plVar19 = (longlong *)(*(longlong *)¶m_1[2].e_cparhdr + 0x658); + *plVar19 = *plVar19 + (longlong)*(int *)(param_2 + 8); + local_48 = 0; + local_40 = 0; + local_38 = 0; + local_50 = Proud::CReceivedMessageList::vftable; + local_30 = 1000; + local_2c = 1; + pppuVar23 = &local_50; + plVar19 = *(longlong **)¶m_1[2].e_cparhdr; + FUN_1400744e0(plVar19,(longlong)pppuVar23,param_3,param_4); + while (iVar24 = (int)uVar25, iVar24 != (int)local_38) { + if ((iVar24 < 0) || ((int)local_38 <= iVar24)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar19,pppuVar23,param_3,param_4); + } + pppuVar23 = (undefined ***)(local_40 + (longlong)iVar24 * 0x48); + lVar18 = *(longlong *)¶m_1[2].e_cparhdr; + param_4 = (undefined ***)0x0; + param_3 = *(undefined ***)(lVar18 + 0x6f0); + puVar17 = FUN_1400a6640((longlong *)(lVar18 + 0x6e0),(undefined4 *)pppuVar23,param_3,0); + plVar19 = *(longlong **)(lVar18 + 0x6f0); + if (plVar19 == (longlong *)0x0) { + *(undefined8 **)(lVar18 + 0x6e8) = puVar17; + } + else { + *plVar19 = (longlong)puVar17; + } + *(undefined8 **)(lVar18 + 0x6f0) = puVar17; + if ((int)local_38 <= iVar24) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar19,pppuVar23,param_3,param_4); + } + uVar25 = (ulonglong)(iVar24 + 1); + } + lVar22 = 0; + FUN_1400aadd0(param_1,(IMAGE_DOS_HEADER *)0x0,param_3,param_4); + FUN_140089980(&local_50); + goto LAB_1400aba47; + } + iVar3._0_1_ = param_1[2].e_magic[0]; + iVar3._1_1_ = param_1[2].e_magic[1]; + iVar3._2_2_ = param_1[2].e_cblp; + if (3 < iVar3) goto LAB_1400aba47; + FUN_140030200(uVar20,lVar22,param_3,param_4); + local_res8 = (undefined **)PTR_DAT_140155010; + uVar10 = FUN_140030080(L"close socket completion"); + if ((local_res8 != (undefined **)0x0) && + (uVar25 = 0, local_res8 != (undefined **)PTR_DAT_140155010)) { + uVar25 = (ulonglong)*(uint *)(local_res8 + -1); + } + uVar11 = uVar10; + if ((((int)uVar10 <= (int)uVar25) && (uVar11 = uVar26, local_res8 != (undefined **)0x0)) && + (local_res8 != (undefined **)PTR_DAT_140155010)) { + uVar11 = *(uint *)(local_res8 + -1); + } + uVar29 = 1; + if (1 < (int)uVar11) { + uVar29 = uVar11; + } + uVar11 = uVar26; + if ((local_res8 != (undefined **)0x0) && (local_res8 != (undefined **)PTR_DAT_140155010)) { + uVar11 = *(uint *)(local_res8 + -1); + } + if ((int)uVar11 < (int)uVar29) { + if (local_res8 == (undefined **)0x0) { + local_res8 = (undefined **)PTR_DAT_140155010; + } + if ((int)uVar29 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar29 == 0) { + FUN_140003240((longlong *)&local_res8,PTR_DAT_140155010,uVar25,param_4); + } + else { + uVar11 = uVar26; + if ((local_res8 != (undefined **)0x0) && (local_res8 != (undefined **)PTR_DAT_140155010)) { + uVar11 = *(uint *)(local_res8 + -1); + } + if (uVar29 != uVar11) { + puVar15 = (uint *)FUN_140030280((longlong)(int)uVar29 * 2 + 10); + if (puVar15 != (uint *)0x0) { + *puVar15 = 0; + puVar15[1] = 1; + } + *puVar15 = uVar29; + uVar11 = uVar26; + if ((local_res8 != (undefined **)0x0) && (local_res8 != (undefined **)PTR_DAT_140155010)) { + uVar11 = *(uint *)(local_res8 + -1); + } + ppuVar21 = (undefined **)PTR_DAT_140155010; + if ((int)uVar29 < (int)uVar11) { +LAB_1400ab79c: + if (local_res8 != (undefined **)0x0) { + ppuVar21 = local_res8; + } + } + else { + uVar29 = uVar26; + if (local_res8 != (undefined **)0x0) { + if (local_res8 != (undefined **)PTR_DAT_140155010) { + uVar29 = *(uint *)(local_res8 + -1); + } + goto LAB_1400ab79c; + } + } + uVar20 = (ulonglong)uVar29; + FUN_1400300b0(puVar15 + 2,ppuVar21,uVar29); + FUN_140003240((longlong *)&local_res8,ppuVar21,uVar20,param_4); + local_res8 = (undefined **)(puVar15 + 2); + } + } + } + FUN_140002ea0((longlong *)&local_res8); + ppuVar21 = local_res8; + if (local_res8 == (undefined **)0x0) { + ppuVar21 = (undefined **)PTR_DAT_140155010; + } + FUN_1400300b0(ppuVar21,L"close socket completion",uVar10); + ppuVar21 = local_res8; + if (local_res8 == (undefined **)0x0) { + ppuVar21 = (undefined **)PTR_DAT_140155010; + } + uVar10 = FUN_140030080((short *)ppuVar21); + uVar26 = uVar12; + if (0 < (int)uVar10) { + uVar26 = uVar10; + } + uVar10 = uVar12; + if ((local_res8 != (undefined **)0x0) && (local_res8 != (undefined **)PTR_DAT_140155010)) { + uVar10 = *(uint *)(local_res8 + -1); + } + if (((int)uVar26 < (int)uVar10) || (uVar26 = uVar12, local_res8 == (undefined **)0x0)) { +LAB_1400ab82f: + if (((local_res8 != (undefined **)PTR_DAT_140155010) && (local_res8 != (undefined **)0x0)) && + (local_res8 + -1 != (undefined **)0x0)) { + *(uint *)(local_res8 + -1) = uVar26; + *(undefined2 *)((longlong)local_res8 + (longlong)(int)uVar26 * 2) = 0; + } + } + else if (local_res8 != (undefined **)PTR_DAT_140155010) { + uVar26 = *(uint *)(local_res8 + -1); + goto LAB_1400ab82f; + } + param_4 = &local_res8; + lVar22 = 0xb; + param_3 = (undefined **)0x3; + plVar19 = *(longlong **)¶m_1[2].e_cparhdr; + FUN_14007dca0(plVar19,0xb,(undefined *)0x3,(longlong **)param_4); + ppuVar21 = local_res8; + if (((local_res8 != (undefined **)0x0) && (local_res8 != (undefined **)PTR_DAT_140155010)) && + (ppuVar1 = local_res8 + -1, ppuVar1 != (undefined **)0x0)) { + piVar16 = (int *)FUN_140030200(plVar19,lVar22,param_3,param_4); + FUN_14002e6e0(piVar16); + puVar15 = (uint *)((longlong)ppuVar21 + -4); + *puVar15 = *puVar15 - 1; + if (*puVar15 == 0) { + FUN_1400302f0(ppuVar1); + } + FUN_14002e770((longlong)piVar16); + } + local_res8 = (undefined **)PTR_DAT_140155010; + iVar4._0_1_ = param_1[2].e_magic[0]; + iVar4._1_1_ = param_1[2].e_magic[1]; + iVar4._2_2_ = param_1[2].e_cblp; + if (iVar4 < 4) { + param_1->e_program[0] = 0; + param_1->e_program[1] = 0; + param_1->e_program[2] = 0; + param_1->e_program[3] = 0; + param_1[2].e_magic[0] = '\x04'; + param_1[2].e_magic[1] = '\0'; + param_1[2].e_cblp = 0; + uVar30 = (**(code **)(*(longlong *)(*(longlong *)¶m_1[2].e_cparhdr + 0x70) + 0x1c0))(); + param_1[1].e_magic[0] = (char)uVar30; + param_1[1].e_magic[1] = (char)((ulonglong)uVar30 >> 8); + param_1[1].e_cblp = (short)((ulonglong)uVar30 >> 0x10); + param_1[1].e_cp = (short)((ulonglong)uVar30 >> 0x20); + param_1[1].e_crlc = (short)((ulonglong)uVar30 >> 0x30); + param_1[1].e_program[0] = 0; + } +LAB_1400aba47: + lVar18 = 0; + plVar19 = *(longlong **)(*(longlong *)¶m_1[2].e_cparhdr + 0x5d0); + if (plVar19 != (longlong *)0x0) { + lVar18 = *plVar19; + } + if (*(int *)(lVar18 + 0x100) < 4) { + lVar7._0_2_ = param_1[2].e_cparhdr; + lVar7._2_2_ = param_1[2].e_minalloc; + lVar7._4_2_ = param_1[2].e_maxalloc; + lVar7._6_2_ = param_1[2].e_ss; + lVar18 = FUN_140064be0(lVar7); + uVar12 = FUN_1400b2a10(lVar18,lVar22,param_3,param_4); + if (uVar12 != 0) { + FUN_140030200(lVar18,lVar22,param_3,param_4); + local_res18 = (longlong *)PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_res18,L"%d Tcp issueRecv Failed SocketErrorCode", + (ulonglong)uVar12,param_4); + pplVar28 = &local_res18; + uVar30 = 3; + uVar27 = 1; + plVar19 = *(longlong **)¶m_1[2].e_cparhdr; + FUN_14007dca0(plVar19,3,(undefined *)0x1,pplVar28); + iVar5._0_1_ = param_1[2].e_magic[0]; + iVar5._1_1_ = param_1[2].e_magic[1]; + iVar5._2_2_ = param_1[2].e_cblp; + if (iVar5 < 4) { + param_1->e_program[0] = 0; + param_1->e_program[1] = 0; + param_1->e_program[2] = 0; + param_1->e_program[3] = 0; + param_1[2].e_magic[0] = '\x04'; + param_1[2].e_magic[1] = '\0'; + param_1[2].e_cblp = 0; + plVar19 = (longlong *)(*(longlong *)¶m_1[2].e_cparhdr + 0x70); + uVar31 = (**(code **)(*plVar19 + 0x1c0))(); + param_1[1].e_magic[0] = (char)uVar31; + param_1[1].e_magic[1] = (char)((ulonglong)uVar31 >> 8); + param_1[1].e_cblp = (short)((ulonglong)uVar31 >> 0x10); + param_1[1].e_cp = (short)((ulonglong)uVar31 >> 0x20); + param_1[1].e_crlc = (short)((ulonglong)uVar31 >> 0x30); + param_1[1].e_program[0] = 0; + } + plVar8 = local_res18; + if (((local_res18 != (longlong *)0x0) && (local_res18 != (longlong *)PTR_DAT_140155010)) && + (plVar2 = local_res18 + -1, plVar2 != (longlong *)0x0)) { + piVar14 = (int *)FUN_140030200(plVar19,uVar30,uVar27,pplVar28); + FUN_14002e6e0(piVar14); + piVar16 = (int *)((longlong)plVar8 + -4); + *piVar16 = *piVar16 + -1; + if (*piVar16 == 0) { + FUN_1400302f0(plVar2); + } + FUN_14002e770((longlong)piVar14); + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400abb70.c b/decomp/Agent_Release_x64/full/functions/0x1400abb70.c new file mode 100644 index 00000000..8204dbe3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400abb70.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400abb70 FUN_1400abb70 + * Pseudocode, not original source. */ + +void FUN_1400abb70(IMAGE_DOS_HEADER *param_1,longlong *param_2,wchar_t *param_3,undefined ***param_4 + ) + +{ + int iVar1; + int iVar2; + longlong lVar3; + undefined8 uVar4; + double dVar5; + + FUN_140075880(*(longlong **)¶m_1[2].e_cparhdr,param_2,param_3,param_4); + FUN_1400a4f60((longlong)param_1,param_2,param_3,(longlong **)param_4); + FUN_1400a40f0((longlong)param_1,param_2,(undefined *)param_3,(undefined1 *)param_4); + do { + dVar5 = (double)(**(code **)(*(longlong *)(*(longlong *)¶m_1[2].e_cparhdr + 0x70) + 0x1c0)) + (*(longlong *)¶m_1[2].e_cparhdr + 0x70); + if ((0.0 < *(double *)(param_1[1].e_program + 0x10)) && + (dVar5 = dVar5 - *(double *)(param_1[1].e_program + 0x10), + *(double *)(param_1[1].e_program + 0x18) <= dVar5 && + dVar5 != *(double *)(param_1[1].e_program + 0x18))) { + iVar2._0_1_ = param_1[2].e_magic[0]; + iVar2._1_1_ = param_1[2].e_magic[1]; + iVar2._2_2_ = param_1[2].e_cblp; + if (iVar2 < 4) { + lVar3 = *(longlong *)¶m_1[2].e_cparhdr; + param_1->e_program[0] = 0; + param_1->e_program[1] = 0; + param_1->e_program[2] = 0; + param_1->e_program[3] = 0; + param_1[2].e_magic[0] = '\x04'; + param_1[2].e_magic[1] = '\0'; + param_1[2].e_cblp = 0; + uVar4 = (**(code **)(*(longlong *)(lVar3 + 0x70) + 0x1c0))(lVar3 + 0x70); + param_1[1].e_magic[0] = (char)uVar4; + param_1[1].e_magic[1] = (char)((ulonglong)uVar4 >> 8); + param_1[1].e_cblp = (short)((ulonglong)uVar4 >> 0x10); + param_1[1].e_cp = (short)((ulonglong)uVar4 >> 0x20); + param_1[1].e_crlc = (short)((ulonglong)uVar4 >> 0x30); + param_1[1].e_program[0] = 0; + } + return; + } + uVar4 = FUN_1400ab2e0(param_1,param_2,param_3,param_4); + iVar1._0_1_ = param_1[2].e_magic[0]; + iVar1._1_1_ = param_1[2].e_magic[1]; + iVar1._2_2_ = param_1[2].e_cblp; + if (iVar1 == 4) { + return; + } + } while ((char)uVar4 != '\0'); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400abc40.c b/decomp/Agent_Release_x64/full/functions/0x1400abc40.c new file mode 100644 index 00000000..6714dd64 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400abc40.c @@ -0,0 +1,63 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400abc40 FUN_1400abc40 + * Pseudocode, not original source. */ + +undefined8 FUN_1400abc40(longlong param_1,undefined8 *param_2) + +{ + bool bVar1; + uint uVar2; + undefined *puVar3; + longlong lVar4; + undefined8 uVar5; + IMAGE_DOS_HEADER *pIVar6; + int *piVar7; + wchar_t *pwVar8; + int *piVar9; + TypeDescriptor *pTVar10; + ulonglong uVar11; + TypeDescriptor *pTVar12; + undefined *local_res18; + + pTVar12 = &Proud::CTcpLayer_C::RTTI_Type_Descriptor; + pTVar10 = &Proud::ICompletionContext::RTTI_Type_Descriptor; + uVar5 = 0; + puVar3 = (undefined *)__RTDynamicCast(*param_2); + if (puVar3 == (undefined *)0x0) { + uVar5 = 0; + } + else { + piVar9 = (int *)(param_1 + 0x10); + local_res18 = puVar3; + FUN_14002e6e0(piVar9); + bVar1 = true; + if (*(int *)(param_2 + 2) == 1) { + lVar4 = (**(code **)(**(longlong **)(puVar3 + 0x120) + 0x38))(); + uVar5 = FUN_1400a56f0(lVar4,(ulonglong)param_2,pTVar10,pTVar12); + } + else if (*(int *)(param_2 + 2) == 2) { + pIVar6 = (IMAGE_DOS_HEADER *)(**(code **)(**(longlong **)(puVar3 + 0x120) + 0x38))(); + uVar5 = FUN_1400ab530(pIVar6,(longlong)param_2,&pTVar10->pVFTable,&pTVar12->pVFTable); + } + else { + piVar7 = piVar9; + FUN_14002e770((longlong)piVar9); + bVar1 = false; + FUN_140030200(piVar7,uVar5,pTVar10,pTVar12); + local_res18 = PTR_DAT_140155010; + uVar2 = FUN_140030080(L"Unexpected at Client IOCP TCP completion!"); + puVar3 = FUN_140002f90((longlong *)&local_res18,uVar2); + uVar11 = (ulonglong)uVar2; + pwVar8 = L"Unexpected at Client IOCP TCP completion!"; + FUN_1400300b0(puVar3,L"Unexpected at Client IOCP TCP completion!",uVar2); + FUN_140003070((longlong *)&local_res18); + uVar5 = FUN_140033120((longlong *)&local_res18,pwVar8,uVar11,pTVar12); + } + if (bVar1) { + uVar5 = FUN_14002e770((longlong)piVar9); + } + uVar5 = CONCAT71((int7)((ulonglong)uVar5 >> 8),1); + } + return uVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400abda0.c b/decomp/Agent_Release_x64/full/functions/0x1400abda0.c new file mode 100644 index 00000000..56c6a51c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400abda0.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400abda0 FUN_1400abda0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400abda0(longlong param_1,undefined **param_2) + +{ + longlong *plVar1; + undefined8 *puVar2; + bool bVar3; + uint uVar4; + IMAGE_DOS_HEADER *pIVar5; + undefined8 uVar6; + undefined *puVar7; + int *piVar8; + wchar_t *pwVar9; + IMAGE_DOS_HEADER *pIVar10; + TypeDescriptor *pTVar11; + ulonglong uVar12; + TypeDescriptor *pTVar13; + int *piVar14; + IMAGE_DOS_HEADER *local_res18 [2]; + + pIVar10 = (IMAGE_DOS_HEADER *)0x0; + pTVar13 = &Proud::CUdpSocket_C::RTTI_Type_Descriptor; + pTVar11 = &Proud::ICompletionContext::RTTI_Type_Descriptor; + uVar6 = 0; + pIVar5 = (IMAGE_DOS_HEADER *)__RTDynamicCast(*param_2); + if (pIVar5 == (IMAGE_DOS_HEADER *)0x0) { + uVar6 = 0; + } + else { + piVar14 = (int *)(param_1 + 0x10); + local_res18[0] = pIVar5; + FUN_14002e6e0(piVar14); + bVar3 = true; + if (*(int *)(param_2 + 2) == 1) { + plVar1 = *(longlong **)(*(longlong *)&pIVar5[2].e_lfarlc + 0x5d0); + if (plVar1 != (longlong *)0x0) { + pIVar10 = (IMAGE_DOS_HEADER *)*plVar1; + } + uVar6 = FUN_1400a39b0((longlong)pIVar10,(longlong)pIVar5,(longlong)param_2,pTVar13); + } + else if (*(int *)(param_2 + 2) == 2) { + puVar2 = *(undefined8 **)(*(longlong *)&pIVar5[2].e_lfarlc + 0x5d0); + if (puVar2 != (undefined8 *)0x0) { + pIVar10 = (IMAGE_DOS_HEADER *)*puVar2; + } + uVar6 = FUN_1400aaf80(pIVar10,pIVar5,param_2,&pTVar13->pVFTable); + } + else { + piVar8 = piVar14; + FUN_14002e770((longlong)piVar14); + bVar3 = false; + FUN_140030200(piVar8,uVar6,pTVar11,pTVar13); + local_res18[0] = (IMAGE_DOS_HEADER *)PTR_DAT_140155010; + uVar4 = FUN_140030080(L"Unexpected at Client IOCP UDP completion!"); + puVar7 = FUN_140002f90((longlong *)local_res18,uVar4); + uVar12 = (ulonglong)uVar4; + pwVar9 = L"Unexpected at Client IOCP UDP completion!"; + FUN_1400300b0(puVar7,L"Unexpected at Client IOCP UDP completion!",uVar4); + FUN_140003070((longlong *)local_res18); + uVar6 = FUN_140033120((longlong *)local_res18,pwVar9,uVar12,pTVar13); + } + if (bVar3) { + uVar6 = FUN_14002e770((longlong)piVar14); + } + uVar6 = CONCAT71((int7)((ulonglong)uVar6 >> 8),1); + } + return uVar6; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400abf20.c b/decomp/Agent_Release_x64/full/functions/0x1400abf20.c new file mode 100644 index 00000000..a901dc3b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400abf20.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400abf20 FUN_1400abf20 + * Pseudocode, not original source. */ + +void FUN_1400abf20(IMAGE_DOS_HEADER *param_1,longlong *param_2,wchar_t *param_3,undefined ***param_4 + ) + +{ + int *piVar1; + + piVar1 = (int *)(**(code **)(**(longlong **)¶m_1[2].e_cparhdr + 0x58))(); + FUN_14002e6e0(piVar1); + FUN_1400abb70(param_1,param_2,param_3,param_4); + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400abf80.c b/decomp/Agent_Release_x64/full/functions/0x1400abf80.c new file mode 100644 index 00000000..94540b04 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400abf80.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400abf80 FUN_1400abf80 + * Pseudocode, not original source. */ + +void FUN_1400abf80(longlong param_1,uint param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + undefined8 uVar2; + undefined *puVar3; + undefined **ppuVar4; + wchar_t *pwVar5; + ulonglong uVar6; + undefined *local_res8 [4]; + undefined *local_48; + undefined8 local_40; + undefined4 local_38; + undefined8 local_30; + undefined4 local_28; + undefined **local_20; + undefined4 local_18; + undefined2 local_14; + + local_20 = Proud::AddrPort::vftable; + uVar6 = (ulonglong)param_2; + local_48 = (undefined *)0x0; + local_30 = 0; + local_40 = 0; + local_28 = 0; + local_18 = DAT_1401553d0; + local_14 = DAT_1401553d4; + local_38 = 5; + uVar2 = FUN_1400388c0(*(char **)(param_1 + 0x2b8),(longlong *)&local_48,uVar6,param_4); + if ((char)uVar2 != '\0') { + uVar2 = FUN_1400abc40(param_1,&local_48); + if ((char)uVar2 == '\0') { + ppuVar4 = &local_48; + uVar2 = FUN_1400abda0(param_1,ppuVar4); + if ((char)uVar2 == '\0') { + FUN_140030200(param_1,ppuVar4,uVar6,param_4); + local_res8[0] = PTR_DAT_140155010; + uVar1 = FUN_140030080(L"Unexpected at Client IOCP completion!"); + puVar3 = FUN_140002f90((longlong *)local_res8,uVar1); + pwVar5 = L"Unexpected at Client IOCP completion!"; + uVar6 = (ulonglong)uVar1; + FUN_1400300b0(puVar3,L"Unexpected at Client IOCP completion!",uVar1); + FUN_140003070((longlong *)local_res8); + FUN_140033120((longlong *)local_res8,pwVar5,uVar6,param_4); + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ac060.c b/decomp/Agent_Release_x64/full/functions/0x1400ac060.c new file mode 100644 index 00000000..05ffaae6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ac060.c @@ -0,0 +1,55 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ac060 FUN_1400ac060 + * Pseudocode, not original source. */ + +void FUN_1400ac060(IMAGE_DOS_HEADER *param_1,undefined8 param_2,undefined **param_3, + undefined ***param_4) + +{ + uint uVar1; + longlong lVar2; + ulonglong uVar3; + double dVar4; + + uVar1 = *(uint *)(param_1 + 2); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + FUN_1400a8a40((longlong)param_1,0,(undefined *)param_3,param_4); + } + else { + uVar3 = (ulonglong)(uVar1 - 1); + if (uVar1 - 1 == 0) { + FUN_1400a4910((longlong)param_1,0,(uint *)param_3,param_4); + } + else { + uVar3 = (ulonglong)(uVar1 - 2); + if (uVar1 - 2 == 0) { + FUN_1400a3bf0((longlong)param_1,0,param_3,param_4); + } + else { + uVar3 = (ulonglong)(uVar1 - 3); + if (uVar1 - 3 == 0) { + FUN_1400abf20(param_1,(longlong *)0x0,(wchar_t *)param_3,param_4); + } + else { + uVar3 = (ulonglong)(uVar1 - 4); + if (uVar1 - 4 == 0) { + FUN_1400a59c0((longlong)param_1,0,(SIZE_T)param_3,(undefined *)param_4); + } + } + } + } + } + FUN_140066b90(*(longlong **)¶m_1[2].e_cparhdr,uVar3,(SIZE_T)param_3,(undefined *)param_4); + lVar2._0_2_ = param_1[2].e_cparhdr; + lVar2._2_2_ = param_1[2].e_minalloc; + lVar2._4_2_ = param_1[2].e_maxalloc; + lVar2._6_2_ = param_1[2].e_ss; + dVar4 = (double)FUN_1400649f0(lVar2); + FUN_1400b7aa0((double *)(*(longlong *)¶m_1[2].e_cparhdr + 0x1878),dVar4); + if ((char)(*(longlong **)¶m_1[2].e_cparhdr)[0x311] != '\0') { + FUN_1400670c0(*(longlong **)¶m_1[2].e_cparhdr,uVar3,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ac0f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ac0f0.c new file mode 100644 index 00000000..88aa61cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ac0f0.c @@ -0,0 +1,82 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ac0f0 FUN_1400ac0f0 + * Pseudocode, not original source. */ + +void FUN_1400ac0f0(longlong param_1,IMAGE_DOS_HEADER *param_2,undefined **param_3, + undefined ***param_4) + +{ + int iVar1; + int iVar2; + longlong lVar3; + longlong *plVar4; + undefined8 *puVar5; + IMAGE_DOS_HEADER *pIVar6; + IMAGE_DOS_HEADER *pIVar7; + undefined8 uVar8; + + FUN_14002e6e0((int *)(param_1 + 0x10)); + if (*(IMAGE_DOS_HEADER **)(param_1 + 0x298) != (IMAGE_DOS_HEADER *)0x0) { + pIVar6 = *(IMAGE_DOS_HEADER **)(param_1 + 0x298); + do { + if (*(longlong *)(param_1 + 0x2b8) == 0) { + iVar1._0_1_ = pIVar6[2].e_magic[0]; + iVar1._1_1_ = pIVar6[2].e_magic[1]; + iVar1._2_2_ = pIVar6[2].e_cblp; + if (iVar1 < 5) { + pIVar6->e_program[0] = 0; + pIVar6->e_program[1] = 0; + pIVar6->e_program[2] = 0; + pIVar6->e_program[3] = 0; + pIVar6[2].e_magic[0] = '\x05'; + pIVar6[2].e_magic[1] = '\0'; + pIVar6[2].e_cblp = 0; + uVar8 = (**(code **)(*(longlong *)(*(longlong *)&pIVar6[2].e_cparhdr + 0x70) + 0x1c0))(); + pIVar6[1].e_magic[0] = (char)uVar8; + pIVar6[1].e_magic[1] = (char)((ulonglong)uVar8 >> 8); + pIVar6[1].e_cblp = (short)((ulonglong)uVar8 >> 0x10); + pIVar6[1].e_cp = (short)((ulonglong)uVar8 >> 0x20); + pIVar6[1].e_crlc = (short)((ulonglong)uVar8 >> 0x30); + pIVar6[1].e_program[0] = 0; + } + } + else { + FUN_1400ac060(pIVar6,param_2,param_3,param_4); + } + iVar2._0_1_ = pIVar6[2].e_magic[0]; + iVar2._1_1_ = pIVar6[2].e_magic[1]; + iVar2._2_2_ = pIVar6[2].e_cblp; + if (iVar2 == 5) { + pIVar7 = *(IMAGE_DOS_HEADER **)&pIVar6->e_cparhdr; + param_2 = pIVar6; + FUN_1400a6450(param_1,(longlong *)pIVar6,(ulonglong)param_3,param_4); + lVar3 = *(longlong *)&pIVar6[2].e_cparhdr; + if (*(longlong *)(lVar3 + 0x5d0) != 0) { + *(longlong *)(*(longlong *)(lVar3 + 0x5d0) + 8) = + *(longlong *)(*(longlong *)(lVar3 + 0x5d0) + 8) + -1; + puVar5 = (undefined8 *)0x0; + if (*(longlong *)(*(longlong *)(lVar3 + 0x5d0) + 8) == 0) { + puVar5 = *(undefined8 **)(lVar3 + 0x5d0); + } + *(undefined8 *)(lVar3 + 0x5d0) = 0; + if (puVar5 != (undefined8 *)0x0) { + plVar4 = (longlong *)*puVar5; + if (plVar4 != (longlong *)0x0) { + FUN_1400a4dc0(plVar4,param_2,(ulonglong)param_3,(ulonglong)param_4); + operator_delete(plVar4); + } + FUN_1400302f0(puVar5); + } + } + } + else { + pIVar7 = *(IMAGE_DOS_HEADER **)&pIVar6->e_cparhdr; + } + pIVar6 = pIVar7; + } while (pIVar7 != (IMAGE_DOS_HEADER *)0x0); + } + FUN_1400a91f0(param_1); + FUN_14002e770(param_1 + 0x10); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ac260.c b/decomp/Agent_Release_x64/full/functions/0x1400ac260.c new file mode 100644 index 00000000..726b63ab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ac260.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ac260 FUN_1400ac260 + * Pseudocode, not original source. */ + +void FUN_1400ac260(longlong param_1,undefined8 param_2,undefined **param_3,uint ******param_4) + +{ + char cVar1; + DWORD DVar2; + HANDLE hThread; + IMAGE_DOS_HEADER *pIVar3; + double dVar4; + + DVar2 = GetCurrentThreadId(); + FUN_140037ab0(DVar2,"PNCliWorker"); + DVar2 = GetCurrentThreadId(); + *(DWORD *)(param_1 + 0x284) = DVar2; + if (DAT_140155147 != '\0') { + hThread = GetCurrentThread(); + SetThreadPriority(hThread,1); + } + *(undefined1 *)(param_1 + 0x28c) = 0; + cVar1 = *(char *)(param_1 + 0x80); + while( true ) { + if (cVar1 != '\0') { + *(undefined1 *)(param_1 + 0x28c) = 1; + return; + } + if (DAT_14015c2d0 != '\0') break; + pIVar3 = (IMAGE_DOS_HEADER *)(ulonglong)DAT_140155074; + FUN_1400abf80(param_1,DAT_140155074,param_3,param_4); + if (*(char *)(param_1 + 0x280) != '\0') { + *(undefined1 *)(param_1 + 0x280) = 0; + FUN_14002e6e0((int *)(param_1 + 0x88)); + dVar4 = FUN_14003a420((char *)(param_1 + 0x48)); + *(double *)(param_1 + 0xc0) = dVar4; + dVar4 = FUN_14003a480((char *)(param_1 + 0x48)); + *(double *)(param_1 + 0x100) = dVar4; + *(double *)(param_1 + 0x180) = + (*(double *)(param_1 + 0x100) - *(double *)(param_1 + 0x180)) * 0.3 + + *(double *)(param_1 + 0x180); + *(undefined1 *)(param_1 + 0x1c0) = 1; + FUN_14002e770(param_1 + 0x88); + FUN_1400ac0f0(param_1,pIVar3,param_3,(undefined ***)param_4); + if (*(uint ********)(param_1 + 0x2b0) != (uint *******)0x0) { + FUN_1400b28b0(*(uint ********)(param_1 + 0x2b0),(uint ****)pIVar3,param_3,param_4); + } + } + cVar1 = *(char *)(param_1 + 0x80); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ac3e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ac3e0.c new file mode 100644 index 00000000..8c5f7739 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ac3e0.c @@ -0,0 +1,121 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ac3e0 FUN_1400ac3e0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400ac3e0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + UINT uDelay; + undefined8 *puVar2; + MMRESULT MVar3; + ulonglong uVar4; + longlong *plVar5; + undefined8 *puVar6; + undefined8 **ppuVar7; + longlong *plVar8; + undefined8 uVar9; + undefined8 *puVar10; + double dVar11; + undefined8 *local_res10; + char *local_res18; + + *param_1 = Proud::CNetClientManager::vftable; + param_1[1] = Proud::CNetClientManager::vftable; + uVar4 = FUN_14002e790(); + uVar9 = CONCAT71((int7)((ulonglong)param_3 >> 8),1); + FUN_14002e600((undefined4 *)(param_1 + 2),uVar4 & 0xffffffff,uVar9,param_4); + FUN_14003a340((undefined2 *)(param_1 + 9)); + plVar8 = (longlong *)0x0; + param_1[0xf] = 0; + uVar4 = FUN_14002e790(); + uVar9 = CONCAT71((int7)((ulonglong)uVar9 >> 8),1); + FUN_14002e600((undefined4 *)(param_1 + 0x11),uVar4 & 0xffffffff,uVar9,param_4); + uVar4 = FUN_14002e790(); + uVar4 = uVar4 & 0xffffffff; + puVar6 = param_1 + 0x39; + uVar9 = CONCAT71((int7)((ulonglong)uVar9 >> 8),1); + FUN_14002e600((undefined4 *)puVar6,uVar4,uVar9,param_4); + param_1[0x41] = 0; + param_1[0x44] = 0; + param_1[0x42] = 0; + param_1[0x43] = 0; + param_1[0x45] = 0; + param_1[0x48] = 0; + param_1[0x46] = 0; + param_1[0x47] = 0; + param_1[0x52] = 0; + param_1[0x53] = 0; + param_1[0x54] = 0; + *(undefined4 *)(param_1 + 0x55) = 0; + param_1[0x56] = 0; + param_1[0x57] = 0; + FUN_1400a3dd0(puVar6,uVar4,uVar9,param_4); + *(undefined1 *)(param_1 + 0x38) = 0; + FUN_14003a390((char *)(param_1 + 9)); + dVar11 = FUN_14003a420((char *)(param_1 + 9)); + param_1[0x18] = dVar11; + param_1[0x20] = 0; + param_1[0x30] = 0; + *(undefined1 *)(param_1 + 0x38) = 1; + param_1[0x4a] = 0; + param_1[0x4b] = 0; + param_1[0x40] = 0; + param_1[0x49] = 0; + local_res18 = operator_new(0xa8); + plVar5 = plVar8; + if (local_res18 != (char *)0x0) { + plVar5 = (longlong *) + FUN_140039670(local_res18,param_1,CONCAT71((int7)((ulonglong)uVar9 >> 8),1),param_4); + } + param_1[0x57] = plVar5; + *(undefined1 *)(param_1 + 0x10) = 0; + puVar6 = param_1 + 0x50; + *(undefined1 *)puVar6 = 0; + *(undefined8 *)((longlong)param_1 + 0x284) = 0; + param_1[0xe] = 0; + uDelay = 1; + if (1 < DAT_140155074) { + uDelay = DAT_140155074; + } + puVar10 = (undefined8 *)&LAB_1400a36f0; + MVar3 = timeSetEvent(uDelay,uDelay,&LAB_1400a36f0,(DWORD_PTR)puVar6,1); + *(MMRESULT *)(param_1 + 0x4c) = MVar3; + local_res10 = operator_new(0x28); + plVar5 = plVar8; + if (local_res10 != (undefined8 *)0x0) { + puVar10 = param_1; + plVar5 = FUN_140037560(local_res10,&LAB_1400ac3d0,param_1); + } + if (plVar5 == (longlong *)0x0) { + local_res10 = (undefined8 *)0x0; + } + else { + local_res10 = (undefined8 *)FUN_140030280(0x10); + local_res10[1] = 1; + *local_res10 = plVar5; + } + puVar1 = local_res10; + ppuVar7 = &local_res10; + FUN_140086730(param_1 + 0xf,(longlong *)ppuVar7); + puVar2 = local_res10; + if (puVar1 != (undefined8 *)0x0) { + plVar5 = puVar1 + 1; + *plVar5 = *plVar5 + -1; + if (*plVar5 == 0) { + puVar1 = (undefined8 *)*local_res10; + if (puVar1 != (undefined8 *)0x0) { + FUN_140037670(puVar1); + operator_delete(puVar1); + } + FUN_1400302f0(puVar2); + } + } + if ((undefined8 *)param_1[0xf] != (undefined8 *)0x0) { + plVar8 = *(longlong **)param_1[0xf]; + } + FUN_140037760(plVar8,ppuVar7,puVar10,puVar6); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ac660.c b/decomp/Agent_Release_x64/full/functions/0x1400ac660.c new file mode 100644 index 00000000..404870cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ac660.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ac660 FUN_1400ac660 + * Pseudocode, not original source. */ + +longlong * FUN_1400ac660(longlong *param_1,longlong param_2) + +{ + longlong lVar1; + + *(undefined4 *)(param_1 + 1) = 0; + *(undefined4 *)((longlong)param_1 + 0xc) = 0; + *(undefined4 *)(param_1 + 2) = 0; + *(undefined4 *)((longlong)param_1 + 0x14) = 0; + param_1[0x19] = (longlong)Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 0x1a) = 0; + *(undefined2 *)((longlong)param_1 + 0xd4) = 0; + param_1[0x18] = 0; + *(undefined1 *)(param_1 + 8) = 0; + *(undefined4 *)(param_1 + 0x1a) = DAT_1401553d0; + *(undefined2 *)((longlong)param_1 + 0xd4) = DAT_1401553d4; + *param_1 = param_2; + param_1[0x20] = DAT_140155078; + *(undefined4 *)(param_1 + 0x28) = 0; + *(undefined1 *)(param_1 + 0x10) = 0; + param_1[0x18] = 0; + *(undefined4 *)(param_1 + 0x38) = 0; + param_1[0x40] = -0x4010000000000000; + lVar1 = (**(code **)(*(longlong *)(param_2 + 0x70) + 0x1c0))(param_2 + 0x70); + param_1[0x30] = lVar1; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ac730.c b/decomp/Agent_Release_x64/full/functions/0x1400ac730.c new file mode 100644 index 00000000..ad936d20 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ac730.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ac730 FUN_1400ac730 + * Pseudocode, not original source. */ + +void FUN_1400ac730(longlong *param_1,char param_2) + +{ + longlong lVar1; + + if ((char)param_1[0x10] != param_2) { + *(char *)(param_1 + 0x10) = param_2; + lVar1 = (**(code **)(*(longlong *)(*param_1 + 0x70) + 0x1c0))(*param_1 + 0x70); + param_1[0x30] = lVar1; + *(undefined4 *)(param_1 + 0x38) = 0; + param_1[0x40] = -0x4010000000000000; + if (param_2 != '\0') { + lVar1 = (**(code **)(*(longlong *)(*param_1 + 0x70) + 0x1c0))(*param_1 + 0x70); + param_1[0x18] = lVar1; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ac7b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ac7b0.c new file mode 100644 index 00000000..dd74a23d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ac7b0.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ac7b0 FUN_1400ac7b0 + * Pseudocode, not original source. */ + +void FUN_1400ac7b0(longlong *param_1,ulonglong param_2,longlong param_3,undefined8 *param_4) + +{ + longlong *plVar1; + char cVar2; + undefined1 uVar3; + ushort uVar4; + longlong lVar5; + undefined8 *puVar6; + double dVar7; + undefined **local_38; + undefined4 local_30; + undefined2 local_2c; + SIZE_T local_28; + undefined1 local_20; + + puVar6 = param_4; + (**(code **)(*(longlong *)(*param_1 + 0x78) + 0x10))(*param_1 + 0x78); + if ((char)param_1[0x10] != '\0') { + lVar5 = FUN_140064bc0(*param_1); + cVar2 = (**(code **)(*(longlong *)(lVar5 + 0x40) + 0x10))(lVar5 + 0x40); + if (cVar2 == '\0') { + if (*(char *)(param_4 + 3) == '\0') { + *(int *)(*param_1 + 0x508) = *(int *)(*param_1 + 0x508) + 1; + } + local_38 = Proud::AddrPort::vftable; + local_30 = (undefined4)param_1[0x1a]; + local_2c = *(undefined2 *)((longlong)param_1 + 0xd4); + plVar1 = (longlong *)*param_1; + dVar7 = (double)(**(code **)(plVar1[0xe] + 0x1c0))(); + uVar3 = (**(code **)(*plVar1 + 0x30))(plVar1); + uVar4 = FUN_140096e50(uVar3,1); + lVar5 = FUN_140064bc0(*param_1); + FUN_1400b7230(lVar5,param_2 & 0xffffffff,(ulonglong)uVar4,(longlong)&local_38,param_3,dVar7, + param_4); + return; + } + } + local_28 = param_4[1]; + local_20 = *(undefined1 *)(param_4 + 2); + lVar5 = FUN_140064be0(*param_1); + FUN_1400b2d20(lVar5,param_3,&local_28,puVar6); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ac900.c b/decomp/Agent_Release_x64/full/functions/0x1400ac900.c new file mode 100644 index 00000000..215a93c3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ac900.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ac900 FUN_1400ac900 + * Pseudocode, not original source. */ + +undefined8 FUN_1400ac900(int param_1) + +{ + if (param_1 == 0) { + return 0x15; + } + if (param_1 == 1) { + return 0x46; + } + if (param_1 == 2) { + return 0x50; + } + if (param_1 != 3) { + if (param_1 != 7) { + return 0; + } + return 0x438; + } + return 0x1bb; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ac940.c b/decomp/Agent_Release_x64/full/functions/0x1400ac940.c new file mode 100644 index 00000000..d083d87f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ac940.c @@ -0,0 +1,91 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ac940 FUN_1400ac940 + * Pseudocode, not original source. */ + +int FUN_1400ac940(char *param_1,char *param_2,int *param_3,uint param_4) + +{ + byte bVar1; + char cVar2; + short sVar3; + short sVar4; + int iVar5; + uint uVar6; + + if (param_1 == (char *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if (param_2 == (char *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + cVar2 = *param_1; + uVar6 = 0; + iVar5 = 1; + if (cVar2 != '\0') { + do { + if (uVar6 == param_4) { + iVar5 = 0; + } + else if (iVar5 != 0) { + if (cVar2 == '%') { + if ((param_1[1] != '\0') && (param_1[2] != '\0')) { + bVar1 = param_1[1]; + if ((byte)(bVar1 - 0x30) < 10) { + sVar4 = bVar1 - 0x30; + } + else if ((byte)(bVar1 + 0xbf) < 6) { + sVar4 = bVar1 - 0x37; + } + else if ((byte)(bVar1 + 0x9f) < 6) { + sVar4 = bVar1 - 0x57; + } + else { + sVar4 = -1; + } + bVar1 = param_1[2]; + param_1 = param_1 + 2; + if ((byte)(bVar1 - 0x30) < 10) { + sVar3 = bVar1 - 0x30; + } + else if ((byte)(bVar1 + 0xbf) < 6) { + sVar3 = bVar1 - 0x37; + } + else if ((byte)(bVar1 + 0x9f) < 6) { + sVar3 = bVar1 - 0x57; + } + else { + sVar3 = -1; + } + if ((-1 < sVar4) && (-1 < sVar3)) { + *param_2 = (char)sVar4 * '\x10' + (char)sVar3; + goto LAB_1400aca51; + } + } + iVar5 = 0; + goto LAB_1400aca74; + } + *param_2 = cVar2; +LAB_1400aca51: + param_2 = param_2 + 1; + } + cVar2 = param_1[1]; + param_1 = param_1 + 1; + uVar6 = uVar6 + 1; + } while (cVar2 != '\0'); + if (iVar5 == 0) goto LAB_1400aca74; + } + if (uVar6 < param_4) { + *param_2 = '\0'; + } +LAB_1400aca74: + if (param_3 != (int *)0x0) { + *param_3 = uVar6 + 1; + } + if (param_4 < uVar6 + 1) { + iVar5 = 0; + } + return iVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400acab0.c b/decomp/Agent_Release_x64/full/functions/0x1400acab0.c new file mode 100644 index 00000000..26d86790 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400acab0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400acab0 FUN_1400acab0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400acab0(longlong param_1,wchar_t *param_2) + +{ + errno_t eVar1; + size_t sVar2; + + sVar2 = wcsnlen(param_2,0x101); + if (0x100 < (uint)sVar2) { + return 0; + } + eVar1 = wcsncpy_s((wchar_t *)(param_1 + 0x42),0x101,param_2,sVar2 & 0xffffffff); + if (eVar1 != 0) { + if (eVar1 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar1 == 0x16) || (eVar1 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar1 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + *(uint *)(param_1 + 0x2458) = (uint)sVar2; + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400acb60.c b/decomp/Agent_Release_x64/full/functions/0x1400acb60.c new file mode 100644 index 00000000..5461c39e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400acb60.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400acb60 FUN_1400acb60 + * Pseudocode, not original source. */ + +undefined8 FUN_1400acb60(longlong param_1,wchar_t *param_2) + +{ + errno_t eVar1; + size_t sVar2; + + sVar2 = wcsnlen(param_2,0x81); + if (0x80 < (uint)sVar2) { + return 0; + } + eVar1 = wcsncpy_s((wchar_t *)(param_1 + 0x244),0x81,param_2,sVar2 & 0xffffffff); + if (eVar1 != 0) { + if (eVar1 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar1 == 0x16) || (eVar1 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar1 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + *(uint *)(param_1 + 0x245c) = (uint)sVar2; + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400acc10.c b/decomp/Agent_Release_x64/full/functions/0x1400acc10.c new file mode 100644 index 00000000..90a83423 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400acc10.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400acc10 FUN_1400acc10 + * Pseudocode, not original source. */ + +undefined8 FUN_1400acc10(longlong param_1,wchar_t *param_2) + +{ + errno_t eVar1; + size_t sVar2; + + if (param_2 == (wchar_t *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if ((*param_2 != L'\0') && (*(short *)(param_1 + 0x244) == 0)) { + return 0; + } + sVar2 = wcsnlen(param_2,0x81); + if (0x80 < (uint)sVar2) { + return 0; + } + eVar1 = wcsncpy_s((wchar_t *)(param_1 + 0x346),0x81,param_2,sVar2 & 0xffffffff); + if (eVar1 != 0) { + if (eVar1 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar1 == 0x16) || (eVar1 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar1 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + *(uint *)(param_1 + 0x2460) = (uint)sVar2; + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400accf0.c b/decomp/Agent_Release_x64/full/functions/0x1400accf0.c new file mode 100644 index 00000000..70a611a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400accf0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400accf0 FUN_1400accf0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400accf0(longlong param_1,wchar_t *param_2) + +{ + errno_t eVar1; + size_t sVar2; + + sVar2 = wcsnlen(param_2,0x801); + if (0x800 < (uint)sVar2) { + return 0; + } + eVar1 = wcsncpy_s((wchar_t *)(param_1 + 0x144a),0x801,param_2,sVar2 & 0xffffffff); + if (eVar1 != 0) { + if (eVar1 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar1 == 0x16) || (eVar1 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar1 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + *(uint *)(param_1 + 0x2468) = (uint)sVar2; + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400acda0.c b/decomp/Agent_Release_x64/full/functions/0x1400acda0.c new file mode 100644 index 00000000..7a192e48 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400acda0.c @@ -0,0 +1,76 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400acda0 FUN_1400acda0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400acda0(wchar_t *param_1,wchar_t *param_2) + +{ + wchar_t wVar1; + int iVar2; + errno_t eVar3; + undefined8 uVar4; + longlong lVar5; + undefined **ppuVar6; + uint uVar7; + wchar_t *pwVar8; + + if (param_2 == (wchar_t *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + ppuVar6 = &PTR_DAT_1400f40d0; + uVar7 = 0; + do { + if ((wchar_t *)*ppuVar6 != (wchar_t *)0x0) { + iVar2 = _wcsicmp(param_2,(wchar_t *)*ppuVar6); + if (iVar2 == 0) { + if (uVar7 != 0xffffffff) { + *(uint *)(param_1 + 0x1228) = uVar7; + *(undefined4 *)(param_1 + 0x122a) = + *(undefined4 *)(&DAT_1400f40d8 + (longlong)(int)uVar7 * 0x10); + param_1[0x1226] = *(wchar_t *)(&DAT_1400f40dc + (longlong)(int)uVar7 * 0x10); + goto LAB_1400ace34; + } + break; + } + } + uVar7 = uVar7 + 1; + ppuVar6 = ppuVar6 + 2; + } while (uVar7 < 8); + lVar5 = -1; + uVar4 = 0; + param_1[0x1228] = L'\xffff'; + param_1[0x1229] = L'\xffff'; + pwVar8 = param_2; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + wVar1 = *pwVar8; + pwVar8 = pwVar8 + 1; + } while (wVar1 != L'\0'); + uVar7 = ~(uint)lVar5 - 1; + *(uint *)(param_1 + 0x122a) = uVar7; + if (uVar7 < 0x21) { + param_1[0x1226] = L'\0'; +LAB_1400ace34: + eVar3 = wcsncpy_s(param_1,0x21,param_2,(ulonglong)*(uint *)(param_1 + 0x122a)); + if (eVar3 != 0) { + if (eVar3 == 0xc) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + if ((eVar3 == 0x16) || (eVar3 == 0x22)) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80070057); + } + if (eVar3 != 0x50) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + } + param_1[*(uint *)(param_1 + 0x122a)] = L'\0'; + uVar4 = 1; + } + return uVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400acee0.c b/decomp/Agent_Release_x64/full/functions/0x1400acee0.c new file mode 100644 index 00000000..95ff4c40 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400acee0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400acee0 FUN_1400acee0 + * Pseudocode, not original source. */ + +void FUN_1400acee0(undefined8 *param_1) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x0001400acf07. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + return; + } + FUN_1400302f0((LPVOID)param_1[2]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400acf20.c b/decomp/Agent_Release_x64/full/functions/0x1400acf20.c new file mode 100644 index 00000000..e4aed9d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400acf20.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400acf20 FUN_1400acf20 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400acf20(undefined8 *param_1,uint param_2) + +{ + *param_1 = Proud::CFastArray::vftable; + if ((LPVOID)param_1[2] != (LPVOID)0x0) { + if ((longlong *)param_1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)param_1[2]); + } + else { + (**(code **)(*(longlong *)param_1[1] + 0x18))(); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400acf80.c b/decomp/Agent_Release_x64/full/functions/0x1400acf80.c new file mode 100644 index 00000000..7de42b0c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400acf80.c @@ -0,0 +1,79 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400acf80 FUN_1400acf80 + * Pseudocode, not original source. */ + +void FUN_1400acf80(longlong param_1,int param_2,undefined8 param_3,longlong param_4) + +{ + longlong *plVar1; + LPVOID pvVar2; + int iVar3; + undefined8 uVar4; + undefined1 *puVar5; + undefined1 *puVar6; + int iVar7; + SIZE_T SVar8; + longlong lVar9; + exception local_58 [80]; + + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (param_2 != *(int *)(param_1 + 0x18)) { + if (*(int *)(param_1 + 0x1c) < param_2) { + iVar3 = FUN_140085590(param_1,param_2); + plVar1 = *(longlong **)(param_1 + 8); + SVar8 = (SIZE_T)iVar3; + if (*(int *)(param_1 + 0x1c) == 0) { + if (plVar1 == (longlong *)0x0) { + uVar4 = FUN_140030280(SVar8); + *(undefined8 *)(param_1 + 0x10) = uVar4; + } + else { + uVar4 = (**(code **)(*plVar1 + 8))(plVar1,SVar8); + *(undefined8 *)(param_1 + 0x10) = uVar4; + } + } + else { + pvVar2 = *(LPVOID *)(param_1 + 0x10); + if (plVar1 == (longlong *)0x0) { + puVar5 = (undefined1 *)FUN_140030280(SVar8); + } + else { + puVar5 = (undefined1 *)(**(code **)(*plVar1 + 8))(); + } + lVar9 = (longlong)*(int *)(param_1 + 0x18); + iVar7 = 0; + if (0 < lVar9) { + param_4 = (longlong)pvVar2 - (longlong)puVar5; + puVar6 = puVar5; + do { + if (puVar6 != (undefined1 *)0x0) { + *puVar6 = puVar6[param_4]; + } + iVar7 = iVar7 + 1; + puVar6 = puVar6 + 1; + } while (iVar7 < lVar9); + } + if (puVar5 == (undefined1 *)0x0) { + FUN_14002f1e0(local_58,L"Memory allocation failure!",lVar9,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + plVar1 = *(longlong **)(param_1 + 8); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(pvVar2); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,pvVar2); + } + *(undefined1 **)(param_1 + 0x10) = puVar5; + } + *(int *)(param_1 + 0x1c) = iVar3; + } + *(int *)(param_1 + 0x18) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ad0c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ad0c0.c new file mode 100644 index 00000000..8137deaf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ad0c0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ad0c0 FUN_1400ad0c0 + * Pseudocode, not original source. */ + +longlong FUN_1400ad0c0(undefined8 param_1,longlong param_2) + +{ + uint uVar1; + undefined4 extraout_var; + uint7 uVar2; + longlong lVar3; + int iVar4; + undefined *puVar5; + + lVar3 = 0; + puVar5 = *(undefined **)(param_2 + 0x2488); + iVar4 = 0; + if ((puVar5 != (undefined *)0x0) && (puVar5 != PTR_DAT_140155008)) { + iVar4 = *(int *)(puVar5 + -8); + } + *(undefined1 *)(param_2 + 0x24c0) = 1; + puVar5 = *(undefined **)(param_2 + 0x2488); + if (*(undefined **)(param_2 + 0x2488) == (undefined *)0x0) { + puVar5 = PTR_DAT_140155008; + } + if (*(longlong **)(param_2 + 0x2480) != (longlong *)0x0) { + lVar3 = **(longlong **)(param_2 + 0x2480); + } + uVar1 = FUN_1400365f0(lVar3,(undefined8 *)(puVar5 + *(int *)(param_2 + 0x2504)), + (undefined **)(ulonglong)((iVar4 - *(int *)(param_2 + 0x2504)) + 1),puVar5); + uVar2 = (uint7)(CONCAT44(extraout_var,uVar1) >> 8); + if (uVar1 != 0) { + *(undefined1 *)(param_2 + 0x24c0) = 0; + return (ulonglong)uVar2 << 8; + } + return CONCAT71(uVar2,1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ad140.c b/decomp/Agent_Release_x64/full/functions/0x1400ad140.c new file mode 100644 index 00000000..8b5fe269 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ad140.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ad140 FUN_1400ad140 + * Pseudocode, not original source. */ + +void FUN_1400ad140(longlong param_1,longlong param_2,undefined8 param_3,longlong param_4) + +{ + undefined1 *puVar1; + int iVar2; + longlong lVar3; + longlong lVar4; + int iVar5; + + iVar5 = (int)param_3; + if (-1 < iVar5) { + if (iVar5 != 0) { + iVar2 = *(int *)(param_1 + 0x18); + FUN_1400acf80(param_1,iVar2 + iVar5,param_3,param_4); + lVar4 = 0; + if (0 < iVar5) { + do { + lVar3 = FUN_14003d690(param_1); + puVar1 = (undefined1 *)(lVar4 + param_2); + lVar3 = lVar3 + lVar4; + lVar4 = lVar4 + 1; + *(undefined1 *)(lVar3 + iVar2) = *puVar1; + } while (lVar4 < iVar5); + } + } + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ad1c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ad1c0.c new file mode 100644 index 00000000..69c005b1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ad1c0.c @@ -0,0 +1,106 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ad1c0 FUN_1400ad1c0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +int FUN_1400ad1c0(LPCWSTR param_1,wchar_t *param_2,uint *param_3,uint param_4) + +{ + WCHAR WVar1; + char *_Memory; + char *_Memory_00; + int iVar2; + int iVar3; + char *pcVar4; + char *pcVar5; + ulonglong uVar6; + uint uVar7; + LPCWSTR pWVar8; + undefined1 auStack_1208 [32]; + uint local_11e8 [2]; + char *local_11e0; + wchar_t *local_11d8; + char *local_11d0; + uint *local_11c8; + undefined8 local_11c0; + wchar_t *local_11b8; + wchar_t local_11b0 [132]; + char local_10a8 [2096]; + char local_878 [2096]; + ulonglong local_48; + undefined8 uStack_40; + + uStack_40 = 0x1400ad1d6; + local_11c0 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_1208; + iVar3 = 0; + local_11d8 = param_2; + local_11c8 = param_3; + if (param_1 == (LPCWSTR)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if (param_2 == (wchar_t *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar6 = 0xffffffffffffffff; + pWVar8 = param_1; + do { + if (uVar6 == 0) break; + uVar6 = uVar6 - 1; + WVar1 = *pWVar8; + pWVar8 = pWVar8 + 1; + } while (WVar1 != L'\0'); + local_11e0 = (char *)(~uVar6 - 1); + iVar2 = FUN_140030dc0(param_1,(int)local_11e0,(LPSTR)0x0,0); + if (iVar2 != 0) { + uVar7 = iVar2 + 1; + local_11d0 = (char *)0x0; + pcVar4 = local_10a8; + if ((int)uVar7 < 1) { + free((void *)0x0); + iVar3 = 0; + } + else if ((uVar7 < 0x825) || + (pcVar4 = malloc((longlong)(int)uVar7), local_11d0 = pcVar4, pcVar4 != (char *)0x0)) { + _Memory_00 = local_11d0; + iVar3 = FUN_140030dc0(param_1,(int)local_11e0,pcVar4,uVar7); + pcVar4[iVar3] = '\0'; + pcVar5 = local_878; + local_11e0 = (char *)0x0; + if ((param_4 < 0x825) || + (pcVar5 = malloc((ulonglong)param_4), local_11e0 = pcVar5, pcVar5 != (char *)0x0)) { + _Memory = local_11e0; + local_11e8[0] = 0; + iVar3 = FUN_1400ac940(pcVar4,pcVar5,(int *)local_11e8,param_4); + if (iVar3 != 0) { + local_11b8 = local_11b0; + FUN_14002a670((longlong *)&local_11b8,pcVar5,3); + FUN_14002f620(local_11d8,(ulonglong)param_4,local_11b8,(ulonglong)local_11e8[0]); + if (local_11b8 != local_11b0) { + free(local_11b8); + } + } + if (param_3 != (uint *)0x0) { + *param_3 = local_11e8[0]; + } + free(_Memory); + free(_Memory_00); + } + else { + free((void *)0x0); + free(_Memory_00); + iVar3 = 0; + } + } + else { + free((void *)0x0); + iVar3 = 0; + } + } + return iVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ad3f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ad3f0.c new file mode 100644 index 00000000..4cac1303 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ad3f0.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ad3f0 FUN_1400ad3f0 + * Pseudocode, not original source. */ + +longlong * FUN_1400ad3f0(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + + if (*(longlong *)(param_1 + 0x20) == 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + plVar1 = *(longlong **)(param_1 + 0x10); + if (plVar1 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + FUN_140030200(param_1,param_2,param_3,param_4); + *param_2 = (longlong)PTR_DAT_140155010; + FUN_140003170(param_2,plVar1,param_3,param_4); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ad450.c b/decomp/Agent_Release_x64/full/functions/0x1400ad450.c new file mode 100644 index 00000000..220624a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ad450.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ad450 FUN_1400ad450 + * Pseudocode, not original source. */ + +void FUN_1400ad450(longlong *param_1) + +{ + longlong *plVar1; + undefined8 *puVar2; + + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + plVar1 = (longlong *)*param_1; + puVar2 = (undefined8 *)*plVar1; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(plVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ad4b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ad4b0.c new file mode 100644 index 00000000..463b958c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ad4b0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ad4b0 FUN_1400ad4b0 + * Pseudocode, not original source. */ + +void FUN_1400ad4b0(longlong *param_1,longlong *param_2) + +{ + longlong lVar1; + undefined8 *puVar2; + longlong *plVar3; + + lVar1 = *param_2; + if (lVar1 != *param_1) { + if (lVar1 != 0) { + *(longlong *)(*param_2 + 8) = *(longlong *)(lVar1 + 8) + 1; + } + plVar3 = (longlong *)0x0; + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + plVar3 = (longlong *)*param_1; + } + *param_1 = *param_2; + if (plVar3 != (longlong *)0x0) { + puVar2 = (undefined8 *)*plVar3; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(plVar3); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ad530.c b/decomp/Agent_Release_x64/full/functions/0x1400ad530.c new file mode 100644 index 00000000..c3883edc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ad530.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ad530 FUN_1400ad530 + * Pseudocode, not original source. */ + +void FUN_1400ad530(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + undefined8 *puVar2; + + if ((param_1[1] != 0) && + (*(longlong *)(param_1[1] + 8) = *(longlong *)(param_1[1] + 8) + -1, + *(longlong *)(param_1[1] + 8) == 0)) { + plVar1 = (longlong *)param_1[1]; + puVar2 = (undefined8 *)*plVar1; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1,param_3,param_4,0xfffffffffffffffe); + } + FUN_1400302f0(plVar1); + } + FUN_14001c020(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ad5b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ad5b0.c new file mode 100644 index 00000000..a03337a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ad5b0.c @@ -0,0 +1,232 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ad5b0 FUN_1400ad5b0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_1400ad5b0(wchar_t *param_1,wchar_t *param_2) + +{ + bool bVar1; + bool bVar2; + wchar_t *pwVar3; + wchar_t wVar4; + int iVar5; + longlong lVar6; + undefined8 uVar7; + ulonglong uVar8; + wchar_t *pwVar9; + ulonglong uVar10; + ulonglong uVar11; + undefined1 auStack_188 [32]; + int local_168; + int local_164; + wchar_t *local_160; + undefined8 local_158; + wchar_t local_148 [136]; + ulonglong local_38; + + local_158 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_188; + if (param_2 == (wchar_t *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + bVar2 = false; + bVar1 = false; + local_164 = 0; + local_168 = 0; + lVar6 = (**(code **)(PTR_PTR_140155508 + 0x18))(&PTR_PTR_140155508); + local_160 = (wchar_t *)(lVar6 + 0x18); + if ((int)(*(int *)(lVar6 + 0xc) - 0x82aU | 1U - *(int *)(lVar6 + 0x10)) < 0) { + FUN_14000b2c0((longlong *)&local_160,0x82a); + } + pwVar3 = local_160; + uVar8 = 0; + wVar4 = *param_2; + pwVar9 = local_160; + uVar11 = uVar8; + if (wVar4 != L'\0') { +LAB_1400ad672: + uVar10 = 0; + if (0x828 < uVar8) goto LAB_1400ada0c; + if (wVar4 == L':') { + if ((int)uVar11 == 0) { + *pwVar9 = L'\0'; + if (bVar2) { + if ((!bVar1) || (local_168 == 0)) { + *pwVar9 = L'\0'; + pwVar9 = local_148; + param_2 = param_2 + 1; + wVar4 = *param_2; + uVar8 = uVar10; + while (((wVar4 != L'/' && (wVar4 != L'@')) && (wVar4 != L'\0'))) { + if (0x7f < (int)uVar8) goto LAB_1400ada0c; + *pwVar9 = wVar4; + pwVar9 = pwVar9 + 1; + uVar8 = (ulonglong)((int)uVar8 + 1); + param_2 = param_2 + 1; + wVar4 = *param_2; + } + *pwVar9 = L'\0'; + uVar8 = uVar10; + if ((local_168 == 0) && ((wVar4 == L'/' || (wVar4 == L'\0')))) { + uVar7 = FUN_1400acab0((longlong)param_1,pwVar3); + if ((int)uVar7 == 0) goto LAB_1400ada0c; + iVar5 = _wtoi(local_148); + param_1[0x1226] = (wchar_t)iVar5; + local_164 = 1; + local_168 = 1; + pwVar9 = pwVar3; + } + else { + if ((bVar1) || + (((wVar4 != L'@' || + (uVar7 = FUN_1400acb60((longlong)param_1,pwVar3), (int)uVar7 == 0)) || + (uVar7 = FUN_1400acc10((longlong)param_1,local_148), (int)uVar7 == 0)))) + goto LAB_1400ada0c; + bVar1 = true; + param_2 = param_2 + 1; + pwVar9 = pwVar3; + } + } + } + else { + uVar7 = FUN_1400acda0(param_1,pwVar3); + if ((int)uVar7 == 0) goto LAB_1400ada0c; + bVar2 = true; + pwVar9 = param_2; + if (param_2[1] == L'/') { + pwVar9 = param_2 + 2; + if (*pwVar9 != L'/') { + param_2 = param_2 + 1; + uVar8 = 0; + pwVar9 = pwVar3; + goto LAB_1400ad8f0; + } + if (*(int *)(param_1 + 0x1228) == 6) goto LAB_1400ada0c; + } + uVar8 = 0; + param_2 = pwVar9 + 1; + pwVar9 = pwVar3; + if (*(int *)(param_1 + 0x1228) == 4) goto LAB_1400ad8f0; + } + } + else { +LAB_1400ad842: + if (param_2[1] == L'\0') { +LAB_1400ad89c: + if ((wVar4 != L'/') && (wVar4 != L'?')) { + if (uVar8 < 0x828) { + *pwVar9 = wVar4; + pwVar9 = pwVar9 + 1; + param_2 = param_2 + 1; + goto LAB_1400ad8c0; + } + goto LAB_1400ada0c; + } + goto LAB_1400ad8c0; + } + if (wVar4 == L'[') { + if ((bVar2) && (local_164 == 0)) { + uVar11 = 1; + } + } + else if (wVar4 == L']') { + uVar11 = uVar10; + } + *pwVar9 = wVar4; + param_2 = param_2 + 1; + uVar8 = uVar8 + 1; + pwVar9 = pwVar9 + 1; + } + } + else { + if (wVar4 != L'@') { + if ((wVar4 != L'/') && (wVar4 != L'?')) goto LAB_1400ad842; + if (param_2[1] == L'\0') goto LAB_1400ad89c; +LAB_1400ad8c0: + *pwVar9 = L'\0'; + if ((local_164 == 0) && (uVar7 = FUN_1400acab0((longlong)param_1,pwVar3), (int)uVar7 == 0)) + goto LAB_1400ada0c; + uVar8 = 0; + pwVar9 = pwVar3; + goto LAB_1400ad8e7; + } + if (bVar1) goto LAB_1400ada0c; + *pwVar9 = L'\0'; + uVar7 = FUN_1400acb60((longlong)param_1,pwVar3); + if ((int)uVar7 == 0) goto LAB_1400ada0c; + uVar11 = 0; + bVar1 = true; + param_2 = param_2 + 1; + uVar8 = 0; + pwVar9 = pwVar3; + } + wVar4 = *param_2; + if (wVar4 == L'\0') goto LAB_1400ad8e7; + goto LAB_1400ad672; + } + goto LAB_1400ada0c; +LAB_1400ad8e7: + if (bVar2) { +LAB_1400ad8f0: + wVar4 = *param_2; + while (wVar4 != L'\0') { + if (0x828 < uVar8) goto LAB_1400ada0c; + if ((*(int *)(param_1 + 0x1228) != 4) && ((wVar4 == L'#' || (wVar4 == L'?')))) break; + *pwVar9 = wVar4; + pwVar9 = pwVar9 + 1; + uVar8 = uVar8 + 1; + param_2 = param_2 + 1; + wVar4 = *param_2; + } + *pwVar9 = L'\0'; + if ((*pwVar3 == L'\0') || (uVar7 = FUN_1400313b0((longlong)param_1,pwVar3), (int)uVar7 != 0)) { + uVar8 = 0; + wVar4 = *param_2; + pwVar9 = pwVar3; + while (wVar4 != L'\0') { + param_2 = param_2 + 1; + if (0x828 < uVar8) goto LAB_1400ada0c; + *pwVar9 = wVar4; + pwVar9 = pwVar9 + 1; + uVar8 = uVar8 + 1; + wVar4 = *param_2; + } + *pwVar9 = L'\0'; + if ((*pwVar3 == L'\0') || (uVar7 = FUN_1400accf0((longlong)param_1,pwVar3), (int)uVar7 != 0)) + { + iVar5 = *(int *)(param_1 + 0x1228); + if ((iVar5 == 4) || ((iVar5 == 5 || (iVar5 == 6)))) { + param_1[0x1226] = L'\0'; + } + else if (local_168 == 0) { + uVar7 = FUN_1400ac900(iVar5); + param_1[0x1226] = (wchar_t)uVar7; + } + LOCK(); + pwVar9 = pwVar3 + -4; + iVar5 = *(int *)pwVar9; + *(int *)pwVar9 = *(int *)pwVar9 + -1; + UNLOCK(); + if (iVar5 + -1 < 1) { + (**(code **)(**(longlong **)(pwVar3 + -0xc) + 8))(); + } + return 1; + } + } + } +LAB_1400ada0c: + FUN_140031460(param_1); + LOCK(); + pwVar9 = pwVar3 + -4; + iVar5 = *(int *)pwVar9; + *(int *)pwVar9 = *(int *)pwVar9 + -1; + UNLOCK(); + if (iVar5 + -1 < 1) { + (**(code **)(**(longlong **)(pwVar3 + -0xc) + 8))(); + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ada70.c b/decomp/Agent_Release_x64/full/functions/0x1400ada70.c new file mode 100644 index 00000000..b6d87251 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ada70.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ada70 FUN_1400ada70 + * Pseudocode, not original source. */ + +longlong * FUN_1400ada70(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + int *piVar2; + longlong *plVar3; + + piVar1 = (int *)(param_1 + 0x10); + piVar2 = piVar1; + plVar3 = param_2; + FUN_14002e6e0(piVar1); + if (*(longlong *)(param_1 + 200) == 0) { + FUN_140030200(piVar2,plVar3,param_3,param_4); + *param_2 = (longlong)PTR_DAT_140155010; + } + else { + FUN_1400ad3f0(param_1 + 0xa8,param_2,param_3,param_4); + } + FUN_14002e770((longlong)piVar1); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400adb10.c b/decomp/Agent_Release_x64/full/functions/0x1400adb10.c new file mode 100644 index 00000000..4c984f0e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400adb10.c @@ -0,0 +1,68 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400adb10 FUN_1400adb10 + * Pseudocode, not original source. */ + +void FUN_1400adb10(longlong param_1,longlong param_2,longlong param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong *plVar2; + longlong *plVar3; + int iVar4; + longlong *plVar5; + + plVar1 = (longlong *)(param_1 + 0x10); + plVar3 = plVar1; + FUN_14002e6e0((int *)plVar1); + plVar5 = (longlong *)0x0; + plVar2 = plVar5; + while( true ) { + iVar4 = (int)plVar2; + if (iVar4 == *(int *)(param_1 + 0x118)) { + plVar3 = plVar5; + if (*(longlong *)(param_1 + 0x70) != 0) { + plVar3 = *(longlong **)(param_1 + 0x60); + } + for (; plVar3 != (longlong *)0x0; plVar3 = (longlong *)plVar3[2]) { + plVar2 = plVar5; + if ((longlong *)plVar3[1] != (longlong *)0x0) { + plVar2 = *(longlong **)plVar3[1]; + } + if ((int)plVar2[0x492] < 4) { + plVar2[0x492] = 4; + } + } + FUN_14002e770((longlong)plVar1); + return; + } + if ((iVar4 < 0) || (*(int *)(param_1 + 0x118) <= iVar4)) break; + param_2 = (longlong)iVar4; + param_3 = *(longlong *)(param_1 + 0x110); + plVar3 = *(longlong **)(param_3 + param_2 * 8); + plVar2 = plVar5; + if (plVar3 != (longlong *)0x0) { + plVar2 = (longlong *)*plVar3; + } + plVar3 = (longlong *)plVar2[2]; + if ((plVar3 != (longlong *)0x0) && (*plVar3 != 0)) { + plVar3 = *(longlong **)(param_3 + param_2 * 8); + plVar2 = plVar5; + if (plVar3 != (longlong *)0x0) { + plVar2 = (longlong *)*plVar3; + } + plVar3 = plVar5; + if ((undefined8 *)plVar2[2] != (undefined8 *)0x0) { + plVar3 = *(longlong **)plVar2[2]; + } + FUN_140035490(plVar3,param_2,param_3,param_4); + } + if (*(int *)(param_1 + 0x118) <= iVar4) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar3,param_2,param_3,param_4); + } + plVar2 = (longlong *)(ulonglong)(iVar4 + 1); + } + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar3,param_2,param_3,param_4); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400adc30.c b/decomp/Agent_Release_x64/full/functions/0x1400adc30.c new file mode 100644 index 00000000..22e28dee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400adc30.c @@ -0,0 +1,104 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400adc30 FUN_1400adc30 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400ade2e) */ + +void FUN_1400adc30(longlong param_1,undefined8 param_2,uint *param_3,undefined8 param_4) + +{ + int *piVar1; + undefined8 *puVar2; + longlong lVar3; + char cVar4; + undefined8 uVar5; + int *piVar6; + int *piVar7; + int iVar8; + int *piVar9; + uint local_40 [2]; + undefined **local_38; + undefined4 local_30; + undefined2 local_2c; + undefined4 local_28; + + piVar1 = (int *)(param_1 + 0x10); + piVar9 = (int *)0x0; + while (piVar6 = piVar1, FUN_14002e6e0(piVar1), DAT_14015c2d0 == '\0') { + local_38 = Proud::AddrPort::vftable; + local_28 = 0; + local_40[0] = 0; + local_40[1] = 0; + local_30 = DAT_1401553d0; + local_2c = DAT_1401553d4; + piVar7 = piVar9; + while (iVar8 = (int)piVar7, iVar8 != *(int *)(param_1 + 0x118)) { + if ((iVar8 < 0) || (*(int *)(param_1 + 0x118) <= iVar8)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(piVar6,param_2,param_3,param_4); + } + piVar6 = (int *)(longlong)iVar8; + puVar2 = *(undefined8 **)(*(longlong *)(param_1 + 0x110) + (longlong)piVar6 * 8); + piVar7 = piVar9; + if (puVar2 != (undefined8 *)0x0) { + piVar7 = (int *)*puVar2; + } + if (*(longlong **)(piVar7 + 4) != (longlong *)0x0) { + lVar3 = **(longlong **)(piVar7 + 4); + piVar6 = (int *)0x0; + if (lVar3 != 0) { + uVar5 = FUN_140035150(lVar3,0,local_40); + if ((char)uVar5 != '\0') { + *(undefined1 *)(piVar7 + 0x30) = 0; + } + piVar6 = piVar9; + if (*(undefined8 **)(piVar7 + 4) != (undefined8 *)0x0) { + piVar6 = (int *)**(undefined8 **)(piVar7 + 4); + } + param_3 = local_40; + param_2 = 0; + uVar5 = FUN_1400353c0((longlong)piVar6,0,param_3); + if ((char)uVar5 != '\0') { + *(undefined1 *)(piVar7 + 0x20) = 0; + } + } + } + if (((*(undefined8 **)(piVar7 + 4) != (undefined8 *)0x0) && + (piVar6 = (int *)**(undefined8 **)(piVar7 + 4), piVar6 != (int *)0x0)) && + ((cVar4 = FUN_140035730((longlong)piVar6), cVar4 == '\0' || + (((char)piVar7[0x30] != '\0' || ((char)piVar7[0x20] != '\0')))))) goto LAB_1400ade07; + if (*(int *)(param_1 + 0x118) <= iVar8) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(piVar6,param_2,param_3,param_4); + } + piVar7 = (int *)(ulonglong)(iVar8 + 1); + } + piVar6 = piVar9; + if (*(longlong *)(param_1 + 0x70) != 0) { + piVar6 = *(int **)(param_1 + 0x60); + } + while( true ) { + piVar7 = piVar6; + if (piVar7 == (int *)0x0) goto LAB_1400ade43; + piVar6 = piVar9; + if (*(undefined8 **)(piVar7 + 2) != (undefined8 *)0x0) { + piVar6 = (int *)**(undefined8 **)(piVar7 + 2); + } + if (((*(longlong **)(piVar6 + 0x920) != (longlong *)0x0) && + (lVar3 = **(longlong **)(piVar6 + 0x920), lVar3 != 0)) && + ((cVar4 = FUN_140035730(lVar3), cVar4 == '\0' || + (((char)piVar6[0x940] != '\0' || ((char)piVar6[0x930] != '\0')))))) break; + piVar6 = piVar9; + if (piVar7 != (int *)0x0) { + piVar6 = *(int **)(piVar7 + 4); + } + } +LAB_1400ade07: + FUN_14002e770((longlong)piVar1); + Sleep(10); + } +LAB_1400ade43: + FUN_14002e770((longlong)piVar1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ade70.c b/decomp/Agent_Release_x64/full/functions/0x1400ade70.c new file mode 100644 index 00000000..ab837c47 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ade70.c @@ -0,0 +1,100 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ade70 FUN_1400ade70 + * Pseudocode, not original source. */ + +longlong * FUN_1400ade70(longlong *param_1) + +{ + int *piVar1; + undefined *puVar2; + int iVar3; + int iVar4; + char *pcVar5; + int iVar6; + + puVar2 = (undefined *)*param_1; + if (puVar2 == (undefined *)0x0) { + iVar6 = 0; + } + else if (puVar2 == PTR_DAT_140155008) { + iVar6 = 0; + } + else { + iVar6 = *(int *)(puVar2 + -8); + } + if (puVar2 == (undefined *)0x0) { + iVar3 = 0; + } + else if (puVar2 == PTR_DAT_140155008) { + iVar3 = 0; + } + else { + iVar3 = *(int *)(puVar2 + -8); + } + iVar4 = iVar6; + if (iVar6 <= iVar3) { + if (puVar2 == (undefined *)0x0) { + iVar4 = 0; + } + else if (puVar2 == PTR_DAT_140155008) { + iVar4 = 0; + } + else { + iVar4 = *(int *)(puVar2 + -8); + } + } + iVar3 = 1; + if (1 < iVar4) { + iVar3 = iVar4; + } + iVar4 = 0; + if (puVar2 != (undefined *)0x0) { + if (puVar2 == PTR_DAT_140155008) { + iVar4 = 0; + } + else { + iVar4 = *(int *)(puVar2 + -8); + } + } + if (iVar4 < iVar3) { + FUN_14002ec40(param_1,iVar3); + } + FUN_14002eb30(param_1); + pcVar5 = (char *)*param_1; + if ((char *)*param_1 == (char *)0x0) { + pcVar5 = PTR_DAT_140155008; + } + FUN_1400301b0(pcVar5,(longlong)(iVar6 + 1)); + puVar2 = (undefined *)*param_1; + iVar3 = 0; + if (0 < iVar6) { + iVar3 = iVar6; + } + if (puVar2 == (undefined *)0x0) { + iVar6 = 0; + } + else if (puVar2 == PTR_DAT_140155008) { + iVar6 = 0; + } + else { + iVar6 = *(int *)(puVar2 + -8); + } + if (iVar6 <= iVar3) { + if (puVar2 == (undefined *)0x0) { + iVar3 = 0; + } + else if (puVar2 == PTR_DAT_140155008) { + iVar3 = 0; + } + else { + iVar3 = *(int *)(puVar2 + -8); + } + } + if (((puVar2 != PTR_DAT_140155008) && (puVar2 != (undefined *)0x0)) && + (piVar1 = (int *)(puVar2 + -8), piVar1 != (int *)0x0)) { + *piVar1 = iVar3; + *(undefined1 *)((longlong)iVar3 + 8 + (longlong)piVar1) = 0; + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400adf90.c b/decomp/Agent_Release_x64/full/functions/0x1400adf90.c new file mode 100644 index 00000000..3ae3b8ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400adf90.c @@ -0,0 +1,58 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400adf90 FUN_1400adf90 + * Pseudocode, not original source. */ + +longlong * FUN_1400adf90(longlong *param_1,longlong *param_2,int param_3,uint param_4) + +{ + ulonglong uVar1; + undefined *puVar2; + uint uVar3; + uint uVar5; + ulonglong uVar4; + + uVar3 = 0; + uVar4 = 0; + puVar2 = (undefined *)*param_1; + if (param_3 < 0) { + param_3 = uVar3; + } + if ((int)param_4 < 0) { + param_4 = uVar3; + } + uVar1 = 0; + if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140155008)) { + uVar1 = (ulonglong)*(uint *)(puVar2 + -8); + } + if ((int)uVar1 < (int)(param_3 + param_4)) { + uVar5 = uVar3; + if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140155008)) { + uVar5 = *(uint *)(puVar2 + -8); + } + param_4 = uVar5 - param_3; + } + uVar5 = uVar3; + if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140155008)) { + uVar5 = *(uint *)(puVar2 + -8); + } + if ((int)uVar5 < param_3) { + param_4 = uVar3; + } + if (param_3 == 0) { + if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140155008)) { + uVar4 = (ulonglong)*(uint *)(puVar2 + -8); + } + if (param_4 == (uint)uVar4) { + FUN_140030200(uVar1,PTR_DAT_140155008,puVar2,uVar4); + *param_2 = (longlong)PTR_DAT_140155008; + FUN_14001bf80(param_2,param_1,puVar2,uVar4); + return param_2; + } + } + if (puVar2 == (undefined *)0x0) { + puVar2 = PTR_DAT_140155008; + } + FUN_14002ee70(param_2,puVar2 + param_3,(ulonglong)param_4,uVar4); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ae080.c b/decomp/Agent_Release_x64/full/functions/0x1400ae080.c new file mode 100644 index 00000000..0bd7a967 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ae080.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ae080 FUN_1400ae080 + * Pseudocode, not original source. */ + +void FUN_1400ae080(longlong *param_1,longlong param_2) + +{ + longlong *plVar1; + undefined8 *puVar2; + int iVar3; + + if (0 < param_2) { + iVar3 = 0; + do { + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + plVar1 = (longlong *)*param_1; + puVar2 = (undefined8 *)*plVar1; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(plVar1); + } + iVar3 = iVar3 + 1; + param_1 = param_1 + 1; + } while (iVar3 < param_2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ae110.c b/decomp/Agent_Release_x64/full/functions/0x1400ae110.c new file mode 100644 index 00000000..458d8e41 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ae110.c @@ -0,0 +1,48 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ae110 FUN_1400ae110 + * Pseudocode, not original source. */ + +void FUN_1400ae110(longlong *param_1,longlong param_2,longlong param_3) + +{ + undefined8 *puVar1; + longlong lVar2; + uint uVar3; + longlong *plVar5; + longlong *plVar6; + longlong *plVar4; + + if (0 < param_3) { + plVar6 = (longlong *)0x0; + lVar2 = param_2 - (longlong)param_1; + plVar4 = plVar6; + do { + if (param_1 != (longlong *)0x0) { + *param_1 = 0; + if (*(longlong *)((longlong)param_1 + lVar2) != 0) { + *(longlong *)(*(longlong *)((longlong)param_1 + lVar2) + 8) = + *(longlong *)(*(longlong *)((longlong)param_1 + lVar2) + 8) + 1; + plVar5 = plVar6; + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + plVar5 = (longlong *)*param_1; + } + *param_1 = *(longlong *)((longlong)param_1 + lVar2); + if (plVar5 != (longlong *)0x0) { + puVar1 = (undefined8 *)*plVar5; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400302f0(plVar5); + } + } + } + uVar3 = (int)plVar4 + 1; + plVar4 = (longlong *)(ulonglong)uVar3; + param_1 = param_1 + 1; + } while ((int)uVar3 < param_3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ae1f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ae1f0.c new file mode 100644 index 00000000..cecaeb8d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ae1f0.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ae1f0 FUN_1400ae1f0 + * Pseudocode, not original source. */ + +void FUN_1400ae1f0(wchar_t *param_1,wchar_t *param_2,uint param_3) + +{ + int iVar1; + undefined8 uVar2; + + FUN_140031460(param_1); + uVar2 = FUN_1400ad5b0(param_1,param_2); + if ((((param_3 & 1) != 0) || ((param_3 & 4) != 0)) && ((int)uVar2 != 0)) { + if (*(int *)(param_1 + 0x122e) != 0) { + iVar1 = FUN_1400ad1c0(param_1 + 0x122,param_1 + 0x122,(uint *)(param_1 + 0x122e),0x81); + if (iVar1 == 0) { + return; + } + *(int *)(param_1 + 0x122e) = *(int *)(param_1 + 0x122e) + -1; + } + if (*(int *)(param_1 + 0x1230) != 0) { + iVar1 = FUN_1400ad1c0(param_1 + 0x1a3,param_1 + 0x1a3,(uint *)(param_1 + 0x1230),0x81); + if (iVar1 == 0) { + return; + } + *(int *)(param_1 + 0x1230) = *(int *)(param_1 + 0x1230) + -1; + } + if (*(int *)(param_1 + 0x122c) != 0) { + iVar1 = FUN_1400ad1c0(param_1 + 0x21,param_1 + 0x21,(uint *)(param_1 + 0x122c),0x101); + if (iVar1 == 0) { + return; + } + *(int *)(param_1 + 0x122c) = *(int *)(param_1 + 0x122c) + -1; + } + if (*(int *)(param_1 + 0x1232) != 0) { + iVar1 = FUN_1400ad1c0(param_1 + 0x224,param_1 + 0x224,(uint *)(param_1 + 0x1232),0x801); + if (iVar1 == 0) { + return; + } + *(int *)(param_1 + 0x1232) = *(int *)(param_1 + 0x1232) + -1; + } + if ((*(int *)(param_1 + 0x1234) != 0) && + (iVar1 = FUN_1400ad1c0(param_1 + 0xa25,param_1 + 0xa25,(uint *)(param_1 + 0x1234),0x801), + iVar1 != 0)) { + *(int *)(param_1 + 0x1234) = *(int *)(param_1 + 0x1234) + -1; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ae330.c b/decomp/Agent_Release_x64/full/functions/0x1400ae330.c new file mode 100644 index 00000000..1089c72a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ae330.c @@ -0,0 +1,193 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ae330 FUN_1400ae330 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_1400ae330(undefined *param_1,longlong *param_2,undefined8 param_3,ulonglong param_4) + +{ + int *piVar1; + int iVar2; + char *pcVar3; + undefined *puVar4; + longlong *plVar5; + longlong *plVar6; + int *piVar7; + ulonglong uVar8; + undefined8 uVar9; + char *pcVar10; + longlong *plVar11; + wchar_t *pwVar12; + undefined **ppuVar13; + LPCSTR pCVar14; + wchar_t *pwVar15; + LPCSTR pCVar16; + uint uVar17; + uint uVar18; + undefined1 auStack_1a8 [32]; + int *local_188; + undefined1 local_180; + LPCSTR local_178; + undefined *local_170; + longlong *local_168; + undefined8 local_160; + longlong *local_158; + undefined1 local_150; + wchar_t *local_148; + wchar_t local_140 [132]; + ulonglong local_38; + + local_160 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_1a8; + local_168 = param_2; + FUN_140030200(param_1,param_2,param_3,param_4); + pCVar16 = PTR_DAT_140155008; + local_178 = PTR_DAT_140155008; + pcVar3 = (char *)*param_2; + pcVar10 = PTR_DAT_140155008; + if (((pcVar3 == (char *)0x0) || (pcVar10 = pcVar3, pcVar3 == PTR_DAT_140155008)) || + (-1 < *(int *)(pcVar3 + -8))) { + pcVar3 = strstr(pcVar10,"http"); + uVar17 = 0xffffffff; + if (pcVar3 != (char *)0x0) { + puVar4 = (undefined *)*param_2; + if ((undefined *)*param_2 == (undefined *)0x0) { + puVar4 = PTR_DAT_140155008; + } + uVar17 = (int)pcVar3 - (int)puVar4; + } + } + else { + uVar17 = 0xffffffff; + } + pcVar3 = (char *)*param_2; + pcVar10 = PTR_DAT_140155008; + if ((((pcVar3 == (char *)0x0) || (pcVar10 = pcVar3, pcVar3 == PTR_DAT_140155008)) || + (uVar18 = 0xffffffff, -1 < *(int *)(pcVar3 + -8))) && + (pcVar3 = strstr(pcVar10,".xml"), uVar18 = 0xffffffff, pcVar3 != (char *)0x0)) { + puVar4 = (undefined *)*param_2; + if ((undefined *)*param_2 == (undefined *)0x0) { + puVar4 = PTR_DAT_140155008; + } + uVar18 = (int)pcVar3 - (int)puVar4; + } + if (((int)uVar17 < (int)uVar18) && (-1 < (int)uVar17)) { + uVar18 = (uVar18 - uVar17) + 4; + param_4 = (ulonglong)uVar18; + uVar8 = (ulonglong)uVar17; + ppuVar13 = &local_170; + plVar6 = param_2; + plVar5 = FUN_1400adf90(param_2,(longlong *)ppuVar13,uVar17,uVar18); + if (pCVar16 == (undefined *)0x0) { + pCVar16 = PTR_DAT_140155008; + } + local_178 = pCVar16; + if ((LPCSTR)*plVar5 != pCVar16) { + plVar6 = (longlong *)FUN_140030200(plVar6,ppuVar13,uVar8,param_4); + plVar11 = plVar6; + local_158 = plVar6; + FUN_14002e6e0((int *)plVar6); + local_150 = 1; + if (((pCVar16 != (LPCSTR)0x0) && (pCVar16 != PTR_DAT_140155008)) && + (pCVar16 + -8 != (LPCSTR)0x0)) { + piVar7 = (int *)FUN_140030200(plVar11,ppuVar13,uVar8,param_4); + local_188 = piVar7; + FUN_14002e6e0(piVar7); + local_180 = 1; + piVar1 = (int *)(pCVar16 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(pCVar16 + -8); + } + FUN_14002e770((longlong)piVar7); + } + pCVar16 = (LPCSTR)*plVar5; + if (((pCVar16 != PTR_DAT_140155008) && (pCVar16 != (LPCSTR)0x0)) && (pCVar16 != (LPCSTR)0x8)) + { + *(int *)(pCVar16 + -4) = *(int *)(pCVar16 + -4) + 1; + } + local_178 = pCVar16; + FUN_14002e770((longlong)plVar6); + } + if (((local_170 != (undefined *)0x0) && (local_170 != PTR_DAT_140155008)) && + (local_170 + -8 != (undefined *)0x0)) { + piVar7 = (int *)FUN_140030200(plVar6,ppuVar13,uVar8,param_4); + local_188 = piVar7; + FUN_14002e6e0(piVar7); + local_180 = 1; + piVar1 = (int *)(local_170 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_170 + -8); + } + FUN_14002e770((longlong)piVar7); + } + } + pCVar14 = pCVar16; + if (pCVar16 == (LPCSTR)0x0) { + pCVar14 = PTR_DAT_140155008; + } + local_148 = local_140; + FUN_14002a670((longlong *)&local_148,pCVar14,3); + uVar9 = 0; + pwVar15 = local_148; + iVar2 = FUN_1400ae1f0((wchar_t *)(param_1 + 0x10),local_148,0); + pwVar12 = local_148; + if (local_148 != local_140) { + free(local_148); + } + if (iVar2 == 0) { + if (((pCVar16 != (LPCSTR)0x0) && (pCVar16 != PTR_DAT_140155008)) && + (pCVar16 + -8 != (LPCSTR)0x0)) { + piVar7 = (int *)FUN_140030200(pwVar12,pwVar15,uVar9,param_4); + local_188 = piVar7; + FUN_14002e6e0(piVar7); + local_180 = 1; + piVar1 = (int *)(pCVar16 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(pCVar16 + -8); + } + FUN_14002e770((longlong)piVar7); + } + uVar8 = FUN_14001c020(param_2); + uVar8 = uVar8 & 0xffffffffffffff00; + } + else if ((wchar_t *)param_1 == L"TICON") { + if (((pCVar16 != (LPCSTR)0x0) && (pCVar16 != PTR_DAT_140155008)) && + (pCVar16 + -8 != (LPCSTR)0x0)) { + piVar7 = (int *)FUN_140030200(&DAT_14011e014,pwVar15,uVar9,param_4); + local_188 = piVar7; + FUN_14002e6e0(piVar7); + local_180 = 1; + piVar1 = (int *)(pCVar16 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(pCVar16 + -8); + } + FUN_14002e770((longlong)piVar7); + } + uVar8 = FUN_14001c020(param_2); + uVar8 = uVar8 & 0xffffffffffffff00; + } + else { + if (((pCVar16 != (LPCSTR)0x0) && (pCVar16 != PTR_DAT_140155008)) && + (pCVar16 + -8 != (LPCSTR)0x0)) { + piVar7 = (int *)FUN_140030200(&DAT_14011e014,pwVar15,uVar9,param_4); + local_188 = piVar7; + FUN_14002e6e0(piVar7); + local_180 = 1; + piVar1 = (int *)(pCVar16 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(pCVar16 + -8); + } + FUN_14002e770((longlong)piVar7); + } + uVar9 = FUN_14001c020(param_2); + uVar8 = CONCAT71((int7)((ulonglong)uVar9 >> 8),1); + } + return uVar8; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ae6c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ae6c0.c new file mode 100644 index 00000000..23f02499 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ae6c0.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ae6c0 FUN_1400ae6c0 + * Pseudocode, not original source. */ + +void FUN_1400ae6c0(undefined8 *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + longlong *plVar2; + LPVOID pvVar3; + + *param_1 = Proud::CDiscoveringNatDevice::vftable; + FUN_14001c020(param_1 + 0x4a7); + param_1[0x4a2] = Proud::CFastArray::vftable; + pvVar3 = (LPVOID)param_1[0x4a4]; + if (pvVar3 != (LPVOID)0x0) { + if ((longlong *)param_1[0x4a3] == (longlong *)0x0) { + FUN_1400302f0(pvVar3); + } + else { + (**(code **)(*(longlong *)param_1[0x4a3] + 0x18))(); + } + } + FUN_14001c020(param_1 + 0x491); + if ((param_1[0x490] != 0) && + (*(longlong *)(param_1[0x490] + 8) = *(longlong *)(param_1[0x490] + 8) + -1, + *(longlong *)(param_1[0x490] + 8) == 0)) { + puVar1 = (undefined8 *)param_1[0x490]; + plVar2 = (longlong *)*puVar1; + if (plVar2 != (longlong *)0x0) { + FUN_1400358a0(plVar2,pvVar3,param_3,param_4); + FUN_1400302f0(plVar2); + } + FUN_1400302f0(puVar1); + } + FUN_14001c020(param_1 + 1); + *param_1 = Proud::IFastSocketDelegate::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ae7c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ae7c0.c new file mode 100644 index 00000000..c4c286fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ae7c0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ae7c0 FUN_1400ae7c0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400ae7c0(undefined8 *param_1,ulonglong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_1400ae6c0(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ae7f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ae7f0.c new file mode 100644 index 00000000..c6cc2ef8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ae7f0.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ae7f0 FUN_1400ae7f0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400ae7f0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + wchar_t *pwVar1; + + *param_1 = Proud::CDiscoveringNatDevice::vftable; + FUN_140030200(param_1,param_2,param_3,param_4); + param_1[1] = PTR_DAT_140155008; + pwVar1 = (wchar_t *)(param_1 + 2); + FUN_140031620(pwVar1); + param_1[0x490] = 0; + FUN_140030200(pwVar1,param_2,param_3,param_4); + param_1[0x491] = PTR_DAT_140155008; + param_1[0x4a2] = Proud::CFastArray::vftable; + param_1[0x4a3] = 0; + param_1[0x4a4] = 0; + param_1[0x4a5] = 0; + param_1[0x4a6] = 0; + FUN_140030200(pwVar1,param_2,param_3,param_4); + param_1[0x4a7] = PTR_DAT_140155008; + *(undefined1 *)(param_1 + 0x498) = 0; + *(undefined1 *)(param_1 + 0x4a0) = 0; + *(undefined8 *)((longlong)param_1 + 0x2504) = 0; + param_1[0x492] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ae8c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ae8c0.c new file mode 100644 index 00000000..aa1636ea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ae8c0.c @@ -0,0 +1,185 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ae8c0 FUN_1400ae8c0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400ae8c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + ushort uVar1; + uint uVar2; + uint uVar3; + uint *puVar4; + int *piVar5; + undefined4 extraout_var; + ulonglong uVar6; + uint *puVar7; + uint *puVar8; + uint **ppuVar9; + uint *puVar10; + uint uVar11; + uint uVar12; + ulonglong uVar13; + uint *local_res10; + uint *local_res18 [2]; + + FUN_140030200(param_1,param_2,param_3,param_4); + puVar10 = (uint *)PTR_DAT_140155010; + local_res10 = (uint *)PTR_DAT_140155010; + uVar2 = FUN_140030080((short *)(param_2 + 0x52)); + puVar7 = (uint *)0x0; + uVar12 = 0; + puVar4 = puVar7; + if ((puVar10 != (uint *)0x0) && (puVar4 = (uint *)0x0, puVar10 != (uint *)PTR_DAT_140155010)) { + puVar4 = (uint *)(ulonglong)*(uint *)((longlong)puVar10 + -8); + } + uVar3 = uVar2; + if ((((int)uVar2 <= (int)puVar4) && (uVar3 = uVar12, puVar10 != (uint *)0x0)) && + (puVar10 != (uint *)PTR_DAT_140155010)) { + uVar3 = *(uint *)((longlong)puVar10 + -8); + } + uVar11 = 1; + if (1 < (int)uVar3) { + uVar11 = uVar3; + } + uVar3 = uVar12; + if ((puVar10 != (uint *)0x0) && (puVar10 != (uint *)PTR_DAT_140155010)) { + uVar3 = *(uint *)((longlong)puVar10 + -8); + } + if ((int)uVar3 < (int)uVar11) { + if (puVar10 == (uint *)0x0) { + puVar10 = (uint *)PTR_DAT_140155010; + } + local_res10 = puVar10; + if ((int)uVar11 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar11 == 0) { + FUN_140003240((longlong *)&local_res10,puVar4,param_3,param_4); + } + else { + uVar3 = uVar12; + if ((puVar10 != (uint *)0x0) && (puVar10 != (uint *)PTR_DAT_140155010)) { + uVar3 = puVar10[-2]; + } + if (uVar11 != uVar3) { + puVar4 = (uint *)FUN_140030280((longlong)(int)uVar11 * 2 + 10); + if (puVar4 != (uint *)0x0) { + *puVar4 = 0; + puVar4[1] = 1; + } + *puVar4 = uVar11; + uVar3 = uVar12; + if ((puVar10 != (uint *)0x0) && (puVar10 != (uint *)PTR_DAT_140155010)) { + uVar3 = puVar10[-2]; + } + puVar8 = (uint *)PTR_DAT_140155010; + if ((int)uVar11 < (int)uVar3) { +LAB_1400ae9c3: + if (puVar10 != (uint *)0x0) { + puVar8 = puVar10; + } + } + else { + uVar11 = uVar12; + if (puVar10 != (uint *)0x0) { + if (puVar10 != (uint *)PTR_DAT_140155010) { + uVar11 = puVar10[-2]; + } + goto LAB_1400ae9c3; + } + } + uVar6 = (ulonglong)uVar11; + FUN_1400300b0(puVar4 + 2,puVar8,uVar11); + FUN_140003240((longlong *)&local_res10,puVar8,uVar6,param_4); + local_res10 = puVar4 + 2; + } + } + } + FUN_140002ea0((longlong *)&local_res10); + puVar10 = local_res10; + puVar4 = local_res10; + if (local_res10 == (uint *)0x0) { + puVar4 = (uint *)PTR_DAT_140155010; + } + uVar6 = (ulonglong)uVar2; + FUN_1400300b0(puVar4,(void *)(param_2 + 0x52),uVar2); + puVar4 = puVar10; + if (puVar10 == (uint *)0x0) { + puVar4 = (uint *)PTR_DAT_140155010; + } + uVar2 = FUN_140030080((short *)puVar4); + puVar4 = puVar7; + if (0 < (int)uVar2) { + puVar4 = (uint *)(ulonglong)uVar2; + } + uVar2 = 0; + if ((puVar10 != (uint *)0x0) && (puVar10 != (uint *)PTR_DAT_140155010)) { + uVar2 = puVar10[-2]; + } + puVar8 = (uint *)PTR_DAT_140155010; + if (((int)uVar2 <= (int)puVar4) && (puVar4 = puVar7, puVar10 != (uint *)0x0)) { + if (puVar10 == (uint *)PTR_DAT_140155010) goto LAB_1400aea73; + puVar4 = (uint *)(ulonglong)puVar10[-2]; + } + if (((puVar10 != (uint *)PTR_DAT_140155010) && (puVar10 != (uint *)0x0)) && + (puVar8 = puVar10 + -2, puVar8 != (uint *)0x0)) { + *puVar8 = (uint)puVar4; + *(undefined2 *)((longlong)puVar10 + (longlong)(int)(uint)puVar4 * 2) = 0; + } +LAB_1400aea73: + uVar1 = *(ushort *)(param_2 + 0x245c); + FUN_140030200(puVar4,puVar8,uVar6,param_4); + local_res18[0] = (uint *)PTR_DAT_140155010; + if (PTR_DAT_140155010 == (undefined *)0x0) { + local_res18[0] = puVar7; + } + if (puVar10 != (uint *)PTR_DAT_140155010) { + piVar5 = (int *)FUN_140030200(puVar4,puVar8,uVar6,param_4); + FUN_14002e6e0(piVar5); + FUN_140003240((longlong *)local_res18,puVar8,uVar6,param_4); + local_res18[0] = puVar10; + if (((puVar10 != (uint *)PTR_DAT_140155010) && (puVar10 != (uint *)0x0)) && + (puVar10 != (uint *)0x8)) { + puVar10[-1] = puVar10[-1] + 1; + } + FUN_14002e770((longlong)piVar5); + } + if (*(undefined8 **)(param_2 + 0x2480) != (undefined8 *)0x0) { + puVar7 = (uint *)**(undefined8 **)(param_2 + 0x2480); + } + uVar13 = (ulonglong)uVar1; + ppuVar9 = local_res18; + uVar2 = FUN_140035e90((longlong)puVar7,(longlong *)ppuVar9,uVar1,param_4); + uVar6 = CONCAT44(extraout_var,uVar2); + if ((uVar2 == 0) || (uVar2 == 0x2733)) { + if ((puVar10 != (uint *)0x0) && + ((puVar10 != (uint *)PTR_DAT_140155010 && (puVar10 + -2 != (uint *)0x0)))) { + piVar5 = (int *)FUN_140030200(puVar7,ppuVar9,uVar13,param_4); + FUN_14002e6e0(piVar5); + puVar7 = puVar10 + -1; + *puVar7 = *puVar7 - 1; + if (*puVar7 == 0) { + FUN_1400302f0(puVar10 + -2); + } + uVar6 = FUN_14002e770((longlong)piVar5); + } + uVar6 = CONCAT71((int7)(uVar6 >> 8),1); + } + else { + if (((puVar10 != (uint *)0x0) && (puVar10 != (uint *)PTR_DAT_140155010)) && + (puVar10 + -2 != (uint *)0x0)) { + piVar5 = (int *)FUN_140030200(puVar7,ppuVar9,uVar13,param_4); + FUN_14002e6e0(piVar5); + puVar7 = puVar10 + -1; + *puVar7 = *puVar7 - 1; + if (*puVar7 == 0) { + FUN_1400302f0(puVar10 + -2); + } + uVar6 = FUN_14002e770((longlong)piVar5); + } + uVar6 = uVar6 & 0xffffffffffffff00; + } + return uVar6; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400aebc0.c b/decomp/Agent_Release_x64/full/functions/0x1400aebc0.c new file mode 100644 index 00000000..292271dd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400aebc0.c @@ -0,0 +1,183 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400aebc0 FUN_1400aebc0 + * Pseudocode, not original source. */ + +longlong * +FUN_1400aebc0(undefined8 param_1,longlong *param_2,longlong *******param_3,longlong *param_4) + +{ + int *piVar1; + longlong *****ppppplVar2; + longlong ************pppppppppppplVar3; + char *pcVar4; + longlong ******pppppplVar5; + longlong ***********ppppppppppplVar6; + longlong ************_Str; + longlong ******_Str_00; + longlong *****_SubStr; + longlong ***********_SubStr_00; + longlong *plVar7; + uint uVar8; + uint uVar9; + int iVar10; + undefined *puVar11; + ulonglong uVar12; + ulonglong uVar13; + longlong *****local_48; + longlong ***********local_40; + undefined1 local_38; + undefined8 local_30; + + local_30 = 0xfffffffffffffffe; + plVar7 = param_4; + FUN_140030200(param_1,param_2,param_3,param_4); + local_48 = (longlong *****)PTR_DAT_140155008; + puVar11 = (undefined *)*param_4; + if ((undefined *)*param_4 == (undefined *)0x0) { + puVar11 = PTR_DAT_140155008; + } + pppppplVar5 = &local_48; + FUN_140031ea0((longlong *)pppppplVar5,"<%s>",puVar11,plVar7); + ppppplVar2 = local_48; + _SubStr = local_48; + if (local_48 == (longlong *****)0x0) { + _SubStr = (longlong *****)PTR_DAT_140155008; + } + if (_SubStr == (longlong *****)0x0) { + uVar8 = 0xffffffff; + } + else { + pppppplVar5 = *param_3; + _Str_00 = (longlong ******)PTR_DAT_140155008; + if (((pppppplVar5 == (longlong ******)0x0) || + (_Str_00 = pppppplVar5, pppppplVar5 == (longlong ******)PTR_DAT_140155008)) || + (uVar8 = 0xffffffff, -1 < *(int *)(pppppplVar5 + -1))) { + pcVar4 = strstr((char *)_Str_00,(char *)_SubStr); + if (pcVar4 == (char *)0x0) { + pppppplVar5 = _Str_00; + uVar8 = 0xffffffff; + } + else { + pppppplVar5 = *param_3; + if (*param_3 == (longlong ******)0x0) { + pppppplVar5 = (longlong ******)PTR_DAT_140155008; + } + uVar8 = (int)pcVar4 - (int)pppppplVar5; + pppppplVar5 = (longlong ******)PTR_DAT_140155008; + if (-1 < (int)uVar8) { + iVar10 = 0; + if ((ppppplVar2 != (longlong *****)0x0) && + (iVar10 = 0, ppppplVar2 != (longlong *****)PTR_DAT_140155008)) { + iVar10 = *(int *)(ppppplVar2 + -1); + } + uVar8 = uVar8 + iVar10; + } + } + } + } + FUN_140030200(pppppplVar5,_SubStr,puVar11,plVar7); + local_40 = (longlong ***********)PTR_DAT_140155008; + puVar11 = (undefined *)*param_4; + if ((undefined *)*param_4 == (undefined *)0x0) { + puVar11 = PTR_DAT_140155008; + } + _Str = &local_40; + FUN_140031ea0((longlong *)_Str,"",puVar11,plVar7); + ppppppppppplVar6 = local_40; + _SubStr_00 = local_40; + if (local_40 == (longlong ***********)0x0) { + _SubStr_00 = (longlong ***********)PTR_DAT_140155008; + } + uVar9 = 0xffffffff; + if ((_SubStr_00 != (longlong ***********)0x0) && + ((((_Str = (longlong ************)*param_3, + pppppppppppplVar3 = (longlong ************)PTR_DAT_140155008, uVar9 = 0xffffffff, + _Str == (longlong ************)0x0 || + (pppppppppppplVar3 = _Str, _Str == (longlong ************)PTR_DAT_140155008)) || + (-1 < *(int *)(_Str + -1))) && + (_Str = pppppppppppplVar3, pcVar4 = strstr((char *)_Str,(char *)_SubStr_00), + pcVar4 != (char *)0x0)))) { + pppppplVar5 = *param_3; + if (*param_3 == (longlong ******)0x0) { + pppppplVar5 = (longlong ******)PTR_DAT_140155008; + } + uVar9 = (int)pcVar4 - (int)pppppplVar5; + } + if ((((int)uVar8 < 0) || ((int)uVar9 < 0)) || ((int)uVar9 <= (int)uVar8)) { + FUN_140030200(_Str,_SubStr_00,puVar11,plVar7); + *param_2 = (longlong)PTR_DAT_140155008; + if (((ppppppppppplVar6 != (longlong ***********)0x0) && + (ppppppppppplVar6 != (longlong ***********)PTR_DAT_140155008)) && + (ppppppppppplVar6 + -1 != (longlong ***********)0x0)) { + _Str = (longlong ************)FUN_140030200(_Str,_SubStr_00,puVar11,plVar7); + local_40 = (longlong ***********)_Str; + FUN_14002e6e0((int *)_Str); + local_38 = 1; + piVar1 = (int *)((longlong)ppppppppppplVar6 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(ppppppppppplVar6 + -1); + } + FUN_14002e770((longlong)_Str); + } + if (ppppplVar2 == (longlong *****)0x0) { + return param_2; + } + if (ppppplVar2 == (longlong *****)PTR_DAT_140155008) { + return param_2; + } + if (ppppplVar2 + -1 == (longlong *****)0x0) { + return param_2; + } + ppppppppppplVar6 = (longlong ***********)FUN_140030200(_Str,_SubStr_00,puVar11,plVar7); + local_40 = ppppppppppplVar6; + FUN_14002e6e0((int *)ppppppppppplVar6); + local_38 = 1; + piVar1 = (int *)((longlong)ppppplVar2 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(ppppplVar2 + -1); + } + } + else { + uVar13 = (ulonglong)(uVar9 - uVar8); + uVar12 = (ulonglong)uVar8; + plVar7 = param_2; + FUN_1400adf90((longlong *)param_3,param_2,uVar8,uVar9 - uVar8); + if (((ppppppppppplVar6 != (longlong ***********)0x0) && + (ppppppppppplVar6 != (longlong ***********)PTR_DAT_140155008)) && + (ppppppppppplVar6 + -1 != (longlong ***********)0x0)) { + param_3 = (longlong *******)FUN_140030200(param_3,plVar7,uVar12,uVar13); + local_40 = (longlong ***********)param_3; + FUN_14002e6e0((int *)param_3); + local_38 = 1; + piVar1 = (int *)((longlong)ppppppppppplVar6 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(ppppppppppplVar6 + -1); + } + FUN_14002e770((longlong)param_3); + } + if (ppppplVar2 == (longlong *****)0x0) { + return param_2; + } + if (ppppplVar2 == (longlong *****)PTR_DAT_140155008) { + return param_2; + } + if (ppppplVar2 + -1 == (longlong *****)0x0) { + return param_2; + } + ppppppppppplVar6 = (longlong ***********)FUN_140030200(param_3,plVar7,uVar12,uVar13); + local_40 = ppppppppppplVar6; + FUN_14002e6e0((int *)ppppppppppplVar6); + local_38 = 1; + piVar1 = (int *)((longlong)ppppplVar2 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(ppppplVar2 + -1); + } + } + FUN_14002e770((longlong)ppppppppppplVar6); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400aeea0.c b/decomp/Agent_Release_x64/full/functions/0x1400aeea0.c new file mode 100644 index 00000000..47c9100b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400aeea0.c @@ -0,0 +1,86 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400aeea0 FUN_1400aeea0 + * Pseudocode, not original source. */ + +void FUN_1400aeea0(longlong param_1,longlong param_2,longlong param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + longlong *plVar3; + longlong *plVar4; + int iVar5; + double dVar6; + longlong *local_res8; + + FUN_14002e6e0((int *)(param_1 + 0x10)); + plVar2 = *(longlong **)(param_1 + 8); + dVar6 = (double)FUN_1400a3c60((longlong)plVar2); + if (600.0 < dVar6 - *(double *)(param_1 + 0x128)) { + plVar4 = (longlong *)0x0; + plVar3 = plVar4; + while (iVar5 = (int)plVar3, iVar5 != *(int *)(param_1 + 0x118)) { + if ((iVar5 < 0) || (*(int *)(param_1 + 0x118) <= iVar5)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar2,param_2,param_3,param_4); + } + param_2 = (longlong)iVar5; + param_3 = *(longlong *)(param_1 + 0x110); + local_res8 = (longlong *)0x0; + lVar1 = *(longlong *)(param_3 + param_2 * 8); + if (lVar1 != 0) { + *(longlong *)(*(longlong *)(param_3 + param_2 * 8) + 8) = *(longlong *)(lVar1 + 8) + 1; + local_res8 = *(longlong **)(param_3 + param_2 * 8); + } + plVar2 = plVar4; + if (local_res8 != (longlong *)0x0) { + plVar2 = (longlong *)*local_res8; + } + plVar2 = (longlong *)plVar2[2]; + if ((plVar2 != (longlong *)0x0) && (*plVar2 != 0)) { + plVar3 = plVar4; + if (local_res8 != (longlong *)0x0) { + plVar3 = (longlong *)*local_res8; + } + plVar2 = plVar4; + if ((undefined8 *)plVar3[2] != (undefined8 *)0x0) { + plVar2 = *(longlong **)plVar3[2]; + } + FUN_140035490(plVar2,param_2,param_3,param_4); + } + if (local_res8 != (longlong *)0x0) { + plVar3 = local_res8 + 1; + *plVar3 = *plVar3 + -1; + if (*plVar3 == 0) { + if ((undefined8 *)*local_res8 != (undefined8 *)0x0) { + param_2 = 1; + (*(code *)**(undefined8 **)*local_res8)(); + } + FUN_1400302f0(local_res8); + plVar2 = local_res8; + } + } + if (*(int *)(param_1 + 0x118) <= iVar5) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar2,param_2,param_3,param_4); + } + plVar3 = (longlong *)(ulonglong)(iVar5 + 1); + } + plVar2 = plVar4; + if (*(longlong *)(param_1 + 0x70) != 0) { + plVar2 = *(longlong **)(param_1 + 0x60); + } + for (; plVar2 != (longlong *)0x0; plVar2 = (longlong *)plVar2[2]) { + plVar3 = plVar4; + if ((longlong *)plVar2[1] != (longlong *)0x0) { + plVar3 = *(longlong **)plVar2[1]; + } + if ((int)plVar3[0x492] < 4) { + plVar3[0x492] = 4; + } + } + } + FUN_14002e770(param_1 + 0x10); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400af050.c b/decomp/Agent_Release_x64/full/functions/0x1400af050.c new file mode 100644 index 00000000..d1940a50 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400af050.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400af050 FUN_1400af050 + * Pseudocode, not original source. */ + +void FUN_1400af050(undefined8 *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + longlong *plVar2; + + FUN_14003b870(param_1 + 4); + if ((param_1[2] != 0) && + (*(longlong *)(param_1[2] + 8) = *(longlong *)(param_1[2] + 8) + -1, + *(longlong *)(param_1[2] + 8) == 0)) { + puVar1 = (undefined8 *)param_1[2]; + plVar2 = (longlong *)*puVar1; + if (plVar2 != (longlong *)0x0) { + FUN_1400358a0(plVar2,param_2,param_3,param_4); + FUN_1400302f0(plVar2); + } + FUN_1400302f0(puVar1); + } + FUN_14001c020(param_1 + 1); + *param_1 = Proud::IFastSocketDelegate::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400af0f0.c b/decomp/Agent_Release_x64/full/functions/0x1400af0f0.c new file mode 100644 index 00000000..8f4ee006 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400af0f0.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400af0f0 FUN_1400af0f0 + * Pseudocode, not original source. */ + +void FUN_1400af0f0(undefined8 *param_1) + +{ + LPVOID pvVar1; + longlong *plVar2; + + *param_1 = Proud::CFastArray,0>::vftable; + if (0 < *(int *)(param_1 + 3)) { + FUN_1400ae080((longlong *)param_1[2],(longlong)*(int *)(param_1 + 3)); + } + pvVar1 = (LPVOID)param_1[2]; + if (pvVar1 != (LPVOID)0x0) { + plVar2 = (longlong *)param_1[1]; + if (plVar2 != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x0001400af137. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*plVar2 + 0x18))(plVar2,pvVar1); + return; + } + FUN_1400302f0(pvVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400af150.c b/decomp/Agent_Release_x64/full/functions/0x1400af150.c new file mode 100644 index 00000000..584116be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400af150.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400af150 FUN_1400af150 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400af150(undefined8 *param_1,uint param_2) + +{ + LPVOID pvVar1; + longlong *plVar2; + + *param_1 = Proud::CFastArray,0>::vftable; + if (0 < *(int *)(param_1 + 3)) { + FUN_1400ae080((longlong *)param_1[2],(longlong)*(int *)(param_1 + 3)); + } + pvVar1 = (LPVOID)param_1[2]; + if (pvVar1 != (LPVOID)0x0) { + plVar2 = (longlong *)param_1[1]; + if (plVar2 == (longlong *)0x0) { + FUN_1400302f0(pvVar1); + } + else { + (**(code **)(*plVar2 + 0x18))(plVar2,pvVar1); + } + } + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400af1c0.c b/decomp/Agent_Release_x64/full/functions/0x1400af1c0.c new file mode 100644 index 00000000..84fad9ef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400af1c0.c @@ -0,0 +1,110 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400af1c0 FUN_1400af1c0 + * Pseudocode, not original source. */ + +void FUN_1400af1c0(longlong param_1,int param_2) + +{ + longlong *plVar1; + undefined8 *puVar2; + longlong *plVar3; + int iVar4; + int iVar5; + longlong *plVar6; + int iVar7; + longlong lVar8; + longlong lVar9; + exception local_a0 [152]; + + lVar8 = (longlong)param_2; + if (param_2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar5 = *(int *)(param_1 + 0x18); + if (param_2 != iVar5) { + if (*(int *)(param_1 + 0x1c) < param_2) { + iVar5 = FUN_1400854f0(param_1,param_2); + lVar9 = (longlong)iVar5; + plVar3 = *(longlong **)(param_1 + 8); + if (*(int *)(param_1 + 0x1c) == 0) { + if (plVar3 == (longlong *)0x0) { + puVar2 = (undefined8 *)FUN_140030280(lVar9 << 3); + } + else { + puVar2 = (undefined8 *)(**(code **)(*plVar3 + 8))(plVar3,lVar9 << 3); + } + *(undefined8 **)(param_1 + 0x10) = puVar2; + if (0 < param_2) { + do { + if (puVar2 != (undefined8 *)0x0) { + *puVar2 = 0; + } + puVar2 = puVar2 + 1; + lVar8 = lVar8 + -1; + } while (lVar8 != 0); + } + } + else { + plVar1 = *(longlong **)(param_1 + 0x10); + if (plVar3 == (longlong *)0x0) { + plVar3 = (longlong *)FUN_140030280(lVar9 << 3); + } + else { + plVar3 = (longlong *)(**(code **)(*plVar3 + 8))(plVar3,lVar9 << 3); + } + FUN_1400ae110(plVar3,(longlong)plVar1,(longlong)*(int *)(param_1 + 0x18)); + iVar4 = param_2 - *(int *)(param_1 + 0x18); + plVar6 = plVar3 + *(int *)(param_1 + 0x18); + iVar7 = 0; + if (0 < iVar4) { + do { + if (plVar6 != (longlong *)0x0) { + *plVar6 = 0; + } + iVar7 = iVar7 + 1; + plVar6 = plVar6 + 1; + } while ((longlong)iVar7 < (longlong)iVar4); + } + if (plVar3 == (longlong *)0x0) { + FUN_14002f1e0(local_a0,L"Memory allocation failure!",0,(longlong)iVar4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_a0,(ThrowInfo *)&DAT_140151b88); + } + FUN_1400ae080(plVar1,(longlong)*(int *)(param_1 + 0x18)); + plVar6 = *(longlong **)(param_1 + 8); + if (plVar6 == (longlong *)0x0) { + FUN_1400302f0(plVar1); + } + else { + (**(code **)(*plVar6 + 0x18))(plVar6,plVar1); + } + *(longlong **)(param_1 + 0x10) = plVar3; + } + *(int *)(param_1 + 0x1c) = iVar5; + } + else if (iVar5 - param_2 < 1) { + iVar4 = param_2 - iVar5; + if (0 < iVar4) { + puVar2 = (undefined8 *)(*(longlong *)(param_1 + 0x10) + (longlong)iVar5 * 8); + iVar5 = 0; + if (0 < iVar4) { + do { + if (puVar2 != (undefined8 *)0x0) { + *puVar2 = 0; + } + iVar5 = iVar5 + 1; + puVar2 = puVar2 + 1; + } while (iVar5 < iVar4); + } + } + } + else { + FUN_1400ae080((longlong *)(*(longlong *)(param_1 + 0x10) + lVar8 * 8), + (longlong)(iVar5 - param_2)); + } + *(int *)(param_1 + 0x18) = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400af3b0.c b/decomp/Agent_Release_x64/full/functions/0x1400af3b0.c new file mode 100644 index 00000000..bdcea37c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400af3b0.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400af3b0 FUN_1400af3b0 + * Pseudocode, not original source. */ + +void FUN_1400af3b0(undefined8 param_1,longlong param_2) + +{ + uint uVar1; + longlong lVar2; + undefined8 *puVar3; + int iVar4; + longlong local_res10 [3]; + undefined **local_20; + undefined4 local_18; + undefined2 local_14; + + *(undefined1 *)(param_2 + 0x80) = 1; + local_20 = Proud::AddrPort::vftable; + local_18 = DAT_14015f460; + local_14 = DAT_14015f464; + if (DAT_14015f450 == (undefined8 *)0x0) { + iVar4 = 0; + puVar3 = (undefined8 *)PTR_DAT_140155008; + } + else { + puVar3 = DAT_14015f450; + if (DAT_14015f450 == (undefined8 *)PTR_DAT_140155008) { + iVar4 = 0; + } + else { + iVar4 = *(int *)(DAT_14015f450 + -1); + } + } + if (*(longlong **)(param_2 + 0x10) == (longlong *)0x0) { + lVar2 = 0; + } + else { + lVar2 = **(longlong **)(param_2 + 0x10); + } + uVar1 = FUN_1400372d0(lVar2,puVar3,(undefined **)(ulonglong)(iVar4 + 1),(longlong)&local_20); + if ((uVar1 == 0) || (uVar1 == 0x3e5)) { + *(undefined4 *)(param_2 + 0x18) = 1; + } + else { + *(undefined1 *)(param_2 + 0x80) = 0; + local_res10[0] = 0; + FUN_140031f40((longlong *)(param_2 + 0x10),local_res10); + *(undefined4 *)(param_2 + 0x18) = 3; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400af480.c b/decomp/Agent_Release_x64/full/functions/0x1400af480.c new file mode 100644 index 00000000..cc94b53d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400af480.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400af480 FUN_1400af480 + * Pseudocode, not original source. */ + +void FUN_1400af480(undefined8 param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + uint uVar1; + void *_Dst; + longlong lVar2; + undefined **_Size; + longlong local_res10 [3]; + + FUN_14001bc70(param_2 + 0x20,0x2000,param_3); + if (*(int *)(param_2 + 0x38) == 0) { + _Dst = (void *)0x0; + } + else { + _Dst = *(void **)(param_2 + 0x30); + } + _Size = (undefined **)(longlong)*(int *)(param_2 + 0x38); + memset(_Dst,0,(size_t)_Size); + *(undefined1 *)(param_2 + 0xc0) = 1; + lVar2 = 0; + if (*(longlong **)(param_2 + 0x10) != (longlong *)0x0) { + lVar2 = **(longlong **)(param_2 + 0x10); + } + uVar1 = FUN_140036430(lVar2,(ulonglong)(*(int *)(param_2 + 0x38) - 1),_Size,param_4); + if (uVar1 == 0) { + *(undefined4 *)(param_2 + 0x18) = 2; + } + else { + *(undefined1 *)(param_2 + 0xc0) = 0; + local_res10[0] = 0; + FUN_140031f40((longlong *)(param_2 + 0x10),local_res10); + *(undefined4 *)(param_2 + 0x18) = 3; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400af520.c b/decomp/Agent_Release_x64/full/functions/0x1400af520.c new file mode 100644 index 00000000..8661e712 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400af520.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400af520 FUN_1400af520 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400af520(undefined8 *param_1,ulonglong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_1400af050(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400af550.c b/decomp/Agent_Release_x64/full/functions/0x1400af550.c new file mode 100644 index 00000000..84c5172f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400af550.c @@ -0,0 +1,102 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400af550 FUN_1400af550 + * Pseudocode, not original source. */ + +void FUN_1400af550(char *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + uint uVar2; + ulonglong uVar3; + longlong lVar4; + longlong lVar5; + longlong *plVar6; + float fVar7; + float fVar8; + + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + 1; + FUN_14003d560(param_1); + plVar6 = *(longlong **)(param_1 + 0x10); + while (plVar6 != (longlong *)0x0) { + plVar1 = (longlong *)plVar6[2]; + FUN_140003240(plVar6,param_2,param_3,param_4); + if (*(longlong **)(param_1 + 0x50) == (longlong *)0x0) { + FUN_1400302f0(plVar6); + } + else { + (**(code **)(**(longlong **)(param_1 + 0x50) + 0x18))(); + param_2 = plVar6; + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + plVar6 = plVar1; + } + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + param_1[0x20] = '\0'; + param_1[0x21] = '\0'; + param_1[0x22] = '\0'; + param_1[0x23] = '\0'; + param_1[0x24] = '\0'; + param_1[0x25] = '\0'; + param_1[0x26] = '\0'; + param_1[0x27] = '\0'; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + FUN_14003d560(param_1); + if (*(int *)(param_1 + 0x48) == 0) { + uVar2 = FUN_14003d4e0((longlong)param_1,*(longlong *)(param_1 + 0x20)); + if (*(LPVOID *)(param_1 + 8) != (LPVOID)0x0) { + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + } + lVar4 = 0; + *(uint *)(param_1 + 0x28) = uVar2; + fVar8 = (float)uVar2 * *(float *)(param_1 + 0x34); + if ((9.223372e+18 < fVar8) && (fVar8 = fVar8 - 9.223372e+18, fVar8 < 9.223372e+18)) { + lVar4 = -0x8000000000000000; + } + fVar7 = (float)uVar2 * *(float *)(param_1 + 0x30); + lVar5 = 0; + *(longlong *)(param_1 + 0x38) = (longlong)fVar8 + lVar4; + if ((9.223372e+18 < fVar7) && (fVar7 = fVar7 - 9.223372e+18, fVar7 < 9.223372e+18)) { + lVar5 = -0x8000000000000000; + } + uVar3 = (longlong)fVar7 + lVar5; + if ((ulonglong)((longlong)fVar7 + lVar5) < 0x11) { + uVar3 = 0; + } + *(ulonglong *)(param_1 + 0x40) = uVar3; + } + FUN_14003d560(param_1); + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400af680.c b/decomp/Agent_Release_x64/full/functions/0x1400af680.c new file mode 100644 index 00000000..634e6a28 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400af680.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400af680 FUN_1400af680 + * Pseudocode, not original source. */ + +void FUN_1400af680(char *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + uint uVar2; + + if (param_2 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + FUN_1400ad530(param_2,param_2,param_3,param_4); + plVar1 = *(longlong **)(param_1 + 0x50); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(param_2); + } + else { + (**(code **)(*plVar1 + 0x18))(plVar1,param_2); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + if ((((char)param_3 != '\0') && (*(ulonglong *)(param_1 + 0x20) < *(ulonglong *)(param_1 + 0x40))) + && (*(int *)(param_1 + 0x48) == 0)) { + uVar2 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14003f960(param_1,uVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400af710.c b/decomp/Agent_Release_x64/full/functions/0x1400af710.c new file mode 100644 index 00000000..5b86b120 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400af710.c @@ -0,0 +1,65 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400af710 FUN_1400af710 + * Pseudocode, not original source. */ + +void FUN_1400af710(char *param_1,longlong *param_2,ulonglong param_3) + +{ + uint uVar1; + ulonglong uVar2; + uint uVar3; + + if (param_2 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar1 = *(uint *)(param_1 + 0x28); + uVar2 = (ulonglong)*(uint *)(param_2 + 4) % (ulonglong)uVar1; + if (*(longlong *)(param_1 + 0x20) == 1) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + } + else { + uVar3 = (uint)uVar2; + if (((param_2[3] == 0) || (*(uint *)(param_2[3] + 0x20) % uVar1 != uVar3)) && + ((param_2[2] == 0 || (*(uint *)(param_2[2] + 0x20) % uVar1 != uVar3)))) { + *(undefined8 *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = 0; + } + else if (param_2 == *(longlong **)(*(longlong *)(param_1 + 8) + (longlong)(int)uVar3 * 8)) { + *(longlong *)(*(longlong *)(param_1 + 8) + uVar2 * 8) = param_2[2]; + } + if (param_2 == *(longlong **)(param_1 + 0x10)) { + *(longlong *)(param_1 + 0x10) = param_2[2]; + param_2[3] = 0; + } + if (param_2 == *(longlong **)(param_1 + 0x18)) { + *(longlong *)(param_1 + 0x18) = param_2[3]; + param_2[2] = 0; + } + if (param_2[3] != 0) { + *(longlong *)(param_2[3] + 0x10) = param_2[2]; + } + if (param_2[2] != 0) { + *(longlong *)(param_2[2] + 0x18) = param_2[3]; + } + } + FUN_1400af680(param_1,param_2,param_3 & 0xff,param_2); + FUN_14003d560(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400af810.c b/decomp/Agent_Release_x64/full/functions/0x1400af810.c new file mode 100644 index 00000000..0bfaad92 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400af810.c @@ -0,0 +1,79 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400af810 FUN_1400af810 + * Pseudocode, not original source. */ + +longlong * FUN_1400af810(char *param_1,longlong *param_2,ulonglong param_3,undefined8 param_4) + +{ + longlong lVar1; + uint uVar2; + longlong *plVar3; + longlong *plVar4; + longlong *plVar5; + undefined4 uVar6; + ulonglong uVar7; + + uVar6 = (undefined4)param_4; + uVar7 = param_3 & 0xffffffff; + plVar4 = *(longlong **)(param_1 + 0x50); + if (plVar4 == (longlong *)0x0) { + plVar4 = (longlong *)0x28; + plVar5 = param_2; + plVar3 = (longlong *)FUN_140030280(0x28); + } + else { + plVar5 = (longlong *)0x28; + plVar3 = (longlong *)(**(code **)(*plVar4 + 8))(); + } + if (plVar3 != (longlong *)0x0) { + FUN_140030200(plVar4,plVar5,param_3,param_4); + *plVar3 = (longlong)PTR_DAT_140155008; + FUN_14001bf80(plVar3,param_2,param_3,param_4); + plVar3[1] = 0; + *(undefined4 *)(plVar3 + 4) = uVar6; + } + lVar1 = *(longlong *)(*(longlong *)(param_1 + 8) + uVar7 * 8); + FUN_14003d560(param_1); + if (*(longlong *)(param_1 + 0x20) == 0) { + *(longlong **)(param_1 + 0x10) = plVar3; + *(longlong **)(param_1 + 0x18) = plVar3; + plVar3[3] = 0; + plVar3[2] = 0; + } + else { + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if (lVar1 == 0) { + lVar1 = *(longlong *)(param_1 + 0x10); + plVar3[3] = 0; + plVar3[2] = lVar1; + if (lVar1 != 0) { + *(longlong **)(lVar1 + 0x18) = plVar3; + } + *(longlong **)(param_1 + 0x10) = plVar3; + } + else { + if (*(longlong *)(lVar1 + 0x18) == 0) { + *(longlong **)(param_1 + 0x10) = plVar3; + } + else { + *(longlong **)(*(longlong *)(lVar1 + 0x18) + 0x10) = plVar3; + } + plVar3[3] = *(longlong *)(lVar1 + 0x18); + plVar3[2] = lVar1; + *(longlong **)(lVar1 + 0x18) = plVar3; + } + } + *(longlong **)(*(longlong *)(param_1 + 8) + uVar7 * 8) = plVar3; + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if ((*(ulonglong *)(param_1 + 0x38) < *(ulonglong *)(param_1 + 0x20)) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar2 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14003f960(param_1,uVar2); + } + FUN_14003d560(param_1); + return plVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400af980.c b/decomp/Agent_Release_x64/full/functions/0x1400af980.c new file mode 100644 index 00000000..ccf9e5a7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400af980.c @@ -0,0 +1,78 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400af980 FUN_1400af980 + * Pseudocode, not original source. */ + +longlong * FUN_1400af980(char *param_1,longlong *param_2,ulonglong param_3,undefined8 param_4) + +{ + longlong lVar1; + uint uVar2; + longlong *plVar3; + longlong *plVar4; + longlong *plVar5; + undefined4 uVar6; + ulonglong uVar7; + + uVar6 = (undefined4)param_4; + uVar7 = param_3 & 0xffffffff; + plVar4 = *(longlong **)(param_1 + 0x50); + if (plVar4 == (longlong *)0x0) { + plVar4 = (longlong *)0x28; + plVar5 = param_2; + plVar3 = (longlong *)FUN_140030280(0x28); + } + else { + plVar5 = (longlong *)0x28; + plVar3 = (longlong *)(**(code **)(*plVar4 + 8))(); + } + if (plVar3 != (longlong *)0x0) { + FUN_140030200(plVar4,plVar5,param_3,param_4); + *plVar3 = (longlong)PTR_DAT_140155010; + FUN_140003170(plVar3,param_2,param_3,param_4); + *(undefined4 *)(plVar3 + 4) = uVar6; + } + lVar1 = *(longlong *)(*(longlong *)(param_1 + 8) + uVar7 * 8); + FUN_14003d560(param_1); + if (*(longlong *)(param_1 + 0x20) == 0) { + *(longlong **)(param_1 + 0x10) = plVar3; + *(longlong **)(param_1 + 0x18) = plVar3; + plVar3[3] = 0; + plVar3[2] = 0; + } + else { + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if (lVar1 == 0) { + lVar1 = *(longlong *)(param_1 + 0x10); + plVar3[3] = 0; + plVar3[2] = lVar1; + if (lVar1 != 0) { + *(longlong **)(lVar1 + 0x18) = plVar3; + } + *(longlong **)(param_1 + 0x10) = plVar3; + } + else { + if (*(longlong *)(lVar1 + 0x18) == 0) { + *(longlong **)(param_1 + 0x10) = plVar3; + } + else { + *(longlong **)(*(longlong *)(lVar1 + 0x18) + 0x10) = plVar3; + } + plVar3[3] = *(longlong *)(lVar1 + 0x18); + plVar3[2] = lVar1; + *(longlong **)(lVar1 + 0x18) = plVar3; + } + } + *(longlong **)(*(longlong *)(param_1 + 8) + uVar7 * 8) = plVar3; + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; + FUN_14003d560(param_1); + FUN_14003d560(param_1); + if ((*(ulonglong *)(param_1 + 0x38) < *(ulonglong *)(param_1 + 0x20)) && + (*(int *)(param_1 + 0x48) == 0)) { + uVar2 = FUN_14003d4e0((longlong)param_1,*(ulonglong *)(param_1 + 0x20)); + FUN_14003f960(param_1,uVar2); + } + FUN_14003d560(param_1); + return plVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400afae0.c b/decomp/Agent_Release_x64/full/functions/0x1400afae0.c new file mode 100644 index 00000000..a34b72c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400afae0.c @@ -0,0 +1,99 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400afae0 FUN_1400afae0 + * Pseudocode, not original source. */ + +void FUN_1400afae0(undefined8 param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + longlong *plVar1; + char *pcVar2; + undefined8 *puVar3; + uint uVar4; + undefined4 uVar5; + undefined8 *puVar6; + undefined8 uVar7; + undefined8 **ppuVar8; + undefined8 *puVar9; + undefined8 *local_res10; + longlong local_res18 [2]; + longlong local_38 [2]; + + local_38[1] = 0xfffffffffffffffe; + local_res10 = (undefined8 *)FUN_140030280(0x400); + puVar9 = (undefined8 *)0x0; + puVar6 = puVar9; + if (local_res10 != (undefined8 *)0x0) { + param_3 = param_2; + puVar6 = FUN_140035990(local_res10,1,param_2,param_4); + } + if (puVar6 == (undefined8 *)0x0) { + local_res10 = (undefined8 *)0x0; + } + else { + local_res10 = (undefined8 *)FUN_140030280(0x10); + local_res10[1] = 1; + *local_res10 = puVar6; + } + puVar6 = local_res10; + ppuVar8 = &local_res10; + FUN_140031f40(param_2 + 2,(longlong *)ppuVar8); + puVar3 = local_res10; + if (puVar6 != (undefined8 *)0x0) { + plVar1 = puVar6 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + plVar1 = (longlong *)*local_res10; + if (plVar1 != (longlong *)0x0) { + FUN_1400358a0(plVar1,ppuVar8,param_3,param_4); + FUN_1400302f0(plVar1); + } + FUN_1400302f0(puVar3); + } + } + puVar6 = puVar9; + if ((undefined8 *)param_2[2] != (undefined8 *)0x0) { + puVar6 = *(undefined8 **)param_2[2]; + } + uVar4 = FUN_140036c10((longlong)puVar6,'\x01'); + if (uVar4 == 0) { + pcVar2 = (char *)param_2[1]; + if (((pcVar2 == (char *)0x0) || (pcVar2 == PTR_DAT_140155008)) || (*(int *)(pcVar2 + -8) < 1)) { + puVar6 = puVar9; + if ((undefined8 *)param_2[2] != (undefined8 *)0x0) { + puVar6 = *(undefined8 **)param_2[2]; + } + uVar5 = FUN_140037510((longlong)puVar6,pcVar2,param_3,param_4); + if ((char)uVar5 == '\0') { + local_38[0] = 0; + FUN_140031f40(param_2 + 2,local_38); + *(undefined4 *)(param_2 + 3) = 3; + return; + } + } + else { + puVar6 = puVar9; + if ((undefined8 *)param_2[2] != (undefined8 *)0x0) { + puVar6 = *(undefined8 **)param_2[2]; + } + uVar7 = FUN_140036fd0((longlong)puVar6,pcVar2,0,param_4); + if ((char)uVar7 == '\0') { + local_res18[1] = 0; + FUN_140031f40(param_2 + 2,local_res18 + 1); + *(undefined4 *)(param_2 + 3) = 3; + return; + } + } + if ((undefined8 *)param_2[2] != (undefined8 *)0x0) { + puVar9 = *(undefined8 **)param_2[2]; + } + FUN_140034c70((longlong)puVar9,'\0'); + FUN_1400af3b0(param_1,(longlong)param_2); + } + else { + local_res18[0] = 0; + FUN_140031f40(param_2 + 2,local_res18); + *(undefined4 *)(param_2 + 3) = 3; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400afcb0.c b/decomp/Agent_Release_x64/full/functions/0x1400afcb0.c new file mode 100644 index 00000000..84d27949 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400afcb0.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400afcb0 FUN_1400afcb0 + * Pseudocode, not original source. */ + +void FUN_1400afcb0(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 uVar1; + longlong lVar2; + uint *puVar3; + longlong local_res10; + uint local_40 [2]; + undefined **local_38; + undefined4 local_30; + undefined2 local_2c; + int local_28; + + while( true ) { + local_38 = Proud::AddrPort::vftable; + local_28 = 0; + local_40[0] = 0; + local_40[1] = 0; + local_30 = DAT_1401553d0; + local_2c = DAT_1401553d4; + lVar2 = 0; + if (*(longlong **)(param_2 + 0x10) != (longlong *)0x0) { + lVar2 = **(longlong **)(param_2 + 0x10); + } + puVar3 = local_40; + uVar1 = FUN_1400353c0(lVar2,0,puVar3); + if ((char)uVar1 == '\0') break; + *(undefined1 *)(param_2 + 0x80) = 0; + if ((local_40[1] != 0) || (local_28 == 0)) { + *(undefined4 *)(param_2 + 0x18) = 3; + local_res10 = 0; + FUN_140031f40((longlong *)(param_2 + 0x10),&local_res10); + return; + } + *(int *)(param_2 + 0x1c) = *(int *)(param_2 + 0x1c) + 1; + if (2 < *(int *)(param_2 + 0x1c)) { + if (*(double *)(param_2 + 200) == 0.0) { + uVar1 = FUN_1400a3c60(*(longlong *)(param_1 + 8)); + *(undefined8 *)(param_2 + 200) = uVar1; + } + FUN_1400af480(param_1,param_2,(SIZE_T)puVar3,param_4); + return; + } + FUN_1400af3b0(param_1,param_2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400afdc0.c b/decomp/Agent_Release_x64/full/functions/0x1400afdc0.c new file mode 100644 index 00000000..af6d24a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400afdc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400afdc0 FUN_1400afdc0 + * Pseudocode, not original source. */ + +void FUN_1400afdc0(char *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400af550(param_1,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400afde0.c b/decomp/Agent_Release_x64/full/functions/0x1400afde0.c new file mode 100644 index 00000000..9604cfab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400afde0.c @@ -0,0 +1,112 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400afde0 FUN_1400afde0 + * Pseudocode, not original source. */ + +void FUN_1400afde0(char *param_1) + +{ + longlong *plVar1; + longlong *plVar2; + undefined8 *puVar3; + longlong *plVar4; + uint uVar5; + ulonglong uVar6; + longlong lVar7; + float fVar8; + + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + 1; + FUN_14003d560(param_1); + plVar4 = *(longlong **)(param_1 + 0x10); + while (plVar4 != (longlong *)0x0) { + plVar1 = (longlong *)plVar4[2]; + if ((plVar4[1] != 0) && + (*(longlong *)(plVar4[1] + 8) = *(longlong *)(plVar4[1] + 8) + -1, + *(longlong *)(plVar4[1] + 8) == 0)) { + plVar2 = (longlong *)plVar4[1]; + puVar3 = (undefined8 *)*plVar2; + if (puVar3 != (undefined8 *)0x0) { + (**(code **)*puVar3)(puVar3,1); + } + FUN_1400302f0(plVar2); + } + FUN_14001c020(plVar4); + plVar2 = *(longlong **)(param_1 + 0x50); + if (plVar2 == (longlong *)0x0) { + FUN_1400302f0(plVar4); + } + else { + (**(code **)(*plVar2 + 0x18))(plVar2,plVar4); + } + *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + -1; + plVar4 = plVar1; + } + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + param_1[0x20] = '\0'; + param_1[0x21] = '\0'; + param_1[0x22] = '\0'; + param_1[0x23] = '\0'; + param_1[0x24] = '\0'; + param_1[0x25] = '\0'; + param_1[0x26] = '\0'; + param_1[0x27] = '\0'; + param_1[0x10] = '\0'; + param_1[0x11] = '\0'; + param_1[0x12] = '\0'; + param_1[0x13] = '\0'; + param_1[0x14] = '\0'; + param_1[0x15] = '\0'; + param_1[0x16] = '\0'; + param_1[0x17] = '\0'; + param_1[0x18] = '\0'; + param_1[0x19] = '\0'; + param_1[0x1a] = '\0'; + param_1[0x1b] = '\0'; + param_1[0x1c] = '\0'; + param_1[0x1d] = '\0'; + param_1[0x1e] = '\0'; + param_1[0x1f] = '\0'; + FUN_14003d560(param_1); + if (*(int *)(param_1 + 0x48) == 0) { + uVar5 = FUN_14003d4e0((longlong)param_1,*(longlong *)(param_1 + 0x20)); + if (*(LPVOID *)(param_1 + 8) != (LPVOID)0x0) { + FUN_1400302f0(*(LPVOID *)(param_1 + 8)); + param_1[8] = '\0'; + param_1[9] = '\0'; + param_1[10] = '\0'; + param_1[0xb] = '\0'; + param_1[0xc] = '\0'; + param_1[0xd] = '\0'; + param_1[0xe] = '\0'; + param_1[0xf] = '\0'; + } + *(uint *)(param_1 + 0x28) = uVar5; + fVar8 = (float)uVar5 * *(float *)(param_1 + 0x34); + lVar7 = 0; + if ((9.223372e+18 < fVar8) && (fVar8 = fVar8 - 9.223372e+18, fVar8 < 9.223372e+18)) { + lVar7 = -0x8000000000000000; + } + *(longlong *)(param_1 + 0x38) = (longlong)fVar8 + lVar7; + fVar8 = (float)uVar5 * *(float *)(param_1 + 0x30); + lVar7 = 0; + if ((9.223372e+18 < fVar8) && (fVar8 = fVar8 - 9.223372e+18, fVar8 < 9.223372e+18)) { + lVar7 = -0x8000000000000000; + } + uVar6 = (longlong)fVar8 + lVar7; + if ((ulonglong)((longlong)fVar8 + lVar7) < 0x11) { + uVar6 = 0; + } + *(ulonglong *)(param_1 + 0x40) = uVar6; + } + FUN_14003d560(param_1); + *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400aff80.c b/decomp/Agent_Release_x64/full/functions/0x1400aff80.c new file mode 100644 index 00000000..eb4be7ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400aff80.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400aff80 FUN_1400aff80 + * Pseudocode, not original source. */ + +longlong * FUN_1400aff80(char *param_1,longlong *param_2,uint param_3,uint param_4) + +{ + undefined8 uVar1; + longlong *plVar2; + + if (*(longlong *)(param_1 + 8) == 0) { + uVar1 = FUN_14003f710((longlong)param_1,*(uint *)(param_1 + 0x28),'\x01'); + if ((char)uVar1 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + FUN_14003d560(param_1); + plVar2 = FUN_1400af810(param_1,param_2,(ulonglong)param_3,(ulonglong)param_4); + FUN_14003d560(param_1); + return plVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b0000.c b/decomp/Agent_Release_x64/full/functions/0x1400b0000.c new file mode 100644 index 00000000..139075d8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b0000.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b0000 FUN_1400b0000 + * Pseudocode, not original source. */ + +longlong * FUN_1400b0000(char *param_1,longlong *param_2,uint param_3,uint param_4) + +{ + undefined8 uVar1; + longlong *plVar2; + + if (*(longlong *)(param_1 + 8) == 0) { + uVar1 = FUN_14003f710((longlong)param_1,*(uint *)(param_1 + 0x28),'\x01'); + if ((char)uVar1 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + FUN_14003d560(param_1); + plVar2 = FUN_1400af980(param_1,param_2,(ulonglong)param_3,(ulonglong)param_4); + FUN_14003d560(param_1); + return plVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b0090.c b/decomp/Agent_Release_x64/full/functions/0x1400b0090.c new file mode 100644 index 00000000..d82a90e4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b0090.c @@ -0,0 +1,245 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b0090 FUN_1400b0090 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400b0130) */ +/* WARNING: Removing unreachable block (ram,0x0001400b0134) */ +/* WARNING: Removing unreachable block (ram,0x0001400b0150) */ +/* WARNING: Removing unreachable block (ram,0x0001400b015e) */ +/* WARNING: Removing unreachable block (ram,0x0001400b0156) */ +/* WARNING: Removing unreachable block (ram,0x0001400b0165) */ +/* WARNING: Removing unreachable block (ram,0x0001400b017d) */ + +void FUN_1400b0090(longlong param_1,undefined **param_2,ulonglong param_3,undefined8 param_4) + +{ + int *piVar1; + int iVar2; + int *piVar3; + undefined8 *puVar4; + undefined *puVar5; + int *piVar6; + longlong lVar7; + undefined ***pppuVar8; + longlong *plVar9; + undefined8 uVar10; + undefined8 *puVar11; + int iVar12; + undefined8 *puVar13; + ulonglong uVar14; + uint uVar15; + longlong lVar16; + longlong lVar17; + longlong lVar18; + longlong lVar19; + int local_res10; + longlong *local_res18; + longlong local_res20; + undefined **local_b8; + longlong *local_b0; + longlong *local_a8; + undefined8 local_a0; + undefined8 local_98; + undefined *local_90; + int *local_88; + undefined1 local_80; + int *local_78; + undefined1 local_70; + int *local_68; + undefined1 local_60; + undefined8 local_58; + undefined8 *local_50; + + local_58 = 0xfffffffffffffffe; + piVar6 = (int *)(param_1 + 0x10); + local_88 = piVar6; + FUN_14002e6e0(piVar6); + local_80 = 1; + local_b8 = Proud::CFastArray,0>::vftable; + local_b0 = (longlong *)0x0; + local_a8 = (longlong *)0x0; + local_a0 = 0; + local_98 = 0; + pppuVar8 = &local_b8; + FUN_1400346e0((longlong)pppuVar8,param_2,param_3,param_4); + if ((uint)local_a0 == 0) { + FUN_140030200(pppuVar8,param_2,param_3,param_4); + puVar5 = PTR_DAT_140155008; + local_90 = PTR_DAT_140155008; + lVar17 = (longlong)(int)(uint)local_a0; + if ((int)(uint)local_a0 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + FUN_140033940((longlong)&local_b8,(uint)local_a0 + 1,param_3,param_4); + plVar9 = local_a8; + if ((uint)local_a0 == 0) { + plVar9 = (longlong *)0x0; + } + plVar9 = plVar9 + lVar17; + param_2 = &local_90; + FUN_14001bf80(plVar9,(longlong *)param_2,param_3,param_4); + if (((puVar5 != (undefined *)0x0) && (puVar5 != PTR_DAT_140155008)) && + (puVar5 + -8 != (undefined *)0x0)) { + piVar3 = (int *)FUN_140030200(plVar9,param_2,param_3,param_4); + local_78 = piVar3; + FUN_14002e6e0(piVar3); + local_70 = 1; + piVar1 = (int *)(puVar5 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(puVar5 + -8); + } + FUN_14002e770((longlong)piVar3); + local_70 = 0; + } + local_90 = PTR_DAT_140155008; + } + local_res10 = 0; + local_res20 = 0; + uVar15 = (uint)local_a0; + if (0 < (int)(uint)local_a0) { + do { + puVar11 = (undefined8 *)0x0; + uVar10 = 0x100; + puVar4 = operator_new(0x100); + puVar13 = puVar11; + local_50 = puVar4; + if (puVar4 != (undefined8 *)0x0) { + *puVar4 = Proud::CSsdpContext::vftable; + FUN_140030200(uVar10,param_2,param_3,param_4); + puVar4[1] = PTR_DAT_140155008; + puVar4[2] = 0; + puVar4[5] = 0; + puVar4[6] = 0; + puVar4[7] = 0; + puVar4[8] = 0; + puVar4[4] = Proud::ByteArray::vftable; + *(undefined1 *)(puVar4 + 0x10) = 0; + *(undefined1 *)(puVar4 + 0x18) = 0; + puVar4[0x19] = 0; + puVar4[3] = 0; + puVar13 = puVar4; + } + if (puVar13 == (undefined8 *)0x0) { + local_res18 = (longlong *)0x0; + } + else { + uVar10 = 0x10; + local_res18 = (longlong *)FUN_140030280(0x10); + local_res18[1] = 1; + *local_res18 = (longlong)puVar13; + } + plVar9 = local_a8; + if ((local_res20 < 0) || ((int)(uint)local_a0 <= local_res10)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(uVar10,param_2,param_3,param_4); + } + if (local_res18 != (longlong *)0x0) { + puVar11 = (undefined8 *)*local_res18; + } + puVar5 = (undefined *)puVar11[1]; + if ((undefined *)puVar11[1] == (undefined *)0x0) { + puVar5 = PTR_DAT_140155008; + } + puVar11[1] = puVar5; + if ((undefined *)local_a8[local_res20] != puVar5) { + piVar6 = (int *)FUN_140030200(uVar10,param_2,param_3,param_4); + local_68 = piVar6; + FUN_14002e6e0(piVar6); + local_60 = 1; + FUN_14001c020(puVar11 + 1); + puVar5 = (undefined *)plVar9[local_res20]; + puVar11[1] = puVar5; + if (((puVar5 != PTR_DAT_140155008) && (puVar5 != (undefined *)0x0)) && + (puVar5 != (undefined *)0x8)) { + *(int *)(puVar5 + -4) = *(int *)(puVar5 + -4) + 1; + } + FUN_14002e770((longlong)piVar6); + local_60 = 0; + } + lVar16 = param_1 + 0x100; + iVar2 = *(int *)(param_1 + 0x118); + lVar17 = (longlong)iVar2; + if (iVar2 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar12 = *(int *)(param_1 + 0x118); + uVar15 = iVar12 + 1; + param_2 = (undefined **)(ulonglong)uVar15; + FUN_1400af1c0(lVar16,uVar15); + iVar12 = iVar12 - iVar2; + if ((0 < iVar12) && (iVar12 = iVar12 + -1, -1 < iVar12)) { + lVar18 = (longlong)(iVar12 + iVar2 + 1) << 3; + lVar19 = (longlong)(iVar12 + iVar2) << 3; + do { + lVar7 = FUN_14003d690(lVar16); + param_2 = (undefined **)(lVar19 + lVar7); + lVar7 = FUN_14003d690(lVar16); + FUN_1400ad4b0((longlong *)(lVar18 + lVar7),(longlong *)param_2); + lVar19 = lVar19 + -8; + lVar18 = lVar18 + -8; + iVar12 = iVar12 + -1; + } while (-1 < iVar12); + } + lVar16 = FUN_14003d690(lVar16); + if (local_res18 != *(longlong **)(lVar16 + lVar17 * 8)) { + if (local_res18 != (longlong *)0x0) { + local_res18[1] = local_res18[1] + 1; + } + plVar9 = (longlong *)0x0; + lVar18 = *(longlong *)(lVar16 + lVar17 * 8); + if ((lVar18 != 0) && + (*(longlong *)(*(longlong *)(lVar16 + lVar17 * 8) + 8) = *(longlong *)(lVar18 + 8) + -1, + *(longlong *)(*(longlong *)(lVar16 + lVar17 * 8) + 8) == 0)) { + plVar9 = *(longlong **)(lVar16 + lVar17 * 8); + } + *(longlong **)(lVar16 + lVar17 * 8) = local_res18; + if (plVar9 != (longlong *)0x0) { + if ((undefined8 *)*plVar9 != (undefined8 *)0x0) { + param_2 = (undefined **)0x1; + (*(code *)**(undefined8 **)*plVar9)(); + } + FUN_1400302f0(plVar9); + } + } + if (local_res18 != (longlong *)0x0) { + plVar9 = local_res18 + 1; + *plVar9 = *plVar9 + -1; + if (*plVar9 == 0) { + if ((undefined8 *)*local_res18 != (undefined8 *)0x0) { + param_2 = (undefined **)0x1; + (*(code *)**(undefined8 **)*local_res18)(); + } + FUN_1400302f0(local_res18); + } + } + local_res10 = local_res10 + 1; + local_res20 = local_res20 + 1; + piVar6 = local_88; + uVar15 = (uint)local_a0; + } while (local_res10 < (int)(uint)local_a0); + } + local_b8 = Proud::CFastArray,0>::vftable; + if (0 < (int)uVar15) { + uVar14 = (ulonglong)uVar15; + plVar9 = local_a8; + do { + FUN_14001c020(plVar9); + plVar9 = plVar9 + 1; + uVar14 = uVar14 - 1; + } while (uVar14 != 0); + } + if (local_a8 != (longlong *)0x0) { + if (local_b0 == (longlong *)0x0) { + FUN_1400302f0(local_a8); + } + else { + (**(code **)(*local_b0 + 0x18))(local_b0,local_a8); + } + } + FUN_14002e770((longlong)piVar6); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b0530.c b/decomp/Agent_Release_x64/full/functions/0x1400b0530.c new file mode 100644 index 00000000..023c6bcf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b0530.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b0530 FUN_1400b0530 + * Pseudocode, not original source. */ + +void FUN_1400b0530(char *param_1) + +{ + FUN_1400afde0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b0550.c b/decomp/Agent_Release_x64/full/functions/0x1400b0550.c new file mode 100644 index 00000000..42bcd771 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b0550.c @@ -0,0 +1,60 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b0550 FUN_1400b0550 + * Pseudocode, not original source. */ + +longlong * FUN_1400b0550(char *param_1,longlong *param_2) + +{ + char cVar1; + int iVar2; + char *pcVar3; + longlong *plVar4; + byte *pbVar5; + byte *pbVar6; + uint uVar7; + uint uVar8; + char *pcVar9; + + pcVar9 = (char *)*param_2; + pcVar3 = pcVar9; + if (pcVar9 == (char *)0x0) { + pcVar3 = PTR_DAT_140155008; + } + if (pcVar3 == (char *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar8 = 0; + if (pcVar9 == (char *)0x0) { + pcVar9 = PTR_DAT_140155008; + } + cVar1 = *pcVar9; + while (cVar1 != '\0') { + pcVar9 = pcVar9 + 1; + uVar8 = uVar8 * 0x21 + (int)cVar1; + cVar1 = *pcVar9; + } + uVar7 = (uint)((ulonglong)uVar8 % (ulonglong)*(uint *)(param_1 + 0x28)); + if (*(longlong *)(param_1 + 8) != 0) { + for (plVar4 = *(longlong **) + (*(longlong *)(param_1 + 8) + + ((ulonglong)uVar8 % (ulonglong)*(uint *)(param_1 + 0x28)) * 8); + (plVar4 != (longlong *)0x0 && (uVar7 == *(uint *)(plVar4 + 4) % *(uint *)(param_1 + 0x28))); + plVar4 = (longlong *)plVar4[2]) { + pbVar6 = (byte *)*param_2; + if ((byte *)*param_2 == (byte *)0x0) { + pbVar6 = PTR_DAT_140155008; + } + pbVar5 = (byte *)*plVar4; + if ((byte *)*plVar4 == (byte *)0x0) { + pbVar5 = PTR_DAT_140155008; + } + iVar2 = FUN_140030180(pbVar5,(longlong)pbVar6); + if (iVar2 == 0) goto LAB_1400b0630; + } + } + plVar4 = FUN_1400aff80(param_1,param_2,uVar7,uVar8); +LAB_1400b0630: + return plVar4 + 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b0650.c b/decomp/Agent_Release_x64/full/functions/0x1400b0650.c new file mode 100644 index 00000000..ff1c996e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b0650.c @@ -0,0 +1,58 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b0650 FUN_1400b0650 + * Pseudocode, not original source. */ + +longlong * FUN_1400b0650(char *param_1,longlong *param_2) + +{ + ushort uVar1; + int iVar2; + ushort *puVar3; + longlong *plVar4; + ushort *puVar5; + uint uVar6; + uint uVar7; + + puVar5 = (ushort *)*param_2; + puVar3 = puVar5; + if (puVar5 == (ushort *)0x0) { + puVar3 = (ushort *)PTR_DAT_140155010; + } + if (puVar3 == (ushort *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar7 = 0; + if (puVar5 == (ushort *)0x0) { + puVar5 = (ushort *)PTR_DAT_140155010; + } + uVar1 = *puVar5; + while (uVar1 != 0) { + puVar5 = puVar5 + 1; + uVar7 = uVar7 * 0x21 + (uint)uVar1; + uVar1 = *puVar5; + } + uVar6 = (uint)((ulonglong)uVar7 % (ulonglong)*(uint *)(param_1 + 0x28)); + if (*(longlong *)(param_1 + 8) != 0) { + for (plVar4 = *(longlong **) + (*(longlong *)(param_1 + 8) + + ((ulonglong)uVar7 % (ulonglong)*(uint *)(param_1 + 0x28)) * 8); + (plVar4 != (longlong *)0x0 && (uVar6 == *(uint *)(plVar4 + 4) % *(uint *)(param_1 + 0x28))); + plVar4 = (longlong *)plVar4[2]) { + puVar5 = (ushort *)*param_2; + if ((ushort *)*param_2 == (ushort *)0x0) { + puVar5 = (ushort *)PTR_DAT_140155010; + } + puVar3 = (ushort *)*plVar4; + if ((ushort *)*plVar4 == (ushort *)0x0) { + puVar3 = (ushort *)PTR_DAT_140155010; + } + iVar2 = FUN_1400300c0(puVar3,(longlong)puVar5); + if (iVar2 == 0) goto LAB_1400b0730; + } + } + plVar4 = FUN_1400b0000(param_1,param_2,uVar6,uVar7); +LAB_1400b0730: + return plVar4 + 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b0750.c b/decomp/Agent_Release_x64/full/functions/0x1400b0750.c new file mode 100644 index 00000000..0bd62ec6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b0750.c @@ -0,0 +1,48 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b0750 FUN_1400b0750 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400b07f7) */ +/* WARNING: Removing unreachable block (ram,0x0001400b0800) */ +/* WARNING: Removing unreachable block (ram,0x0001400b0821) */ +/* WARNING: Removing unreachable block (ram,0x0001400b082a) */ + +undefined8 * +FUN_1400b0750(undefined8 *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined7 uVar2; + undefined8 uVar3; + + uVar2 = (undefined7)((ulonglong)param_3 >> 8); + *param_1 = Proud::CUpnp::vftable; + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)(param_1 + 2),uVar1 & 0xffffffff,CONCAT71(uVar2,1),param_4); + *(undefined1 *)(param_1 + 10) = 0; + param_1[0x14] = 0; + param_1[0xb] = 0; + param_1[0xc] = 0; + param_1[0xd] = 0; + *(undefined4 *)(param_1 + 0xf) = 0x11; + param_1[0xe] = 0; + *(undefined4 *)(param_1 + 0x13) = 0; + *(undefined4 *)((longlong)param_1 + 0x7c) = 0x3f400000; + *(undefined4 *)(param_1 + 0x10) = 0x3e800000; + *(undefined4 *)((longlong)param_1 + 0x84) = 0x40100000; + param_1[0x11] = 0x26; + param_1[0x12] = 4; + param_1[0x12] = 0; + FUN_140096180((undefined1 *)(param_1 + 0x15)); + param_1[0x20] = Proud::CFastArray,0>::vftable; + param_1[0x21] = 0; + param_1[0x22] = 0; + param_1[0x23] = 0; + param_1[0x24] = 0; + param_1[1] = param_2; + *(undefined4 *)(param_1 + 9) = 0; + uVar3 = FUN_1400a3c60(param_2); + param_1[0x25] = uVar3; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b08b0.c b/decomp/Agent_Release_x64/full/functions/0x1400b08b0.c new file mode 100644 index 00000000..25e87092 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b08b0.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b08b0 FUN_1400b08b0 + * Pseudocode, not original source. */ + +void FUN_1400b08b0(undefined8 *param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + int *piVar1; + longlong *plVar2; + longlong *plVar3; + + *param_1 = Proud::CUpnp::vftable; + piVar1 = (int *)(param_1 + 2); + FUN_14002e6e0(piVar1); + FUN_1400afde0((char *)(param_1 + 10)); + FUN_1400af550((char *)(param_1 + 0x15),param_2,param_3,param_4); + plVar3 = (longlong *)0x0; + FUN_1400af1c0((longlong)(param_1 + 0x20),0); + FUN_14002e770((longlong)piVar1); + param_1[0x20] = Proud::CFastArray,0>::vftable; + plVar2 = (longlong *)(longlong)*(int *)(param_1 + 0x23); + if (0 < *(int *)(param_1 + 0x23)) { + FUN_1400ae080((longlong *)param_1[0x22],(longlong)plVar2); + plVar3 = plVar2; + } + plVar2 = (longlong *)param_1[0x22]; + if (plVar2 != (longlong *)0x0) { + param_3 = (longlong *)param_1[0x21]; + if (param_3 == (longlong *)0x0) { + FUN_1400302f0(plVar2); + } + else { + (**(code **)(*param_3 + 0x18))(param_3); + plVar3 = plVar2; + } + } + FUN_1400afdc0((char *)(param_1 + 0x15),plVar3,param_3,param_4); + FUN_1400b0530((char *)(param_1 + 10)); + FUN_14002e7a0(piVar1,plVar3,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b09b0.c b/decomp/Agent_Release_x64/full/functions/0x1400b09b0.c new file mode 100644 index 00000000..09b9b355 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b09b0.c @@ -0,0 +1,765 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b09b0 FUN_1400b09b0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +void FUN_1400b09b0(uint *******param_1,longlong param_2,undefined8 param_3,uint ******param_4) + +{ + uint ***********pppppppppppuVar1; + char cVar2; + uint ***********pppppppppppuVar3; + char *pcVar4; + uint uVar5; + uint uVar6; + uint uVar7; + uint uVar8; + int iVar9; + undefined8 uVar10; + int *piVar11; + undefined8 *puVar12; + void *_Src; + undefined8 *puVar13; + uint ************ppppppppppppuVar14; + int *piVar15; + uint *puVar16; + uint *************pppppppppppppuVar17; + longlong *plVar18; + uint *************pppppppppppppuVar19; + uint ***********pppppppppppuVar20; + char **ppcVar21; + uint *************pppppppppppppuVar22; + uint *************pppppppppppppuVar23; + uint *************pppppppppppppuVar24; + uint *************pppppppppppppuVar25; + undefined8 uVar26; + LPCWSTR pWVar27; + uint *************pppppppppppppuVar28; + uint *************pppppppppppppuVar29; + longlong lVar30; + size_t _Size; + uint uVar31; + uint uVar32; + ulonglong uVar33; + double dVar34; + undefined1 auStack_218 [32]; + uint ***********local_1f8; + uint *************local_1f0; + uint *************local_1e8; + uint *************local_1e0; + uint *************local_1d8; + undefined8 local_1d0; + undefined **local_1c8; + undefined4 local_1c0; + undefined2 local_1bc; + int local_1b8; + longlong local_1b0; + longlong local_1a8; + longlong *local_1a0; + int *local_198; + undefined1 local_190; + int *local_188; + undefined1 local_180; + uint ***********local_178; + uint *************local_170; + uint ***********local_168; + uint *************local_160; + int *local_158; + undefined1 local_150; + int *local_148; + undefined1 local_140; + int *local_138; + undefined1 local_130; + int *local_128; + undefined1 local_120; + undefined8 local_118; + uint ************local_110; + uint *************local_108; + int *local_100; + undefined1 local_f8; + char *local_e8; + char local_e0 [136]; + ulonglong local_58; + + local_118 = 0xfffffffffffffffe; + local_58 = DAT_1401555a0 ^ (ulonglong)auStack_218; + plVar18 = (longlong *)(param_2 + 0x10); + pppppppppppppuVar24 = (uint *************)0x0; + uVar31 = 0; + local_1d8 = (uint *************)param_1; + local_1b0 = param_2; + local_1a0 = plVar18; + do { + local_1c8 = Proud::AddrPort::vftable; + uVar32 = 0; + local_1b8 = 0; + local_1d0 = 0; + local_1c0 = DAT_1401553d0; + local_1bc = DAT_1401553d4; + pppppppppppppuVar28 = pppppppppppppuVar24; + if ((undefined8 *)*plVar18 != (undefined8 *)0x0) { + pppppppppppppuVar28 = *(uint **************)*plVar18; + } + puVar12 = &local_1d0; + uVar26 = 0; + uVar10 = FUN_140035150((longlong)pppppppppppppuVar28,0,(undefined4 *)puVar12); + if ((char)uVar10 == '\0') { + return; + } + *(undefined1 *)(param_2 + 0xc0) = 0; + if ((local_1d0._4_4_ != 0) || (local_1b8 == 0)) { + *(undefined4 *)(param_2 + 0x18) = 3; + local_1a8 = 0; + FUN_140031f40(plVar18,&local_1a8); + return; + } + FUN_140030200(pppppppppppppuVar28,uVar26,puVar12,param_4); + local_1f8 = (uint ***********)PTR_DAT_140155008; + local_110 = &local_1f8; + uVar8 = local_1b8 + 2U; + if ((int)(local_1b8 + 2U) < 1) { + uVar8 = uVar32; + } + uVar5 = 1; + if (1 < (int)uVar8) { + uVar5 = uVar8; + } + pppppppppppppuVar28 = (uint *************)local_1f8; + if (0 < (int)uVar5) { + if ((int)uVar5 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar5 == 0) { + pppppppppppppuVar28 = (uint *************)local_1f8; + } + else { + puVar16 = (uint *)FUN_140030280((longlong)(int)uVar5 + 9); + if (puVar16 != (uint *)0x0) { + *puVar16 = 0; + puVar16[1] = 1; + } + *puVar16 = uVar5; + uVar8 = uVar32; + if ((local_1f8 != (uint ***********)0x0) && + (local_1f8 != (uint ***********)PTR_DAT_140155008)) { + uVar8 = *(uint *)(local_1f8 + -1); + } + pppppppppppuVar20 = (uint ***********)PTR_DAT_140155008; + if ((int)uVar5 < (int)uVar8) { +LAB_1400b0b27: + if (local_1f8 != (uint ***********)0x0) { + pppppppppppuVar20 = local_1f8; + } + } + else { + uVar5 = uVar32; + if (local_1f8 != (uint ***********)0x0) { + if (local_1f8 != (uint ***********)PTR_DAT_140155008) { + uVar5 = *(uint *)(local_1f8 + -1); + } + goto LAB_1400b0b27; + } + } + pppppppppppppuVar28 = (uint *************)(puVar16 + 2); + uVar33 = (ulonglong)uVar5; + pppppppppppppuVar29 = pppppppppppppuVar28; + param_4 = (uint ******)pppppppppppuVar20; + FUN_140030150(pppppppppppppuVar28,pppppppppppuVar20,uVar5); + pppppppppppuVar3 = local_1f8; + if (((local_1f8 != (uint ***********)0x0) && + (local_1f8 != (uint ***********)PTR_DAT_140155008)) && + (pppppppppppuVar1 = local_1f8 + -1, pppppppppppuVar1 != (uint ***********)0x0)) { + piVar11 = (int *)FUN_140030200(pppppppppppppuVar29,pppppppppppuVar20,uVar33,param_4); + local_138 = piVar11; + FUN_14002e6e0(piVar11); + local_130 = 1; + piVar15 = (int *)((longlong)pppppppppppuVar3 + -4); + *piVar15 = *piVar15 + -1; + if (*piVar15 == 0) { + FUN_1400302f0(pppppppppppuVar1); + } + FUN_14002e770((longlong)piVar11); + local_130 = 0; + } + } + } + local_1f8 = (uint ***********)pppppppppppppuVar28; + pppppppppppuVar20 = (uint ***********)PTR_DAT_140155008; + if (((local_1f8 == (uint ***********)0x0) || + (pppppppppppuVar20 = local_1f8, local_1f8 == (uint ***********)PTR_DAT_140155008)) || + (local_1f8 + -1 == (uint ***********)0x0)) { + local_1f8 = pppppppppppuVar20; + puVar12 = (undefined8 *)FUN_140030280(9); + *puVar12 = 0; + *(undefined1 *)(puVar12 + 1) = 0; + if (puVar12 != (undefined8 *)0x0) { + *(undefined4 *)puVar12 = 0; + *(undefined4 *)((longlong)puVar12 + 4) = 1; + } + *(undefined1 *)(puVar12 + 1) = 0; + pppppppppppppuVar28 = (uint *************)(puVar12 + 1); + } + else { + pppppppppppppuVar28 = (uint *************)local_1f8; + if (1 < (int)*(uint *)((longlong)local_1f8 + -4)) { + uVar8 = *(uint *)(local_1f8 + -1); + if ((int)uVar8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar16 = (uint *)FUN_140030280((longlong)(int)uVar8 + 9); + if (puVar16 != (uint *)0x0) { + *puVar16 = 0; + puVar16[1] = 1; + } + uVar8 = uVar31; + if ((local_1f8 != (uint ***********)0x0) && + (local_1f8 != (uint ***********)PTR_DAT_140155008)) { + uVar8 = *(uint *)(local_1f8 + -1); + } + *puVar16 = uVar8; + pppppppppppuVar20 = (uint ***********)PTR_DAT_140155008; + pppppppppppppuVar29 = pppppppppppppuVar24; + if ((local_1f8 != (uint ***********)0x0) && + (pppppppppppuVar20 = local_1f8, pppppppppppppuVar29 = (uint *************)0x0, + local_1f8 != (uint ***********)PTR_DAT_140155008)) { + pppppppppppppuVar29 = (uint *************)(ulonglong)*(uint *)(local_1f8 + -1); + } + pppppppppppppuVar28 = (uint *************)(puVar16 + 2); + pppppppppppppuVar19 = pppppppppppppuVar28; + FUN_140030150(pppppppppppppuVar28,pppppppppppuVar20,(int)pppppppppppppuVar29); + pppppppppppuVar3 = local_1f8; + if (((local_1f8 != (uint ***********)0x0) && + (local_1f8 != (uint ***********)PTR_DAT_140155008)) && + (pppppppppppppuVar25 = (uint *************)(local_1f8 + -1), + pppppppppppppuVar25 != (uint *************)0x0)) { + piVar15 = (int *)FUN_140030200(pppppppppppppuVar19,pppppppppppuVar20,pppppppppppppuVar29, + param_4); + local_198 = piVar15; + FUN_14002e6e0(piVar15); + local_190 = 1; + puVar16 = (uint *)((longlong)pppppppppppuVar3 + -4); + *puVar16 = *puVar16 - 1; + if (*puVar16 == 0) { + FUN_1400302f0(pppppppppppppuVar25); + } + FUN_14002e770((longlong)piVar15); + local_190 = 0; + } + } + } + local_1f8 = (uint ***********)pppppppppppppuVar28; + pppppppppppuVar20 = local_1f8; + if (local_1f8 == (uint ***********)0x0) { + pppppppppppuVar20 = (uint ***********)PTR_DAT_140155008; + } + pppppppppppppuVar28 = pppppppppppppuVar24; + if ((undefined8 *)*plVar18 != (undefined8 *)0x0) { + pppppppppppppuVar28 = *(uint **************)*plVar18; + } + _Size = (size_t)local_1b8; + local_108 = (uint *************)pppppppppppuVar20; + _Src = (void *)FUN_140035710((longlong)pppppppppppppuVar28); + memcpy(pppppppppppuVar20,_Src,_Size); + *(undefined1 *)((longlong)local_1b8 + (longlong)pppppppppppuVar20) = 0; + pppppppppppuVar20 = local_1f8; + if (local_1f8 == (uint ***********)0x0) { + pppppppppppuVar20 = (uint ***********)PTR_DAT_140155008; + } + uVar5 = FUN_140030120((char *)pppppppppppuVar20); + pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; + uVar8 = uVar31; + if (0 < (int)uVar5) { + uVar8 = uVar5; + } + pppppppppppppuVar29 = pppppppppppppuVar24; + if ((local_1f8 != (uint ***********)0x0) && + (pppppppppppppuVar29 = (uint *************)0x0, + local_1f8 != (uint ***********)PTR_DAT_140155008)) { + pppppppppppppuVar29 = (uint *************)(ulonglong)*(uint *)(local_1f8 + -1); + } + if (((int)uVar8 < (int)pppppppppppppuVar29) || + (uVar8 = uVar31, local_1f8 == (uint ***********)0x0)) { +LAB_1400b0d4a: + if (((local_1f8 != (uint ***********)PTR_DAT_140155008) && + (local_1f8 != (uint ***********)0x0)) && + (pppppppppppppuVar29 = (uint *************)(local_1f8 + -1), + pppppppppppppuVar29 != (uint *************)0x0)) { + *(uint *)pppppppppppppuVar29 = uVar8; + *(undefined1 *)((longlong)(int)uVar8 + 8 + (longlong)pppppppppppppuVar29) = 0; + } + } + else if (local_1f8 != (uint ***********)PTR_DAT_140155008) { + uVar8 = *(uint *)(local_1f8 + -1); + goto LAB_1400b0d4a; + } + puVar12 = (undefined8 *)0x2540; + puVar13 = operator_new(0x2540); + ppppppppppppuVar14 = (uint ************)pppppppppppppuVar24; + local_1e8 = (uint *************)puVar13; + if (puVar13 != (undefined8 *)0x0) { + ppppppppppppuVar14 = + (uint ************)FUN_1400ae7f0(puVar13,pppppppppppppuVar29,pppppppppppppuVar28,param_4) + ; + puVar12 = puVar13; + } + if (ppppppppppppuVar14 == (uint ************)0x0) { + local_1e8 = (uint *************)0x0; + } + else { + puVar12 = (undefined8 *)0x10; + local_1e8 = (uint *************)FUN_140030280(0x10); + local_1e8[1] = (uint ************)0x1; + *local_1e8 = ppppppppppppuVar14; + } + pppppppppppppuVar19 = local_1e8; + FUN_140030200(puVar12,pppppppppppppuVar29,pppppppppppppuVar28,param_4); + local_1e0 = (uint *************)PTR_DAT_140155008; + if (PTR_DAT_140155008 == (undefined *)0x0) { + local_1e0 = pppppppppppppuVar24; + } + if (local_1f8 != (uint ***********)PTR_DAT_140155008) { + piVar15 = (int *)FUN_140030200(puVar12,pppppppppppppuVar29,pppppppppppppuVar28,param_4); + local_148 = piVar15; + FUN_14002e6e0(piVar15); + local_140 = 1; + FUN_14001c020((longlong *)&local_1e0); + local_1e0 = (uint *************)local_1f8; + if (((local_1f8 != (uint ***********)PTR_DAT_140155008) && + (local_1f8 != (uint ***********)0x0)) && (local_1f8 != (uint ***********)0x8)) { + *(uint *)((longlong)local_1f8 + -4) = *(uint *)((longlong)local_1f8 + -4) + 1; + } + FUN_14002e770((longlong)piVar15); + local_140 = 0; + } + ppppppppppppuVar14 = (uint ************)pppppppppppppuVar24; + if (pppppppppppppuVar19 != (uint *************)0x0) { + ppppppppppppuVar14 = *pppppppppppppuVar19; + } + pppppppppppppuVar29 = (uint *************)&local_1e0; + uVar10 = FUN_1400ae330((undefined *)ppppppppppppuVar14,(longlong *)pppppppppppppuVar29, + pppppppppppppuVar28,(ulonglong)param_4); + if (((char)uVar10 != '\0') && (param_1[0xe] < (uint ************)0x14)) { + ppppppppppppuVar14 = (uint ************)pppppppppppppuVar24; + if (pppppppppppppuVar19 != (uint *************)0x0) { + ppppppppppppuVar14 = *pppppppppppppuVar19; + } + local_e8 = local_e0; + pWVar27 = (LPCWSTR)((longlong)ppppppppppppuVar14 + 0x52); + uVar10 = 3; + ppcVar21 = &local_e8; + FUN_14002e8f0((longlong *)ppcVar21,pWVar27,3); + pcVar4 = local_e8; + FUN_140030200(ppcVar21,pWVar27,uVar10,param_4); + pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; + local_1f0 = (uint *************)PTR_DAT_140155008; + uVar5 = FUN_140030120(pcVar4); + uVar8 = uVar31; + if ((pppppppppppppuVar28 != (uint *************)0x0) && + (pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008)) { + uVar8 = *(uint *)((longlong)pppppppppppppuVar28 + -8); + } + uVar6 = uVar5; + if ((((int)uVar5 <= (int)uVar8) && + (uVar6 = uVar32, pppppppppppppuVar28 != (uint *************)0x0)) && + (pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008)) { + uVar6 = *(uint *)((longlong)pppppppppppppuVar28 + -8); + } + uVar8 = 1; + if (1 < (int)uVar6) { + uVar8 = uVar6; + } + uVar7 = 0; + uVar6 = uVar7; + if ((pppppppppppppuVar28 != (uint *************)0x0) && + (pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008)) { + uVar6 = *(uint *)((longlong)pppppppppppppuVar28 + -8); + } + if ((int)uVar6 < (int)uVar8) { + if (pppppppppppppuVar28 == (uint *************)0x0) { + pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; + } + local_1f0 = pppppppppppppuVar28; + if ((int)uVar8 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar8 == 0) { + FUN_14001c020((longlong *)&local_1f0); + pppppppppppppuVar28 = local_1f0; + } + else { + uVar6 = uVar7; + if ((pppppppppppppuVar28 != (uint *************)0x0) && + (pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008)) { + uVar6 = *(uint *)(pppppppppppppuVar28 + -1); + } + if (uVar8 != uVar6) { + puVar16 = (uint *)FUN_140030280((longlong)(int)uVar8 + 9); + if (puVar16 != (uint *)0x0) { + *puVar16 = 0; + puVar16[1] = 1; + } + *puVar16 = uVar8; + uVar6 = uVar7; + if ((pppppppppppppuVar28 != (uint *************)0x0) && + (pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008)) { + uVar6 = *(uint *)(pppppppppppppuVar28 + -1); + } + pppppppppppppuVar29 = (uint *************)PTR_DAT_140155008; + if ((int)uVar8 < (int)uVar6) { +LAB_1400b0f72: + if (pppppppppppppuVar28 != (uint *************)0x0) { + pppppppppppppuVar29 = pppppppppppppuVar28; + } + } + else { + uVar8 = uVar32; + if (pppppppppppppuVar28 != (uint *************)0x0) { + if (pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008) { + uVar8 = *(uint *)(pppppppppppppuVar28 + -1); + } + goto LAB_1400b0f72; + } + } + pppppppppppppuVar28 = (uint *************)(puVar16 + 2); + FUN_140030150(pppppppppppppuVar28,pppppppppppppuVar29,uVar8); + FUN_14001c020((longlong *)&local_1f0); + local_1f0 = pppppppppppppuVar28; + } + } + } + if (((pppppppppppppuVar28 == (uint *************)0x0) || + (pppppppppppppuVar28 == (uint *************)PTR_DAT_140155008)) || + (pppppppppppppuVar29 = pppppppppppppuVar28 + -1, + pppppppppppppuVar29 == (uint *************)0x0)) { + puVar12 = (undefined8 *)FUN_140030280(9); + *puVar12 = 0; + *(undefined1 *)(puVar12 + 1) = 0; + if (puVar12 != (undefined8 *)0x0) { + *(undefined4 *)puVar12 = 0; + *(undefined4 *)((longlong)puVar12 + 4) = 1; + } + pppppppppppppuVar25 = (uint *************)(puVar12 + 1); + *(undefined1 *)pppppppppppppuVar25 = 0; + pppppppppppppuVar23 = pppppppppppppuVar25; + } + else { + pppppppppppppuVar25 = pppppppppppppuVar28; + pppppppppppppuVar23 = local_1f0; + if (1 < (int)*(uint *)((longlong)pppppppppppppuVar28 + -4)) { + if ((int)*(uint *)pppppppppppppuVar29 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar16 = (uint *)FUN_140030280((longlong)(int)*(uint *)pppppppppppppuVar29 + 9); + if (puVar16 != (uint *)0x0) { + *puVar16 = 0; + puVar16[1] = 1; + } + uVar32 = uVar7; + if (pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008) { + uVar32 = *(uint *)pppppppppppppuVar29; + } + *puVar16 = uVar32; + pppppppppppppuVar17 = pppppppppppppuVar24; + if (pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008) { + pppppppppppppuVar17 = (uint *************)(ulonglong)*(uint *)pppppppppppppuVar29; + } + pppppppppppppuVar25 = (uint *************)(puVar16 + 2); + pppppppppppppuVar22 = pppppppppppppuVar25; + FUN_140030150(pppppppppppppuVar25,pppppppppppppuVar28,(int)pppppppppppppuVar17); + param_1 = (uint *******)local_1d8; + pppppppppppppuVar23 = pppppppppppppuVar25; + if ((pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008) && + (pppppppppppppuVar29 != (uint *************)0x0)) { + piVar15 = (int *)FUN_140030200(pppppppppppppuVar22,PTR_DAT_140155008,pppppppppppppuVar17 + ,param_4); + local_158 = piVar15; + FUN_14002e6e0(piVar15); + local_150 = 1; + puVar16 = (uint *)((longlong)pppppppppppppuVar28 + -4); + *puVar16 = *puVar16 - 1; + if (*puVar16 == 0) { + FUN_1400302f0(pppppppppppppuVar29); + } + FUN_14002e770((longlong)piVar15); + local_150 = 0; + param_1 = (uint *******)local_1d8; + } + } + } + local_1f0 = pppppppppppppuVar23; + pppppppppppppuVar28 = pppppppppppppuVar25; + if (pppppppppppppuVar25 == (uint *************)0x0) { + pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; + } + FUN_140030150(pppppppppppppuVar28,pcVar4,uVar5); + pppppppppppppuVar28 = pppppppppppppuVar25; + if (pppppppppppppuVar25 == (uint *************)0x0) { + pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; + } + uVar8 = FUN_140030120((char *)pppppppppppppuVar28); + uVar32 = uVar31; + if (0 < (int)uVar8) { + uVar32 = uVar8; + } + uVar8 = uVar7; + if ((pppppppppppppuVar25 != (uint *************)0x0) && + (pppppppppppppuVar25 != (uint *************)PTR_DAT_140155008)) { + uVar8 = *(uint *)(pppppppppppppuVar25 + -1); + } + if (((int)uVar32 < (int)uVar8) || + (uVar32 = uVar7, pppppppppppppuVar25 == (uint *************)0x0)) { +LAB_1400b10fd: + if (((pppppppppppppuVar25 != (uint *************)PTR_DAT_140155008) && + (pppppppppppppuVar25 != (uint *************)0x0)) && + (pppppppppppppuVar28 = pppppppppppppuVar25 + -1, + pppppppppppppuVar28 != (uint *************)0x0)) { + *(uint *)pppppppppppppuVar28 = uVar32; + *(undefined1 *)((longlong)(int)uVar32 + 8 + (longlong)pppppppppppppuVar28) = 0; + } + } + else if (pppppppppppppuVar25 != (uint *************)PTR_DAT_140155008) { + uVar32 = *(uint *)(pppppppppppppuVar25 + -1); + goto LAB_1400b10fd; + } + if (local_e8 != local_e0) { + free(local_e8); + } + pppppppppppppuVar23 = (uint *************)(param_1 + 10); + pppppppppppppuVar28 = pppppppppppppuVar25; + if (pppppppppppppuVar25 == (uint *************)0x0) { + pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; + } + local_170 = pppppppppppppuVar23; + if (pppppppppppppuVar28 == (uint *************)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + pppppppppppppuVar28 = pppppppppppppuVar25; + if (pppppppppppppuVar25 == (uint *************)0x0) { + pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; + } + cVar2 = *(char *)pppppppppppppuVar28; + pppppppppppppuVar17 = pppppppppppppuVar24; + while (cVar2 != '\0') { + pppppppppppppuVar17 = + (uint *************)(ulonglong)(uint)((int)pppppppppppppuVar17 * 0x21 + (int)cVar2); + pppppppppppppuVar28 = (uint *************)((longlong)pppppppppppppuVar28 + 1); + cVar2 = *(char *)pppppppppppppuVar28; + } + uVar32 = *(uint *)(param_1 + 0xf); + if ((uint ************)param_1[0xb] != (uint ************)0x0) { + pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; + for (pppppppppppuVar20 = + (uint ***********)param_1[0xb][(ulonglong)pppppppppppppuVar17 % (ulonglong)uVar32] + ; (PTR_DAT_140155008 = (undefined *)pppppppppppppuVar28, + pppppppppppuVar20 != (uint ***********)0x0 && + ((uint)((ulonglong)pppppppppppppuVar17 % (ulonglong)uVar32) == + *(uint *)(pppppppppppuVar20 + 4) % *(uint *)(param_1 + 0xf))); + pppppppppppuVar20 = (uint ***********)pppppppppppuVar20[2]) { + pppppppppppppuVar29 = pppppppppppppuVar25; + if (pppppppppppppuVar25 == (uint *************)0x0) { + pppppppppppppuVar29 = pppppppppppppuVar28; + } + pppppppppppppuVar22 = (uint *************)*pppppppppppuVar20; + if ((uint *************)*pppppppppppuVar20 == (uint *************)0x0) { + pppppppppppppuVar22 = pppppppppppppuVar28; + } + iVar9 = FUN_140030180((byte *)pppppppppppppuVar22,(longlong)pppppppppppppuVar29); + if (iVar9 == 0) { + local_178 = pppppppppppuVar20; + if (pppppppppppuVar20 != (uint ***********)0x0) goto LAB_1400b1332; + goto LAB_1400b11fb; + } + pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; + } + } + local_178 = (uint ***********)0x0; +LAB_1400b11fb: + pppppppppppppuVar28 = pppppppppppppuVar25; + if (pppppppppppppuVar25 == (uint *************)0x0) { + pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; + } + local_160 = pppppppppppppuVar23; + if (pppppppppppppuVar28 == (uint *************)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + pppppppppppppuVar28 = pppppppppppppuVar25; + if (pppppppppppppuVar25 == (uint *************)0x0) { + pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; + } + cVar2 = *(char *)pppppppppppppuVar28; + pppppppppppppuVar17 = pppppppppppppuVar24; + while (cVar2 != '\0') { + pppppppppppppuVar17 = + (uint *************)(ulonglong)(uint)((int)pppppppppppppuVar17 * 0x21 + (int)cVar2); + pppppppppppppuVar28 = (uint *************)((longlong)pppppppppppppuVar28 + 1); + cVar2 = *(char *)pppppppppppppuVar28; + } + uVar32 = *(uint *)(param_1 + 0xf); + pppppppppppppuVar29 = (uint *************)PTR_DAT_140155008; + if ((uint ************)param_1[0xb] != (uint ************)0x0) { + pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; + for (pppppppppppuVar20 = + (uint ***********)param_1[0xb][(ulonglong)pppppppppppppuVar17 % (ulonglong)uVar32] + ; (PTR_DAT_140155008 = (undefined *)pppppppppppppuVar28, + pppppppppppuVar20 != (uint ***********)0x0 && + (pppppppppppppuVar29 = pppppppppppppuVar28, + (uint)((ulonglong)pppppppppppppuVar17 % (ulonglong)uVar32) == + *(uint *)(pppppppppppuVar20 + 4) % *(uint *)(param_1 + 0xf))); + pppppppppppuVar20 = (uint ***********)pppppppppppuVar20[2]) { + pppppppppppppuVar29 = pppppppppppppuVar25; + if (pppppppppppppuVar25 == (uint *************)0x0) { + pppppppppppppuVar29 = pppppppppppppuVar28; + } + pppppppppppppuVar22 = (uint *************)*pppppppppppuVar20; + if ((uint *************)*pppppppppppuVar20 == (uint *************)0x0) { + pppppppppppppuVar22 = pppppppppppppuVar28; + } + iVar9 = FUN_140030180((byte *)pppppppppppppuVar22,(longlong)pppppppppppppuVar29); + if (iVar9 == 0) { + local_168 = pppppppppppuVar20; + if (pppppppppppuVar20 != (uint ***********)0x0) goto LAB_1400b1332; + goto LAB_1400b12b4; + } + pppppppppppppuVar29 = pppppppppppppuVar28; + pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; + } + } + pppppppppppppuVar28 = pppppppppppppuVar29; + local_168 = (uint ***********)0x0; +LAB_1400b12b4: + pppppppppppppuVar29 = (uint *************)&local_1f0; + plVar18 = FUN_1400b0550((char *)pppppppppppppuVar23,(longlong *)pppppppppppppuVar29); + pppppppppppppuVar22 = pppppppppppppuVar23; + if (pppppppppppppuVar19 != (uint *************)*plVar18) { + if (pppppppppppppuVar19 != (uint *************)0x0) { + pppppppppppppuVar19[1] = (uint ************)((longlong)pppppppppppppuVar19[1] + 1); + pppppppppppppuVar25 = local_1f0; + pppppppppppppuVar19 = local_1e8; + } + pppppppppppppuVar22 = (uint *************)0x0; + pppppppppppppuVar23 = pppppppppppppuVar24; + if (*plVar18 != 0) { + *(longlong *)(*plVar18 + 8) = *(longlong *)(*plVar18 + 8) + -1; + pppppppppppppuVar22 = *(uint **************)(*plVar18 + 8); + pppppppppppppuVar25 = local_1f0; + pppppppppppppuVar19 = local_1e8; + if (pppppppppppppuVar22 == (uint *************)0x0) { + pppppppppppppuVar23 = (uint *************)*plVar18; + } + } + *plVar18 = (longlong)pppppppppppppuVar19; + if (pppppppppppppuVar23 != (uint *************)0x0) { + if (*pppppppppppppuVar23 != (uint ************)0x0) { + pppppppppppppuVar29 = (uint *************)0x1; + (*(code *)***pppppppppppppuVar23)(); + } + FUN_1400302f0(pppppppppppppuVar23); + pppppppppppppuVar22 = pppppppppppppuVar23; + } + } +LAB_1400b1332: + if (((pppppppppppppuVar25 != (uint *************)0x0) && + (pppppppppppppuVar25 != (uint *************)PTR_DAT_140155008)) && + (pppppppppppppuVar25 + -1 != (uint *************)0x0)) { + piVar15 = (int *)FUN_140030200(pppppppppppppuVar22,pppppppppppppuVar29,pppppppppppppuVar28, + param_4); + local_188 = piVar15; + FUN_14002e6e0(piVar15); + local_180 = 1; + puVar16 = (uint *)((longlong)pppppppppppppuVar25 + -4); + *puVar16 = *puVar16 - 1; + if (*puVar16 == 0) { + FUN_1400302f0(pppppppppppppuVar25 + -1); + } + FUN_14002e770((longlong)piVar15); + local_180 = 0; + } + local_1f0 = (uint *************)PTR_DAT_140155008; + param_1 = (uint *******)local_1d8; + plVar18 = local_1a0; + } + dVar34 = (double)FUN_1400a3c60((longlong)param_1[1]); + param_2 = local_1b0; + if (3.0 < dVar34 - *(double *)(local_1b0 + 200)) { + if ((undefined8 *)*plVar18 != (undefined8 *)0x0) { + pppppppppppppuVar24 = *(uint **************)*plVar18; + } + FUN_140035490((longlong *)pppppppppppppuVar24,pppppppppppppuVar29,pppppppppppppuVar28,param_4) + ; + pppppppppppppuVar25 = local_1e8; + *(undefined4 *)(param_2 + 0x18) = 3; + if (pppppppppppppuVar19 != (uint *************)0x0) { + pppppppppppppuVar19 = pppppppppppppuVar19 + 1; + *pppppppppppppuVar19 = (uint ************)((longlong)*pppppppppppppuVar19 + -1); + if (*pppppppppppppuVar19 == (uint ************)0x0) { + if (*local_1e8 != (uint ************)0x0) { + pppppppppppppuVar29 = (uint *************)0x1; + (*(code *)***local_1e8)(); + } + FUN_1400302f0(pppppppppppppuVar25); + pppppppppppppuVar24 = pppppppppppppuVar25; + } + } + pppppppppppuVar20 = local_1f8; + if (((local_1f8 != (uint ***********)0x0) && + (local_1f8 != (uint ***********)PTR_DAT_140155008)) && + (pppppppppppppuVar19 = (uint *************)(local_1f8 + -1), + pppppppppppppuVar19 != (uint *************)0x0)) { + piVar15 = (int *)FUN_140030200(pppppppppppppuVar24,pppppppppppppuVar29,pppppppppppppuVar28, + param_4); + local_100 = piVar15; + FUN_14002e6e0(piVar15); + local_f8 = 1; + puVar16 = (uint *)((longlong)pppppppppppuVar20 + -4); + *puVar16 = *puVar16 - 1; + if (*puVar16 == 0) { + FUN_1400302f0(pppppppppppppuVar19); + } + FUN_14002e770((longlong)piVar15); + } + return; + } + pppppppppppppuVar25 = (uint *************)param_1; + lVar30 = local_1b0; + FUN_1400af480(param_1,local_1b0,(SIZE_T)pppppppppppppuVar28,param_4); + pppppppppppppuVar29 = local_1e8; + if (pppppppppppppuVar19 != (uint *************)0x0) { + pppppppppppppuVar19 = pppppppppppppuVar19 + 1; + *pppppppppppppuVar19 = (uint ************)((longlong)*pppppppppppppuVar19 + -1); + if (*pppppppppppppuVar19 == (uint ************)0x0) { + if (*local_1e8 != (uint ************)0x0) { + lVar30 = 1; + (*(code *)***local_1e8)(); + } + FUN_1400302f0(pppppppppppppuVar29); + pppppppppppppuVar25 = pppppppppppppuVar29; + } + } + pppppppppppuVar20 = local_1f8; + if (((local_1f8 != (uint ***********)0x0) && (local_1f8 != (uint ***********)PTR_DAT_140155008)) + && (pppppppppppppuVar29 = (uint *************)(local_1f8 + -1), + pppppppppppppuVar29 != (uint *************)0x0)) { + piVar15 = (int *)FUN_140030200(pppppppppppppuVar25,lVar30,pppppppppppppuVar28,param_4); + local_128 = piVar15; + FUN_14002e6e0(piVar15); + local_120 = 1; + puVar16 = (uint *)((longlong)pppppppppppuVar20 + -4); + *puVar16 = *puVar16 - 1; + if (*puVar16 == 0) { + FUN_1400302f0(pppppppppppppuVar29); + } + FUN_14002e770((longlong)piVar15); + local_120 = 0; + } + local_1f8 = (uint ***********)PTR_DAT_140155008; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b1560.c b/decomp/Agent_Release_x64/full/functions/0x1400b1560.c new file mode 100644 index 00000000..33e0d0e4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b1560.c @@ -0,0 +1,1026 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b1560 FUN_1400b1560 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +void FUN_1400b1560(undefined8 *param_1,undefined **param_2,undefined **param_3,longlong param_4) + +{ + ushort uVar1; + undefined8 *puVar2; + short *psVar3; + uint uVar4; + uint uVar5; + uint uVar6; + int iVar7; + undefined8 uVar8; + undefined *_Dst; + uint *puVar9; + uint *puVar10; + uint *puVar11; + longlong *plVar12; + uint *******pppppppuVar13; + uint *******pppppppuVar14; + int *piVar15; + int *piVar16; + uint *puVar17; + longlong lVar18; + undefined8 *puVar19; + undefined **ppuVar20; + ulonglong uVar21; + undefined8 *puVar22; + short **ppsVar23; + uint *******pppppppuVar24; + longlong lVar25; + undefined *puVar26; + uint *puVar27; + uint ******ppppppuVar28; + ulonglong uVar29; + undefined8 **ppuVar30; + uint uVar31; + size_t _Size; + longlong *******ppppppplVar32; + uint *******pppppppuVar33; + uint *******pppppppuVar34; + uint **ppuVar35; + uint ******ppppppuVar36; + undefined1 auStack_a38 [32]; + uint local_a18; + uint *******local_a08; + uint *local_a00; + uint *local_9f8; + uint *local_9f0; + uint local_9e8 [2]; + undefined8 *local_9e0; + uint ******local_9d8; + undefined *local_9d0; + undefined *local_9c8; + undefined *local_9c0; + undefined *local_9b8; + undefined8 local_9b0; + undefined **local_9a8; + undefined4 local_9a0; + undefined2 local_99c; + uint local_998; + uint local_990 [2]; + undefined **local_988; + undefined4 local_980; + undefined2 local_97c; + int local_978; + uint local_970 [2]; + undefined **local_968; + undefined4 local_960; + undefined2 local_95c; + undefined4 local_958; + int *local_950; + undefined1 local_948; + int *local_940; + undefined1 local_938; + int *local_930; + undefined1 local_928; + int *local_920; + undefined1 local_918; + int *local_910; + undefined1 local_908; + int *local_900; + undefined1 local_8f8; + int *local_8f0; + undefined1 local_8e8; + undefined8 local_8e0; + int *local_8d8; + undefined1 local_8d0; + int *local_8c8; + undefined1 local_8c0; + int *local_8b8; + undefined1 local_8b0; + int *local_8a8; + undefined1 local_8a0; + undefined1 *local_898; + undefined1 local_890 [136]; + undefined1 *local_808; + undefined1 local_800 [136]; + short *local_778; + short local_770 [132]; + undefined4 local_668 [392]; + ulonglong local_48; + + local_8e0 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_a38; + iVar7 = *(int *)(param_2 + 0x492); + local_9e0 = param_1; + if (iVar7 == 0) { + puVar22 = (undefined8 *)0x0; + if (*(int *)((longlong)param_2 + 0x2494) == 0) { + local_9d8 = (uint ******)FUN_140030280(0x400); + puVar19 = puVar22; + if (local_9d8 != (uint ******)0x0) { + param_3 = param_2; + puVar19 = FUN_140035990(local_9d8,0,param_2,param_4); + } + if (puVar19 == (undefined8 *)0x0) { + local_9e0 = (undefined8 *)0x0; + } + else { + local_9e0 = (undefined8 *)FUN_140030280(0x10); + local_9e0[1] = 1; + *local_9e0 = puVar19; + } + puVar19 = local_9e0; + ppuVar30 = &local_9e0; + FUN_140031f40((longlong *)(param_2 + 0x490),(longlong *)ppuVar30); + puVar2 = local_9e0; + if (puVar19 != (undefined8 *)0x0) { + plVar12 = puVar19 + 1; + *plVar12 = *plVar12 + -1; + if (*plVar12 == 0) { + plVar12 = (longlong *)*local_9e0; + if (plVar12 != (longlong *)0x0) { + FUN_1400358a0(plVar12,ppuVar30,(longlong *)param_3,param_4); + FUN_1400302f0(plVar12); + } + FUN_1400302f0(puVar2); + } + } + puVar19 = puVar22; + if ((undefined8 *)param_2[0x490] != (undefined8 *)0x0) { + puVar19 = *(undefined8 **)param_2[0x490]; + } + FUN_140037510((longlong)puVar19,ppuVar30,param_3,param_4); + puVar19 = puVar22; + if ((undefined8 *)param_2[0x490] != (undefined8 *)0x0) { + puVar19 = *(undefined8 **)param_2[0x490]; + } + FUN_140034c70((longlong)puVar19,'\0'); + uVar8 = FUN_1400ae8c0(param_1,(longlong)param_2,param_3,param_4); + if ((char)uVar8 == '\0') goto LAB_1400b26aa; + } + FUN_140034cf0(local_668); + puVar19 = puVar22; + if ((undefined8 *)param_2[0x490] != (undefined8 *)0x0) { + puVar19 = *(undefined8 **)param_2[0x490]; + } + FUN_140034d10((longlong)local_668,(longlong)puVar19); + puVar19 = puVar22; + if ((undefined8 *)param_2[0x490] != (undefined8 *)0x0) { + puVar19 = *(undefined8 **)param_2[0x490]; + } + FUN_140034d70((longlong)local_668,(longlong)puVar19); + FUN_140034dd0((longlong)local_668,0); + if ((undefined8 *)param_2[0x490] != (undefined8 *)0x0) { + puVar22 = *(undefined8 **)param_2[0x490]; + } + puVar17 = local_9e8; + uVar8 = FUN_140034e30((longlong)local_668,(longlong)puVar22,puVar17); + if ((char)uVar8 != '\0') { + if (local_9e8[0] == 0) { + if (0 < *(int *)(param_2 + 0x492)) { + return; + } + param_2[0x492] = (undefined *)0x1; + return; + } + uVar8 = FUN_1400ae8c0(param_1,(longlong)param_2,puVar17,param_4); + if ((char)uVar8 != '\0') goto LAB_1400b277c; + goto LAB_1400b26aa; + } + goto LAB_1400b277c; + } + if (iVar7 == 1) { + lVar25 = 0; + iVar7 = 0; + if (*(int *)((longlong)param_2 + 0x2494) == 0) { + lVar18 = lVar25; + if ((longlong *)param_2[0x490] != (longlong *)0x0) { + lVar18 = *(longlong *)param_2[0x490]; + } + FUN_140034c70(lVar18,'\x01'); + local_808 = local_800; + FUN_14002e8f0((longlong *)&local_808,(LPCWSTR)((longlong)param_2 + 0x52),3); + local_898 = local_890; + FUN_14002e8f0((longlong *)&local_898,(LPCWSTR)(param_2 + 0x8b),3); + local_a18 = (uint)*(ushort *)((longlong)param_2 + 0x245c); + FUN_140031ea0((longlong *)(param_2 + 0x491), + "GET %s HTTP/1.1\r\n\r\nHost: %s:%d\r\n\r\nConnection: Keep-Alive\r\n\r\n", + local_898,local_808); + if (local_898 != local_890) { + free(local_898); + } + if (local_808 != local_800) { + free(local_808); + } + lVar18 = FUN_1400ad0c0(param_1,(longlong)param_2); + if ((char)lVar18 == '\0') goto LAB_1400b26aa; + } + local_988 = Proud::AddrPort::vftable; + local_978 = 0; + local_990[0] = 0; + local_990[1] = 0; + local_980 = DAT_1401553d0; + local_97c = DAT_1401553d4; + if ((longlong *)param_2[0x490] != (longlong *)0x0) { + lVar25 = *(longlong *)param_2[0x490]; + } + uVar8 = FUN_1400353c0(lVar25,0,local_990); + if ((char)uVar8 != '\0') { + *(undefined1 *)(param_2 + 0x498) = 0; + if (local_978 == 0) goto LAB_1400b26aa; + *(int *)((longlong)param_2 + 0x2504) = *(int *)((longlong)param_2 + 0x2504) + local_978; + puVar26 = param_2[0x491]; + if (puVar26 != (undefined *)0x0) { + if (puVar26 == PTR_DAT_140155008) { + iVar7 = 0; + } + else { + iVar7 = *(int *)(puVar26 + -8); + } + } + if ((iVar7 - *(int *)((longlong)param_2 + 0x2504)) + 1 < 1) { + if (1 < *(int *)(param_2 + 0x492)) { + return; + } + param_2[0x492] = (undefined *)0x2; + return; + } + FUN_1400ad0c0(param_1,(longlong)param_2); + } + goto LAB_1400b277c; + } + if (iVar7 == 2) { + lVar25 = 0; + if (*(int *)((longlong)param_2 + 0x2494) == 0) { + *(undefined1 *)(param_2 + 0x4a0) = 1; + lVar18 = lVar25; + if ((longlong *)param_2[0x490] != (longlong *)0x0) { + lVar18 = *(longlong *)param_2[0x490]; + } + uVar6 = FUN_1400362c0(lVar18,0x8000,param_3,param_4); + if (uVar6 == 0) goto LAB_1400b2317; + } + else { +LAB_1400b2317: + local_9a8 = Proud::AddrPort::vftable; + local_998 = 0; + local_9b0 = 0; + local_9a0 = DAT_1401553d0; + local_99c = DAT_1401553d4; + lVar18 = lVar25; + if ((longlong *)param_2[0x490] != (longlong *)0x0) { + lVar18 = *(longlong *)param_2[0x490]; + } + uVar8 = FUN_140035150(lVar18,0,(undefined4 *)&local_9b0); + if ((char)uVar8 == '\0') { +LAB_1400b277c: + *(int *)((longlong)param_2 + 0x2494) = *(int *)((longlong)param_2 + 0x2494) + 1; + return; + } + *(undefined1 *)(param_2 + 0x4a0) = 0; + if (local_998 == 0) { +LAB_1400b26aa: + if (2 < *(int *)(param_2 + 0x492)) { + return; + } + param_2[0x492] = (undefined *)0x3; + return; + } + lVar18 = lVar25; + if ((longlong *)param_2[0x490] != (longlong *)0x0) { + lVar18 = *(longlong *)param_2[0x490]; + } + lVar18 = FUN_140035710(lVar18); + ppuVar20 = (undefined **)(ulonglong)local_998; + FUN_1400ad140((longlong)(param_2 + 0x4a2),lVar18,ppuVar20,param_4); + *(uint *)(param_2 + 0x4a1) = *(int *)(param_2 + 0x4a1) + local_998; + if ((int)(0x8000U - *(int *)(param_2 + 0x4a1)) < 1) goto LAB_1400b26aa; + *(undefined1 *)(param_2 + 0x4a0) = 1; + if ((longlong *)param_2[0x490] != (longlong *)0x0) { + lVar25 = *(longlong *)param_2[0x490]; + } + uVar6 = FUN_1400362c0(lVar25,(ulonglong)(0x8000U - *(int *)(param_2 + 0x4a1)),ppuVar20,param_4 + ); + if (uVar6 == 0) goto LAB_1400b277c; + } + *(undefined1 *)(param_2 + 0x4a0) = 0; + goto LAB_1400b23ed; + } + if (iVar7 != 3) { + if (iVar7 == 4) { + if (((*(int *)((longlong)param_2 + 0x2494) == 0) && + ((undefined8 *)param_2[0x490] != (undefined8 *)0x0)) && + (plVar12 = *(longlong **)param_2[0x490], plVar12 != (longlong *)0x0)) { + FUN_140035490(plVar12,param_2,param_3,param_4); + } + local_968 = Proud::AddrPort::vftable; + lVar25 = 0; + local_958 = 0; + local_970[0] = 0; + local_970[1] = 0; + local_960 = DAT_1401553d0; + local_95c = DAT_1401553d4; + lVar18 = lVar25; + if ((longlong *)param_2[0x490] != (longlong *)0x0) { + lVar18 = *(longlong *)param_2[0x490]; + } + uVar8 = FUN_140035150(lVar18,0,local_970); + if ((char)uVar8 != '\0') { + *(undefined1 *)(param_2 + 0x4a0) = 0; + } + if ((longlong *)param_2[0x490] != (longlong *)0x0) { + lVar25 = *(longlong *)param_2[0x490]; + } + uVar8 = FUN_1400353c0(lVar25,0,local_970); + if ((char)uVar8 != '\0') { + *(undefined1 *)(param_2 + 0x498) = 0; + } + if ((*(char *)(param_2 + 0x4a0) == '\0') && (*(char *)(param_2 + 0x498) == '\0')) { + if (4 < *(int *)(param_2 + 0x492)) { + return; + } + param_2[0x492] = (undefined *)0x5; + return; + } + } + goto LAB_1400b277c; + } + uVar6 = 0; + if (*(int *)(param_2 + 0x4a5) == 0) goto LAB_1400b23ed; + _Dst = FUN_14002edf0((longlong *)(param_2 + 0x4a7),*(int *)(param_2 + 0x4a5) + 1); + memset(_Dst,0,(longlong)(*(int *)(param_2 + 0x4a5) + 1)); + puVar26 = (undefined *)0x0; + if (*(int *)(param_2 + 0x4a5) != 0) { + puVar26 = param_2[0x4a4]; + } + _Size = (size_t)*(int *)(param_2 + 0x4a5); + memcpy(_Dst,puVar26,_Size); + ppuVar20 = param_2 + 0x4a7; + FUN_14002eab0((longlong *)ppuVar20); + FUN_140030200(ppuVar20,puVar26,_Size,param_4); + ppppppuVar36 = (uint ******)PTR_DAT_140155008; + local_9d8 = (uint ******)PTR_DAT_140155008; + ppuVar20 = param_2 + 0x4a7; + FUN_1400ade70((longlong *)ppuVar20); + FUN_140030200(ppuVar20,puVar26,_Size,param_4); + puVar17 = (uint *)PTR_DAT_140155008; + local_9f0 = (uint *)PTR_DAT_140155008; + uVar4 = FUN_140030120("MODELDESCRIPTION"); + iVar7 = 0; + if ((puVar17 != (uint *)0x0) && (iVar7 = 0, puVar17 != (uint *)PTR_DAT_140155008)) { + iVar7 = *(int *)((longlong)puVar17 + -8); + } + uVar5 = uVar4; + if ((((int)uVar4 <= iVar7) && (uVar5 = 0, puVar17 != (uint *)0x0)) && + (puVar17 != (uint *)PTR_DAT_140155008)) { + uVar5 = *(uint *)((longlong)puVar17 + -8); + } + uVar31 = 1; + if (1 < (int)uVar5) { + uVar31 = uVar5; + } + iVar7 = 0; + if ((puVar17 != (uint *)0x0) && (iVar7 = 0, puVar17 != (uint *)PTR_DAT_140155008)) { + iVar7 = *(int *)((longlong)puVar17 + -8); + } + if (iVar7 < (int)uVar31) { + if (puVar17 == (uint *)0x0) { + puVar17 = (uint *)PTR_DAT_140155008; + } + local_9f0 = puVar17; + if ((int)uVar31 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar31 == 0) { + FUN_14001c020((longlong *)&local_9f0); + } + else { + uVar5 = 0; + if ((puVar17 != (uint *)0x0) && (puVar17 != (uint *)PTR_DAT_140155008)) { + uVar5 = puVar17[-2]; + } + if (uVar31 != uVar5) { + puVar9 = (uint *)FUN_140030280((longlong)(int)uVar31 + 9); + if (puVar9 != (uint *)0x0) { + *puVar9 = 0; + puVar9[1] = 1; + } + *puVar9 = uVar31; + uVar5 = 0; + if ((puVar17 != (uint *)0x0) && (puVar17 != (uint *)PTR_DAT_140155008)) { + uVar5 = puVar17[-2]; + } + puVar10 = (uint *)PTR_DAT_140155008; + if ((int)uVar31 < (int)uVar5) { +LAB_1400b1825: + if (puVar17 != (uint *)0x0) { + puVar10 = puVar17; + } + } + else { + uVar31 = uVar6; + if (puVar17 != (uint *)0x0) { + if (puVar17 != (uint *)PTR_DAT_140155008) { + uVar31 = puVar17[-2]; + } + goto LAB_1400b1825; + } + } + FUN_140030150(puVar9 + 2,puVar10,uVar31); + FUN_14001c020((longlong *)&local_9f0); + local_9f0 = puVar9 + 2; + } + } + } + FUN_14002eb30((longlong *)&local_9f0); + puVar17 = local_9f0; + puVar9 = local_9f0; + if (local_9f0 == (uint *)0x0) { + puVar9 = (uint *)PTR_DAT_140155008; + } + uVar29 = (ulonglong)uVar4; + FUN_140030150(puVar9,"MODELDESCRIPTION",uVar4); + puVar9 = puVar17; + if (puVar17 == (uint *)0x0) { + puVar9 = (uint *)PTR_DAT_140155008; + } + uVar5 = FUN_140030120((char *)puVar9); + uVar4 = 0; + if (0 < (int)uVar5) { + uVar4 = uVar5; + } + uVar21 = (ulonglong)uVar4; + uVar5 = 0; + if ((puVar17 != (uint *)0x0) && (uVar5 = 0, puVar17 != (uint *)PTR_DAT_140155008)) { + uVar5 = puVar17[-2]; + } + puVar9 = (uint *)PTR_DAT_140155008; + if (((int)uVar4 < (int)uVar5) || (uVar21 = 0, puVar17 == (uint *)0x0)) { +LAB_1400b18bd: + if (((puVar17 != (uint *)PTR_DAT_140155008) && (puVar17 != (uint *)0x0)) && + (puVar9 = puVar17 + -2, puVar9 != (uint *)0x0)) { + *puVar9 = (uint)uVar21; + *(undefined1 *)((longlong)(int)(uint)uVar21 + 8 + (longlong)puVar9) = 0; + } + } + else if (puVar17 != (uint *)PTR_DAT_140155008) { + uVar21 = (ulonglong)puVar17[-2]; + goto LAB_1400b18bd; + } + FUN_140030200(uVar21,puVar9,uVar29,param_4); + puVar9 = (uint *)PTR_DAT_140155008; + local_a00 = (uint *)PTR_DAT_140155008; + uVar4 = FUN_140030120("FRIENDLYNAME"); + iVar7 = 0; + if ((puVar9 != (uint *)0x0) && (iVar7 = 0, puVar9 != (uint *)PTR_DAT_140155008)) { + iVar7 = *(int *)((longlong)puVar9 + -8); + } + uVar5 = uVar4; + if ((((int)uVar4 <= iVar7) && (uVar5 = 0, puVar9 != (uint *)0x0)) && + (puVar9 != (uint *)PTR_DAT_140155008)) { + uVar5 = *(uint *)((longlong)puVar9 + -8); + } + uVar31 = 1; + if (1 < (int)uVar5) { + uVar31 = uVar5; + } + iVar7 = 0; + if ((puVar9 != (uint *)0x0) && (iVar7 = 0, puVar9 != (uint *)PTR_DAT_140155008)) { + iVar7 = *(int *)((longlong)puVar9 + -8); + } + if (iVar7 < (int)uVar31) { + if (puVar9 == (uint *)0x0) { + puVar9 = (uint *)PTR_DAT_140155008; + } + local_a00 = puVar9; + if ((int)uVar31 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar31 == 0) { + FUN_14001c020((longlong *)&local_a00); + } + else { + uVar5 = 0; + if ((puVar9 != (uint *)0x0) && (puVar9 != (uint *)PTR_DAT_140155008)) { + uVar5 = puVar9[-2]; + } + if (uVar31 != uVar5) { + puVar10 = (uint *)FUN_140030280((longlong)(int)uVar31 + 9); + if (puVar10 != (uint *)0x0) { + *puVar10 = 0; + puVar10[1] = 1; + } + *puVar10 = uVar31; + uVar5 = 0; + if ((puVar9 != (uint *)0x0) && (puVar9 != (uint *)PTR_DAT_140155008)) { + uVar5 = puVar9[-2]; + } + puVar11 = (uint *)PTR_DAT_140155008; + if ((int)uVar31 < (int)uVar5) { +LAB_1400b19ca: + if (puVar9 != (uint *)0x0) { + puVar11 = puVar9; + } + } + else { + uVar31 = uVar6; + if (puVar9 != (uint *)0x0) { + if (puVar9 != (uint *)PTR_DAT_140155008) { + uVar31 = puVar9[-2]; + } + goto LAB_1400b19ca; + } + } + FUN_140030150(puVar10 + 2,puVar11,uVar31); + FUN_14001c020((longlong *)&local_a00); + local_a00 = puVar10 + 2; + } + } + } + FUN_14002eb30((longlong *)&local_a00); + puVar9 = local_a00; + puVar10 = local_a00; + if (local_a00 == (uint *)0x0) { + puVar10 = (uint *)PTR_DAT_140155008; + } + FUN_140030150(puVar10,"FRIENDLYNAME",uVar4); + puVar10 = puVar9; + if (puVar9 == (uint *)0x0) { + puVar10 = (uint *)PTR_DAT_140155008; + } + uVar5 = FUN_140030120((char *)puVar10); + uVar4 = 0; + if (0 < (int)uVar5) { + uVar4 = uVar5; + } + uVar5 = 0; + if ((puVar9 != (uint *)0x0) && (uVar5 = 0, puVar9 != (uint *)PTR_DAT_140155008)) { + uVar5 = puVar9[-2]; + } + if (((int)uVar4 < (int)uVar5) || (uVar4 = 0, puVar9 == (uint *)0x0)) { +LAB_1400b1a62: + if (((puVar9 != (uint *)PTR_DAT_140155008) && (puVar9 != (uint *)0x0)) && + (puVar10 = puVar9 + -2, puVar10 != (uint *)0x0)) { + *puVar10 = uVar4; + *(undefined1 *)((longlong)(int)uVar4 + 8 + (longlong)puVar10) = 0; + } + } + else if (puVar9 != (uint *)PTR_DAT_140155008) { + uVar4 = puVar9[-2]; + goto LAB_1400b1a62; + } + ppuVar35 = &local_9f0; + ppppppplVar32 = (longlong *******)(param_2 + 0x4a7); + ppuVar20 = &local_9d0; + puVar22 = local_9e0; + local_a08 = (uint *******) + FUN_1400aebc0(local_9e0,(longlong *)ppuVar20,ppppppplVar32,(longlong *)ppuVar35); + FUN_140030200(puVar22,ppuVar20,ppppppplVar32,ppuVar35); + puVar10 = (uint *)PTR_DAT_140155008; + local_9f8 = (uint *)PTR_DAT_140155008; + local_9e8[0] = FUN_140030120("##"); + iVar7 = 0; + if ((puVar10 != (uint *)0x0) && (iVar7 = 0, puVar10 != (uint *)PTR_DAT_140155008)) { + iVar7 = *(int *)((longlong)puVar10 + -8); + } + uVar4 = local_9e8[0]; + if ((((int)local_9e8[0] <= iVar7) && (uVar4 = 0, puVar10 != (uint *)0x0)) && + (puVar10 != (uint *)PTR_DAT_140155008)) { + uVar4 = *(uint *)((longlong)puVar10 + -8); + } + uVar5 = 1; + if (1 < (int)uVar4) { + uVar5 = uVar4; + } + iVar7 = 0; + if ((puVar10 != (uint *)0x0) && (iVar7 = 0, puVar10 != (uint *)PTR_DAT_140155008)) { + iVar7 = *(int *)((longlong)puVar10 + -8); + } + if (iVar7 < (int)uVar5) { + if (puVar10 == (uint *)0x0) { + puVar10 = (uint *)PTR_DAT_140155008; + } + local_9f8 = puVar10; + if ((int)uVar5 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar5 == 0) { + FUN_14001c020((longlong *)&local_9f8); + } + else { + uVar4 = 0; + if ((puVar10 != (uint *)0x0) && (puVar10 != (uint *)PTR_DAT_140155008)) { + uVar4 = puVar10[-2]; + } + if (uVar5 != uVar4) { + puVar11 = (uint *)FUN_140030280((longlong)(int)uVar5 + 9); + if (puVar11 != (uint *)0x0) { + *puVar11 = 0; + puVar11[1] = 1; + } + *puVar11 = uVar5; + uVar4 = 0; + if ((puVar10 != (uint *)0x0) && (puVar10 != (uint *)PTR_DAT_140155008)) { + uVar4 = puVar10[-2]; + } + puVar27 = (uint *)PTR_DAT_140155008; + if ((int)uVar5 < (int)uVar4) { +LAB_1400b1b99: + if (puVar10 != (uint *)0x0) { + puVar27 = puVar10; + } + } + else { + uVar5 = uVar6; + if (puVar10 != (uint *)0x0) { + if (puVar10 != (uint *)PTR_DAT_140155008) { + uVar5 = puVar10[-2]; + } + goto LAB_1400b1b99; + } + } + FUN_140030150(puVar11 + 2,puVar27,uVar5); + FUN_14001c020((longlong *)&local_9f8); + local_9f8 = puVar11 + 2; + } + } + } + FUN_14002eb30((longlong *)&local_9f8); + puVar10 = local_9f8; + puVar11 = local_9f8; + if (local_9f8 == (uint *)0x0) { + puVar11 = (uint *)PTR_DAT_140155008; + } + FUN_140030150(puVar11,&DAT_14010c5b0,local_9e8[0]); + puVar11 = puVar10; + if (puVar10 == (uint *)0x0) { + puVar11 = (uint *)PTR_DAT_140155008; + } + uVar5 = FUN_140030120((char *)puVar11); + uVar4 = 0; + if (0 < (int)uVar5) { + uVar4 = uVar5; + } + uVar5 = 0; + if ((puVar10 != (uint *)0x0) && (uVar5 = 0, puVar10 != (uint *)PTR_DAT_140155008)) { + uVar5 = puVar10[-2]; + } + if (((int)uVar4 < (int)uVar5) || (uVar4 = 0, puVar10 == (uint *)0x0)) { +LAB_1400b1c33: + if (((puVar10 != (uint *)PTR_DAT_140155008) && (puVar10 != (uint *)0x0)) && + (puVar11 = puVar10 + -2, puVar11 != (uint *)0x0)) { + *puVar11 = uVar4; + *(undefined1 *)((longlong)(int)uVar4 + 8 + (longlong)puVar11) = 0; + } + } + else if (puVar10 != (uint *)PTR_DAT_140155008) { + uVar4 = puVar10[-2]; + goto LAB_1400b1c33; + } + ppuVar35 = &local_a00; + plVar12 = FUN_1400aebc0(local_9e0,(longlong *)&local_9b8,(longlong *******)(param_2 + 0x4a7), + (longlong *)ppuVar35); + pppppppuVar13 = + (uint *******)FUN_140032430((longlong *)&local_9c0,plVar12,(longlong *)&local_9f8,ppuVar35); + pppppppuVar14 = + (uint *******) + FUN_140032430((longlong *)&local_9c8,(longlong *)pppppppuVar13,(longlong *)local_a08,ppuVar35 + ); + if (ppppppuVar36 == (uint ******)0x0) { + ppppppuVar36 = (uint ******)PTR_DAT_140155008; + } + pppppppuVar33 = local_a08; + local_9d8 = ppppppuVar36; + if (*pppppppuVar14 != ppppppuVar36) { + local_a08 = pppppppuVar14; + piVar15 = (int *)FUN_140030200(PTR_DAT_140155008,pppppppuVar13,pppppppuVar33,ppuVar35); + piVar16 = piVar15; + local_920 = piVar15; + FUN_14002e6e0(piVar15); + local_918 = 1; + if (((ppppppuVar36 != (uint ******)0x0) && (ppppppuVar36 != (uint ******)PTR_DAT_140155008)) && + (ppppppuVar36 + -1 != (uint ******)0x0)) { + piVar15 = (int *)FUN_140030200(piVar16,pppppppuVar13,pppppppuVar33,ppuVar35); + local_8a8 = piVar15; + FUN_14002e6e0(piVar15); + local_8a0 = 1; + piVar16 = (int *)((longlong)ppppppuVar36 + -4); + *piVar16 = *piVar16 + -1; + if (*piVar16 == 0) { + FUN_1400302f0(ppppppuVar36 + -1); + } + FUN_14002e770((longlong)piVar15); + piVar15 = local_920; + } + ppppppuVar36 = *local_a08; + if (((ppppppuVar36 != (uint ******)PTR_DAT_140155008) && (ppppppuVar36 != (uint ******)0x0)) && + (ppppppuVar36 != (uint ******)0x8)) { + *(int *)((longlong)ppppppuVar36 + -4) = *(int *)((longlong)ppppppuVar36 + -4) + 1; + } + local_9d8 = ppppppuVar36; + FUN_14002e770((longlong)piVar15); + pppppppuVar14 = local_a08; + } + local_a08 = pppppppuVar14; + if (((local_9c8 != (undefined *)0x0) && (local_9c8 != PTR_DAT_140155008)) && + (local_9c8 + -8 != (undefined *)0x0)) { + local_930 = (int *)FUN_140030200(PTR_DAT_140155008,pppppppuVar13,pppppppuVar33,ppuVar35); + FUN_14002e6e0(local_930); + local_928 = 1; + piVar16 = (int *)(local_9c8 + -4); + *piVar16 = *piVar16 + -1; + if (*piVar16 == 0) { + FUN_1400302f0(local_9c8 + -8); + } + FUN_14002e770((longlong)local_930); + } + local_9c8 = PTR_DAT_140155008; + if (((local_9c0 != (undefined *)0x0) && (local_9c0 != PTR_DAT_140155008)) && + (local_9c0 + -8 != (undefined *)0x0)) { + local_950 = (int *)FUN_140030200(PTR_DAT_140155008,pppppppuVar13,pppppppuVar33,ppuVar35); + FUN_14002e6e0(local_950); + local_948 = 1; + piVar16 = (int *)(local_9c0 + -4); + *piVar16 = *piVar16 + -1; + if (*piVar16 == 0) { + FUN_1400302f0(local_9c0 + -8); + } + FUN_14002e770((longlong)local_950); + } + local_9c0 = PTR_DAT_140155008; + if (((local_9b8 != (undefined *)0x0) && (local_9b8 != PTR_DAT_140155008)) && + (local_9b8 + -8 != (undefined *)0x0)) { + local_940 = (int *)FUN_140030200(PTR_DAT_140155008,pppppppuVar13,pppppppuVar33,ppuVar35); + FUN_14002e6e0(local_940); + local_938 = 1; + piVar16 = (int *)(local_9b8 + -4); + *piVar16 = *piVar16 + -1; + if (*piVar16 == 0) { + FUN_1400302f0(local_9b8 + -8); + } + FUN_14002e770((longlong)local_940); + } + local_9b8 = PTR_DAT_140155008; + if (((puVar10 != (uint *)0x0) && (puVar10 != (uint *)PTR_DAT_140155008)) && + (puVar10 + -2 != (uint *)0x0)) { + piVar16 = (int *)FUN_140030200(PTR_DAT_140155008,pppppppuVar13,pppppppuVar33,ppuVar35); + local_8b8 = piVar16; + FUN_14002e6e0(piVar16); + local_8b0 = 1; + puVar11 = puVar10 + -1; + *puVar11 = *puVar11 - 1; + if (*puVar11 == 0) { + FUN_1400302f0(puVar10 + -2); + } + FUN_14002e770((longlong)piVar16); + } + if (((local_9d0 != (undefined *)0x0) && (local_9d0 != PTR_DAT_140155008)) && + (local_9d0 + -8 != (undefined *)0x0)) { + piVar15 = (int *)FUN_140030200(PTR_DAT_140155008,pppppppuVar13,pppppppuVar33,ppuVar35); + local_900 = piVar15; + FUN_14002e6e0(piVar15); + local_8f8 = 1; + piVar16 = (int *)(local_9d0 + -4); + *piVar16 = *piVar16 + -1; + if (*piVar16 == 0) { + FUN_1400302f0(local_9d0 + -8); + } + FUN_14002e770((longlong)piVar15); + } + local_9d0 = PTR_DAT_140155008; + if (((puVar9 != (uint *)0x0) && (puVar9 != (uint *)PTR_DAT_140155008)) && + (puVar9 + -2 != (uint *)0x0)) { + piVar16 = (int *)FUN_140030200(PTR_DAT_140155008,pppppppuVar13,pppppppuVar33,ppuVar35); + local_8f0 = piVar16; + FUN_14002e6e0(piVar16); + local_8e8 = 1; + puVar10 = puVar9 + -1; + *puVar10 = *puVar10 - 1; + if (*puVar10 == 0) { + FUN_1400302f0(puVar9 + -2); + } + FUN_14002e770((longlong)piVar16); + } + if (((puVar17 != (uint *)0x0) && (puVar17 != (uint *)PTR_DAT_140155008)) && + (puVar17 + -2 != (uint *)0x0)) { + piVar16 = (int *)FUN_140030200(PTR_DAT_140155008,pppppppuVar13,pppppppuVar33,ppuVar35); + local_8c8 = piVar16; + FUN_14002e6e0(piVar16); + local_8c0 = 1; + puVar9 = puVar17 + -1; + *puVar9 = *puVar9 - 1; + if (*puVar9 == 0) { + FUN_1400302f0(puVar17 + -2); + } + FUN_14002e770((longlong)piVar16); + } + if (((ppppppuVar36 != (uint ******)0x0) && (ppppppuVar36 != (uint ******)PTR_DAT_140155008)) && + (2 < *(int *)(ppppppuVar36 + -1))) { + local_778 = local_770; + uVar8 = 3; + ppsVar23 = &local_778; + ppppppuVar28 = ppppppuVar36; + FUN_14002a670((longlong *)ppsVar23,(LPCSTR)ppppppuVar36,3); + psVar3 = local_778; + FUN_140030200(ppsVar23,ppppppuVar28,uVar8,ppuVar35); + pppppppuVar13 = (uint *******)PTR_DAT_140155010; + local_a08 = (uint *******)PTR_DAT_140155010; + uVar4 = FUN_140030080(psVar3); + uVar29 = 0; + if ((pppppppuVar13 != (uint *******)0x0) && (pppppppuVar13 != (uint *******)PTR_DAT_140155010)) + { + uVar29 = (ulonglong)*(uint *)((longlong)pppppppuVar13 + -8); + } + uVar5 = uVar4; + if ((((int)uVar4 <= (int)uVar29) && (uVar5 = 0, pppppppuVar13 != (uint *******)0x0)) && + (pppppppuVar13 != (uint *******)PTR_DAT_140155010)) { + uVar5 = *(uint *)((longlong)pppppppuVar13 + -8); + } + uVar31 = 1; + if (1 < (int)uVar5) { + uVar31 = uVar5; + } + iVar7 = 0; + if ((pppppppuVar13 != (uint *******)0x0) && + (iVar7 = 0, pppppppuVar13 != (uint *******)PTR_DAT_140155010)) { + iVar7 = *(int *)((longlong)pppppppuVar13 + -8); + } + if (iVar7 < (int)uVar31) { + if (pppppppuVar13 == (uint *******)0x0) { + pppppppuVar13 = (uint *******)PTR_DAT_140155010; + } + local_a08 = pppppppuVar13; + if ((int)uVar31 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (uVar31 == 0) { + FUN_140003240((longlong *)&local_a08,uVar29,uVar8,ppuVar35); + } + else { + uVar5 = 0; + if ((pppppppuVar13 != (uint *******)0x0) && + (pppppppuVar13 != (uint *******)PTR_DAT_140155010)) { + uVar5 = *(uint *)(pppppppuVar13 + -1); + } + if (uVar31 != uVar5) { + puVar17 = (uint *)FUN_140030280((longlong)(int)uVar31 * 2 + 10); + if (puVar17 != (uint *)0x0) { + *puVar17 = 0; + puVar17[1] = 1; + } + *puVar17 = uVar31; + uVar5 = 0; + if ((pppppppuVar13 != (uint *******)0x0) && + (pppppppuVar13 != (uint *******)PTR_DAT_140155010)) { + uVar5 = *(uint *)(pppppppuVar13 + -1); + } + pppppppuVar14 = (uint *******)PTR_DAT_140155010; + if ((int)uVar31 < (int)uVar5) { +LAB_1400b209c: + if (pppppppuVar13 != (uint *******)0x0) { + pppppppuVar14 = pppppppuVar13; + } + } + else { + uVar31 = uVar6; + if (pppppppuVar13 != (uint *******)0x0) { + if (pppppppuVar13 != (uint *******)PTR_DAT_140155010) { + uVar31 = *(uint *)(pppppppuVar13 + -1); + } + goto LAB_1400b209c; + } + } + uVar29 = (ulonglong)uVar31; + FUN_1400300b0(puVar17 + 2,pppppppuVar14,uVar31); + FUN_140003240((longlong *)&local_a08,pppppppuVar14,uVar29,ppuVar35); + local_a08 = (uint *******)(puVar17 + 2); + } + } + } + FUN_140002ea0((longlong *)&local_a08); + pppppppuVar14 = local_a08; + pppppppuVar13 = local_a08; + if (local_a08 == (uint *******)0x0) { + pppppppuVar13 = (uint *******)PTR_DAT_140155010; + } + FUN_1400300b0(pppppppuVar13,psVar3,uVar4); + pppppppuVar13 = pppppppuVar14; + if (pppppppuVar14 == (uint *******)0x0) { + pppppppuVar13 = (uint *******)PTR_DAT_140155010; + } + uVar4 = FUN_140030080((short *)pppppppuVar13); + puVar22 = local_9e0; + uVar6 = 0; + if (0 < (int)uVar4) { + uVar6 = uVar4; + } + uVar4 = 0; + if ((pppppppuVar14 != (uint *******)0x0) && + (uVar4 = 0, pppppppuVar14 != (uint *******)PTR_DAT_140155010)) { + uVar4 = *(uint *)(pppppppuVar14 + -1); + } + if (((int)uVar6 < (int)uVar4) || (uVar6 = 0, pppppppuVar14 == (uint *******)0x0)) { +LAB_1400b2130: + if (((pppppppuVar14 != (uint *******)PTR_DAT_140155010) && + (pppppppuVar14 != (uint *******)0x0)) && (pppppppuVar14 + -1 != (uint *******)0x0)) { + *(uint *)(pppppppuVar14 + -1) = uVar6; + *(ushort *)((longlong)pppppppuVar14 + (longlong)(int)uVar6 * 2) = 0; + } + } + else if (pppppppuVar14 != (uint *******)PTR_DAT_140155010) { + uVar6 = *(uint *)(pppppppuVar14 + -1); + goto LAB_1400b2130; + } + pppppppuVar13 = pppppppuVar14; + if (pppppppuVar14 == (uint *******)0x0) { + pppppppuVar13 = (uint *******)PTR_DAT_140155010; + } + if (pppppppuVar13 == (uint *******)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + uVar6 = 0; + pppppppuVar13 = pppppppuVar14; + if (pppppppuVar14 == (uint *******)0x0) { + pppppppuVar13 = (uint *******)PTR_DAT_140155010; + } + uVar1 = *(ushort *)pppppppuVar13; + while (uVar1 != 0) { + uVar6 = uVar6 * 0x21 + (uint)uVar1; + pppppppuVar13 = (uint *******)((longlong)pppppppuVar13 + 2); + uVar1 = *(ushort *)pppppppuVar13; + } + uVar4 = *(uint *)(local_9e0 + 0x1a); + pppppppuVar34 = (uint *******)PTR_DAT_140155010; + if (local_9e0[0x16] != 0) { + plVar12 = *(longlong **)(local_9e0[0x16] + ((ulonglong)uVar6 % (ulonglong)uVar4) * 8); + pppppppuVar33 = (uint *******)PTR_DAT_140155010; + while( true ) { + PTR_DAT_140155010 = (undefined *)pppppppuVar33; + if ((plVar12 == (longlong *)0x0) || + (pppppppuVar34 = pppppppuVar33, + (uint)((ulonglong)uVar6 % (ulonglong)uVar4) != + *(uint *)(plVar12 + 4) % *(uint *)(puVar22 + 0x1a))) goto LAB_1400b2214; + pppppppuVar13 = pppppppuVar14; + if (pppppppuVar14 == (uint *******)0x0) { + pppppppuVar13 = pppppppuVar33; + } + pppppppuVar24 = (uint *******)*plVar12; + if ((uint *******)*plVar12 == (uint *******)0x0) { + pppppppuVar24 = pppppppuVar33; + } + iVar7 = FUN_1400300c0((ushort *)pppppppuVar24,(longlong)pppppppuVar13); + pppppppuVar34 = pppppppuVar33; + if (iVar7 == 0) break; + plVar12 = (longlong *)plVar12[2]; + pppppppuVar33 = (uint *******)PTR_DAT_140155010; + } + if (plVar12 != (longlong *)0x0) goto LAB_1400b2228; + } +LAB_1400b2214: + pppppppuVar13 = (uint *******)&local_a08; + pppppppuVar24 = (uint *******)(puVar22 + 0x15); + plVar12 = FUN_1400b0650((char *)pppppppuVar24,(longlong *)pppppppuVar13); + *(undefined1 *)plVar12 = 0; + pppppppuVar33 = pppppppuVar34; +LAB_1400b2228: + if (((pppppppuVar14 != (uint *******)0x0) && (pppppppuVar14 != (uint *******)PTR_DAT_140155010)) + && (pppppppuVar14 + -1 != (uint *******)0x0)) { + piVar16 = (int *)FUN_140030200(pppppppuVar24,pppppppuVar13,pppppppuVar33,ppuVar35); + local_8d8 = piVar16; + FUN_14002e6e0(piVar16); + local_8d0 = 1; + puVar17 = (uint *)((longlong)pppppppuVar14 + -4); + *puVar17 = *puVar17 - 1; + if (*puVar17 == 0) { + FUN_1400302f0(pppppppuVar14 + -1); + } + FUN_14002e770((longlong)piVar16); + } + if (local_778 != local_770) { + free(local_778); + } + } + if (((ppppppuVar36 != (uint ******)0x0) && (ppppppuVar36 != (uint ******)PTR_DAT_140155008)) && + (ppppppuVar36 + -1 != (uint ******)0x0)) { + piVar15 = (int *)FUN_140030200(PTR_DAT_140155008,pppppppuVar13,pppppppuVar33,ppuVar35); + local_910 = piVar15; + FUN_14002e6e0(piVar15); + local_908 = 1; + piVar16 = (int *)((longlong)ppppppuVar36 + -4); + *piVar16 = *piVar16 + -1; + if (*piVar16 == 0) { + FUN_1400302f0(ppppppuVar36 + -1); + } + FUN_14002e770((longlong)piVar15); + } +LAB_1400b23ed: + if (3 < *(int *)(param_2 + 0x492)) { + return; + } + param_2[0x492] = (undefined *)0x4; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b27b0.c b/decomp/Agent_Release_x64/full/functions/0x1400b27b0.c new file mode 100644 index 00000000..8eb94dd1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b27b0.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b27b0 FUN_1400b27b0 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400b2879) */ +/* WARNING: Removing unreachable block (ram,0x0001400b2884) */ + +void FUN_1400b27b0(undefined8 *param_1,undefined8 param_2,undefined **param_3,longlong param_4) + +{ + longlong *plVar1; + longlong *plVar2; + undefined **ppuVar3; + + FUN_14002e6e0((int *)(param_1 + 2)); + if (param_1[0xe] == 0) { + plVar2 = (longlong *)0x0; + } + else { + plVar2 = (longlong *)param_1[0xc]; + } + while (plVar2 != (longlong *)0x0) { + ppuVar3 = (undefined **)0x0; + if ((undefined8 *)plVar2[1] != (undefined8 *)0x0) { + ppuVar3 = *(undefined ***)plVar2[1]; + } + FUN_1400b1560(param_1,ppuVar3,param_3,param_4); + if (*(int *)(ppuVar3 + 0x492) == 5) { + plVar1 = (longlong *)plVar2[2]; + param_3 = (undefined **)0x0; + FUN_1400af710((char *)(param_1 + 10),plVar2,0); + plVar2 = plVar1; + } + else { + plVar2 = (longlong *)plVar2[2]; + } + } + FUN_14002e770((longlong)(param_1 + 2)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b28b0.c b/decomp/Agent_Release_x64/full/functions/0x1400b28b0.c new file mode 100644 index 00000000..aa6896c3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b28b0.c @@ -0,0 +1,59 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b28b0 FUN_1400b28b0 + * Pseudocode, not original source. */ + +void FUN_1400b28b0(uint *******param_1,uint ****param_2,undefined **param_3,uint ******param_4) + +{ + uint *******pppppppuVar1; + int iVar2; + uint *******pppppppuVar3; + int iVar4; + + pppppppuVar1 = param_1 + 2; + pppppppuVar3 = pppppppuVar1; + FUN_14002e6e0((int *)pppppppuVar1); + if (*(int *)(param_1 + 9) == 0) { + pppppppuVar3 = param_1; + FUN_1400b0090((longlong)param_1,(undefined **)param_2,(ulonglong)param_3,param_4); + } + *(int *)(param_1 + 9) = *(int *)(param_1 + 9) + 1; + iVar4 = 0; + while( true ) { + if (iVar4 == *(int *)(param_1 + 0x23)) { + FUN_1400b27b0(param_1,param_2,param_3,(longlong)param_4); + FUN_1400aeea0((longlong)param_1,(longlong)param_2,(longlong)param_3,param_4); + FUN_14002e770((longlong)pppppppuVar1); + return; + } + if ((iVar4 < 0) || (*(int *)(param_1 + 0x23) <= iVar4)) break; + param_2 = (uint ****)0x0; + if (param_1[0x22][iVar4] != (uint *****)0x0) { + param_2 = *param_1[0x22][iVar4]; + } + iVar2 = *(int *)(param_2 + 3); + if (iVar2 == 0) { + pppppppuVar3 = param_1; + FUN_1400afae0(param_1,(longlong *)param_2,(longlong *)param_3,param_4); + } + else if (iVar2 == 1) { + pppppppuVar3 = param_1; + FUN_1400afcb0((longlong)param_1,(longlong)param_2,param_3,param_4); + } + else { + pppppppuVar3 = (uint *******)(ulonglong)(iVar2 - 2U); + if (iVar2 - 2U == 0) { + pppppppuVar3 = param_1; + FUN_1400b09b0(param_1,(longlong)param_2,param_3,param_4); + } + } + if (*(int *)(param_1 + 0x23) <= iVar4) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppppppuVar3,param_2,param_3,param_4); + } + iVar4 = iVar4 + 1; + } + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pppppppuVar3,param_2,param_3,param_4); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b2990.c b/decomp/Agent_Release_x64/full/functions/0x1400b2990.c new file mode 100644 index 00000000..c9db1a74 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b2990.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b2990 FUN_1400b2990 + * Pseudocode, not original source. */ + +ulonglong FUN_1400b2990(longlong param_1,double param_2) + +{ + uint uVar1; + undefined8 uVar2; + ulonglong uVar3; + + uVar1 = *(uint *)(param_1 + 0x1a4); + uVar2 = FUN_1400bcac0((double *)(param_1 + 0x1b8),param_2); + if ((int)uVar2 < (int)uVar1) { + uVar3 = FUN_1400bcac0((double *)(param_1 + 0x1b8),param_2); + } + else { + uVar3 = (ulonglong)uVar1; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b2a00.c b/decomp/Agent_Release_x64/full/functions/0x1400b2a00.c new file mode 100644 index 00000000..8e7506fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b2a00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b2a00 FUN_1400b2a00 + * Pseudocode, not original source. */ + +void FUN_1400b2a00(longlong param_1,double param_2) + +{ + FUN_14009e8e0(param_1 + 0x170,param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b2a10.c b/decomp/Agent_Release_x64/full/functions/0x1400b2a10.c new file mode 100644 index 00000000..9f86d687 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b2a10.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b2a10 FUN_1400b2a10 + * Pseudocode, not original source. */ + +uint FUN_1400b2a10(longlong param_1,undefined8 param_2,undefined **param_3,undefined8 param_4) + +{ + char cVar1; + uint uVar2; + longlong *plVar3; + ulonglong uVar4; + longlong *plVar5; + + if (*(char *)(param_1 + 0xc0) == '\0') { + plVar5 = (longlong *)0x0; + plVar3 = plVar5; + if (*(longlong **)(param_1 + 0x128) != (longlong *)0x0) { + plVar3 = (longlong *)**(longlong **)(param_1 + 0x128); + } + cVar1 = FUN_140035730((longlong)plVar3); + if (cVar1 == '\0') { + *(undefined1 *)(param_1 + 0xc0) = 1; + plVar3 = plVar5; + if (*(longlong **)(param_1 + 0x128) != (longlong *)0x0) { + plVar3 = (longlong *)**(longlong **)(param_1 + 0x128); + } + uVar4 = (ulonglong)DAT_140155048; + uVar2 = FUN_1400362c0((longlong)plVar3,uVar4,param_3,param_4); + if (uVar2 != 0) { + *(undefined1 *)(param_1 + 0xc0) = 0; + if (*(undefined8 **)(param_1 + 0x128) != (undefined8 *)0x0) { + plVar5 = (longlong *)**(undefined8 **)(param_1 + 0x128); + } + FUN_140035490(plVar5,uVar4,param_3,param_4); + return uVar2; + } + *(undefined8 *)(param_1 + 0x1f0) = 0; + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b2ad0.c b/decomp/Agent_Release_x64/full/functions/0x1400b2ad0.c new file mode 100644 index 00000000..adeca8c4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b2ad0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b2ad0 FUN_1400b2ad0 + * Pseudocode, not original source. */ + +void FUN_1400b2ad0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + if (*(undefined8 **)(param_1 + 0xe8) != (undefined8 *)0x0) { + FUN_140035490((longlong *)**(undefined8 **)(param_1 + 0xe8),param_2,param_3,param_4); + return; + } + FUN_140035490((longlong *)0x0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b2af0.c b/decomp/Agent_Release_x64/full/functions/0x1400b2af0.c new file mode 100644 index 00000000..174f8baf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b2af0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b2af0 FUN_1400b2af0 + * Pseudocode, not original source. */ + +void FUN_1400b2af0(longlong param_1,char param_2) + +{ + if (*(longlong **)(param_1 + 0x128) != (longlong *)0x0) { + FUN_140034ca0(**(longlong **)(param_1 + 0x128),param_2); + return; + } + FUN_140034ca0(0,param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b2b10.c b/decomp/Agent_Release_x64/full/functions/0x1400b2b10.c new file mode 100644 index 00000000..c3d5adc5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b2b10.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b2b10 FUN_1400b2b10 + * Pseudocode, not original source. */ + +void FUN_1400b2b10(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + undefined8 *puVar2; + undefined8 local_28; + int local_20; + undefined2 local_1c; + undefined8 local_18; + int local_10; + + if (*(longlong **)(param_1 + 0x128) == (longlong *)0x0) { + lVar1 = 0; + } + else { + lVar1 = **(longlong **)(param_1 + 0x128); + } + puVar2 = &local_28; + FUN_140034a30(lVar1,puVar2); + FUN_1400346b0(&local_18,puVar2,param_3,param_4); + if ((local_20 == 0) && (local_10 != 0)) { + local_20 = local_10; + } + *(int *)(param_1 + 0x118) = local_20; + *(undefined2 *)(param_1 + 0x11c) = local_1c; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b2b70.c b/decomp/Agent_Release_x64/full/functions/0x1400b2b70.c new file mode 100644 index 00000000..548e5db6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b2b70.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b2b70 FUN_1400b2b70 + * Pseudocode, not original source. */ + +undefined8 FUN_1400b2b70(longlong param_1) + +{ + longlong lVar1; + + if ((*(longlong **)(param_1 + 0xe8) != (longlong *)0x0) && + (lVar1 = **(longlong **)(param_1 + 0xe8), lVar1 != 0)) { + if (*(char *)(lVar1 + 0x80) == '\0') { + return 0; + } + } + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b2ba0.c b/decomp/Agent_Release_x64/full/functions/0x1400b2ba0.c new file mode 100644 index 00000000..e716f13f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b2ba0.c @@ -0,0 +1,74 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b2ba0 FUN_1400b2ba0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400b2ba0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + char cVar1; + int iVar2; + uint uVar3; + ulonglong uVar4; + longlong *plVar5; + longlong lVar6; + longlong *plVar7; + double dVar8; + undefined8 uVar9; + undefined1 auStack_6a8 [32]; + undefined8 local_688; + void *local_678; + undefined8 local_670; + ulonglong local_668; + undefined8 local_660; + ulonglong local_18; + + local_688 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_6a8; + plVar7 = (longlong *)0x0; + plVar5 = plVar7; + if (*(longlong **)(param_1 + 0x128) != (longlong *)0x0) { + plVar5 = (longlong *)**(longlong **)(param_1 + 0x128); + } + cVar1 = FUN_140035730((longlong)plVar5); + if ((cVar1 == '\0') && (*(char *)(param_1 + 0x80) == '\0')) { + dVar8 = (double)(**(code **)(**(longlong **)(param_1 + 0x120) + 0x30))(); + uVar4 = FUN_1400b2990(param_1,dVar8); + iVar2 = (int)uVar4; + if (0 < iVar2) { + *(undefined1 *)(param_1 + 0x80) = 1; + local_678 = (void *)0x0; + local_660 = 0; + local_670 = 0; + local_668 = 100; + uVar4 = uVar4 & 0xffffffff; + FUN_14009ebd0(param_1 + 0x170,(longlong *)&local_678,iVar2); + plVar5 = plVar7; + if (*(longlong **)(param_1 + 0x128) != (longlong *)0x0) { + plVar5 = (longlong *)**(longlong **)(param_1 + 0x128); + } + uVar3 = FUN_1400367d0((longlong)plVar5,(longlong *)&local_678,uVar4,param_4); + FUN_1400bca80(param_1 + 0x1b8,iVar2); + lVar6 = **(longlong **)(param_1 + 0x120); + uVar9 = (**(code **)(lVar6 + 0x30))(); + *(double *)(param_1 + 0x1d8) = (double)iVar2 + *(double *)(param_1 + 0x1d8); + *(undefined8 *)(param_1 + 0x1e8) = uVar9; + if (uVar3 == 0) { + *(undefined8 *)(param_1 + 0x1f8) = 0; + } + else { + *(undefined1 *)(param_1 + 0x80) = 0; + if (*(undefined8 **)(param_1 + 0x128) != (undefined8 *)0x0) { + plVar7 = (longlong *)**(undefined8 **)(param_1 + 0x128); + } + FUN_140035490(plVar7,lVar6,uVar4,param_4); + } + if (100 < local_668) { + operator_delete__(local_678); + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b2d20.c b/decomp/Agent_Release_x64/full/functions/0x1400b2d20.c new file mode 100644 index 00000000..7773de76 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b2d20.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b2d20 FUN_1400b2d20 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400b2d20(longlong param_1,longlong param_2,SIZE_T *param_3,undefined8 param_4) + +{ + undefined1 auStack_de8 [32]; + undefined8 local_dc8; + longlong *local_dc0; + exception local_db8 [80]; + undefined4 local_d68 [2]; + longlong local_d60; + longlong local_d58; + undefined4 local_d50; + int local_d4c; + undefined1 local_d40 [136]; + undefined1 local_cb8 [3200]; + undefined1 *local_38; + undefined4 local_30; + int local_2c; + ulonglong local_28; + + local_dc8 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_de8; + (**(code **)(**(longlong **)(param_1 + 0x120) + 0x20))(); + local_2c = 200; + local_30 = 0; + local_38 = local_cb8; + FUN_1400806d0(local_d68); + FUN_140080350((longlong)local_d68,(longlong)local_d40,0x80,param_4); + FUN_14009ee20(param_2,(longlong)local_cb8,(SIZE_T)local_d68,param_4); + FUN_14009eb20((longlong *)(param_1 + 0x170),(longlong)local_cb8,param_3,param_4); + local_dc0 = &local_d60; + FUN_140095270(&local_d60); + if (local_d58 != 0) { + if (local_d4c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d50 = 0; + } + if (local_38 == (undefined1 *)0x0) { + FUN_14002f1e0(local_db8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_db8,(ThrowInfo *)&DAT_140151b88); + } + if (local_2c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b2e80.c b/decomp/Agent_Release_x64/full/functions/0x1400b2e80.c new file mode 100644 index 00000000..85895b80 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b2e80.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b2e80 FUN_1400b2e80 + * Pseudocode, not original source. */ + +void FUN_1400b2e80(undefined8 *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + longlong *plVar2; + + *param_1 = Proud::CTcpLayer_C::vftable; + param_1[8] = Proud::CTcpLayer_C::vftable; + (**(code **)(*(longlong *)param_1[0x24] + 0x10))(); + FUN_14009efd0(param_1 + 0x2e,param_2,param_3,param_4); + FUN_1400bbbd0((longlong)(param_1 + 0x26)); + if ((param_1[0x25] != 0) && + (*(longlong *)(param_1[0x25] + 8) = *(longlong *)(param_1[0x25] + 8) + -1, + *(longlong *)(param_1[0x25] + 8) == 0)) { + puVar1 = (undefined8 *)param_1[0x25]; + plVar2 = (longlong *)*puVar1; + if (plVar2 != (longlong *)0x0) { + FUN_1400358a0(plVar2,param_2,param_3,param_4); + FUN_1400302f0(plVar2); + } + FUN_1400302f0(puVar1); + } + param_1[8] = Proud::IHasOverlappedIo::vftable; + *param_1 = Proud::ICompletionContext::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b2f60.c b/decomp/Agent_Release_x64/full/functions/0x1400b2f60.c new file mode 100644 index 00000000..8b5ca47a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b2f60.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b2f60 FUN_1400b2f60 + * Pseudocode, not original source. */ + +undefined8 FUN_1400b2f60(void) + +{ + return 3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b2f70.c b/decomp/Agent_Release_x64/full/functions/0x1400b2f70.c new file mode 100644 index 00000000..982e4075 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b2f70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b2f70 FUN_1400b2f70 + * Pseudocode, not original source. */ + +void FUN_1400b2f70(longlong param_1,ulonglong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_1400b3160((undefined8 *)(param_1 + -0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b2f80.c b/decomp/Agent_Release_x64/full/functions/0x1400b2f80.c new file mode 100644 index 00000000..a0000e3a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b2f80.c @@ -0,0 +1,84 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b2f80 FUN_1400b2f80 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400b2f80(undefined8 *param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + longlong *plVar1; + undefined8 *puVar2; + undefined8 *puVar3; + undefined8 *puVar4; + longlong lVar5; + undefined8 **ppuVar6; + undefined8 *local_res10; + + *param_1 = Proud::ICompletionContext::vftable; + FUN_140034f30(param_1 + 8); + *param_1 = Proud::CTcpLayer_C::vftable; + param_1[8] = Proud::CTcpLayer_C::vftable; + param_1[0x20] = Proud::AddrPort::vftable; + puVar4 = (undefined8 *)0x0; + *(undefined4 *)(param_1 + 0x21) = 0; + *(undefined2 *)((longlong)param_1 + 0x10c) = 0; + param_1[0x22] = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 0x23) = 0; + *(undefined2 *)((longlong)param_1 + 0x11c) = 0; + param_1[0x25] = 0; + lVar5 = (longlong)DAT_1401550ec; + FUN_1400bbb90(param_1 + 0x26,lVar5); + FUN_14009ef40(param_1 + 0x2e,lVar5,param_3,param_4); + *(undefined1 *)(param_1 + 0x10) = 0; + *(undefined1 *)(param_1 + 0x18) = 0; + param_1[0x24] = param_2; + local_res10 = (undefined8 *)FUN_140030280(0x400); + puVar3 = puVar4; + if (local_res10 != (undefined8 *)0x0) { + param_3 = param_2; + puVar3 = FUN_140035990(local_res10,0,param_2,param_4); + } + if (puVar3 == (undefined8 *)0x0) { + local_res10 = (undefined8 *)0x0; + } + else { + local_res10 = (undefined8 *)FUN_140030280(0x10); + local_res10[1] = 1; + *local_res10 = puVar3; + } + puVar3 = local_res10; + ppuVar6 = &local_res10; + FUN_140031f40(param_1 + 0x25,(longlong *)ppuVar6); + puVar2 = local_res10; + if (puVar3 != (undefined8 *)0x0) { + plVar1 = puVar3 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + plVar1 = (longlong *)*local_res10; + if (plVar1 != (longlong *)0x0) { + FUN_1400358a0(plVar1,ppuVar6,param_3,param_4); + FUN_1400302f0(plVar1); + } + FUN_1400302f0(puVar2); + } + } + puVar3 = puVar4; + if ((undefined8 *)param_1[0x25] != (undefined8 *)0x0) { + puVar3 = *(undefined8 **)param_1[0x25]; + } + FUN_140034b90((longlong)puVar3,param_1,param_3,param_4); + (**(code **)(*param_2 + 0x10))(param_2); + puVar3 = puVar4; + if ((undefined8 *)param_1[0x25] != (undefined8 *)0x0) { + puVar3 = *(undefined8 **)param_1[0x25]; + } + (**(code **)(*param_2 + 0x40))(param_2,puVar3); + if ((undefined8 *)param_1[0x25] != (undefined8 *)0x0) { + puVar4 = *(undefined8 **)param_1[0x25]; + } + FUN_14009e950((longlong)puVar4); + param_1[0x3e] = 0; + param_1[0x3f] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b3160.c b/decomp/Agent_Release_x64/full/functions/0x1400b3160.c new file mode 100644 index 00000000..cae13729 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b3160.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b3160 FUN_1400b3160 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400b3160(undefined8 *param_1,ulonglong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_1400b2e80(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b3190.c b/decomp/Agent_Release_x64/full/functions/0x1400b3190.c new file mode 100644 index 00000000..ab7e62c4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b3190.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b3190 FUN_1400b3190 + * Pseudocode, not original source. */ + +void FUN_1400b3190(undefined8 *param_1) + +{ + *param_1 = Proud::IReliableUdpHostDelegate::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b31a0.c b/decomp/Agent_Release_x64/full/functions/0x1400b31a0.c new file mode 100644 index 00000000..e6e22e2b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b31a0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b31a0 FUN_1400b31a0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400b31a0(undefined8 *param_1,byte param_2) + +{ + *param_1 = Proud::IReliableUdpHostDelegate::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b31d0.c b/decomp/Agent_Release_x64/full/functions/0x1400b31d0.c new file mode 100644 index 00000000..d7feabcf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b31d0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b31d0 FUN_1400b31d0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400b31d0(longlong param_1) + +{ + return *(undefined8 *)(param_1 + 0x148); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b31e0.c b/decomp/Agent_Release_x64/full/functions/0x1400b31e0.c new file mode 100644 index 00000000..845a0207 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b31e0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b31e0 FUN_1400b31e0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400b31e0(longlong param_1) + +{ + return *(undefined4 *)(*(longlong *)(param_1 + 0x660) + 0x6b4); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b31f0.c b/decomp/Agent_Release_x64/full/functions/0x1400b31f0.c new file mode 100644 index 00000000..5b66d2c4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b31f0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b31f0 FUN_1400b31f0 + * Pseudocode, not original source. */ + +void FUN_1400b31f0(longlong param_1) + +{ + /* WARNING: Could not recover jumptable at 0x0001400b31ff. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x660) + 0x70) + 0x1c0)) + (*(longlong *)(param_1 + 0x660) + 0x70); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b3210.c b/decomp/Agent_Release_x64/full/functions/0x1400b3210.c new file mode 100644 index 00000000..a6df09ed --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b3210.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b3210 FUN_1400b3210 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 * FUN_1400b3210(undefined8 *param_1) + +{ + undefined4 *puVar1; + undefined1 auStack_58 [32]; + undefined8 *local_38; + undefined8 local_30; + undefined4 local_28 [4]; + ulonglong local_18; + + local_30 = 0xfffffffffffffffe; + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_58; + *param_1 = Proud::CP2PConnectionTrialContext::ServerHolepunchState::vftable; + *(undefined4 *)((longlong)param_1 + 0x1c) = 0; + *(undefined4 *)(param_1 + 4) = 0; + *(undefined4 *)((longlong)param_1 + 0x24) = 0; + *(undefined4 *)(param_1 + 5) = 0; + *(undefined4 *)(param_1 + 1) = 0; + *(undefined4 *)(param_1 + 3) = 0; + param_1[2] = 0; + local_38 = param_1; + puVar1 = FUN_1400377d0(local_28); + *(undefined4 *)((longlong)param_1 + 0x1c) = *puVar1; + *(undefined4 *)(param_1 + 4) = puVar1[1]; + *(undefined4 *)((longlong)param_1 + 0x24) = puVar1[2]; + *(undefined4 *)(param_1 + 5) = puVar1[3]; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b32b0.c b/decomp/Agent_Release_x64/full/functions/0x1400b32b0.c new file mode 100644 index 00000000..ad8871b1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b32b0.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b32b0 FUN_1400b32b0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400b32b0(longlong *param_1,undefined8 *param_2) + +{ + longlong *plVar1; + longlong lVar2; + + plVar1 = *(longlong **)(*(longlong *)(*param_1 + 0x670) + 0x1570); + if ((plVar1 != (longlong *)0x0) && (*plVar1 != 0)) { + if (plVar1 == (longlong *)0x0) { + lVar2 = 0; + } + else { + lVar2 = *plVar1; + } + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = *(undefined4 *)(lVar2 + 0xd0); + *(undefined2 *)((longlong)param_2 + 0xc) = *(undefined2 *)(lVar2 + 0xd4); + return param_2; + } + *param_2 = Proud::AddrPort::vftable; + *(undefined4 *)(param_2 + 1) = DAT_1401553d0; + *(undefined2 *)((longlong)param_2 + 0xc) = DAT_1401553d4; + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b3320.c b/decomp/Agent_Release_x64/full/functions/0x1400b3320.c new file mode 100644 index 00000000..0ff0f30b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b3320.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b3320 FUN_1400b3320 + * Pseudocode, not original source. */ + +void FUN_1400b3320(longlong param_1,char param_2) + +{ + undefined8 uVar1; + + if (param_2 == '\0') { + *(undefined1 *)(param_1 + 0x608) = 0; + uVar1 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x670) + 0x70) + 0x1c0)) + (*(longlong *)(param_1 + 0x670) + 0x70); + *(undefined8 *)(param_1 + 0x610) = uVar1; + uVar1 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x670) + 0x70) + 0x1c0))(); + *(undefined8 *)(param_1 + 0xc0) = uVar1; + *(undefined4 *)(param_1 + 0x100) = 0; + *(undefined8 *)(param_1 + 0x140) = 0xbff0000000000000; + } + else { + if (*(char *)(param_1 + 0x608) == '\0') { + *(undefined1 *)(param_1 + 0x618) = 1; + } + *(undefined1 *)(param_1 + 0x608) = 1; + } + if (*(longlong *)(param_1 + 0x640) != 0) { + *(undefined8 *)(*(longlong *)(param_1 + 0x640) + 0xd8) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b33c0.c b/decomp/Agent_Release_x64/full/functions/0x1400b33c0.c new file mode 100644 index 00000000..27caf020 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b33c0.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b33c0 FUN_1400b33c0 + * Pseudocode, not original source. */ + +double FUN_1400b33c0(longlong param_1) + +{ + longlong *plVar1; + int *piVar2; + double dVar3; + double dVar4; + + piVar2 = (int *)(**(code **)(**(longlong **)(param_1 + 0x670) + 0x58))(); + FUN_14002e6e0(piVar2); + plVar1 = (longlong *)(*(longlong *)(param_1 + 0x670) + 0x70); + dVar3 = (double)FUN_14003a220(*(longlong *)(param_1 + 0x670) + 0xb08); + dVar4 = (double)(**(code **)(*plVar1 + 0x1c0))(plVar1); + FUN_14002e770((longlong)piVar2); + return dVar3 * 2.0 + dVar4 + 1.0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b3460.c b/decomp/Agent_Release_x64/full/functions/0x1400b3460.c new file mode 100644 index 00000000..9364d2b9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b3460.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b3460 FUN_1400b3460 + * Pseudocode, not original source. */ + +void FUN_1400b3460(longlong param_1) + +{ + longlong lVar1; + longlong lVar2; + + if ((*(longlong **)(param_1 + 0x18) != (longlong *)0x0) && + (lVar1 = **(longlong **)(param_1 + 0x18), lVar1 != 0)) { + lVar2 = 0; + if (*(char *)(lVar1 + 0x40) == '\0') { + if (*(longlong **)(param_1 + 0x18) != (longlong *)0x0) { + lVar2 = **(longlong **)(param_1 + 0x18); + } + if (*(char *)(lVar2 + 0x80) == '\0') { + return; + } + } + uRam0000000000000000 = 1; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b34a0.c b/decomp/Agent_Release_x64/full/functions/0x1400b34a0.c new file mode 100644 index 00000000..03ac78d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b34a0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b34a0 FUN_1400b34a0 + * Pseudocode, not original source. */ + +longlong FUN_1400b34a0(longlong param_1) + +{ + longlong lVar1; + + if ((*(longlong **)(param_1 + 0x18) != (longlong *)0x0) && + (lVar1 = **(longlong **)(param_1 + 0x18), lVar1 != 0)) { + return lVar1 + -0x40; + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b34c0.c b/decomp/Agent_Release_x64/full/functions/0x1400b34c0.c new file mode 100644 index 00000000..b14bd3bd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b34c0.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b34c0 FUN_1400b34c0 + * Pseudocode, not original source. */ + +void FUN_1400b34c0(longlong *param_1,longlong param_2,undefined8 *param_3) + +{ + longlong lVar1; + longlong *plVar2; + undefined1 uVar3; + ushort uVar4; + longlong lVar5; + double dVar6; + undefined **local_38; + undefined4 local_30; + undefined2 local_2c; + + lVar1 = *param_1; + if ((*(longlong **)(lVar1 + 0x18) != (longlong *)0x0) && (**(longlong **)(lVar1 + 0x18) != 0)) { + local_38 = Proud::AddrPort::vftable; + local_30 = *(undefined4 *)(lVar1 + 0x598); + local_2c = *(undefined2 *)(lVar1 + 0x59c); + if ((*(longlong **)(lVar1 + 0x18) == (longlong *)0x0) || + (lVar5 = **(longlong **)(lVar1 + 0x18), lVar5 == 0)) { + lVar5 = 0; + } + else { + lVar5 = lVar5 + -0x40; + } + plVar2 = *(longlong **)(lVar1 + 0x670); + dVar6 = (double)(**(code **)(plVar2[0xe] + 0x1c0))(); + uVar3 = (**(code **)(*plVar2 + 0x30))(plVar2); + uVar4 = FUN_140096e50(uVar3,(char)*(undefined4 *)(lVar1 + 0x56c)); + FUN_1400b7230(lVar5,(ulonglong)*(uint *)(*param_1 + 0x56c),(ulonglong)uVar4,(longlong)&local_38, + param_2,dVar6,param_3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b35d0.c b/decomp/Agent_Release_x64/full/functions/0x1400b35d0.c new file mode 100644 index 00000000..4613f4be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b35d0.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b35d0 FUN_1400b35d0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400b35d0(longlong *param_1) + +{ + longlong lVar1; + undefined8 uVar2; + undefined **local_18; + undefined4 local_10; + undefined2 local_c; + + lVar1 = *param_1; + if ((*(longlong **)(lVar1 + 0x18) == (longlong *)0x0) || (**(longlong **)(lVar1 + 0x18) == 0)) { + return 0; + } + local_18 = Proud::AddrPort::vftable; + local_10 = *(undefined4 *)(lVar1 + 0x598); + local_c = *(undefined2 *)(lVar1 + 0x59c); + if ((*(longlong **)(lVar1 + 0x18) != (longlong *)0x0) && + (lVar1 = **(longlong **)(lVar1 + 0x18), lVar1 != 0)) { + uVar2 = FUN_1400b6f60(lVar1 + -0x40,(longlong)&local_18); + return uVar2; + } + uVar2 = FUN_1400b6f60(0,(longlong)&local_18); + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b3650.c b/decomp/Agent_Release_x64/full/functions/0x1400b3650.c new file mode 100644 index 00000000..8d07c54c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b3650.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b3650 FUN_1400b3650 + * Pseudocode, not original source. */ + +void FUN_1400b3650(longlong param_1,undefined8 param_2,undefined **param_3,undefined8 param_4) + +{ + longlong lVar1; + char cVar2; + longlong lVar3; + longlong *plVar4; + longlong lVar5; + + if ((((*(longlong **)(param_1 + 0x18) != (longlong *)0x0) && + (lVar5 = **(longlong **)(param_1 + 0x18), lVar5 != 0)) && + (plVar4 = *(longlong **)(lVar5 + 0xc0), plVar4 != (longlong *)0x0)) && + ((*plVar4 != 0 && (*(char *)(param_1 + 0x20) != '\0')))) { + lVar5 = 0; + lVar3 = lVar5; + if (plVar4 != (longlong *)0x0) { + lVar3 = *plVar4; + } + cVar2 = FUN_140035730(lVar3); + if (cVar2 != '\0') { + lVar3 = lVar5; + if ((*(longlong **)(param_1 + 0x18) != (longlong *)0x0) && + (lVar1 = **(longlong **)(param_1 + 0x18), lVar1 != 0)) { + lVar3 = lVar1 + -0x40; + } + FUN_1400b70e0(lVar3,param_2,param_3,param_4); + if ((*(longlong **)(param_1 + 0x18) != (longlong *)0x0) && + (lVar3 = **(longlong **)(param_1 + 0x18), lVar3 != 0)) { + lVar5 = lVar3 + -0x40; + } + FUN_1400b6ec0(lVar5,param_2,param_3,param_4); + plVar4 = (longlong *)(*(longlong *)(param_1 + 0x670) + 0x1818); + (**(code **)(*plVar4 + 0xd0))(plVar4,1,&DAT_14015de10,param_1 + 0x56c); + lVar5 = *(longlong *)(param_1 + 0x670); + if ((*(char *)(lVar5 + 0x1790) != '\0') || (*(int *)(lVar5 + 0x6c8) != 0)) { + FUN_140072eb0(lVar5,1, + L"Peer Client %d로의 UDP 소켓을 재생성한 후 서버에서의 리셋 지시를 기다립니다." + ,(ulonglong)*(uint *)(param_1 + 0x56c)); + } + } + *(undefined1 *)(param_1 + 0x20) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b3760.c b/decomp/Agent_Release_x64/full/functions/0x1400b3760.c new file mode 100644 index 00000000..8802e4bd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b3760.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b3760 FUN_1400b3760 + * Pseudocode, not original source. */ + +void FUN_1400b3760(longlong param_1,longlong param_2) + +{ + longlong lVar1; + + *(undefined4 *)(param_2 + 0x18) = *(undefined4 *)(param_1 + 0x598); + *(undefined2 *)(param_2 + 0x1c) = *(undefined2 *)(param_1 + 0x59c); + *(undefined4 *)(param_2 + 0x28) = *(undefined4 *)(param_1 + 0x5a8); + *(undefined2 *)(param_2 + 0x2c) = *(undefined2 *)(param_1 + 0x5ac); + if ((*(longlong **)(param_1 + 0x18) != (longlong *)0x0) && + (lVar1 = **(longlong **)(param_1 + 0x18), lVar1 != 0)) { + *(undefined4 *)(param_2 + 8) = *(undefined4 *)(lVar1 + 0xf0); + *(undefined2 *)(param_2 + 0xc) = *(undefined2 *)(lVar1 + 0xf4); + return; + } + *(undefined4 *)(param_2 + 8) = DAT_1401553d0; + *(undefined2 *)(param_2 + 0xc) = DAT_1401553d4; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b37d0.c b/decomp/Agent_Release_x64/full/functions/0x1400b37d0.c new file mode 100644 index 00000000..6e28188e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b37d0.c @@ -0,0 +1,154 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b37d0 FUN_1400b37d0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400b37d0(SIZE_T *param_1,undefined *param_2,ulonglong *param_3,longlong param_4) + +{ + longlong *plVar1; + int *piVar2; + SIZE_T SVar3; + uint uVar4; + int iVar5; + longlong lVar6; + longlong *plVar7; + int *piVar8; + short sVar9; + ulonglong uVar10; + undefined8 uVar11; + undefined1 *puVar12; + SIZE_T SVar13; + wchar_t *pwVar14; + bool bVar15; + undefined1 auStack_19b8 [32]; + longlong *local_1998; + undefined1 local_1990; + int local_1988 [2]; + longlong local_1980; + longlong local_1978; + int local_196c; + int *local_1960; + undefined1 local_1958; + undefined8 local_1950; + undefined1 local_1948 [3200]; + undefined1 *local_cc8; + undefined4 local_cc0; + undefined4 local_cbc; + undefined1 local_cb8 [3216]; + ulonglong local_28; + undefined8 uStack_20; + + uStack_20 = 0x1400b37e6; + local_1950 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_19b8; + SVar3 = param_1[2]; + if ((SVar3 != 0) && (*(int *)(SVar3 + 8) == 0)) { + bVar15 = *param_3 < *(ulonglong *)(SVar3 + 0x1c); + if ((*param_3 == *(ulonglong *)(SVar3 + 0x1c)) && + (bVar15 = param_3[1] < *(ulonglong *)(SVar3 + 0x24), + param_3[1] == *(ulonglong *)(SVar3 + 0x24))) { + iVar5 = 0; + } + else { + iVar5 = (1 - (uint)bVar15) - (uint)(bVar15 != 0); + } + if ((iVar5 == 0) && (*(int *)(SVar3 + 0x18) < 1)) { + SVar13 = *param_1; + plVar7 = *(longlong **)(*(longlong *)(SVar13 + 0x670) + 0x1570); + sVar9 = DAT_1401553d4; + uVar4 = DAT_1401553d0; + if ((plVar7 != (longlong *)0x0) && (*plVar7 != 0)) { + lVar6 = 0; + if (plVar7 != (longlong *)0x0) { + lVar6 = *plVar7; + } + sVar9 = *(short *)(lVar6 + 0xd4); + uVar4 = *(uint *)(lVar6 + 0xd0); + } + uVar10 = (ulonglong)uVar4; + if ((((uVar4 == *(uint *)(param_2 + 0x38)) && (sVar9 == *(short *)(param_2 + 0x3c))) && + (*(longlong **)(SVar13 + 0x18) != (longlong *)0x0)) && + (**(longlong **)(SVar13 + 0x18) != 0)) { + FUN_1400806d0(local_1988); + FUN_1400801a0((longlong)local_1988,uVar10,SVar13,param_2); + FUN_140080830(local_1988,0x800,SVar13,param_2); + uVar11 = 0; + FUN_140080830(local_1988,0,SVar13,param_2); + FUN_14001ba80((longlong)local_1988,CONCAT71((int7)((ulonglong)uVar11 >> 8),0x12),SVar13, + param_2); + if ((*(longlong **)(*param_1 + 0x18) == (longlong *)0x0) || + (lVar6 = **(longlong **)(*param_1 + 0x18), lVar6 == 0)) { + lVar6 = 0; + } + else { + lVar6 = lVar6 + -0x40; + } + FUN_1400812d0((longlong)local_1988,lVar6 + 0x128,SVar13,param_2); + FUN_1400812d0((longlong)local_1988,param_4,SVar13,param_2); + FUN_140021e80((longlong)local_1988,(ulonglong)*(uint *)(*param_1 + 0x56c),SVar13,param_2); + local_cbc = 200; + local_cc0 = 0; + local_cc8 = local_1948; + FUN_140041760((longlong)local_cb8,(longlong)local_1988,SVar13); + puVar12 = local_cb8; + FUN_140040a60((longlong)local_1948,(longlong)puVar12,SVar13,param_2); + FUN_140040950((longlong)local_cb8,puVar12,SVar13,param_2); + if ((*(longlong **)(*param_1 + 0x18) == (longlong *)0x0) || + (lVar6 = **(longlong **)(*param_1 + 0x18), lVar6 == 0)) { + lVar6 = 0; + } + else { + lVar6 = lVar6 + -0x40; + } + *(undefined4 *)(lVar6 + 0x140) = *(undefined4 *)(param_4 + 8); + *(undefined2 *)(lVar6 + 0x144) = *(undefined2 *)(param_4 + 0xc); + local_1998 = (longlong *)0x0; + local_1990 = 1; + lVar6 = FUN_140064be0(*(longlong *)(*param_1 + 0x670)); + pwVar14 = (wchar_t *)&local_1998; + puVar12 = local_1948; + FUN_1400b2d20(lVar6,(longlong)puVar12,(SIZE_T *)pwVar14,param_2); + if ((*(char *)(*(longlong *)(*param_1 + 0x670) + 0x1790) != '\0') || + (*(int *)(*(longlong *)(*param_1 + 0x670) + 0x6c8) != 0)) { + plVar7 = FUN_140033b30(param_4,(longlong *)&local_1998,pwVar14,param_2); + param_2 = (undefined *)*plVar7; + if (param_2 == (undefined *)0x0) { + param_2 = PTR_DAT_140155010; + } + pwVar14 = L"Message_PeerUdp_ServerHolepunchAck. AddrOfHereAtServer=%s"; + puVar12 = (undefined1 *)0x1; + lVar6 = *(longlong *)(*param_1 + 0x670); + FUN_140072eb0(lVar6,1,L"Message_PeerUdp_ServerHolepunchAck. AddrOfHereAtServer=%s",param_2 + ); + plVar7 = local_1998; + if (((local_1998 != (longlong *)0x0) && (local_1998 != (longlong *)PTR_DAT_140155010)) && + (plVar1 = local_1998 + -1, plVar1 != (longlong *)0x0)) { + piVar8 = (int *)FUN_140030200(lVar6,puVar12,pwVar14,param_2); + local_1960 = piVar8; + FUN_14002e6e0(piVar8); + local_1958 = 1; + piVar2 = (int *)((longlong)plVar7 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(plVar1); + } + FUN_14002e770((longlong)piVar8); + } + } + *(int *)(SVar3 + 0x18) = *(int *)(SVar3 + 0x18) + 1; + FUN_140040950((longlong)local_1948,puVar12,pwVar14,param_2); + local_1998 = &local_1980; + FUN_140095270(&local_1980); + if ((local_1978 != 0) && (local_196c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b3b00.c b/decomp/Agent_Release_x64/full/functions/0x1400b3b00.c new file mode 100644 index 00000000..de0dfcee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b3b00.c @@ -0,0 +1,147 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b3b00 FUN_1400b3b00 + * Pseudocode, not original source. */ + +void FUN_1400b3b00(longlong *param_1,longlong param_2,undefined8 *param_3,undefined8 param_4) + +{ + longlong *plVar1; + double dVar2; + undefined1 uVar3; + ushort uVar4; + longlong lVar5; + int iVar6; + int *piVar7; + undefined8 *puVar8; + longlong lVar9; + undefined8 uVar10; + ulonglong uVar11; + longlong lVar12; + undefined ***pppuVar13; + undefined8 *puVar14; + undefined **local_88; + undefined8 uStack_80; + undefined4 local_78 [2]; + undefined8 local_70; + undefined1 local_68; + undefined4 local_64; + undefined1 local_60; + undefined1 local_5f; + int local_58 [2]; + longlong local_50; + longlong local_48; + int local_40; + int local_3c; + + lVar9 = param_2; + puVar14 = param_3; + FUN_1400806d0(local_58); + FUN_1400801a0((longlong)local_58,lVar9,(SIZE_T)puVar14,param_4); + FUN_140080830(local_58,0x800,(SIZE_T)puVar14,param_4); + uVar10 = 0; + FUN_140080830(local_58,0,(SIZE_T)puVar14,param_4); + FUN_14001ba80((longlong)local_58,CONCAT71((int7)((ulonglong)uVar10 >> 8),0x1e),(SIZE_T)puVar14, + param_4); + uVar11 = (ulonglong)*(uint *)(*(longlong *)(*param_1 + 0x670) + 0x1578); + piVar7 = local_58; + FUN_140021e80((longlong)piVar7,uVar11,(SIZE_T)puVar14,param_4); + lVar12 = local_50; + local_88 = (undefined **)*param_3; + uStack_80 = param_3[1]; + lVar9 = 0; + local_58[1] = 0; + if (local_50 == 0) { + if (local_48 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(piVar7,uVar11,puVar14,param_4); + } +LAB_1400b3baf: + lVar12 = (longlong)local_40; + local_40 = local_40 + 0x10; + if ((local_40 < 0) || (local_3c < local_40)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar8 = (undefined8 *)(local_48 + lVar12); + } + else { + if (local_48 != 0) goto LAB_1400b3baf; + if (local_50 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(piVar7,uVar11,puVar14,param_4); + } + iVar6 = *(int *)(local_50 + 0x18); + FUN_14001bc70(local_50,iVar6 + 0x10,(SIZE_T)puVar14); + lVar5 = lVar9; + if (*(int *)(lVar12 + 0x18) != 0) { + lVar5 = *(longlong *)(lVar12 + 0x10); + } + puVar8 = (undefined8 *)(lVar5 + iVar6); + } + pppuVar13 = &local_88; + *puVar8 = local_88; + puVar8[1] = uStack_80; + piVar7 = local_58; + FUN_14001be00((longlong)piVar7,pppuVar13,(SIZE_T)puVar14,param_4); + local_88 = *(undefined ***)(*(longlong *)(*param_1 + 0x670) + 0x6d0); + uStack_80 = *(undefined8 *)(*(longlong *)(*param_1 + 0x670) + 0x6d8); + local_58[1] = 0; + if (local_50 == 0) { + if (local_48 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(piVar7,pppuVar13,puVar14,param_4); + } + } + else if (local_48 == 0) { + if (local_50 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(piVar7,pppuVar13,puVar14,param_4); + } + iVar6 = *(int *)(local_50 + 0x18); + FUN_14001bc70(local_50,iVar6 + 0x10,(SIZE_T)puVar14); + lVar12 = lVar9; + if (*(int *)(local_50 + 0x18) != 0) { + lVar12 = *(longlong *)(local_50 + 0x10); + } + puVar8 = (undefined8 *)(lVar12 + iVar6); + goto LAB_1400b3c8e; + } + iVar6 = local_40 + 0x10; + if ((iVar6 < 0) || (local_3c < iVar6)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar8 = (undefined8 *)(local_48 + local_40); + local_40 = iVar6; +LAB_1400b3c8e: + *puVar8 = local_88; + puVar8[1] = uStack_80; + FUN_14001be00((longlong)local_58,&local_88,(SIZE_T)puVar14,param_4); + FUN_1400812d0((longlong)local_58,param_2,(SIZE_T)puVar14,param_4); + lVar12 = *param_1; + local_78[0] = 5; + local_70 = 0; + local_68 = 1; + local_64 = 0xffffffff; + local_60 = 1; + local_5f = DAT_1401551cc; + local_88 = Proud::AddrPort::vftable; + uStack_80 = CONCAT26(uStack_80._6_2_,*(undefined6 *)(param_2 + 8)); + if ((*(longlong **)(lVar12 + 0x18) != (longlong *)0x0) && + (lVar5 = **(longlong **)(lVar12 + 0x18), lVar5 != 0)) { + lVar9 = lVar5 + -0x40; + } + plVar1 = *(longlong **)(lVar12 + 0x670); + dVar2 = (double)(**(code **)(*(longlong *)(*(longlong *)(lVar12 + 0x670) + 0x70) + 0x1c0))(); + uVar3 = (**(code **)(*plVar1 + 0x30))(plVar1); + uVar4 = FUN_140096e50(uVar3,(char)*(undefined4 *)(lVar12 + 0x56c)); + FUN_1400b73e0(lVar9,*(uint *)(*param_1 + 0x56c),(ulonglong)uVar4,(longlong)&local_88, + (longlong)local_58,dVar2,(undefined8 *)local_78); + FUN_140095270(&local_50); + if ((local_48 != 0) && (local_3c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b3dd0.c b/decomp/Agent_Release_x64/full/functions/0x1400b3dd0.c new file mode 100644 index 00000000..303caaa3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b3dd0.c @@ -0,0 +1,181 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b3dd0 FUN_1400b3dd0 + * Pseudocode, not original source. */ + +void FUN_1400b3dd0(longlong *param_1,longlong param_2,undefined8 *param_3,longlong param_4, + longlong param_5) + +{ + undefined **ppuVar1; + int iVar2; + double dVar3; + undefined **ppuVar4; + undefined1 uVar5; + ushort uVar6; + longlong *plVar7; + int *piVar8; + int *piVar9; + undefined8 *puVar10; + longlong lVar11; + undefined8 uVar12; + longlong lVar13; + undefined8 *puVar14; + ulonglong uVar15; + undefined *puVar16; + longlong lVar17; + undefined ***pppuVar18; + undefined *puVar19; + longlong *local_res18 [2]; + undefined **local_a8; + undefined8 uStack_a0; + int local_98 [2]; + longlong local_90; + longlong local_88; + int local_80; + int local_7c; + int *local_70; + undefined8 local_68; + undefined1 local_60; + undefined4 local_5c; + undefined1 local_58; + undefined1 local_57; + undefined *local_50; + undefined8 local_48; + + local_48 = 0xfffffffffffffffe; + lVar11 = param_2; + puVar14 = param_3; + lVar17 = param_4; + FUN_1400806d0(local_98); + FUN_1400801a0((longlong)local_98,lVar11,(SIZE_T)puVar14,lVar17); + FUN_140080830(local_98,0x800,(SIZE_T)puVar14,lVar17); + uVar12 = 0; + FUN_140080830(local_98,0,(SIZE_T)puVar14,lVar17); + uVar12 = CONCAT71((int7)((ulonglong)uVar12 >> 8),0x1f); + piVar8 = local_98; + FUN_14001ba80((longlong)piVar8,uVar12,(SIZE_T)puVar14,lVar17); + local_a8 = (undefined **)*param_3; + uStack_a0 = param_3[1]; + lVar11 = 0; + local_98[1] = 0; + if (local_90 == 0) { + if (local_88 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(piVar8,uVar12,puVar14,lVar17); + } + } + else if (local_88 == 0) { + if (local_90 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(piVar8,uVar12,puVar14,lVar17); + } + iVar2 = *(int *)(local_90 + 0x18); + FUN_14001bc70(local_90,iVar2 + 0x10,(SIZE_T)puVar14); + lVar13 = lVar11; + if (*(int *)(local_90 + 0x18) != 0) { + lVar13 = *(longlong *)(local_90 + 0x10); + } + puVar10 = (undefined8 *)(lVar13 + iVar2); + goto LAB_1400b3eae; + } + lVar13 = (longlong)local_80; + local_80 = local_80 + 0x10; + if ((local_80 < 0) || (local_7c < local_80)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + puVar10 = (undefined8 *)(local_88 + lVar13); +LAB_1400b3eae: + *puVar10 = local_a8; + puVar10[1] = uStack_a0; + FUN_14001be00((longlong)local_98,&local_a8,(SIZE_T)puVar14,lVar17); + FUN_140021e80((longlong)local_98,(ulonglong)*(uint *)(*(longlong *)(*param_1 + 0x670) + 0x1578), + (SIZE_T)puVar14,lVar17); + FUN_1400812d0((longlong)local_98,param_4,(SIZE_T)puVar14,lVar17); + FUN_1400812d0((longlong)local_98,param_5,(SIZE_T)puVar14,lVar17); + FUN_1400812d0((longlong)local_98,param_2,(SIZE_T)puVar14,lVar17); + lVar17 = *param_1; + local_70 = (int *)CONCAT44(local_70._4_4_,5); + local_68 = 0; + local_60 = 1; + local_5c = 0xffffffff; + local_58 = 1; + local_57 = DAT_1401551cc; + local_a8 = Proud::AddrPort::vftable; + uStack_a0 = CONCAT26(uStack_a0._6_2_,*(undefined6 *)(param_2 + 8)); + if ((*(longlong **)(lVar17 + 0x18) != (longlong *)0x0) && + (lVar13 = **(longlong **)(lVar17 + 0x18), lVar13 != 0)) { + lVar11 = lVar13 + -0x40; + } + plVar7 = *(longlong **)(lVar17 + 0x670); + dVar3 = (double)(**(code **)(*(longlong *)(*(longlong *)(lVar17 + 0x670) + 0x70) + 0x1c0))(); + uVar5 = (**(code **)(*plVar7 + 0x30))(plVar7); + uVar6 = FUN_140096e50(uVar5,(char)*(undefined4 *)(lVar17 + 0x56c)); + uVar15 = (ulonglong)uVar6; + pppuVar18 = &local_a8; + FUN_1400b73e0(lVar11,*(uint *)(*param_1 + 0x56c),uVar15,(longlong)pppuVar18,(longlong)local_98, + dVar3,&local_70); + if ((*(char *)(*(longlong *)(*param_1 + 0x670) + 0x1790) != '\0') || + (*(int *)(*(longlong *)(*param_1 + 0x670) + 0x6c8) != 0)) { + FUN_140033b30(param_2,(longlong *)&local_a8,uVar15,pppuVar18); + FUN_140033b30(param_5,(longlong *)&local_50,uVar15,pppuVar18); + plVar7 = FUN_140033b30(param_4,(longlong *)local_res18,uVar15,pppuVar18); + puVar19 = (undefined *)*plVar7; + if ((undefined *)*plVar7 == (undefined *)0x0) { + puVar19 = PTR_DAT_140155010; + } + puVar16 = &DAT_14010c990; + piVar8 = *(int **)(*param_1 + 0x670); + FUN_140072eb0((longlong)piVar8,1,L"PeerHolepunchAck 시도. ABS=%s ABR=%s BAS=%s",puVar19); + if (((local_res18[0] != (longlong *)0x0) && (local_res18[0] != (longlong *)PTR_DAT_140155010)) + && (local_res18[0] + -1 != (longlong *)0x0)) { + piVar8 = (int *)FUN_140030200(piVar8,PTR_DAT_140155010,puVar16,puVar19); + local_70 = piVar8; + FUN_14002e6e0(piVar8); + local_68 = CONCAT71(local_68._1_7_,1); + piVar9 = (int *)((longlong)local_res18[0] + -4); + *piVar9 = *piVar9 + -1; + if (*piVar9 == 0) { + FUN_1400302f0(local_res18[0] + -1); + } + FUN_14002e770((longlong)piVar8); + } + local_res18[0] = (longlong *)PTR_DAT_140155010; + if (((local_50 != (undefined *)0x0) && (local_50 != PTR_DAT_140155010)) && + (local_50 + -8 != (undefined *)0x0)) { + piVar8 = (int *)FUN_140030200(piVar8,PTR_DAT_140155010,puVar16,puVar19); + local_70 = piVar8; + FUN_14002e6e0(piVar8); + local_68 = CONCAT71(local_68._1_7_,1); + piVar9 = (int *)(local_50 + -4); + *piVar9 = *piVar9 + -1; + if (*piVar9 == 0) { + FUN_1400302f0(local_50 + -8); + } + FUN_14002e770((longlong)piVar8); + } + ppuVar4 = local_a8; + local_50 = PTR_DAT_140155010; + if (((local_a8 != (undefined **)0x0) && (local_a8 != (undefined **)PTR_DAT_140155010)) && + (ppuVar1 = local_a8 + -1, ppuVar1 != (undefined **)0x0)) { + piVar9 = (int *)FUN_140030200(piVar8,PTR_DAT_140155010,puVar16,puVar19); + local_70 = piVar9; + FUN_14002e6e0(piVar9); + local_68 = CONCAT71(local_68._1_7_,1); + piVar8 = (int *)((longlong)ppuVar4 + -4); + *piVar8 = *piVar8 + -1; + if (*piVar8 == 0) { + FUN_1400302f0(ppuVar1); + } + FUN_14002e770((longlong)piVar9); + } + } + local_res18[0] = &local_90; + FUN_140095270(&local_90); + if ((local_88 != 0) && (local_7c < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b41a0.c b/decomp/Agent_Release_x64/full/functions/0x1400b41a0.c new file mode 100644 index 00000000..27727939 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b41a0.c @@ -0,0 +1,65 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b41a0 FUN_1400b41a0 + * Pseudocode, not original source. */ + +void FUN_1400b41a0(longlong *param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + undefined1 uVar3; + ushort uVar4; + longlong lVar5; + undefined8 uVar6; + double dVar7; + undefined **local_70; + undefined4 local_68; + undefined2 local_64; + undefined4 local_60 [2]; + undefined8 local_58; + undefined1 local_50; + undefined4 local_4c; + undefined1 local_48; + undefined1 local_47; + int local_40 [2]; + longlong local_38; + longlong local_30; + int local_24; + + if (((longlong *)param_1[1] != (longlong *)0x0) && (*(longlong *)param_1[1] != 0)) { + lVar5 = param_2; + FUN_1400806d0(local_40); + FUN_1400801a0((longlong)local_40,lVar5,param_3,param_4); + FUN_140080830(local_40,0x800,param_3,param_4); + uVar6 = 0; + FUN_140080830(local_40,0,param_3,param_4); + FUN_14001ba80((longlong)local_40,CONCAT71((int7)((ulonglong)uVar6 >> 8),0x27),param_3,param_4); + local_60[0] = 1; + lVar5 = 0; + local_58 = 0; + local_50 = 1; + local_4c = 0xffffffff; + local_48 = 1; + local_47 = DAT_1401551cc; + local_70 = Proud::AddrPort::vftable; + local_68 = *(undefined4 *)(param_2 + 8); + local_64 = *(undefined2 *)(param_2 + 0xc); + if (((longlong *)param_1[1] != (longlong *)0x0) && (lVar1 = *(longlong *)param_1[1], lVar1 != 0) + ) { + lVar5 = lVar1 + -0x40; + } + plVar2 = (longlong *)param_1[0xcc]; + dVar7 = (double)(**(code **)(*param_1 + 8))(param_1); + uVar3 = (**(code **)(*plVar2 + 0x30))(plVar2); + uVar4 = FUN_140096e50(uVar3,(char)*(undefined4 *)((longlong)param_1 + 0x55c)); + FUN_1400b73e0(lVar5,*(uint *)((longlong)param_1 + 0x55c),(ulonglong)uVar4,(longlong)&local_70, + (longlong)local_40,dVar7,(undefined8 *)local_60); + FUN_140095270(&local_38); + if ((local_30 != 0) && (local_24 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b4330.c b/decomp/Agent_Release_x64/full/functions/0x1400b4330.c new file mode 100644 index 00000000..91b50675 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b4330.c @@ -0,0 +1,186 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b4330 FUN_1400b4330 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +ulonglong FUN_1400b4330(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4) + +{ + int *piVar1; + undefined4 uVar2; + longlong lVar3; + longlong *plVar4; + longlong lVar5; + undefined1 uVar6; + ulonglong extraout_RAX; + ulonglong uVar7; + ulonglong extraout_RAX_00; + undefined8 *puVar8; + longlong lVar9; + undefined8 uVar10; + ushort uVar11; + uint uVar12; + ulonglong uVar13; + double dVar14; + undefined8 local_d8; + undefined8 uStack_d0; + int local_c8 [2]; + longlong local_c0; + longlong local_b8; + int local_ac; + undefined **local_a0; + undefined4 local_98; + ushort local_94; + undefined **local_90; + undefined4 local_88; + undefined2 local_84; + undefined **local_80; + undefined4 local_78; + undefined2 local_74; + undefined4 local_70 [2]; + undefined8 local_68; + undefined1 local_60; + undefined4 local_5c; + undefined1 local_58; + undefined1 local_57; + undefined8 local_50; + undefined8 local_48 [4]; + + local_50 = 0xfffffffffffffffe; + dVar14 = (double)FUN_1400649f0(*(longlong *)(*param_1 + 0x670)); + dVar14 = dVar14 + (double)param_1[1]; + param_1[1] = (longlong)dVar14; + lVar9 = *param_1; + uVar7 = *(ulonglong *)(lVar9 + 0x670); + if (dVar14 < *(double *)(uVar7 + 0x640) || dVar14 == *(double *)(uVar7 + 0x640)) { + lVar3 = param_1[2]; + if (*(int *)(lVar3 + 8) == 0) { + dVar14 = (double)FUN_1400649f0(uVar7); + dVar14 = *(double *)(lVar3 + 0x10) - dVar14; + *(double *)(lVar3 + 0x10) = dVar14; + uVar7 = extraout_RAX_00; + if (dVar14 < 0.0) { + *(undefined8 *)(lVar3 + 0x10) = DAT_140155080; + FUN_1400806d0(local_c8); + FUN_1400801a0((longlong)local_c8,lVar9,param_3,param_4); + FUN_140080830(local_c8,0x800,param_3,param_4); + uVar10 = 0; + FUN_140080830(local_c8,0,param_3,param_4); + FUN_14001ba80((longlong)local_c8,CONCAT71((int7)((ulonglong)uVar10 >> 8),0x10),param_3, + param_4); + local_d8 = *(undefined8 *)(lVar3 + 0x1c); + uStack_d0 = *(undefined8 *)(lVar3 + 0x24); + FUN_140044710((longlong)local_c8,&local_d8,param_3,param_4); + FUN_140021e80((longlong)local_c8,(ulonglong)*(uint *)(*param_1 + 0x56c),param_3,param_4); + lVar3 = *param_1; + local_70[0] = 5; + lVar9 = 0; + local_68 = 0; + local_60 = 1; + local_5c = 0xffffffff; + local_58 = 1; + local_57 = DAT_1401551cc; + if ((*(longlong **)(lVar3 + 0x18) != (longlong *)0x0) && + (lVar5 = **(longlong **)(lVar3 + 0x18), lVar5 != 0)) { + lVar9 = lVar5 + -0x40; + } + plVar4 = *(longlong **)(lVar3 + 0x670); + dVar14 = (double)(**(code **)(*(longlong *)(*(longlong *)(lVar3 + 0x670) + 0x70) + 0x1c0))() + ; + puVar8 = FUN_1400b32b0(param_1,local_48); + uVar6 = (**(code **)(*plVar4 + 0x30))(plVar4); + uVar11 = FUN_140096e50(uVar6,1); + FUN_1400b73e0(lVar9,1,(ulonglong)uVar11,(longlong)puVar8,(longlong)local_c8,dVar14, + (undefined8 *)local_70); + uVar7 = FUN_140095270(&local_c0); + if ((local_b8 != 0) && (local_ac < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + } + else if (*(int *)(lVar3 + 8) == 1) { + dVar14 = (double)FUN_1400649f0(uVar7); + dVar14 = *(double *)(lVar3 + 0x10) - dVar14; + *(double *)(lVar3 + 0x10) = dVar14; + uVar7 = extraout_RAX; + if (dVar14 < 0.0) { + *(undefined8 *)(lVar3 + 0x10) = *(undefined8 *)(*(longlong *)(*param_1 + 0x670) + 0x648); + *(int *)(lVar3 + 0x18) = *(int *)(lVar3 + 0x18) + 1; + lVar9 = *param_1; + local_d8 = *(undefined8 *)(lVar9 + 0x30); + uStack_d0 = *(undefined8 *)(lVar9 + 0x38); + local_90 = Proud::AddrPort::vftable; + local_88 = *(undefined4 *)(lVar9 + 0x578); + local_84 = *(undefined2 *)(lVar9 + 0x57c); + FUN_1400b3b00(param_1,(longlong)&local_90,&local_d8,param_4); + lVar9 = *param_1; + plVar4 = *(longlong **)(lVar9 + 0x18); + uVar13 = 0; + if ((plVar4 != (longlong *)0x0) && (*plVar4 != 0)) { + uVar7 = uVar13; + if ((plVar4 != (longlong *)0x0) && (*plVar4 != 0)) { + uVar7 = *plVar4 - 0x40; + } + if (*(int *)(uVar7 + 0x140) == *(int *)(lVar9 + 0x578)) { + uVar7 = uVar13; + if ((*(longlong **)(lVar9 + 0x18) != (longlong *)0x0) && + (lVar5 = **(longlong **)(lVar9 + 0x18), lVar5 != 0)) { + uVar7 = lVar5 - 0x40; + } + if (((*(char *)(uVar7 + 0x130) == *(char *)(lVar9 + 0x588)) && + (*(char *)(uVar7 + 0x131) == *(char *)(lVar9 + 0x589))) && + (*(char *)(uVar7 + 0x132) == *(char *)(lVar9 + 0x58a))) { + local_d8 = *(undefined8 *)(lVar9 + 0x30); + uStack_d0 = *(undefined8 *)(lVar9 + 0x38); + local_80 = Proud::AddrPort::vftable; + local_78 = *(undefined4 *)(lVar9 + 0x588); + local_74 = *(undefined2 *)(lVar9 + 0x58c); + FUN_1400b3b00(param_1,(longlong)&local_80,&local_d8,param_4); + } + } + } + uVar7 = (ulonglong)DAT_14015508c; + if ((int)DAT_14015508c < *(int *)(lVar3 + 0x18)) { + piVar1 = (int *)(lVar3 + 0x30); + *piVar1 = *piVar1 + -1; + if (*piVar1 < 0) { + *(undefined4 *)(lVar3 + 0x30) = DAT_1401550e8; + *(short *)(lVar3 + 0x34) = *(short *)(lVar3 + 0x34) + (short)_DAT_14015bfc0; + uVar11 = *(ushort *)(lVar3 + 0x34); + if ((uVar11 < 0x3ff) || (uVar11 == 0xffff)) { + uVar11 = 0x3ff; + } + *(ushort *)(lVar3 + 0x34) = uVar11; + } + uVar7 = *param_1; + uVar2 = *(undefined4 *)(uVar7 + 0x578); + uVar11 = *(ushort *)(lVar3 + 0x34); + if (0 < _DAT_14015bfc0) { + do { + local_d8 = *(undefined8 *)(*param_1 + 0x30); + uStack_d0 = *(undefined8 *)(*param_1 + 0x38); + local_a0 = Proud::AddrPort::vftable; + local_98 = uVar2; + local_94 = uVar11; + uVar7 = FUN_1400b3b00(param_1,(longlong)&local_a0,&local_d8,param_4); + uVar11 = uVar11 + 1; + if ((uVar11 < 0x3ff) || (uVar11 == 0xffff)) { + uVar11 = 0x3ff; + } + uVar12 = (int)uVar13 + 1; + uVar13 = (ulonglong)uVar12; + } while ((int)uVar12 < _DAT_14015bfc0); + } + } + } + } + uVar7 = CONCAT71((int7)(uVar7 >> 8),1); + } + else { + uVar7 = uVar7 & 0xffffffffffffff00; + } + return uVar7; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b4730.c b/decomp/Agent_Release_x64/full/functions/0x1400b4730.c new file mode 100644 index 00000000..78b42fbe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b4730.c @@ -0,0 +1,361 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b4730 FUN_1400b4730 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400b4730(longlong *param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + undefined8 *puVar2; + longlong lVar3; + int iVar4; + undefined8 uVar5; + ulonglong uVar6; + longlong *plVar7; + int *piVar8; + undefined1 *puVar9; + longlong *plVar10; + undefined1 *_Memory; + longlong *plVar11; + undefined *puVar12; + undefined *puVar13; + longlong *plVar14; + bool bVar15; + undefined4 uVar16; + undefined4 uVar17; + undefined4 uVar18; + undefined4 uVar19; + undefined1 auStackY_628 [32]; + undefined **local_5f8; + undefined4 local_5f0; + undefined2 local_5ec; + undefined **local_5e8; + uint local_5e0; + undefined2 local_5dc; + longlong *local_5d8; + uint local_5d0 [2]; + undefined *local_5c8; + undefined **local_5c0; + uint local_5b8; + undefined2 local_5b4; + undefined **local_5b0; + undefined4 local_5a8; + undefined2 local_5a4; + undefined *local_5a0; + undefined **local_598; + uint local_590; + undefined2 local_58c; + undefined **local_588; + uint local_580; + undefined2 local_57c; + undefined **local_578; + undefined4 local_570; + undefined2 local_56c; + undefined **local_568; + undefined4 local_560; + undefined2 local_55c; + undefined **local_558; + undefined4 local_550; + undefined2 local_54c; + undefined **local_548; + uint local_540; + undefined2 local_53c; + undefined **local_538; + undefined4 local_530; + undefined2 local_52c; + undefined4 local_528; + undefined4 uStack_524; + undefined4 uStack_520; + undefined4 uStack_51c; + longlong *local_518; + undefined1 local_510; + undefined4 local_508; + undefined4 uStack_504; + undefined4 uStack_500; + undefined4 uStack_4fc; + int *local_4f8; + undefined1 local_4f0; + undefined8 local_4e8; + undefined4 local_4d8; + undefined4 uStack_4d4; + undefined4 uStack_4d0; + undefined4 uStack_4cc; + undefined8 local_4c8; + undefined8 uStack_4c0; + ulonglong local_4b8; + ulonglong uStack_4b0; + undefined4 local_4a8; + undefined4 uStack_4a4; + undefined4 uStack_4a0; + undefined4 uStack_49c; + ulonglong local_498; + ulonglong uStack_490; + undefined1 *local_488; + undefined1 local_480 [264]; + undefined1 *local_378; + undefined1 local_370 [264]; + undefined1 *local_268; + undefined1 local_260 [264]; + undefined1 *local_158; + undefined1 local_150 [264]; + ulonglong local_48; + + local_4e8 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStackY_628; + local_5f8 = Proud::AddrPort::vftable; + plVar11 = (longlong *)0x0; + iVar4 = 0; + local_5f0 = 0; + local_5ec = 0; + uVar5 = FUN_140081090(param_2,local_5d0,param_3,param_4); + if ((char)uVar5 == '\0') { + if (((char)param_1[0x2f2] == '\0') && ((int)param_1[0xd9] == 0)) { + return; + } + local_488 = local_480; + FUN_14002a670((longlong *)&local_488,"RemotePeer.cpp",3); + FUN_140072eb0((longlong)param_1,1,L"Holepunch1 실패: %s(%d)",local_488); + puVar9 = local_480; + _Memory = local_488; + } + else { + local_4c8 = 0; + uStack_4c0 = 0; + uVar5 = FUN_140080600(param_2,&local_4c8,0x10); + if ((char)uVar5 == '\0') { + if (((char)param_1[0x2f2] == '\0') && ((int)param_1[0xd9] == 0)) { + return; + } + local_158 = local_150; + FUN_14002a670((longlong *)&local_158,"RemotePeer.cpp",3); + FUN_140072eb0((longlong)param_1,1,L"Holepunch1 실패: %s(%d)",local_158); + puVar9 = local_150; + _Memory = local_158; + } + else { + uVar16 = (undefined4)local_4c8; + uVar17 = local_4c8._4_4_; + uVar18 = (undefined4)uStack_4c0; + uVar19 = uStack_4c0._4_4_; + local_4a8 = (undefined4)local_4c8; + uStack_4a4 = local_4c8._4_4_; + uStack_4a0 = (undefined4)uStack_4c0; + uStack_49c = uStack_4c0._4_4_; + local_4b8 = 0; + uStack_4b0 = 0; + uVar5 = FUN_140080600(param_2,&local_4b8,0x10); + if ((char)uVar5 == '\0') { + if (((char)param_1[0x2f2] == '\0') && ((int)param_1[0xd9] == 0)) { + return; + } + local_378 = local_370; + FUN_14002a670((longlong *)&local_378,"RemotePeer.cpp",3); + FUN_140072eb0((longlong)param_1,1,L"Holepunch1 실패: %s(%d)",local_378); + puVar9 = local_370; + _Memory = local_378; + } + else { + local_498 = local_4b8; + uStack_490 = uStack_4b0; + uVar6 = FUN_140081030(param_2,(longlong)&local_5f8); + if ((char)uVar6 != '\0') { + bVar15 = local_498 < (ulonglong)param_1[0xda]; + if ((local_498 != param_1[0xda]) || + (bVar15 = uStack_490 < (ulonglong)param_1[0xdb], uStack_490 != param_1[0xdb])) { + iVar4 = (1 - (uint)bVar15) - (uint)(bVar15 != 0); + } + if (iVar4 != 0) { + return; + } + local_5e8 = Proud::AddrPort::vftable; + local_5e0 = param_2[0xe]; + local_5dc = (undefined2)param_2[0xf]; + uVar6 = (ulonglong)local_5d0[0]; + plVar7 = FUN_140070860(param_1,(longlong *)&local_5d8,local_5d0[0]); + plVar14 = plVar11; + if ((undefined8 *)*plVar7 != (undefined8 *)0x0) { + plVar14 = *(longlong **)*plVar7; + } + if (local_5d8 != (longlong *)0x0) { + local_5d8[1] = local_5d8[1] + -1; + if (local_5d8[1] == 0) { + puVar2 = (undefined8 *)*local_5d8; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(local_5d8); + } + uVar16 = (undefined4)local_4c8; + uVar17 = local_4c8._4_4_; + uVar18 = (undefined4)uStack_4c0; + uVar19 = uStack_4c0._4_4_; + } + if (plVar14 == (longlong *)0x0) { + return; + } + if (*(char *)((longlong)plVar14 + 0x684) != '\0') { + return; + } + if ((longlong *)plVar14[5] == (longlong *)0x0) { + return; + } + if (*(longlong *)plVar14[5] == 0) { + return; + } + bVar15 = CONCAT44(uStack_4a4,local_4a8) < (ulonglong)plVar14[6]; + if ((CONCAT44(uStack_4a4,local_4a8) == plVar14[6]) && + (bVar15 = CONCAT44(uStack_49c,uStack_4a0) < (ulonglong)plVar14[7], + CONCAT44(uStack_49c,uStack_4a0) == plVar14[7])) { + iVar4 = 0; + } + else { + iVar4 = (1 - (uint)bVar15) - (uint)(bVar15 != 0); + } + if (iVar4 != 0) { + return; + } + if (((char)param_1[0x2f2] != '\0') || ((int)param_1[0xd9] != 0)) { + FUN_140033b30((longlong)&local_5e8,(longlong *)&local_5a0,uVar6,param_4); + plVar7 = FUN_140033b30((longlong)&local_5f8,(longlong *)&local_5c8,uVar6,param_4); + puVar13 = (undefined *)*plVar7; + if ((undefined *)*plVar7 == (undefined *)0x0) { + puVar13 = PTR_DAT_140155010; + } + puVar12 = &DAT_14010ca60; + FUN_140072eb0((longlong)param_1,1,L"P2P Holepunch 수신 OK. ABS=%s ABR=%s",puVar13); + if (((local_5c8 != (undefined *)0x0) && (local_5c8 != PTR_DAT_140155010)) && + (local_5c8 + -8 != (undefined *)0x0)) { + param_1 = (longlong *)FUN_140030200(param_1,PTR_DAT_140155010,puVar12,puVar13); + local_518 = param_1; + FUN_14002e6e0((int *)param_1); + local_510 = 1; + piVar1 = (int *)(local_5c8 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_5c8 + -8); + } + FUN_14002e770((longlong)param_1); + } + local_5c8 = PTR_DAT_140155010; + if (((local_5a0 != (undefined *)0x0) && (local_5a0 != PTR_DAT_140155010)) && + (local_5a0 + -8 != (undefined *)0x0)) { + piVar8 = (int *)FUN_140030200(param_1,PTR_DAT_140155010,puVar12,puVar13); + local_4f8 = piVar8; + FUN_14002e6e0(piVar8); + local_4f0 = 1; + piVar1 = (int *)(local_5a0 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_5a0 + -8); + } + FUN_14002e770((longlong)piVar8); + } + } + FUN_140033290((longlong)(plVar14 + 0xae)); + uVar6 = FUN_140033290((longlong)(plVar14 + 0xb0)); + if ((char)uVar6 != '\0') { + if (((longlong *)plVar14[3] == (longlong *)0x0) || + (lVar3 = *(longlong *)plVar14[3], plVar7 = (longlong *)(lVar3 + -0x40), lVar3 == 0)) + { + plVar7 = plVar11; + } + uVar6 = FUN_140033290((longlong)(plVar7 + 0x25)); + if ((char)uVar6 != '\0') { + plVar7 = (longlong *)plVar14[3]; + if ((plVar7 == (longlong *)0x0) || + (plVar10 = (longlong *)(*plVar7 + -0x40), *plVar7 == 0)) { + plVar10 = plVar11; + } + if ((int)plVar10[0x28] == (int)plVar14[0xaf]) { + plVar10 = plVar11; + if ((plVar7 != (longlong *)0x0) && (*plVar7 != 0)) { + plVar10 = (longlong *)(*plVar7 + -0x40); + } + if ((((char)plVar10[0x26] == (char)plVar14[0xb1]) && + (*(char *)((longlong)plVar10 + 0x131) == *(char *)((longlong)plVar14 + 0x589))) + && (*(char *)((longlong)plVar10 + 0x132) == *(char *)((longlong)plVar14 + 0x58a)) + ) { + local_598 = Proud::AddrPort::vftable; + local_590 = local_5e0; + local_58c = local_5dc; + local_558 = Proud::AddrPort::vftable; + local_550 = local_5f0; + local_54c = local_5ec; + local_568 = Proud::AddrPort::vftable; + local_560 = (undefined4)plVar14[0xb1]; + local_55c = *(undefined2 *)((longlong)plVar14 + 0x58c); + plVar7 = plVar11; + if ((undefined8 *)plVar14[5] != (undefined8 *)0x0) { + plVar7 = *(longlong **)plVar14[5]; + } + local_4d8 = uVar16; + uStack_4d4 = uVar17; + uStack_4d0 = uVar18; + uStack_4cc = uVar19; + FUN_1400b3dd0(plVar7,(longlong)&local_568,(undefined8 *)&local_4d8, + (longlong)&local_558,(longlong)&local_598); + } + } + } + } + uVar6 = FUN_140033290((longlong)(plVar14 + 0xae)); + if ((char)uVar6 != '\0') { + local_588 = Proud::AddrPort::vftable; + local_580 = local_5e0; + local_57c = local_5dc; + local_578 = Proud::AddrPort::vftable; + local_570 = local_5f0; + local_56c = local_5ec; + local_5b0 = Proud::AddrPort::vftable; + local_5a8 = (undefined4)plVar14[0xaf]; + local_5a4 = *(undefined2 *)((longlong)plVar14 + 0x57c); + plVar7 = plVar11; + if ((undefined8 *)plVar14[5] != (undefined8 *)0x0) { + plVar7 = *(longlong **)plVar14[5]; + } + local_528 = uVar16; + uStack_524 = uVar17; + uStack_520 = uVar18; + uStack_51c = uVar19; + FUN_1400b3dd0(plVar7,(longlong)&local_5b0,(undefined8 *)&local_528,(longlong)&local_578, + (longlong)&local_588); + } + local_5c0 = Proud::AddrPort::vftable; + local_5b8 = local_5e0; + local_5b4 = local_5dc; + local_538 = Proud::AddrPort::vftable; + local_530 = local_5f0; + local_52c = local_5ec; + local_548 = Proud::AddrPort::vftable; + local_540 = param_2[0xe]; + local_53c = (undefined2)param_2[0xf]; + if ((undefined8 *)plVar14[5] != (undefined8 *)0x0) { + plVar11 = *(longlong **)plVar14[5]; + } + local_508 = uVar16; + uStack_504 = uVar17; + uStack_500 = uVar18; + uStack_4fc = uVar19; + FUN_1400b3dd0(plVar11,(longlong)&local_548,(undefined8 *)&local_508,(longlong)&local_538, + (longlong)&local_5c0); + return; + } + if (((char)param_1[0x2f2] == '\0') && ((int)param_1[0xd9] == 0)) { + return; + } + local_268 = local_260; + FUN_14002a670((longlong *)&local_268,"RemotePeer.cpp",3); + FUN_140072eb0((longlong)param_1,1,L"Holepunch1 실패: %s(%d)",local_268); + puVar9 = local_260; + _Memory = local_268; + } + } + } + if (_Memory != puVar9) { + free(_Memory); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b4e60.c b/decomp/Agent_Release_x64/full/functions/0x1400b4e60.c new file mode 100644 index 00000000..5cdc06da --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b4e60.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b4e60 FUN_1400b4e60 + * Pseudocode, not original source. */ + +void FUN_1400b4e60(longlong param_1) + +{ + longlong *plVar1; + longlong *plVar2; + + plVar2 = (longlong *)(param_1 + 0x20); + if (*plVar2 != 0) { + plVar1 = (longlong *)(*plVar2 + 8); + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + FUN_140043d50((longlong)plVar2,(longlong *)*plVar2); + } + } + FUN_140095270((longlong *)(param_1 + 8)); + if (*(longlong *)(param_1 + 0x10) != 0) { + if (*(int *)(param_1 + 0x1c) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(param_1 + 0x18) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b4ed0.c b/decomp/Agent_Release_x64/full/functions/0x1400b4ed0.c new file mode 100644 index 00000000..0cfc9eff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b4ed0.c @@ -0,0 +1,250 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b4ed0 FUN_1400b4ed0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400b4ed0(longlong *param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + undefined8 *puVar2; + longlong lVar3; + int iVar4; + undefined8 uVar5; + ulonglong uVar6; + longlong *plVar7; + longlong *plVar8; + longlong *plVar9; + longlong *plVar10; + int *piVar11; + longlong lVar12; + undefined8 uVar13; + undefined *puVar14; + wchar_t *pwVar15; + bool bVar16; + undefined1 auStack_1b8 [32]; + undefined4 *local_198; + undefined ***local_190; + undefined ***local_188; + undefined ***local_180; + undefined ***local_178; + uint local_168 [2]; + longlong *local_160; + undefined **local_158; + undefined4 local_150; + undefined2 local_14c; + undefined **local_148; + undefined4 local_140; + undefined2 local_13c; + undefined **local_138; + undefined4 local_130; + undefined2 local_12c; + undefined *local_128; + longlong local_120; + undefined *local_118; + undefined *local_110; + undefined **local_108; + uint local_100; + undefined2 local_fc; + undefined *local_f8; + longlong *local_f0; + undefined1 local_e8; + longlong *local_e0; + undefined1 local_d8; + undefined8 local_d0; + longlong *local_c8; + undefined1 local_c0; + int *local_b8; + undefined1 local_b0; + undefined8 local_a8; + undefined8 uStack_a0; + undefined8 local_98; + ulonglong uStack_90; + undefined8 local_88; + undefined8 uStack_80; + undefined8 local_78; + undefined8 uStack_70; + undefined4 local_68; + undefined4 uStack_64; + undefined4 uStack_60; + undefined4 uStack_5c; + undefined4 local_58; + undefined4 uStack_54; + undefined4 uStack_50; + undefined4 uStack_4c; + ulonglong local_48; + ulonglong uStack_40; + ulonglong local_38; + ulonglong uStack_30; + ulonglong local_28; + + local_d0 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_1b8; + local_148 = Proud::AddrPort::vftable; + lVar12 = 0; + local_140 = 0; + local_13c = 0; + local_158 = Proud::AddrPort::vftable; + local_150 = 0; + local_14c = 0; + local_138 = Proud::AddrPort::vftable; + local_130 = 0; + local_12c = 0; + local_48 = 0; + uStack_40 = 0; + uVar13 = 0x10; + uVar5 = FUN_140080600(param_2,&local_48,0x10); + if ((char)uVar5 != '\0') { + local_38 = local_48; + uStack_30 = uStack_40; + uVar5 = FUN_140081090(param_2,local_168,uVar13,param_4); + if (((((char)uVar5 != '\0') && + (uVar6 = FUN_140081030(param_2,(longlong)&local_148), (char)uVar6 != '\0')) && + (uVar6 = FUN_140081030(param_2,(longlong)&local_158), (char)uVar6 != '\0')) && + (uVar6 = FUN_140081030(param_2,(longlong)&local_138), (char)uVar6 != '\0')) { + local_108 = Proud::AddrPort::vftable; + local_100 = param_2[0xe]; + local_fc = (undefined2)param_2[0xf]; + plVar7 = FUN_140070860(param_1,(longlong *)&local_160,local_168[0]); + if ((longlong *)*plVar7 != (longlong *)0x0) { + lVar12 = *(longlong *)*plVar7; + } + if ((local_160 != (longlong *)0x0) && (local_160[1] = local_160[1] + -1, local_160[1] == 0)) { + puVar2 = (undefined8 *)*local_160; + if (puVar2 != (undefined8 *)0x0) { + (**(code **)*puVar2)(puVar2,1); + } + FUN_1400302f0(local_160); + } + if (((lVar12 != 0) && (*(char *)(lVar12 + 0x684) == '\0')) && + ((*(longlong **)(lVar12 + 0x28) != (longlong *)0x0 && + (lVar3 = **(longlong **)(lVar12 + 0x28), lVar3 != 0)))) { + bVar16 = *(ulonglong *)(lVar12 + 0x30) < local_38; + if ((*(ulonglong *)(lVar12 + 0x30) == local_38) && + (bVar16 = *(ulonglong *)(lVar12 + 0x38) < uStack_30, + *(ulonglong *)(lVar12 + 0x38) == uStack_30)) { + iVar4 = 0; + } + else { + iVar4 = (1 - (uint)bVar16) - (uint)(bVar16 != 0); + } + if (((iVar4 == 0) && (*(longlong *)(lVar3 + 0x10) != 0)) && + (*(int *)(*(longlong *)(lVar3 + 0x10) + 8) == 1)) { + local_120 = 0; + FUN_140072070((longlong *)(lVar12 + 0x28),&local_120); + FUN_140071f30(&local_120); + local_a8 = _DAT_14015de10; + uStack_a0 = uRam000000014015de18; + local_98 = _DAT_14015de20; + local_88 = _DAT_14015de30; + uStack_80 = _DAT_14015de38; + local_78 = _DAT_14015de40; + uStack_70 = _DAT_14015de48; + local_68 = _DAT_14015de50; + uStack_64 = uRam000000014015de54; + uStack_60 = _DAT_14015de58; + uStack_5c = uRam000000014015de5c; + local_58 = _DAT_14015de60; + uStack_54 = _DAT_14015de64; + uStack_50 = uRam000000014015de68; + uStack_4c = uRam000000014015de6c; + uStack_90 = _DAT_14015de28 & 0xffffffff00000000; + (**(code **)(param_1[0x2fa] + 0x30)) + (param_1 + 0x2fa,*(undefined4 *)(lVar12 + 0x56c),&local_a8); + plVar7 = param_1 + 0x2af; + local_178 = &local_108; + local_180 = &local_138; + local_188 = &local_158; + local_190 = &local_148; + puVar14 = &DAT_14015de10; + local_198 = (undefined4 *)(lVar12 + 0x56c); + (**(code **)(param_1[0x303] + 0x70))(param_1 + 0x303,1); + if (((char)param_1[0x2f2] != '\0') || ((int)param_1[0xd9] != 0)) { + plVar8 = FUN_140033b30((longlong)&local_108,(longlong *)&local_f8,puVar14,plVar7); + plVar9 = FUN_140033b30((longlong)&local_138,(longlong *)&local_118,puVar14,plVar7); + plVar10 = FUN_140033b30((longlong)&local_158,(longlong *)&local_128,puVar14,plVar7); + plVar7 = FUN_140033b30((longlong)&local_148,(longlong *)&local_110,puVar14,plVar7); + local_188 = (undefined ***)*plVar8; + if ((undefined *)*plVar8 == (undefined *)0x0) { + local_188 = (undefined ***)PTR_DAT_140155010; + } + local_190 = (undefined ***)*plVar9; + if ((undefined *)*plVar9 == (undefined *)0x0) { + local_190 = (undefined ***)PTR_DAT_140155010; + } + local_198 = (undefined4 *)*plVar10; + if ((undefined *)*plVar10 == (undefined *)0x0) { + local_198 = (undefined4 *)PTR_DAT_140155010; + } + puVar14 = (undefined *)*plVar7; + if ((undefined *)*plVar7 == (undefined *)0x0) { + puVar14 = PTR_DAT_140155010; + } + pwVar15 = L"HolepunchAck OK. ABS=%s ABR=%s BAS=%s BAR=%s"; + FUN_140072eb0((longlong)param_1,1,L"HolepunchAck OK. ABS=%s ABR=%s BAS=%s BAR=%s", + puVar14); + if (((local_110 != (undefined *)0x0) && (local_110 != PTR_DAT_140155010)) && + (local_110 + -8 != (undefined *)0x0)) { + param_1 = (longlong *)FUN_140030200(param_1,PTR_DAT_140155010,pwVar15,puVar14); + local_f0 = param_1; + FUN_14002e6e0((int *)param_1); + local_e8 = 1; + piVar1 = (int *)(local_110 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_110 + -8); + } + FUN_14002e770((longlong)param_1); + } + local_110 = PTR_DAT_140155010; + if (((local_128 != (undefined *)0x0) && (local_128 != PTR_DAT_140155010)) && + (local_128 + -8 != (undefined *)0x0)) { + param_1 = (longlong *)FUN_140030200(param_1,PTR_DAT_140155010,pwVar15,puVar14); + local_e0 = param_1; + FUN_14002e6e0((int *)param_1); + local_d8 = 1; + piVar1 = (int *)(local_128 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_128 + -8); + } + FUN_14002e770((longlong)param_1); + } + local_128 = PTR_DAT_140155010; + if (((local_118 != (undefined *)0x0) && (local_118 != PTR_DAT_140155010)) && + (local_118 + -8 != (undefined *)0x0)) { + param_1 = (longlong *)FUN_140030200(param_1,PTR_DAT_140155010,pwVar15,puVar14); + local_c8 = param_1; + FUN_14002e6e0((int *)param_1); + local_c0 = 1; + piVar1 = (int *)(local_118 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_118 + -8); + } + FUN_14002e770((longlong)param_1); + } + if (((local_f8 != (undefined *)0x0) && (local_f8 != PTR_DAT_140155010)) && + (local_f8 + -8 != (undefined *)0x0)) { + local_118 = PTR_DAT_140155010; + piVar11 = (int *)FUN_140030200(param_1,PTR_DAT_140155010,pwVar15,puVar14); + local_b8 = piVar11; + FUN_14002e6e0(piVar11); + local_b0 = 1; + piVar1 = (int *)(local_f8 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(local_f8 + -8); + } + FUN_14002e770((longlong)piVar11); + } + } + } + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b5380.c b/decomp/Agent_Release_x64/full/functions/0x1400b5380.c new file mode 100644 index 00000000..17195d62 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b5380.c @@ -0,0 +1,60 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b5380 FUN_1400b5380 + * Pseudocode, not original source. */ + +void FUN_1400b5380(longlong param_1,longlong param_2) + +{ + double dVar1; + undefined8 uVar2; + longlong local_res8; + + *(undefined1 *)(param_1 + 0x25) = DAT_1401559f8; + *(bool *)(param_1 + 0x21) = *(int *)(param_2 + 0x6b0) == 1; + *(undefined1 *)(param_1 + 0x22) = 0; + *(undefined1 *)(param_1 + 0x24) = 0; + local_res8 = 0; + FUN_140072070((longlong *)(param_1 + 0x28),&local_res8); + *(undefined1 *)(param_1 + 0x20) = 0; + *(undefined1 *)(param_1 + 0x23) = 0; + *(undefined8 *)(param_1 + 0x158) = 0; + *(undefined8 *)(param_1 + 0x160) = 0; + *(undefined8 *)(param_1 + 0x60) = 0; + *(undefined4 *)(param_1 + 0x598) = DAT_1401553d0; + *(undefined2 *)(param_1 + 0x59c) = DAT_1401553d4; + *(undefined4 *)(param_1 + 0x5a8) = DAT_1401553d0; + *(undefined2 *)(param_1 + 0x5ac) = DAT_1401553d4; + *(undefined4 *)(param_1 + 0x578) = DAT_1401553d0; + *(undefined2 *)(param_1 + 0x57c) = DAT_1401553d4; + *(undefined4 *)(param_1 + 0x588) = DAT_1401553d0; + *(undefined2 *)(param_1 + 0x58c) = DAT_1401553d4; + *(longlong *)(param_1 + 0x670) = param_2; + *(undefined1 *)(param_1 + 0x608) = 1; + *(undefined8 *)(param_1 + 0x610) = 0; + dVar1 = (double)FUN_14003a220(param_2 + 0xb08); + *(double *)(param_1 + 0x148) = (DAT_1401550f0 - DAT_1401550f0 * 0.5) * dVar1 + DAT_1401550f0 * 0.5 + ; + *(undefined8 *)(param_1 + 0x150) = 0; + uVar2 = (**(code **)(*(longlong *)(param_2 + 0x70) + 0x1c0))(); + *(undefined8 *)(param_1 + 0xc0) = uVar2; + *(undefined4 *)(param_1 + 0x100) = 0; + *(undefined8 *)(param_1 + 0x140) = 0xbff0000000000000; + *(undefined8 *)(param_1 + 0x50) = 0; + *(undefined4 *)(param_1 + 0x58) = 0; + *(undefined8 *)(param_1 + 0x80) = 0; + *(undefined4 *)(param_1 + 0x568) = 0; + *(undefined4 *)(param_1 + 0x61c) = 0; + *(undefined8 *)(param_1 + 0x620) = 0; + *(undefined8 *)(param_1 + 0x40) = 0; + *(undefined4 *)(param_1 + 0x48) = 0; + *(undefined8 *)(param_1 + 0x628) = 0; + *(undefined8 *)(param_1 + 0x630) = 0; + *(undefined8 *)(param_1 + 0x678) = 0; + dVar1 = FUN_1400b33c0(param_1); + *(double *)(param_1 + 0x88) = dVar1; + *(undefined8 *)(param_1 + 0x658) = 0; + *(undefined8 *)(param_1 + 0x660) = 0; + *(undefined1 *)(param_1 + 0x618) = 1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b5550.c b/decomp/Agent_Release_x64/full/functions/0x1400b5550.c new file mode 100644 index 00000000..efbdfca1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b5550.c @@ -0,0 +1,60 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b5550 FUN_1400b5550 + * Pseudocode, not original source. */ + +longlong FUN_1400b5550(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + void *pvVar2; + undefined8 *puVar3; + longlong *plVar4; + longlong *plVar5; + longlong lVar6; + longlong *local_res8; + undefined8 *local_res10; + + plVar4 = operator_new(0x18); + plVar5 = (longlong *)0x0; + local_res8 = plVar4; + if (plVar4 != (longlong *)0x0) { + plVar4[2] = 0; + plVar4[1] = 0; + *plVar4 = param_1; + local_res10 = operator_new(0x30); + if (local_res10 != (undefined8 *)0x0) { + plVar5 = FUN_1400b3210(local_res10); + } + plVar4[2] = (longlong)plVar5; + plVar5 = plVar4; + } + if (plVar5 == (longlong *)0x0) { + local_res8 = (longlong *)0x0; + } + else { + local_res8 = (longlong *)FUN_140030280(0x10); + local_res8[1] = 1; + *local_res8 = (longlong)plVar5; + } + plVar5 = local_res8; + lVar6 = FUN_140072070((longlong *)(param_1 + 0x28),(longlong *)&local_res8); + plVar4 = local_res8; + if (plVar5 != (longlong *)0x0) { + plVar1 = plVar5 + 1; + *plVar1 = *plVar1 + -1; + lVar6 = plVar5[1]; + if (*plVar1 == 0) { + pvVar2 = (void *)*local_res8; + if (pvVar2 != (void *)0x0) { + puVar3 = *(undefined8 **)((longlong)pvVar2 + 0x10); + if (puVar3 != (undefined8 *)0x0) { + (**(code **)*puVar3)(puVar3,1); + } + operator_delete(pvVar2); + } + lVar6 = FUN_1400302f0(plVar4); + } + } + return lVar6; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b5640.c b/decomp/Agent_Release_x64/full/functions/0x1400b5640.c new file mode 100644 index 00000000..14706aba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b5640.c @@ -0,0 +1,188 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b5640 FUN_1400b5640 + * Pseudocode, not original source. */ + +void FUN_1400b5640(longlong param_1,char param_2,undefined8 param_3,undefined *param_4) + +{ + int iVar1; + longlong lVar2; + int iVar3; + int *piVar4; + undefined8 *puVar5; + undefined **ppuVar6; + int *piVar7; + longlong *plVar8; + undefined *puVar9; + undefined8 *puVar10; + ulonglong uVar11; + undefined *puVar12; + ulonglong uVar13; + uint uVar14; + double dVar15; + undefined1 local_res8 [8]; + uint local_res18 [2]; + undefined *local_res20; + undefined *local_e8; + undefined *local_e0; + undefined *local_d8; + undefined *local_d0; + longlong local_c8 [2]; + int *local_b8; + undefined1 local_b0; + int *local_a8; + undefined1 local_a0; + undefined **local_98; + undefined1 local_90; + int *local_88; + undefined1 local_80; + int *local_78; + undefined1 local_70; + undefined8 local_68 [6]; + + local_res18[0] = (uint)param_3; + puVar10 = local_68; + local_c8[1] = 0xfffffffffffffffe; + if (*(char *)(param_1 + 0x608) == '\0') { + if (((param_2 != '\0') && (local_res18[0] != 0x1d)) && + ((lVar2 = *(longlong *)(param_1 + 0x670), *(char *)(lVar2 + 0x1790) != '\0' || + (*(int *)(lVar2 + 0x6c8) != 0)))) { + local_res8[0] = 0; + (**(code **)(*(longlong *)(lVar2 + 0x70) + 0x158))((longlong *)(lVar2 + 0x70),local_res8); + iVar3 = *(int *)(param_1 + 0x578); + iVar1 = *(int *)(param_1 + 0x588); + FUN_140071a20(*(longlong *)(param_1 + 0x670),(longlong *)&local_e0,param_3,param_4); + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x670) + 0x70) + 0x1c0))(); + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x670) + 0x70) + 0x1c0))(); + uVar14 = 1; + if (iVar1 == iVar3) { + uVar14 = 2; + } + plVar8 = (longlong *)(*(longlong *)(param_1 + 0x670) + 0x70); + plVar8 = (longlong *)(**(code **)(*plVar8 + 0xb0))(plVar8,&local_d8); + piVar4 = (int *)*plVar8; + if (piVar4 == (int *)0x0) { + iVar3 = 0; + } + else if (piVar4 == (int *)PTR_DAT_140155010) { + iVar3 = 0; + } + else { + iVar3 = piVar4[-2]; + } + puVar9 = PTR_DAT_140155010; + if (((local_d8 != (undefined *)0x0) && (local_d8 != PTR_DAT_140155010)) && + (local_d8 + -8 != (undefined *)0x0)) { + piVar4 = (int *)FUN_140030200(piVar4,PTR_DAT_140155010,param_3,param_4); + local_78 = piVar4; + FUN_14002e6e0(piVar4); + local_70 = 1; + piVar7 = (int *)(local_d8 + -4); + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(local_d8 + -8); + } + FUN_14002e770((longlong)piVar4); + } + if (iVar3 != 0) { + uVar14 = uVar14 + 1; + } + FUN_140030200(piVar4,puVar9,param_3,param_4); + local_e8 = PTR_DAT_140155010; + puVar5 = FUN_140064cd0(*(longlong *)(param_1 + 0x670),puVar10); + FUN_14002ff30((longlong *)&local_d0,puVar10,param_3,param_4); + (**(code **)*puVar5)(puVar5); + uVar13 = (ulonglong)local_res18[0]; + uVar11 = (ulonglong)*(uint *)(param_1 + 0x56c); + ppuVar6 = &local_e8; + FUN_14001b7a0((longlong *)ppuVar6, + L"(first chance) to-peer client %d UDP punch lost##Reason:%d##CliInstCount=%d##RecentElapTime=%3.3f##DisconnedCount=%d##recv count=%d##last ok recv interval=%3.3f##Recurred:%d##LocalIP:%s##Remote peer behind NAT:%d##UDP kept time:%3.3f##Time diff since last RecvIssue:%3.3f##%s##Process=%s" + ,uVar11,uVar13); + if (((local_res20 != (undefined *)0x0) && (local_res20 != PTR_DAT_140155010)) && + (local_res20 + -8 != (undefined *)0x0)) { + ppuVar6 = (undefined **)FUN_140030200(ppuVar6,PTR_DAT_140155010,uVar11,uVar13); + local_98 = ppuVar6; + FUN_14002e6e0((int *)ppuVar6); + local_90 = 1; + piVar4 = (int *)(local_res20 + -4); + *piVar4 = *piVar4 + -1; + if (*piVar4 == 0) { + FUN_1400302f0(local_res20 + -8); + } + FUN_14002e770((longlong)ppuVar6); + } + local_res20 = PTR_DAT_140155010; + if (((local_d0 != (undefined *)0x0) && (local_d0 != PTR_DAT_140155010)) && + (local_d0 + -8 != (undefined *)0x0)) { + piVar7 = (int *)FUN_140030200(ppuVar6,PTR_DAT_140155010,uVar11,uVar13); + local_b8 = piVar7; + FUN_14002e6e0(piVar7); + local_b0 = 1; + piVar4 = (int *)(local_d0 + -4); + *piVar4 = *piVar4 + -1; + if (*piVar4 == 0) { + FUN_1400302f0(local_d0 + -8); + } + FUN_14002e770((longlong)piVar7); + } + puVar9 = local_e8; + puVar12 = &DAT_14011ae80; + uVar11 = (ulonglong)uVar14; + piVar4 = *(int **)(param_1 + 0x670); + param_4 = local_e8; + FUN_140073400((longlong)piVar4,uVar11,L"%s",local_e8); + if (((puVar9 != (undefined *)0x0) && (puVar9 != PTR_DAT_140155010)) && + (puVar9 + -8 != (undefined *)0x0)) { + piVar4 = (int *)FUN_140030200(piVar4,uVar11,puVar12,param_4); + local_a8 = piVar4; + FUN_14002e6e0(piVar4); + local_a0 = 1; + piVar7 = (int *)(puVar9 + -4); + *piVar7 = *piVar7 + -1; + if (*piVar7 == 0) { + FUN_1400302f0(puVar9 + -8); + } + FUN_14002e770((longlong)piVar4); + } + if (((local_e0 != (undefined *)0x0) && (local_e0 != PTR_DAT_140155010)) && + (local_e0 + -8 != (undefined *)0x0)) { + piVar7 = (int *)FUN_140030200(piVar4,uVar11,puVar12,param_4); + local_88 = piVar7; + FUN_14002e6e0(piVar7); + local_80 = 1; + piVar4 = (int *)(local_e0 + -4); + *piVar4 = *piVar4 + -1; + if (*piVar4 == 0) { + FUN_1400302f0(local_e0 + -8); + } + FUN_14002e770((longlong)piVar7); + } + } + if (*(char *)(param_1 + 0x608) == '\0') { + *(undefined1 *)(param_1 + 0x618) = 1; + } + *(undefined1 *)(param_1 + 0x608) = 1; + if (*(longlong *)(param_1 + 0x640) != 0) { + *(undefined8 *)(*(longlong *)(param_1 + 0x640) + 0xd8) = 0; + } + if (param_2 != '\0') { + plVar8 = (longlong *)(*(longlong *)(param_1 + 0x670) + 0x1818); + param_4 = (undefined *)(param_1 + 0x56c); + (**(code **)(*plVar8 + 0x40))(plVar8,1,&DAT_14015de10,param_4,local_res18); + } + local_c8[0] = 0; + FUN_140072070((longlong *)(param_1 + 0x28),local_c8); + if (local_res18[0] != 0x1d) { + FUN_14007fc60(*(longlong **)(param_1 + 0x670),(ulonglong)*(uint *)(param_1 + 0x56c), + (ulonglong)local_res18[0],param_4); + } + if (*(int *)(param_1 + 0x61c) < DAT_140155088) { + *(int *)(param_1 + 0x61c) = *(int *)(param_1 + 0x61c) + 1; + dVar15 = (double)(**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x670) + 0x70) + 0x1c0))() + ; + *(double *)(param_1 + 0x620) = dVar15 + DAT_14015c010; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b5b50.c b/decomp/Agent_Release_x64/full/functions/0x1400b5b50.c new file mode 100644 index 00000000..bf367d8e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b5b50.c @@ -0,0 +1,103 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b5b50 FUN_1400b5b50 + * Pseudocode, not original source. */ + +void FUN_1400b5b50(undefined **param_1,undefined8 param_2,undefined **param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong *plVar2; + longlong lVar3; + undefined8 *puVar4; + undefined ***pppuVar5; + undefined8 *puVar6; + longlong *local_res8; + longlong local_res10 [3]; + undefined **local_40; + int local_38; + undefined2 local_34; + + (**(code **)(*(longlong *)(param_1[0xce] + 0x78) + 0x10))(); + if (((longlong *)param_1[3] != (longlong *)0x0) && (*(longlong *)param_1[3] != 0)) { + return; + } + if (*(char *)((longlong)param_1 + 0x23) == '\0') { + return; + } + lVar3 = FUN_140064bc0((longlong)param_1[0xce]); + if (lVar3 == 0) { + return; + } + *(undefined1 *)((longlong)param_1 + 0x23) = 0; + puVar6 = (undefined8 *)0x0; + if (((longlong *)param_1[3] != (longlong *)0x0) && (lVar3 = *(longlong *)param_1[3], lVar3 != 0)) + { + if (*(char *)(lVar3 + 0x40) == '\0') { + puVar4 = puVar6; + if ((undefined8 *)param_1[3] != (undefined8 *)0x0) { + puVar4 = *(undefined8 **)param_1[3]; + } + if (*(char *)(puVar4 + 0x10) == '\0') goto LAB_1400b5beb; + } + uRam0000000000000000 = 1; + } +LAB_1400b5beb: + if (((longlong *)param_1[3] != (longlong *)0x0) && (*(longlong *)param_1[3] != 0)) { + local_res10[0] = 0; + FUN_1400ad4b0(local_res10,(longlong *)(param_1 + 3)); + FUN_1400756c0((longlong)param_1[0xce],local_res10); + local_res10[1] = 0; + FUN_1400ad4b0((longlong *)(param_1 + 3),local_res10 + 1); + } + local_res8 = operator_new(0x1c0); + puVar4 = puVar6; + if (local_res8 != (longlong *)0x0) { + param_3 = param_1; + puVar4 = FUN_1400b74e0(local_res8,(longlong)param_1[0xce],(longlong)param_1,param_4); + } + if ((puVar4 == (undefined8 *)0x0) || (puVar4 + 8 == (undefined8 *)0x0)) { + local_res8 = (longlong *)0x0; + } + else { + local_res8 = (longlong *)FUN_140030280(0x10); + local_res8[1] = 1; + *local_res8 = (longlong)(puVar4 + 8); + } + plVar1 = local_res8; + FUN_1400ad4b0((longlong *)(param_1 + 3),(longlong *)&local_res8); + plVar2 = local_res8; + if (plVar1 != (longlong *)0x0) { + plVar1 = plVar1 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + puVar4 = (undefined8 *)*local_res8; + if (puVar4 != (undefined8 *)0x0) { + (**(code **)*puVar4)(puVar4,1); + } + FUN_1400302f0(plVar2); + } + } + lVar3 = FUN_140064be0((longlong)param_1[0xce]); + local_38 = *(int *)(lVar3 + 0x118); + if ((local_38 == 0) || (local_38 == -1)) { + FUN_14002fa10( + L"UDP 소켓을 생성하기 전에 TCP 연결이 이미 되어있는 상태이어야 하는데!" + ); + } + local_40 = Proud::AddrPort::vftable; + local_34 = 0; + if (((longlong *)param_1[3] == (longlong *)0x0) || + (lVar3 = *(longlong *)param_1[3], puVar4 = (undefined8 *)(lVar3 + -0x40), lVar3 == 0)) { + puVar4 = puVar6; + } + pppuVar5 = &local_40; + FUN_1400b78c0((longlong)puVar4,(longlong)pppuVar5,(longlong *)param_3,param_4); + if (((longlong *)param_1[3] != (longlong *)0x0) && (lVar3 = *(longlong *)param_1[3], lVar3 != 0)) + { + puVar6 = (undefined8 *)(lVar3 + -0x40); + } + FUN_1400b6ec0((longlong)puVar6,pppuVar5,param_3,param_4); + FUN_1400b5550((longlong)param_1,pppuVar5,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b5d70.c b/decomp/Agent_Release_x64/full/functions/0x1400b5d70.c new file mode 100644 index 00000000..31dabfc9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b5d70.c @@ -0,0 +1,78 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b5d70 FUN_1400b5d70 + * Pseudocode, not original source. */ + +void FUN_1400b5d70(longlong param_1,longlong param_2) + +{ + uint uVar1; + uint uVar2; + longlong lVar3; + ulonglong uVar4; + undefined8 uVar5; + uint *puVar6; + uint *puVar7; + uint uVar8; + uint local_res8 [2]; + + *(undefined4 *)(param_2 + 0x20) = *(undefined4 *)(param_1 + 0x56c); + *(undefined4 *)(param_2 + 8) = *(undefined4 *)(param_1 + 0x578); + *(undefined2 *)(param_2 + 0xc) = *(undefined2 *)(param_1 + 0x57c); + *(undefined4 *)(param_2 + 0x18) = *(undefined4 *)(param_1 + 0x588); + *(undefined2 *)(param_2 + 0x1c) = *(undefined2 *)(param_1 + 0x58c); + *(undefined8 *)(param_2 + 0x88) = *(undefined8 *)(param_1 + 0x50); + *(undefined4 *)(param_2 + 0x90) = *(undefined4 *)(param_1 + 0x58); + if (*(longlong *)(param_1 + 0x5d0) == 0) { + puVar7 = (uint *)0x0; + } + else { + puVar7 = *(uint **)(param_1 + 0x5c0); + } + do { + if (puVar7 == (uint *)0x0) { + *(undefined1 *)(param_2 + 0x24) = *(undefined1 *)(param_1 + 0x608); + *(bool *)(param_2 + 0x80) = *(int *)(param_1 + 0x588) != *(int *)(param_1 + 0x578); + *(undefined8 *)(param_2 + 0x98) = *(undefined8 *)(param_1 + 0x678); + *(undefined8 *)(param_2 + 0xa0) = *(undefined8 *)(param_1 + 0x160); + *(undefined4 *)(param_2 + 0xa8) = *(undefined4 *)(param_1 + 0x40); + *(undefined4 *)(param_2 + 0xac) = *(undefined4 *)(param_1 + 0x44); + return; + } + uVar1 = *puVar7; + uVar2 = *(uint *)(param_2 + 0x50); + lVar3 = *(longlong *)(param_2 + 0x30); + uVar4 = (ulonglong)uVar1 % (ulonglong)uVar2; + uVar8 = (uint)uVar4; + local_res8[0] = uVar1; + if (lVar3 == 0) { +LAB_1400b5e5e: + uVar5 = FUN_14003f710(param_2 + 0x28,uVar2,'\x01'); + if ((char)uVar5 == '\0') { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x8007000e); + } + } + else { + for (puVar6 = *(uint **)(lVar3 + uVar4 * 8); + (puVar6 != (uint *)0x0 && (uVar8 == puVar6[6] % uVar2)); puVar6 = *(uint **)(puVar6 + 2)) + { + if (*puVar6 == uVar1) goto LAB_1400b5e9e; + } + if (lVar3 == 0) goto LAB_1400b5e5e; + for (puVar6 = *(uint **)(lVar3 + uVar4 * 8); + (puVar6 != (uint *)0x0 && (uVar8 == puVar6[6] % uVar2)); puVar6 = *(uint **)(puVar6 + 2)) + { + if (*puVar6 == uVar1) goto LAB_1400b5e9a; + } + if (lVar3 == 0) goto LAB_1400b5e5e; + } + FUN_14003f000((char *)(param_2 + 0x28)); + puVar6 = FUN_140041130((char *)(param_2 + 0x28),local_res8,uVar8,uVar1); + FUN_14003f000((char *)(param_2 + 0x28)); +LAB_1400b5e9a: + *(undefined1 *)(puVar6 + 1) = 0; +LAB_1400b5e9e: + puVar7 = *(uint **)(puVar7 + 4); + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b5f20.c b/decomp/Agent_Release_x64/full/functions/0x1400b5f20.c new file mode 100644 index 00000000..7d23b645 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b5f20.c @@ -0,0 +1,178 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b5f20 FUN_1400b5f20 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400b5f20(undefined **param_1,undefined *param_2,undefined **param_3,double *param_4) + +{ + undefined *puVar1; + int *piVar2; + int iVar3; + undefined *puVar4; + char cVar5; + uint uVar6; + undefined8 uVar7; + longlong *plVar8; + int *piVar9; + longlong lVar10; + longlong lVar11; + undefined ***pppuVar12; + longlong *in_RDX; + undefined **ppuVar13; + double dVar14; + float local_res8 [2]; + undefined *local_res10; + double local_res18; + longlong local_res20; + double local_a8 [2]; + longlong local_98; + undefined **local_90; + undefined4 local_88; + undefined2 local_84; + int *local_80; + undefined1 local_78; + undefined **local_70; + undefined8 local_68; + undefined8 local_60; + undefined8 local_58; + undefined8 local_50; + + local_a8[1] = -NAN; + if (DAT_140155058 < (double)param_2 - (double)param_1[0xcb]) { + FUN_1400b7e20((longlong)(param_1 + 199),in_RDX,(longlong *)param_3,param_4); + param_1[0xcb] = param_2; + } + iVar3 = *(int *)(param_1[0xce] + 0x6a0); + if ((((iVar3 != 1) && (iVar3 != 3)) && (iVar3 != 2)) && + ((*(char *)((longlong)param_1 + 0x25) != '\0' && (*(char *)((longlong)param_1 + 0x24) != '\0')) + )) { + if ((((longlong *)param_1[3] == (longlong *)0x0) || (*(longlong *)param_1[3] == 0)) && + (((dVar14 = (double)(**(code **)(*(longlong *)(param_1[0xce] + 0x70) + 0x1c0))(), + (double)param_1[0x11] <= dVar14 && dVar14 != (double)param_1[0x11] && + (*(char *)((longlong)param_1 + 0x21) != '\0')) && + (*(char *)((longlong)param_1 + 0x22) == '\0')))) { + *(undefined1 *)((longlong)param_1 + 0x22) = 1; + param_4 = (double *)((longlong)param_1 + 0x56c); + param_3 = (undefined **)&DAT_14015de10; + in_RDX = (longlong *)0x1; + (**(code **)(*(longlong *)(param_1[0xce] + 0x1818) + 0xe0))(); + } + FUN_1400b3650((longlong)param_1,in_RDX,param_3,param_4); + FUN_1400b5b50(param_1,in_RDX,param_3,param_4); + } + lVar11 = 0; + if ((((undefined8 *)param_1[5] != (undefined8 *)0x0) && + (plVar8 = *(longlong **)param_1[5], plVar8 != (longlong *)0x0)) && + (uVar7 = FUN_1400b4330(plVar8,in_RDX,(SIZE_T)param_3,param_4), (char)uVar7 == '\0')) { + local_res20 = 0; + in_RDX = &local_res20; + FUN_140072070((longlong *)(param_1 + 5),in_RDX); + } + if (_DAT_140155170 < (double)param_2 - (double)param_1[0xcc]) { + local_res18 = 0.0; + (**(code **)(*(longlong *)param_1[0xce] + 0xd8))(param_1[0xce],&local_res18); + local_res8[0] = (float)local_res18; + local_a8[0] = FUN_14003a420(param_1[0xce] + 0x1620); + param_4 = local_a8; + param_3 = (undefined **)&DAT_14015de10; + in_RDX = (longlong *)(ulonglong)*(uint *)((longlong)param_1 + 0x56c); + (**(code **)(*(longlong *)(param_1[0xce] + 0x17d0) + 0x50)) + (param_1[0xce] + 0x17d0,in_RDX,&DAT_14015de10,param_4,local_res8); + param_1[0xcc] = param_2; + } + if (*(char *)(param_1 + 0xc1) == '\0') { + if ((double)param_2 - (double)param_1[0x18] <= DAT_1401550f0 * 10.0) { + if (*(char *)(param_1 + 0xc1) != '\0') goto LAB_1400b614a; + if ((param_1[200] != (undefined *)0x0) && + (dVar14 = *(double *)(param_1[200] + 0xd8), + *(double *)(param_1[0xce] + 0x6a8) <= dVar14 && + dVar14 != *(double *)(param_1[0xce] + 0x6a8))) { + param_3 = (undefined **)0x1b; + goto LAB_1400b6137; + } + } + else { + param_3 = (undefined **)0x1a; +LAB_1400b6137: + in_RDX = (longlong *)CONCAT71((int7)((ulonglong)in_RDX >> 8),1); + FUN_1400b5640((longlong)param_1,'\x01',param_3,(undefined *)param_4); + } + if (*(char *)(param_1 + 0xc1) == '\0') goto LAB_1400b619b; + } +LAB_1400b614a: + if (((0.0 < (double)param_1[0xc4]) && ((double)param_1[0xc4] < (double)param_2)) && + (((longlong *)param_1[3] != (longlong *)0x0 && (lVar10 = *(longlong *)param_1[3], lVar10 != 0)) + )) { + plVar8 = *(longlong **)(lVar10 + 0xc0); + lVar10 = lVar11; + if (plVar8 != (longlong *)0x0) { + lVar10 = *plVar8; + } + cVar5 = FUN_140035730(lVar10); + if (cVar5 == '\0') { + param_1[0xc4] = (undefined *)0x0; + FUN_1400b5550((longlong)param_1,in_RDX,param_3,param_4); + } + } +LAB_1400b619b: + plVar8 = (longlong *)param_1[3]; + if (((plVar8 != (longlong *)0x0) && (*plVar8 != 0)) && + (_DAT_1401551b8 < (double)param_2 - (double)param_1[0xc5])) { + local_90 = Proud::AddrPort::vftable; + local_88 = *(undefined4 *)(param_1 + 0xb3); + local_84 = *(undefined2 *)((longlong)param_1 + 0x59c); + if (*plVar8 != 0) { + lVar11 = *plVar8 + -0x40; + } + pppuVar12 = &local_90; + lVar11 = *(longlong *)(lVar11 + 0x108); + uVar6 = FUN_140097b90(lVar11,(longlong)pppuVar12); + if ((double)param_1[0xc6] == 0.0) { + if (DAT_140155194 < (int)uVar6) { + param_1[0xc6] = param_2; + } + } + else if (DAT_140155194 < (int)uVar6) { + if (_DAT_1401551b0 < (double)param_2 - (double)param_1[0xc6]) { + param_1[0xc6] = param_2; + FUN_140030200(lVar11,pppuVar12,param_3,param_4); + local_res10 = PTR_DAT_140155010; + FUN_14001b7a0((longlong *)&local_res10,L"sendQueue %dBytes",(ulonglong)uVar6,param_4); + local_68 = 0; + local_60 = 0; + local_58 = 0; + local_50 = 0; + local_70 = Proud::ByteArray::vftable; + ppuVar13 = &local_res10; + plVar8 = FUN_14003c120(&local_98,0x25,(ulonglong)*(uint *)((longlong)param_1 + 0x56c), + (longlong *)ppuVar13,(longlong)&local_70); + lVar11 = *(longlong *)param_1[0xce]; + (**(code **)(lVar11 + 0x88))(); + pppuVar12 = &local_70; + FUN_14003b870(pppuVar12); + puVar4 = local_res10; + if (((local_res10 != (undefined *)0x0) && (local_res10 != PTR_DAT_140155010)) && + (puVar1 = local_res10 + -8, puVar1 != (undefined *)0x0)) { + piVar9 = (int *)FUN_140030200(pppuVar12,plVar8,lVar11,ppuVar13); + local_80 = piVar9; + FUN_14002e6e0(piVar9); + local_78 = 1; + piVar2 = (int *)(puVar4 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar1); + } + FUN_14002e770((longlong)piVar9); + } + } + } + else { + param_1[0xc6] = (undefined *)0x0; + } + param_1[0xc5] = param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6360.c b/decomp/Agent_Release_x64/full/functions/0x1400b6360.c new file mode 100644 index 00000000..4bdc6f1e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6360.c @@ -0,0 +1,144 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6360 FUN_1400b6360 + * Pseudocode, not original source. */ + +ulonglong FUN_1400b6360(longlong *param_1,ushort param_2) + +{ + longlong *plVar1; + uint uVar2; + ushort *puVar3; + ulonglong uVar4; + longlong *plVar5; + undefined8 *puVar6; + longlong lVar7; + ulonglong uVar8; + undefined8 *puVar9; + longlong *plVar10; + longlong *local_res8; + longlong local_res18 [2]; + longlong local_48 [2]; + undefined **local_38; + int local_30; + ushort local_2c; + + local_48[1] = 0xfffffffffffffffe; + (**(code **)(*(longlong *)(param_1[0xce] + 0x78) + 0x10))(); + puVar9 = (undefined8 *)0x0; + if (((longlong *)param_1[3] != (longlong *)0x0) && (lVar7 = *(longlong *)param_1[3], lVar7 != 0)) + { + if (*(char *)(lVar7 + 0x40) == '\0') { + puVar6 = puVar9; + if ((undefined8 *)param_1[3] != (undefined8 *)0x0) { + puVar6 = *(undefined8 **)param_1[3]; + } + if (*(char *)(puVar6 + 0x10) == '\0') goto LAB_1400b63ce; + } + uRam0000000000000000 = 1; + } +LAB_1400b63ce: + if (((longlong *)param_1[3] != (longlong *)0x0) && (*(longlong *)param_1[3] != 0)) { + local_res18[0] = 0; + FUN_1400ad4b0(local_res18,param_1 + 3); + FUN_1400756c0(param_1[0xce],local_res18); + local_res18[1] = 0; + FUN_1400ad4b0(param_1 + 3,local_res18 + 1); + } + param_1[0xc5] = 0; + param_1[0xc6] = 0; + uVar2 = *(uint *)(param_1[0xce] + 0x1748); + uVar8 = (ulonglong)uVar2; + plVar10 = (longlong *)((ulonglong)param_2 % uVar8); + lVar7 = *(longlong *)(param_1[0xce] + 0x1728); + if (lVar7 != 0) { + for (puVar3 = *(ushort **)(lVar7 + (longlong)plVar10 * 8); + (puVar3 != (ushort *)0x0 && ((uint)plVar10 == *(uint *)(puVar3 + 0x10) % uVar2)); + puVar3 = *(ushort **)(puVar3 + 8)) { + if (*puVar3 == param_2) { + FUN_1400ad4b0(param_1 + 3,(longlong *)(puVar3 + 4)); + puVar6 = puVar9; + if (((longlong *)param_1[3] != (longlong *)0x0) && + (lVar7 = *(longlong *)param_1[3], lVar7 != 0)) { + puVar6 = (undefined8 *)(lVar7 + -0x40); + } + puVar6[0x29] = 0; + if (((longlong *)param_1[3] != (longlong *)0x0) && + (lVar7 = *(longlong *)param_1[3], lVar7 != 0)) { + puVar9 = (undefined8 *)(lVar7 + -0x40); + } + puVar9[0x24] = param_1; + lVar7 = param_1[0xce]; + uVar2 = *(uint *)(lVar7 + 0x1748); + uVar8 = (ulonglong)param_2 / (ulonglong)uVar2; + uVar4 = (ulonglong)param_2 % (ulonglong)uVar2; + if (*(longlong *)(lVar7 + 0x1728) == 0) goto LAB_1400b6672; + puVar3 = *(ushort **)(*(longlong *)(lVar7 + 0x1728) + uVar4 * 8); + uVar8 = uVar4; + goto joined_r0x0001400b6510; + } + } + } + local_res8 = operator_new(0x1c0); + puVar6 = puVar9; + if (local_res8 != (longlong *)0x0) { + plVar10 = param_1; + puVar6 = FUN_1400b74e0(local_res8,param_1[0xce],(longlong)param_1,uVar8); + } + if ((puVar6 == (undefined8 *)0x0) || (puVar6 + 8 == (undefined8 *)0x0)) { + local_res8 = (longlong *)0x0; + } + else { + local_res8 = (longlong *)FUN_140030280(0x10); + local_res8[1] = 1; + *local_res8 = (longlong)(puVar6 + 8); + } + plVar1 = local_res8; + FUN_1400ad4b0(param_1 + 3,(longlong *)&local_res8); + plVar5 = local_res8; + if (plVar1 != (longlong *)0x0) { + plVar1 = plVar1 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + puVar6 = (undefined8 *)*local_res8; + if (puVar6 != (undefined8 *)0x0) { + (**(code **)*puVar6)(puVar6,1); + } + FUN_1400302f0(plVar5); + } + } + lVar7 = FUN_140064be0(param_1[0xce]); + local_30 = *(int *)(lVar7 + 0x118); + if ((local_30 == 0) || (local_30 == -1)) { + FUN_14002fa10( + L"UDP 소켓을 생성하기 전에 TCP 연결이 이미 되어있는 상태이어야 하는데!" + ); + } + local_38 = Proud::AddrPort::vftable; + if (((longlong *)param_1[3] == (longlong *)0x0) || + (lVar7 = *(longlong *)param_1[3], puVar6 = (undefined8 *)(lVar7 + -0x40), lVar7 == 0)) { + puVar6 = puVar9; + } + local_2c = param_2; + uVar8 = FUN_1400b78c0((longlong)puVar6,(longlong)&local_38,plVar10,uVar8); + if ((char)uVar8 == '\0') { + local_48[0] = 0; + uVar8 = FUN_1400ad4b0(param_1 + 3,local_48); + uVar8 = uVar8 & 0xffffffffffffff00; + } + else { +LAB_1400b6672: + uVar8 = CONCAT71((int7)(uVar8 >> 8),1); + } + return uVar8; +joined_r0x0001400b6510: + if ((puVar3 == (ushort *)0x0) || + (uVar8 = (ulonglong)*(uint *)(puVar3 + 0x10) / (ulonglong)uVar2, + (uint)uVar4 != *(uint *)(puVar3 + 0x10) % uVar2)) goto LAB_1400b6672; + if (*puVar3 == param_2) { + uVar8 = FUN_1400724d0((char *)(lVar7 + 0x1720),puVar3,'\0'); + goto LAB_1400b6672; + } + puVar3 = *(ushort **)(puVar3 + 8); + goto joined_r0x0001400b6510; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6690.c b/decomp/Agent_Release_x64/full/functions/0x1400b6690.c new file mode 100644 index 00000000..8d951491 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6690.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6690 FUN_1400b6690 + * Pseudocode, not original source. */ + +void FUN_1400b6690(longlong *param_1,LPVOID param_2) + +{ + longlong *plVar1; + + if (*(longlong *)((longlong)param_2 + 0x30) != 0) { + plVar1 = (longlong *)(*(longlong *)((longlong)param_2 + 0x30) + 8); + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + FUN_140043d50((longlong)((longlong)param_2 + 0x30),*(longlong **)((longlong)param_2 + 0x30)); + } + } + FUN_140095270((longlong *)((longlong)param_2 + 0x18)); + if (*(longlong *)((longlong)param_2 + 0x20) != 0) { + if (*(int *)((longlong)param_2 + 0x2c) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)((longlong)param_2 + 0x28) = 0; + } + plVar1 = (longlong *)*param_1; + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(param_2); + } + else { + (**(code **)(*plVar1 + 0x10))(plVar1,param_2); + } + param_1[3] = param_1[3] + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6720.c b/decomp/Agent_Release_x64/full/functions/0x1400b6720.c new file mode 100644 index 00000000..b1e6918c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6720.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6720 FUN_1400b6720 + * Pseudocode, not original source. */ + +void FUN_1400b6720(longlong *param_1) + +{ + longlong *plVar1; + longlong lVar2; + longlong *plVar3; + longlong *plVar4; + + lVar2 = param_1[3]; + while( true ) { + if (lVar2 == 0) { + param_1[1] = 0; + param_1[2] = 0; + return; + } + plVar3 = (longlong *)param_1[1]; + if (plVar3 == (longlong *)0x0) break; + plVar4 = plVar3 + 6; + param_1[1] = *plVar3; + if (*plVar4 != 0) { + plVar1 = (longlong *)(*plVar4 + 8); + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + FUN_140043d50((longlong)plVar4,(longlong *)*plVar4); + } + } + FUN_140095270(plVar3 + 3); + if (plVar3[4] != 0) { + if (*(int *)((longlong)plVar3 + 0x2c) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(plVar3 + 5) = 0; + } + plVar4 = (longlong *)*param_1; + if (plVar4 == (longlong *)0x0) { + FUN_1400302f0(plVar3); + } + else { + (**(code **)(*plVar4 + 0x10))(plVar4,plVar3); + } + param_1[3] = param_1[3] + -1; + lVar2 = param_1[3]; + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b67e0.c b/decomp/Agent_Release_x64/full/functions/0x1400b67e0.c new file mode 100644 index 00000000..edbe20ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b67e0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b67e0 FUN_1400b67e0 + * Pseudocode, not original source. */ + +void FUN_1400b67e0(longlong *param_1) + +{ + undefined8 *puVar1; + + FUN_1400b6720(param_1); + puVar1 = (undefined8 *)*param_1; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6810.c b/decomp/Agent_Release_x64/full/functions/0x1400b6810.c new file mode 100644 index 00000000..45e576bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6810.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6810 FUN_1400b6810 + * Pseudocode, not original source. */ + +void FUN_1400b6810(longlong param_1) + +{ + undefined8 *puVar1; + + FUN_1400b6720((longlong *)(param_1 + 0x90)); + puVar1 = *(undefined8 **)(param_1 + 0x90); + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400b6720((longlong *)(param_1 + 0x70)); + puVar1 = *(undefined8 **)(param_1 + 0x70); + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400bbbd0(param_1 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6870.c b/decomp/Agent_Release_x64/full/functions/0x1400b6870.c new file mode 100644 index 00000000..37499899 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6870.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6870 FUN_1400b6870 + * Pseudocode, not original source. */ + +void FUN_1400b6870(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + LPVOID pvVar2; + longlong *plVar3; + + FUN_1400bbbd0(param_1 + 0x60); + FUN_1400b6720((longlong *)(param_1 + 0x40)); + puVar1 = *(undefined8 **)(param_1 + 0x40); + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + *(undefined ***)(param_1 + 0x18) = Proud::CFastArray::vftable; + pvVar2 = *(LPVOID *)(param_1 + 0x28); + if (pvVar2 != (LPVOID)0x0) { + plVar3 = *(longlong **)(param_1 + 0x20); + if (plVar3 == (longlong *)0x0) { + FUN_1400302f0(pvVar2); + } + else { + (**(code **)(*plVar3 + 0x18))(plVar3,pvVar2); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b68f0.c b/decomp/Agent_Release_x64/full/functions/0x1400b68f0.c new file mode 100644 index 00000000..f311f9e3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b68f0.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b68f0 FUN_1400b68f0 + * Pseudocode, not original source. */ + +void FUN_1400b68f0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + + FUN_1400b6870(param_1 + 0xf0,param_2,param_3,param_4); + FUN_1400b6720((longlong *)(param_1 + 0x98)); + puVar1 = *(undefined8 **)(param_1 + 0x98); + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400b6720((longlong *)(param_1 + 0x78)); + puVar1 = *(undefined8 **)(param_1 + 0x78); + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + FUN_1400bbbd0(param_1 + 0x38); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6980.c b/decomp/Agent_Release_x64/full/functions/0x1400b6980.c new file mode 100644 index 00000000..838abac1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6980.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6980 FUN_1400b6980 + * Pseudocode, not original source. */ + +void FUN_1400b6980(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + void *pvVar1; + + pvVar1 = (void *)param_1[1]; + if (pvVar1 != (void *)0x0) { + FUN_1400b68f0((longlong)pvVar1,param_2,param_3,param_4); + operator_delete(pvVar1); + } + *param_1 = Proud::IReliableUdpHostDelegate::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b69d0.c b/decomp/Agent_Release_x64/full/functions/0x1400b69d0.c new file mode 100644 index 00000000..54526a5d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b69d0.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b69d0 FUN_1400b69d0 + * Pseudocode, not original source. */ + +void FUN_1400b69d0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + void *pvVar1; + longlong *plVar2; + undefined8 *puVar3; + + *param_1 = Proud::CRemotePeer_C::vftable; + param_1[1] = Proud::CRemotePeer_C::vftable; + param_1[2] = Proud::CRemotePeer_C::vftable; + pvVar1 = (void *)param_1[200]; + if (pvVar1 != (void *)0x0) { + FUN_1400b68f0((longlong)pvVar1,param_2,param_3,param_4); + operator_delete(pvVar1); + } + param_1[199] = Proud::IReliableUdpHostDelegate::vftable; + FUN_140079860((char *)(param_1 + 0xb6)); + FUN_14003b870(param_1 + 0xa7); + FUN_140071f30(param_1 + 5); + if ((param_1[3] != 0) && + (*(longlong *)(param_1[3] + 8) = *(longlong *)(param_1[3] + 8) + -1, + *(longlong *)(param_1[3] + 8) == 0)) { + plVar2 = (longlong *)param_1[3]; + puVar3 = (undefined8 *)*plVar2; + if (puVar3 != (undefined8 *)0x0) { + (**(code **)*puVar3)(puVar3,1); + } + FUN_1400302f0(plVar2); + } + param_1[2] = Proud::IUdpPacketFragBoardDg::vftable; + param_1[1] = Proud::IP2PGroupMember::vftable; + *param_1 = Proud::ISendDest_C::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6ae0.c b/decomp/Agent_Release_x64/full/functions/0x1400b6ae0.c new file mode 100644 index 00000000..c785d39a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6ae0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6ae0 FUN_1400b6ae0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400b6ae0(longlong param_1) + +{ + return *(undefined4 *)(param_1 + 0x56c); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6af0.c b/decomp/Agent_Release_x64/full/functions/0x1400b6af0.c new file mode 100644 index 00000000..cf18fd3f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6af0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6af0 FUN_1400b6af0 + * Pseudocode, not original source. */ + +void FUN_1400b6af0(longlong param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400b6d30((undefined8 *)(param_1 + -8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6b00.c b/decomp/Agent_Release_x64/full/functions/0x1400b6b00.c new file mode 100644 index 00000000..f2d74ea9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6b00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6b00 FUN_1400b6b00 + * Pseudocode, not original source. */ + +void FUN_1400b6b00(longlong param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400b6d30((undefined8 *)(param_1 + -0x10),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6b10.c b/decomp/Agent_Release_x64/full/functions/0x1400b6b10.c new file mode 100644 index 00000000..cbc266e9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6b10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6b10 FUN_1400b6b10 + * Pseudocode, not original source. */ + +void FUN_1400b6b10(longlong param_1) + +{ + FUN_1400b6ae0(param_1 + -8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6b20.c b/decomp/Agent_Release_x64/full/functions/0x1400b6b20.c new file mode 100644 index 00000000..1770672e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6b20.c @@ -0,0 +1,61 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6b20 FUN_1400b6b20 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400b6c98) */ +/* WARNING: Removing unreachable block (ram,0x0001400b6ca1) */ +/* WARNING: Removing unreachable block (ram,0x0001400b6cc2) */ +/* WARNING: Removing unreachable block (ram,0x0001400b6ccb) */ + +undefined8 * FUN_1400b6b20(undefined8 *param_1,longlong param_2) + +{ + *param_1 = Proud::CRemotePeer_C::vftable; + param_1[1] = Proud::CRemotePeer_C::vftable; + param_1[2] = Proud::CRemotePeer_C::vftable; + param_1[3] = 0; + param_1[5] = 0; + *(undefined4 *)(param_1 + 6) = 0; + *(undefined4 *)((longlong)param_1 + 0x34) = 0; + *(undefined4 *)(param_1 + 7) = 0; + *(undefined4 *)((longlong)param_1 + 0x3c) = 0; + *(undefined4 *)(param_1 + 0xa5) = 0; + param_1[0xa8] = 0; + param_1[0xa9] = 0; + param_1[0xaa] = 0; + param_1[0xab] = 0; + param_1[0xa7] = Proud::ByteArray::vftable; + *(undefined1 *)(param_1 + 0xac) = 0; + param_1[0xae] = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 0xaf) = 0; + *(undefined2 *)((longlong)param_1 + 0x57c) = 0; + param_1[0xb0] = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 0xb1) = 0; + *(undefined2 *)((longlong)param_1 + 0x58c) = 0; + param_1[0xb2] = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 0xb3) = 0; + *(undefined2 *)((longlong)param_1 + 0x59c) = 0; + param_1[0xb4] = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 0xb5) = 0; + *(undefined2 *)((longlong)param_1 + 0x5ac) = 0; + *(undefined1 *)(param_1 + 0xb6) = 0; + param_1[0xc0] = 0; + param_1[0xb7] = 0; + param_1[0xb8] = 0; + param_1[0xb9] = 0; + *(undefined4 *)(param_1 + 0xbb) = 0x11; + param_1[0xba] = 0; + *(undefined4 *)(param_1 + 0xbf) = 0; + *(undefined4 *)((longlong)param_1 + 0x5dc) = 0x3f400000; + *(undefined4 *)(param_1 + 0xbc) = 0x3e800000; + *(undefined4 *)((longlong)param_1 + 0x5e4) = 0x40100000; + param_1[0xbd] = 0x26; + param_1[0xbe] = 0; + FUN_1400b8b60(param_1 + 199,param_1); + param_1[0xcd] = param_1; + FUN_1400b5380((longlong)param_1,param_2); + *(undefined4 *)(param_1 + 0xd0) = 0; + *(undefined1 *)((longlong)param_1 + 0x684) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6d30.c b/decomp/Agent_Release_x64/full/functions/0x1400b6d30.c new file mode 100644 index 00000000..ce87cd82 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6d30.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6d30 FUN_1400b6d30 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400b6d30(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400b69d0(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6d60.c b/decomp/Agent_Release_x64/full/functions/0x1400b6d60.c new file mode 100644 index 00000000..3b31bd60 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6d60.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6d60 FUN_1400b6d60 + * Pseudocode, not original source. */ + +void FUN_1400b6d60(longlong param_1) + +{ + (**(code **)(*(longlong *)(param_1 + -0x40) + 0x10))(param_1 + -0x40); + *(undefined8 *)(param_1 + 0xe0) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6d90.c b/decomp/Agent_Release_x64/full/functions/0x1400b6d90.c new file mode 100644 index 00000000..aca1486a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6d90.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6d90 FUN_1400b6d90 + * Pseudocode, not original source. */ + +void FUN_1400b6d90(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong *plVar2; + char cVar3; + uint uVar4; + undefined8 uVar5; + longlong lVar6; + longlong lVar7; + double dVar8; + undefined **local_18; + undefined4 local_10; + undefined2 local_c; + + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x118) + 0x78) + 0x10)) + (*(longlong *)(param_1 + 0x118) + 0x78); + if ((*(double *)(param_1 + 0x148) == 0.0) && (*(char *)(param_1 + 0x80) == '\0')) { + lVar7 = 0; + lVar6 = lVar7; + if (*(longlong **)(param_1 + 0x100) != (longlong *)0x0) { + lVar6 = **(longlong **)(param_1 + 0x100); + } + cVar3 = FUN_140035730(lVar6); + if (cVar3 == '\0') { + plVar1 = *(longlong **)(param_1 + 0x110); + plVar2 = *(longlong **)(param_1 + 0x108); + dVar8 = (double)(**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x118) + 0x70) + 0x1c0)) + (*(longlong *)(param_1 + 0x118) + 0x70); + uVar5 = FUN_140099370(plVar2,plVar1,dVar8,param_4); + if (((char)uVar5 != '\0') && (0 < *(longlong *)(*(longlong *)(param_1 + 0x110) + 8))) { + plVar1 = *(longlong **)(param_1 + 0x110); + *(undefined1 *)(param_1 + 0x80) = 1; + local_18 = Proud::AddrPort::vftable; + local_10 = (undefined4)plVar1[0xd5]; + local_c = *(undefined2 *)((longlong)plVar1 + 0x6ac); + if (*(longlong **)(param_1 + 0x100) != (longlong *)0x0) { + lVar7 = **(longlong **)(param_1 + 0x100); + } + uVar4 = FUN_140037090(lVar7,plVar1,(longlong)&local_18,(ulonglong)*(uint *)(plVar1 + 0xd6)); + if (uVar4 != 0) { + *(undefined1 *)(param_1 + 0x80) = 0; + } + } + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6ec0.c b/decomp/Agent_Release_x64/full/functions/0x1400b6ec0.c new file mode 100644 index 00000000..bdcd15f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6ec0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6ec0 FUN_1400b6ec0 + * Pseudocode, not original source. */ + +void FUN_1400b6ec0(longlong param_1,undefined8 param_2,undefined **param_3,undefined8 param_4) + +{ + uint uVar1; + longlong lVar2; + longlong lVar3; + undefined8 uVar4; + + if ((*(double *)(param_1 + 0x148) == 0.0) && (*(char *)(param_1 + 0xc0) == '\0')) { + lVar2 = 0; + lVar3 = lVar2; + if (*(longlong **)(param_1 + 0x100) != (longlong *)0x0) { + lVar3 = **(longlong **)(param_1 + 0x100); + } + if (*(char *)(lVar3 + 0x80) == '\0') { + *(undefined1 *)(param_1 + 0xc0) = 1; + if (*(longlong **)(param_1 + 0x100) != (longlong *)0x0) { + lVar2 = **(longlong **)(param_1 + 0x100); + } + uVar1 = FUN_140036430(lVar2,(ulonglong)DAT_14015504c,param_3,param_4); + if (uVar1 == 0) { + uVar4 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x118) + 0x70) + 0x1c0)) + (*(longlong *)(param_1 + 0x118) + 0x70); + *(undefined8 *)(param_1 + 0x180) = uVar4; + return; + } + *(undefined1 *)(param_1 + 0xc0) = 0; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6f60.c b/decomp/Agent_Release_x64/full/functions/0x1400b6f60.c new file mode 100644 index 00000000..0eb8803c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6f60.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6f60 FUN_1400b6f60 + * Pseudocode, not original source. */ + +void FUN_1400b6f60(longlong param_1,longlong param_2) + +{ + undefined **local_18; + undefined4 local_10; + undefined2 local_c; + + local_18 = Proud::AddrPort::vftable; + local_10 = *(undefined4 *)(param_2 + 8); + local_c = *(undefined2 *)(param_2 + 0xc); + FUN_140097a90(*(longlong *)(param_1 + 0x108),(longlong)&local_18); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6fa0.c b/decomp/Agent_Release_x64/full/functions/0x1400b6fa0.c new file mode 100644 index 00000000..9a613244 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6fa0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6fa0 FUN_1400b6fa0 + * Pseudocode, not original source. */ + +void FUN_1400b6fa0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x118) + 0x78) + 0x10)) + (*(longlong *)(param_1 + 0x118) + 0x78); + if (*(undefined8 **)(param_1 + 0x100) != (undefined8 *)0x0) { + FUN_140035490((longlong *)**(undefined8 **)(param_1 + 0x100),param_2,param_3,param_4); + return; + } + FUN_140035490((longlong *)0x0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b6fe0.c b/decomp/Agent_Release_x64/full/functions/0x1400b6fe0.c new file mode 100644 index 00000000..3cdf0b21 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b6fe0.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b6fe0 FUN_1400b6fe0 + * Pseudocode, not original source. */ + +void FUN_1400b6fe0(longlong param_1) + +{ + int iVar1; + undefined8 *puVar2; + longlong lVar3; + undefined8 local_18 [2]; + + if (*(longlong **)(param_1 + 0x100) == (longlong *)0x0) { + lVar3 = 0; + } + else { + lVar3 = **(longlong **)(param_1 + 0x100); + } + puVar2 = FUN_140034a30(lVar3,local_18); + iVar1 = *(int *)(puVar2 + 1); + *(int *)(param_1 + 0x130) = iVar1; + *(undefined2 *)(param_1 + 0x134) = *(undefined2 *)((longlong)puVar2 + 0xc); + if ((iVar1 == 0) || (iVar1 == -1)) { + FUN_14002fa10(L"클라에서 생성된 UDP 소켓의 IP주소가 미바인딩 주소입니다!") + ; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7040.c b/decomp/Agent_Release_x64/full/functions/0x1400b7040.c new file mode 100644 index 00000000..d79b4d1b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7040.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7040 FUN_1400b7040 + * Pseudocode, not original source. */ + +void FUN_1400b7040(longlong param_1,double param_2,SIZE_T param_3,undefined *param_4) + +{ + FUN_140099810(*(longlong *)(param_1 + 0x108),param_2,param_3,param_4); + if (*(undefined8 **)(param_1 + 0x188) != (undefined8 *)0x0) { + FUN_14009b3b0(*(undefined8 **)(param_1 + 0x188),param_2,param_3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7080.c b/decomp/Agent_Release_x64/full/functions/0x1400b7080.c new file mode 100644 index 00000000..57f19bae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7080.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7080 FUN_1400b7080 + * Pseudocode, not original source. */ + +void FUN_1400b7080(longlong param_1,undefined8 param_2,undefined8 param_3,undefined *param_4) + +{ + FUN_140099b70(*(longlong *)(param_1 + 0x108),param_2,param_3,param_4); + if (*(undefined8 **)(param_1 + 0x188) != (undefined8 *)0x0) { + FUN_14009b4c0(*(undefined8 **)(param_1 + 0x188)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b70b0.c b/decomp/Agent_Release_x64/full/functions/0x1400b70b0.c new file mode 100644 index 00000000..c0893a2b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b70b0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b70b0 FUN_1400b70b0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400b70b0(longlong param_1) + +{ + longlong lVar1; + + if ((*(longlong **)(param_1 + 0xc0) != (longlong *)0x0) && + (lVar1 = **(longlong **)(param_1 + 0xc0), lVar1 != 0)) { + if (*(char *)(lVar1 + 0x80) == '\0') { + return 0; + } + } + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b70e0.c b/decomp/Agent_Release_x64/full/functions/0x1400b70e0.c new file mode 100644 index 00000000..0704395c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b70e0.c @@ -0,0 +1,69 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b70e0 FUN_1400b70e0 + * Pseudocode, not original source. */ + +void FUN_1400b70e0(longlong param_1,undefined8 param_2,undefined **param_3,undefined8 param_4) + +{ + int iVar1; + longlong lVar2; + undefined8 *puVar3; + longlong *plVar4; + longlong *plVar5; + longlong *plVar6; + undefined **local_18; + int local_10; + undefined2 local_c; + + plVar6 = (longlong *)0x0; + plVar4 = plVar6; + if (*(longlong **)(param_1 + 0x100) != (longlong *)0x0) { + plVar4 = (longlong *)**(longlong **)(param_1 + 0x100); + } + FUN_140035070((longlong)plVar4,'\0',param_3,param_4); + lVar2 = FUN_140064be0(*(longlong *)(param_1 + 0x118)); + local_10 = *(int *)(lVar2 + 0x118); + if ((local_10 == 0) || (local_10 == -1)) { + FUN_14002fa10( + L"UDP 소켓을 생성하기 전에 TCP 연결이 이미 되어있는 상태이어야 하는데!" + ); + } + local_18 = Proud::AddrPort::vftable; + local_c = 0; + plVar4 = plVar6; + if (*(longlong **)(param_1 + 0x100) != (longlong *)0x0) { + plVar4 = (longlong *)**(longlong **)(param_1 + 0x100); + } + FUN_140037040((longlong)plVar4,(longlong)&local_18,param_3,param_4); + plVar4 = plVar6; + if (*(longlong **)(param_1 + 0x100) != (longlong *)0x0) { + plVar4 = (longlong *)**(longlong **)(param_1 + 0x100); + } + puVar3 = FUN_140034a30((longlong)plVar4,&local_18); + iVar1 = *(int *)(puVar3 + 1); + *(int *)(param_1 + 0x130) = iVar1; + *(undefined2 *)(param_1 + 0x134) = *(undefined2 *)((longlong)puVar3 + 0xc); + if ((iVar1 == 0) || (iVar1 == -1)) { + FUN_14002fa10(L"클라에서 생성된 UDP 소켓의 IP주소가 미바인딩 주소입니다!") + ; + } + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x118) + 0x78) + 0x10)) + (*(longlong *)(param_1 + 0x118) + 0x78); + plVar4 = plVar6; + if (*(undefined8 **)(param_1 + 0x100) != (undefined8 *)0x0) { + plVar4 = (longlong *)**(undefined8 **)(param_1 + 0x100); + } + lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x118) + 0x5d8); + plVar5 = plVar6; + if (lVar2 != 0) { + plVar5 = *(longlong **)(lVar2 + 0x38); + } + FUN_140039a80(plVar5[0x57],plVar4,(longlong *)param_3,param_4); + if (*(undefined8 **)(param_1 + 0x100) != (undefined8 *)0x0) { + plVar6 = (longlong *)**(undefined8 **)(param_1 + 0x100); + } + FUN_14009e980((longlong)plVar6); + FUN_1400b6ec0(param_1,plVar4,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7230.c b/decomp/Agent_Release_x64/full/functions/0x1400b7230.c new file mode 100644 index 00000000..a7aa126e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7230.c @@ -0,0 +1,78 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7230 FUN_1400b7230 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400b7230(longlong param_1,ulonglong param_2,ulonglong param_3,longlong param_4, + longlong param_5,double param_6,undefined8 *param_7) + +{ + ulonglong uVar1; + longlong lVar2; + undefined ***pppuVar3; + undefined1 auStackY_e58 [32]; + undefined **local_e18; + undefined4 local_e10; + undefined2 local_e0c; + undefined8 local_e08; + undefined8 local_df8; + undefined8 uStack_df0; + undefined8 local_de8; + undefined8 uStack_de0; + exception local_dd8 [80]; + undefined4 local_d88 [2]; + undefined *local_d80; + longlong local_d78; + undefined4 local_d70; + int local_d6c; + undefined1 local_d60 [136]; + undefined1 local_cd8 [3200]; + undefined1 *local_58; + undefined4 local_50; + int local_4c; + ulonglong local_48; + + local_e08 = 0xfffffffffffffffe; + local_48 = DAT_1401555a0 ^ (ulonglong)auStackY_e58; + lVar2 = param_4; + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x118) + 0x78) + 0x10))(); + local_4c = 200; + local_50 = 0; + local_58 = local_cd8; + FUN_1400806d0(local_d88); + FUN_140080350((longlong)local_d88,(longlong)local_d60,0x80,lVar2); + FUN_14009ee20(param_5,(longlong)local_cd8,(SIZE_T)local_d88,lVar2); + local_df8 = *param_7; + uStack_df0 = param_7[1]; + local_de8 = param_7[2]; + uStack_de0 = param_7[3]; + local_e18 = Proud::AddrPort::vftable; + local_e10 = *(undefined4 *)(param_4 + 8); + local_e0c = *(undefined2 *)(param_4 + 0xc); + pppuVar3 = &local_e18; + uVar1 = param_3 & 0xffff; + FUN_14009a260(*(longlong **)(param_1 + 0x108),param_2 & 0xffffffff,uVar1,(ulonglong)pppuVar3, + (longlong)local_cd8,param_6,(uint *)&local_df8); + local_e18 = &local_d80; + FUN_140095270((longlong *)&local_d80); + if (local_d78 != 0) { + if (local_d6c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d70 = 0; + } + if (local_58 == (undefined1 *)0x0) { + FUN_14002f1e0(local_dd8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,uVar1, + pppuVar3); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_dd8,(ThrowInfo *)&DAT_140151b88); + } + if (local_4c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b73e0.c b/decomp/Agent_Release_x64/full/functions/0x1400b73e0.c new file mode 100644 index 00000000..ede48792 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b73e0.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b73e0 FUN_1400b73e0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400b73e0(longlong param_1,uint param_2,ulonglong param_3,longlong param_4,longlong param_5 + ,double param_6,undefined8 *param_7) + +{ + longlong lVar1; + ulonglong uVar2; + undefined ***pppuVar3; + undefined1 auStackY_d68 [32]; + undefined **local_d28; + undefined4 local_d20; + undefined2 local_d1c; + undefined8 local_d18; + exception local_d10 [72]; + undefined1 local_cc8 [3200]; + longlong local_48; + int local_3c; + ulonglong local_38; + + local_d18 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStackY_d68; + lVar1 = FUN_140041760((longlong)local_cc8,param_5,param_3); + local_d28 = Proud::AddrPort::vftable; + local_d20 = *(undefined4 *)(param_4 + 8); + local_d1c = *(undefined2 *)(param_4 + 0xc); + pppuVar3 = &local_d28; + uVar2 = param_3 & 0xffff; + FUN_1400b7230(param_1,(ulonglong)param_2,uVar2,(longlong)pppuVar3,lVar1,param_6,param_7); + if (local_48 == 0) { + FUN_14002f1e0(local_d10,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,uVar2, + pppuVar3); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d10,(ThrowInfo *)&DAT_140151b88); + } + if (local_3c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b74e0.c b/decomp/Agent_Release_x64/full/functions/0x1400b74e0.c new file mode 100644 index 00000000..12c6e34e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b74e0.c @@ -0,0 +1,85 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b74e0 FUN_1400b74e0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400b74e0(undefined8 *param_1,longlong param_2,longlong param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + longlong lVar2; + longlong *plVar3; + longlong *plVar4; + longlong *plVar5; + longlong lVar6; + undefined8 uVar7; + + *param_1 = Proud::ICompletionContext::vftable; + lVar6 = param_3; + FUN_140034f30(param_1 + 8); + *param_1 = Proud::CUdpSocket_C::vftable; + param_1[8] = Proud::CUdpSocket_C::vftable; + plVar5 = (longlong *)0x0; + param_1[0x20] = 0; + param_1[0x21] = 0; + param_1[0x22] = 0; + param_1[0x25] = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 0x26) = 0; + *(undefined2 *)((longlong)param_1 + 0x134) = 0; + param_1[0x27] = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 0x28) = 0; + *(undefined2 *)((longlong)param_1 + 0x144) = 0; + param_1[0x31] = 0; + *(undefined4 *)(param_1 + 0x28) = DAT_1401553d0; + *(undefined2 *)((longlong)param_1 + 0x144) = DAT_1401553d4; + *(undefined4 *)(param_1 + 0x26) = *(undefined4 *)(param_1 + 0x28); + *(undefined2 *)((longlong)param_1 + 0x134) = *(undefined2 *)((longlong)param_1 + 0x144); + *(undefined1 *)(param_1 + 0x10) = 0; + *(undefined1 *)(param_1 + 0x18) = 0; + param_1[0x29] = 0; + uVar7 = (**(code **)(*(longlong *)(param_2 + 0x70) + 0x1c0))(); + param_1[0x30] = uVar7; + param_1[0x23] = param_2; + param_1[0x24] = param_3; + puVar1 = operator_new(0x90); + plVar3 = plVar5; + if (puVar1 != (undefined8 *)0x0) { + if (param_3 == 0) { + lVar6 = param_2 + 0x90; + } + else { + lVar6 = param_3 + 0x10; + } + lVar2 = (**(code **)(*(longlong *)(param_2 + 0x88) + 0x18))(); + plVar3 = FUN_14009bbe0(puVar1,lVar2,lVar6); + } + param_1[0x21] = plVar3; + plVar4 = operator_new(0x6b8); + plVar3 = plVar5; + if (plVar4 != (longlong *)0x0) { + *plVar4 = 0; + plVar4[3] = 0; + plVar4[1] = 0; + plVar4[2] = 100; + plVar4[0xcf] = (longlong)Proud::CFastArray::vftable; + plVar4[0xd0] = 0; + plVar4[0xd1] = 0; + plVar4[0xd2] = 0; + plVar4[0xd3] = 0; + plVar4[0xd4] = (longlong)Proud::AddrPort::vftable; + *(undefined4 *)(plVar4 + 0xd5) = 0; + *(undefined2 *)((longlong)plVar4 + 0x6ac) = 0; + plVar3 = plVar4; + } + param_1[0x22] = plVar3; + FUN_140097890(param_1[0x21]); + puVar1 = operator_new(0x60); + if (puVar1 != (undefined8 *)0x0) { + if (param_1[0x23] != 0) { + plVar5 = (longlong *)(param_1[0x23] + 0x88); + } + plVar5 = FUN_14009bd40(puVar1,plVar5,lVar6,param_4); + } + param_1[0x31] = plVar5; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7700.c b/decomp/Agent_Release_x64/full/functions/0x1400b7700.c new file mode 100644 index 00000000..ee578bf9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7700.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7700 FUN_1400b7700 + * Pseudocode, not original source. */ + +void FUN_1400b7700(longlong param_1,ulonglong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_1400b7890((undefined8 *)(param_1 + -0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7710.c b/decomp/Agent_Release_x64/full/functions/0x1400b7710.c new file mode 100644 index 00000000..5d055213 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7710.c @@ -0,0 +1,62 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7710 FUN_1400b7710 + * Pseudocode, not original source. */ + +void FUN_1400b7710(undefined8 *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + void *pvVar1; + undefined8 *puVar2; + longlong *plVar3; + + *param_1 = Proud::CUdpSocket_C::vftable; + param_1[8] = Proud::CUdpSocket_C::vftable; + pvVar1 = (void *)param_1[0x31]; + if (pvVar1 != (void *)0x0) { + FUN_14009bb80((char *)((longlong)pvVar1 + 8),param_2,(SIZE_T)param_3); + operator_delete(pvVar1); + } + param_1[0x31] = 0; + puVar2 = (undefined8 *)param_1[0x22]; + if (puVar2 != (undefined8 *)0x0) { + FUN_140098db0(puVar2,param_2,(longlong)param_3); + operator_delete(puVar2); + } + param_1[0x22] = 0; + plVar3 = (longlong *)param_1[0x21]; + if (plVar3 != (longlong *)0x0) { + FUN_14009bce0(plVar3,param_2,param_3,param_4); + operator_delete(plVar3); + } + param_1[0x21] = 0; + pvVar1 = (void *)param_1[0x31]; + if (pvVar1 != (void *)0x0) { + FUN_14009bb80((char *)((longlong)pvVar1 + 8),param_2,(SIZE_T)param_3); + operator_delete(pvVar1); + } + puVar2 = (undefined8 *)param_1[0x22]; + if (puVar2 != (undefined8 *)0x0) { + FUN_140098db0(puVar2,param_2,(longlong)param_3); + operator_delete(puVar2); + } + plVar3 = (longlong *)param_1[0x21]; + if (plVar3 != (longlong *)0x0) { + FUN_14009bce0(plVar3,param_2,param_3,param_4); + operator_delete(plVar3); + } + if ((param_1[0x20] != 0) && + (*(longlong *)(param_1[0x20] + 8) = *(longlong *)(param_1[0x20] + 8) + -1, + *(longlong *)(param_1[0x20] + 8) == 0)) { + puVar2 = (undefined8 *)param_1[0x20]; + plVar3 = (longlong *)*puVar2; + if (plVar3 != (longlong *)0x0) { + FUN_1400358a0(plVar3,param_2,param_3,param_4); + FUN_1400302f0(plVar3); + } + FUN_1400302f0(puVar2); + } + param_1[8] = Proud::IHasOverlappedIo::vftable; + *param_1 = Proud::ICompletionContext::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7890.c b/decomp/Agent_Release_x64/full/functions/0x1400b7890.c new file mode 100644 index 00000000..7d89ebe9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7890.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7890 FUN_1400b7890 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400b7890(undefined8 *param_1,ulonglong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_1400b7710(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b78c0.c b/decomp/Agent_Release_x64/full/functions/0x1400b78c0.c new file mode 100644 index 00000000..98ffbc68 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b78c0.c @@ -0,0 +1,96 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b78c0 FUN_1400b78c0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400b78c0(longlong param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + longlong lVar1; + undefined8 *puVar2; + undefined8 *puVar3; + undefined4 uVar4; + ulonglong in_RAX; + longlong *plVar5; + undefined8 uVar6; + longlong *plVar7; + undefined8 **ppuVar8; + longlong *plVar9; + undefined8 *local_res8; + longlong local_res18 [2]; + undefined **local_40; + undefined4 local_38; + undefined2 local_34; + + if (*(longlong *)(param_1 + 0x118) != 0) { + (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x118) + 0x78) + 0x10))(); + local_res8 = (undefined8 *)FUN_140030280(0x400); + plVar9 = (longlong *)0x0; + plVar5 = plVar9; + if (local_res8 != (undefined8 *)0x0) { + param_3 = (longlong *)(*(longlong *)(param_1 + 0x118) + 0x78); + if (*(longlong *)(param_1 + 0x118) == 0) { + param_3 = plVar9; + } + plVar5 = FUN_140035990(local_res8,1,param_3,param_4); + } + if (plVar5 == (longlong *)0x0) { + local_res8 = (undefined8 *)0x0; + } + else { + local_res8 = (undefined8 *)FUN_140030280(0x10); + local_res8[1] = 1; + *local_res8 = plVar5; + } + puVar2 = local_res8; + ppuVar8 = &local_res8; + FUN_140031f40((longlong *)(param_1 + 0x100),(longlong *)ppuVar8); + puVar3 = local_res8; + if (puVar2 != (undefined8 *)0x0) { + plVar5 = puVar2 + 1; + *plVar5 = *plVar5 + -1; + if (*plVar5 == 0) { + plVar5 = (longlong *)*local_res8; + if (plVar5 != (longlong *)0x0) { + FUN_1400358a0(plVar5,ppuVar8,param_3,param_4); + FUN_1400302f0(plVar5); + } + FUN_1400302f0(puVar3); + } + } + plVar5 = plVar9; + if (*(undefined8 **)(param_1 + 0x100) != (undefined8 *)0x0) { + plVar5 = (longlong *)**(undefined8 **)(param_1 + 0x100); + } + FUN_140034b90((longlong)plVar5,param_1,param_3,param_4); + local_40 = Proud::AddrPort::vftable; + local_38 = *(undefined4 *)(param_2 + 8); + local_34 = *(undefined2 *)(param_2 + 0xc); + plVar5 = plVar9; + if (*(undefined8 **)(param_1 + 0x100) != (undefined8 *)0x0) { + plVar5 = (longlong *)**(undefined8 **)(param_1 + 0x100); + } + uVar4 = FUN_140037040((longlong)plVar5,(longlong)&local_40,param_3,param_4); + if ((char)uVar4 != '\0') { + plVar5 = plVar9; + if (*(undefined8 **)(param_1 + 0x100) != (undefined8 *)0x0) { + plVar5 = (longlong *)**(undefined8 **)(param_1 + 0x100); + } + lVar1 = *(longlong *)(*(longlong *)(param_1 + 0x118) + 0x5d8); + plVar7 = plVar9; + if (lVar1 != 0) { + plVar7 = *(longlong **)(lVar1 + 0x38); + } + FUN_140039a80(plVar7[0x57],plVar5,param_3,param_4); + FUN_1400b6fe0(param_1); + if (*(undefined8 **)(param_1 + 0x100) != (undefined8 *)0x0) { + plVar9 = (longlong *)**(undefined8 **)(param_1 + 0x100); + } + uVar6 = FUN_14009e980((longlong)plVar9); + return CONCAT71((int7)((ulonglong)uVar6 >> 8),1); + } + local_res18[0] = 0; + in_RAX = FUN_140031f40((longlong *)(param_1 + 0x100),local_res18); + } + return in_RAX & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7aa0.c b/decomp/Agent_Release_x64/full/functions/0x1400b7aa0.c new file mode 100644 index 00000000..745a596d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7aa0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7aa0 FUN_1400b7aa0 + * Pseudocode, not original source. */ + +void FUN_1400b7aa0(double *param_1,double param_2) + +{ + double dVar1; + + dVar1 = *param_1 - param_2; + *param_1 = dVar1; + *(bool *)(param_1 + 2) = dVar1 < 0.0; + if (dVar1 < 0.0) { + *param_1 = param_1[1]; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7ae0.c b/decomp/Agent_Release_x64/full/functions/0x1400b7ae0.c new file mode 100644 index 00000000..73ac0d31 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7ae0.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7ae0 FUN_1400b7ae0 + * Pseudocode, not original source. */ + +void FUN_1400b7ae0(double *param_1,double param_2) + +{ + double dVar1; + + if (param_2 <= 0.0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + dVar1 = param_1[1]; + param_1[1] = param_2; + *param_1 = (param_2 / dVar1) * *param_1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7b10.c b/decomp/Agent_Release_x64/full/functions/0x1400b7b10.c new file mode 100644 index 00000000..35bcad9f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7b10.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7b10 FUN_1400b7b10 + * Pseudocode, not original source. */ + +void FUN_1400b7b10(double *param_1) + +{ + *(undefined1 *)(param_1 + 2) = 0; + *param_1 = param_1[1] * 0.3; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7b30.c b/decomp/Agent_Release_x64/full/functions/0x1400b7b30.c new file mode 100644 index 00000000..08324d61 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7b30.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7b30 FUN_1400b7b30 + * Pseudocode, not original source. */ + +double * FUN_1400b7b30(double *param_1,double param_2) + +{ + param_1[1] = param_2; + *(undefined1 *)(param_1 + 2) = 0; + *param_1 = param_2 * 0.3; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7b50.c b/decomp/Agent_Release_x64/full/functions/0x1400b7b50.c new file mode 100644 index 00000000..f9add156 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7b50.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7b50 FUN_1400b7b50 + * Pseudocode, not original source. */ + +longlong FUN_1400b7b50(longlong param_1) + +{ + return param_1 + 0x150; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7b60.c b/decomp/Agent_Release_x64/full/functions/0x1400b7b60.c new file mode 100644 index 00000000..598edb5e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7b60.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7b60 FUN_1400b7b60 + * Pseudocode, not original source. */ + +void FUN_1400b7b60(longlong param_1,float param_2,longlong *param_3,undefined8 param_4) + +{ + undefined8 in_RDX; + + FUN_1400c1440((longlong *)(param_1 + 0xf0),in_RDX,(ulonglong)param_3,param_4); + FUN_1400b9980((undefined8 *)(param_1 + 8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7ba0.c b/decomp/Agent_Release_x64/full/functions/0x1400b7ba0.c new file mode 100644 index 00000000..b56248b9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7ba0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7ba0 FUN_1400b7ba0 + * Pseudocode, not original source. */ + +void FUN_1400b7ba0(longlong param_1,undefined8 *param_2,SIZE_T param_3,undefined8 param_4) + +{ + int iVar1; + + iVar1 = (int)param_3; + FUN_1400bbc90((longlong *)(param_1 + 0x38),param_2,param_3); + *(int *)(param_1 + 0xb8) = *(int *)(param_1 + 0xb8) + iVar1; + FUN_1400b9520((undefined8 *)(param_1 + 8),(longlong *)0x0,(longlong *)param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7be0.c b/decomp/Agent_Release_x64/full/functions/0x1400b7be0.c new file mode 100644 index 00000000..f1be3c61 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7be0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7be0 FUN_1400b7be0 + * Pseudocode, not original source. */ + +void FUN_1400b7be0(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400c1b50((longlong *)(param_1 + 0xf0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7bf0.c b/decomp/Agent_Release_x64/full/functions/0x1400b7bf0.c new file mode 100644 index 00000000..9213ee01 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7bf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7bf0 FUN_1400b7bf0 + * Pseudocode, not original source. */ + +void FUN_1400b7bf0(longlong param_1) + +{ + FUN_1400b8c70(param_1 + 8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7c00.c b/decomp/Agent_Release_x64/full/functions/0x1400b7c00.c new file mode 100644 index 00000000..bd19f2b6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7c00.c @@ -0,0 +1,47 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7c00 FUN_1400b7c00 + * Pseudocode, not original source. */ + +void FUN_1400b7c00(longlong param_1,undefined4 *param_2) + +{ + *param_2 = *(undefined4 *)(param_1 + 0x148); + param_2[1] = *(undefined4 *)(param_1 + 0x188); + param_2[2] = *(undefined4 *)(param_1 + 400); + param_2[3] = *(undefined4 *)(param_1 + 0x194); + param_2[4] = *(undefined4 *)(param_1 + 0x1a8); + param_2[5] = *(undefined4 *)(param_1 + 0x100); + param_2[6] = *(undefined4 *)(param_1 + 0x104); + param_2[7] = *(undefined4 *)(param_1 + 0x70); + param_2[8] = *(undefined4 *)(param_1 + 0x90); + param_2[9] = *(undefined4 *)(param_1 + 0xb0); + param_2[10] = *(undefined4 *)(param_1 + 0xb8); + param_2[0xb] = *(undefined4 *)(param_1 + 0xbc); + param_2[0xc] = *(undefined4 *)(param_1 + 0xc0); + param_2[0xd] = *(undefined4 *)(param_1 + 0xd0); + param_2[0xe] = *(undefined4 *)(param_1 + 0x34); + param_2[0x12] = *(undefined4 *)(param_1 + 0x1ac); + if (*(longlong *)(param_1 + 0x90) == 0) { + param_2[0xf] = 0; + } + else { + if (*(longlong *)(param_1 + 0x88) == 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + param_2[0xf] = *(undefined4 *)(*(longlong *)(param_1 + 0x88) + 0x14); + } + if (*(longlong *)(param_1 + 0xb0) != 0) { + if (*(longlong *)(param_1 + 0xa8) == 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + param_2[0x10] = *(undefined4 *)(*(longlong *)(param_1 + 0xa8) + 0x14); + param_2[0x11] = *(undefined4 *)(param_1 + 0xe0); + return; + } + param_2[0x10] = 0; + param_2[0x11] = *(undefined4 *)(param_1 + 0xe0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7d10.c b/decomp/Agent_Release_x64/full/functions/0x1400b7d10.c new file mode 100644 index 00000000..46cac881 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7d10.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7d10 FUN_1400b7d10 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400b7d10(undefined8 *param_1,longlong *param_2,ulonglong param_3) + +{ + undefined8 uVar1; + longlong lVar2; + + uVar1 = (**(code **)(*param_2 + 0x38))(param_2); + FUN_1400b9880(param_1 + 1,param_1,param_3 & 0xffffffff,uVar1); + lVar2 = (**(code **)(*param_2 + 0x38))(param_2); + FUN_1400c1800(param_1 + 0x1e,param_1,param_3 & 0xffffffff,lVar2); + *param_1 = param_2; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7d90.c b/decomp/Agent_Release_x64/full/functions/0x1400b7d90.c new file mode 100644 index 00000000..b4c3fb83 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7d90.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7d90 FUN_1400b7d90 + * Pseudocode, not original source. */ + +undefined1 FUN_1400b7d90(longlong param_1) + +{ + return *(undefined1 *)(*(longlong *)(param_1 + 0x10) + 0x608); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7da0.c b/decomp/Agent_Release_x64/full/functions/0x1400b7da0.c new file mode 100644 index 00000000..8fa644e0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7da0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7da0 FUN_1400b7da0 + * Pseudocode, not original source. */ + +void FUN_1400b7da0(longlong param_1) + +{ + longlong lVar1; + + lVar1 = *(longlong *)(*(longlong *)(param_1 + 0x10) + 0x670); + /* WARNING: Could not recover jumptable at 0x0001400b7db3. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(*(longlong *)(lVar1 + 0x70) + 0x1c0))(lVar1 + 0x70); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7dc0.c b/decomp/Agent_Release_x64/full/functions/0x1400b7dc0.c new file mode 100644 index 00000000..15ad4aee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7dc0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7dc0 FUN_1400b7dc0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400b7dc0(longlong param_1) + +{ + undefined8 uVar1; + + if (*(char *)(*(longlong *)(param_1 + 0x10) + 0x608) == '\0') { + uVar1 = FUN_1400b35d0((longlong *)(*(longlong *)(param_1 + 0x10) + 0x668)); + return uVar1; + } + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7de0.c b/decomp/Agent_Release_x64/full/functions/0x1400b7de0.c new file mode 100644 index 00000000..f1e38f20 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7de0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7de0 FUN_1400b7de0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400b7de0(longlong param_1) + +{ + return *(undefined4 *)(*(longlong *)(param_1 + 0x10) + 0x56c); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7df0.c b/decomp/Agent_Release_x64/full/functions/0x1400b7df0.c new file mode 100644 index 00000000..83e26cab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7df0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7df0 FUN_1400b7df0 + * Pseudocode, not original source. */ + +double FUN_1400b7df0(longlong param_1) + +{ + double dVar1; + double dVar2; + + dVar1 = *(double *)(*(longlong *)(param_1 + 0x10) + 0x50); + dVar2 = 0.0; + if (0.0 < dVar1) { + dVar2 = dVar1; + } + return dVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7e10.c b/decomp/Agent_Release_x64/full/functions/0x1400b7e10.c new file mode 100644 index 00000000..28b50ed3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7e10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7e10 FUN_1400b7e10 + * Pseudocode, not original source. */ + +void FUN_1400b7e10(longlong param_1) + +{ + FUN_1400b7bf0(*(longlong *)(param_1 + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7e20.c b/decomp/Agent_Release_x64/full/functions/0x1400b7e20.c new file mode 100644 index 00000000..15e54441 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7e20.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7e20 FUN_1400b7e20 + * Pseudocode, not original source. */ + +void FUN_1400b7e20(longlong param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + longlong lVar1; + double dVar2; + + lVar1 = *(longlong *)(param_1 + 8); + dVar2 = (double)FUN_1400649f0(*(longlong *)(*(longlong *)(param_1 + 0x10) + 0x670)); + FUN_1400b7b60(lVar1,(float)dVar2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7e50.c b/decomp/Agent_Release_x64/full/functions/0x1400b7e50.c new file mode 100644 index 00000000..22c5ee73 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7e50.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7e50 FUN_1400b7e50 + * Pseudocode, not original source. */ + +undefined8 FUN_1400b7e50(longlong param_1) + +{ + return *(undefined8 *)(*(longlong *)(*(longlong *)(param_1 + 0x10) + 0x670) + 0x4e0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b7e70.c b/decomp/Agent_Release_x64/full/functions/0x1400b7e70.c new file mode 100644 index 00000000..3174fac1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b7e70.c @@ -0,0 +1,84 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b7e70 FUN_1400b7e70 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400b7e70(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + undefined8 *puVar2; + undefined4 *puVar3; + ulonglong uVar4; + undefined1 auStack_e08 [32]; + undefined **local_de8; + longlong local_de0; + undefined8 *local_dd8; + ulonglong local_dd0; + undefined8 local_dc8; + longlong *local_dc0; + undefined8 local_db8; + exception local_db0 [72]; + undefined4 local_d68 [2]; + longlong local_d60; + longlong local_d58; + undefined4 local_d50; + int local_d4c; + undefined1 local_d40 [136]; + undefined1 local_cb8 [3200]; + undefined1 *local_38; + undefined4 local_30; + int local_2c; + ulonglong local_28; + + local_db8 = 0xfffffffffffffffe; + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_e08; + local_2c = 200; + local_30 = 0; + local_38 = local_cb8; + FUN_1400806d0(local_d68); + FUN_140080350((longlong)local_d68,(longlong)local_d40,0x80,param_4); + puVar3 = local_d68; + FUN_14009ee20(param_2,(longlong)local_cb8,(SIZE_T)puVar3,param_4); + local_de0 = 0; + local_dd8 = (undefined8 *)0x0; + local_dd0 = 0; + local_dc8 = 0; + local_de8 = Proud::ByteArray::vftable; + lVar1 = *(longlong *)(*(longlong *)(*(longlong *)(param_1 + 0x10) + 0x670) + 0x4e0); + if (lVar1 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_de0 = lVar1; + thunk_FUN_1400a1fb0((longlong)local_cb8,(longlong)&local_de8,(SIZE_T)puVar3,param_4); + uVar4 = local_dd0 & 0xffffffff; + puVar2 = local_dd8; + if ((int)local_dd0 == 0) { + puVar2 = (undefined8 *)0x0; + } + FUN_1400b7ba0(*(longlong *)(param_1 + 8),puVar2,uVar4,param_4); + FUN_14003b870(&local_de8); + local_dc0 = &local_d60; + FUN_140095270(&local_d60); + if (local_d58 != 0) { + if (local_d4c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_d50 = 0; + } + if (local_38 == (undefined1 *)0x0) { + FUN_14002f1e0(local_db0,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,uVar4, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_db0,(ThrowInfo *)&DAT_140151b88); + } + if (local_2c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b8000.c b/decomp/Agent_Release_x64/full/functions/0x1400b8000.c new file mode 100644 index 00000000..f2d60ddd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b8000.c @@ -0,0 +1,265 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b8000 FUN_1400b8000 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400b8000(longlong param_1,uint *param_2,undefined8 param_3,undefined8 param_4) + +{ + uint uVar1; + longlong lVar2; + longlong *plVar3; + undefined1 *puVar4; + int iVar5; + ulonglong uVar6; + undefined4 *puVar7; + longlong lVar8; + ulonglong uVar9; + SIZE_T SVar10; + undefined8 uVar11; + SIZE_T *pSVar12; + undefined1 auStackY_2808 [32]; + undefined4 uStack_27cc; + int local_27c8 [2]; + longlong local_27c0; + undefined4 local_27b8; + undefined4 uStack_27b4; + undefined4 local_27b0; + int local_27ac; + longlong local_27a0 [2]; + undefined1 local_2790; + undefined4 local_278c; + undefined1 local_2788; + undefined1 local_2787; + undefined8 local_2780; + exception local_2778 [72]; + exception local_2730 [72]; + exception local_26e8 [72]; + SIZE_T local_26a0 [400]; + SIZE_T *local_1a20; + undefined4 local_1a18; + undefined4 local_1a14; + undefined4 local_1a08 [2]; + longlong local_1a00; + longlong local_19f8; + uint local_19f0; + int local_19ec; + undefined1 local_19e0 [136]; + longlong local_1958; + undefined8 uStack_1950; + longlong *local_cd8; + undefined4 local_cd0; + int local_ccc; + undefined1 local_cc8 [3200]; + undefined1 *local_48; + int local_40; + int local_3c; + ulonglong local_38; + undefined8 uStack_30; + + uStack_30 = 0x1400b801a; + local_2780 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStackY_2808; + uVar1 = *param_2; + uVar6 = (ulonglong)uVar1; + iVar5 = DAT_14015de98; + if (uVar1 == 1) { + uVar9 = 0; + if (DAT_140157262 != '\0') { + iVar5 = 1; + } + } + else { + uVar9 = (ulonglong)(uVar1 - 2); + if ((uVar1 - 2 == 0) && (DAT_140157261 != '\0')) { + iVar5 = 1; + } + } + if (*(char *)(*(longlong *)(param_1 + 0x10) + 0x608) == '\0') { + local_ccc = 200; + local_cd0 = 0; + local_cd8 = &local_1958; + FUN_1400806d0(local_27c8); + FUN_1400801a0((longlong)local_27c8,uVar6,uVar9,param_4); + FUN_140080830(local_27c8,0x800,uVar9,param_4); + FUN_140080830(local_27c8,0,uVar9,param_4); + FUN_1400a2a00((byte *)param_2,(longlong)&local_1958,(SIZE_T)local_27c8,param_4); + local_27a0[1] = 0; + local_2790 = 1; + local_278c = 0xffffffff; + local_2788 = 1; + local_2787 = DAT_1401551cc; + plVar3 = local_27a0; + local_27a0[0]._0_4_ = iVar5; + FUN_1400b34c0((longlong *)(*(longlong *)(param_1 + 0x10) + 0x668),(longlong)&local_1958,plVar3); + FUN_140095270(&local_27c0); + if (CONCAT44(uStack_27b4,local_27b8) != 0) { + if (local_27ac < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_27b0 = 0; + } + if (local_cd8 == (longlong *)0x0) { + FUN_14002f1e0(local_2778,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,plVar3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_2778,(ThrowInfo *)&DAT_140151b88); + } + if (local_ccc < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + else if (uVar1 == 1) { + FUN_1400806d0(local_1a08); + SVar10 = 0x80; + puVar4 = local_19e0; + FUN_140080350((longlong)local_1a08,(longlong)puVar4,0x80,param_4); + FUN_14001ba80((longlong)local_1a08,CONCAT71((int7)((ulonglong)puVar4 >> 8),0x16),SVar10,param_4) + ; + FUN_140021e80((longlong)local_1a08,(ulonglong)*(uint *)(*(longlong *)(param_1 + 0x10) + 0x56c), + SVar10,param_4); + FUN_140021e80((longlong)local_1a08,(ulonglong)param_2[1],SVar10,param_4); + puVar7 = local_1a08; + plVar3 = local_27a0; + FUN_140080120(plVar3,(longlong)puVar7); + if (*(longlong *)(param_2 + 2) == 0) { + if (*(longlong *)(param_2 + 4) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(plVar3,puVar7,SVar10,param_4); + } + uVar1 = param_2[6]; + } + else { + uVar1 = *(uint *)(*(longlong *)(param_2 + 2) + 0x18); + } + lVar8 = (longlong)(int)uVar1; + FUN_140081aa0((longlong)local_1a08,lVar8,SVar10,param_4); + local_3c = 200; + lVar2 = 0; + local_40 = 0; + local_48 = local_cc8; + local_ccc = 200; + local_cd0 = 0; + local_cd8 = &local_1958; + if (local_1a00 == 0) { + if (local_19f8 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,lVar8,SVar10,param_4); + } + } + else { + local_19f0 = *(uint *)(local_1a00 + 0x18); + } + local_1958 = local_19f8; + if (local_19f8 == 0) { + if (local_1a00 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,(ulonglong)local_19f0,SVar10,param_4); + } + local_1958 = lVar2; + if (*(int *)(local_1a00 + 0x18) != 0) { + local_1958 = *(longlong *)(local_1a00 + 0x10); + } + } + local_cd0 = 1; + uStack_1950 = CONCAT44(uStack_27cc,local_19f0); + plVar3 = &local_1958; + puVar4 = local_cc8; + FUN_140040a60((longlong)puVar4,(longlong)plVar3,SVar10,param_4); + if (local_cd8 == (longlong *)0x0) { + FUN_14002f1e0(local_2778,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,SVar10, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_2778,(ThrowInfo *)&DAT_140151b88); + } + if (local_ccc < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_cd0 = 0; + lVar8 = *(longlong *)(param_2 + 2); + if (lVar8 == 0) { + if (*(longlong *)(param_2 + 4) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar4,plVar3,SVar10,param_4); + } + uVar1 = param_2[6]; + } + else { + uVar1 = *(uint *)(lVar8 + 0x18); + } + if (*(longlong *)(param_2 + 4) == 0) { + if (lVar8 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370((ulonglong)uVar1,plVar3,SVar10,param_4); + } + if (*(int *)(lVar8 + 0x18) != 0) { + lVar2 = *(longlong *)(lVar8 + 0x10); + } + } + else { + lVar2 = *(longlong *)(param_2 + 4); + if (lVar2 == 0) { + FUN_14002f1e0(local_26e8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,SVar10, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_26e8,(ThrowInfo *)&DAT_140151b88); + } + } + if (local_48 == (undefined1 *)0x0) { + FUN_14002f1e0(local_2730,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,0,param_4 + ); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_2730,(ThrowInfo *)&DAT_140151b88); + } + if (local_40 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar5 = local_40 + 1; + if ((iVar5 < 0) || (local_3c < iVar5)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(longlong *)(local_48 + (longlong)local_40 * 0x10) = lVar2; + *(ulonglong *)(local_48 + (longlong)local_40 * 0x10 + 8) = CONCAT44(uStack_27cc,uVar1); + local_1a14 = 200; + local_1a18 = 0; + local_1a20 = local_26a0; + local_40 = iVar5; + FUN_140065c40((longlong *)&local_48,&local_1a20,local_48,param_4); + local_27c8[0] = DAT_14015de98; + local_27c0 = DAT_14015de90; + local_27b8 = CONCAT31(local_27b8._1_3_,DAT_14015dea0); + uStack_27b4 = 0xffffffff; + local_27b0._0_2_ = CONCAT11(DAT_1401551cc,DAT_14015dec0); + uVar1 = (**(code **)(**(longlong **)(param_1 + 0x10) + 8))(); + pSVar12 = local_26a0; + uVar11 = 1; + FUN_140065ef0(*(longlong *)(*(longlong *)(param_1 + 0x10) + 0x670),uVar1,1,pSVar12, + (SIZE_T *)local_27c8); + if (local_48 == (undefined1 *)0x0) { + FUN_14002f1e0(local_2730,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,uVar11, + pSVar12); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_2730,(ThrowInfo *)&DAT_140151b88); + } + if (local_3c < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_40 = 0; + FUN_140080140(local_27a0); + FUN_140095270(&local_1a00); + if ((local_19f8 != 0) && (local_19ec < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b8570.c b/decomp/Agent_Release_x64/full/functions/0x1400b8570.c new file mode 100644 index 00000000..640c9dc9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b8570.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b8570 FUN_1400b8570 + * Pseudocode, not original source. */ + +void FUN_1400b8570(longlong param_1,longlong *param_2,longlong param_3,undefined4 *param_4) + +{ + longlong *plVar1; + ulonglong uVar2; + longlong lVar3; + undefined4 *puVar4; + + lVar3 = param_3; + puVar4 = param_4; + FUN_1400700b0(param_3,0,param_3,param_4); + FUN_1400b7be0(*(longlong *)(param_1 + 8),param_2,lVar3,puVar4); + plVar1 = (longlong *)FUN_1400b7b50(*(longlong *)(param_1 + 8)); + uVar2 = FUN_14009f830(plVar1,param_3,(ulonglong)*(uint *)(*(longlong *)(param_1 + 0x10) + 0x56c), + (ulonglong) + *(uint *)(*(longlong *)(*(longlong *)(param_1 + 0x10) + 0x670) + 0x6a4), + param_4); + if ((int)uVar2 < 0) { + *(undefined1 *)(param_1 + 0x18) = 1; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b8600.c b/decomp/Agent_Release_x64/full/functions/0x1400b8600.c new file mode 100644 index 00000000..cd16ee8a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b8600.c @@ -0,0 +1,293 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b8600 FUN_1400b8600 + * Pseudocode, not original source. */ + +ulonglong FUN_1400b8600(longlong *param_1,uint *param_2,ulonglong param_3,undefined4 *param_4) + +{ + undefined8 *puVar1; + longlong *plVar2; + longlong *plVar3; + undefined8 uVar4; + ulonglong uVar5; + longlong *plVar6; + longlong *plVar7; + longlong *plVar8; + uint *puVar9; + uint ***pppuVar10; + int iVar11; + SIZE_T SVar12; + undefined4 *puVar13; + uint **local_res8; + undefined8 local_d8; + uint *local_d0; + longlong *local_c8; + undefined8 local_c0; + longlong *local_b8; + longlong *local_b0; + undefined4 local_a8; + undefined4 local_a4; + longlong *local_a0; + longlong *local_98; + undefined8 local_90; + exception local_88 [80]; + + local_90 = 0xfffffffffffffffe; + uVar5 = param_3; + puVar13 = param_4; + local_b0 = (longlong *)(**(code **)(*param_1 + 0x38))(); + plVar8 = (longlong *)0x0; + local_c0 = 0; + local_c8 = (longlong *)0x0; + local_d0 = (uint *)0x0; + local_b8 = (longlong *)0x0; + local_d8 = 0; + local_a4 = 0; + uVar4 = FUN_140080f30(param_2,(uint *)&local_d8,uVar5,puVar13); + if ((char)uVar4 == '\0') { + if (local_b8 != (longlong *)0x0) { + plVar8 = local_b8 + 1; + *plVar8 = *plVar8 + -1; + if (*plVar8 == 0) { + FUN_140043d50((longlong)&local_b8,local_b8); + } + } + local_res8 = &local_d0; + uVar5 = FUN_140095270((longlong *)&local_d0); + if ((local_c8 != (longlong *)0x0) && (local_c0 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + else { + if ((uint)local_d8 != 1) { + if ((uint)local_d8 == 2) { + plVar6 = (longlong *) + (**(code **)(*(longlong *)(*(longlong *)(param_1[2] + 0x670) + 0x88) + 0x18))(); + plVar7 = FUN_14004ded0((longlong *)&local_a0,plVar6,uVar5,puVar13); + plVar3 = local_b0; + plVar2 = local_b8; + plVar6 = (longlong *)*plVar7; + if (plVar6 != (longlong *)0x0) { + plVar6[1] = plVar6[1] + 1; + plVar8 = plVar6; + } + if (local_b8 != (longlong *)0x0) { + plVar6 = local_b8 + 1; + *plVar6 = *plVar6 + -1; + if (*plVar6 == 0) { + puVar1 = (undefined8 *)*local_b8; + *puVar1 = Proud::CFastArray::vftable; + if ((LPVOID)puVar1[2] != (LPVOID)0x0) { + if ((longlong *)puVar1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)puVar1[2]); + } + else { + (**(code **)(*(longlong *)puVar1[1] + 0x18))(); + } + } + (**(code **)(*plVar3 + 0x18))(plVar3,puVar1); + (**(code **)(*local_b0 + 0x18))(local_b0,plVar2); + } + } + plVar6 = local_98; + local_b0 = (longlong *)plVar7[1]; + local_b8 = plVar8; + if (local_a0 != (longlong *)0x0) { + plVar8 = local_a0 + 1; + *plVar8 = *plVar8 + -1; + if (*plVar8 == 0) { + puVar1 = (undefined8 *)*local_a0; + *puVar1 = Proud::CFastArray::vftable; + if ((LPVOID)puVar1[2] != (LPVOID)0x0) { + if ((longlong *)puVar1[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)puVar1[2]); + } + else { + (**(code **)(*(longlong *)puVar1[1] + 0x18))(); + } + } + (**(code **)(*plVar6 + 0x18))(plVar6,puVar1); + (**(code **)(*local_98 + 0x18))(local_98,local_a0); + } + } + if (local_b8 == (longlong *)0x0) { + puVar9 = (uint *)0x0; + } + else { + puVar9 = (uint *)*local_b8; + } + uVar5 = FUN_1400a2d90(puVar9,param_2,uVar5,puVar13); + if ((char)uVar5 == '\0') { + if (local_b8 != (longlong *)0x0) { + plVar8 = local_b8 + 1; + *plVar8 = *plVar8 + -1; + if (*plVar8 == 0) { + FUN_140043d50((longlong)&local_b8,local_b8); + } + } + local_res8 = &local_d0; + uVar5 = FUN_140095270((longlong *)&local_d0); + if ((local_c8 != (longlong *)0x0) && (local_c0 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + else { + uVar4 = FUN_140080600(param_2,&local_res8,4); + if ((char)uVar4 == '\0') { + local_a4 = 0; + if (local_b8 != (longlong *)0x0) { + plVar8 = local_b8 + 1; + *plVar8 = *plVar8 + -1; + if (*plVar8 == 0) { + FUN_140043d50((longlong)&local_b8,local_b8); + } + } + local_res8 = &local_d0; + uVar5 = FUN_140095270((longlong *)&local_d0); + if ((local_c8 != (longlong *)0x0) && (local_c0 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + else { + local_a4 = local_res8._0_4_; + uVar5 = 4; + uVar4 = FUN_140080600(param_2,&local_res8,4); + if ((char)uVar4 != '\0') { + local_a8 = local_res8._0_4_; + goto LAB_1400b8a11; + } + if (local_b8 != (longlong *)0x0) { + plVar8 = local_b8 + 1; + *plVar8 = *plVar8 + -1; + if (*plVar8 == 0) { + FUN_140043d50((longlong)&local_b8,local_b8); + } + } + local_res8 = &local_d0; + uVar5 = FUN_140095270((longlong *)&local_d0); + if ((local_c8 != (longlong *)0x0) && (local_c0 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } + } + goto LAB_1400b8b3d; + } +LAB_1400b8a11: + FUN_1400700b0(param_3,0,uVar5,puVar13); + FUN_1400b7be0(param_1[1],&local_d8,uVar5,puVar13); + plVar8 = (longlong *)FUN_1400b7b50(param_1[1]); + uVar5 = FUN_14009f830(plVar8,param_3,(ulonglong)*(uint *)(param_1[2] + 0x56c), + (ulonglong)*(uint *)(*(longlong *)(param_1[2] + 0x670) + 0x6a4),param_4) + ; + if ((int)uVar5 < 0) { + *(undefined1 *)(param_1 + 3) = 1; + } + if (local_b8 != (longlong *)0x0) { + plVar8 = local_b8 + 1; + *plVar8 = *plVar8 + -1; + if (*plVar8 == 0) { + FUN_140043d50((longlong)&local_b8,local_b8); + } + } + local_res8 = &local_d0; + uVar4 = FUN_140095270((longlong *)&local_d0); + if ((local_c8 != (longlong *)0x0) && (local_c0 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return CONCAT71((int7)((ulonglong)uVar4 >> 8),1); + } + SVar12 = 4; + pppuVar10 = &local_res8; + puVar9 = param_2; + uVar4 = FUN_140080600(param_2,pppuVar10,4); + if ((char)uVar4 == '\0') { + local_d8 = local_d8 & 0xffffffff; + if (local_b8 != (longlong *)0x0) { + plVar8 = local_b8 + 1; + *plVar8 = *plVar8 + -1; + if (*plVar8 == 0) { + FUN_140043d50((longlong)&local_b8,local_b8); + } + } + local_res8 = &local_d0; + uVar5 = FUN_140095270((longlong *)&local_d0); + if ((local_c8 != (longlong *)0x0) && (local_c0 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + goto LAB_1400b8b3d; + } + local_d8 = CONCAT44(local_res8._0_4_,(uint)local_d8); + if (local_c8 != (longlong *)0x0) { + FUN_14002f1e0(local_88,(wchar_t *)PTR_u_Cannot_use_internal_buffer_becau_140156ba0,SVar12, + puVar13); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_88,(ThrowInfo *)&DAT_140151b88); + } + if (local_d0 == (uint *)0x0) { + local_d0 = (uint *)FUN_1400952b0(puVar9,pppuVar10,SVar12); + local_d0[10] = 1; + local_d0[0xb] = 0; + } + puVar9 = param_2; + uVar5 = FUN_140080ca0(param_2,&local_res8,SVar12,puVar13); + if ((((char)uVar5 != '\0') && (iVar11 = (int)local_res8, -1 < iVar11)) && + (iVar11 <= DAT_140155140)) { + if (local_c8 == (longlong *)0x0) { + puVar9 = local_d0; + if (iVar11 < 1) { + if (local_d0 == (uint *)0x0) goto LAB_1400b8ab0; + iVar11 = 0; + } + else if (local_d0 == (uint *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,0,SVar12,puVar13); + } + FUN_14001bc70((longlong)local_d0,iVar11,SVar12); + } + else { + if (local_c0._4_4_ < iVar11) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_c0 = CONCAT44(local_c0._4_4_,iVar11); + } + plVar6 = local_c8; + if (local_c8 == (longlong *)0x0) { + if (local_d0 == (uint *)0x0) { +LAB_1400b8ab0: + /* WARNING: Subroutine does not return */ + FUN_140095370(puVar9,0,SVar12,puVar13); + } + plVar6 = plVar8; + if (local_d0[6] != 0) { + plVar6 = *(longlong **)(local_d0 + 4); + } + } + uVar5 = (ulonglong)local_res8 & 0xffffffff; + uVar4 = FUN_140080600(param_2,plVar6,uVar5); + if ((char)uVar4 != '\0') goto LAB_1400b8a11; + } + if (local_b8 != (longlong *)0x0) { + plVar8 = local_b8 + 1; + *plVar8 = *plVar8 + -1; + if (*plVar8 == 0) { + FUN_140043d50((longlong)&local_b8,local_b8); + } + } + local_res8 = &local_d0; + uVar5 = FUN_140095270((longlong *)&local_d0); + if ((local_c8 != (longlong *)0x0) && (local_c0 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } +LAB_1400b8b3d: + return uVar5 & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b8b60.c b/decomp/Agent_Release_x64/full/functions/0x1400b8b60.c new file mode 100644 index 00000000..67a556a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b8b60.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b8b60 FUN_1400b8b60 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400b8b60(undefined8 *param_1,undefined8 param_2) + +{ + *param_1 = Proud::CRemotePeerReliableUdp::vftable; + param_1[1] = 0; + *(undefined1 *)(param_1 + 3) = 0; + param_1[2] = param_2; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b8b80.c b/decomp/Agent_Release_x64/full/functions/0x1400b8b80.c new file mode 100644 index 00000000..3f515a92 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b8b80.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b8b80 FUN_1400b8b80 + * Pseudocode, not original source. */ + +void FUN_1400b8b80(longlong *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + void *pvVar1; + undefined8 *puVar2; + + pvVar1 = (void *)param_1[1]; + if (pvVar1 != (void *)0x0) { + FUN_1400b68f0((longlong)pvVar1,param_2,param_3,param_4); + operator_delete(pvVar1); + } + param_1[1] = 0; + puVar2 = operator_new(0x1b0); + if (puVar2 == (undefined8 *)0x0) { + param_1[1] = 0; + } + else { + puVar2 = FUN_1400b7d10(puVar2,param_1,param_2 & 0xffffffff); + param_1[1] = (longlong)puVar2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b8c00.c b/decomp/Agent_Release_x64/full/functions/0x1400b8c00.c new file mode 100644 index 00000000..70fc0391 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b8c00.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b8c00 FUN_1400b8c00 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400b8c00(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) + +{ + void *pvVar1; + + pvVar1 = (void *)param_1[1]; + if (pvVar1 != (void *)0x0) { + FUN_1400b68f0((longlong)pvVar1,param_2,param_3,param_4); + operator_delete(pvVar1); + } + *param_1 = Proud::IReliableUdpHostDelegate::vftable; + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b8c70.c b/decomp/Agent_Release_x64/full/functions/0x1400b8c70.c new file mode 100644 index 00000000..14a0ae4d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b8c70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b8c70 FUN_1400b8c70 + * Pseudocode, not original source. */ + +void FUN_1400b8c70(longlong param_1) + +{ + *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b8c80.c b/decomp/Agent_Release_x64/full/functions/0x1400b8c80.c new file mode 100644 index 00000000..e7bfee4e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b8c80.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b8c80 FUN_1400b8c80 + * Pseudocode, not original source. */ + +void FUN_1400b8c80(undefined8 *param_1,int *param_2) + +{ + (**(code **)(**(longlong **)*param_1 + 8))(); + if (*param_2 == 1) { + *(int *)((longlong)param_1 + 0xbc) = *(int *)((longlong)param_1 + 0xbc) + 1; + param_1[3] = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b8cc0.c b/decomp/Agent_Release_x64/full/functions/0x1400b8cc0.c new file mode 100644 index 00000000..dce207ca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b8cc0.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b8cc0 FUN_1400b8cc0 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400b8cc0(undefined8 *param_1) + +{ + double dVar1; + int iVar2; + double dVar3; + + dVar3 = (double)(**(code **)(**(longlong **)*param_1 + 0x18))(); + if ((double)param_1[0x18] == 0.0) { + param_1[0x18] = dVar3; + } + dVar1 = (double)param_1[0x18]; + if (_DAT_1401572a8 < dVar3 - dVar1) { + iVar2 = *(int *)((longlong)param_1 + 0xbc); + param_1[0x18] = dVar3; + *(undefined4 *)((longlong)param_1 + 0xbc) = 0; + *(int *)(param_1 + 0x19) = + (int)(((double)iVar2 - (double)*(int *)(param_1 + 0x19)) * (0.1 / (dVar3 - dVar1)) + + (double)*(int *)(param_1 + 0x19)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b8d60.c b/decomp/Agent_Release_x64/full/functions/0x1400b8d60.c new file mode 100644 index 00000000..9a7182e3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b8d60.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b8d60 FUN_1400b8d60 + * Pseudocode, not original source. */ + +void FUN_1400b8d60(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + longlong local_68; + undefined1 local_60; + undefined4 local_5c; + exception local_50 [72]; + + if (param_1[3] != 0) { + FUN_14002f1e0(local_50,(wchar_t *)PTR_u_Collection_object_can_use_fast_h_1401551d0,param_3, + param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); + } + if (*param_1 == 0) { + FUN_140033200(&local_68); + local_5c = 0; + local_60 = 0; + puVar1 = FUN_140033170(&local_68,param_2,param_3,param_4); + *param_1 = (longlong)puVar1; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b8dd0.c b/decomp/Agent_Release_x64/full/functions/0x1400b8dd0.c new file mode 100644 index 00000000..ce648b73 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b8dd0.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b8dd0 FUN_1400b8dd0 + * Pseudocode, not original source. */ + +undefined4 * FUN_1400b8dd0(undefined4 *param_1,undefined4 *param_2) + +{ + longlong *plVar1; + longlong lVar2; + + *param_1 = *param_2; + param_1[1] = param_2[1]; + *(undefined8 *)(param_1 + 6) = 0; + *(undefined8 *)(param_1 + 4) = 0; + if (*(longlong *)(param_2 + 2) == 0) { + *(undefined8 *)(param_1 + 2) = 0; + param_1[7] = param_2[7]; + *(undefined8 *)(param_1 + 4) = *(undefined8 *)(param_2 + 4); + param_1[6] = param_2[6]; + } + else { + plVar1 = (longlong *)(*(longlong *)(param_2 + 2) + 0x28); + *plVar1 = *plVar1 + 1; + *(undefined8 *)(param_1 + 2) = *(undefined8 *)(param_2 + 2); + } + *(undefined8 *)(param_1 + 10) = *(undefined8 *)(param_2 + 10); + lVar2 = *(longlong *)(param_2 + 8); + if (lVar2 != 0) { + *(longlong *)(lVar2 + 8) = *(longlong *)(lVar2 + 8) + 1; + *(longlong *)(param_1 + 8) = lVar2; + param_1[0xc] = param_2[0xc]; + param_1[0xd] = param_2[0xd]; + return param_1; + } + *(undefined8 *)(param_1 + 8) = 0; + param_1[0xc] = param_2[0xc]; + param_1[0xd] = param_2[0xd]; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b8e60.c b/decomp/Agent_Release_x64/full/functions/0x1400b8e60.c new file mode 100644 index 00000000..24a0b46d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b8e60.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b8e60 FUN_1400b8e60 + * Pseudocode, not original source. */ + +longlong FUN_1400b8e60(longlong *param_1,longlong *param_2) + +{ + longlong lVar1; + + if (param_2 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + lVar1 = *param_2; + if (param_2 == (longlong *)param_1[1]) { + param_1[1] = lVar1; + } + else { + *(longlong *)param_2[1] = lVar1; + } + if (param_2 == (longlong *)param_1[2]) { + param_1[2] = param_2[1]; + } + else { + *(longlong *)(*param_2 + 8) = param_2[1]; + } + FUN_1400b6690(param_1,param_2); + return lVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b8ed0.c b/decomp/Agent_Release_x64/full/functions/0x1400b8ed0.c new file mode 100644 index 00000000..88075880 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b8ed0.c @@ -0,0 +1,107 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b8ed0 FUN_1400b8ed0 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400b8ed0(undefined8 *param_1,double param_2) + +{ + longlong *plVar1; + bool bVar2; + char cVar3; + longlong *plVar4; + int iVar5; + double dVar6; + double dVar7; + double dVar8; + + dVar6 = (double)(**(code **)(**(longlong **)*param_1 + 0x18))(); + (**(code **)(**(longlong **)*param_1 + 0x30))(); + dVar7 = (double)(longlong)param_1[0x15]; + if ((longlong)param_1[0x15] < 0) { + dVar7 = dVar7 + 1.8446744073709552e+19; + } + dVar8 = dVar7 * _DAT_1401572c0; + if (dVar7 * _DAT_1401572c0 <= (double)DAT_1401572c8) { + dVar8 = (double)DAT_1401572c8; + } + if ((double)DAT_1401572cc <= dVar8) { + dVar8 = (double)DAT_1401572cc; + } + dVar8 = dVar8 * param_2; + if (DAT_140155058 * 5.0 < param_2) { + dVar8 = dVar8 / (param_2 / DAT_140155058); + } + iVar5 = (int)dVar8; + if ((int)dVar8 < 1) { + iVar5 = 1; + } + cVar3 = (**(code **)(**(longlong **)*param_1 + 0x10))(); + plVar1 = (longlong *)param_1[0x13]; +joined_r0x0001400b8fa9: + if ((plVar1 == (longlong *)0x0) || (iVar5 < 1)) { + return; + } + if (plVar1 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + bVar2 = false; + plVar4 = plVar1; + if ((double)plVar1[10] <= dVar6 - (double)plVar1[9] && + dVar6 - (double)plVar1[9] != (double)plVar1[10]) goto code_r0x0001400b8fed; + goto LAB_1400b90bf; +code_r0x0001400b8fed: + if (0.0 < (double)plVar1[0xb]) { + dVar8 = dVar6 - (double)plVar1[0xb]; + dVar7 = (double)param_1[0x1a]; + if ((double)param_1[0x1a] <= dVar8) { + dVar7 = dVar8; + } + param_1[0x1a] = dVar7; + } + dVar7 = DAT_140157280 * (double)plVar1[10]; + plVar1[10] = (longlong)dVar7; + if (DAT_140157270 <= dVar7) { + dVar7 = DAT_140157270; + } + *(int *)(plVar1 + 0xc) = (int)plVar1[0xc] + 1; + plVar1[10] = (longlong)dVar7; + plVar1[9] = (longlong)dVar6; + *(int *)((longlong)param_1 + 0xb4) = *(int *)((longlong)param_1 + 0xb4) + 1; + (**(code **)(**(longlong **)*param_1 + 8))(*(longlong **)*param_1,plVar1 + 2); + if ((int)plVar1[2] == 1) { + *(int *)((longlong)param_1 + 0xbc) = *(int *)((longlong)param_1 + 0xbc) + 1; + param_1[3] = 0; + } + if (cVar3 != '\0') { + plVar4 = (longlong *)*plVar1; + if (plVar1 == (longlong *)param_1[0x13]) { + param_1[0x13] = plVar4; + } + else { + *(longlong **)plVar1[1] = plVar4; + } + if (plVar1 == (longlong *)param_1[0x14]) { + param_1[0x14] = plVar1[1]; + } + else { + *(longlong *)(*plVar1 + 8) = plVar1[1]; + } + FUN_1400b6690(param_1 + 0x12,plVar1); + bVar2 = true; + } + iVar5 = iVar5 + -1; + plVar1 = plVar4; + if (!bVar2) { +LAB_1400b90bf: + if (plVar4 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + plVar1 = (longlong *)*plVar4; + } + goto joined_r0x0001400b8fa9; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b9110.c b/decomp/Agent_Release_x64/full/functions/0x1400b9110.c new file mode 100644 index 00000000..0a75ab65 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b9110.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b9110 FUN_1400b9110 + * Pseudocode, not original source. */ + +ulonglong FUN_1400b9110(longlong param_1,int param_2) + +{ + longlong *plVar1; + longlong lVar2; + + plVar1 = *(longlong **)(param_1 + 0x98); + while( true ) { + if (plVar1 == (longlong *)0x0) { + return (ulonglong)(uint)param_2 & 0xffffff00; + } + if (*(int *)((longlong)plVar1 + 0x14) == param_2) break; + plVar1 = (longlong *)*plVar1; + } + lVar2 = FUN_1400b8e60((longlong *)(param_1 + 0x90),plVar1); + return CONCAT71((int7)((ulonglong)lVar2 >> 8),1); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b9150.c b/decomp/Agent_Release_x64/full/functions/0x1400b9150.c new file mode 100644 index 00000000..d57b83c1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b9150.c @@ -0,0 +1,67 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b9150 FUN_1400b9150 + * Pseudocode, not original source. */ + +void FUN_1400b9150(longlong param_1,int param_2) + +{ + longlong *plVar1; + longlong *plVar2; + longlong *plVar3; + + plVar2 = *(longlong **)(param_1 + 0x98); + if (plVar2 != (longlong *)0x0) { + if (plVar2 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + do { + if ((*(int *)((longlong)plVar2 + 0x14) == param_2) || + ((uint)(*(int *)((longlong)plVar2 + 0x14) - param_2) < 0x80000000)) { + plVar3 = (longlong *)*plVar2; + } + else { + plVar3 = (longlong *)*plVar2; + if (plVar2 == *(longlong **)(param_1 + 0x98)) { + *(longlong **)(param_1 + 0x98) = plVar3; + } + else { + *(longlong **)plVar2[1] = plVar3; + } + if (plVar2 == *(longlong **)(param_1 + 0xa0)) { + *(longlong *)(param_1 + 0xa0) = plVar2[1]; + } + else { + *(longlong *)(*plVar2 + 8) = plVar2[1]; + } + if (plVar2[6] != 0) { + plVar1 = (longlong *)(plVar2[6] + 8); + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + FUN_140043d50((longlong)(plVar2 + 6),(longlong *)plVar2[6]); + } + } + FUN_140095270(plVar2 + 3); + if (plVar2[4] != 0) { + if (*(int *)((longlong)plVar2 + 0x2c) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(plVar2 + 5) = 0; + } + plVar1 = *(longlong **)(param_1 + 0x90); + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(plVar2); + *(longlong *)(param_1 + 0xa8) = *(longlong *)(param_1 + 0xa8) + -1; + } + else { + (**(code **)(*plVar1 + 0x10))(plVar1,plVar2); + *(longlong *)(param_1 + 0xa8) = *(longlong *)(param_1 + 0xa8) + -1; + } + } + plVar2 = plVar3; + } while (plVar3 != (longlong *)0x0); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b9280.c b/decomp/Agent_Release_x64/full/functions/0x1400b9280.c new file mode 100644 index 00000000..0105a294 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b9280.c @@ -0,0 +1,118 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b9280 FUN_1400b9280 + * Pseudocode, not original source. */ + +void FUN_1400b9280(undefined8 *param_1) + +{ + longlong *plVar1; + longlong *plVar2; + undefined8 uVar3; + longlong *plVar4; + char cVar5; + undefined8 *puVar6; + longlong lVar7; + double dVar8; + double dVar9; + + lVar7 = (**(code **)(**(longlong **)*param_1 + 0x18))(); + dVar8 = (double)(**(code **)(**(longlong **)*param_1 + 0x30))(); + cVar5 = (**(code **)(**(longlong **)*param_1 + 0x10))(); + plVar4 = (longlong *)param_1[0xf]; + while( true ) { + if (plVar4 == (longlong *)0x0) { + return; + } + if (plVar4 == (longlong *)0x0) break; + plVar4[9] = lVar7; + plVar4[0xb] = lVar7; + if (dVar8 * 2.0 <= 0.0) { + plVar4[10] = DAT_140157268; + } + else { + plVar4[10] = (longlong)(dVar8 * 2.0); + } + dVar9 = (double)plVar4[10]; + if ((double)plVar4[10] <= DAT_140157278) { + dVar9 = DAT_140157278; + } + plVar4[10] = (longlong)dVar9; + if (DAT_140157270 <= dVar9) { + dVar9 = DAT_140157270; + } + plVar4[10] = (longlong)dVar9; + *(int *)(param_1 + 0x17) = *(int *)(param_1 + 0x17) + 1; + (**(code **)(**(longlong **)*param_1 + 8))(*(longlong **)*param_1,plVar4 + 2); + if ((int)plVar4[2] == 1) { + *(int *)((longlong)param_1 + 0xbc) = *(int *)((longlong)param_1 + 0xbc) + 1; + param_1[3] = 0; + } + if (cVar5 == '\0') { + plVar2 = (longlong *)param_1[0x12]; + uVar3 = param_1[0x14]; + if (plVar2 == (longlong *)0x0) { + puVar6 = (undefined8 *)FUN_140030280(0x68); + } + else { + puVar6 = (undefined8 *)(**(code **)(*plVar2 + 8))(plVar2,0x68); + } + if (puVar6 != (undefined8 *)0x0) { + FUN_1400b8dd0((undefined4 *)(puVar6 + 2),(undefined4 *)(plVar4 + 2)); + puVar6[9] = plVar4[9]; + puVar6[10] = plVar4[10]; + puVar6[0xb] = plVar4[0xb]; + *(int *)(puVar6 + 0xc) = (int)plVar4[0xc]; + } + puVar6[1] = uVar3; + *puVar6 = 0; + param_1[0x15] = param_1[0x15] + 1; + if ((undefined8 *)param_1[0x14] == (undefined8 *)0x0) { + param_1[0x13] = puVar6; + } + else { + *(undefined8 *)param_1[0x14] = puVar6; + } + param_1[0x14] = puVar6; + } + plVar2 = (longlong *)*plVar4; + if (plVar4 == (longlong *)param_1[0xf]) { + param_1[0xf] = plVar2; + } + else { + *(longlong **)plVar4[1] = plVar2; + } + if (plVar4 == (longlong *)param_1[0x10]) { + param_1[0x10] = plVar4[1]; + } + else { + *(longlong *)(*plVar4 + 8) = plVar4[1]; + } + if (plVar4[6] != 0) { + plVar1 = (longlong *)(plVar4[6] + 8); + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + FUN_140043d50((longlong)(plVar4 + 6),(longlong *)plVar4[6]); + } + } + FUN_140095270(plVar4 + 3); + if (plVar4[4] != 0) { + if (*(int *)((longlong)plVar4 + 0x2c) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(plVar4 + 5) = 0; + } + plVar1 = (longlong *)param_1[0xe]; + if (plVar1 == (longlong *)0x0) { + FUN_1400302f0(plVar4); + } + else { + (**(code **)(*plVar1 + 0x10))(plVar1,plVar4); + } + param_1[0x11] = param_1[0x11] + -1; + plVar4 = plVar2; + } + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b9520.c b/decomp/Agent_Release_x64/full/functions/0x1400b9520.c new file mode 100644 index 00000000..7400afcb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b9520.c @@ -0,0 +1,192 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b9520 FUN_1400b9520 + * Pseudocode, not original source. */ + +void FUN_1400b9520(undefined8 *param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + uint uVar1; + undefined8 uVar2; + int iVar3; + undefined8 *puVar4; + longlong *_Dst; + longlong lVar5; + char cVar6; + uint uVar7; + longlong *plVar8; + uint uVar9; + ulonglong uVar10; + ulonglong uVar11; + longlong *plVar12; + double dVar13; + longlong *local_80; + longlong *local_78; + undefined8 local_70; + longlong *local_68; + undefined8 local_60; + undefined4 local_58; + undefined4 local_54; + undefined8 local_50; + undefined8 local_48; + undefined8 local_40; + undefined4 local_38; + + cVar6 = (char)param_2; + dVar13 = (double)(**(code **)(**(longlong **)*param_1 + 0x18)) + (*(longlong **)*param_1,param_2,param_3,param_4,0xfffffffffffffffe); + if ((((cVar6 != '\0') || (iVar3 = (**(code **)(**(longlong **)*param_1 + 0x20))(), iVar3 == 0)) || + (DAT_1401572b8 < dVar13 - (double)param_1[4])) && + (param_1[4] = dVar13, 0 < (longlong)param_1[0xd])) { + plVar12 = (longlong *)0x0; + do { + local_60 = (**(code **)(**(longlong **)*param_1 + 0x38))(); + local_70 = 0; + local_78 = (longlong *)0x0; + local_80 = (longlong *)0x0; + local_68 = (longlong *)0x0; + local_54 = 0; + local_40 = 0; + local_50 = 0; + local_48 = 0; + local_38 = 0; + uVar1 = *(uint *)(param_1 + 1); + *(uint *)(param_1 + 1) = uVar1 + 1; + uVar9 = DAT_1401626d8; + if ((int)(uint)param_1[0xd] <= (int)DAT_1401626d8) { + uVar9 = (uint)param_1[0xd]; + } + local_80 = (longlong *)FUN_1400952b0((ulonglong)uVar1,param_2,(SIZE_T)param_3); + local_80[5] = 1; + if ((int)uVar9 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (local_78 == (longlong *)0x0) { + if ((int)uVar9 < 1) { + if (local_80 == (longlong *)0x0) goto LAB_1400b965b; + param_3 = local_80; + uVar7 = 0; + } + else { + uVar7 = uVar9; + if (local_80 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,param_2,param_3,param_4); + } + } + FUN_14001bc70((longlong)local_80,uVar7,(SIZE_T)param_3); + } + else { + if (local_70._4_4_ < (int)uVar9) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + local_70 = CONCAT44(local_70._4_4_,uVar9); + } +LAB_1400b965b: + plVar8 = plVar12; + if (*(int *)(param_1 + 10) != 0) { + plVar8 = (longlong *)param_1[9]; + } + plVar8 = (longlong *)((longlong)plVar8 + param_1[0xc]); + _Dst = local_78; + if (local_78 == (longlong *)0x0) { + if (local_80 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(0,plVar8,0,param_4); + } + _Dst = plVar12; + if ((int)local_80[3] != 0) { + _Dst = (longlong *)local_80[2]; + } + } + param_2 = (longlong *)(longlong)(int)uVar9; + if (param_2 < (longlong *)0x21) { + uVar10 = (ulonglong)(uVar9 & 7); + for (uVar11 = (ulonglong)param_2 >> 3; uVar11 != 0; uVar11 = uVar11 - 1) { + *_Dst = *plVar8; + _Dst = _Dst + 1; + plVar8 = plVar8 + 1; + } + param_4 = 0; + param_3 = (longlong *)0x0; + if (uVar10 != 0) { + lVar5 = (longlong)_Dst - (longlong)plVar8; + do { + *(char *)(lVar5 + (longlong)plVar8) = (char)*plVar8; + plVar8 = (longlong *)((longlong)plVar8 + 1); + uVar10 = uVar10 - 1; + } while (uVar10 != 0); + param_3 = (longlong *)0x0; + } + } + else { + param_3 = param_2; + memcpy(_Dst,plVar8,(size_t)param_2); + } + uVar2 = param_1[0x10]; + plVar8 = (longlong *)param_1[0xe]; + if (plVar8 == (longlong *)0x0) { + puVar4 = (undefined8 *)FUN_140030280(0x68); + } + else { + puVar4 = (undefined8 *)(**(code **)(*plVar8 + 8))(plVar8,0x68); + } + if (puVar4 != (undefined8 *)0x0) { + *(undefined4 *)(puVar4 + 2) = 1; + *(uint *)((longlong)puVar4 + 0x14) = uVar1; + puVar4[5] = 0; + puVar4[4] = 0; + if (local_80 == (longlong *)0x0) { + puVar4[3] = 0; + *(int *)((longlong)puVar4 + 0x2c) = local_70._4_4_; + puVar4[4] = local_78; + *(undefined4 *)(puVar4 + 5) = (undefined4)local_70; + } + else { + local_80[5] = local_80[5] + 1; + puVar4[3] = local_80; + } + puVar4[7] = local_60; + plVar8 = plVar12; + if (local_68 != (longlong *)0x0) { + local_68[1] = local_68[1] + 1; + plVar8 = local_68; + } + puVar4[6] = plVar8; + *(undefined4 *)(puVar4 + 8) = local_58; + *(undefined4 *)((longlong)puVar4 + 0x44) = local_54; + puVar4[9] = local_50; + puVar4[10] = local_48; + puVar4[0xb] = local_40; + *(undefined4 *)(puVar4 + 0xc) = local_38; + } + puVar4[1] = uVar2; + *puVar4 = 0; + param_1[0x11] = param_1[0x11] + 1; + if ((undefined8 *)param_1[0x10] == (undefined8 *)0x0) { + param_1[0xf] = puVar4; + } + else { + *(undefined8 *)param_1[0x10] = puVar4; + } + param_1[0x10] = puVar4; + FUN_1400bbe80(param_1 + 6,(longlong)param_2,param_3,param_4); + if (local_68 != (longlong *)0x0) { + plVar8 = local_68 + 1; + *plVar8 = *plVar8 + -1; + if (*plVar8 == 0) { + param_2 = local_68; + FUN_140043d50((longlong)&local_68,local_68); + } + } + FUN_140095270((longlong *)&local_80); + if ((local_78 != (longlong *)0x0) && (local_70 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + } while (0 < (longlong)param_1[0xd]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b9880.c b/decomp/Agent_Release_x64/full/functions/0x1400b9880.c new file mode 100644 index 00000000..e3947ab7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b9880.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b9880 FUN_1400b9880 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400b9880(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + undefined4 uVar2; + + uVar2 = (undefined4)param_3; + lVar1 = (longlong)DAT_1401550ec; + FUN_1400bbb90(param_1 + 6,lVar1); + param_1[0xe] = 0; + param_1[0x11] = 0; + param_1[0xf] = 0; + param_1[0x10] = 0; + FUN_1400b8d60(param_1 + 0xe,lVar1,param_3,param_4); + param_1[0x12] = 0; + param_1[0x15] = 0; + param_1[0x13] = 0; + param_1[0x14] = 0; + FUN_1400b8d60(param_1 + 0x12,lVar1,param_3,param_4); + param_1[4] = 0; + param_1[2] = 0; + param_1[3] = 0; + param_1[0x16] = 0; + *(undefined4 *)(param_1 + 0x17) = 0; + *(undefined4 *)((longlong)param_1 + 0xbc) = DAT_140157294; + param_1[0x18] = 0; + *(undefined4 *)(param_1 + 0x19) = DAT_140157294; + *(undefined4 *)((longlong)param_1 + 0x2c) = DAT_1401626e0; + *(undefined4 *)((longlong)param_1 + 0xc) = DAT_140157294; + *(undefined4 *)(param_1 + 1) = uVar2; + *param_1 = param_2; + *(undefined4 *)(param_1 + 0x1b) = 0; + param_1[0x1a] = 0; + *(undefined4 *)((longlong)param_1 + 0xdc) = uVar2; + param_1[0x1c] = 0; + *(undefined4 *)(param_1 + 5) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b9980.c b/decomp/Agent_Release_x64/full/functions/0x1400b9980.c new file mode 100644 index 00000000..4b2b4ccd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b9980.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b9980 FUN_1400b9980 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400b9980(undefined8 *param_1,float param_2,longlong *param_3,undefined8 param_4) + +{ + int iVar1; + + FUN_1400b8cc0(param_1); + param_1[2] = (double)param_2 + (double)param_1[2]; + param_1[3] = (double)param_2 + (double)param_1[3]; + iVar1 = DAT_1401626e0; + if ((double)*(int *)((longlong)param_1 + 0xc) < (double)*(int *)(param_1 + 0x19) * _DAT_1401572b0) + { + iVar1 = (int)(double)*(int *)((longlong)param_1 + 0xc) + 1; + } + *(int *)((longlong)param_1 + 0x2c) = iVar1; + FUN_1400b9520(param_1,(longlong *)0x0,param_3,param_4); + FUN_1400b8ed0(param_1,(double)param_2); + FUN_1400b9280(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b9a20.c b/decomp/Agent_Release_x64/full/functions/0x1400b9a20.c new file mode 100644 index 00000000..8c7b3122 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b9a20.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b9a20 FUN_1400b9a20 + * Pseudocode, not original source. */ + +void FUN_1400b9a20(longlong param_1,longlong param_2) + +{ + *(longlong *)(param_1 + 0x78) = param_2; + *(undefined4 *)(param_1 + 0x70) = 0; + if (param_2 + 0x80U < 0x100) { + *(undefined1 *)(param_1 + 0xc) = 1; + *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 1; + *(char *)((longlong)*(int *)(param_1 + 0x70) + 0xc + param_1) = (char)param_2; + *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 1; + return; + } + if (param_2 + 0x8000U < 0x10000) { + *(undefined1 *)(param_1 + 0xc) = 2; + *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 1; + *(short *)((longlong)*(int *)(param_1 + 0x70) + 0xc + param_1) = (short)param_2; + *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 2; + return; + } + if (param_2 + 0x80000000U < 0x100000000) { + *(undefined1 *)(param_1 + 0xc) = 4; + *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 1; + *(int *)((longlong)*(int *)(param_1 + 0x70) + 0xc + param_1) = (int)param_2; + *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 4; + return; + } + *(undefined1 *)(param_1 + 0xc) = 8; + *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 1; + *(longlong *)((longlong)*(int *)(param_1 + 0x70) + 0xc + param_1) = param_2; + *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b9ab0.c b/decomp/Agent_Release_x64/full/functions/0x1400b9ab0.c new file mode 100644 index 00000000..511aa66f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b9ab0.c @@ -0,0 +1,55 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b9ab0 FUN_1400b9ab0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400b9ab0(undefined8 *param_1,char *param_2,int param_3) + +{ + char cVar1; + short sVar2; + int iVar3; + undefined8 uVar4; + uint uVar5; + ulonglong in_RAX; + + *(undefined4 *)(param_1 + 0x10) = 0; + *param_1 = param_2; + *(int *)(param_1 + 1) = param_3; + if (0 < param_3) { + uVar5 = (uint)*param_2; + in_RAX = (ulonglong)uVar5; + *(undefined4 *)(param_1 + 0x10) = 1; + if (uVar5 == 1) { + if (1 < param_3) { + cVar1 = param_2[1]; + *(undefined4 *)(param_1 + 0x10) = 2; + param_1[0xf] = (longlong)cVar1; + return CONCAT71(cVar1 >> 7,1); + } + } + else if (uVar5 == 2) { + if (2 < param_3) { + sVar2 = *(short *)(param_2 + 1); + *(undefined4 *)(param_1 + 0x10) = 3; + param_1[0xf] = (longlong)sVar2; + return CONCAT71((int7)(char)((ushort)sVar2 >> 8),1); + } + } + else if (uVar5 == 4) { + if (4 < param_3) { + iVar3 = *(int *)(param_2 + 1); + *(undefined4 *)(param_1 + 0x10) = 5; + param_1[0xf] = (longlong)iVar3; + return CONCAT71((int7)(int3)((uint)iVar3 >> 8),1); + } + } + else if ((uVar5 == 8) && (8 < param_3)) { + uVar4 = *(undefined8 *)(param_2 + 1); + *(undefined4 *)(param_1 + 0x10) = 9; + param_1[0xf] = uVar4; + return CONCAT71((int7)((ulonglong)uVar4 >> 8),1); + } + } + return in_RAX & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b9b90.c b/decomp/Agent_Release_x64/full/functions/0x1400b9b90.c new file mode 100644 index 00000000..ff844391 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b9b90.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b9b90 FUN_1400b9b90 + * Pseudocode, not original source. */ + +ulonglong FUN_1400b9b90(undefined8 param_1,undefined4 *param_2,longlong param_3,undefined4 param_4) + +{ + uint uVar1; + ulonglong uVar2; + longlong local_68; + undefined4 local_60; + undefined8 local_58; + undefined4 local_50; + undefined4 local_4c; + undefined1 *local_38; + undefined1 *local_30; + undefined8 local_28; + + local_50 = *param_2; + local_38 = &LAB_1400b9b70; + local_30 = &LAB_1400b9b80; + local_28 = 0; + local_68 = param_3; + local_60 = param_4; + local_58 = param_1; + uVar2 = FUN_1400c4270((longlong)&local_68,0xffffffff,"1.2.5",0x58); + if ((int)uVar2 == 0) { + uVar1 = FUN_1400c36c0(&local_68,4); + if (uVar1 != 1) { + FUN_1400c1f10((longlong)&local_68); + if (uVar1 == 0) { + uVar1 = 0xfffffffb; + } + return (ulonglong)uVar1; + } + *param_2 = local_4c; + uVar2 = FUN_1400c1f10((longlong)&local_68); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b9c50.c b/decomp/Agent_Release_x64/full/functions/0x1400b9c50.c new file mode 100644 index 00000000..dd168b77 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b9c50.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b9c50 FUN_1400b9c50 + * Pseudocode, not original source. */ + +ulonglong FUN_1400b9c50(undefined8 param_1,undefined4 *param_2,longlong param_3,int param_4) + +{ + int iVar1; + ulonglong uVar2; + longlong local_68; + int local_60; + undefined8 local_58; + undefined4 local_50; + undefined4 local_4c; + undefined1 *local_38; + undefined1 *local_30; + + local_50 = *param_2; + local_38 = &LAB_1400b9b70; + local_30 = &LAB_1400b9b80; + local_68 = param_3; + local_60 = param_4; + local_58 = param_1; + uVar2 = FUN_1400b9f60((longlong)&local_68,"1.2.5",0x58); + if ((int)uVar2 == 0) { + uVar2 = FUN_1400ba400(&local_68,4); + iVar1 = (int)uVar2; + if (iVar1 != 1) { + FUN_1400ba070((longlong)&local_68); + if ((iVar1 != 2) && ((iVar1 != -5 || (local_60 != 0)))) { + return uVar2 & 0xffffffff; + } + return 0xfffffffd; + } + *param_2 = local_4c; + uVar2 = FUN_1400ba070((longlong)&local_68); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b9d20.c b/decomp/Agent_Release_x64/full/functions/0x1400b9d20.c new file mode 100644 index 00000000..860ee608 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b9d20.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b9d20 FUN_1400b9d20 + * Pseudocode, not original source. */ + +int FUN_1400b9d20(uint param_1) + +{ + return (param_1 >> 0xc) + 0xd + (param_1 >> 0xe) + param_1 + (param_1 >> 0x19); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b9d40.c b/decomp/Agent_Release_x64/full/functions/0x1400b9d40.c new file mode 100644 index 00000000..78b85ab5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b9d40.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b9d40 FUN_1400b9d40 + * Pseudocode, not original source. */ + +undefined8 FUN_1400b9d40(longlong param_1) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + + if ((param_1 != 0) && (puVar2 = *(undefined8 **)(param_1 + 0x28), puVar2 != (undefined8 *)0x0)) { + *(undefined4 *)((longlong)puVar2 + 0x1c) = 0; + *(undefined4 *)(param_1 + 0x1c) = 0; + *(undefined4 *)(param_1 + 0xc) = 0; + *(undefined8 *)(param_1 + 0x20) = 0; + *(undefined4 *)(param_1 + 0x4c) = 1; + *puVar2 = 0; + *(undefined4 *)((longlong)puVar2 + 0xc) = 0; + puVar2[4] = 0; + *(undefined8 *)((longlong)puVar2 + 0x2c) = 0; + *(undefined4 *)((longlong)puVar2 + 0x34) = 0; + puVar2[8] = 0; + puVar1 = puVar2 + 0xa9; + puVar2[0x10] = puVar1; + puVar2[0xc] = puVar1; + puVar2[0xb] = puVar1; + *(undefined4 *)((longlong)puVar2 + 0x14) = 0x8000; + *(undefined4 *)(puVar2 + 0x37b) = 1; + *(undefined4 *)((longlong)puVar2 + 0x1bdc) = 0xffffffff; + return 0; + } + return 0xfffffffe; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b9dc0.c b/decomp/Agent_Release_x64/full/functions/0x1400b9dc0.c new file mode 100644 index 00000000..86bda6e1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b9dc0.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b9dc0 FUN_1400b9dc0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400b9dc0(longlong param_1,uint param_2) + +{ + longlong lVar1; + undefined8 uVar2; + int iVar3; + + if ((param_1 != 0) && (lVar1 = *(longlong *)(param_1 + 0x28), lVar1 != 0)) { + if ((int)param_2 < 0) { + iVar3 = 0; + param_2 = -param_2; + } + else { + iVar3 = ((int)param_2 >> 4) + 1; + if ((int)param_2 < 0x30) { + param_2 = param_2 & 0xf; + } + } + if ((param_2 == 0) || ((7 < (int)param_2 && ((int)param_2 < 0x10)))) { + if ((*(longlong *)(lVar1 + 0x38) != 0) && (*(uint *)(lVar1 + 0x28) != param_2)) { + (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40)); + *(undefined8 *)(lVar1 + 0x38) = 0; + } + *(int *)(lVar1 + 8) = iVar3; + *(uint *)(lVar1 + 0x28) = param_2; + uVar2 = FUN_1400b9d40(param_1); + } + else { + uVar2 = 0xfffffffe; + } + return uVar2; + } + return 0xfffffffe; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b9e70.c b/decomp/Agent_Release_x64/full/functions/0x1400b9e70.c new file mode 100644 index 00000000..cac8160b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b9e70.c @@ -0,0 +1,45 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b9e70 FUN_1400b9e70 + * Pseudocode, not original source. */ + +ulonglong FUN_1400b9e70(longlong param_1,uint param_2,char *param_3,int param_4) + +{ + code *pcVar1; + longlong lVar2; + ulonglong uVar3; + ulonglong uVar4; + + if (((param_3 != (char *)0x0) && (*param_3 == '1')) && (param_4 == 0x58)) { + if (param_1 != 0) { + *(undefined8 *)(param_1 + 0x20) = 0; + if (*(longlong *)(param_1 + 0x30) == 0) { + *(undefined8 *)(param_1 + 0x40) = 0; + *(code **)(param_1 + 0x30) = FUN_1400c42b0; + } + pcVar1 = *(code **)(param_1 + 0x38); + if (pcVar1 == (code *)0x0) { + pcVar1 = FUN_1400c42c0; + } + *(code **)(param_1 + 0x38) = pcVar1; + lVar2 = (**(code **)(param_1 + 0x30))(*(undefined8 *)(param_1 + 0x40),1,0x1be8); + if (lVar2 == 0) { + uVar3 = 0xfffffffc; + } + else { + *(longlong *)(param_1 + 0x28) = lVar2; + *(undefined8 *)(lVar2 + 0x38) = 0; + uVar4 = FUN_1400b9dc0(param_1,param_2); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 != 0) { + (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40),lVar2); + *(undefined8 *)(param_1 + 0x28) = 0; + } + } + return uVar3; + } + return 0xfffffffe; + } + return 0xfffffffa; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b9f60.c b/decomp/Agent_Release_x64/full/functions/0x1400b9f60.c new file mode 100644 index 00000000..e3084148 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b9f60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b9f60 FUN_1400b9f60 + * Pseudocode, not original source. */ + +void FUN_1400b9f60(longlong param_1,char *param_2,int param_3) + +{ + FUN_1400b9e70(param_1,0xf,param_2,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400b9f70.c b/decomp/Agent_Release_x64/full/functions/0x1400b9f70.c new file mode 100644 index 00000000..fdfc4cfe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400b9f70.c @@ -0,0 +1,66 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400b9f70 FUN_1400b9f70 + * Pseudocode, not original source. */ + +undefined8 FUN_1400b9f70(longlong param_1,int param_2) + +{ + longlong lVar1; + int iVar2; + longlong lVar3; + uint uVar4; + uint uVar5; + + lVar1 = *(longlong *)(param_1 + 0x28); + if (*(longlong *)(lVar1 + 0x38) == 0) { + lVar3 = (**(code **)(param_1 + 0x30)) + (*(undefined8 *)(param_1 + 0x40), + 1 << ((byte)*(undefined4 *)(lVar1 + 0x28) & 0x1f),1); + *(longlong *)(lVar1 + 0x38) = lVar3; + if (lVar3 == 0) { + return 1; + } + } + if (*(int *)(lVar1 + 0x2c) == 0) { + *(undefined8 *)(lVar1 + 0x30) = 0; + *(int *)(lVar1 + 0x2c) = 1 << ((byte)*(undefined4 *)(lVar1 + 0x28) & 0x1f); + } + uVar4 = param_2 - *(int *)(param_1 + 0x18); + uVar5 = *(uint *)(lVar1 + 0x2c); + if (uVar4 < uVar5) { + uVar5 = uVar5 - *(int *)(lVar1 + 0x34); + if (uVar4 < uVar5) { + uVar5 = uVar4; + } + memcpy((void *)((ulonglong)*(uint *)(lVar1 + 0x34) + *(longlong *)(lVar1 + 0x38)), + (void *)(*(longlong *)(param_1 + 0x10) - (ulonglong)uVar4),(ulonglong)uVar5); + uVar4 = uVar4 - uVar5; + if (uVar4 == 0) { + *(int *)(lVar1 + 0x34) = *(int *)(lVar1 + 0x34) + uVar5; + uVar4 = *(uint *)(lVar1 + 0x34); + if (*(uint *)(lVar1 + 0x34) == *(uint *)(lVar1 + 0x2c)) { + uVar4 = 0; + } + *(uint *)(lVar1 + 0x34) = uVar4; + if (*(uint *)(lVar1 + 0x2c) <= *(uint *)(lVar1 + 0x30)) { + return 0; + } + iVar2 = *(uint *)(lVar1 + 0x30) + uVar5; + } + else { + memcpy(*(void **)(lVar1 + 0x38),(void *)(*(longlong *)(param_1 + 0x10) - (ulonglong)uVar4), + (ulonglong)uVar4); + iVar2 = *(int *)(lVar1 + 0x2c); + *(uint *)(lVar1 + 0x34) = uVar4; + } + } + else { + memcpy(*(void **)(lVar1 + 0x38),(void *)(*(longlong *)(param_1 + 0x10) - (ulonglong)uVar5), + (ulonglong)uVar5); + iVar2 = *(int *)(lVar1 + 0x2c); + *(undefined4 *)(lVar1 + 0x34) = 0; + } + *(int *)(lVar1 + 0x30) = iVar2; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ba070.c b/decomp/Agent_Release_x64/full/functions/0x1400ba070.c new file mode 100644 index 00000000..5b469166 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ba070.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ba070 FUN_1400ba070 + * Pseudocode, not original source. */ + +undefined8 FUN_1400ba070(longlong param_1) + +{ + if (((param_1 != 0) && (*(longlong *)(param_1 + 0x28) != 0)) && + (*(code **)(param_1 + 0x38) != (code *)0x0)) { + if (*(longlong *)(*(longlong *)(param_1 + 0x28) + 0x38) != 0) { + (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40)); + } + (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40),*(undefined8 *)(param_1 + 0x28)); + *(undefined8 *)(param_1 + 0x28) = 0; + return 0; + } + return 0xfffffffe; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ba0d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ba0d0.c new file mode 100644 index 00000000..5b9fde1f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ba0d0.c @@ -0,0 +1,88 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ba0d0 FUN_1400ba0d0 + * Pseudocode, not original source. */ + +uint FUN_1400ba0d0(uint param_1,uint *param_2,uint param_3) + +{ + uint uVar1; + ulonglong uVar2; + ulonglong uVar3; + uint uVar4; + uint *puVar5; + + uVar4 = ~param_1; + for (; (uVar2 = (ulonglong)param_3, param_3 != 0 && (((ulonglong)param_2 & 3) != 0)); + param_2 = (uint *)((longlong)param_2 + 1)) { + uVar4 = *(uint *)(&DAT_14010dba0 + (ulonglong)(byte)((byte)*param_2 ^ (byte)uVar4) * 4) ^ + uVar4 >> 8; + param_3 = param_3 - 1; + } + if (0x1f < param_3) { + uVar3 = (ulonglong)(param_3 >> 5); + puVar5 = param_2; + do { + uVar4 = uVar4 ^ *puVar5; + uVar4 = *(uint *)(&DAT_14010dfa0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_14010e3a0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_14010dba0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_14010e7a0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar5[1]; + uVar4 = *(uint *)(&DAT_14010dfa0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_14010e3a0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_14010dba0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_14010e7a0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar5[2]; + uVar4 = *(uint *)(&DAT_14010dfa0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_14010e3a0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_14010dba0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_14010e7a0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar5[3]; + uVar4 = *(uint *)(&DAT_14010dfa0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_14010e3a0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_14010dba0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_14010e7a0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar5[4]; + uVar4 = *(uint *)(&DAT_14010dfa0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_14010e3a0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_14010dba0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_14010e7a0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar5[5]; + param_2 = puVar5 + 8; + uVar2 = (ulonglong)((int)uVar2 - 0x20); + uVar4 = *(uint *)(&DAT_14010dfa0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_14010e3a0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_14010dba0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_14010e7a0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar5[6]; + uVar4 = *(uint *)(&DAT_14010dfa0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_14010e3a0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_14010dba0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_14010e7a0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar5[7]; + uVar4 = *(uint *)(&DAT_14010dfa0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_14010e3a0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_14010dba0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_14010e7a0 + (ulonglong)(uVar4 & 0xff) * 4); + uVar3 = uVar3 - 1; + puVar5 = param_2; + } while (uVar3 != 0); + } + if (3 < (uint)uVar2) { + uVar3 = uVar2 >> 2; + do { + uVar4 = uVar4 ^ *param_2; + param_2 = param_2 + 1; + uVar2 = (ulonglong)((int)uVar2 - 4); + uVar4 = *(uint *)(&DAT_14010dfa0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_14010e3a0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_14010dba0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_14010e7a0 + (ulonglong)(uVar4 & 0xff) * 4); + uVar3 = uVar3 - 1; + } while (uVar3 != 0); + } + uVar1 = (uint)uVar2; + while (uVar1 != 0) { + uVar1 = *param_2; + param_2 = (uint *)((longlong)param_2 + 1); + uVar4 = *(uint *)(&DAT_14010dba0 + (ulonglong)(byte)((byte)uVar1 ^ (byte)uVar4) * 4) ^ + uVar4 >> 8; + uVar1 = (int)uVar2 - 1; + uVar2 = (ulonglong)uVar1; + } + return ~uVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ba3f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ba3f0.c new file mode 100644 index 00000000..4b0685cb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ba3f0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ba3f0 FUN_1400ba3f0 + * Pseudocode, not original source. */ + +uint FUN_1400ba3f0(uint param_1,uint *param_2,uint param_3) + +{ + uint uVar1; + + if (param_2 == (uint *)0x0) { + return 0; + } + uVar1 = FUN_1400ba0d0(param_1,param_2,param_3); + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ba400.c b/decomp/Agent_Release_x64/full/functions/0x1400ba400.c new file mode 100644 index 00000000..8a412b4f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ba400.c @@ -0,0 +1,1208 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ba400 FUN_1400ba400 + * Pseudocode, not original source. */ + +ulonglong FUN_1400ba400(longlong *param_1,int param_2) + +{ + uint *puVar1; + uint uVar2; + char cVar3; + int iVar4; + uint uVar5; + uint uVar6; + undefined8 uVar7; + byte bVar8; + ushort uVar9; + uint uVar10; + uint uVar11; + int iVar12; + uint uVar13; + longlong lVar14; + uint *puVar15; + uint uVar16; + uint uVar17; + uint *puVar18; + ulonglong uVar19; + undefined1 *puVar20; + undefined1 *puVar21; + uint uVar22; + ulonglong uVar23; + uint local_res18; + uint local_res20; + undefined2 local_68; + undefined1 local_66; + undefined1 local_65; + undefined4 local_64; + uint local_60; + uint local_5c; + undefined1 *local_58; + + if ((((param_1 == (longlong *)0x0) || (puVar1 = (uint *)param_1[5], puVar1 == (uint *)0x0)) || + (param_1[2] == 0)) || ((*param_1 == 0 && ((int)param_1[1] != 0)))) { + return 0xfffffffe; + } + uVar17 = *puVar1; + uVar5 = puVar1[0x11]; + uVar6 = puVar1[0x10]; + if (uVar17 == 0xb) { + uVar17 = 0xc; + } + *puVar1 = uVar17; + uVar10 = *(uint *)(param_1 + 3); + puVar20 = (undefined1 *)param_1[2]; + uVar16 = *(uint *)(param_1 + 1); + puVar15 = (uint *)*param_1; + local_res18 = 0; + local_res20 = uVar10; + local_60 = uVar10; + local_58 = puVar20; + local_5c = uVar16; + do { + if (0x1e < uVar17) { + return 0xfffffffe; + } + uVar23 = 0; + uVar13 = 0; + uVar11 = local_64; + switch(uVar17) { + case 0: + if (puVar1[2] == 0) { + *puVar1 = 0xc; + } + else { + for (; uVar5 < 0x10; uVar5 = uVar5 + 8) { + uVar2 = 0; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar17 = *puVar15; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar6 = uVar6 + ((uint)(byte)uVar17 << ((byte)uVar5 & 0x1f)); + } + if (((puVar1[2] & 2) == 0) || (uVar6 != 0x8b1f)) { + puVar1[4] = 0; + if (*(longlong *)(puVar1 + 8) != 0) { + *(undefined4 *)(*(longlong *)(puVar1 + 8) + 0x40) = 0xffffffff; + } + if (((puVar1[2] & 1) == 0) || + (uVar17 = (uVar6 & 0xff) * 0x100 + (uVar6 >> 8), uVar17 != (uVar17 / 0x1f) * 0x1f)) { + param_1[4] = (longlong)"incorrect header check"; + *puVar1 = 0x1d; + } + else { + if (((byte)uVar6 & 0xf) != 8) goto LAB_1400ba59f; + uVar5 = uVar5 - 4; + uVar17 = (uVar6 >> 4 & 0xf) + 8; + if (puVar1[10] == 0) { + puVar1[10] = uVar17; + } + else if (puVar1[10] < uVar17) { + param_1[4] = (longlong)"invalid window size"; + *puVar1 = 0x1d; + uVar6 = uVar6 >> 4; + break; + } + puVar1[5] = 1 << (sbyte)uVar17; + uVar17 = FUN_1400c1b80(0,(byte *)0x0,0); + puVar1[6] = uVar17; + *(uint *)((longlong)param_1 + 0x4c) = uVar17; + uVar5 = 0; + *puVar1 = ~(uVar6 >> 0xc) & 2 | 9; + uVar6 = 0; + puVar20 = local_58; + uVar10 = local_res20; + } + } + else { + uVar17 = FUN_1400ba3f0(0,(uint *)0x0,0); + puVar1[6] = uVar17; + local_68 = 0x8b1f; + uVar17 = FUN_1400ba0d0(uVar17,(uint *)&local_68,2); + uVar6 = 0; + uVar5 = 0; + puVar1[6] = uVar17; + *puVar1 = 1; + puVar20 = local_58; + uVar10 = local_res20; + } + } + break; + case 1: + for (; uVar5 < 0x10; uVar5 = uVar5 + 8) { + uVar2 = 0; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar17 = *puVar15; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar6 = uVar6 + ((uint)(byte)uVar17 << ((byte)uVar5 & 0x1f)); + } + puVar1[4] = uVar6; + if ((char)uVar6 == '\b') { + if ((uVar6 & 0xe000) == 0) { + if (*(uint **)(puVar1 + 8) != (uint *)0x0) { + **(uint **)(puVar1 + 8) = uVar6 >> 8 & 1; + } + if ((puVar1[4] & 0x200) != 0) { + local_68 = (undefined2)uVar6; + uVar17 = FUN_1400ba0d0(puVar1[6],(uint *)&local_68,2); + puVar1[6] = uVar17; + } + *puVar1 = 2; + uVar5 = uVar13; + uVar6 = uVar13; + do { + uVar2 = 0; + uVar11 = local_64; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar10 = *puVar15; + uVar17 = uVar5 + 8; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar6 = uVar6 + ((uint)(byte)uVar10 << ((byte)uVar5 & 0x1f)); +joined_r0x0001400ba6e6: + uVar5 = uVar17; + } while (uVar17 < 0x20); + if (*(longlong *)(puVar1 + 8) != 0) { + *(uint *)(*(longlong *)(puVar1 + 8) + 4) = uVar6; + } + if ((puVar1[4] & 0x200) != 0) { + local_68 = (undefined2)uVar6; + local_65 = (undefined1)(uVar6 >> 0x18); + local_66 = (undefined1)(uVar6 >> 0x10); + uVar17 = FUN_1400ba0d0(puVar1[6],(uint *)&local_68,4); + puVar1[6] = uVar17; + } + *puVar1 = 3; + uVar5 = uVar13; + uVar6 = uVar13; + do { + uVar2 = 0; + uVar11 = local_64; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar10 = *puVar15; + uVar17 = uVar5 + 8; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar6 = uVar6 + ((uint)(byte)uVar10 << ((byte)uVar5 & 0x1f)); +joined_r0x0001400ba767: + uVar5 = uVar17; + } while (uVar17 < 0x10); + if (*(longlong *)(puVar1 + 8) != 0) { + *(uint *)(*(longlong *)(puVar1 + 8) + 8) = uVar6 & 0xff; + *(uint *)(*(longlong *)(puVar1 + 8) + 0xc) = uVar6 >> 8; + } + if ((puVar1[4] & 0x200) != 0) { + local_68 = (undefined2)uVar6; + uVar17 = FUN_1400ba0d0(puVar1[6],(uint *)&local_68,2); + puVar1[6] = uVar17; + } + *puVar1 = 4; + uVar5 = uVar13; + uVar6 = uVar13; + goto switchD_1400ba4c1_caseD_4; + } + param_1[4] = (longlong)"unknown header flags set"; + *puVar1 = 0x1d; + } + else { +LAB_1400ba59f: + param_1[4] = (longlong)"unknown compression method"; + *puVar1 = 0x1d; + } + break; + case 2: + uVar17 = uVar5; + goto joined_r0x0001400ba6e6; + case 3: + uVar17 = uVar5; + goto joined_r0x0001400ba767; + case 4: +switchD_1400ba4c1_caseD_4: + if ((puVar1[4] & 0x400) == 0) { + uVar17 = uVar6; + if (*(longlong *)(puVar1 + 8) != 0) { + *(undefined8 *)(*(longlong *)(puVar1 + 8) + 0x10) = 0; + } + } + else { + for (; uVar5 < 0x10; uVar5 = uVar5 + 8) { + uVar2 = 0; + uVar11 = local_64; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar17 = *puVar15; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar6 = uVar6 + ((uint)(byte)uVar17 << ((byte)uVar5 & 0x1f)); + } + puVar1[0x12] = uVar6; + if (*(longlong *)(puVar1 + 8) != 0) { + *(uint *)(*(longlong *)(puVar1 + 8) + 0x18) = uVar6; + } + uVar5 = uVar13; + uVar17 = uVar13; + if ((puVar1[4] & 0x200) != 0) { + local_68 = (undefined2)uVar6; + uVar6 = FUN_1400ba0d0(puVar1[6],(uint *)&local_68,2); + puVar1[6] = uVar6; + } + } + uVar6 = uVar17; + *puVar1 = 5; + case 5: + if ((puVar1[4] & 0x400) == 0) { +LAB_1400ba903: + puVar1[0x12] = 0; + *puVar1 = 6; +switchD_1400ba4c1_caseD_6: + if ((puVar1[4] & 0x800) == 0) { + if (*(longlong *)(puVar1 + 8) != 0) { + *(undefined8 *)(*(longlong *)(puVar1 + 8) + 0x20) = 0; + } +LAB_1400ba9ae: + puVar1[0x12] = 0; + *puVar1 = 7; +switchD_1400ba4c1_caseD_7: + uVar23 = 0; + if ((puVar1[4] & 0x1000) == 0) { + if (*(longlong *)(puVar1 + 8) != 0) { + *(undefined8 *)(*(longlong *)(puVar1 + 8) + 0x30) = 0; + } +LAB_1400baa4e: + *puVar1 = 8; + puVar20 = local_58; + uVar10 = local_res20; +switchD_1400ba4c1_caseD_8: + if ((puVar1[4] & 0x200) != 0) { + for (; uVar5 < 0x10; uVar5 = uVar5 + 8) { + uVar2 = 0; + uVar11 = local_64; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar17 = *puVar15; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar6 = uVar6 + ((uint)(byte)uVar17 << ((byte)uVar5 & 0x1f)); + } + if (uVar6 != (ushort)puVar1[6]) { + param_1[4] = (longlong)"header crc mismatch"; + *puVar1 = 0x1d; + break; + } + uVar5 = 0; + uVar6 = uVar5; + } + if (*(longlong *)(puVar1 + 8) != 0) { + *(uint *)(*(longlong *)(puVar1 + 8) + 0x3c) = (int)puVar1[4] >> 9 & 1; + *(undefined4 *)(*(longlong *)(puVar1 + 8) + 0x40) = 1; + } + uVar17 = FUN_1400ba3f0(0,(uint *)0x0,0); + puVar1[6] = uVar17; + *(uint *)((longlong)param_1 + 0x4c) = uVar17; +LAB_1400baae9: + *puVar1 = 0xb; + puVar20 = local_58; + uVar10 = local_res20; + break; + } + puVar18 = puVar15; + uVar2 = uVar16; + uVar11 = local_64; + if (uVar16 != 0) { + do { + lVar14 = *(longlong *)(puVar1 + 8); + cVar3 = (char)*puVar18; + uVar17 = (int)uVar23 + 1; + uVar23 = (ulonglong)uVar17; + if (((lVar14 != 0) && (*(longlong *)(lVar14 + 0x30) != 0)) && + (puVar1[0x12] < *(uint *)(lVar14 + 0x38))) { + *(char *)((ulonglong)puVar1[0x12] + *(longlong *)(lVar14 + 0x30)) = cVar3; + puVar1[0x12] = puVar1[0x12] + 1; + } + } while ((cVar3 != '\0') && (puVar18 = (uint *)((longlong)puVar18 + 1), uVar17 < uVar16) + ); + if ((puVar1[4] & 0x200) != 0) { + if (puVar15 == (uint *)0x0) { + uVar10 = 0; + } + else { + uVar10 = FUN_1400ba0d0(puVar1[6],puVar15,uVar17); + } + puVar1[6] = uVar10; + } + uVar16 = uVar16 - uVar17; + puVar15 = (uint *)((longlong)puVar15 + uVar23); + uVar2 = uVar16; + uVar11 = local_64; + if (cVar3 == '\0') goto LAB_1400baa4e; + } + } + else { + puVar18 = puVar15; + uVar2 = uVar16; + uVar11 = local_64; + if (uVar16 != 0) { + do { + lVar14 = *(longlong *)(puVar1 + 8); + cVar3 = (char)*puVar18; + uVar17 = (int)uVar23 + 1; + uVar23 = (ulonglong)uVar17; + if (((lVar14 != 0) && (*(longlong *)(lVar14 + 0x20) != 0)) && + (puVar1[0x12] < *(uint *)(lVar14 + 0x28))) { + *(char *)((ulonglong)puVar1[0x12] + *(longlong *)(lVar14 + 0x20)) = cVar3; + puVar1[0x12] = puVar1[0x12] + 1; + } + } while ((cVar3 != '\0') && (puVar18 = (uint *)((longlong)puVar18 + 1), uVar17 < uVar16) + ); + if ((puVar1[4] & 0x200) != 0) { + if (puVar15 == (uint *)0x0) { + uVar10 = 0; + } + else { + uVar10 = FUN_1400ba0d0(puVar1[6],puVar15,uVar17); + } + puVar1[6] = uVar10; + } + uVar16 = uVar16 - uVar17; + puVar15 = (uint *)((longlong)puVar15 + uVar23); + uVar2 = uVar16; + uVar11 = local_64; + if (cVar3 == '\0') goto LAB_1400ba9ae; + } + } + } + else { + uVar17 = puVar1[0x12]; + uVar10 = uVar17; + if (uVar16 < uVar17) { + uVar10 = uVar16; + } + if (uVar10 != 0) { + lVar14 = *(longlong *)(puVar1 + 8); + if ((lVar14 != 0) && (*(longlong *)(lVar14 + 0x10) != 0)) { + uVar17 = *(int *)(lVar14 + 0x18) - uVar17; + uVar11 = uVar10; + if (*(uint *)(lVar14 + 0x1c) < uVar10 + uVar17) { + uVar11 = *(uint *)(lVar14 + 0x1c) - uVar17; + } + memcpy((void *)((ulonglong)uVar17 + *(longlong *)(lVar14 + 0x10)),puVar15, + (ulonglong)uVar11); + } + if ((puVar1[4] & 0x200) != 0) { + if (puVar15 != (uint *)0x0) { + uVar13 = FUN_1400ba0d0(puVar1[6],puVar15,uVar10); + } + puVar1[6] = uVar13; + } + uVar16 = uVar16 - uVar10; + puVar15 = (uint *)((longlong)puVar15 + (ulonglong)uVar10); + puVar1[0x12] = puVar1[0x12] - uVar10; + } + uVar2 = uVar16; + uVar11 = local_64; + if (puVar1[0x12] == 0) goto LAB_1400ba903; + } +LAB_1400bac9a: + local_64 = uVar11; + uVar16 = uVar2; + uVar23 = (ulonglong)local_res18; +LAB_1400bac9e: + uVar17 = local_60; + param_1[2] = (longlong)local_58; + *param_1 = (longlong)puVar15; + *(uint *)(param_1 + 3) = local_res20; + *(uint *)(param_1 + 1) = uVar16; + puVar1[0x11] = uVar5; + puVar1[0x10] = uVar6; + if (((puVar1[0xb] == 0) && ((0x19 < (int)*puVar1 || (local_60 == *(uint *)(param_1 + 3))))) || + (uVar7 = FUN_1400b9f70((longlong)param_1,local_60), (int)uVar7 == 0)) { + uVar17 = uVar17 - (int)param_1[3]; + local_5c = local_5c - (int)param_1[1]; + *(int *)((longlong)param_1 + 0x1c) = *(int *)((longlong)param_1 + 0x1c) + uVar17; + *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + local_5c; + puVar1[7] = puVar1[7] + uVar17; + if ((puVar1[2] != 0) && (uVar17 != 0)) { + if (puVar1[4] == 0) { + uVar6 = FUN_1400c1b80(puVar1[6],(byte *)(param_1[2] - (ulonglong)uVar17),uVar17); + } + else { + puVar15 = (uint *)(param_1[2] - (ulonglong)uVar17); + if (puVar15 == (uint *)0x0) { + uVar6 = 0; + } + else { + uVar6 = FUN_1400ba0d0(puVar1[6],puVar15,uVar17); + } + } + puVar1[6] = uVar6; + *(uint *)((longlong)param_1 + 0x4c) = uVar6; + } + uVar6 = *puVar1; + if ((uVar6 == 0x13) || (uVar6 == 0xe)) { + iVar12 = 0x100; + } + else { + iVar12 = 0; + } + iVar4 = 0; + if (uVar6 == 0xb) { + iVar4 = 0x80; + } + *(uint *)(param_1 + 9) = iVar4 + iVar12 + (-(uint)(puVar1[1] != 0) & 0x40) + puVar1[0x11]; + if (((local_5c != 0) || (uVar17 != 0)) && (param_2 != 4)) { + return uVar23; + } + if ((int)uVar23 != 0) { + return uVar23; + } + return 0xfffffffb; + } + *puVar1 = 0x1e; +LAB_1400bacf9: + return 0xfffffffc; + case 6: + goto switchD_1400ba4c1_caseD_6; + case 7: + goto switchD_1400ba4c1_caseD_7; + case 8: + goto switchD_1400ba4c1_caseD_8; + case 9: + for (; uVar5 < 0x20; uVar5 = uVar5 + 8) { + uVar2 = 0; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar17 = *puVar15; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar6 = uVar6 + ((uint)(byte)uVar17 << ((byte)uVar5 & 0x1f)); + } + uVar17 = (uVar6 >> 8 & 0xff00) + ((uVar6 & 0xff00) + uVar6 * 0x10000) * 0x100 + + (uVar6 >> 0x18); + puVar1[6] = uVar17; + *(uint *)((longlong)param_1 + 0x4c) = uVar17; + *puVar1 = 10; + uVar5 = uVar13; + uVar6 = uVar13; + case 10: + if (puVar1[3] == 0) { + param_1[2] = (longlong)puVar20; + *(uint *)(param_1 + 3) = uVar10; + *param_1 = (longlong)puVar15; + *(uint *)(param_1 + 1) = uVar16; + puVar1[0x10] = uVar6; + puVar1[0x11] = uVar5; + return 2; + } + uVar17 = FUN_1400c1b80(0,(byte *)0x0,0); + puVar1[6] = uVar17; + *(uint *)((longlong)param_1 + 0x4c) = uVar17; + *puVar1 = 0xb; + puVar20 = local_58; + uVar10 = local_res20; +switchD_1400ba4c1_caseD_b: + uVar2 = uVar16; + uVar11 = local_64; + if ((param_2 != 5) && (param_2 != 6)) { +switchD_1400ba4c1_caseD_c: + if (puVar1[1] == 0) { + for (; uVar11 = local_64, uVar5 < 3; uVar5 = uVar5 + 8) { + uVar2 = 0; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar17 = *puVar15; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar6 = uVar6 + ((uint)(byte)uVar17 << ((byte)uVar5 & 0x1f)); + } + puVar1[1] = uVar6 & 1; + uVar17 = uVar6 >> 1 & 3; + if (uVar17 == 0) { + *puVar1 = 0xd; + } + else { + if (uVar17 != 1) { + if (uVar17 == 2) { + *puVar1 = 0x10; + uVar5 = uVar5 - 3; + uVar6 = uVar6 >> 3; + } + else { + if (uVar17 != 3) goto LAB_1400bad25; + uVar5 = uVar5 - 3; + param_1[4] = (longlong)"invalid block type"; + *puVar1 = 0x1d; + uVar6 = uVar6 >> 3; + } + break; + } + puVar1[0x1a] = 9; + puVar1[0x1b] = 5; + *(undefined **)(puVar1 + 0x16) = &DAT_14010d2f0; + *puVar1 = 0x13; + *(undefined **)(puVar1 + 0x18) = &DAT_14010daf0; + if (param_2 == 6) { + uVar6 = uVar6 >> 3; + uVar5 = uVar5 - 3; + uVar2 = uVar16; + goto LAB_1400bac9a; + } + } +LAB_1400bad25: + uVar5 = uVar5 - 3; + uVar6 = uVar6 >> 3; + } + else { + *puVar1 = 0x1a; + uVar17 = uVar5 & 7; + uVar5 = uVar5 - uVar17; + uVar6 = uVar6 >> (sbyte)uVar17; + } + break; + } + goto LAB_1400bac9a; + case 0xb: + goto switchD_1400ba4c1_caseD_b; + case 0xc: + goto switchD_1400ba4c1_caseD_c; + case 0xd: + uVar6 = uVar6 >> (sbyte)(uVar5 & 7); + for (uVar5 = uVar5 - (uVar5 & 7); uVar5 < 0x20; uVar5 = uVar5 + 8) { + uVar2 = 0; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar17 = *puVar15; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar6 = uVar6 + ((uint)(byte)uVar17 << ((byte)uVar5 & 0x1f)); + } + if ((uVar6 & 0xffff) == ~uVar6 >> 0x10) { + puVar1[0x12] = uVar6 & 0xffff; + *puVar1 = 0xe; + uVar5 = uVar13; + uVar6 = uVar13; + uVar2 = uVar16; + if (param_2 == 6) goto LAB_1400bac9a; + goto switchD_1400ba4c1_caseD_e; + } + param_1[4] = (longlong)"invalid stored block lengths"; + *puVar1 = 0x1d; + break; + case 0xe: +switchD_1400ba4c1_caseD_e: + *puVar1 = 0xf; + case 0xf: + uVar17 = puVar1[0x12]; + if (uVar17 == 0) { + *puVar1 = 0xb; + break; + } + if (uVar16 < uVar17) { + uVar17 = uVar16; + } + if (uVar10 < uVar17) { + uVar17 = uVar10; + } + uVar23 = (ulonglong)uVar17; + uVar2 = uVar16; + if (uVar17 != 0) { + memcpy(puVar20,puVar15,uVar23); + local_res20 = local_res20 - uVar17; + puVar15 = (uint *)((longlong)puVar15 + uVar23); + local_58 = local_58 + uVar23; + uVar16 = uVar16 - uVar17; + puVar1[0x12] = puVar1[0x12] - uVar17; + puVar20 = local_58; + uVar10 = local_res20; + break; + } + goto LAB_1400bac9a; + case 0x10: + for (; uVar5 < 0xe; uVar5 = uVar5 + 8) { + uVar2 = 0; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar17 = *puVar15; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar6 = uVar6 + ((uint)(byte)uVar17 << ((byte)uVar5 & 0x1f)); + } + uVar5 = uVar5 - 0xe; + uVar22 = uVar6 >> 10; + uVar17 = (uVar6 & 0x1f) + 0x101; + uVar13 = (uVar6 >> 5 & 0x1f) + 1; + uVar6 = uVar6 >> 0xe; + puVar1[0x1d] = uVar17; + puVar1[0x1e] = uVar13; + puVar1[0x1c] = (uVar22 & 0xf) + 4; + if ((uVar17 < 0x11f) && (uVar13 < 0x1f)) { + puVar1[0x1f] = 0; + *puVar1 = 0x11; + goto switchD_1400ba4c1_caseD_11; + } + param_1[4] = (longlong)"too many length or distance symbols"; + *puVar1 = 0x1d; + break; + case 0x11: +switchD_1400ba4c1_caseD_11: + if (puVar1[0x1f] < puVar1[0x1c]) { + do { + for (; uVar5 < 3; uVar5 = uVar5 + 8) { + uVar2 = 0; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar17 = *puVar15; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar6 = uVar6 + ((uint)(byte)uVar17 << ((byte)uVar5 & 0x1f)); + } + uVar5 = uVar5 - 3; + uVar9 = (ushort)uVar6; + uVar6 = uVar6 >> 3; + *(ushort *) + ((longlong)puVar1 + + (ulonglong)*(ushort *)(&DAT_14010db70 + (ulonglong)puVar1[0x1f] * 2) * 2 + 0x88) = + uVar9 & 7; + puVar1[0x1f] = puVar1[0x1f] + 1; + } while (puVar1[0x1f] < puVar1[0x1c]); + } + uVar17 = puVar1[0x1f]; + while (uVar17 < 0x13) { + *(undefined2 *) + ((longlong)puVar1 + + (ulonglong)*(ushort *)(&DAT_14010db70 + (ulonglong)puVar1[0x1f] * 2) * 2 + 0x88) = 0; + puVar1[0x1f] = puVar1[0x1f] + 1; + uVar17 = puVar1[0x1f]; + } + *(uint **)(puVar1 + 0x20) = puVar1 + 0x152; + *(uint **)(puVar1 + 0x16) = puVar1 + 0x152; + puVar1[0x1a] = 7; + uVar7 = FUN_1400c5ab0(0,(ushort *)(puVar1 + 0x22),0x13,(longlong *)(puVar1 + 0x20), + puVar1 + 0x1a,(undefined *)(puVar1 + 0xc2)); + local_res18 = (uint)uVar7; + if (local_res18 == 0) { + puVar1[0x1f] = 0; + *puVar1 = 0x12; + uVar10 = local_res20; + goto switchD_1400ba4c1_caseD_12; + } + param_1[4] = (longlong)"invalid code lengths set"; + *puVar1 = 0x1d; + puVar20 = local_58; + uVar10 = local_res20; + break; + case 0x12: +switchD_1400ba4c1_caseD_12: + puVar20 = local_58; + if (puVar1[0x1f] < puVar1[0x1e] + puVar1[0x1d]) { + do { + uVar11 = *(uint *)(*(longlong *)(puVar1 + 0x16) + + (ulonglong)((1 << ((byte)puVar1[0x1a] & 0x1f)) - 1U & uVar6) * 4); + uVar17 = uVar5; + local_64 = uVar11; + if (uVar5 < (uVar11 >> 8 & 0xff)) { + do { + uVar5 = uVar17; + uVar2 = 0; + uVar11 = local_64; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar5 = uVar17 + 8; + uVar16 = uVar16 - 1; + uVar6 = uVar6 + ((uint)(byte)*puVar15 << ((byte)uVar17 & 0x1f)); + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar11 = *(uint *)(*(longlong *)(puVar1 + 0x16) + + (ulonglong)((1 << ((byte)puVar1[0x1a] & 0x1f)) - 1U & uVar6) * 4); + uVar17 = uVar5; + local_64 = uVar11; + } while (uVar5 < (uVar11 >> 8 & 0xff)); + } + uVar9 = (ushort)(uVar11 >> 0x10); + local_64._1_1_ = (byte)(uVar11 >> 8); + local_64 = uVar11; + if (0xf < uVar9) { + if (uVar9 == 0x10) { + for (; uVar5 < local_64._1_1_ + 2; uVar5 = uVar5 + 8) { + uVar2 = 0; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar17 = *puVar15; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar6 = uVar6 + ((uint)(byte)uVar17 << ((byte)uVar5 & 0x1f)); + } + uVar5 = uVar5 - local_64._1_1_; + uVar6 = uVar6 >> (local_64._1_1_ & 0x1f); + if (puVar1[0x1f] != 0) { + iVar12 = (uVar6 & 3) + 3; + uVar5 = uVar5 - 2; + uVar19 = (ulonglong) + *(ushort *)((longlong)puVar1 + (ulonglong)(puVar1[0x1f] - 1) * 2 + 0x88); + uVar6 = uVar6 >> 2; + goto LAB_1400bb1a0; + } + } + else { + if (uVar9 == 0x11) { + for (; uVar5 < local_64._1_1_ + 3; uVar5 = uVar5 + 8) { + uVar2 = 0; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar17 = *puVar15; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar6 = uVar6 + ((uint)(byte)uVar17 << ((byte)uVar5 & 0x1f)); + } + iVar4 = -3; + uVar6 = uVar6 >> (local_64._1_1_ & 0x1f); + iVar12 = (uVar6 & 7) + 3; + uVar6 = uVar6 >> 3; + } + else { + for (; uVar5 < local_64._1_1_ + 7; uVar5 = uVar5 + 8) { + uVar2 = 0; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar17 = *puVar15; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar6 = uVar6 + ((uint)(byte)uVar17 << ((byte)uVar5 & 0x1f)); + } + iVar4 = -7; + uVar6 = uVar6 >> (local_64._1_1_ & 0x1f); + iVar12 = (uVar6 & 0x7f) + 0xb; + uVar6 = uVar6 >> 7; + } + uVar5 = uVar5 + (iVar4 - (uint)local_64._1_1_); + uVar19 = uVar23; +LAB_1400bb1a0: + if (iVar12 + puVar1[0x1f] <= puVar1[0x1e] + puVar1[0x1d]) { + for (; iVar12 != 0; iVar12 = iVar12 + -1) { + *(short *)((longlong)puVar1 + (ulonglong)puVar1[0x1f] * 2 + 0x88) = (short)uVar19; + puVar1[0x1f] = puVar1[0x1f] + 1; + } + goto LAB_1400bb1d5; + } + } + param_1[4] = (longlong)"invalid bit length repeat"; + *puVar1 = 0x1d; + goto LAB_1400baaf8; + } + uVar17 = uVar5; + if (uVar5 < (uVar11 >> 8 & 0xff)) { + do { + uVar5 = uVar17; + uVar2 = 0; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar13 = *puVar15; + uVar5 = uVar17 + 8; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar6 = uVar6 + ((uint)(byte)uVar13 << ((byte)uVar17 & 0x1f)); + uVar17 = uVar5; + } while (uVar5 < local_64._1_1_); + } + uVar6 = uVar6 >> (local_64._1_1_ & 0x1f); + uVar5 = uVar5 - local_64._1_1_; + *(ushort *)((longlong)puVar1 + (ulonglong)puVar1[0x1f] * 2 + 0x88) = uVar9; + puVar1[0x1f] = puVar1[0x1f] + 1; +LAB_1400bb1d5: + } while (puVar1[0x1f] < puVar1[0x1e] + puVar1[0x1d]); + } + if (*puVar1 != 0x1d) { + if ((short)puVar1[0xa2] == 0) { + param_1[4] = (longlong)"invalid code -- missing end-of-block"; + *puVar1 = 0x1d; + } + else { + *(uint **)(puVar1 + 0x20) = puVar1 + 0x152; + *(uint **)(puVar1 + 0x16) = puVar1 + 0x152; + puVar1[0x1a] = 9; + uVar7 = FUN_1400c5ab0(1,(ushort *)(puVar1 + 0x22),puVar1[0x1d],(longlong *)(puVar1 + 0x20) + ,puVar1 + 0x1a,(undefined *)(puVar1 + 0xc2)); + local_res18 = (uint)uVar7; + if (local_res18 == 0) { + *(undefined8 *)(puVar1 + 0x18) = *(undefined8 *)(puVar1 + 0x20); + puVar1[0x1b] = 6; + uVar23 = FUN_1400c5ab0(2,(ushort *) + ((longlong)puVar1 + (ulonglong)puVar1[0x1d] * 2 + 0x88), + puVar1[0x1e],(longlong *)(puVar1 + 0x20),puVar1 + 0x1b, + (undefined *)(puVar1 + 0xc2)); + local_res18 = (uint)uVar23; + uVar23 = uVar23 & 0xffffffff; + puVar20 = local_58; + if (local_res18 == 0) { + *puVar1 = 0x13; + uVar10 = local_res20; + if (param_2 != 6) goto switchD_1400ba4c1_caseD_13; + goto LAB_1400bac9e; + } + param_1[4] = (longlong)"invalid distances set"; + *puVar1 = 0x1d; + uVar10 = local_res20; + } + else { + param_1[4] = (longlong)"invalid literal/lengths set"; + *puVar1 = 0x1d; + puVar20 = local_58; + uVar10 = local_res20; + } + } + } + break; + case 0x13: +switchD_1400ba4c1_caseD_13: + *puVar1 = 0x14; + case 0x14: + if ((5 < uVar16) && (0x101 < uVar10)) { + param_1[2] = (longlong)puVar20; + *(uint *)(param_1 + 3) = uVar10; + *param_1 = (longlong)puVar15; + *(uint *)(param_1 + 1) = uVar16; + puVar1[0x10] = uVar6; + puVar1[0x11] = uVar5; + FUN_1400c42d0(param_1,local_60); + local_58 = (undefined1 *)param_1[2]; + local_res20 = *(uint *)(param_1 + 3); + puVar15 = (uint *)*param_1; + uVar16 = *(uint *)(param_1 + 1); + uVar5 = puVar1[0x11]; + puVar20 = local_58; + uVar6 = puVar1[0x10]; + uVar10 = local_res20; + if (*puVar1 == 0xb) { + puVar1[0x6f7] = 0xffffffff; + } + break; + } + puVar1[0x6f7] = 0; + uVar11 = *(uint *)(*(longlong *)(puVar1 + 0x16) + + (ulonglong)((1 << ((byte)puVar1[0x1a] & 0x1f)) - 1U & uVar6) * 4); + uVar17 = uVar5; + if (uVar5 < (uVar11 >> 8 & 0xff)) { + do { + uVar5 = uVar17; + uVar2 = 0; + uVar11 = local_64; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar5 = uVar17 + 8; + uVar16 = uVar16 - 1; + uVar6 = uVar6 + ((uint)(byte)*puVar15 << ((byte)uVar17 & 0x1f)); + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar11 = *(uint *)(*(longlong *)(puVar1 + 0x16) + + (ulonglong)((1 << ((byte)puVar1[0x1a] & 0x1f)) - 1U & uVar6) * 4); + uVar17 = uVar5; + } while (uVar5 < (uVar11 >> 8 & 0xff)); + } + cVar3 = (char)uVar11; + uVar17 = uVar11; + if ((cVar3 != '\0') && ((uVar11 & 0xf0) == 0)) { + bVar8 = (byte)(uVar11 >> 8); + uVar17 = *(uint *)(*(longlong *)(puVar1 + 0x16) + + (ulonglong) + ((((1 << (cVar3 + bVar8 & 0x1f)) - 1U & uVar6) >> (bVar8 & 0x1f)) + + (uVar11 >> 0x10)) * 4); + if (uVar5 < (uVar17 >> 8 & 0xff) + (uVar11 >> 8 & 0xff)) { + do { + uVar2 = 0; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar6 = uVar6 + ((uint)(byte)*puVar15 << ((byte)uVar5 & 0x1f)); + uVar5 = uVar5 + 8; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar17 = *(uint *)(*(longlong *)(puVar1 + 0x16) + + (ulonglong) + ((((1 << (cVar3 + bVar8 & 0x1f)) - 1U & uVar6) >> (bVar8 & 0x1f)) + + (uVar11 >> 0x10)) * 4); + } while (uVar5 < (uVar17 >> 8 & 0xff) + (uint)bVar8); + } + uVar6 = uVar6 >> (bVar8 & 0x1f); + uVar5 = uVar5 - bVar8; + puVar1[0x6f7] = (uint)bVar8; + local_64 = uVar11; + } + uVar10 = uVar17 >> 8 & 0xff; + puVar1[0x6f7] = puVar1[0x6f7] + uVar10; + uVar6 = uVar6 >> ((byte)(uVar17 >> 8) & 0x1f); + uVar5 = uVar5 - uVar10; + puVar1[0x12] = uVar17 >> 0x10; + puVar20 = local_58; + if ((char)uVar17 == '\0') { + *puVar1 = 0x19; + uVar10 = local_res20; + break; + } + if ((uVar17 & 0x20) != 0) { + puVar1[0x6f7] = 0xffffffff; + goto LAB_1400baae9; + } + if ((uVar17 & 0x40) != 0) { + param_1[4] = (longlong)"invalid literal/length code"; + *puVar1 = 0x1d; + uVar10 = local_res20; + break; + } + *puVar1 = 0x15; + puVar1[0x14] = uVar17 & 0xf; +switchD_1400ba4c1_caseD_15: + uVar17 = puVar1[0x14]; + if (uVar17 != 0) { + uVar10 = uVar5; + if (uVar5 < uVar17) { + do { + uVar2 = 0; + uVar11 = local_64; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar11 = *puVar15; + uVar10 = uVar5 + 8; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar6 = uVar6 + ((uint)(byte)uVar11 << ((byte)uVar5 & 0x1f)); + uVar5 = uVar10; + } while (uVar10 < puVar1[0x14]); + } + uVar5 = uVar10 - uVar17; + uVar10 = (1 << ((byte)uVar17 & 0x1f)) - 1U & uVar6; + uVar6 = uVar6 >> ((byte)uVar17 & 0x1f); + puVar1[0x12] = puVar1[0x12] + uVar10; + puVar1[0x6f7] = puVar1[0x6f7] + uVar17; + } + *puVar1 = 0x16; + puVar1[0x6f8] = puVar1[0x12]; +switchD_1400ba4c1_caseD_16: + uVar11 = *(uint *)(*(longlong *)(puVar1 + 0x18) + + (ulonglong)((1 << ((byte)puVar1[0x1b] & 0x1f)) - 1U & uVar6) * 4); + uVar17 = uVar5; + if (uVar5 < (uVar11 >> 8 & 0xff)) { + do { + uVar5 = uVar17; + uVar2 = 0; + uVar11 = local_64; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar5 = uVar17 + 8; + uVar16 = uVar16 - 1; + uVar6 = uVar6 + ((uint)(byte)*puVar15 << ((byte)uVar17 & 0x1f)); + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar11 = *(uint *)(*(longlong *)(puVar1 + 0x18) + + (ulonglong)((1 << ((byte)puVar1[0x1b] & 0x1f)) - 1U & uVar6) * 4); + uVar17 = uVar5; + } while (uVar5 < (uVar11 >> 8 & 0xff)); + } + uVar17 = uVar11; + if ((uVar11 & 0xf0) == 0) { + bVar8 = (byte)(uVar11 >> 8); + uVar17 = *(uint *)(*(longlong *)(puVar1 + 0x18) + + (ulonglong) + ((((1 << ((char)uVar11 + bVar8 & 0x1f)) - 1U & uVar6) >> (bVar8 & 0x1f)) + + (uVar11 >> 0x10)) * 4); + if (uVar5 < (uVar17 >> 8 & 0xff) + (uVar11 >> 8 & 0xff)) { + do { + uVar2 = 0; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar6 = uVar6 + ((uint)(byte)*puVar15 << ((byte)uVar5 & 0x1f)); + uVar5 = uVar5 + 8; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar17 = *(uint *)(*(longlong *)(puVar1 + 0x18) + + (ulonglong) + ((((1 << ((char)uVar11 + bVar8 & 0x1f)) - 1U & uVar6) >> + (bVar8 & 0x1f)) + (uVar11 >> 0x10)) * 4); + } while (uVar5 < (uVar17 >> 8 & 0xff) + (uint)bVar8); + } + uVar6 = uVar6 >> (bVar8 & 0x1f); + uVar5 = uVar5 - bVar8; + puVar1[0x6f7] = puVar1[0x6f7] + (uint)bVar8; + local_64 = uVar11; + } + uVar10 = uVar17 >> 8 & 0xff; + puVar1[0x6f7] = puVar1[0x6f7] + uVar10; + uVar6 = uVar6 >> ((byte)(uVar17 >> 8) & 0x1f); + uVar5 = uVar5 - uVar10; + puVar20 = local_58; + if ((uVar17 & 0x40) != 0) { + param_1[4] = (longlong)"invalid distance code"; + *puVar1 = 0x1d; + uVar10 = local_res20; + break; + } + *puVar1 = 0x17; + puVar1[0x13] = uVar17 >> 0x10; + puVar1[0x14] = uVar17 & 0xf; + uVar10 = local_res20; +switchD_1400ba4c1_caseD_17: + uVar17 = puVar1[0x14]; + if (uVar17 != 0) { + uVar13 = uVar5; + if (uVar5 < uVar17) { + do { + uVar5 = uVar13; + uVar2 = 0; + uVar11 = local_64; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar11 = *puVar15; + uVar5 = uVar13 + 8; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar6 = uVar6 + ((uint)(byte)uVar11 << ((byte)uVar13 & 0x1f)); + uVar13 = uVar5; + } while (uVar5 < puVar1[0x14]); + } + uVar5 = uVar5 - uVar17; + uVar11 = (1 << ((byte)uVar17 & 0x1f)) - 1U & uVar6; + uVar6 = uVar6 >> ((byte)uVar17 & 0x1f); + puVar1[0x13] = puVar1[0x13] + uVar11; + puVar1[0x6f7] = puVar1[0x6f7] + uVar17; + } + *puVar1 = 0x18; +switchD_1400ba4c1_caseD_18: + uVar2 = uVar16; + uVar11 = local_64; + if (uVar10 != 0) { + uVar17 = puVar1[0x13]; + if (local_60 - uVar10 < uVar17) { + uVar17 = uVar17 - (local_60 - uVar10); + if ((puVar1[0xc] < uVar17) && (puVar1[0x6f6] != 0)) { + param_1[4] = (longlong)"invalid distance too far back"; + *puVar1 = 0x1d; + break; + } + uVar13 = puVar1[0xd]; + if (uVar13 < uVar17) { + uVar17 = uVar17 - uVar13; + uVar13 = puVar1[0xb] - uVar17; + } + else { + uVar13 = uVar13 - uVar17; + } + uVar11 = puVar1[0x12]; + lVar14 = (ulonglong)uVar13 + *(longlong *)(puVar1 + 0xe); + if (uVar11 < uVar17) goto LAB_1400bb7f5; + } + else { + lVar14 = (longlong)puVar20 - (ulonglong)uVar17; + uVar11 = puVar1[0x12]; +LAB_1400bb7f5: + uVar17 = uVar11; + uVar11 = uVar17; + } + if (uVar10 < uVar17) { + uVar17 = uVar10; + } + local_res20 = uVar10 - uVar17; + puVar1[0x12] = uVar11 - uVar17; + puVar21 = puVar20; + do { + local_58 = puVar21 + 1; + uVar17 = uVar17 - 1; + *puVar21 = puVar21[lVar14 - (longlong)puVar20]; + puVar21 = local_58; + } while (uVar17 != 0); + puVar20 = local_58; + uVar10 = local_res20; + if (puVar1[0x12] == 0) { + *puVar1 = 0x14; + } + break; + } + goto LAB_1400bac9a; + case 0x15: + goto switchD_1400ba4c1_caseD_15; + case 0x16: + goto switchD_1400ba4c1_caseD_16; + case 0x17: + goto switchD_1400ba4c1_caseD_17; + case 0x18: + goto switchD_1400ba4c1_caseD_18; + case 0x19: + uVar2 = uVar16; + if (uVar10 != 0) { + local_58 = puVar20 + 1; + local_res20 = uVar10 - 1; + *puVar20 = (char)puVar1[0x12]; + *puVar1 = 0x14; + puVar20 = local_58; + uVar10 = local_res20; + break; + } + goto LAB_1400bac9a; + case 0x1a: + uVar17 = uVar5; + uVar22 = uVar6; + if (puVar1[2] != 0) { + for (; uVar17 < 0x20; uVar17 = uVar17 + 8) { + uVar5 = uVar17; + uVar6 = uVar22; + uVar2 = 0; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar6 = *puVar15; + bVar8 = (byte)uVar17; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar22 = uVar22 + ((uint)(byte)uVar6 << (bVar8 & 0x1f)); + } + uVar6 = local_60 - uVar10; + *(int *)((longlong)param_1 + 0x1c) = *(int *)((longlong)param_1 + 0x1c) + uVar6; + puVar1[7] = puVar1[7] + uVar6; + if (uVar6 != 0) { + if (puVar1[4] == 0) { + uVar5 = FUN_1400c1b80(puVar1[6],puVar20 + -(ulonglong)uVar6,uVar6); + puVar20 = local_58; + uVar10 = local_res20; + } + else { + uVar5 = uVar13; + if ((uint *)(puVar20 + -(ulonglong)uVar6) != (uint *)0x0) { + uVar5 = FUN_1400ba0d0(puVar1[6],(uint *)(puVar20 + -(ulonglong)uVar6),uVar6); + puVar20 = local_58; + uVar10 = local_res20; + } + } + puVar1[6] = uVar5; + *(uint *)((longlong)param_1 + 0x4c) = uVar5; + } + uVar11 = uVar22; + if (puVar1[4] == 0) { + uVar11 = ((uVar22 & 0xff00) + uVar22 * 0x10000) * 0x100 + (uVar22 >> 8 & 0xff00) + + (uVar22 >> 0x18); + } + uVar5 = uVar13; + uVar6 = uVar13; + local_60 = uVar10; + if (uVar11 != puVar1[6]) { + param_1[4] = (longlong)"incorrect data check"; + *puVar1 = 0x1d; + uVar5 = uVar17; + uVar6 = uVar22; + break; + } + } + *puVar1 = 0x1b; + case 0x1b: + if ((puVar1[2] != 0) && (uVar17 = uVar5, uVar22 = uVar6, puVar1[4] != 0)) { + for (; uVar17 < 0x20; uVar17 = uVar17 + 8) { + uVar5 = uVar17; + uVar6 = uVar22; + uVar2 = 0; + uVar11 = local_64; + if (uVar16 == 0) goto LAB_1400bac9a; + uVar6 = *puVar15; + bVar8 = (byte)uVar17; + uVar16 = uVar16 - 1; + puVar15 = (uint *)((longlong)puVar15 + 1); + uVar22 = uVar22 + ((uint)(byte)uVar6 << (bVar8 & 0x1f)); + } + uVar5 = uVar13; + uVar6 = uVar13; + if (uVar22 != puVar1[7]) { + param_1[4] = (longlong)"incorrect length check"; + *puVar1 = 0x1d; + uVar5 = uVar17; + uVar6 = uVar22; + break; + } + } + *puVar1 = 0x1c; +switchD_1400ba4c1_caseD_1c: + uVar23 = 1; + goto LAB_1400bac9e; + case 0x1c: + goto switchD_1400ba4c1_caseD_1c; + case 0x1d: + uVar23 = 0xfffffffd; + goto LAB_1400bac9e; + case 0x1e: + goto LAB_1400bacf9; + } +LAB_1400baaf8: + uVar17 = *puVar1; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bbb40.c b/decomp/Agent_Release_x64/full/functions/0x1400bbb40.c new file mode 100644 index 00000000..89879c80 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bbb40.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bbb40 FUN_1400bbb40 + * Pseudocode, not original source. */ + +undefined8 FUN_1400bbb40(undefined8 param_1) + +{ + HRESULT HVar1; + + HVar1 = CoInitialize((LPVOID)0x0); + *(bool *)param_1 = -1 < HVar1; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bbb70.c b/decomp/Agent_Release_x64/full/functions/0x1400bbb70.c new file mode 100644 index 00000000..81a00d16 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bbb70.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bbb70 FUN_1400bbb70 + * Pseudocode, not original source. */ + +void FUN_1400bbb70(char *param_1) + +{ + if (*param_1 != '\0') { + CoUninitialize(); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bbb90.c b/decomp/Agent_Release_x64/full/functions/0x1400bbb90.c new file mode 100644 index 00000000..fb55a0a4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bbb90.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bbb90 FUN_1400bbb90 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400bbb90(undefined8 *param_1,undefined8 param_2) + +{ + param_1[1] = Proud::CFastArray::vftable; + param_1[2] = 0; + param_1[3] = 0; + param_1[4] = 0; + param_1[5] = 0; + param_1[6] = 0; + param_1[7] = 0; + *param_1 = param_2; + *(undefined4 *)((longlong)param_1 + 0x2c) = 1; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bbbd0.c b/decomp/Agent_Release_x64/full/functions/0x1400bbbd0.c new file mode 100644 index 00000000..d0e62d34 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bbbd0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bbbd0 FUN_1400bbbd0 + * Pseudocode, not original source. */ + +void FUN_1400bbbd0(longlong param_1) + +{ + *(undefined ***)(param_1 + 8) = Proud::CFastArray::vftable; + if (*(LPVOID *)(param_1 + 0x18) != (LPVOID)0x0) { + if (*(longlong **)(param_1 + 0x10) != (longlong *)0x0) { + /* WARNING: Could not recover jumptable at 0x0001400bbbf8. Too many branches */ + /* WARNING: Treating indirect jump as call */ + (**(code **)(**(longlong **)(param_1 + 0x10) + 0x18))(); + return; + } + FUN_1400302f0(*(LPVOID *)(param_1 + 0x18)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bbc10.c b/decomp/Agent_Release_x64/full/functions/0x1400bbc10.c new file mode 100644 index 00000000..88701f18 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bbc10.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bbc10 FUN_1400bbc10 + * Pseudocode, not original source. */ + +void FUN_1400bbc10(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + uint uVar2; + size_t _Size; + void *_Dst; + ulonglong uVar3; + ulonglong uVar4; + + uVar3 = 0x80000000; + uVar4 = *(longlong *)(param_1 + 0x30) + 0x80000000; + if (0xffffffff < uVar4) { + /* WARNING: Subroutine does not return */ + FUN_14002f5f0(L"Proud::CStreamQueue::Shrink",uVar4,param_3,param_4); + } + _Size = *(size_t *)(param_1 + 0x38); + if (0 < (longlong)_Size) { + iVar1 = *(int *)(param_1 + 0x30); + if (-1 < iVar1) { + uVar2 = *(uint *)(param_1 + 0x20); + uVar3 = (ulonglong)uVar2; + if (iVar1 < (int)uVar2) { + _Dst = *(void **)(param_1 + 0x18); + if ((int)uVar2 < 1) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(uVar3,(void *)((longlong)_Dst + (longlong)iVar1),_Size,_Dst); + } + memmove(_Dst,(void *)((longlong)_Dst + (longlong)iVar1),_Size); + goto LAB_1400bbc62; + } + } + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(uVar3,uVar4,_Size,param_4); + } +LAB_1400bbc62: + *(undefined8 *)(param_1 + 0x30) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bbc90.c b/decomp/Agent_Release_x64/full/functions/0x1400bbc90.c new file mode 100644 index 00000000..35d2c3c1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bbc90.c @@ -0,0 +1,105 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bbc90 FUN_1400bbc90 + * Pseudocode, not original source. */ + +void FUN_1400bbc90(longlong *param_1,undefined8 *param_2,SIZE_T param_3) + +{ + undefined1 uVar1; + longlong lVar2; + undefined8 uVar3; + int iVar4; + undefined8 *_Dst; + uint uVar5; + ulonglong uVar6; + undefined8 *puVar7; + uint uVar8; + ulonglong uVar9; + longlong lVar10; + ulonglong _Size; + + lVar2 = param_1[6]; + uVar8 = (uint)param_3; + _Size = (ulonglong)(int)uVar8; + lVar10 = (longlong)(int)param_1[4]; + uVar9 = _Size + lVar2 + param_1[7]; + if ((longlong)uVar9 < lVar10) { + if (0xffffffff < lVar2 + param_1[7] + 0x80000000U) { + /* WARNING: Subroutine does not return */ + FUN_14002f5f0(L"Proud::CStreamQueue::PushBack_Copy",uVar9,param_3,lVar10); + } + iVar4 = (int)lVar2 + (int)param_1[7]; + if ((iVar4 < 0) || ((int)param_1[4] <= iVar4)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(lVar2,uVar9,param_3,lVar10); + } + _Dst = (undefined8 *)((longlong)iVar4 + param_1[3]); + if (_Size < 0x21) { + uVar6 = (ulonglong)(uVar8 & 7); + for (uVar9 = _Size >> 3; uVar9 != 0; uVar9 = uVar9 - 1) { + uVar3 = *param_2; + param_2 = param_2 + 1; + *_Dst = uVar3; + _Dst = _Dst + 1; + } + if (uVar6 != 0) { + puVar7 = param_2; + do { + uVar1 = *(undefined1 *)puVar7; + puVar7 = (undefined8 *)((longlong)puVar7 + 1); + uVar6 = uVar6 - 1; + *(undefined1 *)((longlong)_Dst + (-1 - (longlong)param_2) + (longlong)puVar7) = uVar1; + } while (uVar6 != 0); + } + goto LAB_1400bbd59; + } + } + else { + if ((0 < lVar2) && (0 < (int)param_1[4])) { + FUN_1400bbc10((longlong)param_1,uVar9,param_3,lVar10); + } + if ((longlong)(int)param_1[4] < (longlong)(_Size + param_1[7])) { + if (0xffffffff < *param_1 + _Size + param_1[7] + 0x80000000) { + /* WARNING: Subroutine does not return */ + FUN_14002f5f0(L"Proud::CStreamQueue::PushBack_Copy",uVar9,param_3,lVar10); + } + uVar5 = (int)*param_1 + uVar8 + (int)param_1[7]; + uVar9 = (ulonglong)uVar5; + FUN_14001bc70((longlong)(param_1 + 1),uVar5,param_3); + } + if (0xffffffff < param_1[7] + 0x80000000U) { + /* WARNING: Subroutine does not return */ + FUN_14002f5f0(L"Proud::CStreamQueue::PushBack_Copy",uVar9,param_3,lVar10); + } + iVar4 = (int)param_1[7]; + if ((iVar4 < 0) || ((int)param_1[4] <= iVar4)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(param_1[7] + 0x80000000U,uVar9,param_3,lVar10); + } + _Dst = (undefined8 *)((longlong)iVar4 + param_1[3]); + if (_Size < 0x21) { + uVar6 = (ulonglong)(uVar8 & 7); + for (uVar9 = _Size >> 3; uVar9 != 0; uVar9 = uVar9 - 1) { + uVar3 = *param_2; + param_2 = param_2 + 1; + *_Dst = uVar3; + _Dst = _Dst + 1; + } + if (uVar6 != 0) { + puVar7 = param_2; + do { + uVar1 = *(undefined1 *)puVar7; + puVar7 = (undefined8 *)((longlong)puVar7 + 1); + uVar6 = uVar6 - 1; + *(undefined1 *)((longlong)_Dst + (-1 - (longlong)param_2) + (longlong)puVar7) = uVar1; + } while (uVar6 != 0); + } + goto LAB_1400bbd59; + } + } + memcpy(_Dst,param_2,_Size); +LAB_1400bbd59: + param_1[7] = param_1[7] + _Size; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bbe80.c b/decomp/Agent_Release_x64/full/functions/0x1400bbe80.c new file mode 100644 index 00000000..fd48a371 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bbe80.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bbe80 FUN_1400bbe80 + * Pseudocode, not original source. */ + +longlong FUN_1400bbe80(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + + if (param_1[7] <= param_2) { + param_2 = param_1[7]; + } + param_1[6] = param_1[6] + param_2; + param_1[7] = param_1[7] - param_2; + uVar1 = (ulonglong)((uint)(*param_1 >> 0x3f) & 0x3f); + if (param_1[7] <= (longlong)(*param_1 + uVar1) >> 6) { + FUN_1400bbc10((longlong)param_1,uVar1,param_3,param_4); + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bbec0.c b/decomp/Agent_Release_x64/full/functions/0x1400bbec0.c new file mode 100644 index 00000000..03a076e9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bbec0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bbec0 FUN_1400bbec0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400bbec0(undefined8 *param_1,LONG param_2,LONG param_3) + +{ + HANDLE pvVar1; + + pvVar1 = CreateSemaphoreW((LPSECURITY_ATTRIBUTES)0x0,param_2,param_3,(LPCWSTR)0x0); + *param_1 = pvVar1; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bbee0.c b/decomp/Agent_Release_x64/full/functions/0x1400bbee0.c new file mode 100644 index 00000000..b4cf03ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bbee0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bbee0 FUN_1400bbee0 + * Pseudocode, not original source. */ + +long FUN_1400bbee0(undefined8 *param_1,LONG param_2) + +{ + long local_res18 [4]; + + local_res18[0] = 0; + ReleaseSemaphore((HANDLE)*param_1,param_2,local_res18); + return local_res18[0]; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bbf10.c b/decomp/Agent_Release_x64/full/functions/0x1400bbf10.c new file mode 100644 index 00000000..6beb6b50 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bbf10.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bbf10 FUN_1400bbf10 + * Pseudocode, not original source. */ + +uint FUN_1400bbf10(byte *param_1,int param_2) + +{ + byte bVar1; + uint uVar2; + + uVar2 = 0xffffffff; + for (; param_2 != 0; param_2 = param_2 + -1) { + bVar1 = *param_1; + param_1 = param_1 + 1; + uVar2 = *(uint *)(&DAT_140110240 + (ulonglong)((bVar1 ^ uVar2) & 0xff) * 4) ^ uVar2 >> 8; + } + return ~uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bbf60.c b/decomp/Agent_Release_x64/full/functions/0x1400bbf60.c new file mode 100644 index 00000000..c26b60f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bbf60.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bbf60 FUN_1400bbf60 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400bbf60(undefined8 *param_1) + +{ + param_1[1] = 0; + *param_1 = Proud::IHeartbeatWork::vftable; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bbf80.c b/decomp/Agent_Release_x64/full/functions/0x1400bbf80.c new file mode 100644 index 00000000..1dd26389 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bbf80.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bbf80 FUN_1400bbf80 + * Pseudocode, not original source. */ + +void FUN_1400bbf80(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + exception local_58 [88]; + + if ((longlong *)param_2[2] != param_1) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase" + ,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + plVar1 = (longlong *)param_2[1]; + lVar2 = *param_2; + if (plVar1 != (longlong *)0x0) { + *plVar1 = lVar2; + } + if (lVar2 != 0) { + *(longlong **)(lVar2 + 8) = plVar1; + } + if (plVar1 == (longlong *)0x0) { + if ((longlong *)param_1[1] != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase" + ,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + param_1[1] = lVar2; + } + if (lVar2 == 0) { + if ((longlong *)*param_1 != param_2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase" + ,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = (longlong)plVar1; + } + *param_2 = 0; + param_2[1] = 0; + param_2[2] = 0; + *(int *)(param_1 + 2) = (int)param_1[2] + -1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bc060.c b/decomp/Agent_Release_x64/full/functions/0x1400bc060.c new file mode 100644 index 00000000..c3aa989f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bc060.c @@ -0,0 +1,60 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bc060 FUN_1400bc060 + * Pseudocode, not original source. */ + +void FUN_1400bc060(longlong *param_1) + +{ + longlong lVar1; + longlong *plVar2; + longlong *plVar3; + exception local_58 [88]; + + lVar1 = *param_1; + while( true ) { + if (lVar1 == 0) { + return; + } + plVar2 = (longlong *)*param_1; + if ((longlong *)plVar2[2] != param_1) break; + plVar3 = (longlong *)plVar2[1]; + lVar1 = *plVar2; + if (plVar3 != (longlong *)0x0) { + *plVar3 = lVar1; + } + if (lVar1 != 0) { + *(longlong **)(lVar1 + 8) = plVar3; + } + if (plVar3 == (longlong *)0x0) { + if ((longlong *)param_1[1] != plVar2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase" + ,0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + param_1[1] = lVar1; + } + if (lVar1 == 0) { + if ((longlong *)*param_1 != plVar2) { + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase" + ,0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); + } + *param_1 = (longlong)plVar3; + } + *plVar2 = 0; + plVar2[1] = 0; + plVar2[2] = 0; + *(int *)(param_1 + 2) = (int)param_1[2] + -1; + lVar1 = *param_1; + } + FUN_14002f1e0(local_58,(wchar_t *)PTR_u_CListNode_reports_a_consistency_p_1401554a0, + L"Proud::CListNode::CListOwner::Erase", + 0); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bc150.c b/decomp/Agent_Release_x64/full/functions/0x1400bc150.c new file mode 100644 index 00000000..9b3ce14b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bc150.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bc150 FUN_1400bc150 + * Pseudocode, not original source. */ + +void FUN_1400bc150(int *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong *plVar2; + DWORD DVar3; + + if ((char)param_1[0x20] != '\0') { + plVar1 = (longlong *)(param_1 + 0xe); + do { + FUN_14002e6e0(param_1); + DVar3 = GetTickCount(); + plVar2 = (longlong *)*plVar1; + if ((plVar2 == (longlong *)0x0) || + (DVar3 - (int)plVar2[4] <= *(uint *)((longlong)plVar2 + 0x24))) { + FUN_14002e770((longlong)param_1); + } + else { + *(DWORD *)(plVar2 + 4) = DVar3; + if ((longlong *)plVar2[2] != (longlong *)0x0) { + FUN_1400bbf80((longlong *)plVar2[2],plVar2,param_3,param_4); + } + if (plVar2[2] != 0) { + FUN_1400bbf80(plVar1,plVar2,param_3,param_4); + } + if (*(longlong *)(param_1 + 0x10) == 0) { + *plVar1 = (longlong)plVar2; + } + else { + *(longlong **)(*(longlong *)(param_1 + 0x10) + 8) = plVar2; + *plVar2 = *(longlong *)(param_1 + 0x10); + } + *(longlong **)(param_1 + 0x10) = plVar2; + plVar2[2] = (longlong)plVar1; + param_1[0x12] = param_1[0x12] + 1; + FUN_14002e770((longlong)param_1); + *(undefined1 *)(plVar2 + 8) = 1; + (**(code **)(*(longlong *)plVar2[3] + 8))(); + *(undefined1 *)(plVar2 + 8) = 0; + } + Sleep(10); + } while ((char)param_1[0x20] != '\0'); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bc260.c b/decomp/Agent_Release_x64/full/functions/0x1400bc260.c new file mode 100644 index 00000000..c2ffa130 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bc260.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bc260 FUN_1400bc260 + * Pseudocode, not original source. */ + +void FUN_1400bc260(int *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong *plVar2; + undefined4 uVar3; + + uVar3 = (undefined4)param_3; + FUN_14002e6e0(param_1); + if (*(longlong *)(param_2 + 8) == 0) { + plVar2 = operator_new(0x80); + if (plVar2 != (longlong *)0x0) { + *plVar2 = 0; + plVar2[1] = 0; + plVar2[2] = 0; + *(undefined4 *)(plVar2 + 4) = 0; + *(undefined1 *)(plVar2 + 8) = 0; + } + plVar2[3] = param_2; + *(undefined4 *)((longlong)plVar2 + 0x24) = uVar3; + *(int **)(param_2 + 8) = param_1; + plVar1 = (longlong *)(param_1 + 0xe); + if (plVar2[2] != 0) { + FUN_1400bbf80(plVar1,plVar2,param_3,param_4); + } + if (*(longlong *)(param_1 + 0x10) == 0) { + *plVar1 = (longlong)plVar2; + } + else { + *(longlong **)(*(longlong *)(param_1 + 0x10) + 8) = plVar2; + *plVar2 = *(longlong *)(param_1 + 0x10); + } + *(longlong **)(param_1 + 0x10) = plVar2; + plVar2[2] = (longlong)plVar1; + param_1[0x12] = param_1[0x12] + 1; + FUN_14002e770((longlong)param_1); + return; + } + /* WARNING: Subroutine does not return */ + FUN_14002f590(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bc340.c b/decomp/Agent_Release_x64/full/functions/0x1400bc340.c new file mode 100644 index 00000000..aef187b9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bc340.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bc340 FUN_1400bc340 + * Pseudocode, not original source. */ + +void FUN_1400bc340(int *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + char cVar1; + longlong *plVar2; + + FUN_14002e6e0(param_1); + if (*(int **)(param_2 + 8) != (int *)0x0) { + if (*(int **)(param_2 + 8) != param_1) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + for (plVar2 = *(longlong **)(param_1 + 0xe); plVar2 != (longlong *)0x0; + plVar2 = (longlong *)plVar2[1]) { + if (plVar2[3] == param_2) { + *(undefined8 *)(param_2 + 8) = 0; + if ((longlong *)plVar2[2] != (longlong *)0x0) { + FUN_1400bbf80((longlong *)plVar2[2],plVar2,param_3,param_4); + } + FUN_14002e770((longlong)param_1); + cVar1 = (char)plVar2[8]; + while (cVar1 != '\0') { + Sleep(10); + cVar1 = (char)plVar2[8]; + } + if ((longlong *)plVar2[2] != (longlong *)0x0) { + FUN_1400bbf80((longlong *)plVar2[2],plVar2,param_3,param_4); + } + operator_delete(plVar2); + return; + } + } + } + FUN_14002e770((longlong)param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bc420.c b/decomp/Agent_Release_x64/full/functions/0x1400bc420.c new file mode 100644 index 00000000..bea44dff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bc420.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bc420 FUN_1400bc420 + * Pseudocode, not original source. */ + +void FUN_1400bc420(longlong *param_1,longlong param_2) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + int iVar3; + + if (0 < param_2) { + iVar3 = 0; + do { + if ((*param_1 != 0) && + (*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1, + *(longlong *)(*param_1 + 8) == 0)) { + puVar1 = (undefined8 *)*param_1; + puVar2 = (undefined8 *)*puVar1; + if (puVar2 != (undefined8 *)0x0) { + FUN_140037670(puVar2); + operator_delete(puVar2); + } + FUN_1400302f0(puVar1); + } + iVar3 = iVar3 + 1; + param_1 = param_1 + 1; + } while (iVar3 < param_2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bc4c0.c b/decomp/Agent_Release_x64/full/functions/0x1400bc4c0.c new file mode 100644 index 00000000..b5b575c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bc4c0.c @@ -0,0 +1,64 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bc4c0 FUN_1400bc4c0 + * Pseudocode, not original source. */ + +void FUN_1400bc4c0(wchar_t *param_1,LPVOID param_2,longlong *param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + LPVOID pvVar2; + wchar_t *pwVar3; + int iVar4; + longlong lVar5; + + pwVar3 = param_1; + FUN_14002e6e0((int *)param_1); + if (0 < *(int *)(param_1 + 0x24)) { + pwVar3 = + L"CHeartbeatWorkThread must be cleaned up only after every work items are unregistered!"; + FUN_14002fa10( + L"CHeartbeatWorkThread must be cleaned up only after every work items are unregistered!" + ); + } + *(undefined1 *)(param_1 + 0x40) = 0; + iVar4 = 0; + lVar5 = 0; + if (0 < *(int *)(param_1 + 0x34)) { + do { + if ((lVar5 < 0) || (*(int *)(param_1 + 0x34) <= iVar4)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(pwVar3,param_2,param_3,param_4); + } + puVar1 = *(undefined8 **)(*(longlong *)(param_1 + 0x30) + lVar5 * 8); + pwVar3 = (wchar_t *)0x0; + if (puVar1 != (undefined8 *)0x0) { + pwVar3 = (wchar_t *)*puVar1; + } + FUN_1400375f0((undefined8 *)pwVar3); + iVar4 = iVar4 + 1; + lVar5 = lVar5 + 1; + } while (iVar4 < *(int *)(param_1 + 0x34)); + } + FUN_14002e770((longlong)param_1); + *(undefined ***)(param_1 + 0x28) = Proud::CFastArray,0>::vftable; + pvVar2 = (LPVOID)(longlong)*(int *)(param_1 + 0x34); + if (0 < *(int *)(param_1 + 0x34)) { + FUN_1400bc420(*(longlong **)(param_1 + 0x30),(longlong)pvVar2); + param_2 = pvVar2; + } + pvVar2 = *(LPVOID *)(param_1 + 0x30); + if (pvVar2 != (LPVOID)0x0) { + param_3 = *(longlong **)(param_1 + 0x2c); + if (param_3 == (longlong *)0x0) { + FUN_1400302f0(pvVar2); + } + else { + (**(code **)(*param_3 + 0x18))(param_3); + param_2 = pvVar2; + } + } + FUN_1400bc060((longlong *)(param_1 + 0x1c)); + FUN_14002e7a0((undefined4 *)param_1,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bc5c0.c b/decomp/Agent_Release_x64/full/functions/0x1400bc5c0.c new file mode 100644 index 00000000..4dd695e0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bc5c0.c @@ -0,0 +1,122 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bc5c0 FUN_1400bc5c0 + * Pseudocode, not original source. */ + +longlong * FUN_1400bc5c0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + DWORD DVar2; + ulonglong uVar3; + undefined8 *puVar4; + longlong lVar5; + longlong lVar6; + longlong *plVar7; + longlong *plVar8; + longlong **pplVar9; + longlong *plVar10; + int iVar11; + longlong *plVar12; + longlong *plVar13; + longlong lVar14; + longlong lVar15; + int iVar16; + longlong *local_res18; + + uVar3 = FUN_14002e790(); + pplVar9 = (longlong **)(uVar3 & 0xffffffff); + plVar13 = (longlong *)CONCAT71((int7)((ulonglong)param_3 >> 8),1); + plVar7 = param_1; + FUN_14002e600((undefined4 *)param_1,(ulonglong)pplVar9,plVar13,param_4); + iVar16 = 0; + param_1[7] = 0; + param_1[8] = 0; + *(undefined4 *)(param_1 + 9) = 0; + plVar10 = param_1 + 10; + *plVar10 = (longlong)Proud::CFastArray,0>::vftable; + param_1[0xb] = 0; + param_1[0xc] = 0; + param_1[0xd] = 0; + param_1[0xe] = 0; + *(undefined1 *)(param_1 + 0x10) = 1; + DVar2 = FUN_14002f850(); + if (0 < (int)DVar2) { + do { + puVar4 = (undefined8 *)0x0; + local_res18 = operator_new(0x28); + if (local_res18 != (longlong *)0x0) { + plVar13 = param_1; + puVar4 = FUN_140037560(local_res18,&LAB_1400bc330,param_1); + } + if (puVar4 == (undefined8 *)0x0) { + local_res18 = (longlong *)0x0; + } + else { + local_res18 = (longlong *)FUN_140030280(0x10); + local_res18[1] = 1; + *local_res18 = (longlong)puVar4; + } + plVar12 = local_res18; + iVar1 = (int)param_1[0xd]; + if (iVar1 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + lVar14 = param_1[0xd]; + FUN_14008a2b0((longlong)plVar10,(int)lVar14 + 1,plVar13,param_4); + iVar11 = (int)lVar14 - iVar1; + if ((0 < iVar11) && (iVar11 = iVar11 + -1, -1 < iVar11)) { + lVar14 = (longlong)(iVar11 + iVar1 + 1) << 3; + lVar15 = (longlong)(iVar11 + iVar1) << 3; + do { + lVar5 = FUN_14003d690((longlong)plVar10); + lVar6 = FUN_14003d690((longlong)plVar10); + FUN_140086730((longlong *)(lVar14 + lVar6),(longlong *)(lVar15 + lVar5)); + lVar15 = lVar15 + -8; + lVar14 = lVar14 + -8; + iVar11 = iVar11 + -1; + } while (-1 < iVar11); + } + lVar14 = FUN_14003d690((longlong)plVar10); + plVar7 = (longlong *)(lVar14 + (longlong)iVar1 * 8); + pplVar9 = &local_res18; + FUN_140086730(plVar7,(longlong *)pplVar9); + plVar8 = local_res18; + if (plVar12 != (longlong *)0x0) { + plVar12 = plVar12 + 1; + *plVar12 = *plVar12 + -1; + if (*plVar12 == 0) { + puVar4 = (undefined8 *)*local_res18; + if (puVar4 != (undefined8 *)0x0) { + FUN_140037670(puVar4); + operator_delete(puVar4); + } + FUN_1400302f0(plVar8); + plVar7 = plVar8; + } + } + iVar16 = iVar16 + 1; + } while (iVar16 < (int)DVar2); + } + plVar8 = (longlong *)0x0; + plVar10 = plVar8; + plVar12 = plVar8; + if (0 < (int)DVar2) { + do { + if (((longlong)plVar10 < 0) || ((int)param_1[0xd] <= (int)plVar12)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(plVar7,pplVar9,plVar13,param_4); + } + puVar4 = *(undefined8 **)(param_1[0xc] + (longlong)plVar10 * 8); + plVar7 = plVar8; + if (puVar4 != (undefined8 *)0x0) { + plVar7 = (longlong *)*puVar4; + } + FUN_140037760(plVar7,pplVar9,plVar13,param_4); + plVar12 = (longlong *)(ulonglong)((int)plVar12 + 1); + plVar10 = (longlong *)((longlong)plVar10 + 1); + } while ((longlong)plVar10 < (longlong)(int)DVar2); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bc810.c b/decomp/Agent_Release_x64/full/functions/0x1400bc810.c new file mode 100644 index 00000000..eeeb9d50 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bc810.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bc810 FUN_1400bc810 + * Pseudocode, not original source. */ + +longlong FUN_1400bc810(longlong param_1,uint *param_2,SIZE_T param_3,undefined8 param_4) + +{ + FUN_140021e80(param_1,(ulonglong)*param_2,param_3,param_4); + FUN_1400221b0(param_1,(ulonglong)(ushort)param_2[1],param_3,param_4); + FUN_140081ea0(param_1,(longlong *)(param_2 + 2),param_3,param_4); + FUN_14001ba80(param_1,(ulonglong)(byte)param_2[4],param_3,param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bc860.c b/decomp/Agent_Release_x64/full/functions/0x1400bc860.c new file mode 100644 index 00000000..eabbffd5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bc860.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bc860 FUN_1400bc860 + * Pseudocode, not original source. */ + +undefined8 FUN_1400bc860(undefined8 param_1,undefined8 param_2,undefined8 param_3) + +{ + DWORD DVar1; + HANDLE pvVar2; + DWORD local_18; + undefined8 local_14; + undefined4 local_c; + + local_18 = GetCurrentThreadId(); + local_c = 0; + local_14 = param_2; + DVar1 = GetCurrentProcessId(); + pvVar2 = GetCurrentProcess(); + MiniDumpWriteDump(pvVar2,DVar1,param_3,0,&local_18,0,0); + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bc8e0.c b/decomp/Agent_Release_x64/full/functions/0x1400bc8e0.c new file mode 100644 index 00000000..8674f94a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bc8e0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bc8e0 FUN_1400bc8e0 + * Pseudocode, not original source. */ + +void FUN_1400bc8e0(LPCWSTR param_1) + +{ + HANDLE hObject; + + SetErrorMode(2); + hObject = CreateFileW(param_1,0x40000000,2,(LPSECURITY_ATTRIBUTES)0x0,2,0x80,(HANDLE)0x0); + if (hObject != (HANDLE)0xffffffffffffffff) { + uRam0000000000000000 = 1; + CloseHandle(hObject); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bc950.c b/decomp/Agent_Release_x64/full/functions/0x1400bc950.c new file mode 100644 index 00000000..b20d3fd7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bc950.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bc950 FUN_1400bc950 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400bc950(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + + *param_1 = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 1) = 0; + *(undefined2 *)((longlong)param_1 + 0xc) = 0; + param_1[2] = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 3) = 0; + *(undefined2 *)((longlong)param_1 + 0x1c) = 0; + param_1[4] = Proud::AddrPort::vftable; + *(undefined4 *)(param_1 + 5) = 0; + *(undefined2 *)((longlong)param_1 + 0x2c) = 0; + puVar1 = param_1 + 7; + FUN_140096180((undefined1 *)puVar1); + FUN_140030200(puVar1,param_2,param_3,param_4); + param_1[0x13] = PTR_DAT_140155010; + *(undefined1 *)((longlong)param_1 + 0x91) = 0; + *(undefined1 *)((longlong)param_1 + 0x34) = 1; + *(undefined4 *)(param_1 + 6) = 0; + *(undefined4 *)(param_1 + 3) = DAT_1401553d0; + *(undefined2 *)((longlong)param_1 + 0x1c) = DAT_1401553d4; + *(undefined4 *)(param_1 + 1) = *(undefined4 *)(param_1 + 3); + *(undefined2 *)((longlong)param_1 + 0xc) = *(undefined2 *)((longlong)param_1 + 0x1c); + *(undefined4 *)(param_1 + 5) = DAT_1401553d0; + *(undefined2 *)((longlong)param_1 + 0x2c) = DAT_1401553d4; + param_1[0x14] = 0; + *(undefined4 *)(param_1 + 0x15) = 0; + *(undefined1 *)(param_1 + 0x12) = 0; + param_1[0x16] = 0; + param_1[0x17] = 0; + *(undefined4 *)(param_1 + 0x19) = 0; + param_1[0x18] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bca40.c b/decomp/Agent_Release_x64/full/functions/0x1400bca40.c new file mode 100644 index 00000000..abf63a21 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bca40.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bca40 FUN_1400bca40 + * Pseudocode, not original source. */ + +ulonglong FUN_1400bca40(double *param_1,double param_2,double param_3) + +{ + int iVar1; + ulonglong in_RAX; + + if (DAT_14015bfcc != '\0') { + if (*param_1 == 0.0) { + *param_1 = param_2; + } + else if (DAT_14015514c <= *(int *)(param_1 + 1)) { + iVar1 = (int)((param_2 - *param_1) * param_3); + return (ulonglong)CONCAT31((int3)((uint)iVar1 >> 8),iVar1 < *(int *)(param_1 + 1)); + } + } + return in_RAX & 0xffffffffffffff00; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bca80.c b/decomp/Agent_Release_x64/full/functions/0x1400bca80.c new file mode 100644 index 00000000..07cb7ed1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bca80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bca80 FUN_1400bca80 + * Pseudocode, not original source. */ + +void FUN_1400bca80(longlong param_1,int param_2) + +{ + *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + param_2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bca90.c b/decomp/Agent_Release_x64/full/functions/0x1400bca90.c new file mode 100644 index 00000000..0aa19965 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bca90.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bca90 FUN_1400bca90 + * Pseudocode, not original source. */ + +void FUN_1400bca90(double *param_1,double param_2) + +{ + if (0.0 < param_2 - *param_1) { + *param_1 = param_2; + *(undefined4 *)(param_1 + 1) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bcab0.c b/decomp/Agent_Release_x64/full/functions/0x1400bcab0.c new file mode 100644 index 00000000..73263472 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bcab0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bcab0 FUN_1400bcab0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400bcab0(undefined8 *param_1) + +{ + *param_1 = 0; + *(undefined4 *)(param_1 + 1) = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bcac0.c b/decomp/Agent_Release_x64/full/functions/0x1400bcac0.c new file mode 100644 index 00000000..d24cb763 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bcac0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bcac0 FUN_1400bcac0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400bcac0(double *param_1,double param_2) + +{ + if (*param_1 == 0.0) { + *param_1 = param_2; + } + return 0x6400000; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bcae0.c b/decomp/Agent_Release_x64/full/functions/0x1400bcae0.c new file mode 100644 index 00000000..25f4f9c4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bcae0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bcae0 FUN_1400bcae0 + * Pseudocode, not original source. */ + +undefined1 FUN_1400bcae0(longlong param_1,double param_2) + +{ + if (DAT_140155180 * 3.0 < param_2 - *(double *)(param_1 + 0x18)) { + return 1; + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bcb10.c b/decomp/Agent_Release_x64/full/functions/0x1400bcb10.c new file mode 100644 index 00000000..953c849f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bcb10.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bcb10 FUN_1400bcb10 + * Pseudocode, not original source. */ + +void FUN_1400bcb10(double *param_1,double param_2,double param_3) + +{ + double dVar1; + + if (param_3 == 0.0) { + param_3 = 2146483647.0; + } + if (param_2 * 0.5 <= param_3) { + dVar1 = *param_1 * 2.0; + *param_1 = dVar1; + if (2146483647.0 <= dVar1) { + dVar1 = 2146483647.0; + } + *param_1 = dVar1; + } + else { + *param_1 = param_3 * 0.8; + } + if (*param_1 <= (double)DAT_14015514c) { + *param_1 = (double)DAT_14015514c; + return; + } + *param_1 = *param_1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bcb90.c b/decomp/Agent_Release_x64/full/functions/0x1400bcb90.c new file mode 100644 index 00000000..4469ebb3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bcb90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bcb90 FUN_1400bcb90 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400bcb90(undefined8 *param_1) + +{ + *param_1 = 0x41dffc2f6fc00000; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bcbb0.c b/decomp/Agent_Release_x64/full/functions/0x1400bcbb0.c new file mode 100644 index 00000000..85b09f7a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bcbb0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bcbb0 FUN_1400bcbb0 + * Pseudocode, not original source. */ + +void FUN_1400bcbb0(undefined8 *param_1,double param_2) + +{ + if ((double)param_1[1] == 0.0) { + param_1[1] = param_2; + } + if (DAT_140155180 * 3.0 < param_2 - (double)param_1[1]) { + param_1[1] = param_2; + *param_1 = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bcc00.c b/decomp/Agent_Release_x64/full/functions/0x1400bcc00.c new file mode 100644 index 00000000..fdeecce2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bcc00.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bcc00 FUN_1400bcc00 + * Pseudocode, not original source. */ + +void FUN_1400bcc00(double *param_1,double param_2) + +{ + double dVar1; + double dVar2; + + if (param_1[2] == 0.0) { + param_1[2] = param_2; + } + dVar2 = param_2 - param_1[2]; + if ((dVar2 != 0.0) && (DAT_140155180 * 0.2 < dVar2)) { + dVar1 = param_1[1]; + param_1[2] = param_2; + param_1[1] = 0.0; + *param_1 = (dVar1 / dVar2 - *param_1) * 0.7 + *param_1; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bcc70.c b/decomp/Agent_Release_x64/full/functions/0x1400bcc70.c new file mode 100644 index 00000000..8e0cb6f3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bcc70.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bcc70 FUN_1400bcc70 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_1400bcc70(uint param_1,uint param_2,longlong param_3,undefined *param_4) + +{ + DWORD DVar1; + DWORD DVar2; + undefined8 uVar3; + longlong lVar4; + undefined1 auStack_168 [32]; + byte local_148 [256]; + ulonglong local_48; + + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_168; + lVar4 = (longlong)(int)param_2; + if (param_3 == 0) { + uVar3 = 0x10; + } + else { + uVar3 = FUN_1400c6ac0(param_2); + if ((int)uVar3 == 0) { + if (param_1 - 0x40 < 0x3c1) { + uVar3 = (**(code **)(lVar4 * 0x50 + 0x14015f480))(param_3); + if ((int)uVar3 == 0) { + DVar1 = ((int)CONCAT71((int7)((ulonglong)uVar3 >> 8),(param_1 & 7) != 0) + + ((int)(param_1 + ((int)param_1 >> 0x1f & 7U)) >> 3)) * 2; + DVar2 = FUN_1400c6a60(local_148,DVar1,param_4); + if (DVar2 == DVar1) { + uVar3 = (**(code **)(lVar4 * 0x50 + 0x14015f488))(local_148,DVar1,param_3); + if ((int)uVar3 == 0) { + uVar3 = (**(code **)(lVar4 * 0x50 + 0x14015f490))(param_3); + } + } + else { + uVar3 = 9; + } + } + } + else { + uVar3 = 8; + } + } + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bcd70.c b/decomp/Agent_Release_x64/full/functions/0x1400bcd70.c new file mode 100644 index 00000000..8ec7b07b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bcd70.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bcd70 FUN_1400bcd70 + * Pseudocode, not original source. */ + +int FUN_1400bcd70(longlong param_1) + +{ + char cVar1; + char cVar2; + char *pcVar3; + int iVar4; + undefined8 *puVar5; + longlong lVar6; + + if (param_1 == 0) { + return 0x10; + } + EnterCriticalSection((LPCRITICAL_SECTION)&DAT_140163220); + iVar4 = 0; + puVar5 = &DAT_14015fe70; + do { + pcVar3 = (char *)*puVar5; + if (pcVar3 != (char *)0x0) { + lVar6 = param_1 - (longlong)pcVar3; + do { + cVar1 = *pcVar3; + cVar2 = pcVar3[lVar6]; + if (cVar1 != cVar2) break; + pcVar3 = pcVar3 + 1; + } while (cVar2 != '\0'); + if (cVar1 == cVar2) { + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140163220); + return iVar4; + } + } + iVar4 = iVar4 + 1; + puVar5 = puVar5 + 0x10; + if (0x1f < iVar4) { + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140163220); + return -1; + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bce10.c b/decomp/Agent_Release_x64/full/functions/0x1400bce10.c new file mode 100644 index 00000000..81a15e68 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bce10.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bce10 FUN_1400bce10 + * Pseudocode, not original source. */ + +int FUN_1400bce10(longlong param_1) + +{ + char cVar1; + char cVar2; + char *pcVar3; + int iVar4; + undefined8 *puVar5; + longlong lVar6; + + if (param_1 == 0) { + return 0x10; + } + EnterCriticalSection((LPCRITICAL_SECTION)&DAT_140163260); + iVar4 = 0; + puVar5 = &DAT_14015f470; + do { + pcVar3 = (char *)*puVar5; + if (pcVar3 != (char *)0x0) { + lVar6 = param_1 - (longlong)pcVar3; + do { + cVar1 = *pcVar3; + cVar2 = pcVar3[lVar6]; + if (cVar1 != cVar2) break; + pcVar3 = pcVar3 + 1; + } while (cVar2 != '\0'); + if (cVar1 == cVar2) { + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140163260); + return iVar4; + } + } + iVar4 = iVar4 + 1; + puVar5 = puVar5 + 10; + if (0x1f < iVar4) { + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140163260); + return -1; + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bceb0.c b/decomp/Agent_Release_x64/full/functions/0x1400bceb0.c new file mode 100644 index 00000000..9b6eaf96 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bceb0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bceb0 FUN_1400bceb0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bceb0(int param_1) + +{ + int *piVar1; + int iVar2; + + iVar2 = 0; + piVar1 = &DAT_1401108b0; + do { + if (param_1 == *piVar1) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar2 * 8); + } + piVar1 = piVar1 + 2; + iVar2 = iVar2 + 1; + } while ((longlong)piVar1 < 0x1401108c8); + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bcef0.c b/decomp/Agent_Release_x64/full/functions/0x1400bcef0.c new file mode 100644 index 00000000..0207679e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bcef0.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bcef0 FUN_1400bcef0 + * Pseudocode, not original source. */ + +int FUN_1400bcef0(undefined8 *param_1) + +{ + undefined4 *puVar1; + undefined8 uVar2; + int *piVar3; + int iVar4; + int iVar5; + + if (param_1 == (undefined8 *)0x0) { + return 0x10; + } + iVar5 = 1; + puVar1 = calloc(1,0x18); + *param_1 = puVar1; + if (puVar1 == (undefined4 *)0x0) { + return 0xd; + } + uVar2 = FUN_1400c6d70(puVar1); + iVar4 = 0; + piVar3 = &DAT_1401108b0; + do { + if ((int)uVar2 == *piVar3) { + iVar5 = *(int *)(&DAT_1401108b4 + (longlong)iVar4 * 8); + if (iVar5 == 0) { + return 0; + } + break; + } + piVar3 = piVar3 + 2; + iVar4 = iVar4 + 1; + } while ((longlong)piVar3 < 0x1401108c8); + free((void *)*param_1); + return iVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bcf90.c b/decomp/Agent_Release_x64/full/functions/0x1400bcf90.c new file mode 100644 index 00000000..49818918 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bcf90.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bcf90 FUN_1400bcf90 + * Pseudocode, not original source. */ + +void FUN_1400bcf90(int *param_1) + +{ + if (param_1 != (int *)0x0) { + FUN_1400c6dd0(param_1); + free(param_1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bcfc0.c b/decomp/Agent_Release_x64/full/functions/0x1400bcfc0.c new file mode 100644 index 00000000..a11e6446 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bcfc0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bcfc0 FUN_1400bcfc0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bcfc0(uint *param_1,uint *param_2) + +{ + undefined8 uVar1; + int *piVar2; + int iVar3; + + if ((param_1 != (uint *)0x0) && (param_2 != (uint *)0x0)) { + uVar1 = FUN_1400c6e30(param_1,param_2); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd020.c b/decomp/Agent_Release_x64/full/functions/0x1400bd020.c new file mode 100644 index 00000000..e04b18d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd020.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd020 FUN_1400bd020 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd020(uint *param_1,uint *param_2) + +{ + undefined8 uVar1; + int *piVar2; + int iVar3; + + if ((param_1 != (uint *)0x0) && (param_2 != (uint *)0x0)) { + uVar1 = FUN_1400c6e70(param_1,param_2); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd080.c b/decomp/Agent_Release_x64/full/functions/0x1400bd080.c new file mode 100644 index 00000000..6a248e82 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd080.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd080 FUN_1400bd080 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd080(undefined8 *param_1,uint *param_2) + +{ + int iVar1; + undefined8 uVar2; + int *piVar3; + + iVar1 = FUN_1400bcef0(param_1); + if (iVar1 != 0) { + return 0xd; + } + if ((param_2 != (uint *)0x0) && ((uint *)*param_1 != (uint *)0x0)) { + uVar2 = FUN_1400c6e70(param_2,(uint *)*param_1); + iVar1 = 0; + piVar3 = &DAT_1401108b0; + do { + if ((int)uVar2 == *piVar3) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar1 * 8); + } + piVar3 = piVar3 + 2; + iVar1 = iVar1 + 1; + } while ((longlong)piVar3 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd120.c b/decomp/Agent_Release_x64/full/functions/0x1400bd120.c new file mode 100644 index 00000000..f947449f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd120.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd120 FUN_1400bd120 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd120(uint *param_1,uint param_2) + +{ + undefined8 uVar1; + int *piVar2; + int iVar3; + + if (param_1 == (uint *)0x0) { + return 0x10; + } + uVar1 = FUN_1400c6f00(param_1,param_2); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd1d0.c b/decomp/Agent_Release_x64/full/functions/0x1400bd1d0.c new file mode 100644 index 00000000..edf8f84d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd1d0.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd1d0 FUN_1400bd1d0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400bd1d0(int *param_1,int *param_2) + +{ + int iVar1; + undefined8 uVar2; + + if ((param_1 == (int *)0x0) || (param_2 == (int *)0x0)) { + return 0x10; + } + uVar2 = FUN_1400c6fc0(param_1,param_2); + iVar1 = (int)uVar2; + if (iVar1 == -1) { + return 0xffffffff; + } + if (iVar1 != 0) { + return (ulonglong)(iVar1 == 1); + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd220.c b/decomp/Agent_Release_x64/full/functions/0x1400bd220.c new file mode 100644 index 00000000..6a07db69 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd220.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd220 FUN_1400bd220 + * Pseudocode, not original source. */ + +uint FUN_1400bd220(int *param_1,uint param_2) + +{ + int iVar1; + + if (param_1 == (int *)0x0) { + return 0x10; + } + iVar1 = FUN_1400c6ff0(param_1,param_2); + if (iVar1 != -1) { + if (iVar1 != 0) { + return (uint)(iVar1 == 1); + } + return 0; + } + return 0xffffffff; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd280.c b/decomp/Agent_Release_x64/full/functions/0x1400bd280.c new file mode 100644 index 00000000..be4309ce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd280.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd280 FUN_1400bd280 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd280(uint *param_1,int param_2) + +{ + undefined8 uVar1; + int *piVar2; + int iVar3; + + if (param_1 == (uint *)0x0) { + return 0x10; + } + uVar1 = FUN_1400c70c0(param_1,param_2); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd2e0.c b/decomp/Agent_Release_x64/full/functions/0x1400bd2e0.c new file mode 100644 index 00000000..779da2c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd2e0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd2e0 FUN_1400bd2e0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd2e0(int *param_1,char *param_2,uint param_3) + +{ + ulonglong uVar1; + int *piVar2; + int iVar3; + + if ((param_1 != (int *)0x0) && (param_2 != (char *)0x0)) { + uVar1 = FUN_1400c7140(param_1,param_2,param_3); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd340.c b/decomp/Agent_Release_x64/full/functions/0x1400bd340.c new file mode 100644 index 00000000..7c0292b1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd340.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd340 FUN_1400bd340 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd340(uint *param_1,undefined2 *param_2,uint param_3) + +{ + ulonglong uVar1; + int *piVar2; + int iVar3; + + if ((param_1 != (uint *)0x0) && (param_2 != (undefined2 *)0x0)) { + uVar1 = FUN_1400c7240(param_1,param_2,param_3); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd3b0.c b/decomp/Agent_Release_x64/full/functions/0x1400bd3b0.c new file mode 100644 index 00000000..b5edc807 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd3b0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd3b0 FUN_1400bd3b0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd3b0(uint *param_1,undefined1 *param_2) + +{ + ulonglong uVar1; + int *piVar2; + int iVar3; + + if ((param_1 != (uint *)0x0) && (param_2 != (undefined1 *)0x0)) { + uVar1 = FUN_1400c7370(param_1,param_2); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd410.c b/decomp/Agent_Release_x64/full/functions/0x1400bd410.c new file mode 100644 index 00000000..6c8b5c19 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd410.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd410 FUN_1400bd410 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd410(uint *param_1,byte *param_2,int param_3) + +{ + undefined8 uVar1; + int *piVar2; + int iVar3; + + if ((param_1 != (uint *)0x0) && (param_2 != (byte *)0x0)) { + uVar1 = FUN_1400c7420(param_1,param_2,param_3); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd470.c b/decomp/Agent_Release_x64/full/functions/0x1400bd470.c new file mode 100644 index 00000000..b5364a6c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd470.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd470 FUN_1400bd470 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd470(uint *param_1,uint *param_2,uint *param_3) + +{ + int iVar1; + int *piVar2; + int iVar3; + + if (((param_1 != (uint *)0x0) && (param_2 != (uint *)0x0)) && (param_3 != (uint *)0x0)) { + iVar1 = FUN_1400c74b0(param_1,param_2,param_3); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if (iVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd4d0.c b/decomp/Agent_Release_x64/full/functions/0x1400bd4d0.c new file mode 100644 index 00000000..32fd9dce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd4d0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd4d0 FUN_1400bd4d0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd4d0(int *param_1,uint param_2,int *param_3) + +{ + ulonglong uVar1; + int *piVar2; + int iVar3; + + if ((param_1 != (int *)0x0) && (param_3 != (int *)0x0)) { + uVar1 = FUN_1400c7530(param_1,param_2,param_3); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd530.c b/decomp/Agent_Release_x64/full/functions/0x1400bd530.c new file mode 100644 index 00000000..e6fa831b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd530.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd530 FUN_1400bd530 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd530(uint *param_1,uint *param_2,uint *param_3) + +{ + int iVar1; + int *piVar2; + int iVar3; + + if (((param_1 != (uint *)0x0) && (param_2 != (uint *)0x0)) && (param_3 != (uint *)0x0)) { + iVar1 = FUN_1400c7670(param_1,param_2,param_3); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if (iVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd590.c b/decomp/Agent_Release_x64/full/functions/0x1400bd590.c new file mode 100644 index 00000000..fd48e7b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd590.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd590 FUN_1400bd590 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd590(int *param_1,uint param_2,int *param_3) + +{ + ulonglong uVar1; + int *piVar2; + int iVar3; + + if ((param_1 != (int *)0x0) && (param_3 != (int *)0x0)) { + uVar1 = FUN_1400c76f0(param_1,param_2,param_3); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd5f0.c b/decomp/Agent_Release_x64/full/functions/0x1400bd5f0.c new file mode 100644 index 00000000..574b6e77 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd5f0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd5f0 FUN_1400bd5f0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd5f0(uint *param_1,uint *param_2,uint *param_3) + +{ + int iVar1; + int *piVar2; + int iVar3; + + if (((param_1 != (uint *)0x0) && (param_2 != (uint *)0x0)) && (param_3 != (uint *)0x0)) { + iVar1 = FUN_1400c7830(param_1,param_2,param_3); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if (iVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd650.c b/decomp/Agent_Release_x64/full/functions/0x1400bd650.c new file mode 100644 index 00000000..d75814c1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd650.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd650 FUN_1400bd650 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd650(int *param_1,uint param_2,int *param_3) + +{ + undefined8 uVar1; + int *piVar2; + int iVar3; + + if ((param_1 != (int *)0x0) && (param_3 != (int *)0x0)) { + uVar1 = FUN_1400c78e0(param_1,param_2,param_3); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd6b0.c b/decomp/Agent_Release_x64/full/functions/0x1400bd6b0.c new file mode 100644 index 00000000..d64dbab7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd6b0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd6b0 FUN_1400bd6b0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd6b0(uint *param_1,uint *param_2) + +{ + int iVar1; + int *piVar2; + int iVar3; + + if ((param_1 != (uint *)0x0) && (param_2 != (uint *)0x0)) { + iVar1 = FUN_1400c79a0(param_1,param_2); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if (iVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd710.c b/decomp/Agent_Release_x64/full/functions/0x1400bd710.c new file mode 100644 index 00000000..05ef1170 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd710.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd710 FUN_1400bd710 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd710(uint *param_1,uint *param_2,undefined8 *param_3,uint *param_4) + +{ + ulonglong uVar1; + int *piVar2; + int iVar3; + + if ((param_1 != (uint *)0x0) && (param_2 != (uint *)0x0)) { + uVar1 = FUN_1400c7a20(param_1,param_2,param_3,param_4); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd770.c b/decomp/Agent_Release_x64/full/functions/0x1400bd770.c new file mode 100644 index 00000000..5dc2712a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd770.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd770 FUN_1400bd770 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd770(uint *param_1,uint *param_2) + +{ + undefined8 uVar1; + int *piVar2; + int iVar3; + + if ((param_1 != (uint *)0x0) && (param_2 != (uint *)0x0)) { + uVar1 = FUN_1400c7f50(param_1,param_2); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd7d0.c b/decomp/Agent_Release_x64/full/functions/0x1400bd7d0.c new file mode 100644 index 00000000..6e1e24d1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd7d0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd7d0 FUN_1400bd7d0 + * Pseudocode, not original source. */ + +int FUN_1400bd7d0(uint *param_1,uint param_2,uint *param_3) + +{ + int iVar1; + int *piVar2; + int iVar3; + uint local_res8 [8]; + + if ((param_1 != (uint *)0x0) && (param_3 != (uint *)0x0)) { + iVar1 = FUN_1400c8000(param_1,param_2,local_res8); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if (iVar1 == *piVar2) { + iVar1 = *(int *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + if (iVar1 == 0) { + *param_3 = local_res8[0]; + iVar1 = 0; + } + return iVar1; + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd850.c b/decomp/Agent_Release_x64/full/functions/0x1400bd850.c new file mode 100644 index 00000000..71e3c777 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd850.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd850 FUN_1400bd850 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd850(uint *param_1,uint *param_2,uint *param_3) + +{ + ulonglong uVar1; + int *piVar2; + int iVar3; + + if (((param_1 != (uint *)0x0) && (param_2 != (uint *)0x0)) && (param_3 != (uint *)0x0)) { + uVar1 = FUN_1400c8010(param_1,param_2,param_3); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd8b0.c b/decomp/Agent_Release_x64/full/functions/0x1400bd8b0.c new file mode 100644 index 00000000..ff06d6e7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd8b0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd8b0 FUN_1400bd8b0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd8b0(uint *param_1,uint *param_2,uint *param_3) + +{ + ulonglong uVar1; + int *piVar2; + int iVar3; + + if (((param_1 != (uint *)0x0) && (param_2 != (uint *)0x0)) && (param_3 != (uint *)0x0)) { + uVar1 = FUN_1400c81f0(param_1,param_2,param_3); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd910.c b/decomp/Agent_Release_x64/full/functions/0x1400bd910.c new file mode 100644 index 00000000..e28d2433 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd910.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd910 FUN_1400bd910 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd910(uint *param_1,uint *param_2,uint *param_3,uint *param_4) + +{ + undefined4 uVar1; + ulonglong uVar2; + + if ((((param_1 != (uint *)0x0) && (param_2 != (uint *)0x0)) && (param_3 != (uint *)0x0)) && + (param_4 != (uint *)0x0)) { + uVar2 = FUN_1400c82c0(param_1,param_2,param_3,param_4); + uVar1 = FUN_1400bceb0((int)uVar2); + return uVar1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd950.c b/decomp/Agent_Release_x64/full/functions/0x1400bd950.c new file mode 100644 index 00000000..103c1273 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd950.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd950 FUN_1400bd950 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd950(uint *param_1,uint *param_2,uint *param_3) + +{ + ulonglong uVar1; + int *piVar2; + int iVar3; + + if (((param_1 != (uint *)0x0) && (param_2 != (uint *)0x0)) && (param_3 != (uint *)0x0)) { + uVar1 = FUN_1400c8340(param_1,param_2,param_3); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bd9b0.c b/decomp/Agent_Release_x64/full/functions/0x1400bd9b0.c new file mode 100644 index 00000000..45bb74fe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bd9b0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bd9b0 FUN_1400bd9b0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bd9b0(uint *param_1,uint *param_2,undefined8 *param_3) + +{ + ulonglong uVar1; + int *piVar2; + int iVar3; + + if (((param_1 != (uint *)0x0) && (param_2 != (uint *)0x0)) && (param_3 != (undefined8 *)0x0)) { + uVar1 = FUN_1400c83b0(param_1,param_2,param_3); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bda10.c b/decomp/Agent_Release_x64/full/functions/0x1400bda10.c new file mode 100644 index 00000000..6ebac379 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bda10.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bda10 FUN_1400bda10 + * Pseudocode, not original source. */ + +int FUN_1400bda10(longlong param_1,undefined8 *param_2) + +{ + uint *puVar1; + undefined8 uVar2; + int *piVar3; + int iVar4; + int iVar5; + + if ((param_1 == 0) || (param_2 == (undefined8 *)0x0)) { + return 0x10; + } + iVar5 = 1; + puVar1 = calloc(1,4); + *param_2 = puVar1; + if (puVar1 == (uint *)0x0) { + return 0xd; + } + uVar2 = FUN_1400c83e0(param_1,puVar1); + iVar4 = 0; + piVar3 = &DAT_1401108b0; + do { + if ((int)uVar2 == *piVar3) { + iVar5 = *(int *)(&DAT_1401108b4 + (longlong)iVar4 * 8); + if (iVar5 == 0) { + return 0; + } + break; + } + piVar3 = piVar3 + 2; + iVar4 = iVar4 + 1; + } while ((longlong)piVar3 < 0x1401108c8); + free((void *)*param_2); + return iVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bdad0.c b/decomp/Agent_Release_x64/full/functions/0x1400bdad0.c new file mode 100644 index 00000000..33a7ccea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bdad0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bdad0 FUN_1400bdad0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bdad0(uint *param_1,uint *param_2) + +{ + undefined8 uVar1; + int *piVar2; + int iVar3; + + if ((param_1 != (uint *)0x0) && (param_2 != (uint *)0x0)) { + uVar1 = FUN_1400c8440(param_1,param_2); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bdb30.c b/decomp/Agent_Release_x64/full/functions/0x1400bdb30.c new file mode 100644 index 00000000..b194fc10 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bdb30.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bdb30 FUN_1400bdb30 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bdb30(uint *param_1,uint *param_2,int *param_3) + +{ + undefined8 uVar1; + int *piVar2; + int iVar3; + + if (((param_1 != (uint *)0x0) && (param_2 != (uint *)0x0)) && (param_3 != (int *)0x0)) { + uVar1 = FUN_1400c8510(param_1,param_2,*param_3); + iVar3 = 0; + piVar2 = &DAT_1401108b0; + do { + if ((int)uVar1 == *piVar2) { + return *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar3 * 8); + } + piVar2 = piVar2 + 2; + iVar3 = iVar3 + 1; + } while ((longlong)piVar2 < 0x1401108c8); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bdba0.c b/decomp/Agent_Release_x64/full/functions/0x1400bdba0.c new file mode 100644 index 00000000..b7a472c0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bdba0.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bdba0 FUN_1400bdba0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bdba0(uint *param_1,uint *param_2,uint *param_3,undefined8 *param_4) + +{ + int iVar1; + undefined4 uVar2; + + if ((((param_1 != (uint *)0x0) && (param_2 != (uint *)0x0)) && (param_3 != (uint *)0x0)) && + (param_4 != (undefined8 *)0x0)) { + iVar1 = FUN_1400c8680(param_1,param_2,param_3,param_4); + uVar2 = FUN_1400bceb0(iVar1); + return uVar2; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bdbe0.c b/decomp/Agent_Release_x64/full/functions/0x1400bdbe0.c new file mode 100644 index 00000000..130fe26d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bdbe0.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bdbe0 FUN_1400bdbe0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400bdbe0(uint *param_1,uint *param_2) + +{ + undefined4 uVar1; + ulonglong uVar2; + int *piVar3; + int iVar4; + + if ((param_1 != (uint *)0x0) && (param_2 != (uint *)0x0)) { + uVar2 = FUN_1400c87e0(param_1,8,param_2); + iVar4 = 0; + piVar3 = &DAT_1401108b0; + do { + if ((int)uVar2 == *piVar3) { + uVar1 = *(undefined4 *)(&DAT_1401108b4 + (longlong)iVar4 * 8); + *param_2 = (uint)(*param_2 == 1); + return uVar1; + } + piVar3 = piVar3 + 2; + iVar4 = iVar4 + 1; + } while ((longlong)piVar3 < 0x1401108c8); + *param_2 = (uint)(*param_2 == 1); + return 1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bdc60.c b/decomp/Agent_Release_x64/full/functions/0x1400bdc60.c new file mode 100644 index 00000000..c32884e2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bdc60.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bdc60 FUN_1400bdc60 + * Pseudocode, not original source. */ + +int FUN_1400bdc60(void *param_1) + +{ + int iVar1; + longlong *plVar2; + int iVar3; + int iVar4; + + if (param_1 == (void *)0x0) { + return 0x10; + } + EnterCriticalSection((LPCRITICAL_SECTION)&DAT_140163220); + iVar4 = 0; + iVar3 = 0; + do { + iVar1 = memcmp(&DAT_14015fe70 + (longlong)iVar3 * 0x10,param_1,0x80); + if (iVar1 == 0) { + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140163220); + return iVar3; + } + iVar3 = iVar3 + 1; + } while (iVar3 < 0x20); + plVar2 = &DAT_14015fe70; + do { + if (*plVar2 == 0) { + memcpy(&DAT_14015fe70 + (longlong)iVar4 * 0x10,param_1,0x80); + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140163220); + return iVar4; + } + plVar2 = plVar2 + 0x10; + iVar4 = iVar4 + 1; + } while ((longlong)plVar2 < 0x140160e70); + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140163220); + return -1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bdd40.c b/decomp/Agent_Release_x64/full/functions/0x1400bdd40.c new file mode 100644 index 00000000..2d65b2c8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bdd40.c @@ -0,0 +1,169 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bdd40 FUN_1400bdd40 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_1400bdd40(longlong param_1,longlong param_2) + +{ + uint uVar1; + undefined1 uVar2; + undefined1 uVar3; + uint uVar4; + uint uVar5; + uint uVar6; + longlong lVar7; + uint *puVar8; + int *piVar9; + uint uVar10; + uint uVar11; + uint uVar12; + uint uVar13; + undefined1 *puVar14; + undefined1 *puVar15; + uint uVar16; + uint uVar17; + longlong lVar18; + undefined1 auStack_17a [2]; + undefined1 local_178 [4]; + undefined1 local_174 [4]; + undefined1 local_170 [4]; + uint local_16c [37]; + int local_d8 [20]; + int local_88 [20]; + ulonglong local_38; + + local_38 = DAT_1401555a0 ^ (ulonglong)local_178; + lVar18 = 4; + lVar7 = 4; + puVar14 = (undefined1 *)(param_2 + 2); + do { + puVar15 = puVar14 + 0x10; + uVar2 = puVar14[3]; + *(uint *)(puVar15 + (longlong)local_16c + (-0x1e - param_2)) = + CONCAT31(CONCAT21(CONCAT11(puVar14[-2],puVar14[-1]),*puVar14),puVar14[1]); + uVar3 = puVar14[7]; + *(uint *)(puVar15 + (longlong)local_16c + (-0x1a - param_2)) = + CONCAT31(CONCAT21(CONCAT11(puVar14[2],uVar2),puVar14[4]),puVar14[5]); + uVar2 = puVar14[0xb]; + *(uint *)(puVar15 + (longlong)local_16c + (-0x16 - param_2)) = + CONCAT31(CONCAT21(CONCAT11(puVar14[6],uVar3),puVar14[8]),puVar14[9]); + lVar7 = lVar7 + -1; + *(uint *)(puVar15 + (longlong)local_16c + (-0x12 - param_2)) = + CONCAT31(CONCAT21(CONCAT11(puVar14[10],uVar2),puVar14[0xc]),puVar14[0xd]); + puVar14 = puVar15; + } while (lVar7 != 0); + uVar4 = *(uint *)(param_1 + 8); + uVar5 = *(uint *)(param_1 + 0xc); + uVar16 = *(uint *)(param_1 + 0x10); + uVar17 = *(uint *)(param_1 + 0x14); + uVar10 = *(uint *)(param_1 + 0x18); + lVar7 = 0x10; + puVar8 = local_16c + 5; + do { + uVar13 = puVar8[-8] ^ puVar8[5] ^ puVar8[-6] ^ *puVar8; + uVar6 = puVar8[-7] ^ puVar8[6] ^ puVar8[1] ^ puVar8[-5]; + uVar13 = uVar13 << 1 | (uint)((int)uVar13 < 0); + puVar8[8] = uVar13; + puVar8[9] = uVar6 << 1 | (uint)((int)uVar6 < 0); + uVar6 = puVar8[7] ^ puVar8[-4] ^ puVar8[2] ^ puVar8[-6]; + puVar8[10] = uVar6 << 1 | (uint)((int)uVar6 < 0); + uVar6 = puVar8[-3] ^ puVar8[3] ^ uVar13 ^ puVar8[-5]; + lVar7 = lVar7 + -1; + puVar8[0xb] = uVar6 << 1 | (uint)((int)uVar6 < 0); + puVar8 = puVar8 + 4; + } while (lVar7 != 0); + lVar7 = 4; + piVar9 = (int *)local_178; + uVar13 = uVar4; + uVar6 = uVar5; + do { + uVar12 = uVar6 << 0x1e | uVar6 >> 2; + uVar6 = uVar10 + 0x5a827999 + + (uVar13 << 5 | uVar13 >> 0x1b) + ((uVar17 ^ uVar16) & uVar6 ^ uVar17) + *piVar9; + uVar11 = uVar13 << 0x1e | uVar13 >> 2; + uVar13 = uVar17 + 0x5a827999 + + (uVar6 * 0x20 | uVar6 >> 0x1b) + ((uVar16 ^ uVar12) & uVar13 ^ uVar16) + piVar9[1]; + uVar10 = uVar6 * 0x40000000 | uVar6 >> 2; + uVar1 = uVar16 + 0x5a827999 + + (uVar13 * 0x20 | uVar13 >> 0x1b) + ((uVar12 ^ uVar11) & uVar6 ^ uVar12) + piVar9[2]; + uVar17 = uVar13 * 0x40000000 | uVar13 >> 2; + uVar6 = uVar12 + 0x5a827999 + + (uVar1 * 0x20 | uVar1 >> 0x1b) + ((uVar10 ^ uVar11) & uVar13 ^ uVar11) + piVar9[3]; + uVar16 = uVar1 * 0x40000000 | uVar1 >> 2; + lVar7 = lVar7 + -1; + uVar13 = uVar11 + 0x5a827999 + + (uVar6 * 0x20 | uVar6 >> 0x1b) + ((uVar10 ^ uVar17) & uVar1 ^ uVar10) + piVar9[4]; + piVar9 = piVar9 + 5; + } while (lVar7 != 0); + lVar7 = 4; + puVar8 = local_16c + 0x11; + do { + uVar12 = uVar6 << 0x1e | uVar6 >> 2; + uVar6 = uVar10 + 0x6ed9eba1 + + (uVar13 << 5 | uVar13 >> 0x1b) + (uVar17 ^ uVar16 ^ uVar6) + *puVar8; + uVar11 = uVar13 << 0x1e | uVar13 >> 2; + uVar13 = uVar17 + 0x6ed9eba1 + + (uVar6 * 0x20 | uVar6 >> 0x1b) + (uVar16 ^ uVar12 ^ uVar13) + puVar8[1]; + uVar10 = uVar6 * 0x40000000 | uVar6 >> 2; + uVar1 = uVar16 + 0x6ed9eba1 + + (uVar13 * 0x20 | uVar13 >> 0x1b) + (uVar6 ^ uVar12 ^ uVar11) + puVar8[2]; + uVar17 = uVar13 * 0x40000000 | uVar13 >> 2; + uVar6 = uVar12 + 0x6ed9eba1 + + (uVar1 * 0x20 | uVar1 >> 0x1b) + (uVar10 ^ uVar13 ^ uVar11) + puVar8[3]; + uVar16 = uVar1 * 0x40000000 | uVar1 >> 2; + lVar7 = lVar7 + -1; + uVar13 = uVar11 + 0x6ed9eba1 + + (uVar6 * 0x20 | uVar6 >> 0x1b) + (uVar10 ^ uVar17 ^ uVar1) + puVar8[4]; + puVar8 = puVar8 + 5; + } while (lVar7 != 0); + lVar7 = 4; + piVar9 = local_d8; + do { + uVar12 = uVar6 << 0x1e | uVar6 >> 2; + uVar6 = ((uVar16 | uVar6) & uVar17 | uVar16 & uVar6) + *piVar9 + uVar10 + -0x70e44324 + + (uVar13 << 5 | uVar13 >> 0x1b); + uVar11 = uVar13 << 0x1e | uVar13 >> 2; + uVar13 = ((uVar12 | uVar13) & uVar16 | uVar12 & uVar13) + piVar9[1] + uVar17 + -0x70e44324 + + (uVar6 * 0x20 | uVar6 >> 0x1b); + uVar10 = uVar6 * 0x40000000 | uVar6 >> 2; + uVar1 = ((uVar6 | uVar11) & uVar12 | uVar6 & uVar11) + piVar9[2] + uVar16 + -0x70e44324 + + (uVar13 * 0x20 | uVar13 >> 0x1b); + uVar17 = uVar13 * 0x40000000 | uVar13 >> 2; + uVar6 = ((uVar10 | uVar13) & uVar11 | uVar10 & uVar13) + piVar9[3] + uVar12 + -0x70e44324 + + (uVar1 * 0x20 | uVar1 >> 0x1b); + uVar16 = uVar1 * 0x40000000 | uVar1 >> 2; + lVar7 = lVar7 + -1; + uVar13 = ((uVar17 | uVar1) & uVar10 | uVar17 & uVar1) + piVar9[4] + uVar11 + -0x70e44324 + + (uVar6 * 0x20 | uVar6 >> 0x1b); + piVar9 = piVar9 + 5; + } while (lVar7 != 0); + piVar9 = local_88; + do { + uVar12 = uVar6 << 0x1e | uVar6 >> 2; + uVar6 = (uVar17 ^ uVar16 ^ uVar6) + *piVar9 + uVar10 + -0x359d3e2a + + (uVar13 << 5 | uVar13 >> 0x1b); + uVar11 = uVar13 << 0x1e | uVar13 >> 2; + uVar13 = (uVar16 ^ uVar12 ^ uVar13) + piVar9[1] + uVar17 + -0x359d3e2a + + (uVar6 * 0x20 | uVar6 >> 0x1b); + uVar10 = uVar6 * 0x40000000 | uVar6 >> 2; + uVar1 = (uVar6 ^ uVar12 ^ uVar11) + piVar9[2] + uVar16 + -0x359d3e2a + + (uVar13 * 0x20 | uVar13 >> 0x1b); + uVar17 = uVar13 * 0x40000000 | uVar13 >> 2; + uVar6 = (uVar10 ^ uVar13 ^ uVar11) + piVar9[3] + uVar12 + -0x359d3e2a + + (uVar1 * 0x20 | uVar1 >> 0x1b); + uVar16 = uVar1 * 0x40000000 | uVar1 >> 2; + lVar18 = lVar18 + -1; + uVar13 = (uVar10 ^ uVar17 ^ uVar1) + piVar9[4] + uVar11 + -0x359d3e2a + + (uVar6 * 0x20 | uVar6 >> 0x1b); + piVar9 = piVar9 + 5; + } while (lVar18 != 0); + *(uint *)(param_1 + 8) = uVar4 + uVar13; + *(uint *)(param_1 + 0xc) = uVar5 + uVar6; + *(uint *)(param_1 + 0x10) = *(int *)(param_1 + 0x10) + uVar16; + *(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + uVar17; + *(uint *)(param_1 + 0x18) = *(int *)(param_1 + 0x18) + uVar10; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400be250.c b/decomp/Agent_Release_x64/full/functions/0x1400be250.c new file mode 100644 index 00000000..f6c63656 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400be250.c @@ -0,0 +1,47 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400be250 FUN_1400be250 + * Pseudocode, not original source. */ + +undefined8 FUN_1400be250(longlong *param_1,void *param_2,uint param_3) + +{ + undefined8 uVar1; + uint uVar2; + + if (((param_1 != (longlong *)0x0) && (param_2 != (void *)0x0)) && + (*(uint *)((longlong)param_1 + 0x1c) < 0x41)) { + while( true ) { + while( true ) { + if (param_3 == 0) { + return 0; + } + if ((*(int *)((longlong)param_1 + 0x1c) == 0) && (0x3f < param_3)) break; + uVar2 = 0x40 - *(int *)((longlong)param_1 + 0x1c); + if (param_3 < uVar2) { + uVar2 = param_3; + } + memcpy((void *)((ulonglong)*(uint *)((longlong)param_1 + 0x1c) + 0x20 + (longlong)param_1), + param_2,(ulonglong)uVar2); + *(int *)((longlong)param_1 + 0x1c) = *(int *)((longlong)param_1 + 0x1c) + uVar2; + param_2 = (void *)((longlong)param_2 + (ulonglong)uVar2); + param_3 = param_3 - uVar2; + if (*(int *)((longlong)param_1 + 0x1c) == 0x40) { + uVar1 = FUN_1400bdd40((longlong)param_1,(longlong)(param_1 + 4)); + if ((int)uVar1 != 0) { + return uVar1; + } + *param_1 = *param_1 + 0x200; + *(undefined4 *)((longlong)param_1 + 0x1c) = 0; + } + } + uVar1 = FUN_1400bdd40((longlong)param_1,(longlong)param_2); + if ((int)uVar1 != 0) break; + *param_1 = *param_1 + 0x200; + param_2 = (void *)((longlong)param_2 + 0x40); + param_3 = param_3 - 0x40; + } + return uVar1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400be330.c b/decomp/Agent_Release_x64/full/functions/0x1400be330.c new file mode 100644 index 00000000..fe029748 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400be330.c @@ -0,0 +1,67 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400be330 FUN_1400be330 + * Pseudocode, not original source. */ + +undefined8 FUN_1400be330(longlong *param_1,undefined1 *param_2) + +{ + uint uVar1; + + if ((param_1 != (longlong *)0x0) && (param_2 != (undefined1 *)0x0)) { + uVar1 = *(uint *)((longlong)param_1 + 0x1c); + if (uVar1 < 0x40) { + *param_1 = *param_1 + (ulonglong)(uVar1 * 8); + *(undefined1 *)((ulonglong)uVar1 + 0x20 + (longlong)param_1) = 0x80; + *(int *)((longlong)param_1 + 0x1c) = *(int *)((longlong)param_1 + 0x1c) + 1; + uVar1 = *(uint *)((longlong)param_1 + 0x1c); + if (0x38 < uVar1) { + while (uVar1 < 0x40) { + *(undefined1 *)((ulonglong)uVar1 + 0x20 + (longlong)param_1) = 0; + *(int *)((longlong)param_1 + 0x1c) = *(int *)((longlong)param_1 + 0x1c) + 1; + uVar1 = *(uint *)((longlong)param_1 + 0x1c); + } + FUN_1400bdd40((longlong)param_1,(longlong)(param_1 + 4)); + *(undefined4 *)((longlong)param_1 + 0x1c) = 0; + } + uVar1 = *(uint *)((longlong)param_1 + 0x1c); + while (uVar1 < 0x38) { + *(undefined1 *)((ulonglong)*(uint *)((longlong)param_1 + 0x1c) + 0x20 + (longlong)param_1) = + 0; + *(int *)((longlong)param_1 + 0x1c) = *(int *)((longlong)param_1 + 0x1c) + 1; + uVar1 = *(uint *)((longlong)param_1 + 0x1c); + } + *(undefined1 *)(param_1 + 0xb) = *(undefined1 *)((longlong)param_1 + 7); + *(undefined1 *)((longlong)param_1 + 0x59) = *(undefined1 *)((longlong)param_1 + 6); + *(undefined1 *)((longlong)param_1 + 0x5a) = *(undefined1 *)((longlong)param_1 + 5); + *(undefined1 *)((longlong)param_1 + 0x5b) = *(undefined1 *)((longlong)param_1 + 4); + *(undefined1 *)((longlong)param_1 + 0x5c) = *(undefined1 *)((longlong)param_1 + 3); + *(undefined1 *)((longlong)param_1 + 0x5d) = *(undefined1 *)((longlong)param_1 + 2); + *(undefined1 *)((longlong)param_1 + 0x5e) = *(undefined1 *)((longlong)param_1 + 1); + *(char *)((longlong)param_1 + 0x5f) = (char)*param_1; + FUN_1400bdd40((longlong)param_1,(longlong)(param_1 + 4)); + *param_2 = *(undefined1 *)((longlong)param_1 + 0xb); + param_2[1] = *(undefined1 *)((longlong)param_1 + 10); + param_2[2] = *(undefined1 *)((longlong)param_1 + 9); + param_2[3] = (char)param_1[1]; + param_2[4] = *(undefined1 *)((longlong)param_1 + 0xf); + param_2[5] = *(undefined1 *)((longlong)param_1 + 0xe); + param_2[6] = *(undefined1 *)((longlong)param_1 + 0xd); + param_2[7] = *(undefined1 *)((longlong)param_1 + 0xc); + param_2[8] = *(undefined1 *)((longlong)param_1 + 0x13); + param_2[9] = *(undefined1 *)((longlong)param_1 + 0x12); + param_2[10] = *(undefined1 *)((longlong)param_1 + 0x11); + param_2[0xb] = (char)param_1[2]; + param_2[0xc] = *(undefined1 *)((longlong)param_1 + 0x17); + param_2[0xd] = *(undefined1 *)((longlong)param_1 + 0x16); + param_2[0xe] = *(undefined1 *)((longlong)param_1 + 0x15); + param_2[0xf] = *(undefined1 *)((longlong)param_1 + 0x14); + param_2[0x10] = *(undefined1 *)((longlong)param_1 + 0x1b); + param_2[0x11] = *(undefined1 *)((longlong)param_1 + 0x1a); + param_2[0x12] = *(undefined1 *)((longlong)param_1 + 0x19); + param_2[0x13] = (char)param_1[3]; + return 0; + } + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400be4c0.c b/decomp/Agent_Release_x64/full/functions/0x1400be4c0.c new file mode 100644 index 00000000..3589384a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400be4c0.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400be4c0 FUN_1400be4c0 + * Pseudocode, not original source. */ + +int FUN_1400be4c0(void *param_1) + +{ + int iVar1; + longlong *plVar2; + int iVar3; + int iVar4; + + if (param_1 == (void *)0x0) { + return 0x10; + } + EnterCriticalSection((LPCRITICAL_SECTION)&DAT_140163260); + iVar4 = 0; + iVar3 = 0; + do { + iVar1 = memcmp(&DAT_14015f470 + (longlong)iVar3 * 10,param_1,0x50); + if (iVar1 == 0) { + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140163260); + return iVar3; + } + iVar3 = iVar3 + 1; + } while (iVar3 < 0x20); + plVar2 = &DAT_14015f470; + do { + if (*plVar2 == 0) { + memcpy(&DAT_14015f470 + (longlong)iVar4 * 10,param_1,0x50); + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140163260); + return iVar4; + } + plVar2 = plVar2 + 10; + iVar4 = iVar4 + 1; + } while ((longlong)plVar2 < 0x14015fe70); + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140163260); + return -1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400be5b0.c b/decomp/Agent_Release_x64/full/functions/0x1400be5b0.c new file mode 100644 index 00000000..1ae5eb18 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400be5b0.c @@ -0,0 +1,59 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400be5b0 FUN_1400be5b0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_1400be5b0(longlong param_1) + +{ + ulonglong uVar1; + ulonglong uVar2; + char *pcVar3; + int iVar4; + longlong *plVar5; + undefined1 auStack_138 [32]; + longlong local_118 [14]; + undefined1 local_a8 [128]; + ulonglong local_28; + + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_138; + *(longlong *)(param_1 + 0x1028) = *(longlong *)(param_1 + 0x1028) + 1; + FUN_1400cb6a0(local_118); + uVar1 = FUN_1400cb6f0(local_118,(void *)(param_1 + 0xfe8),0x20); + uVar2 = uVar1 & 0xffffffff; + if ((int)uVar1 == 0) { + iVar4 = 0; + do { + if ((iVar4 != 0) && ((*(ulonglong *)(param_1 + 0x1028) >> ((char)iVar4 - 1U & 0x3f) & 1) != 0) + ) break; + plVar5 = (longlong *)((longlong)iVar4 * 0x70 + param_1); + uVar1 = FUN_1400cb7d0(plVar5,local_a8); + if (((int)uVar1 != 0) || + ((uVar1 = FUN_1400cb6f0(local_118,local_a8,0x20), (int)uVar1 != 0 || + (uVar1 = FUN_1400cb6a0(plVar5), (int)uVar1 != 0)))) { + FUN_1400cb7d0(local_118,local_a8); + return uVar1 & 0xffffffff; + } + iVar4 = iVar4 + 1; + } while (iVar4 < 0x20); + uVar2 = FUN_1400cb7d0(local_118,(undefined1 *)(param_1 + 0xfe8)); + if (((int)uVar2 == 0) && + (uVar2 = FUN_1400c8900((undefined1 *)(param_1 + 0xfe8),0x20,0,(uint *)(param_1 + 0xe00)), + (int)uVar2 == 0)) { + pcVar3 = (char *)(param_1 + 0x1008); + do { + *pcVar3 = *pcVar3 + '\x01'; + if (*pcVar3 != '\0') break; + pcVar3 = pcVar3 + 1; + } while ((longlong)pcVar3 - (param_1 + 0x1008) < 0x10); + *(undefined8 *)(param_1 + 0x101c) = 0; + uVar2 = 0; + } + } + else { + FUN_1400cb7d0(local_118,local_a8); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400be740.c b/decomp/Agent_Release_x64/full/functions/0x1400be740.c new file mode 100644 index 00000000..e575f952 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400be740.c @@ -0,0 +1,62 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400be740 FUN_1400be740 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_1400be740(longlong *param_1) + +{ + ulonglong uVar1; + ulonglong uVar2; + int iVar3; + longlong lVar4; + undefined1 auStack_b8 [32]; + undefined1 local_98 [128]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_b8; + if (param_1 == (longlong *)0x0) { + uVar1 = 0x10; + } + else { + uVar2 = 0; + do { + iVar3 = (int)uVar2; + uVar1 = FUN_1400cb6a0(param_1 + (longlong)iVar3 * 0xe); + if ((int)uVar1 != 0) { + if (iVar3 < 1) { + return uVar1 & 0xffffffff; + } + do { + FUN_1400cb7d0(param_1,local_98); + param_1 = param_1 + 0xe; + uVar2 = uVar2 - 1; + } while (uVar2 != 0); + return uVar1 & 0xffffffff; + } + uVar2 = (ulonglong)(iVar3 + 1U); + } while ((int)(iVar3 + 1U) < 0x20); + lVar4 = 0x20; + *(undefined8 *)((longlong)param_1 + 0x101c) = 0; + *(undefined4 *)(param_1 + 0x203) = 0; + param_1[0x205] = 0; + FUN_1400cb9a0(param_1 + 0x1fd,0x20); + uVar2 = FUN_1400c8900((undefined1 *)(param_1 + 0x1fd),0x20,0,(uint *)(param_1 + 0x1c0)); + uVar1 = uVar2 & 0xffffffff; + if ((int)uVar2 == 0) { + FUN_1400cb9a0(param_1 + 0x201,0x10); + InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x206)); + uVar1 = 0; + } + else { + do { + FUN_1400cb7d0(param_1,local_98); + param_1 = param_1 + 0xe; + lVar4 = lVar4 + -1; + } while (lVar4 != 0); + } + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400be890.c b/decomp/Agent_Release_x64/full/functions/0x1400be890.c new file mode 100644 index 00000000..299fb3d9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400be890.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400be890 FUN_1400be890 + * Pseudocode, not original source. */ + +ulonglong FUN_1400be890(void *param_1,uint param_2,longlong param_3) + +{ + int iVar1; + ulonglong uVar2; + ulonglong uVar3; + undefined1 local_res8; + undefined1 local_res9; + + if ((param_1 != (void *)0x0) && (param_3 != 0)) { + EnterCriticalSection((LPCRITICAL_SECTION)(param_3 + 0x1030)); + if (0x20 < param_2) { + LeaveCriticalSection((LPCRITICAL_SECTION)(param_3 + 0x1030)); + return 0x10; + } + local_res8 = 0; + local_res9 = (undefined1)param_2; + uVar2 = FUN_1400cb6f0((longlong *)((ulonglong)*(uint *)(param_3 + 0x1018) * 0x70 + param_3), + &local_res8,2); + uVar3 = uVar2 & 0xffffffff; + if ((int)uVar2 == 0) { + uVar2 = FUN_1400cb6f0((longlong *)((ulonglong)*(uint *)(param_3 + 0x1018) * 0x70 + param_3), + param_1,param_2); + uVar3 = uVar2 & 0xffffffff; + if ((int)uVar2 == 0) { + if (*(int *)(param_3 + 0x1018) == 0) { + *(int *)(param_3 + 0x101c) = *(int *)(param_3 + 0x101c) + param_2; + } + iVar1 = *(int *)(param_3 + 0x1018) + 1; + if (iVar1 == 0x20) { + iVar1 = 0; + } + *(int *)(param_3 + 0x1018) = iVar1; + LeaveCriticalSection((LPCRITICAL_SECTION)(param_3 + 0x1030)); + uVar3 = 0; + } + else { + LeaveCriticalSection((LPCRITICAL_SECTION)(param_3 + 0x1030)); + } + } + else { + LeaveCriticalSection((LPCRITICAL_SECTION)(param_3 + 0x1030)); + } + return uVar3; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400be9c0.c b/decomp/Agent_Release_x64/full/functions/0x1400be9c0.c new file mode 100644 index 00000000..1fdfef5f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400be9c0.c @@ -0,0 +1,86 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400be9c0 FUN_1400be9c0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +uint FUN_1400be9c0(undefined1 *param_1,uint param_2,longlong param_3) + +{ + ulonglong uVar1; + undefined8 uVar2; + char *pcVar3; + char *pcVar4; + ulonglong _Size; + undefined1 auStack_78 [32]; + undefined1 local_58 [16]; + ulonglong local_48; + + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_78; + _Size = (ulonglong)param_2; + if ((param_1 == (undefined1 *)0x0) || (param_3 == 0)) { + param_2 = 0x10; + } + else { + EnterCriticalSection((LPCRITICAL_SECTION)(param_3 + 0x1030)); + *(int *)(param_3 + 0x1020) = *(int *)(param_3 + 0x1020) + 1; + if (((*(int *)(param_3 + 0x1020) == 10) || (0x3f < *(uint *)(param_3 + 0x101c))) && + (uVar1 = FUN_1400be5b0(param_3), (int)uVar1 != 0)) { + LeaveCriticalSection((LPCRITICAL_SECTION)(param_3 + 0x1030)); + param_2 = 0; + } + else { + if (0xf < param_2) { + uVar1 = (ulonglong)(param_2 >> 4); + do { + FUN_1400c90a0((undefined1 *)(param_3 + 0x1008),param_1,(uint *)(param_3 + 0xe00)); + param_1 = param_1 + 0x10; + _Size = (ulonglong)((int)_Size - 0x10); + pcVar3 = (char *)(param_3 + 0x1008); + do { + *pcVar3 = *pcVar3 + '\x01'; + if (*pcVar3 != '\0') break; + pcVar3 = pcVar3 + 1; + } while ((longlong)pcVar3 - (param_3 + 0x1008) < 0x10); + uVar1 = uVar1 - 1; + } while (uVar1 != 0); + } + if ((int)_Size != 0) { + pcVar3 = (char *)(param_3 + 0x1008); + FUN_1400c90a0(pcVar3,local_58,(uint *)(param_3 + 0xe00)); + memcpy(param_1,local_58,_Size); + pcVar4 = pcVar3; + do { + *pcVar4 = *pcVar4 + '\x01'; + if (*pcVar4 != '\0') break; + pcVar4 = pcVar4 + 1; + } while ((longlong)pcVar4 - (longlong)pcVar3 < 0x10); + } + pcVar3 = (char *)(param_3 + 0x1008); + FUN_1400c90a0(pcVar3,(undefined1 *)(param_3 + 0xfe8),(uint *)(param_3 + 0xe00)); + pcVar4 = pcVar3; + do { + *pcVar4 = *pcVar4 + '\x01'; + if (*pcVar4 != '\0') break; + pcVar4 = pcVar4 + 1; + } while ((longlong)pcVar4 - (longlong)pcVar3 < 0x10); + FUN_1400c90a0(pcVar3,(undefined1 *)(param_3 + 0xff8),(uint *)(param_3 + 0xe00)); + pcVar4 = pcVar3; + do { + *pcVar4 = *pcVar4 + '\x01'; + if (*pcVar4 != '\0') break; + pcVar4 = pcVar4 + 1; + } while ((longlong)pcVar4 - (longlong)pcVar3 < 0x10); + uVar2 = FUN_1400c8900((undefined1 *)(param_3 + 0xfe8),0x20,0,(uint *)(param_3 + 0xe00)); + if ((int)uVar2 == 0) { + LeaveCriticalSection((LPCRITICAL_SECTION)(param_3 + 0x1030)); + } + else { + LeaveCriticalSection((LPCRITICAL_SECTION)(param_3 + 0x1030)); + param_2 = 0; + } + } + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bebd0.c b/decomp/Agent_Release_x64/full/functions/0x1400bebd0.c new file mode 100644 index 00000000..6a2753e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bebd0.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bebd0 FUN_1400bebd0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_1400bebd0(longlong param_1) + +{ + ulonglong uVar1; + int iVar2; + undefined1 auStack_58 [32]; + undefined1 local_38 [32]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_58; + if (param_1 == 0) { + return 0x10; + } + EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x1030)); + iVar2 = 0; + do { + uVar1 = FUN_1400cb7d0((longlong *)((longlong)iVar2 * 0x70 + param_1),local_38); + if ((int)uVar1 != 0) { + LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x1030)); + return uVar1 & 0xffffffff; + } + iVar2 = iVar2 + 1; + } while (iVar2 < 0x20); + LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x1030)); + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bec90.c b/decomp/Agent_Release_x64/full/functions/0x1400bec90.c new file mode 100644 index 00000000..b3217149 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bec90.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bec90 FUN_1400bec90 + * Pseudocode, not original source. */ + +ulonglong FUN_1400bec90(longlong param_1,uint *param_2,void *param_3) + +{ + LPCRITICAL_SECTION lpCriticalSection; + longlong *_Dst; + ulonglong uVar1; + ulonglong uVar2; + int iVar3; + undefined1 *puVar4; + + if (((param_1 == 0) || (param_2 == (uint *)0x0)) || (param_3 == (void *)0x0)) { + return 0x10; + } + lpCriticalSection = (LPCRITICAL_SECTION)((longlong)param_3 + 0x1030); + EnterCriticalSection(lpCriticalSection); + if (*param_2 < 0x400) { + LeaveCriticalSection(lpCriticalSection); + *param_2 = 0x400; + return 6; + } + _Dst = malloc(0x70); + if (_Dst == (longlong *)0x0) { + LeaveCriticalSection(lpCriticalSection); + uVar1 = 0xd; + } + else { + iVar3 = 0; + do { + memcpy(_Dst,param_3,0x70); + puVar4 = (undefined1 *)(iVar3 + param_1); + uVar2 = FUN_1400cb7d0(_Dst,puVar4); + uVar1 = uVar2 & 0xffffffff; + if ((int)uVar2 != 0) goto LAB_1400bedb2; + uVar2 = FUN_1400cb6a0(_Dst); + uVar1 = uVar2 & 0xffffffff; + if ((int)uVar2 != 0) goto LAB_1400bedb2; + uVar2 = FUN_1400cb6f0(_Dst,puVar4,0x20); + uVar1 = uVar2 & 0xffffffff; + if ((int)uVar2 != 0) goto LAB_1400bedb2; + uVar2 = FUN_1400cb7d0(_Dst,puVar4); + uVar1 = uVar2 & 0xffffffff; + if ((int)uVar2 != 0) goto LAB_1400bedb2; + iVar3 = iVar3 + 0x20; + param_3 = (void *)((longlong)param_3 + 0x70); + } while (iVar3 < 0x400); + *param_2 = 0x400; +LAB_1400bedb2: + free(_Dst); + LeaveCriticalSection(lpCriticalSection); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bedf0.c b/decomp/Agent_Release_x64/full/functions/0x1400bedf0.c new file mode 100644 index 00000000..8527bf23 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bedf0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bedf0 FUN_1400bedf0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400bedf0(longlong param_1,int param_2,longlong *param_3) + +{ + ulonglong uVar1; + int iVar2; + + if (((param_1 != 0) && (param_3 != (longlong *)0x0)) && (param_2 == 0x400)) { + uVar1 = FUN_1400be740(param_3); + if ((int)uVar1 == 0) { + iVar2 = 0; + do { + uVar1 = FUN_1400be890((void *)(iVar2 + param_1),0x20,(longlong)param_3); + if ((int)uVar1 != 0) { + return uVar1; + } + iVar2 = iVar2 + 0x20; + } while (iVar2 < 0x400); + } + return uVar1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bee80.c b/decomp/Agent_Release_x64/full/functions/0x1400bee80.c new file mode 100644 index 00000000..c5c055dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bee80.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bee80 FUN_1400bee80 + * Pseudocode, not original source. */ + +void FUN_1400bee80(longlong param_1) + +{ + if (param_1 != 0) { + FUN_1400cba50(*(longlong *)(param_1 + 8)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400beed0.c b/decomp/Agent_Release_x64/full/functions/0x1400beed0.c new file mode 100644 index 00000000..8a5b5e14 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400beed0.c @@ -0,0 +1,143 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400beed0 FUN_1400beed0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_1400beed0(char *param_1,uint param_2,undefined4 *param_3) + +{ + ulonglong uVar1; + byte *_Memory; + byte bVar2; + int iVar3; + uint uVar4; + uint uVar5; + byte *pbVar6; + byte *pbVar7; + undefined1 auStackY_2a8 [32]; + undefined8 local_1a0; + undefined4 *local_198; + longlong *local_190; + undefined4 *local_188; + undefined4 *local_180; + undefined4 *local_178; + undefined4 local_168 [2]; + undefined4 *local_160; + undefined8 local_158; + undefined4 local_130; + byte *local_128; + undefined8 local_120; + undefined4 local_f8 [2]; + undefined1 *local_f0; + undefined8 local_e8; + undefined4 local_c0; + undefined8 local_b8; + undefined8 local_b0; + undefined1 local_88 [64]; + ulonglong local_48; + + local_48 = DAT_1401555a0 ^ (ulonglong)auStackY_2a8; + if (((param_1 == (char *)0x0) || (param_3 == (undefined4 *)0x0)) || (DAT_1401632a0 == 0)) { + uVar1 = 0x10; + } + else { + local_180 = param_3 + 8; + local_188 = param_3 + 0xc; + local_198 = param_3 + 0xe; + local_190 = (longlong *)(param_3 + 4); + local_178 = param_3 + 0x10; + uVar1 = FUN_1400cb9c0((undefined8 *)(param_3 + 2)); + if ((int)uVar1 == 0) { + _Memory = calloc(1,0x8000); + if (_Memory == (byte *)0x0) { + uVar4 = 0xd; + } + else { + local_f0 = local_88; + local_b8 = 0; + local_b0 = 0; + local_160 = local_f8; + local_f8[0] = 7; + local_e8 = 0x10; + local_c0 = 6; + local_168[0] = 0xd; + local_158 = 2; + local_130 = 4; + local_120 = 0x8000; + local_128 = _Memory; + uVar1 = FUN_1400cbbe0(param_1,param_2,(longlong)local_168,2,1); + if ((int)uVar1 == 0) { + uVar5 = 0; + iVar3 = 0; + bVar2 = 0; + uVar4 = 0; + pbVar6 = _Memory; + pbVar7 = _Memory; + if ((uint)local_120 != 0) { + do { + iVar3 = iVar3 + 1; + bVar2 = bVar2 * '\x02' | *pbVar6; + if (iVar3 == 8) { + *pbVar7 = bVar2; + pbVar7 = pbVar7 + 1; + bVar2 = 0; + uVar4 = uVar4 + 1; + iVar3 = 0; + } + uVar5 = uVar5 + 1; + pbVar6 = pbVar6 + 1; + } while (uVar5 < (uint)local_120); + } + uVar1 = FUN_1400cbaa0((char *)_Memory,uVar4,2,1,*(undefined8 *)(param_3 + 6)); + uVar4 = (uint)uVar1; + if (uVar4 == 0) { + free(_Memory); + *param_3 = 0; + return 0; + } + free(_Memory); + } + else { + free(_Memory); + uVar1 = FUN_1400cbaa0(param_1,param_2,2,1,*(undefined8 *)(param_3 + 6)); + uVar4 = (uint)uVar1; + if (uVar4 == 0) { + iVar3 = (*DAT_140163300)(*(undefined8 *)(param_3 + 6),0); + if (iVar3 == 0) { + uVar4 = (*DAT_1401632b0)(&local_1a0); + if (uVar4 == 0) { + uVar1 = FUN_1400cbaa0(param_1,param_2,2,1,local_1a0); + uVar4 = (uint)uVar1; + if (uVar4 == 0) { + (*DAT_1401632c0)(local_1a0); + *param_3 = 1; + return 0; + } + (*DAT_1401632c0)(); + } + } + else { + iVar3 = (*DAT_140163300)(*(undefined8 *)(param_3 + 6),1); + if (iVar3 == 0) { + uVar4 = 0x12; + } + else { + uVar1 = FUN_1400cbaa0(param_1,param_2,2,1,*(undefined8 *)(param_3 + 6)); + uVar4 = (uint)uVar1; + if (uVar4 == 0) { + *param_3 = 0; + return uVar1; + } + } + } + } + } + } + FUN_1400cba50(*local_190); + uVar1 = (ulonglong)uVar4; + } + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bf3b0.c b/decomp/Agent_Release_x64/full/functions/0x1400bf3b0.c new file mode 100644 index 00000000..c410e580 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bf3b0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bf3b0 FUN_1400bf3b0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400bf3b0(char *param_1,uint *param_2,int param_3,int *param_4) + +{ + ulonglong uVar1; + undefined4 local_res8 [8]; + + local_res8[0] = 0; + if (((param_1 != (char *)0x0) && (param_2 != (uint *)0x0)) && (param_4 != (int *)0x0)) { + if (*param_4 == 1) { + if (param_3 == 1) { + uVar1 = FUN_1400cc120(param_1,param_2,3,1,local_res8); + return uVar1; + } + } + else if (param_3 == 1) { + return 0x12; + } + uVar1 = FUN_1400cc120(param_1,param_2,2,1,*(undefined8 *)(param_4 + 6)); + return uVar1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bf560.c b/decomp/Agent_Release_x64/full/functions/0x1400bf560.c new file mode 100644 index 00000000..eaded119 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bf560.c @@ -0,0 +1,133 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bf560 FUN_1400bf560 + * Pseudocode, not original source. */ + +ulonglong FUN_1400bf560(undefined8 param_1,uint param_2,int param_3,uint param_4,undefined4 *param_5 + ) + +{ + uint uVar1; + int iVar2; + ulonglong uVar3; + ulonglong uVar4; + undefined8 local_58; + undefined8 local_50; + longlong local_48; + longlong local_40; + longlong local_38; + + if (DAT_1401632a0 == 0) { + return 0x10; + } + if (param_5 == (undefined4 *)0x0) { + return 0x10; + } + if (0x180 < param_3 - 0x80U) { + return 3; + } + if ((int)param_4 < 3) { + return 0x10; + } + if ((param_4 & 1) == 0) { + return 0x10; + } + uVar3 = FUN_1400c6ac0(param_2); + if ((int)uVar3 != 0) { + return uVar3; + } + uVar3 = FUN_1400cb9c0(&local_48); + if ((int)uVar3 != 0) { + return uVar3; + } + uVar1 = (*DAT_1401632d8)(local_38,param_4); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + do { + uVar4 = FUN_1400cc280(local_48,param_3 / 2,param_1,param_2); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 != 0) goto LAB_1400bf892; + uVar1 = (*DAT_140163360)(local_48,1,local_58); + uVar3 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400bf892; + uVar1 = (*DAT_140163398)(local_58,local_38,local_50); + uVar3 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400bf892; + iVar2 = (*DAT_140163300)(local_50,1); + } while (iVar2 != 0); + do { + uVar4 = FUN_1400cc280(local_40,param_3 / 2,param_1,param_2); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 != 0) goto LAB_1400bf892; + uVar1 = (*DAT_140163360)(local_40,1,local_58); + uVar3 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400bf892; + uVar1 = (*DAT_140163398)(local_58,local_38,local_50); + uVar3 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400bf892; + iVar2 = (*DAT_140163300)(local_50,1); + } while (iVar2 != 0); + uVar1 = (*DAT_140163360)(local_48,1,local_50); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = (*DAT_1401633a0)(local_58,local_50,local_58); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar4 = FUN_1400cb9c0((undefined8 *)(param_5 + 2)); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar1 = (*DAT_1401632d8)(*(undefined8 *)(param_5 + 2),param_4); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = (*DAT_1401633b8)(*(undefined8 *)(param_5 + 2),local_58, + *(undefined8 *)(param_5 + 4)); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = (*DAT_140163368)(local_48,local_40,*(undefined8 *)(param_5 + 6)); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = (*DAT_140163360)(local_48,1,local_58); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = (*DAT_140163360)(local_40,1,local_50); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = (*DAT_140163380)(*(undefined8 *)(param_5 + 4),local_58,0, + *(undefined8 *)(param_5 + 0xe)); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = (*DAT_140163380)(*(undefined8 *)(param_5 + 4),local_50,0, + *(undefined8 *)(param_5 + 0x10)); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = (*DAT_1401633b8)(local_40,local_48,*(undefined8 *)(param_5 + 0xc)); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = (*DAT_1401632d0)(local_48,*(undefined8 *)(param_5 + 8)); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = (*DAT_1401632d0)(local_40,*(undefined8 *)(param_5 + 10)); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + *param_5 = 1; + goto LAB_1400bf8d4; + } + } + } + } + } + } + } + } + } + } + } + } + } + } +LAB_1400bf892: + FUN_1400cba50(*(longlong *)(param_5 + 4)); +LAB_1400bf8d4: + FUN_1400cba50(local_38); + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bf940.c b/decomp/Agent_Release_x64/full/functions/0x1400bf940.c new file mode 100644 index 00000000..74d92cb6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bf940.c @@ -0,0 +1,63 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bf940 FUN_1400bf940 + * Pseudocode, not original source. */ + +ulonglong FUN_1400bf940(void *param_1,uint param_2,undefined1 *param_3,uint *param_4,byte *param_5, + undefined4 param_6,ulonglong param_7,uint param_8,uint param_9,int param_10, + longlong param_11) + +{ + uint uVar1; + uint uVar2; + int iVar3; + ulonglong uVar4; + uint local_res8 [2]; + uint local_res10; + undefined8 in_stack_ffffffffffffff98; + undefined4 uVar6; + ulonglong uVar5; + + uVar6 = (undefined4)((ulonglong)in_stack_ffffffffffffff98 >> 0x20); + if (((param_1 != (void *)0x0) && (param_3 != (undefined1 *)0x0)) && (param_4 != (uint *)0x0)) { + if (param_11 != 0) { + if ((param_10 == 1) || (param_10 == 2)) { + local_res10 = param_2; + uVar4 = FUN_1400c6ac0(param_8); + if (((int)uVar4 == 0) && + ((param_10 != 2 || (uVar4 = FUN_1400cc940(param_9), (int)uVar4 == 0)))) { + uVar1 = (*DAT_140163308)(*(undefined8 *)(param_11 + 0x18)); + uVar2 = (*DAT_140163330)(*(undefined8 *)(param_11 + 0x18)); + local_res8[0] = *param_4; + if (local_res8[0] < uVar2) { + *param_4 = uVar2; + uVar4 = 6; + } + else { + if (param_10 == 2) { + uVar5 = CONCAT44(uVar6,uVar1); + uVar4 = FUN_1400cc5b0(param_1,local_res10,param_5,param_6,uVar1,param_7,param_8, + param_9,param_3,local_res8); + iVar3 = (int)uVar4; + } + else { + uVar4 = FUN_1400cc3e0(param_1,local_res10,2,uVar1,param_7,param_8,param_3,local_res8); + iVar3 = (int)uVar4; + uVar5 = param_7; + } + if (iVar3 == 0) { + uVar4 = (*DAT_140163420)(param_3,local_res8[0],param_3,param_4, + uVar5 & 0xffffffff00000000,param_11); + } + } + } + } + else { + uVar4 = 0x18; + } + return uVar4; + } + return 0x10; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bfb00.c b/decomp/Agent_Release_x64/full/functions/0x1400bfb00.c new file mode 100644 index 00000000..b9af0b37 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bfb00.c @@ -0,0 +1,74 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bfb00 FUN_1400bfb00 + * Pseudocode, not original source. */ + +ulonglong FUN_1400bfb00(undefined8 param_1,uint param_2,void *param_3,uint *param_4,byte *param_5, + undefined4 param_6,uint param_7,int param_8,undefined4 *param_9, + longlong param_10) + +{ + uint uVar1; + uint uVar2; + ulonglong uVar3; + char *_Memory; + undefined8 uVar4; + uint local_res18 [2]; + undefined8 in_stack_ffffffffffffff98; + undefined4 uVar5; + + uVar5 = (undefined4)((ulonglong)in_stack_ffffffffffffff98 >> 0x20); + if ((param_3 == (void *)0x0) || (param_4 == (uint *)0x0)) { + return 0x10; + } + if (param_10 == 0) { + return 0x10; + } + if (param_9 != (undefined4 *)0x0) { + *param_9 = 0; + if (param_8 != 1) { + if (param_8 != 2) { + return 0x18; + } + uVar3 = FUN_1400cc940(param_7); + if ((int)uVar3 != 0) { + return uVar3; + } + } + uVar1 = (*DAT_140163308)(*(undefined8 *)(param_10 + 0x18)); + uVar2 = (*DAT_140163330)(*(undefined8 *)(param_10 + 0x18)); + if (uVar2 == param_2) { + _Memory = malloc((ulonglong)param_2); + if (_Memory == (char *)0x0) { + uVar3 = 0xd; + } + else { + local_res18[0] = param_2; + uVar2 = (*DAT_140163420)(param_1,param_2,_Memory,local_res18,CONCAT44(uVar5,1),param_10); + uVar3 = (ulonglong)uVar2; + if (uVar2 == 0) { + if (param_8 == 2) { + uVar3 = FUN_1400ccad0(_Memory,local_res18[0],param_5,param_6,uVar1,param_7,param_3, + param_4,param_9); + uVar1 = (uint)uVar3; + } + else { + uVar4 = FUN_1400cc9a0(_Memory,local_res18[0],2,(ulonglong)uVar1,param_3,param_4,param_9) + ; + uVar1 = (uint)uVar4; + } + uVar3 = (ulonglong)uVar1; + free(_Memory); + } + else { + free(_Memory); + } + } + } + else { + uVar3 = 7; + } + return uVar3; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bfce0.c b/decomp/Agent_Release_x64/full/functions/0x1400bfce0.c new file mode 100644 index 00000000..3c56f177 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bfce0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bfce0 FUN_1400bfce0 + * Pseudocode, not original source. */ + +undefined4 * FUN_1400bfce0(undefined4 *param_1) + +{ + FUN_140096180((undefined1 *)(param_1 + 2)); + *param_1 = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bfd10.c b/decomp/Agent_Release_x64/full/functions/0x1400bfd10.c new file mode 100644 index 00000000..bc8a4c76 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bfd10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bfd10 FUN_1400bfd10 + * Pseudocode, not original source. */ + +void FUN_1400bfd10(longlong param_1) + +{ + *(undefined1 *)(param_1 + 0x30) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bfd20.c b/decomp/Agent_Release_x64/full/functions/0x1400bfd20.c new file mode 100644 index 00000000..9be8d3d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bfd20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bfd20 FUN_1400bfd20 + * Pseudocode, not original source. */ + +void FUN_1400bfd20(longlong param_1) + +{ + FUN_14003a420((char *)(param_1 + 0x388)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bfd70.c b/decomp/Agent_Release_x64/full/functions/0x1400bfd70.c new file mode 100644 index 00000000..7b1b85a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bfd70.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bfd70 FUN_1400bfd70 + * Pseudocode, not original source. */ + +void FUN_1400bfd70(longlong param_1) + +{ + longlong lVar1; + char cVar2; + double dVar3; + + if (((*(char *)(param_1 + 0x30) == '\0') && (*(longlong **)(param_1 + 0x18) != (longlong *)0x0)) + && (lVar1 = **(longlong **)(param_1 + 0x18), lVar1 != 0)) { + cVar2 = FUN_140035730(lVar1); + if (cVar2 == '\0') { + *(undefined1 *)(param_1 + 0x30) = 1; + *(undefined4 *)(param_1 + 0x34) = 0; + dVar3 = FUN_14003a420((char *)(param_1 + 0x388)); + *(undefined4 *)(param_1 + 0x38) = 0; + *(double *)(param_1 + 0x28) = dVar3; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bfdd0.c b/decomp/Agent_Release_x64/full/functions/0x1400bfdd0.c new file mode 100644 index 00000000..d9526e4c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bfdd0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bfdd0 FUN_1400bfdd0 + * Pseudocode, not original source. */ + +void FUN_1400bfdd0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + + FUN_14002e6e0((int *)(param_1 + 0x310)); + if ((*(undefined8 **)(param_1 + 0x18) != (undefined8 *)0x0) && + (plVar1 = (longlong *)**(undefined8 **)(param_1 + 0x18), plVar1 != (longlong *)0x0)) { + FUN_140035490(plVar1,param_2,param_3,param_4); + } + if ((*(undefined8 **)(param_1 + 0x20) != (undefined8 *)0x0) && + (plVar1 = (longlong *)**(undefined8 **)(param_1 + 0x20), plVar1 != (longlong *)0x0)) { + FUN_140035490(plVar1,param_2,param_3,param_4); + } + FUN_14002e770(param_1 + 0x310); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bfe40.c b/decomp/Agent_Release_x64/full/functions/0x1400bfe40.c new file mode 100644 index 00000000..a105ad01 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bfe40.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bfe40 FUN_1400bfe40 + * Pseudocode, not original source. */ + +void FUN_1400bfe40(longlong param_1) + +{ + uint uVar1; + longlong lVar2; + undefined **local_18; + undefined4 local_10; + undefined2 local_c; + + *(undefined1 *)(param_1 + 0x2c0) = 1; + local_18 = Proud::AddrPort::vftable; + local_10 = DAT_1401626d0; + local_c = DAT_1401626d4; + lVar2 = 0; + if (*(longlong **)(param_1 + 0x18) != (longlong *)0x0) { + lVar2 = **(longlong **)(param_1 + 0x18); + } + uVar1 = FUN_1400372d0(lVar2,(undefined8 *)&DAT_140162470,(undefined **)0x258,(longlong)&local_18); + if (uVar1 != 0) { + *(undefined1 *)(param_1 + 0x2c0) = 0; + *(undefined1 *)(param_1 + 0x30) = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bfeb0.c b/decomp/Agent_Release_x64/full/functions/0x1400bfeb0.c new file mode 100644 index 00000000..f88d32bd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bfeb0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bfeb0 FUN_1400bfeb0 + * Pseudocode, not original source. */ + +void FUN_1400bfeb0(longlong param_1,undefined8 param_2,undefined **param_3,undefined8 param_4) + +{ + uint uVar1; + longlong lVar2; + longlong lVar3; + + lVar3 = 0; + lVar2 = lVar3; + if (*(longlong **)(param_1 + 0x20) != (longlong *)0x0) { + lVar2 = **(longlong **)(param_1 + 0x20); + } + if (*(char *)(lVar2 + 0x80) == '\0') { + *(undefined1 *)(param_1 + 0x300) = 1; + if (*(longlong **)(param_1 + 0x20) != (longlong *)0x0) { + lVar3 = **(longlong **)(param_1 + 0x20); + } + uVar1 = FUN_140036430(lVar3,600,param_3,param_4); + if (uVar1 != 0) { + *(undefined1 *)(param_1 + 0x300) = 0; + *(undefined1 *)(param_1 + 0x30) = 0; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bff10.c b/decomp/Agent_Release_x64/full/functions/0x1400bff10.c new file mode 100644 index 00000000..9c32bd4d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bff10.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bff10 FUN_1400bff10 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400bff10(longlong param_1,undefined8 param_2,undefined **param_3,undefined8 param_4) + +{ + int *piVar1; + bool bVar2; + double dVar3; + undefined8 uVar4; + + piVar1 = (int *)(param_1 + 0x310); + FUN_14002e6e0(piVar1); + bVar2 = true; + if (*(char *)(param_1 + 0x30) != '\0') { + *(int *)(param_1 + 0x34) = *(int *)(param_1 + 0x34) + 1; + if (*(int *)(param_1 + 0x34) == 1) { + FUN_1400bfe40(param_1); + FUN_1400bfeb0(param_1,param_2,param_3,param_4); + } + else { + dVar3 = FUN_14003a420((char *)(param_1 + 0x388)); + if ((_DAT_140155160 < dVar3 - *(double *)(param_1 + 0x28)) || + (*(char *)(param_1 + 0x48) != '\0')) { + uVar4 = FUN_1400bfd20(param_1); + *(undefined8 *)(param_1 + 0x40) = uVar4; + *(undefined1 *)(param_1 + 0x48) = 0; + *(undefined1 *)(param_1 + 0x30) = 0; + FUN_14002e770((longlong)piVar1); + bVar2 = false; + (**(code **)(**(longlong **)(param_1 + 0x3b0) + 0x10)) + (*(longlong **)(param_1 + 0x3b0),uVar4); + } + } + } + if (bVar2) { + FUN_14002e770((longlong)piVar1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400bfff0.c b/decomp/Agent_Release_x64/full/functions/0x1400bfff0.c new file mode 100644 index 00000000..76fb4c2d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400bfff0.c @@ -0,0 +1,83 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400bfff0 FUN_1400bfff0 + * Pseudocode, not original source. */ + +void FUN_1400bfff0(longlong param_1,longlong *param_2,undefined **param_3,undefined8 param_4) + +{ + uint uVar1; + undefined8 uVar2; + longlong lVar3; + longlong local_40; + undefined8 local_38; + int local_30; + undefined8 local_28; + undefined4 local_20; + undefined **local_18; + undefined4 local_10; + undefined2 local_c; + + if (*(char *)(param_1 + 0x380) != '\0') { + do { + FUN_1400bff10(param_1,param_2,param_3,param_4); + local_18 = Proud::AddrPort::vftable; + local_40 = 0; + local_28 = 0; + local_38 = 0; + local_30 = 5; + local_20 = 0; + local_10 = DAT_1401553d0; + local_c = DAT_1401553d4; + param_3 = (undefined **)0xa; + param_2 = &local_40; + uVar2 = FUN_1400388c0(*(char **)(param_1 + 0x308),param_2,10,param_4); + if ((char)uVar2 != '\0') { + FUN_14002e6e0((int *)(param_1 + 0x310)); + if ((int)local_38 < 1) { + *(undefined1 *)(param_1 + 0x48) = 1; + } + if (local_30 == 1) { + if (*(char *)(param_1 + 0x30) == '\0') { + *(undefined1 *)(param_1 + 0x2c0) = 0; + } + else if (0 < (int)local_38) { + *(int *)(param_1 + 0x38) = *(int *)(param_1 + 0x38) + (int)local_38; + FUN_1400bfe40(param_1); + goto LAB_1400c00db; + } + } + else { +LAB_1400c00db: + if (local_30 == 2) { + if (*(char *)(param_1 + 0x30) == '\0') { +LAB_1400c013a: + *(undefined1 *)(param_1 + 0x300) = 0; + } + else { + lVar3 = 0; + if (*(longlong **)(param_1 + 0x20) != (longlong *)0x0) { + lVar3 = **(longlong **)(param_1 + 0x20); + } + if (*(char *)(lVar3 + 0x80) == '\0') { + *(undefined1 *)(param_1 + 0x300) = 1; + lVar3 = 0; + if (*(longlong **)(param_1 + 0x20) != (longlong *)0x0) { + lVar3 = **(longlong **)(param_1 + 0x20); + } + param_2 = (longlong *)0x258; + uVar1 = FUN_140036430(lVar3,600,param_3,param_4); + if (uVar1 != 0) { + *(undefined1 *)(param_1 + 0x30) = 0; + goto LAB_1400c013a; + } + } + } + } + } + FUN_14002e770(param_1 + 0x310); + } + } while (*(char *)(param_1 + 0x380) != '\0'); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c0180.c b/decomp/Agent_Release_x64/full/functions/0x1400c0180.c new file mode 100644 index 00000000..af419092 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c0180.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c0180 FUN_1400c0180 + * Pseudocode, not original source. */ + +void FUN_1400c0180(longlong param_1,undefined8 param_2,undefined **param_3,undefined8 param_4) + +{ + DWORD DVar1; + char *pcVar2; + + DVar1 = GetCurrentThreadId(); + pcVar2 = "PNSendSpeedMeasurer"; + FUN_140037ab0(DVar1,"PNSendSpeedMeasurer"); + FUN_1400bfff0(param_1,(longlong *)pcVar2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c01b0.c b/decomp/Agent_Release_x64/full/functions/0x1400c01b0.c new file mode 100644 index 00000000..9712b04e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c01b0.c @@ -0,0 +1,193 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c01b0 FUN_1400c01b0 + * Pseudocode, not original source. */ + +longlong * FUN_1400c01b0(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + char *pcVar2; + char *pcVar3; + undefined8 *puVar4; + ulonglong uVar5; + longlong *plVar6; + char **ppcVar7; + undefined8 **ppuVar8; + longlong *plVar9; + longlong *plVar10; + char *local_res10; + undefined8 *local_res18; + undefined8 *local_res20; + + *param_1 = (longlong)Proud::CSendSpeedMeasurer::vftable; + param_1[1] = (longlong)Proud::CSendSpeedMeasurer::vftable; + param_1[2] = (longlong)Proud::CSendSpeedMeasurer::vftable; + plVar9 = (longlong *)0x0; + param_1[3] = 0; + param_1[4] = 0; + param_1[0x61] = 0; + uVar5 = FUN_14002e790(); + plVar10 = (longlong *)CONCAT71((int7)((ulonglong)param_3 >> 8),1); + FUN_14002e600((undefined4 *)(param_1 + 0x62),uVar5 & 0xffffffff,plVar10,param_4); + param_1[0x69] = 0; + FUN_14003a340((undefined2 *)(param_1 + 0x71)); + local_res10 = operator_new(0xa8); + plVar6 = plVar9; + if (local_res10 != (char *)0x0) { + plVar10 = (longlong *)CONCAT71((int7)((ulonglong)plVar10 >> 8),1); + plVar6 = (longlong *)FUN_140039670(local_res10,param_1 + 1,plVar10,param_4); + } + param_1[0x61] = (longlong)plVar6; + *(undefined1 *)(param_1 + 9) = 0; + param_1[0x76] = param_2; + *(undefined1 *)(param_1 + 0x70) = 1; + *(undefined1 *)(param_1 + 0x58) = 0; + *(undefined1 *)(param_1 + 0x60) = 0; + local_res10 = (char *)FUN_140030280(0x400); + plVar6 = plVar9; + if (local_res10 != (char *)0x0) { + plVar10 = param_1; + plVar6 = FUN_140035990((undefined8 *)local_res10,1,param_1,param_4); + } + if (plVar6 == (longlong *)0x0) { + local_res10 = (char *)0x0; + } + else { + local_res10 = (char *)FUN_140030280(0x10); + local_res10[8] = '\x01'; + local_res10[9] = '\0'; + local_res10[10] = '\0'; + local_res10[0xb] = '\0'; + local_res10[0xc] = '\0'; + local_res10[0xd] = '\0'; + local_res10[0xe] = '\0'; + local_res10[0xf] = '\0'; + *(longlong **)local_res10 = plVar6; + } + pcVar2 = local_res10; + ppcVar7 = &local_res10; + FUN_140031f40(param_1 + 3,(longlong *)ppcVar7); + pcVar3 = local_res10; + if (pcVar2 != (char *)0x0) { + plVar6 = (longlong *)(pcVar2 + 8); + *plVar6 = *plVar6 + -1; + if (*plVar6 == 0) { + plVar6 = *(longlong **)local_res10; + if (plVar6 != (longlong *)0x0) { + FUN_1400358a0(plVar6,ppcVar7,plVar10,param_4); + FUN_1400302f0(plVar6); + } + FUN_1400302f0(pcVar3); + } + } + plVar6 = plVar9; + if ((undefined8 *)param_1[3] != (undefined8 *)0x0) { + plVar6 = *(longlong **)param_1[3]; + } + FUN_140037510((longlong)plVar6,ppcVar7,plVar10,param_4); + plVar6 = plVar9; + if ((undefined8 *)param_1[3] != (undefined8 *)0x0) { + plVar6 = *(longlong **)param_1[3]; + } + FUN_1400369e0((longlong)plVar6,0); + plVar6 = plVar9; + if ((undefined8 *)param_1[3] != (undefined8 *)0x0) { + plVar6 = *(longlong **)param_1[3]; + } + FUN_140036c90((longlong)plVar6,4); + local_res18 = (undefined8 *)FUN_140030280(0x400); + plVar6 = plVar9; + if (local_res18 != (undefined8 *)0x0) { + plVar10 = param_1; + plVar6 = FUN_140035990(local_res18,2,param_1,param_4); + } + if (plVar6 == (longlong *)0x0) { + local_res18 = (undefined8 *)0x0; + } + else { + local_res18 = (undefined8 *)FUN_140030280(0x10); + local_res18[1] = 1; + *local_res18 = plVar6; + } + puVar1 = local_res18; + ppuVar8 = &local_res18; + FUN_140031f40(param_1 + 4,(longlong *)ppuVar8); + puVar4 = local_res18; + if (puVar1 != (undefined8 *)0x0) { + plVar6 = puVar1 + 1; + *plVar6 = *plVar6 + -1; + if (*plVar6 == 0) { + plVar6 = (longlong *)*local_res18; + if (plVar6 != (longlong *)0x0) { + FUN_1400358a0(plVar6,ppuVar8,plVar10,param_4); + FUN_1400302f0(plVar6); + } + FUN_1400302f0(puVar4); + } + } + plVar6 = plVar9; + if ((undefined8 *)param_1[4] != (undefined8 *)0x0) { + plVar6 = *(longlong **)param_1[4]; + } + FUN_140037510((longlong)plVar6,ppuVar8,plVar10,param_4); + plVar6 = plVar9; + if ((undefined8 *)param_1[3] != (undefined8 *)0x0) { + plVar6 = *(longlong **)param_1[3]; + } + FUN_140034b90((longlong)plVar6,param_1 + 2,plVar10,param_4); + plVar6 = plVar9; + if ((undefined8 *)param_1[3] != (undefined8 *)0x0) { + plVar6 = *(longlong **)param_1[3]; + } + FUN_140039a80(param_1[0x61],plVar6,plVar10,param_4); + plVar6 = plVar9; + if ((undefined8 *)param_1[4] != (undefined8 *)0x0) { + plVar6 = *(longlong **)param_1[4]; + } + FUN_140034b90((longlong)plVar6,param_1 + 2,plVar10,param_4); + plVar6 = plVar9; + if ((undefined8 *)param_1[4] != (undefined8 *)0x0) { + plVar6 = *(longlong **)param_1[4]; + } + FUN_140039a80(param_1[0x61],plVar6,plVar10,param_4); + param_1[5] = 0; + *(undefined1 *)(param_1 + 6) = 0; + param_1[8] = 0; + FUN_14003a390((char *)(param_1 + 0x71)); + local_res20 = operator_new(0x28); + plVar6 = plVar9; + if (local_res20 != (undefined8 *)0x0) { + plVar10 = param_1; + plVar6 = FUN_140037560(local_res20,FUN_1400c0180,param_1); + } + if (plVar6 == (longlong *)0x0) { + local_res20 = (undefined8 *)0x0; + } + else { + local_res20 = (undefined8 *)FUN_140030280(0x10); + local_res20[1] = 1; + *local_res20 = plVar6; + } + puVar1 = local_res20; + ppuVar8 = &local_res20; + FUN_140086730(param_1 + 0x69,(longlong *)ppuVar8); + puVar4 = local_res20; + if (puVar1 != (undefined8 *)0x0) { + plVar6 = puVar1 + 1; + *plVar6 = *plVar6 + -1; + if (*plVar6 == 0) { + puVar1 = (undefined8 *)*local_res20; + if (puVar1 != (undefined8 *)0x0) { + FUN_140037670(puVar1); + operator_delete(puVar1); + } + FUN_1400302f0(puVar4); + } + } + if ((undefined8 *)param_1[0x69] != (undefined8 *)0x0) { + plVar9 = *(longlong **)param_1[0x69]; + } + FUN_140037760(plVar9,ppuVar8,plVar10,param_4); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c05a0.c b/decomp/Agent_Release_x64/full/functions/0x1400c05a0.c new file mode 100644 index 00000000..8f5e9b6d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c05a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c05a0 FUN_1400c05a0 + * Pseudocode, not original source. */ + +void FUN_1400c05a0(longlong param_1,ulonglong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_1400c0880((undefined8 *)(param_1 + -8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c05b0.c b/decomp/Agent_Release_x64/full/functions/0x1400c05b0.c new file mode 100644 index 00000000..66e58423 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c05b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c05b0 FUN_1400c05b0 + * Pseudocode, not original source. */ + +void FUN_1400c05b0(longlong param_1,ulonglong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_1400c0880((undefined8 *)(param_1 + -0x10),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c05c0.c b/decomp/Agent_Release_x64/full/functions/0x1400c05c0.c new file mode 100644 index 00000000..f19ca47b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c05c0.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c05c0 FUN_1400c05c0 + * Pseudocode, not original source. */ + +void FUN_1400c05c0(longlong param_1) + +{ + int *piVar1; + undefined8 *puVar2; + longlong local_res8 [2]; + + piVar1 = (int *)(param_1 + 0x310); + while( true ) { + FUN_14002e6e0(piVar1); + if (DAT_14015c2d0 != '\0') { + FUN_14002e770((longlong)piVar1); + return; + } + if ((*(char *)(param_1 + 0x2c0) == '\0') && (*(char *)(param_1 + 0x300) == '\0')) break; + FUN_14002e770((longlong)piVar1); + Sleep(10); + } + *(undefined1 *)(param_1 + 0x30) = 0; + puVar2 = (undefined8 *)0x0; + local_res8[0] = 0; + FUN_140031f40((longlong *)(param_1 + 0x18),local_res8); + local_res8[1] = 0; + FUN_140031f40((longlong *)(param_1 + 0x20),local_res8 + 1); + FUN_14002e770((longlong)piVar1); + *(undefined1 *)(param_1 + 0x380) = 0; + if (*(undefined8 **)(param_1 + 0x348) != (undefined8 *)0x0) { + puVar2 = (undefined8 *)**(undefined8 **)(param_1 + 0x348); + } + FUN_1400375f0(puVar2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c06a0.c b/decomp/Agent_Release_x64/full/functions/0x1400c06a0.c new file mode 100644 index 00000000..47ee7878 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c06a0.c @@ -0,0 +1,75 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c06a0 FUN_1400c06a0 + * Pseudocode, not original source. */ + +void FUN_1400c06a0(undefined8 *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) + +{ + void *pvVar1; + undefined8 *puVar2; + undefined8 *puVar3; + longlong *plVar4; + longlong *plVar5; + longlong local_res10 [3]; + + *param_1 = Proud::CSendSpeedMeasurer::vftable; + param_1[1] = Proud::CSendSpeedMeasurer::vftable; + param_1[2] = Proud::CSendSpeedMeasurer::vftable; + FUN_1400bfdd0((longlong)param_1,param_2,param_3,param_4); + FUN_1400c05c0((longlong)param_1); + local_res10[0] = 0; + FUN_140031f40(param_1 + 4,local_res10); + local_res10[1] = 0; + plVar5 = local_res10 + 1; + FUN_140031f40(param_1 + 3,plVar5); + pvVar1 = (void *)param_1[0x61]; + if (pvVar1 != (void *)0x0) { + FUN_140039850((longlong)pvVar1,plVar5,param_3,param_4); + operator_delete(pvVar1); + } + param_1[0x61] = 0; + if ((param_1[0x69] != 0) && + (*(longlong *)(param_1[0x69] + 8) = *(longlong *)(param_1[0x69] + 8) + -1, + *(longlong *)(param_1[0x69] + 8) == 0)) { + puVar2 = (undefined8 *)param_1[0x69]; + puVar3 = (undefined8 *)*puVar2; + if (puVar3 != (undefined8 *)0x0) { + FUN_140037670(puVar3); + operator_delete(puVar3); + } + FUN_1400302f0(puVar2); + } + FUN_14002e7a0((undefined4 *)(param_1 + 0x62),plVar5,param_3,param_4); + pvVar1 = (void *)param_1[0x61]; + if (pvVar1 != (void *)0x0) { + FUN_140039850((longlong)pvVar1,plVar5,param_3,param_4); + operator_delete(pvVar1); + } + if ((param_1[4] != 0) && + (*(longlong *)(param_1[4] + 8) = *(longlong *)(param_1[4] + 8) + -1, + *(longlong *)(param_1[4] + 8) == 0)) { + puVar2 = (undefined8 *)param_1[4]; + plVar4 = (longlong *)*puVar2; + if (plVar4 != (longlong *)0x0) { + FUN_1400358a0(plVar4,plVar5,param_3,param_4); + FUN_1400302f0(plVar4); + } + FUN_1400302f0(puVar2); + } + if ((param_1[3] != 0) && + (*(longlong *)(param_1[3] + 8) = *(longlong *)(param_1[3] + 8) + -1, + *(longlong *)(param_1[3] + 8) == 0)) { + puVar2 = (undefined8 *)param_1[3]; + plVar4 = (longlong *)*puVar2; + if (plVar4 != (longlong *)0x0) { + FUN_1400358a0(plVar4,plVar5,param_3,param_4); + FUN_1400302f0(plVar4); + } + FUN_1400302f0(puVar2); + } + param_1[2] = Proud::ICompletionContext::vftable; + param_1[1] = Proud::ICompletionPortEventSink::vftable; + *param_1 = Proud::IFastSocketDelegate::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c0880.c b/decomp/Agent_Release_x64/full/functions/0x1400c0880.c new file mode 100644 index 00000000..e38639e1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c0880.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c0880 FUN_1400c0880 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400c0880(undefined8 *param_1,ulonglong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_1400c06a0(param_1,param_2,param_3,param_4); + if ((param_2 & 1) != 0) { + operator_delete(param_1); + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c08b0.c b/decomp/Agent_Release_x64/full/functions/0x1400c08b0.c new file mode 100644 index 00000000..6c6ff32f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c08b0.c @@ -0,0 +1,88 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c08b0 FUN_1400c08b0 + * Pseudocode, not original source. */ + +void FUN_1400c08b0(longlong *param_1,longlong param_2,size_t param_3,undefined8 param_4) + +{ + int iVar1; + longlong *plVar2; + longlong lVar3; + undefined ***pppuVar4; + ulonglong uVar5; + uint uVar6; + ulonglong uVar7; + ulonglong uVar8; + undefined8 uVar9; + double dVar10; + undefined **local_30; + longlong *local_28; + LPVOID local_20; + undefined8 local_18; + undefined8 local_10; + + plVar2 = (longlong *) + (**(code **)(**(longlong **)*param_1 + 0x38)) + (*(longlong **)*param_1,param_2,param_3,param_4,0xfffffffffffffffe); + uVar7 = 0; + local_28 = (longlong *)0x0; + local_20 = (LPVOID)0x0; + local_18 = 0; + local_10 = 0; + local_30 = Proud::CUncompressedFrameNumberArray::vftable; + if (plVar2 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + uVar8 = uVar7; + if (*(ulonglong **)(param_2 + 0x20) != (ulonglong *)0x0) { + uVar8 = **(ulonglong **)(param_2 + 0x20); + } + pppuVar4 = &local_30; + local_28 = plVar2; + FUN_1400a3120(uVar8,(longlong)pppuVar4,param_3,param_4); + if (0 < (int)local_18) { + iVar1 = (int)local_18 + -1; + if ((iVar1 < 0) || ((int)local_18 <= iVar1)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(uVar8,pppuVar4,param_3,param_4); + } + *(undefined4 *)(*param_1 + 0xe4) = *(undefined4 *)((longlong)local_20 + (longlong)iVar1 * 4); + uVar9 = (**(code **)(**(longlong **)*param_1 + 0x18))(); + *(undefined8 *)(*param_1 + 0xe8) = uVar9; + *(int *)(*param_1 + 0x30) = *(int *)(*param_1 + 0x30) + 1; + } + lVar3 = *param_1 + 8; + uVar5 = (ulonglong)*(uint *)(param_2 + 0x34); + FUN_1400b9150(lVar3,*(uint *)(param_2 + 0x34)); + *(undefined4 *)(*param_1 + 0xe0) = *(undefined4 *)(param_2 + 0x34); + uVar8 = uVar7; + if (0 < (int)local_18) { + do { + if (((longlong)uVar8 < 0) || ((int)local_18 <= (int)uVar7)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(lVar3,uVar5,param_3,param_4); + } + lVar3 = *param_1 + 8; + uVar6 = *(uint *)((longlong)local_20 + uVar8 * 4); + uVar5 = (ulonglong)uVar6; + FUN_1400b9110(lVar3,uVar6); + uVar6 = (int)uVar7 + 1; + uVar7 = (ulonglong)uVar6; + uVar8 = uVar8 + 1; + } while ((int)uVar6 < (int)local_18); + } + dVar10 = (double)*(int *)(*param_1 + 0x14); + *(int *)(*param_1 + 0x14) = (int)(((double)*(int *)(param_2 + 0x30) - dVar10) * 0.9 + dVar10) + 1; + local_30 = Proud::CFastArray::vftable; + if (local_20 != (LPVOID)0x0) { + if (local_28 == (longlong *)0x0) { + FUN_1400302f0(local_20); + } + else { + (**(code **)(*local_28 + 0x18))(); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c0a50.c b/decomp/Agent_Release_x64/full/functions/0x1400c0a50.c new file mode 100644 index 00000000..494be86d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c0a50.c @@ -0,0 +1,271 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c0a50 FUN_1400c0a50 + * Pseudocode, not original source. */ + +/* WARNING: Removing unreachable block (ram,0x0001400c1033) */ +/* WARNING: Removing unreachable block (ram,0x0001400c103b) */ +/* WARNING: Removing unreachable block (ram,0x0001400c103f) */ +/* WARNING: Removing unreachable block (ram,0x0001400c1049) */ + +void FUN_1400c0a50(longlong param_1,int param_2,int param_3) + +{ + int *piVar1; + int iVar2; + int iVar3; + undefined4 uVar4; + longlong *plVar5; + void *pvVar6; + ulonglong uVar7; + int iVar8; + longlong lVar9; + ulonglong uVar10; + int iVar11; + longlong lVar12; + longlong lVar13; + int iVar14; + int local_res10 [2]; + int local_res18 [2]; + char *local_res20; + longlong *local_128; + void *local_120; + ulonglong local_118; + longlong local_110; + longlong local_108; + longlong *local_f8; + undefined **local_f0 [3]; + undefined **local_d8 [3]; + undefined **local_c0 [3]; + undefined8 local_a8; + undefined **local_a0 [3]; + undefined **local_88 [3]; + undefined8 local_70 [3]; + undefined8 local_58 [4]; + + local_a8 = 0xfffffffffffffffe; + if (1 < param_2 - param_3) { + std::_Container_base12::_Container_base12((_Container_base12 *)&local_128); + local_128 = operator_new(0x10); + if (local_128 == (longlong *)0x0) { + local_f8 = local_128; + std::exception::exception((exception *)local_d8,(char **)&local_f8); + local_d8[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_d8,(ThrowInfo *)&DAT_140151ad0); + } + *local_128 = 0; + local_128[1] = 0; + *local_128 = (longlong)&local_128; + local_120 = (void *)0x0; + local_118 = 0; + local_110 = 0; + local_108 = 0; + local_res18[0] = param_2 + -1; + local_res10[0] = param_3; + FUN_140044460((_Container_base12 *)&local_128,local_res10); + FUN_140044460((_Container_base12 *)&local_128,local_res18); + lVar9 = local_108; + while (lVar13 = 0, uVar7 = local_118, lVar9 != 0) { + plVar5 = FUN_1400415a0(&local_128,local_70); + plVar5 = FUN_140044550(plVar5,local_58,1); + lVar12 = lVar13; + if ((longlong *)*plVar5 != (longlong *)0x0) { + lVar12 = *(longlong *)*plVar5; + } + uVar7 = (ulonglong)plVar5[2] >> 2; + if (*(ulonglong *)(lVar12 + 0x10) <= uVar7) { + uVar7 = uVar7 - *(ulonglong *)(lVar12 + 0x10); + } + iVar14 = *(int *)(*(longlong *)(*(longlong *)(lVar12 + 8) + uVar7 * 8) + + (ulonglong)((uint)plVar5[2] & 3) * 4); + if ((lVar9 != 0) && (lVar9 = lVar9 + -1, local_108 = lVar9, lVar9 == 0)) { + local_110 = lVar13; + } + local_res10[0] = iVar14; + plVar5 = FUN_1400415a0(&local_128,local_58); + plVar5 = FUN_140044550(plVar5,local_70,1); + lVar12 = lVar13; + if ((longlong *)*plVar5 != (longlong *)0x0) { + lVar12 = *(longlong *)*plVar5; + } + uVar7 = (ulonglong)plVar5[2] >> 2; + if (*(ulonglong *)(lVar12 + 0x10) <= uVar7) { + uVar7 = uVar7 - *(ulonglong *)(lVar12 + 0x10); + } + iVar2 = *(int *)(*(longlong *)(*(longlong *)(lVar12 + 8) + uVar7 * 8) + + (ulonglong)((uint)plVar5[2] & 3) * 4); + lVar12 = (longlong)iVar2; + if ((lVar9 != 0) && (lVar9 = lVar9 + -1, local_108 = lVar9, lVar9 == 0)) { + local_110 = lVar13; + } + iVar11 = iVar2 + 1; + iVar3 = *(int *)(param_1 + lVar12 * 4); + if (iVar11 <= iVar14) { + iVar8 = iVar14; + if ((iVar11 < iVar14) && (lVar9 = local_108, iVar11 <= iVar14)) { +LAB_1400c0c17: + do { + if (iVar3 < *(int *)(param_1 + (longlong)iVar11 * 4)) { + if (iVar8 < iVar11) break; + do { + if (*(int *)(param_1 + (longlong)iVar8 * 4) < iVar3) { + if (iVar8 < iVar11) goto LAB_1400c0c65; + uVar4 = *(undefined4 *)(param_1 + (longlong)iVar11 * 4); + *(undefined4 *)(param_1 + (longlong)iVar11 * 4) = + *(undefined4 *)(param_1 + (longlong)iVar8 * 4); + *(undefined4 *)(param_1 + (longlong)iVar8 * 4) = uVar4; + break; + } + iVar8 = iVar8 + -1; + } while (iVar11 <= iVar8); + } + else { + iVar11 = iVar11 + 1; + if (iVar11 <= iVar8) goto LAB_1400c0c17; + } + } while (iVar11 < iVar8); + } +LAB_1400c0c65: + if (iVar2 <= iVar8) { + iVar3 = *(int *)(param_1 + (longlong)iVar8 * 4); + if (iVar3 < *(int *)(param_1 + lVar12 * 4)) { + uVar4 = *(undefined4 *)(param_1 + lVar12 * 4); + *(int *)(param_1 + lVar12 * 4) = iVar3; + *(undefined4 *)(param_1 + (longlong)iVar8 * 4) = uVar4; + lVar9 = local_108; + } + if (iVar2 < iVar8) { + std::_Container_base12::_Orphan_all((_Container_base12 *)&local_128); + if ((((int)local_110 + (int)local_108 & 3U) == 0) && (local_118 <= local_108 + 4U >> 2)) + { + FUN_1400415c0((longlong)&local_128,1); + } + uVar7 = local_108 + local_110; + uVar10 = uVar7 >> 2; + if (local_118 <= uVar10) { + uVar10 = uVar10 - local_118; + } + if (*(longlong *)((longlong)local_120 + uVar10 * 8) == 0) { + pvVar6 = operator_new(0x10); + if (pvVar6 == (void *)0x0) { + local_res20 = (char *)0x0; + std::exception::exception((exception *)local_a0,&local_res20); + local_a0[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_a0,(ThrowInfo *)&DAT_140151ad0); + } + *(void **)((longlong)local_120 + uVar10 * 8) = pvVar6; + } + piVar1 = (int *)(*(longlong *)((longlong)local_120 + uVar10 * 8) + + (ulonglong)((uint)uVar7 & 3) * 4); + if (piVar1 != (int *)0x0) { + *piVar1 = iVar2; + } + local_108 = local_108 + 1; + std::_Container_base12::_Orphan_all((_Container_base12 *)&local_128); + if ((((char)local_108 + (char)local_110 & 3U) == 0) && + (local_118 <= local_108 + 4U >> 2)) { + FUN_1400415c0((longlong)&local_128,1); + } + uVar7 = local_108 + local_110; + uVar10 = uVar7 >> 2; + if (local_118 <= uVar10) { + uVar10 = uVar10 - local_118; + } + if (*(longlong *)((longlong)local_120 + uVar10 * 8) == 0) { + local_res20 = operator_new(0x10); + if (local_res20 == (char *)0x0) { + std::exception::exception((exception *)local_c0,&local_res20); + local_c0[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_c0,(ThrowInfo *)&DAT_140151ad0); + } + *(char **)((longlong)local_120 + uVar10 * 8) = local_res20; + } + piVar1 = (int *)(*(longlong *)((longlong)local_120 + uVar10 * 8) + + (ulonglong)((uint)uVar7 & 3) * 4); + if (piVar1 != (int *)0x0) { + *piVar1 = iVar8 + -1; + } + lVar9 = local_108 + 1; + iVar14 = local_res10[0]; + local_108 = lVar9; + } + } + if (iVar8 < iVar14) { + std::_Container_base12::_Orphan_all((_Container_base12 *)&local_128); + if ((((int)local_110 + (int)local_108 & 3U) == 0) && (local_118 <= local_108 + 4U >> 2)) { + FUN_1400415c0((longlong)&local_128,1); + } + uVar7 = local_108 + local_110; + uVar10 = uVar7 >> 2; + if (local_118 <= uVar10) { + uVar10 = uVar10 - local_118; + } + if (*(longlong *)((longlong)local_120 + uVar10 * 8) == 0) { + pvVar6 = operator_new(0x10); + if (pvVar6 == (void *)0x0) { + local_res20 = (char *)0x0; + std::exception::exception((exception *)local_f0,&local_res20); + local_f0[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_f0,(ThrowInfo *)&DAT_140151ad0); + } + *(void **)((longlong)local_120 + uVar10 * 8) = pvVar6; + } + piVar1 = (int *)(*(longlong *)((longlong)local_120 + uVar10 * 8) + + (ulonglong)((uint)uVar7 & 3) * 4); + if (piVar1 != (int *)0x0) { + *piVar1 = iVar8 + 1; + } + local_108 = local_108 + 1; + std::_Container_base12::_Orphan_all((_Container_base12 *)&local_128); + if ((((char)local_108 + (char)local_110 & 3U) == 0) && (local_118 <= local_108 + 4U >> 2)) + { + FUN_1400415c0((longlong)&local_128,1); + } + uVar7 = local_108 + local_110; + uVar10 = uVar7 >> 2; + if (local_118 <= uVar10) { + uVar10 = uVar10 - local_118; + } + if (*(longlong *)((longlong)local_120 + uVar10 * 8) == 0) { + pvVar6 = operator_new(0x10); + if (pvVar6 == (void *)0x0) { + local_res20 = (char *)0x0; + std::exception::exception((exception *)local_88,&local_res20); + local_88[0] = std::bad_alloc::vftable; + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_88,(ThrowInfo *)&DAT_140151ad0); + } + *(void **)((longlong)local_120 + uVar10 * 8) = pvVar6; + } + piVar1 = (int *)(*(longlong *)((longlong)local_120 + uVar10 * 8) + + (ulonglong)((uint)uVar7 & 3) * 4); + if (piVar1 != (int *)0x0) { + *piVar1 = iVar14; + } + lVar9 = local_108 + 1; + local_108 = lVar9; + } + } + } + while (uVar7 != 0) { + uVar7 = uVar7 - 1; + if (*(longlong *)((longlong)local_120 + uVar7 * 8) != 0) { + operator_delete(*(void **)((longlong)local_120 + uVar7 * 8)); + } + } + if (local_120 != (void *)0x0) { + operator_delete(local_120); + } + local_118 = 0; + local_120 = (void *)0x0; + std::_Container_base12::_Orphan_all((_Container_base12 *)&local_128); + operator_delete(local_128); + local_128 = (longlong *)0x0; + std::_Container_base12::~_Container_base12((_Container_base12 *)&local_128); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c1110.c b/decomp/Agent_Release_x64/full/functions/0x1400c1110.c new file mode 100644 index 00000000..3879e376 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c1110.c @@ -0,0 +1,192 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c1110 FUN_1400c1110 + * Pseudocode, not original source. */ + +void FUN_1400c1110(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + longlong *plVar1; + undefined8 *puVar2; + longlong *plVar3; + longlong *plVar4; + longlong *plVar5; + longlong lVar6; + ulonglong uVar7; + void *_Dst; + ulonglong uVar8; + longlong lVar9; + int iVar10; + longlong *plVar11; + ulonglong uVar12; + uint uVar13; + int iVar14; + int iVar15; + longlong *local_70; + longlong *local_68; + undefined8 local_60; + longlong local_58; + longlong local_50; + longlong local_48; + longlong *local_40; + longlong *local_38; + undefined4 local_30; + undefined4 local_2c; + + iVar15 = (int)param_1[6]; + do { + if (iVar15 < 1) { + return; + } + plVar11 = (longlong *)0x0; + local_38 = (longlong *)(**(code **)(**(longlong **)*param_1 + 0x38))(); + local_48 = 0; + local_50 = 0; + local_58 = 0; + local_40 = (longlong *)0x0; + local_2c = 0; + local_60 = 2; + plVar4 = (longlong *)(**(code **)(**(longlong **)*param_1 + 0x38))(); + plVar5 = FUN_14004ded0((longlong *)&local_70,plVar4,param_3,param_4); + plVar1 = local_38; + plVar3 = local_40; + plVar4 = (longlong *)*plVar5; + if (plVar4 != (longlong *)0x0) { + plVar4[1] = plVar4[1] + 1; + plVar11 = plVar4; + } + if (local_40 != (longlong *)0x0) { + plVar4 = local_40 + 1; + *plVar4 = *plVar4 + -1; + if (*plVar4 == 0) { + puVar2 = (undefined8 *)*local_40; + *puVar2 = Proud::CFastArray::vftable; + if ((LPVOID)puVar2[2] != (LPVOID)0x0) { + if ((longlong *)puVar2[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)puVar2[2]); + } + else { + (**(code **)(*(longlong *)puVar2[1] + 0x18))(); + } + } + (**(code **)(*plVar1 + 0x18))(plVar1,puVar2); + (**(code **)(*local_38 + 0x18))(local_38,plVar3); + } + } + plVar3 = local_68; + plVar4 = local_70; + uVar12 = 0; + local_38 = (longlong *)plVar5[1]; + local_40 = plVar11; + if (local_70 != (longlong *)0x0) { + plVar1 = local_70 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + puVar2 = (undefined8 *)*local_70; + *puVar2 = Proud::CFastArray::vftable; + if ((LPVOID)puVar2[2] != (LPVOID)0x0) { + if ((longlong *)puVar2[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)puVar2[2]); + } + else { + (**(code **)(*(longlong *)puVar2[1] + 0x18))(); + } + } + (**(code **)(*plVar3 + 0x18))(plVar3,puVar2); + (**(code **)(*local_68 + 0x18))(local_68,plVar4); + } + } + iVar15 = 0; + uVar13 = *(uint *)(param_1 + 6); + uVar8 = (ulonglong)uVar13; + uVar7 = uVar12; + if (uVar13 != 0) { + uVar7 = param_1[5]; + } + lVar9 = 0; + if ((int)uVar13 < 0x7d1) { + FUN_140040550(uVar7,uVar8,0); + } + else { + FUN_1400c0a50(uVar7,uVar13,0); + } + iVar10 = 0; + iVar14 = 0; + if (0 < (int)param_1[6]) { + do { + if (((longlong)uVar12 < 0) || ((int)param_1[6] <= iVar10)) { + /* WARNING: Subroutine does not return */ + FUN_14002f5c0(uVar7,uVar8,lVar9,param_4); + } + uVar8 = (ulonglong)*(uint *)(param_1[5] + uVar12 * 4); + if (local_40 == (longlong *)0x0) { + lVar6 = 0; + } + else { + lVar6 = *local_40; + } + FUN_1400a2fd0(lVar6,uVar8,lVar9,param_4); + iVar15 = iVar14 + 1; + lVar6 = FUN_140064290((longlong *)&local_40); + uVar7 = (ulonglong)*(uint *)(lVar6 + 0x18); + if (DAT_1401626dc <= (int)*(uint *)(lVar6 + 0x18)) break; + iVar10 = iVar10 + 1; + uVar12 = uVar12 + 1; + iVar14 = iVar15; + } while (iVar10 < (int)param_1[6]); + } + local_30 = (undefined4)param_1[0x17]; + local_2c = (undefined4)param_1[2]; + FUN_1400b8c80((undefined8 *)(*param_1 + 8),(int *)&local_60); + *(undefined8 *)(*param_1 + 0x18) = 0; + if (iVar15 < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar14 = (int)param_1[6]; + if (iVar14 <= iVar15) { + iVar15 = iVar14; + } + uVar13 = iVar14 - iVar15; + param_3 = (ulonglong)uVar13; + if (0 < (int)uVar13) { + lVar9 = 0; + if (iVar14 == 0) { + _Dst = (void *)0x0; + } + else { + lVar9 = param_1[5]; + _Dst = (void *)param_1[5]; + } + param_3 = (longlong)(int)uVar13 << 2; + memmove(_Dst,(void *)(lVar9 + (longlong)iVar15 * 4),param_3); + } + FUN_14003ecf0((longlong)(param_1 + 3),(int)param_1[6] - iVar15,param_3); + plVar3 = local_38; + plVar4 = local_40; + if (local_40 != (longlong *)0x0) { + plVar1 = local_40 + 1; + *plVar1 = *plVar1 + -1; + if (*plVar1 == 0) { + puVar2 = (undefined8 *)*local_40; + *puVar2 = Proud::CFastArray::vftable; + if ((LPVOID)puVar2[2] != (LPVOID)0x0) { + if ((longlong *)puVar2[1] == (longlong *)0x0) { + FUN_1400302f0((LPVOID)puVar2[2]); + } + else { + (**(code **)(*(longlong *)puVar2[1] + 0x18))(); + } + } + (**(code **)(*plVar3 + 0x18))(plVar3,puVar2); + (**(code **)(*local_38 + 0x18))(local_38,plVar4); + } + } + FUN_140095270(&local_58); + if ((local_50 != 0) && (local_48 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + iVar15 = (int)param_1[6]; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c1440.c b/decomp/Agent_Release_x64/full/functions/0x1400c1440.c new file mode 100644 index 00000000..d45b6035 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c1440.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c1440 FUN_1400c1440 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400c1440(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) + +{ + double dVar1; + longlong lVar2; + double dVar3; + + dVar3 = (double)(**(code **)(**(longlong **)*param_1 + 0x18))(); + if ((double)param_1[0x16] == 0.0) { + param_1[0x16] = (longlong)dVar3; + } + dVar1 = (double)param_1[0x16]; + if (_DAT_1401572a8 < dVar3 - dVar1) { + lVar2 = param_1[0x15]; + param_1[0x16] = (longlong)dVar3; + *(undefined4 *)(param_1 + 0x15) = 0; + *(int *)(param_1 + 0x17) = + (int)(((double)(int)lVar2 - (double)(int)param_1[0x17]) * (0.1 / (dVar3 - dVar1)) + + (double)(int)param_1[0x17]); + } + if (DAT_1401572b8 * 0.2 < dVar3 - (double)param_1[1]) { + FUN_1400c1110(param_1,param_2,param_3,param_4); + param_1[1] = (longlong)dVar3; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c1520.c b/decomp/Agent_Release_x64/full/functions/0x1400c1520.c new file mode 100644 index 00000000..de7c87b9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c1520.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c1520 FUN_1400c1520 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400c1520(longlong *param_1,undefined4 *param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + undefined8 *puVar2; + + plVar1 = (longlong *)*param_1; + if (plVar1 == (longlong *)0x0) { + puVar2 = (undefined8 *)FUN_140030280(0x48); + } + else { + puVar2 = (undefined8 *)(**(code **)(*plVar1 + 8))(plVar1,0x48); + } + if (puVar2 != (undefined8 *)0x0) { + FUN_1400b8dd0((undefined4 *)(puVar2 + 2),param_2); + } + puVar2[1] = param_3; + *puVar2 = param_4; + param_1[3] = param_1[3] + 1; + return puVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c15b0.c b/decomp/Agent_Release_x64/full/functions/0x1400c15b0.c new file mode 100644 index 00000000..2a12b462 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c15b0.c @@ -0,0 +1,115 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c15b0 FUN_1400c15b0 + * Pseudocode, not original source. */ + +void FUN_1400c15b0(longlong *param_1,longlong *param_2,ulonglong param_3,undefined8 param_4) + +{ + uint uVar1; + longlong lVar2; + longlong lVar3; + int iVar4; + longlong *plVar5; + longlong *plVar6; + exception local_98 [144]; + + if (param_1[0xb] != 0) { + plVar5 = param_1; + do { + lVar2 = param_1[9]; + if (lVar2 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + if (*(int *)(lVar2 + 0x14) != (int)param_1[2]) { + return; + } + lVar3 = *(longlong *)(lVar2 + 0x18); + if (lVar3 == 0) { + if (*(longlong *)(lVar2 + 0x20) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(plVar5,param_2,param_3,param_4); + } + uVar1 = *(uint *)(lVar2 + 0x28); + } + else { + uVar1 = *(uint *)(lVar3 + 0x18); + } + param_3 = (ulonglong)uVar1; + if (*(longlong *)(lVar2 + 0x20) == 0) { + if (lVar3 == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(plVar5,param_2,param_3,param_4); + } + param_2 = (longlong *)0x0; + if (*(int *)(lVar3 + 0x18) != 0) { + param_2 = *(longlong **)(lVar3 + 0x10); + } + } + else { + param_2 = *(longlong **)(lVar2 + 0x20); + if (*(longlong **)(lVar2 + 0x20) == (longlong *)0x0) { + FUN_14002f1e0(local_98,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,param_3 + ,param_4); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_98,(ThrowInfo *)&DAT_140151b88); + } + } + plVar5 = param_1 + 0xc; + FUN_1400bbc90(plVar5,param_2,param_3); + if (*(longlong *)(lVar2 + 0x18) == 0) { + if (*(longlong *)(lVar2 + 0x20) == 0) { + /* WARNING: Subroutine does not return */ + FUN_140095370(plVar5,param_2,param_3,param_4); + } + iVar4 = *(int *)(lVar2 + 0x28); + } + else { + iVar4 = *(int *)(*(longlong *)(lVar2 + 0x18) + 0x18); + } + *(int *)(param_1 + 0x14) = (int)param_1[0x14] + iVar4; + plVar5 = (longlong *)param_1[9]; + if (plVar5 == (longlong *)0x0) { + /* WARNING: Subroutine does not return */ + FUN_14000b450(0x80004005); + } + lVar2 = *plVar5; + param_1[9] = lVar2; + if (lVar2 == 0) { + param_1[10] = 0; + } + else { + *(undefined8 *)(lVar2 + 8) = 0; + } + if (plVar5[6] != 0) { + plVar6 = (longlong *)(plVar5[6] + 8); + *plVar6 = *plVar6 + -1; + if (*plVar6 == 0) { + param_2 = (longlong *)plVar5[6]; + FUN_140043d50((longlong)(plVar5 + 6),param_2); + } + } + FUN_140095270(plVar5 + 3); + if (plVar5[4] != 0) { + if (*(int *)((longlong)plVar5 + 0x2c) < 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + *(undefined4 *)(plVar5 + 5) = 0; + } + plVar6 = (longlong *)param_1[8]; + if (plVar6 == (longlong *)0x0) { + FUN_1400302f0(plVar5); + } + else { + param_2 = plVar5; + (**(code **)(*plVar6 + 0x10))(); + plVar5 = plVar6; + } + param_1[0xb] = param_1[0xb] + -1; + *(int *)(param_1 + 2) = (int)param_1[2] + 1; + } while (param_1[0xb] != 0); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c1760.c b/decomp/Agent_Release_x64/full/functions/0x1400c1760.c new file mode 100644 index 00000000..2bd9686f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c1760.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c1760 FUN_1400c1760 + * Pseudocode, not original source. */ + +void FUN_1400c1760(longlong *param_1,longlong param_2,undefined4 *param_3) + +{ + undefined8 *puVar1; + + if (param_2 != 0) { + puVar1 = FUN_1400c1520(param_1,param_3,*(undefined8 *)(param_2 + 8),param_2); + if (*(undefined8 **)(param_2 + 8) != (undefined8 *)0x0) { + **(undefined8 **)(param_2 + 8) = puVar1; + *(undefined8 **)(param_2 + 8) = puVar1; + return; + } + param_1[1] = (longlong)puVar1; + *(undefined8 **)(param_2 + 8) = puVar1; + return; + } + puVar1 = FUN_1400c1520(param_1,param_3,0,param_1[1]); + if (param_1[1] != 0) { + *(undefined8 **)(param_1[1] + 8) = puVar1; + param_1[1] = (longlong)puVar1; + return; + } + param_1[2] = (longlong)puVar1; + param_1[1] = (longlong)puVar1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c1800.c b/decomp/Agent_Release_x64/full/functions/0x1400c1800.c new file mode 100644 index 00000000..aca76dca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c1800.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c1800 FUN_1400c1800 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400c1800(undefined8 *param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + undefined4 uVar1; + longlong lVar2; + exception local_60 [72]; + + uVar1 = (undefined4)param_3; + param_1[4] = 0; + param_1[5] = 0; + param_1[6] = 0; + param_1[7] = 0; + param_1[3] = Proud::ReliableUdpReceiver::AcksToSend::vftable; + param_1[8] = 0; + param_1[0xb] = 0; + param_1[9] = 0; + param_1[10] = 0; + lVar2 = param_4; + FUN_1400b8d60(param_1 + 8,param_2,param_3,param_4); + FUN_1400bbb90(param_1 + 0xc,(longlong)DAT_1401550ec); + if (param_4 == 0) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + if (0 < *(int *)((longlong)param_1 + 0x34)) { + FUN_14002f1e0(local_60,(wchar_t *)PTR_u_Collection_object_can_use_fast_h_1401551d0,param_3,lVar2 + ); + /* WARNING: Subroutine does not return */ + _CxxThrowException(local_60,(ThrowInfo *)&DAT_140151b88); + } + param_1[4] = param_4; + *(undefined4 *)((longlong)param_1 + 0x3c) = 1; + param_1[0x14] = 0; + *(undefined4 *)(param_1 + 0x15) = 0; + param_1[0x16] = 0; + *(undefined4 *)(param_1 + 0x17) = DAT_140157294; + *(undefined4 *)((longlong)param_1 + 0xbc) = 0; + *param_1 = param_2; + *(undefined4 *)(param_1 + 2) = uVar1; + *(undefined4 *)((longlong)param_1 + 0x14) = uVar1; + param_1[1] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c1910.c b/decomp/Agent_Release_x64/full/functions/0x1400c1910.c new file mode 100644 index 00000000..4d2856d6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c1910.c @@ -0,0 +1,89 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c1910 FUN_1400c1910 + * Pseudocode, not original source. */ + +void FUN_1400c1910(undefined8 *param_1,undefined4 *param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + int iVar2; + longlong *plVar3; + undefined8 *puVar4; + undefined8 local_40; + longlong local_38; + longlong local_30; + longlong local_28; + longlong *local_20; + undefined8 local_18; + undefined4 local_c; + + puVar4 = (undefined8 *)param_1[9]; + do { + if (puVar4 == (undefined8 *)0x0) { + plVar3 = (longlong *)(**(code **)(**(longlong **)*param_1 + 0x38))(); + local_18 = *(undefined8 *)(param_2 + 10); + local_28 = 0; + local_30 = 0; + local_38 = 0; + local_20 = (longlong *)0x0; + local_40 = 0; + local_c = 0; + FUN_1400a33a0(param_2,(undefined4 *)&local_40,plVar3,param_4); + puVar4 = FUN_1400c1520(param_1 + 8,(undefined4 *)&local_40,param_1[10],0); + if ((undefined8 *)param_1[10] == (undefined8 *)0x0) { + param_1[9] = puVar4; + } + else { + *(undefined8 *)param_1[10] = puVar4; + } + param_1[10] = puVar4; + if (local_20 != (longlong *)0x0) { + plVar3 = local_20 + 1; + *plVar3 = *plVar3 + -1; + if (*plVar3 == 0) { + FUN_140043d50((longlong)&local_20,local_20); + } + } + FUN_140095270(&local_38); + if ((local_30 != 0) && (local_28 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } +LAB_1400c1aa4: + *(int *)(param_1 + 0x15) = *(int *)(param_1 + 0x15) + 1; + return; + } + iVar1 = *(int *)((longlong)puVar4 + 0x14); + iVar2 = param_2[1]; + if (iVar1 == iVar2) { + return; + } + if ((iVar2 != iVar1) && (0x7fffffff < (uint)(iVar2 - iVar1))) { + plVar3 = (longlong *)(**(code **)(**(longlong **)*param_1 + 0x38))(); + local_18 = *(undefined8 *)(param_2 + 10); + local_28 = 0; + local_30 = 0; + local_38 = 0; + local_20 = (longlong *)0x0; + local_40 = 0; + local_c = 0; + FUN_1400a33a0(param_2,(undefined4 *)&local_40,plVar3,param_4); + FUN_1400c1760(param_1 + 8,(longlong)puVar4,(undefined4 *)&local_40); + if (local_20 != (longlong *)0x0) { + plVar3 = local_20 + 1; + *plVar3 = *plVar3 + -1; + if (*plVar3 == 0) { + FUN_140043d50((longlong)&local_20,local_20); + } + } + FUN_140095270(&local_38); + if ((local_30 != 0) && (local_28 < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + goto LAB_1400c1aa4; + } + puVar4 = (undefined8 *)*puVar4; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c1ac0.c b/decomp/Agent_Release_x64/full/functions/0x1400c1ac0.c new file mode 100644 index 00000000..cc7e714b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c1ac0.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c1ac0 FUN_1400c1ac0 + * Pseudocode, not original source. */ + +void FUN_1400c1ac0(longlong *param_1,longlong *param_2,undefined8 *param_3,undefined8 param_4) + +{ + char cVar1; + + *(int *)((longlong)param_1 + 0xbc) = *(int *)((longlong)param_1 + 0xbc) + 1; + cVar1 = (**(code **)(**(longlong **)*param_1 + 0x10))(); + if (cVar1 == '\0') { + param_3 = (undefined8 *)((longlong)param_2 + 4); + if ((*(int *)((longlong)param_2 + 4) == (int)param_1[2]) || + ((uint)(*(int *)((longlong)param_2 + 4) - (int)param_1[2]) < 0x80000000)) { + param_4 = 1; + FUN_140040220((longlong)(param_1 + 3),(int)param_1[6],param_3,1); + *(int *)((longlong)param_1 + 0xa4) = *(int *)((longlong)param_1 + 0xa4) + 1; + } + } + *(undefined4 *)((longlong)param_1 + 0x14) = *(undefined4 *)((longlong)param_2 + 4); + if ((*(int *)((longlong)param_2 + 4) == (int)param_1[2]) || + ((uint)(*(int *)((longlong)param_2 + 4) - (int)param_1[2]) < 0x80000000)) { + FUN_1400c1910(param_1,(undefined4 *)param_2,param_3,param_4); + FUN_1400c15b0(param_1,param_2,(ulonglong)param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c1b50.c b/decomp/Agent_Release_x64/full/functions/0x1400c1b50.c new file mode 100644 index 00000000..951f3ed6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c1b50.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c1b50 FUN_1400c1b50 + * Pseudocode, not original source. */ + +void FUN_1400c1b50(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((int)*param_2 == 1) { + FUN_1400c1ac0(param_1,param_2,(undefined8 *)0x0,param_4); + } + else if ((int)*param_2 == 2) { + FUN_1400c08b0(param_1,(longlong)param_2,0,param_4); + return; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c1b80.c b/decomp/Agent_Release_x64/full/functions/0x1400c1b80.c new file mode 100644 index 00000000..1ef5b6f4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c1b80.c @@ -0,0 +1,133 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c1b80 FUN_1400c1b80 + * Pseudocode, not original source. */ + +uint FUN_1400c1b80(uint param_1,byte *param_2,uint param_3) + +{ + byte bVar1; + int iVar2; + ulonglong uVar3; + uint uVar4; + int iVar5; + int iVar6; + int iVar7; + int iVar8; + int iVar9; + int iVar10; + int iVar11; + int iVar12; + int iVar13; + int iVar14; + int iVar15; + int iVar16; + int iVar17; + int iVar18; + int iVar19; + uint uVar20; + byte *pbVar21; + + uVar4 = param_1 & 0xffff; + uVar20 = param_1 >> 0x10; + if (param_3 == 1) { + uVar4 = (param_1 & 0xffff) + (uint)*param_2; + if (0xfff0 < uVar4) { + uVar4 = uVar4 - 0xfff1; + } + uVar20 = uVar20 + uVar4; + if (0xfff0 < uVar20) { + return (uVar20 - 0xfff1) * 0x10000 | uVar4; + } + } + else { + if (param_2 == (byte *)0x0) { + return 1; + } + if (param_3 < 0x10) { + for (; param_3 != 0; param_3 = param_3 - 1) { + bVar1 = *param_2; + param_2 = param_2 + 1; + uVar4 = uVar4 + bVar1; + uVar20 = uVar20 + uVar4; + } + if (0xfff0 < uVar4) { + uVar4 = uVar4 - 0xfff1; + } + return (uVar20 + (uVar20 / 0xfff1) * 0xf) * 0x10000 | uVar4; + } + if (0x15af < param_3) { + uVar3 = (ulonglong)param_3 / 0x15b0; + do { + param_3 = param_3 - 0x15b0; + iVar2 = 0x15b; + pbVar21 = param_2; + do { + param_2 = pbVar21 + 0x10; + iVar5 = uVar4 + *pbVar21; + iVar6 = iVar5 + (uint)pbVar21[1]; + iVar7 = iVar6 + (uint)pbVar21[2]; + iVar8 = iVar7 + (uint)pbVar21[3]; + iVar9 = iVar8 + (uint)pbVar21[4]; + iVar10 = iVar9 + (uint)pbVar21[5]; + iVar11 = iVar10 + (uint)pbVar21[6]; + iVar12 = iVar11 + (uint)pbVar21[7]; + iVar13 = iVar12 + (uint)pbVar21[8]; + iVar14 = iVar13 + (uint)pbVar21[9]; + iVar15 = iVar14 + (uint)pbVar21[10]; + iVar16 = iVar15 + (uint)pbVar21[0xb]; + iVar17 = iVar16 + (uint)pbVar21[0xc]; + iVar18 = iVar17 + (uint)pbVar21[0xd]; + iVar19 = iVar18 + (uint)pbVar21[0xe]; + uVar4 = iVar19 + (uint)pbVar21[0xf]; + uVar20 = uVar20 + iVar5 + iVar6 + iVar7 + iVar8 + iVar9 + iVar10 + iVar11 + iVar12 + + iVar13 + iVar14 + iVar15 + iVar16 + iVar17 + iVar18 + iVar19 + uVar4; + iVar2 = iVar2 + -1; + pbVar21 = param_2; + } while (iVar2 != 0); + uVar4 = uVar4 % 0xfff1; + uVar20 = uVar20 % 0xfff1; + uVar3 = uVar3 - 1; + } while (uVar3 != 0); + } + if (param_3 != 0) { + if (0xf < param_3) { + uVar3 = (ulonglong)(param_3 >> 4); + pbVar21 = param_2; + do { + param_3 = param_3 - 0x10; + param_2 = pbVar21 + 0x10; + iVar2 = uVar4 + *pbVar21; + iVar5 = iVar2 + (uint)pbVar21[1]; + iVar6 = iVar5 + (uint)pbVar21[2]; + iVar7 = iVar6 + (uint)pbVar21[3]; + iVar8 = iVar7 + (uint)pbVar21[4]; + iVar9 = iVar8 + (uint)pbVar21[5]; + iVar10 = iVar9 + (uint)pbVar21[6]; + iVar11 = iVar10 + (uint)pbVar21[7]; + iVar12 = iVar11 + (uint)pbVar21[8]; + iVar13 = iVar12 + (uint)pbVar21[9]; + iVar14 = iVar13 + (uint)pbVar21[10]; + iVar15 = iVar14 + (uint)pbVar21[0xb]; + iVar16 = iVar15 + (uint)pbVar21[0xc]; + iVar17 = iVar16 + (uint)pbVar21[0xd]; + iVar18 = iVar17 + (uint)pbVar21[0xe]; + uVar4 = iVar18 + (uint)pbVar21[0xf]; + uVar20 = uVar20 + iVar2 + iVar5 + iVar6 + iVar7 + iVar8 + iVar9 + iVar10 + iVar11 + iVar12 + + iVar13 + iVar14 + iVar15 + iVar16 + iVar17 + iVar18 + uVar4; + uVar3 = uVar3 - 1; + pbVar21 = param_2; + } while (uVar3 != 0); + } + for (; param_3 != 0; param_3 = param_3 - 1) { + bVar1 = *param_2; + param_2 = param_2 + 1; + uVar4 = uVar4 + bVar1; + uVar20 = uVar20 + uVar4; + } + uVar4 = uVar4 % 0xfff1; + uVar20 = uVar20 % 0xfff1; + } + } + return uVar20 << 0x10 | uVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c1e90.c b/decomp/Agent_Release_x64/full/functions/0x1400c1e90.c new file mode 100644 index 00000000..7c53c98a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c1e90.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c1e90 FUN_1400c1e90 + * Pseudocode, not original source. */ + +void FUN_1400c1e90(longlong param_1) + +{ + longlong *plVar1; + int *piVar2; + longlong lVar3; + uint uVar4; + + uVar4 = *(uint *)(*(longlong *)(param_1 + 0x28) + 0x28); + if (*(uint *)(param_1 + 0x18) < uVar4) { + uVar4 = *(uint *)(param_1 + 0x18); + } + if (uVar4 != 0) { + memcpy(*(void **)(param_1 + 0x10),*(void **)(*(longlong *)(param_1 + 0x28) + 0x20), + (ulonglong)uVar4); + *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + (ulonglong)uVar4; + plVar1 = (longlong *)(*(longlong *)(param_1 + 0x28) + 0x20); + *plVar1 = *plVar1 + (ulonglong)uVar4; + *(int *)(param_1 + 0x1c) = *(int *)(param_1 + 0x1c) + uVar4; + *(int *)(param_1 + 0x18) = *(int *)(param_1 + 0x18) - uVar4; + piVar2 = (int *)(*(longlong *)(param_1 + 0x28) + 0x28); + *piVar2 = *piVar2 - uVar4; + lVar3 = *(longlong *)(param_1 + 0x28); + if (*(int *)(lVar3 + 0x28) == 0) { + *(undefined8 *)(lVar3 + 0x20) = *(undefined8 *)(lVar3 + 0x10); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c1f10.c b/decomp/Agent_Release_x64/full/functions/0x1400c1f10.c new file mode 100644 index 00000000..c91866f5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c1f10.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c1f10 FUN_1400c1f10 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c1f10(longlong param_1) + +{ + int iVar1; + longlong lVar2; + undefined8 uVar3; + + if ((param_1 == 0) || (lVar2 = *(longlong *)(param_1 + 0x28), lVar2 == 0)) { + return 0xfffffffe; + } + iVar1 = *(int *)(lVar2 + 8); + if ((((iVar1 != 0x2a) && (iVar1 != 0x45)) && (iVar1 != 0x49)) && + (((iVar1 != 0x5b && (iVar1 != 0x67)) && ((iVar1 != 0x71 && (iVar1 != 0x29a)))))) { + return 0xfffffffe; + } + if (*(longlong *)(lVar2 + 0x10) != 0) { + (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40)); + } + if (*(longlong *)(*(longlong *)(param_1 + 0x28) + 0x68) != 0) { + (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40)); + } + if (*(longlong *)(*(longlong *)(param_1 + 0x28) + 0x60) != 0) { + (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40)); + } + if (*(longlong *)(*(longlong *)(param_1 + 0x28) + 0x50) != 0) { + (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40)); + } + (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40),*(undefined8 *)(param_1 + 0x28)); + uVar3 = 0; + *(undefined8 *)(param_1 + 0x28) = 0; + if (iVar1 == 0x71) { + uVar3 = 0xfffffffd; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c1ff0.c b/decomp/Agent_Release_x64/full/functions/0x1400c1ff0.c new file mode 100644 index 00000000..dd4edbc6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c1ff0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c1ff0 FUN_1400c1ff0 + * Pseudocode, not original source. */ + +uint FUN_1400c1ff0(longlong *param_1,void *param_2,uint param_3) + +{ + uint uVar1; + uint uVar2; + + uVar1 = *(uint *)(param_1 + 1); + uVar2 = uVar1; + if (param_3 < uVar1) { + uVar2 = param_3; + } + if (uVar2 == 0) { + return 0; + } + *(uint *)(param_1 + 1) = uVar1 - uVar2; + if (*(int *)(param_1[5] + 0x2c) == 1) { + uVar1 = FUN_1400c1b80(*(uint *)((longlong)param_1 + 0x4c),(byte *)*param_1,uVar2); + } + else { + if (*(int *)(param_1[5] + 0x2c) != 2) goto LAB_1400c2063; + uVar1 = FUN_1400ba3f0(*(uint *)((longlong)param_1 + 0x4c),(uint *)*param_1,uVar2); + } + *(uint *)((longlong)param_1 + 0x4c) = uVar1; +LAB_1400c2063: + memcpy(param_2,(void *)*param_1,(ulonglong)uVar2); + *param_1 = *param_1 + (ulonglong)uVar2; + *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + uVar2; + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c2090.c b/decomp/Agent_Release_x64/full/functions/0x1400c2090.c new file mode 100644 index 00000000..011fd058 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c2090.c @@ -0,0 +1,86 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c2090 FUN_1400c2090 + * Pseudocode, not original source. */ + +uint FUN_1400c2090(longlong param_1,uint param_2) + +{ + char *pcVar1; + char *pcVar2; + uint uVar3; + longlong lVar4; + char *pcVar5; + uint uVar6; + uint uVar7; + char *pcVar8; + char *pcVar9; + int iVar10; + uint uVar11; + ulonglong uVar12; + char cVar13; + char cVar14; + uint uVar15; + + uVar7 = *(uint *)(param_1 + 0x94); + uVar6 = *(uint *)(param_1 + 0xa4); + lVar4 = *(longlong *)(param_1 + 0x50); + uVar12 = (ulonglong)(int)*(uint *)(param_1 + 0xa0); + pcVar2 = (char *)((ulonglong)uVar7 + lVar4); + if (*(int *)(param_1 + 0x44) - 0x106U < uVar7) { + uVar7 = (uVar7 - *(int *)(param_1 + 0x44)) + 0x106; + } + else { + uVar7 = 0; + } + cVar13 = pcVar2[uVar12 - 1]; + cVar14 = pcVar2[uVar12]; + if (*(uint *)(param_1 + 0xb4) <= *(uint *)(param_1 + 0xa0)) { + uVar6 = uVar6 >> 2; + } + uVar3 = *(uint *)(param_1 + 0x9c); + uVar15 = *(uint *)(param_1 + 0xb8); + if (uVar3 < *(uint *)(param_1 + 0xb8)) { + uVar15 = uVar3; + } + do { + iVar10 = (int)uVar12; + pcVar5 = (char *)(lVar4 + (ulonglong)param_2); + if ((((pcVar5[iVar10] == cVar14) && (pcVar5[(longlong)iVar10 + -1] == cVar13)) && + (*pcVar5 == *pcVar2)) && (pcVar5[1] == pcVar2[1])) { + pcVar5 = pcVar5 + 2; + pcVar8 = pcVar2 + 2; + while (((((pcVar9 = pcVar8 + 1, *pcVar9 == pcVar5[1] && + (pcVar9 = pcVar8 + 2, *pcVar9 == pcVar5[2])) && + ((pcVar9 = pcVar8 + 3, *pcVar9 == pcVar5[3] && + ((pcVar9 = pcVar8 + 4, *pcVar9 == pcVar5[4] && + (pcVar9 = pcVar8 + 5, *pcVar9 == pcVar5[5])))))) && + (pcVar9 = pcVar8 + 6, *pcVar9 == pcVar5[6])) && + (pcVar9 = pcVar8 + 7, *pcVar9 == pcVar5[7]))) { + pcVar1 = pcVar5 + 8; + pcVar5 = pcVar5 + 8; + pcVar9 = pcVar8 + 8; + if ((*pcVar9 != *pcVar1) || (pcVar8 = pcVar9, pcVar2 + 0x102 <= pcVar9)) break; + } + uVar11 = ((int)pcVar9 - (int)(pcVar2 + 0x102)) + 0x102; + if (iVar10 < (int)uVar11) { + *(uint *)(param_1 + 0x98) = param_2; + uVar12 = (ulonglong)uVar11; + if ((int)uVar15 <= (int)uVar11) break; + cVar13 = pcVar2[(longlong)(int)uVar11 + -1]; + cVar14 = pcVar2[(int)uVar11]; + } + } + uVar11 = (uint)uVar12; + param_2 = (uint)*(ushort *) + (*(longlong *)(param_1 + 0x60) + + (ulonglong)(*(uint *)(param_1 + 0x4c) & param_2) * 2); + if (param_2 <= uVar7) break; + uVar6 = uVar6 - 1; + lVar4 = *(longlong *)(param_1 + 0x50); + } while (uVar6 != 0); + if (uVar11 <= uVar3) { + uVar3 = uVar11; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c2240.c b/decomp/Agent_Release_x64/full/functions/0x1400c2240.c new file mode 100644 index 00000000..2a7805af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c2240.c @@ -0,0 +1,101 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c2240 FUN_1400c2240 + * Pseudocode, not original source. */ + +void FUN_1400c2240(longlong *param_1) + +{ + ushort *puVar1; + uint uVar2; + short sVar3; + short *psVar4; + ulonglong _Size; + uint uVar5; + uint uVar6; + ulonglong uVar7; + + uVar2 = *(uint *)((longlong)param_1 + 0x44); + _Size = (ulonglong)uVar2; + while( true ) { + uVar5 = ((int)param_1[0xb] - *(int *)((longlong)param_1 + 0x9c)) - + *(uint *)((longlong)param_1 + 0x94); + if ((uVar2 - 0x106) + *(int *)((longlong)param_1 + 0x44) <= *(uint *)((longlong)param_1 + 0x94)) + { + memcpy((void *)param_1[10],(void *)(param_1[10] + _Size),_Size); + uVar7 = (ulonglong)*(uint *)((longlong)param_1 + 0x74); + *(uint *)(param_1 + 0x13) = (int)param_1[0x13] - uVar2; + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) - uVar2; + *(int *)((longlong)param_1 + 0x84) = *(int *)((longlong)param_1 + 0x84) - uVar2; + psVar4 = (short *)(param_1[0xd] + uVar7 * 2); + do { + puVar1 = (ushort *)(psVar4 + -1); + psVar4 = psVar4 + -1; + if (*puVar1 < uVar2) { + sVar3 = 0; + } + else { + sVar3 = *puVar1 - (short)uVar2; + } + uVar6 = (int)uVar7 - 1; + uVar7 = (ulonglong)uVar6; + *psVar4 = sVar3; + } while (uVar6 != 0); + psVar4 = (short *)(param_1[0xc] + _Size * 2); + uVar6 = uVar2; + do { + puVar1 = (ushort *)(psVar4 + -1); + psVar4 = psVar4 + -1; + if (*puVar1 < uVar2) { + sVar3 = 0; + } + else { + sVar3 = *puVar1 - (short)uVar2; + } + uVar6 = uVar6 - 1; + *psVar4 = sVar3; + } while (uVar6 != 0); + uVar5 = uVar5 + uVar2; + } + if ((int)((longlong *)*param_1)[1] == 0) break; + uVar5 = FUN_1400c1ff0((longlong *)*param_1, + (void *)((ulonglong)*(uint *)((longlong)param_1 + 0x9c) + + (ulonglong)*(uint *)((longlong)param_1 + 0x94) + param_1[10]), + uVar5); + *(int *)((longlong)param_1 + 0x9c) = *(int *)((longlong)param_1 + 0x9c) + uVar5; + uVar5 = *(uint *)((longlong)param_1 + 0x9c); + if (2 < uVar5) { + uVar6 = (uint)*(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x94) + param_1[10]); + *(uint *)(param_1 + 0xe) = uVar6; + *(uint *)(param_1 + 0xe) = + (uVar6 << ((byte)(int)param_1[0x10] & 0x1f) ^ + (uint)*(byte *)((ulonglong)(*(uint *)((longlong)param_1 + 0x94) + 1) + param_1[10])) & + *(uint *)((longlong)param_1 + 0x7c); + } + if ((0x105 < uVar5) || (*(int *)(*param_1 + 8) == 0)) { + uVar2 = *(uint *)(param_1 + 0x2e3); + uVar6 = *(uint *)(param_1 + 0xb); + if (uVar2 < uVar6) { + uVar5 = uVar5 + *(int *)((longlong)param_1 + 0x94); + if (uVar2 < uVar5) { + uVar2 = uVar6 - uVar5; + if (0x102 < uVar6 - uVar5) { + uVar2 = 0x102; + } + memset((void *)((ulonglong)uVar5 + param_1[10]),0,(ulonglong)uVar2); + *(uint *)(param_1 + 0x2e3) = uVar2 + uVar5; + } + else if (uVar2 < uVar5 + 0x102) { + uVar5 = (uVar5 - uVar2) + 0x102; + if (uVar6 - uVar2 < uVar5) { + uVar5 = uVar6 - uVar2; + } + memset((void *)((ulonglong)uVar2 + param_1[10]),0,(ulonglong)uVar5); + *(uint *)(param_1 + 0x2e3) = (int)param_1[0x2e3] + uVar5; + } + } + return; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c2400.c b/decomp/Agent_Release_x64/full/functions/0x1400c2400.c new file mode 100644 index 00000000..bce9c5fe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c2400.c @@ -0,0 +1,127 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c2400 FUN_1400c2400 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c2400(longlong *param_1,int param_2) + +{ + longlong *plVar1; + int *piVar2; + uint uVar3; + longlong lVar4; + uint uVar5; + undefined1 *puVar6; + undefined1 *puVar7; + uint uVar8; + uint uVar9; + + uVar5 = (int)param_1[3] - 5; + uVar3 = 0xffff; + if (uVar5 < 0xffff) { + uVar3 = uVar5; + } + puVar7 = (undefined1 *)0x0; + do { + uVar5 = *(uint *)((longlong)param_1 + 0x9c); + if (uVar5 < 2) { + FUN_1400c2240(param_1); + uVar5 = *(uint *)((longlong)param_1 + 0x9c); + if (uVar5 == 0) { + if (param_2 == 0) { + return 0; + } + uVar3 = *(uint *)((longlong)param_1 + 0x84); + if (-1 < (int)uVar3) { + puVar7 = (undefined1 *)((ulonglong)uVar3 + param_1[10]); + } + FUN_1400c6650(param_1,puVar7,*(int *)((longlong)param_1 + 0x94) - uVar3,(uint)(param_2 == 4) + ); + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + FUN_1400c1e90(*param_1); + if (*(int *)(*param_1 + 0x18) != 0) { + if (param_2 == 4) { + return 3; + } + return 1; + } + if (param_2 == 4) { + return 2; + } + return 0; + } + } + uVar9 = *(uint *)((longlong)param_1 + 0x84); + piVar2 = (int *)((longlong)param_1 + 0x94); + *piVar2 = *piVar2 + uVar5; + uVar5 = *(uint *)((longlong)param_1 + 0x94); + uVar8 = uVar9 + uVar3; + *(undefined4 *)((longlong)param_1 + 0x9c) = 0; + if ((*piVar2 == 0) || (uVar8 <= uVar5)) { + *(uint *)((longlong)param_1 + 0x94) = uVar8; + *(uint *)((longlong)param_1 + 0x9c) = uVar5 - uVar8; + puVar6 = puVar7; + if (-1 < (int)uVar9) { + puVar6 = (undefined1 *)((ulonglong)uVar9 + param_1[10]); + } + FUN_1400c6650(param_1,puVar6,uVar8 - uVar9,0); + lVar4 = *param_1; + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + uVar5 = *(uint *)(*(longlong *)(lVar4 + 0x28) + 0x28); + if (*(uint *)(lVar4 + 0x18) < uVar5) { + uVar5 = *(uint *)(lVar4 + 0x18); + } + if (uVar5 != 0) { + memcpy(*(void **)(lVar4 + 0x10),*(void **)(*(longlong *)(lVar4 + 0x28) + 0x20), + (ulonglong)uVar5); + *(longlong *)(lVar4 + 0x10) = *(longlong *)(lVar4 + 0x10) + (ulonglong)uVar5; + plVar1 = (longlong *)(*(longlong *)(lVar4 + 0x28) + 0x20); + *plVar1 = *plVar1 + (ulonglong)uVar5; + *(int *)(lVar4 + 0x1c) = *(int *)(lVar4 + 0x1c) + uVar5; + *(int *)(lVar4 + 0x18) = *(int *)(lVar4 + 0x18) - uVar5; + piVar2 = (int *)(*(longlong *)(lVar4 + 0x28) + 0x28); + *piVar2 = *piVar2 - uVar5; + lVar4 = *(longlong *)(lVar4 + 0x28); + if (*(int *)(lVar4 + 0x28) == 0) { + *(undefined8 *)(lVar4 + 0x20) = *(undefined8 *)(lVar4 + 0x10); + } + } + if (*(int *)(*param_1 + 0x18) == 0) { + return 0; + } + } + uVar5 = *(uint *)((longlong)param_1 + 0x84); + uVar9 = *(int *)((longlong)param_1 + 0x94) - uVar5; + if (*(int *)((longlong)param_1 + 0x44) - 0x106U <= uVar9) { + puVar6 = puVar7; + if (-1 < (int)uVar5) { + puVar6 = (undefined1 *)((ulonglong)uVar5 + param_1[10]); + } + FUN_1400c6650(param_1,puVar6,uVar9,0); + lVar4 = *param_1; + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + uVar5 = *(uint *)(*(longlong *)(lVar4 + 0x28) + 0x28); + if (*(uint *)(lVar4 + 0x18) < uVar5) { + uVar5 = *(uint *)(lVar4 + 0x18); + } + if (uVar5 != 0) { + memcpy(*(void **)(lVar4 + 0x10),*(void **)(*(longlong *)(lVar4 + 0x28) + 0x20), + (ulonglong)uVar5); + *(longlong *)(lVar4 + 0x10) = *(longlong *)(lVar4 + 0x10) + (ulonglong)uVar5; + plVar1 = (longlong *)(*(longlong *)(lVar4 + 0x28) + 0x20); + *plVar1 = *plVar1 + (ulonglong)uVar5; + *(int *)(lVar4 + 0x1c) = *(int *)(lVar4 + 0x1c) + uVar5; + *(int *)(lVar4 + 0x18) = *(int *)(lVar4 + 0x18) - uVar5; + piVar2 = (int *)(*(longlong *)(lVar4 + 0x28) + 0x28); + *piVar2 = *piVar2 - uVar5; + lVar4 = *(longlong *)(lVar4 + 0x28); + if (*(int *)(lVar4 + 0x28) == 0) { + *(undefined8 *)(lVar4 + 0x20) = *(undefined8 *)(lVar4 + 0x10); + } + } + if (*(int *)(*param_1 + 0x18) == 0) { + return 0; + } + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c2680.c b/decomp/Agent_Release_x64/full/functions/0x1400c2680.c new file mode 100644 index 00000000..11598522 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c2680.c @@ -0,0 +1,168 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c2680 FUN_1400c2680 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c2680(longlong *param_1,int param_2) + +{ + longlong *plVar1; + int *piVar2; + short *psVar3; + longlong lVar4; + byte bVar5; + undefined1 *puVar6; + undefined1 *puVar7; + short sVar8; + ushort uVar9; + uint uVar10; + bool bVar11; + + puVar7 = (undefined1 *)0x0; + do { + uVar10 = *(uint *)((longlong)param_1 + 0x9c); + if (uVar10 < 0x106) { + FUN_1400c2240(param_1); + uVar10 = *(uint *)((longlong)param_1 + 0x9c); + if ((uVar10 < 0x106) && (param_2 == 0)) { + return 0; + } + if (uVar10 == 0) { + uVar10 = *(uint *)((longlong)param_1 + 0x84); + if (-1 < (int)uVar10) { + puVar7 = (undefined1 *)((ulonglong)uVar10 + param_1[10]); + } + FUN_1400c6650(param_1,puVar7,*(int *)((longlong)param_1 + 0x94) - uVar10, + (uint)(param_2 == 4)); + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + FUN_1400c1e90(*param_1); + if (*(int *)(*param_1 + 0x18) != 0) { + if (param_2 == 4) { + return 3; + } + return 1; + } + if (param_2 == 4) { + return 2; + } + return 0; + } + } + if (2 < uVar10) { + uVar10 = ((uint)*(byte *)((ulonglong)(*(uint *)((longlong)param_1 + 0x94) + 2) + param_1[10]) + ^ (int)param_1[0xe] << ((byte)(int)param_1[0x10] & 0x1f)) & + *(uint *)((longlong)param_1 + 0x7c); + *(uint *)(param_1 + 0xe) = uVar10; + *(undefined2 *) + (param_1[0xc] + + (ulonglong)(*(uint *)((longlong)param_1 + 0x94) & *(uint *)((longlong)param_1 + 0x4c)) * 2) = + *(undefined2 *)(param_1[0xd] + (ulonglong)uVar10 * 2); + uVar9 = *(ushort *) + (param_1[0xc] + + (ulonglong) + (*(uint *)((longlong)param_1 + 0x94) & *(uint *)((longlong)param_1 + 0x4c)) * 2); + *(undefined2 *)(param_1[0xd] + (ulonglong)*(uint *)(param_1 + 0xe) * 2) = + *(undefined2 *)((longlong)param_1 + 0x94); + if ((uVar9 != 0) && + (*(int *)((longlong)param_1 + 0x94) - (uint)uVar9 <= + *(int *)((longlong)param_1 + 0x44) - 0x106U)) { + uVar10 = FUN_1400c2090((longlong)param_1,(uint)uVar9); + *(uint *)(param_1 + 0x11) = uVar10; + } + } + if (*(uint *)(param_1 + 0x11) < 3) { + bVar5 = *(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x94) + param_1[10]); + *(undefined2 *)(param_1[0x2df] + (ulonglong)*(uint *)((longlong)param_1 + 0x16f4) * 2) = 0; + *(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x16f4) + param_1[0x2dd]) = bVar5; + *(int *)((longlong)param_1 + 0x16f4) = *(int *)((longlong)param_1 + 0x16f4) + 1; + psVar3 = (short *)((longlong)param_1 + (ulonglong)bVar5 * 4 + 0xbc); + *psVar3 = *psVar3 + 1; + bVar11 = *(int *)((longlong)param_1 + 0x16f4) == (int)param_1[0x2de] + -1; + *(int *)((longlong)param_1 + 0x9c) = *(int *)((longlong)param_1 + 0x9c) + -1; +LAB_1400c295c: + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) + 1; + } + else { + sVar8 = *(short *)((longlong)param_1 + 0x94) - (short)param_1[0x13]; + lVar4 = param_1[0x11]; + *(short *)(param_1[0x2df] + (ulonglong)*(uint *)((longlong)param_1 + 0x16f4) * 2) = sVar8; + bVar5 = (char)lVar4 - 3; + uVar9 = sVar8 - 1; + *(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x16f4) + param_1[0x2dd]) = bVar5; + *(int *)((longlong)param_1 + 0x16f4) = *(int *)((longlong)param_1 + 0x16f4) + 1; + psVar3 = (short *)((longlong)param_1 + (ulonglong)(byte)(&DAT_140112070)[bVar5] * 4 + 0x4c0); + *psVar3 = *psVar3 + 1; + if (uVar9 < 0x100) { + bVar5 = (&DAT_140111e70)[uVar9]; + } + else { + bVar5 = (&DAT_140111f70)[uVar9 >> 7]; + } + psVar3 = (short *)((longlong)param_1 + (longlong)(int)(uint)bVar5 * 4 + 0x9b0); + *psVar3 = *psVar3 + 1; + bVar11 = *(int *)((longlong)param_1 + 0x16f4) == (int)param_1[0x2de] + -1; + uVar10 = *(uint *)(param_1 + 0x11); + *(int *)((longlong)param_1 + 0x9c) = *(int *)((longlong)param_1 + 0x9c) - uVar10; + if ((uVar10 <= *(uint *)(param_1 + 0x15)) && (2 < *(uint *)((longlong)param_1 + 0x9c))) { + *(uint *)(param_1 + 0x11) = uVar10 - 1; + do { + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) + 1; + uVar10 = ((uint)*(byte *)((ulonglong)(*(uint *)((longlong)param_1 + 0x94) + 2) + + param_1[10]) ^ + (int)param_1[0xe] << ((byte)(int)param_1[0x10] & 0x1f)) & + *(uint *)((longlong)param_1 + 0x7c); + *(uint *)(param_1 + 0xe) = uVar10; + *(undefined2 *) + (param_1[0xc] + + (ulonglong)(*(uint *)((longlong)param_1 + 0x94) & *(uint *)((longlong)param_1 + 0x4c)) * + 2) = *(undefined2 *)(param_1[0xd] + (ulonglong)uVar10 * 2); + *(undefined2 *)(param_1[0xd] + (ulonglong)*(uint *)(param_1 + 0xe) * 2) = + *(undefined2 *)((longlong)param_1 + 0x94); + plVar1 = param_1 + 0x11; + *(int *)plVar1 = (int)*plVar1 + -1; + } while ((int)*plVar1 != 0); + goto LAB_1400c295c; + } + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) + uVar10; + *(undefined4 *)(param_1 + 0x11) = 0; + uVar10 = (uint)*(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x94) + param_1[10]); + *(uint *)(param_1 + 0xe) = uVar10; + *(uint *)(param_1 + 0xe) = + (uVar10 << ((byte)(int)param_1[0x10] & 0x1f) ^ + (uint)*(byte *)((ulonglong)(*(uint *)((longlong)param_1 + 0x94) + 1) + param_1[10])) & + *(uint *)((longlong)param_1 + 0x7c); + } + if (bVar11) { + uVar10 = *(uint *)((longlong)param_1 + 0x84); + puVar6 = puVar7; + if (-1 < (int)uVar10) { + puVar6 = (undefined1 *)((ulonglong)uVar10 + param_1[10]); + } + FUN_1400c6650(param_1,puVar6,*(int *)((longlong)param_1 + 0x94) - uVar10,0); + lVar4 = *param_1; + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + uVar10 = *(uint *)(*(longlong *)(lVar4 + 0x28) + 0x28); + if (*(uint *)(lVar4 + 0x18) < uVar10) { + uVar10 = *(uint *)(lVar4 + 0x18); + } + if (uVar10 != 0) { + memcpy(*(void **)(lVar4 + 0x10),*(void **)(*(longlong *)(lVar4 + 0x28) + 0x20), + (ulonglong)uVar10); + *(longlong *)(lVar4 + 0x10) = *(longlong *)(lVar4 + 0x10) + (ulonglong)uVar10; + plVar1 = (longlong *)(*(longlong *)(lVar4 + 0x28) + 0x20); + *plVar1 = *plVar1 + (ulonglong)uVar10; + *(int *)(lVar4 + 0x1c) = *(int *)(lVar4 + 0x1c) + uVar10; + *(int *)(lVar4 + 0x18) = *(int *)(lVar4 + 0x18) - uVar10; + piVar2 = (int *)(*(longlong *)(lVar4 + 0x28) + 0x28); + *piVar2 = *piVar2 - uVar10; + lVar4 = *(longlong *)(lVar4 + 0x28); + if (*(int *)(lVar4 + 0x28) == 0) { + *(undefined8 *)(lVar4 + 0x20) = *(undefined8 *)(lVar4 + 0x10); + } + } + if (*(int *)(*param_1 + 0x18) == 0) { + return 0; + } + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c2aa0.c b/decomp/Agent_Release_x64/full/functions/0x1400c2aa0.c new file mode 100644 index 00000000..40d5a9a9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c2aa0.c @@ -0,0 +1,208 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c2aa0 FUN_1400c2aa0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400c2aa0(longlong *param_1,int param_2) + +{ + longlong *plVar1; + int *piVar2; + short *psVar3; + int iVar4; + int iVar5; + int iVar6; + longlong lVar7; + byte bVar8; + undefined1 *puVar9; + undefined1 *puVar10; + short sVar11; + ushort uVar12; + uint uVar13; + uint uVar14; + + puVar10 = (undefined1 *)0x0; + do { + uVar13 = *(uint *)((longlong)param_1 + 0x9c); + uVar14 = 0; + if (uVar13 < 0x106) { + FUN_1400c2240(param_1); + uVar13 = *(uint *)((longlong)param_1 + 0x9c); + if ((uVar13 < 0x106) && (param_2 == 0)) { + return 0; + } + if (uVar13 == 0) { + if ((int)param_1[0x12] != 0) { + bVar8 = *(byte *)((ulonglong)(*(int *)((longlong)param_1 + 0x94) - 1) + param_1[10]); + *(undefined2 *)(param_1[0x2df] + (ulonglong)*(uint *)((longlong)param_1 + 0x16f4) * 2) = 0 + ; + *(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x16f4) + param_1[0x2dd]) = bVar8; + *(int *)((longlong)param_1 + 0x16f4) = *(int *)((longlong)param_1 + 0x16f4) + 1; + psVar3 = (short *)((longlong)param_1 + (ulonglong)bVar8 * 4 + 0xbc); + *psVar3 = *psVar3 + 1; + *(undefined4 *)(param_1 + 0x12) = 0; + } + uVar13 = *(uint *)((longlong)param_1 + 0x84); + if (-1 < (int)uVar13) { + puVar10 = (undefined1 *)((ulonglong)uVar13 + param_1[10]); + } + FUN_1400c6650(param_1,puVar10,*(int *)((longlong)param_1 + 0x94) - uVar13, + (uint)(param_2 == 4)); + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + FUN_1400c1e90(*param_1); + if (*(int *)(*param_1 + 0x18) != 0) { + if (param_2 == 4) { + return 3; + } + return 1; + } + if (param_2 == 4) { + return 2; + } + return 0; + } + } + if (2 < uVar13) { + uVar13 = ((uint)*(byte *)((ulonglong)(*(uint *)((longlong)param_1 + 0x94) + 2) + param_1[10]) + ^ (int)param_1[0xe] << ((byte)(int)param_1[0x10] & 0x1f)) & + *(uint *)((longlong)param_1 + 0x7c); + *(uint *)(param_1 + 0xe) = uVar13; + *(undefined2 *) + (param_1[0xc] + + (ulonglong)(*(uint *)((longlong)param_1 + 0x94) & *(uint *)((longlong)param_1 + 0x4c)) * 2) = + *(undefined2 *)(param_1[0xd] + (ulonglong)uVar13 * 2); + uVar14 = (uint)*(ushort *) + (param_1[0xc] + + (ulonglong) + (*(uint *)((longlong)param_1 + 0x94) & *(uint *)((longlong)param_1 + 0x4c)) * + 2); + *(undefined2 *)(param_1[0xd] + (ulonglong)*(uint *)(param_1 + 0xe) * 2) = + *(undefined2 *)((longlong)param_1 + 0x94); + } + uVar13 = *(uint *)(param_1 + 0x11); + *(undefined4 *)(param_1 + 0x11) = 2; + *(uint *)(param_1 + 0x14) = uVar13; + *(int *)((longlong)param_1 + 0x8c) = (int)param_1[0x13]; + if (((uVar14 != 0) && (uVar13 < *(uint *)(param_1 + 0x15))) && + (*(int *)((longlong)param_1 + 0x94) - uVar14 <= *(int *)((longlong)param_1 + 0x44) - 0x106U)) + { + uVar13 = FUN_1400c2090((longlong)param_1,uVar14); + *(uint *)(param_1 + 0x11) = uVar13; + if ((uVar13 < 6) && + (((int)param_1[0x16] == 1 || + ((uVar13 == 3 && + (0x1000 < (uint)(*(int *)((longlong)param_1 + 0x94) - (int)param_1[0x13]))))))) { + *(undefined4 *)(param_1 + 0x11) = 2; + } + } + if ((*(uint *)(param_1 + 0x14) < 3) || (*(uint *)(param_1 + 0x14) < *(uint *)(param_1 + 0x11))) + { + if ((int)param_1[0x12] == 0) { + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) + 1; + *(int *)((longlong)param_1 + 0x9c) = *(int *)((longlong)param_1 + 0x9c) + -1; + *(undefined4 *)(param_1 + 0x12) = 1; + } + else { + bVar8 = *(byte *)((ulonglong)(*(int *)((longlong)param_1 + 0x94) - 1) + param_1[10]); + *(undefined2 *)(param_1[0x2df] + (ulonglong)*(uint *)((longlong)param_1 + 0x16f4) * 2) = 0; + *(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x16f4) + param_1[0x2dd]) = bVar8; + *(int *)((longlong)param_1 + 0x16f4) = *(int *)((longlong)param_1 + 0x16f4) + 1; + psVar3 = (short *)((longlong)param_1 + (ulonglong)bVar8 * 4 + 0xbc); + *psVar3 = *psVar3 + 1; + if (*(int *)((longlong)param_1 + 0x16f4) == (int)param_1[0x2de] + -1) { + uVar13 = *(uint *)((longlong)param_1 + 0x84); + puVar9 = puVar10; + if (-1 < (int)uVar13) { + puVar9 = (undefined1 *)((ulonglong)uVar13 + param_1[10]); + } + FUN_1400c6650(param_1,puVar9,*(int *)((longlong)param_1 + 0x94) - uVar13,0); + lVar7 = *param_1; + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + uVar13 = *(uint *)(*(longlong *)(lVar7 + 0x28) + 0x28); + if (*(uint *)(lVar7 + 0x18) < uVar13) { + uVar13 = *(uint *)(lVar7 + 0x18); + } + if (uVar13 != 0) { + memcpy(*(void **)(lVar7 + 0x10),*(void **)(*(longlong *)(lVar7 + 0x28) + 0x20), + (ulonglong)uVar13); + *(longlong *)(lVar7 + 0x10) = *(longlong *)(lVar7 + 0x10) + (ulonglong)uVar13; + plVar1 = (longlong *)(*(longlong *)(lVar7 + 0x28) + 0x20); + *plVar1 = *plVar1 + (ulonglong)uVar13; + *(int *)(lVar7 + 0x1c) = *(int *)(lVar7 + 0x1c) + uVar13; + *(int *)(lVar7 + 0x18) = *(int *)(lVar7 + 0x18) - uVar13; + piVar2 = (int *)(*(longlong *)(lVar7 + 0x28) + 0x28); + *piVar2 = *piVar2 - uVar13; + lVar7 = *(longlong *)(lVar7 + 0x28); + if (*(int *)(lVar7 + 0x28) == 0) { + *(undefined8 *)(lVar7 + 0x20) = *(undefined8 *)(lVar7 + 0x10); + } + } + } + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) + 1; + *(int *)((longlong)param_1 + 0x9c) = *(int *)((longlong)param_1 + 0x9c) + -1; + if (*(int *)(*param_1 + 0x18) == 0) { + return 0; + } + } + } + else { + iVar4 = *(int *)((longlong)param_1 + 0x94); + iVar5 = *(int *)((longlong)param_1 + 0x9c); + sVar11 = (short)iVar4 - *(short *)((longlong)param_1 + 0x8c); + bVar8 = (char)param_1[0x14] - 3; + *(short *)(param_1[0x2df] + (ulonglong)*(uint *)((longlong)param_1 + 0x16f4) * 2) = + sVar11 + -1; + *(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x16f4) + param_1[0x2dd]) = bVar8; + *(int *)((longlong)param_1 + 0x16f4) = *(int *)((longlong)param_1 + 0x16f4) + 1; + uVar12 = sVar11 - 2; + psVar3 = (short *)((longlong)param_1 + (ulonglong)(byte)(&DAT_140112070)[bVar8] * 4 + 0x4c0); + *psVar3 = *psVar3 + 1; + if (uVar12 < 0x100) { + bVar8 = (&DAT_140111e70)[uVar12]; + } + else { + bVar8 = (&DAT_140111f70)[uVar12 >> 7]; + } + psVar3 = (short *)((longlong)param_1 + (longlong)(int)(uint)bVar8 * 4 + 0x9b0); + *psVar3 = *psVar3 + 1; + lVar7 = param_1[0x2de]; + iVar6 = *(int *)((longlong)param_1 + 0x16f4); + *(int *)((longlong)param_1 + 0x9c) = + *(int *)((longlong)param_1 + 0x9c) + (1 - (int)param_1[0x14]); + *(int *)(param_1 + 0x14) = (int)param_1[0x14] + -2; + do { + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) + 1; + uVar13 = *(uint *)((longlong)param_1 + 0x94); + if (uVar13 <= (uint)(iVar4 + -3 + iVar5)) { + uVar14 = ((uint)*(byte *)((ulonglong)(uVar13 + 2) + param_1[10]) ^ + (int)param_1[0xe] << ((byte)(int)param_1[0x10] & 0x1f)) & + *(uint *)((longlong)param_1 + 0x7c); + *(uint *)(param_1 + 0xe) = uVar14; + *(undefined2 *) + (param_1[0xc] + (ulonglong)(*(uint *)((longlong)param_1 + 0x4c) & uVar13) * 2) = + *(undefined2 *)(param_1[0xd] + (ulonglong)uVar14 * 2); + *(undefined2 *)(param_1[0xd] + (ulonglong)*(uint *)(param_1 + 0xe) * 2) = + *(undefined2 *)((longlong)param_1 + 0x94); + } + plVar1 = param_1 + 0x14; + *(int *)plVar1 = (int)*plVar1 + -1; + } while ((int)*plVar1 != 0); + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) + 1; + *(undefined4 *)(param_1 + 0x12) = 0; + *(undefined4 *)(param_1 + 0x11) = 2; + if (iVar6 == (int)lVar7 + -1) { + uVar13 = *(uint *)((longlong)param_1 + 0x84); + puVar9 = puVar10; + if (-1 < (int)uVar13) { + puVar9 = (undefined1 *)((ulonglong)uVar13 + param_1[10]); + } + FUN_1400c6650(param_1,puVar9,*(int *)((longlong)param_1 + 0x94) - uVar13,0); + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + FUN_1400c1e90(*param_1); + if (*(int *)(*param_1 + 0x18) == 0) { + return 0; + } + } + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c2ff0.c b/decomp/Agent_Release_x64/full/functions/0x1400c2ff0.c new file mode 100644 index 00000000..429ca32d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c2ff0.c @@ -0,0 +1,145 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c2ff0 FUN_1400c2ff0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400c2ff0(longlong *param_1,int param_2) + +{ + longlong *plVar1; + int *piVar2; + longlong lVar3; + short *psVar4; + char cVar5; + uint uVar6; + longlong lVar7; + ulonglong uVar8; + ulonglong uVar9; + ulonglong uVar10; + byte bVar11; + undefined1 *puVar12; + undefined1 *puVar13; + uint uVar14; + bool bVar15; + + puVar13 = (undefined1 *)0x0; + do { + uVar14 = *(uint *)((longlong)param_1 + 0x9c); + if (uVar14 < 0x102) { + FUN_1400c2240(param_1); + uVar14 = *(uint *)((longlong)param_1 + 0x9c); + if ((uVar14 < 0x102) && (param_2 == 0)) { + return 0; + } + if (uVar14 == 0) { + uVar14 = *(uint *)((longlong)param_1 + 0x84); + if (-1 < (int)uVar14) { + puVar13 = (undefined1 *)((ulonglong)uVar14 + param_1[10]); + } + FUN_1400c6650(param_1,puVar13,*(int *)((longlong)param_1 + 0x94) - uVar14, + (uint)(param_2 == 4)); + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + FUN_1400c1e90(*param_1); + if (*(int *)(*param_1 + 0x18) != 0) { + if (param_2 == 4) { + return 3; + } + return 1; + } + if (param_2 == 4) { + return 2; + } + return 0; + } + } + *(undefined4 *)(param_1 + 0x11) = 0; + if (2 < uVar14) { + uVar6 = *(uint *)((longlong)param_1 + 0x94); + uVar8 = (ulonglong)uVar6; + if (uVar6 != 0) { + lVar7 = param_1[10]; + cVar5 = *(char *)(lVar7 + -1 + uVar8); + lVar3 = lVar7 + -1 + uVar8; + if (((cVar5 == *(char *)(lVar7 + uVar8)) && (cVar5 == *(char *)(lVar3 + 2))) && + (cVar5 == *(char *)(lVar3 + 3))) { + uVar8 = lVar7 + 0x102 + (ulonglong)uVar6; + uVar9 = lVar3 + 3; + while ((((uVar10 = uVar9 + 1, cVar5 == *(char *)(uVar9 + 1) && + (uVar10 = uVar9 + 2, cVar5 == *(char *)(uVar9 + 2))) && + ((uVar10 = uVar9 + 3, cVar5 == *(char *)(uVar9 + 3) && + ((uVar10 = uVar9 + 4, cVar5 == *(char *)(uVar9 + 4) && + (uVar10 = uVar9 + 5, cVar5 == *(char *)(uVar9 + 5))))))) && + (uVar10 = uVar9 + 6, cVar5 == *(char *)(uVar9 + 6)))) { + uVar10 = uVar9 + 7; + if (((cVar5 != *(char *)(uVar9 + 7)) || + (uVar10 = uVar9 + 8, cVar5 != *(char *)(uVar9 + 8))) || + (uVar9 = uVar10, uVar8 <= uVar10)) break; + } + uVar6 = ((int)uVar10 - (int)uVar8) + 0x102; + *(uint *)(param_1 + 0x11) = uVar6; + if (uVar14 < uVar6) { + *(uint *)(param_1 + 0x11) = uVar14; + } + } + } + } + if (*(uint *)(param_1 + 0x11) < 3) { + bVar11 = *(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x94) + param_1[10]); + *(undefined2 *)(param_1[0x2df] + (ulonglong)*(uint *)((longlong)param_1 + 0x16f4) * 2) = 0; + *(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x16f4) + param_1[0x2dd]) = bVar11; + *(int *)((longlong)param_1 + 0x16f4) = *(int *)((longlong)param_1 + 0x16f4) + 1; + psVar4 = (short *)((longlong)param_1 + (ulonglong)bVar11 * 4 + 0xbc); + *psVar4 = *psVar4 + 1; + bVar15 = *(int *)((longlong)param_1 + 0x16f4) == (int)param_1[0x2de] + -1; + *(int *)((longlong)param_1 + 0x9c) = *(int *)((longlong)param_1 + 0x9c) + -1; + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) + 1; + } + else { + lVar3 = param_1[0x11]; + *(undefined2 *)(param_1[0x2df] + (ulonglong)*(uint *)((longlong)param_1 + 0x16f4) * 2) = 1; + bVar11 = (char)lVar3 - 3; + *(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x16f4) + param_1[0x2dd]) = bVar11; + *(int *)((longlong)param_1 + 0x16f4) = *(int *)((longlong)param_1 + 0x16f4) + 1; + psVar4 = (short *)((longlong)param_1 + (ulonglong)(byte)(&DAT_140112070)[bVar11] * 4 + 0x4c0); + *psVar4 = *psVar4 + 1; + *(short *)(param_1 + 0x136) = (short)param_1[0x136] + 1; + bVar15 = *(int *)((longlong)param_1 + 0x16f4) == (int)param_1[0x2de] + -1; + lVar3 = param_1[0x11]; + *(undefined4 *)(param_1 + 0x11) = 0; + *(int *)((longlong)param_1 + 0x9c) = *(int *)((longlong)param_1 + 0x9c) - (int)lVar3; + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) + (int)lVar3; + } + if (bVar15) { + uVar14 = *(uint *)((longlong)param_1 + 0x84); + puVar12 = puVar13; + if (-1 < (int)uVar14) { + puVar12 = (undefined1 *)((ulonglong)uVar14 + param_1[10]); + } + FUN_1400c6650(param_1,puVar12,*(int *)((longlong)param_1 + 0x94) - uVar14,0); + lVar3 = *param_1; + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + uVar14 = *(uint *)(*(longlong *)(lVar3 + 0x28) + 0x28); + if (*(uint *)(lVar3 + 0x18) < uVar14) { + uVar14 = *(uint *)(lVar3 + 0x18); + } + if (uVar14 != 0) { + memcpy(*(void **)(lVar3 + 0x10),*(void **)(*(longlong *)(lVar3 + 0x28) + 0x20), + (ulonglong)uVar14); + *(longlong *)(lVar3 + 0x10) = *(longlong *)(lVar3 + 0x10) + (ulonglong)uVar14; + plVar1 = (longlong *)(*(longlong *)(lVar3 + 0x28) + 0x20); + *plVar1 = *plVar1 + (ulonglong)uVar14; + *(int *)(lVar3 + 0x1c) = *(int *)(lVar3 + 0x1c) + uVar14; + *(int *)(lVar3 + 0x18) = *(int *)(lVar3 + 0x18) - uVar14; + piVar2 = (int *)(*(longlong *)(lVar3 + 0x28) + 0x28); + *piVar2 = *piVar2 - uVar14; + lVar3 = *(longlong *)(lVar3 + 0x28); + if (*(int *)(lVar3 + 0x28) == 0) { + *(undefined8 *)(lVar3 + 0x20) = *(undefined8 *)(lVar3 + 0x10); + } + } + if (*(int *)(*param_1 + 0x18) == 0) { + return 0; + } + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c3370.c b/decomp/Agent_Release_x64/full/functions/0x1400c3370.c new file mode 100644 index 00000000..69f4b252 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c3370.c @@ -0,0 +1,83 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c3370 FUN_1400c3370 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c3370(longlong *param_1,int param_2) + +{ + longlong *plVar1; + int *piVar2; + short *psVar3; + byte bVar4; + longlong lVar5; + undefined1 *puVar6; + undefined1 *puVar7; + uint uVar8; + + puVar7 = (undefined1 *)0x0; + while ((*(int *)((longlong)param_1 + 0x9c) != 0 || + (FUN_1400c2240(param_1), *(int *)((longlong)param_1 + 0x9c) != 0))) { + *(undefined4 *)(param_1 + 0x11) = 0; + bVar4 = *(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x94) + param_1[10]); + *(undefined2 *)(param_1[0x2df] + (ulonglong)*(uint *)((longlong)param_1 + 0x16f4) * 2) = 0; + *(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x16f4) + param_1[0x2dd]) = bVar4; + *(int *)((longlong)param_1 + 0x16f4) = *(int *)((longlong)param_1 + 0x16f4) + 1; + psVar3 = (short *)((longlong)param_1 + (ulonglong)bVar4 * 4 + 0xbc); + *psVar3 = *psVar3 + 1; + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) + 1; + *(int *)((longlong)param_1 + 0x9c) = *(int *)((longlong)param_1 + 0x9c) + -1; + if (*(int *)((longlong)param_1 + 0x16f4) == (int)param_1[0x2de] + -1) { + uVar8 = *(uint *)((longlong)param_1 + 0x84); + puVar6 = puVar7; + if (-1 < (int)uVar8) { + puVar6 = (undefined1 *)((ulonglong)uVar8 + param_1[10]); + } + FUN_1400c6650(param_1,puVar6,*(int *)((longlong)param_1 + 0x94) - uVar8,0); + lVar5 = *param_1; + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + uVar8 = *(uint *)(*(longlong *)(lVar5 + 0x28) + 0x28); + if (*(uint *)(lVar5 + 0x18) < uVar8) { + uVar8 = *(uint *)(lVar5 + 0x18); + } + if (uVar8 != 0) { + memcpy(*(void **)(lVar5 + 0x10),*(void **)(*(longlong *)(lVar5 + 0x28) + 0x20), + (ulonglong)uVar8); + *(longlong *)(lVar5 + 0x10) = *(longlong *)(lVar5 + 0x10) + (ulonglong)uVar8; + plVar1 = (longlong *)(*(longlong *)(lVar5 + 0x28) + 0x20); + *plVar1 = *plVar1 + (ulonglong)uVar8; + *(int *)(lVar5 + 0x1c) = *(int *)(lVar5 + 0x1c) + uVar8; + *(int *)(lVar5 + 0x18) = *(int *)(lVar5 + 0x18) - uVar8; + piVar2 = (int *)(*(longlong *)(lVar5 + 0x28) + 0x28); + *piVar2 = *piVar2 - uVar8; + lVar5 = *(longlong *)(lVar5 + 0x28); + if (*(int *)(lVar5 + 0x28) == 0) { + *(undefined8 *)(lVar5 + 0x20) = *(undefined8 *)(lVar5 + 0x10); + } + } + if (*(int *)(*param_1 + 0x18) == 0) { + return 0; + } + } + } + if (param_2 == 0) { + return 0; + } + uVar8 = *(uint *)((longlong)param_1 + 0x84); + if (-1 < (int)uVar8) { + puVar7 = (undefined1 *)((ulonglong)uVar8 + param_1[10]); + } + FUN_1400c6650(param_1,puVar7,*(int *)((longlong)param_1 + 0x94) - uVar8,(uint)(param_2 == 4)); + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + FUN_1400c1e90(*param_1); + if (*(int *)(*param_1 + 0x18) != 0) { + if (param_2 == 4) { + return 3; + } + return 1; + } + if (param_2 == 4) { + return 2; + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c3550.c b/decomp/Agent_Release_x64/full/functions/0x1400c3550.c new file mode 100644 index 00000000..b02177f3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c3550.c @@ -0,0 +1,58 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c3550 FUN_1400c3550 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c3550(longlong param_1) + +{ + ushort uVar1; + longlong lVar2; + undefined4 uVar3; + uint uVar4; + longlong lVar5; + + if ((((param_1 != 0) && (lVar2 = *(longlong *)(param_1 + 0x28), lVar2 != 0)) && + (*(longlong *)(param_1 + 0x30) != 0)) && (*(longlong *)(param_1 + 0x38) != 0)) { + *(undefined4 *)(param_1 + 0x48) = 2; + *(undefined4 *)(param_1 + 0x1c) = 0; + *(undefined4 *)(param_1 + 0xc) = 0; + *(undefined8 *)(param_1 + 0x20) = 0; + *(undefined4 *)(lVar2 + 0x28) = 0; + *(undefined8 *)(lVar2 + 0x20) = *(undefined8 *)(lVar2 + 0x10); + if (*(int *)(lVar2 + 0x2c) < 0) { + *(int *)(lVar2 + 0x2c) = -*(int *)(lVar2 + 0x2c); + } + uVar3 = 0x71; + if (*(int *)(lVar2 + 0x2c) != 0) { + uVar3 = 0x2a; + } + *(undefined4 *)(lVar2 + 8) = uVar3; + if (*(int *)(lVar2 + 0x2c) == 2) { + uVar4 = FUN_1400ba3f0(0,(uint *)0x0,0); + } + else { + uVar4 = 1; + } + *(uint *)(param_1 + 0x4c) = uVar4; + *(undefined4 *)(lVar2 + 0x40) = 0; + FUN_1400c5f90(lVar2); + *(int *)(lVar2 + 0x58) = *(int *)(lVar2 + 0x44) * 2; + *(undefined2 *)(*(longlong *)(lVar2 + 0x68) + (ulonglong)(*(int *)(lVar2 + 0x74) - 1) * 2) = 0; + memset(*(void **)(lVar2 + 0x68),0,(ulonglong)(*(int *)(lVar2 + 0x74) - 1) * 2); + lVar5 = (longlong)*(int *)(lVar2 + 0xac); + *(uint *)(lVar2 + 0xa8) = (uint)*(ushort *)(&DAT_140110dd2 + lVar5 * 0x10); + *(uint *)(lVar2 + 0xb4) = (uint)*(ushort *)(&DAT_140110dd0 + lVar5 * 0x10); + *(uint *)(lVar2 + 0xb8) = (uint)*(ushort *)(&DAT_140110dd4 + lVar5 * 0x10); + uVar1 = *(ushort *)(&DAT_140110dd6 + lVar5 * 0x10); + *(undefined4 *)(lVar2 + 0x84) = 0; + *(undefined4 *)(lVar2 + 0x9c) = 0; + *(undefined8 *)(lVar2 + 0x90) = 0; + *(undefined4 *)(lVar2 + 0x70) = 0; + *(uint *)(lVar2 + 0xa4) = (uint)uVar1; + *(undefined4 *)(lVar2 + 0xa0) = 2; + *(undefined4 *)(lVar2 + 0x88) = 2; + return 0; + } + return 0xfffffffe; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c36c0.c b/decomp/Agent_Release_x64/full/functions/0x1400c36c0.c new file mode 100644 index 00000000..e5d07590 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c36c0.c @@ -0,0 +1,395 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c36c0 FUN_1400c36c0 + * Pseudocode, not original source. */ + +uint FUN_1400c36c0(longlong *param_1,uint param_2) + +{ + char cVar1; + undefined2 uVar2; + int iVar3; + longlong *plVar4; + int *piVar5; + bool bVar6; + longlong lVar7; + uint uVar8; + int iVar9; + undefined8 uVar10; + uint uVar11; + undefined1 uVar12; + ulonglong uVar13; + ulonglong uVar14; + + if (((param_1 == (longlong *)0x0) || (plVar4 = (longlong *)param_1[5], plVar4 == (longlong *)0x0)) + || (5 < param_2)) { + return 0xfffffffe; + } + if (((param_1[2] == 0) || ((*param_1 == 0 && ((int)param_1[1] != 0)))) || + (((int)plVar4[1] == 0x29a && (param_2 != 4)))) { + param_1[4] = (longlong)"stream error"; + return 0xfffffffe; + } + if ((int)param_1[3] == 0) { + param_1[4] = (longlong)"buffer error"; + return 0xfffffffb; + } + lVar7 = plVar4[8]; + *(uint *)(plVar4 + 8) = param_2; + *plVar4 = (longlong)param_1; + iVar9 = 0; + if ((int)plVar4[1] == 0x2a) { + if (*(int *)((longlong)plVar4 + 0x2c) == 2) { + uVar8 = FUN_1400ba3f0(0,(uint *)0x0,0); + *(uint *)((longlong)param_1 + 0x4c) = uVar8; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = 0x1f; + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = 0x8b; + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = 8; + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + piVar5 = (int *)plVar4[6]; + uVar12 = 0; + if (piVar5 == (int *)0x0) { + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = 0; + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = 0; + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = 0; + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = 0; + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = 0; + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + if (*(int *)((longlong)plVar4 + 0xac) == 9) { + uVar12 = 2; + } + else if ((1 < (int)plVar4[0x16]) || (*(int *)((longlong)plVar4 + 0xac) < 2)) { + uVar12 = 4; + } + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = uVar12; + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = 0xb; + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined4 *)(plVar4 + 1) = 0x71; + } + else { + *(byte *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = + (-(*(longlong *)(piVar5 + 0xc) != 0) & 0x10U) + (-(piVar5[0xf] != 0) & 2U) + + (-(*(longlong *)(piVar5 + 8) != 0) & 8U) + (-(*(longlong *)(piVar5 + 4) != 0) & 4U) + + (*piVar5 != 0); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = + *(undefined1 *)(plVar4[6] + 4); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = + *(undefined1 *)(plVar4[6] + 5); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = + *(undefined1 *)(plVar4[6] + 6); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = + *(undefined1 *)(plVar4[6] + 7); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + if (*(int *)((longlong)plVar4 + 0xac) == 9) { + uVar12 = 2; + } + else if ((1 < (int)plVar4[0x16]) || (*(int *)((longlong)plVar4 + 0xac) < 2)) { + uVar12 = 4; + } + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = uVar12; + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = + *(undefined1 *)(plVar4[6] + 0xc); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + uVar8 = *(uint *)(plVar4 + 5); + if (*(longlong *)(plVar4[6] + 0x10) != 0) { + *(undefined1 *)((ulonglong)uVar8 + plVar4[2]) = *(undefined1 *)(plVar4[6] + 0x18); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = + *(undefined1 *)(plVar4[6] + 0x19); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + uVar8 = *(uint *)(plVar4 + 5); + } + if (*(int *)(plVar4[6] + 0x3c) != 0) { + uVar8 = FUN_1400ba3f0(*(uint *)((longlong)param_1 + 0x4c),(uint *)plVar4[2],uVar8); + *(uint *)((longlong)param_1 + 0x4c) = uVar8; + } + *(undefined4 *)(plVar4 + 7) = 0; + *(undefined4 *)(plVar4 + 1) = 0x45; + } + } + else { + if (((int)plVar4[0x16] < 2) && (iVar3 = *(int *)((longlong)plVar4 + 0xac), 1 < iVar3)) { + if (iVar3 < 6) { + iVar9 = 1; + } + else { + iVar9 = (iVar3 != 6) + 2; + } + } + uVar8 = ((int)plVar4[9] + -8) * 0x1000 + 0x800U | iVar9 << 6; + if (*(int *)((longlong)plVar4 + 0x94) != 0) { + uVar8 = uVar8 | 0x20; + } + *(undefined4 *)(plVar4 + 1) = 0x71; + iVar9 = (uVar8 / 0x1f + 1) * 0x1f; + *(char *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = (char)((uint)iVar9 >> 8); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(char *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = (char)iVar9; + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + if (*(int *)((longlong)plVar4 + 0x94) != 0) { + uVar2 = *(undefined2 *)((longlong)param_1 + 0x4e); + *(char *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = (char)((ushort)uVar2 >> 8); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(char *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = (char)uVar2; + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + uVar2 = *(undefined2 *)((longlong)param_1 + 0x4c); + *(char *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = (char)((ushort)uVar2 >> 8); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(char *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = (char)uVar2; + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + } + *(undefined4 *)((longlong)param_1 + 0x4c) = 1; + } + } + if ((int)plVar4[1] == 0x45) { + if (*(longlong *)(plVar4[6] + 0x10) != 0) { + uVar8 = *(uint *)(plVar4 + 5); + if (*(uint *)(plVar4 + 7) < (uint)*(ushort *)(plVar4[6] + 0x18)) { + do { + uVar11 = *(uint *)(plVar4 + 5); + if (uVar11 == *(uint *)(plVar4 + 3)) { + if ((*(int *)(plVar4[6] + 0x3c) != 0) && (uVar8 < uVar11)) { + uVar8 = FUN_1400ba3f0(*(uint *)((longlong)param_1 + 0x4c), + (uint *)((ulonglong)uVar8 + plVar4[2]),uVar11 - uVar8); + *(uint *)((longlong)param_1 + 0x4c) = uVar8; + } + FUN_1400c1e90((longlong)param_1); + uVar8 = *(uint *)(plVar4 + 5); + uVar11 = uVar8; + if (uVar8 == *(uint *)(plVar4 + 3)) break; + } + *(undefined1 *)((ulonglong)uVar11 + plVar4[2]) = + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 7) + *(longlong *)(plVar4[6] + 0x10)); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(int *)(plVar4 + 7) = (int)plVar4[7] + 1; + } while (*(uint *)(plVar4 + 7) < (uint)*(ushort *)(plVar4[6] + 0x18)); + } + if ((*(int *)(plVar4[6] + 0x3c) != 0) && (uVar8 < *(uint *)(plVar4 + 5))) { + uVar8 = FUN_1400ba3f0(*(uint *)((longlong)param_1 + 0x4c), + (uint *)((ulonglong)uVar8 + plVar4[2]),*(uint *)(plVar4 + 5) - uVar8); + *(uint *)((longlong)param_1 + 0x4c) = uVar8; + } + if ((int)plVar4[7] != *(int *)(plVar4[6] + 0x18)) goto LAB_1400c3b50; + *(undefined4 *)(plVar4 + 7) = 0; + } + *(undefined4 *)(plVar4 + 1) = 0x49; + } +LAB_1400c3b50: + if ((int)plVar4[1] == 0x49) { + if (*(longlong *)(plVar4[6] + 0x20) != 0) { + uVar13 = (ulonglong)*(uint *)(plVar4 + 5); + do { + uVar8 = *(uint *)(plVar4 + 5); + uVar14 = (ulonglong)uVar8; + if (uVar8 == *(uint *)(plVar4 + 3)) { + if ((*(int *)(plVar4[6] + 0x3c) != 0) && ((uint)uVar13 < uVar8)) { + uVar8 = FUN_1400ba3f0(*(uint *)((longlong)param_1 + 0x4c),(uint *)(uVar13 + plVar4[2]), + uVar8 - (uint)uVar13); + *(uint *)((longlong)param_1 + 0x4c) = uVar8; + } + FUN_1400c1e90((longlong)param_1); + uVar13 = (ulonglong)*(uint *)(plVar4 + 5); + uVar14 = uVar13; + if (*(uint *)(plVar4 + 5) == *(uint *)(plVar4 + 3)) { + bVar6 = true; + goto LAB_1400c3be0; + } + } + cVar1 = *(char *)(*(longlong *)(plVar4[6] + 0x20) + (ulonglong)*(uint *)(plVar4 + 7)); + *(uint *)(plVar4 + 7) = *(uint *)(plVar4 + 7) + 1; + *(char *)(uVar14 + plVar4[2]) = cVar1; + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + } while (cVar1 != '\0'); + bVar6 = false; +LAB_1400c3be0: + if (*(int *)(plVar4[6] + 0x3c) != 0) { + if ((uint)uVar13 < *(uint *)(plVar4 + 5)) { + uVar8 = FUN_1400ba3f0(*(uint *)((longlong)param_1 + 0x4c),(uint *)(uVar13 + plVar4[2]), + *(uint *)(plVar4 + 5) - (uint)uVar13); + *(uint *)((longlong)param_1 + 0x4c) = uVar8; + } + } + if (bVar6) goto LAB_1400c3c14; + *(undefined4 *)(plVar4 + 7) = 0; + } + *(undefined4 *)(plVar4 + 1) = 0x5b; + } +LAB_1400c3c14: + if ((int)plVar4[1] == 0x5b) { + if (*(longlong *)(plVar4[6] + 0x30) != 0) { + uVar13 = (ulonglong)*(uint *)(plVar4 + 5); + do { + uVar8 = *(uint *)(plVar4 + 5); + uVar14 = (ulonglong)uVar8; + if (uVar8 == *(uint *)(plVar4 + 3)) { + if ((*(int *)(plVar4[6] + 0x3c) != 0) && ((uint)uVar13 < uVar8)) { + uVar8 = FUN_1400ba3f0(*(uint *)((longlong)param_1 + 0x4c),(uint *)(uVar13 + plVar4[2]), + uVar8 - (uint)uVar13); + *(uint *)((longlong)param_1 + 0x4c) = uVar8; + } + FUN_1400c1e90((longlong)param_1); + uVar13 = (ulonglong)*(uint *)(plVar4 + 5); + uVar14 = uVar13; + if (*(uint *)(plVar4 + 5) == *(uint *)(plVar4 + 3)) { + bVar6 = true; + goto LAB_1400c3ca0; + } + } + cVar1 = *(char *)(*(longlong *)(plVar4[6] + 0x30) + (ulonglong)*(uint *)(plVar4 + 7)); + *(uint *)(plVar4 + 7) = *(uint *)(plVar4 + 7) + 1; + *(char *)(uVar14 + plVar4[2]) = cVar1; + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + } while (cVar1 != '\0'); + bVar6 = false; +LAB_1400c3ca0: + if (*(int *)(plVar4[6] + 0x3c) != 0) { + if ((uint)uVar13 < *(uint *)(plVar4 + 5)) { + uVar8 = FUN_1400ba3f0(*(uint *)((longlong)param_1 + 0x4c),(uint *)(uVar13 + plVar4[2]), + *(uint *)(plVar4 + 5) - (uint)uVar13); + *(uint *)((longlong)param_1 + 0x4c) = uVar8; + } + } + if (bVar6) goto LAB_1400c3cd0; + } + *(undefined4 *)(plVar4 + 1) = 0x67; + } +LAB_1400c3cd0: + if ((int)plVar4[1] == 0x67) { + if (*(int *)(plVar4[6] + 0x3c) != 0) { + if (*(uint *)(plVar4 + 3) < (int)plVar4[5] + 2U) { + FUN_1400c1e90((longlong)param_1); + } + if (*(uint *)(plVar4 + 3) < *(uint *)(plVar4 + 5) + 2) goto LAB_1400c3d3a; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = + *(undefined1 *)((longlong)param_1 + 0x4c); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = + *(undefined1 *)((longlong)param_1 + 0x4d); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + uVar8 = FUN_1400ba3f0(0,(uint *)0x0,0); + *(uint *)((longlong)param_1 + 0x4c) = uVar8; + } + *(undefined4 *)(plVar4 + 1) = 0x71; + } +LAB_1400c3d3a: + if ((int)plVar4[5] == 0) { + if ((((int)param_1[1] == 0) && ((int)param_2 <= (int)lVar7)) && (param_2 != 4)) + goto LAB_1400c3d89; +LAB_1400c3d79: + if ((int)plVar4[1] == 0x29a) { + if ((int)param_1[1] != 0) { +LAB_1400c3d89: + param_1[4] = (longlong)"buffer error"; + return 0xfffffffb; + } +LAB_1400c3da1: + if ((*(int *)((longlong)plVar4 + 0x9c) != 0) || ((param_2 != 0 && ((int)plVar4[1] != 0x29a)))) + goto LAB_1400c3dbd; + } + else { + if ((int)param_1[1] == 0) goto LAB_1400c3da1; +LAB_1400c3dbd: + if ((int)plVar4[0x16] == 2) { + uVar10 = FUN_1400c3370(plVar4,param_2); + iVar9 = (int)uVar10; + } + else if ((int)plVar4[0x16] == 3) { + iVar9 = FUN_1400c2ff0(plVar4,param_2); + } + else { + iVar9 = (*(code *)(&PTR_FUN_140110dd8)[(longlong)*(int *)((longlong)plVar4 + 0xac) * 2])(); + } + if ((iVar9 == 2) || (iVar9 == 3)) { + *(undefined4 *)(plVar4 + 1) = 0x29a; + } + if ((iVar9 == 0) || (iVar9 == 2)) { + if ((int)param_1[3] != 0) { + return 0; + } + goto LAB_1400c3d4e; + } + if (iVar9 == 1) { + if (param_2 == 1) { + FUN_1400c6430((longlong)plVar4); + } + else if ((param_2 != 5) && + (FUN_1400c6390((longlong)plVar4,(undefined1 *)0x0,0,0), param_2 == 3)) { + *(undefined2 *)(plVar4[0xd] + (ulonglong)(*(int *)((longlong)plVar4 + 0x74) - 1) * 2) = 0; + memset((void *)plVar4[0xd],0,(ulonglong)(*(int *)((longlong)plVar4 + 0x74) - 1) * 2); + if (*(int *)((longlong)plVar4 + 0x9c) == 0) { + *(undefined4 *)((longlong)plVar4 + 0x94) = 0; + *(undefined4 *)((longlong)plVar4 + 0x84) = 0; + } + } + FUN_1400c1e90((longlong)param_1); + if ((int)param_1[3] == 0) goto LAB_1400c3d4e; + } + } + if (param_2 == 4) { + if (0 < *(int *)((longlong)plVar4 + 0x2c)) { + if (*(int *)((longlong)plVar4 + 0x2c) == 2) { + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = + *(undefined1 *)((longlong)param_1 + 0x4c); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = + *(undefined1 *)((longlong)param_1 + 0x4d); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = + *(undefined1 *)((longlong)param_1 + 0x4e); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = + *(undefined1 *)((longlong)param_1 + 0x4f); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = + *(undefined1 *)((longlong)param_1 + 0xc); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = + *(undefined1 *)((longlong)param_1 + 0xd); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = + *(undefined1 *)((longlong)param_1 + 0xe); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = + *(undefined1 *)((longlong)param_1 + 0xf); + } + else { + uVar2 = *(undefined2 *)((longlong)param_1 + 0x4e); + *(char *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = (char)((ushort)uVar2 >> 8); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(char *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = (char)uVar2; + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + uVar2 = *(undefined2 *)((longlong)param_1 + 0x4c); + *(char *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = (char)((ushort)uVar2 >> 8); + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + *(char *)((ulonglong)*(uint *)(plVar4 + 5) + plVar4[2]) = (char)uVar2; + } + *(int *)(plVar4 + 5) = (int)plVar4[5] + 1; + FUN_1400c1e90((longlong)param_1); + if (0 < *(int *)((longlong)plVar4 + 0x2c)) { + *(int *)((longlong)plVar4 + 0x2c) = -*(int *)((longlong)plVar4 + 0x2c); + } + return (uint)((int)plVar4[5] == 0); + } + return 1; + } + } + else { + FUN_1400c1e90((longlong)param_1); + if ((int)param_1[3] != 0) goto LAB_1400c3d79; +LAB_1400c3d4e: + *(undefined4 *)(plVar4 + 8) = 0xffffffff; + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c3fe0.c b/decomp/Agent_Release_x64/full/functions/0x1400c3fe0.c new file mode 100644 index 00000000..6753faa2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c3fe0.c @@ -0,0 +1,104 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c3fe0 FUN_1400c3fe0 + * Pseudocode, not original source. */ + +undefined8 +FUN_1400c3fe0(longlong param_1,uint param_2,int param_3,int param_4,int param_5,uint param_6, + char *param_7,int param_8) + +{ + uint uVar1; + int iVar2; + code *pcVar3; + longlong *plVar4; + longlong lVar5; + undefined8 uVar6; + int iVar7; + undefined4 uVar8; + + uVar8 = 1; + if (((param_7 == (char *)0x0) || (*param_7 != '1')) || (param_8 != 0x58)) { + return 0xfffffffa; + } + if (param_1 == 0) { + return 0xfffffffe; + } + *(undefined8 *)(param_1 + 0x20) = 0; + if (*(longlong *)(param_1 + 0x30) == 0) { + *(undefined8 *)(param_1 + 0x40) = 0; + *(code **)(param_1 + 0x30) = FUN_1400c42b0; + } + pcVar3 = *(code **)(param_1 + 0x38); + if (pcVar3 == (code *)0x0) { + pcVar3 = FUN_1400c42c0; + } + *(code **)(param_1 + 0x38) = pcVar3; + if (param_2 == 0xffffffff) { + param_2 = 6; + } + if (param_4 < 0) { + param_4 = -param_4; + uVar8 = 0; + } + else if (0xf < param_4) { + uVar8 = 2; + param_4 = param_4 + -0x10; + } + if (((param_5 - 1U < 9) && (param_3 == 8)) && + ((param_4 - 8U < 8 && ((param_2 < 10 && (param_6 < 5)))))) { + if (param_4 == 8) { + param_4 = 9; + } + plVar4 = (longlong *)(**(code **)(param_1 + 0x30))(*(undefined8 *)(param_1 + 0x40),1,0x1720); + if (plVar4 != (longlong *)0x0) { + *(longlong **)(param_1 + 0x28) = plVar4; + *(undefined4 *)((longlong)plVar4 + 0x2c) = uVar8; + *plVar4 = param_1; + *(int *)(plVar4 + 9) = param_4; + plVar4[6] = 0; + iVar7 = 1 << ((byte)param_4 & 0x1f); + *(int *)((longlong)plVar4 + 0x44) = iVar7; + *(int *)(plVar4 + 0xf) = param_5 + 7; + *(int *)((longlong)plVar4 + 0x4c) = iVar7 + -1; + iVar2 = 1 << ((byte)(param_5 + 7) & 0x1f); + *(int *)((longlong)plVar4 + 0x74) = iVar2; + *(int *)((longlong)plVar4 + 0x7c) = iVar2 + -1; + *(uint *)(plVar4 + 0x10) = (param_5 + 9U) / 3; + lVar5 = (**(code **)(param_1 + 0x30))(*(undefined8 *)(param_1 + 0x40),iVar7,2); + plVar4[10] = lVar5; + lVar5 = (**(code **)(param_1 + 0x30)) + (*(undefined8 *)(param_1 + 0x40),*(undefined4 *)((longlong)plVar4 + 0x44),2) + ; + plVar4[0xc] = lVar5; + lVar5 = (**(code **)(param_1 + 0x30)) + (*(undefined8 *)(param_1 + 0x40),*(undefined4 *)((longlong)plVar4 + 0x74),2) + ; + *(undefined4 *)(plVar4 + 0x2e3) = 0; + iVar2 = 1 << ((char)param_5 + 6U & 0x1f); + plVar4[0xd] = lVar5; + *(int *)(plVar4 + 0x2de) = iVar2; + lVar5 = (**(code **)(param_1 + 0x30))(*(undefined8 *)(param_1 + 0x40),iVar2,4); + plVar4[2] = lVar5; + uVar1 = *(uint *)(plVar4 + 0x2de); + *(uint *)(plVar4 + 3) = uVar1 * 4; + if ((((plVar4[10] != 0) && (plVar4[0xc] != 0)) && (plVar4[0xd] != 0)) && (lVar5 != 0)) { + *(uint *)((longlong)plVar4 + 0xac) = param_2; + *(uint *)(plVar4 + 0x16) = param_6; + *(undefined1 *)((longlong)plVar4 + 0x3c) = 8; + plVar4[0x2df] = lVar5 + (ulonglong)(uVar1 >> 1) * 2; + plVar4[0x2dd] = lVar5 + (ulonglong)uVar1 * 3; + uVar6 = FUN_1400c3550(param_1); + return uVar6; + } + *(undefined4 *)(plVar4 + 1) = 0x29a; + *(char **)(param_1 + 0x20) = "insufficient memory"; + FUN_1400c1f10(param_1); + } + uVar6 = 0xfffffffc; + } + else { + uVar6 = 0xfffffffe; + } + return uVar6; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c4270.c b/decomp/Agent_Release_x64/full/functions/0x1400c4270.c new file mode 100644 index 00000000..103e071e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c4270.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c4270 FUN_1400c4270 + * Pseudocode, not original source. */ + +void FUN_1400c4270(longlong param_1,uint param_2,char *param_3,int param_4) + +{ + FUN_1400c3fe0(param_1,param_2,8,0xf,8,0,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c42b0.c b/decomp/Agent_Release_x64/full/functions/0x1400c42b0.c new file mode 100644 index 00000000..bcc81750 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c42b0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c42b0 FUN_1400c42b0 + * Pseudocode, not original source. */ + +void FUN_1400c42b0(undefined8 param_1,int param_2,int param_3) + +{ + /* WARNING: Could not recover jumptable at 0x0001400c42b6. Too many branches */ + /* WARNING: Treating indirect jump as call */ + malloc((ulonglong)(uint)(param_2 * param_3)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c42c0.c b/decomp/Agent_Release_x64/full/functions/0x1400c42c0.c new file mode 100644 index 00000000..acdcb8f9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c42c0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c42c0 FUN_1400c42c0 + * Pseudocode, not original source. */ + +void FUN_1400c42c0(undefined8 param_1,void *param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400c42c3. Too many branches */ + /* WARNING: Treating indirect jump as call */ + free(param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c42d0.c b/decomp/Agent_Release_x64/full/functions/0x1400c42d0.c new file mode 100644 index 00000000..987b1eab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c42d0.c @@ -0,0 +1,274 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c42d0 FUN_1400c42d0 + * Pseudocode, not original source. */ + +void FUN_1400c42d0(longlong *param_1,int param_2) + +{ + longlong lVar1; + uint uVar2; + undefined4 uVar3; + uint uVar4; + undefined4 uVar5; + undefined4 *puVar6; + longlong lVar7; + longlong lVar8; + longlong lVar9; + uint uVar10; + ulonglong uVar11; + uint uVar12; + uint uVar13; + uint uVar14; + byte *pbVar15; + byte *pbVar16; + longlong lVar17; + undefined1 *puVar18; + undefined1 *puVar19; + undefined1 *puVar20; + undefined1 *puVar21; + undefined1 *puVar22; + char cVar23; + uint uVar24; + uint uVar25; + int iVar26; + byte *pbVar27; + int local_60; + + puVar6 = (undefined4 *)param_1[5]; + lVar9 = param_1[3]; + lVar17 = *(longlong *)(puVar6 + 0x16); + lVar7 = *(longlong *)(puVar6 + 0x18); + uVar2 = puVar6[0xd]; + uVar14 = puVar6[0x10]; + uVar25 = puVar6[0x11]; + puVar18 = (undefined1 *)(param_1[2] + -1); + uVar3 = puVar6[0x1a]; + pbVar15 = (byte *)(*param_1 + -1); + local_60 = (int)puVar18 - (param_2 - (int)lVar9); + iVar26 = puVar6[0xb]; + uVar4 = puVar6[0xc]; + lVar8 = *(longlong *)(puVar6 + 0xe); + pbVar27 = pbVar15 + ((int)param_1[1] - 5); + uVar5 = puVar6[0x1b]; + puVar20 = puVar18; +LAB_1400c4380: + if (uVar25 < 0xf) { + pbVar16 = pbVar15 + 1; + pbVar15 = pbVar15 + 2; + uVar14 = uVar14 + ((uint)*pbVar16 << ((byte)uVar25 & 0x1f)) + + ((uint)*pbVar15 << ((byte)uVar25 + 8 & 0x1f)); + uVar25 = uVar25 + 0x10; + } + uVar12 = *(uint *)(lVar17 + (ulonglong)(uVar14 & (1 << ((byte)uVar3 & 0x1f)) - 1U) * 4); + uVar14 = uVar14 >> ((byte)(uVar12 >> 8) & 0x1f); + uVar25 = uVar25 - (uVar12 >> 8 & 0xff); + cVar23 = (char)uVar12; + while (cVar23 != '\0') { + puVar19 = puVar20; + if ((uVar12 & 0x10) != 0) { + uVar24 = uVar12 >> 0x10; + uVar12 = uVar12 & 0xf; + pbVar16 = pbVar15; + if (uVar12 != 0) { + if (uVar25 < uVar12) { + pbVar16 = pbVar15 + 1; + pbVar15 = pbVar15 + 1; + uVar14 = uVar14 + ((uint)*pbVar16 << ((byte)uVar25 & 0x1f)); + uVar25 = uVar25 + 8; + } + uVar10 = (1 << (sbyte)uVar12) - 1U & uVar14; + uVar14 = uVar14 >> (sbyte)uVar12; + uVar24 = uVar24 + uVar10; + uVar25 = uVar25 - uVar12; + pbVar16 = pbVar15; + } + if (uVar25 < 0xf) { + pbVar15 = pbVar16 + 1; + pbVar16 = pbVar16 + 2; + uVar14 = uVar14 + ((uint)*pbVar15 << ((byte)uVar25 & 0x1f)) + + ((uint)*pbVar16 << ((byte)uVar25 + 8 & 0x1f)); + uVar25 = uVar25 + 0x10; + } + uVar12 = *(uint *)(lVar7 + (ulonglong)((1 << ((byte)uVar5 & 0x1f)) - 1U & uVar14) * 4); + uVar14 = uVar14 >> ((byte)(uVar12 >> 8) & 0x1f); + uVar25 = uVar25 - (uVar12 >> 8 & 0xff); + goto joined_r0x0001400c448d; + } + if ((uVar12 & 0x40) != 0) { + if ((uVar12 & 0x20) == 0) { + param_1[4] = (longlong)"invalid literal/length code"; + *puVar6 = 0x1d; + } + else { + *puVar6 = 0xb; + } + goto LAB_1400c4755; + } + uVar12 = *(uint *)(lVar17 + (ulonglong) + (((1 << ((byte)uVar12 & 0x1f)) - 1U & uVar14) + (uVar12 >> 0x10)) * + 4); + uVar14 = uVar14 >> ((byte)(uVar12 >> 8) & 0x1f); + uVar25 = uVar25 - (uVar12 >> 8 & 0xff); + cVar23 = (char)uVar12; + } + puVar20[1] = (char)(uVar12 >> 0x10); + puVar19 = puVar20 + 1; + goto LAB_1400c46d7; +joined_r0x0001400c448d: + pbVar15 = pbVar16; + if ((uVar12 & 0x10) != 0) goto LAB_1400c44d2; + if ((uVar12 & 0x40) != 0) { + param_1[4] = (longlong)"invalid distance code"; + *puVar6 = 0x1d; + goto LAB_1400c4755; + } + uVar12 = *(uint *)(lVar7 + (ulonglong) + (((1 << ((byte)uVar12 & 0x1f)) - 1U & uVar14) + (uVar12 >> 0x10)) * 4); + uVar14 = uVar14 >> ((byte)(uVar12 >> 8) & 0x1f); + uVar25 = uVar25 - (uVar12 >> 8 & 0xff); + goto joined_r0x0001400c448d; +LAB_1400c44d2: + uVar13 = uVar12 & 0xf; + uVar10 = uVar25; + if (uVar25 < uVar13) { + pbVar15 = pbVar16 + 1; + uVar10 = uVar25 + 8; + uVar14 = uVar14 + ((uint)pbVar16[1] << ((byte)uVar25 & 0x1f)); + if (uVar10 < uVar13) { + pbVar15 = pbVar16 + 2; + uVar14 = uVar14 + ((uint)pbVar16[2] << ((byte)uVar10 & 0x1f)); + uVar10 = uVar25 + 0x10; + } + } + uVar25 = uVar10 - uVar13; + uVar10 = (1 << (sbyte)uVar13) - 1U & uVar14; + uVar14 = uVar14 >> (sbyte)uVar13; + uVar10 = (uVar12 >> 0x10) + uVar10; + uVar12 = (int)puVar20 - local_60; + if (uVar10 <= uVar12) { + puVar19 = puVar20 + -(ulonglong)uVar10; + do { + puVar22 = puVar20; + puVar21 = puVar19; + puVar20 = puVar22 + 3; + puVar22[1] = puVar21[1]; + uVar24 = uVar24 - 3; + puVar22[2] = puVar21[2]; + *puVar20 = puVar21[3]; + puVar19 = puVar21 + 3; + } while (2 < uVar24); + puVar19 = puVar20; + if (uVar24 != 0) { + puVar22[4] = puVar21[4]; + puVar19 = puVar22 + 4; + if (1 < uVar24) { + puVar22[5] = puVar21[5]; + puVar19 = puVar22 + 5; + } + } + goto LAB_1400c46d7; + } + uVar12 = uVar10 - uVar12; + if ((uVar4 < uVar12) && (puVar6[0x6f6] != 0)) { + param_1[4] = (longlong)"invalid distance too far back"; + *puVar6 = 0x1d; +LAB_1400c4755: + lVar17 = (longlong)pbVar15 - (ulonglong)(uVar25 >> 3); + iVar26 = uVar25 + (uVar25 >> 3) * -8; + *param_1 = lVar17 + 1; + param_1[2] = (longlong)(puVar19 + 1); + *(int *)(param_1 + 1) = ((int)pbVar27 - (int)lVar17) + 5; + *(int *)(param_1 + 3) = ((int)(puVar18 + ((int)lVar9 - 0x101)) - (int)puVar19) + 0x101; + puVar6[0x10] = uVar14 & (1 << ((byte)iVar26 & 0x1f)) - 1U; + puVar6[0x11] = iVar26; + return; + } + lVar1 = lVar8 + -1; + if (uVar2 == 0) { + puVar21 = (undefined1 *)(lVar1 + (ulonglong)(iVar26 - uVar12)); + if (uVar12 < uVar24) { + uVar24 = uVar24 - uVar12; + do { + puVar20 = puVar21 + 1; + puVar21 = puVar21 + 1; + puVar19 = puVar19 + 1; + uVar12 = uVar12 - 1; + *puVar19 = *puVar20; + } while (uVar12 != 0); +LAB_1400c4602: + puVar21 = puVar19 + -(ulonglong)uVar10; + puVar20 = puVar19; + } + } + else if (uVar2 < uVar12) { + uVar13 = uVar12 - uVar2; + puVar21 = (undefined1 *)(lVar1 + (ulonglong)((uVar2 - uVar12) + iVar26)); + if (uVar13 < uVar24) { + uVar24 = uVar24 - uVar13; + do { + puVar22 = puVar19 + (longlong)(puVar21 + (1 - (longlong)puVar20)); + puVar19 = puVar19 + 1; + uVar13 = uVar13 - 1; + *puVar19 = *puVar22; + } while (uVar13 != 0); + puVar21 = (undefined1 *)(lVar8 + -1); + puVar20 = puVar19; + if (uVar2 < uVar24) { + uVar24 = uVar24 - uVar2; + uVar12 = uVar2; + do { + puVar20 = puVar21 + 1; + puVar21 = puVar21 + 1; + puVar19 = puVar19 + 1; + uVar12 = uVar12 - 1; + *puVar19 = *puVar20; + } while (uVar12 != 0); + goto LAB_1400c4602; + } + } + } + else { + puVar21 = (undefined1 *)(lVar1 + (ulonglong)(uVar2 - uVar12)); + if (uVar12 < uVar24) { + uVar24 = uVar24 - uVar12; + do { + puVar20 = puVar21 + 1; + puVar21 = puVar21 + 1; + puVar19 = puVar19 + 1; + uVar12 = uVar12 - 1; + *puVar19 = *puVar20; + } while (uVar12 != 0); + goto LAB_1400c4602; + } + } + if (2 < uVar24) { + uVar11 = (ulonglong)((uVar24 - 3) / 3 + 1); + puVar19 = puVar20; + puVar22 = puVar21; + do { + puVar21 = puVar22 + 3; + puVar20 = puVar19 + 3; + puVar19[1] = puVar22[1]; + uVar24 = uVar24 - 3; + uVar11 = uVar11 - 1; + puVar19[2] = puVar22[2]; + *puVar20 = *puVar21; + puVar19 = puVar20; + puVar22 = puVar21; + } while (uVar11 != 0); + } + puVar19 = puVar20; + if (uVar24 != 0) { + puVar20[1] = puVar21[1]; + puVar19 = puVar20 + 1; + if (1 < uVar24) { + puVar20[2] = puVar21[2]; + puVar19 = puVar20 + 2; + } + } +LAB_1400c46d7: + if ((pbVar27 <= pbVar15) || (puVar20 = puVar19, puVar18 + ((int)lVar9 - 0x101) <= puVar19)) + goto LAB_1400c4755; + goto LAB_1400c4380; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c47c0.c b/decomp/Agent_Release_x64/full/functions/0x1400c47c0.c new file mode 100644 index 00000000..178ab101 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c47c0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c47c0 FUN_1400c47c0 + * Pseudocode, not original source. */ + +void FUN_1400c47c0(longlong param_1) + +{ + undefined2 *puVar1; + longlong lVar2; + + puVar1 = (undefined2 *)(param_1 + 0xbc); + lVar2 = 0x11e; + do { + *puVar1 = 0; + puVar1 = puVar1 + 2; + lVar2 = lVar2 + -1; + } while (lVar2 != 0); + puVar1 = (undefined2 *)(param_1 + 0x9b0); + lVar2 = 0x1e; + do { + *puVar1 = 0; + puVar1 = puVar1 + 2; + lVar2 = lVar2 + -1; + } while (lVar2 != 0); + puVar1 = (undefined2 *)(param_1 + 0xaa4); + lVar2 = 0x13; + do { + *puVar1 = 0; + puVar1 = puVar1 + 2; + lVar2 = lVar2 + -1; + } while (lVar2 != 0); + *(undefined8 *)(param_1 + 0x1700) = 0; + *(undefined4 *)(param_1 + 0x1708) = 0; + *(undefined2 *)(param_1 + 0x4bc) = 1; + *(undefined4 *)(param_1 + 0x16f4) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c4840.c b/decomp/Agent_Release_x64/full/functions/0x1400c4840.c new file mode 100644 index 00000000..38613639 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c4840.c @@ -0,0 +1,60 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c4840 FUN_1400c4840 + * Pseudocode, not original source. */ + +void FUN_1400c4840(longlong param_1,longlong param_2,int param_3) + +{ + ushort uVar1; + ushort uVar2; + int iVar3; + int iVar4; + longlong lVar5; + int iVar6; + int iVar7; + longlong lVar8; + longlong lVar9; + bool bVar10; + + iVar3 = *(int *)(param_1 + 0x149c); + lVar8 = (longlong)param_3; + iVar4 = *(int *)(param_1 + 0xba8 + lVar8 * 4); + iVar6 = param_3 * 2; + bVar10 = SBORROW4(iVar6,iVar3); + iVar7 = iVar6 - iVar3; + if (iVar6 <= iVar3) { + do { + if (bVar10 != iVar7 < 0) { + lVar9 = (longlong)*(int *)(param_1 + 0xba8 + (longlong)iVar6 * 4); + lVar5 = (longlong)*(int *)(param_1 + 0xbac + (longlong)iVar6 * 4); + uVar1 = *(ushort *)(param_2 + lVar5 * 4); + uVar2 = *(ushort *)(param_2 + lVar9 * 4); + if ((uVar1 < uVar2) || + ((uVar1 == uVar2 && + (*(byte *)(lVar5 + 0x14a4 + param_1) <= *(byte *)(lVar9 + 0x14a4 + param_1))))) { + iVar6 = iVar6 + 1; + } + } + iVar3 = *(int *)(param_1 + 0xba8 + (longlong)iVar6 * 4); + uVar1 = *(ushort *)(param_2 + (longlong)iVar4 * 4); + uVar2 = *(ushort *)(param_2 + (longlong)iVar3 * 4); + iVar7 = (int)lVar8; + if ((uVar1 < uVar2) || + ((uVar1 == uVar2 && + (*(byte *)((longlong)iVar4 + 0x14a4 + param_1) <= + *(byte *)((longlong)iVar3 + 0x14a4 + param_1))))) { + *(int *)(param_1 + 0xba8 + (longlong)iVar7 * 4) = iVar4; + return; + } + lVar8 = (longlong)iVar6; + iVar6 = iVar6 * 2; + *(int *)(param_1 + 0xba8 + (longlong)iVar7 * 4) = iVar3; + iVar3 = *(int *)(param_1 + 0x149c); + bVar10 = SBORROW4(iVar6,iVar3); + iVar7 = iVar6 - iVar3; + } while (iVar6 <= iVar3); + } + *(int *)(param_1 + 0xba8 + lVar8 * 4) = iVar4; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c4930.c b/decomp/Agent_Release_x64/full/functions/0x1400c4930.c new file mode 100644 index 00000000..f20607bd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c4930.c @@ -0,0 +1,130 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c4930 FUN_1400c4930 + * Pseudocode, not original source. */ + +void FUN_1400c4930(longlong param_1,longlong *param_2) + +{ + short *psVar1; + ushort uVar2; + short sVar3; + int iVar4; + longlong *plVar5; + longlong lVar6; + longlong lVar7; + uint uVar8; + longlong lVar9; + uint uVar10; + longlong lVar11; + ulonglong uVar12; + int iVar13; + int iVar14; + longlong lVar15; + undefined2 *puVar16; + longlong lVar17; + int iVar18; + uint uVar19; + ulonglong uVar20; + int *piVar21; + longlong lVar22; + + plVar5 = (longlong *)param_2[2]; + lVar6 = *param_2; + lVar7 = param_2[1]; + lVar9 = plVar5[2]; + uVar19 = *(uint *)(plVar5 + 3); + uVar20 = (ulonglong)(int)uVar19; + lVar15 = *plVar5; + iVar13 = 0; + lVar17 = plVar5[1]; + puVar16 = (undefined2 *)(param_1 + 0xb88); + for (lVar11 = 0x10; lVar11 != 0; lVar11 = lVar11 + -1) { + *puVar16 = 0; + puVar16 = puVar16 + 1; + } + *(undefined2 *) + (lVar6 + 2 + (longlong)*(int *)(param_1 + 0xba8 + (longlong)*(int *)(param_1 + 0x14a0) * 4) * 4) + = 0; + iVar14 = *(int *)(param_1 + 0x14a0) + 1; + lVar11 = (longlong)iVar14; + if (lVar11 < 0x23d) { + lVar22 = 0x23d - lVar11; + piVar21 = (int *)(param_1 + 0xba8 + lVar11 * 4); + iVar14 = iVar14 + (int)lVar22; + do { + iVar4 = *piVar21; + lVar11 = (longlong)iVar4 * 4; + uVar10 = *(ushort *)(lVar6 + 2 + (ulonglong)*(ushort *)(lVar11 + 2 + lVar6) * 4) + 1; + if ((int)uVar19 < (int)uVar10) { + iVar13 = iVar13 + 1; + uVar10 = uVar19; + } + *(short *)(lVar11 + 2 + lVar6) = (short)uVar10; + if (iVar4 <= (int)lVar7) { + iVar18 = 0; + psVar1 = (short *)(param_1 + 0xb88 + (longlong)(int)uVar10 * 2); + *psVar1 = *psVar1 + 1; + if ((int)lVar9 <= iVar4) { + iVar18 = *(int *)(lVar17 + ((longlong)iVar4 - (longlong)(int)lVar9) * 4); + } + uVar2 = *(ushort *)(lVar11 + lVar6); + *(int *)(param_1 + 0x1700) = *(int *)(param_1 + 0x1700) + (iVar18 + uVar10) * (uint)uVar2; + if (lVar15 != 0) { + *(int *)(param_1 + 0x1704) = + *(int *)(param_1 + 0x1704) + + ((uint)*(ushort *)(lVar11 + 2 + lVar15) + iVar18) * (uint)uVar2; + } + } + piVar21 = piVar21 + 1; + lVar22 = lVar22 + -1; + } while (lVar22 != 0); + } + if (iVar13 != 0) { + do { + uVar12 = (ulonglong)(int)(uVar19 - 1); + sVar3 = *(short *)(param_1 + 0xb88 + uVar12 * 2); + uVar10 = uVar19 - 1; + while (sVar3 == 0) { + uVar10 = (int)uVar12 - 1; + uVar12 = (ulonglong)uVar10; + sVar3 = *(short *)(param_1 + 0xb88 + (longlong)(int)uVar10 * 2); + } + iVar13 = iVar13 + -2; + psVar1 = (short *)(param_1 + 0xb88 + (longlong)(int)uVar10 * 2); + *psVar1 = *psVar1 + -1; + psVar1 = (short *)(param_1 + 0xb8a + (longlong)(int)uVar10 * 2); + *psVar1 = *psVar1 + 2; + psVar1 = (short *)(param_1 + 0xb88 + uVar20 * 2); + *psVar1 = *psVar1 + -1; + } while (0 < iVar13); + lVar15 = (longlong)iVar14; + while (uVar19 != 0) { + uVar19 = (uint)uVar20; + uVar2 = *(ushort *)(param_1 + 0xb88 + (longlong)(int)uVar19 * 2); + uVar10 = (uint)uVar2; + if (uVar2 != 0) { + lVar17 = param_1 + 0xba8 + lVar15 * 4; + do { + piVar21 = (int *)(lVar17 + -4); + lVar9 = (longlong)*piVar21; + lVar17 = lVar17 + -4; + lVar15 = lVar15 + -1; + if (*piVar21 <= (int)lVar7) { + uVar8 = (uint)*(ushort *)(lVar6 + 2 + lVar9 * 4); + if (uVar8 != uVar19) { + *(int *)(param_1 + 0x1700) = + *(int *)(param_1 + 0x1700) + + (uVar19 - uVar8) * (uint)*(ushort *)(lVar6 + lVar9 * 4); + *(short *)(lVar6 + 2 + lVar9 * 4) = (short)uVar20; + } + uVar10 = uVar10 - 1; + } + } while (uVar10 != 0); + } + uVar19 = uVar19 - 1; + uVar20 = (ulonglong)uVar19; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c4b50.c b/decomp/Agent_Release_x64/full/functions/0x1400c4b50.c new file mode 100644 index 00000000..0c231bfb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c4b50.c @@ -0,0 +1,82 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c4b50 FUN_1400c4b50 + * Pseudocode, not original source. */ + +void FUN_1400c4b50(longlong param_1,longlong param_2,int param_3) + +{ + short *psVar1; + ushort uVar2; + int iVar3; + longlong lVar4; + uint uVar5; + uint uVar6; + uint uVar7; + int iVar8; + int iVar9; + ushort *puVar10; + + uVar2 = *(ushort *)(param_2 + 2); + uVar5 = 0xffffffff; + iVar9 = 0; + iVar3 = 7; + iVar8 = 4; + if (uVar2 == 0) { + iVar3 = 0x8a; + iVar8 = 3; + } + lVar4 = (longlong)param_3; + *(undefined2 *)(param_2 + 6 + lVar4 * 4) = 0xffff; + if (-1 < lVar4) { + puVar10 = (ushort *)(param_2 + 6); + lVar4 = lVar4 + 1; + uVar6 = (uint)uVar2; + do { + iVar9 = iVar9 + 1; + uVar2 = *puVar10; + uVar7 = (uint)uVar2; + if ((iVar3 <= iVar9) || (uVar6 != uVar7)) { + if (iVar9 < iVar8) { + psVar1 = (short *)(param_1 + 0xaa4 + (longlong)(int)uVar6 * 4); + *psVar1 = *psVar1 + (short)iVar9; + } + else if (uVar6 == 0) { + if (iVar9 < 0xb) { + *(short *)(param_1 + 0xae8) = *(short *)(param_1 + 0xae8) + 1; + } + else { + *(short *)(param_1 + 0xaec) = *(short *)(param_1 + 0xaec) + 1; + } + } + else { + if (uVar6 != uVar5) { + psVar1 = (short *)(param_1 + 0xaa4 + (longlong)(int)uVar6 * 4); + *psVar1 = *psVar1 + 1; + } + *(short *)(param_1 + 0xae4) = *(short *)(param_1 + 0xae4) + 1; + } + iVar9 = 0; + uVar5 = uVar6; + if (uVar2 == 0) { + iVar3 = 0x8a; + iVar8 = 3; + iVar9 = 0; + } + else if (uVar6 == uVar7) { + iVar3 = 6; + iVar8 = 3; + iVar9 = 0; + } + else { + iVar3 = 7; + iVar8 = 4; + } + } + puVar10 = puVar10 + 2; + lVar4 = lVar4 + -1; + uVar6 = uVar7; + } while (lVar4 != 0); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c4c40.c b/decomp/Agent_Release_x64/full/functions/0x1400c4c40.c new file mode 100644 index 00000000..908142a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c4c40.c @@ -0,0 +1,258 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c4c40 FUN_1400c4c40 + * Pseudocode, not original source. */ + +void FUN_1400c4c40(longlong param_1,longlong param_2,int param_3) + +{ + ushort uVar1; + ushort uVar2; + ushort uVar3; + int iVar4; + byte bVar5; + int iVar6; + ushort *puVar7; + uint uVar8; + uint uVar9; + longlong lVar10; + short sVar11; + int iVar12; + uint uVar14; + longlong lVar15; + int iVar13; + + uVar14 = 0xffffffff; + iVar13 = 0; + iVar4 = 7; + iVar6 = 4; + if (*(ushort *)(param_2 + 2) == 0) { + iVar4 = 0x8a; + iVar6 = 3; + } + if (-1 < param_3) { + lVar15 = (longlong)param_3 + 1; + puVar7 = (ushort *)(param_2 + 6); + uVar8 = (uint)*(ushort *)(param_2 + 2); + do { + iVar12 = iVar13 + 1; + lVar10 = (longlong)(int)uVar8; + uVar1 = *puVar7; + uVar9 = (uint)uVar1; + if ((iVar4 <= iVar12) || (uVar8 != uVar9)) { + if (iVar12 < iVar6) { + do { + uVar14 = (uint)*(ushort *)(param_1 + 0xaa6 + lVar10 * 4); + iVar6 = *(int *)(param_1 + 0x1714); + if ((int)(0x10 - uVar14) < iVar6) { + uVar3 = *(ushort *)(param_1 + 0xaa4 + lVar10 * 4); + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar3 << ((byte)iVar6 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) + = *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) + = *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar6 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = + uVar3 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | + *(short *)(param_1 + 0xaa4 + lVar10 * 4) << ((byte)iVar6 & 0x1f); + } + iVar12 = iVar12 + -1; + *(uint *)(param_1 + 0x1714) = iVar6 + uVar14; + } while (iVar12 != 0); + } + else { + if (uVar8 == 0) { + iVar6 = *(int *)(param_1 + 0x1714); + sVar11 = (short)iVar12; + bVar5 = (byte)iVar6; + if (iVar12 < 0xb) { + uVar3 = *(ushort *)(param_1 + 0xaea); + if ((int)(0x10 - (uint)uVar3) < iVar6) { + uVar2 = *(ushort *)(param_1 + 0xae8); + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar2 << (bVar5 & 0x1f); + *(undefined1 *) + ((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *) + ((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar6 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = + uVar2 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | *(short *)(param_1 + 0xae8) << (bVar5 & 0x1f); + } + iVar6 = iVar6 + (uint)uVar3; + *(int *)(param_1 + 0x1714) = iVar6; + if (iVar6 < 0xe) { + sVar11 = sVar11 + -3; + iVar4 = iVar6 + 3; +LAB_1400c514e: + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | sVar11 << ((byte)iVar6 & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | sVar11 - 3U << ((byte)iVar6 & 0x1f); + *(undefined1 *) + ((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *) + ((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar4 = *(int *)(param_1 + 0x1714) + -0xd; + *(ushort *)(param_1 + 0x1710) = + (ushort)(sVar11 - 3U) >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + } + else { + uVar3 = *(ushort *)(param_1 + 0xaee); + if ((int)(0x10 - (uint)uVar3) < iVar6) { + uVar2 = *(ushort *)(param_1 + 0xaec); + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar2 << (bVar5 & 0x1f); + *(undefined1 *) + ((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *) + ((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar6 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = + uVar2 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | *(short *)(param_1 + 0xaec) << (bVar5 & 0x1f); + } + iVar6 = iVar6 + (uint)uVar3; + *(int *)(param_1 + 0x1714) = iVar6; + if (iVar6 < 10) { + sVar11 = sVar11 + -0xb; + iVar4 = iVar6 + 7; + goto LAB_1400c514e; + } + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | sVar11 - 0xbU << ((byte)iVar6 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) + = *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) + = *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar4 = *(int *)(param_1 + 0x1714) + -9; + *(ushort *)(param_1 + 0x1710) = + (ushort)(sVar11 - 0xbU) >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + } + else { + if (uVar8 != uVar14) { + uVar14 = (uint)*(ushort *)(param_1 + 0xaa6 + lVar10 * 4); + iVar6 = *(int *)(param_1 + 0x1714); + if ((int)(0x10 - uVar14) < iVar6) { + uVar3 = *(ushort *)(param_1 + 0xaa4 + lVar10 * 4); + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar3 << ((byte)iVar6 & 0x1f); + *(undefined1 *) + ((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *) + ((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar6 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = + uVar3 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | + *(short *)(param_1 + 0xaa4 + lVar10 * 4) << ((byte)iVar6 & 0x1f); + } + *(uint *)(param_1 + 0x1714) = iVar6 + uVar14; + iVar12 = iVar13; + } + uVar3 = *(ushort *)(param_1 + 0xae6); + iVar6 = *(int *)(param_1 + 0x1714); + if ((int)(0x10 - (uint)uVar3) < iVar6) { + uVar2 = *(ushort *)(param_1 + 0xae4); + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar2 << ((byte)iVar6 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) + = *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) + = *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar6 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = + uVar2 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | + *(short *)(param_1 + 0xae4) << ((byte)iVar6 & 0x1f); + } + iVar6 = iVar6 + (uint)uVar3; + *(int *)(param_1 + 0x1714) = iVar6; + if (iVar6 < 0xf) { + sVar11 = (short)iVar12 + -3; + iVar4 = iVar6 + 2; + goto LAB_1400c514e; + } + uVar3 = (short)iVar12 - 3; + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar3 << ((byte)iVar6 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar4 = *(int *)(param_1 + 0x1714) + -0xe; + *(ushort *)(param_1 + 0x1710) = + uVar3 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + *(int *)(param_1 + 0x1714) = iVar4; + } + uVar14 = uVar8; + iVar12 = 0; + if (uVar1 == 0) { + iVar4 = 0x8a; + iVar6 = 3; + } + else if (uVar8 == uVar9) { + iVar4 = 6; + iVar6 = 3; + } + else { + iVar4 = 7; + iVar6 = 4; + iVar12 = 0; + } + } + iVar13 = iVar12; + puVar7 = puVar7 + 2; + lVar15 = lVar15 + -1; + uVar8 = uVar9; + } while (lVar15 != 0); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c51b0.c b/decomp/Agent_Release_x64/full/functions/0x1400c51b0.c new file mode 100644 index 00000000..4bf7fed4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c51b0.c @@ -0,0 +1,102 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c51b0 FUN_1400c51b0 + * Pseudocode, not original source. */ + +void FUN_1400c51b0(longlong param_1,int param_2,int param_3,uint param_4) + +{ + ushort uVar1; + int iVar2; + int iVar3; + byte *pbVar4; + ulonglong uVar5; + + iVar2 = *(int *)(param_1 + 0x1714); + uVar5 = (ulonglong)param_4; + if (iVar2 < 0xc) { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | (short)param_2 + -0x101 << ((byte)iVar2 & 0x1f); + iVar2 = iVar2 + 5; + } + else { + uVar1 = (short)param_2 - 0x101; + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar1 << ((byte)iVar2 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar2 = *(int *)(param_1 + 0x1714) + -0xb; + *(ushort *)(param_1 + 0x1710) = uVar1 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + *(int *)(param_1 + 0x1714) = iVar2; + if (iVar2 < 0xc) { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | (short)param_3 + -1 << ((byte)iVar2 & 0x1f); + iVar2 = iVar2 + 5; + } + else { + uVar1 = (short)param_3 - 1; + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar1 << ((byte)iVar2 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar2 = *(int *)(param_1 + 0x1714) + -0xb; + *(ushort *)(param_1 + 0x1710) = uVar1 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + *(int *)(param_1 + 0x1714) = iVar2; + if (iVar2 < 0xd) { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | (short)param_4 + -4 << ((byte)iVar2 & 0x1f); + iVar2 = iVar2 + 4; + } + else { + uVar1 = (short)param_4 - 4; + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar1 << ((byte)iVar2 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar2 = *(int *)(param_1 + 0x1714) + -0xc; + *(ushort *)(param_1 + 0x1710) = uVar1 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + *(int *)(param_1 + 0x1714) = iVar2; + if (0 < (int)param_4) { + pbVar4 = &DAT_140111950; + do { + iVar2 = *(int *)(param_1 + 0x1714); + if (iVar2 < 0xe) { + iVar3 = iVar2 + 3; + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | + *(short *)(param_1 + 0xaa6 + (ulonglong)*pbVar4 * 4) << ((byte)iVar2 & 0x1f); + } + else { + uVar1 = *(ushort *)(param_1 + 0xaa6 + (ulonglong)*pbVar4 * 4); + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar1 << ((byte)iVar2 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar3 = *(int *)(param_1 + 0x1714) + -0xd; + *(ushort *)(param_1 + 0x1710) = uVar1 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + pbVar4 = pbVar4 + 1; + uVar5 = uVar5 - 1; + *(int *)(param_1 + 0x1714) = iVar3; + } while (uVar5 != 0); + } + FUN_1400c4c40(param_1,param_1 + 0xbc,param_2 + -1); + FUN_1400c4c40(param_1,param_1 + 0x9b0,param_3 + -1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c5420.c b/decomp/Agent_Release_x64/full/functions/0x1400c5420.c new file mode 100644 index 00000000..dc465409 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c5420.c @@ -0,0 +1,182 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c5420 FUN_1400c5420 + * Pseudocode, not original source. */ + +void FUN_1400c5420(longlong param_1,longlong param_2,longlong param_3) + +{ + byte bVar1; + byte bVar2; + int iVar3; + int iVar4; + byte bVar5; + ulonglong uVar6; + longlong lVar7; + uint uVar8; + uint uVar9; + ushort uVar10; + uint uVar11; + ushort uVar12; + longlong lVar13; + + uVar8 = 0; + if (*(int *)(param_1 + 0x16f4) != 0) { + lVar13 = 0; + do { + uVar6 = (ulonglong)uVar8; + lVar13 = lVar13 + 2; + uVar10 = *(ushort *)(*(longlong *)(param_1 + 0x16f8) + -2 + lVar13); + uVar8 = uVar8 + 1; + bVar1 = *(byte *)(uVar6 + *(longlong *)(param_1 + 0x16e8)); + iVar3 = *(int *)(param_1 + 0x1714); + bVar5 = (byte)iVar3; + if (uVar10 == 0) { + lVar7 = (longlong)(int)(uint)bVar1; + uVar11 = (uint)*(ushort *)(param_2 + 2 + lVar7 * 4); + if ((int)(0x10 - uVar11) < iVar3) { + uVar10 = *(ushort *)(param_2 + lVar7 * 4); + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar10 << (bVar5 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar3 = *(int *)(param_1 + 0x1714) + -0x10 + uVar11; + *(ushort *)(param_1 + 0x1710) = + uVar10 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | *(short *)(param_2 + lVar7 * 4) << (bVar5 & 0x1f); + iVar3 = iVar3 + uVar11; + } +LAB_1400c57a7: + *(int *)(param_1 + 0x1714) = iVar3; + } + else { + bVar2 = (&DAT_140112070)[bVar1]; + uVar11 = bVar2 + 0x101; + uVar9 = (uint)*(ushort *)(param_2 + 2 + (ulonglong)uVar11 * 4); + if ((int)(0x10 - uVar9) < iVar3) { + uVar12 = *(ushort *)(param_2 + (ulonglong)uVar11 * 4); + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar12 << (bVar5 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar3 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = + uVar12 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | + *(short *)(param_2 + (ulonglong)uVar11 * 4) << (bVar5 & 0x1f); + } + iVar3 = iVar3 + uVar9; + *(int *)(param_1 + 0x1714) = iVar3; + iVar4 = *(int *)(&DAT_140111800 + (ulonglong)bVar2 * 4); + if (iVar4 != 0) { + uVar12 = (ushort)bVar1 - (short)*(undefined4 *)(&DAT_140112170 + (ulonglong)bVar2 * 4); + if (0x10 - iVar4 < iVar3) { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar12 << ((byte)iVar3 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar3 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = + uVar12 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar12 << ((byte)iVar3 & 0x1f); + } + *(int *)(param_1 + 0x1714) = iVar3 + iVar4; + } + uVar11 = uVar10 - 1; + if (uVar11 < 0x100) { + bVar1 = (&DAT_140111e70)[uVar11]; + } + else { + bVar1 = (&DAT_140111e70)[(uVar11 >> 7) + 0x100]; + } + uVar6 = (ulonglong)bVar1; + uVar9 = (uint)*(ushort *)(param_3 + 2 + uVar6 * 4); + iVar4 = *(int *)(param_1 + 0x1714); + if ((int)(0x10 - uVar9) < iVar4) { + uVar10 = *(ushort *)(param_3 + uVar6 * 4); + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar10 << ((byte)iVar4 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar4 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = + uVar10 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | + *(short *)(param_3 + uVar6 * 4) << ((byte)iVar4 & 0x1f); + } + iVar4 = iVar4 + uVar9; + *(int *)(param_1 + 0x1714) = iVar4; + iVar3 = *(int *)(&DAT_140111880 + uVar6 * 4); + if (iVar3 != 0) { + uVar10 = (short)uVar11 - (short)*(undefined4 *)(&DAT_1401121f0 + uVar6 * 4); + if (0x10 - iVar3 < iVar4) { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar10 << ((byte)iVar4 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar3 = *(int *)(param_1 + 0x1714) + -0x10 + iVar3; + *(ushort *)(param_1 + 0x1710) = + uVar10 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + iVar3 = iVar4 + iVar3; + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar10 << ((byte)iVar4 & 0x1f); + } + goto LAB_1400c57a7; + } + } + } while (uVar8 < *(uint *)(param_1 + 0x16f4)); + } + uVar10 = *(ushort *)(param_2 + 0x402); + iVar3 = *(int *)(param_1 + 0x1714); + if ((int)(0x10 - (uint)uVar10) < iVar3) { + uVar12 = *(ushort *)(param_2 + 0x400); + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar12 << ((byte)iVar3 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar3 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = uVar12 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | *(short *)(param_2 + 0x400) << ((byte)iVar3 & 0x1f); + } + *(uint *)(param_1 + 0x1714) = iVar3 + (uint)uVar10; + *(uint *)(param_1 + 0x170c) = (uint)*(ushort *)(param_2 + 0x402); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c5890.c b/decomp/Agent_Release_x64/full/functions/0x1400c5890.c new file mode 100644 index 00000000..e13ef022 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c5890.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c5890 FUN_1400c5890 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c5890(longlong param_1) + +{ + short *psVar1; + longlong lVar2; + ulonglong uVar3; + + lVar2 = 0; + uVar3 = 0xf3ffc07f; + psVar1 = (short *)(param_1 + 0xbc); + while (((uVar3 & 1) == 0 || (*psVar1 == 0))) { + lVar2 = lVar2 + 1; + psVar1 = psVar1 + 2; + uVar3 = uVar3 >> 1; + if (0x1f < lVar2) { + if (((*(short *)(param_1 + 0xe0) == 0) && (*(short *)(param_1 + 0xe4) == 0)) && + (*(short *)(param_1 + 0xf0) == 0)) { + lVar2 = 0x20; + psVar1 = (short *)(param_1 + 0x13c); + while (*psVar1 == 0) { + lVar2 = lVar2 + 1; + psVar1 = psVar1 + 2; + if (0xff < lVar2) { + return 0; + } + } + } + return 1; + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c5910.c b/decomp/Agent_Release_x64/full/functions/0x1400c5910.c new file mode 100644 index 00000000..f28f2c95 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c5910.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c5910 FUN_1400c5910 + * Pseudocode, not original source. */ + +void FUN_1400c5910(longlong param_1) + +{ + if (*(int *)(param_1 + 0x1714) == 0x10) { + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined4 *)(param_1 + 0x1714) = 0; + *(undefined2 *)(param_1 + 0x1710) = 0; + return; + } + if (7 < *(int *)(param_1 + 0x1714)) { + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(int *)(param_1 + 0x1714) = *(int *)(param_1 + 0x1714) + -8; + *(ushort *)(param_1 + 0x1710) = (ushort)*(byte *)(param_1 + 0x1711); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c59a0.c b/decomp/Agent_Release_x64/full/functions/0x1400c59a0.c new file mode 100644 index 00000000..c3d9e7cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c59a0.c @@ -0,0 +1,47 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c59a0 FUN_1400c59a0 + * Pseudocode, not original source. */ + +void FUN_1400c59a0(longlong param_1,undefined1 *param_2,int param_3,int param_4) + +{ + undefined1 uVar1; + byte bVar2; + + if (*(int *)(param_1 + 0x1714) < 9) { + if (*(int *)(param_1 + 0x1714) < 1) goto LAB_1400c59fa; + uVar1 = *(undefined1 *)(param_1 + 0x1710); + } + else { + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + uVar1 = *(undefined1 *)(param_1 + 0x1711); + } + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = uVar1; + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; +LAB_1400c59fa: + *(undefined4 *)(param_1 + 0x170c) = 8; + *(undefined2 *)(param_1 + 0x1710) = 0; + *(undefined4 *)(param_1 + 0x1714) = 0; + if (param_4 != 0) { + *(byte *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = (byte)param_3; + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + bVar2 = (byte)((uint)param_3 >> 8); + *(byte *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = bVar2; + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(byte *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = ~(byte)param_3 + ; + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(byte *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = ~bVar2; + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + } + for (; param_3 != 0; param_3 = param_3 + -1) { + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = *param_2 + ; + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + param_2 = param_2 + 1; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c5ab0.c b/decomp/Agent_Release_x64/full/functions/0x1400c5ab0.c new file mode 100644 index 00000000..2ba9a245 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c5ab0.c @@ -0,0 +1,275 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c5ab0 FUN_1400c5ab0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +undefined8 +FUN_1400c5ab0(int param_1,ushort *param_2,uint param_3,longlong *param_4,uint *param_5, + undefined *param_6) + +{ + uint uVar1; + byte bVar2; + ushort uVar4; + uint uVar5; + ushort *puVar6; + undefined8 uVar7; + byte bVar8; + longlong lVar9; + ulonglong uVar10; + uint uVar11; + ulonglong uVar12; + uint uVar13; + ulonglong uVar14; + int iVar15; + ulonglong uVar16; + uint uVar17; + int iVar18; + int iVar19; + uint uVar20; + uint uVar21; + byte bVar22; + bool bVar23; + undefined4 local_d8; + uint local_d0; + uint local_cc; + undefined *local_b0; + undefined *local_a8; + ushort local_88 [15]; + ushort local_6a [17]; + ulonglong local_48; + char cVar3; + + local_48 = DAT_1401555a0 ^ (ulonglong)&local_d8; + uVar16 = 0; + puVar6 = local_88; + for (lVar9 = 0x10; lVar9 != 0; lVar9 = lVar9 + -1) { + *puVar6 = 0; + puVar6 = puVar6 + 1; + } + if (param_3 != 0) { + uVar12 = (ulonglong)param_3; + puVar6 = param_2; + do { + uVar4 = *puVar6; + puVar6 = puVar6 + 1; + local_88[uVar4] = local_88[uVar4] + 1; + uVar12 = uVar12 - 1; + } while (uVar12 != 0); + } + uVar20 = 0xf; + puVar6 = local_6a; + uVar12 = 0xffffffff; + do { + if (*puVar6 != 0) break; + uVar20 = uVar20 - 1; + puVar6 = puVar6 + -1; + } while (uVar20 != 0); + uVar1 = *param_5; + if (uVar20 < *param_5) { + uVar1 = uVar20; + } + if (uVar20 == 0) { + *(undefined4 *)*param_4 = 0x140; + *param_4 = *param_4 + 4; + *(undefined4 *)*param_4 = 0x140; + *param_4 = *param_4 + 4; + *param_5 = 1; + uVar7 = 0; + } + else { + uVar21 = 1; + if (1 < uVar20) { + puVar6 = local_88; + do { + puVar6 = puVar6 + 1; + if (*puVar6 != 0) break; + uVar21 = uVar21 + 1; + } while (uVar21 < uVar20); + } + iVar15 = 1; + if (uVar1 < uVar21) { + uVar1 = uVar21; + } + uVar10 = 1; + do { + iVar15 = iVar15 * 2 - (uint)local_88[uVar10]; + if (iVar15 < 0) goto LAB_1400c5f5c; + uVar11 = (int)uVar10 + 1; + uVar10 = (ulonglong)uVar11; + } while (uVar11 < 0x10); + if ((iVar15 < 1) || ((param_1 != 0 && (uVar20 == 1)))) { + local_6a[2] = 0; + lVar9 = 0xe; + uVar10 = uVar16; + do { + lVar9 = lVar9 + -1; + *(short *)((longlong)local_6a + uVar10 + 6) = + *(short *)((longlong)local_88 + uVar10 + 2) + + *(short *)((longlong)local_6a + uVar10 + 4); + uVar10 = uVar10 + 2; + } while (lVar9 != 0); + puVar6 = param_2; + uVar10 = uVar16; + if (param_3 != 0) { + do { + if (*puVar6 != 0) { + *(short *)(param_6 + (ulonglong)local_6a[(ulonglong)*puVar6 + 1] * 2) = (short)uVar10; + local_6a[(ulonglong)*puVar6 + 1] = local_6a[(ulonglong)*puVar6 + 1] + 1; + } + uVar11 = (int)uVar10 + 1; + puVar6 = puVar6 + 1; + uVar10 = (ulonglong)uVar11; + } while (uVar11 < param_3); + } + if (param_1 == 0) { + local_a8 = param_6; + local_b0 = param_6; + iVar15 = 0x13; + } + else if (param_1 == 1) { + iVar15 = 0x100; + local_b0 = &DAT_140112096; + local_a8 = &DAT_1401120d6; + } + else { + iVar15 = -1; + local_b0 = &DAT_140112320; + local_a8 = &DAT_140112360; + } + bVar8 = (byte)uVar1; + local_cc = 1 << (bVar8 & 0x1f); + uVar14 = (ulonglong)local_cc; + local_d0 = 0; + lVar9 = *param_4; + uVar5 = local_cc - 1; + uVar10 = uVar16; + uVar11 = 0; + if (param_1 == 1) { + uVar12 = 0xffffffff; + if (local_cc < 0x354) { +LAB_1400c5d20: + do { + do { + cVar3 = (char)uVar21; + bVar22 = (byte)uVar11; + bVar2 = cVar3 - bVar22; + uVar4 = *(ushort *)(param_6 + uVar10 * 2); + if ((int)(uint)uVar4 < iVar15) { + local_d8._0_2_ = (ushort)bVar2 << 8; + } + else if (iVar15 < (int)(uint)uVar4) { + local_d8._0_2_ = + CONCAT11(bVar2,local_a8[(ulonglong)*(ushort *)(param_6 + uVar10 * 2) * 2]); + uVar4 = *(ushort *)(local_b0 + (ulonglong)*(ushort *)(param_6 + uVar10 * 2) * 2); + } + else { + local_d8 = CONCAT31((uint3)bVar2,0x60); + uVar4 = 0; + } + uVar13 = (uint)uVar16; + local_d8 = CONCAT22(uVar4,(ushort)local_d8); + iVar18 = 1 << (cVar3 - bVar22 & 0x1f); + uVar10 = (ulonglong)((uVar13 >> (bVar22 & 0x1f)) + (int)uVar14); + uVar16 = uVar14; + do { + uVar10 = (ulonglong)(uint)((int)uVar10 - iVar18); + uVar17 = (int)uVar16 - iVar18; + uVar16 = (ulonglong)uVar17; + *(uint *)(lVar9 + uVar10 * 4) = local_d8; + } while (uVar17 != 0); + for (uVar17 = 1 << (cVar3 - 1U & 0x1f); (uVar13 & uVar17) != 0; uVar17 = uVar17 >> 1) + { + } + if (uVar17 == 0) { + uVar16 = 0; + } + else { + uVar16 = (ulonglong)(uVar17 + (uVar17 - 1 & uVar13)); + } + local_d0 = local_d0 + 1; + uVar10 = (ulonglong)local_d0; + puVar6 = local_88 + uVar21; + *puVar6 = *puVar6 - 1; + uVar13 = (uint)uVar16; + if (*puVar6 == 0) { + if (uVar21 == uVar20) { + local_d8._0_2_ = CONCAT11(cVar3 - bVar22,0x40); + local_d8 = (uint)(ushort)local_d8; + goto joined_r0x0001400c5eec; + } + uVar21 = (uint)param_2[*(ushort *)(param_6 + uVar10 * 2)]; + } + } while (uVar21 <= uVar1); + uVar13 = uVar5 & uVar13; + } while (uVar13 == (uint)uVar12); + if (uVar11 == 0) { + uVar11 = uVar1; + } + lVar9 = lVar9 + uVar14 * 4; + iVar19 = uVar21 - uVar11; + uVar17 = uVar11 + iVar19; + for (iVar18 = 1 << ((byte)iVar19 & 0x1f); + (uVar17 < uVar20 && + (uVar12 = (ulonglong)uVar17, 0 < (int)(iVar18 - (uint)local_88[uVar12]))); + iVar18 = (iVar18 - (uint)local_88[uVar12]) * 2) { + uVar17 = uVar17 + 1; + iVar19 = iVar19 + 1; + } + uVar17 = 1 << ((byte)iVar19 & 0x1f); + uVar14 = (ulonglong)uVar17; + local_cc = local_cc + uVar17; + if (param_1 == 1) { + bVar23 = local_cc < 0x354; +LAB_1400c5e8e: + if (!bVar23) goto LAB_1400c5cfa; + } + else if (param_1 == 2) { + bVar23 = local_cc < 0x250; + goto LAB_1400c5e8e; + } + uVar12 = (ulonglong)uVar13; + *(byte *)(*param_4 + (ulonglong)uVar13 * 4) = (byte)iVar19; + *(byte *)(*param_4 + 1 + uVar12 * 4) = bVar8; + *(short *)(*param_4 + 2 + uVar12 * 4) = (short)(lVar9 - *param_4 >> 2); + uVar10 = (ulonglong)local_d0; + goto LAB_1400c5d20; + } + } + else if ((param_1 != 2) || (uVar16 = 0, uVar10 = 0, uVar11 = 0, local_cc < 0x250)) + goto LAB_1400c5d20; +LAB_1400c5cfa: + uVar7 = 1; + } + else { +LAB_1400c5f5c: + uVar7 = 0xffffffff; + } + } + return uVar7; +joined_r0x0001400c5eec: + if (uVar13 == 0) { +LAB_1400c5f48: + *param_4 = *param_4 + (ulonglong)local_cc * 4; + *param_5 = uVar1; + return 0; + } + uVar20 = (uint)uVar16; + if ((uVar11 != 0) && ((uVar5 & uVar20) != (uint)uVar12)) { + lVar9 = *param_4; + local_d8._0_2_ = CONCAT11(bVar8,(undefined1)local_d8); + local_d8 = (uint)(ushort)local_d8; + uVar21 = uVar1; + uVar11 = 0; + } + *(uint *)(lVar9 + (uVar16 >> ((byte)uVar11 & 0x3f)) * 4) = local_d8; + for (uVar13 = 1 << ((char)uVar21 - 1U & 0x1f); (uVar20 & uVar13) != 0; uVar13 = uVar13 >> 1) { + } + if (uVar13 == 0) goto LAB_1400c5f48; + uVar13 = (uVar20 & uVar13 - 1) + uVar13; + uVar16 = (ulonglong)uVar13; + goto joined_r0x0001400c5eec; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c5f90.c b/decomp/Agent_Release_x64/full/functions/0x1400c5f90.c new file mode 100644 index 00000000..82e5daa0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c5f90.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c5f90 FUN_1400c5f90 + * Pseudocode, not original source. */ + +void FUN_1400c5f90(longlong param_1) + +{ + *(undefined4 *)(param_1 + 0x170c) = 8; + *(longlong *)(param_1 + 0xb40) = param_1 + 0xbc; + *(undefined ***)(param_1 + 0xb50) = &PTR_DAT_1401572d0; + *(longlong *)(param_1 + 0xb58) = param_1 + 0x9b0; + *(undefined ***)(param_1 + 0xb68) = &PTR_DAT_1401572f0; + *(longlong *)(param_1 + 0xb70) = param_1 + 0xaa4; + *(undefined **)(param_1 + 0xb80) = &DAT_140157310; + *(undefined2 *)(param_1 + 0x1710) = 0; + *(undefined4 *)(param_1 + 0x1714) = 0; + FUN_1400c47c0(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c6010.c b/decomp/Agent_Release_x64/full/functions/0x1400c6010.c new file mode 100644 index 00000000..13070bd0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c6010.c @@ -0,0 +1,60 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c6010 FUN_1400c6010 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +void FUN_1400c6010(longlong param_1,int param_2,longlong param_3) + +{ + longlong lVar1; + ushort uVar2; + ulonglong uVar3; + uint uVar4; + ulonglong uVar5; + uint uVar6; + ulonglong uVar7; + short sVar8; + uint uVar9; + longlong lVar10; + ulonglong uVar11; + short sStack_3a; + ushort auStack_38 [16]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_38; + sVar8 = 0; + lVar10 = 1; + do { + lVar1 = lVar10 * 2; + lVar10 = lVar10 + 1; + sVar8 = (sVar8 + *(short *)(param_3 + lVar1 + -2)) * 2; + (&sStack_3a)[lVar10] = sVar8; + } while (lVar10 < 0x10); + uVar11 = 0; + if (-1 < param_2) { + do { + uVar2 = *(ushort *)(param_1 + 2 + uVar11 * 4); + uVar7 = (ulonglong)uVar2; + if (uVar2 != 0) { + uVar2 = auStack_38[uVar7]; + auStack_38[uVar7] = uVar2 + 1; + uVar3 = 0; + uVar9 = (uint)uVar2; + do { + uVar5 = uVar3; + uVar6 = (int)uVar7 - 1; + uVar7 = (ulonglong)uVar6; + uVar4 = uVar9 & 1; + uVar3 = (ulonglong)(((uint)uVar5 | uVar4) * 2); + uVar9 = uVar9 >> 1; + } while (0 < (int)uVar6); + *(ushort *)(param_1 + uVar11 * 4) = (ushort)uVar5 | (ushort)uVar4; + } + uVar11 = uVar11 + 1; + } while ((longlong)uVar11 <= (longlong)param_2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c60c0.c b/decomp/Agent_Release_x64/full/functions/0x1400c60c0.c new file mode 100644 index 00000000..92389a86 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c60c0.c @@ -0,0 +1,104 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c60c0 FUN_1400c60c0 + * Pseudocode, not original source. */ + +void FUN_1400c60c0(longlong param_1,longlong *param_2) + +{ + byte bVar1; + longlong lVar2; + byte bVar3; + int iVar4; + longlong lVar5; + longlong lVar6; + int iVar7; + int iVar8; + int iVar9; + ulonglong uVar10; + + lVar2 = *param_2; + iVar4 = *(int *)(param_2[2] + 0x14); + uVar10 = (ulonglong)iVar4; + lVar6 = *(longlong *)param_2[2]; + iVar7 = -1; + *(undefined4 *)(param_1 + 0x149c) = 0; + *(undefined4 *)(param_1 + 0x14a0) = 0x23d; + iVar8 = 0; + lVar5 = 0; + if (0 < iVar4) { + do { + if (*(short *)(lVar2 + lVar5 * 4) == 0) { + *(undefined2 *)(lVar2 + 2 + lVar5 * 4) = 0; + } + else { + *(int *)(param_1 + 0x149c) = *(int *)(param_1 + 0x149c) + 1; + *(int *)(param_1 + 0xba8 + (longlong)*(int *)(param_1 + 0x149c) * 4) = iVar8; + *(undefined1 *)(lVar5 + 0x14a4 + param_1) = 0; + iVar7 = iVar8; + } + lVar5 = lVar5 + 1; + iVar8 = iVar8 + 1; + } while (lVar5 < (longlong)uVar10); + } + iVar4 = *(int *)(param_1 + 0x149c); + while (iVar4 < 2) { + if (iVar7 < 2) { + iVar7 = iVar7 + 1; + iVar4 = iVar7; + } + else { + iVar4 = 0; + } + *(int *)(param_1 + 0x149c) = *(int *)(param_1 + 0x149c) + 1; + *(int *)(param_1 + 0xba8 + (longlong)*(int *)(param_1 + 0x149c) * 4) = iVar4; + lVar5 = (longlong)iVar4; + *(undefined2 *)(lVar2 + lVar5 * 4) = 1; + *(undefined1 *)(lVar5 + 0x14a4 + param_1) = 0; + *(int *)(param_1 + 0x1700) = *(int *)(param_1 + 0x1700) + -1; + if (lVar6 != 0) { + *(int *)(param_1 + 0x1704) = + *(int *)(param_1 + 0x1704) - (uint)*(ushort *)(lVar6 + 2 + lVar5 * 4); + } + iVar4 = *(int *)(param_1 + 0x149c); + } + *(int *)(param_2 + 1) = iVar7; + for (iVar4 = *(int *)(param_1 + 0x149c) / 2; 0 < iVar4; iVar4 = iVar4 + -1) { + FUN_1400c4840(param_1,lVar2,iVar4); + } + do { + iVar4 = *(int *)(param_1 + 0xbac); + lVar5 = (longlong)iVar4; + *(undefined4 *)(param_1 + 0xbac) = + *(undefined4 *)(param_1 + 0xba8 + (longlong)*(int *)(param_1 + 0x149c) * 4); + *(int *)(param_1 + 0x149c) = *(int *)(param_1 + 0x149c) + -1; + FUN_1400c4840(param_1,lVar2,1); + *(int *)(param_1 + 0x14a0) = *(int *)(param_1 + 0x14a0) + -1; + iVar8 = *(int *)(param_1 + 0xbac); + lVar6 = (longlong)iVar8; + iVar9 = (int)uVar10; + *(int *)(param_1 + 0xba8 + (longlong)*(int *)(param_1 + 0x14a0) * 4) = iVar4; + *(int *)(param_1 + 0x14a0) = *(int *)(param_1 + 0x14a0) + -1; + *(int *)(param_1 + 0xba8 + (longlong)*(int *)(param_1 + 0x14a0) * 4) = iVar8; + *(short *)(lVar2 + (longlong)iVar9 * 4) = + *(short *)(lVar2 + lVar6 * 4) + *(short *)(lVar2 + lVar5 * 4); + bVar3 = *(byte *)(lVar5 + 0x14a4 + param_1); + bVar1 = *(byte *)(lVar6 + 0x14a4 + param_1); + if (bVar3 < bVar1) { + bVar3 = bVar1; + } + *(byte *)((longlong)iVar9 + 0x14a4 + param_1) = bVar3 + 1; + *(short *)(lVar2 + 2 + lVar6 * 4) = (short)uVar10; + *(short *)(lVar2 + 2 + lVar5 * 4) = (short)uVar10; + *(int *)(param_1 + 0xbac) = iVar9; + uVar10 = (ulonglong)(iVar9 + 1); + lVar6 = param_1; + FUN_1400c4840(param_1,lVar2,1); + } while (1 < *(int *)(param_1 + 0x149c)); + *(int *)(param_1 + 0x14a0) = *(int *)(param_1 + 0x14a0) + -1; + *(undefined4 *)(param_1 + 0xba8 + (longlong)*(int *)(param_1 + 0x14a0) * 4) = + *(undefined4 *)(param_1 + 0xbac); + FUN_1400c4930(lVar6,param_2); + FUN_1400c6010(lVar2,iVar7,param_1 + 0xb88); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c6310.c b/decomp/Agent_Release_x64/full/functions/0x1400c6310.c new file mode 100644 index 00000000..1889d79d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c6310.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c6310 FUN_1400c6310 + * Pseudocode, not original source. */ + +int FUN_1400c6310(longlong param_1) + +{ + longlong lVar1; + int iVar2; + + lVar1 = param_1; + FUN_1400c4b50(param_1,param_1 + 0xbc,*(int *)(param_1 + 0xb48)); + FUN_1400c4b50(lVar1,lVar1 + 0x9b0,*(int *)(lVar1 + 0xb60)); + FUN_1400c60c0(lVar1,(longlong *)(lVar1 + 0xb70)); + iVar2 = 0x12; + lVar1 = 0x12; + do { + if (*(short *)(param_1 + 0xaa6 + (ulonglong)(byte)(&DAT_140111950)[lVar1] * 4) != 0) break; + lVar1 = lVar1 + -1; + iVar2 = iVar2 + -1; + } while (2 < lVar1); + *(int *)(param_1 + 0x1700) = *(int *)(param_1 + 0x1700) + iVar2 * 3 + 0x11; + return iVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c6390.c b/decomp/Agent_Release_x64/full/functions/0x1400c6390.c new file mode 100644 index 00000000..2d2fdd5e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c6390.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c6390 FUN_1400c6390 + * Pseudocode, not original source. */ + +void FUN_1400c6390(longlong param_1,undefined1 *param_2,int param_3,ushort param_4) + +{ + int iVar1; + int iVar2; + + iVar1 = *(int *)(param_1 + 0x1714); + if (iVar1 < 0xe) { + iVar2 = iVar1 + 3; + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | param_4 << ((byte)iVar1 & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | param_4 << ((byte)iVar1 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar2 = *(int *)(param_1 + 0x1714) + -0xd; + *(ushort *)(param_1 + 0x1710) = param_4 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + *(int *)(param_1 + 0x1714) = iVar2; + FUN_1400c59a0(param_1,param_2,param_3,1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c6430.c b/decomp/Agent_Release_x64/full/functions/0x1400c6430.c new file mode 100644 index 00000000..5fd2c1bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c6430.c @@ -0,0 +1,84 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c6430 FUN_1400c6430 + * Pseudocode, not original source. */ + +void FUN_1400c6430(longlong param_1) + +{ + ushort uVar1; + int iVar2; + int iVar3; + + iVar3 = *(int *)(param_1 + 0x1714); + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | 2 << ((byte)iVar3 & 0x1f); + if (iVar3 < 0xe) { + iVar3 = iVar3 + 3; + } + else { + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(ushort *)(param_1 + 0x1710) = 2 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + iVar3 = *(int *)(param_1 + 0x1714) + -0xd; + } + *(int *)(param_1 + 0x1714) = iVar3; + uVar1 = 0; + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | 0 << ((byte)iVar3 & 0x1f); + if (iVar3 < 10) { + iVar3 = iVar3 + 7; + } + else { + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(ushort *)(param_1 + 0x1710) = 0 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + iVar3 = *(int *)(param_1 + 0x1714) + -9; + } + *(int *)(param_1 + 0x1714) = iVar3; + FUN_1400c5910(param_1); + iVar3 = *(int *)(param_1 + 0x1714); + if ((*(int *)(param_1 + 0x170c) - iVar3) + 0xb < 9) { + if (iVar3 < 0xe) { + iVar2 = iVar3 + 3; + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | 2 << ((byte)iVar3 & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | 2 << ((byte)iVar3 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar2 = *(int *)(param_1 + 0x1714) + -0xd; + *(ushort *)(param_1 + 0x1710) = 2 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + *(int *)(param_1 + 0x1714) = iVar2; + if (iVar2 < 10) { + iVar3 = iVar2 + 7; + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar1 << ((byte)iVar2 & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar1 << ((byte)iVar2 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar3 = *(int *)(param_1 + 0x1714) + -9; + *(ushort *)(param_1 + 0x1710) = uVar1 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + *(int *)(param_1 + 0x1714) = iVar3; + FUN_1400c5910(param_1); + } + *(undefined4 *)(param_1 + 0x170c) = 7; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c6650.c b/decomp/Agent_Release_x64/full/functions/0x1400c6650.c new file mode 100644 index 00000000..efa86464 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c6650.c @@ -0,0 +1,113 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c6650 FUN_1400c6650 + * Pseudocode, not original source. */ + +void FUN_1400c6650(longlong *param_1,undefined1 *param_2,int param_3,int param_4) + +{ + ushort uVar1; + undefined1 uVar2; + int iVar3; + int iVar4; + undefined8 uVar5; + uint uVar6; + uint uVar7; + undefined *puVar8; + longlong *plVar9; + longlong lVar10; + + uVar1 = (ushort)param_4; + iVar3 = 0; + if (*(int *)((longlong)param_1 + 0xac) < 1) { + uVar7 = param_3 + 5; +LAB_1400c66e3: + uVar6 = uVar7; + uVar7 = uVar6; + } + else { + lVar10 = *param_1; + if (*(int *)(lVar10 + 0x48) == 2) { + uVar5 = FUN_1400c5890((longlong)param_1); + *(int *)(lVar10 + 0x48) = (int)uVar5; + } + FUN_1400c60c0((longlong)param_1,param_1 + 0x168); + FUN_1400c60c0((longlong)param_1,param_1 + 0x16b); + iVar3 = FUN_1400c6310((longlong)param_1); + uVar6 = (int)param_1[0x2e0] + 10U >> 3; + uVar7 = *(int *)((longlong)param_1 + 0x1704) + 10U >> 3; + if (uVar7 <= uVar6) goto LAB_1400c66e3; + } + if ((uVar6 < param_3 + 4U) || (param_2 == (undefined1 *)0x0)) { + if (((int)param_1[0x16] == 4) || (uVar7 == uVar6)) { + iVar3 = *(int *)((longlong)param_1 + 0x1714); + if (iVar3 < 0xe) { + *(ushort *)(param_1 + 0x2e2) = + *(ushort *)(param_1 + 0x2e2) | uVar1 + 2 << ((byte)iVar3 & 0x1f); + iVar3 = iVar3 + 3; + } + else { + *(ushort *)(param_1 + 0x2e2) = + *(ushort *)(param_1 + 0x2e2) | uVar1 + 2 << ((byte)iVar3 & 0x1f); + *(char *)((ulonglong)*(uint *)(param_1 + 5) + param_1[2]) = (char)param_1[0x2e2]; + *(int *)(param_1 + 5) = (int)param_1[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 5) + param_1[2]) = + *(undefined1 *)((longlong)param_1 + 0x1711); + *(int *)(param_1 + 5) = (int)param_1[5] + 1; + iVar3 = *(int *)((longlong)param_1 + 0x1714) + -0xd; + *(ushort *)(param_1 + 0x2e2) = + (ushort)(uVar1 + 2) >> (0x10U - (char)*(int *)((longlong)param_1 + 0x1714) & 0x1f); + } + *(int *)((longlong)param_1 + 0x1714) = iVar3; + plVar9 = (longlong *)&DAT_140111df0; + puVar8 = &DAT_140111970; + } + else { + iVar4 = *(int *)((longlong)param_1 + 0x1714); + if (iVar4 < 0xe) { + *(ushort *)(param_1 + 0x2e2) = + *(ushort *)(param_1 + 0x2e2) | uVar1 + 4 << ((byte)iVar4 & 0x1f); + iVar4 = iVar4 + 3; + } + else { + *(ushort *)(param_1 + 0x2e2) = + *(ushort *)(param_1 + 0x2e2) | uVar1 + 4 << ((byte)iVar4 & 0x1f); + *(char *)((ulonglong)*(uint *)(param_1 + 5) + param_1[2]) = (char)param_1[0x2e2]; + *(int *)(param_1 + 5) = (int)param_1[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 5) + param_1[2]) = + *(undefined1 *)((longlong)param_1 + 0x1711); + *(int *)(param_1 + 5) = (int)param_1[5] + 1; + iVar4 = *(int *)((longlong)param_1 + 0x1714) + -0xd; + *(ushort *)(param_1 + 0x2e2) = + (ushort)(uVar1 + 4) >> (0x10U - (char)*(int *)((longlong)param_1 + 0x1714) & 0x1f); + } + *(int *)((longlong)param_1 + 0x1714) = iVar4; + FUN_1400c51b0((longlong)param_1,(int)param_1[0x169] + 1,(int)param_1[0x16c] + 1,iVar3 + 1); + plVar9 = param_1 + 0x136; + puVar8 = (undefined *)((longlong)param_1 + 0xbc); + } + FUN_1400c5420((longlong)param_1,(longlong)puVar8,(longlong)plVar9); + } + else { + FUN_1400c6390((longlong)param_1,param_2,param_3,uVar1); + } + FUN_1400c47c0((longlong)param_1); + if (param_4 == 0) { + return; + } + if (*(int *)((longlong)param_1 + 0x1714) < 9) { + if (*(int *)((longlong)param_1 + 0x1714) < 1) goto LAB_1400c68a0; + uVar2 = (undefined1)param_1[0x2e2]; + } + else { + *(char *)((ulonglong)*(uint *)(param_1 + 5) + param_1[2]) = (char)param_1[0x2e2]; + *(int *)(param_1 + 5) = (int)param_1[5] + 1; + uVar2 = *(undefined1 *)((longlong)param_1 + 0x1711); + } + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 5) + param_1[2]) = uVar2; + *(int *)(param_1 + 5) = (int)param_1[5] + 1; +LAB_1400c68a0: + *(undefined2 *)(param_1 + 0x2e2) = 0; + *(undefined4 *)((longlong)param_1 + 0x1714) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c68d0.c b/decomp/Agent_Release_x64/full/functions/0x1400c68d0.c new file mode 100644 index 00000000..e095be86 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c68d0.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c68d0 FUN_1400c68d0 + * Pseudocode, not original source. */ + +int FUN_1400c68d0(byte *param_1,int param_2,undefined *param_3) + +{ + clock_t cVar1; + int iVar2; + int iVar3; + byte bVar4; + byte bVar5; + byte bVar6; + int iVar7; + + bVar4 = 0; + bVar5 = 0; + iVar7 = param_2; + while (iVar7 != 0) { + iVar3 = 8; + bVar6 = 0; + iVar7 = iVar7 + -1; + if (param_3 != (undefined *)0x0) { + (*(code *)param_3)(); + } + do { + iVar3 = iVar3 + -1; + do { + cVar1 = clock(); + iVar2 = clock(); + while (cVar1 == iVar2) { + bVar5 = bVar5 ^ 1; + iVar2 = clock(); + } + cVar1 = clock(); + iVar2 = clock(); + while (cVar1 == iVar2) { + bVar4 = bVar4 ^ 1; + iVar2 = clock(); + } + } while (bVar5 == bVar4); + bVar6 = bVar6 * '\x02' | bVar5; + } while (iVar3 != 0); + *param_1 = bVar6; + param_1 = param_1 + 1; + } + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c69b0.c b/decomp/Agent_Release_x64/full/functions/0x1400c69b0.c new file mode 100644 index 00000000..2259943b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c69b0.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c69b0 FUN_1400c69b0 + * Pseudocode, not original source. */ + +DWORD FUN_1400c69b0(BYTE *param_1,DWORD param_2) + +{ + BOOL BVar1; + HCRYPTPROV local_res18 [2]; + + local_res18[0] = 0; + BVar1 = CryptAcquireContextW + (local_res18,(LPCWSTR)0x0,L"Microsoft Base Cryptographic Provider v1.0",1, + 0xf0000020); + if ((BVar1 == 0) && + (BVar1 = CryptAcquireContextW + (local_res18,(LPCWSTR)0x0,L"Microsoft Base Cryptographic Provider v1.0",1, + 0xf0000028), BVar1 == 0)) { + return 0; + } + BVar1 = CryptGenRandom(local_res18[0],param_2,param_1); + if (BVar1 != 1) { + CryptReleaseContext(local_res18[0],0); + return 0; + } + CryptReleaseContext(local_res18[0],0); + return param_2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c6a60.c b/decomp/Agent_Release_x64/full/functions/0x1400c6a60.c new file mode 100644 index 00000000..45aaa6b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c6a60.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c6a60 FUN_1400c6a60 + * Pseudocode, not original source. */ + +DWORD FUN_1400c6a60(byte *param_1,DWORD param_2,undefined *param_3) + +{ + DWORD DVar1; + + if (param_1 == (byte *)0x0) { + return 0x10; + } + DVar1 = FUN_1400c69b0(param_1,param_2); + if (DVar1 == 0) { + DVar1 = FUN_1400c68d0(param_1,param_2,param_3); + } + return DVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c6ac0.c b/decomp/Agent_Release_x64/full/functions/0x1400c6ac0.c new file mode 100644 index 00000000..8fd3b99d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c6ac0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c6ac0 FUN_1400c6ac0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c6ac0(uint param_1) + +{ + EnterCriticalSection((LPCRITICAL_SECTION)&DAT_140163260); + if ((param_1 < 0x20) && ((&DAT_14015f470)[(longlong)(int)param_1 * 10] != 0)) { + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140163260); + return 0; + } + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140163260); + return 0xc; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c6b20.c b/decomp/Agent_Release_x64/full/functions/0x1400c6b20.c new file mode 100644 index 00000000..9b047ebd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c6b20.c @@ -0,0 +1,97 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c6b20 FUN_1400c6b20 + * Pseudocode, not original source. */ + +ulonglong FUN_1400c6b20(longlong param_1,undefined4 param_2,void *param_3,uint *param_4,int param_5, + int *param_6) + +{ + uint uVar1; + int iVar2; + uint uVar3; + uint uVar4; + ulonglong uVar5; + longlong local_res8; + undefined8 local_28; + undefined8 local_20; + + if (((param_1 == 0) || (param_3 == (void *)0x0)) || (param_4 == (uint *)0x0)) { + return 0x10; + } + if (param_6 == (int *)0x0) { + return 0x10; + } + if (param_5 == 1) { + if (*param_6 != 1) { + return 0xf; + } + } + else if (param_5 != 0) { + return 0x12; + } + uVar5 = FUN_1400cb9c0(&local_res8); + if ((int)uVar5 != 0) { + return uVar5; + } + uVar1 = (*DAT_140163340)(local_res8,param_1,param_2); + uVar5 = (ulonglong)uVar1; + if (uVar1 == 0) { + iVar2 = (*DAT_1401632f8)(*(undefined8 *)(param_6 + 6),local_res8); + if (iVar2 == -1) { + uVar5 = 0x16; + } + else { + if (param_5 == 1) { + uVar1 = (*DAT_1401633e0)(local_res8,*(undefined8 *)(param_6 + 0xe), + *(undefined8 *)(param_6 + 8),local_20); + uVar5 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400c6d30; + uVar1 = (*DAT_1401633e0)(local_res8,*(undefined8 *)(param_6 + 0x10), + *(undefined8 *)(param_6 + 10),local_28); + uVar5 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400c6d30; + uVar1 = (*DAT_140163358)(local_20,local_28,local_res8); + uVar5 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400c6d30; + uVar1 = (*DAT_1401633a8)(local_res8,*(undefined8 *)(param_6 + 0xc), + *(undefined8 *)(param_6 + 8),local_res8); + uVar5 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400c6d30; + uVar1 = (*DAT_140163368)(local_res8,*(undefined8 *)(param_6 + 10),local_res8); + uVar5 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400c6d30; + uVar1 = (*DAT_140163348)(local_res8,local_28,local_res8); + } + else { + uVar1 = (*DAT_1401633e0)(local_res8,*(undefined8 *)(param_6 + 2), + *(undefined8 *)(param_6 + 6),local_res8); + } + uVar5 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = (*DAT_140163330)(*(undefined8 *)(param_6 + 6)); + if (*param_4 < uVar1) { + *param_4 = uVar1; + uVar5 = 6; + } + else { + uVar3 = (*DAT_140163330)(local_res8); + uVar4 = (*DAT_140163330)(*(undefined8 *)(param_6 + 6)); + if (uVar4 < uVar3) { + uVar5 = 1; + } + else { + *param_4 = uVar1; + FUN_1400cb9a0(param_3,(ulonglong)uVar1); + iVar2 = (*DAT_140163330)(local_res8); + uVar1 = (*DAT_140163338)(local_res8,(ulonglong)(uVar1 - iVar2) + (longlong)param_3); + uVar5 = (ulonglong)uVar1; + } + } + } + } + } +LAB_1400c6d30: + FUN_1400cba50(local_res8); + return uVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c6d70.c b/decomp/Agent_Release_x64/full/functions/0x1400c6d70.c new file mode 100644 index 00000000..2ec0d53c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c6d70.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c6d70 FUN_1400c6d70 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c6d70(undefined4 *param_1) + +{ + void *pvVar1; + longlong lVar2; + longlong lVar3; + + pvVar1 = malloc(0x80); + *(void **)(param_1 + 4) = pvVar1; + if (pvVar1 == (void *)0x0) { + return 0xfffffffe; + } + lVar2 = 0; + do { + lVar3 = lVar2 + 8; + *(undefined4 *)(lVar2 + *(longlong *)(param_1 + 4)) = 0; + *(undefined4 *)(lVar2 + 4 + *(longlong *)(param_1 + 4)) = 0; + lVar2 = lVar3; + } while (lVar3 < 0x80); + *param_1 = 0; + *(undefined8 *)(param_1 + 1) = 0x20; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c6dd0.c b/decomp/Agent_Release_x64/full/functions/0x1400c6dd0.c new file mode 100644 index 00000000..4473e7ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c6dd0.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c6dd0 FUN_1400c6dd0 + * Pseudocode, not original source. */ + +void FUN_1400c6dd0(int *param_1) + +{ + uint uVar1; + ulonglong uVar3; + ulonglong uVar2; + + if (*(longlong *)(param_1 + 4) != 0) { + uVar2 = 0; + uVar3 = uVar2; + if (0 < *param_1) { + do { + uVar1 = (int)uVar2 + 1; + uVar2 = (ulonglong)uVar1; + *(undefined4 *)(uVar3 + *(longlong *)(param_1 + 4)) = 0; + uVar3 = uVar3 + 4; + } while ((int)uVar1 < *param_1); + } + free(*(void **)(param_1 + 4)); + param_1[4] = 0; + param_1[5] = 0; + param_1[0] = 0; + param_1[1] = 0; + param_1[2] = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c6e30.c b/decomp/Agent_Release_x64/full/functions/0x1400c6e30.c new file mode 100644 index 00000000..8a4f15a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c6e30.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c6e30 FUN_1400c6e30 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c6e30(uint *param_1,uint *param_2) + +{ + uint uVar1; + undefined8 uVar2; + + if ((param_1 != param_2) && (uVar2 = FUN_1400c6e70(param_1,param_2), (int)uVar2 != 0)) { + return uVar2; + } + uVar1 = 0; + if (*param_2 != 0) { + uVar1 = (uint)(param_1[2] == 0); + } + param_2[2] = uVar1; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c6e70.c b/decomp/Agent_Release_x64/full/functions/0x1400c6e70.c new file mode 100644 index 00000000..92d0f356 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c6e70.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c6e70 FUN_1400c6e70 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c6e70(uint *param_1,uint *param_2) + +{ + undefined8 uVar1; + int iVar2; + undefined4 *puVar3; + undefined4 *puVar4; + undefined4 *puVar5; + + if (param_1 != param_2) { + if (((int)param_2[1] < (int)*param_1) && + (uVar1 = FUN_1400cce50((longlong)param_2,*param_1), (int)uVar1 != 0)) { + return uVar1; + } + puVar5 = *(undefined4 **)(param_1 + 4); + puVar4 = *(undefined4 **)(param_2 + 4); + iVar2 = 0; + puVar3 = puVar4; + if (0 < (int)*param_1) { + do { + iVar2 = iVar2 + 1; + puVar4 = puVar3 + 1; + *puVar3 = *puVar5; + puVar5 = puVar5 + 1; + puVar3 = puVar4; + } while (iVar2 < (int)*param_1); + } + if (iVar2 < (int)*param_2) { + do { + *puVar4 = 0; + iVar2 = iVar2 + 1; + puVar4 = puVar4 + 1; + } while (iVar2 < (int)*param_2); + } + *param_2 = *param_1; + param_2[2] = param_1[2]; + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c6f00.c b/decomp/Agent_Release_x64/full/functions/0x1400c6f00.c new file mode 100644 index 00000000..b685a29a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c6f00.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c6f00 FUN_1400c6f00 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c6f00(uint *param_1,uint param_2) + +{ + uint uVar1; + undefined8 uVar2; + int iVar3; + + FUN_1400cd030(param_1); + iVar3 = 0; + do { + uVar2 = FUN_1400ccf30(param_1,4,param_1); + if ((int)uVar2 != 0) { + return uVar2; + } + iVar3 = iVar3 + 1; + uVar1 = param_2 >> 0x1c; + param_2 = param_2 << 4; + **(uint **)(param_1 + 4) = **(uint **)(param_1 + 4) | uVar1; + *param_1 = *param_1 + 1; + } while (iVar3 < 8); + FUN_1400ccef0((int *)param_1); + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c6fc0.c b/decomp/Agent_Release_x64/full/functions/0x1400c6fc0.c new file mode 100644 index 00000000..73cc811f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c6fc0.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c6fc0 FUN_1400c6fc0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c6fc0(int *param_1,int *param_2) + +{ + int iVar1; + undefined8 uVar2; + int *piVar3; + + iVar1 = param_1[2]; + if (iVar1 != param_2[2]) { + uVar2 = 1; + if (iVar1 == 1) { + uVar2 = 0xffffffff; + } + return uVar2; + } + piVar3 = param_1; + if (iVar1 == 1) { + piVar3 = param_2; + param_2 = param_1; + } + uVar2 = FUN_1400cd060(piVar3,param_2); + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c6ff0.c b/decomp/Agent_Release_x64/full/functions/0x1400c6ff0.c new file mode 100644 index 00000000..992fa408 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c6ff0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c6ff0 FUN_1400c6ff0 + * Pseudocode, not original source. */ + +int FUN_1400c6ff0(int *param_1,uint param_2) + +{ + if (param_1[2] == 1) { + return -1; + } + if ((*param_1 < 2) && (**(uint **)(param_1 + 4) <= param_2)) { + return -(uint)(**(uint **)(param_1 + 4) < param_2); + } + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c7020.c b/decomp/Agent_Release_x64/full/functions/0x1400c7020.c new file mode 100644 index 00000000..278cd132 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c7020.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c7020 FUN_1400c7020 + * Pseudocode, not original source. */ + +int FUN_1400c7020(int *param_1) + +{ + int iVar1; + int iVar2; + uint uVar3; + + iVar1 = *param_1; + if (iVar1 != 0) { + iVar2 = iVar1 * 0x1c + -0x1c; + for (uVar3 = *(uint *)(*(longlong *)(param_1 + 4) + -4 + (longlong)iVar1 * 4); uVar3 != 0; + uVar3 = uVar3 >> 1) { + iVar2 = iVar2 + 1; + } + return iVar2; + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c7050.c b/decomp/Agent_Release_x64/full/functions/0x1400c7050.c new file mode 100644 index 00000000..586d4465 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c7050.c @@ -0,0 +1,37 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c7050 FUN_1400c7050 + * Pseudocode, not original source. */ + +int FUN_1400c7050(int *param_1) + +{ + uint uVar1; + int *piVar2; + uint uVar3; + int iVar4; + int iVar5; + + iVar5 = *param_1; + if (iVar5 == 0) { + return 0; + } + iVar4 = 0; + if (0 < iVar5) { + piVar2 = *(int **)(param_1 + 4); + do { + if (*piVar2 != 0) break; + iVar4 = iVar4 + 1; + piVar2 = piVar2 + 1; + } while (iVar4 < iVar5); + } + iVar5 = iVar4 * 0x1c; + uVar1 = *(uint *)(*(longlong *)(param_1 + 4) + (longlong)iVar4 * 4); + uVar3 = uVar1 & 1; + while (uVar3 == 0) { + uVar3 = uVar1 & 0xf; + iVar5 = iVar5 + *(int *)(&DAT_140112400 + (ulonglong)uVar3 * 4); + uVar1 = uVar1 >> 4; + } + return iVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c70c0.c b/decomp/Agent_Release_x64/full/functions/0x1400c70c0.c new file mode 100644 index 00000000..016cd6a5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c70c0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c70c0 FUN_1400c70c0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c70c0(uint *param_1,int param_2) + +{ + int iVar1; + undefined8 uVar2; + + FUN_1400cd030(param_1); + iVar1 = param_2 / 0x1c; + uVar2 = FUN_1400cce50((longlong)param_1,iVar1 + 1U); + if ((int)uVar2 == 0) { + *param_1 = iVar1 + 1U; + *(int *)(*(longlong *)(param_1 + 4) + (longlong)iVar1 * 4) = + 1 << ((char)param_2 + (char)iVar1 * -0x1c & 0x1fU); + uVar2 = 0; + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c7140.c b/decomp/Agent_Release_x64/full/functions/0x1400c7140.c new file mode 100644 index 00000000..e5adf195 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c7140.c @@ -0,0 +1,56 @@ +/* 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; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c7240.c b/decomp/Agent_Release_x64/full/functions/0x1400c7240.c new file mode 100644 index 00000000..a7b65535 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c7240.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c7240 FUN_1400c7240 + * Pseudocode, not original source. */ + +ulonglong FUN_1400c7240(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_1400cd290(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_1400cd110(local_38,param_3,local_38,local_res18); + if ((int)uVar2 != 0) { + FUN_1400c6dd0((int *)local_38); + return uVar2 & 0xffffffff; + } + iVar3 = iVar3 + 1; + *(undefined *)puVar1 = PTR_s_0123456789ABCDEFGHIJKLMNOPQRSTUV_140157330[local_res18[0]]; + puVar1 = (undefined2 *)((longlong)puVar1 + 1); + } + FUN_1400cd0c0((undefined1 *)param_2,iVar3); + *(undefined1 *)puVar1 = 0; + FUN_1400c6dd0((int *)local_38); + uVar2 = 0; + } + return uVar2; + } + *param_2 = 0x30; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c7340.c b/decomp/Agent_Release_x64/full/functions/0x1400c7340.c new file mode 100644 index 00000000..2fde8ff4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c7340.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c7340 FUN_1400c7340 + * Pseudocode, not original source. */ + +int FUN_1400c7340(int *param_1) + +{ + uint uVar1; + + uVar1 = FUN_1400c7020(param_1); + return ((int)(uVar1 + ((int)uVar1 >> 0x1f & 7U)) >> 3) + (uint)((uVar1 & 7) != 0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c7370.c b/decomp/Agent_Release_x64/full/functions/0x1400c7370.c new file mode 100644 index 00000000..72047876 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c7370.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c7370 FUN_1400c7370 + * Pseudocode, not original source. */ + +ulonglong FUN_1400c7370(uint *param_1,undefined1 *param_2) + +{ + ulonglong uVar1; + ulonglong uVar2; + int iVar3; + undefined1 *puVar4; + uint local_28 [4]; + undefined1 *local_18; + + uVar1 = FUN_1400cd290(local_28,param_1); + if ((int)uVar1 == 0) { + iVar3 = 0; + puVar4 = param_2; + do { + if (local_28[0] == 0) { + FUN_1400cd0c0(param_2,iVar3); + FUN_1400c6dd0((int *)local_28); + return 0; + } + iVar3 = iVar3 + 1; + *puVar4 = *local_18; + puVar4 = puVar4 + 1; + uVar2 = FUN_1400cd2c0(local_28,8,local_28,(undefined8 *)0x0); + uVar1 = uVar2 & 0xffffffff; + } while ((int)uVar2 == 0); + FUN_1400c6dd0((int *)local_28); + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c7420.c b/decomp/Agent_Release_x64/full/functions/0x1400c7420.c new file mode 100644 index 00000000..fb168984 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c7420.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c7420 FUN_1400c7420 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c7420(uint *param_1,byte *param_2,int param_3) + +{ + byte bVar1; + undefined8 uVar2; + + if ((1 < (int)param_1[1]) || (uVar2 = FUN_1400cce50((longlong)param_1,2), (int)uVar2 == 0)) { + FUN_1400cd030(param_1); + while (0 < param_3) { + param_3 = param_3 + -1; + uVar2 = FUN_1400ccf30(param_1,8,param_1); + if ((int)uVar2 != 0) { + return uVar2; + } + bVar1 = *param_2; + param_2 = param_2 + 1; + **(uint **)(param_1 + 4) = **(uint **)(param_1 + 4) | (uint)bVar1; + *param_1 = *param_1 + 1; + } + FUN_1400ccef0((int *)param_1); + uVar2 = 0; + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c74b0.c b/decomp/Agent_Release_x64/full/functions/0x1400c74b0.c new file mode 100644 index 00000000..2cb239cb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c74b0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c74b0 FUN_1400c74b0 + * Pseudocode, not original source. */ + +void FUN_1400c74b0(uint *param_1,uint *param_2,uint *param_3) + +{ + uint uVar1; + uint uVar2; + undefined8 uVar3; + uint *puVar4; + + uVar1 = param_1[2]; + uVar2 = param_2[2]; + if (uVar1 == uVar2) { + param_3[2] = uVar1; + FUN_1400cd540(param_1,param_2,param_3); + } + else { + uVar3 = FUN_1400cd060((int *)param_1,(int *)param_2); + if ((int)uVar3 == -1) { + param_3[2] = uVar2; + puVar4 = param_2; + } + else { + param_3[2] = uVar1; + puVar4 = param_1; + param_1 = param_2; + } + FUN_1400cd440(puVar4,param_1,param_3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c7530.c b/decomp/Agent_Release_x64/full/functions/0x1400c7530.c new file mode 100644 index 00000000..bfc2c98d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c7530.c @@ -0,0 +1,69 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c7530 FUN_1400c7530 + * Pseudocode, not original source. */ + +ulonglong FUN_1400c7530(int *param_1,uint param_2,int *param_3) + +{ + int iVar1; + int iVar2; + ulonglong uVar3; + int iVar4; + uint uVar5; + uint *puVar6; + uint *puVar7; + int *piVar8; + + if ((param_3[1] < (int)(*param_1 + 1U)) && + (uVar3 = FUN_1400cce50((longlong)param_3,*param_1 + 1U), (int)uVar3 != 0)) { + return uVar3; + } + if ((param_1[2] == 1) && ((1 < *param_1 || (param_2 <= **(uint **)(param_1 + 4))))) { + param_1[2] = 0; + uVar3 = FUN_1400c76f0(param_1,param_2,param_3); + param_3[2] = 1; + param_1[2] = 1; + FUN_1400ccef0(param_3); + return uVar3 & 0xffffffff; + } + iVar1 = *param_3; + puVar6 = *(uint **)(param_3 + 4); + param_3[2] = 0; + piVar8 = *(int **)(param_1 + 4); + iVar4 = 1; + if (param_1[2] == 0) { + iVar2 = *piVar8; + puVar7 = puVar6 + 1; + *puVar6 = param_2 + iVar2 & 0xfffffff; + uVar5 = param_2 + iVar2 >> 0x1c; + puVar6 = puVar7; + if (1 < *param_1) { + do { + piVar8 = piVar8 + 1; + iVar2 = *piVar8; + iVar4 = iVar4 + 1; + puVar7 = puVar6 + 1; + *puVar6 = uVar5 + iVar2 & 0xfffffff; + uVar5 = uVar5 + iVar2 >> 0x1c; + puVar6 = puVar7; + } while (iVar4 < *param_1); + } + *puVar7 = uVar5; + iVar4 = iVar4 + 1; + *param_3 = *param_1 + 1; + puVar6 = puVar7; + } + else { + *param_3 = 1; + if (*param_1 == 1) { + param_2 = param_2 - **(int **)(param_1 + 4); + } + *puVar6 = param_2; + } + if (iVar4 < iVar1) { + memset(puVar6 + 1,0,(ulonglong)(uint)(iVar1 - iVar4) << 2); + } + FUN_1400ccef0(param_3); + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c7670.c b/decomp/Agent_Release_x64/full/functions/0x1400c7670.c new file mode 100644 index 00000000..46f3e864 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c7670.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c7670 FUN_1400c7670 + * Pseudocode, not original source. */ + +void FUN_1400c7670(uint *param_1,uint *param_2,uint *param_3) + +{ + uint uVar1; + undefined8 uVar2; + uint *puVar3; + + uVar1 = param_1[2]; + if (uVar1 == param_2[2]) { + uVar2 = FUN_1400cd060((int *)param_1,(int *)param_2); + if ((int)uVar2 == -1) { + param_3[2] = (uint)(uVar1 == 0); + puVar3 = param_2; + param_2 = param_1; + } + else { + param_3[2] = uVar1; + puVar3 = param_1; + } + FUN_1400cd440(puVar3,param_2,param_3); + } + else { + param_3[2] = uVar1; + FUN_1400cd540(param_1,param_2,param_3); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c76f0.c b/decomp/Agent_Release_x64/full/functions/0x1400c76f0.c new file mode 100644 index 00000000..81281646 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c76f0.c @@ -0,0 +1,67 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c76f0 FUN_1400c76f0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400c76f0(int *param_1,uint param_2,int *param_3) + +{ + int iVar1; + uint uVar2; + ulonglong uVar3; + uint *puVar4; + uint *_Dst; + int iVar5; + uint *puVar6; + + if (((int)(*param_1 + 1U) <= param_3[1]) || + (uVar3 = FUN_1400cce50((longlong)param_3,*param_1 + 1U), (int)uVar3 == 0)) { + if (param_1[2] == 1) { + param_1[2] = 0; + uVar3 = FUN_1400c7530(param_1,param_2,param_3); + param_3[2] = 1; + param_1[2] = 1; + FUN_1400ccef0(param_3); + return uVar3 & 0xffffffff; + } + iVar5 = *param_1; + iVar1 = *param_3; + puVar6 = *(uint **)(param_1 + 4); + puVar4 = *(uint **)(param_3 + 4); + if (((iVar5 == 1) && (*puVar6 <= param_2)) || (iVar5 == 0)) { + if (iVar5 == 1) { + param_2 = param_2 - *puVar6; + } + *puVar4 = param_2; + iVar5 = 1; + _Dst = puVar4 + 1; + param_3[2] = 1; + *param_3 = 1; + } + else { + param_3[2] = 0; + iVar5 = 1; + *param_3 = *param_1; + _Dst = puVar4 + 1; + uVar2 = *puVar6 - param_2; + *puVar4 = uVar2 & 0xfffffff; + puVar4 = _Dst; + if (1 < *param_1) { + do { + puVar6 = puVar6 + 1; + iVar5 = iVar5 + 1; + _Dst = puVar4 + 1; + uVar2 = *puVar6 + ((int)uVar2 >> 0x1f); + *puVar4 = uVar2 & 0xfffffff; + puVar4 = _Dst; + } while (iVar5 < *param_1); + } + } + if (iVar5 < iVar1) { + memset(_Dst,0,(ulonglong)(uint)(iVar1 - iVar5) << 2); + } + FUN_1400ccef0(param_3); + uVar3 = 0; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c7830.c b/decomp/Agent_Release_x64/full/functions/0x1400c7830.c new file mode 100644 index 00000000..71ec1eff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c7830.c @@ -0,0 +1,56 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c7830 FUN_1400c7830 + * Pseudocode, not original source. */ + +void FUN_1400c7830(uint *param_1,uint *param_2,uint *param_3) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + uint uVar4; + uint uVar5; + uint uVar6; + + uVar1 = param_2[2]; + uVar6 = *param_2; + uVar2 = param_1[2]; + uVar3 = *param_1; + uVar5 = 0; + uVar4 = uVar6; + if ((int)uVar3 < (int)uVar6) { + uVar4 = uVar3; + } + if ((int)uVar4 < DAT_140157340) { + uVar4 = uVar6; + if ((int)uVar3 < (int)uVar6) { + uVar4 = uVar3; + } + if ((int)uVar4 < DAT_140157338) { + uVar4 = uVar6 + 1 + uVar3; + if ((int)uVar4 < 0x200) { + if ((int)uVar3 < (int)uVar6) { + uVar6 = uVar3; + } + if ((int)uVar6 < 0x101) { + FUN_1400cd7d0((int *)param_1,(int *)param_2,param_3,uVar4); + goto LAB_1400c78c2; + } + } + FUN_1400cd670(param_1,param_2,param_3,uVar4); + } + else { + FUN_1400cd970((int *)param_1,(int *)param_2,param_3); + } + } + else { + FUN_1400cdc50(param_1,param_2,param_3); + } +LAB_1400c78c2: + if (0 < (int)*param_3) { + uVar5 = (uint)(uVar2 != uVar1); + } + param_3[2] = uVar5; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c78e0.c b/decomp/Agent_Release_x64/full/functions/0x1400c78e0.c new file mode 100644 index 00000000..cdbba0f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c78e0.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c78e0 FUN_1400c78e0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c78e0(int *param_1,uint param_2,int *param_3) + +{ + int iVar1; + uint uVar2; + uint uVar3; + undefined8 uVar4; + ulonglong uVar5; + uint *puVar6; + uint *puVar7; + uint *puVar8; + + if (((int)(*param_1 + 1U) <= param_3[1]) || + (uVar4 = FUN_1400cce50((longlong)param_3,*param_1 + 1U), (int)uVar4 == 0)) { + iVar1 = *param_3; + puVar7 = *(uint **)(param_3 + 4); + param_3[2] = param_1[2]; + puVar8 = *(uint **)(param_1 + 4); + uVar2 = 0; + uVar5 = 0; + puVar6 = puVar7; + uVar3 = uVar2; + if (0 < *param_1) { + do { + uVar3 = *puVar8; + uVar2 = uVar2 + 1; + puVar8 = puVar8 + 1; + puVar7 = puVar6 + 1; + uVar5 = (ulonglong)uVar3 * (ulonglong)param_2 + (uVar5 & 0xffffffff); + *puVar6 = (uint)uVar5 & 0xfffffff; + uVar5 = uVar5 >> 0x1c; + uVar3 = (uint)uVar5; + puVar6 = puVar7; + } while ((int)uVar2 < *param_1); + } + *puVar7 = uVar3; + if ((int)(uVar2 + 1) < iVar1) { + memset(puVar7 + 1,0,(ulonglong)(iVar1 - (uVar2 + 1)) << 2); + } + *param_3 = *param_1 + 1; + FUN_1400ccef0(param_3); + uVar4 = 0; + } + return uVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c79a0.c b/decomp/Agent_Release_x64/full/functions/0x1400c79a0.c new file mode 100644 index 00000000..81bb38b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c79a0.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c79a0 FUN_1400c79a0 + * Pseudocode, not original source. */ + +void FUN_1400c79a0(uint *param_1,uint *param_2) + +{ + uint uVar1; + + uVar1 = *param_1; + if (DAT_140157344 <= (int)uVar1) { + FUN_1400ce970(param_1,param_2); + param_2[2] = 0; + return; + } + if (DAT_14015733c <= (int)uVar1) { + FUN_1400ce730((int *)param_1,param_2); + param_2[2] = 0; + return; + } + if (((int)(uVar1 * 2 + 1) < 0x200) && ((int)uVar1 < 0x80)) { + FUN_1400ce560((int *)param_1,(int *)param_2); + param_2[2] = 0; + return; + } + FUN_1400ce3f0((int *)param_1,(undefined8 *)param_2); + param_2[2] = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c7a20.c b/decomp/Agent_Release_x64/full/functions/0x1400c7a20.c new file mode 100644 index 00000000..f0d0beeb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c7a20.c @@ -0,0 +1,214 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c7a20 FUN_1400c7a20 + * Pseudocode, not original source. */ + +ulonglong FUN_1400c7a20(uint *param_1,uint *param_2,undefined8 *param_3,uint *param_4) + +{ + int *piVar1; + uint uVar2; + uint uVar3; + int iVar4; + undefined8 uVar5; + ulonglong uVar6; + undefined4 uVar7; + undefined4 uVar8; + ulonglong uVar9; + longlong lVar10; + longlong lVar11; + int iVar12; + longlong lVar13; + uint local_d8 [2]; + uint local_d0; + longlong local_c8; + uint local_c0; + uint local_bc; + uint local_b8 [2]; + undefined4 local_b0; + longlong local_a8; + uint local_a0 [4]; + undefined4 *local_90; + int local_88 [4]; + longlong local_78; + uint local_70; + int local_68 [4]; + undefined4 *local_58; + + if (*param_2 == 0) { + return 0xfffffffd; + } + uVar5 = FUN_1400cd060((int *)param_1,(int *)param_2); + if ((int)uVar5 == -1) { + uVar6 = 0; + if (param_4 != (uint *)0x0) { + uVar6 = FUN_1400c6e70(param_1,param_4); + uVar6 = uVar6 & 0xffffffff; + } + if (param_3 != (undefined8 *)0x0) { + FUN_1400cd030((undefined4 *)param_3); + } + return uVar6; + } + uVar6 = FUN_1400cf070(local_88,*param_1 + 2); + if ((int)uVar6 != 0) { + return uVar6; + } + local_88[0] = *param_1 + 2; + uVar6 = FUN_1400c6d70(local_a0); + uVar9 = uVar6 & 0xffffffff; + if ((int)uVar6 != 0) goto LAB_1400c7f29; + uVar6 = FUN_1400c6d70(local_68); + uVar9 = uVar6 & 0xffffffff; + if ((int)uVar6 == 0) { + uVar3 = FUN_1400cd290(local_d8,param_1); + uVar9 = (ulonglong)uVar3; + if (uVar3 == 0) { + uVar3 = FUN_1400cd290(local_b8,param_2); + uVar9 = (ulonglong)uVar3; + if (uVar3 == 0) { + local_b0 = 0; + local_d0 = 0; + local_70 = (uint)(param_1[2] != param_2[2]); + iVar4 = FUN_1400c7020((int *)local_b8); + if (iVar4 % 0x1c < 0x1b) { + uVar3 = 0x1b - iVar4 % 0x1c; + local_c0 = uVar3; + uVar6 = FUN_1400ccf30(local_d8,uVar3,local_d8); + uVar9 = uVar6 & 0xffffffff; + if ((int)uVar6 == 0) { + uVar6 = FUN_1400ccf30(local_b8,uVar3,local_b8); + uVar9 = uVar6 & 0xffffffff; + if ((int)uVar6 == 0) goto LAB_1400c7b9a; + } + } + else { + local_c0 = 0; +LAB_1400c7b9a: + iVar4 = local_b8[0] - 1; + iVar12 = local_d8[0] - 1; + uVar6 = FUN_1400cefe0((int *)local_b8,iVar12 - iVar4); + uVar9 = uVar6 & 0xffffffff; + if ((int)uVar6 == 0) { + lVar11 = (longlong)iVar12; + lVar13 = (longlong)iVar4; + uVar5 = FUN_1400c6fc0((int *)local_d8,(int *)local_b8); + if ((int)uVar5 != -1) { + do { + piVar1 = (int *)(local_78 + (lVar11 - lVar13) * 4); + *piVar1 = *piVar1 + 1; + uVar3 = FUN_1400c7670(local_d8,local_b8,local_d8); + uVar9 = (ulonglong)uVar3; + if (uVar3 != 0) goto LAB_1400c7f05; + uVar5 = FUN_1400c6fc0((int *)local_d8,(int *)local_b8); + } while ((int)uVar5 != -1); + } + FUN_1400cef60((int *)local_b8,iVar12 - iVar4); + local_bc = local_b8[0]; + uVar3 = local_b8[0]; + if ((int)local_b8[0] <= iVar12) { + do { + if (iVar12 <= (int)local_d8[0]) { + uVar3 = *(uint *)(local_c8 + lVar11 * 4); + uVar2 = *(uint *)(local_a8 + lVar13 * 4); + if (uVar3 == uVar2) { + lVar10 = (lVar11 - lVar13) * 4 + -4; + *(undefined4 *)(lVar10 + local_78) = 0xfffffff; + } + else { + uVar6 = ((ulonglong)uVar3 << 0x1c | + (ulonglong)*(uint *)(local_c8 + -4 + lVar11 * 4)) / (ulonglong)uVar2; + if (0xfffffff < uVar6) { + uVar6 = 0xfffffff; + } + lVar10 = (lVar11 - lVar13) * 4 + -4; + *(uint *)(lVar10 + local_78) = (uint)uVar6 & 0xfffffff; + } + *(uint *)(lVar10 + local_78) = *(int *)(lVar10 + local_78) + 1U & 0xfffffff; + do { + *(uint *)(lVar10 + local_78) = *(int *)(lVar10 + local_78) - 1U & 0xfffffff; + FUN_1400cd030(local_a0); + uVar7 = 0; + if (-1 < (int)(local_b8[0] - 2)) { + uVar7 = *(undefined4 *)(local_a8 + -4 + lVar13 * 4); + } + *local_90 = uVar7; + local_90[1] = *(undefined4 *)(local_a8 + lVar13 * 4); + local_a0[0] = 2; + uVar6 = FUN_1400c78e0((int *)local_a0,*(uint *)(lVar10 + local_78), + (int *)local_a0); + uVar9 = uVar6 & 0xffffffff; + if ((int)uVar6 != 0) goto LAB_1400c7f05; + uVar7 = 0; + uVar8 = uVar7; + if (-1 < iVar12 + -2) { + uVar8 = *(undefined4 *)(local_c8 + -8 + lVar11 * 4); + } + *local_58 = uVar8; + if (-1 < iVar12 + -1) { + uVar7 = *(undefined4 *)(local_c8 + -4 + lVar11 * 4); + } + local_58[1] = uVar7; + local_58[2] = *(undefined4 *)(local_c8 + lVar11 * 4); + local_68[0] = 3; + uVar5 = FUN_1400cd060((int *)local_a0,local_68); + } while ((int)uVar5 == 1); + uVar6 = FUN_1400c78e0((int *)local_b8,*(uint *)(lVar10 + local_78),(int *)local_a0 + ); + uVar9 = uVar6 & 0xffffffff; + if ((int)uVar6 != 0) goto LAB_1400c7f05; + uVar6 = FUN_1400cefe0((int *)local_a0,(iVar12 - iVar4) - 1); + uVar9 = uVar6 & 0xffffffff; + if ((int)uVar6 != 0) goto LAB_1400c7f05; + uVar3 = FUN_1400c7670(local_d8,local_a0,local_d8); + uVar9 = (ulonglong)uVar3; + if (uVar3 != 0) goto LAB_1400c7f05; + uVar3 = local_bc; + if (local_d0 == 1) { + uVar6 = FUN_1400c6e70(local_b8,local_a0); + uVar9 = uVar6 & 0xffffffff; + if ((int)uVar6 != 0) goto LAB_1400c7f05; + uVar6 = FUN_1400cefe0((int *)local_a0,(iVar12 - iVar4) - 1); + uVar9 = uVar6 & 0xffffffff; + if ((int)uVar6 != 0) goto LAB_1400c7f05; + uVar3 = FUN_1400c74b0(local_d8,local_a0,local_d8); + uVar9 = (ulonglong)uVar3; + if (uVar3 != 0) goto LAB_1400c7f05; + *(uint *)(lVar10 + local_78) = *(int *)(lVar10 + local_78) - 1U & 0xfffffff; + uVar3 = local_bc; + } + } + iVar12 = iVar12 + -1; + lVar11 = lVar11 + -1; + } while ((int)uVar3 <= iVar12); + } + if (local_d8[0] == 0) { + local_d0 = 0; + } + else { + local_d0 = param_1[2]; + } + if (param_3 != (undefined8 *)0x0) { + FUN_1400ccef0(local_88); + FUN_1400cef30((undefined8 *)local_88,param_3); + *(uint *)(param_3 + 1) = local_70; + } + if (param_4 != (uint *)0x0) { + FUN_1400cd2c0(local_d8,local_c0,local_d8,(undefined8 *)0x0); + FUN_1400cef30((undefined8 *)local_d8,(undefined8 *)param_4); + } + uVar9 = 0; + } + } +LAB_1400c7f05: + FUN_1400c6dd0((int *)local_b8); + } + FUN_1400c6dd0((int *)local_d8); + } + FUN_1400c6dd0(local_68); + } + FUN_1400c6dd0((int *)local_a0); +LAB_1400c7f29: + FUN_1400c6dd0(local_88); + return uVar9; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c7f50.c b/decomp/Agent_Release_x64/full/functions/0x1400c7f50.c new file mode 100644 index 00000000..211bdd47 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c7f50.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c7f50 FUN_1400c7f50 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c7f50(uint *param_1,uint *param_2) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + uint *puVar4; + undefined8 uVar5; + uint uVar6; + uint *puVar7; + uint uVar8; + + if (((int)*param_1 <= (int)param_2[1]) || + (uVar5 = FUN_1400cce50((longlong)param_2,*param_1), (int)uVar5 == 0)) { + uVar1 = *param_1; + uVar2 = *param_2; + uVar6 = 0; + *param_2 = uVar1; + puVar7 = (uint *)(*(longlong *)(param_1 + 4) + -4 + (longlong)(int)uVar1 * 4); + puVar4 = (uint *)(*(longlong *)(param_2 + 4) + -4 + (longlong)(int)uVar1 * 4); + while (uVar1 = uVar1 - 1, -1 < (int)uVar1) { + uVar3 = *puVar7; + uVar8 = uVar6 << 0x1b; + puVar7 = puVar7 + -1; + uVar6 = uVar3 & 1; + *puVar4 = uVar3 >> 1 | uVar8; + puVar4 = puVar4 + -1; + } + uVar1 = *param_2; + if ((int)uVar1 < (int)uVar2) { + memset((void *)(*(longlong *)(param_2 + 4) + (longlong)(int)uVar1 * 4),0, + (ulonglong)(uVar2 - uVar1) << 2); + } + param_2[2] = param_1[2]; + FUN_1400ccef0((int *)param_2); + uVar5 = 0; + } + return uVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c8000.c b/decomp/Agent_Release_x64/full/functions/0x1400c8000.c new file mode 100644 index 00000000..c04a8e51 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c8000.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c8000 FUN_1400c8000 + * Pseudocode, not original source. */ + +void FUN_1400c8000(uint *param_1,uint param_2,uint *param_3) + +{ + FUN_1400cd110(param_1,param_2,(uint *)0x0,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c8010.c b/decomp/Agent_Release_x64/full/functions/0x1400c8010.c new file mode 100644 index 00000000..78278e1b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c8010.c @@ -0,0 +1,90 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c8010 FUN_1400c8010 + * Pseudocode, not original source. */ + +ulonglong FUN_1400c8010(uint *param_1,uint *param_2,uint *param_3) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + ulonglong uVar4; + ulonglong uVar5; + undefined8 uVar6; + uint local_48 [2]; + uint local_40; + uint local_30 [2]; + uint local_28; + + if (*param_1 == 0) { + uVar4 = FUN_1400cf120(param_2,param_3); + return uVar4; + } + if (*param_2 == 0) { + uVar4 = FUN_1400cf120(param_1,param_3); + return uVar4; + } + uVar4 = FUN_1400cd290(local_30,param_1); + if ((int)uVar4 != 0) { + return uVar4; + } + uVar1 = FUN_1400cd290(local_48,param_2); + uVar4 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400c81cf; + local_40 = uVar1; + local_28 = uVar1; + uVar2 = FUN_1400c7050((int *)local_30); + uVar3 = FUN_1400c7050((int *)local_48); + uVar1 = uVar3; + if ((int)uVar2 < (int)uVar3) { + uVar1 = uVar2; + } + if ((int)uVar1 < 1) { +LAB_1400c80ef: + if (uVar2 != uVar1) { + uVar5 = FUN_1400cd2c0(local_30,uVar2 - uVar1,local_30,(undefined8 *)0x0); + uVar4 = uVar5 & 0xffffffff; + if ((int)uVar5 != 0) goto LAB_1400c81b4; + } + if (uVar3 != uVar1) { + uVar5 = FUN_1400cd2c0(local_48,uVar3 - uVar1,local_48,(undefined8 *)0x0); + uVar4 = uVar5 & 0xffffffff; + if ((int)uVar5 != 0) goto LAB_1400c81b4; + } + do { + if (local_48[0] == 0) { + uVar5 = FUN_1400ccf30(local_30,uVar1,param_3); + uVar4 = uVar5 & 0xffffffff; + if ((int)uVar5 == 0) { + param_3[2] = 0; + } + break; + } + uVar6 = FUN_1400cd060((int *)local_30,(int *)local_48); + if ((int)uVar6 == 1) { + FUN_1400cef30((undefined8 *)local_30,(undefined8 *)local_48); + } + uVar5 = FUN_1400cd440(local_48,local_30,local_48); + uVar4 = uVar5 & 0xffffffff; + if ((int)uVar5 != 0) break; + uVar2 = FUN_1400c7050((int *)local_48); + uVar5 = FUN_1400cd2c0(local_48,uVar2,local_48,(undefined8 *)0x0); + uVar4 = uVar5 & 0xffffffff; + } while ((int)uVar5 == 0); + } + else { + uVar5 = FUN_1400cd2c0(local_30,uVar1,local_30,(undefined8 *)0x0); + uVar4 = uVar5 & 0xffffffff; + if ((int)uVar5 == 0) { + uVar5 = FUN_1400cd2c0(local_48,uVar1,local_48,(undefined8 *)0x0); + uVar4 = uVar5 & 0xffffffff; + if ((int)uVar5 == 0) goto LAB_1400c80ef; + } + } +LAB_1400c81b4: + FUN_1400c6dd0((int *)local_30); +LAB_1400c81cf: + FUN_1400c6dd0((int *)local_48); + return uVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c81f0.c b/decomp/Agent_Release_x64/full/functions/0x1400c81f0.c new file mode 100644 index 00000000..d91a42c1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c81f0.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c81f0 FUN_1400c81f0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400c81f0(uint *param_1,uint *param_2,uint *param_3) + +{ + int iVar1; + uint uVar2; + ulonglong uVar3; + ulonglong uVar4; + undefined8 uVar5; + uint local_38 [6]; + uint local_20 [6]; + + uVar3 = FUN_1400cf190((int *)local_20); + if ((int)uVar3 == 0) { + uVar4 = FUN_1400c8010(param_1,param_2,local_20); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar5 = FUN_1400cd060((int *)param_1,(int *)param_2); + if ((int)uVar5 == -1) { + uVar3 = FUN_1400c7a20(param_1,local_20,(undefined8 *)local_38,(uint *)0x0); + iVar1 = (int)uVar3; + param_1 = param_2; + } + else { + uVar3 = FUN_1400c7a20(param_2,local_20,(undefined8 *)local_38,(uint *)0x0); + iVar1 = (int)uVar3; + } + uVar3 = uVar3 & 0xffffffff; + if (iVar1 == 0) { + uVar2 = FUN_1400c7830(param_1,local_38,param_3); + param_3[2] = 0; + uVar3 = (ulonglong)uVar2; + } + } + FUN_1400cf150((int *)local_20); + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c82c0.c b/decomp/Agent_Release_x64/full/functions/0x1400c82c0.c new file mode 100644 index 00000000..fd7fbc64 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c82c0.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c82c0 FUN_1400c82c0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400c82c0(uint *param_1,uint *param_2,uint *param_3,uint *param_4) + +{ + uint uVar1; + ulonglong uVar2; + uint local_28 [8]; + + uVar2 = FUN_1400c6d70(local_28); + if ((int)uVar2 == 0) { + uVar1 = FUN_1400c7830(param_1,param_2,local_28); + uVar2 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar2 = FUN_1400cf210(local_28,param_3,param_4); + uVar2 = uVar2 & 0xffffffff; + } + FUN_1400c6dd0((int *)local_28); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c8340.c b/decomp/Agent_Release_x64/full/functions/0x1400c8340.c new file mode 100644 index 00000000..becdafec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c8340.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c8340 FUN_1400c8340 + * Pseudocode, not original source. */ + +ulonglong FUN_1400c8340(uint *param_1,uint *param_2,uint *param_3) + +{ + uint uVar1; + ulonglong uVar2; + uint local_28 [8]; + + uVar2 = FUN_1400c6d70(local_28); + if ((int)uVar2 == 0) { + uVar1 = FUN_1400c79a0(param_1,local_28); + uVar2 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar2 = FUN_1400cf210(local_28,param_2,param_3); + uVar2 = uVar2 & 0xffffffff; + } + FUN_1400c6dd0((int *)local_28); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c83b0.c b/decomp/Agent_Release_x64/full/functions/0x1400c83b0.c new file mode 100644 index 00000000..002cf0af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c83b0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c83b0 FUN_1400c83b0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400c83b0(uint *param_1,uint *param_2,undefined8 *param_3) + +{ + ulonglong uVar1; + + if ((param_2[2] == 1) || (*param_2 == 0)) { + return 0xfffffffd; + } + if ((0 < (int)*param_2) && ((**(byte **)(param_2 + 4) & 1) != 0)) { + uVar1 = FUN_1400cf710(param_1,param_2,param_3); + return uVar1; + } + uVar1 = FUN_1400cf2c0(param_1,param_2,param_3); + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c83e0.c b/decomp/Agent_Release_x64/full/functions/0x1400c83e0.c new file mode 100644 index 00000000..d296c610 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c83e0.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c83e0 FUN_1400c83e0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c83e0(longlong param_1,uint *param_2) + +{ + uint uVar1; + int iVar2; + + uVar1 = **(uint **)(param_1 + 0x10); + if ((uVar1 & 1) == 0) { + return 0xfffffffd; + } + iVar2 = (uVar1 * 2 + 4 & 8) + uVar1; + iVar2 = iVar2 * (2 - iVar2 * uVar1); + iVar2 = iVar2 * (2 - iVar2 * uVar1); + *param_2 = -((2 - iVar2 * uVar1) * iVar2) & 0xfffffff; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c8440.c b/decomp/Agent_Release_x64/full/functions/0x1400c8440.c new file mode 100644 index 00000000..9b1c9a84 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c8440.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c8440 FUN_1400c8440 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c8440(uint *param_1,uint *param_2) + +{ + int iVar1; + undefined8 uVar2; + + iVar1 = FUN_1400c7020((int *)param_2); + iVar1 = iVar1 % 0x1c; + if ((int)*param_2 < 2) { + iVar1 = 1; + FUN_1400cfa90(param_1,1); + } + else { + uVar2 = FUN_1400c70c0(param_1,*param_2 * 0x1c + -0x1d + iVar1); + if ((int)uVar2 != 0) { + return uVar2; + } + } + iVar1 = iVar1 + -1; + while( true ) { + if (0x1b < iVar1) { + return 0; + } + uVar2 = FUN_1400cf9e0((int *)param_1,(int *)param_1); + if ((int)uVar2 != 0) break; + uVar2 = FUN_1400cd060((int *)param_1,(int *)param_2); + if (((int)uVar2 != -1) && (uVar2 = FUN_1400cd440(param_1,param_2,param_1), (int)uVar2 != 0)) { + return uVar2; + } + iVar1 = iVar1 + 1; + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c8510.c b/decomp/Agent_Release_x64/full/functions/0x1400c8510.c new file mode 100644 index 00000000..30b878b7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c8510.c @@ -0,0 +1,73 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c8510 FUN_1400c8510 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c8510(uint *param_1,uint *param_2,int param_3) + +{ + int iVar1; + undefined8 uVar2; + ulonglong uVar3; + uint *puVar4; + uint *puVar5; + int iVar6; + uint *puVar7; + uint uVar8; + int iVar9; + longlong lVar10; + + uVar8 = *param_2 * 2 + 1; + if (((int)uVar8 < 0x200) && ((int)*param_2 < 0x100)) { + uVar2 = FUN_1400cfad0(param_1,param_2,param_3); + return uVar2; + } + if (((int)uVar8 <= (int)param_1[1]) || + (uVar2 = FUN_1400cce50((longlong)param_1,uVar8), (int)uVar2 == 0)) { + *param_1 = uVar8; + uVar8 = *param_2; + iVar9 = 0; + if (0 < (int)uVar8) { + lVar10 = 0; + do { + puVar7 = *(uint **)(param_2 + 4); + iVar1 = *(int *)(lVar10 + *(longlong *)(param_1 + 4)); + uVar3 = 0; + iVar6 = 0; + if (0 < (int)uVar8) { + puVar4 = (uint *)(*(longlong *)(param_1 + 4) + (longlong)iVar9 * 4); + do { + uVar8 = *puVar7; + iVar6 = iVar6 + 1; + puVar5 = puVar4 + 1; + puVar7 = puVar7 + 1; + uVar3 = (ulonglong)uVar8 * (ulonglong)(iVar1 * param_3 & 0xfffffff) + (ulonglong)*puVar4 + + (uVar3 & 0xffffffff); + *puVar4 = (uint)uVar3 & 0xfffffff; + uVar3 = uVar3 >> 0x1c; + puVar4 = puVar5; + } while (iVar6 < (int)*param_2); + for (uVar8 = (uint)uVar3; uVar8 != 0; uVar8 = uVar8 >> 0x1c) { + *puVar5 = *puVar5 + (int)uVar3; + uVar8 = *puVar5; + *puVar5 = *puVar5 & 0xfffffff; + puVar5 = puVar5 + 1; + uVar3 = (ulonglong)(uVar8 >> 0x1c); + } + } + uVar8 = *param_2; + iVar9 = iVar9 + 1; + lVar10 = lVar10 + 4; + } while (iVar9 < (int)uVar8); + } + FUN_1400ccef0((int *)param_1); + FUN_1400cef60((int *)param_1,*param_2); + uVar2 = FUN_1400cd060((int *)param_1,(int *)param_2); + if ((int)uVar2 != -1) { + uVar2 = FUN_1400cd440(param_1,param_2,param_1); + return uVar2; + } + uVar2 = 0; + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c8680.c b/decomp/Agent_Release_x64/full/functions/0x1400c8680.c new file mode 100644 index 00000000..bbe06ca3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c8680.c @@ -0,0 +1,59 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c8680 FUN_1400c8680 + * Pseudocode, not original source. */ + +void FUN_1400c8680(uint *param_1,uint *param_2,uint *param_3,undefined8 *param_4) + +{ + bool bVar1; + int iVar2; + undefined8 uVar3; + ulonglong uVar4; + undefined7 extraout_var; + uint local_38 [6]; + uint local_20 [6]; + + if (param_3[2] != 1) { + if (param_2[2] == 1) { + uVar3 = FUN_1400c6d70(local_38); + if ((int)uVar3 == 0) { + uVar4 = FUN_1400c83b0(param_1,param_3,(undefined8 *)local_38); + if (((int)uVar4 == 0) && (uVar3 = FUN_1400c6d70(local_20), (int)uVar3 == 0)) { + uVar3 = FUN_1400cf120(param_2,local_20); + if ((int)uVar3 == 0) { + FUN_1400c8680(local_38,local_20,param_3,param_4); + FUN_1400cf150((int *)local_38); + } + else { + FUN_1400cf150((int *)local_38); + } + } + else { + FUN_1400c6dd0((int *)local_38); + } + } + } + else { + bVar1 = FUN_1400d0910(param_3); + if ((int)CONCAT71(extraout_var,bVar1) == 1) { + iVar2 = 1; + } + else { + uVar3 = FUN_1400d0350((int *)param_3); + iVar2 = (int)uVar3; + if (iVar2 == 0) { + uVar3 = FUN_1400d02e0((int *)param_3); + iVar2 = (int)uVar3 * 2; + } + if (((0 < (int)*param_3) && ((**(byte **)(param_3 + 4) & 1) != 0)) || (iVar2 != 0)) { + FUN_1400cfd20(param_1,(int *)param_2,param_3,param_4,iVar2); + return; + } + iVar2 = 0; + } + FUN_1400d0390(param_1,(int *)param_2,param_3,param_4,iVar2); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c87e0.c b/decomp/Agent_Release_x64/full/functions/0x1400c87e0.c new file mode 100644 index 00000000..cf149af1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c87e0.c @@ -0,0 +1,57 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c87e0 FUN_1400c87e0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400c87e0(uint *param_1,int param_2,undefined4 *param_3) + +{ + int iVar1; + ulonglong uVar2; + ulonglong uVar3; + longlong lVar4; + uint *puVar5; + int local_res10 [2]; + uint local_48 [8]; + + lVar4 = 0; + *param_3 = 0; + if (0xff < param_2 - 1U) { + return 0xfffffffd; + } + puVar5 = &DAT_140116ec0; + do { + iVar1 = FUN_1400c6ff0((int *)param_1,*puVar5); + if (iVar1 == 0) { + *param_3 = 1; + goto LAB_1400c88ec; + } + puVar5 = puVar5 + 1; + } while ((longlong)puVar5 < 0x1401172c0); + uVar2 = FUN_1400d0b20(param_1,local_res10); + if ((int)uVar2 == 0) { + if (local_res10[0] == 1) { +LAB_1400c88ec: + uVar2 = 0; + } + else { + uVar2 = FUN_1400c6d70(local_48); + if ((int)uVar2 == 0) { + uVar2 = uVar2 & 0xffffffff; + if (0 < (longlong)param_2) { + do { + FUN_1400cfa90(local_48,(&DAT_140116ec0)[lVar4]); + uVar3 = FUN_1400d0960(param_1,local_48,local_res10); + uVar2 = uVar3 & 0xffffffff; + if (((int)uVar3 != 0) || (local_res10[0] == 0)) goto LAB_1400c88bc; + lVar4 = lVar4 + 1; + } while (lVar4 < param_2); + } + *param_3 = 1; +LAB_1400c88bc: + FUN_1400c6dd0((int *)local_48); + } + } + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c8900.c b/decomp/Agent_Release_x64/full/functions/0x1400c8900.c new file mode 100644 index 00000000..729a1da1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c8900.c @@ -0,0 +1,204 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c8900 FUN_1400c8900 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c8900(undefined1 *param_1,int param_2,int param_3,uint *param_4) + +{ + byte bVar1; + byte bVar2; + uint3 uVar3; + uint uVar4; + uint *puVar5; + uint *puVar6; + uint *puVar7; + int iVar8; + uint uVar9; + uint *puVar10; + + if ((param_1 == (undefined1 *)0x0) || (param_4 == (uint *)0x0)) { + return 0x10; + } + if (((param_2 != 0x10) && (param_2 != 0x18)) && (param_2 != 0x20)) { + return 3; + } + if ((param_3 != 0) && (param_3 != ((int)(param_2 + (param_2 >> 0x1f & 7U)) >> 3) * 2 + 6)) { + return 4; + } + puVar5 = param_4 + 1; + param_4[0x78] = ((int)(param_2 + (param_2 >> 0x1f & 7U)) >> 3) * 2 + 6; + uVar4 = CONCAT31(CONCAT21(CONCAT11(*param_1,param_1[1]),param_1[2]),param_1[3]); + *param_4 = uVar4; + *puVar5 = CONCAT31(CONCAT21(CONCAT11(param_1[4],param_1[5]),param_1[6]),param_1[7]); + param_4[2] = CONCAT31(CONCAT21(CONCAT11(param_1[8],param_1[9]),param_1[10]),param_1[0xb]); + bVar1 = param_1[0xc]; + uVar3 = CONCAT21(CONCAT11(bVar1,param_1[0xd]),param_1[0xe]); + bVar2 = param_1[0xf]; + uVar9 = CONCAT31(uVar3,bVar2); + param_4[3] = uVar9; + if (param_2 == 0x10) { + uVar4 = *(uint *)(&DAT_1401141c0 + (ulonglong)bVar1 * 4) ^ + *(uint *)(&DAT_140114dc0 + (ulonglong)((uVar3 & 0xff00) >> 8) * 4) ^ + *(uint *)(&DAT_1401149c0 + (ulonglong)(uVar3 & 0xff) * 4) ^ + *(uint *)(&DAT_1401145c0 + (ulonglong)bVar2 * 4) ^ uVar4 ^ 0x1000000; + param_4[4] = uVar4; + uVar4 = uVar4 ^ *puVar5; + param_4[5] = uVar4; + uVar4 = uVar4 ^ param_4[2]; + param_4[6] = uVar4; + param_4[7] = uVar4 ^ uVar9; + puVar7 = &DAT_140116dc4; + do { + uVar4 = puVar5[6]; + puVar6 = puVar7 + 1; + uVar4 = *(uint *)(&DAT_1401141c0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_140114dc0 + (ulonglong)(uVar4 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401149c0 + (ulonglong)(uVar4 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401145c0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar5[3] ^ *puVar7; + puVar5[7] = uVar4; + uVar4 = uVar4 ^ puVar5[4]; + puVar5[8] = uVar4; + uVar4 = puVar5[5] ^ uVar4; + puVar5[9] = uVar4; + puVar5[10] = uVar4 ^ puVar5[6]; + puVar7 = puVar6; + puVar5 = puVar5 + 4; + } while (puVar6 != (uint *)"sha256"); + } + else if (param_2 == 0x18) { + param_4[4] = CONCAT31(CONCAT21(CONCAT11(param_1[0x10],param_1[0x11]),param_1[0x12]), + param_1[0x13]); + bVar1 = param_1[0x14]; + uVar3 = CONCAT21(CONCAT11(bVar1,param_1[0x15]),param_1[0x16]); + bVar2 = param_1[0x17]; + param_4[5] = CONCAT31(uVar3,bVar2); + uVar4 = *(uint *)(&DAT_1401141c0 + (ulonglong)bVar1 * 4) ^ + *(uint *)(&DAT_140114dc0 + (ulonglong)((uVar3 & 0xff00) >> 8) * 4) ^ + *(uint *)(&DAT_1401149c0 + (ulonglong)(uVar3 & 0xff) * 4) ^ + *(uint *)(&DAT_1401145c0 + (ulonglong)bVar2 * 4) ^ uVar4 ^ 0x1000000; + param_4[6] = uVar4; + uVar4 = uVar4 ^ *puVar5; + param_4[7] = uVar4; + uVar4 = uVar4 ^ param_4[2]; + param_4[8] = uVar4; + param_4[9] = uVar4 ^ param_4[3]; + puVar5 = &DAT_140116dc4; + puVar7 = param_4 + 10; + do { + puVar6 = puVar5 + 1; + *puVar7 = puVar7[-6] ^ puVar7[-1]; + puVar7[1] = puVar7[-5] ^ puVar7[-6] ^ puVar7[-1]; + uVar4 = param_4[((-0x28 - (longlong)param_4) + (longlong)(puVar7 + 6) >> 2) + 5]; + uVar4 = *(uint *)(&DAT_1401141c0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_140114dc0 + (ulonglong)(uVar4 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401149c0 + (ulonglong)(uVar4 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401145c0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar7[-4] ^ *puVar5; + puVar7[2] = uVar4; + uVar4 = puVar7[-3] ^ uVar4; + puVar7[3] = uVar4; + uVar4 = puVar7[-2] ^ uVar4; + puVar7[4] = uVar4; + puVar7[5] = puVar7[-1] ^ uVar4; + puVar5 = puVar6; + puVar7 = puVar7 + 6; + } while (puVar6 != (uint *)&DAT_140116de0); + } + else { + if (param_2 != 0x20) { + return 1; + } + param_4[4] = CONCAT31(CONCAT21(CONCAT11(param_1[0x10],param_1[0x11]),param_1[0x12]), + param_1[0x13]); + param_4[5] = CONCAT31(CONCAT21(CONCAT11(param_1[0x14],param_1[0x15]),param_1[0x16]), + param_1[0x17]); + param_4[6] = CONCAT31(CONCAT21(CONCAT11(param_1[0x18],param_1[0x19]),param_1[0x1a]), + param_1[0x1b]); + bVar1 = param_1[0x1c]; + uVar3 = CONCAT21(CONCAT11(bVar1,param_1[0x1d]),param_1[0x1e]); + bVar2 = param_1[0x1f]; + param_4[7] = CONCAT31(uVar3,bVar2); + uVar4 = *(uint *)(&DAT_1401141c0 + (ulonglong)bVar1 * 4) ^ + *(uint *)(&DAT_140114dc0 + (ulonglong)((uVar3 & 0xff00) >> 8) * 4) ^ + *(uint *)(&DAT_1401149c0 + (ulonglong)(uVar3 & 0xff) * 4) ^ + *(uint *)(&DAT_1401145c0 + (ulonglong)bVar2 * 4) ^ uVar4 ^ 0x1000000; + param_4[8] = uVar4; + uVar4 = uVar4 ^ *puVar5; + param_4[9] = uVar4; + uVar4 = uVar4 ^ param_4[2]; + param_4[10] = uVar4; + param_4[0xb] = uVar4 ^ param_4[3]; + puVar5 = &DAT_140116dc4; + puVar7 = param_4 + 0xc; + do { + uVar4 = puVar7[-1]; + puVar6 = puVar5 + 1; + uVar9 = *(uint *)(&DAT_1401141c0 + (ulonglong)(uVar4 & 0xff) * 4) ^ + *(uint *)(&DAT_140114dc0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401149c0 + (ulonglong)((uVar4 >> 8 & 0xff00) >> 8) * 4) ^ + *(uint *)(&DAT_1401145c0 + (ulonglong)(uVar4 >> 8 & 0xff) * 4) ^ puVar7[-8]; + uVar4 = puVar7[-7] ^ uVar9; + *puVar7 = uVar9; + puVar7[1] = uVar4; + uVar4 = puVar7[-6] ^ uVar4; + puVar7[2] = uVar4; + puVar7[3] = puVar7[-5] ^ uVar4; + uVar4 = param_4[((-0x30 - (longlong)param_4) + (longlong)(puVar7 + 8) >> 2) + 7]; + uVar4 = *(uint *)(&DAT_1401141c0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_140114dc0 + (ulonglong)(uVar4 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401149c0 + (ulonglong)(uVar4 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401145c0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar7[-4] ^ *puVar5; + puVar7[4] = uVar4; + uVar4 = puVar7[-3] ^ uVar4; + puVar7[5] = uVar4; + uVar4 = puVar7[-2] ^ uVar4; + puVar7[6] = uVar4; + puVar7[7] = puVar7[-1] ^ uVar4; + puVar5 = puVar6; + puVar7 = puVar7 + 8; + } while (puVar6 != (uint *)&DAT_140116ddc); + } + iVar8 = 1; + puVar5 = param_4 + 0x3c; + puVar7 = param_4 + (longlong)(param_2 + 0x1c) + -4; + param_4[0x3c] = param_4[(longlong)(param_2 + 0x1c) + -4]; + param_4[0x3d] = puVar7[1]; + param_4[0x3e] = puVar7[2]; + param_4[0x3f] = puVar7[3]; + puVar6 = puVar7; + puVar10 = puVar5; + if (1 < (int)param_4[0x78]) { + do { + uVar4 = puVar6[-4]; + puVar7 = puVar6 + -4; + puVar5 = puVar10 + 4; + iVar8 = iVar8 + 1; + *puVar5 = *(uint *)(&DAT_140115dc0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401161c0 + (ulonglong)(uVar4 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401165c0 + (ulonglong)(uVar4 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401169c0 + (ulonglong)(uVar4 & 0xff) * 4); + uVar4 = puVar6[-3]; + puVar10[5] = *(uint *)(&DAT_140115dc0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401161c0 + (ulonglong)(uVar4 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401165c0 + (ulonglong)(uVar4 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401169c0 + (ulonglong)(uVar4 & 0xff) * 4); + uVar4 = puVar6[-2]; + puVar10[6] = *(uint *)(&DAT_140115dc0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401161c0 + (ulonglong)(uVar4 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401165c0 + (ulonglong)(uVar4 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401169c0 + (ulonglong)(uVar4 & 0xff) * 4); + uVar4 = puVar6[-1]; + puVar10[7] = *(uint *)(&DAT_140115dc0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401161c0 + (ulonglong)(uVar4 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401165c0 + (ulonglong)(uVar4 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401169c0 + (ulonglong)(uVar4 & 0xff) * 4); + puVar6 = puVar7; + puVar10 = puVar5; + } while (iVar8 < (int)param_4[0x78]); + } + puVar5[4] = puVar7[-4]; + puVar5[5] = puVar7[-3]; + puVar5[6] = puVar7[-2]; + puVar5[7] = puVar7[-1]; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c90a0.c b/decomp/Agent_Release_x64/full/functions/0x1400c90a0.c new file mode 100644 index 00000000..60ce3bff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c90a0.c @@ -0,0 +1,115 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c90a0 FUN_1400c90a0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c90a0(undefined1 *param_1,undefined1 *param_2,uint *param_3) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + uint uVar4; + uint uVar5; + uint uVar6; + int iVar7; + uint uVar8; + + if (((param_1 != (undefined1 *)0x0) && (param_2 != (undefined1 *)0x0)) && (param_3 != (uint *)0x0) + ) { + uVar6 = CONCAT31(CONCAT21(CONCAT11(*param_1,param_1[1]),param_1[2]),param_1[3]) ^ *param_3; + uVar5 = CONCAT31(CONCAT21(CONCAT11(param_1[4],param_1[5]),param_1[6]),param_1[7]) ^ param_3[1]; + uVar4 = CONCAT31(CONCAT21(CONCAT11(param_1[8],param_1[9]),param_1[10]),param_1[0xb]) ^ + param_3[2]; + uVar3 = CONCAT31(CONCAT21(CONCAT11(param_1[0xc],param_1[0xd]),param_1[0xe]),param_1[0xf]) ^ + param_3[3]; + uVar2 = *(uint *)(&DAT_1401139c0 + (ulonglong)(uVar4 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401135c0 + (ulonglong)(uVar5 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401125c0 + (ulonglong)(uVar6 >> 0x18) * 4) ^ + *(uint *)(&DAT_140113dc0 + (ulonglong)(uVar3 & 0xff) * 4) ^ param_3[4]; + uVar1 = *(uint *)(&DAT_1401139c0 + (ulonglong)(uVar3 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401135c0 + (ulonglong)(uVar4 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401125c0 + (ulonglong)(uVar5 >> 0x18) * 4) ^ + *(uint *)(&DAT_140113dc0 + (ulonglong)(uVar6 & 0xff) * 4) ^ param_3[5]; + uVar8 = *(uint *)(&DAT_1401135c0 + (ulonglong)(uVar3 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401125c0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401139c0 + (ulonglong)(uVar6 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_140113dc0 + (ulonglong)(uVar5 & 0xff) * 4) ^ param_3[6]; + uVar3 = *(uint *)(&DAT_1401125c0 + (ulonglong)(uVar3 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401139c0 + (ulonglong)(uVar5 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401135c0 + (ulonglong)(uVar6 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_140113dc0 + (ulonglong)(uVar4 & 0xff) * 4) ^ param_3[7]; + iVar7 = (int)param_3[0x78] >> 1; + while( true ) { + iVar7 = iVar7 + -1; + param_3 = param_3 + 8; + if (iVar7 == 0) break; + uVar6 = *(uint *)(&DAT_1401139c0 + (ulonglong)(uVar8 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401135c0 + (ulonglong)(uVar1 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401125c0 + (ulonglong)(uVar2 >> 0x18) * 4) ^ + *(uint *)(&DAT_140113dc0 + (ulonglong)(uVar3 & 0xff) * 4) ^ *param_3; + uVar5 = *(uint *)(&DAT_1401139c0 + (ulonglong)(uVar3 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401135c0 + (ulonglong)(uVar8 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401125c0 + (ulonglong)(uVar1 >> 0x18) * 4) ^ + *(uint *)(&DAT_140113dc0 + (ulonglong)(uVar2 & 0xff) * 4) ^ param_3[1]; + uVar4 = *(uint *)(&DAT_1401135c0 + (ulonglong)(uVar3 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401125c0 + (ulonglong)(uVar8 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401139c0 + (ulonglong)(uVar2 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_140113dc0 + (ulonglong)(uVar1 & 0xff) * 4) ^ param_3[2]; + uVar3 = *(uint *)(&DAT_1401125c0 + (ulonglong)(uVar3 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401139c0 + (ulonglong)(uVar1 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401135c0 + (ulonglong)(uVar2 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_140113dc0 + (ulonglong)(uVar8 & 0xff) * 4) ^ param_3[3]; + uVar2 = *(uint *)(&DAT_1401139c0 + (ulonglong)(uVar4 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401135c0 + (ulonglong)(uVar5 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401125c0 + (ulonglong)(uVar6 >> 0x18) * 4) ^ + *(uint *)(&DAT_140113dc0 + (ulonglong)(uVar3 & 0xff) * 4) ^ param_3[4]; + uVar1 = *(uint *)(&DAT_1401139c0 + (ulonglong)(uVar3 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401135c0 + (ulonglong)(uVar4 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401125c0 + (ulonglong)(uVar5 >> 0x18) * 4) ^ + *(uint *)(&DAT_140113dc0 + (ulonglong)(uVar6 & 0xff) * 4) ^ param_3[5]; + uVar8 = *(uint *)(&DAT_1401135c0 + (ulonglong)(uVar3 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401125c0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401139c0 + (ulonglong)(uVar6 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_140113dc0 + (ulonglong)(uVar5 & 0xff) * 4) ^ param_3[6]; + uVar3 = *(uint *)(&DAT_1401125c0 + (ulonglong)(uVar3 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401139c0 + (ulonglong)(uVar5 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401135c0 + (ulonglong)(uVar6 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_140113dc0 + (ulonglong)(uVar4 & 0xff) * 4) ^ param_3[7]; + } + uVar4 = *(uint *)(&DAT_1401145c0 + (ulonglong)(uVar8 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401149c0 + (ulonglong)(uVar1 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_140114dc0 + (ulonglong)(uVar2 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401141c0 + (ulonglong)(uVar3 & 0xff) * 4) ^ *param_3; + param_2[3] = (char)uVar4; + *param_2 = (char)(uVar4 >> 0x18); + param_2[1] = (char)(uVar4 >> 0x10); + param_2[2] = (char)(uVar4 >> 8); + uVar4 = *(uint *)(&DAT_1401145c0 + (ulonglong)(uVar3 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401149c0 + (ulonglong)(uVar8 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_140114dc0 + (ulonglong)(uVar1 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401141c0 + (ulonglong)(uVar2 & 0xff) * 4) ^ param_3[1]; + param_2[7] = (char)uVar4; + param_2[4] = (char)(uVar4 >> 0x18); + param_2[5] = (char)(uVar4 >> 0x10); + param_2[6] = (char)(uVar4 >> 8); + uVar4 = *(uint *)(&DAT_1401149c0 + (ulonglong)(uVar3 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_140114dc0 + (ulonglong)(uVar8 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401145c0 + (ulonglong)(uVar2 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401141c0 + (ulonglong)(uVar1 & 0xff) * 4) ^ param_3[2]; + param_2[0xb] = (char)uVar4; + param_2[8] = (char)(uVar4 >> 0x18); + param_2[9] = (char)(uVar4 >> 0x10); + param_2[10] = (char)(uVar4 >> 8); + uVar2 = *(uint *)(&DAT_140114dc0 + (ulonglong)(uVar3 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401145c0 + (ulonglong)(uVar1 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401149c0 + (ulonglong)(uVar2 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401141c0 + (ulonglong)(uVar8 & 0xff) * 4) ^ param_3[3]; + param_2[0xf] = (char)uVar2; + param_2[0xc] = (char)(uVar2 >> 0x18); + param_2[0xd] = (char)(uVar2 >> 0x10); + param_2[0xe] = (char)(uVar2 >> 8); + return 0; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c9680.c b/decomp/Agent_Release_x64/full/functions/0x1400c9680.c new file mode 100644 index 00000000..3877deb3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c9680.c @@ -0,0 +1,116 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c9680 FUN_1400c9680 + * Pseudocode, not original source. */ + +undefined8 FUN_1400c9680(undefined1 *param_1,undefined1 *param_2,longlong param_3) + +{ + uint *puVar1; + uint uVar2; + uint uVar3; + uint uVar4; + uint uVar5; + uint uVar6; + uint uVar7; + uint uVar8; + int iVar9; + + if (((param_2 != (undefined1 *)0x0) && (param_1 != (undefined1 *)0x0)) && (param_3 != 0)) { + uVar7 = CONCAT31(CONCAT21(CONCAT11(*param_1,param_1[1]),param_1[2]),param_1[3]) ^ + *(uint *)(param_3 + 0xf0); + uVar6 = CONCAT31(CONCAT21(CONCAT11(param_1[4],param_1[5]),param_1[6]),param_1[7]) ^ + *(uint *)(param_3 + 0xf4); + uVar5 = CONCAT31(CONCAT21(CONCAT11(param_1[8],param_1[9]),param_1[10]),param_1[0xb]) ^ + *(uint *)(param_3 + 0xf8); + uVar4 = CONCAT31(CONCAT21(CONCAT11(param_1[0xc],param_1[0xd]),param_1[0xe]),param_1[0xf]) ^ + *(uint *)(param_3 + 0xfc); + uVar8 = *(uint *)(&DAT_1401151c0 + (ulonglong)(uVar4 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401155c0 + (ulonglong)(uVar5 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_140112dc0 + (ulonglong)(uVar7 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401159c0 + (ulonglong)(uVar6 & 0xff) * 4) ^ *(uint *)(param_3 + 0x100); + uVar3 = *(uint *)(&DAT_1401155c0 + (ulonglong)(uVar4 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_140112dc0 + (ulonglong)(uVar6 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401151c0 + (ulonglong)(uVar7 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401159c0 + (ulonglong)(uVar5 & 0xff) * 4) ^ *(uint *)(param_3 + 0x104); + iVar9 = *(int *)(param_3 + 0x1e0) >> 1; + uVar2 = *(uint *)(&DAT_140112dc0 + (ulonglong)(uVar5 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401151c0 + (ulonglong)(uVar6 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401155c0 + (ulonglong)(uVar7 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401159c0 + (ulonglong)(uVar4 & 0xff) * 4) ^ *(uint *)(param_3 + 0x108); + uVar4 = *(uint *)(&DAT_140112dc0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401151c0 + (ulonglong)(uVar5 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401155c0 + (ulonglong)(uVar6 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401159c0 + (ulonglong)(uVar7 & 0xff) * 4) ^ *(uint *)(param_3 + 0x10c); + puVar1 = (uint *)(param_3 + 0x110); + while (iVar9 = iVar9 + -1, iVar9 != 0) { + uVar7 = *(uint *)(&DAT_1401151c0 + (ulonglong)(uVar4 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401155c0 + (ulonglong)(uVar2 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_140112dc0 + (ulonglong)(uVar8 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401159c0 + (ulonglong)(uVar3 & 0xff) * 4) ^ *puVar1; + uVar6 = *(uint *)(&DAT_1401155c0 + (ulonglong)(uVar4 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_140112dc0 + (ulonglong)(uVar3 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401151c0 + (ulonglong)(uVar8 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401159c0 + (ulonglong)(uVar2 & 0xff) * 4) ^ puVar1[1]; + uVar5 = *(uint *)(&DAT_140112dc0 + (ulonglong)(uVar2 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401151c0 + (ulonglong)(uVar3 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401155c0 + (ulonglong)(uVar8 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401159c0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar1[2]; + uVar4 = *(uint *)(&DAT_140112dc0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401151c0 + (ulonglong)(uVar2 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401155c0 + (ulonglong)(uVar3 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401159c0 + (ulonglong)(uVar8 & 0xff) * 4) ^ puVar1[3]; + uVar8 = *(uint *)(&DAT_1401151c0 + (ulonglong)(uVar4 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401155c0 + (ulonglong)(uVar5 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_140112dc0 + (ulonglong)(uVar7 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401159c0 + (ulonglong)(uVar6 & 0xff) * 4) ^ puVar1[4]; + uVar3 = *(uint *)(&DAT_1401155c0 + (ulonglong)(uVar4 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_140112dc0 + (ulonglong)(uVar6 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401151c0 + (ulonglong)(uVar7 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401159c0 + (ulonglong)(uVar5 & 0xff) * 4) ^ puVar1[5]; + uVar2 = *(uint *)(&DAT_140112dc0 + (ulonglong)(uVar5 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401151c0 + (ulonglong)(uVar6 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401155c0 + (ulonglong)(uVar7 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401159c0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar1[6]; + uVar4 = *(uint *)(&DAT_140112dc0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401151c0 + (ulonglong)(uVar5 >> 0x10 & 0xff) * 4) ^ + *(uint *)(&DAT_1401155c0 + (ulonglong)(uVar6 >> 8 & 0xff) * 4) ^ + *(uint *)(&DAT_1401159c0 + (ulonglong)(uVar7 & 0xff) * 4) ^ puVar1[7]; + puVar1 = puVar1 + 8; + } + uVar5 = *(uint *)(&DAT_1401131c0 + (ulonglong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000 ^ + *(uint *)(&DAT_1401131c0 + (ulonglong)(uVar2 >> 8 & 0xff) * 4) & 0xff00 ^ + *(uint *)(&DAT_1401131c0 + (ulonglong)(uVar8 >> 0x18) * 4) & 0xff000000 ^ + (uint)(byte)(&DAT_1401131c0)[(ulonglong)(uVar3 & 0xff) * 4] ^ *puVar1; + param_2[3] = (char)uVar5; + *param_2 = (char)(uVar5 >> 0x18); + param_2[1] = (char)(uVar5 >> 0x10); + param_2[2] = (char)(uVar5 >> 8); + uVar5 = *(uint *)(&DAT_1401131c0 + (ulonglong)(uVar8 >> 0x10 & 0xff) * 4) & 0xff0000 ^ + *(uint *)(&DAT_1401131c0 + (ulonglong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 ^ + *(uint *)(&DAT_1401131c0 + (ulonglong)(uVar3 >> 0x18) * 4) & 0xff000000 ^ + (uint)(byte)(&DAT_1401131c0)[(ulonglong)(uVar2 & 0xff) * 4] ^ puVar1[1]; + param_2[7] = (char)uVar5; + param_2[4] = (char)(uVar5 >> 0x18); + param_2[5] = (char)(uVar5 >> 0x10); + param_2[6] = (char)(uVar5 >> 8); + uVar5 = *(uint *)(&DAT_1401131c0 + (ulonglong)(uVar3 >> 0x10 & 0xff) * 4) & 0xff0000 ^ + *(uint *)(&DAT_1401131c0 + (ulonglong)(uVar2 >> 0x18) * 4) & 0xff000000 ^ + *(uint *)(&DAT_1401131c0 + (ulonglong)(uVar8 >> 8 & 0xff) * 4) & 0xff00 ^ + (uint)(byte)(&DAT_1401131c0)[(ulonglong)(uVar4 & 0xff) * 4] ^ puVar1[2]; + param_2[0xb] = (char)uVar5; + param_2[8] = (char)(uVar5 >> 0x18); + param_2[9] = (char)(uVar5 >> 0x10); + param_2[10] = (char)(uVar5 >> 8); + uVar8 = *(uint *)(&DAT_1401131c0 + (ulonglong)(uVar2 >> 0x10 & 0xff) * 4) & 0xff0000 ^ + *(uint *)(&DAT_1401131c0 + (ulonglong)(uVar4 >> 0x18) * 4) & 0xff000000 ^ + *(uint *)(&DAT_1401131c0 + (ulonglong)(uVar3 >> 8 & 0xff) * 4) & 0xff00 ^ + (uint)(byte)(&DAT_1401131c0)[(ulonglong)(uVar8 & 0xff) * 4] ^ puVar1[3]; + param_2[0xf] = (char)uVar8; + param_2[0xc] = (char)(uVar8 >> 0x18); + param_2[0xd] = (char)(uVar8 >> 0x10); + param_2[0xe] = (char)(uVar8 >> 8); + return 0; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400c9ce0.c b/decomp/Agent_Release_x64/full/functions/0x1400c9ce0.c new file mode 100644 index 00000000..a04d2e4b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400c9ce0.c @@ -0,0 +1,595 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400c9ce0 FUN_1400c9ce0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_1400c9ce0(longlong param_1,longlong param_2) + +{ + undefined1 uVar1; + undefined1 uVar2; + int iVar3; + int iVar4; + longlong lVar5; + uint uVar6; + int *piVar7; + uint uVar8; + uint uVar9; + undefined1 *puVar10; + undefined1 *puVar11; + uint uVar12; + uint uVar13; + uint uVar14; + uint uVar15; + uint uVar16; + uint uVar17; + uint uVar18; + uint uVar19; + undefined1 local_158 [16]; + longlong local_148; + undefined1 auStack_13a [2]; + undefined1 local_138 [4]; + undefined1 local_134 [4]; + undefined1 local_130 [4]; + uint local_12c [5]; + int local_118; + int local_114 [14]; + int local_dc; + int local_d8; + int local_d4; + int local_d0; + int local_cc; + int local_c8; + int local_c4; + int local_c0; + int local_bc; + int local_b8; + int local_b4; + int local_b0; + int local_ac; + int local_a8; + int local_a4; + int local_a0; + int local_9c; + int local_98; + int local_94; + int local_90; + int local_8c; + int local_88; + int local_84; + int local_80; + int local_7c; + int local_78; + int local_74; + int local_70; + int local_6c; + int local_68; + int local_64; + int local_60; + int local_5c; + int local_58; + int local_54; + int local_50; + int local_4c; + int local_48; + int local_44; + int local_40; + int local_3c; + ulonglong local_38; + + local_38 = DAT_1401555a0 ^ (ulonglong)local_158; + uVar6 = *(uint *)(param_1 + 0x1c); + uVar17 = *(uint *)(param_1 + 8); + uVar16 = *(uint *)(param_1 + 0xc); + uVar8 = *(uint *)(param_1 + 0x10); + iVar3 = *(int *)(param_1 + 0x14); + uVar9 = *(uint *)(param_1 + 0x18); + uVar13 = *(uint *)(param_1 + 0x20); + iVar4 = *(int *)(param_1 + 0x24); + lVar5 = 4; + puVar10 = (undefined1 *)(param_2 + 2); + local_148 = param_1; + do { + puVar11 = puVar10 + 0x10; + uVar1 = puVar10[3]; + *(uint *)(puVar11 + (longlong)(local_158 + (0xe - param_2))) = + CONCAT31(CONCAT21(CONCAT11(puVar10[-2],puVar10[-1]),*puVar10),puVar10[1]); + uVar2 = puVar10[7]; + *(uint *)(puVar11 + (longlong)&local_148 + (2 - param_2)) = + CONCAT31(CONCAT21(CONCAT11(puVar10[2],uVar1),puVar10[4]),puVar10[5]); + uVar1 = puVar10[0xb]; + *(uint *)(puVar11 + (longlong)&local_148 + (6 - param_2)) = + CONCAT31(CONCAT21(CONCAT11(puVar10[6],uVar2),puVar10[8]),puVar10[9]); + lVar5 = lVar5 + -1; + *(uint *)(puVar11 + (longlong)local_12c + (-0x12 - param_2)) = + CONCAT31(CONCAT21(CONCAT11(puVar10[10],uVar1),puVar10[0xc]),puVar10[0xd]); + puVar10 = puVar11; + } while (lVar5 != 0); + piVar7 = (int *)local_138; + lVar5 = 0xc; + do { + uVar15 = piVar7[1]; + uVar14 = piVar7[2]; + uVar12 = piVar7[0xe]; + uVar19 = piVar7[3]; + uVar18 = piVar7[0xf]; + uVar12 = ((uVar12 >> 0x13 | uVar12 << 0xd) ^ (uVar12 >> 0x11 | uVar12 << 0xf) ^ uVar12 >> 10) + + ((uVar15 >> 0x12 | uVar15 << 0xe) ^ (uVar15 >> 7 | uVar15 << 0x19) ^ uVar15 >> 3) + + piVar7[9] + *piVar7; + piVar7[0x10] = uVar12; + uVar15 = ((uVar18 >> 0x13 | uVar18 << 0xd) ^ (uVar18 >> 0x11 | uVar18 << 0xf) ^ uVar18 >> 10) + + ((uVar14 >> 0x12 | uVar14 << 0xe) ^ (uVar14 >> 7 | uVar14 << 0x19) ^ uVar14 >> 3) + + piVar7[10] + uVar15; + piVar7[0x11] = uVar15; + piVar7[0x12] = ((uVar12 >> 0x13 | uVar12 * 0x2000) ^ (uVar12 >> 0x11 | uVar12 * 0x8000) ^ + uVar12 >> 10) + + ((uVar19 >> 0x12 | uVar19 << 0xe) ^ (uVar19 >> 7 | uVar19 << 0x19) ^ uVar19 >> 3) + + piVar7[0xb] + uVar14; + uVar14 = piVar7[4]; + piVar7[0x13] = ((uVar15 >> 0x13 | uVar15 * 0x2000) ^ (uVar15 >> 0x11 | uVar15 * 0x8000) ^ + uVar15 >> 10) + + ((uVar14 >> 0x12 | uVar14 << 0xe) ^ (uVar14 >> 7 | uVar14 << 0x19) ^ uVar14 >> 3) + + piVar7[0xc] + uVar19; + piVar7 = piVar7 + 4; + lVar5 = lVar5 + -1; + } while (lVar5 != 0); + iVar4 = ((uVar6 ^ uVar13) & uVar9 ^ uVar13) + + ((uVar9 >> 0x19 | uVar9 << 7) ^ (uVar9 >> 0xb | uVar9 << 0x15) ^ + (uVar9 >> 6 | uVar9 << 0x1a)) + (int)local_138 + 0x428a2f98 + iVar4; + uVar19 = iVar3 + iVar4; + uVar15 = ((uVar16 | uVar17) & uVar8 | uVar16 & uVar17) + + iVar4 + ((uVar17 >> 0x16 | uVar17 << 10) ^ (uVar17 >> 0xd | uVar17 << 0x13) ^ + (uVar17 >> 2 | uVar17 << 0x1e)); + iVar4 = ((uVar6 ^ uVar9) & uVar19 ^ uVar6) + + ((uVar19 >> 0x19 | uVar19 * 0x80) ^ (uVar19 >> 0xb | uVar19 * 0x200000) ^ + (uVar19 >> 6 | uVar19 * 0x4000000)) + (int)local_134 + 0x71374491 + uVar13; + uVar8 = uVar8 + iVar4; + uVar14 = ((uVar17 | uVar15) & uVar16 | uVar17 & uVar15) + + iVar4 + ((uVar15 >> 0x16 | uVar15 * 0x400) ^ (uVar15 >> 0xd | uVar15 * 0x80000) ^ + (uVar15 >> 2 | uVar15 * 0x40000000)); + iVar4 = ((uVar19 ^ uVar9) & uVar8 ^ uVar9) + + ((uVar8 >> 0x19 | uVar8 * 0x80) ^ (uVar8 >> 0xb | uVar8 * 0x200000) ^ + (uVar8 >> 6 | uVar8 * 0x4000000)) + (int)local_130 + -0x4a3f0431 + uVar6; + uVar16 = uVar16 + iVar4; + uVar12 = ((uVar14 | uVar15) & uVar17 | uVar14 & uVar15) + + iVar4 + ((uVar14 >> 0x16 | uVar14 * 0x400) ^ (uVar14 >> 0xd | uVar14 * 0x80000) ^ + (uVar14 >> 2 | uVar14 * 0x40000000)); + iVar4 = ((uVar19 ^ uVar8) & uVar16 ^ uVar19) + + ((uVar16 >> 0x19 | uVar16 * 0x80) ^ (uVar16 >> 0xb | uVar16 * 0x200000) ^ + (uVar16 >> 6 | uVar16 * 0x4000000)) + local_12c[0] + -0x164a245b + uVar9; + uVar17 = uVar17 + iVar4; + uVar6 = ((uVar12 | uVar14) & uVar15 | uVar12 & uVar14) + + iVar4 + ((uVar12 >> 0x16 | uVar12 * 0x400) ^ (uVar12 >> 0xd | uVar12 * 0x80000) ^ + (uVar12 >> 2 | uVar12 * 0x40000000)); + iVar4 = ((uVar8 ^ uVar16) & uVar17 ^ uVar8) + + ((uVar17 >> 0x19 | uVar17 * 0x80) ^ (uVar17 >> 0xb | uVar17 * 0x200000) ^ + (uVar17 >> 6 | uVar17 * 0x4000000)) + local_12c[1] + 0x3956c25b + uVar19; + uVar15 = uVar15 + iVar4; + uVar9 = ((uVar12 | uVar6) & uVar14 | uVar12 & uVar6) + + iVar4 + ((uVar6 >> 0x16 | uVar6 * 0x400) ^ (uVar6 >> 0xd | uVar6 * 0x80000) ^ + (uVar6 >> 2 | uVar6 * 0x40000000)); + iVar4 = ((uVar16 ^ uVar17) & uVar15 ^ uVar16) + + ((uVar15 >> 0x19 | uVar15 * 0x80) ^ (uVar15 >> 0xb | uVar15 * 0x200000) ^ + (uVar15 >> 6 | uVar15 * 0x4000000)) + local_12c[2] + 0x59f111f1 + uVar8; + uVar14 = uVar14 + iVar4; + uVar8 = ((uVar9 | uVar6) & uVar12 | uVar9 & uVar6) + + iVar4 + ((uVar9 >> 0x16 | uVar9 * 0x400) ^ (uVar9 >> 0xd | uVar9 * 0x80000) ^ + (uVar9 >> 2 | uVar9 * 0x40000000)); + iVar4 = ((uVar17 ^ uVar15) & uVar14 ^ uVar17) + + ((uVar14 >> 0x19 | uVar14 * 0x80) ^ (uVar14 >> 0xb | uVar14 * 0x200000) ^ + (uVar14 >> 6 | uVar14 * 0x4000000)) + local_12c[3] + -0x6dc07d5c + uVar16; + uVar12 = uVar12 + iVar4; + uVar19 = ((uVar9 | uVar8) & uVar6 | uVar9 & uVar8) + + iVar4 + ((uVar8 >> 0x16 | uVar8 * 0x400) ^ (uVar8 >> 0xd | uVar8 * 0x80000) ^ + (uVar8 >> 2 | uVar8 * 0x40000000)); + iVar4 = ((uVar14 ^ uVar15) & uVar12 ^ uVar15) + + ((uVar12 >> 0x19 | uVar12 * 0x80) ^ (uVar12 >> 0xb | uVar12 * 0x200000) ^ + (uVar12 >> 6 | uVar12 * 0x4000000)) + local_12c[4] + -0x54e3a12b + uVar17; + uVar6 = uVar6 + iVar4; + uVar18 = ((uVar8 | uVar19) & uVar9 | uVar8 & uVar19) + + iVar4 + ((uVar19 >> 0x16 | uVar19 * 0x400) ^ (uVar19 >> 0xd | uVar19 * 0x80000) ^ + (uVar19 >> 2 | uVar19 * 0x40000000)); + iVar4 = ((uVar12 ^ uVar14) & uVar6 ^ uVar14) + + ((uVar6 >> 0x19 | uVar6 * 0x80) ^ (uVar6 >> 0xb | uVar6 * 0x200000) ^ + (uVar6 >> 6 | uVar6 * 0x4000000)) + local_118 + -0x27f85568 + uVar15; + uVar9 = uVar9 + iVar4; + uVar13 = ((uVar19 | uVar18) & uVar8 | uVar19 & uVar18) + + iVar4 + ((uVar18 >> 0x16 | uVar18 * 0x400) ^ (uVar18 >> 0xd | uVar18 * 0x80000) ^ + (uVar18 >> 2 | uVar18 * 0x40000000)); + iVar4 = ((uVar12 ^ uVar6) & uVar9 ^ uVar12) + + ((uVar9 >> 0x19 | uVar9 * 0x80) ^ (uVar9 >> 0xb | uVar9 * 0x200000) ^ + (uVar9 >> 6 | uVar9 * 0x4000000)) + local_114[0] + 0x12835b01 + uVar14; + uVar8 = uVar8 + iVar4; + uVar15 = ((uVar18 | uVar13) & uVar19 | uVar18 & uVar13) + + iVar4 + ((uVar13 >> 0x16 | uVar13 * 0x400) ^ (uVar13 >> 0xd | uVar13 * 0x80000) ^ + (uVar13 >> 2 | uVar13 * 0x40000000)); + iVar4 = ((uVar9 ^ uVar6) & uVar8 ^ uVar6) + + ((uVar8 >> 0x19 | uVar8 * 0x80) ^ (uVar8 >> 0xb | uVar8 * 0x200000) ^ + (uVar8 >> 6 | uVar8 * 0x4000000)) + local_114[1] + 0x243185be + uVar12; + uVar19 = uVar19 + iVar4; + uVar14 = ((uVar15 | uVar13) & uVar18 | uVar15 & uVar13) + + iVar4 + ((uVar15 >> 0x16 | uVar15 * 0x400) ^ (uVar15 >> 0xd | uVar15 * 0x80000) ^ + (uVar15 >> 2 | uVar15 * 0x40000000)); + iVar4 = ((uVar9 ^ uVar8) & uVar19 ^ uVar9) + + ((uVar19 >> 0x19 | uVar19 * 0x80) ^ (uVar19 >> 0xb | uVar19 * 0x200000) ^ + (uVar19 >> 6 | uVar19 * 0x4000000)) + local_114[2] + 0x550c7dc3 + uVar6; + uVar18 = uVar18 + iVar4; + uVar6 = ((uVar14 | uVar15) & uVar13 | uVar14 & uVar15) + + iVar4 + ((uVar14 >> 0x16 | uVar14 * 0x400) ^ (uVar14 >> 0xd | uVar14 * 0x80000) ^ + (uVar14 >> 2 | uVar14 * 0x40000000)); + iVar4 = ((uVar8 ^ uVar19) & uVar18 ^ uVar8) + + ((uVar18 >> 0x19 | uVar18 * 0x80) ^ (uVar18 >> 0xb | uVar18 * 0x200000) ^ + (uVar18 >> 6 | uVar18 * 0x4000000)) + local_114[3] + 0x72be5d74 + uVar9; + uVar13 = uVar13 + iVar4; + uVar16 = ((uVar14 | uVar6) & uVar15 | uVar14 & uVar6) + + iVar4 + ((uVar6 >> 0x16 | uVar6 * 0x400) ^ (uVar6 >> 0xd | uVar6 * 0x80000) ^ + (uVar6 >> 2 | uVar6 * 0x40000000)); + iVar4 = ((uVar19 ^ uVar18) & uVar13 ^ uVar19) + + ((uVar13 >> 0x19 | uVar13 * 0x80) ^ (uVar13 >> 0xb | uVar13 * 0x200000) ^ + (uVar13 >> 6 | uVar13 * 0x4000000)) + local_114[4] + -0x7f214e02 + uVar8; + uVar15 = uVar15 + iVar4; + uVar17 = ((uVar16 | uVar6) & uVar14 | uVar16 & uVar6) + + iVar4 + ((uVar16 >> 0x16 | uVar16 * 0x400) ^ (uVar16 >> 0xd | uVar16 * 0x80000) ^ + (uVar16 >> 2 | uVar16 * 0x40000000)); + iVar4 = ((uVar18 ^ uVar13) & uVar15 ^ uVar18) + + ((uVar15 >> 0x19 | uVar15 * 0x80) ^ (uVar15 >> 0xb | uVar15 * 0x200000) ^ + (uVar15 >> 6 | uVar15 * 0x4000000)) + local_114[5] + -0x6423f959 + uVar19; + uVar14 = uVar14 + iVar4; + uVar12 = ((uVar16 | uVar17) & uVar6 | uVar16 & uVar17) + + iVar4 + ((uVar17 >> 0x16 | uVar17 * 0x400) ^ (uVar17 >> 0xd | uVar17 * 0x80000) ^ + (uVar17 >> 2 | uVar17 * 0x40000000)); + iVar4 = ((uVar15 ^ uVar13) & uVar14 ^ uVar13) + + ((uVar14 >> 0x19 | uVar14 * 0x80) ^ (uVar14 >> 0xb | uVar14 * 0x200000) ^ + (uVar14 >> 6 | uVar14 * 0x4000000)) + local_114[6] + -0x3e640e8c + uVar18; + uVar6 = uVar6 + iVar4; + uVar19 = ((uVar17 | uVar12) & uVar16 | uVar17 & uVar12) + + iVar4 + ((uVar12 >> 0x16 | uVar12 * 0x400) ^ (uVar12 >> 0xd | uVar12 * 0x80000) ^ + (uVar12 >> 2 | uVar12 * 0x40000000)); + iVar4 = ((uVar14 ^ uVar15) & uVar6 ^ uVar15) + + ((uVar6 >> 0x19 | uVar6 * 0x80) ^ (uVar6 >> 0xb | uVar6 * 0x200000) ^ + (uVar6 >> 6 | uVar6 * 0x4000000)) + local_114[7] + -0x1b64963f + uVar13; + uVar16 = uVar16 + iVar4; + uVar8 = ((uVar12 | uVar19) & uVar17 | uVar12 & uVar19) + + iVar4 + ((uVar19 >> 0x16 | uVar19 * 0x400) ^ (uVar19 >> 0xd | uVar19 * 0x80000) ^ + (uVar19 >> 2 | uVar19 * 0x40000000)); + iVar4 = ((uVar14 ^ uVar6) & uVar16 ^ uVar14) + + ((uVar16 >> 0x19 | uVar16 * 0x80) ^ (uVar16 >> 0xb | uVar16 * 0x200000) ^ + (uVar16 >> 6 | uVar16 * 0x4000000)) + local_114[8] + -0x1041b87a + uVar15; + uVar17 = uVar17 + iVar4; + uVar9 = ((uVar19 | uVar8) & uVar12 | uVar19 & uVar8) + + iVar4 + ((uVar8 >> 0x16 | uVar8 * 0x400) ^ (uVar8 >> 0xd | uVar8 * 0x80000) ^ + (uVar8 >> 2 | uVar8 * 0x40000000)); + iVar4 = ((uVar16 ^ uVar6) & uVar17 ^ uVar6) + + ((uVar17 >> 0x19 | uVar17 * 0x80) ^ (uVar17 >> 0xb | uVar17 * 0x200000) ^ + (uVar17 >> 6 | uVar17 * 0x4000000)) + local_114[9] + 0xfc19dc6 + uVar14; + uVar12 = uVar12 + iVar4; + uVar13 = ((uVar9 | uVar8) & uVar19 | uVar9 & uVar8) + + iVar4 + ((uVar9 >> 0x16 | uVar9 * 0x400) ^ (uVar9 >> 0xd | uVar9 * 0x80000) ^ + (uVar9 >> 2 | uVar9 * 0x40000000)); + iVar4 = ((uVar16 ^ uVar17) & uVar12 ^ uVar16) + + ((uVar12 >> 0x19 | uVar12 * 0x80) ^ (uVar12 >> 0xb | uVar12 * 0x200000) ^ + (uVar12 >> 6 | uVar12 * 0x4000000)) + local_114[10] + 0x240ca1cc + uVar6; + uVar19 = uVar19 + iVar4; + uVar6 = ((uVar13 | uVar9) & uVar8 | uVar13 & uVar9) + + iVar4 + ((uVar13 >> 0x16 | uVar13 * 0x400) ^ (uVar13 >> 0xd | uVar13 * 0x80000) ^ + (uVar13 >> 2 | uVar13 * 0x40000000)); + iVar4 = ((uVar17 ^ uVar12) & uVar19 ^ uVar17) + + ((uVar19 >> 0x19 | uVar19 * 0x80) ^ (uVar19 >> 0xb | uVar19 * 0x200000) ^ + (uVar19 >> 6 | uVar19 * 0x4000000)) + local_114[0xb] + 0x2de92c6f + uVar16; + uVar8 = uVar8 + iVar4; + uVar16 = ((uVar13 | uVar6) & uVar9 | uVar13 & uVar6) + + iVar4 + ((uVar6 >> 0x16 | uVar6 * 0x400) ^ (uVar6 >> 0xd | uVar6 * 0x80000) ^ + (uVar6 >> 2 | uVar6 * 0x40000000)); + iVar4 = ((uVar12 ^ uVar19) & uVar8 ^ uVar12) + + ((uVar8 >> 0x19 | uVar8 * 0x80) ^ (uVar8 >> 0xb | uVar8 * 0x200000) ^ + (uVar8 >> 6 | uVar8 * 0x4000000)) + local_114[0xc] + 0x4a7484aa + uVar17; + uVar9 = uVar9 + iVar4; + uVar17 = ((uVar16 | uVar6) & uVar13 | uVar16 & uVar6) + + iVar4 + ((uVar16 >> 0x16 | uVar16 * 0x400) ^ (uVar16 >> 0xd | uVar16 * 0x80000) ^ + (uVar16 >> 2 | uVar16 * 0x40000000)); + iVar4 = ((uVar19 ^ uVar8) & uVar9 ^ uVar19) + + ((uVar9 >> 0x19 | uVar9 * 0x80) ^ (uVar9 >> 0xb | uVar9 * 0x200000) ^ + (uVar9 >> 6 | uVar9 * 0x4000000)) + local_114[0xd] + 0x5cb0a9dc + uVar12; + uVar13 = uVar13 + iVar4; + uVar15 = ((uVar16 | uVar17) & uVar6 | uVar16 & uVar17) + + iVar4 + ((uVar17 >> 0x16 | uVar17 * 0x400) ^ (uVar17 >> 0xd | uVar17 * 0x80000) ^ + (uVar17 >> 2 | uVar17 * 0x40000000)); + iVar4 = ((uVar9 ^ uVar8) & uVar13 ^ uVar8) + + ((uVar13 >> 0x19 | uVar13 * 0x80) ^ (uVar13 >> 0xb | uVar13 * 0x200000) ^ + (uVar13 >> 6 | uVar13 * 0x4000000)) + local_dc + 0x76f988da + uVar19; + uVar6 = uVar6 + iVar4; + uVar14 = ((uVar17 | uVar15) & uVar16 | uVar17 & uVar15) + + iVar4 + ((uVar15 >> 0x16 | uVar15 * 0x400) ^ (uVar15 >> 0xd | uVar15 * 0x80000) ^ + (uVar15 >> 2 | uVar15 * 0x40000000)); + iVar4 = ((uVar13 ^ uVar9) & uVar6 ^ uVar9) + + ((uVar6 >> 0x19 | uVar6 * 0x80) ^ (uVar6 >> 0xb | uVar6 * 0x200000) ^ + (uVar6 >> 6 | uVar6 * 0x4000000)) + local_d8 + -0x67c1aeae + uVar8; + uVar16 = uVar16 + iVar4; + uVar8 = ((uVar15 | uVar14) & uVar17 | uVar15 & uVar14) + + iVar4 + ((uVar14 >> 0x16 | uVar14 * 0x400) ^ (uVar14 >> 0xd | uVar14 * 0x80000) ^ + (uVar14 >> 2 | uVar14 * 0x40000000)); + iVar4 = ((uVar13 ^ uVar6) & uVar16 ^ uVar13) + + ((uVar16 >> 0x19 | uVar16 * 0x80) ^ (uVar16 >> 0xb | uVar16 * 0x200000) ^ + (uVar16 >> 6 | uVar16 * 0x4000000)) + local_d4 + -0x57ce3993 + uVar9; + uVar17 = uVar17 + iVar4; + uVar9 = ((uVar14 | uVar8) & uVar15 | uVar14 & uVar8) + + iVar4 + ((uVar8 >> 0x16 | uVar8 * 0x400) ^ (uVar8 >> 0xd | uVar8 * 0x80000) ^ + (uVar8 >> 2 | uVar8 * 0x40000000)); + iVar4 = ((uVar16 ^ uVar6) & uVar17 ^ uVar6) + + ((uVar17 >> 0x19 | uVar17 * 0x80) ^ (uVar17 >> 0xb | uVar17 * 0x200000) ^ + (uVar17 >> 6 | uVar17 * 0x4000000)) + local_d0 + -0x4ffcd838 + uVar13; + uVar15 = uVar15 + iVar4; + uVar13 = ((uVar9 | uVar8) & uVar14 | uVar9 & uVar8) + + iVar4 + ((uVar9 >> 0x16 | uVar9 * 0x400) ^ (uVar9 >> 0xd | uVar9 * 0x80000) ^ + (uVar9 >> 2 | uVar9 * 0x40000000)); + iVar4 = ((uVar16 ^ uVar17) & uVar15 ^ uVar16) + + ((uVar15 >> 0x19 | uVar15 * 0x80) ^ (uVar15 >> 0xb | uVar15 * 0x200000) ^ + (uVar15 >> 6 | uVar15 * 0x4000000)) + local_cc + -0x40a68039 + uVar6; + uVar14 = uVar14 + iVar4; + uVar6 = ((uVar13 | uVar9) & uVar8 | uVar13 & uVar9) + + iVar4 + ((uVar13 >> 0x16 | uVar13 * 0x400) ^ (uVar13 >> 0xd | uVar13 * 0x80000) ^ + (uVar13 >> 2 | uVar13 * 0x40000000)); + iVar4 = ((uVar17 ^ uVar15) & uVar14 ^ uVar17) + + ((uVar14 >> 0x19 | uVar14 * 0x80) ^ (uVar14 >> 0xb | uVar14 * 0x200000) ^ + (uVar14 >> 6 | uVar14 * 0x4000000)) + local_c8 + -0x391ff40d + uVar16; + uVar8 = uVar8 + iVar4; + uVar16 = ((uVar13 | uVar6) & uVar9 | uVar13 & uVar6) + + iVar4 + ((uVar6 >> 0x16 | uVar6 * 0x400) ^ (uVar6 >> 0xd | uVar6 * 0x80000) ^ + (uVar6 >> 2 | uVar6 * 0x40000000)); + iVar4 = ((uVar15 ^ uVar14) & uVar8 ^ uVar15) + + ((uVar8 >> 0x19 | uVar8 * 0x80) ^ (uVar8 >> 0xb | uVar8 * 0x200000) ^ + (uVar8 >> 6 | uVar8 * 0x4000000)) + local_c4 + -0x2a586eb9 + uVar17; + uVar9 = uVar9 + iVar4; + uVar17 = ((uVar16 | uVar6) & uVar13 | uVar16 & uVar6) + + iVar4 + ((uVar16 >> 0x16 | uVar16 * 0x400) ^ (uVar16 >> 0xd | uVar16 * 0x80000) ^ + (uVar16 >> 2 | uVar16 * 0x40000000)); + iVar4 = ((uVar14 ^ uVar8) & uVar9 ^ uVar14) + + ((uVar9 >> 0x19 | uVar9 * 0x80) ^ (uVar9 >> 0xb | uVar9 * 0x200000) ^ + (uVar9 >> 6 | uVar9 * 0x4000000)) + local_c0 + 0x6ca6351 + uVar15; + uVar13 = uVar13 + iVar4; + uVar15 = ((uVar16 | uVar17) & uVar6 | uVar16 & uVar17) + + iVar4 + ((uVar17 >> 0x16 | uVar17 * 0x400) ^ (uVar17 >> 0xd | uVar17 * 0x80000) ^ + (uVar17 >> 2 | uVar17 * 0x40000000)); + iVar4 = ((uVar9 ^ uVar8) & uVar13 ^ uVar8) + + ((uVar13 >> 0x19 | uVar13 * 0x80) ^ (uVar13 >> 0xb | uVar13 * 0x200000) ^ + (uVar13 >> 6 | uVar13 * 0x4000000)) + local_bc + 0x14292967 + uVar14; + uVar6 = uVar6 + iVar4; + uVar14 = ((uVar17 | uVar15) & uVar16 | uVar17 & uVar15) + + iVar4 + ((uVar15 >> 0x16 | uVar15 * 0x400) ^ (uVar15 >> 0xd | uVar15 * 0x80000) ^ + (uVar15 >> 2 | uVar15 * 0x40000000)); + iVar4 = ((uVar13 ^ uVar9) & uVar6 ^ uVar9) + + ((uVar6 >> 0x19 | uVar6 * 0x80) ^ (uVar6 >> 0xb | uVar6 * 0x200000) ^ + (uVar6 >> 6 | uVar6 * 0x4000000)) + local_b8 + 0x27b70a85 + uVar8; + uVar16 = uVar16 + iVar4; + uVar8 = ((uVar15 | uVar14) & uVar17 | uVar15 & uVar14) + + iVar4 + ((uVar14 >> 0x16 | uVar14 * 0x400) ^ (uVar14 >> 0xd | uVar14 * 0x80000) ^ + (uVar14 >> 2 | uVar14 * 0x40000000)); + iVar4 = ((uVar13 ^ uVar6) & uVar16 ^ uVar13) + + ((uVar16 >> 0x19 | uVar16 * 0x80) ^ (uVar16 >> 0xb | uVar16 * 0x200000) ^ + (uVar16 >> 6 | uVar16 * 0x4000000)) + local_b4 + 0x2e1b2138 + uVar9; + uVar17 = uVar17 + iVar4; + uVar9 = ((uVar14 | uVar8) & uVar15 | uVar14 & uVar8) + + iVar4 + ((uVar8 >> 0x16 | uVar8 * 0x400) ^ (uVar8 >> 0xd | uVar8 * 0x80000) ^ + (uVar8 >> 2 | uVar8 * 0x40000000)); + iVar4 = ((uVar16 ^ uVar6) & uVar17 ^ uVar6) + + ((uVar17 >> 0x19 | uVar17 * 0x80) ^ (uVar17 >> 0xb | uVar17 * 0x200000) ^ + (uVar17 >> 6 | uVar17 * 0x4000000)) + local_b0 + 0x4d2c6dfc + uVar13; + uVar15 = uVar15 + iVar4; + uVar13 = ((uVar9 | uVar8) & uVar14 | uVar9 & uVar8) + + iVar4 + ((uVar9 >> 0x16 | uVar9 * 0x400) ^ (uVar9 >> 0xd | uVar9 * 0x80000) ^ + (uVar9 >> 2 | uVar9 * 0x40000000)); + iVar4 = ((uVar16 ^ uVar17) & uVar15 ^ uVar16) + + ((uVar15 >> 0x19 | uVar15 * 0x80) ^ (uVar15 >> 0xb | uVar15 * 0x200000) ^ + (uVar15 >> 6 | uVar15 * 0x4000000)) + local_ac + 0x53380d13 + uVar6; + uVar14 = uVar14 + iVar4; + uVar6 = ((uVar13 | uVar9) & uVar8 | uVar13 & uVar9) + + iVar4 + ((uVar13 >> 0x16 | uVar13 * 0x400) ^ (uVar13 >> 0xd | uVar13 * 0x80000) ^ + (uVar13 >> 2 | uVar13 * 0x40000000)); + iVar4 = ((uVar17 ^ uVar15) & uVar14 ^ uVar17) + + ((uVar14 >> 0x19 | uVar14 * 0x80) ^ (uVar14 >> 0xb | uVar14 * 0x200000) ^ + (uVar14 >> 6 | uVar14 * 0x4000000)) + local_a8 + 0x650a7354 + uVar16; + uVar8 = uVar8 + iVar4; + uVar16 = ((uVar13 | uVar6) & uVar9 | uVar13 & uVar6) + + iVar4 + ((uVar6 >> 0x16 | uVar6 * 0x400) ^ (uVar6 >> 0xd | uVar6 * 0x80000) ^ + (uVar6 >> 2 | uVar6 * 0x40000000)); + iVar4 = ((uVar15 ^ uVar14) & uVar8 ^ uVar15) + + ((uVar8 >> 0x19 | uVar8 * 0x80) ^ (uVar8 >> 0xb | uVar8 * 0x200000) ^ + (uVar8 >> 6 | uVar8 * 0x4000000)) + local_a4 + 0x766a0abb + uVar17; + uVar9 = uVar9 + iVar4; + uVar17 = ((uVar16 | uVar6) & uVar13 | uVar16 & uVar6) + + iVar4 + ((uVar16 >> 0x16 | uVar16 * 0x400) ^ (uVar16 >> 0xd | uVar16 * 0x80000) ^ + (uVar16 >> 2 | uVar16 * 0x40000000)); + iVar4 = ((uVar14 ^ uVar8) & uVar9 ^ uVar14) + + ((uVar9 >> 0x19 | uVar9 * 0x80) ^ (uVar9 >> 0xb | uVar9 * 0x200000) ^ + (uVar9 >> 6 | uVar9 * 0x4000000)) + local_a0 + -0x7e3d36d2 + uVar15; + uVar13 = uVar13 + iVar4; + uVar15 = ((uVar16 | uVar17) & uVar6 | uVar16 & uVar17) + + iVar4 + ((uVar17 >> 0x16 | uVar17 * 0x400) ^ (uVar17 >> 0xd | uVar17 * 0x80000) ^ + (uVar17 >> 2 | uVar17 * 0x40000000)); + iVar4 = ((uVar9 ^ uVar8) & uVar13 ^ uVar8) + + ((uVar13 >> 0x19 | uVar13 * 0x80) ^ (uVar13 >> 0xb | uVar13 * 0x200000) ^ + (uVar13 >> 6 | uVar13 * 0x4000000)) + local_9c + -0x6d8dd37b + uVar14; + uVar6 = uVar6 + iVar4; + uVar14 = ((uVar17 | uVar15) & uVar16 | uVar17 & uVar15) + + iVar4 + ((uVar15 >> 0x16 | uVar15 * 0x400) ^ (uVar15 >> 0xd | uVar15 * 0x80000) ^ + (uVar15 >> 2 | uVar15 * 0x40000000)); + iVar4 = ((uVar13 ^ uVar9) & uVar6 ^ uVar9) + + ((uVar6 >> 0x19 | uVar6 * 0x80) ^ (uVar6 >> 0xb | uVar6 * 0x200000) ^ + (uVar6 >> 6 | uVar6 * 0x4000000)) + local_98 + -0x5d40175f + uVar8; + uVar16 = uVar16 + iVar4; + uVar8 = ((uVar15 | uVar14) & uVar17 | uVar15 & uVar14) + + iVar4 + ((uVar14 >> 0x16 | uVar14 * 0x400) ^ (uVar14 >> 0xd | uVar14 * 0x80000) ^ + (uVar14 >> 2 | uVar14 * 0x40000000)); + iVar4 = ((uVar13 ^ uVar6) & uVar16 ^ uVar13) + + ((uVar16 >> 0x19 | uVar16 * 0x80) ^ (uVar16 >> 0xb | uVar16 * 0x200000) ^ + (uVar16 >> 6 | uVar16 * 0x4000000)) + local_94 + -0x57e599b5 + uVar9; + uVar17 = uVar17 + iVar4; + uVar9 = ((uVar14 | uVar8) & uVar15 | uVar14 & uVar8) + + iVar4 + ((uVar8 >> 0x16 | uVar8 * 0x400) ^ (uVar8 >> 0xd | uVar8 * 0x80000) ^ + (uVar8 >> 2 | uVar8 * 0x40000000)); + iVar4 = ((uVar16 ^ uVar6) & uVar17 ^ uVar6) + + ((uVar17 >> 0x19 | uVar17 * 0x80) ^ (uVar17 >> 0xb | uVar17 * 0x200000) ^ + (uVar17 >> 6 | uVar17 * 0x4000000)) + local_90 + -0x3db47490 + uVar13; + uVar15 = uVar15 + iVar4; + uVar13 = ((uVar9 | uVar8) & uVar14 | uVar9 & uVar8) + + iVar4 + ((uVar9 >> 0x16 | uVar9 * 0x400) ^ (uVar9 >> 0xd | uVar9 * 0x80000) ^ + (uVar9 >> 2 | uVar9 * 0x40000000)); + iVar4 = ((uVar16 ^ uVar17) & uVar15 ^ uVar16) + + ((uVar15 >> 0x19 | uVar15 * 0x80) ^ (uVar15 >> 0xb | uVar15 * 0x200000) ^ + (uVar15 >> 6 | uVar15 * 0x4000000)) + local_8c + -0x3893ae5d + uVar6; + uVar14 = uVar14 + iVar4; + uVar6 = ((uVar13 | uVar9) & uVar8 | uVar13 & uVar9) + + iVar4 + ((uVar13 >> 0x16 | uVar13 * 0x400) ^ (uVar13 >> 0xd | uVar13 * 0x80000) ^ + (uVar13 >> 2 | uVar13 * 0x40000000)); + iVar4 = ((uVar17 ^ uVar15) & uVar14 ^ uVar17) + + ((uVar14 >> 0x19 | uVar14 * 0x80) ^ (uVar14 >> 0xb | uVar14 * 0x200000) ^ + (uVar14 >> 6 | uVar14 * 0x4000000)) + local_88 + -0x2e6d17e7 + uVar16; + uVar8 = uVar8 + iVar4; + uVar16 = ((uVar13 | uVar6) & uVar9 | uVar13 & uVar6) + + iVar4 + ((uVar6 >> 0x16 | uVar6 * 0x400) ^ (uVar6 >> 0xd | uVar6 * 0x80000) ^ + (uVar6 >> 2 | uVar6 * 0x40000000)); + iVar4 = ((uVar15 ^ uVar14) & uVar8 ^ uVar15) + + ((uVar8 >> 0x19 | uVar8 * 0x80) ^ (uVar8 >> 0xb | uVar8 * 0x200000) ^ + (uVar8 >> 6 | uVar8 * 0x4000000)) + local_84 + -0x2966f9dc + uVar17; + uVar9 = uVar9 + iVar4; + uVar17 = ((uVar16 | uVar6) & uVar13 | uVar16 & uVar6) + + iVar4 + ((uVar16 >> 0x16 | uVar16 * 0x400) ^ (uVar16 >> 0xd | uVar16 * 0x80000) ^ + (uVar16 >> 2 | uVar16 * 0x40000000)); + iVar4 = ((uVar14 ^ uVar8) & uVar9 ^ uVar14) + + ((uVar9 >> 0x19 | uVar9 * 0x80) ^ (uVar9 >> 0xb | uVar9 * 0x200000) ^ + (uVar9 >> 6 | uVar9 * 0x4000000)) + local_80 + -0xbf1ca7b + uVar15; + uVar13 = uVar13 + iVar4; + uVar15 = ((uVar16 | uVar17) & uVar6 | uVar16 & uVar17) + + iVar4 + ((uVar17 >> 0x16 | uVar17 * 0x400) ^ (uVar17 >> 0xd | uVar17 * 0x80000) ^ + (uVar17 >> 2 | uVar17 * 0x40000000)); + iVar4 = ((uVar9 ^ uVar8) & uVar13 ^ uVar8) + + ((uVar13 >> 0x19 | uVar13 * 0x80) ^ (uVar13 >> 0xb | uVar13 * 0x200000) ^ + (uVar13 >> 6 | uVar13 * 0x4000000)) + local_7c + 0x106aa070 + uVar14; + uVar6 = uVar6 + iVar4; + uVar14 = ((uVar17 | uVar15) & uVar16 | uVar17 & uVar15) + + iVar4 + ((uVar15 >> 0x16 | uVar15 * 0x400) ^ (uVar15 >> 0xd | uVar15 * 0x80000) ^ + (uVar15 >> 2 | uVar15 * 0x40000000)); + iVar4 = ((uVar13 ^ uVar9) & uVar6 ^ uVar9) + + ((uVar6 >> 0x19 | uVar6 * 0x80) ^ (uVar6 >> 0xb | uVar6 * 0x200000) ^ + (uVar6 >> 6 | uVar6 * 0x4000000)) + local_78 + 0x19a4c116 + uVar8; + uVar16 = uVar16 + iVar4; + uVar8 = ((uVar15 | uVar14) & uVar17 | uVar15 & uVar14) + + iVar4 + ((uVar14 >> 0x16 | uVar14 * 0x400) ^ (uVar14 >> 0xd | uVar14 * 0x80000) ^ + (uVar14 >> 2 | uVar14 * 0x40000000)); + iVar4 = ((uVar13 ^ uVar6) & uVar16 ^ uVar13) + + ((uVar16 >> 0x19 | uVar16 * 0x80) ^ (uVar16 >> 0xb | uVar16 * 0x200000) ^ + (uVar16 >> 6 | uVar16 * 0x4000000)) + local_74 + 0x1e376c08 + uVar9; + uVar17 = uVar17 + iVar4; + uVar9 = ((uVar14 | uVar8) & uVar15 | uVar14 & uVar8) + + iVar4 + ((uVar8 >> 0x16 | uVar8 * 0x400) ^ (uVar8 >> 0xd | uVar8 * 0x80000) ^ + (uVar8 >> 2 | uVar8 * 0x40000000)); + iVar4 = ((uVar16 ^ uVar6) & uVar17 ^ uVar6) + + ((uVar17 >> 0x19 | uVar17 * 0x80) ^ (uVar17 >> 0xb | uVar17 * 0x200000) ^ + (uVar17 >> 6 | uVar17 * 0x4000000)) + local_70 + 0x2748774c + uVar13; + uVar15 = uVar15 + iVar4; + uVar13 = ((uVar9 | uVar8) & uVar14 | uVar9 & uVar8) + + iVar4 + ((uVar9 >> 0x16 | uVar9 * 0x400) ^ (uVar9 >> 0xd | uVar9 * 0x80000) ^ + (uVar9 >> 2 | uVar9 * 0x40000000)); + iVar4 = ((uVar16 ^ uVar17) & uVar15 ^ uVar16) + + ((uVar15 >> 0x19 | uVar15 * 0x80) ^ (uVar15 >> 0xb | uVar15 * 0x200000) ^ + (uVar15 >> 6 | uVar15 * 0x4000000)) + local_6c + 0x34b0bcb5 + uVar6; + uVar14 = uVar14 + iVar4; + uVar6 = ((uVar13 | uVar9) & uVar8 | uVar13 & uVar9) + + iVar4 + ((uVar13 >> 0x16 | uVar13 * 0x400) ^ (uVar13 >> 0xd | uVar13 * 0x80000) ^ + (uVar13 >> 2 | uVar13 * 0x40000000)); + iVar4 = ((uVar17 ^ uVar15) & uVar14 ^ uVar17) + + ((uVar14 >> 0x19 | uVar14 * 0x80) ^ (uVar14 >> 0xb | uVar14 * 0x200000) ^ + (uVar14 >> 6 | uVar14 * 0x4000000)) + local_68 + 0x391c0cb3 + uVar16; + uVar8 = uVar8 + iVar4; + uVar12 = ((uVar13 | uVar6) & uVar9 | uVar13 & uVar6) + + iVar4 + ((uVar6 >> 0x16 | uVar6 * 0x400) ^ (uVar6 >> 0xd | uVar6 * 0x80000) ^ + (uVar6 >> 2 | uVar6 * 0x40000000)); + iVar4 = ((uVar15 ^ uVar14) & uVar8 ^ uVar15) + + ((uVar8 >> 0x19 | uVar8 * 0x80) ^ (uVar8 >> 0xb | uVar8 * 0x200000) ^ + (uVar8 >> 6 | uVar8 * 0x4000000)) + local_64 + 0x4ed8aa4a + uVar17; + uVar9 = uVar9 + iVar4; + uVar19 = ((uVar12 | uVar6) & uVar13 | uVar12 & uVar6) + + iVar4 + ((uVar12 >> 0x16 | uVar12 * 0x400) ^ (uVar12 >> 0xd | uVar12 * 0x80000) ^ + (uVar12 >> 2 | uVar12 * 0x40000000)); + iVar4 = ((uVar14 ^ uVar8) & uVar9 ^ uVar14) + + ((uVar9 >> 0x19 | uVar9 * 0x80) ^ (uVar9 >> 0xb | uVar9 * 0x200000) ^ + (uVar9 >> 6 | uVar9 * 0x4000000)) + local_60 + 0x5b9cca4f + uVar15; + uVar13 = uVar13 + iVar4; + uVar16 = ((uVar12 | uVar19) & uVar6 | uVar12 & uVar19) + + iVar4 + ((uVar19 >> 0x16 | uVar19 * 0x400) ^ (uVar19 >> 0xd | uVar19 * 0x80000) ^ + (uVar19 >> 2 | uVar19 * 0x40000000)); + iVar4 = ((uVar9 ^ uVar8) & uVar13 ^ uVar8) + + ((uVar13 >> 0x19 | uVar13 * 0x80) ^ (uVar13 >> 0xb | uVar13 * 0x200000) ^ + (uVar13 >> 6 | uVar13 * 0x4000000)) + local_5c + 0x682e6ff3 + uVar14; + uVar6 = uVar6 + iVar4; + uVar14 = ((uVar19 | uVar16) & uVar12 | uVar19 & uVar16) + + iVar4 + ((uVar16 >> 0x16 | uVar16 * 0x400) ^ (uVar16 >> 0xd | uVar16 * 0x80000) ^ + (uVar16 >> 2 | uVar16 * 0x40000000)); + iVar4 = ((uVar13 ^ uVar9) & uVar6 ^ uVar9) + + ((uVar6 >> 0x19 | uVar6 * 0x80) ^ (uVar6 >> 0xb | uVar6 * 0x200000) ^ + (uVar6 >> 6 | uVar6 * 0x4000000)) + local_58 + 0x748f82ee + uVar8; + uVar12 = uVar12 + iVar4; + uVar15 = ((uVar16 | uVar14) & uVar19 | uVar16 & uVar14) + + iVar4 + ((uVar14 >> 0x16 | uVar14 * 0x400) ^ (uVar14 >> 0xd | uVar14 * 0x80000) ^ + (uVar14 >> 2 | uVar14 * 0x40000000)); + iVar4 = ((uVar13 ^ uVar6) & uVar12 ^ uVar13) + + ((uVar12 >> 0x19 | uVar12 * 0x80) ^ (uVar12 >> 0xb | uVar12 * 0x200000) ^ + (uVar12 >> 6 | uVar12 * 0x4000000)) + local_54 + 0x78a5636f + uVar9; + uVar19 = uVar19 + iVar4; + uVar17 = ((uVar14 | uVar15) & uVar16 | uVar14 & uVar15) + + iVar4 + ((uVar15 >> 0x16 | uVar15 * 0x400) ^ (uVar15 >> 0xd | uVar15 * 0x80000) ^ + (uVar15 >> 2 | uVar15 * 0x40000000)); + iVar4 = ((uVar12 ^ uVar6) & uVar19 ^ uVar6) + + ((uVar19 >> 0x19 | uVar19 * 0x80) ^ (uVar19 >> 0xb | uVar19 * 0x200000) ^ + (uVar19 >> 6 | uVar19 * 0x4000000)) + local_50 + -0x7b3787ec + uVar13; + uVar16 = uVar16 + iVar4; + uVar8 = ((uVar17 | uVar15) & uVar14 | uVar17 & uVar15) + + iVar4 + ((uVar17 >> 0x16 | uVar17 * 0x400) ^ (uVar17 >> 0xd | uVar17 * 0x80000) ^ + (uVar17 >> 2 | uVar17 * 0x40000000)); + iVar4 = ((uVar12 ^ uVar19) & uVar16 ^ uVar12) + + ((uVar16 >> 0x19 | uVar16 * 0x80) ^ (uVar16 >> 0xb | uVar16 * 0x200000) ^ + (uVar16 >> 6 | uVar16 * 0x4000000)) + local_4c + -0x7338fdf8 + uVar6; + uVar14 = uVar14 + iVar4; + uVar6 = ((uVar8 | uVar17) & uVar15 | uVar8 & uVar17) + + iVar4 + ((uVar8 >> 0x16 | uVar8 * 0x400) ^ (uVar8 >> 0xd | uVar8 * 0x80000) ^ + (uVar8 >> 2 | uVar8 * 0x40000000)); + iVar4 = ((uVar19 ^ uVar16) & uVar14 ^ uVar19) + + ((uVar14 >> 0x19 | uVar14 * 0x80) ^ (uVar14 >> 0xb | uVar14 * 0x200000) ^ + (uVar14 >> 6 | uVar14 * 0x4000000)) + local_48 + -0x6f410006 + uVar12; + uVar15 = uVar15 + iVar4; + uVar13 = ((uVar8 | uVar6) & uVar17 | uVar8 & uVar6) + + iVar4 + ((uVar6 >> 0x16 | uVar6 * 0x400) ^ (uVar6 >> 0xd | uVar6 * 0x80000) ^ + (uVar6 >> 2 | uVar6 * 0x40000000)); + iVar4 = ((uVar16 ^ uVar14) & uVar15 ^ uVar16) + + ((uVar15 >> 0x19 | uVar15 * 0x80) ^ (uVar15 >> 0xb | uVar15 * 0x200000) ^ + (uVar15 >> 6 | uVar15 * 0x4000000)) + local_44 + -0x5baf9315 + uVar19; + uVar17 = uVar17 + iVar4; + uVar9 = ((uVar13 | uVar6) & uVar8 | uVar13 & uVar6) + + iVar4 + ((uVar13 >> 0x16 | uVar13 * 0x400) ^ (uVar13 >> 0xd | uVar13 * 0x80000) ^ + (uVar13 >> 2 | uVar13 * 0x40000000)); + iVar4 = ((uVar14 ^ uVar15) & uVar17 ^ uVar14) + + ((uVar17 >> 0x19 | uVar17 * 0x80) ^ (uVar17 >> 0xb | uVar17 * 0x200000) ^ + (uVar17 >> 6 | uVar17 * 0x4000000)) + local_40 + -0x41065c09 + uVar16; + uVar8 = uVar8 + iVar4; + uVar16 = ((uVar13 | uVar9) & uVar6 | uVar13 & uVar9) + + iVar4 + ((uVar9 >> 0x16 | uVar9 * 0x400) ^ (uVar9 >> 0xd | uVar9 * 0x80000) ^ + (uVar9 >> 2 | uVar9 * 0x40000000)); + iVar4 = ((uVar17 ^ uVar15) & uVar8 ^ uVar15) + + ((uVar8 >> 0x19 | uVar8 * 0x80) ^ (uVar8 >> 0xb | uVar8 * 0x200000) ^ + (uVar8 >> 6 | uVar8 * 0x4000000)) + local_3c + -0x398e870e + uVar14; + *(int *)(local_148 + 8) = + *(int *)(local_148 + 8) + + ((uVar9 | uVar16) & uVar13 | uVar9 & uVar16) + + iVar4 + ((uVar16 >> 0x16 | uVar16 * 0x400) ^ (uVar16 >> 0xd | uVar16 * 0x80000) ^ + (uVar16 >> 2 | uVar16 * 0x40000000)); + *(int *)(local_148 + 0xc) = *(int *)(local_148 + 0xc) + uVar16; + *(int *)(local_148 + 0x10) = *(int *)(local_148 + 0x10) + uVar9; + *(int *)(local_148 + 0x14) = *(int *)(local_148 + 0x14) + uVar13; + *(int *)(local_148 + 0x18) = *(int *)(local_148 + 0x18) + uVar6 + iVar4; + *(int *)(local_148 + 0x1c) = *(int *)(local_148 + 0x1c) + uVar8; + *(int *)(local_148 + 0x20) = *(int *)(local_148 + 0x20) + uVar17; + *(int *)(local_148 + 0x24) = *(int *)(local_148 + 0x24) + uVar15; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cb6a0.c b/decomp/Agent_Release_x64/full/functions/0x1400cb6a0.c new file mode 100644 index 00000000..5bcd240a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cb6a0.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cb6a0 FUN_1400cb6a0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400cb6a0(undefined8 *param_1) + +{ + if (param_1 == (undefined8 *)0x0) { + return 0x10; + } + *(undefined4 *)(param_1 + 1) = 0x6a09e667; + *(undefined4 *)((longlong)param_1 + 0xc) = 0xbb67ae85; + *(undefined4 *)(param_1 + 2) = 0x3c6ef372; + *(undefined4 *)((longlong)param_1 + 0x14) = 0xa54ff53a; + *(undefined4 *)(param_1 + 3) = 0x510e527f; + *(undefined4 *)(param_1 + 5) = 0; + *param_1 = 0; + *(undefined4 *)((longlong)param_1 + 0x1c) = 0x9b05688c; + *(undefined4 *)(param_1 + 4) = 0x1f83d9ab; + *(undefined4 *)((longlong)param_1 + 0x24) = 0x5be0cd19; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cb6f0.c b/decomp/Agent_Release_x64/full/functions/0x1400cb6f0.c new file mode 100644 index 00000000..aa555f7f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cb6f0.c @@ -0,0 +1,47 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cb6f0 FUN_1400cb6f0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400cb6f0(longlong *param_1,void *param_2,uint param_3) + +{ + undefined8 uVar1; + uint uVar2; + + if (((param_1 != (longlong *)0x0) && (param_2 != (void *)0x0)) && (*(uint *)(param_1 + 5) < 0x41)) + { + while( true ) { + while( true ) { + if (param_3 == 0) { + return 0; + } + if (((int)param_1[5] == 0) && (0x3f < param_3)) break; + uVar2 = 0x40 - (int)param_1[5]; + if (param_3 < uVar2) { + uVar2 = param_3; + } + memcpy((void *)((ulonglong)*(uint *)(param_1 + 5) + 0x2c + (longlong)param_1),param_2, + (ulonglong)uVar2); + *(uint *)(param_1 + 5) = (int)param_1[5] + uVar2; + param_2 = (void *)((longlong)param_2 + (ulonglong)uVar2); + param_3 = param_3 - uVar2; + if ((int)param_1[5] == 0x40) { + uVar1 = FUN_1400c9ce0((longlong)param_1,(longlong)param_1 + 0x2c); + if ((int)uVar1 != 0) { + return uVar1; + } + *param_1 = *param_1 + 0x200; + *(undefined4 *)(param_1 + 5) = 0; + } + } + uVar1 = FUN_1400c9ce0((longlong)param_1,(longlong)param_2); + if ((int)uVar1 != 0) break; + *param_1 = *param_1 + 0x200; + param_2 = (void *)((longlong)param_2 + 0x40); + param_3 = param_3 - 0x40; + } + return uVar1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cb7d0.c b/decomp/Agent_Release_x64/full/functions/0x1400cb7d0.c new file mode 100644 index 00000000..300b8cb9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cb7d0.c @@ -0,0 +1,81 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cb7d0 FUN_1400cb7d0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400cb7d0(longlong *param_1,undefined1 *param_2) + +{ + uint uVar1; + uint uVar2; + + if ((param_1 != (longlong *)0x0) && (param_2 != (undefined1 *)0x0)) { + uVar1 = *(uint *)(param_1 + 5); + if (uVar1 < 0x40) { + *param_1 = *param_1 + (ulonglong)(uVar1 * 8); + *(undefined1 *)((ulonglong)uVar1 + 0x2c + (longlong)param_1) = 0x80; + *(int *)(param_1 + 5) = (int)param_1[5] + 1; + uVar2 = *(uint *)(param_1 + 5); + uVar1 = uVar2; + if (0x38 < uVar2) { + while (uVar1 < 0x40) { + *(undefined1 *)((ulonglong)uVar2 + 0x2c + (longlong)param_1) = 0; + *(int *)(param_1 + 5) = (int)param_1[5] + 1; + uVar2 = *(uint *)(param_1 + 5); + uVar1 = *(uint *)(param_1 + 5); + } + FUN_1400c9ce0((longlong)param_1,(longlong)param_1 + 0x2c); + *(undefined4 *)(param_1 + 5) = 0; + } + uVar1 = *(uint *)(param_1 + 5); + while (uVar1 < 0x38) { + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 5) + 0x2c + (longlong)param_1) = 0; + *(int *)(param_1 + 5) = (int)param_1[5] + 1; + uVar1 = *(uint *)(param_1 + 5); + } + *(undefined1 *)((longlong)param_1 + 100) = *(undefined1 *)((longlong)param_1 + 7); + *(undefined1 *)((longlong)param_1 + 0x65) = *(undefined1 *)((longlong)param_1 + 6); + *(undefined1 *)((longlong)param_1 + 0x66) = *(undefined1 *)((longlong)param_1 + 5); + *(undefined1 *)((longlong)param_1 + 0x67) = *(undefined1 *)((longlong)param_1 + 4); + *(undefined1 *)(param_1 + 0xd) = *(undefined1 *)((longlong)param_1 + 3); + *(undefined1 *)((longlong)param_1 + 0x69) = *(undefined1 *)((longlong)param_1 + 2); + *(undefined1 *)((longlong)param_1 + 0x6a) = *(undefined1 *)((longlong)param_1 + 1); + *(char *)((longlong)param_1 + 0x6b) = (char)*param_1; + FUN_1400c9ce0((longlong)param_1,(longlong)param_1 + 0x2c); + *param_2 = *(undefined1 *)((longlong)param_1 + 0xb); + param_2[1] = *(undefined1 *)((longlong)param_1 + 10); + param_2[2] = *(undefined1 *)((longlong)param_1 + 9); + param_2[3] = (char)param_1[1]; + param_2[4] = *(undefined1 *)((longlong)param_1 + 0xf); + param_2[5] = *(undefined1 *)((longlong)param_1 + 0xe); + param_2[6] = *(undefined1 *)((longlong)param_1 + 0xd); + param_2[7] = *(undefined1 *)((longlong)param_1 + 0xc); + param_2[8] = *(undefined1 *)((longlong)param_1 + 0x13); + param_2[9] = *(undefined1 *)((longlong)param_1 + 0x12); + param_2[10] = *(undefined1 *)((longlong)param_1 + 0x11); + param_2[0xb] = (char)param_1[2]; + param_2[0xc] = *(undefined1 *)((longlong)param_1 + 0x17); + param_2[0xd] = *(undefined1 *)((longlong)param_1 + 0x16); + param_2[0xe] = *(undefined1 *)((longlong)param_1 + 0x15); + param_2[0xf] = *(undefined1 *)((longlong)param_1 + 0x14); + param_2[0x10] = *(undefined1 *)((longlong)param_1 + 0x1b); + param_2[0x11] = *(undefined1 *)((longlong)param_1 + 0x1a); + param_2[0x12] = *(undefined1 *)((longlong)param_1 + 0x19); + param_2[0x13] = (char)param_1[3]; + param_2[0x14] = *(undefined1 *)((longlong)param_1 + 0x1f); + param_2[0x15] = *(undefined1 *)((longlong)param_1 + 0x1e); + param_2[0x16] = *(undefined1 *)((longlong)param_1 + 0x1d); + param_2[0x17] = *(undefined1 *)((longlong)param_1 + 0x1c); + param_2[0x18] = *(undefined1 *)((longlong)param_1 + 0x23); + param_2[0x19] = *(undefined1 *)((longlong)param_1 + 0x22); + param_2[0x1a] = *(undefined1 *)((longlong)param_1 + 0x21); + param_2[0x1b] = (char)param_1[4]; + param_2[0x1c] = *(undefined1 *)((longlong)param_1 + 0x27); + param_2[0x1d] = *(undefined1 *)((longlong)param_1 + 0x26); + param_2[0x1e] = *(undefined1 *)((longlong)param_1 + 0x25); + param_2[0x1f] = *(undefined1 *)((longlong)param_1 + 0x24); + return 0; + } + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cb9a0.c b/decomp/Agent_Release_x64/full/functions/0x1400cb9a0.c new file mode 100644 index 00000000..5ba19e7a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cb9a0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cb9a0 FUN_1400cb9a0 + * Pseudocode, not original source. */ + +void FUN_1400cb9a0(void *param_1,size_t param_2) + +{ + if ((param_1 != (void *)0x0) && (param_2 != 0)) { + memset(param_1,0,param_2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cb9c0.c b/decomp/Agent_Release_x64/full/functions/0x1400cb9c0.c new file mode 100644 index 00000000..1f61c935 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cb9c0.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cb9c0 FUN_1400cb9c0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400cb9c0(undefined8 *param_1) + +{ + undefined8 *puVar1; + undefined1 *puVar2; + int iVar3; + int iVar4; + longlong local_res10 [3]; + + iVar4 = 0; + puVar2 = (undefined1 *)register0x00000020; + puVar1 = param_1; + while( true ) { + if (puVar1 == (undefined8 *)0x0) { + return 0; + } + iVar3 = (*DAT_1401632b0)(); + if (iVar3 != 0) break; + puVar1 = *(undefined8 **)(puVar2 + 0x10); + iVar4 = iVar4 + 1; + puVar2 = puVar2 + 8; + } + for (; iVar4 != 0; iVar4 = iVar4 + -1) { + (*DAT_1401632c0)(*param_1); + param_1 = *(undefined8 **)((longlong)register0x00000020 + 0x10); + register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 8); + } + return 0xd; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cba50.c b/decomp/Agent_Release_x64/full/functions/0x1400cba50.c new file mode 100644 index 00000000..b2efd684 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cba50.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cba50 FUN_1400cba50 + * Pseudocode, not original source. */ + +void FUN_1400cba50(longlong param_1) + +{ + undefined1 *puVar1; + longlong local_res10 [3]; + + puVar1 = (undefined1 *)register0x00000020; + while (param_1 != 0) { + (*DAT_1401632c0)(); + param_1 = *(longlong *)(puVar1 + 0x10); + puVar1 = puVar1 + 8; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cbaa0.c b/decomp/Agent_Release_x64/full/functions/0x1400cbaa0.c new file mode 100644 index 00000000..23e01728 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cbaa0.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cbaa0 FUN_1400cbaa0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400cbaa0(char *param_1,uint param_2,int param_3,undefined4 param_4,undefined8 param_5 + ) + +{ + int iVar1; + void *_Memory; + ulonglong uVar2; + undefined8 *puVar3; + uint uVar4; + ulonglong uVar5; + undefined8 *puVar6; + undefined8 uVar7; + + if (param_1 == (char *)0x0) { + return 0x10; + } + uVar5 = 0; + uVar4 = 0; + uVar2 = uVar5; + if (param_3 != 0) { + puVar3 = ¶m_5; + iVar1 = param_3; + do { + if (0xe < iVar1 - 1U) { + return 0x10; + } + iVar1 = *(int *)(puVar3 + 1); + uVar2 = (ulonglong)((int)uVar2 + 1); + puVar3 = puVar3 + 3; + } while (iVar1 != 0); + } + if ((int)uVar2 == 0) { + return 2; + } + _Memory = calloc(0x38,uVar2); + if (_Memory == (void *)0x0) { + return 0xd; + } + puVar3 = ¶m_5; + if (param_3 != 0) { + puVar6 = (undefined8 *)((longlong)_Memory + 8); + uVar7 = param_5; + do { + if (0xe < param_3 - 1U) { + uVar2 = 0x10; + goto LAB_1400cbbba; + } + *(int *)(puVar6 + -1) = param_3; + *(undefined4 *)(puVar6 + 1) = param_4; + *puVar6 = uVar7; + param_3 = *(int *)(puVar3 + 1); + param_4 = *(undefined4 *)(puVar3 + 2); + uVar7 = puVar3[3]; + puVar3 = puVar3 + 3; + uVar4 = (int)uVar5 + 1; + uVar5 = (ulonglong)uVar4; + puVar6 = puVar6 + 7; + } while (param_3 != 0); + } + uVar2 = FUN_1400cbbe0(param_1,param_2,(longlong)_Memory,uVar4,1); + uVar2 = uVar2 & 0xffffffff; +LAB_1400cbbba: + free(_Memory); + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cbbe0.c b/decomp/Agent_Release_x64/full/functions/0x1400cbbe0.c new file mode 100644 index 00000000..ab4c6ccf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cbbe0.c @@ -0,0 +1,229 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cbbe0 FUN_1400cbbe0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400cbbe0(char *param_1,uint param_2,longlong param_3,uint param_4,int param_5) + +{ + byte bVar1; + uint *puVar2; + undefined4 uVar3; + undefined4 *puVar4; + undefined4 extraout_var; + undefined4 extraout_var_00; + int *piVar5; + uint uVar6; + ulonglong uVar7; + byte *pbVar8; + longlong lVar9; + bool bVar10; + uint local_res8; + int iVar11; + uint local_38; + uint local_34; + uint local_30; + uint local_2c; + longlong local_28; + + uVar7 = (ulonglong)param_4; + if ((param_1 == (char *)0x0) || (param_3 == 0)) { + return 0x10; + } + if ((param_2 < 2) || ((*param_1 != '0' && (*param_1 != '1')))) { + return 7; + } + bVar1 = param_1[1]; + local_34 = 1; + if (bVar1 < 0x80) { + local_res8 = (uint)bVar1; + local_34 = 2; + } + else if ((char)bVar1 < '\0') { + if (bVar1 < 0x81) { + return 7; + } + if (0x83 < bVar1) { + return 7; + } + uVar6 = bVar1 & 0x7f; + local_34 = 2; + if (param_2 < uVar6 + 2) { + return 7; + } + local_res8 = 0; + if ((bVar1 & 0x7f) != 0) { + pbVar8 = (byte *)(param_1 + 2); + local_34 = uVar6 + 2; + do { + bVar1 = *pbVar8; + pbVar8 = pbVar8 + 1; + local_res8 = local_res8 << 8 | (uint)bVar1; + uVar6 = uVar6 - 1; + } while (uVar6 != 0); + } + } + else { + local_res8 = (uint)param_1; + } + if (param_2 < local_res8 + local_34) { + return 7; + } + if (param_4 != 0) { + puVar4 = (undefined4 *)(param_3 + 0x14); + do { + *puVar4 = 0; + puVar4 = puVar4 + 0xe; + uVar7 = uVar7 - 1; + } while (uVar7 != 0); + } + local_30 = 0; + local_28 = 0; + if (param_4 != 0) { + do { + lVar9 = local_28 * 0x38; + local_2c = *(uint *)(lVar9 + 0x10 + param_3); + iVar11 = *(int *)(lVar9 + param_3); + puVar2 = *(uint **)(lVar9 + 8 + param_3); + if ((param_5 == 0) && (*(int *)(lVar9 + 0x14 + param_3) == 1)) goto LAB_1400cbde0; + if (iVar11 == 0) break; + local_38 = local_res8; + switch(iVar11) { + case 1: + uVar7 = FUN_1400d24d0(param_1 + local_34,local_res8,puVar2); + if ((int)uVar7 != 0) { + return uVar7; + } + uVar7 = FUN_1400d24b0(&local_38); + break; + case 2: + uVar7 = FUN_1400d2320((byte *)(param_1 + local_34),local_res8,(longlong)puVar2); + if ((int)uVar7 == 0) { + uVar7 = FUN_1400d2220((longlong)puVar2,(int *)&local_38); + break; + } + goto LAB_1400cbdc4; + case 3: + uVar7 = FUN_1400d21c0((byte *)(param_1 + local_34),local_res8,puVar2); + if ((int)uVar7 != 0) goto LAB_1400cbdc4; + uVar3 = FUN_1400d2170(*puVar2,(int *)&local_38); + uVar7 = CONCAT44(extraout_var,uVar3); + break; + case 4: + uVar7 = FUN_1400d2010((byte *)(param_1 + local_34),local_res8,(longlong)puVar2,&local_2c); + if ((int)uVar7 != 0) goto LAB_1400cbdc4; + *(uint *)(lVar9 + 0x10 + param_3) = local_2c; + uVar7 = FUN_1400d1fc0((ulonglong)local_2c,(int *)&local_38); + break; + case 5: + uVar7 = FUN_1400d1ec0((byte *)(param_1 + local_34),local_res8,(byte *)puVar2,&local_2c); + if ((int)uVar7 != 0) goto LAB_1400cbdc4; + *(uint *)(lVar9 + 0x10 + param_3) = local_2c; + uVar7 = FUN_1400d1e70(local_2c,(int *)&local_38); + break; + case 6: + if (((local_res8 < 2) || (param_1[local_34] != '\x05')) || (param_1[local_34 + 1] != '\0')) + { + if (param_5 != 0) { + return 7; + } + goto LAB_1400cbde0; + } + local_38 = 2; + goto LAB_1400cbd88; + case 7: + uVar7 = FUN_1400d1cf0((byte *)(param_1 + local_34),local_res8,puVar2,&local_2c); + if ((int)uVar7 != 0) goto LAB_1400cbdc4; + *(uint *)(lVar9 + 0x10 + param_3) = local_2c; + uVar7 = FUN_1400d1bc0(puVar2,local_2c,(int *)&local_38); + break; + case 8: + uVar7 = FUN_1400d1a80((byte *)(param_1 + local_34),local_res8,(undefined1 *)puVar2,&local_2c + ); + if ((int)uVar7 != 0) goto LAB_1400cbdc4; + *(uint *)(lVar9 + 0x10 + param_3) = local_2c; + uVar7 = FUN_1400d19e0((byte *)puVar2,local_2c,(int *)&local_38); + break; + case 9: + uVar7 = FUN_1400d1840((byte *)(param_1 + local_34),local_res8,(undefined1 *)puVar2,&local_2c + ); + if ((int)uVar7 != 0) goto LAB_1400cbdc4; + *(uint *)(lVar9 + 0x10 + param_3) = local_2c; + uVar7 = FUN_1400d17a0((byte *)puVar2,local_2c,(int *)&local_38); + break; + case 10: + uVar7 = FUN_1400d15a0((byte *)(param_1 + local_34),local_res8,(ushort *)puVar2,&local_2c); + if ((int)uVar7 != 0) goto LAB_1400cbdc4; + *(uint *)(lVar9 + 0x10 + param_3) = local_2c; + uVar7 = FUN_1400d1490((ushort *)puVar2,local_2c,(int *)&local_38); + break; + case 0xb: + iVar11 = FUN_1400d1190((longlong)(param_1 + local_34),&local_38,puVar2); + uVar7 = CONCAT44(extraout_var_00,iVar11); + goto joined_r0x0001400cc086; + case 0xc: + uVar7 = FUN_1400d0ba0((byte *)(param_1 + local_34),&local_38,(longlong)puVar2,local_2c); + iVar11 = (int)uVar7; +joined_r0x0001400cc086: + if (iVar11 == 0) goto LAB_1400cbd88; +LAB_1400cbdc4: + if (param_5 != 0) { + return uVar7; + } + goto LAB_1400cbde0; + case 0xd: + case 0xf: + if (iVar11 == 0xf) { + bVar10 = (param_1[local_34] & 0x3fU) == 0x31; +LAB_1400cc062: + if (!bVar10) { + return 7; + } + } + else if (iVar11 == 0xd) { + bVar10 = (param_1[local_34] & 0x3fU) == 0x30; + goto LAB_1400cc062; + } + iVar11 = 1; + goto LAB_1400cc004; + case 0xe: + iVar11 = 0; +LAB_1400cc004: + uVar7 = FUN_1400cbbe0(param_1 + local_34,local_res8,(longlong)puVar2,local_2c,iVar11); + if ((int)uVar7 == 0) { + uVar7 = FUN_1400d0f10((longlong)puVar2,local_2c,(int *)&local_38); + break; + } + goto LAB_1400cbdc4; + default: + return 0x10; + } + if ((int)uVar7 != 0) { + return uVar7; + } +LAB_1400cbd88: + local_34 = local_34 + local_38; + local_res8 = local_res8 - local_38; + *(undefined4 *)(lVar9 + 0x14 + param_3) = 1; + if (param_5 == 0) { + local_30 = 0xffffffff; + local_28 = -1; + } +LAB_1400cbde0: + local_30 = local_30 + 1; + local_28 = local_28 + 1; + } while (local_30 < param_4); + } + uVar6 = 0; + if (param_4 != 0) { + piVar5 = (int *)(param_3 + 0x14); + do { + if (*piVar5 == 0) { + return 7; + } + uVar6 = uVar6 + 1; + piVar5 = piVar5 + 0xe; + } while (uVar6 < param_4); + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cc120.c b/decomp/Agent_Release_x64/full/functions/0x1400cc120.c new file mode 100644 index 00000000..30efaf1b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cc120.c @@ -0,0 +1,75 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cc120 FUN_1400cc120 + * Pseudocode, not original source. */ + +ulonglong FUN_1400cc120(char *param_1,uint *param_2,int param_3,undefined4 param_4, + undefined8 param_5) + +{ + int iVar1; + void *_Memory; + ulonglong uVar2; + undefined8 *puVar3; + uint uVar4; + ulonglong uVar5; + undefined8 *puVar6; + undefined8 uVar7; + bool bVar8; + + if ((param_1 == (char *)0x0) || (param_2 == (uint *)0x0)) { + return 0x10; + } + uVar5 = 0; + uVar4 = 0; + uVar2 = uVar5; + if (param_3 != 0) { + puVar3 = ¶m_5; + bVar8 = param_3 == 0; + iVar1 = param_3; + do { + if ((bVar8 || iVar1 < 0) || ((0xb < iVar1 && (2 < iVar1 - 0xdU)))) { + return 0x10; + } + iVar1 = *(int *)(puVar3 + 1); + uVar2 = (ulonglong)((int)uVar2 + 1); + puVar3 = puVar3 + 3; + bVar8 = iVar1 == 0; + } while (!bVar8); + } + if ((int)uVar2 == 0) { + return 2; + } + _Memory = calloc(0x38,uVar2); + if (_Memory == (void *)0x0) { + return 0xd; + } + puVar3 = ¶m_5; + bVar8 = param_3 == 0; + if (!bVar8) { + puVar6 = (undefined8 *)((longlong)_Memory + 8); + uVar7 = param_5; + do { + if ((bVar8 || param_3 < 0) || ((0xb < param_3 && (2 < param_3 - 0xdU)))) { + uVar2 = 0x10; + goto LAB_1400cc24f; + } + *(int *)(puVar6 + -1) = param_3; + *(undefined4 *)(puVar6 + 1) = param_4; + *puVar6 = uVar7; + param_3 = *(int *)(puVar3 + 1); + param_4 = *(undefined4 *)(puVar3 + 2); + uVar7 = puVar3[3]; + puVar3 = puVar3 + 3; + uVar4 = (int)uVar5 + 1; + uVar5 = (ulonglong)uVar4; + puVar6 = puVar6 + 7; + bVar8 = param_3 == 0; + } while (!bVar8); + } + uVar2 = FUN_1400d2510((longlong)_Memory,uVar4,param_1,param_2,0xd); + uVar2 = uVar2 & 0xffffffff; +LAB_1400cc24f: + free(_Memory); + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cc280.c b/decomp/Agent_Release_x64/full/functions/0x1400cc280.c new file mode 100644 index 00000000..b7b5251f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cc280.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cc280 FUN_1400cc280 + * Pseudocode, not original source. */ + +ulonglong FUN_1400cc280(longlong param_1,int param_2,undefined8 param_3,uint param_4) + +{ + int iVar1; + uint uVar2; + ulonglong uVar3; + byte *_Memory; + bool bVar4; + int local_res8 [2]; + + if (param_1 == 0) { + return 0x10; + } + bVar4 = param_2 < 0; + if (bVar4) { + param_2 = -param_2; + } + if (0x1fe < param_2 - 2U) { + return 0x17; + } + uVar3 = FUN_1400c6ac0(param_4); + if ((int)uVar3 == 0) { + _Memory = calloc(1,(longlong)param_2); + if (_Memory == (byte *)0x0) { + uVar3 = 0xd; + } + else { + do { + iVar1 = (**(code **)(&DAT_14015f498 + (longlong)(int)param_4 * 0x50)) + (_Memory,param_2,param_3); + if (iVar1 != param_2) { + free(_Memory); + return 9; + } + *_Memory = *_Memory | 0xc0; + _Memory[(longlong)param_2 - 1] = _Memory[(longlong)param_2 - 1] | bVar4 * '\x02' | 1U; + uVar2 = (*DAT_140163340)(param_1,_Memory,param_2); + if ((uVar2 != 0) || (uVar2 = (*DAT_1401633e8)(param_1,local_res8), uVar2 != 0)) { + free(_Memory); + return (ulonglong)uVar2; + } + } while (local_res8[0] == 0); + free(_Memory); + uVar3 = 0; + } + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cc3e0.c b/decomp/Agent_Release_x64/full/functions/0x1400cc3e0.c new file mode 100644 index 00000000..12b158f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cc3e0.c @@ -0,0 +1,77 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cc3e0 FUN_1400cc3e0 + * Pseudocode, not original source. */ + +undefined8 +FUN_1400cc3e0(void *param_1,uint param_2,int param_3,uint param_4,undefined8 param_5,uint param_6, + undefined1 *param_7,uint *param_8) + +{ + uint uVar1; + int iVar2; + undefined8 uVar3; + char *pcVar4; + uint uVar5; + uint uVar6; + ulonglong uVar7; + char *_Dst; + uint uVar8; + + if (param_3 != 1) { + if (param_3 != 2) { + return 0x18; + } + uVar3 = FUN_1400c6ac0(param_6); + if ((int)uVar3 != 0) { + return uVar3; + } + } + uVar3 = 0; + uVar8 = (uint)((param_4 & 7) != 0) + (param_4 >> 3); + if (uVar8 < param_2 + 0xb) { + return 0x16; + } + if (*param_8 < uVar8) { + *param_8 = uVar8; + uVar3 = 6; + } + else { + _Dst = param_7 + 2; + uVar5 = uVar8 - param_2; + uVar6 = uVar5 - 3; + if (param_3 == 2) { + uVar1 = (**(code **)(&DAT_14015f498 + (longlong)(int)param_6 * 0x50))(_Dst,uVar6,param_5); + if (uVar1 != uVar6) { + return 9; + } + uVar7 = 0; + pcVar4 = _Dst; + if (uVar6 != 0) { + do { + if (*pcVar4 == '\0') { + do { + iVar2 = (**(code **)(&DAT_14015f498 + (longlong)(int)param_6 * 0x50)) + (_Dst + uVar7,1,param_5); + if (iVar2 != 1) { + return 9; + } + } while (*pcVar4 == '\0'); + } + uVar1 = (int)uVar7 + 1; + uVar7 = (ulonglong)uVar1; + pcVar4 = pcVar4 + 1; + } while (uVar1 < uVar6); + } + } + else { + memset(_Dst,0xff,(ulonglong)uVar6); + } + *param_7 = 0; + param_7[1] = (char)param_3; + param_7[uVar5 - 1] = 0; + memcpy(param_7 + uVar5,param_1,(ulonglong)param_2); + *param_8 = uVar8; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cc5b0.c b/decomp/Agent_Release_x64/full/functions/0x1400cc5b0.c new file mode 100644 index 00000000..4aefc5a7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cc5b0.c @@ -0,0 +1,123 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cc5b0 FUN_1400cc5b0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400cc5b0(void *param_1,uint param_2,byte *param_3,undefined4 param_4,uint param_5, + undefined8 param_6,uint param_7,uint param_8,undefined1 *param_9, + uint *param_10) + +{ + uint uVar1; + ulonglong uVar2; + byte *_Memory; + undefined1 *_Memory_00; + byte *_Memory_01; + ulonglong uVar3; + byte *pbVar4; + ulonglong uVar5; + uint uVar6; + int iVar7; + uint uVar8; + uint local_58 [6]; + + if (((param_1 != (void *)0x0) && (param_9 != (undefined1 *)0x0)) && (param_10 != (uint *)0x0)) { + uVar2 = FUN_1400cc940(param_8); + if (((int)uVar2 == 0) && (uVar2 = FUN_1400c6ac0(param_7), (int)uVar2 == 0)) { + uVar1 = *(uint *)(&DAT_14015fe7c + (longlong)(int)param_8 * 0x80); + uVar2 = (ulonglong)uVar1; + uVar6 = (uint)((param_5 & 7) != 0) + (param_5 >> 3); + if ((uVar1 * 2 < uVar6 - 2) && (iVar7 = uVar6 + uVar1 * -2, param_2 <= iVar7 - 2U)) { + _Memory = malloc((ulonglong)uVar6); + _Memory_00 = malloc((ulonglong)uVar6); + _Memory_01 = malloc(uVar2); + if (_Memory != (byte *)0x0) { + if ((_Memory_00 != (undefined1 *)0x0) && (_Memory_01 != (byte *)0x0)) { + if (param_3 == (byte *)0x0) { + param_4 = 0; + param_3 = _Memory; + } + local_58[0] = uVar6; + uVar3 = FUN_1400d2bd0(param_8,(longlong)param_3,param_4,(longlong)_Memory,local_58); + uVar5 = uVar3 & 0xffffffff; + if ((int)uVar3 == 0) { + uVar8 = (iVar7 - param_2) - 2; + local_58[0] = uVar1; + memset(_Memory + uVar2,0,(ulonglong)uVar8); + local_58[0] = local_58[0] + uVar8; + _Memory[local_58[0]] = 1; + local_58[0] = local_58[0] + 1; + memcpy(_Memory + local_58[0],param_1,(ulonglong)param_2); + local_58[0] = local_58[0] + param_2; + uVar8 = (**(code **)(&DAT_14015f498 + (longlong)(int)param_7 * 0x50)) + (_Memory_01,uVar2,param_6); + if (uVar8 == uVar1) { + uVar8 = (uVar6 - uVar1) - 1; + uVar3 = FUN_1400d2a10(param_8,(longlong)_Memory_01,uVar1,_Memory_00,uVar8); + uVar5 = uVar3 & 0xffffffff; + if ((int)uVar3 == 0) { + if (uVar8 != 0) { + uVar3 = (ulonglong)uVar8; + pbVar4 = _Memory; + do { + *pbVar4 = *pbVar4 ^ pbVar4[(longlong)_Memory_00 - (longlong)_Memory]; + uVar3 = uVar3 - 1; + pbVar4 = pbVar4 + 1; + } while (uVar3 != 0); + } + uVar3 = FUN_1400d2a10(param_8,(longlong)_Memory,uVar8,_Memory_00,uVar1); + uVar5 = uVar3 & 0xffffffff; + if ((int)uVar3 == 0) { + if (uVar1 != 0) { + pbVar4 = _Memory_01; + uVar3 = uVar2; + do { + *pbVar4 = *pbVar4 ^ pbVar4[(longlong)_Memory_00 - (longlong)_Memory_01]; + uVar3 = uVar3 - 1; + pbVar4 = pbVar4 + 1; + } while (uVar3 != 0); + } + if (*param_10 < uVar6) { + *param_10 = uVar6; + uVar5 = 6; + } + else { + *param_9 = 0; + local_58[0] = 1; + memcpy(param_9 + 1,_Memory_01,uVar2); + local_58[0] = local_58[0] + uVar1; + memcpy(param_9 + local_58[0],_Memory,(ulonglong)uVar8); + local_58[0] = (local_58[0] - 1) + (uVar6 - uVar1); + *param_10 = local_58[0]; + uVar5 = 0; + } + } + } + } + else { + uVar5 = 9; + } + } + free(_Memory_01); + free(_Memory_00); + free(_Memory); + return uVar5; + } + free(_Memory); + } + if (_Memory_00 != (undefined1 *)0x0) { + free(_Memory_00); + } + if (_Memory_01 != (byte *)0x0) { + free(_Memory_01); + } + uVar2 = 0xd; + } + else { + uVar2 = 0x16; + } + } + return uVar2; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cc940.c b/decomp/Agent_Release_x64/full/functions/0x1400cc940.c new file mode 100644 index 00000000..2a3a7f7a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cc940.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cc940 FUN_1400cc940 + * Pseudocode, not original source. */ + +undefined8 FUN_1400cc940(uint param_1) + +{ + EnterCriticalSection((LPCRITICAL_SECTION)&DAT_140163220); + if ((param_1 < 0x20) && ((&DAT_14015fe70)[(longlong)(int)param_1 * 0x10] != 0)) { + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140163220); + return 0; + } + LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_140163220); + return 0xb; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cc9a0.c b/decomp/Agent_Release_x64/full/functions/0x1400cc9a0.c new file mode 100644 index 00000000..ba297d51 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cc9a0.c @@ -0,0 +1,67 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cc9a0 FUN_1400cc9a0 + * Pseudocode, not original source. */ + +undefined8 +FUN_1400cc9a0(char *param_1,uint param_2,int param_3,ulonglong param_4,void *param_5,uint *param_6, + undefined4 *param_7) + +{ + char *pcVar1; + uint uVar2; + ulonglong uVar3; + uint uVar4; + uint uVar5; + + uVar5 = (uint)((param_4 & 7) != 0) + ((uint)(param_4 >> 3) & 0x1fffffff); + *param_7 = 0; + if ((uVar5 < param_2) || (uVar5 < 0xb)) { + return 0x16; + } + if ((*param_1 == '\0') && (param_1[1] == (char)param_3)) { + uVar2 = 2; + uVar3 = 2; + if (param_3 == 2) { + if (2 < uVar5) { + pcVar1 = param_1 + 2; + do { + uVar2 = (uint)uVar3; + if (*pcVar1 == '\0') break; + uVar2 = uVar2 + 1; + uVar3 = (ulonglong)uVar2; + pcVar1 = pcVar1 + 1; + } while (uVar2 < uVar5); + } + uVar4 = uVar2 - 2; + if ((uVar2 + 1 < uVar5) && (7 < uVar4)) { +LAB_1400cca5b: + uVar5 = (param_2 - uVar4) - 3; + uVar2 = *param_6; + *param_6 = uVar5; + if (uVar2 < uVar5) { + return 6; + } + memcpy(param_5,param_1 + (uVar4 + 3),(ulonglong)uVar5); + *param_7 = 1; + return 0; + } + } + else { + if (2 < uVar5 - 1) { + pcVar1 = param_1 + 2; + do { + if (*pcVar1 != -1) break; + uVar2 = (int)uVar3 + 1; + uVar3 = (ulonglong)uVar2; + pcVar1 = pcVar1 + 1; + } while (uVar2 < uVar5 - 1); + } + if (param_1[uVar3] == '\0') { + uVar4 = (int)uVar3 - 2; + goto LAB_1400cca5b; + } + } + } + return 7; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ccad0.c b/decomp/Agent_Release_x64/full/functions/0x1400ccad0.c new file mode 100644 index 00000000..efa490a4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ccad0.c @@ -0,0 +1,129 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ccad0 FUN_1400ccad0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400ccad0(char *param_1,uint param_2,byte *param_3,undefined4 param_4,uint param_5, + uint param_6,void *param_7,uint *param_8,undefined4 *param_9) + +{ + uint uVar1; + uint uVar2; + int iVar3; + ulonglong uVar4; + byte *_Memory; + undefined1 *_Memory_00; + byte *_Memory_01; + ulonglong uVar5; + byte *pbVar6; + uint uVar7; + uint uVar8; + uint uVar9; + ulonglong uVar10; + uint local_48 [4]; + + if ((((param_1 == (char *)0x0) || (param_7 == (void *)0x0)) || (param_8 == (uint *)0x0)) || + (param_9 == (undefined4 *)0x0)) { + return 0x10; + } + *param_9 = 0; + uVar4 = FUN_1400cc940(param_6); + if ((int)uVar4 != 0) { + return uVar4; + } + uVar1 = *(uint *)(&DAT_14015fe7c + (longlong)(int)param_6 * 0x80); + uVar4 = (ulonglong)uVar1; + uVar8 = (uint)((param_5 & 7) != 0) + (param_5 >> 3); + if ((uVar8 - 2 <= uVar1 * 2) || (param_2 != uVar8)) { + return 0x16; + } + _Memory = malloc((ulonglong)uVar8); + _Memory_00 = malloc((ulonglong)uVar8); + _Memory_01 = malloc(uVar4); + if (_Memory != (byte *)0x0) { + if ((_Memory_00 != (undefined1 *)0x0) && (_Memory_01 != (byte *)0x0)) { + if (*param_1 == '\0') { + local_48[0] = 1; + memcpy(_Memory_01,param_1 + 1,uVar4); + local_48[0] = local_48[0] + uVar1; + uVar9 = (uVar8 - uVar1) - 1; + uVar10 = (ulonglong)uVar9; + memcpy(_Memory,param_1 + local_48[0],(ulonglong)uVar9); + local_48[0] = (local_48[0] - 1) + (uVar8 - uVar1); + uVar5 = FUN_1400d2a10(param_6,(longlong)_Memory,uVar9,_Memory_00,uVar1); + uVar7 = (uint)uVar5; + if (uVar7 == 0) { + if (uVar1 != 0) { + pbVar6 = _Memory_01; + uVar5 = uVar4; + do { + *pbVar6 = *pbVar6 ^ pbVar6[(longlong)_Memory_00 - (longlong)_Memory_01]; + uVar5 = uVar5 - 1; + pbVar6 = pbVar6 + 1; + } while (uVar5 != 0); + } + uVar5 = FUN_1400d2a10(param_6,(longlong)_Memory_01,uVar1,_Memory_00,uVar9); + uVar7 = (uint)uVar5; + if (uVar7 == 0) { + if (uVar9 != 0) { + pbVar6 = _Memory; + do { + *pbVar6 = *pbVar6 ^ pbVar6[(longlong)_Memory_00 - (longlong)_Memory]; + uVar10 = uVar10 - 1; + pbVar6 = pbVar6 + 1; + } while (uVar10 != 0); + } + if (param_3 == (byte *)0x0) { + param_4 = 0; + param_3 = _Memory; + } + local_48[0] = uVar8; + uVar5 = FUN_1400d2bd0(param_6,(longlong)param_3,param_4,(longlong)_Memory_01,local_48); + uVar7 = (uint)uVar5; + if (uVar7 == 0) { + iVar3 = memcmp(_Memory_01,_Memory,uVar4); + uVar2 = uVar1; + if (iVar3 == 0) { + for (; (uVar2 < uVar9 && (_Memory[uVar2] == 0)); uVar2 = uVar2 + 1) { + } + if ((uVar2 == uVar9) || (_Memory[uVar2] != 1)) { + uVar7 = 7; + local_48[0] = uVar2; + goto LAB_1400ccdd0; + } + local_48[0] = uVar2 + 1; + uVar9 = ((uVar8 - local_48[0]) - uVar1) - 1; + uVar7 = *param_8; + *param_8 = uVar9; + if (uVar7 < uVar9) { + uVar7 = 6; + goto LAB_1400ccdd0; + } + memcpy(param_7,_Memory + local_48[0],(ulonglong)uVar9); + local_48[0] = uVar2 + (uVar8 - uVar1); + *param_9 = 1; + } + uVar7 = 0; + } + } + } + } + else { + uVar7 = 0; + } +LAB_1400ccdd0: + free(_Memory_01); + free(_Memory_00); + free(_Memory); + return (ulonglong)uVar7; + } + free(_Memory); + } + if (_Memory_00 != (undefined1 *)0x0) { + free(_Memory_00); + } + if (_Memory_01 != (byte *)0x0) { + free(_Memory_01); + } + return 0xd; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cce50.c b/decomp/Agent_Release_x64/full/functions/0x1400cce50.c new file mode 100644 index 00000000..a973c796 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cce50.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cce50 FUN_1400cce50 + * Pseudocode, not original source. */ + +undefined8 FUN_1400cce50(longlong param_1,uint param_2) + +{ + int iVar1; + void *pvVar2; + uint uVar3; + ulonglong uVar4; + longlong lVar5; + int iVar6; + + if (*(int *)(param_1 + 4) < (int)param_2) { + uVar3 = param_2 & 0x8000001f; + if ((int)uVar3 < 0) { + uVar3 = (uVar3 - 1 | 0xffffffe0) + 1; + } + iVar6 = param_2 + (0x40 - uVar3); + pvVar2 = realloc(*(void **)(param_1 + 0x10),(longlong)iVar6 << 2); + if (pvVar2 == (void *)0x0) { + return 0xfffffffe; + } + iVar1 = *(int *)(param_1 + 4); + uVar4 = (ulonglong)iVar1; + *(void **)(param_1 + 0x10) = pvVar2; + *(int *)(param_1 + 4) = iVar6; + if (iVar1 < iVar6) { + lVar5 = uVar4 << 2; + do { + uVar3 = (int)uVar4 + 1; + uVar4 = (ulonglong)uVar3; + *(undefined4 *)(lVar5 + *(longlong *)(param_1 + 0x10)) = 0; + lVar5 = lVar5 + 4; + } while ((int)uVar3 < *(int *)(param_1 + 4)); + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ccef0.c b/decomp/Agent_Release_x64/full/functions/0x1400ccef0.c new file mode 100644 index 00000000..1d412b77 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ccef0.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ccef0 FUN_1400ccef0 + * Pseudocode, not original source. */ + +void FUN_1400ccef0(int *param_1) + +{ + int iVar1; + + iVar1 = *param_1; + if (0 < iVar1) { + do { + if (*(int *)(*(longlong *)(param_1 + 4) + -4 + (longlong)*param_1 * 4) != 0) break; + iVar1 = *param_1 + -1; + *param_1 = iVar1; + } while (0 < iVar1); + iVar1 = *param_1; + } + if (iVar1 == 0) { + param_1[2] = 0; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ccf30.c b/decomp/Agent_Release_x64/full/functions/0x1400ccf30.c new file mode 100644 index 00000000..49a3fb2b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ccf30.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ccf30 FUN_1400ccf30 + * Pseudocode, not original source. */ + +undefined8 FUN_1400ccf30(uint *param_1,int param_2,uint *param_3) + +{ + undefined8 uVar1; + byte bVar2; + uint uVar3; + uint uVar4; + uint *puVar5; + uint uVar6; + + if ((param_1 == param_3) || (uVar1 = FUN_1400c6e70(param_1,param_3), (int)uVar1 == 0)) { + uVar4 = param_2 / 0x1c + 1U + *param_3; + if ((((int)uVar4 <= (int)param_3[1]) || + (uVar1 = FUN_1400cce50((longlong)param_3,uVar4), (int)uVar1 == 0)) && + ((param_2 < 0x1c || (uVar1 = FUN_1400cefe0((int *)param_3,param_2 / 0x1c), (int)uVar1 == 0))) + ) { + if (param_2 % 0x1c != 0) { + puVar5 = *(uint **)(param_3 + 4); + uVar4 = 0; + bVar2 = (byte)(param_2 % 0x1c); + uVar6 = uVar4; + if (0 < (int)*param_3) { + do { + uVar6 = uVar6 + 1; + uVar3 = *puVar5 >> (0x1c - bVar2 & 0x1f) & (1 << (bVar2 & 0x1f)) - 1U; + *puVar5 = (*puVar5 << (bVar2 & 0x1f) | uVar4) & 0xfffffff; + puVar5 = puVar5 + 1; + uVar4 = uVar3; + } while ((int)uVar6 < (int)*param_3); + if (uVar3 != 0) { + *(uint *)(*(longlong *)(param_3 + 4) + (longlong)(int)*param_3 * 4) = uVar3; + *param_3 = *param_3 + 1; + } + } + } + FUN_1400ccef0((int *)param_3); + uVar1 = 0; + } + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cd030.c b/decomp/Agent_Release_x64/full/functions/0x1400cd030.c new file mode 100644 index 00000000..b15a740a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cd030.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cd030 FUN_1400cd030 + * Pseudocode, not original source. */ + +void FUN_1400cd030(undefined4 *param_1) + +{ + undefined4 *puVar1; + int iVar2; + + puVar1 = *(undefined4 **)(param_1 + 4); + iVar2 = 0; + param_1[2] = 0; + *param_1 = 0; + if (0 < (int)param_1[1]) { + do { + *puVar1 = 0; + iVar2 = iVar2 + 1; + puVar1 = puVar1 + 1; + } while (iVar2 < (int)param_1[1]); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cd060.c b/decomp/Agent_Release_x64/full/functions/0x1400cd060.c new file mode 100644 index 00000000..e1d28c86 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cd060.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cd060 FUN_1400cd060 + * Pseudocode, not original source. */ + +undefined8 FUN_1400cd060(int *param_1,int *param_2) + +{ + int iVar1; + uint uVar2; + uint uVar3; + int iVar4; + uint *puVar5; + longlong lVar6; + + iVar1 = *param_1; + if (*param_2 < iVar1) { + return 1; + } + if (iVar1 < *param_2) { + return 0xffffffff; + } + puVar5 = (uint *)(*(longlong *)(param_1 + 4) + (longlong)(iVar1 + -1) * 4); + iVar4 = 0; + if (0 < iVar1) { + lVar6 = (*(longlong *)(param_2 + 4) + (longlong)(iVar1 + -1) * 4) - (longlong)puVar5; + do { + uVar2 = *puVar5; + uVar3 = *(uint *)(lVar6 + (longlong)puVar5); + if (uVar2 >= uVar3 && uVar2 != uVar3) { + return 1; + } + if (uVar2 < uVar3) { + return 0xffffffff; + } + iVar4 = iVar4 + 1; + puVar5 = puVar5 + -1; + } while (iVar4 < iVar1); + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cd0c0.c b/decomp/Agent_Release_x64/full/functions/0x1400cd0c0.c new file mode 100644 index 00000000..31c1431b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cd0c0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cd0c0 FUN_1400cd0c0 + * Pseudocode, not original source. */ + +void FUN_1400cd0c0(undefined1 *param_1,int param_2) + +{ + undefined1 uVar1; + longlong lVar2; + undefined1 *puVar3; + undefined1 *puVar4; + + lVar2 = (longlong)(param_2 + -1); + if (0 < param_2 + -1) { + puVar3 = param_1; + do { + uVar1 = *puVar3; + puVar4 = puVar3 + 1; + *puVar3 = param_1[lVar2]; + param_1[lVar2] = uVar1; + lVar2 = lVar2 + -1; + puVar3 = puVar4; + } while ((longlong)puVar4 - (longlong)param_1 < lVar2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cd110.c b/decomp/Agent_Release_x64/full/functions/0x1400cd110.c new file mode 100644 index 00000000..11eab1c3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cd110.c @@ -0,0 +1,84 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cd110 FUN_1400cd110 + * Pseudocode, not original source. */ + +ulonglong FUN_1400cd110(uint *param_1,uint param_2,uint *param_3,uint *param_4) + +{ + undefined4 uVar1; + ulonglong uVar2; + ulonglong uVar3; + uint uVar4; + longlong lVar5; + uint local_28 [2]; + uint local_20; + longlong local_18; + + uVar2 = (ulonglong)param_2; + if (param_2 == 0) { + return 0xfffffffd; + } + if ((param_2 == 1) || (*param_1 == 0)) { + if (param_4 != (uint *)0x0) { + *param_4 = 0; + } + if (param_3 != (uint *)0x0) { + uVar2 = FUN_1400c6e70(param_1,param_3); + return uVar2; + } + } + else { + if ((param_2 & param_2 - 1) == 0) { + uVar4 = 0; + do { + if (param_2 == 1 << ((byte)uVar4 & 0x1f)) { + if (param_4 != (uint *)0x0) { + *param_4 = (1 << ((byte)uVar4 & 0x1f)) - 1U & **(uint **)(param_1 + 4); + } + if (param_3 == (uint *)0x0) { + return 0; + } + uVar2 = FUN_1400cd2c0(param_1,uVar4,param_3,(undefined8 *)0x0); + return uVar2; + } + uVar4 = uVar4 + 1; + } while ((int)uVar4 < 0x1c); + } + if (param_2 == 3) { + uVar2 = FUN_1400d2ce0(param_1,(undefined8 *)param_3,param_4); + return uVar2; + } + uVar3 = FUN_1400cf070(local_28,*param_1); + if ((int)uVar3 != 0) { + return uVar3; + } + local_28[0] = *param_1; + local_20 = param_1[2]; + uVar3 = 0; + lVar5 = (longlong)(int)(local_28[0] - 1); + if (-1 < (int)(local_28[0] - 1)) { + do { + uVar3 = (ulonglong)*(uint *)(*(longlong *)(param_1 + 4) + lVar5 * 4) | uVar3 << 0x1c; + if (uVar3 < uVar2) { + uVar1 = 0; + } + else { + uVar1 = (undefined4)(uVar3 / uVar2); + uVar3 = uVar3 - (uVar3 / uVar2 & 0xffffffff) * uVar2; + } + lVar5 = lVar5 + -1; + *(undefined4 *)(local_18 + 4 + lVar5 * 4) = uVar1; + } while (-1 < lVar5); + } + if (param_4 != (uint *)0x0) { + *param_4 = (uint)uVar3; + } + if (param_3 != (uint *)0x0) { + FUN_1400ccef0((int *)local_28); + FUN_1400cef30((undefined8 *)local_28,(undefined8 *)param_3); + } + FUN_1400c6dd0((int *)local_28); + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cd290.c b/decomp/Agent_Release_x64/full/functions/0x1400cd290.c new file mode 100644 index 00000000..efa62752 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cd290.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cd290 FUN_1400cd290 + * Pseudocode, not original source. */ + +void FUN_1400cd290(uint *param_1,uint *param_2) + +{ + undefined8 uVar1; + + uVar1 = FUN_1400c6d70(param_1); + if ((int)uVar1 == 0) { + FUN_1400c6e70(param_2,param_1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cd2c0.c b/decomp/Agent_Release_x64/full/functions/0x1400cd2c0.c new file mode 100644 index 00000000..ef7091c3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cd2c0.c @@ -0,0 +1,66 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cd2c0 FUN_1400cd2c0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400cd2c0(uint *param_1,uint param_2,uint *param_3,undefined8 *param_4) + +{ + uint *puVar1; + ulonglong uVar2; + ulonglong uVar3; + byte bVar4; + uint uVar5; + uint uVar6; + int iVar7; + uint local_28 [8]; + + if ((int)param_2 < 1) { + uVar2 = FUN_1400c6e70(param_1,param_3); + uVar2 = uVar2 & 0xffffffff; + if (param_4 != (undefined8 *)0x0) { + FUN_1400cd030((undefined4 *)param_4); + } + } + else { + uVar2 = FUN_1400c6d70(local_28); + if ((int)uVar2 == 0) { + if (param_4 != (undefined8 *)0x0) { + uVar2 = FUN_1400d2dd0(param_1,param_2,local_28); + if ((int)uVar2 != 0) { + FUN_1400c6dd0((int *)local_28); + return uVar2 & 0xffffffff; + } + } + uVar3 = FUN_1400c6e70(param_1,param_3); + uVar2 = uVar3 & 0xffffffff; + if ((int)uVar3 == 0) { + if (0x1b < (int)param_2) { + FUN_1400cef60((int *)param_3,(int)param_2 / 0x1c); + } + if ((int)param_2 % 0x1c != 0) { + uVar5 = 0; + bVar4 = (byte)((int)param_2 % 0x1c); + iVar7 = *param_3 - 1; + puVar1 = (uint *)(*(longlong *)(param_3 + 4) + (longlong)iVar7 * 4); + for (; -1 < iVar7; iVar7 = iVar7 + -1) { + uVar6 = uVar5 << (0x1c - bVar4 & 0x1f); + uVar5 = *puVar1 & (1 << (bVar4 & 0x1f)) - 1U; + *puVar1 = *puVar1 >> (bVar4 & 0x1f) | uVar6; + puVar1 = puVar1 + -1; + } + } + FUN_1400ccef0((int *)param_3); + if (param_4 != (undefined8 *)0x0) { + FUN_1400cef30((undefined8 *)local_28,param_4); + } + FUN_1400c6dd0((int *)local_28); + uVar2 = 0; + } + else { + FUN_1400c6dd0((int *)local_28); + } + } + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cd440.c b/decomp/Agent_Release_x64/full/functions/0x1400cd440.c new file mode 100644 index 00000000..3d7ed568 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cd440.c @@ -0,0 +1,71 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cd440 FUN_1400cd440 + * Pseudocode, not original source. */ + +undefined8 FUN_1400cd440(uint *param_1,uint *param_2,uint *param_3) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + int iVar4; + uint uVar5; + undefined8 uVar6; + uint *puVar7; + uint *_Dst; + ulonglong uVar8; + uint uVar9; + int *piVar10; + longlong lVar11; + int *piVar12; + + uVar1 = *param_1; + uVar2 = *param_2; + uVar8 = (ulonglong)uVar2; + if (((int)uVar1 <= (int)param_3[1]) || + (uVar6 = FUN_1400cce50((longlong)param_3,uVar1), (int)uVar6 == 0)) { + uVar3 = *param_3; + _Dst = *(uint **)(param_3 + 4); + uVar5 = 0; + *param_3 = uVar1; + piVar10 = *(int **)(param_1 + 4); + piVar12 = *(int **)(param_2 + 4); + puVar7 = _Dst; + uVar9 = 0; + if (0 < (int)uVar2) { + do { + iVar4 = *piVar10; + _Dst = puVar7 + 1; + piVar10 = piVar10 + 1; + uVar5 = (iVar4 - *piVar12) - uVar5; + *puVar7 = uVar5 & 0xfffffff; + uVar5 = uVar5 >> 0x1f; + uVar8 = uVar8 - 1; + puVar7 = _Dst; + piVar12 = piVar12 + 1; + uVar9 = uVar2; + } while (uVar8 != 0); + } + if ((int)uVar9 < (int)uVar1) { + lVar11 = (longlong)piVar10 - (longlong)_Dst; + uVar8 = (ulonglong)(uVar1 - uVar9); + puVar7 = _Dst; + do { + _Dst = puVar7 + 1; + uVar5 = *(int *)(lVar11 + (longlong)puVar7) - uVar5; + *puVar7 = uVar5; + *puVar7 = *puVar7 & 0xfffffff; + uVar5 = uVar5 >> 0x1f; + uVar8 = uVar8 - 1; + puVar7 = _Dst; + } while (uVar8 != 0); + } + if ((int)*param_3 < (int)uVar3) { + memset(_Dst,0,(ulonglong)(uVar3 - *param_3) << 2); + } + FUN_1400ccef0((int *)param_3); + uVar6 = 0; + } + return uVar6; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cd540.c b/decomp/Agent_Release_x64/full/functions/0x1400cd540.c new file mode 100644 index 00000000..4081528c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cd540.c @@ -0,0 +1,80 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cd540 FUN_1400cd540 + * Pseudocode, not original source. */ + +undefined8 FUN_1400cd540(uint *param_1,uint *param_2,uint *param_3) + +{ + uint uVar1; + int iVar2; + int iVar3; + uint uVar4; + undefined8 uVar5; + int *piVar6; + uint uVar7; + uint uVar8; + int *piVar9; + longlong lVar10; + uint *puVar11; + uint *puVar12; + ulonglong uVar13; + uint uVar14; + uint *puVar15; + + uVar14 = *param_1; + uVar4 = *param_2; + puVar15 = param_2; + uVar7 = uVar4; + if ((int)uVar4 < (int)uVar14) { + puVar15 = param_1; + uVar7 = uVar14; + uVar14 = uVar4; + } + uVar4 = uVar7 + 1; + if (((int)uVar4 <= (int)param_3[1]) || + (uVar5 = FUN_1400cce50((longlong)param_3,uVar4), (int)uVar5 == 0)) { + uVar1 = *param_3; + puVar12 = *(uint **)(param_3 + 4); + *param_3 = uVar4; + piVar6 = *(int **)(param_1 + 4); + piVar9 = *(int **)(param_2 + 4); + uVar4 = 0; + uVar8 = 0; + if (0 < (int)uVar14) { + uVar13 = (ulonglong)uVar14; + puVar11 = puVar12; + do { + iVar2 = *piVar9; + puVar12 = puVar11 + 1; + piVar9 = piVar9 + 1; + iVar3 = *piVar6; + piVar6 = piVar6 + 1; + uVar4 = iVar2 + iVar3 + uVar4; + *puVar11 = uVar4 & 0xfffffff; + uVar4 = uVar4 >> 0x1c; + uVar13 = uVar13 - 1; + puVar11 = puVar12; + uVar8 = uVar14; + } while (uVar13 != 0); + } + if (uVar14 != uVar7) { + lVar10 = (longlong)(int)uVar8; + while (lVar10 < (int)uVar7) { + lVar10 = lVar10 + 1; + uVar4 = uVar4 + *(int *)(*(longlong *)(puVar15 + 4) + -4 + lVar10 * 4); + *puVar12 = uVar4; + *puVar12 = *puVar12 & 0xfffffff; + uVar4 = uVar4 >> 0x1c; + puVar12 = puVar12 + 1; + } + } + *puVar12 = uVar4; + if ((int)*param_3 < (int)uVar1) { + memset(puVar12 + 1,0,(ulonglong)(uVar1 - *param_3) << 2); + } + FUN_1400ccef0((int *)param_3); + uVar5 = 0; + } + return uVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cd670.c b/decomp/Agent_Release_x64/full/functions/0x1400cd670.c new file mode 100644 index 00000000..f950e7f8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cd670.c @@ -0,0 +1,87 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cd670 FUN_1400cd670 + * Pseudocode, not original source. */ + +undefined8 FUN_1400cd670(uint *param_1,uint *param_2,uint *param_3,uint param_4) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + undefined8 uVar4; + ulonglong uVar5; + longlong lVar6; + uint *puVar7; + uint uVar8; + ulonglong uVar9; + uint uVar10; + int iVar11; + uint *puVar12; + uint *puVar13; + uint uVar14; + ulonglong uVar15; + uint local_48 [4]; + longlong local_38; + + if ((int)param_4 < 0x200) { + uVar14 = *param_2; + if ((int)*param_1 < (int)*param_2) { + uVar14 = *param_1; + } + if ((int)uVar14 < 0x100) { + uVar4 = FUN_1400cd7d0((int *)param_1,(int *)param_2,param_3,param_4); + return uVar4; + } + } + uVar4 = FUN_1400cf070(local_48,param_4); + if ((int)uVar4 == 0) { + uVar14 = *param_1; + iVar11 = 0; + lVar6 = 0; + uVar2 = param_4; + if (0 < (longlong)(int)uVar14) { + do { + puVar7 = *(uint **)(param_2 + 4); + uVar9 = 0; + uVar8 = 0; + uVar3 = uVar2; + if ((int)*param_2 < (int)uVar2) { + uVar3 = *param_2; + } + uVar15 = (ulonglong)uVar3; + uVar1 = *(uint *)(*(longlong *)(param_1 + 4) + lVar6 * 4); + puVar13 = (uint *)(local_38 + (longlong)iVar11 * 4); + puVar12 = puVar13; + uVar10 = 0; + if (0 < (int)uVar3) { + do { + uVar8 = *puVar7; + puVar13 = puVar12 + 1; + puVar7 = puVar7 + 1; + uVar5 = (ulonglong)uVar8 * (ulonglong)uVar1 + (ulonglong)*puVar12 + (uVar9 & 0xffffffff) + ; + uVar9 = uVar5 >> 0x1c; + uVar8 = (uint)uVar9; + uVar15 = uVar15 - 1; + *puVar12 = (uint)uVar5 & 0xfffffff; + puVar12 = puVar13; + uVar10 = uVar3; + } while (uVar15 != 0); + } + if ((int)(uVar10 + iVar11) < (int)param_4) { + *puVar13 = uVar8; + } + lVar6 = lVar6 + 1; + iVar11 = iVar11 + 1; + uVar2 = uVar2 - 1; + } while (lVar6 < (int)uVar14); + } + local_48[0] = param_4; + FUN_1400ccef0((int *)local_48); + FUN_1400cef30((undefined8 *)local_48,(undefined8 *)param_3); + FUN_1400c6dd0((int *)local_48); + uVar4 = 0; + } + return uVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cd7d0.c b/decomp/Agent_Release_x64/full/functions/0x1400cd7d0.c new file mode 100644 index 00000000..5c538be1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cd7d0.c @@ -0,0 +1,98 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cd7d0 FUN_1400cd7d0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Type propagation algorithm not settling */ + +undefined8 FUN_1400cd7d0(int *param_1,int *param_2,uint *param_3,uint param_4) + +{ + int iVar1; + int iVar2; + longlong lVar3; + longlong lVar4; + uint uVar5; + uint uVar6; + undefined8 uVar7; + int iVar8; + ulonglong uVar9; + int iVar10; + void *_Dst; + uint *puVar11; + uint *puVar12; + ulonglong uVar13; + ulonglong uVar14; + uint uVar15; + undefined1 auStack_878 [32]; + uint *local_858; + uint auStack_84c [513]; + ulonglong local_48; + + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_878; + local_858 = param_3; + if (((int)param_4 <= (int)param_3[1]) || + (uVar7 = FUN_1400cce50((longlong)param_3,param_4), (int)uVar7 == 0)) { + iVar2 = *param_1; + uVar15 = *param_2 + iVar2; + if ((int)param_4 < (int)uVar15) { + uVar15 = param_4; + } + uVar9 = 0; + if (0 < (int)uVar15) { + lVar3 = *(longlong *)(param_1 + 4); + lVar4 = *(longlong *)(param_2 + 4); + iVar1 = *param_2 + -1; + uVar13 = uVar9; + uVar14 = uVar9; + do { + iVar10 = (int)uVar9; + iVar8 = iVar10; + if (iVar1 < iVar10) { + iVar8 = iVar1; + } + puVar11 = (uint *)(lVar3 + (longlong)(iVar10 - iVar8) * 4); + puVar12 = (uint *)(lVar4 + (longlong)iVar8 * 4); + uVar5 = iVar2 - (iVar10 - iVar8); + uVar6 = iVar8 + 1U; + if ((int)uVar5 < (int)(iVar8 + 1U)) { + uVar6 = uVar5; + } + uVar9 = (ulonglong)uVar6; + if (0 < (int)uVar6) { + do { + uVar6 = *puVar12; + uVar5 = *puVar11; + puVar12 = puVar12 + -1; + puVar11 = puVar11 + 1; + uVar13 = uVar13 + (ulonglong)uVar6 * (ulonglong)uVar5; + uVar9 = uVar9 - 1; + } while (uVar9 != 0); + } + uVar14 = uVar14 + 1; + uVar9 = (ulonglong)(iVar10 + 1); + uVar6 = (uint)uVar13; + uVar13 = uVar13 >> 0x1c; + auStack_84c[uVar14] = uVar6 & 0xfffffff; + param_3 = local_858; + } while ((longlong)uVar14 < (longlong)(int)uVar15); + } + uVar6 = *param_3; + _Dst = *(void **)(param_3 + 4); + uVar5 = uVar15 + 1; + *param_3 = uVar15; + uVar15 = 0; + if (0 < (int)uVar5) { + memcpy(_Dst,auStack_84c + 1,(ulonglong)uVar5 << 2); + _Dst = (void *)((longlong)_Dst + (ulonglong)uVar5 * 4); + uVar15 = uVar5; + } + if ((int)uVar15 < (int)uVar6) { + memset(_Dst,0,(ulonglong)(uVar6 - uVar15) << 2); + } + FUN_1400ccef0((int *)param_3); + uVar7 = 0; + } + return uVar7; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cd970.c b/decomp/Agent_Release_x64/full/functions/0x1400cd970.c new file mode 100644 index 00000000..9958a78c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cd970.c @@ -0,0 +1,121 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cd970 FUN_1400cd970 + * Pseudocode, not original source. */ + +undefined4 FUN_1400cd970(int *param_1,int *param_2,uint *param_3) + +{ + uint uVar1; + int iVar2; + undefined8 uVar3; + undefined4 *puVar4; + undefined4 *puVar5; + uint uVar6; + uint uVar7; + ulonglong uVar8; + undefined4 uVar9; + uint local_c8 [4]; + undefined4 *local_b8; + uint local_b0 [6]; + uint local_98 [4]; + undefined4 *local_88; + uint local_80 [6]; + uint local_68 [4]; + undefined4 *local_58; + uint local_50 [4]; + undefined4 *local_40; + uint local_38 [8]; + + iVar2 = *param_2; + if (*param_1 < *param_2) { + iVar2 = *param_1; + } + uVar9 = 0xfffffffe; + uVar6 = iVar2 >> 1; + uVar3 = FUN_1400cf070(local_c8,uVar6); + if ((int)uVar3 == 0) { + uVar3 = FUN_1400cf070(local_68,*param_1 - uVar6); + if ((int)uVar3 == 0) { + uVar3 = FUN_1400cf070(local_98,uVar6); + if ((int)uVar3 == 0) { + uVar3 = FUN_1400cf070(local_50,*param_2 - uVar6); + if ((int)uVar3 == 0) { + uVar1 = uVar6 * 2; + uVar3 = FUN_1400cf070(local_b0,uVar1); + if ((int)uVar3 == 0) { + uVar3 = FUN_1400cf070(local_38,uVar1); + if ((int)uVar3 == 0) { + uVar3 = FUN_1400cf070(local_80,uVar1); + if ((int)uVar3 == 0) { + puVar5 = *(undefined4 **)(param_1 + 4); + puVar4 = *(undefined4 **)(param_2 + 4); + local_68[0] = *param_1 - uVar6; + local_50[0] = *param_2 - uVar6; + if (0 < (int)uVar6) { + uVar8 = (ulonglong)uVar6; + do { + *local_b8 = *puVar5; + puVar5 = puVar5 + 1; + *local_88 = *puVar4; + puVar4 = puVar4 + 1; + uVar8 = uVar8 - 1; + local_b8 = local_b8 + 1; + local_88 = local_88 + 1; + } while (uVar8 != 0); + } + uVar7 = uVar6; + if ((int)uVar6 < *param_1) { + do { + uVar7 = uVar7 + 1; + *local_58 = *puVar5; + puVar5 = puVar5 + 1; + local_58 = local_58 + 1; + } while ((int)uVar7 < *param_1); + } + uVar7 = uVar6; + if ((int)uVar6 < *param_2) { + do { + uVar7 = uVar7 + 1; + *local_40 = *puVar4; + puVar4 = puVar4 + 1; + local_40 = local_40 + 1; + } while ((int)uVar7 < *param_2); + } + local_c8[0] = uVar6; + local_98[0] = uVar6; + FUN_1400ccef0((int *)local_c8); + FUN_1400ccef0((int *)local_98); + iVar2 = FUN_1400c7830(local_c8,local_98,local_38); + if ((((((iVar2 == 0) && + (iVar2 = FUN_1400c7830(local_68,local_50,local_80), iVar2 == 0)) && + (uVar3 = FUN_1400cd540(local_68,local_c8,local_b0), (int)uVar3 == 0)) && + ((uVar3 = FUN_1400cd540(local_50,local_98,local_c8), (int)uVar3 == 0 && + (iVar2 = FUN_1400c7830(local_b0,local_c8,local_b0), iVar2 == 0)))) && + ((iVar2 = FUN_1400c74b0(local_38,local_80,local_c8), iVar2 == 0 && + ((uVar3 = FUN_1400cd440(local_b0,local_c8,local_b0), (int)uVar3 == 0 && + (uVar3 = FUN_1400cefe0((int *)local_b0,uVar6), (int)uVar3 == 0)))))) && + ((uVar3 = FUN_1400cefe0((int *)local_80,uVar1), (int)uVar3 == 0 && + (iVar2 = FUN_1400c74b0(local_38,local_b0,local_b0), iVar2 == 0)))) { + iVar2 = FUN_1400c74b0(local_b0,local_80,param_3); + uVar9 = 0xfffffffe; + if (iVar2 == 0) { + uVar9 = 0; + } + } + FUN_1400c6dd0((int *)local_80); + } + FUN_1400c6dd0((int *)local_38); + } + FUN_1400c6dd0((int *)local_b0); + } + FUN_1400c6dd0((int *)local_50); + } + FUN_1400c6dd0((int *)local_98); + } + FUN_1400c6dd0((int *)local_68); + } + FUN_1400c6dd0((int *)local_c8); + } + return uVar9; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cdc50.c b/decomp/Agent_Release_x64/full/functions/0x1400cdc50.c new file mode 100644 index 00000000..2a803f44 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cdc50.c @@ -0,0 +1,314 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cdc50 FUN_1400cdc50 + * Pseudocode, not original source. */ + +ulonglong FUN_1400cdc50(uint *param_1,uint *param_2,uint *param_3) + +{ + uint uVar1; + uint uVar2; + ulonglong uVar3; + ulonglong uVar4; + uint uVar5; + uint local_158 [6]; + uint local_140 [6]; + uint local_128 [6]; + uint local_110 [6]; + uint local_f8 [6]; + uint local_e0 [6]; + uint local_c8 [6]; + uint local_b0 [6]; + uint local_98 [6]; + uint local_80 [6]; + uint local_68 [6]; + uint local_50 [6]; + uint local_38 [8]; + + uVar3 = FUN_1400cf190((int *)local_38); + if ((int)uVar3 == 0) { + uVar2 = *param_2; + if ((int)*param_1 < (int)*param_2) { + uVar2 = *param_1; + } + uVar2 = (int)uVar2 / 3; + uVar5 = uVar2 * 0x1c; + uVar4 = FUN_1400d2dd0(param_1,uVar5,local_50); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400c6e70(param_1,local_e0); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + FUN_1400cef60((int *)local_e0,uVar2); + FUN_1400d2dd0(local_e0,uVar5,local_e0); + uVar4 = FUN_1400c6e70(param_1,local_98); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar1 = uVar2 * 2; + FUN_1400cef60((int *)local_98,uVar1); + uVar4 = FUN_1400d2dd0(param_2,uVar5,local_68); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400c6e70(param_2,local_c8); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + FUN_1400cef60((int *)local_c8,uVar2); + FUN_1400d2dd0(local_c8,uVar5,local_c8); + uVar4 = FUN_1400c6e70(param_2,local_80); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + FUN_1400cef60((int *)local_80,uVar1); + uVar5 = FUN_1400c7830(local_50,local_68,local_38); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar5 = FUN_1400c7830(local_98,local_80,local_b0); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar4 = FUN_1400cf9e0((int *)local_50,(int *)local_158); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar5 = FUN_1400c74b0(local_158,local_e0,local_158); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar4 = FUN_1400cf9e0((int *)local_158,(int *)local_158); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar5 = FUN_1400c74b0(local_158,local_98,local_158); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar4 = FUN_1400cf9e0((int *)local_68,(int *)local_140); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar5 = FUN_1400c74b0(local_140,local_c8,local_140); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar4 = FUN_1400cf9e0((int *)local_140,(int *)local_140); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar5 = FUN_1400c74b0(local_140,local_80,local_140); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar5 = FUN_1400c7830(local_158,local_140,local_f8); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar4 = FUN_1400cf9e0((int *)local_98,(int *)local_158); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar5 = FUN_1400c74b0(local_158,local_e0,local_158); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar4 = FUN_1400cf9e0((int *)local_158,(int *)local_158); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar5 = FUN_1400c74b0(local_158,local_50,local_158); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar4 = FUN_1400cf9e0((int *)local_80,(int *)local_140 + ); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar5 = FUN_1400c74b0(local_140,local_c8,local_140); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar4 = FUN_1400cf9e0((int *)local_140, + (int *)local_140); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar5 = FUN_1400c74b0(local_140,local_68, + local_140); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar5 = FUN_1400c7830(local_158,local_140, + local_110); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar5 = FUN_1400c74b0(local_98,local_e0, + local_158); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar5 = FUN_1400c74b0(local_158,local_50, + local_158); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar5 = FUN_1400c74b0(local_80,local_c8, + local_140); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar5 = FUN_1400c74b0(local_140, + local_68, + local_140); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar5 = FUN_1400c7830(local_158,local_140, + local_128); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar5 = FUN_1400c7670(local_f8,local_b0, + local_f8); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar5 = FUN_1400c7670(local_110,local_38, + local_110); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar4 = FUN_1400c7f50(local_f8,local_f8); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400c7f50(local_110, + local_110); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar5 = FUN_1400c7670(local_128, + local_38, + local_128); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar5 = FUN_1400c7670(local_128,local_b0, + local_128); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar5 = FUN_1400c7670(local_f8,local_128, + local_f8); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar5 = FUN_1400c7670(local_110,local_128, + local_110); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar4 = FUN_1400ccf30(local_38,3,local_158 + ); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar5 = FUN_1400c7670(local_f8,local_158 + ,local_f8); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar4 = FUN_1400ccf30(local_b0,3, + local_158); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar5 = FUN_1400c7670(local_110, + local_158, + local_110); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar4 = FUN_1400c78e0((int *) + local_128,3,(int *)local_128); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar5 = FUN_1400c7670(local_128,local_f8, + local_128); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar5 = FUN_1400c7670(local_128,local_110, + local_128); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar5 = FUN_1400c7670(local_f8,local_128, + local_f8); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar5 = FUN_1400c7670(local_110,local_128, + local_110); + uVar3 = (ulonglong)uVar5; + if (uVar5 == 0) { + uVar4 = FUN_1400d2ce0(local_f8,( + undefined8 *)local_f8,(undefined4 *)0x0); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400d2ce0(local_110, + (undefined8 *)local_110, + (undefined4 *)0x0); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400cefe0((int *)local_f8,uVar2); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400cefe0((int *)local_128,uVar1 + ); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400cefe0((int *)local_110, + uVar2 * 3); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400cefe0((int *)local_b0, + uVar2 * 4); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar2 = FUN_1400c74b0(local_38, + local_f8,param_3); + uVar3 = (ulonglong)uVar2; + if (uVar2 == 0) { + uVar2 = FUN_1400c74b0(local_128,local_110, + local_158); + uVar3 = (ulonglong)uVar2; + if (uVar2 == 0) { + uVar2 = FUN_1400c74b0(local_b0,local_158, + local_158); + uVar3 = (ulonglong)uVar2; + if (uVar2 == 0) { + uVar2 = FUN_1400c74b0(local_158,param_3, + param_3); + uVar3 = (ulonglong)uVar2; + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + FUN_1400cf150((int *)local_38); + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ce3f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ce3f0.c new file mode 100644 index 00000000..72ee6e4e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ce3f0.c @@ -0,0 +1,81 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ce3f0 FUN_1400ce3f0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400ce3f0(int *param_1,undefined8 *param_2) + +{ + uint uVar1; + uint uVar2; + undefined8 uVar3; + int iVar4; + longlong lVar5; + longlong lVar6; + longlong lVar7; + longlong lVar8; + uint *puVar9; + uint *puVar10; + ulonglong uVar11; + ulonglong uVar12; + longlong lVar13; + int iVar14; + longlong lVar15; + uint local_48 [4]; + longlong local_38; + + lVar5 = (longlong)*param_1; + uVar2 = *param_1 * 2 + 1; + uVar3 = FUN_1400cf070(local_48,uVar2); + if ((int)uVar3 == 0) { + if (0 < lVar5) { + lVar6 = 0; + lVar8 = 1; + iVar14 = 1; + lVar7 = lVar6; + lVar15 = lVar5; + do { + uVar11 = (ulonglong)*(uint *)(lVar7 + *(longlong *)(param_1 + 4)) * + (ulonglong)*(uint *)(lVar7 + *(longlong *)(param_1 + 4)) + + (ulonglong)*(uint *)(local_38 + lVar6); + uVar12 = uVar11 >> 0x1c; + *(uint *)(local_38 + lVar6) = (uint)uVar11 & 0xfffffff; + uVar1 = *(uint *)(lVar7 + *(longlong *)(param_1 + 4)); + puVar10 = (uint *)(local_38 + (longlong)iVar14 * 4); + if (lVar8 < lVar5) { + puVar9 = puVar10; + lVar13 = lVar8; + do { + lVar13 = lVar13 + 1; + puVar10 = puVar9 + 1; + uVar11 = (ulonglong)*puVar9 + + (ulonglong)*(uint *)(*(longlong *)(param_1 + 4) + -4 + lVar13 * 4) * + (ulonglong)uVar1 * 2 + (uVar12 & 0xffffffff); + uVar12 = uVar11 >> 0x1c & 0xffffffff; + *puVar9 = (uint)uVar11 & 0xfffffff; + puVar9 = puVar10; + } while (lVar13 < lVar5); + } + iVar4 = (int)uVar12; + while (iVar4 != 0) { + uVar11 = (ulonglong)*puVar10 + (uVar12 & 0xffffffff); + uVar12 = uVar11 >> 0x1c; + *puVar10 = (uint)uVar11 & 0xfffffff; + puVar10 = puVar10 + 1; + iVar4 = (int)uVar12; + } + iVar14 = iVar14 + 2; + lVar6 = lVar6 + 8; + lVar7 = lVar7 + 4; + lVar8 = lVar8 + 1; + lVar15 = lVar15 + -1; + } while (lVar15 != 0); + } + local_48[0] = uVar2; + FUN_1400ccef0((int *)local_48); + FUN_1400cef30((undefined8 *)local_48,param_2); + FUN_1400c6dd0((int *)local_48); + uVar3 = 0; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ce560.c b/decomp/Agent_Release_x64/full/functions/0x1400ce560.c new file mode 100644 index 00000000..c71ed368 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ce560.c @@ -0,0 +1,112 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ce560 FUN_1400ce560 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_1400ce560(int *param_1,int *param_2) + +{ + int iVar1; + longlong lVar2; + uint uVar3; + uint uVar4; + undefined8 uVar5; + int iVar6; + uint *puVar7; + uint *puVar8; + int iVar9; + ulonglong uVar10; + ulonglong uVar11; + ulonglong uVar12; + int iVar13; + longlong lVar14; + ulonglong uVar15; + ulonglong uVar16; + ulonglong uVar17; + uint uVar18; + undefined1 auStack_878 [32]; + int *local_858; + uint auStack_84c [513]; + ulonglong local_48; + + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_878; + uVar3 = *param_1 * 2; + local_858 = param_2; + if (((int)uVar3 <= param_2[1]) || + (uVar5 = FUN_1400cce50((longlong)param_2,uVar3), (int)uVar5 == 0)) { + uVar12 = 0; + lVar14 = (longlong)(int)uVar3; + if (0 < lVar14) { + lVar2 = *(longlong *)(param_1 + 4); + iVar1 = *param_1; + uVar11 = uVar12; + uVar15 = uVar12; + uVar17 = uVar12; + do { + iVar6 = iVar1 + -1; + iVar13 = (int)uVar11; + iVar9 = iVar13; + if (iVar6 < iVar13) { + iVar9 = iVar6; + } + iVar6 = iVar13 - iVar9; + puVar8 = (uint *)(lVar2 + (longlong)iVar6 * 4); + puVar7 = (uint *)(lVar2 + (longlong)iVar9 * 4); + uVar4 = iVar1 - iVar6; + uVar18 = iVar9 + 1U; + if ((int)uVar4 < (int)(iVar9 + 1U)) { + uVar18 = uVar4; + } + uVar4 = (iVar9 - iVar6) + 1 >> 1; + if ((int)uVar4 <= (int)uVar18) { + uVar18 = uVar4; + } + uVar16 = uVar12; + if (0 < (int)uVar18) { + uVar10 = (ulonglong)uVar18; + do { + uVar18 = *puVar7; + uVar4 = *puVar8; + puVar7 = puVar7 + -1; + puVar8 = puVar8 + 1; + uVar16 = uVar16 + (ulonglong)uVar18 * (ulonglong)uVar4; + uVar10 = uVar10 - 1; + } while (uVar10 != 0); + } + uVar16 = uVar17 + uVar16 * 2; + if ((uVar11 & 1) == 0) { + uVar11 = (ulonglong)*(uint *)(lVar2 + ((longlong)iVar13 >> 1) * 4); + uVar16 = uVar16 + uVar11 * uVar11; + } + uVar15 = uVar15 + 1; + uVar11 = (ulonglong)(iVar13 + 1); + uVar17 = uVar16 >> 0x1c; + auStack_84c[uVar15] = (uint)uVar16 & 0xfffffff; + param_2 = local_858; + } while ((longlong)uVar15 < lVar14); + } + iVar1 = *param_2; + puVar8 = *(uint **)(param_2 + 4); + *param_2 = *param_1 * 2; + puVar7 = puVar8; + uVar18 = 0; + if (0 < lVar14) { + do { + lVar2 = uVar12 + 1; + uVar12 = uVar12 + 1; + puVar8 = puVar7 + 1; + *puVar7 = auStack_84c[lVar2] & 0xfffffff; + puVar7 = puVar8; + uVar18 = uVar3; + } while ((longlong)uVar12 < lVar14); + } + if ((int)uVar18 < iVar1) { + memset(puVar8,0,(ulonglong)(iVar1 - uVar18) << 2); + } + FUN_1400ccef0(param_2); + uVar5 = 0; + } + return uVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ce730.c b/decomp/Agent_Release_x64/full/functions/0x1400ce730.c new file mode 100644 index 00000000..9a4c3a66 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ce730.c @@ -0,0 +1,108 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ce730 FUN_1400ce730 + * Pseudocode, not original source. */ + +undefined4 FUN_1400ce730(int *param_1,uint *param_2) + +{ + undefined4 uVar1; + int iVar2; + undefined8 uVar3; + undefined4 *puVar4; + undefined4 uVar5; + uint uVar6; + uint uVar7; + ulonglong uVar8; + uint local_a8 [6]; + uint local_90 [4]; + undefined4 *local_80; + uint local_78 [6]; + uint local_60 [4]; + undefined4 *local_50; + uint local_48 [6]; + uint local_30 [6]; + + uVar6 = *param_1 >> 1; + uVar5 = 0xfffffffe; + uVar3 = FUN_1400cf070(local_90,uVar6); + if ((int)uVar3 == 0) { + uVar3 = FUN_1400cf070(local_60,*param_1 - uVar6); + if ((int)uVar3 == 0) { + uVar3 = FUN_1400cf070(local_a8,*param_1 * 2); + if ((int)uVar3 == 0) { + uVar3 = FUN_1400cf070(local_30,*param_1 * 2); + if ((int)uVar3 == 0) { + uVar3 = FUN_1400cf070(local_48,uVar6 * 2); + if ((int)uVar3 == 0) { + uVar3 = FUN_1400cf070(local_78,(*param_1 - uVar6) * 2); + if ((int)uVar3 == 0) { + puVar4 = *(undefined4 **)(param_1 + 4); + if (0 < (int)uVar6) { + uVar8 = (ulonglong)uVar6; + do { + uVar1 = *puVar4; + puVar4 = puVar4 + 1; + uVar8 = uVar8 - 1; + *local_80 = uVar1; + local_80 = local_80 + 1; + } while (uVar8 != 0); + } + uVar7 = uVar6; + if ((int)uVar6 < *param_1) { + do { + uVar7 = uVar7 + 1; + *local_50 = *puVar4; + puVar4 = puVar4 + 1; + local_50 = local_50 + 1; + } while ((int)uVar7 < *param_1); + } + local_60[0] = *param_1 - uVar6; + local_90[0] = uVar6; + FUN_1400ccef0((int *)local_90); + iVar2 = FUN_1400c79a0(local_90,local_48); + if (iVar2 == 0) { + iVar2 = FUN_1400c79a0(local_60,local_78); + if (iVar2 == 0) { + uVar3 = FUN_1400cd540(local_60,local_90,local_a8); + if ((int)uVar3 == 0) { + iVar2 = FUN_1400c79a0(local_a8,local_a8); + if (iVar2 == 0) { + uVar3 = FUN_1400cd540(local_48,local_78,local_30); + if ((int)uVar3 == 0) { + uVar3 = FUN_1400cd440(local_a8,local_30,local_a8); + if ((int)uVar3 == 0) { + uVar3 = FUN_1400cefe0((int *)local_a8,uVar6); + if ((int)uVar3 == 0) { + uVar3 = FUN_1400cefe0((int *)local_78,uVar6 * 2); + if ((int)uVar3 == 0) { + iVar2 = FUN_1400c74b0(local_48,local_a8,local_a8); + if (iVar2 == 0) { + iVar2 = FUN_1400c74b0(local_a8,local_78,param_2); + uVar5 = 0xfffffffe; + if (iVar2 == 0) { + uVar5 = 0; + } + } + } + } + } + } + } + } + } + } + FUN_1400c6dd0((int *)local_78); + } + FUN_1400c6dd0((int *)local_48); + } + FUN_1400c6dd0((int *)local_30); + } + FUN_1400c6dd0((int *)local_a8); + } + FUN_1400c6dd0((int *)local_60); + } + FUN_1400c6dd0((int *)local_90); + } + return uVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ce970.c b/decomp/Agent_Release_x64/full/functions/0x1400ce970.c new file mode 100644 index 00000000..d0487d48 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ce970.c @@ -0,0 +1,230 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ce970 FUN_1400ce970 + * Pseudocode, not original source. */ + +ulonglong FUN_1400ce970(uint *param_1,uint *param_2) + +{ + uint uVar1; + uint uVar2; + ulonglong uVar3; + ulonglong uVar4; + uint local_f8 [6]; + uint local_e0 [6]; + uint local_c8 [6]; + uint local_b0 [6]; + uint local_98 [6]; + uint local_80 [6]; + uint local_68 [6]; + uint local_50 [6]; + uint local_38 [8]; + + uVar3 = FUN_1400cf190((int *)local_38); + if ((int)uVar3 == 0) { + uVar2 = (int)*param_1 / 3; + uVar4 = FUN_1400d2dd0(param_1,uVar2 * 0x1c,local_50); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400c6e70(param_1,local_98); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + FUN_1400cef60((int *)local_98,uVar2); + FUN_1400d2dd0(local_98,uVar2 * 0x1c,local_98); + uVar4 = FUN_1400c6e70(param_1,local_68); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + FUN_1400cef60((int *)local_68,uVar2 * 2); + uVar1 = FUN_1400c79a0(local_50,local_38); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = FUN_1400c79a0(local_68,local_80); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar4 = FUN_1400cf9e0((int *)local_50,(int *)local_f8); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar1 = FUN_1400c74b0(local_f8,local_98,local_f8); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar4 = FUN_1400cf9e0((int *)local_f8,(int *)local_f8); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar1 = FUN_1400c74b0(local_f8,local_68,local_f8); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = FUN_1400c79a0(local_f8,local_b0); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar4 = FUN_1400cf9e0((int *)local_68,(int *)local_f8); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar1 = FUN_1400c74b0(local_f8,local_98,local_f8); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar4 = FUN_1400cf9e0((int *)local_f8,(int *)local_f8); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar1 = FUN_1400c74b0(local_f8,local_50,local_f8); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = FUN_1400c79a0(local_f8,local_c8); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = FUN_1400c74b0(local_68,local_98,local_f8); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = FUN_1400c74b0(local_f8,local_50,local_f8); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = FUN_1400c79a0(local_f8,local_e0); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = FUN_1400c7670(local_b0,local_80,local_b0); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = FUN_1400c7670(local_c8,local_38,local_c8); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar4 = FUN_1400c7f50(local_b0,local_b0); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400c7f50(local_c8,local_c8); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar1 = FUN_1400c7670(local_e0,local_38,local_e0); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = FUN_1400c7670(local_e0,local_80,local_e0); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = FUN_1400c7670(local_b0,local_e0,local_b0 + ); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = FUN_1400c7670(local_c8,local_e0, + local_c8); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar4 = FUN_1400ccf30(local_38,3,local_f8); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar1 = FUN_1400c7670(local_b0,local_f8, + local_b0); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar4 = FUN_1400ccf30(local_80,3, + local_f8); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar1 = FUN_1400c7670(local_c8, + local_f8,local_c8); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar4 = FUN_1400c78e0((int *)local_e0,3, + (int *)local_e0); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar1 = FUN_1400c7670(local_e0,local_b0, + local_e0); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = FUN_1400c7670(local_e0,local_c8, + local_e0); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = FUN_1400c7670(local_b0,local_e0, + local_b0); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = FUN_1400c7670(local_c8,local_e0, + local_c8); + uVar3 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar4 = FUN_1400d2ce0(local_b0,( + undefined8 *)local_b0,(undefined4 *)0x0); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400d2ce0(local_c8,(undefined8 *) + local_c8, + (undefined4 *)0x0); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400cefe0((int *)local_b0,uVar2); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400cefe0((int *)local_e0, + uVar2 * 2); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400cefe0((int *)local_c8, + uVar2 * 3); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400cefe0((int *)local_80, + uVar2 * 4); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar2 = FUN_1400c74b0(local_38, + local_b0,param_2); + uVar3 = (ulonglong)uVar2; + if (uVar2 == 0) { + uVar2 = FUN_1400c74b0(local_e0,local_c8,local_f8 + ); + uVar3 = (ulonglong)uVar2; + if (uVar2 == 0) { + uVar2 = FUN_1400c74b0(local_80,local_f8, + local_f8); + uVar3 = (ulonglong)uVar2; + if (uVar2 == 0) { + uVar2 = FUN_1400c74b0(local_f8,param_2, + param_2); + uVar3 = (ulonglong)uVar2; + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + FUN_1400cf150((int *)local_38); + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cef30.c b/decomp/Agent_Release_x64/full/functions/0x1400cef30.c new file mode 100644 index 00000000..ba93814a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cef30.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cef30 FUN_1400cef30 + * Pseudocode, not original source. */ + +void FUN_1400cef30(undefined8 *param_1,undefined8 *param_2) + +{ + undefined8 uVar1; + undefined8 uVar2; + undefined8 uVar3; + + uVar1 = *param_1; + uVar2 = param_1[1]; + uVar3 = param_1[2]; + *param_1 = *param_2; + param_1[1] = param_2[1]; + param_1[2] = param_2[2]; + *param_2 = uVar1; + param_2[1] = uVar2; + param_2[2] = uVar3; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cef60.c b/decomp/Agent_Release_x64/full/functions/0x1400cef60.c new file mode 100644 index 00000000..799f4e00 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cef60.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cef60 FUN_1400cef60 + * Pseudocode, not original source. */ + +void FUN_1400cef60(int *param_1,int param_2) + +{ + int iVar1; + undefined4 *puVar2; + undefined4 *puVar3; + undefined4 *puVar4; + + if (0 < param_2) { + if (*param_1 <= param_2) { + FUN_1400cd030(param_1); + return; + } + puVar3 = *(undefined4 **)(param_1 + 4); + iVar1 = 0; + puVar4 = puVar3 + param_2; + puVar2 = puVar3; + if (0 < *param_1 - param_2) { + do { + iVar1 = iVar1 + 1; + puVar3 = puVar2 + 1; + *puVar2 = *puVar4; + puVar4 = puVar4 + 1; + puVar2 = puVar3; + } while (iVar1 < *param_1 - param_2); + } + if (iVar1 < *param_1) { + do { + *puVar3 = 0; + iVar1 = iVar1 + 1; + puVar3 = puVar3 + 1; + } while (iVar1 < *param_1); + } + *param_1 = *param_1 - param_2; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cefe0.c b/decomp/Agent_Release_x64/full/functions/0x1400cefe0.c new file mode 100644 index 00000000..ce1b7863 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cefe0.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cefe0 FUN_1400cefe0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400cefe0(int *param_1,uint param_2) + +{ + int iVar1; + undefined4 uVar2; + undefined8 uVar3; + ulonglong uVar4; + undefined4 *puVar5; + undefined4 *puVar6; + + if (0 < (int)param_2) { + if ((param_1[1] < (int)(*param_1 + param_2)) && + (uVar3 = FUN_1400cce50((longlong)param_1,*param_1 + param_2), (int)uVar3 != 0)) { + return uVar3; + } + *param_1 = *param_1 + param_2; + iVar1 = *param_1; + puVar6 = (undefined4 *) + (*(longlong *)(param_1 + 4) + -4 + ((longlong)iVar1 - (longlong)(int)param_2) * 4); + if ((int)param_2 <= iVar1 + -1) { + uVar4 = (ulonglong)(((iVar1 + -1) - param_2) + 1); + puVar5 = (undefined4 *)(*(longlong *)(param_1 + 4) + -4 + (longlong)iVar1 * 4); + do { + uVar2 = *puVar6; + puVar6 = puVar6 + -1; + uVar4 = uVar4 - 1; + *puVar5 = uVar2; + puVar5 = puVar5 + -1; + } while (uVar4 != 0); + } + if (0 < (int)param_2) { + memset(*(void **)(param_1 + 4),0,(ulonglong)param_2 << 2); + } + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cf070.c b/decomp/Agent_Release_x64/full/functions/0x1400cf070.c new file mode 100644 index 00000000..80bf1bb1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cf070.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cf070 FUN_1400cf070 + * Pseudocode, not original source. */ + +undefined8 FUN_1400cf070(undefined4 *param_1,uint param_2) + +{ + void *pvVar1; + longlong lVar2; + int iVar3; + uint uVar4; + + uVar4 = param_2 & 0x8000001f; + if ((int)uVar4 < 0) { + uVar4 = (uVar4 - 1 | 0xffffffe0) + 1; + } + iVar3 = param_2 + (0x40 - uVar4); + pvVar1 = malloc((longlong)iVar3 * 4); + *(void **)(param_1 + 4) = pvVar1; + if (pvVar1 != (void *)0x0) { + param_1[1] = iVar3; + *param_1 = 0; + param_1[2] = 0; + lVar2 = 0; + if (0 < iVar3) { + do { + lVar2 = lVar2 + 1; + *(undefined4 *)(*(longlong *)(param_1 + 4) + -4 + lVar2 * 4) = 0; + } while (lVar2 < iVar3); + } + return 0; + } + return 0xfffffffe; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cf120.c b/decomp/Agent_Release_x64/full/functions/0x1400cf120.c new file mode 100644 index 00000000..19ab0e91 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cf120.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cf120 FUN_1400cf120 + * Pseudocode, not original source. */ + +undefined8 FUN_1400cf120(uint *param_1,uint *param_2) + +{ + undefined8 uVar1; + + if ((param_1 != param_2) && (uVar1 = FUN_1400c6e70(param_1,param_2), (int)uVar1 != 0)) { + return uVar1; + } + param_2[2] = 0; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cf150.c b/decomp/Agent_Release_x64/full/functions/0x1400cf150.c new file mode 100644 index 00000000..4a8e0c37 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cf150.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cf150 FUN_1400cf150 + * Pseudocode, not original source. */ + +void FUN_1400cf150(int *param_1) + +{ + undefined1 *puVar1; + undefined8 local_res10 [3]; + + puVar1 = (undefined1 *)register0x00000020; + while (param_1 != (int *)0x0) { + FUN_1400c6dd0(param_1); + param_1 = *(int **)(puVar1 + 0x10); + puVar1 = puVar1 + 8; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cf190.c b/decomp/Agent_Release_x64/full/functions/0x1400cf190.c new file mode 100644 index 00000000..6fb8c48f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cf190.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cf190 FUN_1400cf190 + * Pseudocode, not original source. */ + +undefined8 FUN_1400cf190(int *param_1) + +{ + int *piVar1; + undefined1 *puVar2; + undefined8 uVar3; + int iVar4; + undefined8 local_res10 [3]; + + iVar4 = 0; + piVar1 = param_1; + puVar2 = (undefined1 *)register0x00000020; + while( true ) { + if (piVar1 == (int *)0x0) { + return 0; + } + uVar3 = FUN_1400c6d70(piVar1); + if ((int)uVar3 != 0) break; + piVar1 = *(int **)(puVar2 + 0x10); + iVar4 = iVar4 + 1; + puVar2 = puVar2 + 8; + } + for (; iVar4 != 0; iVar4 = iVar4 + -1) { + FUN_1400c6dd0(param_1); + param_1 = *(int **)((longlong)register0x00000020 + 0x10); + register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 8); + } + return 0xfffffffe; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cf210.c b/decomp/Agent_Release_x64/full/functions/0x1400cf210.c new file mode 100644 index 00000000..01e5395f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cf210.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cf210 FUN_1400cf210 + * Pseudocode, not original source. */ + +ulonglong FUN_1400cf210(uint *param_1,uint *param_2,uint *param_3) + +{ + uint uVar1; + ulonglong uVar2; + uint local_28 [2]; + uint local_20; + + uVar2 = FUN_1400c6d70(local_28); + if ((int)uVar2 == 0) { + uVar2 = FUN_1400c7a20(param_1,param_2,(undefined8 *)0x0,local_28); + if ((int)uVar2 != 0) { + FUN_1400c6dd0((int *)local_28); + return uVar2 & 0xffffffff; + } + if (local_20 == param_2[2]) { + uVar2 = 0; + FUN_1400cef30((undefined8 *)local_28,(undefined8 *)param_3); + } + else { + uVar1 = FUN_1400c74b0(param_2,local_28,param_3); + uVar2 = (ulonglong)uVar1; + } + FUN_1400c6dd0((int *)local_28); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cf2c0.c b/decomp/Agent_Release_x64/full/functions/0x1400cf2c0.c new file mode 100644 index 00000000..b0bfc803 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cf2c0.c @@ -0,0 +1,165 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cf2c0 FUN_1400cf2c0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400cf2c0(uint *param_1,uint *param_2,undefined8 *param_3) + +{ + uint uVar1; + int iVar2; + ulonglong uVar3; + undefined8 uVar4; + uint *puVar5; + uint *puVar6; + ulonglong uVar7; + uint *puVar8; + bool bVar9; + uint local_c8 [4]; + byte *local_b8; + uint local_b0 [4]; + byte *local_a0; + uint local_98 [4]; + byte *local_88; + uint local_80 [4]; + byte *local_70; + uint local_68 [4]; + byte *local_58; + uint local_50 [4]; + byte *local_40; + uint local_38 [4]; + byte *local_28; + uint local_20 [4]; + byte *local_10; + + if ((param_2[2] == 1) || (*param_2 == 0)) { + return 0xfffffffd; + } + uVar3 = FUN_1400cf190((int *)local_20); + if ((int)uVar3 != 0) { + return uVar3; + } + uVar3 = FUN_1400cf210(param_1,param_2,local_20); + uVar7 = uVar3 & 0xffffffff; + if ((int)uVar3 == 0) { + uVar3 = FUN_1400c6e70(param_2,local_38); + uVar7 = uVar3 & 0xffffffff; + if ((int)uVar3 == 0) { + if (((((int)local_20[0] < 1) || ((*local_10 & 1) != 0)) || ((int)local_38[0] < 1)) || + ((*local_28 & 1) != 0)) { + uVar3 = FUN_1400c6e70(local_20,local_98); + uVar7 = uVar3 & 0xffffffff; + if ((int)uVar3 == 0) { + uVar3 = FUN_1400c6e70(local_38,local_b0); + uVar7 = uVar3 & 0xffffffff; + if ((int)uVar3 == 0) { + FUN_1400cfa90(local_68,1); + FUN_1400cfa90(local_80,1); + do { + bVar9 = local_98[0] == 0; + while ((bVar9 || (int)local_98[0] < 0 || ((*local_88 & 1) != 0))) { + while ((0 < (int)local_b0[0] && ((*local_a0 & 1) == 0))) { + uVar3 = FUN_1400c7f50(local_b0,local_b0); + uVar7 = uVar3 & 0xffffffff; + if ((int)uVar3 != 0) goto LAB_1400cf6a9; + if (((0 < (int)local_c8[0]) && ((*local_b8 & 1) != 0)) || + ((0 < (int)local_80[0] && ((*local_70 & 1) != 0)))) { + uVar1 = FUN_1400c74b0(local_c8,local_38,local_c8); + uVar7 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400cf6a9; + uVar1 = FUN_1400c7670(local_80,local_20,local_80); + uVar7 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400cf6a9; + } + uVar3 = FUN_1400c7f50(local_c8,local_c8); + uVar7 = uVar3 & 0xffffffff; + if ((int)uVar3 != 0) goto LAB_1400cf6a9; + uVar3 = FUN_1400c7f50(local_80,local_80); + uVar7 = uVar3 & 0xffffffff; + if ((int)uVar3 != 0) goto LAB_1400cf6a9; + } + uVar4 = FUN_1400c6fc0((int *)local_98,(int *)local_b0); + if ((int)uVar4 == -1) { + uVar1 = FUN_1400c7670(local_b0,local_98,local_b0); + uVar7 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400cf6a9; + uVar1 = FUN_1400c7670(local_c8,local_68,local_c8); + uVar7 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400cf6a9; + puVar8 = local_80; + puVar6 = local_50; + puVar5 = local_80; + } + else { + uVar1 = FUN_1400c7670(local_98,local_b0,local_98); + uVar7 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400cf6a9; + uVar1 = FUN_1400c7670(local_68,local_c8,local_68); + uVar7 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400cf6a9; + puVar8 = local_50; + puVar6 = local_80; + puVar5 = local_50; + } + uVar1 = FUN_1400c7670(puVar5,puVar6,puVar8); + uVar7 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400cf6a9; + bVar9 = false; + if (local_98[0] == 0) { + iVar2 = FUN_1400c6ff0((int *)local_b0,1); + if (iVar2 != 0) goto LAB_1400cf38f; + iVar2 = FUN_1400c6ff0((int *)local_c8,0); + goto joined_r0x0001400cf630; + } + } + uVar3 = FUN_1400c7f50(local_98,local_98); + uVar7 = uVar3 & 0xffffffff; + if ((int)uVar3 != 0) break; + if (((0 < (int)local_68[0]) && ((*local_58 & 1) != 0)) || + ((0 < (int)local_50[0] && ((*local_40 & 1) != 0)))) { + uVar1 = FUN_1400c74b0(local_68,local_38,local_68); + uVar7 = (ulonglong)uVar1; + if (uVar1 != 0) break; + uVar1 = FUN_1400c7670(local_50,local_20,local_50); + uVar7 = (ulonglong)uVar1; + if (uVar1 != 0) break; + } + uVar3 = FUN_1400c7f50(local_68,local_68); + uVar7 = uVar3 & 0xffffffff; + if ((int)uVar3 != 0) break; + uVar3 = FUN_1400c7f50(local_50,local_50); + uVar7 = uVar3 & 0xffffffff; + } while ((int)uVar3 == 0); + } + } + } + else { +LAB_1400cf38f: + uVar7 = 0xfffffffd; + } + } + } + goto LAB_1400cf6a9; +joined_r0x0001400cf630: + if (iVar2 != -1) goto LAB_1400cf65b; + uVar1 = FUN_1400c74b0(local_c8,param_2,local_c8); + uVar7 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400cf6a9; + iVar2 = FUN_1400c6ff0((int *)local_c8,0); + goto joined_r0x0001400cf630; +LAB_1400cf65b: + uVar4 = FUN_1400cd060((int *)local_c8,(int *)param_2); + iVar2 = (int)uVar4; + while (iVar2 != -1) { + uVar1 = FUN_1400c7670(local_c8,param_2,local_c8); + uVar7 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400cf6a9; + uVar4 = FUN_1400cd060((int *)local_c8,(int *)param_2); + iVar2 = (int)uVar4; + } + FUN_1400cef30((undefined8 *)local_c8,param_3); + uVar7 = 0; +LAB_1400cf6a9: + FUN_1400cf150((int *)local_20); + return uVar7; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cf710.c b/decomp/Agent_Release_x64/full/functions/0x1400cf710.c new file mode 100644 index 00000000..e1f657ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cf710.c @@ -0,0 +1,129 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cf710 FUN_1400cf710 + * Pseudocode, not original source. */ + +ulonglong FUN_1400cf710(uint *param_1,uint *param_2,undefined8 *param_3) + +{ + uint uVar1; + int iVar2; + uint uVar3; + ulonglong uVar4; + undefined8 uVar5; + uint *puVar6; + uint *puVar7; + ulonglong uVar8; + uint *puVar9; + bool bVar10; + uint local_98 [2]; + int local_90; + byte *local_88; + uint local_80 [4]; + byte *local_70; + uint local_68 [4]; + byte *local_58; + uint local_50 [4]; + byte *local_40; + uint local_38 [6]; + uint local_20 [6]; + + if ((0 < (int)*param_2) && ((**(byte **)(param_2 + 4) & 1) == 0)) { + return 0xfffffffd; + } + uVar4 = FUN_1400cf190((int *)local_38); + if ((int)uVar4 != 0) { + return uVar4; + } + uVar4 = FUN_1400c6e70(param_2,local_38); + uVar8 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400cf210(param_1,param_2,local_20); + uVar8 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400c6e70(local_38,local_80); + uVar8 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + uVar4 = FUN_1400c6e70(local_20,local_68); + uVar8 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + FUN_1400cfa90(local_98,1); + do { + bVar10 = local_80[0] == 0; + while ((bVar10 || (int)local_80[0] < 0 || ((*local_70 & 1) != 0))) { + while ((0 < (int)local_68[0] && ((*local_58 & 1) == 0))) { + uVar4 = FUN_1400c7f50(local_68,local_68); + uVar8 = uVar4 & 0xffffffff; + if ((int)uVar4 != 0) goto LAB_1400cf98f; + if ((0 < (int)local_98[0]) && ((*local_88 & 1) != 0)) { + uVar1 = FUN_1400c7670(local_98,local_38,local_98); + uVar8 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400cf98f; + } + uVar4 = FUN_1400c7f50(local_98,local_98); + uVar8 = uVar4 & 0xffffffff; + if ((int)uVar4 != 0) goto LAB_1400cf98f; + } + uVar5 = FUN_1400c6fc0((int *)local_80,(int *)local_68); + if ((int)uVar5 == -1) { + uVar1 = FUN_1400c7670(local_68,local_80,local_68); + uVar8 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400cf98f; + puVar9 = local_98; + puVar7 = local_50; + puVar6 = local_98; + } + else { + uVar1 = FUN_1400c7670(local_80,local_68,local_80); + uVar8 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400cf98f; + puVar9 = local_50; + puVar7 = local_98; + puVar6 = local_50; + } + uVar1 = FUN_1400c7670(puVar6,puVar7,puVar9); + uVar8 = (ulonglong)uVar1; + if (uVar1 != 0) goto LAB_1400cf98f; + bVar10 = false; + if (local_80[0] == 0) { + iVar2 = FUN_1400c6ff0((int *)local_68,1); + if (iVar2 == 0) { + uVar1 = param_1[2]; + goto joined_r0x0001400cf95a; + } + uVar8 = 0xfffffffd; + goto LAB_1400cf98f; + } + } + uVar4 = FUN_1400c7f50(local_80,local_80); + uVar8 = uVar4 & 0xffffffff; + if ((int)uVar4 != 0) break; + if ((0 < (int)local_50[0]) && ((*local_40 & 1) != 0)) { + uVar1 = FUN_1400c7670(local_50,local_38,local_50); + uVar8 = (ulonglong)uVar1; + if (uVar1 != 0) break; + } + uVar4 = FUN_1400c7f50(local_50,local_50); + uVar8 = uVar4 & 0xffffffff; + } while ((int)uVar4 == 0); + } + } + } + } + goto LAB_1400cf98f; + while( true ) { + uVar3 = FUN_1400c74b0(local_98,param_2,local_98); + uVar8 = (ulonglong)uVar3; + if (uVar3 != 0) break; +joined_r0x0001400cf95a: + if (local_90 != 1) { + FUN_1400cef30((undefined8 *)local_98,param_3); + *(uint *)(param_3 + 1) = uVar1; + uVar8 = 0; + break; + } + } +LAB_1400cf98f: + FUN_1400cf150((int *)local_38); + return uVar8; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cf9e0.c b/decomp/Agent_Release_x64/full/functions/0x1400cf9e0.c new file mode 100644 index 00000000..58a19af8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cf9e0.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cf9e0 FUN_1400cf9e0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400cf9e0(int *param_1,int *param_2) + +{ + int iVar1; + uint uVar2; + undefined8 uVar3; + uint *puVar4; + uint *puVar5; + uint *puVar6; + int iVar7; + uint uVar8; + + if ((param_2[1] < (int)(*param_1 + 1U)) && + (uVar3 = FUN_1400cce50((longlong)param_2,*param_1 + 1U), (int)uVar3 != 0)) { + return uVar3; + } + iVar1 = *param_2; + *param_2 = *param_1; + puVar6 = *(uint **)(param_1 + 4); + iVar7 = 0; + puVar4 = *(uint **)(param_2 + 4); + uVar8 = 0; + if (0 < *param_1) { + do { + uVar2 = *puVar6; + iVar7 = iVar7 + 1; + puVar5 = puVar4 + 1; + puVar6 = puVar6 + 1; + *puVar4 = uVar2 * 2 & 0xfffffff | uVar8; + puVar4 = puVar5; + uVar8 = uVar2 >> 0x1b; + } while (iVar7 < *param_1); + if (uVar2 >> 0x1b != 0) { + *puVar5 = 1; + *param_2 = *param_2 + 1; + } + } + iVar7 = *param_2; + if (iVar7 < iVar1) { + memset((void *)(*(longlong *)(param_2 + 4) + (longlong)iVar7 * 4),0, + (ulonglong)(uint)(iVar1 - iVar7) << 2); + } + param_2[2] = param_1[2]; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cfa90.c b/decomp/Agent_Release_x64/full/functions/0x1400cfa90.c new file mode 100644 index 00000000..4410b837 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cfa90.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cfa90 FUN_1400cfa90 + * Pseudocode, not original source. */ + +void FUN_1400cfa90(uint *param_1,uint param_2) + +{ + FUN_1400cd030(param_1); + **(uint **)(param_1 + 4) = param_2 & 0xfffffff; + *param_1 = (uint)(**(int **)(param_1 + 4) != 0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cfad0.c b/decomp/Agent_Release_x64/full/functions/0x1400cfad0.c new file mode 100644 index 00000000..4a184950 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cfad0.c @@ -0,0 +1,132 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cfad0 FUN_1400cfad0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_1400cfad0(uint *param_1,uint *param_2,int param_3) + +{ + uint uVar1; + int iVar2; + ulonglong uVar3; + undefined8 uVar4; + ulonglong *puVar5; + ulonglong *puVar6; + ulonglong *puVar7; + uint *puVar8; + int iVar9; + uint *_Dst; + ulonglong uVar10; + uint uVar11; + ulonglong uVar12; + int iVar13; + uint uVar14; + undefined1 auStack_1078 [32]; + uint local_1058; + int local_1054; + uint *local_1050; + ulonglong local_1048 [512]; + ulonglong local_48; + + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_1078; + uVar14 = *param_1; + local_1058 = uVar14; + local_1054 = param_3; + local_1050 = param_1; + if (((int)(*param_2 + 1) <= (int)param_1[1]) || + (uVar4 = FUN_1400cce50((longlong)param_1,*param_2 + 1), (int)uVar4 == 0)) { + _Dst = *(uint **)(param_1 + 4); + iVar9 = 0; + puVar7 = local_1048; + uVar11 = 0; + if (0 < (int)*param_1) { + uVar11 = *param_1; + uVar10 = (ulonglong)uVar11; + puVar6 = puVar7; + puVar8 = _Dst; + do { + uVar1 = *puVar8; + puVar7 = puVar6 + 1; + puVar8 = puVar8 + 1; + uVar10 = uVar10 - 1; + *puVar6 = (ulonglong)uVar1; + puVar6 = puVar7; + } while (uVar10 != 0); + } + uVar1 = *param_2; + iVar2 = uVar1 * 2 + 1; + if ((int)uVar11 < iVar2) { + memset(puVar7,0,(ulonglong)(iVar2 - uVar11) << 3); + } + uVar11 = 0; + if (0 < (int)uVar1) { + puVar6 = local_1048; + puVar7 = local_1048; + uVar10 = (ulonglong)uVar1; + do { + puVar6 = puVar6 + 1; + uVar3 = puVar6[-1]; + puVar8 = *(uint **)(param_2 + 4); + if (0 < (int)uVar1) { + uVar12 = (ulonglong)uVar1; + puVar5 = puVar7; + do { + uVar14 = *puVar8; + puVar8 = puVar8 + 1; + *puVar5 = *puVar5 + (ulonglong)uVar14 * (ulonglong)((int)uVar3 * local_1054 & 0xfffffff) + ; + uVar12 = uVar12 - 1; + puVar5 = puVar5 + 1; + } while (uVar12 != 0); + } + puVar7 = puVar7 + 1; + *puVar6 = *puVar6 + (puVar6[-1] >> 0x1c); + uVar10 = uVar10 - 1; + param_1 = local_1050; + uVar14 = local_1058; + uVar11 = uVar1; + } while (uVar10 != 0); + } + iVar13 = uVar11 + 1; + puVar7 = local_1048 + (int)uVar11; + if (iVar13 <= iVar2) { + uVar10 = (ulonglong)((iVar2 - iVar13) + 1); + puVar6 = local_1048 + iVar13; + do { + uVar3 = *puVar7; + puVar7 = puVar7 + 1; + *puVar6 = *puVar6 + (uVar3 >> 0x1c); + uVar10 = uVar10 - 1; + puVar6 = puVar6 + 1; + } while (uVar10 != 0); + } + puVar7 = local_1048 + (int)uVar1; + puVar8 = _Dst; + if (0 < (int)(uVar1 + 1)) { + do { + uVar10 = *puVar7; + iVar9 = iVar9 + 1; + _Dst = puVar8 + 1; + puVar7 = puVar7 + 1; + *puVar8 = (uint)uVar10 & 0xfffffff; + puVar8 = _Dst; + } while (iVar9 < (int)(*param_2 + 1)); + } + if (iVar9 < (int)uVar14) { + memset(_Dst,0,(ulonglong)(uVar14 - iVar9) << 2); + } + *param_1 = *param_2 + 1; + FUN_1400ccef0((int *)param_1); + uVar4 = FUN_1400cd060((int *)param_1,(int *)param_2); + if ((int)uVar4 == -1) { + uVar4 = 0; + } + else { + uVar4 = FUN_1400cd440(param_1,param_2,param_1); + } + } + return uVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400cfd20.c b/decomp/Agent_Release_x64/full/functions/0x1400cfd20.c new file mode 100644 index 00000000..58a334d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400cfd20.c @@ -0,0 +1,234 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400cfd20 FUN_1400cfd20 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_1400cfd20(uint *param_1,int *param_2,uint *param_3,undefined8 *param_4,int param_5) + +{ + uint *puVar1; + int iVar2; + undefined8 uVar3; + ulonglong uVar4; + uint *puVar5; + uint uVar6; + int iVar7; + ulonglong unaff_RBX; + int iVar8; + int iVar9; + uint uVar10; + uint uVar11; + code *pcVar12; + undefined1 auStack_18c8 [32]; + uint local_18a8; + uint local_18a4; + int local_18a0; + uint *local_1898; + int local_1890; + uint local_1888 [6]; + uint local_1870; + int *local_1868; + undefined8 *local_1860; + uint auStack_1858 [6]; + uint local_1840 [1530]; + ulonglong local_58; + + local_58 = DAT_1401555a0 ^ (ulonglong)auStack_18c8; + local_1898 = param_3; + local_1868 = param_2; + local_1860 = param_4; + iVar2 = FUN_1400c7020(param_2); + if (iVar2 < 8) { + iVar2 = 2; + } + else if (iVar2 < 0x25) { + iVar2 = 3; + } + else if (iVar2 < 0x8d) { + iVar2 = 4; + } + else if (iVar2 < 0x1c3) { + iVar2 = 5; + } + else if (iVar2 < 0x518) { + iVar2 = 6; + } + else { + iVar2 = (0xdc9 < iVar2) + 7; + } + uVar3 = FUN_1400c6d70(local_1840); + if ((int)uVar3 != 0) { + return unaff_RBX; + } + iVar8 = iVar2 + -1; + uVar11 = 1 << (sbyte)iVar2; + iVar7 = 1 << ((byte)iVar8 & 0x1f); + local_18a0 = iVar7; + local_18a4 = uVar11; + for (iVar9 = iVar7; iVar9 < (int)uVar11; iVar9 = iVar9 + 1) { + uVar3 = FUN_1400c6d70(auStack_1858 + (longlong)iVar9 * 6); + if ((int)uVar3 != 0) { + if (iVar7 < iVar9) { + uVar4 = (ulonglong)(uint)(iVar9 - local_18a0); + puVar5 = auStack_1858 + (longlong)iVar7 * 6; + do { + FUN_1400c6dd0((int *)puVar5); + puVar5 = puVar5 + 6; + uVar4 = uVar4 - 1; + } while (uVar4 != 0); + } + FUN_1400c6dd0((int *)local_1840); + return unaff_RBX; + } + param_3 = local_1898; + } + if (param_5 == 0) { + uVar3 = FUN_1400c83e0((longlong)param_3,&local_18a8); + if ((int)uVar3 != 0) goto LAB_1400d026d; + if (((int)(*param_3 * 2 + 1) < 0x200) && ((int)*param_3 < 0x100)) { + pcVar12 = FUN_1400cfad0; + } + else { + pcVar12 = FUN_1400c8510; + } + } + else if (param_5 == 1) { + FUN_1400d3160((longlong)param_3,(int *)&local_18a8); + pcVar12 = FUN_1400d3050; + } + else { + uVar4 = FUN_1400d2fb0(param_3,&local_18a8); + if ((int)uVar4 != 0) goto LAB_1400d026d; + pcVar12 = FUN_1400d2ec0; + } + uVar3 = FUN_1400c6d70(local_1888); + uVar11 = local_18a4; + if ((int)uVar3 != 0) goto LAB_1400d026d; + if (param_5 == 0) { + uVar3 = FUN_1400c8440(local_1888,param_3); + if ((int)uVar3 != 0) goto LAB_1400d025e; + uVar4 = FUN_1400c82c0(param_1,local_1888,param_3,local_1840); + iVar9 = (int)uVar4; + } + else { + FUN_1400cfa90(local_1888,1); + uVar4 = FUN_1400cf210(param_1,param_3,local_1840); + iVar9 = (int)uVar4; + } + if (iVar9 == 0) { + puVar5 = auStack_1858 + (longlong)local_18a0 * 6; + uVar3 = FUN_1400c6e70(local_1840,puVar5); + puVar1 = local_1898; + if ((int)uVar3 == 0) { + iVar9 = 0; + if (0 < iVar8) { + do { + iVar7 = FUN_1400c79a0(puVar5,puVar5); + if ((iVar7 != 0) || (iVar7 = (*pcVar12)(puVar5,puVar1,local_18a8), iVar7 != 0)) + goto LAB_1400d025e; + iVar9 = iVar9 + 1; + } while (iVar9 < iVar8); + } + iVar9 = local_18a0 + 1; + iVar8 = local_18a0; + if (iVar9 < (int)local_18a4) { + do { + iVar7 = FUN_1400c7830(auStack_1858 + (longlong)iVar8 * 6,local_1840, + auStack_1858 + (longlong)iVar9 * 6); + if ((iVar7 != 0) || + (iVar7 = (*pcVar12)(auStack_1858 + (longlong)iVar9 * 6,puVar1,local_18a8), iVar7 != 0)) + goto LAB_1400d025e; + iVar9 = iVar9 + 1; + iVar8 = iVar8 + 1; + } while (iVar9 < (int)local_18a4); + } + iVar9 = 0; + iVar8 = 0; + local_1890 = 1; + uVar10 = 0; + local_1898 = (uint *)(longlong)(*local_1868 + -1); + puVar5 = local_1898; + uVar11 = 0; + do { + do { + do { + while( true ) { + local_1890 = local_1890 + -1; + if (local_1890 == 0) { + if (puVar5 == (uint *)0xffffffffffffffff) { + if (((iVar9 != 2) || (iVar8 < 1)) || (iVar2 = 0, iVar8 < 1)) goto LAB_1400d022e; + goto LAB_1400d01c0; + } + puVar5 = (uint *)((longlong)puVar5 + -1); + uVar11 = *(uint *)(*(longlong *)(local_1868 + 4) + 4 + (longlong)puVar5 * 4); + local_1890 = 0x1c; + local_1898 = puVar5; + } + local_1870 = uVar11 * 2; + uVar6 = uVar11 >> 0x1b & 1; + uVar11 = local_1870; + if (iVar9 == 0) break; + if ((iVar9 != 1) || (uVar6 != 0)) goto LAB_1400d0093; + iVar7 = FUN_1400c79a0(local_1888,local_1888); + if ((iVar7 != 0) || + (iVar7 = (*pcVar12)(local_1888,puVar1,local_18a8), puVar5 = local_1898, + uVar11 = local_1870, iVar7 != 0)) goto LAB_1400d025e; + } + } while (uVar6 == 0); +LAB_1400d0093: + iVar8 = iVar8 + 1; + iVar9 = 2; + uVar10 = uVar10 | uVar6 << ((sbyte)iVar2 - (char)iVar8 & 0x1fU); + puVar5 = local_1898; + } while (iVar8 != iVar2); + iVar8 = 0; + if (iVar2 != 0) { + do { + iVar9 = FUN_1400c79a0(local_1888,local_1888); + if ((iVar9 != 0) || (iVar9 = (*pcVar12)(local_1888,puVar1,local_18a8), iVar9 != 0)) + goto LAB_1400d025e; + iVar8 = iVar8 + 1; + } while (iVar8 < iVar2); + } + iVar8 = FUN_1400c7830(local_1888,auStack_1858 + (longlong)(int)uVar10 * 6,local_1888); + if ((iVar8 != 0) || (iVar8 = (*pcVar12)(local_1888,puVar1,local_18a8), iVar8 != 0)) break; + iVar8 = 0; + iVar9 = 1; + uVar10 = 0; + puVar5 = local_1898; + uVar11 = local_1870; + } while( true ); + } + } + goto LAB_1400d025e; + while (iVar2 = iVar2 + 1, iVar2 < iVar8) { +LAB_1400d01c0: + iVar9 = FUN_1400c79a0(local_1888,local_1888); + if (((iVar9 != 0) || (iVar9 = (*pcVar12)(local_1888,puVar1,local_18a8), iVar9 != 0)) || + ((uVar10 = uVar10 * 2, (local_18a4 & uVar10) != 0 && + ((iVar9 = FUN_1400c7830(local_1888,local_1840,local_1888), iVar9 != 0 || + (iVar9 = (*pcVar12)(local_1888,puVar1,local_18a8), iVar9 != 0)))))) goto LAB_1400d025e; + } +LAB_1400d022e: + if ((param_5 != 0) || (iVar2 = (*pcVar12)(local_1888,puVar1,local_18a8), iVar2 == 0)) { + FUN_1400cef30((undefined8 *)local_1888,local_1860); + } +LAB_1400d025e: + FUN_1400c6dd0((int *)local_1888); + uVar11 = local_18a4; +LAB_1400d026d: + FUN_1400c6dd0((int *)local_1840); + if (local_18a0 < (int)uVar11) { + puVar5 = auStack_1858 + (longlong)local_18a0 * 6; + uVar4 = (ulonglong)(uVar11 - local_18a0); + do { + FUN_1400c6dd0((int *)puVar5); + puVar5 = puVar5 + 6; + uVar4 = uVar4 - 1; + } while (uVar4 != 0); + } + return unaff_RBX; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d02e0.c b/decomp/Agent_Release_x64/full/functions/0x1400d02e0.c new file mode 100644 index 00000000..46810e67 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d02e0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d02e0 FUN_1400d02e0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d02e0(int *param_1) + +{ + int iVar1; + uint uVar2; + uint *puVar3; + int iVar4; + + iVar1 = *param_1; + if (iVar1 == 0) { + return 0; + } + if ((iVar1 != 1) && (1 < iVar1)) { + iVar1 = FUN_1400c7020(param_1); + iVar4 = 0x1c; + uVar2 = 1; + if (0x1c < iVar1) { + puVar3 = (uint *)(*(longlong *)(param_1 + 4) + 4); + do { + if ((*puVar3 & uVar2) == 0) { + return 0; + } + uVar2 = uVar2 * 2; + if (0xfffffff < uVar2) { + puVar3 = puVar3 + 1; + uVar2 = 1; + } + iVar4 = iVar4 + 1; + } while (iVar4 < iVar1); + } + } + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d0350.c b/decomp/Agent_Release_x64/full/functions/0x1400d0350.c new file mode 100644 index 00000000..f4b16bf8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d0350.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d0350 FUN_1400d0350 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d0350(int *param_1) + +{ + int iVar1; + int *piVar2; + int iVar3; + + iVar1 = *param_1; + if (iVar1 < 2) { + return 0; + } + iVar3 = 1; + if (1 < iVar1) { + piVar2 = *(int **)(param_1 + 4); + do { + piVar2 = piVar2 + 1; + if (*piVar2 != 0xfffffff) { + return 0; + } + iVar3 = iVar3 + 1; + } while (iVar3 < iVar1); + } + return 1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d0390.c b/decomp/Agent_Release_x64/full/functions/0x1400d0390.c new file mode 100644 index 00000000..81496bd1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d0390.c @@ -0,0 +1,230 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d0390 FUN_1400d0390 + * Pseudocode, not original source. */ + +/* WARNING: Function: __chkstk replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong FUN_1400d0390(uint *param_1,int *param_2,uint *param_3,undefined8 *param_4,int param_5) + +{ + uint *puVar1; + int iVar2; + undefined8 uVar3; + ulonglong uVar4; + uint *puVar5; + uint uVar6; + int iVar7; + ulonglong unaff_RBX; + int iVar8; + int iVar9; + uint uVar10; + uint uVar11; + code *pcVar12; + undefined1 auStack_18d8 [32]; + uint local_18b8; + int local_18b4; + uint *local_18b0; + int local_18a8; + uint local_18a0 [6]; + int *local_1888; + uint local_1880; + uint local_1878 [6]; + undefined8 *local_1860; + uint auStack_1858 [6]; + uint local_1840 [1530]; + ulonglong local_58; + + local_58 = DAT_1401555a0 ^ (ulonglong)auStack_18d8; + local_18b0 = param_3; + local_1888 = param_2; + local_1860 = param_4; + iVar2 = FUN_1400c7020(param_2); + if (iVar2 < 8) { + iVar2 = 2; + } + else if (iVar2 < 0x25) { + iVar2 = 3; + } + else if (iVar2 < 0x8d) { + iVar2 = 4; + } + else if (iVar2 < 0x1c3) { + iVar2 = 5; + } + else if (iVar2 < 0x518) { + iVar2 = 6; + } + else { + iVar2 = (0xdc9 < iVar2) + 7; + } + uVar3 = FUN_1400c6d70(local_1840); + if ((int)uVar3 != 0) { + return unaff_RBX; + } + iVar8 = iVar2 + -1; + uVar11 = 1 << (sbyte)iVar2; + iVar7 = 1 << ((byte)iVar8 & 0x1f); + local_18b4 = iVar7; + local_18b8 = uVar11; + for (iVar9 = iVar7; iVar9 < (int)uVar11; iVar9 = iVar9 + 1) { + uVar3 = FUN_1400c6d70(auStack_1858 + (longlong)iVar9 * 6); + if ((int)uVar3 != 0) { + if (iVar7 < iVar9) { + uVar4 = (ulonglong)(uint)(iVar9 - local_18b4); + puVar5 = auStack_1858 + (longlong)iVar7 * 6; + do { + FUN_1400c6dd0((int *)puVar5); + puVar5 = puVar5 + 6; + uVar4 = uVar4 - 1; + } while (uVar4 != 0); + } + FUN_1400c6dd0((int *)local_1840); + return unaff_RBX; + } + param_3 = local_18b0; + } + uVar3 = FUN_1400c6d70(local_1878); + if ((int)uVar3 != 0) goto LAB_1400d0894; + if (param_5 == 0) { + iVar9 = FUN_1400d3450(local_1878,param_3); + if (iVar9 == 0) { + pcVar12 = FUN_1400d32d0; +LAB_1400d0542: + uVar4 = FUN_1400cf210(param_1,param_3,local_1840); + uVar11 = local_18b8; + if ((int)uVar4 == 0) { + puVar5 = auStack_1858 + (longlong)local_18b4 * 6; + uVar3 = FUN_1400c6e70(local_1840,puVar5); + puVar1 = local_18b0; + uVar11 = local_18b8; + if ((int)uVar3 == 0) { + iVar9 = 0; + if (0 < iVar8) { + do { + iVar7 = FUN_1400c79a0(puVar5,puVar5); + uVar11 = local_18b8; + if ((iVar7 != 0) || + (iVar7 = (*pcVar12)(puVar5,puVar1,local_1878), uVar11 = local_18b8, iVar7 != 0)) + goto LAB_1400d088a; + iVar9 = iVar9 + 1; + } while (iVar9 < iVar8); + } + iVar9 = local_18b4 + 1; + iVar8 = local_18b4; + if (iVar9 < (int)local_18b8) { + do { + iVar7 = FUN_1400c7830(auStack_1858 + (longlong)iVar8 * 6,local_1840, + auStack_1858 + (longlong)iVar9 * 6); + uVar11 = local_18b8; + if ((iVar7 != 0) || + (iVar7 = (*pcVar12)(auStack_1858 + (longlong)iVar9 * 6,puVar1,local_1878), + uVar11 = local_18b8, iVar7 != 0)) goto LAB_1400d088a; + iVar9 = iVar9 + 1; + iVar8 = iVar8 + 1; + } while (iVar9 < (int)local_18b8); + } + uVar3 = FUN_1400c6d70(local_18a0); + uVar11 = local_18b8; + if ((int)uVar3 == 0) { + FUN_1400cfa90(local_18a0,1); + iVar9 = 0; + iVar8 = 0; + local_18a8 = 1; + uVar10 = 0; + local_18b0 = (uint *)(longlong)(*local_1888 + -1); + puVar5 = local_18b0; + uVar11 = 0; + do { + do { + do { + while( true ) { + local_18a8 = local_18a8 + -1; + if (local_18a8 == 0) { + if (puVar5 == (uint *)0xffffffffffffffff) { + if (((iVar9 != 2) || (iVar8 < 1)) || (iVar2 = 0, iVar8 < 1)) + goto LAB_1400d086a; + goto LAB_1400d0800; + } + puVar5 = (uint *)((longlong)puVar5 + -1); + uVar11 = *(uint *)(*(longlong *)(local_1888 + 4) + 4 + (longlong)puVar5 * 4); + local_18a8 = 0x1c; + local_18b0 = puVar5; + } + local_1880 = uVar11 * 2; + uVar6 = uVar11 >> 0x1b & 1; + uVar11 = local_1880; + if (iVar9 == 0) break; + if ((iVar9 != 1) || (uVar6 != 0)) goto LAB_1400d06d2; + iVar7 = FUN_1400c79a0(local_18a0,local_18a0); + if ((iVar7 != 0) || + (iVar7 = (*pcVar12)(local_18a0,puVar1,local_1878), puVar5 = local_18b0, + uVar11 = local_1880, iVar7 != 0)) goto LAB_1400d087b; + } + } while (uVar6 == 0); +LAB_1400d06d2: + iVar8 = iVar8 + 1; + iVar9 = 2; + uVar10 = uVar10 | uVar6 << ((sbyte)iVar2 - (char)iVar8 & 0x1fU); + puVar5 = local_18b0; + } while (iVar8 != iVar2); + iVar8 = 0; + if (iVar2 != 0) { + do { + iVar9 = FUN_1400c79a0(local_18a0,local_18a0); + if ((iVar9 != 0) || (iVar9 = (*pcVar12)(local_18a0,puVar1,local_1878), iVar9 != 0) + ) goto LAB_1400d087b; + iVar8 = iVar8 + 1; + } while (iVar8 < iVar2); + } + iVar8 = FUN_1400c7830(local_18a0,auStack_1858 + (longlong)(int)uVar10 * 6,local_18a0); + if ((iVar8 != 0) || (iVar8 = (*pcVar12)(local_18a0,puVar1,local_1878), iVar8 != 0)) + goto LAB_1400d087b; + iVar8 = 0; + iVar9 = 1; + uVar10 = 0; + puVar5 = local_18b0; + uVar11 = local_1880; + } while( true ); + } + } + } + } + } + else { + uVar4 = FUN_1400d3260(param_3,local_1878); + if ((int)uVar4 == 0) { + pcVar12 = FUN_1400d3170; + goto LAB_1400d0542; + } + } +LAB_1400d088a: + FUN_1400c6dd0((int *)local_1878); +LAB_1400d0894: + FUN_1400c6dd0((int *)local_1840); + if (local_18b4 < (int)uVar11) { + puVar5 = auStack_1858 + (longlong)local_18b4 * 6; + uVar4 = (ulonglong)(uVar11 - local_18b4); + do { + FUN_1400c6dd0((int *)puVar5); + puVar5 = puVar5 + 6; + uVar4 = uVar4 - 1; + } while (uVar4 != 0); + } + return unaff_RBX; + while (iVar2 = iVar2 + 1, iVar2 < iVar8) { +LAB_1400d0800: + iVar9 = FUN_1400c79a0(local_18a0,local_18a0); + if (((iVar9 != 0) || (iVar9 = (*pcVar12)(local_18a0,puVar1,local_1878), iVar9 != 0)) || + ((uVar10 = uVar10 * 2, (local_18b8 & uVar10) != 0 && + ((iVar9 = FUN_1400c7830(local_18a0,local_1840,local_18a0), iVar9 != 0 || + (iVar9 = (*pcVar12)(local_18a0,puVar1,local_1878), iVar9 != 0)))))) goto LAB_1400d087b; + } +LAB_1400d086a: + FUN_1400cef30((undefined8 *)local_18a0,local_1860); +LAB_1400d087b: + FUN_1400c6dd0((int *)local_18a0); + uVar11 = local_18b8; + goto LAB_1400d088a; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d0910.c b/decomp/Agent_Release_x64/full/functions/0x1400d0910.c new file mode 100644 index 00000000..37af0771 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d0910.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d0910 FUN_1400d0910 + * Pseudocode, not original source. */ + +bool FUN_1400d0910(uint *param_1) + +{ + uint uVar1; + int *piVar2; + ulonglong uVar3; + int iVar4; + + uVar1 = *param_1; + uVar3 = (ulonglong)uVar1; + if (uVar1 != 0) { + if (uVar1 == 1) { + return true; + } + if (1 < (int)uVar1) { + iVar4 = 0; + if (0 < (int)uVar1) { + piVar2 = *(int **)(param_1 + 4); + do { + if (*piVar2 == 0xfffffff) { + iVar4 = iVar4 + 1; + } + piVar2 = piVar2 + 1; + uVar3 = uVar3 - 1; + } while (uVar3 != 0); + } + return (int)uVar1 / 2 <= iVar4; + } + } + return false; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d0960.c b/decomp/Agent_Release_x64/full/functions/0x1400d0960.c new file mode 100644 index 00000000..4de0964c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d0960.c @@ -0,0 +1,73 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d0960 FUN_1400d0960 + * Pseudocode, not original source. */ + +ulonglong FUN_1400d0960(uint *param_1,uint *param_2,undefined4 *param_3) + +{ + int iVar1; + uint uVar2; + uint uVar3; + int iVar4; + ulonglong uVar5; + undefined8 uVar6; + ulonglong uVar7; + uint local_68 [6]; + uint local_50 [6]; + uint local_38 [8]; + + *param_3 = 0; + iVar1 = FUN_1400c6ff0((int *)param_2,1); + if (iVar1 != 1) { + return 0xfffffffd; + } + uVar5 = FUN_1400cd290(local_50,param_1); + if ((int)uVar5 != 0) { + return uVar5; + } + uVar5 = FUN_1400c76f0((int *)local_50,1,(int *)local_50); + uVar7 = uVar5 & 0xffffffff; + if ((int)uVar5 != 0) goto LAB_1400d0af2; + uVar2 = FUN_1400cd290(local_38,local_50); + uVar7 = (ulonglong)uVar2; + if (uVar2 != 0) goto LAB_1400d0af2; + uVar2 = FUN_1400c7050((int *)local_38); + uVar5 = FUN_1400cd2c0(local_38,uVar2,local_38,(undefined8 *)0x0); + uVar7 = uVar5 & 0xffffffff; + if ((int)uVar5 == 0) { + uVar5 = FUN_1400c6d70(local_68); + uVar7 = uVar5 & 0xffffffff; + if ((int)uVar5 == 0) { + uVar3 = FUN_1400c8680(param_2,local_38,param_1,(undefined8 *)local_68); + uVar7 = (ulonglong)uVar3; + if (uVar3 == 0) { + iVar1 = FUN_1400c6ff0((int *)local_68,1); + if ((iVar1 != 0) && + (uVar6 = FUN_1400c6fc0((int *)local_68,(int *)local_50), (int)uVar6 != 0)) { + iVar1 = 1; + if (0 < (int)(uVar2 - 1)) { + do { + uVar6 = FUN_1400c6fc0((int *)local_68,(int *)local_50); + if ((int)uVar6 == 0) break; + uVar5 = FUN_1400c8340(local_68,param_1,local_68); + uVar7 = uVar5 & 0xffffffff; + if (((int)uVar5 != 0) || (iVar4 = FUN_1400c6ff0((int *)local_68,1), iVar4 == 0)) + goto LAB_1400d0ad8; + iVar1 = iVar1 + 1; + } while (iVar1 <= (int)(uVar2 - 1)); + } + uVar6 = FUN_1400c6fc0((int *)local_68,(int *)local_50); + if ((int)uVar6 != 0) goto LAB_1400d0ad8; + } + *param_3 = 1; + } +LAB_1400d0ad8: + FUN_1400c6dd0((int *)local_68); + } + } + FUN_1400c6dd0((int *)local_38); +LAB_1400d0af2: + FUN_1400c6dd0((int *)local_50); + return uVar7; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d0b20.c b/decomp/Agent_Release_x64/full/functions/0x1400d0b20.c new file mode 100644 index 00000000..a68da787 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d0b20.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d0b20 FUN_1400d0b20 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d0b20(uint *param_1,undefined4 *param_2) + +{ + undefined8 uVar1; + uint *puVar2; + uint local_res10 [2]; + + *param_2 = 0; + puVar2 = &DAT_140116ec0; + while( true ) { + uVar1 = FUN_1400c8000(param_1,*puVar2,local_res10); + if ((int)uVar1 != 0) { + return uVar1; + } + if (local_res10[0] == 0) break; + puVar2 = puVar2 + 1; + if (0x1401172bf < (longlong)puVar2) { + return 0; + } + } + *param_2 = 1; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d0ba0.c b/decomp/Agent_Release_x64/full/functions/0x1400d0ba0.c new file mode 100644 index 00000000..28a4ab82 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d0ba0.c @@ -0,0 +1,149 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d0ba0 FUN_1400d0ba0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d0ba0(byte *param_1,uint *param_2,longlong param_3,uint param_4) + +{ + uint *puVar1; + int iVar2; + undefined4 *puVar3; + undefined8 uVar4; + ulonglong uVar5; + ulonglong uVar6; + uint uVar7; + ulonglong uVar8; + undefined8 *puVar9; + uint local_res8 [2]; + uint local_48 [4]; + + if (((param_1 == (byte *)0x0) || (param_2 == (uint *)0x0)) || (param_3 == 0)) { + return 0x10; + } + if (*param_2 < 2) { + return 7; + } + uVar8 = 0; + if (param_4 != 0) { + puVar3 = (undefined4 *)(param_3 + 0x14); + uVar6 = (ulonglong)param_4; + do { + *puVar3 = 0; + puVar3 = puVar3 + 0xe; + uVar6 = uVar6 - 1; + } while (uVar6 != 0); + } + if (param_4 != 0) { + puVar9 = (undefined8 *)(param_3 + 8); + uVar6 = uVar8; + do { + local_res8[0] = *(uint *)(puVar9 + 1); + puVar1 = (uint *)*puVar9; + switch(*(undefined4 *)(puVar9 + -1)) { + case 2: + uVar4 = FUN_1400d2320(param_1,*param_2,(longlong)puVar1); + if ((int)uVar4 == 0) { + uVar4 = FUN_1400d2220((longlong)puVar1,(int *)local_48); + iVar2 = (int)uVar4; + goto LAB_1400d0e75; + } + break; + case 3: + uVar4 = FUN_1400d21c0(param_1,*param_2,puVar1); + if ((int)uVar4 == 0) { + iVar2 = FUN_1400d2170(local_res8[0],(int *)local_48); + goto LAB_1400d0e75; + } + break; + case 4: + uVar4 = FUN_1400d2010(param_1,*param_2,(longlong)puVar1,local_res8); + if ((int)uVar4 == 0) { + uVar4 = FUN_1400d1fc0((ulonglong)local_res8[0],(int *)local_48); + iVar2 = (int)uVar4; +joined_r0x0001400d0e2f: + if (iVar2 == 0) { + *(uint *)(uVar8 * 0x38 + 0x10 + param_3) = local_res8[0]; + *(undefined4 *)(uVar8 * 0x38 + 0x14 + param_3) = 1; + *param_2 = local_48[0]; + return 0; + } + } + break; + case 5: + uVar4 = FUN_1400d1ec0(param_1,*param_2,(byte *)puVar1,local_res8); + if ((int)uVar4 == 0) { + uVar4 = FUN_1400d1e70(local_res8[0],(int *)local_48); + iVar2 = (int)uVar4; + goto joined_r0x0001400d0e2f; + } + break; + case 6: + if (((*param_2 == 2) && (param_1[uVar6] == 5)) && (param_1[uVar6 + 1] == 0)) { + *param_2 = 2; + *(undefined4 *)(uVar8 * 0x38 + 0x14 + param_3) = 1; + return 0; + } + break; + case 7: + uVar4 = FUN_1400d1cf0(param_1,*param_2,puVar1,local_res8); + if ((int)uVar4 == 0) { + uVar4 = FUN_1400d1bc0(puVar1,local_res8[0],(int *)local_48); + iVar2 = (int)uVar4; + goto joined_r0x0001400d0e2f; + } + break; + case 8: + uVar4 = FUN_1400d1a80(param_1,*param_2,(undefined1 *)puVar1,local_res8); + if ((int)uVar4 == 0) { + uVar4 = FUN_1400d19e0((byte *)puVar1,local_res8[0],(int *)local_48); + iVar2 = (int)uVar4; + goto joined_r0x0001400d0e2f; + } + break; + case 9: + uVar4 = FUN_1400d1840(param_1,*param_2,(undefined1 *)puVar1,local_res8); + if ((int)uVar4 == 0) { + uVar4 = FUN_1400d17a0((byte *)puVar1,local_res8[0],(int *)local_48); + iVar2 = (int)uVar4; + goto joined_r0x0001400d0e2f; + } + break; + case 10: + uVar4 = FUN_1400d15a0(param_1,*param_2,(ushort *)puVar1,local_res8); + if ((int)uVar4 == 0) { + uVar4 = FUN_1400d1490((ushort *)puVar1,local_res8[0],(int *)local_48); + iVar2 = (int)uVar4; + goto joined_r0x0001400d0e2f; + } + break; + case 0xb: + local_48[0] = *param_2; + iVar2 = FUN_1400d1190((longlong)param_1,local_48,puVar1); +LAB_1400d0e75: + if (iVar2 == 0) { + *(undefined4 *)(uVar8 * 0x38 + 0x14 + param_3) = 1; + *param_2 = local_48[0]; + return 0; + } + break; + default: + return 0x10; + case 0xd: + case 0xe: + case 0xf: + uVar5 = FUN_1400cbbe0((char *)param_1,*param_2,(longlong)puVar1,local_res8[0],1); + if ((int)uVar5 == 0) { + uVar5 = FUN_1400d0f10((longlong)puVar1,local_res8[0],(int *)local_48); + iVar2 = (int)uVar5; + goto LAB_1400d0e75; + } + } + uVar7 = (int)uVar8 + 1; + uVar8 = (ulonglong)uVar7; + uVar6 = uVar6 + 1; + puVar9 = puVar9 + 7; + } while (uVar7 < param_4); + } + return 7; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d0f10.c b/decomp/Agent_Release_x64/full/functions/0x1400d0f10.c new file mode 100644 index 00000000..9c889a5b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d0f10.c @@ -0,0 +1,104 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d0f10 FUN_1400d0f10 + * Pseudocode, not original source. */ + +ulonglong FUN_1400d0f10(longlong param_1,uint param_2,int *param_3) + +{ + uint uVar1; + uint *puVar2; + undefined4 uVar3; + undefined4 extraout_var; + ulonglong uVar4; + uint uVar5; + int iVar6; + uint uVar7; + undefined8 *puVar8; + int local_res8 [2]; + uint local_res10; + + if ((param_1 == 0) || (param_3 == (int *)0x0)) { + return 0x10; + } + uVar7 = 0; + uVar5 = 0; + if (param_2 != 0) { + puVar8 = (undefined8 *)(param_1 + 8); + local_res10 = param_2; + do { + uVar1 = *(uint *)(puVar8 + 1); + puVar2 = (uint *)*puVar8; + if (*(int *)(puVar8 + -1) == 0) break; + switch(*(int *)(puVar8 + -1)) { + case 1: + uVar4 = FUN_1400d24b0(local_res8); + break; + case 2: + uVar4 = FUN_1400d2220((longlong)puVar2,local_res8); + break; + case 3: + uVar3 = FUN_1400d2170(*puVar2,local_res8); + uVar4 = CONCAT44(extraout_var,uVar3); + break; + case 4: + uVar4 = FUN_1400d1fc0((ulonglong)uVar1,local_res8); + break; + case 5: + uVar4 = FUN_1400d1e70(uVar1,local_res8); + break; + case 6: + uVar5 = uVar5 + 2; + goto LAB_1400d1057; + case 7: + uVar4 = FUN_1400d1bc0(puVar2,uVar1,local_res8); + break; + case 8: + uVar4 = FUN_1400d19e0((byte *)puVar2,uVar1,local_res8); + break; + case 9: + uVar4 = FUN_1400d17a0((byte *)puVar2,uVar1,local_res8); + break; + case 10: + uVar4 = FUN_1400d1490((ushort *)puVar2,uVar1,local_res8); + break; + case 0xb: + uVar4 = FUN_1400d3490((longlong)puVar2,local_res8); + break; + default: + goto LAB_1400d10a5; + case 0xd: + case 0xe: + case 0xf: + uVar4 = FUN_1400d0f10((longlong)puVar2,uVar1,local_res8); + } + if ((int)uVar4 != 0) { + return uVar4; + } + uVar5 = uVar5 + local_res8[0]; +LAB_1400d1057: + uVar7 = uVar7 + 1; + puVar8 = puVar8 + 7; + } while (uVar7 < local_res10); + if (0x7f < uVar5) { + if (uVar5 < 0x100) { + iVar6 = uVar5 + 3; + } + else if (uVar5 < 0x10000) { + iVar6 = uVar5 + 4; + } + else { + if (0xffffff < uVar5) { +LAB_1400d10a5: + return 0x10; + } + iVar6 = uVar5 + 5; + } + goto LAB_1400d10a0; + } + } + iVar6 = uVar5 + 2; +LAB_1400d10a0: + *param_3 = iVar6; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d1100.c b/decomp/Agent_Release_x64/full/functions/0x1400d1100.c new file mode 100644 index 00000000..ad581265 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d1100.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d1100 FUN_1400d1100 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d1100(undefined1 param_1) + +{ + switch(param_1) { + case 0x30: + return 0; + case 0x31: + return 1; + case 0x32: + return 2; + case 0x33: + return 3; + case 0x34: + return 4; + case 0x35: + return 5; + case 0x36: + return 6; + case 0x37: + return 7; + case 0x38: + return 8; + case 0x39: + return 9; + default: + return 100; + } +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d1190.c b/decomp/Agent_Release_x64/full/functions/0x1400d1190.c new file mode 100644 index 00000000..b8db8c42 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d1190.c @@ -0,0 +1,168 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d1190 FUN_1400d1190 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined4 FUN_1400d1190(longlong param_1,uint *param_2,uint *param_3) + +{ + byte bVar1; + int iVar2; + undefined8 uVar3; + undefined1 *puVar4; + uint uVar5; + uint uVar6; + undefined1 auStack_88 [32]; + undefined1 local_68 [4]; + undefined1 local_64; + undefined1 local_63; + undefined1 local_62; + undefined1 local_61; + undefined1 local_60; + undefined1 local_5f; + char local_5e; + undefined1 local_5d; + char local_5c; + undefined1 local_5b; + undefined1 local_5a; + undefined1 local_59; + undefined1 local_58; + ulonglong local_48; + + local_48 = DAT_1401555a0 ^ (ulonglong)auStack_88; + if (((param_1 == 0) || (param_2 == (uint *)0x0)) || (param_3 == (uint *)0x0)) { + return 0x10; + } + if (*param_2 < 2) { + return 7; + } + bVar1 = *(byte *)(param_1 + 1); + if (0x1f < bVar1) { + return 7; + } + if (*param_2 < bVar1 + 2) { + return 7; + } + uVar5 = 0; + uVar6 = uVar5; + if (bVar1 != 0) { + puVar4 = local_68; + uVar6 = 0; + do { + iVar2 = FUN_1400d19a0((uint)(byte)puVar4[(param_1 - (longlong)local_68) + 2]); + if (iVar2 == -1) { + return 7; + } + *puVar4 = (char)iVar2; + uVar6 = uVar6 + 1; + puVar4 = puVar4 + 1; + } while (uVar6 < *(byte *)(param_1 + 1)); + } + *param_2 = uVar6 + 2; + uVar3 = FUN_1400d1100(local_68[0]); + iVar2 = (int)uVar3 * 5; + uVar3 = FUN_1400d1100(local_68[1]); + uVar6 = (int)uVar3 + iVar2 * 2; + *param_3 = uVar6; + if (uVar6 < 100) { + uVar3 = FUN_1400d1100(local_68[2]); + iVar2 = (int)uVar3 * 5; + uVar3 = FUN_1400d1100(local_68[3]); + uVar6 = (int)uVar3 + iVar2 * 2; + param_3[1] = uVar6; + if (0xc < uVar6) { + return 7; + } + uVar3 = FUN_1400d1100(local_64); + iVar2 = (int)uVar3 * 5; + uVar3 = FUN_1400d1100(local_63); + uVar6 = (int)uVar3 + iVar2 * 2; + param_3[2] = uVar6; + if (0x1f < uVar6) { + return 7; + } + uVar3 = FUN_1400d1100(local_62); + iVar2 = (int)uVar3 * 5; + uVar3 = FUN_1400d1100(local_61); + uVar6 = (int)uVar3 + iVar2 * 2; + param_3[3] = uVar6; + if (0x17 < uVar6) { + return 7; + } + uVar3 = FUN_1400d1100(local_60); + iVar2 = (int)uVar3 * 5; + uVar3 = FUN_1400d1100(local_5f); + uVar6 = (int)uVar3 + iVar2 * 2; + param_3[4] = uVar6; + if (0x3b < uVar6) { + return 7; + } + param_3[7] = 0; + param_3[8] = 0; + param_3[5] = 0; + param_3[6] = 0; + if (local_5e == 'Z') { + return 0; + } + if (local_5e == '+') { + uVar6 = 0; + } + else { + if (local_5e != '-') { + uVar3 = FUN_1400d1100(local_5e); + iVar2 = (int)uVar3 * 5; + uVar3 = FUN_1400d1100(local_5d); + uVar6 = (int)uVar3 + iVar2 * 2; + param_3[5] = uVar6; + if (0x3b < uVar6) { + return 7; + } + if (local_5c == 'Z') { + return 0; + } + if (local_5c != '+') { + if (local_5c != '-') { + return 7; + } + uVar5 = 1; + } + param_3[6] = uVar5; + uVar3 = FUN_1400d1100(local_5b); + iVar2 = (int)uVar3 * 5; + uVar3 = FUN_1400d1100(local_5a); + uVar6 = (int)uVar3 + iVar2 * 2; + param_3[7] = uVar6; + if (0x17 < uVar6) { + return 7; + } + uVar3 = FUN_1400d1100(local_59); + iVar2 = (int)uVar3; + goto LAB_1400d13b8; + } + uVar6 = 1; + } + param_3[6] = uVar6; + uVar3 = FUN_1400d1100(local_5d); + iVar2 = (int)uVar3 * 5; + uVar3 = FUN_1400d1100(local_5c); + uVar6 = (int)uVar3 + iVar2 * 2; + param_3[7] = uVar6; + if (uVar6 < 0x18) { + uVar3 = FUN_1400d1100(local_5b); + iVar2 = (int)uVar3; + local_58 = local_5a; +LAB_1400d13b8: + iVar2 = iVar2 * 5; + uVar3 = FUN_1400d1100(local_58); + uVar6 = (int)uVar3 + iVar2 * 2; + param_3[8] = uVar6; + if (0x3b < uVar6) { + return 7; + } + return 0; + } + } + return 7; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d1460.c b/decomp/Agent_Release_x64/full/functions/0x1400d1460.c new file mode 100644 index 00000000..c68bcbac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d1460.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d1460 FUN_1400d1460 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d1460(ushort param_1) + +{ + if (param_1 < 0x80) { + return 1; + } + if (param_1 < 0x800) { + return 2; + } + return 3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d1490.c b/decomp/Agent_Release_x64/full/functions/0x1400d1490.c new file mode 100644 index 00000000..daa91b99 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d1490.c @@ -0,0 +1,56 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d1490 FUN_1400d1490 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d1490(ushort *param_1,uint param_2,int *param_3) + +{ + ushort uVar1; + uint uVar2; + int iVar3; + uint uVar4; + + if ((param_1 == (ushort *)0x0) || (param_3 == (int *)0x0)) { + return 0x10; + } + uVar2 = 0; + uVar4 = 0; + if (param_2 != 0) { + do { + uVar1 = *param_1; + if (0x10ffff < uVar1) { + return 0x10; + } + if (uVar1 < 0x80) { + iVar3 = 1; + } + else if (uVar1 < 0x800) { + iVar3 = 2; + } + else { + iVar3 = 3; + } + uVar4 = uVar4 + 1; + uVar2 = uVar2 + iVar3; + param_1 = param_1 + 1; + } while (uVar4 < param_2); + if (0x7f < uVar2) { + if (uVar2 < 0x100) { + *param_3 = uVar2 + 3; + return 0; + } + if (0xffff < uVar2) { + if (0xffffff < uVar2) { + return 0x10; + } + *param_3 = uVar2 + 5; + return 0; + } + *param_3 = uVar2 + 4; + return 0; + } + } + *param_3 = uVar2 + 2; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d15a0.c b/decomp/Agent_Release_x64/full/functions/0x1400d15a0.c new file mode 100644 index 00000000..7b75e06f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d15a0.c @@ -0,0 +1,99 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d15a0 FUN_1400d15a0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d15a0(byte *param_1,uint param_2,ushort *param_3,uint *param_4) + +{ + byte bVar1; + undefined8 uVar2; + uint uVar3; + ushort uVar4; + uint uVar5; + byte *pbVar6; + longlong lVar7; + uint uVar8; + + if (((param_1 == (byte *)0x0) || (param_3 == (ushort *)0x0)) || (param_4 == (uint *)0x0)) { + return 0x10; + } + if ((1 < param_2) && ((*param_1 & 0x1f) == 0xc)) { + bVar1 = param_1[1]; + if ((char)bVar1 < '\0') { + uVar5 = bVar1 & 0x7f; + if ((bVar1 & 0x7f) == 0) { + return 7; + } + if (3 < uVar5) { + return 7; + } + if (param_2 < uVar5 + 1) { + return 7; + } + uVar3 = 0; + pbVar6 = param_1 + 2; + uVar8 = uVar5 + 2; + do { + bVar1 = *pbVar6; + pbVar6 = pbVar6 + 1; + uVar3 = uVar3 << 8 | (uint)bVar1; + uVar5 = uVar5 - 1; + } while (uVar5 != 0); + } + else { + uVar8 = 2; + uVar3 = bVar1 & 0x7f; + } + if (uVar3 + uVar8 <= param_2) { + uVar3 = 0; + lVar7 = (longlong)(int)uVar8; + do { + if (param_2 <= uVar8) { + uVar2 = 0; +LAB_1400d16f3: + *param_4 = uVar3; + return uVar2; + } + uVar4 = (ushort)param_1[lVar7]; + uVar8 = uVar8 + 1; + uVar5 = 0; + if ((char)param_1[lVar7] < '\0') { + do { + if (4 < uVar5) { + return 7; + } + uVar5 = uVar5 + 1; + uVar4 = (uVar4 & 0x7f) * 2; + } while ((char)uVar4 < '\0'); + if (4 < uVar5) { + return 7; + } + } + if (param_2 < (uVar5 - 1) + uVar8) { + return 7; + } + uVar4 = uVar4 >> ((byte)uVar5 & 0x1f); + if (1 < uVar5) { + uVar5 = uVar5 - 1; + } + while (lVar7 = lVar7 + 1, uVar5 != 0) { + uVar5 = uVar5 - 1; + if ((param_1[lVar7] & 0xc0) != 0x80) { + return 7; + } + uVar8 = uVar8 + 1; + uVar4 = uVar4 << 6 | (ushort)(param_1[lVar7] & 0x3f); + } + if (*param_4 < uVar3) { + uVar2 = 6; + goto LAB_1400d16f3; + } + *param_3 = uVar4; + param_3 = param_3 + 1; + uVar3 = uVar3 + 1; + } while( true ); + } + } + return 7; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d1730.c b/decomp/Agent_Release_x64/full/functions/0x1400d1730.c new file mode 100644 index 00000000..2517dd71 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d1730.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d1730 FUN_1400d1730 + * Pseudocode, not original source. */ + +undefined4 FUN_1400d1730(int param_1) + +{ + int *piVar1; + int iVar2; + + iVar2 = 0; + piVar1 = &DAT_1401172c0; + do { + if (*piVar1 == param_1) { + return (&DAT_1401172c4)[(longlong)iVar2 * 2]; + } + piVar1 = piVar1 + 2; + iVar2 = iVar2 + 1; + } while ((longlong)piVar1 < 0x140117510); + return 0xffffffff; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d1760.c b/decomp/Agent_Release_x64/full/functions/0x1400d1760.c new file mode 100644 index 00000000..49706e3b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d1760.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d1760 FUN_1400d1760 + * Pseudocode, not original source. */ + +undefined4 FUN_1400d1760(int param_1) + +{ + int *piVar1; + int iVar2; + + iVar2 = 0; + piVar1 = &DAT_1401172c4; + do { + if (*piVar1 == param_1) { + return (&DAT_1401172c0)[(longlong)iVar2 * 2]; + } + piVar1 = piVar1 + 2; + iVar2 = iVar2 + 1; + } while ((longlong)piVar1 < 0x140117514); + return 0xffffffff; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d17a0.c b/decomp/Agent_Release_x64/full/functions/0x1400d17a0.c new file mode 100644 index 00000000..0879049b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d17a0.c @@ -0,0 +1,48 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d17a0 FUN_1400d17a0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d17a0(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_1401172c0)[lVar1 * 2] != (uint)*param_1) { + lVar1 = lVar1 + 1; + if (0x49 < lVar1) { + return 0x10; + } + } + if ((&DAT_1401172c4)[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; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d1840.c b/decomp/Agent_Release_x64/full/functions/0x1400d1840.c new file mode 100644 index 00000000..bf04d5e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d1840.c @@ -0,0 +1,71 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d1840 FUN_1400d1840 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d1840(byte *param_1,uint param_2,undefined1 *param_3,uint *param_4) + +{ + byte bVar1; + int iVar2; + uint uVar3; + byte *pbVar4; + uint uVar5; + uint uVar6; + + if (((param_1 == (byte *)0x0) || (param_3 == (undefined1 *)0x0)) || (param_4 == (uint *)0x0)) { + return 0x10; + } + if ((param_2 < 2) || ((*param_1 & 0x1f) != 0x13)) { + return 7; + } + bVar1 = param_1[1]; + uVar5 = 0; + if ((char)bVar1 < '\0') { + uVar3 = bVar1 & 0x7f; + if ((bVar1 & 0x7f) == 0) { + return 7; + } + if (3 < uVar3) { + return 7; + } + if (param_2 < uVar3 + 1) { + return 7; + } + uVar6 = 0; + pbVar4 = param_1 + 2; + iVar2 = uVar3 + 2; + do { + bVar1 = *pbVar4; + pbVar4 = pbVar4 + 1; + uVar6 = uVar6 << 8 | (uint)bVar1; + uVar3 = uVar3 - 1; + } while (uVar3 != 0); + } + else { + iVar2 = 2; + uVar6 = bVar1 & 0x7f; + } + if (*param_4 < uVar6) { + *param_4 = uVar6; + return 6; + } + if (param_2 < uVar6 + iVar2) { + return 7; + } + if (uVar6 != 0) { + pbVar4 = param_1 + iVar2; + do { + iVar2 = FUN_1400d1760((uint)*pbVar4); + pbVar4 = pbVar4 + 1; + if (iVar2 == -1) { + return 0x10; + } + uVar5 = uVar5 + 1; + *param_3 = (char)iVar2; + param_3 = param_3 + 1; + } while (uVar5 < uVar6); + } + *param_4 = uVar5; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d1970.c b/decomp/Agent_Release_x64/full/functions/0x1400d1970.c new file mode 100644 index 00000000..b8181a45 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d1970.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d1970 FUN_1400d1970 + * Pseudocode, not original source. */ + +undefined4 FUN_1400d1970(int param_1) + +{ + int *piVar1; + int iVar2; + + iVar2 = 0; + piVar1 = &DAT_140117510; + do { + if (*piVar1 == param_1) { + return (&DAT_140117514)[(longlong)iVar2 * 2]; + } + piVar1 = piVar1 + 2; + iVar2 = iVar2 + 1; + } while ((longlong)piVar1 < 0x140117840); + return 0xffffffff; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d19a0.c b/decomp/Agent_Release_x64/full/functions/0x1400d19a0.c new file mode 100644 index 00000000..2a5efb9e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d19a0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d19a0 FUN_1400d19a0 + * Pseudocode, not original source. */ + +undefined4 FUN_1400d19a0(int param_1) + +{ + int *piVar1; + int iVar2; + + iVar2 = 0; + piVar1 = &DAT_140117514; + do { + if (*piVar1 == param_1) { + return (&DAT_140117510)[(longlong)iVar2 * 2]; + } + piVar1 = piVar1 + 2; + iVar2 = iVar2 + 1; + } while ((longlong)piVar1 < 0x140117844); + return 0xffffffff; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d19e0.c b/decomp/Agent_Release_x64/full/functions/0x1400d19e0.c new file mode 100644 index 00000000..94efc70d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d19e0.c @@ -0,0 +1,48 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d19e0 FUN_1400d19e0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d19e0(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_140117510)[lVar1 * 2] != (uint)*param_1) { + lVar1 = lVar1 + 1; + if (0x65 < lVar1) { + return 0x10; + } + } + if ((&DAT_140117514)[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; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d1a80.c b/decomp/Agent_Release_x64/full/functions/0x1400d1a80.c new file mode 100644 index 00000000..b9df8e1d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d1a80.c @@ -0,0 +1,71 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d1a80 FUN_1400d1a80 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d1a80(byte *param_1,uint param_2,undefined1 *param_3,uint *param_4) + +{ + byte bVar1; + int iVar2; + uint uVar3; + byte *pbVar4; + uint uVar5; + uint uVar6; + + if (((param_1 == (byte *)0x0) || (param_3 == (undefined1 *)0x0)) || (param_4 == (uint *)0x0)) { + return 0x10; + } + if ((param_2 < 2) || ((*param_1 & 0x1f) != 0x16)) { + return 7; + } + bVar1 = param_1[1]; + uVar5 = 0; + if ((char)bVar1 < '\0') { + uVar3 = bVar1 & 0x7f; + if ((bVar1 & 0x7f) == 0) { + return 7; + } + if (3 < uVar3) { + return 7; + } + if (param_2 < uVar3 + 1) { + return 7; + } + uVar6 = 0; + pbVar4 = param_1 + 2; + iVar2 = uVar3 + 2; + do { + bVar1 = *pbVar4; + pbVar4 = pbVar4 + 1; + uVar6 = uVar6 << 8 | (uint)bVar1; + uVar3 = uVar3 - 1; + } while (uVar3 != 0); + } + else { + iVar2 = 2; + uVar6 = bVar1 & 0x7f; + } + if (*param_4 < uVar6) { + *param_4 = uVar6; + return 6; + } + if (param_2 < uVar6 + iVar2) { + return 7; + } + if (uVar6 != 0) { + pbVar4 = param_1 + iVar2; + do { + iVar2 = FUN_1400d19a0((uint)*pbVar4); + pbVar4 = pbVar4 + 1; + if (iVar2 == -1) { + return 0x10; + } + uVar5 = uVar5 + 1; + *param_3 = (char)iVar2; + param_3 = param_3 + 1; + } while (uVar5 < uVar6); + } + *param_4 = uVar5; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d1bb0.c b/decomp/Agent_Release_x64/full/functions/0x1400d1bb0.c new file mode 100644 index 00000000..4832ce9c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d1bb0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d1bb0 FUN_1400d1bb0 + * Pseudocode, not original source. */ + +int FUN_1400d1bb0(uint param_1) + +{ + int iVar1; + + iVar1 = 0; + for (; param_1 != 0; param_1 = param_1 >> 1) { + iVar1 = iVar1 + 1; + } + return iVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d1bc0.c b/decomp/Agent_Release_x64/full/functions/0x1400d1bc0.c new file mode 100644 index 00000000..8b8cd068 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d1bc0.c @@ -0,0 +1,51 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d1bc0 FUN_1400d1bc0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d1bc0(uint *param_1,uint param_2,int *param_3) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + uint uVar4; + uint uVar5; + uint *puVar6; + + if ((((param_1 == (uint *)0x0) || (param_3 == (int *)0x0)) || (param_2 < 2)) || + ((uVar3 = *param_1, 3 < uVar3 || ((uVar3 < 2 && (0x27 < param_1[1])))))) { + return 0x10; + } + uVar5 = 1; + uVar4 = 0; + uVar3 = param_1[1] + uVar3 * 0x28; + if (1 < param_2) { + puVar6 = param_1 + 2; + do { + uVar2 = 0; + for (uVar1 = uVar3; uVar1 != 0; uVar1 = uVar1 >> 1) { + uVar2 = uVar2 + 1; + } + uVar4 = uVar4 + (uint)(uVar3 == 0) + (uint)(uVar2 != (uVar2 / 7) * 7) + uVar2 / 7; + if (uVar5 < param_2 - 1) { + uVar3 = *puVar6; + } + uVar5 = uVar5 + 1; + puVar6 = puVar6 + 1; + } while (uVar5 < param_2); + if (0x7f < uVar4) { + if (uVar4 < 0x100) { + *param_3 = uVar4 + 3; + return 0; + } + if (0xffff < uVar4) { + return 0x10; + } + *param_3 = uVar4 + 4; + return 0; + } + } + *param_3 = uVar4 + 2; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d1cf0.c b/decomp/Agent_Release_x64/full/functions/0x1400d1cf0.c new file mode 100644 index 00000000..e4287ee0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d1cf0.c @@ -0,0 +1,87 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d1cf0 FUN_1400d1cf0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d1cf0(byte *param_1,uint param_2,uint *param_3,uint *param_4) + +{ + byte bVar1; + byte *pbVar2; + uint uVar3; + uint uVar4; + uint uVar5; + int iVar6; + longlong lVar7; + + if (((param_1 == (byte *)0x0) || (param_3 == (uint *)0x0)) || (param_4 == (uint *)0x0)) { + return 0x10; + } + if (2 < param_2) { + if (*param_4 < 2) { + return 6; + } + if ((*param_1 & 0x1f) == 6) { + bVar1 = param_1[1]; + if (bVar1 < 0x80) { + uVar4 = (uint)bVar1; + iVar6 = 2; + } + else { + if (bVar1 < 0x81) { + return 7; + } + if (0x82 < bVar1) { + return 7; + } + uVar4 = 0; + uVar3 = bVar1 & 0x7f; + if ((bVar1 & 0x7f) == 0) { + return 7; + } + pbVar2 = param_1 + 2; + iVar6 = uVar3 + 2; + do { + bVar1 = *pbVar2; + pbVar2 = pbVar2 + 1; + uVar4 = uVar4 << 8 | (uint)bVar1; + uVar3 = uVar3 - 1; + } while (uVar3 != 0); + } + if ((uVar4 != 0) && (uVar4 + iVar6 <= param_2)) { + uVar3 = 0; + uVar5 = 0; + lVar7 = 0; + if (uVar4 != 0) { + pbVar2 = param_1 + iVar6; + do { + bVar1 = *pbVar2; + uVar4 = uVar4 - 1; + pbVar2 = pbVar2 + 1; + uVar5 = bVar1 & 0x7f | uVar5 << 7; + if ((bVar1 & 0x80) == 0) { + if (*param_4 <= uVar3) { + return 6; + } + if (uVar3 == 0) { + uVar3 = 2; + lVar7 = 2; + *param_3 = uVar5 / 0x28; + param_3[1] = uVar5 % 0x28; + } + else { + param_3[lVar7] = uVar5; + uVar3 = uVar3 + 1; + lVar7 = lVar7 + 1; + } + uVar5 = 0; + } + } while (uVar4 != 0); + } + *param_4 = uVar3; + return 0; + } + } + } + return 7; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d1e70.c b/decomp/Agent_Release_x64/full/functions/0x1400d1e70.c new file mode 100644 index 00000000..efd817e4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d1e70.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d1e70 FUN_1400d1e70 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d1e70(uint param_1,int *param_2) + +{ + if (param_2 != (int *)0x0) { + if (param_1 < 0x80) { + *param_2 = param_1 + 2; + return 0; + } + if (param_1 < 0x100) { + *param_2 = param_1 + 3; + return 0; + } + if (param_1 < 0x10000) { + *param_2 = param_1 + 4; + return 0; + } + if (param_1 < 0x1000000) { + *param_2 = param_1 + 5; + return 0; + } + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d1ec0.c b/decomp/Agent_Release_x64/full/functions/0x1400d1ec0.c new file mode 100644 index 00000000..cb006085 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d1ec0.c @@ -0,0 +1,68 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d1ec0 FUN_1400d1ec0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d1ec0(byte *param_1,uint param_2,byte *param_3,uint *param_4) + +{ + byte bVar1; + ulonglong uVar2; + uint uVar3; + uint uVar4; + int iVar5; + byte *pbVar6; + + if (((param_1 == (byte *)0x0) || (param_3 == (byte *)0x0)) || (param_4 == (uint *)0x0)) { + return 0x10; + } + if ((param_2 < 2) || ((*param_1 & 0x1f) != 4)) { + return 7; + } + bVar1 = param_1[1]; + uVar2 = 0; + if ((char)bVar1 < '\0') { + uVar3 = bVar1 & 0x7f; + if ((bVar1 & 0x7f) == 0) { + return 7; + } + if (3 < uVar3) { + return 7; + } + if (param_2 < uVar3 + 1) { + return 7; + } + pbVar6 = param_1 + 2; + iVar5 = uVar3 + 2; + do { + bVar1 = *pbVar6; + pbVar6 = pbVar6 + 1; + uVar2 = (ulonglong)((int)uVar2 << 8 | (uint)bVar1); + uVar3 = uVar3 - 1; + } while (uVar3 != 0); + } + else { + iVar5 = 2; + uVar2 = (ulonglong)(bVar1 & 0x7f); + } + uVar3 = (uint)uVar2; + if (*param_4 < uVar3) { + *param_4 = uVar3; + return 6; + } + if (param_2 < uVar3 + iVar5) { + return 7; + } + uVar4 = 0; + if (uVar3 != 0) { + pbVar6 = param_3; + do { + uVar2 = uVar2 - 1; + *pbVar6 = (param_1 + ((longlong)iVar5 - (longlong)param_3))[(longlong)pbVar6]; + pbVar6 = pbVar6 + 1; + uVar4 = uVar3; + } while (uVar2 != 0); + } + *param_4 = uVar4; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d1fc0.c b/decomp/Agent_Release_x64/full/functions/0x1400d1fc0.c new file mode 100644 index 00000000..8cb3d018 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d1fc0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d1fc0 FUN_1400d1fc0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d1fc0(ulonglong param_1,int *param_2) + +{ + uint uVar1; + + if (param_2 != (int *)0x0) { + uVar1 = ((param_1 & 7) != 0) + 1 + ((uint)(param_1 >> 3) & 0x1fffffff); + if (uVar1 < 0x80) { + *param_2 = uVar1 + 2; + return 0; + } + if (uVar1 < 0x100) { + *param_2 = uVar1 + 3; + return 0; + } + if (uVar1 < 0x10000) { + *param_2 = uVar1 + 4; + return 0; + } + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d2010.c b/decomp/Agent_Release_x64/full/functions/0x1400d2010.c new file mode 100644 index 00000000..f79a8845 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d2010.c @@ -0,0 +1,66 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d2010 FUN_1400d2010 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d2010(byte *param_1,uint param_2,longlong param_3,uint *param_4) + +{ + byte bVar1; + uint uVar2; + uint uVar3; + uint uVar4; + byte *pbVar5; + uint uVar6; + + if ((((param_1 == (byte *)0x0) || (param_3 == 0)) || (param_4 == (uint *)0x0)) || (param_2 < 4)) { + return 0x10; + } + if ((*param_1 & 0x1f) == 3) { + bVar1 = param_1[1]; + uVar4 = 0; + if ((char)bVar1 < '\0') { + uVar2 = bVar1 & 0x7f; + if ((bVar1 & 0x7f) == 0) { + return 7; + } + if (2 < uVar2) { + return 7; + } + uVar3 = 0; + pbVar5 = param_1 + 2; + uVar6 = uVar2 + 2; + do { + bVar1 = *pbVar5; + pbVar5 = pbVar5 + 1; + uVar3 = uVar3 << 8 | (uint)bVar1; + uVar2 = uVar2 - 1; + } while (uVar2 != 0); + } + else { + uVar6 = 2; + uVar3 = bVar1 & 0x7f; + } + if ((uVar3 != 0) && (uVar3 + uVar6 <= param_2)) { + uVar3 = (uVar3 * 8 + -8) - (param_1[uVar6] & 7); + if (*param_4 < uVar3) { + *param_4 = uVar3; + return 6; + } + if (uVar3 != 0) { + pbVar5 = param_1 + (int)(uVar6 + 1); + do { + *(bool *)param_3 = (*pbVar5 & (byte)(1 << (7U - (char)(uVar4 & 7) & 0x1f))) != 0; + if ((uVar4 & 7) == 7) { + pbVar5 = pbVar5 + 1; + } + uVar4 = uVar4 + 1; + param_3 = param_3 + 1; + } while (uVar4 < uVar3); + } + *param_4 = uVar3; + return 0; + } + } + return 7; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d2170.c b/decomp/Agent_Release_x64/full/functions/0x1400d2170.c new file mode 100644 index 00000000..a08d41c1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d2170.c @@ -0,0 +1,30 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d2170 FUN_1400d2170 + * Pseudocode, not original source. */ + +undefined4 FUN_1400d2170(uint param_1,int *param_2) + +{ + uint uVar1; + uint uVar2; + int iVar3; + + if (param_2 == (int *)0x0) { + return 0x10; + } + iVar3 = 0; + uVar2 = param_1; + if (param_1 != 0) { + do { + iVar3 = iVar3 + 1; + uVar1 = uVar2 >> 8; + uVar2 = uVar2 >> 8; + } while (uVar1 != 0); + if (iVar3 != 0) goto LAB_1400d21a2; + } + iVar3 = 1; +LAB_1400d21a2: + *param_2 = ((param_1 >> (iVar3 * 8 - 1U & 0x1f) & 1) != 0) + 2 + iVar3; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d21c0.c b/decomp/Agent_Release_x64/full/functions/0x1400d21c0.c new file mode 100644 index 00000000..1c5c16b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d21c0.c @@ -0,0 +1,36 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d21c0 FUN_1400d21c0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d21c0(byte *param_1,uint param_2,uint *param_3) + +{ + byte bVar1; + uint uVar2; + uint uVar3; + byte *pbVar4; + + if ((param_3 != (uint *)0x0) && (param_1 != (byte *)0x0)) { + if ((1 < param_2) && ((*param_1 & 0x1f) == 2)) { + bVar1 = param_1[1]; + uVar3 = (uint)bVar1; + if (bVar1 + 2 <= param_2) { + uVar2 = 0; + if (bVar1 != 0) { + pbVar4 = param_1 + 2; + do { + bVar1 = *pbVar4; + pbVar4 = pbVar4 + 1; + uVar2 = uVar2 << 8 | (uint)bVar1; + uVar3 = uVar3 - 1; + } while (uVar3 != 0); + } + *param_3 = uVar2; + return 0; + } + } + return 7; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d2220.c b/decomp/Agent_Release_x64/full/functions/0x1400d2220.c new file mode 100644 index 00000000..1ccf470d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d2220.c @@ -0,0 +1,46 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d2220 FUN_1400d2220 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d2220(longlong param_1,int *param_2) + +{ + int iVar1; + uint uVar2; + int iVar3; + ulonglong uVar4; + + if ((param_1 != 0) && (param_2 != (int *)0x0)) { + iVar1 = (*DAT_140163300)(param_1,0); + if (iVar1 == -1) { + uVar2 = (*DAT_140163308)(param_1); + uVar2 = (8 - (uVar2 & 7)) + uVar2; + iVar1 = (*DAT_140163310)(param_1); + iVar3 = (*DAT_140163308)(param_1); + if ((iVar1 + 1 == iVar3) && (uVar4 = (*DAT_140163308)(param_1), (uVar4 & 7) == 0)) { + uVar2 = uVar2 - 1; + } + uVar2 = uVar2 >> 3; + } + else { + uVar4 = (*DAT_140163308)(); + if (((uVar4 & 7) == 0) || (iVar1 = (*DAT_140163300)(param_1,0), iVar1 == 0)) { + iVar1 = (*DAT_140163330)(param_1); + uVar2 = iVar1 + 1; + } + else { + uVar2 = (*DAT_140163330)(param_1); + } + } + iVar1 = uVar2 + 1; + if (0x7f < uVar2) { + for (; uVar2 != 0; uVar2 = uVar2 >> 8) { + iVar1 = iVar1 + 1; + } + } + *param_2 = iVar1 + 1; + return 0; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d2320.c b/decomp/Agent_Release_x64/full/functions/0x1400d2320.c new file mode 100644 index 00000000..d86d5737 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d2320.c @@ -0,0 +1,72 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d2320 FUN_1400d2320 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d2320(byte *param_1,uint param_2,longlong param_3) + +{ + uint uVar1; + byte bVar2; + int iVar3; + undefined4 uVar4; + undefined8 uVar5; + uint uVar6; + ulonglong uVar7; + uint uVar8; + byte *pbVar9; + undefined8 local_res18 [2]; + + if ((param_3 == 0) || (param_1 == (byte *)0x0)) { + return 0x10; + } + if ((param_2 < 3) || ((*param_1 & 0x1f) != 2)) { + return 7; + } + bVar2 = param_1[1]; + uVar7 = 2; + if ((char)bVar2 < '\0') { + uVar6 = bVar2 & 0x7f; + if (((uVar6 + 2 <= param_2) && (uVar6 < 5)) && ((bVar2 & 0x7f) != 0)) { + uVar8 = 0; + pbVar9 = param_1 + 2; + uVar1 = uVar6 + 2; + uVar7 = (ulonglong)uVar1; + do { + bVar2 = *pbVar9; + pbVar9 = pbVar9 + 1; + uVar8 = uVar8 << 8 | (uint)bVar2; + uVar6 = uVar6 - 1; + } while (uVar6 != 0); + if (uVar8 + uVar1 <= param_2) { + uVar5 = (*DAT_140163340)(param_3,param_1 + uVar7); + if ((int)uVar5 != 0) { + return uVar5; + } + goto LAB_1400d2414; + } + } + } + else if (bVar2 + 2 <= param_2) { + uVar5 = (*DAT_140163340)(param_3,param_1 + 2,(uint)bVar2); + if ((int)uVar5 != 0) { + return uVar5; + } +LAB_1400d2414: + if ((param_1[uVar7] & 0x80) == 0) { + return 0; + } + iVar3 = (*DAT_1401632b0)(local_res18); + if (iVar3 == 0) { + uVar4 = (*DAT_140163308)(param_3); + iVar3 = (*DAT_140163318)(local_res18[0],uVar4); + if ((iVar3 == 0) && (iVar3 = (*DAT_140163358)(param_3,local_res18[0],param_3), iVar3 == 0)) { + (*DAT_1401632c0)(local_res18[0]); + return 0; + } + (*DAT_1401632c0)(local_res18[0]); + } + return 0xd; + } + return 7; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d24b0.c b/decomp/Agent_Release_x64/full/functions/0x1400d24b0.c new file mode 100644 index 00000000..ee4bb14b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d24b0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d24b0 FUN_1400d24b0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d24b0(undefined4 *param_1) + +{ + if (param_1 == (undefined4 *)0x0) { + return 0x10; + } + *param_1 = 3; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d24d0.c b/decomp/Agent_Release_x64/full/functions/0x1400d24d0.c new file mode 100644 index 00000000..5658b6ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d24d0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d24d0 FUN_1400d24d0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d24d0(char *param_1,int param_2,uint *param_3) + +{ + char cVar1; + + if ((((param_1 != (char *)0x0) && (param_3 != (uint *)0x0)) && (param_2 == 3)) && + (((*param_1 == '\x01' && (param_1[1] == '\x01')) && + ((cVar1 = param_1[2], cVar1 == '\0' || (cVar1 == -1)))))) { + *param_3 = (uint)(cVar1 == -1); + return 0; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d2510.c b/decomp/Agent_Release_x64/full/functions/0x1400d2510.c new file mode 100644 index 00000000..01ccc9f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d2510.c @@ -0,0 +1,225 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d2510 FUN_1400d2510 + * Pseudocode, not original source. */ + +ulonglong FUN_1400d2510(longlong param_1,uint param_2,char *param_3,uint *param_4,int param_5) + +{ + uint *puVar1; + undefined4 uVar2; + int iVar3; + undefined4 extraout_var; + ulonglong uVar4; + undefined4 extraout_var_00; + undefined4 extraout_var_01; + undefined4 extraout_var_02; + uint uVar5; + uint uVar6; + undefined8 *puVar7; + uint local_28; + uint local_24; + uint local_20; + + if (((param_1 == 0) || (param_3 == (char *)0x0)) || (param_4 == (uint *)0x0)) { + return 0x10; + } + uVar5 = 0; + local_20 = 0; + if (param_2 != 0) { + puVar7 = (undefined8 *)(param_1 + 8); + do { + uVar6 = *(uint *)(puVar7 + 1); + puVar1 = (uint *)*puVar7; + if (*(int *)(puVar7 + -1) == 0) break; + switch(*(int *)(puVar7 + -1)) { + case 1: + uVar4 = FUN_1400d24b0(&local_28); + break; + case 2: + uVar4 = FUN_1400d2220((longlong)puVar1,(int *)&local_28); + break; + case 3: + uVar2 = FUN_1400d2170(*puVar1,(int *)&local_28); + uVar4 = CONCAT44(extraout_var,uVar2); + break; + case 4: + uVar4 = FUN_1400d1fc0((ulonglong)uVar6,(int *)&local_28); + break; + case 5: + uVar4 = FUN_1400d1e70(uVar6,(int *)&local_28); + break; + case 6: + uVar5 = uVar5 + 2; + goto LAB_1400d265f; + case 7: + uVar4 = FUN_1400d1bc0(puVar1,uVar6,(int *)&local_28); + break; + case 8: + uVar4 = FUN_1400d19e0((byte *)puVar1,uVar6,(int *)&local_28); + break; + case 9: + uVar4 = FUN_1400d17a0((byte *)puVar1,uVar6,(int *)&local_28); + break; + case 10: + uVar4 = FUN_1400d1490((ushort *)puVar1,uVar6,(int *)&local_28); + break; + case 0xb: + uVar4 = FUN_1400d3490((longlong)puVar1,&local_28); + break; + default: + goto LAB_1400d2987; + case 0xd: + case 0xe: + case 0xf: + uVar4 = FUN_1400d0f10((longlong)puVar1,uVar6,(int *)&local_28); + } + if ((int)uVar4 != 0) { + return uVar4; + } + uVar5 = uVar5 + local_28; +LAB_1400d265f: + puVar7 = puVar7 + 7; + local_20 = local_20 + 1; + } while (local_20 < param_2); + } + if (uVar5 < 0x80) { + uVar6 = uVar5 + 2; + } + else if (uVar5 < 0x100) { + uVar6 = uVar5 + 3; + } + else if (uVar5 < 0x10000) { + uVar6 = uVar5 + 4; + } + else { + if (0xffffff < uVar5) { +LAB_1400d2987: + return 0x10; + } + uVar6 = uVar5 + 5; + } + if (*param_4 < uVar6) { + *param_4 = uVar6; + return 6; + } + *param_3 = (param_5 != 0xd) + '0'; + uVar6 = 1; + uVar4 = 1; + local_28 = 1; + if (uVar5 < 0x80) { + param_3[1] = (char)uVar5; + local_28 = uVar6; + } + else { + if (uVar5 < 0x100) { + param_3[1] = -0x7f; + local_28 = uVar6; + } + else { + if (uVar5 < 0x10000) { + param_3[1] = -0x7e; + local_28 = uVar6; + } + else { + if (0xffffff < uVar5) goto LAB_1400d2764; + param_3[1] = -0x7d; + local_28 = 2; + param_3[2] = (char)(uVar5 >> 0x10); + } + local_28 = local_28 + 1; + param_3[local_28] = (char)(uVar5 >> 8); + } + local_28 = local_28 + 1; + param_3[local_28] = (char)uVar5; + } + local_28 = local_28 + 1; + uVar4 = (ulonglong)local_28; +LAB_1400d2764: + *param_4 = *param_4 - (int)uVar4; + uVar5 = 0; + if (param_2 != 0) { + puVar7 = (undefined8 *)(param_1 + 8); + do { + iVar3 = *(int *)(puVar7 + -1); + uVar6 = *(uint *)(puVar7 + 1); + puVar1 = (uint *)*puVar7; + if (iVar3 == 0) break; + switch(iVar3) { + case 1: + local_24 = *param_4; + uVar4 = FUN_1400d49f0(*puVar1,(undefined2 *)(param_3 + uVar4),&local_24); + break; + case 2: + local_24 = *param_4; + uVar4 = FUN_1400d4750((longlong)puVar1,param_3 + uVar4,&local_24); + break; + case 3: + local_24 = *param_4; + iVar3 = FUN_1400d4630(*puVar1,param_3 + uVar4,&local_24); + uVar4 = CONCAT44(extraout_var_00,iVar3); + break; + case 4: + local_24 = *param_4; + uVar4 = FUN_1400d44c0((char *)puVar1,uVar6,param_3 + uVar4,&local_24); + break; + case 5: + local_24 = *param_4; + uVar4 = FUN_1400d4390((undefined1 *)puVar1,uVar6,param_3 + uVar4,&local_24); + break; + case 6: + param_3[uVar4] = '\x05'; + param_3[local_28 + 1] = '\0'; + local_28 = local_28 + 2; + *param_4 = *param_4 - 2; + goto LAB_1400d2959; + case 7: + local_24 = *param_4; + uVar4 = FUN_1400d4130(puVar1,uVar6,param_3 + uVar4,&local_24); + break; + case 8: + local_24 = *param_4; + uVar4 = FUN_1400d4000((byte *)puVar1,uVar6,param_3 + uVar4,&local_24); + break; + case 9: + local_24 = *param_4; + uVar4 = FUN_1400d3ed0((byte *)puVar1,uVar6,param_3 + uVar4,&local_24); + break; + case 10: + local_24 = *param_4; + uVar4 = FUN_1400d3cd0((ushort *)puVar1,uVar6,param_3 + uVar4,&local_24); + break; + case 0xb: + local_24 = *param_4; + uVar4 = FUN_1400d3940(puVar1,param_3 + uVar4,&local_24); + break; + default: + goto LAB_1400d2987; + case 0xd: + local_24 = *param_4; + uVar4 = FUN_1400d2510((longlong)puVar1,uVar6,param_3 + uVar4,&local_24,iVar3); + break; + case 0xe: + local_24 = *param_4; + uVar2 = FUN_1400d3840((undefined8 *)puVar1,uVar6,param_3 + uVar4,&local_24); + uVar4 = CONCAT44(extraout_var_01,uVar2); + break; + case 0xf: + local_24 = *param_4; + iVar3 = FUN_1400d3550((int *)puVar1,uVar6,param_3 + uVar4,&local_24); + uVar4 = CONCAT44(extraout_var_02,iVar3); + } + if ((int)uVar4 != 0) { + return uVar4; + } + local_28 = local_28 + local_24; + *param_4 = *param_4 - local_24; +LAB_1400d2959: + uVar4 = (ulonglong)local_28; + puVar7 = puVar7 + 7; + uVar5 = uVar5 + 1; + } while (uVar5 < param_2); + } + *param_4 = (uint)uVar4; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d2a10.c b/decomp/Agent_Release_x64/full/functions/0x1400d2a10.c new file mode 100644 index 00000000..e8b55416 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d2a10.c @@ -0,0 +1,82 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d2a10 FUN_1400d2a10 + * Pseudocode, not original source. */ + +ulonglong FUN_1400d2a10(uint param_1,longlong param_2,undefined4 param_3,undefined1 *param_4, + int param_5) + +{ + uint uVar1; + int iVar2; + uint uVar3; + ulonglong uVar4; + undefined1 *_Memory; + undefined1 *_Memory_00; + longlong lVar5; + undefined1 *puVar6; + longlong lVar7; + int iVar8; + + if ((param_2 == 0) || (param_4 == (undefined1 *)0x0)) { + return 0x10; + } + uVar4 = FUN_1400cc940(param_1); + if ((int)uVar4 != 0) { + return uVar4; + } + lVar7 = (longlong)(int)param_1 * 0x80; + uVar1 = *(uint *)(&DAT_14015fe7c + lVar7); + _Memory = malloc(0x70); + _Memory_00 = malloc((ulonglong)uVar1); + if (_Memory == (undefined1 *)0x0) { + _Memory = _Memory_00; + if (_Memory_00 == (undefined1 *)0x0) { + return 0xd; + } + } + else if (_Memory_00 != (undefined1 *)0x0) { + iVar2 = 0; + while (param_5 != 0) { + _Memory_00[3] = (char)iVar2; + *_Memory_00 = (char)((uint)iVar2 >> 0x18); + _Memory_00[1] = (char)((uint)iVar2 >> 0x10); + iVar8 = iVar2 + 1; + _Memory_00[2] = (char)((uint)iVar2 >> 8); + uVar3 = (**(code **)(lVar7 + 0x14015fec8))(_Memory); + uVar4 = (ulonglong)uVar3; + if (uVar3 != 0) goto LAB_1400d2b7c; + uVar3 = (**(code **)(lVar7 + 0x14015fed0))(_Memory,param_2,param_3); + uVar4 = (ulonglong)uVar3; + if (uVar3 != 0) goto LAB_1400d2b7c; + uVar3 = (**(code **)(lVar7 + 0x14015fed0))(_Memory,_Memory_00,4); + uVar4 = (ulonglong)uVar3; + if (uVar3 != 0) goto LAB_1400d2b7c; + uVar3 = (**(code **)(lVar7 + 0x14015fed8))(_Memory,_Memory_00); + uVar4 = (ulonglong)uVar3; + if (uVar3 != 0) goto LAB_1400d2b7c; + uVar3 = 0; + iVar2 = iVar8; + if (uVar1 != 0) { + lVar5 = (longlong)_Memory_00 - (longlong)param_4; + puVar6 = param_4; + do { + if (param_5 == 0) goto LAB_1400d2b7a; + uVar3 = uVar3 + 1; + param_4 = puVar6 + 1; + *puVar6 = puVar6[lVar5]; + param_5 = param_5 + -1; + puVar6 = param_4; + } while (uVar3 < uVar1); + } + } +LAB_1400d2b7a: + uVar4 = 0; +LAB_1400d2b7c: + free(_Memory_00); + free(_Memory); + return uVar4; + } + free(_Memory); + return 0xd; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d2bd0.c b/decomp/Agent_Release_x64/full/functions/0x1400d2bd0.c new file mode 100644 index 00000000..35b3eade --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d2bd0.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d2bd0 FUN_1400d2bd0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400d2bd0(uint param_1,longlong param_2,undefined4 param_3,longlong param_4, + uint *param_5) + +{ + uint uVar1; + ulonglong uVar2; + void *_Memory; + longlong lVar3; + + if ((param_2 != 0) && (param_4 != 0)) { + if (param_5 != (uint *)0x0) { + uVar2 = FUN_1400cc940(param_1); + if ((int)uVar2 == 0) { + lVar3 = (longlong)(int)param_1 * 0x80; + if (*param_5 < *(uint *)(&DAT_14015fe7c + lVar3)) { + *param_5 = *(uint *)(&DAT_14015fe7c + lVar3); + uVar2 = 6; + } + else { + _Memory = malloc(0x70); + if (_Memory == (void *)0x0) { + uVar2 = 0xd; + } + else { + uVar1 = (**(code **)(lVar3 + 0x14015fec8))(_Memory); + uVar2 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = (**(code **)(lVar3 + 0x14015fed0))(_Memory,param_2,param_3); + uVar2 = (ulonglong)uVar1; + if (uVar1 == 0) { + uVar1 = (**(code **)(lVar3 + 0x14015fed8))(_Memory,param_4); + uVar2 = (ulonglong)uVar1; + *param_5 = *(uint *)(&DAT_14015fe7c + lVar3); + } + } + free(_Memory); + } + } + } + return uVar2; + } + return 0x10; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d2ce0.c b/decomp/Agent_Release_x64/full/functions/0x1400d2ce0.c new file mode 100644 index 00000000..237a8f1b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d2ce0.c @@ -0,0 +1,54 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d2ce0 FUN_1400d2ce0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d2ce0(uint *param_1,undefined8 *param_2,undefined4 *param_3) + +{ + undefined8 uVar1; + ulonglong uVar2; + ulonglong uVar3; + ulonglong uVar4; + longlong lVar5; + uint local_28 [2]; + uint local_20; + longlong local_18; + + uVar1 = FUN_1400cf070(local_28,*param_1); + if ((int)uVar1 == 0) { + local_28[0] = *param_1; + local_20 = param_1[2]; + uVar2 = 0; + lVar5 = (longlong)(int)(local_28[0] - 1); + if (-1 < (int)(local_28[0] - 1)) { + do { + uVar2 = (ulonglong)*(uint *)(*(longlong *)(param_1 + 4) + lVar5 * 4) | uVar2 << 0x1c; + if (uVar2 < 3) { + uVar3 = 0; + } + else { + uVar3 = uVar2 * 0x5555555 >> 0x1c; + uVar2 = uVar2 + uVar3 * -3; + if (2 < uVar2) { + uVar4 = uVar2 / 3; + uVar2 = uVar2 % 3; + uVar3 = uVar3 + uVar4; + } + } + lVar5 = lVar5 + -1; + *(int *)(local_18 + 4 + lVar5 * 4) = (int)uVar3; + } while (-1 < lVar5); + } + if (param_3 != (undefined4 *)0x0) { + *param_3 = (int)uVar2; + } + if (param_2 != (undefined8 *)0x0) { + FUN_1400ccef0((int *)local_28); + FUN_1400cef30((undefined8 *)local_28,param_2); + } + FUN_1400c6dd0((int *)local_28); + uVar1 = 0; + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d2dd0.c b/decomp/Agent_Release_x64/full/functions/0x1400d2dd0.c new file mode 100644 index 00000000..2dada299 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d2dd0.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d2dd0 FUN_1400d2dd0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d2dd0(uint *param_1,uint param_2,uint *param_3) + +{ + uint *puVar1; + int iVar2; + undefined8 uVar3; + int iVar4; + longlong lVar5; + + if ((int)param_2 < 1) { + FUN_1400cd030(param_3); + return 0; + } + if ((int)(*param_1 * 0x1c) <= (int)param_2) { + uVar3 = FUN_1400c6e70(param_1,param_3); + return uVar3; + } + uVar3 = FUN_1400c6e70(param_1,param_3); + if ((int)uVar3 == 0) { + iVar2 = (int)param_2 / 0x1c; + iVar4 = (uint)(param_2 != iVar2 * 0x1c) + iVar2; + if (iVar4 < (int)*param_3) { + lVar5 = (longlong)iVar4 << 2; + do { + iVar4 = iVar4 + 1; + *(undefined4 *)(lVar5 + *(longlong *)(param_3 + 4)) = 0; + lVar5 = lVar5 + 4; + } while (iVar4 < (int)*param_3); + } + puVar1 = (uint *)(*(longlong *)(param_3 + 4) + (longlong)iVar2 * 4); + *puVar1 = *puVar1 & (1 << ((char)param_2 + (char)(param_2 / 0x1c) * -0x1c & 0x1fU)) - 1U; + FUN_1400ccef0((int *)param_3); + uVar3 = 0; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d2ec0.c b/decomp/Agent_Release_x64/full/functions/0x1400d2ec0.c new file mode 100644 index 00000000..63bf1df2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d2ec0.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d2ec0 FUN_1400d2ec0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400d2ec0(uint *param_1,uint *param_2,uint param_3) + +{ + uint uVar1; + int iVar2; + ulonglong uVar3; + ulonglong uVar4; + undefined8 uVar5; + uint local_28 [8]; + + uVar3 = FUN_1400c6d70(local_28); + if ((int)uVar3 == 0) { + uVar1 = FUN_1400c7020((int *)param_2); + uVar3 = FUN_1400cd2c0(param_1,uVar1,local_28,(undefined8 *)param_1); + iVar2 = (int)uVar3; + while (uVar3 = uVar3 & 0xffffffff, iVar2 == 0) { + if (param_3 != 1) { + uVar4 = FUN_1400c78e0((int *)local_28,param_3,(int *)local_28); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 != 0) break; + } + uVar4 = FUN_1400cd540(param_1,local_28,param_1); + uVar3 = uVar4 & 0xffffffff; + if (((int)uVar4 != 0) || + (uVar5 = FUN_1400cd060((int *)param_1,(int *)param_2), (int)uVar5 == -1)) break; + FUN_1400cd440(param_1,param_2,param_1); + uVar3 = FUN_1400cd2c0(param_1,uVar1,local_28,(undefined8 *)param_1); + iVar2 = (int)uVar3; + } + FUN_1400c6dd0((int *)local_28); + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d2fb0.c b/decomp/Agent_Release_x64/full/functions/0x1400d2fb0.c new file mode 100644 index 00000000..89250ba6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d2fb0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d2fb0 FUN_1400d2fb0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400d2fb0(uint *param_1,undefined4 *param_2) + +{ + int iVar1; + ulonglong uVar2; + uint local_28 [4]; + undefined4 *local_18; + + uVar2 = FUN_1400c6d70(local_28); + if ((int)uVar2 == 0) { + iVar1 = FUN_1400c7020((int *)param_1); + uVar2 = FUN_1400c70c0(local_28,iVar1); + if (((int)uVar2 != 0) || (uVar2 = FUN_1400cd440(local_28,param_1,local_28), (int)uVar2 != 0)) { + FUN_1400c6dd0((int *)local_28); + return uVar2 & 0xffffffff; + } + *param_2 = *local_18; + FUN_1400c6dd0((int *)local_28); + uVar2 = 0; + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d3050.c b/decomp/Agent_Release_x64/full/functions/0x1400d3050.c new file mode 100644 index 00000000..2ff9cc04 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d3050.c @@ -0,0 +1,61 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d3050 FUN_1400d3050 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d3050(uint *param_1,uint *param_2,uint param_3) + +{ + uint uVar1; + int iVar2; + undefined8 uVar3; + ulonglong uVar4; + uint *puVar5; + uint *puVar6; + ulonglong uVar7; + uint *puVar8; + ulonglong uVar9; + uint uVar10; + + uVar1 = *param_2; + if (((int)(uVar1 * 2) <= (int)param_1[1]) || + (uVar3 = FUN_1400cce50((longlong)param_1,uVar1 * 2), (int)uVar3 == 0)) { + while( true ) { + puVar6 = *(uint **)(param_1 + 4); + uVar10 = 0; + puVar8 = puVar6 + (int)uVar1; + puVar5 = puVar6; + uVar7 = 0; + uVar9 = (ulonglong)uVar1; + if (0 < (int)uVar1) { + do { + uVar10 = *puVar8; + puVar6 = puVar5 + 1; + puVar8 = puVar8 + 1; + uVar4 = (ulonglong)uVar10 * (ulonglong)param_3 + (ulonglong)*puVar5 + (uVar7 & 0xffffffff) + ; + uVar7 = uVar4 >> 0x1c; + uVar10 = (uint)uVar7; + uVar9 = uVar9 - 1; + *puVar5 = (uint)uVar4 & 0xfffffff; + puVar5 = puVar6; + } while (uVar9 != 0); + } + *puVar6 = uVar10; + iVar2 = uVar1 + 1; + if ((int)(uVar1 + 1) < (int)*param_1) { + do { + puVar6 = puVar6 + 1; + *puVar6 = 0; + iVar2 = iVar2 + 1; + } while (iVar2 < (int)*param_1); + } + FUN_1400ccef0((int *)param_1); + uVar3 = FUN_1400cd060((int *)param_1,(int *)param_2); + if ((int)uVar3 == -1) break; + FUN_1400cd440(param_1,param_2,param_1); + } + uVar3 = 0; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d3160.c b/decomp/Agent_Release_x64/full/functions/0x1400d3160.c new file mode 100644 index 00000000..c067efbc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d3160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d3160 FUN_1400d3160 + * Pseudocode, not original source. */ + +void FUN_1400d3160(longlong param_1,int *param_2) + +{ + *param_2 = 0x10000000 - **(int **)(param_1 + 0x10); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d3170.c b/decomp/Agent_Release_x64/full/functions/0x1400d3170.c new file mode 100644 index 00000000..67dfe04f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d3170.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d3170 FUN_1400d3170 + * Pseudocode, not original source. */ + +ulonglong FUN_1400d3170(uint *param_1,uint *param_2,uint *param_3) + +{ + uint uVar1; + uint uVar2; + ulonglong uVar3; + ulonglong uVar4; + undefined8 uVar5; + uint local_28 [8]; + + uVar3 = FUN_1400c6d70(local_28); + if ((int)uVar3 == 0) { + uVar1 = FUN_1400c7020((int *)param_2); + uVar4 = FUN_1400cd2c0(param_1,uVar1,local_28,(undefined8 *)param_1); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 == 0) { + while( true ) { + uVar2 = FUN_1400c7830(local_28,param_3,local_28); + uVar3 = (ulonglong)uVar2; + if (uVar2 != 0) break; + uVar4 = FUN_1400cd540(param_1,local_28,param_1); + uVar3 = uVar4 & 0xffffffff; + if (((int)uVar4 != 0) || + (uVar5 = FUN_1400cd060((int *)param_1,(int *)param_2), (int)uVar5 == -1)) break; + FUN_1400cd440(param_1,param_2,param_1); + uVar4 = FUN_1400cd2c0(param_1,uVar1,local_28,(undefined8 *)param_1); + uVar3 = uVar4 & 0xffffffff; + if ((int)uVar4 != 0) break; + } + } + FUN_1400c6dd0((int *)local_28); + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d3260.c b/decomp/Agent_Release_x64/full/functions/0x1400d3260.c new file mode 100644 index 00000000..c8d8248c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d3260.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d3260 FUN_1400d3260 + * Pseudocode, not original source. */ + +ulonglong FUN_1400d3260(uint *param_1,uint *param_2) + +{ + int iVar1; + ulonglong uVar2; + uint local_28 [8]; + + uVar2 = FUN_1400c6d70(local_28); + if ((int)uVar2 == 0) { + iVar1 = FUN_1400c7020((int *)param_1); + uVar2 = FUN_1400c70c0(local_28,iVar1); + if ((int)uVar2 == 0) { + uVar2 = FUN_1400cd440(local_28,param_1,param_2); + } + uVar2 = uVar2 & 0xffffffff; + FUN_1400c6dd0((int *)local_28); + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d32d0.c b/decomp/Agent_Release_x64/full/functions/0x1400d32d0.c new file mode 100644 index 00000000..571b13c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d32d0.c @@ -0,0 +1,68 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d32d0 FUN_1400d32d0 + * Pseudocode, not original source. */ + +ulonglong FUN_1400d32d0(uint *param_1,uint *param_2,uint *param_3) + +{ + uint uVar1; + int iVar2; + uint uVar3; + ulonglong uVar4; + ulonglong uVar5; + undefined8 uVar6; + uint local_28 [8]; + + uVar3 = *param_2; + uVar4 = FUN_1400cd290(local_28,param_1); + if ((int)uVar4 != 0) { + return uVar4; + } + FUN_1400cef60((int *)local_28,uVar3 - 1); + if (uVar3 < 0x8000001) { + uVar6 = FUN_1400d4a30((int *)local_28,(int *)param_3,(int *)local_28,uVar3); + uVar1 = (uint)uVar6; + } + else { + uVar1 = FUN_1400c7830(local_28,param_3,local_28); + } + uVar4 = (ulonglong)uVar1; + if (uVar1 == 0) { + FUN_1400cef60((int *)local_28,uVar3 + 1); + uVar5 = FUN_1400d2dd0(param_1,(uVar3 + 1) * 0x1c,param_1); + uVar4 = uVar5 & 0xffffffff; + if ((int)uVar5 == 0) { + uVar5 = FUN_1400cd670(local_28,param_2,local_28,uVar3 + 1); + uVar4 = uVar5 & 0xffffffff; + if ((int)uVar5 == 0) { + uVar1 = FUN_1400c7670(param_1,local_28,param_1); + uVar4 = (ulonglong)uVar1; + if (uVar1 == 0) { + iVar2 = FUN_1400c6ff0((int *)param_1,0); + if (iVar2 == -1) { + FUN_1400cfa90(local_28,1); + uVar5 = FUN_1400cefe0((int *)local_28,uVar3 + 1); + uVar4 = uVar5 & 0xffffffff; + if ((int)uVar5 != 0) goto LAB_1400d3429; + uVar3 = FUN_1400c74b0(param_1,local_28,param_1); + uVar4 = (ulonglong)uVar3; + if (uVar3 != 0) goto LAB_1400d3429; + } + uVar6 = FUN_1400c6fc0((int *)param_1,(int *)param_2); + iVar2 = (int)uVar6; + while (iVar2 != -1) { + uVar5 = FUN_1400cd440(param_1,param_2,param_1); + uVar4 = uVar5 & 0xffffffff; + if ((int)uVar5 != 0) break; + uVar6 = FUN_1400c6fc0((int *)param_1,(int *)param_2); + iVar2 = (int)uVar6; + } + } + } + } + } +LAB_1400d3429: + FUN_1400c6dd0((int *)local_28); + return uVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d3450.c b/decomp/Agent_Release_x64/full/functions/0x1400d3450.c new file mode 100644 index 00000000..bb823595 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d3450.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d3450 FUN_1400d3450 + * Pseudocode, not original source. */ + +void FUN_1400d3450(uint *param_1,uint *param_2) + +{ + undefined8 uVar1; + + uVar1 = FUN_1400c70c0(param_1,*param_2 * 0x38); + if ((int)uVar1 == 0) { + FUN_1400c7a20(param_1,param_2,(undefined8 *)param_1,(uint *)0x0); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d3490.c b/decomp/Agent_Release_x64/full/functions/0x1400d3490.c new file mode 100644 index 00000000..aa1e2185 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d3490.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d3490 FUN_1400d3490 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d3490(longlong param_1,undefined4 *param_2) + +{ + if ((param_2 == (undefined4 *)0x0) || (param_1 == 0)) { + return 0x10; + } + if ((*(int *)(param_1 + 0x1c) == 0) && (*(int *)(param_1 + 0x20) == 0)) { + *param_2 = 0xf; + return 0; + } + *param_2 = 0x13; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d34c0.c b/decomp/Agent_Release_x64/full/functions/0x1400d34c0.c new file mode 100644 index 00000000..f9abb69c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d34c0.c @@ -0,0 +1,42 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d34c0 FUN_1400d34c0 + * Pseudocode, not original source. */ + +int FUN_1400d34c0(undefined8 *param_1,undefined8 *param_2) + +{ + void *_Buf2; + void *_Buf1; + uint uVar1; + int iVar2; + uint uVar3; + uint uVar4; + + uVar3 = *(uint *)(param_1 + 1); + uVar4 = *(uint *)(param_2 + 1); + _Buf2 = (void *)*param_2; + _Buf1 = (void *)*param_1; + uVar1 = uVar4; + if (uVar3 < uVar4) { + uVar1 = uVar3; + } + iVar2 = memcmp(_Buf1,_Buf2,(ulonglong)uVar1); + if ((iVar2 == 0) && (uVar3 != uVar4)) { + if (uVar4 < uVar3) { + for (; uVar4 < uVar3; uVar4 = uVar4 + 1) { + if (*(char *)((ulonglong)uVar4 + (longlong)_Buf1) != '\0') { + return 1; + } + } + } + else { + for (; uVar3 < uVar4; uVar3 = uVar3 + 1) { + if (*(char *)((ulonglong)uVar3 + (longlong)_Buf2) != '\0') { + return -1; + } + } + } + } + return iVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d3550.c b/decomp/Agent_Release_x64/full/functions/0x1400d3550.c new file mode 100644 index 00000000..bd23338f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d3550.c @@ -0,0 +1,103 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d3550 FUN_1400d3550 + * Pseudocode, not original source. */ + +int FUN_1400d3550(int *param_1,uint param_2,void *param_3,uint *param_4) + +{ + byte bVar1; + int *piVar2; + int iVar3; + char *_Src; + ulonglong uVar4; + void *_Base; + uint uVar5; + uint *puVar6; + ulonglong _Count; + char *pcVar7; + uint uVar8; + byte *pbVar9; + uint uVar10; + + uVar10 = 1; + _Count = (ulonglong)param_2; + piVar2 = param_1; + if (1 < param_2) { + do { + if (piVar2[0xe] != *piVar2) { + return 0x10; + } + uVar10 = uVar10 + 1; + piVar2 = piVar2 + 0xe; + } while (uVar10 < param_2); + } + _Src = calloc(1,(ulonglong)*param_4); + if (_Src != (char *)0x0) { + uVar4 = FUN_1400d2510((longlong)param_1,param_2,_Src,param_4,0xf); + if ((int)uVar4 == 0) { + _Base = calloc(_Count,0x10); + if (_Base == (void *)0x0) { + free(_Src); + iVar3 = 0xd; + } + else { + pcVar7 = _Src + 2; + if (0x7f < (byte)_Src[1]) { + pcVar7 = pcVar7 + ((byte)_Src[1] & 0x7f); + } + uVar10 = (int)pcVar7 - (int)_Src; + if (pcVar7 < _Src + *param_4) { + puVar6 = (uint *)((longlong)_Base + 8); + do { + *(char **)(puVar6 + -2) = pcVar7; + bVar1 = pcVar7[1]; + iVar3 = 2; + if (bVar1 < 0x80) { + *puVar6 = (uint)bVar1; + } + else { + uVar5 = bVar1 & 0x7f; + *puVar6 = 0; + if ((bVar1 & 0x7f) != 0) { + uVar8 = 0; + pbVar9 = (byte *)(pcVar7 + 2); + iVar3 = uVar5 + 2; + do { + bVar1 = *pbVar9; + pbVar9 = pbVar9 + 1; + uVar8 = uVar8 << 8 | (uint)bVar1; + uVar5 = uVar5 - 1; + *puVar6 = uVar8; + } while (uVar5 != 0); + } + } + *puVar6 = *puVar6 + iVar3; + uVar5 = *puVar6; + puVar6 = puVar6 + 4; + pcVar7 = pcVar7 + uVar5; + } while (pcVar7 < _Src + *param_4); + } + qsort(_Base,_Count,0x10,FUN_1400d34c0); + memcpy(param_3,_Src,(ulonglong)uVar10); + if (param_2 != 0) { + puVar6 = (uint *)((longlong)_Base + 8); + do { + memcpy((void *)((ulonglong)uVar10 + (longlong)param_3),*(void **)(puVar6 + -2), + (ulonglong)*puVar6); + uVar10 = uVar10 + *puVar6; + puVar6 = puVar6 + 4; + _Count = _Count - 1; + } while (_Count != 0); + } + free(_Base); + free(_Src); + iVar3 = 0; + } + return iVar3; + } + free(_Src); + return (int)uVar4; + } + return 0xd; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d3750.c b/decomp/Agent_Release_x64/full/functions/0x1400d3750.c new file mode 100644 index 00000000..1ee3eae2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d3750.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d3750 FUN_1400d3750 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d3750(undefined4 param_1) + +{ + switch(param_1) { + case 1: + return 1; + case 2: + case 3: + return 2; + case 4: + return 3; + case 5: + return 4; + case 6: + return 5; + case 7: + return 6; + case 8: + return 0x16; + case 9: + return 0x13; + case 10: + return 0xc; + case 0xb: + return 0x17; + default: + return 0xffffffff; + case 0xd: + return 0x30; + case 0xe: + case 0xf: + return 0x31; + } +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d3800.c b/decomp/Agent_Release_x64/full/functions/0x1400d3800.c new file mode 100644 index 00000000..68c57080 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d3800.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d3800 FUN_1400d3800 + * Pseudocode, not original source. */ + +int FUN_1400d3800(undefined4 *param_1,undefined4 *param_2) + +{ + undefined8 uVar1; + int iVar2; + + uVar1 = FUN_1400d3750(*param_1); + iVar2 = (int)uVar1; + uVar1 = FUN_1400d3750(*param_2); + iVar2 = iVar2 - (int)uVar1; + if (iVar2 == 0) { + return param_1[5] - param_2[5]; + } + return iVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d3840.c b/decomp/Agent_Release_x64/full/functions/0x1400d3840.c new file mode 100644 index 00000000..d940f144 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d3840.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d3840 FUN_1400d3840 + * Pseudocode, not original source. */ + +undefined4 FUN_1400d3840(undefined8 *param_1,uint param_2,char *param_3,uint *param_4) + +{ + undefined4 uVar1; + void *_Base; + ulonglong uVar2; + undefined8 *puVar3; + undefined8 *puVar4; + uint uVar5; + + _Base = calloc((ulonglong)param_2,0x38); + if (_Base == (void *)0x0) { + uVar1 = 0xd; + } + else { + uVar5 = 0; + puVar3 = param_1; + if (param_2 != 0) { + do { + puVar4 = puVar3 + 7; + *(undefined8 *)((longlong)_Base + (-0x38 - (longlong)param_1) + (longlong)puVar4) = *puVar3; + *(undefined8 *)((longlong)_Base + (-0x30 - (longlong)param_1) + (longlong)puVar4) = + puVar3[1]; + *(undefined8 *)((longlong)_Base + (-0x28 - (longlong)param_1) + (longlong)puVar4) = + puVar3[2]; + *(undefined8 *)((longlong)_Base + (-0x20 - (longlong)param_1) + (longlong)puVar4) = + puVar3[3]; + *(undefined8 *)((longlong)_Base + (-0x18 - (longlong)param_1) + (longlong)puVar4) = + puVar3[4]; + *(undefined8 *)((longlong)_Base + (-0x10 - (longlong)param_1) + (longlong)puVar4) = + puVar3[5]; + *(undefined8 *)((longlong)_Base + (-8 - (longlong)param_1) + (longlong)puVar4) = puVar3[6]; + *(uint *)((longlong)_Base + (-0x24 - (longlong)param_1) + (longlong)puVar4) = uVar5; + uVar5 = uVar5 + 1; + puVar3 = puVar4; + } while (uVar5 < param_2); + } + qsort(_Base,(ulonglong)param_2,0x38,FUN_1400d3800); + uVar2 = FUN_1400d2510((longlong)_Base,param_2,param_3,param_4,0xe); + free(_Base); + uVar1 = (undefined4)uVar2; + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d3940.c b/decomp/Agent_Release_x64/full/functions/0x1400d3940.c new file mode 100644 index 00000000..a222a6ac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d3940.c @@ -0,0 +1,90 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d3940 FUN_1400d3940 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d3940(uint *param_1,undefined1 *param_2,uint *param_3) + +{ + undefined4 uVar1; + undefined8 uVar2; + uint uVar3; + int iVar4; + uint local_res8 [2]; + + if (((param_1 != (uint *)0x0) && (param_2 != (undefined1 *)0x0)) && (param_3 != (uint *)0x0)) { + uVar2 = FUN_1400d3490((longlong)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_1400d1970((int)(char)PTR_DAT_140157348 + [(uint)((int)((ulonglong)*param_1 / 10) + + (int)(((ulonglong)*param_1 / 10) / 10) * -10)]); + param_2[2] = (char)uVar1; + uVar1 = FUN_1400d1970((int)(char)PTR_DAT_140157348[*param_1 % 10]); + param_2[3] = (char)uVar1; + uVar1 = FUN_1400d1970((int)(char)PTR_DAT_140157348 + [(uint)((int)((ulonglong)param_1[1] / 10) + + (int)(((ulonglong)param_1[1] / 10) / 10) * -10)]); + param_2[4] = (char)uVar1; + uVar1 = FUN_1400d1970((int)(char)PTR_DAT_140157348[param_1[1] % 10]); + param_2[5] = (char)uVar1; + uVar1 = FUN_1400d1970((int)(char)PTR_DAT_140157348 + [(uint)((int)((ulonglong)param_1[2] / 10) + + (int)(((ulonglong)param_1[2] / 10) / 10) * -10)]); + param_2[6] = (char)uVar1; + uVar1 = FUN_1400d1970((int)(char)PTR_DAT_140157348[param_1[2] % 10]); + param_2[7] = (char)uVar1; + uVar1 = FUN_1400d1970((int)(char)PTR_DAT_140157348 + [(uint)((int)((ulonglong)param_1[3] / 10) + + (int)(((ulonglong)param_1[3] / 10) / 10) * -10)]); + param_2[8] = (char)uVar1; + uVar1 = FUN_1400d1970((int)(char)PTR_DAT_140157348[param_1[3] % 10]); + param_2[9] = (char)uVar1; + uVar1 = FUN_1400d1970((int)(char)PTR_DAT_140157348 + [(uint)((int)((ulonglong)param_1[4] / 10) + + (int)(((ulonglong)param_1[4] / 10) / 10) * -10)]); + param_2[10] = (char)uVar1; + uVar1 = FUN_1400d1970((int)(char)PTR_DAT_140157348[param_1[4] % 10]); + param_2[0xb] = (char)uVar1; + uVar1 = FUN_1400d1970((int)(char)PTR_DAT_140157348 + [(uint)((int)((ulonglong)param_1[5] / 10) + + (int)(((ulonglong)param_1[5] / 10) / 10) * -10)]); + param_2[0xc] = (char)uVar1; + uVar1 = FUN_1400d1970((int)(char)PTR_DAT_140157348[param_1[5] % 10]); + param_2[0xd] = (char)uVar1; + if ((param_1[8] == 0) && (param_1[7] == 0)) { + uVar1 = FUN_1400d1970(0x5a); + uVar3 = 0xf; + param_2[0xe] = (char)uVar1; + } + else { + iVar4 = 0x2b; + if (param_1[6] != 0) { + iVar4 = 0x2d; + } + uVar1 = FUN_1400d1970(iVar4); + param_2[0xe] = (char)uVar1; + uVar1 = FUN_1400d1970((int)(char)PTR_DAT_140157348 + [(uint)((int)((ulonglong)param_1[7] / 10) + + (int)(((ulonglong)param_1[7] / 10) / 10) * -10)]); + param_2[0xf] = (char)uVar1; + uVar1 = FUN_1400d1970((int)(char)PTR_DAT_140157348[param_1[7] % 10]); + param_2[0x10] = (char)uVar1; + uVar1 = FUN_1400d1970((int)(char)PTR_DAT_140157348[(param_1[8] / 10) % 10]); + param_2[0x11] = (char)uVar1; + uVar1 = FUN_1400d1970((int)(char)PTR_DAT_140157348[param_1[8] % 10]); + uVar3 = 0x13; + param_2[0x12] = (char)uVar1; + } + param_2[1] = (char)uVar3 + -2; + *param_3 = uVar3; + uVar2 = 0; + } + return uVar2; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d3cd0.c b/decomp/Agent_Release_x64/full/functions/0x1400d3cd0.c new file mode 100644 index 00000000..28e3de4f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d3cd0.c @@ -0,0 +1,122 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d3cd0 FUN_1400d3cd0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d3cd0(ushort *param_1,uint param_2,undefined1 *param_3,uint *param_4) + +{ + undefined1 uVar1; + int iVar2; + undefined8 uVar3; + undefined1 uVar4; + uint uVar5; + byte *pbVar6; + byte *pbVar7; + ulonglong uVar8; + ushort *puVar9; + uint uVar10; + + uVar8 = (ulonglong)param_2; + if (((param_1 == (ushort *)0x0) || (param_3 == (undefined1 *)0x0)) || (param_4 == (uint *)0x0)) { + return 0x10; + } + uVar5 = 0; + uVar10 = 0; + puVar9 = param_1; + if (param_2 == 0) { +LAB_1400d3d87: + uVar10 = uVar5 + 2; +LAB_1400d3d8a: + if (*param_4 < uVar10) { + *param_4 = uVar5; + return 6; + } + *param_3 = 0xc; + uVar4 = (undefined1)uVar5; + if (uVar5 < 0x80) { + param_3[1] = uVar4; + uVar10 = 2; + } + else if (uVar5 < 0x100) { + param_3[1] = 0x81; + uVar10 = 3; + param_3[2] = uVar4; + } + else { + uVar1 = (undefined1)(uVar5 >> 8); + if (uVar5 < 0x10000) { + param_3[1] = 0x82; + uVar10 = 4; + param_3[2] = uVar1; + param_3[3] = uVar4; + } + else { + if (0xffffff < uVar5) goto LAB_1400d3e9e; + param_3[1] = 0x83; + uVar10 = 5; + param_3[2] = (char)(uVar5 >> 0x10); + param_3[3] = uVar1; + param_3[4] = uVar4; + } + } + if (param_2 != 0) { + pbVar6 = param_3 + (int)uVar10; + do { + uVar3 = FUN_1400d1460(*param_1); + iVar2 = (int)uVar3; + if (iVar2 == 1) { + uVar10 = uVar10 + 1; + pbVar7 = pbVar6 + 1; + *pbVar6 = (byte)*param_1; + } + else if (iVar2 == 2) { + uVar10 = uVar10 + 2; + *pbVar6 = (byte)(*param_1 >> 6) & 0x1f | 0xc0; + pbVar7 = pbVar6 + 2; + pbVar6[1] = (byte)*param_1 & 0x3f | 0x80; + } + else { + pbVar7 = pbVar6; + if (iVar2 == 3) { + uVar10 = uVar10 + 3; + *pbVar6 = (byte)(*param_1 >> 0xc) | 0xe0; + pbVar6[1] = (byte)(*param_1 >> 6) & 0x3f | 0x80; + pbVar7 = pbVar6 + 3; + pbVar6[2] = (byte)*param_1 & 0x3f | 0x80; + } + } + param_1 = param_1 + 1; + uVar8 = uVar8 - 1; + pbVar6 = pbVar7; + } while (uVar8 != 0); + } + *param_4 = uVar10; + uVar3 = 0; + } + else { + do { + if (0x1ffff < *puVar9) goto LAB_1400d3e9e; + uVar3 = FUN_1400d1460(*puVar9); + uVar10 = uVar10 + 1; + uVar5 = uVar5 + (int)uVar3; + puVar9 = puVar9 + 1; + } while (uVar10 < param_2); + if (uVar5 < 0x80) goto LAB_1400d3d87; + if (uVar5 < 0x100) { + uVar10 = uVar5 + 3; + goto LAB_1400d3d8a; + } + if (uVar5 < 0x10000) { + uVar10 = uVar5 + 4; + goto LAB_1400d3d8a; + } + if (uVar5 < 0x1000000) { + uVar10 = uVar5 + 5; + goto LAB_1400d3d8a; + } +LAB_1400d3e9e: + uVar3 = 0x10; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d3ed0.c b/decomp/Agent_Release_x64/full/functions/0x1400d3ed0.c new file mode 100644 index 00000000..0e001c70 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d3ed0.c @@ -0,0 +1,75 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d3ed0 FUN_1400d3ed0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d3ed0(byte *param_1,uint param_2,undefined1 *param_3,uint *param_4) + +{ + undefined1 uVar1; + undefined4 uVar2; + undefined8 uVar3; + longlong lVar4; + undefined1 uVar5; + ulonglong uVar6; + uint uVar7; + undefined1 *puVar8; + uint local_res8 [2]; + + uVar6 = (ulonglong)param_2; + if (((param_1 != (byte *)0x0) && (param_3 != (undefined1 *)0x0)) && (param_4 != (uint *)0x0)) { + uVar3 = FUN_1400d17a0(param_1,param_2,(int *)local_res8); + if ((int)uVar3 == 0) { + if (*param_4 < local_res8[0]) { + *param_4 = local_res8[0]; + return 6; + } + *param_3 = 0x13; + uVar5 = (undefined1)param_2; + if (param_2 < 0x80) { + param_3[1] = uVar5; + uVar7 = 2; + } + else if (param_2 < 0x100) { + param_3[1] = 0x81; + uVar7 = 3; + param_3[2] = uVar5; + } + else { + uVar1 = (undefined1)(param_2 >> 8); + if (param_2 < 0x10000) { + param_3[1] = 0x82; + uVar7 = 4; + param_3[2] = uVar1; + param_3[3] = uVar5; + } + else { + if (0xffffff < param_2) { + return 0x10; + } + param_3[1] = 0x83; + uVar7 = 5; + param_3[2] = (char)(param_2 >> 0x10); + param_3[3] = uVar1; + param_3[4] = uVar5; + } + } + lVar4 = (longlong)(int)uVar7; + if (param_2 != 0) { + uVar7 = uVar7 + param_2; + puVar8 = param_3 + lVar4; + do { + uVar2 = FUN_1400d1730((uint)*param_1); + param_1 = param_1 + 1; + uVar6 = uVar6 - 1; + *puVar8 = (char)uVar2; + puVar8 = puVar8 + 1; + } while (uVar6 != 0); + } + *param_4 = uVar7; + uVar3 = 0; + } + return uVar3; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d4000.c b/decomp/Agent_Release_x64/full/functions/0x1400d4000.c new file mode 100644 index 00000000..98f9efe9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d4000.c @@ -0,0 +1,75 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d4000 FUN_1400d4000 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d4000(byte *param_1,uint param_2,undefined1 *param_3,uint *param_4) + +{ + undefined1 uVar1; + undefined4 uVar2; + undefined8 uVar3; + longlong lVar4; + undefined1 uVar5; + ulonglong uVar6; + uint uVar7; + undefined1 *puVar8; + uint local_res8 [2]; + + uVar6 = (ulonglong)param_2; + if (((param_1 != (byte *)0x0) && (param_3 != (undefined1 *)0x0)) && (param_4 != (uint *)0x0)) { + uVar3 = FUN_1400d19e0(param_1,param_2,(int *)local_res8); + if ((int)uVar3 == 0) { + if (*param_4 < local_res8[0]) { + *param_4 = local_res8[0]; + return 6; + } + *param_3 = 0x16; + uVar5 = (undefined1)param_2; + if (param_2 < 0x80) { + param_3[1] = uVar5; + uVar7 = 2; + } + else if (param_2 < 0x100) { + param_3[1] = 0x81; + uVar7 = 3; + param_3[2] = uVar5; + } + else { + uVar1 = (undefined1)(param_2 >> 8); + if (param_2 < 0x10000) { + param_3[1] = 0x82; + uVar7 = 4; + param_3[2] = uVar1; + param_3[3] = uVar5; + } + else { + if (0xffffff < param_2) { + return 0x10; + } + param_3[1] = 0x83; + uVar7 = 5; + param_3[2] = (char)(param_2 >> 0x10); + param_3[3] = uVar1; + param_3[4] = uVar5; + } + } + lVar4 = (longlong)(int)uVar7; + if (param_2 != 0) { + uVar7 = uVar7 + param_2; + puVar8 = param_3 + lVar4; + do { + uVar2 = FUN_1400d1970((uint)*param_1); + param_1 = param_1 + 1; + uVar6 = uVar6 - 1; + *puVar8 = (char)uVar2; + puVar8 = puVar8 + 1; + } while (uVar6 != 0); + } + *param_4 = uVar7; + uVar3 = 0; + } + return uVar3; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d4130.c b/decomp/Agent_Release_x64/full/functions/0x1400d4130.c new file mode 100644 index 00000000..402d73d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d4130.c @@ -0,0 +1,120 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d4130 FUN_1400d4130 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d4130(uint *param_1,uint param_2,undefined1 *param_3,uint *param_4) + +{ + undefined1 uVar1; + uint uVar2; + undefined8 uVar3; + ulonglong uVar4; + byte bVar5; + ulonglong uVar6; + uint *puVar7; + uint uVar8; + byte bVar9; + undefined1 *puVar10; + ulonglong uVar11; + uint uVar12; + uint uVar13; + uint local_res8 [2]; + + if (((param_1 != (uint *)0x0) && (param_3 != (undefined1 *)0x0)) && (param_4 != (uint *)0x0)) { + uVar3 = FUN_1400d1bc0(param_1,param_2,(int *)local_res8); + if ((int)uVar3 == 0) { + if (*param_4 < local_res8[0]) { + *param_4 = local_res8[0]; + return 6; + } + uVar12 = 0; + uVar13 = param_1[1] + *param_1 * 0x28; + uVar8 = 1; + if (1 < param_2) { + puVar7 = param_1 + 2; + do { + uVar2 = FUN_1400d1bb0(uVar13); + uVar12 = uVar12 + (uint)(uVar13 == 0) + (uint)(uVar2 != (uVar2 / 7) * 7) + uVar2 / 7; + if (uVar8 < param_2 - 1) { + uVar13 = *puVar7; + } + uVar8 = uVar8 + 1; + puVar7 = puVar7 + 1; + } while (uVar8 < param_2); + } + uVar13 = 1; + *param_3 = 6; + local_res8[0] = 1; + uVar4 = 1; + if (0x7f < uVar12) { + if (uVar12 < 0x100) { + param_3[1] = 0x81; + } + else { + if (0xffff < uVar12) { + return 0x10; + } + param_3[1] = 0x82; + local_res8[0] = 2; + param_3[2] = (char)(uVar12 >> 8); + } + local_res8[0] = local_res8[0] + 1; + uVar4 = (ulonglong)local_res8[0]; + } + param_3[uVar4] = (char)uVar12; + local_res8[0] = local_res8[0] + 1; + uVar4 = (ulonglong)local_res8[0]; + uVar8 = param_1[1] + *param_1 * 0x28; + if (1 < param_2) { + puVar7 = param_1 + 2; + do { + uVar6 = (ulonglong)uVar8; + if (uVar8 == 0) { + param_3[uVar4] = 0; + uVar4 = (ulonglong)(local_res8[0] + 1); + uVar12 = local_res8[0] + 1; + } + else { + uVar2 = (uint)uVar4; + uVar11 = (ulonglong)(int)uVar2; + bVar9 = 0; + uVar12 = local_res8[0]; + do { + local_res8[0] = uVar12; + bVar5 = (byte)uVar6; + uVar6 = uVar6 >> 7; + bVar5 = bVar5 & 0x7f | bVar9; + bVar9 = 0x80; + param_3[uVar4] = bVar5; + uVar12 = local_res8[0] + 1; + uVar4 = (ulonglong)uVar12; + } while ((int)uVar6 != 0); + if (uVar2 < local_res8[0]) { + puVar10 = param_3 + uVar11; + do { + uVar1 = *puVar10; + uVar2 = (int)uVar11 + 1; + uVar11 = (ulonglong)uVar2; + *puVar10 = param_3[local_res8[0]]; + param_3[local_res8[0]] = uVar1; + local_res8[0] = local_res8[0] - 1; + puVar10 = puVar10 + 1; + } while (uVar2 < local_res8[0]); + } + } + local_res8[0] = uVar12; + if (uVar13 < param_2 - 1) { + uVar8 = *puVar7; + } + uVar13 = uVar13 + 1; + puVar7 = puVar7 + 1; + } while (uVar13 < param_2); + } + *param_4 = (uint)uVar4; + uVar3 = 0; + } + return uVar3; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d4390.c b/decomp/Agent_Release_x64/full/functions/0x1400d4390.c new file mode 100644 index 00000000..8838c736 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d4390.c @@ -0,0 +1,77 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d4390 FUN_1400d4390 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d4390(undefined1 *param_1,uint param_2,undefined1 *param_3,uint *param_4) + +{ + undefined1 uVar1; + undefined8 uVar2; + longlong lVar3; + undefined1 *puVar4; + ulonglong uVar5; + undefined1 uVar6; + uint uVar7; + uint local_res8 [2]; + + uVar5 = (ulonglong)param_2; + if (((param_1 == (undefined1 *)0x0) || (param_3 == (undefined1 *)0x0)) || (param_4 == (uint *)0x0) + ) { +LAB_1400d4499: + uVar2 = 0x10; + } + else { + uVar2 = FUN_1400d1e70(param_2,(int *)local_res8); + if ((int)uVar2 != 0) { + return uVar2; + } + if (*param_4 < local_res8[0]) { + *param_4 = local_res8[0]; + return 6; + } + *param_3 = 4; + uVar6 = (undefined1)param_2; + if (param_2 < 0x80) { + param_3[1] = uVar6; + uVar7 = 2; + } + else if (param_2 < 0x100) { + param_3[1] = 0x81; + uVar7 = 3; + param_3[2] = uVar6; + } + else { + uVar1 = (undefined1)(param_2 >> 8); + if (param_2 < 0x10000) { + param_3[1] = 0x82; + uVar7 = 4; + param_3[2] = uVar1; + param_3[3] = uVar6; + } + else { + if (0xffffff < param_2) goto LAB_1400d4499; + param_3[1] = 0x83; + uVar7 = 5; + param_3[2] = (char)(param_2 >> 0x10); + param_3[3] = uVar1; + param_3[4] = uVar6; + } + } + lVar3 = (longlong)(int)uVar7; + if (param_2 != 0) { + uVar7 = uVar7 + param_2; + puVar4 = param_3 + lVar3; + do { + uVar6 = *param_1; + param_1 = param_1 + 1; + uVar5 = uVar5 - 1; + *puVar4 = uVar6; + puVar4 = puVar4 + 1; + } while (uVar5 != 0); + } + *param_4 = uVar7; + uVar2 = 0; + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d44c0.c b/decomp/Agent_Release_x64/full/functions/0x1400d44c0.c new file mode 100644 index 00000000..8086c49d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d44c0.c @@ -0,0 +1,73 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d44c0 FUN_1400d44c0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d44c0(char *param_1,uint param_2,undefined1 *param_3,uint *param_4) + +{ + undefined8 uVar1; + undefined1 uVar2; + uint uVar3; + byte bVar4; + uint uVar5; + ulonglong uVar6; + uint uVar7; + byte *pbVar8; + uint local_res8 [2]; + + if (((param_1 != (char *)0x0) && (param_3 != (undefined1 *)0x0)) && (param_4 != (uint *)0x0)) { + uVar1 = FUN_1400d1fc0((ulonglong)param_2,(int *)local_res8); + if ((int)uVar1 == 0) { + if (*param_4 < local_res8[0]) { + *param_4 = local_res8[0]; + return 6; + } + uVar7 = 0; + *param_3 = 3; + uVar5 = 1; + uVar3 = ((param_2 & 7) != 0) + 1 + (param_2 >> 3); + uVar2 = (undefined1)uVar3; + if (uVar3 < 0x80) { + param_3[1] = uVar2; + uVar5 = 2; + } + else if (uVar3 < 0x100) { + param_3[1] = 0x81; + uVar5 = 3; + param_3[2] = uVar2; + } + else if (uVar3 < 0x10000) { + param_3[1] = 0x82; + uVar5 = 4; + param_3[2] = (char)(uVar3 >> 8); + param_3[3] = uVar2; + } + uVar6 = (ulonglong)(uVar5 + 1); + bVar4 = 0; + param_3[uVar5] = -(char)param_2 & 7; + if (param_2 != 0) { + pbVar8 = param_3 + (int)(uVar5 + 1); + do { + bVar4 = bVar4 | (*param_1 != '\0') << (7U - (char)(uVar7 & 7) & 0x1f); + if ((uVar7 & 7) == 7) { + *pbVar8 = bVar4; + pbVar8 = pbVar8 + 1; + uVar6 = (ulonglong)((int)uVar6 + 1); + bVar4 = 0; + } + uVar7 = uVar7 + 1; + param_1 = param_1 + 1; + } while (uVar7 < param_2); + } + if ((param_2 & 7) != 0) { + param_3[uVar6] = bVar4; + uVar6 = (ulonglong)((int)uVar6 + 1); + } + *param_4 = (uint)uVar6; + uVar1 = 0; + } + return uVar1; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d4630.c b/decomp/Agent_Release_x64/full/functions/0x1400d4630.c new file mode 100644 index 00000000..1c6906e4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d4630.c @@ -0,0 +1,70 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d4630 FUN_1400d4630 + * Pseudocode, not original source. */ + +int FUN_1400d4630(uint param_1,undefined1 *param_2,uint *param_3) + +{ + uint uVar1; + int iVar2; + longlong lVar3; + undefined1 *puVar4; + uint uVar5; + uint uVar6; + ulonglong uVar7; + uint local_res10 [2]; + + if ((param_2 == (undefined1 *)0x0) || (param_3 == (uint *)0x0)) { + return 0x10; + } + iVar2 = FUN_1400d2170(param_1,(int *)local_res10); + if (iVar2 != 0) { + return iVar2; + } + if (*param_3 < local_res10[0]) { + *param_3 = local_res10[0]; + return 6; + } + uVar6 = 0; + iVar2 = 0; + uVar5 = param_1; + if (param_1 != 0) { + do { + iVar2 = iVar2 + 1; + uVar1 = uVar5 >> 8; + uVar5 = uVar5 >> 8; + } while (uVar1 != 0); + if (iVar2 != 0) goto LAB_1400d46b5; + } + iVar2 = 1; +LAB_1400d46b5: + uVar5 = iVar2 + (uint)((param_1 >> (iVar2 * 8 - 1U & 0x1f) & 1) != 0); + if (uVar5 < 5) { + for (; uVar6 < 4 - uVar5; uVar6 = uVar6 + 1) { + param_1 = param_1 << 8; + } + } + *param_2 = 2; + uVar6 = 2; + param_2[1] = (char)uVar5; + if (uVar5 == 5) { + param_2[2] = 0; + uVar5 = 4; + uVar6 = 3; + } + lVar3 = (longlong)(int)uVar6; + if (uVar5 != 0) { + uVar7 = (ulonglong)uVar5; + uVar6 = uVar6 + uVar5; + puVar4 = param_2 + lVar3; + do { + uVar7 = uVar7 - 1; + *puVar4 = (char)(param_1 >> 0x18); + puVar4 = puVar4 + 1; + param_1 = param_1 << 8; + } while (uVar7 != 0); + } + *param_3 = uVar6; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d4750.c b/decomp/Agent_Release_x64/full/functions/0x1400d4750.c new file mode 100644 index 00000000..359a8838 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d4750.c @@ -0,0 +1,128 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d4750 FUN_1400d4750 + * Pseudocode, not original source. */ + +ulonglong FUN_1400d4750(longlong param_1,undefined1 *param_2,uint *param_3) + +{ + bool bVar1; + undefined1 uVar2; + int iVar3; + uint uVar4; + int iVar5; + ulonglong uVar6; + undefined1 uVar7; + int iVar8; + undefined1 *puVar9; + uint local_res8 [2]; + undefined8 local_res20; + + if (((param_1 == 0) || (param_2 == (undefined1 *)0x0)) || (param_3 == (uint *)0x0)) { + return 0x10; + } + uVar6 = FUN_1400d2220(param_1,(int *)local_res8); + if ((int)uVar6 == 0) { + if (*param_3 < local_res8[0]) { + *param_3 = local_res8[0]; + return 6; + } + iVar3 = (*DAT_140163300)(param_1,0); + if (iVar3 == -1) { + uVar4 = (*DAT_140163308)(param_1); + uVar4 = (uVar4 - (uVar4 & 7)) + 8 >> 3; + iVar3 = (*DAT_140163310)(param_1); + iVar5 = (*DAT_140163308)(param_1); + bVar1 = false; + if ((iVar3 + 1 == iVar5) && + (uVar6 = (*DAT_140163308)(param_1), bVar1 = false, (uVar6 & 7) == 0)) { + uVar4 = uVar4 - 1; + } + } + else { + uVar6 = (*DAT_140163308)(); + if (((uVar6 & 7) == 0) || (iVar3 = (*DAT_140163300)(param_1,0), iVar3 == 0)) { + iVar3 = (*DAT_140163330)(param_1); + uVar4 = iVar3 + 1; + bVar1 = true; + } + else { + uVar4 = (*DAT_140163330)(param_1); + bVar1 = false; + } + } + *param_2 = 2; + uVar7 = (undefined1)uVar4; + if (uVar4 < 0x80) { + param_2[1] = uVar7; + puVar9 = param_2 + 2; + } + else if (uVar4 < 0x100) { + param_2[1] = 0x81; + param_2[2] = uVar7; + puVar9 = param_2 + 3; + } + else { + uVar2 = (undefined1)(uVar4 >> 8); + if (uVar4 < 0x10000) { + param_2[1] = 0x82; + puVar9 = param_2 + 4; + param_2[2] = uVar2; + param_2[3] = uVar7; + } + else { + if (0xffffff < uVar4) { + return 0x10; + } + param_2[1] = 0x83; + param_2[2] = (char)(uVar4 >> 0x10); + puVar9 = param_2 + 5; + param_2[3] = uVar2; + param_2[4] = uVar7; + } + } + if (bVar1) { + *puVar9 = 0; + puVar9 = puVar9 + 1; + } + iVar3 = (*DAT_140163300)(param_1,0); + if (iVar3 == 1) { + uVar6 = (*DAT_140163338)(param_1,puVar9); + if ((int)uVar6 != 0) { + return uVar6; + } + } + else { + iVar3 = (*DAT_140163300)(param_1,0); + if (iVar3 != 0) { + iVar3 = (*DAT_1401632b0)(&local_res20); + if (iVar3 == 0) { + uVar4 = (*DAT_140163308)(param_1); + iVar8 = (8 - (uVar4 & 7)) + uVar4; + iVar3 = (*DAT_140163310)(param_1); + iVar5 = (*DAT_140163308)(param_1); + if ((iVar3 + 1 == iVar5) && (uVar6 = (*DAT_140163308)(param_1), (uVar6 & 7) == 0)) { + iVar8 = iVar8 + -8; + } + iVar3 = (*DAT_140163318)(local_res20,iVar8); + if ((iVar3 == 0) && + (iVar3 = (*DAT_140163348)(local_res20,param_1,local_res20), iVar3 == 0)) { + uVar4 = (*DAT_140163338)(local_res20,puVar9); + if (uVar4 != 0) { + (*DAT_1401632c0)(); + return (ulonglong)uVar4; + } + (*DAT_1401632c0)(local_res20); + *param_3 = local_res8[0]; + return 0; + } + (*DAT_1401632c0)(local_res20); + } + return 0xd; + } + } + *param_3 = local_res8[0]; + uVar6 = 0; + } + return uVar6; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d49f0.c b/decomp/Agent_Release_x64/full/functions/0x1400d49f0.c new file mode 100644 index 00000000..0891db11 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d49f0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d49f0 FUN_1400d49f0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d49f0(int param_1,undefined2 *param_2,uint *param_3) + +{ + uint uVar1; + + if ((param_3 != (uint *)0x0) && (param_2 != (undefined2 *)0x0)) { + uVar1 = *param_3; + *param_3 = 3; + if (uVar1 < 3) { + return 6; + } + *param_2 = 0x101; + *(char *)(param_2 + 1) = -(param_1 != 0); + return 0; + } + return 0x10; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d4a30.c b/decomp/Agent_Release_x64/full/functions/0x1400d4a30.c new file mode 100644 index 00000000..e413f94a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d4a30.c @@ -0,0 +1,79 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d4a30 FUN_1400d4a30 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d4a30(int *param_1,int *param_2,int *param_3,int param_4) + +{ + int iVar1; + int iVar2; + undefined8 uVar3; + ulonglong uVar4; + uint uVar5; + longlong lVar6; + int iVar7; + uint *puVar8; + uint *puVar9; + uint uVar10; + ulonglong uVar11; + ulonglong uVar12; + uint *puVar13; + int local_48 [4]; + longlong local_38; + + iVar2 = *param_2; + iVar1 = *param_1; + uVar5 = iVar2 + 1 + iVar1; + if ((int)uVar5 < 0x200) { + if (iVar1 < iVar2) { + iVar2 = iVar1; + } + if (iVar2 < 0x100) { + uVar3 = FUN_1400d4b90(param_1,param_2,param_3,param_4); + return uVar3; + } + } + uVar3 = FUN_1400cf070(local_48,uVar5); + if ((int)uVar3 == 0) { + iVar2 = *param_1; + iVar1 = *param_2; + local_48[0] = iVar1 + 1 + iVar2; + lVar6 = 0; + uVar11 = (longlong)param_4; + if (0 < iVar2) { + do { + iVar7 = (int)uVar11; + uVar11 = 0; + uVar10 = 0; + uVar5 = *(uint *)(*(longlong *)(param_1 + 4) + lVar6 * 4); + puVar9 = (uint *)(local_38 + (longlong)param_4 * 4); + puVar13 = (uint *)(*(longlong *)(param_2 + 4) + (longlong)iVar7 * 4); + if (iVar7 < iVar1) { + uVar12 = (ulonglong)(uint)(iVar1 - iVar7); + puVar8 = puVar9; + do { + uVar10 = *puVar13; + puVar9 = puVar8 + 1; + puVar13 = puVar13 + 1; + uVar4 = (ulonglong)uVar10 * (ulonglong)uVar5 + (ulonglong)*puVar8 + + (uVar11 & 0xffffffff); + uVar11 = uVar4 >> 0x1c; + uVar10 = (uint)uVar11; + uVar12 = uVar12 - 1; + *puVar8 = (uint)uVar4 & 0xfffffff; + puVar8 = puVar9; + } while (uVar12 != 0); + } + lVar6 = lVar6 + 1; + *puVar9 = uVar10; + uVar11 = (ulonglong)(iVar7 - 1); + } while (lVar6 < iVar2); + } + FUN_1400ccef0(local_48); + FUN_1400cef30((undefined8 *)local_48,(undefined8 *)param_3); + FUN_1400c6dd0(local_48); + uVar3 = 0; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d4b90.c b/decomp/Agent_Release_x64/full/functions/0x1400d4b90.c new file mode 100644 index 00000000..379c6788 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d4b90.c @@ -0,0 +1,96 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d4b90 FUN_1400d4b90 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_1400d4b90(int *param_1,int *param_2,int *param_3,int param_4) + +{ + int iVar1; + int iVar2; + int iVar3; + longlong lVar4; + longlong lVar5; + uint uVar6; + uint uVar7; + undefined8 uVar8; + int iVar9; + ulonglong uVar10; + longlong lVar11; + void *_Dst; + int iVar12; + uint *puVar13; + uint *puVar14; + ulonglong uVar15; + longlong lVar16; + longlong lVar17; + undefined1 auStack_888 [40]; + undefined8 local_860; + undefined1 auStack_858 [2048]; + ulonglong local_58; + + local_58 = DAT_1401555a0 ^ (ulonglong)auStack_888; + lVar17 = (longlong)param_4; + local_860 = param_3; + if ((*param_2 + *param_1 <= param_3[1]) || + (uVar8 = FUN_1400cce50((longlong)param_3,*param_2 + *param_1), (int)uVar8 == 0)) { + iVar3 = *param_1; + iVar2 = iVar3 + *param_2; + uVar15 = 0; + lVar11 = (longlong)iVar2; + if (lVar17 < lVar11) { + lVar4 = *(longlong *)(param_1 + 4); + lVar5 = *(longlong *)(param_2 + 4); + iVar1 = *param_2 + -1; + lVar16 = lVar17; + iVar12 = param_4; + do { + iVar9 = iVar12; + if (iVar1 < iVar12) { + iVar9 = iVar1; + } + puVar13 = (uint *)(lVar4 + (longlong)(iVar12 - iVar9) * 4); + puVar14 = (uint *)(lVar5 + (longlong)iVar9 * 4); + uVar6 = iVar3 - (iVar12 - iVar9); + uVar7 = iVar9 + 1U; + if ((int)uVar6 < (int)(iVar9 + 1U)) { + uVar7 = uVar6; + } + uVar10 = (ulonglong)uVar7; + if (0 < (int)uVar7) { + do { + uVar7 = *puVar14; + uVar6 = *puVar13; + puVar14 = puVar14 + -1; + puVar13 = puVar13 + 1; + uVar15 = uVar15 + (ulonglong)uVar7 * (ulonglong)uVar6; + uVar10 = uVar10 - 1; + } while (uVar10 != 0); + } + lVar16 = lVar16 + 1; + iVar12 = iVar12 + 1; + uVar7 = (uint)uVar15; + uVar15 = uVar15 >> 0x1c; + *(uint *)(auStack_858 + lVar16 * 4 + -4) = uVar7 & 0xfffffff; + param_3 = local_860; + } while (lVar16 < lVar11); + } + iVar3 = *param_3; + *param_3 = iVar2; + _Dst = (void *)(*(longlong *)(param_3 + 4) + lVar17 * 4); + if (lVar17 < lVar11) { + lVar11 = lVar11 - lVar17; + memcpy(_Dst,auStack_858 + lVar17 * 4,lVar11 * 4); + param_4 = param_4 + (int)lVar11; + _Dst = (void *)((longlong)_Dst + lVar11 * 4); + } + if (param_4 < iVar3) { + memset(_Dst,0,(ulonglong)(uint)(iVar3 - param_4) << 2); + } + FUN_1400ccef0(param_3); + uVar8 = 0; + } + return uVar8; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d4d40.c b/decomp/Agent_Release_x64/full/functions/0x1400d4d40.c new file mode 100644 index 00000000..65bb360f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d4d40.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d4d40 FUN_1400d4d40 + * Pseudocode, not original source. */ + +ulonglong FUN_1400d4d40(undefined8 param_1,undefined4 *param_2,longlong param_3,int param_4) + +{ + uint uVar1; + ulonglong uVar2; + longlong local_68; + int local_60; + undefined8 local_58; + undefined4 local_50; + undefined4 local_4c; + undefined8 local_38; + undefined8 local_30; + + local_50 = *param_2; + local_38 = 0; + local_30 = 0; + local_68 = param_3; + local_60 = param_4; + local_58 = param_1; + uVar2 = FUN_1400d5078((longlong)&local_68,"1.2.3",0x58); + if ((int)uVar2 == 0) { + uVar1 = FUN_1400d51d8(&local_68,4); + if (uVar1 == 1) { + *param_2 = local_4c; + uVar2 = FUN_1400d6748((longlong)&local_68); + } + else { + FUN_1400d6748((longlong)&local_68); + if ((uVar1 == 2) || ((uVar1 == 0xfffffffb && (local_60 == 0)))) { + uVar2 = 0xfffffffd; + } + else { + uVar2 = (ulonglong)uVar1; + } + } + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d4de4.c b/decomp/Agent_Release_x64/full/functions/0x1400d4de4.c new file mode 100644 index 00000000..e1df9471 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d4de4.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d4de4 FUN_1400d4de4 + * Pseudocode, not original source. */ + +ulonglong FUN_1400d4de4(undefined8 param_1,undefined4 *param_2,longlong param_3,undefined4 param_4, + uint param_5) + +{ + ulonglong uVar1; + ulonglong uVar2; + longlong local_68; + undefined4 local_60; + undefined8 local_58; + undefined4 local_50; + undefined4 local_4c; + undefined8 local_38; + undefined8 local_30; + undefined8 local_28; + + local_50 = *param_2; + local_38 = 0; + local_30 = 0; + local_28 = 0; + local_68 = param_3; + local_60 = param_4; + local_58 = param_1; + uVar1 = FUN_1400d8e2c((longlong)&local_68,param_5,"1.2.3",0x58); + if ((int)uVar1 == 0) { + uVar2 = FUN_1400d6edc(&local_68,4); + uVar1 = uVar2 & 0xffffffff; + if ((int)uVar2 == 1) { + *param_2 = local_4c; + uVar1 = FUN_1400d772c((longlong)&local_68); + } + else { + FUN_1400d772c((longlong)&local_68); + if ((int)uVar2 == 0) { + uVar1 = 0xfffffffb; + } + } + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d4e94.c b/decomp/Agent_Release_x64/full/functions/0x1400d4e94.c new file mode 100644 index 00000000..b0c64cd3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d4e94.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d4e94 FUN_1400d4e94 + * Pseudocode, not original source. */ + +void FUN_1400d4e94(undefined8 param_1,undefined4 *param_2,longlong param_3,undefined4 param_4) + +{ + FUN_1400d4de4(param_1,param_2,param_3,param_4,0xffffffff); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d4ec8.c b/decomp/Agent_Release_x64/full/functions/0x1400d4ec8.c new file mode 100644 index 00000000..70315bfa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d4ec8.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d4ec8 FUN_1400d4ec8 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d4ec8(longlong param_1) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + + if ((param_1 != 0) && (puVar2 = *(undefined8 **)(param_1 + 0x28), puVar2 != (undefined8 *)0x0)) { + *(undefined4 *)((longlong)puVar2 + 0x1c) = 0; + *(undefined4 *)(param_1 + 0x1c) = 0; + *(undefined4 *)(param_1 + 0xc) = 0; + *(undefined8 *)(param_1 + 0x20) = 0; + *(undefined4 *)(param_1 + 0x4c) = 1; + *puVar2 = 0; + *(undefined4 *)((longlong)puVar2 + 0xc) = 0; + puVar2[4] = 0; + *(undefined8 *)((longlong)puVar2 + 0x2c) = 0; + *(undefined4 *)((longlong)puVar2 + 0x34) = 0; + puVar2[8] = 0; + puVar1 = puVar2 + 0xa9; + puVar2[0x10] = puVar1; + puVar2[0xc] = puVar1; + puVar2[0xb] = puVar1; + *(undefined4 *)((longlong)puVar2 + 0x14) = 0x8000; + return 0; + } + return 0xfffffffe; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d4f88.c b/decomp/Agent_Release_x64/full/functions/0x1400d4f88.c new file mode 100644 index 00000000..357063b0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d4f88.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d4f88 FUN_1400d4f88 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d4f88(longlong param_1,uint param_2,char *param_3,int param_4) + +{ + code *pcVar1; + longlong lVar2; + undefined8 uVar3; + + if (((param_3 == (char *)0x0) || (*param_3 != '1')) || (param_4 != 0x58)) { + return 0xfffffffa; + } + if (param_1 != 0) { + *(undefined8 *)(param_1 + 0x20) = 0; + if (*(longlong *)(param_1 + 0x30) == 0) { + *(undefined8 *)(param_1 + 0x40) = 0; + *(code **)(param_1 + 0x30) = FUN_1400d8e98; + } + pcVar1 = *(code **)(param_1 + 0x38); + if (pcVar1 == (code *)0x0) { + pcVar1 = FUN_1400d8eb8; + } + *(code **)(param_1 + 0x38) = pcVar1; + lVar2 = (**(code **)(param_1 + 0x30))(*(undefined8 *)(param_1 + 0x40),1,0x2548); + if (lVar2 == 0) { + return 0xfffffffc; + } + *(longlong *)(param_1 + 0x28) = lVar2; + if ((int)param_2 < 0) { + *(undefined4 *)(lVar2 + 8) = 0; + param_2 = -param_2; + } + else { + *(int *)(lVar2 + 8) = ((int)param_2 >> 4) + 1; + if ((int)param_2 < 0x30) { + param_2 = param_2 & 0xf; + } + } + if (param_2 - 8 < 8) { + *(undefined8 *)(lVar2 + 0x38) = 0; + *(uint *)(lVar2 + 0x28) = param_2; + uVar3 = FUN_1400d4ec8(param_1); + return uVar3; + } + (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40)); + *(undefined8 *)(param_1 + 0x28) = 0; + } + return 0xfffffffe; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d5078.c b/decomp/Agent_Release_x64/full/functions/0x1400d5078.c new file mode 100644 index 00000000..63a84dd3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d5078.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d5078 FUN_1400d5078 + * Pseudocode, not original source. */ + +void FUN_1400d5078(longlong param_1,char *param_2,int param_3) + +{ + FUN_1400d4f88(param_1,0xf,param_2,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d5098.c b/decomp/Agent_Release_x64/full/functions/0x1400d5098.c new file mode 100644 index 00000000..356a20c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d5098.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d5098 FUN_1400d5098 + * Pseudocode, not original source. */ + +void FUN_1400d5098(longlong param_1) + +{ + *(undefined4 *)(param_1 + 0x68) = 9; + *(undefined4 *)(param_1 + 0x6c) = 5; + *(undefined **)(param_1 + 0x58) = &DAT_1401178c0; + *(undefined **)(param_1 + 0x60) = &DAT_1401180c0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d50c8.c b/decomp/Agent_Release_x64/full/functions/0x1400d50c8.c new file mode 100644 index 00000000..1ea7b4e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d50c8.c @@ -0,0 +1,65 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d50c8 FUN_1400d50c8 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d50c8(longlong param_1,int param_2) + +{ + longlong lVar1; + int iVar2; + longlong lVar3; + uint uVar4; + uint uVar5; + + lVar1 = *(longlong *)(param_1 + 0x28); + if (*(longlong *)(lVar1 + 0x38) == 0) { + lVar3 = (**(code **)(param_1 + 0x30)) + (*(undefined8 *)(param_1 + 0x40), + 1 << ((byte)*(undefined4 *)(lVar1 + 0x28) & 0x1f),1); + *(longlong *)(lVar1 + 0x38) = lVar3; + if (lVar3 == 0) { + return 1; + } + } + if (*(int *)(lVar1 + 0x2c) == 0) { + *(undefined8 *)(lVar1 + 0x30) = 0; + *(int *)(lVar1 + 0x2c) = 1 << ((byte)*(undefined4 *)(lVar1 + 0x28) & 0x1f); + } + uVar4 = param_2 - *(int *)(param_1 + 0x18); + uVar5 = *(uint *)(lVar1 + 0x2c); + if (uVar4 < uVar5) { + uVar5 = uVar5 - *(int *)(lVar1 + 0x34); + if (uVar4 < uVar5) { + uVar5 = uVar4; + } + memcpy((void *)((ulonglong)*(uint *)(lVar1 + 0x34) + *(longlong *)(lVar1 + 0x38)), + (void *)(*(longlong *)(param_1 + 0x10) - (ulonglong)uVar4),(ulonglong)uVar5); + uVar4 = uVar4 - uVar5; + if (uVar4 == 0) { + *(int *)(lVar1 + 0x34) = *(int *)(lVar1 + 0x34) + uVar5; + uVar4 = *(uint *)(lVar1 + 0x34); + if (*(uint *)(lVar1 + 0x34) == *(uint *)(lVar1 + 0x2c)) { + uVar4 = 0; + } + *(uint *)(lVar1 + 0x34) = uVar4; + if (*(uint *)(lVar1 + 0x2c) <= *(uint *)(lVar1 + 0x30)) { + return 0; + } + iVar2 = *(uint *)(lVar1 + 0x30) + uVar5; + goto LAB_1400d51a4; + } + memcpy(*(void **)(lVar1 + 0x38),(void *)(*(longlong *)(param_1 + 0x10) - (ulonglong)uVar4), + (ulonglong)uVar4); + *(uint *)(lVar1 + 0x34) = uVar4; + } + else { + memcpy(*(void **)(lVar1 + 0x38),(void *)(*(longlong *)(param_1 + 0x10) - (ulonglong)uVar5), + (ulonglong)uVar5); + *(undefined4 *)(lVar1 + 0x34) = 0; + } + iVar2 = *(int *)(lVar1 + 0x2c); +LAB_1400d51a4: + *(int *)(lVar1 + 0x30) = iVar2; + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d51d8.c b/decomp/Agent_Release_x64/full/functions/0x1400d51d8.c new file mode 100644 index 00000000..d37533a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d51d8.c @@ -0,0 +1,1164 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d51d8 FUN_1400d51d8 + * Pseudocode, not original source. */ + +int FUN_1400d51d8(longlong *param_1,int param_2) + +{ + uint *puVar1; + char cVar2; + uint uVar3; + undefined8 uVar4; + char *pcVar5; + byte bVar6; + ushort uVar7; + uint uVar8; + uint uVar9; + ulonglong uVar10; + longlong lVar11; + uint uVar12; + ulonglong uVar13; + uint uVar14; + int iVar15; + uint *puVar16; + ulonglong uVar17; + undefined2 uVar18; + undefined1 *puVar19; + uint uVar20; + ulonglong uVar21; + int iVar22; + uint uVar23; + uint uVar24; + uint uVar25; + int local_res8; + uint local_res18; + uint local_res20; + undefined2 local_68; + undefined1 local_66; + undefined1 local_65; + undefined4 local_64; + uint local_60; + uint *local_58; + undefined1 *local_50; + + if ((((param_1 == (longlong *)0x0) || (puVar1 = (uint *)param_1[5], puVar1 == (uint *)0x0)) || + (param_1[2] == 0)) || ((*param_1 == 0 && ((int)param_1[1] != 0)))) { + return -2; + } + uVar25 = *puVar1; + uVar23 = puVar1[0x10]; + uVar14 = puVar1[0x11]; + local_res8 = 0; + if (uVar25 == 0xb) { + uVar25 = 0xc; + } + *puVar1 = uVar25; + local_res20 = *(uint *)(param_1 + 3); + uVar17 = (ulonglong)local_res20; + local_58 = (uint *)*param_1; + uVar25 = *(uint *)(param_1 + 1); + local_50 = (undefined1 *)param_1[2]; + uVar13 = uVar17; + local_60 = uVar25; +LAB_1400d525e: + uVar21 = 0; + uVar10 = 0x10; + puVar16 = local_58; +LAB_1400d5263: + local_res18 = (uint)uVar13; + puVar19 = local_50; +LAB_1400d526b: + uVar12 = 7; +LAB_1400d5270: + do { + uVar8 = (uint)uVar10; + uVar3 = *puVar1; + uVar20 = (uint)uVar21; + uVar24 = (uint)uVar13; + uVar9 = local_64; + if ((int)uVar3 < 0xf) { + if (uVar3 == 0xe) { +LAB_1400d594c: + uVar3 = puVar1[0x12]; + if (uVar3 != 0) { + if (uVar25 < uVar3) { + uVar3 = uVar25; + } + if (uVar24 < uVar3) { + uVar3 = uVar24; + } + uVar12 = uVar25; + if (uVar3 != 0) { + memcpy(puVar19,local_58,(ulonglong)uVar3); + local_58 = (uint *)((longlong)local_58 + (ulonglong)uVar3); + uVar25 = uVar25 - uVar3; + local_res18 = local_res18 - uVar3; + local_50 = local_50 + uVar3; + puVar1[0x12] = puVar1[0x12] - uVar3; + goto LAB_1400d59a2; + } + goto LAB_1400d56c6; + } + *puVar1 = 0xb; + puVar16 = local_58; + goto LAB_1400d5270; + } + if ((int)uVar3 <= (int)uVar12) { + if (uVar3 == uVar12) goto LAB_1400d5646; + if (uVar3 == 0) { + uVar3 = uVar23; + if (puVar1[2] != uVar20) goto LAB_1400d5752; + *puVar1 = 0xc; + goto LAB_1400d526b; + } + if (uVar3 == 1) goto LAB_1400d52fb; + if (uVar3 == 2) goto LAB_1400d539b; + if (uVar3 == 3) goto LAB_1400d5421; + if (uVar3 == 4) goto LAB_1400d547f; + if (uVar3 == 5) goto LAB_1400d549f; + if (uVar3 != 6) { + return -2; + } + goto LAB_1400d55ad; + } + if (uVar3 == 8) goto LAB_1400d58aa; + if (uVar3 == 9) { + for (; uVar14 < 0x20; uVar14 = uVar14 + 8) { + uVar12 = uVar25; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << ((byte)uVar14 & 0x1f)); + local_58 = puVar16; + } + uVar23 = (uVar23 >> 8 & 0xff00) + ((uVar23 & 0xff00) + uVar23 * 0x10000) * 0x100 + + (uVar23 >> 0x18); + puVar1[6] = uVar23; + *(uint *)((longlong)param_1 + 0x4c) = uVar23; + *puVar1 = 10; + uVar23 = uVar20; + uVar14 = uVar20; +LAB_1400d5a0e: + if (puVar1[3] == uVar20) { + param_1[2] = (longlong)puVar19; + *(uint *)(param_1 + 3) = uVar24; + *param_1 = (longlong)puVar16; + *(uint *)(param_1 + 1) = uVar25; + puVar1[0x10] = uVar23; + puVar1[0x11] = uVar14; + return 2; + } + uVar12 = FUN_1400d978c(0,(byte *)0x0,0); + uVar17 = (ulonglong)local_res20; + uVar13 = (ulonglong)local_res18; + uVar21 = 0; + puVar1[6] = uVar12; + *(uint *)((longlong)param_1 + 0x4c) = uVar12; + *puVar1 = 0xb; + uVar10 = 0x10; + puVar19 = local_50; +LAB_1400d5a44: + uVar12 = uVar25; + uVar9 = local_64; + if (param_2 == 5) goto LAB_1400d56c6; + } + else { + if (uVar3 == 10) goto LAB_1400d5a0e; + if (uVar3 == 0xb) goto LAB_1400d5a44; + if (uVar3 != 0xc) { + if (uVar3 != 0xd) { + return -2; + } + uVar23 = uVar23 >> (sbyte)(uVar14 & 7); + for (uVar14 = uVar14 - (uVar14 & 7); uVar14 < 0x20; uVar14 = uVar14 + 8) { + uVar12 = uVar25; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << ((byte)uVar14 & 0x1f)); + local_58 = puVar16; + } + if ((uVar23 & 0xffff) == ~uVar23 >> 0x10) { + puVar1[0x12] = uVar23 & 0xffff; + *puVar1 = 0xe; + uVar12 = 7; + uVar23 = uVar20; + uVar14 = uVar20; + goto LAB_1400d594c; + } + pcVar5 = "invalid stored block lengths"; + goto LAB_1400d5870; + } + } + if (puVar1[1] != (uint)uVar21) { + uVar12 = 7; + *puVar1 = 0x18; + uVar23 = uVar23 >> (sbyte)(uVar14 & 7); + uVar14 = uVar14 - (uVar14 & 7); + goto LAB_1400d5270; + } + goto LAB_1400d5a8e; + } + if (0x16 < (int)uVar3) { + uVar12 = uVar25; + if (uVar3 == 0x17) { + if (uVar24 == 0) goto LAB_1400d56c6; + *puVar19 = (char)puVar1[0x12]; + local_50 = puVar19 + 1; + uVar13 = (ulonglong)(uVar24 - 1); + *puVar1 = 0x12; + goto LAB_1400d5263; + } + if (uVar3 == 0x18) { + uVar12 = uVar23; + uVar3 = uVar14; + if (puVar1[2] != uVar20) goto LAB_1400d6560; + goto LAB_1400d65f8; + } + if (uVar3 == 0x19) goto LAB_1400d65fe; + if (uVar3 == 0x1a) goto LAB_1400d66a4; + if (uVar3 != 0x1b) { + if (uVar3 == 0x1c) { + return -4; + } + return -2; + } + local_res8 = -3; + goto LAB_1400d56c6; + } + if (uVar3 == 0x16) goto LAB_1400d6468; + if (uVar3 != 0xf) { + if (uVar3 == 0x10) goto LAB_1400d5c5f; + if (uVar3 == 0x11) goto LAB_1400d5d50; + uVar12 = (uint)uVar17; + if (uVar3 == 0x12) goto LAB_1400d6071; + if (uVar3 == 0x13) goto LAB_1400d6246; + if (uVar3 == 0x14) goto LAB_1400d6294; + if (uVar3 != 0x15) { + return -2; + } + goto LAB_1400d6400; + } + for (; uVar14 < 0xe; uVar14 = uVar14 + 8) { + uVar12 = uVar25; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << ((byte)uVar14 & 0x1f)); + local_58 = puVar16; + } + uVar14 = uVar14 - 0xe; + uVar24 = uVar23 >> 10; + uVar12 = (uVar23 & 0x1f) + 0x101; + uVar3 = (uVar23 >> 5 & 0x1f) + 1; + uVar23 = uVar23 >> 0xe; + puVar1[0x1d] = uVar12; + puVar1[0x1e] = uVar3; + puVar1[0x1c] = (uVar24 & 0xf) + 4; + if ((0x11e < uVar12) || (0x1e < uVar3)) { + pcVar5 = "too many length or distance symbols"; + goto LAB_1400d5806; + } + puVar1[0x1f] = uVar20; + *puVar1 = 0x10; +LAB_1400d5c5f: + while (uVar3 = uVar23, puVar1[0x1f] < puVar1[0x1c]) { + for (; uVar14 < 3; uVar14 = uVar14 + 8) { + uVar23 = uVar3; + uVar12 = uVar25; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar23 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + bVar6 = (byte)uVar14; + uVar25 = uVar25 - 1; + uVar3 = uVar3 + ((uint)(byte)uVar23 << (bVar6 & 0x1f)); + local_58 = puVar16; + } + uVar23 = uVar3 >> 3; + *(ushort *) + ((longlong)puVar1 + + (ulonglong)*(ushort *)(&DAT_140118140 + (ulonglong)puVar1[0x1f] * 2) * 2 + 0x88) = + (ushort)uVar3 & 7; + puVar1[0x1f] = puVar1[0x1f] + 1; + uVar14 = uVar14 - 3; + } + while (puVar1[0x1f] < 0x13) { + *(short *)((longlong)puVar1 + + (ulonglong)*(ushort *)(&DAT_140118140 + (ulonglong)puVar1[0x1f] * 2) * 2 + 0x88) = + (short)uVar21; + puVar1[0x1f] = puVar1[0x1f] + 1; + } + puVar1[0x1a] = 7; + *(uint **)(puVar1 + 0x20) = puVar1 + 0x152; + *(uint **)(puVar1 + 0x16) = puVar1 + 0x152; + uVar4 = FUN_1400d9324(0,(ushort *)(puVar1 + 0x22),0x13,(longlong *)(puVar1 + 0x20),puVar1 + 0x1a + ,(undefined *)(puVar1 + 0xc2)); + uVar21 = 0; + local_res8 = (int)uVar4; + uVar10 = 0x10; + puVar19 = local_50; + if (local_res8 != 0) { + uVar17 = (ulonglong)local_res20; + uVar13 = (ulonglong)local_res18; + param_1[4] = (longlong)"invalid code lengths set"; + *puVar1 = 0x1b; + goto LAB_1400d526b; + } + puVar1[0x1f] = 0; + *puVar1 = 0x11; +LAB_1400d5d50: + if (puVar1[0x1f] < puVar1[0x1e] + puVar1[0x1d]) { + do { + for (; uVar9 = *(uint *)(*(longlong *)(puVar1 + 0x16) + + (ulonglong)((1 << ((byte)puVar1[0x1a] & 0x1f)) - 1U & uVar23) * 4), + uVar14 < (uVar9 >> 8 & 0xff); uVar14 = uVar14 + 8) { + uVar12 = uVar25; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << ((byte)uVar14 & 0x1f)); + local_58 = puVar16; + } + uVar7 = (ushort)(uVar9 >> 0x10); + local_64._1_1_ = (byte)(uVar9 >> 8); + local_64 = uVar9; + if (uVar7 < (ushort)uVar10) { + if (uVar14 < (uVar9 >> 8 & 0xff)) { + do { + uVar12 = 0; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + bVar6 = (byte)uVar14; + uVar14 = uVar14 + 8; + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << (bVar6 & 0x1f)); + local_58 = puVar16; + } while (uVar14 < local_64._1_1_); + } + uVar23 = uVar23 >> (local_64._1_1_ & 0x1f); + uVar14 = uVar14 - local_64._1_1_; + *(ushort *)((longlong)puVar1 + (ulonglong)puVar1[0x1f] * 2 + 0x88) = uVar7; + puVar1[0x1f] = puVar1[0x1f] + 1; + } + else { + if (uVar7 == (ushort)uVar10) { + for (; uVar14 < local_64._1_1_ + 2; uVar14 = uVar14 + 8) { + uVar12 = uVar25; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << ((byte)uVar14 & 0x1f)); + local_58 = puVar16; + } + uVar14 = uVar14 - local_64._1_1_; + uVar23 = uVar23 >> (local_64._1_1_ & 0x1f); + if (puVar1[0x1f] == 0) { + param_1[4] = (longlong)"invalid bit length repeat"; + *puVar1 = 0x1b; + goto LAB_1400d57a1; + } + uVar18 = *(undefined2 *)((longlong)puVar1 + (ulonglong)(puVar1[0x1f] - 1) * 2 + 0x88); + iVar22 = (uVar23 & 3) + 3; + uVar14 = uVar14 - 2; + uVar23 = uVar23 >> 2; + } + else { + if (uVar7 == 0x11) { + for (; uVar14 < local_64._1_1_ + 3; uVar14 = uVar14 + 8) { + uVar12 = uVar25; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << ((byte)uVar14 & 0x1f)); + local_58 = puVar16; + } + iVar15 = -3; + uVar23 = uVar23 >> (local_64._1_1_ & 0x1f); + iVar22 = (uVar23 & 7) + 3; + uVar23 = uVar23 >> 3; + } + else { + for (; uVar14 < local_64._1_1_ + 7; uVar14 = uVar14 + 8) { + uVar12 = uVar25; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << ((byte)uVar14 & 0x1f)); + local_58 = puVar16; + } + iVar15 = -7; + uVar23 = uVar23 >> (local_64._1_1_ & 0x1f); + iVar22 = (uVar23 & 0x7f) + 0xb; + uVar23 = uVar23 >> 7; + } + uVar18 = (undefined2)uVar21; + uVar14 = uVar14 + (iVar15 - (uint)local_64._1_1_); + } + if (puVar1[0x1e] + puVar1[0x1d] < iVar22 + puVar1[0x1f]) { + param_1[4] = (longlong)"invalid bit length repeat"; + *puVar1 = 0x1b; + break; + } + for (; iVar22 != 0; iVar22 = iVar22 + -1) { + *(undefined2 *)((longlong)puVar1 + (ulonglong)puVar1[0x1f] * 2 + 0x88) = uVar18; + puVar1[0x1f] = puVar1[0x1f] + 1; + } + uVar10 = 0x10; + } + } while (puVar1[0x1f] < puVar1[0x1e] + puVar1[0x1d]); + } + uVar17 = (ulonglong)local_res20; + uVar13 = (ulonglong)local_res18; + uVar10 = 0x10; + uVar12 = 7; + } while (*puVar1 == 0x1b); + *(uint **)(puVar1 + 0x20) = puVar1 + 0x152; + *(uint **)(puVar1 + 0x16) = puVar1 + 0x152; + puVar1[0x1a] = 9; + uVar4 = FUN_1400d9324(1,(ushort *)(puVar1 + 0x22),puVar1[0x1d],(longlong *)(puVar1 + 0x20), + puVar1 + 0x1a,(undefined *)(puVar1 + 0xc2)); + local_res8 = (int)uVar4; + if (local_res8 != 0) { + param_1[4] = (longlong)"invalid literal/lengths set"; + *puVar1 = 0x1b; + puVar16 = local_58; + goto LAB_1400d579d; + } + *(undefined8 *)(puVar1 + 0x18) = *(undefined8 *)(puVar1 + 0x20); + puVar1[0x1b] = 6; + uVar4 = FUN_1400d9324(2,(ushort *)((longlong)puVar1 + (ulonglong)puVar1[0x1d] * 2 + 0x88), + puVar1[0x1e],(longlong *)(puVar1 + 0x20),puVar1 + 0x1b, + (undefined *)(puVar1 + 0xc2)); + uVar17 = (ulonglong)local_res20; + uVar13 = (ulonglong)local_res18; + uVar21 = 0; + local_res8 = (int)uVar4; + puVar19 = local_50; + puVar16 = local_58; + if (local_res8 != 0) { + pcVar5 = "invalid distances set"; + goto LAB_1400d5806; + } + *puVar1 = 0x12; + uVar24 = local_res18; + uVar12 = local_res20; +LAB_1400d6071: + if ((5 < uVar25) && (0x101 < uVar24)) { + param_1[2] = (longlong)puVar19; + *(uint *)(param_1 + 3) = uVar24; + *param_1 = (longlong)puVar16; + *(uint *)(param_1 + 1) = uVar25; + puVar1[0x10] = uVar23; + puVar1[0x11] = uVar14; + FUN_1400d8ec4(param_1,uVar12); + local_58 = (uint *)*param_1; + local_50 = (undefined1 *)param_1[2]; + local_res18 = *(uint *)(param_1 + 3); + uVar25 = *(uint *)(param_1 + 1); + uVar23 = puVar1[0x10]; + uVar14 = puVar1[0x11]; +LAB_1400d59a2: + uVar13 = (ulonglong)local_res18; + uVar17 = (ulonglong)local_res20; + goto LAB_1400d525e; + } + uVar9 = *(uint *)(*(longlong *)(puVar1 + 0x16) + + (ulonglong)((1 << ((byte)puVar1[0x1a] & 0x1f)) - 1U & uVar23) * 4); + for (; uVar14 < (uVar9 >> 8 & 0xff); uVar14 = uVar14 + 8) { + uVar12 = uVar25; + uVar9 = local_64; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << ((byte)uVar14 & 0x1f)); + uVar9 = *(uint *)(*(longlong *)(puVar1 + 0x16) + + (ulonglong)((1 << ((byte)puVar1[0x1a] & 0x1f)) - 1U & uVar23) * 4); + local_58 = puVar16; + } + cVar2 = (char)uVar9; + uVar12 = uVar9; + if ((cVar2 != '\0') && ((uVar9 & 0xf0) == 0)) { + bVar6 = (byte)(uVar9 >> 8); + uVar12 = *(uint *)(*(longlong *)(puVar1 + 0x16) + + (ulonglong) + ((((1 << (cVar2 + bVar6 & 0x1f)) - 1U & uVar23) >> (bVar6 & 0x1f)) + + (uVar9 >> 0x10)) * 4); + uVar3 = (uVar12 >> 8 & 0xff) + (uVar9 >> 8 & 0xff); + for (; uVar14 < uVar3; uVar14 = uVar14 + 8) { + uVar12 = uVar25; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar23 = uVar23 + ((uint)(byte)*puVar16 << ((byte)uVar14 & 0x1f)); + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar12 = *(uint *)(*(longlong *)(puVar1 + 0x16) + + (ulonglong) + ((((1 << (cVar2 + bVar6 & 0x1f)) - 1U & uVar23) >> (bVar6 & 0x1f)) + + (uVar9 >> 0x10)) * 4); + uVar3 = (uVar12 >> 8 & 0xff) + (uint)bVar6; + local_58 = puVar16; + } + uVar23 = uVar23 >> (bVar6 & 0x1f); + uVar14 = uVar14 - bVar6; + local_64 = uVar9; + } + uVar23 = uVar23 >> ((byte)(uVar12 >> 8) & 0x1f); + uVar14 = uVar14 - (uVar12 >> 8 & 0xff); + puVar1[0x12] = uVar12 >> 0x10; + if ((char)uVar12 == '\0') { + *puVar1 = 0x17; + goto LAB_1400d579d; + } + if ((uVar12 & 0x20) != 0) { + *puVar1 = 0xb; + goto LAB_1400d579d; + } + if ((uVar12 & 0x40) != 0) { + param_1[4] = (longlong)"invalid literal/length code"; + *puVar1 = 0x1b; + goto LAB_1400d579d; + } + *puVar1 = 0x13; + puVar1[0x14] = uVar12 & 0xf; +LAB_1400d6246: + uVar3 = puVar1[0x14]; + if (uVar3 != 0) { + if (uVar14 < uVar3) { + do { + uVar12 = 0; + uVar9 = local_64; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + bVar6 = (byte)uVar14; + uVar14 = uVar14 + 8; + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << (bVar6 & 0x1f)); + local_58 = puVar16; + } while (uVar14 < puVar1[0x14]); + } + uVar12 = (1 << ((byte)uVar3 & 0x1f)) - 1U & uVar23; + uVar23 = uVar23 >> ((byte)uVar3 & 0x1f); + puVar1[0x12] = puVar1[0x12] + uVar12; + uVar14 = uVar14 - uVar3; + } + *puVar1 = 0x14; +LAB_1400d6294: + uVar9 = *(uint *)(*(longlong *)(puVar1 + 0x18) + + (ulonglong)((1 << ((byte)puVar1[0x1b] & 0x1f)) - 1U & uVar23) * 4); + for (; uVar14 < (uVar9 >> 8 & 0xff); uVar14 = uVar14 + 8) { + uVar12 = uVar25; + uVar9 = local_64; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << ((byte)uVar14 & 0x1f)); + uVar9 = *(uint *)(*(longlong *)(puVar1 + 0x18) + + (ulonglong)((1 << ((byte)puVar1[0x1b] & 0x1f)) - 1U & uVar23) * 4); + local_58 = puVar16; + } + uVar12 = uVar9; + if ((uVar9 & 0xf0) == 0) { + bVar6 = (byte)(uVar9 >> 8); + uVar12 = *(uint *)(*(longlong *)(puVar1 + 0x18) + + (ulonglong) + ((((1 << ((char)uVar9 + bVar6 & 0x1f)) - 1U & uVar23) >> (bVar6 & 0x1f)) + + (uVar9 >> 0x10)) * 4); + uVar3 = (uVar12 >> 8 & 0xff) + (uVar9 >> 8 & 0xff); + for (; uVar14 < uVar3; uVar14 = uVar14 + 8) { + uVar12 = uVar25; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar23 = uVar23 + ((uint)(byte)*puVar16 << ((byte)uVar14 & 0x1f)); + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar12 = *(uint *)(*(longlong *)(puVar1 + 0x18) + + (ulonglong) + ((((1 << ((char)uVar9 + bVar6 & 0x1f)) - 1U & uVar23) >> (bVar6 & 0x1f)) + + (uVar9 >> 0x10)) * 4); + uVar3 = (uVar12 >> 8 & 0xff) + (uint)bVar6; + local_58 = puVar16; + } + uVar23 = uVar23 >> (bVar6 & 0x1f); + uVar14 = uVar14 - bVar6; + local_64 = uVar9; + } + uVar17 = (ulonglong)local_res20; + uVar13 = (ulonglong)local_res18; + uVar23 = uVar23 >> ((byte)(uVar12 >> 8) & 0x1f); + uVar14 = uVar14 - (uVar12 >> 8 & 0xff); + if ((uVar12 & 0x40) != 0) { + param_1[4] = (longlong)"invalid distance code"; + *puVar1 = 0x1b; + goto LAB_1400d5b78; + } + *puVar1 = 0x15; + puVar1[0x13] = uVar12 >> 0x10; + uVar21 = 0; + puVar1[0x14] = uVar12 & 0xf; + puVar19 = local_50; +LAB_1400d6400: + uVar24 = (uint)uVar13; + uVar3 = puVar1[0x14]; + if (uVar3 != 0) { + if (uVar14 < uVar3) { + do { + uVar12 = 0; + uVar9 = local_64; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + bVar6 = (byte)uVar14; + uVar14 = uVar14 + 8; + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << (bVar6 & 0x1f)); + local_58 = puVar16; + } while (uVar14 < puVar1[0x14]); + } + uVar12 = (1 << ((byte)uVar3 & 0x1f)) - 1U & uVar23; + uVar23 = uVar23 >> ((byte)uVar3 & 0x1f); + puVar1[0x13] = puVar1[0x13] + uVar12; + uVar14 = uVar14 - uVar3; + } + if ((puVar1[0xc] - uVar24) + (int)uVar17 < puVar1[0x13]) { + pcVar5 = "invalid distance too far back"; + goto LAB_1400d5806; + } + *puVar1 = 0x16; +LAB_1400d6468: + uVar12 = uVar25; + uVar9 = local_64; + if (uVar24 == 0) goto LAB_1400d56c6; + uVar3 = puVar1[0x13]; + uVar12 = (int)uVar17 - uVar24; + if (uVar12 < uVar3) { + uVar3 = uVar3 - uVar12; + uVar9 = puVar1[0xd]; + if (uVar9 < uVar3) { + uVar3 = uVar3 - uVar9; + uVar9 = puVar1[0xb] - uVar3; + } + else { + uVar9 = uVar9 - uVar3; + } + uVar12 = puVar1[0x12]; + lVar11 = (ulonglong)uVar9 + *(longlong *)(puVar1 + 0xe); + if (uVar3 <= uVar12) goto LAB_1400d64b8; + } + else { + lVar11 = (longlong)puVar19 - (ulonglong)uVar3; + uVar12 = puVar1[0x12]; + } + uVar3 = uVar12; + uVar12 = uVar3; +LAB_1400d64b8: + if (uVar24 < uVar3) { + uVar3 = uVar24; + } + local_res18 = uVar24 - uVar3; + uVar13 = (ulonglong)local_res18; + lVar11 = lVar11 - (longlong)puVar19; + puVar1[0x12] = uVar12 - uVar3; + do { + uVar12 = uVar3; + *puVar19 = puVar19[lVar11]; + puVar19 = puVar19 + 1; + uVar3 = uVar12 - 1; + } while (uVar12 - 1 != 0); + uVar10 = (ulonglong)(uVar12 + 0xf); + uVar12 = uVar12 + 6; + local_50 = puVar19; + if (puVar1[0x12] == (uint)uVar21) { + *puVar1 = 0x12; + } + goto LAB_1400d5270; +LAB_1400d6560: + if (0x1f < uVar14) goto code_r0x0001400d6565; + uVar12 = uVar25; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << ((byte)uVar14 & 0x1f)); + uVar14 = uVar14 + 8; + local_58 = puVar16; + goto LAB_1400d6560; +code_r0x0001400d6565: + uVar24 = (uint)uVar17 - uVar24; + *(int *)((longlong)param_1 + 0x1c) = *(int *)((longlong)param_1 + 0x1c) + uVar24; + puVar1[7] = puVar1[7] + uVar24; + if (uVar24 != 0) { + if (puVar1[4] == uVar20) { + uVar12 = FUN_1400d978c(puVar1[6],puVar19 + -(ulonglong)uVar24,uVar24); + } + else { + uVar12 = FUN_1400da318(puVar1[6],(uint *)(puVar19 + -(ulonglong)uVar24),uVar24); + } + uVar13 = (ulonglong)local_res18; + uVar21 = 0; + puVar1[6] = uVar12; + uVar10 = 0x10; + *(uint *)((longlong)param_1 + 0x4c) = uVar12; + puVar19 = local_50; + } + local_res20 = (uint)uVar13; + uVar17 = uVar13 & 0xffffffff; + uVar12 = (uint)uVar21; + uVar9 = ((uVar23 & 0xff00) + uVar23 * 0x10000) * 0x100 + (uVar23 >> 8 & 0xff00) + (uVar23 >> 0x18) + ; + if (puVar1[4] != uVar12) { + uVar9 = uVar23; + } + uVar3 = uVar12; + if (uVar9 == puVar1[6]) { +LAB_1400d65f8: + uVar14 = uVar3; + uVar23 = uVar12; + *puVar1 = 0x19; +LAB_1400d65fe: + uVar24 = (uint)uVar21; + uVar12 = uVar23; + uVar3 = uVar14; + if ((puVar1[2] != uVar24) && (puVar1[4] != uVar24)) { + for (; uVar14 < 0x20; uVar14 = uVar14 + 8) { + uVar12 = uVar25; + uVar9 = local_64; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << ((byte)uVar14 & 0x1f)); + local_58 = puVar16; + } + uVar12 = uVar24; + uVar3 = uVar24; + if (uVar23 != puVar1[7]) { + pcVar5 = "incorrect length check"; + goto LAB_1400d5870; + } + } + uVar14 = uVar3; + uVar23 = uVar12; + *puVar1 = 0x1a; +LAB_1400d66a4: + local_res8 = 1; + uVar12 = uVar25; + uVar9 = local_64; +LAB_1400d56c6: + local_64 = uVar9; + *(uint *)(param_1 + 1) = uVar12; + param_1[2] = (longlong)local_50; + *(uint *)(param_1 + 3) = local_res18; + *param_1 = (longlong)local_58; + puVar1[0x10] = uVar23; + iVar22 = 0; + puVar1[0x11] = uVar14; + if (((puVar1[0xb] != 0) || (((int)*puVar1 < 0x18 && (local_res20 != *(uint *)(param_1 + 3))))) + && (uVar4 = FUN_1400d50c8((longlong)param_1,local_res20), (int)uVar4 != 0)) { + *puVar1 = 0x1c; + return -4; + } + local_res20 = local_res20 - (int)param_1[3]; + iVar15 = local_60 - (int)param_1[1]; + *(int *)((longlong)param_1 + 0x1c) = *(int *)((longlong)param_1 + 0x1c) + local_res20; + *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + iVar15; + puVar1[7] = puVar1[7] + local_res20; + if ((puVar1[2] != 0) && (local_res20 != 0)) { + if (puVar1[4] == 0) { + uVar25 = FUN_1400d978c(puVar1[6],(byte *)(param_1[2] - (ulonglong)local_res20),local_res20); + } + else { + uVar25 = FUN_1400da318(puVar1[6],(uint *)(param_1[2] - (ulonglong)local_res20),local_res20); + } + puVar1[6] = uVar25; + *(uint *)((longlong)param_1 + 0x4c) = uVar25; + } + if (*puVar1 == 0xb) { + iVar22 = 0x80; + } + *(uint *)(param_1 + 9) = (-(uint)(puVar1[1] != 0) & 0x40) + iVar22 + puVar1[0x11]; + if (((iVar15 != 0) || (local_res20 != 0)) && (param_2 != 4)) { + return local_res8; + } + if (local_res8 == 0) { + return -5; + } + return local_res8; + } + pcVar5 = "incorrect data check"; + goto LAB_1400d5870; +LAB_1400d5752: + uVar23 = uVar3; + if (uVar8 <= uVar14) goto code_r0x0001400d5756; + uVar12 = uVar25; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar23 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar3 = uVar3 + ((uint)(byte)uVar23 << ((byte)uVar14 & 0x1f)); + uVar14 = uVar14 + 8; + local_58 = puVar16; + goto LAB_1400d5752; +code_r0x0001400d5756: + if (((puVar1[2] & 2) != 0) && (uVar3 == 0x8b1f)) { + uVar23 = FUN_1400da318(0,(uint *)0x0,0); + puVar1[6] = uVar23; + local_68 = 0x8b1f; + uVar23 = FUN_1400da318(puVar1[6],(uint *)&local_68,2); + *puVar1 = 1; + puVar1[6] = uVar23; +LAB_1400d5794: + uVar23 = 0; + uVar14 = uVar23; +LAB_1400d579d: + uVar21 = 0; + puVar19 = local_50; +LAB_1400d57a1: + uVar17 = (ulonglong)local_res20; + uVar13 = (ulonglong)local_res18; +LAB_1400d57a9: + uVar10 = 0x10; + goto LAB_1400d526b; + } + puVar1[4] = uVar20; + if (*(longlong *)(puVar1 + 8) != 0) { + *(undefined4 *)(*(longlong *)(puVar1 + 8) + 0x40) = 0xffffffff; + } + if ((puVar1[2] & 1) != 0) { + uVar12 = (uVar3 & 0xff) * 0x100 + (uVar3 >> 8); + if (uVar12 == (uVar12 / 0x1f) * 0x1f) { + if (((byte)uVar3 & 0xf) == 8) { + uVar23 = uVar3 >> 4; + uVar14 = uVar14 - 4; + uVar12 = (uVar23 & 0xf) + 8; + if (uVar12 <= puVar1[10]) { + puVar1[5] = 1 << (sbyte)uVar12; + uVar23 = FUN_1400d978c(0,(byte *)0x0,0); + puVar1[6] = uVar23; + *(uint *)((longlong)param_1 + 0x4c) = uVar23; + *puVar1 = ~(uVar3 >> 0xc) & 2 | 9; + goto LAB_1400d5794; + } + pcVar5 = "invalid window size"; + } + else { + pcVar5 = "unknown compression method"; + } +LAB_1400d5806: + param_1[4] = (longlong)pcVar5; + *puVar1 = 0x1b; + goto LAB_1400d57a9; + } + uVar10 = 0x10; + } + pcVar5 = "incorrect header check"; + goto LAB_1400d5870; +LAB_1400d52fb: + if (uVar8 <= uVar14) goto code_r0x0001400d52ff; + uVar12 = uVar25; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << ((byte)uVar14 & 0x1f)); + uVar14 = uVar14 + 8; + local_58 = puVar16; + goto LAB_1400d52fb; +code_r0x0001400d52ff: + puVar1[4] = uVar23; + if ((char)uVar23 == '\b') { + if ((uVar23 & 0xe000) == 0) { + if (*(uint **)(puVar1 + 8) != (uint *)0x0) { + **(uint **)(puVar1 + 8) = uVar23 >> 8 & 1; + } + if ((puVar1[4] & 0x200) != 0) { + local_68 = (undefined2)uVar23; + uVar23 = FUN_1400da318(puVar1[6],(uint *)&local_68,2); + uVar21 = 0; + puVar1[6] = uVar23; + } + uVar23 = (uint)uVar21; + *puVar1 = 2; + uVar14 = uVar23; +LAB_1400d539b: + do { + if (0x1f < uVar14) goto code_r0x0001400d53a0; + uVar12 = uVar25; + uVar9 = local_64; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << ((byte)uVar14 & 0x1f)); + uVar14 = uVar14 + 8; + local_58 = puVar16; + } while( true ); + } + pcVar5 = "unknown header flags set"; + } + else { + pcVar5 = "unknown compression method"; + } +LAB_1400d5870: + param_1[4] = (longlong)pcVar5; + *puVar1 = 0x1b; + goto LAB_1400d526b; +code_r0x0001400d53a0: + if (*(longlong *)(puVar1 + 8) != 0) { + *(uint *)(*(longlong *)(puVar1 + 8) + 4) = uVar23; + } + if ((puVar1[4] & 0x200) != 0) { + local_68 = (undefined2)uVar23; + local_65 = (undefined1)(uVar23 >> 0x18); + local_66 = (undefined1)(uVar23 >> 0x10); + uVar23 = FUN_1400da318(puVar1[6],(uint *)&local_68,4); + uVar21 = 0; + puVar1[6] = uVar23; + } + uVar23 = (uint)uVar21; + *puVar1 = 3; + uVar10 = 0x10; + uVar14 = uVar23; +LAB_1400d5421: + do { + uVar8 = (uint)uVar10; + if (uVar8 <= uVar14) break; + uVar12 = uVar25; + uVar9 = local_64; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << ((byte)uVar14 & 0x1f)); + uVar14 = uVar14 + 8; + local_58 = puVar16; + } while( true ); + if (*(longlong *)(puVar1 + 8) != 0) { + *(uint *)(*(longlong *)(puVar1 + 8) + 8) = uVar23 & 0xff; + *(uint *)(*(longlong *)(puVar1 + 8) + 0xc) = uVar23 >> 8; + } + if ((puVar1[4] & 0x200) != 0) { + local_68 = (undefined2)uVar23; + uVar23 = FUN_1400da318(puVar1[6],(uint *)&local_68,2); + uVar21 = 0; + puVar1[6] = uVar23; + uVar8 = 0x10; + } + uVar23 = (uint)uVar21; + *puVar1 = 4; + uVar14 = uVar23; +LAB_1400d547f: + if ((puVar1[4] & 0x400) == 0) { + if (*(longlong *)(puVar1 + 8) != 0) { + *(ulonglong *)(*(longlong *)(puVar1 + 8) + 0x10) = uVar21; + } + } + else { + for (; uVar14 < uVar8; uVar14 = uVar14 + 8) { + uVar12 = uVar25; + uVar9 = local_64; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << ((byte)uVar14 & 0x1f)); + local_58 = puVar16; + } + puVar1[0x12] = uVar23; + if (*(longlong *)(puVar1 + 8) != 0) { + *(uint *)(*(longlong *)(puVar1 + 8) + 0x18) = uVar23; + } + if ((puVar1[4] & 0x200) != 0) { + local_68 = (undefined2)uVar23; + uVar23 = FUN_1400da318(puVar1[6],(uint *)&local_68,2); + uVar21 = 0; + puVar1[6] = uVar23; + } + uVar23 = (uint)uVar21; + uVar14 = uVar23; + } + *puVar1 = 5; +LAB_1400d549f: + if ((puVar1[4] & 0x400) != 0) { + uVar12 = puVar1[0x12]; + if (uVar25 < puVar1[0x12]) { + uVar12 = uVar25; + } + if (uVar12 != 0) { + lVar11 = *(longlong *)(puVar1 + 8); + if ((lVar11 != 0) && (*(longlong *)(lVar11 + 0x10) != 0)) { + uVar9 = *(int *)(lVar11 + 0x18) - puVar1[0x12]; + uVar3 = uVar12; + if (*(uint *)(lVar11 + 0x1c) < uVar12 + uVar9) { + uVar3 = *(uint *)(lVar11 + 0x1c) - uVar9; + } + memcpy((void *)((ulonglong)uVar9 + *(longlong *)(lVar11 + 0x10)),puVar16,(ulonglong)uVar3); + } + if ((puVar1[4] & 0x200) != 0) { + uVar3 = FUN_1400da318(puVar1[6],puVar16,uVar12); + puVar1[6] = uVar3; + } + puVar1[0x12] = puVar1[0x12] - uVar12; + uVar25 = uVar25 - uVar12; + puVar16 = (uint *)((longlong)puVar16 + (ulonglong)uVar12); + uVar21 = 0; + local_58 = puVar16; + } + uVar12 = uVar25; + uVar9 = local_64; + if (puVar1[0x12] != (uint)uVar21) goto LAB_1400d56c6; + } + puVar1[0x12] = (uint)uVar21; + *puVar1 = 6; +LAB_1400d55ad: + if ((puVar1[4] & 0x800) == 0) { + if (*(longlong *)(puVar1 + 8) != 0) { + *(ulonglong *)(*(longlong *)(puVar1 + 8) + 0x20) = uVar21; + } + } + else { + uVar12 = uVar25; + uVar9 = local_64; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar13 = uVar21 & 0xffffffff; + do { + lVar11 = *(longlong *)(puVar1 + 8); + bVar6 = (byte)*puVar16; + uVar12 = (int)uVar13 + 1; + uVar13 = (ulonglong)uVar12; + puVar16 = (uint *)((longlong)puVar16 + 1); + if (((lVar11 != 0) && (*(longlong *)(lVar11 + 0x20) != 0)) && + (puVar1[0x12] < *(uint *)(lVar11 + 0x28))) { + *(byte *)((ulonglong)puVar1[0x12] + *(longlong *)(lVar11 + 0x20)) = bVar6; + puVar1[0x12] = puVar1[0x12] + 1; + } + } while ((bVar6 != 0) && (uVar12 < uVar25)); + if ((puVar1[4] & 0x200) != 0) { + uVar3 = FUN_1400da318(puVar1[6],local_58,uVar12); + uVar21 = 0; + puVar1[6] = uVar3; + } + uVar25 = uVar25 - uVar12; + puVar16 = (uint *)((longlong)local_58 + uVar13); + uVar12 = uVar25; + uVar9 = local_64; + local_58 = puVar16; + if (bVar6 != 0) goto LAB_1400d56c6; + } + puVar1[0x12] = (uint)uVar21; + *puVar1 = 7; +LAB_1400d5646: + if ((puVar1[4] & 0x1000) == 0) { + if (*(longlong *)(puVar1 + 8) != 0) { + *(ulonglong *)(*(longlong *)(puVar1 + 8) + 0x30) = uVar21; + } + } + else { + uVar12 = uVar25; + uVar9 = local_64; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar13 = uVar21 & 0xffffffff; + do { + lVar11 = *(longlong *)(puVar1 + 8); + bVar6 = (byte)*puVar16; + uVar12 = (int)uVar13 + 1; + uVar13 = (ulonglong)uVar12; + puVar16 = (uint *)((longlong)puVar16 + 1); + if (((lVar11 != 0) && (*(longlong *)(lVar11 + 0x30) != 0)) && + (puVar1[0x12] < *(uint *)(lVar11 + 0x38))) { + *(byte *)((ulonglong)puVar1[0x12] + *(longlong *)(lVar11 + 0x30)) = bVar6; + puVar1[0x12] = puVar1[0x12] + 1; + } + } while ((bVar6 != 0) && (uVar12 < uVar25)); + if ((puVar1[4] & 0x200) != 0) { + uVar3 = FUN_1400da318(puVar1[6],local_58,uVar12); + uVar21 = 0; + puVar1[6] = uVar3; + } + uVar25 = uVar25 - uVar12; + local_58 = (uint *)((longlong)local_58 + uVar13); + uVar12 = uVar25; + uVar9 = local_64; + if (bVar6 != 0) goto LAB_1400d56c6; + } + uVar17 = (ulonglong)local_res20; + uVar13 = (ulonglong)local_res18; + *puVar1 = 8; + uVar10 = 0x10; + puVar19 = local_50; + puVar16 = local_58; +LAB_1400d58aa: + if ((puVar1[4] & 0x200) != 0) { + for (; uVar14 < (uint)uVar10; uVar14 = uVar14 + 8) { + uVar12 = uVar25; + uVar9 = local_64; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << ((byte)uVar14 & 0x1f)); + local_58 = puVar16; + } + if (uVar23 != (ushort)puVar1[6]) { + pcVar5 = "header crc mismatch"; + goto LAB_1400d5870; + } + uVar23 = (uint)uVar21; + uVar14 = uVar23; + } + if (*(longlong *)(puVar1 + 8) != 0) { + *(uint *)(*(longlong *)(puVar1 + 8) + 0x3c) = (int)puVar1[4] >> 9 & 1; + *(undefined4 *)(*(longlong *)(puVar1 + 8) + 0x40) = 1; + } + uVar12 = FUN_1400da318(0,(uint *)0x0,0); + puVar1[6] = uVar12; + *(uint *)((longlong)param_1 + 0x4c) = uVar12; + *puVar1 = 0xb; +LAB_1400d5b78: + uVar13 = (ulonglong)local_res18; + uVar17 = (ulonglong)local_res20; + uVar21 = 0; + puVar19 = local_50; + goto LAB_1400d57a9; +LAB_1400d5a8e: + if (2 < uVar14) goto code_r0x0001400d5a93; + uVar12 = uVar25; + uVar9 = local_64; + if (uVar25 == 0) goto LAB_1400d56c6; + uVar12 = *puVar16; + puVar16 = (uint *)((longlong)puVar16 + 1); + uVar25 = uVar25 - 1; + uVar23 = uVar23 + ((uint)(byte)uVar12 << ((byte)uVar14 & 0x1f)); + uVar14 = uVar14 + 8; + local_58 = puVar16; + goto LAB_1400d5a8e; +code_r0x0001400d5a93: + puVar1[1] = uVar23 & 1; + uVar12 = uVar23 >> 1 & 3; + if (uVar12 == 0) { + *puVar1 = 0xd; + } + else if (uVar12 == 1) { + FUN_1400d5098((longlong)puVar1); + *puVar1 = 0x12; + } + else if (uVar12 == 2) { + *puVar1 = 0xf; + } + else if (uVar12 == 3) { + param_1[4] = (longlong)"invalid block type"; + *puVar1 = 0x1b; + } + uVar23 = uVar23 >> 3; + uVar14 = uVar14 - 3; + goto LAB_1400d526b; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d6748.c b/decomp/Agent_Release_x64/full/functions/0x1400d6748.c new file mode 100644 index 00000000..072b6cb2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d6748.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d6748 FUN_1400d6748 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d6748(longlong param_1) + +{ + undefined8 uVar1; + + if (((param_1 == 0) || (*(longlong *)(param_1 + 0x28) == 0)) || + (*(code **)(param_1 + 0x38) == (code *)0x0)) { + uVar1 = 0xfffffffe; + } + else { + if (*(longlong *)(*(longlong *)(param_1 + 0x28) + 0x38) != 0) { + (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40)); + } + (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40),*(undefined8 *)(param_1 + 0x28)); + *(undefined8 *)(param_1 + 0x28) = 0; + uVar1 = 0; + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d67a8.c b/decomp/Agent_Release_x64/full/functions/0x1400d67a8.c new file mode 100644 index 00000000..64196747 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d67a8.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d67a8 FUN_1400d67a8 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d67a8(longlong param_1,byte *param_2,uint param_3) + +{ + int *piVar1; + ulonglong _Size; + uint uVar2; + undefined8 uVar3; + + _Size = (ulonglong)param_3; + if ((param_1 == 0) || (piVar1 = *(int **)(param_1 + 0x28), piVar1 == (int *)0x0)) { + return 0xfffffffe; + } + if (piVar1[2] == 0) { + if (*piVar1 != 10) goto LAB_1400d6822; + } + else if (*piVar1 != 10) { + return 0xfffffffe; + } + uVar2 = FUN_1400d978c(0,(byte *)0x0,0); + uVar2 = FUN_1400d978c(uVar2,param_2,param_3); + if (uVar2 != piVar1[6]) { + return 0xfffffffd; + } +LAB_1400d6822: + uVar3 = FUN_1400d50c8(param_1,*(int *)(param_1 + 0x18)); + if ((int)uVar3 == 0) { + if ((uint)piVar1[0xb] < param_3) { + memcpy(*(void **)(piVar1 + 0xe),param_2 + (_Size - (uint)piVar1[0xb]), + (ulonglong)(uint)piVar1[0xb]); + piVar1[0xc] = piVar1[0xb]; + } + else { + memcpy((void *)((longlong)*(void **)(piVar1 + 0xe) + ((uint)piVar1[0xb] - _Size)),param_2, + _Size); + piVar1[0xc] = param_3; + } + piVar1[3] = 1; + uVar3 = 0; + } + else { + *piVar1 = 0x1c; + uVar3 = 0xfffffffc; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d68c8.c b/decomp/Agent_Release_x64/full/functions/0x1400d68c8.c new file mode 100644 index 00000000..eb3280f9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d68c8.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d68c8 FUN_1400d68c8 + * Pseudocode, not original source. */ + +uint FUN_1400d68c8(uint *param_1,byte *param_2,uint param_3) + +{ + uint uVar1; + uint uVar2; + + uVar1 = *param_1; + uVar2 = 0; + if (param_3 != 0) { + do { + if (3 < uVar1) break; + if (*param_2 == (byte)~-(uVar1 < 2)) { + uVar1 = uVar1 + 1; + } + else if (*param_2 == 0) { + uVar1 = 4 - uVar1; + } + else { + uVar1 = 0; + } + uVar2 = uVar2 + 1; + param_2 = param_2 + 1; + } while (uVar2 < param_3); + } + *param_1 = uVar1; + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d6928.c b/decomp/Agent_Release_x64/full/functions/0x1400d6928.c new file mode 100644 index 00000000..fa2ebcfc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d6928.c @@ -0,0 +1,67 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d6928 FUN_1400d6928 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d6928(longlong *param_1) + +{ + int *piVar1; + undefined8 uVar2; + uint uVar3; + uint uVar4; + uint uVar5; + undefined4 uVar6; + undefined4 uVar7; + byte *pbVar8; + byte local_res8 [8]; + + if ((param_1 == (longlong *)0x0) || (piVar1 = (int *)param_1[5], piVar1 == (int *)0x0)) { + uVar2 = 0xfffffffe; + } + else if (((int)param_1[1] == 0) && ((uint)piVar1[0x11] < 8)) { + uVar2 = 0xfffffffb; + } + else { + if (*piVar1 != 0x1d) { + uVar5 = 0; + *piVar1 = 0x1d; + uVar3 = piVar1[0x11] & 7; + piVar1[0x10] = piVar1[0x10] << (sbyte)uVar3; + uVar3 = piVar1[0x11] - uVar3; + piVar1[0x11] = uVar3; + if (7 < uVar3) { + uVar4 = piVar1[0x10]; + pbVar8 = local_res8; + do { + uVar3 = uVar3 - 8; + uVar4 = uVar4 >> 8; + *pbVar8 = *(byte *)(piVar1 + 0x10); + pbVar8 = pbVar8 + 1; + uVar5 = uVar5 + 1; + piVar1[0x10] = uVar4; + piVar1[0x11] = uVar3; + } while (7 < uVar3); + } + piVar1[0x1f] = 0; + FUN_1400d68c8((uint *)(piVar1 + 0x1f),local_res8,uVar5); + } + uVar3 = FUN_1400d68c8((uint *)(piVar1 + 0x1f),(byte *)*param_1,*(uint *)(param_1 + 1)); + *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + uVar3; + *(uint *)(param_1 + 1) = (int)param_1[1] - uVar3; + uVar7 = *(undefined4 *)((longlong)param_1 + 0xc); + *param_1 = *param_1 + (ulonglong)uVar3; + if (piVar1[0x1f] == 4) { + uVar6 = *(undefined4 *)((longlong)param_1 + 0x1c); + FUN_1400d4ec8((longlong)param_1); + *(undefined4 *)((longlong)param_1 + 0xc) = uVar7; + *(undefined4 *)((longlong)param_1 + 0x1c) = uVar6; + *piVar1 = 0xb; + uVar2 = 0; + } + else { + uVar2 = 0xfffffffd; + } + } + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d6a58.c b/decomp/Agent_Release_x64/full/functions/0x1400d6a58.c new file mode 100644 index 00000000..c7d5063c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d6a58.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d6a58 FUN_1400d6a58 + * Pseudocode, not original source. */ + +undefined8 FUN_1400d6a58(void *param_1,void *param_2) + +{ + void *_Src; + ulonglong uVar1; + void *_Dst; + void *_Dst_00; + + if ((((param_1 != (void *)0x0) && (param_2 != (void *)0x0)) && + (_Src = *(void **)((longlong)param_2 + 0x28), _Src != (void *)0x0)) && + ((*(code **)((longlong)param_2 + 0x30) != (code *)0x0 && + (*(longlong *)((longlong)param_2 + 0x38) != 0)))) { + _Dst = (void *)(**(code **)((longlong)param_2 + 0x30)) + (*(undefined8 *)((longlong)param_2 + 0x40),1,0x2548); + if (_Dst != (void *)0x0) { + _Dst_00 = (void *)0x0; + if ((*(longlong *)((longlong)_Src + 0x38) == 0) || + (_Dst_00 = (void *)(**(code **)((longlong)param_2 + 0x30)) + (*(undefined8 *)((longlong)param_2 + 0x40), + 1 << ((byte)*(undefined4 *)((longlong)_Src + 0x28) & 0x1f),1) + , _Dst_00 != (void *)0x0)) { + memcpy(param_1,param_2,0x58); + memcpy(_Dst,_Src,0x2548); + uVar1 = *(ulonglong *)((longlong)_Src + 0x58); + if (((longlong)_Src + 0x548U <= uVar1) && (uVar1 <= (longlong)_Src + 0x2544U)) { + *(longlong *)((longlong)_Dst + 0x58) = + (longlong)_Dst + ((longlong)((uVar1 - (longlong)_Src) + -0x548) >> 2) * 4 + 0x548; + *(longlong *)((longlong)_Dst + 0x60) = + (longlong)_Dst + + ((*(longlong *)((longlong)_Src + 0x60) - (longlong)_Src) + -0x548 >> 2) * 4 + 0x548; + } + *(longlong *)((longlong)_Dst + 0x80) = + (longlong)_Dst + + ((*(longlong *)((longlong)_Src + 0x80) - (longlong)_Src) + -0x548 >> 2) * 4 + 0x548; + if (_Dst_00 != (void *)0x0) { + memcpy(_Dst_00,*(void **)((longlong)_Src + 0x38), + (ulonglong)(uint)(1 << ((byte)*(undefined4 *)((longlong)_Src + 0x28) & 0x1f))); + } + *(void **)((longlong)_Dst + 0x38) = _Dst_00; + *(void **)((longlong)param_1 + 0x28) = _Dst; + return 0; + } + (**(code **)((longlong)param_2 + 0x38))(*(undefined8 *)((longlong)param_2 + 0x40),_Dst); + } + return 0xfffffffc; + } + return 0xfffffffe; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d6bdc.c b/decomp/Agent_Release_x64/full/functions/0x1400d6bdc.c new file mode 100644 index 00000000..5192818d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d6bdc.c @@ -0,0 +1,63 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d6bdc FUN_1400d6bdc + * Pseudocode, not original source. */ + +undefined8 FUN_1400d6bdc(longlong param_1,byte *param_2,uint param_3) + +{ + longlong lVar1; + longlong lVar2; + uint uVar3; + undefined8 uVar4; + ulonglong uVar5; + ulonglong uVar6; + ulonglong uVar7; + + uVar6 = 0; + if ((((param_1 == 0) || (lVar2 = *(longlong *)(param_1 + 0x28), lVar2 == 0)) || + (param_2 == (byte *)0x0)) || + ((*(int *)(lVar2 + 0x2c) == 2 || + ((*(int *)(lVar2 + 0x2c) == 1 && (*(int *)(lVar2 + 8) != 0x2a)))))) { + uVar4 = 0xfffffffe; + } + else { + if (*(int *)(lVar2 + 0x2c) != 0) { + uVar3 = FUN_1400d978c(*(uint *)(param_1 + 0x4c),param_2,param_3); + *(uint *)(param_1 + 0x4c) = uVar3; + } + if (2 < param_3) { + uVar3 = *(int *)(lVar2 + 0x44) - 0x106; + if (uVar3 < param_3) { + param_2 = param_2 + (param_3 - uVar3); + param_3 = uVar3; + } + memcpy(*(void **)(lVar2 + 0x50),param_2,(ulonglong)param_3); + *(uint *)(lVar2 + 0x94) = param_3; + *(uint *)(lVar2 + 0x84) = param_3; + uVar3 = (uint)**(byte **)(lVar2 + 0x50); + *(uint *)(lVar2 + 0x70) = uVar3; + *(uint *)(lVar2 + 0x70) = + (uVar3 << ((byte)*(undefined4 *)(lVar2 + 0x80) & 0x1f) ^ + (uint)(*(byte **)(lVar2 + 0x50))[1]) & *(uint *)(lVar2 + 0x7c); + uVar7 = uVar6; + do { + lVar1 = uVar7 + 2; + uVar5 = *(uint *)(lVar2 + 0x4c) & uVar7; + uVar7 = uVar7 + 1; + uVar3 = ((uint)*(byte *)(lVar1 + *(longlong *)(lVar2 + 0x50)) ^ + *(int *)(lVar2 + 0x70) << ((byte)*(undefined4 *)(lVar2 + 0x80) & 0x1f)) & + *(uint *)(lVar2 + 0x7c); + *(uint *)(lVar2 + 0x70) = uVar3; + *(undefined2 *)(*(longlong *)(lVar2 + 0x60) + uVar5 * 2) = + *(undefined2 *)(*(longlong *)(lVar2 + 0x68) + (ulonglong)uVar3 * 2); + *(short *)(*(longlong *)(lVar2 + 0x68) + (ulonglong)*(uint *)(lVar2 + 0x70) * 2) = + (short)uVar6; + uVar3 = (int)uVar6 + 1; + uVar6 = (ulonglong)uVar3; + } while (uVar3 <= param_3 - 3); + } + uVar4 = 0; + } + return uVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d6e2c.c b/decomp/Agent_Release_x64/full/functions/0x1400d6e2c.c new file mode 100644 index 00000000..859bbc7d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d6e2c.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d6e2c FUN_1400d6e2c + * Pseudocode, not original source. */ + +void FUN_1400d6e2c(longlong param_1,undefined4 param_2) + +{ + *(char *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + (char)((uint)param_2 >> 8); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(char *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = (char)param_2; + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d6e5c.c b/decomp/Agent_Release_x64/full/functions/0x1400d6e5c.c new file mode 100644 index 00000000..3b1398f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d6e5c.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d6e5c FUN_1400d6e5c + * Pseudocode, not original source. */ + +void FUN_1400d6e5c(longlong param_1) + +{ + longlong *plVar1; + int *piVar2; + longlong lVar3; + uint uVar4; + + uVar4 = *(uint *)(*(longlong *)(param_1 + 0x28) + 0x28); + if (*(uint *)(param_1 + 0x18) < uVar4) { + uVar4 = *(uint *)(param_1 + 0x18); + } + if (uVar4 != 0) { + memcpy(*(void **)(param_1 + 0x10),*(void **)(*(longlong *)(param_1 + 0x28) + 0x20), + (ulonglong)uVar4); + *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + (ulonglong)uVar4; + plVar1 = (longlong *)(*(longlong *)(param_1 + 0x28) + 0x20); + *plVar1 = *plVar1 + (ulonglong)uVar4; + *(int *)(param_1 + 0x1c) = *(int *)(param_1 + 0x1c) + uVar4; + *(int *)(param_1 + 0x18) = *(int *)(param_1 + 0x18) - uVar4; + piVar2 = (int *)(*(longlong *)(param_1 + 0x28) + 0x28); + *piVar2 = *piVar2 - uVar4; + lVar3 = *(longlong *)(param_1 + 0x28); + if (*(int *)(lVar3 + 0x28) == 0) { + *(undefined8 *)(lVar3 + 0x20) = *(undefined8 *)(lVar3 + 0x10); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d6edc.c b/decomp/Agent_Release_x64/full/functions/0x1400d6edc.c new file mode 100644 index 00000000..5b3bbc52 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d6edc.c @@ -0,0 +1,359 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d6edc FUN_1400d6edc + * Pseudocode, not original source. */ + +ulonglong FUN_1400d6edc(longlong *param_1,uint param_2) + +{ + byte bVar1; + int iVar2; + undefined8 *puVar3; + int *piVar4; + uint uVar5; + uint uVar6; + int iVar7; + undefined8 *puVar8; + undefined1 uVar9; + ulonglong uVar10; + ulonglong uVar11; + uint uVar12; + + if (((param_1 == (longlong *)0x0) || + (puVar3 = (undefined8 *)param_1[5], puVar3 == (undefined8 *)0x0)) || (4 < param_2)) { + return 0xfffffffe; + } + if (((param_1[2] == 0) || ((*param_1 == 0 && ((int)param_1[1] != 0)))) || + ((*(int *)(puVar3 + 1) == 0x29a && (param_2 != 4)))) { + param_1[4] = (longlong)"stream error"; + return 0xfffffffe; + } + if ((int)param_1[3] == 0) { + param_1[4] = (longlong)"buffer error"; + return 0xfffffffb; + } + iVar7 = *(int *)(puVar3 + 8); + uVar12 = 1; + *puVar3 = param_1; + *(uint *)(puVar3 + 8) = param_2; + if (*(int *)(puVar3 + 1) == 0x2a) { + if (*(int *)((longlong)puVar3 + 0x2c) == 2) { + uVar5 = FUN_1400da318(0,(uint *)0x0,0); + *(uint *)((longlong)param_1 + 0x4c) = uVar5; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = 0x1f; + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = 0x8b; + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = 8; + piVar4 = (int *)puVar3[6]; + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + if (piVar4 == (int *)0x0) { + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = 0; + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = 0; + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = 0; + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = 0; + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = 0; + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + if (*(int *)((longlong)puVar3 + 0xac) == 9) { + uVar9 = 2; + } + else if ((1 < *(int *)(puVar3 + 0x16)) || (uVar9 = 0, *(int *)((longlong)puVar3 + 0xac) < 2) + ) { + uVar9 = 4; + } + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = uVar9; + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = 0xb; + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined4 *)(puVar3 + 1) = 0x71; + } + else { + *(byte *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = + (-(*(longlong *)(piVar4 + 0xc) != 0) & 0x10U) + (-(piVar4[0xf] != 0) & 2U) + + (-(*(longlong *)(piVar4 + 8) != 0) & 8U) + (-(*(longlong *)(piVar4 + 4) != 0) & 4U) + + (*piVar4 != 0); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = + *(undefined1 *)(puVar3[6] + 4); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = + *(undefined1 *)(puVar3[6] + 5); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = + *(undefined1 *)(puVar3[6] + 6); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = + *(undefined1 *)(puVar3[6] + 7); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + if (*(int *)((longlong)puVar3 + 0xac) == 9) { + uVar9 = 2; + } + else if ((1 < *(int *)(puVar3 + 0x16)) || (uVar9 = 0, *(int *)((longlong)puVar3 + 0xac) < 2) + ) { + uVar9 = 4; + } + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = uVar9; + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = + *(undefined1 *)(puVar3[6] + 0xc); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + uVar5 = *(uint *)(puVar3 + 5); + if (*(longlong *)(puVar3[6] + 0x10) != 0) { + *(undefined1 *)((ulonglong)uVar5 + puVar3[2]) = *(undefined1 *)(puVar3[6] + 0x18); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = + *(undefined1 *)(puVar3[6] + 0x19); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + uVar5 = *(uint *)(puVar3 + 5); + } + if (*(int *)(puVar3[6] + 0x3c) != 0) { + uVar5 = FUN_1400da318(*(uint *)((longlong)param_1 + 0x4c),(uint *)puVar3[2],uVar5); + *(uint *)((longlong)param_1 + 0x4c) = uVar5; + } + *(undefined4 *)(puVar3 + 7) = 0; + *(undefined4 *)(puVar3 + 1) = 0x45; + } + } + else { + uVar5 = 0; + if (((*(int *)(puVar3 + 0x16) < 2) && (iVar2 = *(int *)((longlong)puVar3 + 0xac), 1 < iVar2)) + && (uVar5 = uVar12, 5 < iVar2)) { + uVar5 = (iVar2 != 6) + 2; + } + uVar5 = (*(int *)(puVar3 + 9) + -8) * 0x1000 + 0x800U | uVar5 << 6; + if (*(int *)((longlong)puVar3 + 0x94) != 0) { + uVar5 = uVar5 | 0x20; + } + *(undefined4 *)(puVar3 + 1) = 0x71; + puVar8 = puVar3; + FUN_1400d6e2c((longlong)puVar3,(uVar5 / 0x1f + 1) * 0x1f); + if (*(int *)((longlong)puVar3 + 0x94) != 0) { + FUN_1400d6e2c((longlong)puVar8,(uint)*(ushort *)((longlong)param_1 + 0x4e)); + FUN_1400d6e2c((longlong)puVar8,(uint)*(ushort *)((longlong)param_1 + 0x4c)); + } + uVar5 = FUN_1400d978c(0,(byte *)0x0,0); + *(uint *)((longlong)param_1 + 0x4c) = uVar5; + } + } + if (*(int *)(puVar3 + 1) == 0x45) { + if (*(longlong *)(puVar3[6] + 0x10) != 0) { + uVar5 = *(uint *)(puVar3 + 5); + if (*(uint *)(puVar3 + 7) < (uint)*(ushort *)(puVar3[6] + 0x18)) { + do { + uVar6 = *(uint *)(puVar3 + 5); + if (uVar6 == *(uint *)(puVar3 + 3)) { + if ((*(int *)(puVar3[6] + 0x3c) != 0) && (uVar5 < uVar6)) { + uVar5 = FUN_1400da318(*(uint *)((longlong)param_1 + 0x4c), + (uint *)((ulonglong)uVar5 + puVar3[2]),uVar6 - uVar5); + *(uint *)((longlong)param_1 + 0x4c) = uVar5; + } + FUN_1400d6e5c((longlong)param_1); + uVar5 = *(uint *)(puVar3 + 5); + uVar6 = uVar5; + if (uVar5 == *(uint *)(puVar3 + 3)) break; + } + *(undefined1 *)((ulonglong)uVar6 + puVar3[2]) = + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 7) + *(longlong *)(puVar3[6] + 0x10)); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(int *)(puVar3 + 7) = *(int *)(puVar3 + 7) + 1; + } while (*(uint *)(puVar3 + 7) < (uint)*(ushort *)(puVar3[6] + 0x18)); + } + if ((*(int *)(puVar3[6] + 0x3c) != 0) && (uVar5 < *(uint *)(puVar3 + 5))) { + uVar5 = FUN_1400da318(*(uint *)((longlong)param_1 + 0x4c), + (uint *)((ulonglong)uVar5 + puVar3[2]),*(uint *)(puVar3 + 5) - uVar5); + *(uint *)((longlong)param_1 + 0x4c) = uVar5; + } + if (*(int *)(puVar3 + 7) != *(int *)(puVar3[6] + 0x18)) goto LAB_1400d7320; + *(undefined4 *)(puVar3 + 7) = 0; + } + *(undefined4 *)(puVar3 + 1) = 0x49; + } +LAB_1400d7320: + if (*(int *)(puVar3 + 1) == 0x49) { + if (*(longlong *)(puVar3[6] + 0x20) != 0) { + uVar10 = (ulonglong)*(uint *)(puVar3 + 5); + do { + uVar5 = *(uint *)(puVar3 + 5); + uVar11 = (ulonglong)uVar5; + if (uVar5 == *(uint *)(puVar3 + 3)) { + if ((*(int *)(puVar3[6] + 0x3c) != 0) && ((uint)uVar10 < uVar5)) { + uVar5 = FUN_1400da318(*(uint *)((longlong)param_1 + 0x4c),(uint *)(uVar10 + puVar3[2]), + uVar5 - (uint)uVar10); + *(uint *)((longlong)param_1 + 0x4c) = uVar5; + } + FUN_1400d6e5c((longlong)param_1); + uVar10 = (ulonglong)*(uint *)(puVar3 + 5); + uVar11 = uVar10; + uVar5 = uVar12; + if (*(uint *)(puVar3 + 5) == *(uint *)(puVar3 + 3)) break; + } + bVar1 = *(byte *)(*(longlong *)(puVar3[6] + 0x20) + (ulonglong)*(uint *)(puVar3 + 7)); + *(uint *)(puVar3 + 7) = *(uint *)(puVar3 + 7) + 1; + *(byte *)(uVar11 + puVar3[2]) = bVar1; + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + uVar5 = (uint)bVar1; + } while (bVar1 != 0); + if (*(int *)(puVar3[6] + 0x3c) != 0) { + if ((uint)uVar10 < *(uint *)(puVar3 + 5)) { + uVar6 = FUN_1400da318(*(uint *)((longlong)param_1 + 0x4c),(uint *)(uVar10 + puVar3[2]), + *(uint *)(puVar3 + 5) - (uint)uVar10); + *(uint *)((longlong)param_1 + 0x4c) = uVar6; + } + } + if (uVar5 != 0) goto LAB_1400d73de; + *(undefined4 *)(puVar3 + 7) = 0; + } + *(undefined4 *)(puVar3 + 1) = 0x5b; + } +LAB_1400d73de: + if (*(int *)(puVar3 + 1) == 0x5b) { + if (*(longlong *)(puVar3[6] + 0x30) != 0) { + uVar10 = (ulonglong)*(uint *)(puVar3 + 5); + do { + uVar5 = *(uint *)(puVar3 + 5); + uVar11 = (ulonglong)uVar5; + if (uVar5 == *(uint *)(puVar3 + 3)) { + if ((*(int *)(puVar3[6] + 0x3c) != 0) && ((uint)uVar10 < uVar5)) { + uVar5 = FUN_1400da318(*(uint *)((longlong)param_1 + 0x4c),(uint *)(uVar10 + puVar3[2]), + uVar5 - (uint)uVar10); + *(uint *)((longlong)param_1 + 0x4c) = uVar5; + } + FUN_1400d6e5c((longlong)param_1); + uVar10 = (ulonglong)*(uint *)(puVar3 + 5); + uVar11 = uVar10; + uVar5 = uVar12; + if (*(uint *)(puVar3 + 5) == *(uint *)(puVar3 + 3)) break; + } + bVar1 = *(byte *)(*(longlong *)(puVar3[6] + 0x30) + (ulonglong)*(uint *)(puVar3 + 7)); + *(uint *)(puVar3 + 7) = *(uint *)(puVar3 + 7) + 1; + *(byte *)(uVar11 + puVar3[2]) = bVar1; + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + uVar5 = (uint)bVar1; + } while (bVar1 != 0); + if (*(int *)(puVar3[6] + 0x3c) != 0) { + if ((uint)uVar10 < *(uint *)(puVar3 + 5)) { + uVar12 = FUN_1400da318(*(uint *)((longlong)param_1 + 0x4c),(uint *)(uVar10 + puVar3[2]), + *(uint *)(puVar3 + 5) - (uint)uVar10); + *(uint *)((longlong)param_1 + 0x4c) = uVar12; + } + } + if (uVar5 != 0) goto LAB_1400d7499; + } + *(undefined4 *)(puVar3 + 1) = 0x67; + } +LAB_1400d7499: + if (*(int *)(puVar3 + 1) == 0x67) { + if (*(int *)(puVar3[6] + 0x3c) != 0) { + if (*(uint *)(puVar3 + 3) < *(int *)(puVar3 + 5) + 2U) { + FUN_1400d6e5c((longlong)param_1); + } + if (*(uint *)(puVar3 + 3) < *(uint *)(puVar3 + 5) + 2) goto LAB_1400d74fd; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = + *(undefined1 *)((longlong)param_1 + 0x4c); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = + *(undefined1 *)((longlong)param_1 + 0x4d); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + uVar12 = FUN_1400da318(0,(uint *)0x0,0); + *(uint *)((longlong)param_1 + 0x4c) = uVar12; + } + *(undefined4 *)(puVar3 + 1) = 0x71; + } +LAB_1400d74fd: + if (*(int *)(puVar3 + 5) == 0) { + if ((((int)param_1[1] == 0) && ((int)param_2 <= iVar7)) && (param_2 != 4)) goto LAB_1400d7529; +LAB_1400d7539: + if (*(int *)(puVar3 + 1) == 0x29a) { + if ((int)param_1[1] != 0) { +LAB_1400d7529: + param_1[4] = (longlong)"buffer error"; + return 0xfffffffb; + } +LAB_1400d7551: + if ((*(int *)((longlong)puVar3 + 0x9c) != 0) || + ((param_2 != 0 && (*(int *)(puVar3 + 1) != 0x29a)))) goto LAB_1400d756b; + } + else { + if ((int)param_1[1] == 0) goto LAB_1400d7551; +LAB_1400d756b: + iVar7 = (*(code *)(&PTR_FUN_1401181b8)[(longlong)*(int *)((longlong)puVar3 + 0xac) * 2]) + (puVar3); + if ((iVar7 == 2) || (iVar7 == 3)) { + *(undefined4 *)(puVar3 + 1) = 0x29a; + } + if ((iVar7 == 0) || (iVar7 == 2)) { + if ((int)param_1[3] != 0) { + return 0; + } + goto LAB_1400d750f; + } + if (iVar7 == 1) { + if (param_2 == 1) { + FUN_1400dbb08((longlong)puVar3); + } + else { + FUN_1400dba68((longlong)puVar3,(undefined1 *)0x0,0,0); + if (param_2 == 3) { + *(undefined2 *)(puVar3[0xd] + (ulonglong)(*(int *)((longlong)puVar3 + 0x74) - 1) * 2) = + 0; + memset((void *)puVar3[0xd],0,(ulonglong)(*(int *)((longlong)puVar3 + 0x74) - 1) * 2); + } + } + FUN_1400d6e5c((longlong)param_1); + if ((int)param_1[3] == 0) goto LAB_1400d750f; + } + } + if (param_2 == 4) { + if (0 < *(int *)((longlong)puVar3 + 0x2c)) { + if (*(int *)((longlong)puVar3 + 0x2c) == 2) { + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = + *(undefined1 *)((longlong)param_1 + 0x4c); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = + *(undefined1 *)((longlong)param_1 + 0x4d); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = + *(undefined1 *)((longlong)param_1 + 0x4e); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = + *(undefined1 *)((longlong)param_1 + 0x4f); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = + *(undefined1 *)((longlong)param_1 + 0xc); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = + *(undefined1 *)((longlong)param_1 + 0xd); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = + *(undefined1 *)((longlong)param_1 + 0xe); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + *(undefined1 *)((ulonglong)*(uint *)(puVar3 + 5) + puVar3[2]) = + *(undefined1 *)((longlong)param_1 + 0xf); + *(int *)(puVar3 + 5) = *(int *)(puVar3 + 5) + 1; + } + else { + puVar8 = puVar3; + FUN_1400d6e2c((longlong)puVar3,(uint)*(ushort *)((longlong)param_1 + 0x4e)); + FUN_1400d6e2c((longlong)puVar8,(uint)*(ushort *)((longlong)param_1 + 0x4c)); + } + FUN_1400d6e5c((longlong)param_1); + if (0 < *(int *)((longlong)puVar3 + 0x2c)) { + *(int *)((longlong)puVar3 + 0x2c) = -*(int *)((longlong)puVar3 + 0x2c); + } + return (ulonglong)(*(int *)(puVar3 + 5) == 0); + } + return 1; + } + } + else { + FUN_1400d6e5c((longlong)param_1); + if ((int)param_1[3] != 0) goto LAB_1400d7539; +LAB_1400d750f: + *(undefined4 *)(puVar3 + 8) = 0xffffffff; + } + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d772c.c b/decomp/Agent_Release_x64/full/functions/0x1400d772c.c new file mode 100644 index 00000000..7b0be3f4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d772c.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d772c FUN_1400d772c + * Pseudocode, not original source. */ + +undefined8 FUN_1400d772c(longlong param_1) + +{ + int iVar1; + longlong lVar2; + undefined8 uVar3; + + uVar3 = 0; + if (((param_1 == 0) || (lVar2 = *(longlong *)(param_1 + 0x28), lVar2 == 0)) || + (((iVar1 = *(int *)(lVar2 + 8), iVar1 != 0x2a && + (((iVar1 != 0x45 && (iVar1 != 0x49)) && (iVar1 != 0x5b)))) && + (((iVar1 != 0x67 && (iVar1 != 0x71)) && (iVar1 != 0x29a)))))) { + uVar3 = 0xfffffffe; + } + else { + if (*(longlong *)(lVar2 + 0x10) != 0) { + (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40)); + } + if (*(longlong *)(*(longlong *)(param_1 + 0x28) + 0x68) != 0) { + (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40)); + } + if (*(longlong *)(*(longlong *)(param_1 + 0x28) + 0x60) != 0) { + (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40)); + } + if (*(longlong *)(*(longlong *)(param_1 + 0x28) + 0x50) != 0) { + (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40)); + } + (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40),*(undefined8 *)(param_1 + 0x28)); + *(undefined8 *)(param_1 + 0x28) = 0; + if (iVar1 == 0x71) { + uVar3 = 0xfffffffd; + } + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d780c.c b/decomp/Agent_Release_x64/full/functions/0x1400d780c.c new file mode 100644 index 00000000..48663fdd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d780c.c @@ -0,0 +1,65 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d780c FUN_1400d780c + * Pseudocode, not original source. */ + +undefined8 FUN_1400d780c(void *param_1,void *param_2) + +{ + void *_Src; + undefined8 *_Dst; + undefined8 uVar1; + longlong lVar2; + + if (((param_2 == (void *)0x0) || (param_1 == (void *)0x0)) || + (_Src = *(void **)((longlong)param_2 + 0x28), _Src == (void *)0x0)) { + uVar1 = 0xfffffffe; + } + else { + memcpy(param_1,param_2,0x58); + _Dst = (undefined8 *) + (**(code **)((longlong)param_1 + 0x30)) + (*(undefined8 *)((longlong)param_1 + 0x40),1,0x1718); + if (_Dst != (undefined8 *)0x0) { + *(undefined8 **)((longlong)param_1 + 0x28) = _Dst; + memcpy(_Dst,_Src,0x1718); + *_Dst = param_1; + uVar1 = (**(code **)((longlong)param_1 + 0x30)) + (*(undefined8 *)((longlong)param_1 + 0x40), + *(undefined4 *)((longlong)_Dst + 0x44),2); + _Dst[10] = uVar1; + uVar1 = (**(code **)((longlong)param_1 + 0x30)) + (*(undefined8 *)((longlong)param_1 + 0x40), + *(undefined4 *)((longlong)_Dst + 0x44),2); + _Dst[0xc] = uVar1; + uVar1 = (**(code **)((longlong)param_1 + 0x30)) + (*(undefined8 *)((longlong)param_1 + 0x40), + *(undefined4 *)((longlong)_Dst + 0x74),2); + _Dst[0xd] = uVar1; + lVar2 = (**(code **)((longlong)param_1 + 0x30)) + (*(undefined8 *)((longlong)param_1 + 0x40),*(undefined4 *)(_Dst + 0x2de),4); + _Dst[2] = lVar2; + if ((((void *)_Dst[10] != (void *)0x0) && (_Dst[0xc] != 0)) && + ((_Dst[0xd] != 0 && (lVar2 != 0)))) { + memcpy((void *)_Dst[10],*(void **)((longlong)_Src + 0x50), + (ulonglong)(uint)(*(int *)((longlong)_Dst + 0x44) * 2)); + memcpy((void *)_Dst[0xc],*(void **)((longlong)_Src + 0x60), + (ulonglong)*(uint *)((longlong)_Dst + 0x44) * 2); + memcpy((void *)_Dst[0xd],*(void **)((longlong)_Src + 0x68), + (ulonglong)*(uint *)((longlong)_Dst + 0x74) * 2); + memcpy((void *)_Dst[2],*(void **)((longlong)_Src + 0x10),(ulonglong)*(uint *)(_Dst + 3)); + _Dst[4] = (*(longlong *)((longlong)_Src + 0x20) - *(longlong *)((longlong)_Src + 0x10)) + + _Dst[2]; + _Dst[0x2df] = lVar2 + ((ulonglong)*(uint *)(_Dst + 0x2de) & 0xfffffffffffffffe); + _Dst[0x168] = (longlong)_Dst + 0xbc; + _Dst[0x2dd] = _Dst[2] + (ulonglong)*(uint *)(_Dst + 0x2de) * 3; + _Dst[0x16b] = _Dst + 0x136; + _Dst[0x16e] = (longlong)_Dst + 0xaa4; + return 0; + } + FUN_1400d772c((longlong)param_1); + } + uVar1 = 0xfffffffc; + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d79ec.c b/decomp/Agent_Release_x64/full/functions/0x1400d79ec.c new file mode 100644 index 00000000..fc071015 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d79ec.c @@ -0,0 +1,34 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d79ec FUN_1400d79ec + * Pseudocode, not original source. */ + +uint FUN_1400d79ec(longlong *param_1,void *param_2,uint param_3) + +{ + uint uVar1; + uint uVar2; + + uVar1 = *(uint *)(param_1 + 1); + uVar2 = uVar1; + if (param_3 < uVar1) { + uVar2 = param_3; + } + if (uVar2 == 0) { + return 0; + } + *(uint *)(param_1 + 1) = uVar1 - uVar2; + if (*(int *)(param_1[5] + 0x2c) == 1) { + uVar1 = FUN_1400d978c(*(uint *)((longlong)param_1 + 0x4c),(byte *)*param_1,uVar2); + } + else { + if (*(int *)(param_1[5] + 0x2c) != 2) goto LAB_1400d7a51; + uVar1 = FUN_1400da318(*(uint *)((longlong)param_1 + 0x4c),(uint *)*param_1,uVar2); + } + *(uint *)((longlong)param_1 + 0x4c) = uVar1; +LAB_1400d7a51: + memcpy(param_2,(void *)*param_1,(ulonglong)uVar2); + *param_1 = *param_1 + (ulonglong)uVar2; + *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + uVar2; + return uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d7a8c.c b/decomp/Agent_Release_x64/full/functions/0x1400d7a8c.c new file mode 100644 index 00000000..bde72444 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d7a8c.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d7a8c FUN_1400d7a8c + * Pseudocode, not original source. */ + +void FUN_1400d7a8c(longlong param_1) + +{ + ushort uVar1; + longlong lVar2; + + *(int *)(param_1 + 0x58) = *(int *)(param_1 + 0x44) * 2; + *(undefined2 *)(*(longlong *)(param_1 + 0x68) + (ulonglong)(*(int *)(param_1 + 0x74) - 1) * 2) = 0 + ; + memset(*(void **)(param_1 + 0x68),0,(ulonglong)(*(int *)(param_1 + 0x74) - 1) * 2); + lVar2 = (longlong)*(int *)(param_1 + 0xac); + *(uint *)(param_1 + 0xa8) = (uint)*(ushort *)(&DAT_1401181b2 + lVar2 * 0x10); + *(uint *)(param_1 + 0xb4) = (uint)*(ushort *)(&DAT_1401181b0 + lVar2 * 0x10); + *(uint *)(param_1 + 0xb8) = (uint)*(ushort *)(&DAT_1401181b4 + lVar2 * 0x10); + uVar1 = *(ushort *)(&DAT_1401181b6 + lVar2 * 0x10); + *(undefined4 *)(param_1 + 0x84) = 0; + *(uint *)(param_1 + 0xa4) = (uint)uVar1; + *(undefined4 *)(param_1 + 0x9c) = 0; + *(undefined8 *)(param_1 + 0x90) = 0; + *(undefined4 *)(param_1 + 0x70) = 0; + *(undefined4 *)(param_1 + 0xa0) = 2; + *(undefined4 *)(param_1 + 0x88) = 2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d7b3c.c b/decomp/Agent_Release_x64/full/functions/0x1400d7b3c.c new file mode 100644 index 00000000..de5a6d85 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d7b3c.c @@ -0,0 +1,82 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d7b3c FUN_1400d7b3c + * Pseudocode, not original source. */ + +uint FUN_1400d7b3c(longlong param_1,uint param_2) + +{ + char *pcVar1; + uint uVar2; + char *pcVar3; + int iVar4; + uint uVar5; + ulonglong uVar6; + uint uVar7; + uint uVar8; + char *pcVar9; + char *pcVar10; + uint uVar11; + char cVar12; + char cVar13; + + uVar11 = *(uint *)(param_1 + 0x94); + uVar8 = *(uint *)(param_1 + 0xa4); + uVar6 = (ulonglong)(int)*(uint *)(param_1 + 0xa0); + pcVar1 = (char *)((ulonglong)uVar11 + *(longlong *)(param_1 + 0x50)); + if (*(int *)(param_1 + 0x44) - 0x106U < uVar11) { + uVar11 = (uVar11 - *(int *)(param_1 + 0x44)) + 0x106; + } + else { + uVar11 = 0; + } + cVar12 = pcVar1[uVar6 - 1]; + cVar13 = pcVar1[uVar6]; + if (*(uint *)(param_1 + 0xb4) <= *(uint *)(param_1 + 0xa0)) { + uVar8 = uVar8 >> 2; + } + uVar2 = *(uint *)(param_1 + 0x9c); + uVar7 = *(uint *)(param_1 + 0xb8); + if (uVar2 < *(uint *)(param_1 + 0xb8)) { + uVar7 = uVar2; + } + do { + iVar4 = (int)uVar6; + pcVar3 = (char *)((ulonglong)param_2 + *(longlong *)(param_1 + 0x50)); + if ((((pcVar3[iVar4] == cVar13) && (pcVar3[(longlong)iVar4 + -1] == cVar12)) && + (*pcVar3 == *pcVar1)) && (pcVar3[1] == pcVar1[1])) { + pcVar3 = pcVar3 + 2; + pcVar9 = pcVar1 + 2; + while (((((pcVar10 = pcVar9 + 1, *pcVar10 == pcVar3[1] && + (pcVar10 = pcVar9 + 2, *pcVar10 == pcVar3[2])) && + ((pcVar10 = pcVar9 + 3, *pcVar10 == pcVar3[3] && + ((pcVar10 = pcVar9 + 4, *pcVar10 == pcVar3[4] && + (pcVar10 = pcVar9 + 5, *pcVar10 == pcVar3[5])))))) && + (pcVar10 = pcVar9 + 6, *pcVar10 == pcVar3[6])) && + (pcVar10 = pcVar9 + 7, *pcVar10 == pcVar3[7]))) { + pcVar3 = pcVar3 + 8; + pcVar10 = pcVar9 + 8; + if ((*pcVar10 != *pcVar3) || (pcVar9 = pcVar10, pcVar1 + 0x102 <= pcVar10)) break; + } + uVar5 = ((int)pcVar10 - (int)(pcVar1 + 0x102)) + 0x102; + if (iVar4 < (int)uVar5) { + *(uint *)(param_1 + 0x98) = param_2; + uVar6 = (ulonglong)uVar5; + if ((int)uVar7 <= (int)uVar5) { +LAB_1400d7cab: + if (uVar5 <= uVar2) { + uVar2 = uVar5; + } + return uVar2; + } + cVar12 = pcVar1[(longlong)(int)uVar5 + -1]; + cVar13 = pcVar1[(int)uVar5]; + } + } + uVar5 = (uint)uVar6; + param_2 = (uint)*(ushort *) + (*(longlong *)(param_1 + 0x60) + + (ulonglong)(*(uint *)(param_1 + 0x4c) & param_2) * 2); + if ((param_2 <= uVar11) || (uVar8 = uVar8 - 1, uVar8 == 0)) goto LAB_1400d7cab; + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d7cdc.c b/decomp/Agent_Release_x64/full/functions/0x1400d7cdc.c new file mode 100644 index 00000000..3b8cdb3f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d7cdc.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d7cdc FUN_1400d7cdc + * Pseudocode, not original source. */ + +uint FUN_1400d7cdc(longlong param_1,uint param_2) + +{ + uint uVar1; + uint uVar2; + char *pcVar3; + char *pcVar4; + char *pcVar5; + char *pcVar6; + + pcVar3 = (char *)((ulonglong)*(uint *)(param_1 + 0x94) + *(longlong *)(param_1 + 0x50)); + pcVar6 = (char *)((ulonglong)param_2 + *(longlong *)(param_1 + 0x50)); + if ((*pcVar6 == *pcVar3) && (pcVar6[1] == pcVar3[1])) { + pcVar6 = pcVar6 + 2; + pcVar4 = pcVar3 + 2; + while (((((pcVar5 = pcVar4 + 1, *pcVar5 == pcVar6[1] && + (pcVar5 = pcVar4 + 2, *pcVar5 == pcVar6[2])) && + (pcVar5 = pcVar4 + 3, *pcVar5 == pcVar6[3])) && + ((pcVar5 = pcVar4 + 4, *pcVar5 == pcVar6[4] && + (pcVar5 = pcVar4 + 5, *pcVar5 == pcVar6[5])))) && + ((pcVar5 = pcVar4 + 6, *pcVar5 == pcVar6[6] && + (pcVar5 = pcVar4 + 7, *pcVar5 == pcVar6[7]))))) { + pcVar6 = pcVar6 + 8; + pcVar5 = pcVar4 + 8; + if ((*pcVar5 != *pcVar6) || (pcVar4 = pcVar5, pcVar3 + 0x102 <= pcVar5)) break; + } + uVar2 = ((int)pcVar5 - (int)(pcVar3 + 0x102)) + 0x102; + if (2 < (int)uVar2) { + *(uint *)(param_1 + 0x98) = param_2; + uVar1 = *(uint *)(param_1 + 0x9c); + if (uVar2 <= *(uint *)(param_1 + 0x9c)) { + uVar1 = uVar2; + } + return uVar1; + } + } + return 2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d7dcc.c b/decomp/Agent_Release_x64/full/functions/0x1400d7dcc.c new file mode 100644 index 00000000..acde4950 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d7dcc.c @@ -0,0 +1,75 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d7dcc FUN_1400d7dcc + * Pseudocode, not original source. */ + +void FUN_1400d7dcc(longlong *param_1) + +{ + uint uVar1; + ushort uVar2; + uint uVar3; + ulonglong _Size; + ushort *puVar4; + uint uVar5; + ulonglong uVar6; + + uVar1 = *(uint *)((longlong)param_1 + 0x44); + _Size = (ulonglong)uVar1; + while( true ) { + uVar3 = ((int)param_1[0xb] - *(int *)((longlong)param_1 + 0x9c)) - + *(uint *)((longlong)param_1 + 0x94); + if ((uVar1 - 0x106) + *(int *)((longlong)param_1 + 0x44) <= *(uint *)((longlong)param_1 + 0x94)) + { + memcpy((void *)param_1[10],(void *)(param_1[10] + _Size),_Size); + uVar6 = (ulonglong)*(uint *)((longlong)param_1 + 0x74); + *(uint *)(param_1 + 0x13) = (int)param_1[0x13] - uVar1; + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) - uVar1; + *(int *)((longlong)param_1 + 0x84) = *(int *)((longlong)param_1 + 0x84) - uVar1; + puVar4 = (ushort *)(param_1[0xd] + uVar6 * 2); + do { + puVar4 = puVar4 + -1; + uVar2 = 0; + if (uVar1 <= *puVar4) { + uVar2 = *puVar4 - (short)uVar1; + } + uVar5 = (int)uVar6 - 1; + uVar6 = (ulonglong)uVar5; + *puVar4 = uVar2; + } while (uVar5 != 0); + puVar4 = (ushort *)(param_1[0xc] + _Size * 2); + uVar5 = uVar1; + do { + puVar4 = puVar4 + -1; + uVar2 = 0; + if (uVar1 <= *puVar4) { + uVar2 = *puVar4 - (short)uVar1; + } + uVar5 = uVar5 - 1; + *puVar4 = uVar2; + } while (uVar5 != 0); + uVar3 = uVar3 + uVar1; + } + if ((int)((longlong *)*param_1)[1] == 0) break; + uVar3 = FUN_1400d79ec((longlong *)*param_1, + (void *)((ulonglong)*(uint *)((longlong)param_1 + 0x9c) + + (ulonglong)*(uint *)((longlong)param_1 + 0x94) + param_1[10]), + uVar3); + *(int *)((longlong)param_1 + 0x9c) = *(int *)((longlong)param_1 + 0x9c) + uVar3; + if (2 < *(uint *)((longlong)param_1 + 0x9c)) { + uVar3 = (uint)*(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x94) + param_1[10]); + *(uint *)(param_1 + 0xe) = uVar3; + *(uint *)(param_1 + 0xe) = + (uVar3 << ((byte)(int)param_1[0x10] & 0x1f) ^ + (uint)*(byte *)((ulonglong)(*(uint *)((longlong)param_1 + 0x94) + 1) + param_1[10])) & + *(uint *)((longlong)param_1 + 0x7c); + } + if (0x105 < *(uint *)((longlong)param_1 + 0x9c)) { + return; + } + if (*(int *)(*param_1 + 8) == 0) { + return; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d7f1c.c b/decomp/Agent_Release_x64/full/functions/0x1400d7f1c.c new file mode 100644 index 00000000..e9ed99d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d7f1c.c @@ -0,0 +1,87 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d7f1c FUN_1400d7f1c + * Pseudocode, not original source. */ + +undefined4 FUN_1400d7f1c(longlong *param_1,int param_2) + +{ + int *piVar1; + uint uVar2; + uint uVar3; + undefined1 *puVar4; + undefined1 *puVar5; + uint uVar6; + uint uVar7; + + uVar3 = (int)param_1[3] - 5; + uVar2 = 0xffff; + if (uVar3 < 0xffff) { + uVar2 = uVar3; + } + puVar5 = (undefined1 *)0x0; + do { + uVar3 = *(uint *)((longlong)param_1 + 0x9c); + if (uVar3 < 2) { + FUN_1400d7dcc(param_1); + uVar3 = *(uint *)((longlong)param_1 + 0x9c); + if (uVar3 == 0) { + if (param_2 == 0) { + return 0; + } + uVar2 = *(uint *)((longlong)param_1 + 0x84); + if (-1 < (int)uVar2) { + puVar5 = (undefined1 *)((ulonglong)uVar2 + param_1[10]); + } + FUN_1400dbd28(param_1,puVar5,*(int *)((longlong)param_1 + 0x94) - uVar2,(uint)(param_2 == 4) + ); + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + FUN_1400d6e5c(*param_1); + if (*(int *)(*param_1 + 0x18) != 0) { + if (param_2 == 4) { + return 3; + } + return 1; + } + if (param_2 == 4) { + return 2; + } + return 0; + } + } + uVar7 = *(uint *)((longlong)param_1 + 0x84); + piVar1 = (int *)((longlong)param_1 + 0x94); + *piVar1 = *piVar1 + uVar3; + uVar3 = *(uint *)((longlong)param_1 + 0x94); + uVar6 = uVar7 + uVar2; + *(undefined4 *)((longlong)param_1 + 0x9c) = 0; + if ((*piVar1 == 0) || (uVar6 <= uVar3)) { + *(uint *)((longlong)param_1 + 0x94) = uVar6; + *(uint *)((longlong)param_1 + 0x9c) = uVar3 - uVar6; + puVar4 = puVar5; + if (-1 < (int)uVar7) { + puVar4 = (undefined1 *)((ulonglong)uVar7 + param_1[10]); + } + FUN_1400dbd28(param_1,puVar4,uVar6 - uVar7,0); + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + FUN_1400d6e5c(*param_1); + if (*(int *)(*param_1 + 0x18) == 0) { + return 0; + } + } + uVar3 = *(uint *)((longlong)param_1 + 0x84); + uVar7 = *(int *)((longlong)param_1 + 0x94) - uVar3; + if (*(int *)((longlong)param_1 + 0x44) - 0x106U <= uVar7) { + puVar4 = puVar5; + if (-1 < (int)uVar3) { + puVar4 = (undefined1 *)((ulonglong)uVar3 + param_1[10]); + } + FUN_1400dbd28(param_1,puVar4,uVar7,0); + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + FUN_1400d6e5c(*param_1); + if (*(int *)(*param_1 + 0x18) == 0) { + return 0; + } + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d80dc.c b/decomp/Agent_Release_x64/full/functions/0x1400d80dc.c new file mode 100644 index 00000000..64453382 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d80dc.c @@ -0,0 +1,168 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d80dc FUN_1400d80dc + * Pseudocode, not original source. */ + +undefined4 FUN_1400d80dc(longlong *param_1,int param_2) + +{ + longlong *plVar1; + short *psVar2; + longlong lVar3; + uint uVar4; + byte bVar5; + undefined1 *puVar6; + undefined1 *puVar7; + undefined1 *puVar8; + short sVar9; + ushort uVar10; + uint uVar11; + bool bVar12; + + puVar7 = (undefined1 *)0x0; + puVar8 = puVar7; + do { + uVar11 = *(uint *)((longlong)param_1 + 0x9c); + if (uVar11 < 0x106) { + FUN_1400d7dcc(param_1); + uVar11 = *(uint *)((longlong)param_1 + 0x9c); + if ((uVar11 < 0x106) && (param_2 == 0)) { + return 0; + } + if (uVar11 == 0) { + uVar11 = *(uint *)((longlong)param_1 + 0x84); + if (-1 < (int)uVar11) { + puVar7 = (undefined1 *)((ulonglong)uVar11 + param_1[10]); + } + FUN_1400dbd28(param_1,puVar7,*(int *)((longlong)param_1 + 0x94) - uVar11, + (uint)(param_2 == 4)); + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + FUN_1400d6e5c(*param_1); + if (*(int *)(*param_1 + 0x18) != 0) { + if (param_2 == 4) { + return 3; + } + return 1; + } + if (param_2 == 4) { + return 2; + } + return 0; + } + } + if (2 < uVar11) { + uVar11 = ((uint)*(byte *)((ulonglong)(*(uint *)((longlong)param_1 + 0x94) + 2) + param_1[10]) + ^ (int)param_1[0xe] << ((byte)(int)param_1[0x10] & 0x1f)) & + *(uint *)((longlong)param_1 + 0x7c); + *(uint *)(param_1 + 0xe) = uVar11; + *(undefined2 *) + (param_1[0xc] + + (ulonglong)(*(uint *)((longlong)param_1 + 0x94) & *(uint *)((longlong)param_1 + 0x4c)) * 2) = + *(undefined2 *)(param_1[0xd] + (ulonglong)uVar11 * 2); + puVar8 = (undefined1 *) + (ulonglong) + *(ushort *) + (param_1[0xc] + + (ulonglong) + (*(uint *)((longlong)param_1 + 0x94) & *(uint *)((longlong)param_1 + 0x4c)) * 2); + *(undefined2 *)(param_1[0xd] + (ulonglong)*(uint *)(param_1 + 0xe) * 2) = + *(undefined2 *)((longlong)param_1 + 0x94); + } + uVar11 = (uint)puVar8; + if (((uVar11 != 0) && + (uVar4 = *(int *)((longlong)param_1 + 0x94) - uVar11, + uVar4 <= *(int *)((longlong)param_1 + 0x44) - 0x106U)) && ((int)param_1[0x16] != 2)) { + if ((int)param_1[0x16] == 3) { + if (uVar4 != 1) goto LAB_1400d820a; + uVar11 = FUN_1400d7cdc((longlong)param_1,uVar11); + } + else { + uVar11 = FUN_1400d7b3c((longlong)param_1,uVar11); + } + *(uint *)(param_1 + 0x11) = uVar11; + } +LAB_1400d820a: + if (*(uint *)(param_1 + 0x11) < 3) { + bVar5 = *(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x94) + param_1[10]); + *(undefined2 *)(param_1[0x2df] + (ulonglong)*(uint *)((longlong)param_1 + 0x16f4) * 2) = 0; + *(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x16f4) + param_1[0x2dd]) = bVar5; + *(int *)((longlong)param_1 + 0x16f4) = *(int *)((longlong)param_1 + 0x16f4) + 1; + psVar2 = (short *)((longlong)param_1 + (ulonglong)bVar5 * 4 + 0xbc); + *psVar2 = *psVar2 + 1; + bVar12 = *(int *)((longlong)param_1 + 0x16f4) == (int)param_1[0x2de] + -1; + *(int *)((longlong)param_1 + 0x9c) = *(int *)((longlong)param_1 + 0x9c) + -1; +LAB_1400d83f7: + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) + 1; + } + else { + sVar9 = *(short *)((longlong)param_1 + 0x94) - (short)param_1[0x13]; + lVar3 = param_1[0x11]; + *(short *)(param_1[0x2df] + (ulonglong)*(uint *)((longlong)param_1 + 0x16f4) * 2) = sVar9; + bVar5 = (char)lVar3 - 3; + *(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x16f4) + param_1[0x2dd]) = bVar5; + *(int *)((longlong)param_1 + 0x16f4) = *(int *)((longlong)param_1 + 0x16f4) + 1; + uVar10 = sVar9 - 1; + psVar2 = (short *)((longlong)param_1 + (ulonglong)(byte)(&DAT_14011ac50)[bVar5] * 4 + 0x4c0); + *psVar2 = *psVar2 + 1; + if (uVar10 < 0x100) { + bVar5 = (&DAT_14011aa50)[uVar10]; + } + else { + bVar5 = (&DAT_14011ab50)[uVar10 >> 7]; + } + psVar2 = (short *)((longlong)param_1 + (longlong)(int)(uint)bVar5 * 4 + 0x9b0); + *psVar2 = *psVar2 + 1; + bVar12 = *(int *)((longlong)param_1 + 0x16f4) == (int)param_1[0x2de] + -1; + uVar11 = *(uint *)(param_1 + 0x11); + *(int *)((longlong)param_1 + 0x9c) = *(int *)((longlong)param_1 + 0x9c) - uVar11; + if ((uVar11 <= *(uint *)(param_1 + 0x15)) && (2 < *(uint *)((longlong)param_1 + 0x9c))) { + *(uint *)(param_1 + 0x11) = uVar11 - 1; + do { + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) + 1; + uVar11 = ((uint)*(byte *)((ulonglong)(*(uint *)((longlong)param_1 + 0x94) + 2) + + param_1[10]) ^ + (int)param_1[0xe] << ((byte)(int)param_1[0x10] & 0x1f)) & + *(uint *)((longlong)param_1 + 0x7c); + *(uint *)(param_1 + 0xe) = uVar11; + *(undefined2 *) + (param_1[0xc] + + (ulonglong)(*(uint *)((longlong)param_1 + 0x94) & *(uint *)((longlong)param_1 + 0x4c)) * + 2) = *(undefined2 *)(param_1[0xd] + (ulonglong)uVar11 * 2); + puVar8 = (undefined1 *) + (ulonglong) + *(ushort *) + (param_1[0xc] + + (ulonglong) + (*(uint *)((longlong)param_1 + 0x94) & *(uint *)((longlong)param_1 + 0x4c)) * 2) + ; + *(undefined2 *)(param_1[0xd] + (ulonglong)*(uint *)(param_1 + 0xe) * 2) = + *(undefined2 *)((longlong)param_1 + 0x94); + plVar1 = param_1 + 0x11; + *(int *)plVar1 = (int)*plVar1 + -1; + } while ((int)*plVar1 != 0); + goto LAB_1400d83f7; + } + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) + uVar11; + *(undefined4 *)(param_1 + 0x11) = 0; + uVar11 = (uint)*(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x94) + param_1[10]); + *(uint *)(param_1 + 0xe) = uVar11; + *(uint *)(param_1 + 0xe) = + (uVar11 << ((byte)(int)param_1[0x10] & 0x1f) ^ + (uint)*(byte *)((ulonglong)(*(uint *)((longlong)param_1 + 0x94) + 1) + param_1[10])) & + *(uint *)((longlong)param_1 + 0x7c); + } + if (bVar12) { + uVar11 = *(uint *)((longlong)param_1 + 0x84); + puVar6 = puVar7; + if (-1 < (int)uVar11) { + puVar6 = (undefined1 *)((ulonglong)uVar11 + param_1[10]); + } + FUN_1400dbd28(param_1,puVar6,*(int *)((longlong)param_1 + 0x94) - uVar11,0); + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + FUN_1400d6e5c(*param_1); + if (*(int *)(*param_1 + 0x18) == 0) { + return 0; + } + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d84fc.c b/decomp/Agent_Release_x64/full/functions/0x1400d84fc.c new file mode 100644 index 00000000..cfd23b12 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d84fc.c @@ -0,0 +1,205 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d84fc FUN_1400d84fc + * Pseudocode, not original source. */ + +undefined4 FUN_1400d84fc(longlong *param_1,int param_2) + +{ + longlong *plVar1; + short *psVar2; + int iVar3; + int iVar4; + int iVar5; + longlong lVar6; + byte bVar7; + undefined1 *puVar8; + undefined1 *puVar9; + short sVar10; + ushort uVar11; + uint uVar12; + uint uVar13; + undefined1 *puVar14; + + puVar9 = (undefined1 *)0x0; + puVar14 = puVar9; +LAB_1400d852e: + do { + uVar12 = *(uint *)((longlong)param_1 + 0x9c); + if (uVar12 < 0x106) { + FUN_1400d7dcc(param_1); + uVar12 = *(uint *)((longlong)param_1 + 0x9c); + if ((uVar12 < 0x106) && (param_2 == 0)) { + return 0; + } + if (uVar12 == 0) { + if ((int)param_1[0x12] != 0) { + bVar7 = *(byte *)((ulonglong)(*(int *)((longlong)param_1 + 0x94) - 1) + param_1[10]); + *(undefined2 *)(param_1[0x2df] + (ulonglong)*(uint *)((longlong)param_1 + 0x16f4) * 2) = 0 + ; + *(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x16f4) + param_1[0x2dd]) = bVar7; + *(int *)((longlong)param_1 + 0x16f4) = *(int *)((longlong)param_1 + 0x16f4) + 1; + psVar2 = (short *)((longlong)param_1 + (ulonglong)bVar7 * 4 + 0xbc); + *psVar2 = *psVar2 + 1; + *(undefined4 *)(param_1 + 0x12) = 0; + } + uVar12 = *(uint *)((longlong)param_1 + 0x84); + if (-1 < (int)uVar12) { + puVar9 = (undefined1 *)((ulonglong)uVar12 + param_1[10]); + } + FUN_1400dbd28(param_1,puVar9,*(int *)((longlong)param_1 + 0x94) - uVar12, + (uint)(param_2 == 4)); + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + FUN_1400d6e5c(*param_1); + if (*(int *)(*param_1 + 0x18) != 0) { + if (param_2 == 4) { + return 3; + } + return 1; + } + if (param_2 == 4) { + return 2; + } + return 0; + } + } + if (2 < uVar12) { + uVar12 = ((uint)*(byte *)((ulonglong)(*(uint *)((longlong)param_1 + 0x94) + 2) + param_1[10]) + ^ (int)param_1[0xe] << ((byte)(int)param_1[0x10] & 0x1f)) & + *(uint *)((longlong)param_1 + 0x7c); + *(uint *)(param_1 + 0xe) = uVar12; + *(undefined2 *) + (param_1[0xc] + + (ulonglong)(*(uint *)((longlong)param_1 + 0x94) & *(uint *)((longlong)param_1 + 0x4c)) * 2) = + *(undefined2 *)(param_1[0xd] + (ulonglong)uVar12 * 2); + puVar14 = (undefined1 *) + (ulonglong) + *(ushort *) + (param_1[0xc] + + (ulonglong) + (*(uint *)((longlong)param_1 + 0x94) & *(uint *)((longlong)param_1 + 0x4c)) * 2); + *(undefined2 *)(param_1[0xd] + (ulonglong)*(uint *)(param_1 + 0xe) * 2) = + *(undefined2 *)((longlong)param_1 + 0x94); + } + uVar12 = *(uint *)(param_1 + 0x11); + *(undefined4 *)(param_1 + 0x11) = 2; + *(uint *)(param_1 + 0x14) = uVar12; + *(int *)((longlong)param_1 + 0x8c) = (int)param_1[0x13]; + uVar13 = (uint)puVar14; + if (((uVar13 != 0) && (uVar12 < *(uint *)(param_1 + 0x15))) && + (uVar12 = *(int *)((longlong)param_1 + 0x94) - uVar13, + uVar12 <= *(int *)((longlong)param_1 + 0x44) - 0x106U)) { + if ((int)param_1[0x16] != 2) { + if ((int)param_1[0x16] == 3) { + if (uVar12 != 1) goto LAB_1400d864a; + uVar12 = FUN_1400d7cdc((longlong)param_1,uVar13); + } + else { + uVar12 = FUN_1400d7b3c((longlong)param_1,uVar13); + } + *(uint *)(param_1 + 0x11) = uVar12; + } +LAB_1400d864a: + if ((*(uint *)(param_1 + 0x11) < 6) && + (((int)param_1[0x16] == 1 || + ((*(uint *)(param_1 + 0x11) == 3 && + (0x1000 < (uint)(*(int *)((longlong)param_1 + 0x94) - (int)param_1[0x13]))))))) { + *(undefined4 *)(param_1 + 0x11) = 2; + } + } + if ((*(uint *)(param_1 + 0x14) < 3) || (*(uint *)(param_1 + 0x14) < *(uint *)(param_1 + 0x11))) + { + if ((int)param_1[0x12] == 0) { + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) + 1; + *(int *)((longlong)param_1 + 0x9c) = *(int *)((longlong)param_1 + 0x9c) + -1; + *(undefined4 *)(param_1 + 0x12) = 1; + goto LAB_1400d852e; + } + bVar7 = *(byte *)((ulonglong)(*(int *)((longlong)param_1 + 0x94) - 1) + param_1[10]); + *(undefined2 *)(param_1[0x2df] + (ulonglong)*(uint *)((longlong)param_1 + 0x16f4) * 2) = 0; + *(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x16f4) + param_1[0x2dd]) = bVar7; + *(int *)((longlong)param_1 + 0x16f4) = *(int *)((longlong)param_1 + 0x16f4) + 1; + psVar2 = (short *)((longlong)param_1 + (ulonglong)bVar7 * 4 + 0xbc); + *psVar2 = *psVar2 + 1; + if (*(int *)((longlong)param_1 + 0x16f4) == (int)param_1[0x2de] + -1) { + uVar12 = *(uint *)((longlong)param_1 + 0x84); + puVar8 = puVar9; + if (-1 < (int)uVar12) { + puVar8 = (undefined1 *)((ulonglong)uVar12 + param_1[10]); + } + FUN_1400dbd28(param_1,puVar8,*(int *)((longlong)param_1 + 0x94) - uVar12,0); + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + FUN_1400d6e5c(*param_1); + } + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) + 1; + *(int *)((longlong)param_1 + 0x9c) = *(int *)((longlong)param_1 + 0x9c) + -1; + iVar3 = *(int *)(*param_1 + 0x18); + } + else { + iVar3 = *(int *)((longlong)param_1 + 0x94); + iVar4 = *(int *)((longlong)param_1 + 0x9c); + sVar10 = (short)iVar3 - *(short *)((longlong)param_1 + 0x8c); + bVar7 = (char)param_1[0x14] - 3; + *(short *)(param_1[0x2df] + (ulonglong)*(uint *)((longlong)param_1 + 0x16f4) * 2) = + sVar10 + -1; + *(byte *)((ulonglong)*(uint *)((longlong)param_1 + 0x16f4) + param_1[0x2dd]) = bVar7; + *(int *)((longlong)param_1 + 0x16f4) = *(int *)((longlong)param_1 + 0x16f4) + 1; + uVar11 = sVar10 - 2; + psVar2 = (short *)((longlong)param_1 + (ulonglong)(byte)(&DAT_14011ac50)[bVar7] * 4 + 0x4c0); + *psVar2 = *psVar2 + 1; + if (uVar11 < 0x100) { + bVar7 = (&DAT_14011aa50)[uVar11]; + } + else { + bVar7 = (&DAT_14011ab50)[uVar11 >> 7]; + } + psVar2 = (short *)((longlong)param_1 + (longlong)(int)(uint)bVar7 * 4 + 0x9b0); + *psVar2 = *psVar2 + 1; + lVar6 = param_1[0x2de]; + iVar5 = *(int *)((longlong)param_1 + 0x16f4); + *(int *)((longlong)param_1 + 0x9c) = + *(int *)((longlong)param_1 + 0x9c) + (1 - (int)param_1[0x14]); + *(int *)(param_1 + 0x14) = (int)param_1[0x14] + -2; + do { + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) + 1; + uVar12 = *(uint *)((longlong)param_1 + 0x94); + if (uVar12 <= (uint)(iVar3 + -3 + iVar4)) { + uVar13 = ((uint)*(byte *)((ulonglong)(uVar12 + 2) + param_1[10]) ^ + (int)param_1[0xe] << ((byte)(int)param_1[0x10] & 0x1f)) & + *(uint *)((longlong)param_1 + 0x7c); + *(uint *)(param_1 + 0xe) = uVar13; + *(undefined2 *) + (param_1[0xc] + (ulonglong)(uVar12 & *(uint *)((longlong)param_1 + 0x4c)) * 2) = + *(undefined2 *)(param_1[0xd] + (ulonglong)uVar13 * 2); + puVar14 = (undefined1 *) + (ulonglong) + *(ushort *) + (param_1[0xc] + + (ulonglong) + (*(uint *)((longlong)param_1 + 0x94) & *(uint *)((longlong)param_1 + 0x4c)) * 2 + ); + *(undefined2 *)(param_1[0xd] + (ulonglong)*(uint *)(param_1 + 0xe) * 2) = + *(undefined2 *)((longlong)param_1 + 0x94); + } + plVar1 = param_1 + 0x14; + *(int *)plVar1 = (int)*plVar1 + -1; + } while ((int)*plVar1 != 0); + *(int *)((longlong)param_1 + 0x94) = *(int *)((longlong)param_1 + 0x94) + 1; + *(undefined4 *)(param_1 + 0x12) = 0; + *(undefined4 *)(param_1 + 0x11) = 2; + if (iVar5 != (int)lVar6 + -1) goto LAB_1400d852e; + uVar12 = *(uint *)((longlong)param_1 + 0x84); + puVar8 = puVar9; + if (-1 < (int)uVar12) { + puVar8 = (undefined1 *)((ulonglong)uVar12 + param_1[10]); + } + FUN_1400dbd28(param_1,puVar8,*(int *)((longlong)param_1 + 0x94) - uVar12,0); + *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)((longlong)param_1 + 0x94); + FUN_1400d6e5c(*param_1); + iVar3 = *(int *)(*param_1 + 0x18); + } + if (iVar3 == 0) { + return 0; + } + } while( true ); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d89fc.c b/decomp/Agent_Release_x64/full/functions/0x1400d89fc.c new file mode 100644 index 00000000..03d6df28 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d89fc.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d89fc FUN_1400d89fc + * Pseudocode, not original source. */ + +undefined8 FUN_1400d89fc(longlong param_1) + +{ + longlong lVar1; + uint uVar2; + undefined8 uVar3; + + if ((((param_1 == 0) || (lVar1 = *(longlong *)(param_1 + 0x28), lVar1 == 0)) || + (*(longlong *)(param_1 + 0x30) == 0)) || (*(longlong *)(param_1 + 0x38) == 0)) { + uVar3 = 0xfffffffe; + } + else { + *(undefined4 *)(param_1 + 0x1c) = 0; + *(undefined4 *)(param_1 + 0xc) = 0; + *(undefined8 *)(param_1 + 0x20) = 0; + *(undefined4 *)(param_1 + 0x48) = 2; + *(undefined4 *)(lVar1 + 0x28) = 0; + *(undefined8 *)(lVar1 + 0x20) = *(undefined8 *)(lVar1 + 0x10); + if (*(int *)(lVar1 + 0x2c) < 0) { + *(int *)(lVar1 + 0x2c) = -*(int *)(lVar1 + 0x2c); + } + *(uint *)(lVar1 + 8) = (-(uint)(*(int *)(lVar1 + 0x2c) != 0) & 0xffffffb9) + 0x71; + if (*(int *)(lVar1 + 0x2c) == 2) { + uVar2 = FUN_1400da318(0,(uint *)0x0,0); + } + else { + uVar2 = FUN_1400d978c(0,(byte *)0x0,0); + } + *(uint *)(param_1 + 0x4c) = uVar2; + *(undefined4 *)(lVar1 + 0x40) = 0; + FUN_1400db678(lVar1); + FUN_1400d7a8c(lVar1); + uVar3 = 0; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d8abc.c b/decomp/Agent_Release_x64/full/functions/0x1400d8abc.c new file mode 100644 index 00000000..b6fdff87 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d8abc.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d8abc FUN_1400d8abc + * Pseudocode, not original source. */ + +undefined4 FUN_1400d8abc(longlong *param_1,uint param_2,uint param_3) + +{ + longlong lVar1; + undefined4 uVar2; + ulonglong uVar3; + longlong lVar4; + + if ((param_1 != (longlong *)0x0) && (lVar1 = param_1[5], lVar1 != 0)) { + if (param_2 == 0xffffffff) { + param_2 = 6; + } + if ((param_2 < 10) && (param_3 < 5)) { + lVar4 = (longlong)(int)param_2; + uVar2 = 0; + if (((&PTR_FUN_1401181b8)[(longlong)*(int *)(lVar1 + 0xac) * 2] != + (&PTR_FUN_1401181b8)[lVar4 * 2]) && (uVar2 = 0, *(int *)((longlong)param_1 + 0xc) != 0)) + { + uVar3 = FUN_1400d6edc(param_1,1); + uVar2 = (undefined4)uVar3; + } + if (*(uint *)(lVar1 + 0xac) != param_2) { + *(uint *)(lVar1 + 0xac) = param_2; + *(uint *)(lVar1 + 0xa8) = (uint)*(ushort *)(&DAT_1401181b2 + lVar4 * 0x10); + *(uint *)(lVar1 + 0xb4) = (uint)*(ushort *)(&DAT_1401181b0 + lVar4 * 0x10); + *(uint *)(lVar1 + 0xb8) = (uint)*(ushort *)(&DAT_1401181b4 + lVar4 * 0x10); + *(uint *)(lVar1 + 0xa4) = (uint)*(ushort *)(&DAT_1401181b6 + lVar4 * 0x10); + } + *(uint *)(lVar1 + 0xb0) = param_3; + return uVar2; + } + } + return 0xfffffffe; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d8bbc.c b/decomp/Agent_Release_x64/full/functions/0x1400d8bbc.c new file mode 100644 index 00000000..42651714 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d8bbc.c @@ -0,0 +1,103 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d8bbc FUN_1400d8bbc + * Pseudocode, not original source. */ + +undefined8 +FUN_1400d8bbc(longlong param_1,uint param_2,int param_3,int param_4,int param_5,uint param_6, + char *param_7,int param_8) + +{ + uint uVar1; + int iVar2; + undefined8 uVar3; + code *pcVar4; + longlong *plVar5; + longlong lVar6; + int iVar7; + undefined4 uVar8; + + uVar8 = 1; + if (((param_7 == (char *)0x0) || (*param_7 != '1')) || (param_8 != 0x58)) { + uVar3 = 0xfffffffa; + } + else { + if (param_1 != 0) { + *(undefined8 *)(param_1 + 0x20) = 0; + if (*(longlong *)(param_1 + 0x30) == 0) { + *(undefined8 *)(param_1 + 0x40) = 0; + *(code **)(param_1 + 0x30) = FUN_1400d8e98; + } + pcVar4 = *(code **)(param_1 + 0x38); + if (pcVar4 == (code *)0x0) { + pcVar4 = FUN_1400d8eb8; + } + *(code **)(param_1 + 0x38) = pcVar4; + if (param_2 == 0xffffffff) { + param_2 = 6; + } + if (param_4 < 0) { + param_4 = -param_4; + uVar8 = 0; + } + else if (0xf < param_4) { + uVar8 = 2; + param_4 = param_4 + -0x10; + } + if (((param_5 - 1U < 9) && (param_3 == 8)) && + ((param_4 - 8U < 8 && ((param_2 < 10 && (param_6 < 5)))))) { + if (param_4 == 8) { + param_4 = 9; + } + plVar5 = (longlong *)(**(code **)(param_1 + 0x30))(*(undefined8 *)(param_1 + 0x40),1,0x1718) + ; + if (plVar5 != (longlong *)0x0) { + *(longlong **)(param_1 + 0x28) = plVar5; + *(undefined4 *)((longlong)plVar5 + 0x2c) = uVar8; + *(int *)(plVar5 + 9) = param_4; + *plVar5 = param_1; + plVar5[6] = 0; + iVar7 = 1 << ((byte)param_4 & 0x1f); + *(int *)((longlong)plVar5 + 0x44) = iVar7; + *(int *)(plVar5 + 0xf) = param_5 + 7; + *(int *)((longlong)plVar5 + 0x4c) = iVar7 + -1; + iVar2 = 1 << ((byte)(param_5 + 7) & 0x1f); + *(int *)((longlong)plVar5 + 0x74) = iVar2; + *(int *)((longlong)plVar5 + 0x7c) = iVar2 + -1; + *(uint *)(plVar5 + 0x10) = (param_5 + 9U) / 3; + lVar6 = (**(code **)(param_1 + 0x30))(*(undefined8 *)(param_1 + 0x40),iVar7,2); + plVar5[10] = lVar6; + lVar6 = (**(code **)(param_1 + 0x30)) + (*(undefined8 *)(param_1 + 0x40), + *(undefined4 *)((longlong)plVar5 + 0x44),2); + plVar5[0xc] = lVar6; + lVar6 = (**(code **)(param_1 + 0x30)) + (*(undefined8 *)(param_1 + 0x40), + *(undefined4 *)((longlong)plVar5 + 0x74),2); + iVar2 = 1 << ((char)param_5 + 6U & 0x1f); + plVar5[0xd] = lVar6; + *(int *)(plVar5 + 0x2de) = iVar2; + lVar6 = (**(code **)(param_1 + 0x30))(*(undefined8 *)(param_1 + 0x40),iVar2,4); + plVar5[2] = lVar6; + uVar1 = *(uint *)(plVar5 + 0x2de); + *(uint *)(plVar5 + 3) = uVar1 << 2; + if ((((plVar5[10] != 0) && (plVar5[0xc] != 0)) && (plVar5[0xd] != 0)) && (lVar6 != 0)) { + *(uint *)((longlong)plVar5 + 0xac) = param_2; + *(uint *)(plVar5 + 0x16) = param_6; + *(undefined1 *)((longlong)plVar5 + 0x3c) = 8; + plVar5[0x2df] = lVar6 + (ulonglong)(uVar1 >> 1) * 2; + plVar5[0x2dd] = lVar6 + (ulonglong)uVar1 * 3; + uVar3 = FUN_1400d89fc(param_1); + return uVar3; + } + *(undefined4 *)(plVar5 + 1) = 0x29a; + *(char **)(param_1 + 0x20) = "insufficient memory"; + FUN_1400d772c(param_1); + } + return 0xfffffffc; + } + } + uVar3 = 0xfffffffe; + } + return uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d8e2c.c b/decomp/Agent_Release_x64/full/functions/0x1400d8e2c.c new file mode 100644 index 00000000..e0fe4513 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d8e2c.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d8e2c FUN_1400d8e2c + * Pseudocode, not original source. */ + +void FUN_1400d8e2c(longlong param_1,uint param_2,char *param_3,int param_4) + +{ + FUN_1400d8bbc(param_1,param_2,8,0xf,8,0,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d8e98.c b/decomp/Agent_Release_x64/full/functions/0x1400d8e98.c new file mode 100644 index 00000000..c176bf26 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d8e98.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d8e98 FUN_1400d8e98 + * Pseudocode, not original source. */ + +void FUN_1400d8e98(undefined8 param_1,int param_2,int param_3) + +{ + /* WARNING: Could not recover jumptable at 0x0001400d8e9e. Too many branches */ + /* WARNING: Treating indirect jump as call */ + malloc((ulonglong)(uint)(param_2 * param_3)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d8eb8.c b/decomp/Agent_Release_x64/full/functions/0x1400d8eb8.c new file mode 100644 index 00000000..b1a8ceba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d8eb8.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d8eb8 FUN_1400d8eb8 + * Pseudocode, not original source. */ + +void FUN_1400d8eb8(undefined8 param_1,void *param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400d8ebb. Too many branches */ + /* WARNING: Treating indirect jump as call */ + free(param_2); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d8ec4.c b/decomp/Agent_Release_x64/full/functions/0x1400d8ec4.c new file mode 100644 index 00000000..51338f3c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d8ec4.c @@ -0,0 +1,262 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d8ec4 FUN_1400d8ec4 + * Pseudocode, not original source. */ + +void FUN_1400d8ec4(longlong *param_1,int param_2) + +{ + uint uVar1; + undefined4 uVar2; + uint uVar3; + undefined4 uVar4; + undefined4 *puVar5; + longlong lVar6; + longlong lVar7; + longlong lVar8; + uint uVar9; + uint uVar10; + char *pcVar11; + ulonglong uVar12; + uint uVar13; + uint uVar14; + byte *pbVar15; + byte *pbVar16; + longlong lVar17; + undefined1 *puVar18; + undefined1 *puVar19; + undefined1 *puVar20; + undefined1 *puVar21; + longlong lVar22; + undefined1 *puVar23; + uint uVar24; + int iVar25; + uint uVar26; + byte *pbVar27; + int local_68; + + puVar5 = (undefined4 *)param_1[5]; + lVar17 = *(longlong *)(puVar5 + 0x16); + lVar6 = *(longlong *)(puVar5 + 0x18); + uVar1 = puVar5[0xd]; + uVar14 = puVar5[0x10]; + uVar24 = puVar5[0x11]; + lVar8 = param_1[3]; + puVar18 = (undefined1 *)(param_1[2] + -1); + uVar2 = puVar5[0x1a]; + pbVar15 = (byte *)(*param_1 + -1); + local_68 = (int)puVar18 - (param_2 - (int)lVar8); + iVar25 = puVar5[0xb]; + uVar3 = puVar5[0xc]; + lVar7 = *(longlong *)(puVar5 + 0xe); + pbVar27 = pbVar15 + ((int)param_1[1] - 5); + uVar4 = puVar5[0x1b]; + puVar19 = puVar18; +LAB_1400d8f7e: + if (uVar24 < 0xf) { + pbVar16 = pbVar15 + 1; + pbVar15 = pbVar15 + 2; + uVar14 = uVar14 + ((uint)*pbVar16 << ((byte)uVar24 & 0x1f)) + + ((uint)*pbVar15 << ((byte)uVar24 + 8 & 0x1f)); + uVar24 = uVar24 + 0x10; + } + uVar9 = uVar14 & (1 << ((byte)uVar2 & 0x1f)) - 1U; + while( true ) { + uVar9 = *(uint *)(lVar17 + (ulonglong)uVar9 * 4); + uVar14 = uVar14 >> ((byte)(uVar9 >> 8) & 0x1f); + uVar24 = uVar24 - (uVar9 >> 8 & 0xff); + if ((byte)uVar9 == 0) break; + pbVar16 = pbVar15; + if ((uVar9 & 0x10) != 0) { + uVar26 = uVar9 >> 0x10; + uVar9 = uVar9 & 0xf; + if (uVar9 != 0) { + if (uVar24 < uVar9) { + pbVar15 = pbVar15 + 1; + uVar14 = uVar14 + ((uint)*pbVar15 << ((byte)uVar24 & 0x1f)); + uVar24 = uVar24 + 8; + } + uVar10 = (1 << (sbyte)uVar9) - 1U & uVar14; + uVar14 = uVar14 >> (sbyte)uVar9; + uVar26 = uVar26 + uVar10; + uVar24 = uVar24 - uVar9; + pbVar16 = pbVar15; + } + if (uVar24 < 0xf) { + pbVar15 = pbVar16 + 1; + pbVar16 = pbVar16 + 2; + uVar14 = uVar14 + ((uint)*pbVar15 << ((byte)uVar24 & 0x1f)) + + ((uint)*pbVar16 << ((byte)uVar24 + 8 & 0x1f)); + uVar24 = uVar24 + 0x10; + } + uVar9 = *(uint *)(lVar6 + (ulonglong)((1 << ((byte)uVar4 & 0x1f)) - 1U & uVar14) * 4); + goto LAB_1400d9085; + } + if ((uVar9 & 0x40) != 0) { + if ((uVar9 & 0x20) == 0) { + pcVar11 = "invalid literal/length code"; + goto LAB_1400d92b0; + } + *puVar5 = 0xb; + goto LAB_1400d92bc; + } + uVar9 = ((1 << ((byte)uVar9 & 0x1f)) - 1U & uVar14) + (uVar9 >> 0x10); + } + puVar19[1] = (char)(uVar9 >> 0x10); + puVar20 = puVar19 + 1; + goto LAB_1400d9274; +LAB_1400d9085: + uVar14 = uVar14 >> ((byte)(uVar9 >> 8) & 0x1f); + uVar24 = uVar24 - (uVar9 >> 8 & 0xff); + if ((uVar9 & 0x10) != 0) goto code_r0x0001400d90a2; + if ((uVar9 & 0x40) != 0) { + pcVar11 = "invalid distance code"; + goto LAB_1400d92b0; + } + uVar9 = *(uint *)(lVar6 + (ulonglong) + (((1 << ((byte)uVar9 & 0x1f)) - 1U & uVar14) + (uVar9 >> 0x10)) * 4); + goto LAB_1400d9085; +code_r0x0001400d90a2: + uVar13 = uVar9 & 0xf; + pbVar15 = pbVar16; + uVar10 = uVar24; + if (uVar24 < uVar13) { + pbVar15 = pbVar16 + 1; + uVar10 = uVar24 + 8; + uVar14 = uVar14 + ((uint)*pbVar15 << ((byte)uVar24 & 0x1f)); + if (uVar10 < uVar13) { + pbVar15 = pbVar16 + 2; + uVar14 = uVar14 + ((uint)*pbVar15 << ((byte)uVar10 & 0x1f)); + uVar10 = uVar24 + 0x10; + } + } + uVar24 = uVar10 - uVar13; + uVar10 = (1 << (sbyte)uVar13) - 1U & uVar14; + uVar14 = uVar14 >> (sbyte)uVar13; + uVar10 = (uVar9 >> 0x10) + uVar10; + uVar9 = (int)puVar19 - local_68; + if (uVar10 <= uVar9) { + puVar20 = puVar19 + -(ulonglong)uVar10; + do { + puVar23 = puVar19; + puVar21 = puVar20; + puVar19 = puVar23 + 3; + puVar23[1] = puVar21[1]; + uVar26 = uVar26 - 3; + puVar23[2] = puVar21[2]; + *puVar19 = puVar21[3]; + puVar20 = puVar21 + 3; + } while (2 < uVar26); + puVar20 = puVar19; + if (uVar26 != 0) { + puVar23[4] = puVar21[4]; + puVar20 = puVar23 + 4; + if (1 < uVar26) { + puVar23[5] = puVar21[5]; + puVar20 = puVar23 + 5; + } + } + goto LAB_1400d9274; + } + uVar9 = uVar10 - uVar9; + if (uVar3 < uVar9) { + pcVar11 = "invalid distance too far back"; + pbVar16 = pbVar15; +LAB_1400d92b0: + param_1[4] = (longlong)pcVar11; + *puVar5 = 0x1b; +LAB_1400d92bc: + *(int *)(param_1 + 3) = ((int)(puVar18 + ((int)lVar8 - 0x101)) - (int)puVar19) + 0x101; + lVar17 = (longlong)pbVar16 - (ulonglong)(uVar24 >> 3); + iVar25 = uVar24 + (uVar24 >> 3) * -8; + *param_1 = lVar17 + 1; + *(int *)(param_1 + 1) = ((int)pbVar27 - (int)lVar17) + 5; + param_1[2] = (longlong)(puVar19 + 1); + puVar5[0x11] = iVar25; + puVar5[0x10] = (1 << ((byte)iVar25 & 0x1f)) - 1U & uVar14; + return; + } + lVar22 = lVar7 + -1; + if (uVar1 == 0) { + puVar21 = (undefined1 *)(lVar22 + (ulonglong)(iVar25 - uVar9)); + if (uVar9 < uVar26) { + uVar26 = uVar26 - uVar9; + do { + puVar21 = puVar21 + 1; + puVar19 = puVar19 + 1; + uVar9 = uVar9 - 1; + *puVar19 = *puVar21; + } while (uVar9 != 0); +LAB_1400d91ac: + puVar21 = puVar19 + -(ulonglong)uVar10; + } + } + else if (uVar1 < uVar9) { + uVar13 = uVar9 - uVar1; + puVar21 = (undefined1 *)(lVar22 + (ulonglong)((uVar1 - uVar9) + iVar25)); + if (uVar13 < uVar26) { + uVar26 = uVar26 - uVar13; + lVar22 = (longlong)puVar21 - (longlong)puVar19; + do { + puVar19 = puVar19 + 1; + uVar13 = uVar13 - 1; + *puVar19 = puVar19[lVar22]; + } while (uVar13 != 0); + puVar21 = (undefined1 *)(lVar7 + -1); + if (uVar1 < uVar26) { + uVar26 = uVar26 - uVar1; + uVar9 = uVar1; + do { + puVar21 = puVar21 + 1; + puVar19 = puVar19 + 1; + uVar9 = uVar9 - 1; + *puVar19 = *puVar21; + } while (uVar9 != 0); + goto LAB_1400d91ac; + } + } + } + else { + puVar21 = (undefined1 *)(lVar22 + (ulonglong)(uVar1 - uVar9)); + if (uVar9 < uVar26) { + uVar26 = uVar26 - uVar9; + do { + puVar21 = puVar21 + 1; + puVar19 = puVar19 + 1; + uVar9 = uVar9 - 1; + *puVar19 = *puVar21; + } while (uVar9 != 0); + goto LAB_1400d91ac; + } + } + if (2 < uVar26) { + uVar12 = (ulonglong)((uVar26 - 3) / 3 + 1); + puVar20 = puVar19; + puVar23 = puVar21; + do { + puVar21 = puVar23 + 3; + puVar19 = puVar20 + 3; + puVar20[1] = puVar23[1]; + uVar26 = uVar26 - 3; + uVar12 = uVar12 - 1; + puVar20[2] = puVar23[2]; + *puVar19 = *puVar21; + puVar20 = puVar19; + puVar23 = puVar21; + } while (uVar12 != 0); + } + puVar20 = puVar19; + if (uVar26 != 0) { + puVar19[1] = puVar21[1]; + puVar20 = puVar19 + 1; + if (1 < uVar26) { + puVar19[2] = puVar21[2]; + puVar20 = puVar19 + 2; + } + } +LAB_1400d9274: + pbVar16 = pbVar15; + puVar19 = puVar20; + if ((pbVar27 <= pbVar15) || (puVar18 + ((int)lVar8 - 0x101) <= puVar20)) goto LAB_1400d92bc; + goto LAB_1400d8f7e; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d9324.c b/decomp/Agent_Release_x64/full/functions/0x1400d9324.c new file mode 100644 index 00000000..0a94b9f3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d9324.c @@ -0,0 +1,260 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d9324 FUN_1400d9324 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 +FUN_1400d9324(int param_1,ushort *param_2,uint param_3,longlong *param_4,uint *param_5, + undefined *param_6) + +{ + byte bVar1; + ushort uVar2; + ushort *puVar3; + undefined8 uVar4; + byte bVar5; + longlong lVar6; + ulonglong uVar7; + ulonglong uVar8; + ulonglong uVar9; + uint uVar10; + uint uVar11; + uint uVar12; + int iVar13; + char cVar14; + uint uVar15; + uint uVar16; + int iVar17; + int iVar18; + uint uVar19; + byte bVar21; + ulonglong uVar22; + uint uVar23; + undefined *puVar24; + undefined4 local_d8; + longlong local_d0; + uint local_c8; + uint local_c4; + uint local_c0; + uint local_bc; + undefined *local_b0; + ushort local_80 [32]; + ulonglong local_40; + ulonglong uVar20; + + local_40 = DAT_1401555a0 ^ (ulonglong)&local_d8; + uVar22 = 0; + uVar23 = 1; + puVar3 = local_80; + for (lVar6 = 0x10; lVar6 != 0; lVar6 = lVar6 + -1) { + *puVar3 = 0; + puVar3 = puVar3 + 1; + } + if (param_3 != 0) { + uVar8 = (ulonglong)param_3; + puVar3 = param_2; + do { + uVar2 = *puVar3; + puVar3 = puVar3 + 1; + local_80[uVar2] = local_80[uVar2] + 1; + uVar8 = uVar8 - 1; + } while (uVar8 != 0); + } + uVar10 = 0xf; + local_c4 = 0xffffffff; + puVar3 = local_80 + 0xf; + do { + if (*puVar3 != 0) break; + uVar10 = uVar10 - 1; + puVar3 = puVar3 + -1; + } while (uVar10 != 0); + uVar16 = *param_5; + if (uVar10 < *param_5) { + uVar16 = uVar10; + } + if (uVar10 == 0) { + *(undefined4 *)*param_4 = 0x140; + *param_4 = *param_4 + 4; + *(undefined4 *)*param_4 = 0x140; + *param_4 = *param_4 + 4; + *param_5 = 1; +LAB_1400d93f2: + uVar4 = 0; + } + else { + puVar3 = local_80; + uVar15 = uVar23; + do { + puVar3 = puVar3 + 1; + if (*puVar3 != 0) break; + uVar15 = uVar15 + 1; + } while (uVar15 < 0x10); + uVar8 = (ulonglong)uVar16; + uVar11 = uVar23; + if (uVar16 < uVar15) { + uVar8 = (ulonglong)uVar15; + } + do { + uVar23 = uVar23 * 2 - (uint)local_80[uVar11]; + if ((int)uVar23 < 0) goto LAB_1400d9761; + uVar11 = uVar11 + 1; + } while (uVar11 < 0x10); + if (((int)uVar23 < 1) || ((param_1 != 0 && (uVar10 == 1)))) { + local_80[0x11] = 0; + lVar6 = 0xe; + uVar7 = uVar22; + do { + lVar6 = lVar6 + -1; + *(short *)((longlong)local_80 + uVar7 + 0x24) = + *(short *)((longlong)local_80 + uVar7 + 2) + + *(short *)((longlong)local_80 + uVar7 + 0x22); + uVar7 = uVar7 + 2; + } while (lVar6 != 0); + puVar3 = param_2; + uVar7 = uVar22; + if (param_3 != 0) { + do { + if (*puVar3 != 0) { + *(short *)(param_6 + (ulonglong)local_80[(ulonglong)*puVar3 + 0x10] * 2) = (short)uVar7; + local_80[(ulonglong)*puVar3 + 0x10] = local_80[(ulonglong)*puVar3 + 0x10] + 1; + } + uVar23 = (int)uVar7 + 1; + puVar3 = puVar3 + 1; + uVar7 = (ulonglong)uVar23; + } while (uVar23 < param_3); + } + if (param_1 == 0) { + local_b0 = param_6; + iVar13 = 0x13; + puVar24 = param_6; + } + else if (param_1 == 1) { + iVar13 = 0x100; + local_b0 = &DAT_14011811e; + puVar24 = &UNK_1401180de; + } + else { + iVar13 = -1; + local_b0 = &DAT_1401183a0; + puVar24 = &DAT_140118360; + } + local_d0 = *param_4; + uVar16 = (uint)uVar8; + bVar5 = (byte)uVar8; + local_bc = 1 << (bVar5 & 0x1f); + uVar23 = local_bc - 1; + local_c0 = 0; + uVar7 = uVar22; + uVar9 = uVar22; + local_c8 = local_bc; + if ((param_1 != 1) || (uVar7 = 0, uVar9 = 0, local_bc < 0x5b0)) { +LAB_1400d9544: + cVar14 = (char)uVar15; + bVar21 = (byte)uVar22; + bVar1 = cVar14 - bVar21; + uVar2 = *(ushort *)(param_6 + uVar9 * 2); + if ((int)(uint)uVar2 < iVar13) { + local_d8._0_2_ = (ushort)bVar1 << 8; + } + else if (iVar13 < (int)(uint)uVar2) { + local_d8._0_2_ = CONCAT11(bVar1,local_b0[(ulonglong)*(ushort *)(param_6 + uVar9 * 2) * 2]) + ; + uVar2 = *(ushort *)(puVar24 + (ulonglong)*(ushort *)(param_6 + uVar9 * 2) * 2); + } + else { + local_d8 = CONCAT31((uint3)bVar1,0x60); + uVar2 = 0; + } + uVar12 = (uint)uVar7; + local_d8 = CONCAT22(uVar2,(ushort)local_d8); + iVar17 = 1 << (cVar14 - bVar21 & 0x1f); + uVar7 = (ulonglong)((uVar12 >> (bVar21 & 0x1f)) + local_bc); + uVar11 = local_bc; + do { + uVar7 = (ulonglong)(uint)((int)uVar7 - iVar17); + uVar11 = uVar11 - iVar17; + *(uint *)(local_d0 + uVar7 * 4) = local_d8; + } while (uVar11 != 0); + for (uVar11 = 1 << (cVar14 - 1U & 0x1f); (uVar12 & uVar11) != 0; uVar11 = uVar11 >> 1) { + } + uVar19 = 0; + if (uVar11 != 0) { + uVar19 = uVar11 + (uVar11 - 1 & uVar12); + } + uVar7 = (ulonglong)uVar19; + local_c0 = local_c0 + 1; + uVar9 = (ulonglong)local_c0; + puVar3 = local_80 + uVar15; + *puVar3 = *puVar3 - 1; + if (*puVar3 != 0) goto LAB_1400d960e; + if (uVar15 != uVar10) { + uVar15 = (uint)param_2[*(ushort *)(param_6 + uVar9 * 2)]; + goto LAB_1400d960e; + } + local_d8._0_2_ = CONCAT11(cVar14 - bVar21,0x40); + local_d8 = (uint)(ushort)local_d8; + while (uVar19 != 0) { + uVar10 = (uint)uVar7; + if (((int)uVar22 != 0) && ((uVar23 & uVar10) != local_c4)) { + local_d0 = *param_4; + uVar22 = 0; + local_d8._0_2_ = CONCAT11(bVar5,(undefined1)local_d8); + local_d8 = (uint)(ushort)local_d8; + uVar15 = uVar16; + } + *(uint *)(local_d0 + (uVar7 >> ((byte)uVar22 & 0x3f)) * 4) = local_d8; + for (uVar11 = 1 << ((char)uVar15 - 1U & 0x1f); (uVar10 & uVar11) != 0; + uVar11 = uVar11 >> 1) { + } + uVar19 = 0; + if (uVar11 != 0) { + uVar19 = uVar11 + (uVar11 - 1 & uVar10); + } + uVar7 = (ulonglong)uVar19; + } + *param_4 = *param_4 + (ulonglong)local_c8 * 4; + *param_5 = uVar16; + goto LAB_1400d93f2; + } +LAB_1400d9535: + uVar4 = 1; + } + else { +LAB_1400d9761: + uVar4 = 0xffffffff; + } + } + return uVar4; +LAB_1400d960e: + if (uVar16 < uVar15) { + uVar19 = uVar23 & uVar19; + uVar20 = (ulonglong)uVar19; + if (uVar19 == local_c4) goto LAB_1400d9544; + if ((int)uVar22 == 0) { + uVar22 = uVar8; + } + local_d0 = local_d0 + (ulonglong)local_bc * 4; + iVar18 = uVar15 - (int)uVar22; + uVar11 = (int)uVar22 + iVar18; + for (iVar17 = 1 << ((byte)iVar18 & 0x1f); + (uVar11 < uVar10 && (uVar9 = (ulonglong)uVar11, 0 < (int)(iVar17 - (uint)local_80[uVar9]))); + iVar17 = (iVar17 - (uint)local_80[uVar9]) * 2) { + uVar11 = uVar11 + 1; + iVar18 = iVar18 + 1; + } + local_bc = 1 << ((byte)iVar18 & 0x1f); + local_c8 = local_c8 + local_bc; + if ((param_1 != 1) || (local_c8 < 0x5b0)) { + *(byte *)(*param_4 + uVar20 * 4) = (byte)iVar18; + uVar9 = (ulonglong)local_c0; + *(byte *)(*param_4 + 1 + uVar20 * 4) = bVar5; + *(short *)(*param_4 + 2 + uVar20 * 4) = (short)(local_d0 - *param_4 >> 2); + local_c4 = uVar19; + goto LAB_1400d9544; + } + goto LAB_1400d9535; + } + goto LAB_1400d9544; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d978c.c b/decomp/Agent_Release_x64/full/functions/0x1400d978c.c new file mode 100644 index 00000000..dcb3365e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d978c.c @@ -0,0 +1,133 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d978c FUN_1400d978c + * Pseudocode, not original source. */ + +uint FUN_1400d978c(uint param_1,byte *param_2,uint param_3) + +{ + byte bVar1; + int iVar2; + ulonglong uVar3; + uint uVar4; + uint uVar5; + int iVar6; + int iVar7; + int iVar8; + int iVar9; + int iVar10; + int iVar11; + int iVar12; + int iVar13; + int iVar14; + int iVar15; + int iVar16; + int iVar17; + int iVar18; + int iVar19; + int iVar20; + byte *pbVar21; + + uVar5 = param_1 & 0xffff; + uVar4 = param_1 >> 0x10; + if (param_3 == 1) { + uVar5 = (param_1 & 0xffff) + (uint)*param_2; + if (0xfff0 < uVar5) { + uVar5 = uVar5 - 0xfff1; + } + uVar4 = uVar4 + uVar5; + if (0xfff0 < uVar4) { + uVar4 = uVar4 - 0xfff1; + } + } + else { + if (param_2 == (byte *)0x0) { + return 1; + } + if (param_3 < 0x10) { + for (; param_3 != 0; param_3 = param_3 - 1) { + bVar1 = *param_2; + param_2 = param_2 + 1; + uVar5 = uVar5 + bVar1; + uVar4 = uVar4 + uVar5; + } + if (0xfff0 < uVar5) { + uVar5 = uVar5 - 0xfff1; + } + return (uVar4 + (uVar4 / 0xfff1) * 0xf) * 0x10000 | uVar5; + } + if (0x15af < param_3) { + uVar3 = (ulonglong)param_3 / 0x15b0; + do { + param_3 = param_3 - 0x15b0; + iVar2 = 0x15b; + pbVar21 = param_2; + do { + param_2 = pbVar21 + 0x10; + iVar6 = uVar5 + *pbVar21; + iVar7 = iVar6 + (uint)pbVar21[1]; + iVar8 = iVar7 + (uint)pbVar21[2]; + iVar9 = iVar8 + (uint)pbVar21[3]; + iVar10 = iVar9 + (uint)pbVar21[4]; + iVar11 = iVar10 + (uint)pbVar21[5]; + iVar12 = iVar11 + (uint)pbVar21[6]; + iVar13 = iVar12 + (uint)pbVar21[7]; + iVar14 = iVar13 + (uint)pbVar21[8]; + iVar15 = iVar14 + (uint)pbVar21[9]; + iVar16 = iVar15 + (uint)pbVar21[10]; + iVar17 = iVar16 + (uint)pbVar21[0xb]; + iVar18 = iVar17 + (uint)pbVar21[0xc]; + iVar19 = iVar18 + (uint)pbVar21[0xd]; + iVar20 = iVar19 + (uint)pbVar21[0xe]; + uVar5 = iVar20 + (uint)pbVar21[0xf]; + uVar4 = uVar4 + iVar6 + iVar7 + iVar8 + iVar9 + iVar10 + iVar11 + iVar12 + iVar13 + iVar14 + + iVar15 + iVar16 + iVar17 + iVar18 + iVar19 + iVar20 + uVar5; + iVar2 = iVar2 + -1; + pbVar21 = param_2; + } while (iVar2 != 0); + uVar5 = uVar5 % 0xfff1; + uVar4 = uVar4 % 0xfff1; + uVar3 = uVar3 - 1; + } while (uVar3 != 0); + } + if (param_3 != 0) { + if (0xf < param_3) { + uVar3 = (ulonglong)(param_3 >> 4); + pbVar21 = param_2; + do { + param_3 = param_3 - 0x10; + param_2 = pbVar21 + 0x10; + iVar2 = uVar5 + *pbVar21; + iVar6 = iVar2 + (uint)pbVar21[1]; + iVar7 = iVar6 + (uint)pbVar21[2]; + iVar8 = iVar7 + (uint)pbVar21[3]; + iVar9 = iVar8 + (uint)pbVar21[4]; + iVar10 = iVar9 + (uint)pbVar21[5]; + iVar11 = iVar10 + (uint)pbVar21[6]; + iVar12 = iVar11 + (uint)pbVar21[7]; + iVar13 = iVar12 + (uint)pbVar21[8]; + iVar14 = iVar13 + (uint)pbVar21[9]; + iVar15 = iVar14 + (uint)pbVar21[10]; + iVar16 = iVar15 + (uint)pbVar21[0xb]; + iVar17 = iVar16 + (uint)pbVar21[0xc]; + iVar18 = iVar17 + (uint)pbVar21[0xd]; + iVar19 = iVar18 + (uint)pbVar21[0xe]; + uVar5 = iVar19 + (uint)pbVar21[0xf]; + uVar4 = uVar4 + iVar2 + iVar6 + iVar7 + iVar8 + iVar9 + iVar10 + iVar11 + iVar12 + iVar13 + + iVar14 + iVar15 + iVar16 + iVar17 + iVar18 + iVar19 + uVar5; + uVar3 = uVar3 - 1; + pbVar21 = param_2; + } while (uVar3 != 0); + } + for (; param_3 != 0; param_3 = param_3 - 1) { + bVar1 = *param_2; + param_2 = param_2 + 1; + uVar5 = uVar5 + bVar1; + uVar4 = uVar4 + uVar5; + } + uVar5 = uVar5 % 0xfff1; + uVar4 = uVar4 % 0xfff1; + } + } + return uVar4 << 0x10 | uVar5; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d9a6c.c b/decomp/Agent_Release_x64/full/functions/0x1400d9a6c.c new file mode 100644 index 00000000..8eec2ff0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d9a6c.c @@ -0,0 +1,28 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d9a6c FUN_1400d9a6c + * Pseudocode, not original source. */ + +uint FUN_1400d9a6c(uint param_1,uint param_2,uint param_3) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + + uVar1 = (param_1 & 0xffff) + 0xfff0 + (param_2 & 0xffff); + uVar3 = (param_1 & 0xffff) * (param_3 % 0xfff1); + uVar3 = uVar3 + 0xfff1 + + (((param_1 >> 0x10) + (uVar3 / 0xfff1) * -0xfff1 + (param_2 >> 0x10)) - param_3 % 0xfff1); + uVar2 = uVar1; + if ((0xfff1 < uVar1) && (uVar2 = uVar1 - 0xfff1, 0xfff1 < uVar2)) { + uVar2 = uVar1 - 0x1ffe2; + } + if (0x1ffe2 < uVar3) { + uVar3 = uVar3 - 0x1ffe2; + } + if (0xfff1 < uVar3) { + uVar3 = uVar3 - 0xfff1; + } + return uVar3 << 0x10 | uVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d9b18.c b/decomp/Agent_Release_x64/full/functions/0x1400d9b18.c new file mode 100644 index 00000000..abb6de9c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d9b18.c @@ -0,0 +1,84 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d9b18 FUN_1400d9b18 + * Pseudocode, not original source. */ + +uint FUN_1400d9b18(uint param_1,uint *param_2,uint param_3) + +{ + uint uVar1; + uint *puVar2; + ulonglong uVar3; + uint uVar4; + + uVar4 = ~param_1; + for (; (param_3 != 0 && (((ulonglong)param_2 & 3) != 0)); + param_2 = (uint *)((longlong)param_2 + 1)) { + uVar4 = *(uint *)(&DAT_1401183e0 + (ulonglong)(byte)((byte)*param_2 ^ (byte)uVar4) * 4) ^ + uVar4 >> 8; + param_3 = param_3 - 1; + } + if (0x1f < param_3) { + uVar3 = (ulonglong)(param_3 >> 5); + puVar2 = param_2; + do { + uVar4 = uVar4 ^ *puVar2; + uVar4 = *(uint *)(&DAT_1401187e0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_140118be0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_1401183e0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_140118fe0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar2[1]; + uVar4 = *(uint *)(&DAT_1401187e0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_140118be0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_1401183e0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_140118fe0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar2[2]; + uVar4 = *(uint *)(&DAT_1401187e0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_140118be0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_1401183e0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_140118fe0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar2[3]; + uVar4 = *(uint *)(&DAT_1401187e0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_140118be0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_1401183e0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_140118fe0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar2[4]; + uVar4 = *(uint *)(&DAT_1401187e0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_140118be0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_1401183e0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_140118fe0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar2[5]; + param_2 = puVar2 + 8; + param_3 = param_3 - 0x20; + uVar4 = *(uint *)(&DAT_1401187e0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_140118be0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_1401183e0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_140118fe0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar2[6]; + uVar4 = *(uint *)(&DAT_1401187e0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_140118be0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_1401183e0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_140118fe0 + (ulonglong)(uVar4 & 0xff) * 4) ^ puVar2[7]; + uVar4 = *(uint *)(&DAT_1401187e0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_140118be0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_1401183e0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_140118fe0 + (ulonglong)(uVar4 & 0xff) * 4); + uVar3 = uVar3 - 1; + puVar2 = param_2; + } while (uVar3 != 0); + } + if (3 < param_3) { + uVar3 = (ulonglong)(param_3 >> 2); + do { + uVar4 = uVar4 ^ *param_2; + param_3 = param_3 - 4; + param_2 = param_2 + 1; + uVar4 = *(uint *)(&DAT_1401187e0 + (ulonglong)(byte)(uVar4 >> 0x10) * 4) ^ + *(uint *)(&DAT_140118be0 + (ulonglong)(byte)(uVar4 >> 8) * 4) ^ + *(uint *)(&DAT_1401183e0 + (ulonglong)(uVar4 >> 0x18) * 4) ^ + *(uint *)(&DAT_140118fe0 + (ulonglong)(uVar4 & 0xff) * 4); + uVar3 = uVar3 - 1; + } while (uVar3 != 0); + } + for (; param_3 != 0; param_3 = param_3 - 1) { + uVar1 = *param_2; + param_2 = (uint *)((longlong)param_2 + 1); + uVar4 = *(uint *)(&DAT_1401183e0 + (ulonglong)(byte)((byte)uVar1 ^ (byte)uVar4) * 4) ^ + uVar4 >> 8; + } + return ~uVar4; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400d9e28.c b/decomp/Agent_Release_x64/full/functions/0x1400d9e28.c new file mode 100644 index 00000000..418c4e1f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400d9e28.c @@ -0,0 +1,88 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400d9e28 FUN_1400d9e28 + * Pseudocode, not original source. */ + +int FUN_1400d9e28(uint param_1,byte *param_2,uint param_3) + +{ + uint uVar1; + uint *puVar2; + uint *puVar3; + ulonglong uVar4; + uint uVar5; + + uVar5 = ~(((param_1 & 0xff00) + param_1 * 0x10000) * 0x100 + (param_1 >> 8 & 0xff00) + + (param_1 >> 0x18)); + for (; (param_3 != 0 && (((ulonglong)param_2 & 3) != 0)); param_2 = param_2 + 1) { + uVar5 = *(uint *)(&DAT_1401193e0 + ((ulonglong)(uVar5 >> 0x18) ^ (ulonglong)*param_2) * 4) ^ + uVar5 << 8; + param_3 = param_3 - 1; + } + puVar3 = (uint *)(param_2 + -4); + if (0x1f < param_3) { + uVar4 = (ulonglong)(param_3 >> 5); + puVar2 = puVar3; + do { + uVar5 = uVar5 ^ puVar2[1]; + uVar5 = *(uint *)(&DAT_140119be0 + (ulonglong)(byte)(uVar5 >> 0x10) * 4) ^ + *(uint *)(&DAT_1401197e0 + (ulonglong)(byte)(uVar5 >> 8) * 4) ^ + *(uint *)(&DAT_140119fe0 + (ulonglong)(uVar5 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401193e0 + (ulonglong)(uVar5 & 0xff) * 4) ^ puVar2[2]; + uVar5 = *(uint *)(&DAT_140119be0 + (ulonglong)(byte)(uVar5 >> 0x10) * 4) ^ + *(uint *)(&DAT_1401197e0 + (ulonglong)(byte)(uVar5 >> 8) * 4) ^ + *(uint *)(&DAT_140119fe0 + (ulonglong)(uVar5 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401193e0 + (ulonglong)(uVar5 & 0xff) * 4) ^ puVar2[3]; + uVar5 = *(uint *)(&DAT_140119be0 + (ulonglong)(byte)(uVar5 >> 0x10) * 4) ^ + *(uint *)(&DAT_1401197e0 + (ulonglong)(byte)(uVar5 >> 8) * 4) ^ + *(uint *)(&DAT_140119fe0 + (ulonglong)(uVar5 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401193e0 + (ulonglong)(uVar5 & 0xff) * 4) ^ puVar2[4]; + uVar5 = *(uint *)(&DAT_140119be0 + (ulonglong)(byte)(uVar5 >> 0x10) * 4) ^ + *(uint *)(&DAT_1401197e0 + (ulonglong)(byte)(uVar5 >> 8) * 4) ^ + *(uint *)(&DAT_140119fe0 + (ulonglong)(uVar5 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401193e0 + (ulonglong)(uVar5 & 0xff) * 4) ^ puVar2[5]; + uVar5 = *(uint *)(&DAT_140119be0 + (ulonglong)(byte)(uVar5 >> 0x10) * 4) ^ + *(uint *)(&DAT_1401197e0 + (ulonglong)(byte)(uVar5 >> 8) * 4) ^ + *(uint *)(&DAT_140119fe0 + (ulonglong)(uVar5 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401193e0 + (ulonglong)(uVar5 & 0xff) * 4) ^ puVar2[6]; + puVar3 = puVar2 + 8; + param_3 = param_3 - 0x20; + uVar5 = *(uint *)(&DAT_140119be0 + (ulonglong)(byte)(uVar5 >> 0x10) * 4) ^ + *(uint *)(&DAT_1401197e0 + (ulonglong)(byte)(uVar5 >> 8) * 4) ^ + *(uint *)(&DAT_140119fe0 + (ulonglong)(uVar5 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401193e0 + (ulonglong)(uVar5 & 0xff) * 4) ^ puVar2[7]; + uVar5 = *(uint *)(&DAT_140119be0 + (ulonglong)(byte)(uVar5 >> 0x10) * 4) ^ + *(uint *)(&DAT_1401197e0 + (ulonglong)(byte)(uVar5 >> 8) * 4) ^ + *(uint *)(&DAT_140119fe0 + (ulonglong)(uVar5 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401193e0 + (ulonglong)(uVar5 & 0xff) * 4) ^ *puVar3; + uVar5 = *(uint *)(&DAT_140119be0 + (ulonglong)(byte)(uVar5 >> 0x10) * 4) ^ + *(uint *)(&DAT_1401197e0 + (ulonglong)(byte)(uVar5 >> 8) * 4) ^ + *(uint *)(&DAT_140119fe0 + (ulonglong)(uVar5 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401193e0 + (ulonglong)(uVar5 & 0xff) * 4); + uVar4 = uVar4 - 1; + puVar2 = puVar3; + } while (uVar4 != 0); + } + if (3 < param_3) { + uVar4 = (ulonglong)(param_3 >> 2); + do { + puVar3 = puVar3 + 1; + param_3 = param_3 - 4; + uVar5 = uVar5 ^ *puVar3; + uVar5 = *(uint *)(&DAT_140119be0 + (ulonglong)(byte)(uVar5 >> 0x10) * 4) ^ + *(uint *)(&DAT_1401197e0 + (ulonglong)(byte)(uVar5 >> 8) * 4) ^ + *(uint *)(&DAT_140119fe0 + (ulonglong)(uVar5 >> 0x18) * 4) ^ + *(uint *)(&DAT_1401193e0 + (ulonglong)(uVar5 & 0xff) * 4); + uVar4 = uVar4 - 1; + } while (uVar4 != 0); + } + puVar3 = puVar3 + 1; + for (; param_3 != 0; param_3 = param_3 - 1) { + uVar1 = *puVar3; + puVar3 = (uint *)((longlong)puVar3 + 1); + uVar5 = *(uint *)(&DAT_1401193e0 + ((ulonglong)(uVar5 >> 0x18) ^ (ulonglong)(byte)uVar1) * 4) ^ + uVar5 << 8; + } + uVar5 = ~uVar5; + return ((uVar5 & 0xff00) + uVar5 * 0x10000) * 0x100 + (uVar5 >> 8 & 0xff00) + (uVar5 >> 0x18); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400da1c8.c b/decomp/Agent_Release_x64/full/functions/0x1400da1c8.c new file mode 100644 index 00000000..73203e7e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400da1c8.c @@ -0,0 +1,19 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400da1c8 FUN_1400da1c8 + * Pseudocode, not original source. */ + +uint FUN_1400da1c8(uint *param_1,uint param_2) + +{ + uint uVar1; + + uVar1 = 0; + for (; param_2 != 0; param_2 = param_2 >> 1) { + if ((param_2 & 1) != 0) { + uVar1 = uVar1 ^ *param_1; + } + param_1 = param_1 + 1; + } + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400da1e8.c b/decomp/Agent_Release_x64/full/functions/0x1400da1e8.c new file mode 100644 index 00000000..d0479a06 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400da1e8.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400da1e8 FUN_1400da1e8 + * Pseudocode, not original source. */ + +void FUN_1400da1e8(uint *param_1,uint *param_2) + +{ + uint uVar1; + longlong lVar2; + longlong lVar3; + + lVar2 = (longlong)param_2 - (longlong)param_1; + lVar3 = 0x20; + do { + uVar1 = FUN_1400da1c8(param_2,*(uint *)(lVar2 + (longlong)param_1)); + *param_1 = uVar1; + param_1 = param_1 + 1; + lVar3 = lVar3 + -1; + } while (lVar3 != 0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400da228.c b/decomp/Agent_Release_x64/full/functions/0x1400da228.c new file mode 100644 index 00000000..30c9433e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400da228.c @@ -0,0 +1,45 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400da228 FUN_1400da228 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +uint FUN_1400da228(uint param_1,uint param_2,uint param_3) + +{ + longlong lVar1; + uint uVar2; + undefined1 auStack_138 [32]; + uint local_118 [32]; + uint local_98 [32]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_138; + if (param_3 != 0) { + uVar2 = 1; + local_118[0] = 0xedb88320; + lVar1 = 1; + do { + local_118[lVar1] = uVar2; + lVar1 = lVar1 + 1; + uVar2 = uVar2 * 2; + } while (lVar1 < 0x20); + FUN_1400da1e8(local_98,local_118); + FUN_1400da1e8(local_118,local_98); + do { + FUN_1400da1e8(local_98,local_118); + if ((param_3 & 1) != 0) { + param_1 = FUN_1400da1c8(local_98,param_1); + } + if ((int)param_3 >> 1 == 0) break; + FUN_1400da1e8(local_118,local_98); + if (((int)param_3 >> 1 & 1U) != 0) { + param_1 = FUN_1400da1c8(local_118,param_1); + } + param_3 = (int)param_3 >> 2; + } while (param_3 != 0); + param_1 = param_1 ^ param_2; + } + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400da318.c b/decomp/Agent_Release_x64/full/functions/0x1400da318.c new file mode 100644 index 00000000..c9d6e253 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400da318.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400da318 FUN_1400da318 + * Pseudocode, not original source. */ + +uint FUN_1400da318(uint param_1,uint *param_2,uint param_3) + +{ + uint uVar1; + + if (param_2 == (uint *)0x0) { + return 0; + } + uVar1 = FUN_1400d9b18(param_1,param_2,param_3); + return uVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400da338.c b/decomp/Agent_Release_x64/full/functions/0x1400da338.c new file mode 100644 index 00000000..625757dd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400da338.c @@ -0,0 +1,38 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400da338 FUN_1400da338 + * Pseudocode, not original source. */ + +void FUN_1400da338(longlong param_1) + +{ + undefined2 *puVar1; + longlong lVar2; + + puVar1 = (undefined2 *)(param_1 + 0xbc); + lVar2 = 0x11e; + do { + *puVar1 = 0; + puVar1 = puVar1 + 2; + lVar2 = lVar2 + -1; + } while (lVar2 != 0); + puVar1 = (undefined2 *)(param_1 + 0x9b0); + lVar2 = 0x1e; + do { + *puVar1 = 0; + puVar1 = puVar1 + 2; + lVar2 = lVar2 + -1; + } while (lVar2 != 0); + puVar1 = (undefined2 *)(param_1 + 0xaa4); + lVar2 = 0x13; + do { + *puVar1 = 0; + puVar1 = puVar1 + 2; + lVar2 = lVar2 + -1; + } while (lVar2 != 0); + *(undefined2 *)(param_1 + 0x4bc) = 1; + *(undefined8 *)(param_1 + 0x1700) = 0; + *(undefined4 *)(param_1 + 0x1708) = 0; + *(undefined4 *)(param_1 + 0x16f4) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400da3b8.c b/decomp/Agent_Release_x64/full/functions/0x1400da3b8.c new file mode 100644 index 00000000..07860773 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400da3b8.c @@ -0,0 +1,44 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400da3b8 FUN_1400da3b8 + * Pseudocode, not original source. */ + +void FUN_1400da3b8(longlong param_1,longlong param_2,int param_3) + +{ + ushort uVar1; + ushort uVar2; + int iVar3; + int iVar4; + longlong lVar5; + int iVar6; + longlong lVar7; + + iVar3 = *(int *)(param_1 + 0xba8 + (longlong)param_3 * 4); + while( true ) { + iVar6 = param_3 * 2; + if (*(int *)(param_1 + 0x149c) < iVar6) break; + if (iVar6 < *(int *)(param_1 + 0x149c)) { + lVar5 = (longlong)*(int *)(param_1 + 0xbac + (longlong)iVar6 * 4); + lVar7 = (longlong)*(int *)(param_1 + 0xba8 + (longlong)iVar6 * 4); + uVar1 = *(ushort *)(param_2 + lVar7 * 4); + uVar2 = *(ushort *)(param_2 + lVar5 * 4); + if ((uVar2 < uVar1) || + ((uVar2 == uVar1 && + (*(byte *)(lVar5 + 0x14a4 + param_1) <= *(byte *)(lVar7 + 0x14a4 + param_1))))) { + iVar6 = iVar6 + 1; + } + } + iVar4 = *(int *)(param_1 + 0xba8 + (longlong)iVar6 * 4); + uVar1 = *(ushort *)(param_2 + (longlong)iVar4 * 4); + uVar2 = *(ushort *)(param_2 + (longlong)iVar3 * 4); + if ((uVar2 < uVar1) || + ((uVar2 == uVar1 && + (*(byte *)((longlong)iVar3 + 0x14a4 + param_1) <= + *(byte *)((longlong)iVar4 + 0x14a4 + param_1))))) break; + *(int *)(param_1 + 0xba8 + (longlong)param_3 * 4) = iVar4; + param_3 = iVar6; + } + *(int *)(param_1 + 0xba8 + (longlong)param_3 * 4) = iVar3; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400da478.c b/decomp/Agent_Release_x64/full/functions/0x1400da478.c new file mode 100644 index 00000000..7324d4e7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400da478.c @@ -0,0 +1,129 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400da478 FUN_1400da478 + * Pseudocode, not original source. */ + +void FUN_1400da478(longlong param_1,longlong *param_2) + +{ + short *psVar1; + short sVar2; + ushort uVar3; + int iVar4; + longlong *plVar5; + longlong lVar6; + longlong lVar7; + longlong lVar8; + uint uVar9; + uint uVar10; + longlong lVar11; + ulonglong uVar12; + uint uVar13; + ulonglong uVar14; + int *piVar15; + undefined2 *puVar16; + longlong lVar17; + int iVar18; + longlong lVar19; + int iVar20; + longlong lVar21; + int iVar22; + + plVar5 = (longlong *)param_2[2]; + lVar7 = param_2[1]; + lVar6 = *param_2; + lVar8 = plVar5[2]; + lVar19 = *plVar5; + lVar21 = plVar5[1]; + uVar13 = *(uint *)(plVar5 + 3); + uVar14 = (ulonglong)(int)uVar13; + puVar16 = (undefined2 *)(param_1 + 0xb88); + for (lVar11 = 0x10; lVar11 != 0; lVar11 = lVar11 + -1) { + *puVar16 = 0; + puVar16 = puVar16 + 1; + } + *(undefined2 *) + (lVar6 + 2 + (longlong)*(int *)(param_1 + 0xba8 + (longlong)*(int *)(param_1 + 0x14a0) * 4) * 4) + = 0; + iVar18 = 0; + iVar22 = *(int *)(param_1 + 0x14a0) + 1; + lVar11 = (longlong)iVar22; + if (lVar11 < 0x23d) { + lVar17 = 0x23d - lVar11; + piVar15 = (int *)(param_1 + 0xba8 + lVar11 * 4); + iVar22 = iVar22 + (int)lVar17; + do { + iVar4 = *piVar15; + lVar11 = (longlong)iVar4; + uVar10 = *(ushort *)(lVar6 + 2 + (ulonglong)*(ushort *)(lVar6 + 2 + lVar11 * 4) * 4) + 1; + if ((int)uVar13 < (int)uVar10) { + iVar18 = iVar18 + 1; + uVar10 = uVar13; + } + *(short *)(lVar6 + 2 + lVar11 * 4) = (short)uVar10; + if (iVar4 <= (int)lVar7) { + psVar1 = (short *)(param_1 + 0xb88 + (longlong)(int)uVar10 * 2); + *psVar1 = *psVar1 + 1; + iVar20 = 0; + if ((int)lVar8 <= iVar4) { + iVar20 = *(int *)(lVar21 + (lVar11 - (int)lVar8) * 4); + } + uVar9 = (uint)*(ushort *)(lVar6 + lVar11 * 4); + *(int *)(param_1 + 0x1700) = *(int *)(param_1 + 0x1700) + (iVar20 + uVar10) * uVar9; + if (lVar19 != 0) { + *(int *)(param_1 + 0x1704) = + *(int *)(param_1 + 0x1704) + + ((uint)*(ushort *)(lVar19 + 2 + lVar11 * 4) + iVar20) * uVar9; + } + } + piVar15 = piVar15 + 1; + lVar17 = lVar17 + -1; + } while (lVar17 != 0); + } + if (iVar18 != 0) { + do { + uVar12 = (ulonglong)(int)(uVar13 - 1); + sVar2 = *(short *)(param_1 + 0xb88 + uVar12 * 2); + uVar10 = uVar13 - 1; + while (sVar2 == 0) { + uVar10 = (int)uVar12 - 1; + uVar12 = (ulonglong)uVar10; + sVar2 = *(short *)(param_1 + 0xb88 + (longlong)(int)uVar10 * 2); + } + iVar18 = iVar18 + -2; + psVar1 = (short *)(param_1 + 0xb88 + (longlong)(int)uVar10 * 2); + *psVar1 = *psVar1 + -1; + psVar1 = (short *)(param_1 + 0xb8a + (longlong)(int)uVar10 * 2); + *psVar1 = *psVar1 + 2; + psVar1 = (short *)(param_1 + 0xb88 + uVar14 * 2); + *psVar1 = *psVar1 + -1; + } while (0 < iVar18); + lVar19 = (longlong)iVar22; + while (uVar13 != 0) { + uVar13 = (uint)uVar14; + uVar3 = *(ushort *)(param_1 + 0xb88 + (longlong)(int)uVar13 * 2); + uVar10 = (uint)uVar3; + if (uVar3 != 0) { + piVar15 = (int *)(param_1 + 0xba8 + lVar19 * 4); + do { + piVar15 = piVar15 + -1; + lVar19 = lVar19 + -1; + if (*piVar15 <= (int)lVar7) { + lVar21 = (longlong)*piVar15; + uVar9 = (uint)*(ushort *)(lVar6 + 2 + lVar21 * 4); + if (uVar9 != uVar13) { + *(int *)(param_1 + 0x1700) = + *(int *)(param_1 + 0x1700) + + (uVar13 - uVar9) * (uint)*(ushort *)(lVar6 + lVar21 * 4); + *(short *)(lVar6 + 2 + lVar21 * 4) = (short)uVar14; + } + uVar10 = uVar10 - 1; + } + } while (uVar10 != 0); + } + uVar13 = uVar13 - 1; + uVar14 = (ulonglong)uVar13; + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400da678.c b/decomp/Agent_Release_x64/full/functions/0x1400da678.c new file mode 100644 index 00000000..ba5d95f3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400da678.c @@ -0,0 +1,86 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400da678 scan_tree + * Pseudocode, not original source. */ + +/* Library Function - Single Match + scan_tree + + Libraries: Visual Studio 2010 Release, Visual Studio 2015 Release */ + +void scan_tree(longlong param_1,longlong param_2,int param_3) + +{ + short *psVar1; + ushort uVar2; + int iVar3; + longlong lVar4; + ushort *puVar5; + uint uVar6; + uint uVar7; + uint uVar8; + int iVar9; + int iVar10; + + uVar2 = *(ushort *)(param_2 + 2); + uVar6 = 0xffffffff; + iVar10 = 0; + iVar3 = 7; + iVar9 = 4; + if (uVar2 == 0) { + iVar3 = 0x8a; + iVar9 = 3; + } + lVar4 = (longlong)param_3; + *(undefined2 *)(param_2 + 6 + lVar4 * 4) = 0xffff; + if (-1 < lVar4) { + puVar5 = (ushort *)(param_2 + 6); + lVar4 = lVar4 + 1; + uVar7 = (uint)uVar2; + do { + iVar10 = iVar10 + 1; + uVar2 = *puVar5; + uVar8 = (uint)uVar2; + if ((iVar3 <= iVar10) || (uVar7 != uVar8)) { + if (iVar10 < iVar9) { + psVar1 = (short *)(param_1 + 0xaa4 + (longlong)(int)uVar7 * 4); + *psVar1 = *psVar1 + (short)iVar10; + } + else if (uVar7 == 0) { + if (iVar10 < 0xb) { + *(short *)(param_1 + 0xae8) = *(short *)(param_1 + 0xae8) + 1; + } + else { + *(short *)(param_1 + 0xaec) = *(short *)(param_1 + 0xaec) + 1; + } + } + else { + if (uVar7 != uVar6) { + psVar1 = (short *)(param_1 + 0xaa4 + (longlong)(int)uVar7 * 4); + *psVar1 = *psVar1 + 1; + } + *(short *)(param_1 + 0xae4) = *(short *)(param_1 + 0xae4) + 1; + } + iVar10 = 0; + uVar6 = uVar7; + if (uVar2 == 0) { + iVar3 = 0x8a; + } + else { + if (uVar7 != uVar8) { + iVar3 = 7; + iVar9 = 4; + goto LAB_1400da74c; + } + iVar3 = 6; + } + iVar9 = 3; + } +LAB_1400da74c: + puVar5 = puVar5 + 2; + lVar4 = lVar4 + -1; + uVar7 = uVar8; + } while (lVar4 != 0); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400da778.c b/decomp/Agent_Release_x64/full/functions/0x1400da778.c new file mode 100644 index 00000000..95189053 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400da778.c @@ -0,0 +1,259 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400da778 FUN_1400da778 + * Pseudocode, not original source. */ + +void FUN_1400da778(longlong param_1,longlong param_2,int param_3) + +{ + ushort uVar1; + ushort uVar2; + ushort uVar3; + int iVar4; + byte bVar5; + int iVar6; + longlong lVar7; + ushort *puVar8; + uint uVar9; + uint uVar10; + uint uVar11; + short sVar12; + int iVar13; + longlong lVar15; + int iVar16; + int iVar14; + + uVar11 = 0xffffffff; + iVar14 = 0; + iVar4 = 7; + iVar16 = 3; + iVar6 = 4; + if (*(ushort *)(param_2 + 2) == 0) { + iVar4 = 0x8a; + iVar6 = iVar16; + } + if (-1 < param_3) { + puVar8 = (ushort *)(param_2 + 6); + lVar15 = (longlong)param_3 + 1; + uVar9 = (uint)*(ushort *)(param_2 + 2); + do { + iVar13 = iVar14 + 1; + lVar7 = (longlong)(int)uVar9; + uVar1 = *puVar8; + uVar10 = (uint)uVar1; + if ((iVar4 <= iVar13) || (uVar9 != uVar10)) { + if (iVar13 < iVar6) { + do { + uVar11 = (uint)*(ushort *)(param_1 + 0xaa6 + lVar7 * 4); + iVar6 = *(int *)(param_1 + 0x1714); + if ((int)(0x10 - uVar11) < iVar6) { + uVar3 = *(ushort *)(param_1 + 0xaa4 + lVar7 * 4); + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar3 << ((byte)iVar6 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) + = *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) + = *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar6 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = + uVar3 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | + *(short *)(param_1 + 0xaa4 + lVar7 * 4) << ((byte)iVar6 & 0x1f); + } + iVar13 = iVar13 + -1; + *(uint *)(param_1 + 0x1714) = iVar6 + uVar11; + } while (iVar13 != 0); + } + else { + if (uVar9 == 0) { + iVar6 = *(int *)(param_1 + 0x1714); + sVar12 = (short)iVar13; + bVar5 = (byte)iVar6; + if (iVar13 < 0xb) { + uVar3 = *(ushort *)(param_1 + 0xaea); + if ((int)(0x10 - (uint)uVar3) < iVar6) { + uVar2 = *(ushort *)(param_1 + 0xae8); + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar2 << (bVar5 & 0x1f); + *(undefined1 *) + ((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *) + ((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar6 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = + uVar2 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | *(short *)(param_1 + 0xae8) << (bVar5 & 0x1f); + } + iVar6 = iVar6 + (uint)uVar3; + *(int *)(param_1 + 0x1714) = iVar6; + if (iVar6 < 0xe) { + sVar12 = sVar12 + -3; + iVar4 = iVar6 + 3; +LAB_1400dac64: + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | sVar12 << ((byte)iVar6 & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | sVar12 - 3U << ((byte)iVar6 & 0x1f); + *(undefined1 *) + ((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *) + ((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar4 = *(int *)(param_1 + 0x1714) + -0xd; + *(ushort *)(param_1 + 0x1710) = + (ushort)(sVar12 - 3U) >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + } + else { + uVar3 = *(ushort *)(param_1 + 0xaee); + if ((int)(0x10 - (uint)uVar3) < iVar6) { + uVar2 = *(ushort *)(param_1 + 0xaec); + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar2 << (bVar5 & 0x1f); + *(undefined1 *) + ((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *) + ((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar6 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = + uVar2 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | *(short *)(param_1 + 0xaec) << (bVar5 & 0x1f); + } + iVar6 = iVar6 + (uint)uVar3; + *(int *)(param_1 + 0x1714) = iVar6; + if (iVar6 < 10) { + sVar12 = sVar12 + -0xb; + iVar4 = iVar6 + 7; + goto LAB_1400dac64; + } + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | sVar12 - 0xbU << ((byte)iVar6 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) + = *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) + = *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar4 = *(int *)(param_1 + 0x1714) + -9; + *(ushort *)(param_1 + 0x1710) = + (ushort)(sVar12 - 0xbU) >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + } + else { + if (uVar9 != uVar11) { + uVar11 = (uint)*(ushort *)(param_1 + 0xaa6 + lVar7 * 4); + iVar6 = *(int *)(param_1 + 0x1714); + if ((int)(0x10 - uVar11) < iVar6) { + uVar3 = *(ushort *)(param_1 + 0xaa4 + lVar7 * 4); + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar3 << ((byte)iVar6 & 0x1f); + *(undefined1 *) + ((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *) + ((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar6 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = + uVar3 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | + *(short *)(param_1 + 0xaa4 + lVar7 * 4) << ((byte)iVar6 & 0x1f); + } + *(uint *)(param_1 + 0x1714) = iVar6 + uVar11; + iVar13 = iVar14; + } + uVar3 = *(ushort *)(param_1 + 0xae6); + iVar6 = *(int *)(param_1 + 0x1714); + if ((int)(0x10 - (uint)uVar3) < iVar6) { + uVar2 = *(ushort *)(param_1 + 0xae4); + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar2 << ((byte)iVar6 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) + = *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) + = *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar6 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = + uVar2 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | + *(short *)(param_1 + 0xae4) << ((byte)iVar6 & 0x1f); + } + iVar6 = iVar6 + (uint)uVar3; + *(int *)(param_1 + 0x1714) = iVar6; + if (iVar6 < 0xf) { + sVar12 = (short)iVar13 + -3; + iVar4 = iVar6 + 2; + goto LAB_1400dac64; + } + uVar3 = (short)iVar13 - 3; + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar3 << ((byte)iVar6 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar4 = *(int *)(param_1 + 0x1714) + -0xe; + *(ushort *)(param_1 + 0x1710) = + uVar3 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + *(int *)(param_1 + 0x1714) = iVar4; + } + iVar13 = 0; + uVar11 = uVar9; + if (uVar1 == 0) { + iVar4 = 0x8a; + iVar6 = iVar16; + } + else if (uVar9 == uVar10) { + iVar4 = 6; + iVar6 = iVar16; + } + else { + iVar4 = 7; + iVar6 = 4; + } + } + iVar14 = iVar13; + puVar8 = puVar8 + 2; + lVar15 = lVar15 + -1; + uVar9 = uVar10; + } while (lVar15 != 0); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dacd8.c b/decomp/Agent_Release_x64/full/functions/0x1400dacd8.c new file mode 100644 index 00000000..8878c0ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dacd8.c @@ -0,0 +1,102 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dacd8 FUN_1400dacd8 + * Pseudocode, not original source. */ + +void FUN_1400dacd8(longlong param_1,int param_2,int param_3,uint param_4) + +{ + ushort uVar1; + int iVar2; + int iVar3; + byte *pbVar4; + ulonglong uVar5; + + iVar2 = *(int *)(param_1 + 0x1714); + uVar5 = (ulonglong)param_4; + if (iVar2 < 0xc) { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | (short)param_2 + -0x101 << ((byte)iVar2 & 0x1f); + iVar2 = iVar2 + 5; + } + else { + uVar1 = (short)param_2 - 0x101; + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar1 << ((byte)iVar2 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar2 = *(int *)(param_1 + 0x1714) + -0xb; + *(ushort *)(param_1 + 0x1710) = uVar1 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + *(int *)(param_1 + 0x1714) = iVar2; + if (iVar2 < 0xc) { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | (short)param_3 + -1 << ((byte)iVar2 & 0x1f); + iVar2 = iVar2 + 5; + } + else { + uVar1 = (short)param_3 - 1; + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar1 << ((byte)iVar2 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar2 = *(int *)(param_1 + 0x1714) + -0xb; + *(ushort *)(param_1 + 0x1710) = uVar1 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + *(int *)(param_1 + 0x1714) = iVar2; + if (iVar2 < 0xd) { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | (short)param_4 + -4 << ((byte)iVar2 & 0x1f); + iVar2 = iVar2 + 4; + } + else { + uVar1 = (short)param_4 - 4; + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar1 << ((byte)iVar2 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar2 = *(int *)(param_1 + 0x1714) + -0xc; + *(ushort *)(param_1 + 0x1710) = uVar1 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + *(int *)(param_1 + 0x1714) = iVar2; + if (0 < (int)param_4) { + pbVar4 = &DAT_14011a530; + do { + iVar2 = *(int *)(param_1 + 0x1714); + if (iVar2 < 0xe) { + iVar3 = iVar2 + 3; + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | + *(short *)(param_1 + 0xaa6 + (ulonglong)*pbVar4 * 4) << ((byte)iVar2 & 0x1f); + } + else { + uVar1 = *(ushort *)(param_1 + 0xaa6 + (ulonglong)*pbVar4 * 4); + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar1 << ((byte)iVar2 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar3 = *(int *)(param_1 + 0x1714) + -0xd; + *(ushort *)(param_1 + 0x1710) = uVar1 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + pbVar4 = pbVar4 + 1; + uVar5 = uVar5 - 1; + *(int *)(param_1 + 0x1714) = iVar3; + } while (uVar5 != 0); + } + FUN_1400da778(param_1,param_1 + 0xbc,param_2 + -1); + FUN_1400da778(param_1,param_1 + 0x9b0,param_3 + -1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400db008.c b/decomp/Agent_Release_x64/full/functions/0x1400db008.c new file mode 100644 index 00000000..330085c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400db008.c @@ -0,0 +1,183 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400db008 FUN_1400db008 + * Pseudocode, not original source. */ + +void FUN_1400db008(longlong param_1,longlong param_2,longlong param_3) + +{ + byte bVar1; + byte bVar2; + int iVar3; + int iVar4; + byte bVar5; + ulonglong uVar6; + longlong lVar7; + uint uVar8; + ulonglong uVar9; + uint uVar10; + ushort uVar11; + ushort uVar12; + uint uVar13; + longlong lVar14; + + uVar9 = 0; + if (*(int *)(param_1 + 0x16f4) != 0) { + lVar14 = 0; + do { + iVar3 = *(int *)(param_1 + 0x1714); + uVar12 = *(ushort *)(*(longlong *)(param_1 + 0x16f8) + lVar14); + lVar14 = lVar14 + 2; + bVar1 = *(byte *)(uVar9 + *(longlong *)(param_1 + 0x16e8)); + uVar8 = (int)uVar9 + 1; + uVar9 = (ulonglong)uVar8; + bVar5 = (byte)iVar3; + if (uVar12 == 0) { + lVar7 = (longlong)(int)(uint)bVar1; + uVar13 = (uint)*(ushort *)(param_2 + 2 + lVar7 * 4); + if ((int)(0x10 - uVar13) < iVar3) { + uVar12 = *(ushort *)(param_2 + lVar7 * 4); + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar12 << (bVar5 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar3 = *(int *)(param_1 + 0x1714) + -0x10 + uVar13; + *(ushort *)(param_1 + 0x1710) = + uVar12 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | *(short *)(param_2 + lVar7 * 4) << (bVar5 & 0x1f); + iVar3 = iVar3 + uVar13; + } +LAB_1400db378: + *(int *)(param_1 + 0x1714) = iVar3; + } + else { + bVar2 = (&DAT_14011ac50)[bVar1]; + uVar13 = bVar2 + 0x101; + uVar10 = (uint)*(ushort *)(param_2 + 2 + (ulonglong)uVar13 * 4); + if ((int)(0x10 - uVar10) < iVar3) { + uVar11 = *(ushort *)(param_2 + (ulonglong)uVar13 * 4); + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar11 << (bVar5 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar3 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = + uVar11 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | + *(short *)(param_2 + (ulonglong)uVar13 * 4) << (bVar5 & 0x1f); + } + iVar3 = iVar3 + uVar10; + *(int *)(param_1 + 0x1714) = iVar3; + iVar4 = *(int *)(&DAT_14011a3e0 + (ulonglong)bVar2 * 4); + if (iVar4 != 0) { + uVar11 = (ushort)bVar1 - (short)*(undefined4 *)(&DAT_14011ad50 + (ulonglong)bVar2 * 4); + if (0x10 - iVar4 < iVar3) { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar11 << ((byte)iVar3 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar3 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = + uVar11 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar11 << ((byte)iVar3 & 0x1f); + } + *(int *)(param_1 + 0x1714) = iVar3 + iVar4; + } + uVar13 = uVar12 - 1; + if (uVar13 < 0x100) { + bVar1 = (&DAT_14011aa50)[uVar13]; + } + else { + bVar1 = (&DAT_14011aa50)[(uVar13 >> 7) + 0x100]; + } + uVar6 = (ulonglong)bVar1; + uVar10 = (uint)*(ushort *)(param_3 + 2 + uVar6 * 4); + iVar4 = *(int *)(param_1 + 0x1714); + if ((int)(0x10 - uVar10) < iVar4) { + uVar12 = *(ushort *)(param_3 + uVar6 * 4); + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar12 << ((byte)iVar4 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar4 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = + uVar12 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | + *(short *)(param_3 + uVar6 * 4) << ((byte)iVar4 & 0x1f); + } + iVar4 = iVar4 + uVar10; + *(int *)(param_1 + 0x1714) = iVar4; + iVar3 = *(int *)(&DAT_14011a460 + uVar6 * 4); + if (iVar3 != 0) { + uVar12 = (short)uVar13 - (short)*(undefined4 *)(&DAT_14011add0 + uVar6 * 4); + if (0x10 - iVar3 < iVar4) { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar12 << ((byte)iVar4 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar3 = *(int *)(param_1 + 0x1714) + -0x10 + iVar3; + *(ushort *)(param_1 + 0x1710) = + uVar12 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + iVar3 = iVar4 + iVar3; + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | uVar12 << ((byte)iVar4 & 0x1f); + } + goto LAB_1400db378; + } + } + } while (uVar8 < *(uint *)(param_1 + 0x16f4)); + } + uVar12 = *(ushort *)(param_2 + 0x402); + iVar3 = *(int *)(param_1 + 0x1714); + if ((int)(0x10 - (uint)uVar12) < iVar3) { + uVar11 = *(ushort *)(param_2 + 0x400); + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar11 << ((byte)iVar3 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar3 = *(int *)(param_1 + 0x1714) + -0x10; + *(ushort *)(param_1 + 0x1710) = uVar11 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = + *(ushort *)(param_1 + 0x1710) | *(short *)(param_2 + 0x400) << ((byte)iVar3 & 0x1f); + } + *(uint *)(param_1 + 0x1714) = iVar3 + (uint)uVar12; + *(uint *)(param_1 + 0x170c) = (uint)*(ushort *)(param_2 + 0x402); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400db458.c b/decomp/Agent_Release_x64/full/functions/0x1400db458.c new file mode 100644 index 00000000..636e4fe4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400db458.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400db458 FUN_1400db458 + * Pseudocode, not original source. */ + +void FUN_1400db458(longlong *param_1) + +{ + uint uVar1; + short *psVar3; + longlong lVar4; + ulonglong uVar5; + ulonglong uVar2; + + uVar2 = 0; + psVar3 = (short *)((longlong)param_1 + 0xbc); + uVar5 = uVar2; + do { + uVar1 = (uint)uVar2; + if (*psVar3 != 0) break; + uVar5 = uVar5 + 1; + uVar1 = uVar1 + 1; + uVar2 = (ulonglong)uVar1; + psVar3 = psVar3 + 2; + } while ((longlong)uVar5 < 9); + if (uVar1 == 9) { + uVar1 = 0xe; + psVar3 = (short *)((longlong)param_1 + 0xf4); + lVar4 = 0xe; + do { + if (*psVar3 != 0) break; + lVar4 = lVar4 + 1; + uVar1 = uVar1 + 1; + psVar3 = psVar3 + 2; + } while (lVar4 < 0x20); + } + *(uint *)(*param_1 + 0x48) = (uint)(uVar1 == 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400db4c8.c b/decomp/Agent_Release_x64/full/functions/0x1400db4c8.c new file mode 100644 index 00000000..7e573254 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400db4c8.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400db4c8 FUN_1400db4c8 + * Pseudocode, not original source. */ + +uint FUN_1400db4c8(uint param_1,int param_2) + +{ + uint uVar1; + uint uVar2; + uint uVar3; + + uVar1 = 0; + do { + uVar2 = uVar1; + param_2 = param_2 + -1; + uVar3 = param_1 & 1; + param_1 = param_1 >> 1; + uVar1 = (uVar2 | uVar3) * 2; + } while (0 < param_2); + return uVar2 & 0x7fffffff | uVar3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400db4e8.c b/decomp/Agent_Release_x64/full/functions/0x1400db4e8.c new file mode 100644 index 00000000..c80530be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400db4e8.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400db4e8 FUN_1400db4e8 + * Pseudocode, not original source. */ + +void FUN_1400db4e8(longlong param_1) + +{ + ushort uVar1; + + if (*(int *)(param_1 + 0x1714) == 0x10) { + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + uVar1 = 0; + *(undefined4 *)(param_1 + 0x1714) = 0; + } + else { + if (*(int *)(param_1 + 0x1714) < 8) { + return; + } + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(int *)(param_1 + 0x1714) = *(int *)(param_1 + 0x1714) + -8; + uVar1 = (ushort)*(byte *)(param_1 + 0x1711); + } + *(ushort *)(param_1 + 0x1710) = uVar1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400db568.c b/decomp/Agent_Release_x64/full/functions/0x1400db568.c new file mode 100644 index 00000000..865f3b16 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400db568.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400db568 FUN_1400db568 + * Pseudocode, not original source. */ + +void FUN_1400db568(longlong param_1) + +{ + undefined1 uVar1; + + if (*(int *)(param_1 + 0x1714) < 9) { + if (*(int *)(param_1 + 0x1714) < 1) goto LAB_1400db5af; + uVar1 = *(undefined1 *)(param_1 + 0x1710); + } + else { + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + uVar1 = *(undefined1 *)(param_1 + 0x1711); + } + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = uVar1; + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; +LAB_1400db5af: + *(undefined2 *)(param_1 + 0x1710) = 0; + *(undefined4 *)(param_1 + 0x1714) = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400db5c8.c b/decomp/Agent_Release_x64/full/functions/0x1400db5c8.c new file mode 100644 index 00000000..3b4adc15 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400db5c8.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400db5c8 FUN_1400db5c8 + * Pseudocode, not original source. */ + +void FUN_1400db5c8(longlong param_1,undefined1 *param_2,int param_3,int param_4) + +{ + byte bVar1; + + FUN_1400db568(param_1); + *(undefined4 *)(param_1 + 0x170c) = 8; + if (param_4 != 0) { + *(byte *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = (byte)param_3; + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + bVar1 = (byte)((uint)param_3 >> 8); + *(byte *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = bVar1; + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(byte *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = ~(byte)param_3 + ; + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(byte *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = ~bVar1; + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + } + for (; param_3 != 0; param_3 = param_3 + -1) { + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = *param_2 + ; + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + param_2 = param_2 + 1; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400db678.c b/decomp/Agent_Release_x64/full/functions/0x1400db678.c new file mode 100644 index 00000000..f3ad2ca5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400db678.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400db678 FUN_1400db678 + * Pseudocode, not original source. */ + +void FUN_1400db678(longlong param_1) + +{ + *(undefined4 *)(param_1 + 0x170c) = 8; + *(longlong *)(param_1 + 0xb40) = param_1 + 0xbc; + *(undefined ***)(param_1 + 0xb50) = &PTR_DAT_140157350; + *(longlong *)(param_1 + 0xb58) = param_1 + 0x9b0; + *(undefined ***)(param_1 + 0xb68) = &PTR_DAT_140157370; + *(longlong *)(param_1 + 0xb70) = param_1 + 0xaa4; + *(undefined **)(param_1 + 0xb80) = &DAT_140157390; + *(undefined2 *)(param_1 + 0x1710) = 0; + *(undefined4 *)(param_1 + 0x1714) = 0; + FUN_1400da338(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400db6f8.c b/decomp/Agent_Release_x64/full/functions/0x1400db6f8.c new file mode 100644 index 00000000..78856d4a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400db6f8.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400db6f8 FUN_1400db6f8 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400db6f8(longlong param_1,int param_2,longlong param_3) + +{ + ushort uVar1; + uint uVar2; + ushort uVar3; + longlong lVar4; + longlong lVar5; + undefined1 auStack_58 [32]; + ushort auStack_38 [16]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_58; + lVar5 = 0; + uVar3 = 0; + lVar4 = 1; + do { + uVar3 = (uVar3 + *(short *)(param_3 + -2 + lVar4 * 2)) * 2; + auStack_38[lVar4] = uVar3; + lVar4 = lVar4 + 1; + } while (lVar4 < 0x10); + lVar4 = (longlong)param_2; + if (-1 < param_2) { + do { + uVar3 = *(ushort *)(param_1 + 2 + lVar5 * 4); + if (uVar3 != 0) { + uVar1 = auStack_38[uVar3]; + auStack_38[uVar3] = uVar1 + 1; + uVar2 = FUN_1400db4c8((uint)uVar1,(uint)uVar3); + *(short *)(param_1 + lVar5 * 4) = (short)uVar2; + } + lVar5 = lVar5 + 1; + } while (lVar5 <= lVar4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400db798.c b/decomp/Agent_Release_x64/full/functions/0x1400db798.c new file mode 100644 index 00000000..9aac156b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400db798.c @@ -0,0 +1,102 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400db798 FUN_1400db798 + * Pseudocode, not original source. */ + +void FUN_1400db798(longlong param_1,longlong *param_2) + +{ + byte bVar1; + longlong lVar2; + byte bVar3; + int iVar4; + longlong lVar5; + longlong lVar6; + int iVar7; + int iVar8; + int iVar9; + ulonglong uVar10; + + lVar2 = *param_2; + iVar4 = *(int *)(param_2[2] + 0x14); + uVar10 = (ulonglong)iVar4; + lVar6 = *(longlong *)param_2[2]; + iVar7 = -1; + *(undefined4 *)(param_1 + 0x149c) = 0; + *(undefined4 *)(param_1 + 0x14a0) = 0x23d; + iVar8 = 0; + lVar5 = 0; + if (0 < iVar4) { + do { + if (*(short *)(lVar2 + lVar5 * 4) == 0) { + *(undefined2 *)(lVar2 + 2 + lVar5 * 4) = 0; + } + else { + *(int *)(param_1 + 0x149c) = *(int *)(param_1 + 0x149c) + 1; + *(int *)(param_1 + 0xba8 + (longlong)*(int *)(param_1 + 0x149c) * 4) = iVar8; + *(undefined1 *)(lVar5 + 0x14a4 + param_1) = 0; + iVar7 = iVar8; + } + lVar5 = lVar5 + 1; + iVar8 = iVar8 + 1; + } while (lVar5 < (longlong)uVar10); + } + while (*(int *)(param_1 + 0x149c) < 2) { + if (iVar7 < 2) { + iVar7 = iVar7 + 1; + iVar4 = iVar7; + } + else { + iVar4 = 0; + } + *(int *)(param_1 + 0x149c) = *(int *)(param_1 + 0x149c) + 1; + *(int *)(param_1 + 0xba8 + (longlong)*(int *)(param_1 + 0x149c) * 4) = iVar4; + lVar5 = (longlong)iVar4; + *(undefined2 *)(lVar2 + lVar5 * 4) = 1; + *(undefined1 *)(lVar5 + 0x14a4 + param_1) = 0; + *(int *)(param_1 + 0x1700) = *(int *)(param_1 + 0x1700) + -1; + if (lVar6 != 0) { + *(int *)(param_1 + 0x1704) = + *(int *)(param_1 + 0x1704) - (uint)*(ushort *)(lVar6 + 2 + lVar5 * 4); + } + } + *(int *)(param_2 + 1) = iVar7; + for (iVar4 = *(int *)(param_1 + 0x149c) / 2; 0 < iVar4; iVar4 = iVar4 + -1) { + FUN_1400da3b8(param_1,lVar2,iVar4); + } + do { + iVar4 = *(int *)(param_1 + 0xbac); + lVar5 = (longlong)iVar4; + *(undefined4 *)(param_1 + 0xbac) = + *(undefined4 *)(param_1 + 0xba8 + (longlong)*(int *)(param_1 + 0x149c) * 4); + *(int *)(param_1 + 0x149c) = *(int *)(param_1 + 0x149c) + -1; + FUN_1400da3b8(param_1,lVar2,1); + *(int *)(param_1 + 0x14a0) = *(int *)(param_1 + 0x14a0) + -1; + iVar8 = *(int *)(param_1 + 0xbac); + lVar6 = (longlong)iVar8; + iVar9 = (int)uVar10; + *(int *)(param_1 + 0xba8 + (longlong)*(int *)(param_1 + 0x14a0) * 4) = iVar4; + *(int *)(param_1 + 0x14a0) = *(int *)(param_1 + 0x14a0) + -1; + *(int *)(param_1 + 0xba8 + (longlong)*(int *)(param_1 + 0x14a0) * 4) = iVar8; + *(short *)(lVar2 + (longlong)iVar9 * 4) = + *(short *)(lVar2 + lVar6 * 4) + *(short *)(lVar2 + lVar5 * 4); + bVar3 = *(byte *)(lVar5 + 0x14a4 + param_1); + bVar1 = *(byte *)(lVar6 + 0x14a4 + param_1); + if (bVar3 < bVar1) { + bVar3 = bVar1; + } + *(byte *)((longlong)iVar9 + 0x14a4 + param_1) = bVar3 + 1; + *(short *)(lVar2 + 2 + lVar6 * 4) = (short)uVar10; + *(short *)(lVar2 + 2 + lVar5 * 4) = (short)uVar10; + *(int *)(param_1 + 0xbac) = iVar9; + uVar10 = (ulonglong)(iVar9 + 1); + lVar6 = param_1; + FUN_1400da3b8(param_1,lVar2,1); + } while (1 < *(int *)(param_1 + 0x149c)); + *(int *)(param_1 + 0x14a0) = *(int *)(param_1 + 0x14a0) + -1; + *(undefined4 *)(param_1 + 0xba8 + (longlong)*(int *)(param_1 + 0x14a0) * 4) = + *(undefined4 *)(param_1 + 0xbac); + FUN_1400da478(lVar6,param_2); + FUN_1400db6f8(lVar2,iVar7,param_1 + 0xb88); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400db9d8.c b/decomp/Agent_Release_x64/full/functions/0x1400db9d8.c new file mode 100644 index 00000000..67d06df2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400db9d8.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400db9d8 FUN_1400db9d8 + * Pseudocode, not original source. */ + +int FUN_1400db9d8(longlong param_1) + +{ + longlong lVar1; + int iVar2; + + scan_tree(param_1,param_1 + 0xbc,*(int *)(param_1 + 0xb48)); + scan_tree(param_1,param_1 + 0x9b0,*(int *)(param_1 + 0xb60)); + FUN_1400db798(param_1,(longlong *)(param_1 + 0xb70)); + iVar2 = 0x12; + lVar1 = 0x12; + do { + if (*(short *)(param_1 + 0xaa6 + (ulonglong)(byte)(&DAT_14011a530)[lVar1] * 4) != 0) break; + lVar1 = lVar1 + -1; + iVar2 = iVar2 + -1; + } while (2 < lVar1); + *(int *)(param_1 + 0x1700) = *(int *)(param_1 + 0x1700) + iVar2 * 3 + 0x11; + return iVar2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dba68.c b/decomp/Agent_Release_x64/full/functions/0x1400dba68.c new file mode 100644 index 00000000..6a326e92 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dba68.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dba68 FUN_1400dba68 + * Pseudocode, not original source. */ + +void FUN_1400dba68(longlong param_1,undefined1 *param_2,int param_3,ushort param_4) + +{ + int iVar1; + int iVar2; + + iVar1 = *(int *)(param_1 + 0x1714); + if (iVar1 < 0xe) { + iVar2 = iVar1 + 3; + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | param_4 << ((byte)iVar1 & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | param_4 << ((byte)iVar1 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar2 = *(int *)(param_1 + 0x1714) + -0xd; + *(ushort *)(param_1 + 0x1710) = param_4 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + *(int *)(param_1 + 0x1714) = iVar2; + FUN_1400db5c8(param_1,param_2,param_3,1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dbb08.c b/decomp/Agent_Release_x64/full/functions/0x1400dbb08.c new file mode 100644 index 00000000..051dd04f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dbb08.c @@ -0,0 +1,84 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dbb08 FUN_1400dbb08 + * Pseudocode, not original source. */ + +void FUN_1400dbb08(longlong param_1) + +{ + ushort uVar1; + int iVar2; + int iVar3; + + iVar3 = *(int *)(param_1 + 0x1714); + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | 2 << ((byte)iVar3 & 0x1f); + if (iVar3 < 0xe) { + iVar3 = iVar3 + 3; + } + else { + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(ushort *)(param_1 + 0x1710) = 2 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + iVar3 = *(int *)(param_1 + 0x1714) + -0xd; + } + *(int *)(param_1 + 0x1714) = iVar3; + uVar1 = 0; + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | 0 << ((byte)iVar3 & 0x1f); + if (iVar3 < 10) { + iVar3 = iVar3 + 7; + } + else { + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(ushort *)(param_1 + 0x1710) = 0 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + iVar3 = *(int *)(param_1 + 0x1714) + -9; + } + *(int *)(param_1 + 0x1714) = iVar3; + FUN_1400db4e8(param_1); + iVar3 = *(int *)(param_1 + 0x1714); + if ((*(int *)(param_1 + 0x170c) - iVar3) + 0xb < 9) { + if (iVar3 < 0xe) { + iVar2 = iVar3 + 3; + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | 2 << ((byte)iVar3 & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | 2 << ((byte)iVar3 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar2 = *(int *)(param_1 + 0x1714) + -0xd; + *(ushort *)(param_1 + 0x1710) = 2 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + *(int *)(param_1 + 0x1714) = iVar2; + if (iVar2 < 10) { + iVar3 = iVar2 + 7; + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar1 << ((byte)iVar2 & 0x1f); + } + else { + *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | uVar1 << ((byte)iVar2 & 0x1f); + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1710); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = + *(undefined1 *)(param_1 + 0x1711); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + iVar3 = *(int *)(param_1 + 0x1714) + -9; + *(ushort *)(param_1 + 0x1710) = uVar1 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); + } + *(int *)(param_1 + 0x1714) = iVar3; + FUN_1400db4e8(param_1); + } + *(undefined4 *)(param_1 + 0x170c) = 7; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dbd28.c b/decomp/Agent_Release_x64/full/functions/0x1400dbd28.c new file mode 100644 index 00000000..1510594c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dbd28.c @@ -0,0 +1,94 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dbd28 FUN_1400dbd28 + * Pseudocode, not original source. */ + +void FUN_1400dbd28(longlong *param_1,undefined1 *param_2,int param_3,int param_4) + +{ + ushort uVar1; + int iVar2; + int iVar3; + uint uVar4; + uint uVar5; + undefined *puVar6; + longlong *plVar7; + + uVar1 = (ushort)param_4; + iVar2 = 0; + if (*(int *)((longlong)param_1 + 0xac) < 1) { + uVar5 = param_3 + 5; + } + else { + if ((param_3 != 0) && (*(int *)(*param_1 + 0x48) == 2)) { + FUN_1400db458(param_1); + } + FUN_1400db798((longlong)param_1,param_1 + 0x168); + FUN_1400db798((longlong)param_1,param_1 + 0x16b); + iVar2 = FUN_1400db9d8((longlong)param_1); + uVar4 = (int)param_1[0x2e0] + 10U >> 3; + uVar5 = *(int *)((longlong)param_1 + 0x1704) + 10U >> 3; + if (uVar4 < uVar5) goto LAB_1400dbdbd; + } + uVar4 = uVar5; + uVar5 = uVar4; +LAB_1400dbdbd: + if ((uVar4 < param_3 + 4U) || (param_2 == (undefined1 *)0x0)) { + if (((int)param_1[0x16] == 4) || (uVar5 == uVar4)) { + iVar2 = *(int *)((longlong)param_1 + 0x1714); + if (iVar2 < 0xe) { + *(ushort *)(param_1 + 0x2e2) = + *(ushort *)(param_1 + 0x2e2) | uVar1 + 2 << ((byte)iVar2 & 0x1f); + iVar2 = iVar2 + 3; + } + else { + *(ushort *)(param_1 + 0x2e2) = + *(ushort *)(param_1 + 0x2e2) | uVar1 + 2 << ((byte)iVar2 & 0x1f); + *(char *)((ulonglong)*(uint *)(param_1 + 5) + param_1[2]) = (char)param_1[0x2e2]; + *(int *)(param_1 + 5) = (int)param_1[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 5) + param_1[2]) = + *(undefined1 *)((longlong)param_1 + 0x1711); + *(int *)(param_1 + 5) = (int)param_1[5] + 1; + iVar2 = *(int *)((longlong)param_1 + 0x1714) + -0xd; + *(ushort *)(param_1 + 0x2e2) = + (ushort)(uVar1 + 2) >> (0x10U - (char)*(int *)((longlong)param_1 + 0x1714) & 0x1f); + } + *(int *)((longlong)param_1 + 0x1714) = iVar2; + plVar7 = (longlong *)&DAT_14011a9d0; + puVar6 = &DAT_14011a550; + } + else { + iVar3 = *(int *)((longlong)param_1 + 0x1714); + if (iVar3 < 0xe) { + *(ushort *)(param_1 + 0x2e2) = + *(ushort *)(param_1 + 0x2e2) | uVar1 + 4 << ((byte)iVar3 & 0x1f); + iVar3 = iVar3 + 3; + } + else { + *(ushort *)(param_1 + 0x2e2) = + *(ushort *)(param_1 + 0x2e2) | uVar1 + 4 << ((byte)iVar3 & 0x1f); + *(char *)((ulonglong)*(uint *)(param_1 + 5) + param_1[2]) = (char)param_1[0x2e2]; + *(int *)(param_1 + 5) = (int)param_1[5] + 1; + *(undefined1 *)((ulonglong)*(uint *)(param_1 + 5) + param_1[2]) = + *(undefined1 *)((longlong)param_1 + 0x1711); + *(int *)(param_1 + 5) = (int)param_1[5] + 1; + iVar3 = *(int *)((longlong)param_1 + 0x1714) + -0xd; + *(ushort *)(param_1 + 0x2e2) = + (ushort)(uVar1 + 4) >> (0x10U - (char)*(int *)((longlong)param_1 + 0x1714) & 0x1f); + } + *(int *)((longlong)param_1 + 0x1714) = iVar3; + FUN_1400dacd8((longlong)param_1,(int)param_1[0x169] + 1,(int)param_1[0x16c] + 1,iVar2 + 1); + plVar7 = param_1 + 0x136; + puVar6 = (undefined *)((longlong)param_1 + 0xbc); + } + FUN_1400db008((longlong)param_1,(longlong)puVar6,(longlong)plVar7); + } + else { + FUN_1400dba68((longlong)param_1,param_2,param_3,uVar1); + } + FUN_1400da338((longlong)param_1); + if (param_4 != 0) { + FUN_1400db568((longlong)param_1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dbf94.c b/decomp/Agent_Release_x64/full/functions/0x1400dbf94.c new file mode 100644 index 00000000..05388fcb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dbf94.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dbf94 std::_Mutex::_Mutex + * Pseudocode, not original source. */ + +/* public: __cdecl std::_Mutex::_Mutex(enum std::_Uninitialized) __ptr64 */ + +_Mutex * __thiscall std::_Mutex::_Mutex(_Mutex *this,_Uninitialized param_1) + +{ + /* 0xdbf94 1 ??0_Mutex@std@@QEAA@W4_Uninitialized@1@@Z + 0xdbf94 2 ??4_Init_locks@std@@QEAAAEAV01@AEBV01@@Z */ + return this; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dbfa4.c b/decomp/Agent_Release_x64/full/functions/0x1400dbfa4.c new file mode 100644 index 00000000..1bd009ca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dbfa4.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dbfa4 `eh_vector_constructor_iterator' + * Pseudocode, not original source. */ + +/* Library Function - Single Match + void __cdecl `eh vector constructor iterator'(void * __ptr64,unsigned __int64,int,void + (__cdecl*)(void * __ptr64),void (__cdecl*)(void * __ptr64)) + + Library: Visual Studio 2010 Release */ + +void __cdecl +_eh_vector_constructor_iterator_ + (void *param_1,__uint64 param_2,int param_3,_func_void_void_ptr *param_4, + _func_void_void_ptr *param_5) + +{ + int iVar1; + + for (iVar1 = 0; iVar1 < param_3; iVar1 = iVar1 + 1) { + (*param_4)(param_1); + param_1 = (void *)((longlong)param_1 + param_2); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc010.c b/decomp/Agent_Release_x64/full/functions/0x1400dc010.c new file mode 100644 index 00000000..89ff9595 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc010.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc010 FUN_1400dc010 + * Pseudocode, not original source. */ + +void FUN_1400dc010(__uint64 param_1) + +{ + operator_new(param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc040.c b/decomp/Agent_Release_x64/full/functions/0x1400dc040.c new file mode 100644 index 00000000..76a417ea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc040.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc040 FUN_1400dc040 + * Pseudocode, not original source. */ + +void FUN_1400dc040(longlong param_1) + +{ + double dVar1; + + if (*(char *)(param_1 + 0x20) == '\0') { + dVar1 = (double)(**(code **)(**(longlong **)(param_1 + 8) + 8))(); + dVar1 = dVar1 * (double)*(float *)(param_1 + 0x24); + *(double *)(param_1 + 0x18) = dVar1; + *(double *)(param_1 + 0x10) = dVar1 + *(double *)(param_1 + 0x10); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc080.c b/decomp/Agent_Release_x64/full/functions/0x1400dc080.c new file mode 100644 index 00000000..eb65b824 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc080.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc080 FUN_1400dc080 + * Pseudocode, not original source. */ + +void FUN_1400dc080(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = Magi::Timer::vftable; + (**(code **)(*(longlong *)param_1[1] + 0x18)) + ((longlong *)param_1[1],param_1,param_3,param_4,0xfffffffffffffffe); + *param_1 = IObserver::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc0d0.c b/decomp/Agent_Release_x64/full/functions/0x1400dc0d0.c new file mode 100644 index 00000000..35780b93 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc0d0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc0d0 FUN_1400dc0d0 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400dc0d0(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + *param_1 = Magi::Timer::vftable; + param_1[1] = param_2; + param_1[2] = 0; + param_1[3] = 0; + *(undefined1 *)(param_1 + 4) = 0; + *(undefined4 *)((longlong)param_1 + 0x24) = 0x3f800000; + (**(code **)(*param_2 + 0x10))(param_2,param_1,param_2,param_4,0xfffffffffffffffe); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc130.c b/decomp/Agent_Release_x64/full/functions/0x1400dc130.c new file mode 100644 index 00000000..f84c1604 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc130.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc130 FUN_1400dc130 + * Pseudocode, not original source. */ + +double FUN_1400dc130(longlong param_1) + +{ + LARGE_INTEGER local_res8 [4]; + + QueryPerformanceCounter(local_res8); + return (double)local_res8[0].QuadPart * *(double *)(param_1 + 8); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc160.c b/decomp/Agent_Release_x64/full/functions/0x1400dc160.c new file mode 100644 index 00000000..e96bd6da --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc160.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc160 FUN_1400dc160 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400dc160(undefined8 *param_1) + +{ + BOOL BVar1; + LARGE_INTEGER local_res8 [4]; + + *param_1 = TimeSourceHRWin32::vftable; + BVar1 = QueryPerformanceFrequency(local_res8); + if (BVar1 == 0) { + *(undefined1 *)(param_1 + 2) = 0; + GetLastError(); + return param_1; + } + *(undefined1 *)(param_1 + 2) = 1; + param_1[1] = 1.0 / (double)local_res8[0].QuadPart; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc1c0.c b/decomp/Agent_Release_x64/full/functions/0x1400dc1c0.c new file mode 100644 index 00000000..50d2e239 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc1c0.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc1c0 FUN_1400dc1c0 + * Pseudocode, not original source. */ + +void FUN_1400dc1c0(longlong param_1,longlong *param_2,undefined8 param_3) + +{ + undefined8 *puVar1; + undefined8 uVar2; + + puVar1 = *(undefined8 **)(param_1 + 0x10); + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1); + } + *(longlong **)(param_1 + 0x10) = param_2; + if (param_2 != (longlong *)0x0) { + uVar2 = (**(code **)(*param_2 + 8))(param_2); + *(undefined8 *)(param_1 + 0x30) = uVar2; + *(undefined8 *)(param_1 + 0x38) = uVar2; + } + *(undefined8 *)(param_1 + 0x90) = param_3; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc230.c b/decomp/Agent_Release_x64/full/functions/0x1400dc230.c new file mode 100644 index 00000000..ed76aa81 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc230.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc230 FUN_1400dc230 + * Pseudocode, not original source. */ + +void FUN_1400dc230(longlong param_1,longlong param_2) + +{ + longlong *_Src; + longlong *plVar1; + longlong lVar2; + longlong *_Dst; + + _Dst = *(longlong **)(param_1 + 0x70); + _Src = *(longlong **)(param_1 + 0x78); + if (_Dst == _Src) { + return; + } + while (*_Dst != param_2) { + _Dst = _Dst + 1; + if (_Dst == _Src) goto LAB_1400dc288; + } + plVar1 = _Dst; + if (_Dst == _Src) { + return; + } + while (plVar1 = plVar1 + 1, plVar1 != _Src) { + if (*plVar1 != param_2) { + *_Dst = *plVar1; + _Dst = _Dst + 1; + } + } +LAB_1400dc288: + if (_Dst == _Src) { + return; + } + lVar2 = *(longlong *)(param_1 + 0x78) - (longlong)_Src >> 3; + memmove(_Dst,_Src,lVar2 * 8); + *(longlong **)(param_1 + 0x78) = _Dst + lVar2; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc2d0.c b/decomp/Agent_Release_x64/full/functions/0x1400dc2d0.c new file mode 100644 index 00000000..70d14472 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc2d0.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc2d0 FUN_1400dc2d0 + * Pseudocode, not original source. */ + +void FUN_1400dc2d0(longlong param_1,longlong param_2) + +{ + ulonglong *puVar1; + longlong *plVar2; + longlong *plVar3; + longlong local_res10 [3]; + + if (param_2 != 0) { + plVar2 = *(longlong **)(param_1 + 0x78); + puVar1 = (ulonglong *)(param_1 + 0x70); + local_res10[0] = param_2; + if ((local_res10 < plVar2) && (plVar3 = (longlong *)*puVar1, plVar3 <= local_res10)) { + if (plVar2 == *(longlong **)(param_1 + 0x80)) { + FUN_140001e70((longlong *)puVar1); + } + if (*(undefined8 **)(param_1 + 0x78) != (undefined8 *)0x0) { + **(undefined8 **)(param_1 + 0x78) = + *(undefined8 *)(*puVar1 + ((longlong)local_res10 - (longlong)plVar3 >> 3) * 8); + *(longlong *)(param_1 + 0x78) = *(longlong *)(param_1 + 0x78) + 8; + return; + } + } + else { + if (plVar2 == *(longlong **)(param_1 + 0x80)) { + FUN_140001e70((longlong *)puVar1); + } + if (*(longlong **)(param_1 + 0x78) != (longlong *)0x0) { + **(longlong **)(param_1 + 0x78) = param_2; + } + } + *(longlong *)(param_1 + 0x78) = *(longlong *)(param_1 + 0x78) + 8; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc3d0.c b/decomp/Agent_Release_x64/full/functions/0x1400dc3d0.c new file mode 100644 index 00000000..de927b93 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc3d0.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc3d0 FUN_1400dc3d0 + * Pseudocode, not original source. */ + +void FUN_1400dc3d0(longlong param_1,double param_2) + +{ + ulonglong *puVar1; + double *pdVar2; + double *pdVar3; + void *_Dst; + double dVar4; + double local_res10; + + local_res10 = param_2; + if (param_2 < 0.0) { + local_res10 = 0.05; + } + dVar4 = local_res10; + pdVar2 = *(double **)(param_1 + 0x58); + puVar1 = (ulonglong *)(param_1 + 0x50); + if ((&local_res10 < pdVar2) && (pdVar3 = (double *)*puVar1, pdVar3 <= &local_res10)) { + if (pdVar2 == *(double **)(param_1 + 0x60)) { + FUN_140001e70((longlong *)puVar1); + } + if (*(undefined8 **)(param_1 + 0x58) != (undefined8 *)0x0) { + **(undefined8 **)(param_1 + 0x58) = + *(undefined8 *)(*puVar1 + ((longlong)&local_res10 - (longlong)pdVar3 >> 3) * 8); + } + } + else { + if (pdVar2 == *(double **)(param_1 + 0x60)) { + FUN_140001e70((longlong *)puVar1); + } + if (*(double **)(param_1 + 0x58) != (double *)0x0) { + **(double **)(param_1 + 0x58) = dVar4; + } + } + *(longlong *)(param_1 + 0x58) = *(longlong *)(param_1 + 0x58) + 8; + _Dst = (void *)*puVar1; + if ((ulonglong)*(uint *)(param_1 + 0x40) < + (ulonglong)(*(longlong *)(param_1 + 0x58) - (longlong)_Dst >> 3)) { + memmove(_Dst,(void *)((longlong)_Dst + 8), + *(longlong *)(param_1 + 0x58) - ((longlong)_Dst + 8) & 0xfffffffffffffff8); + *(longlong *)(param_1 + 0x58) = *(longlong *)(param_1 + 0x58) + -8; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc4d0.c b/decomp/Agent_Release_x64/full/functions/0x1400dc4d0.c new file mode 100644 index 00000000..93bede6a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc4d0.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc4d0 FUN_1400dc4d0 + * Pseudocode, not original source. */ + +double FUN_1400dc4d0(longlong param_1) + +{ + double dVar1; + double dVar2; + + if (*(longlong **)(param_1 + 0x10) == (longlong *)0x0) { + dVar2 = 0.0; + } + else { + dVar2 = (double)(**(code **)(**(longlong **)(param_1 + 0x10) + 8))(); + } + dVar1 = dVar2 - *(double *)(param_1 + 0x38); + if (*(double *)(param_1 + 0x90) <= dVar1 && dVar1 != *(double *)(param_1 + 0x90)) { + dVar1 = *(double *)(*(longlong *)(param_1 + 0x58) + -8); + } + *(double *)(param_1 + 0x38) = dVar2; + return dVar1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc520.c b/decomp/Agent_Release_x64/full/functions/0x1400dc520.c new file mode 100644 index 00000000..0fe03c69 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc520.c @@ -0,0 +1,53 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc520 FUN_1400dc520 + * Pseudocode, not original source. */ + +void FUN_1400dc520(longlong param_1) + +{ + double dVar1; + double *pdVar2; + longlong lVar3; + undefined8 *puVar4; + double dVar5; + double dVar6; + + dVar1 = 0.0; + if (*(longlong **)(param_1 + 0x10) == (longlong *)0x0) { + dVar5 = 0.0; + } + else { + dVar5 = (double)(**(code **)(**(longlong **)(param_1 + 0x10) + 8))(); + } + dVar6 = dVar5 - *(double *)(param_1 + 0x38); + if (*(double *)(param_1 + 0x90) <= dVar6 && dVar6 != *(double *)(param_1 + 0x90)) { + dVar6 = *(double *)(*(longlong *)(param_1 + 0x58) + -8); + } + *(double *)(param_1 + 0x38) = dVar5; + FUN_1400dc3d0(param_1,dVar6); + pdVar2 = *(double **)(param_1 + 0x50); + if (pdVar2 != *(double **)(param_1 + 0x58)) { + dVar1 = 0.0; + do { + dVar1 = dVar1 + *pdVar2; + pdVar2 = pdVar2 + 1; + } while (pdVar2 != *(double **)(param_1 + 0x58)); + } + lVar3 = *(longlong *)(param_1 + 0x58) - *(longlong *)(param_1 + 0x50) >> 3; + dVar5 = (double)lVar3; + if (lVar3 < 0) { + dVar5 = dVar5 + 1.8446744073709552e+19; + } + puVar4 = *(undefined8 **)(param_1 + 0x70); + *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; + *(double *)(param_1 + 0x20) = dVar1 / dVar5; + *(double *)(param_1 + 0x18) = dVar1 / dVar5 + *(double *)(param_1 + 0x18); + if (puVar4 != *(undefined8 **)(param_1 + 0x78)) { + do { + (**(code **)(*(longlong *)*puVar4 + 8))(); + puVar4 = puVar4 + 1; + } while (puVar4 != *(undefined8 **)(param_1 + 0x78)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc600.c b/decomp/Agent_Release_x64/full/functions/0x1400dc600.c new file mode 100644 index 00000000..91a3baaf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc600.c @@ -0,0 +1,33 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc600 FUN_1400dc600 + * Pseudocode, not original source. */ + +void FUN_1400dc600(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + + *param_1 = Clock::vftable; + param_1[1] = Clock::vftable; + puVar1 = (undefined8 *)param_1[2]; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1,param_3,param_4,0xfffffffffffffffe); + } + if ((void *)param_1[0xe] != (void *)0x0) { + operator_delete((void *)param_1[0xe]); + } + param_1[0xe] = 0; + param_1[0xf] = 0; + param_1[0x10] = 0; + if ((void *)param_1[10] != (void *)0x0) { + operator_delete((void *)param_1[10]); + } + param_1[10] = 0; + param_1[0xb] = 0; + param_1[0xc] = 0; + param_1[1] = MBISingleton::vftable; + DAT_140162d50 = 0; + *param_1 = ISubject::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc6b0.c b/decomp/Agent_Release_x64/full/functions/0x1400dc6b0.c new file mode 100644 index 00000000..af836c7a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc6b0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc6b0 FUN_1400dc6b0 + * Pseudocode, not original source. */ + +void FUN_1400dc6b0(longlong param_1,undefined8 param_2) + +{ + void *_Dst; + + *(undefined8 *)(param_1 + 0x48) = param_2; + *(undefined4 *)(param_1 + 0x40) = 1; + _Dst = *(void **)(param_1 + 0x50); + if (_Dst != *(void **)(param_1 + 0x58)) { + memmove(_Dst,*(void **)(param_1 + 0x58),0); + *(void **)(param_1 + 0x58) = _Dst; + } + FUN_140016200((ulonglong *)(param_1 + 0x50),(undefined8 *)(param_1 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc730.c b/decomp/Agent_Release_x64/full/functions/0x1400dc730.c new file mode 100644 index 00000000..439aa092 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc730.c @@ -0,0 +1,61 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc730 FUN_1400dc730 + * Pseudocode, not original source. */ + +undefined8 * +FUN_1400dc730(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 *puVar1; + void *_Dst; + double *pdVar2; + longlong lVar3; + double dVar4; + double dVar5; + + *param_1 = Clock::vftable; + param_1[1] = Clock::vftable; + param_1[2] = 0; + param_1[3] = 0; + param_1[4] = 0; + *(undefined4 *)(param_1 + 5) = 0; + param_1[6] = 0; + param_1[7] = 0; + param_1[10] = 0; + param_1[0xb] = 0; + param_1[0xc] = 0; + param_1[0xe] = 0; + param_1[0xf] = 0; + param_1[0x10] = 0; + param_1[0x12] = 0x3fc999999999999a; + puVar1 = (undefined8 *)param_1[2]; + if (puVar1 != (undefined8 *)0x0) { + (**(code **)*puVar1)(puVar1,1,param_3,param_4,0xfffffffffffffffe); + } + param_1[2] = 0; + param_1[0x12] = 0x3fe0000000000000; + *(undefined4 *)(param_1 + 8) = 1; + param_1[9] = 0x3f9eb851eb851eb8; + _Dst = (void *)param_1[10]; + if (_Dst != (void *)param_1[0xb]) { + memmove(_Dst,(void *)param_1[0xb],0); + param_1[0xb] = _Dst; + } + FUN_140016200(param_1 + 10,param_1 + 9); + dVar5 = 0.0; + pdVar2 = (double *)param_1[10]; + if (pdVar2 != (double *)param_1[0xb]) { + do { + dVar5 = dVar5 + *pdVar2; + pdVar2 = pdVar2 + 1; + } while (pdVar2 != (double *)param_1[0xb]); + } + lVar3 = (longlong)(param_1[0xb] - param_1[10]) >> 3; + dVar4 = (double)lVar3; + if (lVar3 < 0) { + dVar4 = dVar4 + 1.8446744073709552e+19; + } + param_1[4] = dVar5 / dVar4; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc890.c b/decomp/Agent_Release_x64/full/functions/0x1400dc890.c new file mode 100644 index 00000000..ce230d26 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc890.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc890 FUN_1400dc890 + * Pseudocode, not original source. */ + +undefined8 FUN_1400dc890(LPWSTR param_1,int param_2,LPCSTR param_3,int param_4) + +{ + MultiByteToWideChar(0,1,param_3,param_4,param_1,param_2); + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc8c0.c b/decomp/Agent_Release_x64/full/functions/0x1400dc8c0.c new file mode 100644 index 00000000..d5cf2c87 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc8c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc8c0 FUN_1400dc8c0 + * Pseudocode, not original source. */ + +undefined8 FUN_1400dc8c0(LPSTR param_1,int param_2,LPCWSTR param_3,int param_4) + +{ + WideCharToMultiByte(0,0,param_3,param_4,param_1,param_2,(LPCSTR)0x0,(LPBOOL)0x0); + return 0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc8f0.c b/decomp/Agent_Release_x64/full/functions/0x1400dc8f0.c new file mode 100644 index 00000000..675bb387 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc8f0.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc8f0 FUN_1400dc8f0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong * FUN_1400dc8f0(ulonglong *param_1,LPCSTR param_2) + +{ + char cVar1; + WCHAR WVar2; + longlong lVar3; + ulonglong uVar4; + LPCSTR pCVar5; + WCHAR *pWVar6; + undefined1 auStackY_868 [32]; + WCHAR local_828; + undefined1 local_826 [2046]; + ulonglong local_28; + + local_28 = DAT_1401555a0 ^ (ulonglong)auStackY_868; + local_828 = L'\0'; + memset(local_826,0,0x7fe); + if (0xf < *(ulonglong *)(param_2 + 0x18)) { + param_2 = *(LPCSTR *)param_2; + } + lVar3 = -1; + pCVar5 = param_2; + do { + if (lVar3 == 0) break; + lVar3 = lVar3 + -1; + cVar1 = *pCVar5; + pCVar5 = pCVar5 + 1; + } while (cVar1 != '\0'); + MultiByteToWideChar(0,1,param_2,~(uint)lVar3,&local_828,0x400); + uVar4 = 0xffffffffffffffff; + param_1[3] = 7; + param_1[2] = 0; + *(undefined2 *)param_1 = 0; + pWVar6 = &local_828; + do { + if (uVar4 == 0) break; + uVar4 = uVar4 - 1; + WVar2 = *pWVar6; + pWVar6 = pWVar6 + 1; + } while (WVar2 != L'\0'); + FUN_1400016e0(param_1,&local_828,~uVar4 - 1); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dc9d0.c b/decomp/Agent_Release_x64/full/functions/0x1400dc9d0.c new file mode 100644 index 00000000..e48d7315 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dc9d0.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dc9d0 FUN_1400dc9d0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong * FUN_1400dc9d0(ulonglong *param_1,wchar_t *param_2,undefined8 param_3,undefined8 param_4) + +{ + wchar_t wVar1; + int iVar2; + ulonglong uVar3; + wchar_t *pwVar4; + undefined8 local_res18; + undefined8 local_res20; + undefined1 auStack_458 [32]; + undefined4 local_438; + wchar_t local_428 [512]; + ulonglong local_28; + + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_458; + local_438 = 0; + local_res18 = param_3; + local_res20 = param_4; + iVar2 = _vscwprintf(param_2,(va_list)&local_res18); + vswprintf_s(local_428,(longlong)(iVar2 + 1),param_2,(va_list)&local_res18); + uVar3 = 0xffffffffffffffff; + param_1[3] = 7; + param_1[2] = 0; + *(undefined2 *)param_1 = 0; + pwVar4 = local_428; + do { + if (uVar3 == 0) break; + uVar3 = uVar3 - 1; + wVar1 = *pwVar4; + pwVar4 = pwVar4 + 1; + } while (wVar1 != L'\0'); + FUN_1400016e0(param_1,local_428,~uVar3 - 1); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dca90.c b/decomp/Agent_Release_x64/full/functions/0x1400dca90.c new file mode 100644 index 00000000..00544a46 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dca90.c @@ -0,0 +1,49 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dca90 FUN_1400dca90 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +ulonglong * FUN_1400dca90(ulonglong *param_1,LPCWSTR param_2) + +{ + char cVar1; + WCHAR WVar2; + longlong lVar3; + ulonglong uVar4; + LPCWSTR pWVar5; + char *pcVar6; + undefined1 auStackY_478 [32]; + CHAR local_428 [1024]; + ulonglong local_28; + + local_28 = DAT_1401555a0 ^ (ulonglong)auStackY_478; + local_428[0] = '\0'; + memset(local_428 + 1,0,0x3ff); + if (7 < *(ulonglong *)(param_2 + 0xc)) { + param_2 = *(LPCWSTR *)param_2; + } + lVar3 = -1; + pWVar5 = param_2; + do { + if (lVar3 == 0) break; + lVar3 = lVar3 + -1; + WVar2 = *pWVar5; + pWVar5 = pWVar5 + 1; + } while (WVar2 != L'\0'); + WideCharToMultiByte(0,0,param_2,~(uint)lVar3,local_428,0x400,(LPCSTR)0x0,(LPBOOL)0x0); + uVar4 = 0xffffffffffffffff; + param_1[3] = 0xf; + param_1[2] = 0; + *(undefined1 *)param_1 = 0; + pcVar6 = local_428; + do { + if (uVar4 == 0) break; + uVar4 = uVar4 - 1; + cVar1 = *pcVar6; + pcVar6 = pcVar6 + 1; + } while (cVar1 != '\0'); + FUN_14000b810(param_1,local_428,~uVar4 - 1); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dcb80.c b/decomp/Agent_Release_x64/full/functions/0x1400dcb80.c new file mode 100644 index 00000000..2877f2a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dcb80.c @@ -0,0 +1,106 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dcb80 FUN_1400dcb80 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +ulonglong * FUN_1400dcb80(ulonglong *param_1) + +{ + char cVar1; + ulonglong uVar2; + char *pcVar3; + undefined1 auStack_c8 [32]; + uint local_a8; + uint local_a0; + uint local_98; + uint local_90; + uint local_88; + uint local_80; + uint local_78; + uint local_70; + uint local_68; + uint local_60; + undefined4 local_58; + char local_50 [56]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStack_c8; + local_70 = (uint)DAT_140162d45; + local_80 = (uint)DAT_140162d43; + local_88 = (uint)DAT_140162d42; + local_78 = (uint)DAT_140162d44; + local_90 = (uint)DAT_140162d41; + local_a0 = (uint)_DAT_140162d3e; + local_a8 = (uint)DAT_140162d3c; + local_50[0] = '\0'; + local_50[1] = '\0'; + local_50[2] = '\0'; + local_50[3] = '\0'; + local_50[4] = '\0'; + local_50[5] = '\0'; + local_50[6] = '\0'; + local_50[7] = '\0'; + local_50[8] = '\0'; + local_50[9] = '\0'; + local_50[10] = '\0'; + local_50[0xb] = '\0'; + local_50[0xc] = '\0'; + local_50[0xd] = '\0'; + local_50[0xe] = '\0'; + local_50[0xf] = '\0'; + local_50[0x10] = '\0'; + local_50[0x11] = '\0'; + local_50[0x12] = '\0'; + local_50[0x13] = '\0'; + local_50[0x14] = '\0'; + local_50[0x15] = '\0'; + local_50[0x16] = '\0'; + local_50[0x17] = '\0'; + local_50[0x18] = '\0'; + local_50[0x19] = '\0'; + local_50[0x1a] = '\0'; + local_50[0x1b] = '\0'; + local_50[0x1c] = '\0'; + local_50[0x1d] = '\0'; + local_50[0x1e] = '\0'; + local_50[0x1f] = '\0'; + local_50[0x20] = '\0'; + local_50[0x21] = '\0'; + local_50[0x22] = '\0'; + local_50[0x23] = '\0'; + local_50[0x24] = '\0'; + local_50[0x25] = '\0'; + local_50[0x26] = '\0'; + local_50[0x27] = '\0'; + local_50[0x28] = '\0'; + local_50[0x29] = '\0'; + local_50[0x2a] = '\0'; + local_50[0x2b] = '\0'; + local_50[0x2c] = '\0'; + local_50[0x2d] = '\0'; + local_50[0x2e] = '\0'; + local_50[0x2f] = '\0'; + local_50[0x30] = '\0'; + local_50[0x31] = 0; + local_60 = (uint)DAT_140162d47; + local_98 = (uint)DAT_140162d40; + local_68 = (uint)DAT_140162d46; + local_58 = 0; + sprintf_s(local_50,0x32,"%.8X-%.4X-%.4X-%.2X%.2X-%.2X%.2X%.2X%.2X%.2X%.2X"); + uVar2 = 0xffffffffffffffff; + param_1[3] = 0xf; + param_1[2] = 0; + *(undefined1 *)param_1 = 0; + pcVar3 = local_50; + do { + if (uVar2 == 0) break; + uVar2 = uVar2 - 1; + cVar1 = *pcVar3; + pcVar3 = pcVar3 + 1; + } while (cVar1 != '\0'); + FUN_14000b810(param_1,local_50,~uVar2 - 1); + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dcf00.c b/decomp/Agent_Release_x64/full/functions/0x1400dcf00.c new file mode 100644 index 00000000..8a06e342 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dcf00.c @@ -0,0 +1,32 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dcf00 FUN_1400dcf00 + * Pseudocode, not original source. */ + +void FUN_1400dcf00(void) + +{ + printf("-----------------------------------------\n"); + printf("Active Service : %s\n"); + printf("Active Service AuthDll32 : %s\n"); + printf("Active Service AuthDll64 : %s\n"); + printf("Active Service BillingDll : %s\n"); + printf("Active Service ServerMode : %s\n"); + printf("Active Service BillingServerMode : %s\n"); + printf("Active Service nProtect Use : %s\n"); + printf("Active Service nProtect_Log Use : %s\n"); + printf("Active Service XTrap Use : %s\n"); + printf("Active Service BetaZone : %s\n"); + printf("Active Service ChannelLimitCount : %d\n"); + printf("Active Service WorldUserLimitCount : %d\n"); + printf("Active Service AuthURL : %s\n"); + printf("Active Service BillingURL : %s\n"); + printf("Active Service BillingIDC : %s\n"); + printf("Active Service Skip Auth : %s\n"); + printf("Active Service Free Cash : %s\n"); + printf("Active Service Skip Abuse Nick : %s\n"); + /* WARNING: Could not recover jumptable at 0x0001400dd183. Too many branches */ + /* WARNING: Treating indirect jump as call */ + printf("-----------------------------------------\n"); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dd190.c b/decomp/Agent_Release_x64/full/functions/0x1400dd190.c new file mode 100644 index 00000000..14b7da49 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dd190.c @@ -0,0 +1,84 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dd190 FUN_1400dd190 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400dd190(void) + +{ + if (0xf < DAT_140163180) { + operator_delete((void *)CONCAT71(DAT_140163168._1_7_,(undefined1)DAT_140163168)); + } + DAT_140163180 = 0xf; + _DAT_140163178 = 0; + DAT_140163168._0_1_ = 0; + if (0xf < DAT_140163158) { + operator_delete((void *)CONCAT71(DAT_140163140._1_7_,(undefined1)DAT_140163140)); + } + DAT_140163158 = 0xf; + _DAT_140163150 = 0; + DAT_140163140._0_1_ = 0; + if (0xf < DAT_140163130) { + operator_delete((void *)CONCAT71(DAT_140163118._1_7_,(undefined1)DAT_140163118)); + } + DAT_140163130 = 0xf; + _DAT_140163128 = 0; + DAT_140163118._0_1_ = 0; + if (0xf < DAT_140163108) { + operator_delete((void *)CONCAT71(DAT_1401630f0._1_7_,(undefined1)DAT_1401630f0)); + } + DAT_140163108 = 0xf; + _DAT_140163100 = 0; + DAT_1401630f0._0_1_ = 0; + if (0xf < DAT_1401630e0) { + operator_delete((void *)CONCAT71(DAT_1401630c8._1_7_,(undefined1)DAT_1401630c8)); + } + DAT_1401630e0 = 0xf; + _DAT_1401630d8 = 0; + DAT_1401630c8._0_1_ = 0; + if (0xf < DAT_1401630b8) { + operator_delete((void *)CONCAT71(DAT_1401630a0._1_7_,(undefined1)DAT_1401630a0)); + } + DAT_1401630b8 = 0xf; + _DAT_1401630b0 = 0; + DAT_1401630a0._0_1_ = 0; + if (0xf < DAT_140163090) { + operator_delete((void *)CONCAT71(DAT_140163078._1_7_,(undefined1)DAT_140163078)); + } + DAT_140163090 = 0xf; + _DAT_140163088 = 0; + DAT_140163078._0_1_ = 0; + if (0xf < DAT_140163068) { + operator_delete((void *)CONCAT71(DAT_140163050._1_7_,(undefined1)DAT_140163050)); + } + DAT_140163068 = 0xf; + _DAT_140163060 = 0; + DAT_140163050._0_1_ = 0; + if (0xf < DAT_140163040) { + operator_delete((void *)CONCAT71(DAT_140163028._1_7_,(undefined1)DAT_140163028)); + } + DAT_140163040 = 0xf; + _DAT_140163038 = 0; + DAT_140163028._0_1_ = 0; + if (0xf < DAT_140163018) { + operator_delete((void *)CONCAT71(DAT_140163000._1_7_,(undefined1)DAT_140163000)); + } + DAT_140163018 = 0xf; + _DAT_140163010 = 0; + DAT_140163000._0_1_ = 0; + if (0xf < DAT_140162ff0) { + operator_delete((void *)CONCAT71(DAT_140162fd8._1_7_,(undefined1)DAT_140162fd8)); + } + DAT_140162ff0 = 0xf; + _DAT_140162fe8 = 0; + DAT_140162fd8._0_1_ = 0; + if (0xf < DAT_140162fc8) { + operator_delete((void *)CONCAT71(DAT_140162fb0._1_7_,(undefined1)DAT_140162fb0)); + } + DAT_140162fc8 = 0xf; + _DAT_140162fc0 = 0; + DAT_140162fb0._0_1_ = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dd3e0.c b/decomp/Agent_Release_x64/full/functions/0x1400dd3e0.c new file mode 100644 index 00000000..eef4cb91 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dd3e0.c @@ -0,0 +1,39 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dd3e0 FUN_1400dd3e0 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400dd3e0(void) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + + if (0xf < DAT_140162fa0) { + operator_delete((void *)CONCAT71(DAT_140162f88._1_7_,(undefined1)DAT_140162f88)); + } + puVar2 = DAT_140162f70; + DAT_140162fa0 = 0xf; + _DAT_140162f98 = 0; + DAT_140162f88._0_1_ = 0; + puVar1 = DAT_140162f68; + if (DAT_140162f68 != (undefined8 *)0x0) { + for (; puVar1 != puVar2; puVar1 = puVar1 + 0x36) { + FUN_14000eec0(puVar1); + } + operator_delete(DAT_140162f68); + } + DAT_140162f68 = (undefined8 *)0x0; + DAT_140162f70 = (undefined8 *)0x0; + _DAT_140162f78 = 0; + FUN_14000eec0(&DAT_140162db8); + if (0xf < DAT_140162da8) { + operator_delete((void *)CONCAT71(DAT_140162d90._1_7_,(undefined1)DAT_140162d90)); + } + DAT_140162da8 = 0xf; + _DAT_140162da0 = 0; + DAT_140162d90._0_1_ = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dd4d0.c b/decomp/Agent_Release_x64/full/functions/0x1400dd4d0.c new file mode 100644 index 00000000..c480243e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dd4d0.c @@ -0,0 +1,56 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dd4d0 FUN_1400dd4d0 + * Pseudocode, not original source. */ + +void FUN_1400dd4d0(longlong param_1) + +{ + char cVar1; + longlong lVar2; + longlong lVar3; + ulonglong uVar4; + char *pcVar5; + char *pcVar6; + bool bVar7; + + lVar2 = *(longlong *)(param_1 + 0xa0); + if (lVar2 == param_1 + 0x58) { + return; + } + do { + lVar3 = 8; + pcVar5 = (char *)(*(longlong *)(lVar2 + 0x20) + 0x10); + bVar7 = pcVar5 == (char *)0x0; + pcVar6 = "country"; + do { + if (lVar3 == 0) break; + lVar3 = lVar3 + -1; + bVar7 = *pcVar5 == *pcVar6; + pcVar5 = pcVar5 + 1; + pcVar6 = pcVar6 + 1; + } while (bVar7); + if (bVar7) { + pcVar5 = (char *)(*(longlong *)(lVar2 + 0x30) + 0x10); + if (pcVar5 == (char *)0x0) { + return; + } + uVar4 = 0xffffffffffffffff; + pcVar6 = pcVar5; + break; + } + lVar2 = *(longlong *)(lVar2 + 0x48); + if (lVar2 == param_1 + 0x58) { + return; + } + } while( true ); + while( true ) { + uVar4 = uVar4 - 1; + cVar1 = *pcVar6; + pcVar6 = pcVar6 + 1; + if (cVar1 == '\0') break; + if (uVar4 == 0) break; + } + FUN_14000b810(&DAT_140162d90,pcVar5,~uVar4 - 1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dd560.c b/decomp/Agent_Release_x64/full/functions/0x1400dd560.c new file mode 100644 index 00000000..8a5e483f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dd560.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dd560 FUN_1400dd560 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +undefined8 * FUN_1400dd560(void) + +{ + DAT_140162fc8 = 0xf; + _DAT_140162fc0 = 0; + DAT_140162fb0._0_1_ = 0; + DAT_140162ff0 = 0xf; + _DAT_140162fe8 = 0; + DAT_140162fd8._0_1_ = 0; + DAT_140163018 = 0xf; + _DAT_140163010 = 0; + DAT_140163000._0_1_ = 0; + DAT_140163040 = 0xf; + _DAT_140163038 = 0; + DAT_140163028._0_1_ = 0; + DAT_140163068 = 0xf; + _DAT_140163060 = 0; + DAT_140163050._0_1_ = 0; + DAT_140163090 = 0xf; + _DAT_140163088 = 0; + DAT_140163078._0_1_ = 0; + DAT_1401630b8 = 0xf; + _DAT_1401630b0 = 0; + DAT_1401630a0._0_1_ = 0; + DAT_1401630e0 = 0xf; + _DAT_1401630d8 = 0; + DAT_1401630c8._0_1_ = 0; + DAT_140163108 = 0xf; + _DAT_140163100 = 0; + DAT_1401630f0._0_1_ = 0; + DAT_140163130 = 0xf; + _DAT_140163128 = 0; + DAT_140163118._0_1_ = 0; + DAT_140163158 = 0xf; + _DAT_140163150 = 0; + DAT_140163140._0_1_ = 0; + DAT_140163180 = 0xf; + _DAT_140163178 = 0; + DAT_140163168._0_1_ = 0; + FUN_14000b810(&DAT_140163168,&DAT_14011d750,3); + DAT_140163190 = 1000; + return &DAT_140162fb0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dd6d0.c b/decomp/Agent_Release_x64/full/functions/0x1400dd6d0.c new file mode 100644 index 00000000..5298c3cb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dd6d0.c @@ -0,0 +1,735 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dd6d0 FUN_1400dd6d0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400dd6d0(longlong param_1) + +{ + longlong lVar1; + char cVar2; + longlong lVar3; + int iVar4; + longlong lVar5; + longlong lVar6; + longlong lVar7; + ulonglong uVar8; + char **ppcVar9; + char *******_Str2; + char *pcVar10; + char *pcVar11; + char *pcVar12; + char *pcVar13; + char *pcVar14; + char *pcVar15; + char *pcVar16; + char *pcVar17; + bool bVar18; + undefined1 auStack_288 [32]; + char *local_268; + char *local_260; + char *local_258; + char *local_250; + char *local_248; + char *local_240; + char *local_238; + char *local_230; + char *local_228; + char *local_220; + char *local_218; + char *local_210; + char *local_208; + char *local_200; + undefined8 local_1f8; + ulonglong local_1e8 [5]; + ulonglong local_1c0 [5]; + ulonglong local_198 [5]; + ulonglong local_170 [5]; + ulonglong local_148 [5]; + ulonglong local_120 [5]; + ulonglong local_f8 [5]; + ulonglong local_d0 [5]; + ulonglong local_a8 [5]; + int local_80; + undefined1 local_7c; + undefined1 local_7b; + undefined1 local_7a; + undefined1 local_79; + undefined1 local_78; + undefined1 local_77; + undefined1 local_76; + undefined4 local_74; + undefined4 local_70; + char ******local_68 [3]; + ulonglong local_50; + undefined4 local_40; + ulonglong local_38; + + local_1f8 = 0xfffffffffffffffe; + local_38 = DAT_1401555a0 ^ (ulonglong)auStack_288; + lVar1 = param_1 + 0x58; + pcVar16 = (char *)0x0; + lVar3 = *(longlong *)(param_1 + 0xa0); + for (lVar7 = lVar3; lVar6 = lVar3, lVar7 != lVar1; lVar7 = *(longlong *)(lVar7 + 0x48)) { + pcVar10 = (char *)(*(longlong *)(lVar7 + 0x20) + 0x10); + bVar18 = pcVar10 == (char *)0x0; + lVar5 = 8; + pcVar11 = "country"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar10 == *pcVar11; + pcVar10 = pcVar10 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar18); + if (bVar18) { + local_268 = (char *)(*(longlong *)(lVar7 + 0x30) + 0x10); + goto joined_r0x0001400dd76d; + } + } + local_268 = (char *)0x0; +joined_r0x0001400dd76d: + do { + lVar7 = lVar3; + if (lVar6 == lVar1) break; + pcVar10 = (char *)(*(longlong *)(lVar6 + 0x20) + 0x10); + bVar18 = pcVar10 == (char *)0x0; + lVar5 = 0xc; + pcVar11 = "auth_dll_32"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar10 == *pcVar11; + pcVar10 = pcVar10 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar18); + if (bVar18) { + local_260 = (char *)(*(longlong *)(lVar6 + 0x30) + 0x10); + goto joined_r0x0001400dd7ad; + } + lVar6 = *(longlong *)(lVar6 + 0x48); + } while( true ); + local_260 = (char *)0x0; +joined_r0x0001400dd7ad: + do { + lVar6 = lVar3; + if (lVar7 == lVar1) break; + pcVar10 = (char *)(*(longlong *)(lVar7 + 0x20) + 0x10); + bVar18 = pcVar10 == (char *)0x0; + lVar5 = 0xc; + pcVar11 = "auth_dll_64"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar10 == *pcVar11; + pcVar10 = pcVar10 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar18); + if (bVar18) { + local_228 = (char *)(*(longlong *)(lVar7 + 0x30) + 0x10); + goto joined_r0x0001400dd7ed; + } + lVar7 = *(longlong *)(lVar7 + 0x48); + } while( true ); + local_228 = (char *)0x0; +joined_r0x0001400dd7ed: + do { + lVar7 = lVar3; + if (lVar6 == lVar1) break; + pcVar10 = (char *)(*(longlong *)(lVar6 + 0x20) + 0x10); + bVar18 = pcVar10 == (char *)0x0; + lVar5 = 0xc; + pcVar11 = "billing_dll"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar10 == *pcVar11; + pcVar10 = pcVar10 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar18); + if (bVar18) { + local_248 = (char *)(*(longlong *)(lVar6 + 0x30) + 0x10); + goto joined_r0x0001400dd82d; + } + lVar6 = *(longlong *)(lVar6 + 0x48); + } while( true ); + local_248 = (char *)0x0; +joined_r0x0001400dd82d: + do { + lVar6 = lVar3; + if (lVar7 == lVar1) break; + pcVar10 = (char *)(*(longlong *)(lVar7 + 0x20) + 0x10); + bVar18 = pcVar10 == (char *)0x0; + lVar5 = 0xc; + pcVar11 = "server_mode"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar10 == *pcVar11; + pcVar10 = pcVar10 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar18); + if (bVar18) { + local_218 = (char *)(*(longlong *)(lVar7 + 0x30) + 0x10); + goto joined_r0x0001400dd86d; + } + lVar7 = *(longlong *)(lVar7 + 0x48); + } while( true ); + local_218 = (char *)0x0; +joined_r0x0001400dd86d: + do { + lVar7 = lVar3; + if (lVar6 == lVar1) break; + pcVar10 = (char *)(*(longlong *)(lVar6 + 0x20) + 0x10); + bVar18 = pcVar10 == (char *)0x0; + lVar5 = 0x14; + pcVar11 = "billing_server_mode"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar10 == *pcVar11; + pcVar10 = pcVar10 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar18); + if (bVar18) { + local_238 = (char *)(*(longlong *)(lVar6 + 0x30) + 0x10); + goto joined_r0x0001400dd8ad; + } + lVar6 = *(longlong *)(lVar6 + 0x48); + } while( true ); + local_238 = (char *)0x0; +joined_r0x0001400dd8ad: + do { + lVar6 = lVar3; + if (lVar7 == lVar1) break; + pcVar10 = (char *)(*(longlong *)(lVar7 + 0x20) + 0x10); + bVar18 = pcVar10 == (char *)0x0; + lVar5 = 10; + pcVar11 = "xtrap_use"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar10 == *pcVar11; + pcVar10 = pcVar10 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar18); + if (bVar18) { + local_240 = (char *)(*(longlong *)(lVar7 + 0x30) + 0x10); + goto joined_r0x0001400dd8ed; + } + lVar7 = *(longlong *)(lVar7 + 0x48); + } while( true ); + local_240 = (char *)0x0; +joined_r0x0001400dd8ed: + do { + lVar7 = lVar3; + if (lVar6 == lVar1) break; + pcVar10 = (char *)(*(longlong *)(lVar6 + 0x20) + 0x10); + bVar18 = pcVar10 == (char *)0x0; + lVar5 = 0xd; + pcVar11 = "nprotect_use"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar10 == *pcVar11; + pcVar10 = pcVar10 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar18); + if (bVar18) { + local_250 = (char *)(*(longlong *)(lVar6 + 0x30) + 0x10); + goto joined_r0x0001400dd92d; + } + lVar6 = *(longlong *)(lVar6 + 0x48); + } while( true ); + local_250 = (char *)0x0; +joined_r0x0001400dd92d: + do { + lVar6 = lVar3; + if (lVar7 == lVar1) break; + pcVar10 = (char *)(*(longlong *)(lVar7 + 0x20) + 0x10); + bVar18 = pcVar10 == (char *)0x0; + lVar5 = 0x11; + pcVar11 = "nprotect_log_use"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar10 == *pcVar11; + pcVar10 = pcVar10 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar18); + if (bVar18) { + local_208 = (char *)(*(longlong *)(lVar7 + 0x30) + 0x10); + goto joined_r0x0001400dd96b; + } + lVar7 = *(longlong *)(lVar7 + 0x48); + } while( true ); + local_208 = (char *)0x0; +joined_r0x0001400dd96b: + do { + lVar7 = lVar3; + if (lVar6 == lVar1) break; + pcVar10 = (char *)(*(longlong *)(lVar6 + 0x20) + 0x10); + bVar18 = pcVar10 == (char *)0x0; + lVar5 = 9; + pcVar11 = "betazone"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar10 == *pcVar11; + pcVar10 = pcVar10 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar18); + if (bVar18) { + local_230 = (char *)(*(longlong *)(lVar6 + 0x30) + 0x10); + goto joined_r0x0001400dd9ad; + } + lVar6 = *(longlong *)(lVar6 + 0x48); + } while( true ); + local_230 = (char *)0x0; +joined_r0x0001400dd9ad: + do { + lVar6 = lVar3; + if (lVar7 == lVar1) break; + pcVar10 = (char *)(*(longlong *)(lVar7 + 0x20) + 0x10); + bVar18 = pcVar10 == (char *)0x0; + lVar5 = 0x14; + pcVar11 = "channel_limit_count"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar10 == *pcVar11; + pcVar10 = pcVar10 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar18); + if (bVar18) { + local_220 = (char *)(*(longlong *)(lVar7 + 0x30) + 0x10); + goto joined_r0x0001400dd9ed; + } + lVar7 = *(longlong *)(lVar7 + 0x48); + } while( true ); + local_220 = (char *)0x0; +joined_r0x0001400dd9ed: + do { + lVar7 = lVar3; + if (lVar6 == lVar1) break; + pcVar10 = (char *)(*(longlong *)(lVar6 + 0x20) + 0x10); + bVar18 = pcVar10 == (char *)0x0; + lVar5 = 0x17; + pcVar11 = "world_user_limit_count"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar10 == *pcVar11; + pcVar10 = pcVar10 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar18); + if (bVar18) { + local_210 = (char *)(*(longlong *)(lVar6 + 0x30) + 0x10); + goto joined_r0x0001400dda2d; + } + lVar6 = *(longlong *)(lVar6 + 0x48); + } while( true ); + local_210 = (char *)0x0; +joined_r0x0001400dda2d: + do { + lVar6 = lVar3; + if (lVar7 == lVar1) break; + pcVar10 = (char *)(*(longlong *)(lVar7 + 0x20) + 0x10); + bVar18 = pcVar10 == (char *)0x0; + lVar5 = 9; + pcVar11 = "auth_url"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar10 == *pcVar11; + pcVar10 = pcVar10 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar18); + if (bVar18) { + local_200 = (char *)(*(longlong *)(lVar7 + 0x30) + 0x10); + goto joined_r0x0001400dda6b; + } + lVar7 = *(longlong *)(lVar7 + 0x48); + } while( true ); + local_200 = (char *)0x0; +joined_r0x0001400dda6b: + do { + lVar7 = lVar3; + if (lVar6 == lVar1) break; + pcVar10 = (char *)(*(longlong *)(lVar6 + 0x20) + 0x10); + bVar18 = pcVar10 == (char *)0x0; + lVar5 = 0xc; + pcVar11 = "billing_url"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar10 == *pcVar11; + pcVar10 = pcVar10 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar18); + if (bVar18) { + local_258 = (char *)(*(longlong *)(lVar6 + 0x30) + 0x10); + goto joined_r0x0001400ddaad; + } + lVar6 = *(longlong *)(lVar6 + 0x48); + } while( true ); + local_258 = (char *)0x0; +joined_r0x0001400ddaad: + do { + lVar6 = lVar3; + pcVar10 = pcVar16; + if (lVar7 == lVar1) break; + pcVar10 = (char *)(*(longlong *)(lVar7 + 0x20) + 0x10); + bVar18 = pcVar10 == (char *)0x0; + lVar5 = 0xc; + pcVar11 = "billing_idc"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar10 == *pcVar11; + pcVar10 = pcVar10 + 1; + pcVar11 = pcVar11 + 1; + } while (bVar18); + if (bVar18) { + pcVar10 = (char *)(*(longlong *)(lVar7 + 0x30) + 0x10); + break; + } + lVar7 = *(longlong *)(lVar7 + 0x48); + } while( true ); +joined_r0x0001400ddae6: + lVar7 = lVar3; + pcVar11 = pcVar16; + if (lVar6 == lVar1) goto joined_r0x0001400ddb26; + pcVar11 = (char *)(*(longlong *)(lVar6 + 0x20) + 0x10); + bVar18 = pcVar11 == (char *)0x0; + lVar5 = 8; + pcVar12 = "auth_ip"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar11 == *pcVar12; + pcVar11 = pcVar11 + 1; + pcVar12 = pcVar12 + 1; + } while (bVar18); + if (bVar18) { + pcVar11 = (char *)(*(longlong *)(lVar6 + 0x30) + 0x10); + goto joined_r0x0001400ddb26; + } + lVar6 = *(longlong *)(lVar6 + 0x48); + goto joined_r0x0001400ddae6; +joined_r0x0001400ddb26: + lVar6 = lVar3; + pcVar12 = pcVar16; + if (lVar7 == lVar1) goto joined_r0x0001400ddb66; + pcVar12 = (char *)(*(longlong *)(lVar7 + 0x20) + 0x10); + bVar18 = pcVar12 == (char *)0x0; + lVar5 = 10; + pcVar13 = "auth_port"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar12 == *pcVar13; + pcVar12 = pcVar12 + 1; + pcVar13 = pcVar13 + 1; + } while (bVar18); + if (bVar18) { + pcVar12 = (char *)(*(longlong *)(lVar7 + 0x30) + 0x10); + goto joined_r0x0001400ddb66; + } + lVar7 = *(longlong *)(lVar7 + 0x48); + goto joined_r0x0001400ddb26; +joined_r0x0001400ddb66: + lVar7 = lVar3; + pcVar13 = pcVar16; + if (lVar6 == lVar1) goto joined_r0x0001400ddba6; + pcVar13 = (char *)(*(longlong *)(lVar6 + 0x20) + 0x10); + bVar18 = pcVar13 == (char *)0x0; + lVar5 = 10; + pcVar14 = "skip_auth"; + do { + if (lVar5 == 0) break; + lVar5 = lVar5 + -1; + bVar18 = *pcVar13 == *pcVar14; + pcVar13 = pcVar13 + 1; + pcVar14 = pcVar14 + 1; + } while (bVar18); + if (bVar18) { + pcVar13 = (char *)(*(longlong *)(lVar6 + 0x30) + 0x10); + goto joined_r0x0001400ddba6; + } + lVar6 = *(longlong *)(lVar6 + 0x48); + goto joined_r0x0001400ddb66; +joined_r0x0001400ddba6: + pcVar14 = pcVar16; + if (lVar7 == lVar1) goto joined_r0x0001400ddbe3; + pcVar14 = (char *)(*(longlong *)(lVar7 + 0x20) + 0x10); + bVar18 = pcVar14 == (char *)0x0; + lVar6 = 10; + pcVar15 = "free_cash"; + do { + if (lVar6 == 0) break; + lVar6 = lVar6 + -1; + bVar18 = *pcVar14 == *pcVar15; + pcVar14 = pcVar14 + 1; + pcVar15 = pcVar15 + 1; + } while (bVar18); + if (bVar18) { + pcVar14 = (char *)(*(longlong *)(lVar7 + 0x30) + 0x10); + goto joined_r0x0001400ddbe3; + } + lVar7 = *(longlong *)(lVar7 + 0x48); + goto joined_r0x0001400ddba6; +joined_r0x0001400ddbe3: + if (lVar3 == lVar1) goto LAB_1400ddc20; + pcVar15 = (char *)(*(longlong *)(lVar3 + 0x20) + 0x10); + bVar18 = pcVar15 == (char *)0x0; + lVar7 = 0x10; + pcVar17 = "skip_abuse_nick"; + do { + if (lVar7 == 0) break; + lVar7 = lVar7 + -1; + bVar18 = *pcVar15 == *pcVar17; + pcVar15 = pcVar15 + 1; + pcVar17 = pcVar17 + 1; + } while (bVar18); + if (bVar18) { + pcVar16 = (char *)(*(longlong *)(lVar3 + 0x30) + 0x10); + goto LAB_1400ddc20; + } + lVar3 = *(longlong *)(lVar3 + 0x48); + goto joined_r0x0001400ddbe3; +LAB_1400ddc20: + FUN_14000ed90((undefined1 *)local_1e8); + pcVar15 = local_268; + if (local_268 != (char *)0x0) { + uVar8 = 0xffffffffffffffff; + pcVar17 = local_268; + do { + if (uVar8 == 0) break; + uVar8 = uVar8 - 1; + cVar2 = *pcVar17; + pcVar17 = pcVar17 + 1; + } while (cVar2 != '\0'); + FUN_14000b810((ulonglong *)local_68,local_268,~uVar8 - 1); + iVar4 = _stricmp(pcVar15,"dev"); + if (iVar4 == 0) { + local_40 = 1000; + } + else { + iVar4 = _stricmp(pcVar15,"kor_beta"); + if (iVar4 == 0) { + local_40 = 200; + } + else { + iVar4 = _stricmp(pcVar15,"kor"); + if (iVar4 == 0) { + local_40 = 100; + } + else { + iVar4 = _stricmp(pcVar15,"usa_beta"); + if (iVar4 == 0) { + local_40 = 0xc9; + } + else { + iVar4 = _stricmp(pcVar15,"usa"); + if (iVar4 == 0) { + local_40 = 0x65; + } + else { + iVar4 = _stricmp(pcVar15,"tw_beta"); + if (iVar4 == 0) { + local_40 = 0xca; + } + else { + iVar4 = _stricmp(pcVar15,"tw"); + if (iVar4 == 0) { + local_40 = 0x66; + } + else { + iVar4 = _stricmp(pcVar15,"jpn_beta"); + if (iVar4 == 0) { + local_40 = 0xcb; + } + else { + iVar4 = _stricmp(pcVar15,"jpn"); + if (iVar4 == 0) { + local_40 = 0x67; + } + } + } + } + } + } + } + } + } + } + if (local_260 != (char *)0x0) { + uVar8 = 0xffffffffffffffff; + pcVar15 = local_260; + do { + if (uVar8 == 0) break; + uVar8 = uVar8 - 1; + cVar2 = *pcVar15; + pcVar15 = pcVar15 + 1; + } while (cVar2 != '\0'); + FUN_14000b810(local_1e8,local_260,~uVar8 - 1); + } + if (local_228 != (char *)0x0) { + uVar8 = 0xffffffffffffffff; + pcVar15 = local_228; + do { + if (uVar8 == 0) break; + uVar8 = uVar8 - 1; + cVar2 = *pcVar15; + pcVar15 = pcVar15 + 1; + } while (cVar2 != '\0'); + FUN_14000b810(local_1c0,local_228,~uVar8 - 1); + } + if (local_248 != (char *)0x0) { + uVar8 = 0xffffffffffffffff; + pcVar15 = local_248; + do { + if (uVar8 == 0) break; + uVar8 = uVar8 - 1; + cVar2 = *pcVar15; + pcVar15 = pcVar15 + 1; + } while (cVar2 != '\0'); + FUN_14000b810(local_198,local_248,~uVar8 - 1); + } + if (local_218 != (char *)0x0) { + uVar8 = 0xffffffffffffffff; + pcVar15 = local_218; + do { + if (uVar8 == 0) break; + uVar8 = uVar8 - 1; + cVar2 = *pcVar15; + pcVar15 = pcVar15 + 1; + } while (cVar2 != '\0'); + FUN_14000b810(local_170,local_218,~uVar8 - 1); + } + if (local_238 != (char *)0x0) { + uVar8 = 0xffffffffffffffff; + pcVar15 = local_238; + do { + if (uVar8 == 0) break; + uVar8 = uVar8 - 1; + cVar2 = *pcVar15; + pcVar15 = pcVar15 + 1; + } while (cVar2 != '\0'); + FUN_14000b810(local_148,local_238,~uVar8 - 1); + } + if (local_200 != (char *)0x0) { + uVar8 = 0xffffffffffffffff; + pcVar15 = local_200; + do { + if (uVar8 == 0) break; + uVar8 = uVar8 - 1; + cVar2 = *pcVar15; + pcVar15 = pcVar15 + 1; + } while (cVar2 != '\0'); + FUN_14000b810(local_120,local_200,~uVar8 - 1); + } + if (local_258 != (char *)0x0) { + uVar8 = 0xffffffffffffffff; + pcVar15 = local_258; + do { + if (uVar8 == 0) break; + uVar8 = uVar8 - 1; + cVar2 = *pcVar15; + pcVar15 = pcVar15 + 1; + } while (cVar2 != '\0'); + FUN_14000b810(local_f8,local_258,~uVar8 - 1); + } + if (pcVar10 != (char *)0x0) { + uVar8 = 0xffffffffffffffff; + pcVar15 = pcVar10; + do { + if (uVar8 == 0) break; + uVar8 = uVar8 - 1; + cVar2 = *pcVar15; + pcVar15 = pcVar15 + 1; + } while (cVar2 != '\0'); + FUN_14000b810(local_d0,pcVar10,~uVar8 - 1); + } + if (pcVar11 != (char *)0x0) { + uVar8 = 0xffffffffffffffff; + pcVar10 = pcVar11; + do { + if (uVar8 == 0) break; + uVar8 = uVar8 - 1; + cVar2 = *pcVar10; + pcVar10 = pcVar10 + 1; + } while (cVar2 != '\0'); + FUN_14000b810(local_a8,pcVar11,~uVar8 - 1); + } + if (pcVar12 != (char *)0x0) { + local_80 = atoi(pcVar12); + } + if (local_208 != (char *)0x0) { + iVar4 = atoi(local_208); + local_7c = 0 < iVar4; + } + if (local_250 != (char *)0x0) { + iVar4 = atoi(local_250); + local_7b = 0 < iVar4; + } + if (local_240 != (char *)0x0) { + iVar4 = atoi(local_240); + local_7a = 0 < iVar4; + } + if (local_230 != (char *)0x0) { + iVar4 = atoi(local_230); + local_79 = 0 < iVar4; + } + if (local_220 != (char *)0x0) { + local_260 = (char *)CONCAT44(local_260._4_4_,1); + iVar4 = atoi(local_220); + local_268 = (char *)CONCAT44(local_268._4_4_,iVar4); + ppcVar9 = &local_260; + if (0 < iVar4) { + ppcVar9 = &local_268; + } + local_74 = *(undefined4 *)ppcVar9; + } + if (local_210 != (char *)0x0) { + local_268 = (char *)((ulonglong)local_268 & 0xffffffff00000000); + iVar4 = atoi(local_210); + local_260 = (char *)CONCAT44(local_260._4_4_,iVar4); + ppcVar9 = &local_268; + if (-1 < iVar4) { + ppcVar9 = &local_260; + } + local_70 = *(undefined4 *)ppcVar9; + } + if (pcVar13 != (char *)0x0) { + iVar4 = atoi(pcVar13); + local_78 = 0 < iVar4; + } + if (pcVar14 != (char *)0x0) { + iVar4 = atoi(pcVar14); + local_76 = 0 < iVar4; + } + if (pcVar16 != (char *)0x0) { + iVar4 = atoi(pcVar16); + local_77 = 0 < iVar4; + } + _Str2 = local_68; + if (0xf < local_50) { + _Str2 = (char *******)local_68[0]; + } + pcVar16 = (char *)&DAT_140162d90; + if (0xf < DAT_140162da8) { + pcVar16 = DAT_140162d90; + } + iVar4 = _stricmp(pcVar16,(char *)_Str2); + if (iVar4 == 0) { + FUN_14000f090(&DAT_140162db8,(longlong *)local_1e8); + FUN_1400dcf00(); + } + FUN_14000f290(&DAT_140162f68,(longlong *)local_1e8); + FUN_14000eec0(local_1e8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400de0c0.c b/decomp/Agent_Release_x64/full/functions/0x1400de0c0.c new file mode 100644 index 00000000..6b1c1cd7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400de0c0.c @@ -0,0 +1,127 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400de0c0 FUN_1400de0c0 + * Pseudocode, not original source. */ + +void FUN_1400de0c0(void) + +{ + int iVar1; + ulonglong uVar2; + longlong *plVar3; + longlong lVar4; + char *pcVar5; + char *pcVar6; + bool bVar7; + undefined **local_98 [5]; + longlong *local_70; + undefined8 *local_60; + void *local_58; + undefined8 *local_38; + void *local_30; + undefined8 local_18; + + local_18 = 0xfffffffffffffffe; + pcVar5 = (char *)&DAT_140162f88; + if (0xf < DAT_140162fa0) { + pcVar5 = DAT_140162f88; + } + FUN_140012380(local_98,pcVar5); + DAT_14015ad18 = 0; + uVar2 = FUN_140012450((longlong *)local_98,(char *)(local_60 + 2)); + plVar3 = local_70; + if ((char)uVar2 == '\0') { + local_98[0] = TiXmlDocument::vftable; + if (local_38 != &DAT_140162cd0) { + operator_delete__(local_30); + } + local_98[0] = TiXmlNode::vftable; + while (local_70 != (longlong *)0x0) { + plVar3 = (longlong *)local_70[10]; + (**(code **)*local_70)(local_70,1); + local_70 = plVar3; + } + if (local_60 == &DAT_140162cd0) { + return; + } + operator_delete__(local_58); + return; + } + for (; plVar3 != (longlong *)0x0; plVar3 = (longlong *)plVar3[10]) { + bVar7 = (char *)(plVar3[7] + 0x10) == (char *)0x0; + lVar4 = 8; + pcVar5 = (char *)(plVar3[7] + 0x10); + pcVar6 = "service"; + do { + if (lVar4 == 0) break; + lVar4 = lVar4 + -1; + bVar7 = *pcVar5 == *pcVar6; + pcVar5 = pcVar5 + 1; + pcVar6 = pcVar6 + 1; + } while (bVar7); + if (bVar7) goto LAB_1400de1d6; + } + goto LAB_1400de2cd; +LAB_1400de1d6: + while (lVar4 = (**(code **)(*plVar3 + 0x30))(plVar3), lVar4 == 0) { + do { + plVar3 = (longlong *)plVar3[10]; + if (plVar3 == (longlong *)0x0) goto LAB_1400de2cd; + bVar7 = (char *)(plVar3[7] + 0x10) == (char *)0x0; + lVar4 = 8; + pcVar5 = (char *)(plVar3[7] + 0x10); + pcVar6 = "service"; + do { + if (lVar4 == 0) break; + lVar4 = lVar4 + -1; + bVar7 = *pcVar5 == *pcVar6; + pcVar5 = pcVar5 + 1; + pcVar6 = pcVar6 + 1; + } while (bVar7); + } while (!bVar7); + } + lVar4 = (**(code **)(*plVar3 + 0x30))(plVar3); + if (lVar4 != 0) { + for (plVar3 = *(longlong **)(lVar4 + 0x28); plVar3 != (longlong *)0x0; + plVar3 = (longlong *)plVar3[10]) { + lVar4 = (**(code **)(*plVar3 + 0x30))(plVar3); + if (lVar4 != 0) { + for (plVar3 = (longlong *)(**(code **)(*plVar3 + 0x30))(plVar3); plVar3 != (longlong *)0x0; + plVar3 = (longlong *)(**(code **)(*plVar3 + 0x30))(plVar3)) { + lVar4 = plVar3[7]; + iVar1 = _stricmp((char *)(lVar4 + 0x10),"active_area"); + if (iVar1 == 0) { + FUN_1400dd4d0((longlong)plVar3); + } + else { + iVar1 = _stricmp((char *)(lVar4 + 0x10),"area"); + if (iVar1 == 0) { + FUN_1400dd6d0((longlong)plVar3); + } + } + do { + plVar3 = (longlong *)plVar3[10]; + if (plVar3 == (longlong *)0x0) goto LAB_1400de2cd; + lVar4 = (**(code **)(*plVar3 + 0x30))(plVar3); + } while (lVar4 == 0); + } + break; + } + } + } +LAB_1400de2cd: + local_98[0] = TiXmlDocument::vftable; + if (local_38 != &DAT_140162cd0) { + operator_delete__(local_30); + } + local_98[0] = TiXmlNode::vftable; + while (local_70 != (longlong *)0x0) { + plVar3 = (longlong *)local_70[10]; + (**(code **)*local_70)(local_70,1); + local_70 = plVar3; + } + if (local_60 != &DAT_140162cd0) { + operator_delete__(local_58); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400de360.c b/decomp/Agent_Release_x64/full/functions/0x1400de360.c new file mode 100644 index 00000000..b09f4777 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400de360.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400de360 FUN_1400de360 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +undefined8 * FUN_1400de360(void) + +{ + DAT_140162da8 = 0xf; + _DAT_140162da0 = 0; + DAT_140162d90._0_1_ = 0; + FUN_14000b810(&DAT_140162d90,&DAT_14011d750,3); + FUN_14000ed90((undefined1 *)&DAT_140162db8); + DAT_140162f68 = 0; + DAT_140162f70 = 0; + _DAT_140162f78 = 0; + DAT_140162fa0 = 0xf; + _DAT_140162f98 = 0; + DAT_140162f88._0_1_ = 0; + FUN_14000b810(&DAT_140162f88,"option\\service_control.xml",0x1a); + FUN_1400de0c0(); + return &DAT_140162d90; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400de420.c b/decomp/Agent_Release_x64/full/functions/0x1400de420.c new file mode 100644 index 00000000..284ae2b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400de420.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400de420 FUN_1400de420 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400de420(void) + +{ + if ((DAT_140163198 & 1) == 0) { + DAT_140163198 = DAT_140163198 | 1; + FUN_1400dd560(); + atexit((_func_5014 *)&LAB_1400f13b0); + } + return &DAT_140162fb0; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400de470.c b/decomp/Agent_Release_x64/full/functions/0x1400de470.c new file mode 100644 index 00000000..f2a4d8b0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400de470.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400de470 FUN_1400de470 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400de470(void) + +{ + if ((DAT_14016319c & 1) == 0) { + DAT_14016319c = DAT_14016319c | 1; + FUN_1400de360(); + atexit((_func_5014 *)&LAB_1400f13a0); + } + return &DAT_140162d90; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400de4b0.c b/decomp/Agent_Release_x64/full/functions/0x1400de4b0.c new file mode 100644 index 00000000..b67bc97e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400de4b0.c @@ -0,0 +1,25 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400de4b0 FUN_1400de4b0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400de4b0(char *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined8 local_res10; + undefined8 local_res18; + undefined8 local_res20; + undefined1 auStackY_448 [32]; + char local_418 [1024]; + ulonglong local_18; + + local_18 = DAT_1401555a0 ^ (ulonglong)auStackY_448; + local_res10 = param_2; + local_res18 = param_3; + local_res20 = param_4; + _vsnprintf_s(local_418,0x400,0xffffffffffffffff,param_1,(va_list)&local_res10); + OutputDebugStringA(local_418); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400de550.c b/decomp/Agent_Release_x64/full/functions/0x1400de550.c new file mode 100644 index 00000000..c28f6e78 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400de550.c @@ -0,0 +1,35 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400de550 FUN_1400de550 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400de550(longlong param_1,char *param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + undefined8 local_res18; + undefined8 local_res20; + undefined1 auStack_248 [32]; + char local_228 [512]; + ulonglong local_28; + + local_28 = DAT_1401555a0 ^ (ulonglong)auStack_248; + local_res18 = param_3; + local_res20 = param_4; + EnterCriticalSection(DAT_140162d80); + iVar1 = _vscprintf(param_2,(va_list)&local_res18); + vsprintf_s(local_228,(longlong)(iVar1 + 1),param_2,(va_list)&local_res18); + if ((*(byte *)(param_1 + 0x10) & 2) != 0) { + printf(local_228); + } + if ((*(byte *)(param_1 + 0x10) & 4) != 0) { + OutputDebugStringA(local_228); + } + if ((*(FILE **)(param_1 + 0xb8) != (FILE *)0x0) && ((*(byte *)(param_1 + 0x10) & 8) != 0)) { + fprintf(*(FILE **)(param_1 + 0xb8),"%s"); + } + LeaveCriticalSection(DAT_140162d80); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400de640.c b/decomp/Agent_Release_x64/full/functions/0x1400de640.c new file mode 100644 index 00000000..e16d1dfc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400de640.c @@ -0,0 +1,29 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400de640 FUN_1400de640 + * Pseudocode, not original source. */ + +void FUN_1400de640(longlong param_1) + +{ + undefined8 *puVar1; + longlong lVar2; + + EnterCriticalSection(DAT_140162d80); + if (*(FILE **)(param_1 + 0xb8) != (FILE *)0x0) { + fclose(*(FILE **)(param_1 + 0xb8)); + } + puVar1 = (undefined8 *)(param_1 + 200); + lVar2 = 4; + do { + if ((FILE *)*puVar1 != (FILE *)0x0) { + fclose((FILE *)*puVar1); + } + puVar1 = puVar1 + 1; + lVar2 = lVar2 + -1; + } while (lVar2 != 0); + /* WARNING: Could not recover jumptable at 0x0001400de6a0. Too many branches */ + /* WARNING: Treating indirect jump as call */ + LeaveCriticalSection(DAT_140162d80); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400de6b0.c b/decomp/Agent_Release_x64/full/functions/0x1400de6b0.c new file mode 100644 index 00000000..5591e9c1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400de6b0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400de6b0 FUN_1400de6b0 + * Pseudocode, not original source. */ + +void FUN_1400de6b0(undefined8 *param_1) + +{ + DWORD DVar1; + + DVar1 = timeGetTime(); + if (0x32 < DVar1 - *(int *)(param_1 + 1)) { + FUN_1400de550(DAT_1401626e8,"% 9d[ms] %s\n",(ulonglong)(DVar1 - *(int *)(param_1 + 1)),*param_1) + ; + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400de6f0.c b/decomp/Agent_Release_x64/full/functions/0x1400de6f0.c new file mode 100644 index 00000000..399962b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400de6f0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400de6f0 FUN_1400de6f0 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400de6f0(undefined8 *param_1) + +{ + DWORD DVar1; + + *param_1 = "AgentManaserSession->Process"; + DVar1 = timeGetTime(); + *(DWORD *)(param_1 + 1) = DVar1; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400de720.c b/decomp/Agent_Release_x64/full/functions/0x1400de720.c new file mode 100644 index 00000000..9d84c67b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400de720.c @@ -0,0 +1,63 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400de720 FUN_1400de720 + * Pseudocode, not original source. */ + +void FUN_1400de720(undefined8 *param_1) + +{ + LPCRITICAL_SECTION lpCriticalSection; + undefined8 *puVar1; + longlong lVar2; + + *param_1 = MBCLog::vftable; + param_1[1] = MBCLog::vftable; + EnterCriticalSection(DAT_140162d80); + if ((FILE *)param_1[0x17] != (FILE *)0x0) { + fclose((FILE *)param_1[0x17]); + } + puVar1 = param_1 + 0x19; + lVar2 = 4; + do { + if ((FILE *)*puVar1 != (FILE *)0x0) { + fclose((FILE *)*puVar1); + } + puVar1 = puVar1 + 1; + lVar2 = lVar2 + -1; + } while (lVar2 != 0); + LeaveCriticalSection(DAT_140162d80); + if (7 < (ulonglong)param_1[0x15]) { + operator_delete((void *)param_1[0x12]); + } + param_1[0x15] = 7; + param_1[0x14] = 0; + *(undefined2 *)(param_1 + 0x12) = 0; + if (7 < (ulonglong)param_1[0x10]) { + operator_delete((void *)param_1[0xd]); + } + param_1[0x10] = 7; + param_1[0xf] = 0; + *(undefined2 *)(param_1 + 0xd) = 0; + if (7 < (ulonglong)param_1[0xb]) { + operator_delete((void *)param_1[8]); + } + param_1[0xb] = 7; + param_1[10] = 0; + *(undefined2 *)(param_1 + 8) = 0; + if (7 < (ulonglong)param_1[6]) { + operator_delete((void *)param_1[3]); + } + lpCriticalSection = DAT_140162d80; + param_1[6] = 7; + param_1[5] = 0; + *(undefined2 *)(param_1 + 3) = 0; + param_1[1] = MBMultiThreadSync::vftable; + if (lpCriticalSection != (LPCRITICAL_SECTION)0x0) { + DeleteCriticalSection(lpCriticalSection); + operator_delete(lpCriticalSection); + } + DAT_140162d80 = (LPCRITICAL_SECTION)0x0; + DAT_1401626e8 = 0; + *param_1 = MBISingleton::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400de890.c b/decomp/Agent_Release_x64/full/functions/0x1400de890.c new file mode 100644 index 00000000..226b3ffd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400de890.c @@ -0,0 +1,43 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400de890 FUN_1400de890 + * Pseudocode, not original source. */ + +undefined8 * FUN_1400de890(undefined8 *param_1) + +{ + LPCRITICAL_SECTION p_Var1; + LPCRITICAL_SECTION lpCriticalSection; + + *param_1 = MBISingleton::vftable; + param_1[1] = MBMultiThreadSync::vftable; + p_Var1 = DAT_140162d80; + if ((DAT_140162d80 == (LPCRITICAL_SECTION)0x0) && + (lpCriticalSection = operator_new(0x28), p_Var1 = (LPCRITICAL_SECTION)0x0, + lpCriticalSection != (LPCRITICAL_SECTION)0x0)) { + InitializeCriticalSection(lpCriticalSection); + p_Var1 = lpCriticalSection; + } + DAT_140162d80 = p_Var1; + *param_1 = MBCLog::vftable; + param_1[1] = MBCLog::vftable; + param_1[6] = 7; + param_1[5] = 0; + *(undefined2 *)(param_1 + 3) = 0; + param_1[0xb] = 7; + param_1[10] = 0; + *(undefined2 *)(param_1 + 8) = 0; + param_1[0x10] = 7; + param_1[0xf] = 0; + *(undefined2 *)(param_1 + 0xd) = 0; + param_1[0x15] = 7; + param_1[0x14] = 0; + *(undefined2 *)(param_1 + 0x12) = 0; + param_1[0x17] = 0; + *(undefined4 *)(param_1 + 2) = 0xe; + param_1[0x19] = 0; + param_1[0x1a] = 0; + param_1[0x1b] = 0; + param_1[0x1c] = 0; + return param_1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400de9a0.c b/decomp/Agent_Release_x64/full/functions/0x1400de9a0.c new file mode 100644 index 00000000..d10b2310 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400de9a0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400de9a0 FUN_1400de9a0 + * Pseudocode, not original source. */ + +void FUN_1400de9a0(longlong param_1) + +{ + EnterCriticalSection(DAT_140162d80); + FUN_1400016e0((ulonglong *)(param_1 + 0x18),L"Log\\Protocol_Agent",0x12); + /* WARNING: Could not recover jumptable at 0x0001400de9e3. Too many branches */ + /* WARNING: Treating indirect jump as call */ + LeaveCriticalSection(DAT_140162d80); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400de9f0.c b/decomp/Agent_Release_x64/full/functions/0x1400de9f0.c new file mode 100644 index 00000000..e4b983eb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400de9f0.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400de9f0 FUN_1400de9f0 + * Pseudocode, not original source. */ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +void FUN_1400de9f0(longlong param_1,wchar_t *param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + undefined8 local_res18; + undefined8 local_res20; + undefined1 auStack_458 [32]; + undefined8 local_438; + wchar_t local_428 [516]; + ulonglong local_20; + + local_438 = 0xfffffffffffffffe; + local_20 = DAT_1401555a0 ^ (ulonglong)auStack_458; + local_res18 = param_3; + local_res20 = param_4; + EnterCriticalSection(DAT_140162d80); + if ((DAT_140163198 & 1) == 0) { + DAT_140163198 = DAT_140163198 | 1; + FUN_1400dd560(); + atexit((_func_5014 *)&LAB_1400f13b0); + } + if ((DAT_140163190 == 200) && ((DAT_140163198 & 1) == 0)) { + DAT_140163198 = DAT_140163198 | 1; + FUN_1400dd560(); + atexit((_func_5014 *)&LAB_1400f13b0); + if (DAT_140163190 == 1000) goto LAB_1400deb2d; + } + iVar1 = _vscwprintf(param_2,(va_list)&local_res18); + vswprintf_s(local_428,(longlong)(iVar1 + 1),param_2,(va_list)&local_res18); + wcscat_s(local_428,0x200,L"\n"); + if ((*(byte *)(param_1 + 0x10) & 4) != 0) { + OutputDebugStringW(local_428); + } + if ((*(byte *)(param_1 + 0x10) & 2) != 0) { + wprintf(local_428); + } + if ((*(FILE **)(param_1 + 0xb8) != (FILE *)0x0) && ((*(byte *)(param_1 + 0x10) & 8) != 0)) { + fwprintf(*(FILE **)(param_1 + 0xb8),L"%s"); + } +LAB_1400deb2d: + LeaveCriticalSection(DAT_140162d80); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400deb60.c b/decomp/Agent_Release_x64/full/functions/0x1400deb60.c new file mode 100644 index 00000000..bab8be3a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400deb60.c @@ -0,0 +1,41 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400deb60 FUN_1400deb60 + * Pseudocode, not original source. */ + +void FUN_1400deb60(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + errno_t eVar1; + undefined *puVar2; + + EnterCriticalSection(DAT_140162d80); + if ((DAT_140163198 & 1) == 0) { + DAT_140163198 = DAT_140163198 | 1; + FUN_1400dd560(); + atexit((_func_5014 *)&LAB_1400f13b0); + } + if (DAT_140163190 != 200) { + if ((DAT_140163198 & 1) == 0) { + DAT_140163198 = DAT_140163198 | 1; + FUN_1400dd560(); + atexit((_func_5014 *)&LAB_1400f13b0); + } + if (DAT_140163190 != 1000) goto LAB_1400debfa; + } + _wsetlocale(0,L"korean"); +LAB_1400debfa: + setlocale(0,(char *)0x0); + printf("Locale is: %s\n"); + puVar2 = &DAT_14011d670; + eVar1 = fopen_s((FILE **)(param_1 + 0xb8),"Log\\Agent.log","w"); + if (eVar1 != 0) { + *(undefined8 *)(param_1 + 0xb8) = 0; + FUN_1400de9f0(param_1,L"MBLOG open error",puVar2,param_4); + } + FUN_1400de550(DAT_1401626e8,"MBLOG %s writting\n","Log\\Agent.log",param_4); + /* WARNING: Could not recover jumptable at 0x0001400dec79. Too many branches */ + /* WARNING: Treating indirect jump as call */ + LeaveCriticalSection(DAT_140162d80); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dec90.c b/decomp/Agent_Release_x64/full/functions/0x1400dec90.c new file mode 100644 index 00000000..88f0eb19 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dec90.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dec90 Unwind@1400dec90 + * Pseudocode, not original source. */ + +void Unwind_1400dec90(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400dec97. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::exception::~exception(*(exception **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400deca0.c b/decomp/Agent_Release_x64/full/functions/0x1400deca0.c new file mode 100644 index 00000000..e80ce819 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400deca0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400deca0 Unwind@1400deca0 + * Pseudocode, not original source. */ + +void Unwind_1400deca0(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400decb0.c b/decomp/Agent_Release_x64/full/functions/0x1400decb0.c new file mode 100644 index 00000000..3eb41856 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400decb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400decb0 Unwind@1400decb0 + * Pseudocode, not original source. */ + +void Unwind_1400decb0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400decc0.c b/decomp/Agent_Release_x64/full/functions/0x1400decc0.c new file mode 100644 index 00000000..f5ab87e6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400decc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400decc0 Unwind@1400decc0 + * Pseudocode, not original source. */ + +void Unwind_1400decc0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400decd0.c b/decomp/Agent_Release_x64/full/functions/0x1400decd0.c new file mode 100644 index 00000000..3a271111 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400decd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400decd0 Unwind@1400decd0 + * Pseudocode, not original source. */ + +void Unwind_1400decd0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dece0.c b/decomp/Agent_Release_x64/full/functions/0x1400dece0.c new file mode 100644 index 00000000..a77d30be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dece0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dece0 Unwind@1400dece0 + * Pseudocode, not original source. */ + +void Unwind_1400dece0(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400dece7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::exception::~exception(*(exception **)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400decf0.c b/decomp/Agent_Release_x64/full/functions/0x1400decf0.c new file mode 100644 index 00000000..574ade45 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400decf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400decf0 Unwind@1400decf0 + * Pseudocode, not original source. */ + +void Unwind_1400decf0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(*(longlong *)(param_2 + 0x30) + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ded00.c b/decomp/Agent_Release_x64/full/functions/0x1400ded00.c new file mode 100644 index 00000000..f93b892c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ded00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ded00 Unwind@1400ded00 + * Pseudocode, not original source. */ + +void Unwind_1400ded00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ded10.c b/decomp/Agent_Release_x64/full/functions/0x1400ded10.c new file mode 100644 index 00000000..25dc4065 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ded10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ded10 Unwind@1400ded10 + * Pseudocode, not original source. */ + +void Unwind_1400ded10(undefined8 param_1,longlong param_2) + +{ + FUN_14008ebf0((undefined8 *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ded20.c b/decomp/Agent_Release_x64/full/functions/0x1400ded20.c new file mode 100644 index 00000000..3a9c508a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ded20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ded20 Unwind@1400ded20 + * Pseudocode, not original source. */ + +void Unwind_1400ded20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ded30.c b/decomp/Agent_Release_x64/full/functions/0x1400ded30.c new file mode 100644 index 00000000..1a8a75fa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ded30.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ded30 Unwind@1400ded30 + * Pseudocode, not original source. */ + +void Unwind_1400ded30(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400ded37. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::exception::~exception(*(exception **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ded40.c b/decomp/Agent_Release_x64/full/functions/0x1400ded40.c new file mode 100644 index 00000000..110dfc68 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ded40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ded40 Unwind@1400ded40 + * Pseudocode, not original source. */ + +void Unwind_1400ded40(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(*(longlong *)(param_2 + 0x40) + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ded50.c b/decomp/Agent_Release_x64/full/functions/0x1400ded50.c new file mode 100644 index 00000000..39d20502 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ded50.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ded50 Unwind@1400ded50 + * Pseudocode, not original source. */ + +void Unwind_1400ded50(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400ded57. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::exception::~exception(*(exception **)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ded60.c b/decomp/Agent_Release_x64/full/functions/0x1400ded60.c new file mode 100644 index 00000000..9f7ef726 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ded60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ded60 Unwind@1400ded60 + * Pseudocode, not original source. */ + +void Unwind_1400ded60(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(*(longlong *)(param_2 + 0x50) + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ded70.c b/decomp/Agent_Release_x64/full/functions/0x1400ded70.c new file mode 100644 index 00000000..ed9766ca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ded70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ded70 Unwind@1400ded70 + * Pseudocode, not original source. */ + +void Unwind_1400ded70(undefined8 param_1,longlong param_2) + +{ + FUN_14002eef0((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ded80.c b/decomp/Agent_Release_x64/full/functions/0x1400ded80.c new file mode 100644 index 00000000..e39109ce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ded80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ded80 Unwind@1400ded80 + * Pseudocode, not original source. */ + +void Unwind_1400ded80(void) + +{ + DAT_14015bee8 = DAT_14015bee8 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400deda0.c b/decomp/Agent_Release_x64/full/functions/0x1400deda0.c new file mode 100644 index 00000000..f5a4868e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400deda0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400deda0 Unwind@1400deda0 + * Pseudocode, not original source. */ + +void Unwind_1400deda0(void) + +{ + DAT_14015bee8 = DAT_14015bee8 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dedc0.c b/decomp/Agent_Release_x64/full/functions/0x1400dedc0.c new file mode 100644 index 00000000..a587523d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dedc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dedc0 Unwind@1400dedc0 + * Pseudocode, not original source. */ + +void Unwind_1400dedc0(void) + +{ + DAT_14015bee8 = DAT_14015bee8 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dede0.c b/decomp/Agent_Release_x64/full/functions/0x1400dede0.c new file mode 100644 index 00000000..e74e9149 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dede0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dede0 Unwind@1400dede0 + * Pseudocode, not original source. */ + +void Unwind_1400dede0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dedf0.c b/decomp/Agent_Release_x64/full/functions/0x1400dedf0.c new file mode 100644 index 00000000..ffb9198b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dedf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dedf0 Unwind@1400dedf0 + * Pseudocode, not original source. */ + +void Unwind_1400dedf0(undefined8 param_1,longlong param_2) + +{ + FUN_14000b470(*(longlong **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dee00.c b/decomp/Agent_Release_x64/full/functions/0x1400dee00.c new file mode 100644 index 00000000..5a285193 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dee00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dee00 Unwind@1400dee00 + * Pseudocode, not original source. */ + +void Unwind_1400dee00(void) + +{ + DAT_14015bfb8 = DAT_14015bfb8 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dee20.c b/decomp/Agent_Release_x64/full/functions/0x1400dee20.c new file mode 100644 index 00000000..5b481ed0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dee20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dee20 Unwind@1400dee20 + * Pseudocode, not original source. */ + +void Unwind_1400dee20(undefined8 param_1,longlong param_2) + +{ + FUN_1400302f0(*(LPVOID *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dee40.c b/decomp/Agent_Release_x64/full/functions/0x1400dee40.c new file mode 100644 index 00000000..3a398b84 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dee40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dee40 Unwind@1400dee40 + * Pseudocode, not original source. */ + +void Unwind_1400dee40(undefined8 param_1,longlong param_2) + +{ + FUN_140030270(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dee50.c b/decomp/Agent_Release_x64/full/functions/0x1400dee50.c new file mode 100644 index 00000000..ec42d728 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dee50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dee50 Unwind@1400dee50 + * Pseudocode, not original source. */ + +void Unwind_1400dee50(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dee60.c b/decomp/Agent_Release_x64/full/functions/0x1400dee60.c new file mode 100644 index 00000000..0cefc17d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dee60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dee60 Unwind@1400dee60 + * Pseudocode, not original source. */ + +void Unwind_1400dee60(void) + +{ + DAT_14015c028 = DAT_14015c028 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dee80.c b/decomp/Agent_Release_x64/full/functions/0x1400dee80.c new file mode 100644 index 00000000..94cf83eb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dee80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dee80 Unwind@1400dee80 + * Pseudocode, not original source. */ + +void Unwind_1400dee80(undefined8 param_1,longlong param_2) + +{ + FUN_140030270(*(undefined8 **)(param_2 + 0xd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dee90.c b/decomp/Agent_Release_x64/full/functions/0x1400dee90.c new file mode 100644 index 00000000..f4ad2bdb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dee90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dee90 Unwind@1400dee90 + * Pseudocode, not original source. */ + +void Unwind_1400dee90(undefined8 param_1,longlong param_2) + +{ + FUN_140031600((undefined8 *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400deea0.c b/decomp/Agent_Release_x64/full/functions/0x1400deea0.c new file mode 100644 index 00000000..a08c5b20 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400deea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400deea0 Unwind@1400deea0 + * Pseudocode, not original source. */ + +void Unwind_1400deea0(undefined8 param_1,longlong param_2) + +{ + FUN_140031600((undefined8 *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400deeb0.c b/decomp/Agent_Release_x64/full/functions/0x1400deeb0.c new file mode 100644 index 00000000..86682de7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400deeb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400deeb0 Unwind@1400deeb0 + * Pseudocode, not original source. */ + +void Unwind_1400deeb0(undefined8 param_1,longlong param_2) + +{ + FUN_14002a580((undefined8 *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400deec0.c b/decomp/Agent_Release_x64/full/functions/0x1400deec0.c new file mode 100644 index 00000000..3d715096 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400deec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400deec0 Catch_All@1400deec0 + * Pseudocode, not original source. */ + +undefined * Catch_All_1400deec0(undefined8 param_1,longlong param_2) + +{ + *(undefined4 *)(param_2 + 0x30) = 0; + return &DAT_1400318f7; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400deef0.c b/decomp/Agent_Release_x64/full/functions/0x1400deef0.c new file mode 100644 index 00000000..72d6debe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400deef0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400deef0 Unwind@1400deef0 + * Pseudocode, not original source. */ + +void Unwind_1400deef0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400def00.c b/decomp/Agent_Release_x64/full/functions/0x1400def00.c new file mode 100644 index 00000000..6610ab42 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400def00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400def00 Unwind@1400def00 + * Pseudocode, not original source. */ + +void Unwind_1400def00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400def10.c b/decomp/Agent_Release_x64/full/functions/0x1400def10.c new file mode 100644 index 00000000..2b654d7d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400def10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400def10 Unwind@1400def10 + * Pseudocode, not original source. */ + +void Unwind_1400def10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400def20.c b/decomp/Agent_Release_x64/full/functions/0x1400def20.c new file mode 100644 index 00000000..08c0c570 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400def20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400def20 Unwind@1400def20 + * Pseudocode, not original source. */ + +void Unwind_1400def20(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(*(longlong *)(param_2 + 0x40) + 8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400def30.c b/decomp/Agent_Release_x64/full/functions/0x1400def30.c new file mode 100644 index 00000000..c9a5a47c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400def30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400def30 Unwind@1400def30 + * Pseudocode, not original source. */ + +void Unwind_1400def30(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(*(longlong *)(param_2 + 0x40) + 0x10),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400def40.c b/decomp/Agent_Release_x64/full/functions/0x1400def40.c new file mode 100644 index 00000000..205c4767 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400def40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400def40 Unwind@1400def40 + * Pseudocode, not original source. */ + +void Unwind_1400def40(undefined8 param_1,longlong param_2) + +{ + FUN_140030db0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x18)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400def50.c b/decomp/Agent_Release_x64/full/functions/0x1400def50.c new file mode 100644 index 00000000..25d2e07a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400def50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400def50 Unwind@1400def50 + * Pseudocode, not original source. */ + +void Unwind_1400def50(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(*(longlong *)(param_2 + 0x40) + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400def60.c b/decomp/Agent_Release_x64/full/functions/0x1400def60.c new file mode 100644 index 00000000..99a8348f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400def60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400def60 Unwind@1400def60 + * Pseudocode, not original source. */ + +void Unwind_1400def60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x40) + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400def70.c b/decomp/Agent_Release_x64/full/functions/0x1400def70.c new file mode 100644 index 00000000..03d9b35f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400def70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400def70 Unwind@1400def70 + * Pseudocode, not original source. */ + +void Unwind_1400def70(undefined8 param_1,longlong param_2) + +{ + FUN_140037670((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400def90.c b/decomp/Agent_Release_x64/full/functions/0x1400def90.c new file mode 100644 index 00000000..cc038c05 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400def90.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400def90 Unwind@1400def90 + * Pseudocode, not original source. */ + +void Unwind_1400def90(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x58) & 1) != 0) { + *(uint *)(param_2 + 0x58) = *(uint *)(param_2 + 0x58) & 0xfffffffe; + thunk_FUN_14001c020(*(longlong **)(param_2 + 0x40)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400defc0.c b/decomp/Agent_Release_x64/full/functions/0x1400defc0.c new file mode 100644 index 00000000..0055645f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400defc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400defc0 Unwind@1400defc0 + * Pseudocode, not original source. */ + +void Unwind_1400defc0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400defe0.c b/decomp/Agent_Release_x64/full/functions/0x1400defe0.c new file mode 100644 index 00000000..ebf2094f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400defe0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400defe0 Unwind@1400defe0 + * Pseudocode, not original source. */ + +void Unwind_1400defe0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400deff0.c b/decomp/Agent_Release_x64/full/functions/0x1400deff0.c new file mode 100644 index 00000000..3243a2ea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400deff0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400deff0 Unwind@1400deff0 + * Pseudocode, not original source. */ + +void Unwind_1400deff0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df000.c b/decomp/Agent_Release_x64/full/functions/0x1400df000.c new file mode 100644 index 00000000..3c7ee115 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df000.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df000 Unwind@1400df000 + * Pseudocode, not original source. */ + +void Unwind_1400df000(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df010.c b/decomp/Agent_Release_x64/full/functions/0x1400df010.c new file mode 100644 index 00000000..e067c94e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df010.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df010 Unwind@1400df010 + * Pseudocode, not original source. */ + +void Unwind_1400df010(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df020.c b/decomp/Agent_Release_x64/full/functions/0x1400df020.c new file mode 100644 index 00000000..7d93132d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df020.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df020 Unwind@1400df020 + * Pseudocode, not original source. */ + +void Unwind_1400df020(undefined8 param_1,longlong param_2) + +{ + FUN_14008ebf0((undefined8 *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df030.c b/decomp/Agent_Release_x64/full/functions/0x1400df030.c new file mode 100644 index 00000000..2755a6ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df030.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df030 Unwind@1400df030 + * Pseudocode, not original source. */ + +void Unwind_1400df030(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df040.c b/decomp/Agent_Release_x64/full/functions/0x1400df040.c new file mode 100644 index 00000000..9d4eb015 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df040.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df040 Unwind@1400df040 + * Pseudocode, not original source. */ + +void Unwind_1400df040(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df050.c b/decomp/Agent_Release_x64/full/functions/0x1400df050.c new file mode 100644 index 00000000..f12d298c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df050.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df050 Unwind@1400df050 + * Pseudocode, not original source. */ + +void Unwind_1400df050(undefined8 param_1,longlong param_2) + +{ + FUN_14008ebf0((undefined8 *)(param_2 + 0x100)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df060.c b/decomp/Agent_Release_x64/full/functions/0x1400df060.c new file mode 100644 index 00000000..694b2559 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df060.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df060 Unwind@1400df060 + * Pseudocode, not original source. */ + +void Unwind_1400df060(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df070.c b/decomp/Agent_Release_x64/full/functions/0x1400df070.c new file mode 100644 index 00000000..50c24ce1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df070.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df070 Unwind@1400df070 + * Pseudocode, not original source. */ + +void Unwind_1400df070(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df080.c b/decomp/Agent_Release_x64/full/functions/0x1400df080.c new file mode 100644 index 00000000..2c9756f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df080.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df080 Unwind@1400df080 + * Pseudocode, not original source. */ + +void Unwind_1400df080(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df090.c b/decomp/Agent_Release_x64/full/functions/0x1400df090.c new file mode 100644 index 00000000..c95c68dd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df090.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df090 Unwind@1400df090 + * Pseudocode, not original source. */ + +void Unwind_1400df090(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df0a0.c b/decomp/Agent_Release_x64/full/functions/0x1400df0a0.c new file mode 100644 index 00000000..9787cbe7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df0a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df0a0 Unwind@1400df0a0 + * Pseudocode, not original source. */ + +void Unwind_1400df0a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df0b0.c b/decomp/Agent_Release_x64/full/functions/0x1400df0b0.c new file mode 100644 index 00000000..e82ad8bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df0b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df0b0 Unwind@1400df0b0 + * Pseudocode, not original source. */ + +void Unwind_1400df0b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df0c0.c b/decomp/Agent_Release_x64/full/functions/0x1400df0c0.c new file mode 100644 index 00000000..f43cb574 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df0c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df0c0 Unwind@1400df0c0 + * Pseudocode, not original source. */ + +void Unwind_1400df0c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df0d0.c b/decomp/Agent_Release_x64/full/functions/0x1400df0d0.c new file mode 100644 index 00000000..59bb8dc4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df0d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df0d0 Unwind@1400df0d0 + * Pseudocode, not original source. */ + +void Unwind_1400df0d0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df0e0.c b/decomp/Agent_Release_x64/full/functions/0x1400df0e0.c new file mode 100644 index 00000000..d322e01b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df0e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df0e0 Unwind@1400df0e0 + * Pseudocode, not original source. */ + +void Unwind_1400df0e0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df0f0.c b/decomp/Agent_Release_x64/full/functions/0x1400df0f0.c new file mode 100644 index 00000000..d869d640 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df0f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df0f0 Unwind@1400df0f0 + * Pseudocode, not original source. */ + +void Unwind_1400df0f0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df100.c b/decomp/Agent_Release_x64/full/functions/0x1400df100.c new file mode 100644 index 00000000..03ab4759 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df100.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df100 Unwind@1400df100 + * Pseudocode, not original source. */ + +void Unwind_1400df100(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df110.c b/decomp/Agent_Release_x64/full/functions/0x1400df110.c new file mode 100644 index 00000000..5951ff4c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df110.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df110 Catch@1400df110 + * Pseudocode, not original source. */ + +undefined8 +Catch_1400df110(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + undefined4 *puVar1; + undefined8 *puVar2; + longlong *plVar3; + + puVar1 = *(undefined4 **)(param_2 + 0x50); + puVar2 = *(undefined8 **)(puVar1 + 4); + if ((puVar2 != (undefined8 *)0x0) && (plVar3 = (longlong *)*puVar2, plVar3 != (longlong *)0x0)) { + FUN_140035490(plVar3,param_2,param_3,param_4); + } + *puVar1 = 3; + return 0x140032f4a; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df150.c b/decomp/Agent_Release_x64/full/functions/0x1400df150.c new file mode 100644 index 00000000..efa9eb9c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df150.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df150 Unwind@1400df150 + * Pseudocode, not original source. */ + +void Unwind_1400df150(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df160.c b/decomp/Agent_Release_x64/full/functions/0x1400df160.c new file mode 100644 index 00000000..35e77910 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df160 Unwind@1400df160 + * Pseudocode, not original source. */ + +void Unwind_1400df160(void) + +{ + DAT_14015c140 = DAT_14015c140 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df180.c b/decomp/Agent_Release_x64/full/functions/0x1400df180.c new file mode 100644 index 00000000..9cd8b084 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df180.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df180 Unwind@1400df180 + * Pseudocode, not original source. */ + +void Unwind_1400df180(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df190.c b/decomp/Agent_Release_x64/full/functions/0x1400df190.c new file mode 100644 index 00000000..ab7ce071 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df190.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df190 Unwind@1400df190 + * Pseudocode, not original source. */ + +void Unwind_1400df190(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df1b0.c b/decomp/Agent_Release_x64/full/functions/0x1400df1b0.c new file mode 100644 index 00000000..61db0608 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df1b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df1b0 Unwind@1400df1b0 + * Pseudocode, not original source. */ + +void Unwind_1400df1b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df1c0.c b/decomp/Agent_Release_x64/full/functions/0x1400df1c0.c new file mode 100644 index 00000000..c0de69f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df1c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df1c0 Unwind@1400df1c0 + * Pseudocode, not original source. */ + +void Unwind_1400df1c0(void) + +{ + DAT_14015c184 = DAT_14015c184 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df1e0.c b/decomp/Agent_Release_x64/full/functions/0x1400df1e0.c new file mode 100644 index 00000000..9d47a1bb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df1e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df1e0 Unwind@1400df1e0 + * Pseudocode, not original source. */ + +void Unwind_1400df1e0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df210.c b/decomp/Agent_Release_x64/full/functions/0x1400df210.c new file mode 100644 index 00000000..0bffebfd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df210.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df210 Unwind@1400df210 + * Pseudocode, not original source. */ + +void Unwind_1400df210(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df220.c b/decomp/Agent_Release_x64/full/functions/0x1400df220.c new file mode 100644 index 00000000..15262aa6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df220.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df220 Unwind@1400df220 + * Pseudocode, not original source. */ + +void Unwind_1400df220(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df250.c b/decomp/Agent_Release_x64/full/functions/0x1400df250.c new file mode 100644 index 00000000..35ee7a1d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df250.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df250 Unwind@1400df250 + * Pseudocode, not original source. */ + +void Unwind_1400df250(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df260.c b/decomp/Agent_Release_x64/full/functions/0x1400df260.c new file mode 100644 index 00000000..d9315f3d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df260.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df260 Unwind@1400df260 + * Pseudocode, not original source. */ + +void Unwind_1400df260(undefined8 param_1,longlong param_2) + +{ + FUN_14002a580((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df270.c b/decomp/Agent_Release_x64/full/functions/0x1400df270.c new file mode 100644 index 00000000..612aeb2e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df270.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df270 Unwind@1400df270 + * Pseudocode, not original source. */ + +void Unwind_1400df270(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((*(uint *)(param_2 + 0x20) & 1) != 0) { + *(uint *)(param_2 + 0x20) = *(uint *)(param_2 + 0x20) & 0xfffffffe; + thunk_FUN_140003240(*(longlong **)(param_2 + 0x40),param_2,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df2a0.c b/decomp/Agent_Release_x64/full/functions/0x1400df2a0.c new file mode 100644 index 00000000..f78dc6b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df2a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df2a0 Unwind@1400df2a0 + * Pseudocode, not original source. */ + +void Unwind_1400df2a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df2b0.c b/decomp/Agent_Release_x64/full/functions/0x1400df2b0.c new file mode 100644 index 00000000..04df64da --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df2b0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df2b0 Unwind@1400df2b0 + * Pseudocode, not original source. */ + +void Unwind_1400df2b0(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x50) & 1) != 0) { + *(uint *)(param_2 + 0x50) = *(uint *)(param_2 + 0x50) & 0xfffffffe; + thunk_FUN_14001c020(*(longlong **)(param_2 + 0x40)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df2e0.c b/decomp/Agent_Release_x64/full/functions/0x1400df2e0.c new file mode 100644 index 00000000..e239a7c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df2e0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df2e0 Unwind@1400df2e0 + * Pseudocode, not original source. */ + +void Unwind_1400df2e0(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x68) & 1) != 0) { + *(uint *)(param_2 + 0x68) = *(uint *)(param_2 + 0x68) & 0xfffffffe; + thunk_FUN_14001c020(*(longlong **)(param_2 + 0x60)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df310.c b/decomp/Agent_Release_x64/full/functions/0x1400df310.c new file mode 100644 index 00000000..03bd51f5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df310.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df310 Unwind@1400df310 + * Pseudocode, not original source. */ + +void Unwind_1400df310(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df320.c b/decomp/Agent_Release_x64/full/functions/0x1400df320.c new file mode 100644 index 00000000..7618232f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df320.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df320 Unwind@1400df320 + * Pseudocode, not original source. */ + +void Unwind_1400df320(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df330.c b/decomp/Agent_Release_x64/full/functions/0x1400df330.c new file mode 100644 index 00000000..2b6c80a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df330.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df330 Unwind@1400df330 + * Pseudocode, not original source. */ + +void Unwind_1400df330(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df340.c b/decomp/Agent_Release_x64/full/functions/0x1400df340.c new file mode 100644 index 00000000..71843a55 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df340.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df340 Unwind@1400df340 + * Pseudocode, not original source. */ + +void Unwind_1400df340(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df350.c b/decomp/Agent_Release_x64/full/functions/0x1400df350.c new file mode 100644 index 00000000..851af1c6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df350.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df350 Unwind@1400df350 + * Pseudocode, not original source. */ + +void Unwind_1400df350(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df360.c b/decomp/Agent_Release_x64/full/functions/0x1400df360.c new file mode 100644 index 00000000..dff1c22f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df360.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df360 Unwind@1400df360 + * Pseudocode, not original source. */ + +void Unwind_1400df360(undefined8 param_1,longlong param_2) + +{ + FUN_14002a580((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df370.c b/decomp/Agent_Release_x64/full/functions/0x1400df370.c new file mode 100644 index 00000000..a3579baa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df370.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df370 Unwind@1400df370 + * Pseudocode, not original source. */ + +void Unwind_1400df370(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df380.c b/decomp/Agent_Release_x64/full/functions/0x1400df380.c new file mode 100644 index 00000000..4a20eae3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df380.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df380 Unwind@1400df380 + * Pseudocode, not original source. */ + +void Unwind_1400df380(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0(*(undefined4 **)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df390.c b/decomp/Agent_Release_x64/full/functions/0x1400df390.c new file mode 100644 index 00000000..567e9ed3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df390.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df390 Unwind@1400df390 + * Pseudocode, not original source. */ + +void Unwind_1400df390(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df3a0.c b/decomp/Agent_Release_x64/full/functions/0x1400df3a0.c new file mode 100644 index 00000000..9e7ee8ea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df3a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df3a0 Unwind@1400df3a0 + * Pseudocode, not original source. */ + +void Unwind_1400df3a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df3b0.c b/decomp/Agent_Release_x64/full/functions/0x1400df3b0.c new file mode 100644 index 00000000..7757b38e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df3b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df3b0 Unwind@1400df3b0 + * Pseudocode, not original source. */ + +void Unwind_1400df3b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df3c0.c b/decomp/Agent_Release_x64/full/functions/0x1400df3c0.c new file mode 100644 index 00000000..3f37d6d1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df3c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df3c0 Unwind@1400df3c0 + * Pseudocode, not original source. */ + +void Unwind_1400df3c0(void) + +{ + DAT_14015c1d8 = DAT_14015c1d8 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df3e0.c b/decomp/Agent_Release_x64/full/functions/0x1400df3e0.c new file mode 100644 index 00000000..b081e35a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df3e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df3e0 Unwind@1400df3e0 + * Pseudocode, not original source. */ + +void Unwind_1400df3e0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df3f0.c b/decomp/Agent_Release_x64/full/functions/0x1400df3f0.c new file mode 100644 index 00000000..4fd4b7e7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df3f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df3f0 Unwind@1400df3f0 + * Pseudocode, not original source. */ + +void Unwind_1400df3f0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df400.c b/decomp/Agent_Release_x64/full/functions/0x1400df400.c new file mode 100644 index 00000000..2c3bec0b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df400.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df400 Unwind@1400df400 + * Pseudocode, not original source. */ + +void Unwind_1400df400(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df410.c b/decomp/Agent_Release_x64/full/functions/0x1400df410.c new file mode 100644 index 00000000..351ac8ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df410.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df410 Unwind@1400df410 + * Pseudocode, not original source. */ + +void Unwind_1400df410(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df420.c b/decomp/Agent_Release_x64/full/functions/0x1400df420.c new file mode 100644 index 00000000..f05bbcbc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df420.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df420 Unwind@1400df420 + * Pseudocode, not original source. */ + +void Unwind_1400df420(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140035780(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df430.c b/decomp/Agent_Release_x64/full/functions/0x1400df430.c new file mode 100644 index 00000000..1291aef5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df430.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df430 Unwind@1400df430 + * Pseudocode, not original source. */ + +void Unwind_1400df430(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x90) + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df440.c b/decomp/Agent_Release_x64/full/functions/0x1400df440.c new file mode 100644 index 00000000..3de1f1db --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df440.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df440 Unwind@1400df440 + * Pseudocode, not original source. */ + +void Unwind_1400df440(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0x140)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df460.c b/decomp/Agent_Release_x64/full/functions/0x1400df460.c new file mode 100644 index 00000000..9080d06c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df460.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df460 Unwind@1400df460 + * Pseudocode, not original source. */ + +void Unwind_1400df460(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0x200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df480.c b/decomp/Agent_Release_x64/full/functions/0x1400df480.c new file mode 100644 index 00000000..7a9dc11d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df480.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df480 Unwind@1400df480 + * Pseudocode, not original source. */ + +void Unwind_1400df480(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0x2c0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df4a0.c b/decomp/Agent_Release_x64/full/functions/0x1400df4a0.c new file mode 100644 index 00000000..399f68fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df4a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df4a0 Unwind@1400df4a0 + * Pseudocode, not original source. */ + +void Unwind_1400df4a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140035780(*(longlong **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df4b0.c b/decomp/Agent_Release_x64/full/functions/0x1400df4b0.c new file mode 100644 index 00000000..314f0f5a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df4b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df4b0 Unwind@1400df4b0 + * Pseudocode, not original source. */ + +void Unwind_1400df4b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x40) + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df4c0.c b/decomp/Agent_Release_x64/full/functions/0x1400df4c0.c new file mode 100644 index 00000000..9c4f37ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df4c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df4c0 Unwind@1400df4c0 + * Pseudocode, not original source. */ + +void Unwind_1400df4c0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x140)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df4e0.c b/decomp/Agent_Release_x64/full/functions/0x1400df4e0.c new file mode 100644 index 00000000..e721ad30 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df4e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df4e0 Unwind@1400df4e0 + * Pseudocode, not original source. */ + +void Unwind_1400df4e0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df500.c b/decomp/Agent_Release_x64/full/functions/0x1400df500.c new file mode 100644 index 00000000..2b22ab0f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df500.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df500 Unwind@1400df500 + * Pseudocode, not original source. */ + +void Unwind_1400df500(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x2c0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df520.c b/decomp/Agent_Release_x64/full/functions/0x1400df520.c new file mode 100644 index 00000000..55c42eea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df520.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df520 Unwind@1400df520 + * Pseudocode, not original source. */ + +void Unwind_1400df520(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df530.c b/decomp/Agent_Release_x64/full/functions/0x1400df530.c new file mode 100644 index 00000000..49101e5e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df530.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df530 Unwind@1400df530 + * Pseudocode, not original source. */ + +void Unwind_1400df530(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df540.c b/decomp/Agent_Release_x64/full/functions/0x1400df540.c new file mode 100644 index 00000000..551d2b0d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df540.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df540 Unwind@1400df540 + * Pseudocode, not original source. */ + +void Unwind_1400df540(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df550.c b/decomp/Agent_Release_x64/full/functions/0x1400df550.c new file mode 100644 index 00000000..3d1d8f0d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df550.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df550 Unwind@1400df550 + * Pseudocode, not original source. */ + +void Unwind_1400df550(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df560.c b/decomp/Agent_Release_x64/full/functions/0x1400df560.c new file mode 100644 index 00000000..45de09c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df560.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df560 Unwind@1400df560 + * Pseudocode, not original source. */ + +void Unwind_1400df560(undefined8 param_1,longlong param_2) + +{ + FUN_14008ebf0((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df570.c b/decomp/Agent_Release_x64/full/functions/0x1400df570.c new file mode 100644 index 00000000..877011ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df570.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df570 Unwind@1400df570 + * Pseudocode, not original source. */ + +void Unwind_1400df570(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df580.c b/decomp/Agent_Release_x64/full/functions/0x1400df580.c new file mode 100644 index 00000000..70674c41 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df580.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df580 Unwind@1400df580 + * Pseudocode, not original source. */ + +void Unwind_1400df580(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df590.c b/decomp/Agent_Release_x64/full/functions/0x1400df590.c new file mode 100644 index 00000000..5221a600 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df590.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df590 Unwind@1400df590 + * Pseudocode, not original source. */ + +void Unwind_1400df590(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df5a0.c b/decomp/Agent_Release_x64/full/functions/0x1400df5a0.c new file mode 100644 index 00000000..4312426c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df5a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df5a0 Unwind@1400df5a0 + * Pseudocode, not original source. */ + +void Unwind_1400df5a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df5b0.c b/decomp/Agent_Release_x64/full/functions/0x1400df5b0.c new file mode 100644 index 00000000..6311a250 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df5b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df5b0 Unwind@1400df5b0 + * Pseudocode, not original source. */ + +void Unwind_1400df5b0(undefined8 param_1,longlong param_2) + +{ + FUN_14003a1b0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df5c0.c b/decomp/Agent_Release_x64/full/functions/0x1400df5c0.c new file mode 100644 index 00000000..1a762e85 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df5c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df5c0 Unwind@1400df5c0 + * Pseudocode, not original source. */ + +void Unwind_1400df5c0(undefined8 param_1,longlong param_2) + +{ + FUN_14002a580((undefined8 *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df5d0.c b/decomp/Agent_Release_x64/full/functions/0x1400df5d0.c new file mode 100644 index 00000000..e46dc78e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df5d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df5d0 Unwind@1400df5d0 + * Pseudocode, not original source. */ + +void Unwind_1400df5d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df5e0.c b/decomp/Agent_Release_x64/full/functions/0x1400df5e0.c new file mode 100644 index 00000000..632dc631 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df5e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df5e0 Unwind@1400df5e0 + * Pseudocode, not original source. */ + +void Unwind_1400df5e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df5f0.c b/decomp/Agent_Release_x64/full/functions/0x1400df5f0.c new file mode 100644 index 00000000..1a378ee6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df5f0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df5f0 Unwind@1400df5f0 + * Pseudocode, not original source. */ + +void Unwind_1400df5f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((*(uint *)(param_2 + 0x70) & 1) != 0) { + *(uint *)(param_2 + 0x70) = *(uint *)(param_2 + 0x70) & 0xfffffffe; + thunk_FUN_140003240(*(longlong **)(param_2 + 0x68),param_2,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df620.c b/decomp/Agent_Release_x64/full/functions/0x1400df620.c new file mode 100644 index 00000000..c0e75269 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df620.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df620 Unwind@1400df620 + * Pseudocode, not original source. */ + +void Unwind_1400df620(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df630.c b/decomp/Agent_Release_x64/full/functions/0x1400df630.c new file mode 100644 index 00000000..26c1f342 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df630.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df630 Unwind@1400df630 + * Pseudocode, not original source. */ + +void Unwind_1400df630(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df640.c b/decomp/Agent_Release_x64/full/functions/0x1400df640.c new file mode 100644 index 00000000..4ca8060b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df640.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df640 Unwind@1400df640 + * Pseudocode, not original source. */ + +void Unwind_1400df640(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140039bf0((undefined8 *)&DAT_14015c310,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df650.c b/decomp/Agent_Release_x64/full/functions/0x1400df650.c new file mode 100644 index 00000000..5940471f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df650.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df650 Unwind@1400df650 + * Pseudocode, not original source. */ + +void Unwind_1400df650(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x50) + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df660.c b/decomp/Agent_Release_x64/full/functions/0x1400df660.c new file mode 100644 index 00000000..675a42ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df660.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df660 Unwind@1400df660 + * Pseudocode, not original source. */ + +void Unwind_1400df660(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df670.c b/decomp/Agent_Release_x64/full/functions/0x1400df670.c new file mode 100644 index 00000000..b9c47428 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df670.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df670 Unwind@1400df670 + * Pseudocode, not original source. */ + +void Unwind_1400df670(void) + +{ + DAT_14015cd70 = DAT_14015cd70 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df690.c b/decomp/Agent_Release_x64/full/functions/0x1400df690.c new file mode 100644 index 00000000..4404435b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df690.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df690 Unwind@1400df690 + * Pseudocode, not original source. */ + +void Unwind_1400df690(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df6a0.c b/decomp/Agent_Release_x64/full/functions/0x1400df6a0.c new file mode 100644 index 00000000..573308f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df6a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df6a0 Unwind@1400df6a0 + * Pseudocode, not original source. */ + +void Unwind_1400df6a0(undefined8 param_1,longlong param_2) + +{ + FUN_1400331b0(*(undefined8 **)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df6b0.c b/decomp/Agent_Release_x64/full/functions/0x1400df6b0.c new file mode 100644 index 00000000..7730a937 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df6b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df6b0 Unwind@1400df6b0 + * Pseudocode, not original source. */ + +void Unwind_1400df6b0(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df6c0.c b/decomp/Agent_Release_x64/full/functions/0x1400df6c0.c new file mode 100644 index 00000000..b7295d9a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df6c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df6c0 Unwind@1400df6c0 + * Pseudocode, not original source. */ + +void Unwind_1400df6c0(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df6d0.c b/decomp/Agent_Release_x64/full/functions/0x1400df6d0.c new file mode 100644 index 00000000..6d841808 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df6d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df6d0 Unwind@1400df6d0 + * Pseudocode, not original source. */ + +void Unwind_1400df6d0(undefined8 param_1,longlong param_2) + +{ + FUN_1400331b0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df6e0.c b/decomp/Agent_Release_x64/full/functions/0x1400df6e0.c new file mode 100644 index 00000000..e259430e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df6e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df6e0 Unwind@1400df6e0 + * Pseudocode, not original source. */ + +void Unwind_1400df6e0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df6f0.c b/decomp/Agent_Release_x64/full/functions/0x1400df6f0.c new file mode 100644 index 00000000..351e6539 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df6f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df6f0 Unwind@1400df6f0 + * Pseudocode, not original source. */ + +void Unwind_1400df6f0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df700.c b/decomp/Agent_Release_x64/full/functions/0x1400df700.c new file mode 100644 index 00000000..80ec1907 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df700.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df700 Unwind@1400df700 + * Pseudocode, not original source. */ + +void Unwind_1400df700(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df710.c b/decomp/Agent_Release_x64/full/functions/0x1400df710.c new file mode 100644 index 00000000..c10ce438 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df710.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df710 Unwind@1400df710 + * Pseudocode, not original source. */ + +void Unwind_1400df710(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df720.c b/decomp/Agent_Release_x64/full/functions/0x1400df720.c new file mode 100644 index 00000000..63ed0741 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df720.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df720 Unwind@1400df720 + * Pseudocode, not original source. */ + +void Unwind_1400df720(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df730.c b/decomp/Agent_Release_x64/full/functions/0x1400df730.c new file mode 100644 index 00000000..ef4cb4f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df730.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df730 Unwind@1400df730 + * Pseudocode, not original source. */ + +void Unwind_1400df730(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df740.c b/decomp/Agent_Release_x64/full/functions/0x1400df740.c new file mode 100644 index 00000000..46d9b2cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df740.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df740 Unwind@1400df740 + * Pseudocode, not original source. */ + +void Unwind_1400df740(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df750.c b/decomp/Agent_Release_x64/full/functions/0x1400df750.c new file mode 100644 index 00000000..2051a1ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df750.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df750 Unwind@1400df750 + * Pseudocode, not original source. */ + +void Unwind_1400df750(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140038690((longlong *)(*(longlong *)(param_2 + 0x80) + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df760.c b/decomp/Agent_Release_x64/full/functions/0x1400df760.c new file mode 100644 index 00000000..8f0c8072 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df760.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df760 Unwind@1400df760 + * Pseudocode, not original source. */ + +void Unwind_1400df760(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x80) + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df770.c b/decomp/Agent_Release_x64/full/functions/0x1400df770.c new file mode 100644 index 00000000..01a28924 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df770.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df770 Unwind@1400df770 + * Pseudocode, not original source. */ + +void Unwind_1400df770(undefined8 param_1,longlong param_2) + +{ + FUN_1400395f0((longlong *)(*(longlong *)(param_2 + 0x80) + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df790.c b/decomp/Agent_Release_x64/full/functions/0x1400df790.c new file mode 100644 index 00000000..edbf726d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df790.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df790 Unwind@1400df790 + * Pseudocode, not original source. */ + +void Unwind_1400df790(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140038690((longlong *)(*(longlong *)(param_2 + 0x40) + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df7a0.c b/decomp/Agent_Release_x64/full/functions/0x1400df7a0.c new file mode 100644 index 00000000..7259c107 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df7a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df7a0 Unwind@1400df7a0 + * Pseudocode, not original source. */ + +void Unwind_1400df7a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x40) + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df7b0.c b/decomp/Agent_Release_x64/full/functions/0x1400df7b0.c new file mode 100644 index 00000000..6d9d07e6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df7b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df7b0 Unwind@1400df7b0 + * Pseudocode, not original source. */ + +void Unwind_1400df7b0(undefined8 param_1,longlong param_2) + +{ + FUN_1400395f0((longlong *)(*(longlong *)(param_2 + 0x40) + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df7d0.c b/decomp/Agent_Release_x64/full/functions/0x1400df7d0.c new file mode 100644 index 00000000..374586ca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df7d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df7d0 Unwind@1400df7d0 + * Pseudocode, not original source. */ + +void Unwind_1400df7d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df7e0.c b/decomp/Agent_Release_x64/full/functions/0x1400df7e0.c new file mode 100644 index 00000000..00ae0dc0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df7e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df7e0 Unwind@1400df7e0 + * Pseudocode, not original source. */ + +void Unwind_1400df7e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df7f0.c b/decomp/Agent_Release_x64/full/functions/0x1400df7f0.c new file mode 100644 index 00000000..cb6d0067 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df7f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df7f0 Unwind@1400df7f0 + * Pseudocode, not original source. */ + +void Unwind_1400df7f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df800.c b/decomp/Agent_Release_x64/full/functions/0x1400df800.c new file mode 100644 index 00000000..df7d1281 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df800.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df800 Unwind@1400df800 + * Pseudocode, not original source. */ + +void Unwind_1400df800(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df810.c b/decomp/Agent_Release_x64/full/functions/0x1400df810.c new file mode 100644 index 00000000..ea7287f6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df810.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df810 Unwind@1400df810 + * Pseudocode, not original source. */ + +void Unwind_1400df810(void) + +{ + DAT_14015d798 = DAT_14015d798 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df830.c b/decomp/Agent_Release_x64/full/functions/0x1400df830.c new file mode 100644 index 00000000..89b82721 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df830.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df830 Catch_All@1400df830 + * Pseudocode, not original source. */ + +undefined8 Catch_All_1400df830(void) + +{ + return 0x14003a965; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df84b.c b/decomp/Agent_Release_x64/full/functions/0x1400df84b.c new file mode 100644 index 00000000..ac36ae33 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df84b.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df84b FUN_1400df84b + * Pseudocode, not original source. */ + +void FUN_1400df84b(void) + +{ + _unlock(8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df866.c b/decomp/Agent_Release_x64/full/functions/0x1400df866.c new file mode 100644 index 00000000..e4866362 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df866.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df866 FUN_1400df866 + * Pseudocode, not original source. */ + +void FUN_1400df866(_EXCEPTION_POINTERS *param_1) + +{ + _XcptFilter(param_1->ExceptionRecord->ExceptionCode,param_1); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df884.c b/decomp/Agent_Release_x64/full/functions/0x1400df884.c new file mode 100644 index 00000000..4148b3d3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df884.c @@ -0,0 +1,26 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df884 `void___cdecl___ArrayUnwind(void*___ptr64,unsigned___int64,int,void_(__cdecl*)(void*___ptr64))'::__l1::filt$0 + * Pseudocode, not original source. */ + +/* Library Function - Single Match + int `void __cdecl __ArrayUnwind(void * __ptr64,unsigned __int64,int,void (__cdecl*)(void * + __ptr64))'::`1'::filt$0 + + Library: Visual Studio 2005 Release */ + +undefined4 +`void___cdecl___ArrayUnwind(void*___ptr64,unsigned___int64,int,void_(__cdecl*)(void*___ptr64))':: +__l1::filt_0(undefined8 param_1,longlong param_2) + +{ + *(undefined8 *)(param_2 + 0x38) = param_1; + *(undefined8 *)(param_2 + 0x28) = param_1; + *(undefined8 *)(param_2 + 0x30) = **(undefined8 **)(param_2 + 0x28); + if (**(int **)(param_2 + 0x30) != -0x1f928c9d) { + *(undefined4 *)(param_2 + 0x20) = 0; + return *(undefined4 *)(param_2 + 0x20); + } + /* WARNING: Subroutine does not return */ + terminate(); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df8c5.c b/decomp/Agent_Release_x64/full/functions/0x1400df8c5.c new file mode 100644 index 00000000..521768e9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df8c5.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df8c5 `void___cdecl_`eh_vector_destructor_iterator'(void*___ptr64,unsigned___int64,int,void_(__cdecl*)(void*___ptr64))'::__l1::fin$0 + * Pseudocode, not original source. */ + +/* Library Function - Single Match + int `void __cdecl `eh vector destructor iterator'(void * __ptr64,unsigned __int64,int,void + (__cdecl*)(void * __ptr64))'::`1'::fin$0 + + Library: Visual Studio 2005 Release */ + +void `void___cdecl_`eh_vector_destructor_iterator'(void*___ptr64,unsigned___int64,int,void_(__cdecl*)(void*___ptr64))' + ::__l1::fin_0(undefined8 param_1,longlong param_2) + +{ + if (*(int *)(param_2 + 0x20) == 0) { + __ArrayUnwind(*(void **)(param_2 + 0x60),*(__uint64 *)(param_2 + 0x68),*(int *)(param_2 + 0x70), + *(_func_void_void_ptr **)(param_2 + 0x78)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df900.c b/decomp/Agent_Release_x64/full/functions/0x1400df900.c new file mode 100644 index 00000000..1b61f3dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df900.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df900 FUN_1400df900 + * Pseudocode, not original source. */ + +bool FUN_1400df900(undefined8 *param_1) + +{ + return *(int *)*param_1 == -0x3ffffffb; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df930.c b/decomp/Agent_Release_x64/full/functions/0x1400df930.c new file mode 100644 index 00000000..4f10a1e0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df930.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df930 Unwind@1400df930 + * Pseudocode, not original source. */ + +void Unwind_1400df930(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df940.c b/decomp/Agent_Release_x64/full/functions/0x1400df940.c new file mode 100644 index 00000000..c7eb7c1b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df940.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df940 Unwind@1400df940 + * Pseudocode, not original source. */ + +void Unwind_1400df940(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(*(longlong *)(param_2 + 0x40) + 8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df950.c b/decomp/Agent_Release_x64/full/functions/0x1400df950.c new file mode 100644 index 00000000..cef2ff08 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df950.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df950 Unwind@1400df950 + * Pseudocode, not original source. */ + +void Unwind_1400df950(undefined8 param_1,longlong param_2) + +{ + FUN_14002b6f0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x18)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df960.c b/decomp/Agent_Release_x64/full/functions/0x1400df960.c new file mode 100644 index 00000000..bd5d528f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df960.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df960 Unwind@1400df960 + * Pseudocode, not original source. */ + +void Unwind_1400df960(undefined8 param_1,longlong param_2) + +{ + FUN_14002b6f0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df980.c b/decomp/Agent_Release_x64/full/functions/0x1400df980.c new file mode 100644 index 00000000..57108276 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df980.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df980 Unwind@1400df980 + * Pseudocode, not original source. */ + +void Unwind_1400df980(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df990.c b/decomp/Agent_Release_x64/full/functions/0x1400df990.c new file mode 100644 index 00000000..e1c2b26d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df990.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df990 Unwind@1400df990 + * Pseudocode, not original source. */ + +void Unwind_1400df990(void) + +{ + DAT_14015df98 = DAT_14015df98 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df9b0.c b/decomp/Agent_Release_x64/full/functions/0x1400df9b0.c new file mode 100644 index 00000000..8d8fe397 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df9b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df9b0 Unwind@1400df9b0 + * Pseudocode, not original source. */ + +void Unwind_1400df9b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(*(longlong *)(param_2 + 0x40) + 0x10),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df9c0.c b/decomp/Agent_Release_x64/full/functions/0x1400df9c0.c new file mode 100644 index 00000000..ac07202a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df9c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df9c0 Unwind@1400df9c0 + * Pseudocode, not original source. */ + +void Unwind_1400df9c0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df9d0.c b/decomp/Agent_Release_x64/full/functions/0x1400df9d0.c new file mode 100644 index 00000000..fb2c21d7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df9d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df9d0 Unwind@1400df9d0 + * Pseudocode, not original source. */ + +void Unwind_1400df9d0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400df9f0.c b/decomp/Agent_Release_x64/full/functions/0x1400df9f0.c new file mode 100644 index 00000000..8a0f06d5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400df9f0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400df9f0 Unwind@1400df9f0 + * Pseudocode, not original source. */ + +void Unwind_1400df9f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((*(uint *)(param_2 + 0x58) & 1) != 0) { + *(uint *)(param_2 + 0x58) = *(uint *)(param_2 + 0x58) & 0xfffffffe; + FUN_14002b570(*(longlong **)(param_2 + 0x50),param_2,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfa20.c b/decomp/Agent_Release_x64/full/functions/0x1400dfa20.c new file mode 100644 index 00000000..f8cc26d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfa20.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfa20 Unwind@1400dfa20 + * Pseudocode, not original source. */ + +void Unwind_1400dfa20(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((*(uint *)(param_2 + 0x100) & 1) != 0) { + *(uint *)(param_2 + 0x100) = *(uint *)(param_2 + 0x100) & 0xfffffffe; + thunk_FUN_140003240(*(longlong **)(param_2 + 0x108),param_2,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfa50.c b/decomp/Agent_Release_x64/full/functions/0x1400dfa50.c new file mode 100644 index 00000000..6b8ab59e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfa50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfa50 Unwind@1400dfa50 + * Pseudocode, not original source. */ + +void Unwind_1400dfa50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x110),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfa60.c b/decomp/Agent_Release_x64/full/functions/0x1400dfa60.c new file mode 100644 index 00000000..e93b273b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfa60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfa60 Unwind@1400dfa60 + * Pseudocode, not original source. */ + +void Unwind_1400dfa60(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfa70.c b/decomp/Agent_Release_x64/full/functions/0x1400dfa70.c new file mode 100644 index 00000000..3e0dd5a3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfa70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfa70 Unwind@1400dfa70 + * Pseudocode, not original source. */ + +void Unwind_1400dfa70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x118),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfa80.c b/decomp/Agent_Release_x64/full/functions/0x1400dfa80.c new file mode 100644 index 00000000..942d88e8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfa80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfa80 Unwind@1400dfa80 + * Pseudocode, not original source. */ + +void Unwind_1400dfa80(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfa90.c b/decomp/Agent_Release_x64/full/functions/0x1400dfa90.c new file mode 100644 index 00000000..0800ce5e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfa90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfa90 Unwind@1400dfa90 + * Pseudocode, not original source. */ + +void Unwind_1400dfa90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfaa0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfaa0.c new file mode 100644 index 00000000..2d1a5bce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfaa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfaa0 Unwind@1400dfaa0 + * Pseudocode, not original source. */ + +void Unwind_1400dfaa0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfab0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfab0.c new file mode 100644 index 00000000..768035ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfab0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfab0 Unwind@1400dfab0 + * Pseudocode, not original source. */ + +void Unwind_1400dfab0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfac0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfac0.c new file mode 100644 index 00000000..ffe65ab9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfac0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfac0 Unwind@1400dfac0 + * Pseudocode, not original source. */ + +void Unwind_1400dfac0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfad0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfad0.c new file mode 100644 index 00000000..d5e13f83 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfad0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfad0 Unwind@1400dfad0 + * Pseudocode, not original source. */ + +void Unwind_1400dfad0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfae0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfae0.c new file mode 100644 index 00000000..cdd68ca7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfae0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfae0 Unwind@1400dfae0 + * Pseudocode, not original source. */ + +void Unwind_1400dfae0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfaf0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfaf0.c new file mode 100644 index 00000000..439e051d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfaf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfaf0 Unwind@1400dfaf0 + * Pseudocode, not original source. */ + +void Unwind_1400dfaf0(undefined8 param_1,longlong param_2) + +{ + FUN_14000b470((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfb00.c b/decomp/Agent_Release_x64/full/functions/0x1400dfb00.c new file mode 100644 index 00000000..36d689a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfb00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfb00 Unwind@1400dfb00 + * Pseudocode, not original source. */ + +void Unwind_1400dfb00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfb10.c b/decomp/Agent_Release_x64/full/functions/0x1400dfb10.c new file mode 100644 index 00000000..87f272a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfb10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfb10 Unwind@1400dfb10 + * Pseudocode, not original source. */ + +void Unwind_1400dfb10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfb20.c b/decomp/Agent_Release_x64/full/functions/0x1400dfb20.c new file mode 100644 index 00000000..056b424a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfb20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfb20 Unwind@1400dfb20 + * Pseudocode, not original source. */ + +void Unwind_1400dfb20(undefined8 param_1,longlong param_2) + +{ + FUN_14000b470((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfb30.c b/decomp/Agent_Release_x64/full/functions/0x1400dfb30.c new file mode 100644 index 00000000..c3190616 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfb30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfb30 Unwind@1400dfb30 + * Pseudocode, not original source. */ + +void Unwind_1400dfb30(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140085320((undefined8 *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfb40.c b/decomp/Agent_Release_x64/full/functions/0x1400dfb40.c new file mode 100644 index 00000000..39aec40e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfb40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfb40 Unwind@1400dfb40 + * Pseudocode, not original source. */ + +void Unwind_1400dfb40(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfb50.c b/decomp/Agent_Release_x64/full/functions/0x1400dfb50.c new file mode 100644 index 00000000..74352ce9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfb50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfb50 Unwind@1400dfb50 + * Pseudocode, not original source. */ + +void Unwind_1400dfb50(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(*(longlong *)(param_2 + 0x80) + 0xc80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfb70.c b/decomp/Agent_Release_x64/full/functions/0x1400dfb70.c new file mode 100644 index 00000000..b57fb9a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfb70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfb70 Unwind@1400dfb70 + * Pseudocode, not original source. */ + +void Unwind_1400dfb70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfb80.c b/decomp/Agent_Release_x64/full/functions/0x1400dfb80.c new file mode 100644 index 00000000..ce4bb419 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfb80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfb80 Unwind@1400dfb80 + * Pseudocode, not original source. */ + +void Unwind_1400dfb80(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfba0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfba0.c new file mode 100644 index 00000000..e80c7a18 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfba0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfba0 Unwind@1400dfba0 + * Pseudocode, not original source. */ + +void Unwind_1400dfba0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfbc0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfbc0.c new file mode 100644 index 00000000..1ff9d695 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfbc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfbc0 Unwind@1400dfbc0 + * Pseudocode, not original source. */ + +void Unwind_1400dfbc0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0(*(undefined4 **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfbd0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfbd0.c new file mode 100644 index 00000000..a8e6e9eb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfbd0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfbd0 Catch_All@1400dfbd0 + * Pseudocode, not original source. */ + +undefined8 Catch_All_1400dfbd0(void) + +{ + return 0x140041503; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfbf0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfbf0.c new file mode 100644 index 00000000..41337596 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfbf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfbf0 Unwind@1400dfbf0 + * Pseudocode, not original source. */ + +void Unwind_1400dfbf0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(*(longlong *)(param_2 + 0xd0) + 0xc80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfc10.c b/decomp/Agent_Release_x64/full/functions/0x1400dfc10.c new file mode 100644 index 00000000..82ea8ae8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfc10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfc10 Unwind@1400dfc10 + * Pseudocode, not original source. */ + +void Unwind_1400dfc10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfc20.c b/decomp/Agent_Release_x64/full/functions/0x1400dfc20.c new file mode 100644 index 00000000..62ad8242 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfc20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfc20 Unwind@1400dfc20 + * Pseudocode, not original source. */ + +void Unwind_1400dfc20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfc30.c b/decomp/Agent_Release_x64/full/functions/0x1400dfc30.c new file mode 100644 index 00000000..8ba5bea4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfc30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfc30 Unwind@1400dfc30 + * Pseudocode, not original source. */ + +void Unwind_1400dfc30(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfc40.c b/decomp/Agent_Release_x64/full/functions/0x1400dfc40.c new file mode 100644 index 00000000..60dada2b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfc40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfc40 Unwind@1400dfc40 + * Pseudocode, not original source. */ + +void Unwind_1400dfc40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfc50.c b/decomp/Agent_Release_x64/full/functions/0x1400dfc50.c new file mode 100644 index 00000000..64a6a362 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfc50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfc50 Unwind@1400dfc50 + * Pseudocode, not original source. */ + +void Unwind_1400dfc50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfc60.c b/decomp/Agent_Release_x64/full/functions/0x1400dfc60.c new file mode 100644 index 00000000..b8a60fce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfc60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfc60 Unwind@1400dfc60 + * Pseudocode, not original source. */ + +void Unwind_1400dfc60(undefined8 param_1,LPVOID param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_14002b320((longlong *)((longlong)param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfc70.c b/decomp/Agent_Release_x64/full/functions/0x1400dfc70.c new file mode 100644 index 00000000..1de40e04 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfc70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfc70 Unwind@1400dfc70 + * Pseudocode, not original source. */ + +void Unwind_1400dfc70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfc80.c b/decomp/Agent_Release_x64/full/functions/0x1400dfc80.c new file mode 100644 index 00000000..3084b801 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfc80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfc80 Unwind@1400dfc80 + * Pseudocode, not original source. */ + +void Unwind_1400dfc80(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfc90.c b/decomp/Agent_Release_x64/full/functions/0x1400dfc90.c new file mode 100644 index 00000000..e903bfdd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfc90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfc90 Unwind@1400dfc90 + * Pseudocode, not original source. */ + +void Unwind_1400dfc90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfca0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfca0.c new file mode 100644 index 00000000..e46fe61f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfca0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfca0 Unwind@1400dfca0 + * Pseudocode, not original source. */ + +void Unwind_1400dfca0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x68),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfcb0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfcb0.c new file mode 100644 index 00000000..78136c9b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfcb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfcb0 Unwind@1400dfcb0 + * Pseudocode, not original source. */ + +void Unwind_1400dfcb0(undefined8 param_1,longlong param_2) + +{ + FUN_14002b6f0((undefined8 *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfcc0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfcc0.c new file mode 100644 index 00000000..bab976af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfcc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfcc0 Unwind@1400dfcc0 + * Pseudocode, not original source. */ + +void Unwind_1400dfcc0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfcd0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfcd0.c new file mode 100644 index 00000000..dfd92475 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfcd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfcd0 Unwind@1400dfcd0 + * Pseudocode, not original source. */ + +void Unwind_1400dfcd0(undefined8 param_1,longlong param_2) + +{ + FUN_140006bf0((undefined8 *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfce0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfce0.c new file mode 100644 index 00000000..76f4e4b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfce0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfce0 Catch_All@1400dfce0 + * Pseudocode, not original source. */ + +undefined8 Catch_All_1400dfce0(void) + +{ + return 0x140043b53; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfd00.c b/decomp/Agent_Release_x64/full/functions/0x1400dfd00.c new file mode 100644 index 00000000..dc40afe0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfd00.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfd00 Catch_All@1400dfd00 + * Pseudocode, not original source. */ + +undefined8 Catch_All_1400dfd00(void) + +{ + return 0x140043cb3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfd20.c b/decomp/Agent_Release_x64/full/functions/0x1400dfd20.c new file mode 100644 index 00000000..4e3e0358 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfd20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfd20 Unwind@1400dfd20 + * Pseudocode, not original source. */ + +void Unwind_1400dfd20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfd30.c b/decomp/Agent_Release_x64/full/functions/0x1400dfd30.c new file mode 100644 index 00000000..212009d7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfd30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfd30 Unwind@1400dfd30 + * Pseudocode, not original source. */ + +void Unwind_1400dfd30(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfd40.c b/decomp/Agent_Release_x64/full/functions/0x1400dfd40.c new file mode 100644 index 00000000..85f4cfe5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfd40.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfd40 Unwind@1400dfd40 + * Pseudocode, not original source. */ + +void Unwind_1400dfd40(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((*(uint *)(param_2 + 0x58) & 1) != 0) { + *(uint *)(param_2 + 0x58) = *(uint *)(param_2 + 0x58) & 0xfffffffe; + thunk_FUN_140003240(*(longlong **)(param_2 + 0x40),param_2,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfd70.c b/decomp/Agent_Release_x64/full/functions/0x1400dfd70.c new file mode 100644 index 00000000..4b80d380 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfd70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfd70 Unwind@1400dfd70 + * Pseudocode, not original source. */ + +void Unwind_1400dfd70(undefined8 param_1,longlong param_2) + +{ + FUN_1400414f0((char *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfd80.c b/decomp/Agent_Release_x64/full/functions/0x1400dfd80.c new file mode 100644 index 00000000..f3ba9ea2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfd80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfd80 Unwind@1400dfd80 + * Pseudocode, not original source. */ + +void Unwind_1400dfd80(undefined8 param_1,longlong param_2) + +{ + FUN_14003dff0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfd90.c b/decomp/Agent_Release_x64/full/functions/0x1400dfd90.c new file mode 100644 index 00000000..46beb1a9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfd90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfd90 Unwind@1400dfd90 + * Pseudocode, not original source. */ + +void Unwind_1400dfd90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfda0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfda0.c new file mode 100644 index 00000000..31724a74 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfda0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfda0 Unwind@1400dfda0 + * Pseudocode, not original source. */ + +void Unwind_1400dfda0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x260),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfdb0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfdb0.c new file mode 100644 index 00000000..a669b2c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfdb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfdb0 Unwind@1400dfdb0 + * Pseudocode, not original source. */ + +void Unwind_1400dfdb0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfdc0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfdc0.c new file mode 100644 index 00000000..de3f3b4c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfdc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfdc0 Unwind@1400dfdc0 + * Pseudocode, not original source. */ + +void Unwind_1400dfdc0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xd8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfdd0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfdd0.c new file mode 100644 index 00000000..c9a66ca6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfdd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfdd0 Unwind@1400dfdd0 + * Pseudocode, not original source. */ + +void Unwind_1400dfdd0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfde0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfde0.c new file mode 100644 index 00000000..2651c60a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfde0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfde0 Unwind@1400dfde0 + * Pseudocode, not original source. */ + +void Unwind_1400dfde0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfdf0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfdf0.c new file mode 100644 index 00000000..8cc9a9a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfdf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfdf0 Unwind@1400dfdf0 + * Pseudocode, not original source. */ + +void Unwind_1400dfdf0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfe00.c b/decomp/Agent_Release_x64/full/functions/0x1400dfe00.c new file mode 100644 index 00000000..79760003 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfe00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfe00 Unwind@1400dfe00 + * Pseudocode, not original source. */ + +void Unwind_1400dfe00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfe10.c b/decomp/Agent_Release_x64/full/functions/0x1400dfe10.c new file mode 100644 index 00000000..c1884a60 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfe10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfe10 Unwind@1400dfe10 + * Pseudocode, not original source. */ + +void Unwind_1400dfe10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfe20.c b/decomp/Agent_Release_x64/full/functions/0x1400dfe20.c new file mode 100644 index 00000000..fa310721 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfe20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfe20 Unwind@1400dfe20 + * Pseudocode, not original source. */ + +void Unwind_1400dfe20(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x268),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfe30.c b/decomp/Agent_Release_x64/full/functions/0x1400dfe30.c new file mode 100644 index 00000000..86e02222 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfe30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfe30 Unwind@1400dfe30 + * Pseudocode, not original source. */ + +void Unwind_1400dfe30(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfe40.c b/decomp/Agent_Release_x64/full/functions/0x1400dfe40.c new file mode 100644 index 00000000..e10b6699 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfe40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfe40 Unwind@1400dfe40 + * Pseudocode, not original source. */ + +void Unwind_1400dfe40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xd8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfe50.c b/decomp/Agent_Release_x64/full/functions/0x1400dfe50.c new file mode 100644 index 00000000..6fed1651 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfe50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfe50 Unwind@1400dfe50 + * Pseudocode, not original source. */ + +void Unwind_1400dfe50(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfe60.c b/decomp/Agent_Release_x64/full/functions/0x1400dfe60.c new file mode 100644 index 00000000..79e8aaee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfe60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfe60 Unwind@1400dfe60 + * Pseudocode, not original source. */ + +void Unwind_1400dfe60(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfe70.c b/decomp/Agent_Release_x64/full/functions/0x1400dfe70.c new file mode 100644 index 00000000..19c5633b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfe70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfe70 Unwind@1400dfe70 + * Pseudocode, not original source. */ + +void Unwind_1400dfe70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfe80.c b/decomp/Agent_Release_x64/full/functions/0x1400dfe80.c new file mode 100644 index 00000000..7f3b1535 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfe80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfe80 Unwind@1400dfe80 + * Pseudocode, not original source. */ + +void Unwind_1400dfe80(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfe90.c b/decomp/Agent_Release_x64/full/functions/0x1400dfe90.c new file mode 100644 index 00000000..5248e1ef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfe90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfe90 Unwind@1400dfe90 + * Pseudocode, not original source. */ + +void Unwind_1400dfe90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3b8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfea0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfea0.c new file mode 100644 index 00000000..a9d5cfe8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfea0 Unwind@1400dfea0 + * Pseudocode, not original source. */ + +void Unwind_1400dfea0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 600),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfeb0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfeb0.c new file mode 100644 index 00000000..70014095 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfeb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfeb0 Unwind@1400dfeb0 + * Pseudocode, not original source. */ + +void Unwind_1400dfeb0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfec0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfec0.c new file mode 100644 index 00000000..efa7990b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfec0 Unwind@1400dfec0 + * Pseudocode, not original source. */ + +void Unwind_1400dfec0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xd8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfed0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfed0.c new file mode 100644 index 00000000..c8e2025a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfed0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfed0 Unwind@1400dfed0 + * Pseudocode, not original source. */ + +void Unwind_1400dfed0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfee0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfee0.c new file mode 100644 index 00000000..1ce7400e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfee0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfee0 Unwind@1400dfee0 + * Pseudocode, not original source. */ + +void Unwind_1400dfee0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfef0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfef0.c new file mode 100644 index 00000000..85d7c635 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfef0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfef0 Unwind@1400dfef0 + * Pseudocode, not original source. */ + +void Unwind_1400dfef0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x3c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dff00.c b/decomp/Agent_Release_x64/full/functions/0x1400dff00.c new file mode 100644 index 00000000..ee5f0652 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dff00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dff00 Unwind@1400dff00 + * Pseudocode, not original source. */ + +void Unwind_1400dff00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dff10.c b/decomp/Agent_Release_x64/full/functions/0x1400dff10.c new file mode 100644 index 00000000..858bceb6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dff10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dff10 Unwind@1400dff10 + * Pseudocode, not original source. */ + +void Unwind_1400dff10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dff20.c b/decomp/Agent_Release_x64/full/functions/0x1400dff20.c new file mode 100644 index 00000000..d124ad76 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dff20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dff20 Unwind@1400dff20 + * Pseudocode, not original source. */ + +void Unwind_1400dff20(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x270),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dff30.c b/decomp/Agent_Release_x64/full/functions/0x1400dff30.c new file mode 100644 index 00000000..1d7a96df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dff30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dff30 Unwind@1400dff30 + * Pseudocode, not original source. */ + +void Unwind_1400dff30(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dff40.c b/decomp/Agent_Release_x64/full/functions/0x1400dff40.c new file mode 100644 index 00000000..ba9f73c8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dff40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dff40 Unwind@1400dff40 + * Pseudocode, not original source. */ + +void Unwind_1400dff40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xd8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dff50.c b/decomp/Agent_Release_x64/full/functions/0x1400dff50.c new file mode 100644 index 00000000..9854c741 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dff50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dff50 Unwind@1400dff50 + * Pseudocode, not original source. */ + +void Unwind_1400dff50(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dff60.c b/decomp/Agent_Release_x64/full/functions/0x1400dff60.c new file mode 100644 index 00000000..ea297dc0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dff60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dff60 Unwind@1400dff60 + * Pseudocode, not original source. */ + +void Unwind_1400dff60(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dff70.c b/decomp/Agent_Release_x64/full/functions/0x1400dff70.c new file mode 100644 index 00000000..2ea3037c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dff70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dff70 Unwind@1400dff70 + * Pseudocode, not original source. */ + +void Unwind_1400dff70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dff80.c b/decomp/Agent_Release_x64/full/functions/0x1400dff80.c new file mode 100644 index 00000000..8f6b06d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dff80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dff80 Unwind@1400dff80 + * Pseudocode, not original source. */ + +void Unwind_1400dff80(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dff90.c b/decomp/Agent_Release_x64/full/functions/0x1400dff90.c new file mode 100644 index 00000000..18f53ff1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dff90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dff90 Unwind@1400dff90 + * Pseudocode, not original source. */ + +void Unwind_1400dff90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3b8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dffa0.c b/decomp/Agent_Release_x64/full/functions/0x1400dffa0.c new file mode 100644 index 00000000..a6fb095d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dffa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dffa0 Unwind@1400dffa0 + * Pseudocode, not original source. */ + +void Unwind_1400dffa0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dffb0.c b/decomp/Agent_Release_x64/full/functions/0x1400dffb0.c new file mode 100644 index 00000000..a8076d98 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dffb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dffb0 Unwind@1400dffb0 + * Pseudocode, not original source. */ + +void Unwind_1400dffb0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dffc0.c b/decomp/Agent_Release_x64/full/functions/0x1400dffc0.c new file mode 100644 index 00000000..58dd0d31 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dffc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dffc0 Unwind@1400dffc0 + * Pseudocode, not original source. */ + +void Unwind_1400dffc0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dffd0.c b/decomp/Agent_Release_x64/full/functions/0x1400dffd0.c new file mode 100644 index 00000000..112b7245 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dffd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dffd0 Unwind@1400dffd0 + * Pseudocode, not original source. */ + +void Unwind_1400dffd0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dffe0.c b/decomp/Agent_Release_x64/full/functions/0x1400dffe0.c new file mode 100644 index 00000000..5e8502ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dffe0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dffe0 Unwind@1400dffe0 + * Pseudocode, not original source. */ + +void Unwind_1400dffe0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400dfff0.c b/decomp/Agent_Release_x64/full/functions/0x1400dfff0.c new file mode 100644 index 00000000..61db68ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400dfff0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400dfff0 Unwind@1400dfff0 + * Pseudocode, not original source. */ + +void Unwind_1400dfff0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0000.c b/decomp/Agent_Release_x64/full/functions/0x1400e0000.c new file mode 100644 index 00000000..8acaf837 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0000.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0000 Unwind@1400e0000 + * Pseudocode, not original source. */ + +void Unwind_1400e0000(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0010.c b/decomp/Agent_Release_x64/full/functions/0x1400e0010.c new file mode 100644 index 00000000..8b6f6a9e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0010.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0010 Unwind@1400e0010 + * Pseudocode, not original source. */ + +void Unwind_1400e0010(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0020.c b/decomp/Agent_Release_x64/full/functions/0x1400e0020.c new file mode 100644 index 00000000..158643f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0020.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0020 Unwind@1400e0020 + * Pseudocode, not original source. */ + +void Unwind_1400e0020(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x2d8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0030.c b/decomp/Agent_Release_x64/full/functions/0x1400e0030.c new file mode 100644 index 00000000..998a5365 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0030.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0030 Unwind@1400e0030 + * Pseudocode, not original source. */ + +void Unwind_1400e0030(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0040.c b/decomp/Agent_Release_x64/full/functions/0x1400e0040.c new file mode 100644 index 00000000..9b539afe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0040.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0040 Unwind@1400e0040 + * Pseudocode, not original source. */ + +void Unwind_1400e0040(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0050.c b/decomp/Agent_Release_x64/full/functions/0x1400e0050.c new file mode 100644 index 00000000..8eebb543 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0050.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0050 Unwind@1400e0050 + * Pseudocode, not original source. */ + +void Unwind_1400e0050(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3b8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0060.c b/decomp/Agent_Release_x64/full/functions/0x1400e0060.c new file mode 100644 index 00000000..066d873b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0060.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0060 Unwind@1400e0060 + * Pseudocode, not original source. */ + +void Unwind_1400e0060(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x2e8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0070.c b/decomp/Agent_Release_x64/full/functions/0x1400e0070.c new file mode 100644 index 00000000..c2597013 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0070.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0070 Unwind@1400e0070 + * Pseudocode, not original source. */ + +void Unwind_1400e0070(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x3c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0080.c b/decomp/Agent_Release_x64/full/functions/0x1400e0080.c new file mode 100644 index 00000000..6a19dd21 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0080.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0080 Unwind@1400e0080 + * Pseudocode, not original source. */ + +void Unwind_1400e0080(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3b8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0090.c b/decomp/Agent_Release_x64/full/functions/0x1400e0090.c new file mode 100644 index 00000000..d3be1f84 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0090.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0090 Unwind@1400e0090 + * Pseudocode, not original source. */ + +void Unwind_1400e0090(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x2e0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e00a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e00a0.c new file mode 100644 index 00000000..8178f5a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e00a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e00a0 Unwind@1400e00a0 + * Pseudocode, not original source. */ + +void Unwind_1400e00a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x3c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e00b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e00b0.c new file mode 100644 index 00000000..ba1dde78 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e00b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e00b0 Unwind@1400e00b0 + * Pseudocode, not original source. */ + +void Unwind_1400e00b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e00c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e00c0.c new file mode 100644 index 00000000..37fe0e2f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e00c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e00c0 Unwind@1400e00c0 + * Pseudocode, not original source. */ + +void Unwind_1400e00c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3b8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e00d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e00d0.c new file mode 100644 index 00000000..7d65dd9d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e00d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e00d0 Unwind@1400e00d0 + * Pseudocode, not original source. */ + +void Unwind_1400e00d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x298),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e00e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e00e0.c new file mode 100644 index 00000000..ef68c667 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e00e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e00e0 Unwind@1400e00e0 + * Pseudocode, not original source. */ + +void Unwind_1400e00e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e00f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e00f0.c new file mode 100644 index 00000000..2c51b1a6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e00f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e00f0 Unwind@1400e00f0 + * Pseudocode, not original source. */ + +void Unwind_1400e00f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0100.c b/decomp/Agent_Release_x64/full/functions/0x1400e0100.c new file mode 100644 index 00000000..accab6de --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0100.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0100 Unwind@1400e0100 + * Pseudocode, not original source. */ + +void Unwind_1400e0100(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0110.c b/decomp/Agent_Release_x64/full/functions/0x1400e0110.c new file mode 100644 index 00000000..ed34b5bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0110.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0110 Unwind@1400e0110 + * Pseudocode, not original source. */ + +void Unwind_1400e0110(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x2a8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0120.c b/decomp/Agent_Release_x64/full/functions/0x1400e0120.c new file mode 100644 index 00000000..ff2c5d3f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0120.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0120 Unwind@1400e0120 + * Pseudocode, not original source. */ + +void Unwind_1400e0120(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0130.c b/decomp/Agent_Release_x64/full/functions/0x1400e0130.c new file mode 100644 index 00000000..5fd6fe3d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0130.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0130 Unwind@1400e0130 + * Pseudocode, not original source. */ + +void Unwind_1400e0130(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0140.c b/decomp/Agent_Release_x64/full/functions/0x1400e0140.c new file mode 100644 index 00000000..4b74f506 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0140.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0140 Unwind@1400e0140 + * Pseudocode, not original source. */ + +void Unwind_1400e0140(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3b8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0150.c b/decomp/Agent_Release_x64/full/functions/0x1400e0150.c new file mode 100644 index 00000000..a674e8ef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0150.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0150 Unwind@1400e0150 + * Pseudocode, not original source. */ + +void Unwind_1400e0150(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x2b8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0160.c b/decomp/Agent_Release_x64/full/functions/0x1400e0160.c new file mode 100644 index 00000000..07acc380 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0160 Unwind@1400e0160 + * Pseudocode, not original source. */ + +void Unwind_1400e0160(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0170.c b/decomp/Agent_Release_x64/full/functions/0x1400e0170.c new file mode 100644 index 00000000..547942b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0170.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0170 Unwind@1400e0170 + * Pseudocode, not original source. */ + +void Unwind_1400e0170(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0180.c b/decomp/Agent_Release_x64/full/functions/0x1400e0180.c new file mode 100644 index 00000000..84759ec3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0180.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0180 Unwind@1400e0180 + * Pseudocode, not original source. */ + +void Unwind_1400e0180(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x2c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0190.c b/decomp/Agent_Release_x64/full/functions/0x1400e0190.c new file mode 100644 index 00000000..af886a95 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0190.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0190 Unwind@1400e0190 + * Pseudocode, not original source. */ + +void Unwind_1400e0190(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e01a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e01a0.c new file mode 100644 index 00000000..c8f50ff1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e01a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e01a0 Unwind@1400e01a0 + * Pseudocode, not original source. */ + +void Unwind_1400e01a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e01b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e01b0.c new file mode 100644 index 00000000..c9d1805a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e01b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e01b0 Unwind@1400e01b0 + * Pseudocode, not original source. */ + +void Unwind_1400e01b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x2d0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e01c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e01c0.c new file mode 100644 index 00000000..b58d9e71 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e01c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e01c0 Unwind@1400e01c0 + * Pseudocode, not original source. */ + +void Unwind_1400e01c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e01d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e01d0.c new file mode 100644 index 00000000..f88a4aa0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e01d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e01d0 Unwind@1400e01d0 + * Pseudocode, not original source. */ + +void Unwind_1400e01d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e01e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e01e0.c new file mode 100644 index 00000000..22d1bc96 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e01e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e01e0 Unwind@1400e01e0 + * Pseudocode, not original source. */ + +void Unwind_1400e01e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3b8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e01f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e01f0.c new file mode 100644 index 00000000..6d1d023e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e01f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e01f0 Unwind@1400e01f0 + * Pseudocode, not original source. */ + +void Unwind_1400e01f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x290),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0200.c b/decomp/Agent_Release_x64/full/functions/0x1400e0200.c new file mode 100644 index 00000000..7b894526 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0200.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0200 Unwind@1400e0200 + * Pseudocode, not original source. */ + +void Unwind_1400e0200(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0210.c b/decomp/Agent_Release_x64/full/functions/0x1400e0210.c new file mode 100644 index 00000000..326362ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0210.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0210 Unwind@1400e0210 + * Pseudocode, not original source. */ + +void Unwind_1400e0210(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3b8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0220.c b/decomp/Agent_Release_x64/full/functions/0x1400e0220.c new file mode 100644 index 00000000..604dd3e2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0220.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0220 Unwind@1400e0220 + * Pseudocode, not original source. */ + +void Unwind_1400e0220(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x2c0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0230.c b/decomp/Agent_Release_x64/full/functions/0x1400e0230.c new file mode 100644 index 00000000..be57d874 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0230.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0230 Unwind@1400e0230 + * Pseudocode, not original source. */ + +void Unwind_1400e0230(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0240.c b/decomp/Agent_Release_x64/full/functions/0x1400e0240.c new file mode 100644 index 00000000..b8cfb577 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0240.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0240 Unwind@1400e0240 + * Pseudocode, not original source. */ + +void Unwind_1400e0240(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0250.c b/decomp/Agent_Release_x64/full/functions/0x1400e0250.c new file mode 100644 index 00000000..2758c321 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0250.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0250 Unwind@1400e0250 + * Pseudocode, not original source. */ + +void Unwind_1400e0250(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x2a0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0260.c b/decomp/Agent_Release_x64/full/functions/0x1400e0260.c new file mode 100644 index 00000000..1e1626ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0260.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0260 Unwind@1400e0260 + * Pseudocode, not original source. */ + +void Unwind_1400e0260(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0270.c b/decomp/Agent_Release_x64/full/functions/0x1400e0270.c new file mode 100644 index 00000000..365e3cd5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0270.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0270 Unwind@1400e0270 + * Pseudocode, not original source. */ + +void Unwind_1400e0270(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3b8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0280.c b/decomp/Agent_Release_x64/full/functions/0x1400e0280.c new file mode 100644 index 00000000..48070717 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0280.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0280 Unwind@1400e0280 + * Pseudocode, not original source. */ + +void Unwind_1400e0280(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x278),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0290.c b/decomp/Agent_Release_x64/full/functions/0x1400e0290.c new file mode 100644 index 00000000..e6585db4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0290.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0290 Unwind@1400e0290 + * Pseudocode, not original source. */ + +void Unwind_1400e0290(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x3c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e02a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e02a0.c new file mode 100644 index 00000000..23cb96f3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e02a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e02a0 Unwind@1400e02a0 + * Pseudocode, not original source. */ + +void Unwind_1400e02a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e02b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e02b0.c new file mode 100644 index 00000000..3bee0824 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e02b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e02b0 Unwind@1400e02b0 + * Pseudocode, not original source. */ + +void Unwind_1400e02b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x2b0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e02c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e02c0.c new file mode 100644 index 00000000..485e5896 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e02c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e02c0 Unwind@1400e02c0 + * Pseudocode, not original source. */ + +void Unwind_1400e02c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e02d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e02d0.c new file mode 100644 index 00000000..7ee12968 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e02d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e02d0 Unwind@1400e02d0 + * Pseudocode, not original source. */ + +void Unwind_1400e02d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xc0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e02e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e02e0.c new file mode 100644 index 00000000..ba97c001 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e02e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e02e0 Unwind@1400e02e0 + * Pseudocode, not original source. */ + +void Unwind_1400e02e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x280),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e02f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e02f0.c new file mode 100644 index 00000000..3c78fdec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e02f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e02f0 Unwind@1400e02f0 + * Pseudocode, not original source. */ + +void Unwind_1400e02f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0300.c b/decomp/Agent_Release_x64/full/functions/0x1400e0300.c new file mode 100644 index 00000000..11f16fa1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0300.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0300 Unwind@1400e0300 + * Pseudocode, not original source. */ + +void Unwind_1400e0300(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x3c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0310.c b/decomp/Agent_Release_x64/full/functions/0x1400e0310.c new file mode 100644 index 00000000..81599d18 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0310.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0310 Unwind@1400e0310 + * Pseudocode, not original source. */ + +void Unwind_1400e0310(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x288),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0320.c b/decomp/Agent_Release_x64/full/functions/0x1400e0320.c new file mode 100644 index 00000000..85a8e3ce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0320.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0320 Unwind@1400e0320 + * Pseudocode, not original source. */ + +void Unwind_1400e0320(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0330.c b/decomp/Agent_Release_x64/full/functions/0x1400e0330.c new file mode 100644 index 00000000..5cf88a85 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0330.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0330 Unwind@1400e0330 + * Pseudocode, not original source. */ + +void Unwind_1400e0330(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0340.c b/decomp/Agent_Release_x64/full/functions/0x1400e0340.c new file mode 100644 index 00000000..01a956d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0340.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0340 Unwind@1400e0340 + * Pseudocode, not original source. */ + +void Unwind_1400e0340(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0350.c b/decomp/Agent_Release_x64/full/functions/0x1400e0350.c new file mode 100644 index 00000000..4ce95f8e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0350.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0350 Unwind@1400e0350 + * Pseudocode, not original source. */ + +void Unwind_1400e0350(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0360.c b/decomp/Agent_Release_x64/full/functions/0x1400e0360.c new file mode 100644 index 00000000..1d9ed684 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0360.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0360 Unwind@1400e0360 + * Pseudocode, not original source. */ + +void Unwind_1400e0360(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0370.c b/decomp/Agent_Release_x64/full/functions/0x1400e0370.c new file mode 100644 index 00000000..2b134615 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0370.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0370 Unwind@1400e0370 + * Pseudocode, not original source. */ + +void Unwind_1400e0370(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x160),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0380.c b/decomp/Agent_Release_x64/full/functions/0x1400e0380.c new file mode 100644 index 00000000..8b99e811 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0380.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0380 Unwind@1400e0380 + * Pseudocode, not original source. */ + +void Unwind_1400e0380(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0390.c b/decomp/Agent_Release_x64/full/functions/0x1400e0390.c new file mode 100644 index 00000000..05637fee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0390.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0390 Unwind@1400e0390 + * Pseudocode, not original source. */ + +void Unwind_1400e0390(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e03a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e03a0.c new file mode 100644 index 00000000..74b8be60 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e03a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e03a0 Unwind@1400e03a0 + * Pseudocode, not original source. */ + +void Unwind_1400e03a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xf0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e03b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e03b0.c new file mode 100644 index 00000000..3499a8a5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e03b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e03b0 Unwind@1400e03b0 + * Pseudocode, not original source. */ + +void Unwind_1400e03b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x178),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e03c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e03c0.c new file mode 100644 index 00000000..49792cf1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e03c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e03c0 Unwind@1400e03c0 + * Pseudocode, not original source. */ + +void Unwind_1400e03c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e03d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e03d0.c new file mode 100644 index 00000000..c4512b64 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e03d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e03d0 Unwind@1400e03d0 + * Pseudocode, not original source. */ + +void Unwind_1400e03d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e03e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e03e0.c new file mode 100644 index 00000000..b85a086a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e03e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e03e0 Unwind@1400e03e0 + * Pseudocode, not original source. */ + +void Unwind_1400e03e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e03f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e03f0.c new file mode 100644 index 00000000..101a87b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e03f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e03f0 Unwind@1400e03f0 + * Pseudocode, not original source. */ + +void Unwind_1400e03f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0400.c b/decomp/Agent_Release_x64/full/functions/0x1400e0400.c new file mode 100644 index 00000000..0456d0bd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0400.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0400 Unwind@1400e0400 + * Pseudocode, not original source. */ + +void Unwind_1400e0400(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x100)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0410.c b/decomp/Agent_Release_x64/full/functions/0x1400e0410.c new file mode 100644 index 00000000..4d5d0e1e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0410.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0410 Unwind@1400e0410 + * Pseudocode, not original source. */ + +void Unwind_1400e0410(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0420.c b/decomp/Agent_Release_x64/full/functions/0x1400e0420.c new file mode 100644 index 00000000..3eb1c9d8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0420.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0420 Unwind@1400e0420 + * Pseudocode, not original source. */ + +void Unwind_1400e0420(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0430.c b/decomp/Agent_Release_x64/full/functions/0x1400e0430.c new file mode 100644 index 00000000..10ca7653 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0430.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0430 Unwind@1400e0430 + * Pseudocode, not original source. */ + +void Unwind_1400e0430(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0440.c b/decomp/Agent_Release_x64/full/functions/0x1400e0440.c new file mode 100644 index 00000000..958c4f09 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0440.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0440 Unwind@1400e0440 + * Pseudocode, not original source. */ + +void Unwind_1400e0440(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0450.c b/decomp/Agent_Release_x64/full/functions/0x1400e0450.c new file mode 100644 index 00000000..3e3e37b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0450.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0450 Unwind@1400e0450 + * Pseudocode, not original source. */ + +void Unwind_1400e0450(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0470.c b/decomp/Agent_Release_x64/full/functions/0x1400e0470.c new file mode 100644 index 00000000..9fe34577 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0470.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0470 Unwind@1400e0470 + * Pseudocode, not original source. */ + +void Unwind_1400e0470(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x100,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0480.c b/decomp/Agent_Release_x64/full/functions/0x1400e0480.c new file mode 100644 index 00000000..8d3cbd1a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0480.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0480 Unwind@1400e0480 + * Pseudocode, not original source. */ + +void Unwind_1400e0480(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e04a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e04a0.c new file mode 100644 index 00000000..66b5b574 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e04a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e04a0 Unwind@1400e04a0 + * Pseudocode, not original source. */ + +void Unwind_1400e04a0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x58) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e04b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e04b0.c new file mode 100644 index 00000000..f1c21b37 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e04b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e04b0 Unwind@1400e04b0 + * Pseudocode, not original source. */ + +void Unwind_1400e04b0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e04c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e04c0.c new file mode 100644 index 00000000..4bfdd5d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e04c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e04c0 Unwind@1400e04c0 + * Pseudocode, not original source. */ + +void Unwind_1400e04c0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e04d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e04d0.c new file mode 100644 index 00000000..4def7837 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e04d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e04d0 Unwind@1400e04d0 + * Pseudocode, not original source. */ + +void Unwind_1400e04d0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e04f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e04f0.c new file mode 100644 index 00000000..54aacf38 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e04f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e04f0 Unwind@1400e04f0 + * Pseudocode, not original source. */ + +void Unwind_1400e04f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x100,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0500.c b/decomp/Agent_Release_x64/full/functions/0x1400e0500.c new file mode 100644 index 00000000..eabccdf9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0500.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0500 Unwind@1400e0500 + * Pseudocode, not original source. */ + +void Unwind_1400e0500(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0520.c b/decomp/Agent_Release_x64/full/functions/0x1400e0520.c new file mode 100644 index 00000000..56c72030 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0520.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0520 Unwind@1400e0520 + * Pseudocode, not original source. */ + +void Unwind_1400e0520(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x58) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0530.c b/decomp/Agent_Release_x64/full/functions/0x1400e0530.c new file mode 100644 index 00000000..b6cb71ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0530.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0530 Unwind@1400e0530 + * Pseudocode, not original source. */ + +void Unwind_1400e0530(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0540.c b/decomp/Agent_Release_x64/full/functions/0x1400e0540.c new file mode 100644 index 00000000..3510d737 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0540.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0540 Unwind@1400e0540 + * Pseudocode, not original source. */ + +void Unwind_1400e0540(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0550.c b/decomp/Agent_Release_x64/full/functions/0x1400e0550.c new file mode 100644 index 00000000..38abd9ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0550.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0550 Unwind@1400e0550 + * Pseudocode, not original source. */ + +void Unwind_1400e0550(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0560.c b/decomp/Agent_Release_x64/full/functions/0x1400e0560.c new file mode 100644 index 00000000..d97cd0cd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0560.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0560 Unwind@1400e0560 + * Pseudocode, not original source. */ + +void Unwind_1400e0560(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0570.c b/decomp/Agent_Release_x64/full/functions/0x1400e0570.c new file mode 100644 index 00000000..e15061ea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0570.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0570 Unwind@1400e0570 + * Pseudocode, not original source. */ + +void Unwind_1400e0570(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0580.c b/decomp/Agent_Release_x64/full/functions/0x1400e0580.c new file mode 100644 index 00000000..b194822c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0580.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0580 Unwind@1400e0580 + * Pseudocode, not original source. */ + +void Unwind_1400e0580(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0590.c b/decomp/Agent_Release_x64/full/functions/0x1400e0590.c new file mode 100644 index 00000000..492c2f7a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0590.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0590 Unwind@1400e0590 + * Pseudocode, not original source. */ + +void Unwind_1400e0590(undefined8 param_1,longlong param_2) + +{ + FUN_14008ebf0((undefined8 *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e05a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e05a0.c new file mode 100644 index 00000000..776c49eb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e05a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e05a0 Unwind@1400e05a0 + * Pseudocode, not original source. */ + +void Unwind_1400e05a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e05b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e05b0.c new file mode 100644 index 00000000..2aa8ed60 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e05b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e05b0 Unwind@1400e05b0 + * Pseudocode, not original source. */ + +void Unwind_1400e05b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e05c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e05c0.c new file mode 100644 index 00000000..e1b36fc8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e05c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e05c0 Unwind@1400e05c0 + * Pseudocode, not original source. */ + +void Unwind_1400e05c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e05d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e05d0.c new file mode 100644 index 00000000..ba732658 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e05d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e05d0 Unwind@1400e05d0 + * Pseudocode, not original source. */ + +void Unwind_1400e05d0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e05e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e05e0.c new file mode 100644 index 00000000..5ca6fea3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e05e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e05e0 Unwind@1400e05e0 + * Pseudocode, not original source. */ + +void Unwind_1400e05e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e05f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e05f0.c new file mode 100644 index 00000000..a16df924 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e05f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e05f0 Unwind@1400e05f0 + * Pseudocode, not original source. */ + +void Unwind_1400e05f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0610.c b/decomp/Agent_Release_x64/full/functions/0x1400e0610.c new file mode 100644 index 00000000..38f88cfd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0610.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0610 Unwind@1400e0610 + * Pseudocode, not original source. */ + +void Unwind_1400e0610(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xd0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0620.c b/decomp/Agent_Release_x64/full/functions/0x1400e0620.c new file mode 100644 index 00000000..e280168e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0620.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0620 Unwind@1400e0620 + * Pseudocode, not original source. */ + +void Unwind_1400e0620(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0640.c b/decomp/Agent_Release_x64/full/functions/0x1400e0640.c new file mode 100644 index 00000000..66ff8e16 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0640.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0640 Unwind@1400e0640 + * Pseudocode, not original source. */ + +void Unwind_1400e0640(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x20) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0650.c b/decomp/Agent_Release_x64/full/functions/0x1400e0650.c new file mode 100644 index 00000000..6c24a7fe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0650.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0650 Catch@1400e0650 + * Pseudocode, not original source. */ + +undefined * Catch_1400e0650(undefined8 param_1,longlong param_2) + +{ + LPCWSTR lpOutputString; + + lpOutputString = (LPCWSTR)(**(code **)(**(longlong **)(param_2 + 0x70) + 8))(); + OutputDebugStringW(lpOutputString); + uRam0000000000000000 = 1; + return &DAT_14004c9b3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0690.c b/decomp/Agent_Release_x64/full/functions/0x1400e0690.c new file mode 100644 index 00000000..51e90430 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0690.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0690 Catch@1400e0690 + * Pseudocode, not original source. */ + +undefined * Catch_1400e0690(undefined8 param_1,longlong param_2) + +{ + LPCWSTR lpOutputString; + + lpOutputString = (LPCWSTR)(**(code **)(**(longlong **)(param_2 + 0x68) + 8))(); + OutputDebugStringW(lpOutputString); + uRam0000000000000000 = 1; + return &DAT_14004c8f7; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e06d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e06d0.c new file mode 100644 index 00000000..11c3a5f5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e06d0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e06d0 Catch@1400e06d0 + * Pseudocode, not original source. */ + +undefined * Catch_1400e06d0(undefined8 param_1,longlong param_2) + +{ + LPCWSTR lpOutputString; + + lpOutputString = (LPCWSTR)(**(code **)(**(longlong **)(param_2 + 0x40) + 8))(); + OutputDebugStringW(lpOutputString); + uRam0000000000000000 = 1; + return &DAT_14004ce82; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0710.c b/decomp/Agent_Release_x64/full/functions/0x1400e0710.c new file mode 100644 index 00000000..f0cfd229 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0710.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0710 Unwind@1400e0710 + * Pseudocode, not original source. */ + +void Unwind_1400e0710(undefined8 param_1,longlong param_2) + +{ + FUN_140006bf0((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0720.c b/decomp/Agent_Release_x64/full/functions/0x1400e0720.c new file mode 100644 index 00000000..d44e219d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0720.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0720 Unwind@1400e0720 + * Pseudocode, not original source. */ + +void Unwind_1400e0720(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0730.c b/decomp/Agent_Release_x64/full/functions/0x1400e0730.c new file mode 100644 index 00000000..05b074a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0730.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0730 Unwind@1400e0730 + * Pseudocode, not original source. */ + +void Unwind_1400e0730(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040d70(param_2 + 0x38,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0740.c b/decomp/Agent_Release_x64/full/functions/0x1400e0740.c new file mode 100644 index 00000000..9300cf69 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0740.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0740 Unwind@1400e0740 + * Pseudocode, not original source. */ + +void Unwind_1400e0740(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0750.c b/decomp/Agent_Release_x64/full/functions/0x1400e0750.c new file mode 100644 index 00000000..aefd23a5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0750.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0750 Unwind@1400e0750 + * Pseudocode, not original source. */ + +void Unwind_1400e0750(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0760.c b/decomp/Agent_Release_x64/full/functions/0x1400e0760.c new file mode 100644 index 00000000..6d5cbfe7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0760.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0760 Unwind@1400e0760 + * Pseudocode, not original source. */ + +void Unwind_1400e0760(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0770.c b/decomp/Agent_Release_x64/full/functions/0x1400e0770.c new file mode 100644 index 00000000..2716306d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0770.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0770 Unwind@1400e0770 + * Pseudocode, not original source. */ + +void Unwind_1400e0770(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0790.c b/decomp/Agent_Release_x64/full/functions/0x1400e0790.c new file mode 100644 index 00000000..479b13a7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0790.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0790 Unwind@1400e0790 + * Pseudocode, not original source. */ + +void Unwind_1400e0790(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xc0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e07a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e07a0.c new file mode 100644 index 00000000..b983c6f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e07a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e07a0 Unwind@1400e07a0 + * Pseudocode, not original source. */ + +void Unwind_1400e07a0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e07c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e07c0.c new file mode 100644 index 00000000..483da046 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e07c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e07c0 Unwind@1400e07c0 + * Pseudocode, not original source. */ + +void Unwind_1400e07c0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xa0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e07d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e07d0.c new file mode 100644 index 00000000..23bef458 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e07d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e07d0 Unwind@1400e07d0 + * Pseudocode, not original source. */ + +void Unwind_1400e07d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e07e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e07e0.c new file mode 100644 index 00000000..ad960f62 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e07e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e07e0 Unwind@1400e07e0 + * Pseudocode, not original source. */ + +void Unwind_1400e07e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e07f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e07f0.c new file mode 100644 index 00000000..7771900a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e07f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e07f0 Unwind@1400e07f0 + * Pseudocode, not original source. */ + +void Unwind_1400e07f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0800.c b/decomp/Agent_Release_x64/full/functions/0x1400e0800.c new file mode 100644 index 00000000..888d65eb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0800.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0800 Unwind@1400e0800 + * Pseudocode, not original source. */ + +void Unwind_1400e0800(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0810.c b/decomp/Agent_Release_x64/full/functions/0x1400e0810.c new file mode 100644 index 00000000..30a2bb6c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0810.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0810 Unwind@1400e0810 + * Pseudocode, not original source. */ + +void Unwind_1400e0810(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0820.c b/decomp/Agent_Release_x64/full/functions/0x1400e0820.c new file mode 100644 index 00000000..a55f4bd1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0820.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0820 Unwind@1400e0820 + * Pseudocode, not original source. */ + +void Unwind_1400e0820(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0830.c b/decomp/Agent_Release_x64/full/functions/0x1400e0830.c new file mode 100644 index 00000000..97962995 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0830.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0830 Unwind@1400e0830 + * Pseudocode, not original source. */ + +void Unwind_1400e0830(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0840.c b/decomp/Agent_Release_x64/full/functions/0x1400e0840.c new file mode 100644 index 00000000..17659cd4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0840.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0840 Unwind@1400e0840 + * Pseudocode, not original source. */ + +void Unwind_1400e0840(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0850.c b/decomp/Agent_Release_x64/full/functions/0x1400e0850.c new file mode 100644 index 00000000..330137c3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0850.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0850 Unwind@1400e0850 + * Pseudocode, not original source. */ + +void Unwind_1400e0850(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0860.c b/decomp/Agent_Release_x64/full/functions/0x1400e0860.c new file mode 100644 index 00000000..41d59221 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0860.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0860 Unwind@1400e0860 + * Pseudocode, not original source. */ + +void Unwind_1400e0860(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0870.c b/decomp/Agent_Release_x64/full/functions/0x1400e0870.c new file mode 100644 index 00000000..efd93127 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0870.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0870 Unwind@1400e0870 + * Pseudocode, not original source. */ + +void Unwind_1400e0870(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e08a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e08a0.c new file mode 100644 index 00000000..98169b7c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e08a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e08a0 Unwind@1400e08a0 + * Pseudocode, not original source. */ + +void Unwind_1400e08a0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e08d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e08d0.c new file mode 100644 index 00000000..c0206af5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e08d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e08d0 Unwind@1400e08d0 + * Pseudocode, not original source. */ + +void Unwind_1400e08d0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0900.c b/decomp/Agent_Release_x64/full/functions/0x1400e0900.c new file mode 100644 index 00000000..1e34b560 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0900.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0900 Unwind@1400e0900 + * Pseudocode, not original source. */ + +void Unwind_1400e0900(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400e0907. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::_Container_base12::~_Container_base12(*(_Container_base12 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0910.c b/decomp/Agent_Release_x64/full/functions/0x1400e0910.c new file mode 100644 index 00000000..9ee5e57a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0910.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0910 Unwind@1400e0910 + * Pseudocode, not original source. */ + +void Unwind_1400e0910(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x88) & 1) != 0) { + *(uint *)(param_2 + 0x88) = *(uint *)(param_2 + 0x88) & 0xfffffffe; + FUN_14004db90(*(longlong **)(param_2 + 0x80)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0940.c b/decomp/Agent_Release_x64/full/functions/0x1400e0940.c new file mode 100644 index 00000000..0de3d3ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0940.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0940 Unwind@1400e0940 + * Pseudocode, not original source. */ + +void Unwind_1400e0940(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x60); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0950.c b/decomp/Agent_Release_x64/full/functions/0x1400e0950.c new file mode 100644 index 00000000..1c4ce48f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0950.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0950 Unwind@1400e0950 + * Pseudocode, not original source. */ + +void Unwind_1400e0950(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xd0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0960.c b/decomp/Agent_Release_x64/full/functions/0x1400e0960.c new file mode 100644 index 00000000..3973ffac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0960.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0960 Unwind@1400e0960 + * Pseudocode, not original source. */ + +void Unwind_1400e0960(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x60); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0970.c b/decomp/Agent_Release_x64/full/functions/0x1400e0970.c new file mode 100644 index 00000000..2088c4f6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0970.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0970 Unwind@1400e0970 + * Pseudocode, not original source. */ + +void Unwind_1400e0970(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xe0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0980.c b/decomp/Agent_Release_x64/full/functions/0x1400e0980.c new file mode 100644 index 00000000..466ab6d9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0980.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0980 Unwind@1400e0980 + * Pseudocode, not original source. */ + +void Unwind_1400e0980(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0990.c b/decomp/Agent_Release_x64/full/functions/0x1400e0990.c new file mode 100644 index 00000000..59f8d111 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0990.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0990 Unwind@1400e0990 + * Pseudocode, not original source. */ + +void Unwind_1400e0990(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e09a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e09a0.c new file mode 100644 index 00000000..99fe203e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e09a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e09a0 Unwind@1400e09a0 + * Pseudocode, not original source. */ + +void Unwind_1400e09a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e09b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e09b0.c new file mode 100644 index 00000000..481a7042 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e09b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e09b0 Unwind@1400e09b0 + * Pseudocode, not original source. */ + +void Unwind_1400e09b0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e09c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e09c0.c new file mode 100644 index 00000000..365ae2e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e09c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e09c0 Unwind@1400e09c0 + * Pseudocode, not original source. */ + +void Unwind_1400e09c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e09d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e09d0.c new file mode 100644 index 00000000..75c5c06b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e09d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e09d0 Unwind@1400e09d0 + * Pseudocode, not original source. */ + +void Unwind_1400e09d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e09e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e09e0.c new file mode 100644 index 00000000..781ec062 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e09e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e09e0 Unwind@1400e09e0 + * Pseudocode, not original source. */ + +void Unwind_1400e09e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e09f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e09f0.c new file mode 100644 index 00000000..87f00924 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e09f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e09f0 Unwind@1400e09f0 + * Pseudocode, not original source. */ + +void Unwind_1400e09f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0a00.c b/decomp/Agent_Release_x64/full/functions/0x1400e0a00.c new file mode 100644 index 00000000..652ca3d7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0a00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0a00 Unwind@1400e0a00 + * Pseudocode, not original source. */ + +void Unwind_1400e0a00(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0a10.c b/decomp/Agent_Release_x64/full/functions/0x1400e0a10.c new file mode 100644 index 00000000..00121a2c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0a10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0a10 Unwind@1400e0a10 + * Pseudocode, not original source. */ + +void Unwind_1400e0a10(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0a20.c b/decomp/Agent_Release_x64/full/functions/0x1400e0a20.c new file mode 100644 index 00000000..f9a2d074 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0a20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0a20 Unwind@1400e0a20 + * Pseudocode, not original source. */ + +void Unwind_1400e0a20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0a30.c b/decomp/Agent_Release_x64/full/functions/0x1400e0a30.c new file mode 100644 index 00000000..18f2d47e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0a30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0a30 Unwind@1400e0a30 + * Pseudocode, not original source. */ + +void Unwind_1400e0a30(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0a50.c b/decomp/Agent_Release_x64/full/functions/0x1400e0a50.c new file mode 100644 index 00000000..8d2f8777 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0a50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0a50 Unwind@1400e0a50 + * Pseudocode, not original source. */ + +void Unwind_1400e0a50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xc0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0a60.c b/decomp/Agent_Release_x64/full/functions/0x1400e0a60.c new file mode 100644 index 00000000..b5b1f9f5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0a60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0a60 Unwind@1400e0a60 + * Pseudocode, not original source. */ + +void Unwind_1400e0a60(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0a80.c b/decomp/Agent_Release_x64/full/functions/0x1400e0a80.c new file mode 100644 index 00000000..ad5202fa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0a80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0a80 Unwind@1400e0a80 + * Pseudocode, not original source. */ + +void Unwind_1400e0a80(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x48) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0a90.c b/decomp/Agent_Release_x64/full/functions/0x1400e0a90.c new file mode 100644 index 00000000..9bd91b98 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0a90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0a90 Unwind@1400e0a90 + * Pseudocode, not original source. */ + +void Unwind_1400e0a90(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0aa0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0aa0.c new file mode 100644 index 00000000..e0389418 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0aa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0aa0 Unwind@1400e0aa0 + * Pseudocode, not original source. */ + +void Unwind_1400e0aa0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0ac0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0ac0.c new file mode 100644 index 00000000..1a63ca2b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0ac0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0ac0 Unwind@1400e0ac0 + * Pseudocode, not original source. */ + +void Unwind_1400e0ac0(undefined8 param_1,longlong param_2,undefined8 param_3,longlong param_4) + +{ + FUN_140043c20((longlong *)(param_2 + 0x68),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0ad0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0ad0.c new file mode 100644 index 00000000..fc8937dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0ad0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0ad0 Unwind@1400e0ad0 + * Pseudocode, not original source. */ + +void Unwind_1400e0ad0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0ae0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0ae0.c new file mode 100644 index 00000000..8c407e36 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0ae0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0ae0 Unwind@1400e0ae0 + * Pseudocode, not original source. */ + +void Unwind_1400e0ae0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0b00.c b/decomp/Agent_Release_x64/full/functions/0x1400e0b00.c new file mode 100644 index 00000000..a2f562f3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0b00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0b00 Unwind@1400e0b00 + * Pseudocode, not original source. */ + +void Unwind_1400e0b00(undefined8 param_1,longlong param_2) + +{ + FUN_140043b60((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0b10.c b/decomp/Agent_Release_x64/full/functions/0x1400e0b10.c new file mode 100644 index 00000000..df42cfef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0b10.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0b10 Unwind@1400e0b10 + * Pseudocode, not original source. */ + +void Unwind_1400e0b10(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x60) & 1) != 0) { + *(uint *)(param_2 + 0x60) = *(uint *)(param_2 + 0x60) & 0xfffffffe; + FUN_140043b60(*(longlong **)(param_2 + 0x58)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0b40.c b/decomp/Agent_Release_x64/full/functions/0x1400e0b40.c new file mode 100644 index 00000000..a3655388 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0b40.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0b40 Unwind@1400e0b40 + * Pseudocode, not original source. */ + +void Unwind_1400e0b40(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400e0b47. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::_Container_base12::~_Container_base12((_Container_base12 *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0b50.c b/decomp/Agent_Release_x64/full/functions/0x1400e0b50.c new file mode 100644 index 00000000..96644992 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0b50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0b50 Unwind@1400e0b50 + * Pseudocode, not original source. */ + +void Unwind_1400e0b50(undefined8 param_1,longlong param_2) + +{ + FUN_14004de70((_Container_base12 *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0b60.c b/decomp/Agent_Release_x64/full/functions/0x1400e0b60.c new file mode 100644 index 00000000..54e529de --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0b60.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0b60 Unwind@1400e0b60 + * Pseudocode, not original source. */ + +void Unwind_1400e0b60(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400e0b67. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::_Container_base12::~_Container_base12((_Container_base12 *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0b70.c b/decomp/Agent_Release_x64/full/functions/0x1400e0b70.c new file mode 100644 index 00000000..39a43940 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0b70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0b70 Unwind@1400e0b70 + * Pseudocode, not original source. */ + +void Unwind_1400e0b70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0b80.c b/decomp/Agent_Release_x64/full/functions/0x1400e0b80.c new file mode 100644 index 00000000..a9fa9b96 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0b80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0b80 Unwind@1400e0b80 + * Pseudocode, not original source. */ + +void Unwind_1400e0b80(undefined8 param_1,longlong param_2) + +{ + FUN_140043b60((longlong *)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0b90.c b/decomp/Agent_Release_x64/full/functions/0x1400e0b90.c new file mode 100644 index 00000000..2d1062eb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0b90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0b90 Unwind@1400e0b90 + * Pseudocode, not original source. */ + +void Unwind_1400e0b90(undefined8 param_1,longlong param_2) + +{ + FUN_140043b60((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0ba0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0ba0.c new file mode 100644 index 00000000..cecc3706 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0ba0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0ba0 Unwind@1400e0ba0 + * Pseudocode, not original source. */ + +void Unwind_1400e0ba0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0bb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0bb0.c new file mode 100644 index 00000000..8cbe31c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0bb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0bb0 Unwind@1400e0bb0 + * Pseudocode, not original source. */ + +void Unwind_1400e0bb0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0bc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0bc0.c new file mode 100644 index 00000000..45a8b971 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0bc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0bc0 Unwind@1400e0bc0 + * Pseudocode, not original source. */ + +void Unwind_1400e0bc0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x68),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0bd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0bd0.c new file mode 100644 index 00000000..2634caa3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0bd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0bd0 Unwind@1400e0bd0 + * Pseudocode, not original source. */ + +void Unwind_1400e0bd0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0be0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0be0.c new file mode 100644 index 00000000..cb49b1d8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0be0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0be0 Unwind@1400e0be0 + * Pseudocode, not original source. */ + +void Unwind_1400e0be0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0bf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0bf0.c new file mode 100644 index 00000000..92e2ec5e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0bf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0bf0 Unwind@1400e0bf0 + * Pseudocode, not original source. */ + +void Unwind_1400e0bf0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xc0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0c00.c b/decomp/Agent_Release_x64/full/functions/0x1400e0c00.c new file mode 100644 index 00000000..84755cba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0c00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0c00 Unwind@1400e0c00 + * Pseudocode, not original source. */ + +void Unwind_1400e0c00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xf0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0c10.c b/decomp/Agent_Release_x64/full/functions/0x1400e0c10.c new file mode 100644 index 00000000..e2f5fc84 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0c10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0c10 Unwind@1400e0c10 + * Pseudocode, not original source. */ + +void Unwind_1400e0c10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0c20.c b/decomp/Agent_Release_x64/full/functions/0x1400e0c20.c new file mode 100644 index 00000000..4c0ce2f7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0c20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0c20 Unwind@1400e0c20 + * Pseudocode, not original source. */ + +void Unwind_1400e0c20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0c30.c b/decomp/Agent_Release_x64/full/functions/0x1400e0c30.c new file mode 100644 index 00000000..27af0bec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0c30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0c30 Unwind@1400e0c30 + * Pseudocode, not original source. */ + +void Unwind_1400e0c30(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x100)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0c40.c b/decomp/Agent_Release_x64/full/functions/0x1400e0c40.c new file mode 100644 index 00000000..5212720d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0c40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0c40 Unwind@1400e0c40 + * Pseudocode, not original source. */ + +void Unwind_1400e0c40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0c50.c b/decomp/Agent_Release_x64/full/functions/0x1400e0c50.c new file mode 100644 index 00000000..1c9b08a9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0c50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0c50 Unwind@1400e0c50 + * Pseudocode, not original source. */ + +void Unwind_1400e0c50(undefined8 param_1,longlong param_2) + +{ + FUN_140043b60((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0c60.c b/decomp/Agent_Release_x64/full/functions/0x1400e0c60.c new file mode 100644 index 00000000..0f988fa2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0c60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0c60 Unwind@1400e0c60 + * Pseudocode, not original source. */ + +void Unwind_1400e0c60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 200),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0c70.c b/decomp/Agent_Release_x64/full/functions/0x1400e0c70.c new file mode 100644 index 00000000..1f6893f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0c70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0c70 Unwind@1400e0c70 + * Pseudocode, not original source. */ + +void Unwind_1400e0c70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0c80.c b/decomp/Agent_Release_x64/full/functions/0x1400e0c80.c new file mode 100644 index 00000000..fa1a9e64 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0c80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0c80 Unwind@1400e0c80 + * Pseudocode, not original source. */ + +void Unwind_1400e0c80(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0c90.c b/decomp/Agent_Release_x64/full/functions/0x1400e0c90.c new file mode 100644 index 00000000..b6ff7f9c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0c90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0c90 Unwind@1400e0c90 + * Pseudocode, not original source. */ + +void Unwind_1400e0c90(undefined8 param_1,longlong param_2) + +{ + FUN_140043b60((longlong *)(param_2 + 0xa0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0ca0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0ca0.c new file mode 100644 index 00000000..328ee4fc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0ca0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0ca0 Unwind@1400e0ca0 + * Pseudocode, not original source. */ + +void Unwind_1400e0ca0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xb8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0cb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0cb0.c new file mode 100644 index 00000000..d648f61a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0cb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0cb0 Unwind@1400e0cb0 + * Pseudocode, not original source. */ + +void Unwind_1400e0cb0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0cc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0cc0.c new file mode 100644 index 00000000..dca16078 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0cc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0cc0 Unwind@1400e0cc0 + * Pseudocode, not original source. */ + +void Unwind_1400e0cc0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0ce0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0ce0.c new file mode 100644 index 00000000..986add74 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0ce0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0ce0 Unwind@1400e0ce0 + * Pseudocode, not original source. */ + +void Unwind_1400e0ce0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570(*(longlong **)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0cf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0cf0.c new file mode 100644 index 00000000..4183fbae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0cf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0cf0 Unwind@1400e0cf0 + * Pseudocode, not original source. */ + +void Unwind_1400e0cf0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0d00.c b/decomp/Agent_Release_x64/full/functions/0x1400e0d00.c new file mode 100644 index 00000000..c5ffbf1f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0d00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0d00 Unwind@1400e0d00 + * Pseudocode, not original source. */ + +void Unwind_1400e0d00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0d10.c b/decomp/Agent_Release_x64/full/functions/0x1400e0d10.c new file mode 100644 index 00000000..77185335 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0d10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0d10 Unwind@1400e0d10 + * Pseudocode, not original source. */ + +void Unwind_1400e0d10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0d20.c b/decomp/Agent_Release_x64/full/functions/0x1400e0d20.c new file mode 100644 index 00000000..ae55667c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0d20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0d20 Unwind@1400e0d20 + * Pseudocode, not original source. */ + +void Unwind_1400e0d20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0d30.c b/decomp/Agent_Release_x64/full/functions/0x1400e0d30.c new file mode 100644 index 00000000..a748fcd6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0d30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0d30 Unwind@1400e0d30 + * Pseudocode, not original source. */ + +void Unwind_1400e0d30(undefined8 param_1,longlong param_2) + +{ + FUN_1400500f0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0d40.c b/decomp/Agent_Release_x64/full/functions/0x1400e0d40.c new file mode 100644 index 00000000..42b9e52f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0d40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0d40 Unwind@1400e0d40 + * Pseudocode, not original source. */ + +void Unwind_1400e0d40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0d50.c b/decomp/Agent_Release_x64/full/functions/0x1400e0d50.c new file mode 100644 index 00000000..3d57d15c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0d50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0d50 Unwind@1400e0d50 + * Pseudocode, not original source. */ + +void Unwind_1400e0d50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xc0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0d60.c b/decomp/Agent_Release_x64/full/functions/0x1400e0d60.c new file mode 100644 index 00000000..e9483932 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0d60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0d60 Unwind@1400e0d60 + * Pseudocode, not original source. */ + +void Unwind_1400e0d60(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0d70.c b/decomp/Agent_Release_x64/full/functions/0x1400e0d70.c new file mode 100644 index 00000000..2e7f7ce6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0d70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0d70 Unwind@1400e0d70 + * Pseudocode, not original source. */ + +void Unwind_1400e0d70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0d80.c b/decomp/Agent_Release_x64/full/functions/0x1400e0d80.c new file mode 100644 index 00000000..4df47fe5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0d80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0d80 Unwind@1400e0d80 + * Pseudocode, not original source. */ + +void Unwind_1400e0d80(undefined8 param_1,longlong param_2) + +{ + FUN_140043b60((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0d90.c b/decomp/Agent_Release_x64/full/functions/0x1400e0d90.c new file mode 100644 index 00000000..74fca9e6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0d90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0d90 Unwind@1400e0d90 + * Pseudocode, not original source. */ + +void Unwind_1400e0d90(undefined8 param_1,longlong param_2) + +{ + FUN_140043b60((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0da0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0da0.c new file mode 100644 index 00000000..ff0211a7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0da0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0da0 Unwind@1400e0da0 + * Pseudocode, not original source. */ + +void Unwind_1400e0da0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xa0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0db0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0db0.c new file mode 100644 index 00000000..06614776 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0db0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0db0 Unwind@1400e0db0 + * Pseudocode, not original source. */ + +void Unwind_1400e0db0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0dc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0dc0.c new file mode 100644 index 00000000..96f974df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0dc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0dc0 Unwind@1400e0dc0 + * Pseudocode, not original source. */ + +void Unwind_1400e0dc0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0dd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0dd0.c new file mode 100644 index 00000000..257b98d3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0dd0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0dd0 Catch_All@1400e0dd0 + * Pseudocode, not original source. */ + +undefined8 Catch_All_1400e0dd0(void) + +{ + return 0x140052883; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0df0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0df0.c new file mode 100644 index 00000000..95133d98 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0df0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0df0 Unwind@1400e0df0 + * Pseudocode, not original source. */ + +void Unwind_1400e0df0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x50) + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0e10.c b/decomp/Agent_Release_x64/full/functions/0x1400e0e10.c new file mode 100644 index 00000000..ba318fc9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0e10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0e10 Unwind@1400e0e10 + * Pseudocode, not original source. */ + +void Unwind_1400e0e10(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0xd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0e30.c b/decomp/Agent_Release_x64/full/functions/0x1400e0e30.c new file mode 100644 index 00000000..90a374f7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0e30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0e30 Unwind@1400e0e30 + * Pseudocode, not original source. */ + +void Unwind_1400e0e30(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0e40.c b/decomp/Agent_Release_x64/full/functions/0x1400e0e40.c new file mode 100644 index 00000000..d8461882 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0e40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0e40 Unwind@1400e0e40 + * Pseudocode, not original source. */ + +void Unwind_1400e0e40(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xd0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0e50.c b/decomp/Agent_Release_x64/full/functions/0x1400e0e50.c new file mode 100644 index 00000000..532e5d8a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0e50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0e50 Unwind@1400e0e50 + * Pseudocode, not original source. */ + +void Unwind_1400e0e50(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0e60.c b/decomp/Agent_Release_x64/full/functions/0x1400e0e60.c new file mode 100644 index 00000000..ec081e4a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0e60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0e60 Unwind@1400e0e60 + * Pseudocode, not original source. */ + +void Unwind_1400e0e60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0xe8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0e70.c b/decomp/Agent_Release_x64/full/functions/0x1400e0e70.c new file mode 100644 index 00000000..515cee6e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0e70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0e70 Unwind@1400e0e70 + * Pseudocode, not original source. */ + +void Unwind_1400e0e70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0e80.c b/decomp/Agent_Release_x64/full/functions/0x1400e0e80.c new file mode 100644 index 00000000..11e90245 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0e80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0e80 Unwind@1400e0e80 + * Pseudocode, not original source. */ + +void Unwind_1400e0e80(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0e90.c b/decomp/Agent_Release_x64/full/functions/0x1400e0e90.c new file mode 100644 index 00000000..12572efe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0e90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0e90 Unwind@1400e0e90 + * Pseudocode, not original source. */ + +void Unwind_1400e0e90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570(*(longlong **)(param_2 + 0x68),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0ea0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0ea0.c new file mode 100644 index 00000000..25e0f20b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0ea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0ea0 Unwind@1400e0ea0 + * Pseudocode, not original source. */ + +void Unwind_1400e0ea0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0eb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0eb0.c new file mode 100644 index 00000000..3e49d723 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0eb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0eb0 Unwind@1400e0eb0 + * Pseudocode, not original source. */ + +void Unwind_1400e0eb0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0ec0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0ec0.c new file mode 100644 index 00000000..22954b76 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0ec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0ec0 Unwind@1400e0ec0 + * Pseudocode, not original source. */ + +void Unwind_1400e0ec0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400521f0((undefined8 *)(param_2 + 0x60U & 0xffffffffffffffc0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0ef0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0ef0.c new file mode 100644 index 00000000..03a3f4bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0ef0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0ef0 Unwind@1400e0ef0 + * Pseudocode, not original source. */ + +void Unwind_1400e0ef0(undefined8 param_1,longlong param_2) + +{ + FUN_1400500f0((undefined8 *)(param_2 + 0x60U & 0xffffffffffffffc0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0f20.c b/decomp/Agent_Release_x64/full/functions/0x1400e0f20.c new file mode 100644 index 00000000..c564c194 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0f20.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0f20 Catch_All@1400e0f20 + * Pseudocode, not original source. */ + +undefined8 Catch_All_1400e0f20(void) + +{ + return 0x1400533e3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0f40.c b/decomp/Agent_Release_x64/full/functions/0x1400e0f40.c new file mode 100644 index 00000000..2d49f7be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0f40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0f40 Unwind@1400e0f40 + * Pseudocode, not original source. */ + +void Unwind_1400e0f40(undefined8 param_1,longlong param_2) + +{ + FUN_14002b6f0(*(undefined8 **)(param_2 + 0x1a0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0f50.c b/decomp/Agent_Release_x64/full/functions/0x1400e0f50.c new file mode 100644 index 00000000..62016756 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0f50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0f50 Unwind@1400e0f50 + * Pseudocode, not original source. */ + +void Unwind_1400e0f50(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0f60.c b/decomp/Agent_Release_x64/full/functions/0x1400e0f60.c new file mode 100644 index 00000000..a8b7735e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0f60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0f60 Unwind@1400e0f60 + * Pseudocode, not original source. */ + +void Unwind_1400e0f60(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0f80.c b/decomp/Agent_Release_x64/full/functions/0x1400e0f80.c new file mode 100644 index 00000000..df8bac01 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0f80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0f80 Unwind@1400e0f80 + * Pseudocode, not original source. */ + +void Unwind_1400e0f80(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0f90.c b/decomp/Agent_Release_x64/full/functions/0x1400e0f90.c new file mode 100644 index 00000000..428dd56d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0f90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0f90 Unwind@1400e0f90 + * Pseudocode, not original source. */ + +void Unwind_1400e0f90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0fa0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0fa0.c new file mode 100644 index 00000000..0b287886 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0fa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0fa0 Unwind@1400e0fa0 + * Pseudocode, not original source. */ + +void Unwind_1400e0fa0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0fb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0fb0.c new file mode 100644 index 00000000..0b6a64b1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0fb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0fb0 Unwind@1400e0fb0 + * Pseudocode, not original source. */ + +void Unwind_1400e0fb0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0fc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0fc0.c new file mode 100644 index 00000000..c59003e0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0fc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0fc0 Unwind@1400e0fc0 + * Pseudocode, not original source. */ + +void Unwind_1400e0fc0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0fd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0fd0.c new file mode 100644 index 00000000..5a47f56b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0fd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0fd0 Unwind@1400e0fd0 + * Pseudocode, not original source. */ + +void Unwind_1400e0fd0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0fe0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0fe0.c new file mode 100644 index 00000000..e4128164 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0fe0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0fe0 Unwind@1400e0fe0 + * Pseudocode, not original source. */ + +void Unwind_1400e0fe0(undefined8 param_1,longlong param_2) + +{ + FUN_14009c490((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e0ff0.c b/decomp/Agent_Release_x64/full/functions/0x1400e0ff0.c new file mode 100644 index 00000000..746725f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e0ff0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e0ff0 Unwind@1400e0ff0 + * Pseudocode, not original source. */ + +void Unwind_1400e0ff0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1000.c b/decomp/Agent_Release_x64/full/functions/0x1400e1000.c new file mode 100644 index 00000000..0d404920 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1000.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1000 Unwind@1400e1000 + * Pseudocode, not original source. */ + +void Unwind_1400e1000(undefined8 param_1,longlong param_2) + +{ + FUN_1400533d0(*(char **)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1010.c b/decomp/Agent_Release_x64/full/functions/0x1400e1010.c new file mode 100644 index 00000000..ac64d0e7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1010.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1010 Unwind@1400e1010 + * Pseudocode, not original source. */ + +void Unwind_1400e1010(undefined8 param_1,longlong param_2) + +{ + FUN_1400533d0(*(char **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1020.c b/decomp/Agent_Release_x64/full/functions/0x1400e1020.c new file mode 100644 index 00000000..31bc51e2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1020.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1020 Unwind@1400e1020 + * Pseudocode, not original source. */ + +void Unwind_1400e1020(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1030.c b/decomp/Agent_Release_x64/full/functions/0x1400e1030.c new file mode 100644 index 00000000..676c5814 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1030.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1030 Unwind@1400e1030 + * Pseudocode, not original source. */ + +void Unwind_1400e1030(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1050.c b/decomp/Agent_Release_x64/full/functions/0x1400e1050.c new file mode 100644 index 00000000..2d592a2a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1050.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1050 Unwind@1400e1050 + * Pseudocode, not original source. */ + +void Unwind_1400e1050(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1060.c b/decomp/Agent_Release_x64/full/functions/0x1400e1060.c new file mode 100644 index 00000000..e9ddcbe0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1060.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1060 Unwind@1400e1060 + * Pseudocode, not original source. */ + +void Unwind_1400e1060(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1070.c b/decomp/Agent_Release_x64/full/functions/0x1400e1070.c new file mode 100644 index 00000000..79340a79 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1070.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1070 Unwind@1400e1070 + * Pseudocode, not original source. */ + +void Unwind_1400e1070(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1080.c b/decomp/Agent_Release_x64/full/functions/0x1400e1080.c new file mode 100644 index 00000000..73705edc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1080.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1080 Unwind@1400e1080 + * Pseudocode, not original source. */ + +void Unwind_1400e1080(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1090.c b/decomp/Agent_Release_x64/full/functions/0x1400e1090.c new file mode 100644 index 00000000..12138098 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1090.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1090 Unwind@1400e1090 + * Pseudocode, not original source. */ + +void Unwind_1400e1090(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e10a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e10a0.c new file mode 100644 index 00000000..fb8f4f36 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e10a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e10a0 Unwind@1400e10a0 + * Pseudocode, not original source. */ + +void Unwind_1400e10a0(undefined8 param_1,longlong param_2) + +{ + FUN_14009c490((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e10b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e10b0.c new file mode 100644 index 00000000..e8254226 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e10b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e10b0 Unwind@1400e10b0 + * Pseudocode, not original source. */ + +void Unwind_1400e10b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x100)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e10c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e10c0.c new file mode 100644 index 00000000..058be56c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e10c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e10c0 Unwind@1400e10c0 + * Pseudocode, not original source. */ + +void Unwind_1400e10c0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x78); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e10d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e10d0.c new file mode 100644 index 00000000..086a3e89 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e10d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e10d0 Unwind@1400e10d0 + * Pseudocode, not original source. */ + +void Unwind_1400e10d0(undefined8 param_1,longlong param_2) + +{ + FUN_14009c490((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e10e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e10e0.c new file mode 100644 index 00000000..b3d8d9e9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e10e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e10e0 Unwind@1400e10e0 + * Pseudocode, not original source. */ + +void Unwind_1400e10e0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xe10)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1100.c b/decomp/Agent_Release_x64/full/functions/0x1400e1100.c new file mode 100644 index 00000000..8af3328a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1100.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1100 Unwind@1400e1100 + * Pseudocode, not original source. */ + +void Unwind_1400e1100(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 400,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1110.c b/decomp/Agent_Release_x64/full/functions/0x1400e1110.c new file mode 100644 index 00000000..cb359cf0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1110.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1110 Unwind@1400e1110 + * Pseudocode, not original source. */ + +void Unwind_1400e1110(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xe10)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1130.c b/decomp/Agent_Release_x64/full/functions/0x1400e1130.c new file mode 100644 index 00000000..cc805e7b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1130.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1130 Unwind@1400e1130 + * Pseudocode, not original source. */ + +void Unwind_1400e1130(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x60) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1140.c b/decomp/Agent_Release_x64/full/functions/0x1400e1140.c new file mode 100644 index 00000000..bbbd72fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1140.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1140 Unwind@1400e1140 + * Pseudocode, not original source. */ + +void Unwind_1400e1140(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1150.c b/decomp/Agent_Release_x64/full/functions/0x1400e1150.c new file mode 100644 index 00000000..b81566d7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1150.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1150 Unwind@1400e1150 + * Pseudocode, not original source. */ + +void Unwind_1400e1150(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1160.c b/decomp/Agent_Release_x64/full/functions/0x1400e1160.c new file mode 100644 index 00000000..f97598b9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1160 Unwind@1400e1160 + * Pseudocode, not original source. */ + +void Unwind_1400e1160(undefined8 param_1,longlong param_2) + +{ + FUN_140043b60((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1170.c b/decomp/Agent_Release_x64/full/functions/0x1400e1170.c new file mode 100644 index 00000000..4f47325b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1170.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1170 Unwind@1400e1170 + * Pseudocode, not original source. */ + +void Unwind_1400e1170(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1190.c b/decomp/Agent_Release_x64/full/functions/0x1400e1190.c new file mode 100644 index 00000000..bbfb9dab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1190.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1190 Unwind@1400e1190 + * Pseudocode, not original source. */ + +void Unwind_1400e1190(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0(*(undefined4 **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e11a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e11a0.c new file mode 100644 index 00000000..47cec985 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e11a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e11a0 Unwind@1400e11a0 + * Pseudocode, not original source. */ + +void Unwind_1400e11a0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140043b40((char *)(*(longlong *)(param_2 + 0x48) + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e11b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e11b0.c new file mode 100644 index 00000000..7e160e27 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e11b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e11b0 Unwind@1400e11b0 + * Pseudocode, not original source. */ + +void Unwind_1400e11b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e11c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e11c0.c new file mode 100644 index 00000000..4a7e68e3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e11c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e11c0 Unwind@1400e11c0 + * Pseudocode, not original source. */ + +void Unwind_1400e11c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e11d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e11d0.c new file mode 100644 index 00000000..bb3f1041 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e11d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e11d0 Unwind@1400e11d0 + * Pseudocode, not original source. */ + +void Unwind_1400e11d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e11e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e11e0.c new file mode 100644 index 00000000..e2e50bec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e11e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e11e0 Unwind@1400e11e0 + * Pseudocode, not original source. */ + +void Unwind_1400e11e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e11f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e11f0.c new file mode 100644 index 00000000..3b7a350d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e11f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e11f0 Unwind@1400e11f0 + * Pseudocode, not original source. */ + +void Unwind_1400e11f0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1200.c b/decomp/Agent_Release_x64/full/functions/0x1400e1200.c new file mode 100644 index 00000000..0e868dce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1200.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1200 Unwind@1400e1200 + * Pseudocode, not original source. */ + +void Unwind_1400e1200(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1210.c b/decomp/Agent_Release_x64/full/functions/0x1400e1210.c new file mode 100644 index 00000000..fa1a5143 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1210.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1210 Unwind@1400e1210 + * Pseudocode, not original source. */ + +void Unwind_1400e1210(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1220.c b/decomp/Agent_Release_x64/full/functions/0x1400e1220.c new file mode 100644 index 00000000..c42255d1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1220.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1220 Unwind@1400e1220 + * Pseudocode, not original source. */ + +void Unwind_1400e1220(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1230.c b/decomp/Agent_Release_x64/full/functions/0x1400e1230.c new file mode 100644 index 00000000..ded11db6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1230.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1230 Unwind@1400e1230 + * Pseudocode, not original source. */ + +void Unwind_1400e1230(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1240.c b/decomp/Agent_Release_x64/full/functions/0x1400e1240.c new file mode 100644 index 00000000..53e8ac5d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1240.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1240 Unwind@1400e1240 + * Pseudocode, not original source. */ + +void Unwind_1400e1240(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1250.c b/decomp/Agent_Release_x64/full/functions/0x1400e1250.c new file mode 100644 index 00000000..05792a90 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1250.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1250 Unwind@1400e1250 + * Pseudocode, not original source. */ + +void Unwind_1400e1250(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x1a8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1260.c b/decomp/Agent_Release_x64/full/functions/0x1400e1260.c new file mode 100644 index 00000000..743dd055 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1260.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1260 Unwind@1400e1260 + * Pseudocode, not original source. */ + +void Unwind_1400e1260(undefined8 param_1,longlong param_2) + +{ + FUN_14002b6f0((undefined8 *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1270.c b/decomp/Agent_Release_x64/full/functions/0x1400e1270.c new file mode 100644 index 00000000..c385fb3e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1270.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1270 Unwind@1400e1270 + * Pseudocode, not original source. */ + +void Unwind_1400e1270(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140028590((undefined8 *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1280.c b/decomp/Agent_Release_x64/full/functions/0x1400e1280.c new file mode 100644 index 00000000..f8d4c7af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1280.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1280 Unwind@1400e1280 + * Pseudocode, not original source. */ + +void Unwind_1400e1280(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1290.c b/decomp/Agent_Release_x64/full/functions/0x1400e1290.c new file mode 100644 index 00000000..eb2a197a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1290.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1290 Unwind@1400e1290 + * Pseudocode, not original source. */ + +void Unwind_1400e1290(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x138)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e12a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e12a0.c new file mode 100644 index 00000000..03979223 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e12a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e12a0 Unwind@1400e12a0 + * Pseudocode, not original source. */ + +void Unwind_1400e12a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 400)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e12b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e12b0.c new file mode 100644 index 00000000..7dc59e37 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e12b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e12b0 Unwind@1400e12b0 + * Pseudocode, not original source. */ + +void Unwind_1400e12b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e12c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e12c0.c new file mode 100644 index 00000000..1fc6f167 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e12c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e12c0 Unwind@1400e12c0 + * Pseudocode, not original source. */ + +void Unwind_1400e12c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e12d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e12d0.c new file mode 100644 index 00000000..9414c06e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e12d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e12d0 Unwind@1400e12d0 + * Pseudocode, not original source. */ + +void Unwind_1400e12d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x170)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e12e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e12e0.c new file mode 100644 index 00000000..72fa6696 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e12e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e12e0 Unwind@1400e12e0 + * Pseudocode, not original source. */ + +void Unwind_1400e12e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x180)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e12f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e12f0.c new file mode 100644 index 00000000..a39b0458 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e12f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e12f0 Unwind@1400e12f0 + * Pseudocode, not original source. */ + +void Unwind_1400e12f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1300.c b/decomp/Agent_Release_x64/full/functions/0x1400e1300.c new file mode 100644 index 00000000..a9575df8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1300.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1300 Unwind@1400e1300 + * Pseudocode, not original source. */ + +void Unwind_1400e1300(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xd8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1310.c b/decomp/Agent_Release_x64/full/functions/0x1400e1310.c new file mode 100644 index 00000000..29658b00 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1310.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1310 Unwind@1400e1310 + * Pseudocode, not original source. */ + +void Unwind_1400e1310(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1320.c b/decomp/Agent_Release_x64/full/functions/0x1400e1320.c new file mode 100644 index 00000000..1cf156aa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1320.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1320 Unwind@1400e1320 + * Pseudocode, not original source. */ + +void Unwind_1400e1320(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1330.c b/decomp/Agent_Release_x64/full/functions/0x1400e1330.c new file mode 100644 index 00000000..e81f88ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1330.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1330 Unwind@1400e1330 + * Pseudocode, not original source. */ + +void Unwind_1400e1330(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1340.c b/decomp/Agent_Release_x64/full/functions/0x1400e1340.c new file mode 100644 index 00000000..14391a4a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1340.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1340 Unwind@1400e1340 + * Pseudocode, not original source. */ + +void Unwind_1400e1340(undefined8 param_1,longlong param_2) + +{ + FUN_14008ebf0((undefined8 *)(param_2 + 800)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1350.c b/decomp/Agent_Release_x64/full/functions/0x1400e1350.c new file mode 100644 index 00000000..44226994 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1350.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1350 Unwind@1400e1350 + * Pseudocode, not original source. */ + +void Unwind_1400e1350(undefined8 param_1,longlong param_2) + +{ + FUN_14008ebf0((undefined8 *)(param_2 + 0x3b0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1360.c b/decomp/Agent_Release_x64/full/functions/0x1400e1360.c new file mode 100644 index 00000000..494de872 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1360.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1360 Unwind@1400e1360 + * Pseudocode, not original source. */ + +void Unwind_1400e1360(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1370.c b/decomp/Agent_Release_x64/full/functions/0x1400e1370.c new file mode 100644 index 00000000..0da6c500 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1370.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1370 Unwind@1400e1370 + * Pseudocode, not original source. */ + +void Unwind_1400e1370(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1380.c b/decomp/Agent_Release_x64/full/functions/0x1400e1380.c new file mode 100644 index 00000000..772a3938 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1380.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1380 Unwind@1400e1380 + * Pseudocode, not original source. */ + +void Unwind_1400e1380(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x128)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1390.c b/decomp/Agent_Release_x64/full/functions/0x1400e1390.c new file mode 100644 index 00000000..c897a376 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1390.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1390 Unwind@1400e1390 + * Pseudocode, not original source. */ + +void Unwind_1400e1390(undefined8 param_1,longlong param_2) + +{ + FUN_140043b60(*(longlong **)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e13a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e13a0.c new file mode 100644 index 00000000..1002474d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e13a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e13a0 Unwind@1400e13a0 + * Pseudocode, not original source. */ + +void Unwind_1400e13a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(*(longlong *)(param_2 + 0x20) + 8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e13b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e13b0.c new file mode 100644 index 00000000..054e9026 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e13b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e13b0 Unwind@1400e13b0 + * Pseudocode, not original source. */ + +void Unwind_1400e13b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(*(longlong *)(param_2 + 0x20) + 0x18),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e13c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e13c0.c new file mode 100644 index 00000000..f1bfe72e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e13c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e13c0 Unwind@1400e13c0 + * Pseudocode, not original source. */ + +void Unwind_1400e13c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(*(longlong *)(param_2 + 0x40) + 8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e13d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e13d0.c new file mode 100644 index 00000000..b557fbb3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e13d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e13d0 Unwind@1400e13d0 + * Pseudocode, not original source. */ + +void Unwind_1400e13d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(*(longlong *)(param_2 + 0x40) + 0x18),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e13e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e13e0.c new file mode 100644 index 00000000..fbe2a6d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e13e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e13e0 Unwind@1400e13e0 + * Pseudocode, not original source. */ + +void Unwind_1400e13e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(*(longlong *)(param_2 + 0x40) + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e13f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e13f0.c new file mode 100644 index 00000000..6b15bcf8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e13f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e13f0 Unwind@1400e13f0 + * Pseudocode, not original source. */ + +void Unwind_1400e13f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1400.c b/decomp/Agent_Release_x64/full/functions/0x1400e1400.c new file mode 100644 index 00000000..7de2b41f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1400.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1400 Unwind@1400e1400 + * Pseudocode, not original source. */ + +void Unwind_1400e1400(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(*(longlong *)(param_2 + 0x40) + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1410.c b/decomp/Agent_Release_x64/full/functions/0x1400e1410.c new file mode 100644 index 00000000..8c11bc6a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1410.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1410 Unwind@1400e1410 + * Pseudocode, not original source. */ + +void Unwind_1400e1410(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1420.c b/decomp/Agent_Release_x64/full/functions/0x1400e1420.c new file mode 100644 index 00000000..12074a4e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1420.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1420 Unwind@1400e1420 + * Pseudocode, not original source. */ + +void Unwind_1400e1420(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x48) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1430.c b/decomp/Agent_Release_x64/full/functions/0x1400e1430.c new file mode 100644 index 00000000..726fe655 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1430.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1430 Unwind@1400e1430 + * Pseudocode, not original source. */ + +void Unwind_1400e1430(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(*(longlong *)(param_2 + 0x80) + 8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1440.c b/decomp/Agent_Release_x64/full/functions/0x1400e1440.c new file mode 100644 index 00000000..ba893270 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1440.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1440 Unwind@1400e1440 + * Pseudocode, not original source. */ + +void Unwind_1400e1440(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(*(longlong *)(param_2 + 0x80) + 0x30,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1450.c b/decomp/Agent_Release_x64/full/functions/0x1400e1450.c new file mode 100644 index 00000000..0b5a78e9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1450.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1450 Unwind@1400e1450 + * Pseudocode, not original source. */ + +void Unwind_1400e1450(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(*(longlong *)(param_2 + 0x40) + 8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1460.c b/decomp/Agent_Release_x64/full/functions/0x1400e1460.c new file mode 100644 index 00000000..fe07e843 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1460.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1460 Unwind@1400e1460 + * Pseudocode, not original source. */ + +void Unwind_1400e1460(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1470.c b/decomp/Agent_Release_x64/full/functions/0x1400e1470.c new file mode 100644 index 00000000..762704f6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1470.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1470 Unwind@1400e1470 + * Pseudocode, not original source. */ + +void Unwind_1400e1470(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((*(uint *)(param_2 + 0x50) & 1) != 0) { + *(uint *)(param_2 + 0x50) = *(uint *)(param_2 + 0x50) & 0xfffffffe; + FUN_140053ff0(*(longlong **)(param_2 + 0x48),param_2,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e14a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e14a0.c new file mode 100644 index 00000000..45107637 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e14a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e14a0 Unwind@1400e14a0 + * Pseudocode, not original source. */ + +void Unwind_1400e14a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e14b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e14b0.c new file mode 100644 index 00000000..ef8753af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e14b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e14b0 Unwind@1400e14b0 + * Pseudocode, not original source. */ + +void Unwind_1400e14b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140053ff0((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e14c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e14c0.c new file mode 100644 index 00000000..6e367e95 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e14c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e14c0 Unwind@1400e14c0 + * Pseudocode, not original source. */ + +void Unwind_1400e14c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e14d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e14d0.c new file mode 100644 index 00000000..95393677 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e14d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e14d0 Unwind@1400e14d0 + * Pseudocode, not original source. */ + +void Unwind_1400e14d0(undefined8 param_1,longlong param_2) + +{ + FUN_14003e3d0((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e14e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e14e0.c new file mode 100644 index 00000000..342c503f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e14e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e14e0 Unwind@1400e14e0 + * Pseudocode, not original source. */ + +void Unwind_1400e14e0(undefined8 param_1,longlong param_2) + +{ + FUN_140043b60((longlong *)(param_2 + 0xa0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e14f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e14f0.c new file mode 100644 index 00000000..7e934f8a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e14f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e14f0 Unwind@1400e14f0 + * Pseudocode, not original source. */ + +void Unwind_1400e14f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0xb8) + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1510.c b/decomp/Agent_Release_x64/full/functions/0x1400e1510.c new file mode 100644 index 00000000..1d06a6a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1510.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1510 Unwind@1400e1510 + * Pseudocode, not original source. */ + +void Unwind_1400e1510(undefined8 param_1,longlong param_2) + +{ + FUN_140043b60((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1520.c b/decomp/Agent_Release_x64/full/functions/0x1400e1520.c new file mode 100644 index 00000000..1af0e639 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1520.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1520 Unwind@1400e1520 + * Pseudocode, not original source. */ + +void Unwind_1400e1520(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0xb0) + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1540.c b/decomp/Agent_Release_x64/full/functions/0x1400e1540.c new file mode 100644 index 00000000..f87dd22e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1540.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1540 Unwind@1400e1540 + * Pseudocode, not original source. */ + +void Unwind_1400e1540(undefined8 param_1,longlong param_2) + +{ + FUN_140043b60((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1550.c b/decomp/Agent_Release_x64/full/functions/0x1400e1550.c new file mode 100644 index 00000000..bcf74b03 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1550.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1550 Unwind@1400e1550 + * Pseudocode, not original source. */ + +void Unwind_1400e1550(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 200),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1560.c b/decomp/Agent_Release_x64/full/functions/0x1400e1560.c new file mode 100644 index 00000000..2d93366f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1560.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1560 Unwind@1400e1560 + * Pseudocode, not original source. */ + +void Unwind_1400e1560(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1570.c b/decomp/Agent_Release_x64/full/functions/0x1400e1570.c new file mode 100644 index 00000000..289f4161 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1570.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1570 Unwind@1400e1570 + * Pseudocode, not original source. */ + +void Unwind_1400e1570(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(*(longlong *)(param_2 + 0x50) + 8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1580.c b/decomp/Agent_Release_x64/full/functions/0x1400e1580.c new file mode 100644 index 00000000..b5b0ac53 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1580.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1580 Unwind@1400e1580 + * Pseudocode, not original source. */ + +void Unwind_1400e1580(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(*(longlong *)(param_2 + 0x50) + 0x18),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1590.c b/decomp/Agent_Release_x64/full/functions/0x1400e1590.c new file mode 100644 index 00000000..4970149b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1590.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1590 Unwind@1400e1590 + * Pseudocode, not original source. */ + +void Unwind_1400e1590(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(*(longlong *)(param_2 + 0x50) + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e15a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e15a0.c new file mode 100644 index 00000000..3d62c853 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e15a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e15a0 Unwind@1400e15a0 + * Pseudocode, not original source. */ + +void Unwind_1400e15a0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x50) + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e15b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e15b0.c new file mode 100644 index 00000000..36831f30 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e15b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e15b0 Unwind@1400e15b0 + * Pseudocode, not original source. */ + +void Unwind_1400e15b0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(*(longlong *)(param_2 + 0x50) + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e15c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e15c0.c new file mode 100644 index 00000000..da69ef92 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e15c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e15c0 Unwind@1400e15c0 + * Pseudocode, not original source. */ + +void Unwind_1400e15c0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x50) + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e15d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e15d0.c new file mode 100644 index 00000000..33170f37 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e15d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e15d0 Unwind@1400e15d0 + * Pseudocode, not original source. */ + +void Unwind_1400e15d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e15e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e15e0.c new file mode 100644 index 00000000..c5c3853d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e15e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e15e0 Unwind@1400e15e0 + * Pseudocode, not original source. */ + +void Unwind_1400e15e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e15f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e15f0.c new file mode 100644 index 00000000..0c56e7cb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e15f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e15f0 Unwind@1400e15f0 + * Pseudocode, not original source. */ + +void Unwind_1400e15f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x30,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1600.c b/decomp/Agent_Release_x64/full/functions/0x1400e1600.c new file mode 100644 index 00000000..9845d629 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1600.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1600 Unwind@1400e1600 + * Pseudocode, not original source. */ + +void Unwind_1400e1600(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1620.c b/decomp/Agent_Release_x64/full/functions/0x1400e1620.c new file mode 100644 index 00000000..ddf4186a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1620.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1620 Unwind@1400e1620 + * Pseudocode, not original source. */ + +void Unwind_1400e1620(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1640.c b/decomp/Agent_Release_x64/full/functions/0x1400e1640.c new file mode 100644 index 00000000..8befddf8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1640.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1640 Unwind@1400e1640 + * Pseudocode, not original source. */ + +void Unwind_1400e1640(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x160),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1650.c b/decomp/Agent_Release_x64/full/functions/0x1400e1650.c new file mode 100644 index 00000000..bea36c3a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1650.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1650 Unwind@1400e1650 + * Pseudocode, not original source. */ + +void Unwind_1400e1650(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1660.c b/decomp/Agent_Release_x64/full/functions/0x1400e1660.c new file mode 100644 index 00000000..0b972a0e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1660.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1660 Unwind@1400e1660 + * Pseudocode, not original source. */ + +void Unwind_1400e1660(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x160),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1670.c b/decomp/Agent_Release_x64/full/functions/0x1400e1670.c new file mode 100644 index 00000000..513e6739 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1670.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1670 Unwind@1400e1670 + * Pseudocode, not original source. */ + +void Unwind_1400e1670(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1680.c b/decomp/Agent_Release_x64/full/functions/0x1400e1680.c new file mode 100644 index 00000000..930e8a6e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1680.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1680 Unwind@1400e1680 + * Pseudocode, not original source. */ + +void Unwind_1400e1680(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1690.c b/decomp/Agent_Release_x64/full/functions/0x1400e1690.c new file mode 100644 index 00000000..5fbaa364 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1690.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1690 Unwind@1400e1690 + * Pseudocode, not original source. */ + +void Unwind_1400e1690(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e16a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e16a0.c new file mode 100644 index 00000000..40290956 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e16a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e16a0 Unwind@1400e16a0 + * Pseudocode, not original source. */ + +void Unwind_1400e16a0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e16b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e16b0.c new file mode 100644 index 00000000..78abc19a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e16b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e16b0 Unwind@1400e16b0 + * Pseudocode, not original source. */ + +void Unwind_1400e16b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e16c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e16c0.c new file mode 100644 index 00000000..03e83d74 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e16c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e16c0 Unwind@1400e16c0 + * Pseudocode, not original source. */ + +void Unwind_1400e16c0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xe50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e16e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e16e0.c new file mode 100644 index 00000000..ec60b965 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e16e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e16e0 Unwind@1400e16e0 + * Pseudocode, not original source. */ + +void Unwind_1400e16e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x1d0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e16f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e16f0.c new file mode 100644 index 00000000..acf87fb6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e16f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e16f0 Unwind@1400e16f0 + * Pseudocode, not original source. */ + +void Unwind_1400e16f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xe50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1710.c b/decomp/Agent_Release_x64/full/functions/0x1400e1710.c new file mode 100644 index 00000000..a566cde0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1710.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1710 Unwind@1400e1710 + * Pseudocode, not original source. */ + +void Unwind_1400e1710(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x20) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1720.c b/decomp/Agent_Release_x64/full/functions/0x1400e1720.c new file mode 100644 index 00000000..32f1c3be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1720.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1720 Unwind@1400e1720 + * Pseudocode, not original source. */ + +void Unwind_1400e1720(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1730.c b/decomp/Agent_Release_x64/full/functions/0x1400e1730.c new file mode 100644 index 00000000..21b36707 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1730.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1730 Unwind@1400e1730 + * Pseudocode, not original source. */ + +void Unwind_1400e1730(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0xa8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1740.c b/decomp/Agent_Release_x64/full/functions/0x1400e1740.c new file mode 100644 index 00000000..ee313ab2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1740.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1740 Unwind@1400e1740 + * Pseudocode, not original source. */ + +void Unwind_1400e1740(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x90,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1750.c b/decomp/Agent_Release_x64/full/functions/0x1400e1750.c new file mode 100644 index 00000000..c97e1ec1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1750.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1750 Unwind@1400e1750 + * Pseudocode, not original source. */ + +void Unwind_1400e1750(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1760.c b/decomp/Agent_Release_x64/full/functions/0x1400e1760.c new file mode 100644 index 00000000..ecd11a18 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1760.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1760 Unwind@1400e1760 + * Pseudocode, not original source. */ + +void Unwind_1400e1760(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1770.c b/decomp/Agent_Release_x64/full/functions/0x1400e1770.c new file mode 100644 index 00000000..0c90537a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1770.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1770 Unwind@1400e1770 + * Pseudocode, not original source. */ + +void Unwind_1400e1770(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1780.c b/decomp/Agent_Release_x64/full/functions/0x1400e1780.c new file mode 100644 index 00000000..3a224988 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1780.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1780 Unwind@1400e1780 + * Pseudocode, not original source. */ + +void Unwind_1400e1780(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0xa8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1790.c b/decomp/Agent_Release_x64/full/functions/0x1400e1790.c new file mode 100644 index 00000000..839632a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1790.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1790 Unwind@1400e1790 + * Pseudocode, not original source. */ + +void Unwind_1400e1790(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(param_2 + 0xb0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e17a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e17a0.c new file mode 100644 index 00000000..c6f4382e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e17a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e17a0 Unwind@1400e17a0 + * Pseudocode, not original source. */ + +void Unwind_1400e17a0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e17b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e17b0.c new file mode 100644 index 00000000..3c052522 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e17b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e17b0 Unwind@1400e17b0 + * Pseudocode, not original source. */ + +void Unwind_1400e17b0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e17c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e17c0.c new file mode 100644 index 00000000..62ddff57 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e17c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e17c0 Unwind@1400e17c0 + * Pseudocode, not original source. */ + +void Unwind_1400e17c0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x108)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e17d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e17d0.c new file mode 100644 index 00000000..a1e58565 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e17d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e17d0 Unwind@1400e17d0 + * Pseudocode, not original source. */ + +void Unwind_1400e17d0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x20) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e17e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e17e0.c new file mode 100644 index 00000000..d2e3d553 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e17e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e17e0 Unwind@1400e17e0 + * Pseudocode, not original source. */ + +void Unwind_1400e17e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e17f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e17f0.c new file mode 100644 index 00000000..3fab936a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e17f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e17f0 Unwind@1400e17f0 + * Pseudocode, not original source. */ + +void Unwind_1400e17f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1800.c b/decomp/Agent_Release_x64/full/functions/0x1400e1800.c new file mode 100644 index 00000000..e81d6950 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1800.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1800 Unwind@1400e1800 + * Pseudocode, not original source. */ + +void Unwind_1400e1800(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x1d0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1810.c b/decomp/Agent_Release_x64/full/functions/0x1400e1810.c new file mode 100644 index 00000000..a10db32c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1810.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1810 Unwind@1400e1810 + * Pseudocode, not original source. */ + +void Unwind_1400e1810(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1820.c b/decomp/Agent_Release_x64/full/functions/0x1400e1820.c new file mode 100644 index 00000000..c61ba1b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1820.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1820 Unwind@1400e1820 + * Pseudocode, not original source. */ + +void Unwind_1400e1820(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x118)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1830.c b/decomp/Agent_Release_x64/full/functions/0x1400e1830.c new file mode 100644 index 00000000..c35296af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1830.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1830 Unwind@1400e1830 + * Pseudocode, not original source. */ + +void Unwind_1400e1830(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xf0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1840.c b/decomp/Agent_Release_x64/full/functions/0x1400e1840.c new file mode 100644 index 00000000..675a6cce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1840.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1840 Unwind@1400e1840 + * Pseudocode, not original source. */ + +void Unwind_1400e1840(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1850.c b/decomp/Agent_Release_x64/full/functions/0x1400e1850.c new file mode 100644 index 00000000..86287f50 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1850.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1850 Unwind@1400e1850 + * Pseudocode, not original source. */ + +void Unwind_1400e1850(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1860.c b/decomp/Agent_Release_x64/full/functions/0x1400e1860.c new file mode 100644 index 00000000..848b10a4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1860.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1860 Unwind@1400e1860 + * Pseudocode, not original source. */ + +void Unwind_1400e1860(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x140)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1870.c b/decomp/Agent_Release_x64/full/functions/0x1400e1870.c new file mode 100644 index 00000000..db591414 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1870.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1870 Catch@1400e1870 + * Pseudocode, not original source. */ + +undefined8 +Catch_1400e1870(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0x1c0); + if (*(longlong *)(lVar1 + 0x758) != 0) { + FUN_14002ed90((exception *)(param_2 + 0x40),*(undefined8 *)(param_2 + 0x160),param_3,param_4); + *(undefined4 *)(param_2 + 0x58) = *(undefined4 *)(*(longlong *)(param_2 + 0x1c8) + 0x70); + plVar2 = *(longlong **)(lVar1 + 0x758); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x40); + FUN_14002ed50((exception *)(param_2 + 0x40)); + } + return 0x14005988c; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e18e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e18e0.c new file mode 100644 index 00000000..bce16630 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e18e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e18e0 Unwind@1400e18e0 + * Pseudocode, not original source. */ + +void Unwind_1400e18e0(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e18f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e18f0.c new file mode 100644 index 00000000..3e00bca7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e18f0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e18f0 Catch@1400e18f0 + * Pseudocode, not original source. */ + +undefined8 +Catch_1400e18f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0x1c0); + if (*(longlong *)(lVar1 + 0x758) != 0) { + FUN_14002f430((exception *)(param_2 + 0x40),*(longlong **)(param_2 + 0x150),param_3,param_4); + *(undefined4 *)(param_2 + 0x58) = *(undefined4 *)(*(longlong *)(param_2 + 0x1c8) + 0x70); + plVar2 = *(longlong **)(lVar1 + 0x758); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x40); + FUN_14002ed50((exception *)(param_2 + 0x40)); + } + return 0x14005988c; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1960.c b/decomp/Agent_Release_x64/full/functions/0x1400e1960.c new file mode 100644 index 00000000..8d2036be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1960.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1960 Unwind@1400e1960 + * Pseudocode, not original source. */ + +void Unwind_1400e1960(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1970.c b/decomp/Agent_Release_x64/full/functions/0x1400e1970.c new file mode 100644 index 00000000..220d3265 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1970.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1970 Catch@1400e1970 + * Pseudocode, not original source. */ + +undefined8 +Catch_1400e1970(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0x1c0); + if (*(longlong *)(lVar1 + 0x758) != 0) { + FUN_14002f4b0((exception *)(param_2 + 0x40),*(longlong *)(param_2 + 0x178),param_3,param_4); + *(undefined4 *)(param_2 + 0x58) = *(undefined4 *)(*(longlong *)(param_2 + 0x1c8) + 0x70); + plVar2 = *(longlong **)(lVar1 + 0x758); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x40); + FUN_14002ed50((exception *)(param_2 + 0x40)); + } + return 0x14005988c; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e19e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e19e0.c new file mode 100644 index 00000000..47fe8405 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e19e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e19e0 Unwind@1400e19e0 + * Pseudocode, not original source. */ + +void Unwind_1400e19e0(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e19f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e19f0.c new file mode 100644 index 00000000..9687de22 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e19f0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e19f0 Catch_All@1400e19f0 + * Pseudocode, not original source. */ + +undefined8 Catch_All_1400e19f0(void) + +{ + return 0x140059ed3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1a10.c b/decomp/Agent_Release_x64/full/functions/0x1400e1a10.c new file mode 100644 index 00000000..a512cda6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1a10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1a10 Unwind@1400e1a10 + * Pseudocode, not original source. */ + +void Unwind_1400e1a10(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(*(longlong *)(param_2 + 0x48) + 8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1a20.c b/decomp/Agent_Release_x64/full/functions/0x1400e1a20.c new file mode 100644 index 00000000..4bd35726 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1a20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1a20 Unwind@1400e1a20 + * Pseudocode, not original source. */ + +void Unwind_1400e1a20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1a30.c b/decomp/Agent_Release_x64/full/functions/0x1400e1a30.c new file mode 100644 index 00000000..13d0cb6e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1a30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1a30 Unwind@1400e1a30 + * Pseudocode, not original source. */ + +void Unwind_1400e1a30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0(*(undefined4 **)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1a40.c b/decomp/Agent_Release_x64/full/functions/0x1400e1a40.c new file mode 100644 index 00000000..18dab4d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1a40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1a40 Unwind@1400e1a40 + * Pseudocode, not original source. */ + +void Unwind_1400e1a40(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1a60.c b/decomp/Agent_Release_x64/full/functions/0x1400e1a60.c new file mode 100644 index 00000000..b0733b1a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1a60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1a60 Unwind@1400e1a60 + * Pseudocode, not original source. */ + +void Unwind_1400e1a60(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(*(longlong *)(param_2 + 0x78) + 8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1a70.c b/decomp/Agent_Release_x64/full/functions/0x1400e1a70.c new file mode 100644 index 00000000..0f7ff17e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1a70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1a70 Unwind@1400e1a70 + * Pseudocode, not original source. */ + +void Unwind_1400e1a70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xa0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1a80.c b/decomp/Agent_Release_x64/full/functions/0x1400e1a80.c new file mode 100644 index 00000000..da9addea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1a80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1a80 Unwind@1400e1a80 + * Pseudocode, not original source. */ + +void Unwind_1400e1a80(undefined8 param_1,longlong param_2) + +{ + FUN_14003dfd0((undefined8 *)(param_2 + 0x2d0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1a90.c b/decomp/Agent_Release_x64/full/functions/0x1400e1a90.c new file mode 100644 index 00000000..99ab12d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1a90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1a90 Unwind@1400e1a90 + * Pseudocode, not original source. */ + +void Unwind_1400e1a90(undefined8 param_1,longlong param_2) + +{ + FUN_14003dfd0((undefined8 *)(param_2 + 0x480)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1aa0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1aa0.c new file mode 100644 index 00000000..81991a2e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1aa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1aa0 Unwind@1400e1aa0 + * Pseudocode, not original source. */ + +void Unwind_1400e1aa0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1ab0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1ab0.c new file mode 100644 index 00000000..b26efd3a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1ab0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1ab0 Unwind@1400e1ab0 + * Pseudocode, not original source. */ + +void Unwind_1400e1ab0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140057120(param_2 + 0x120,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1ac0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1ac0.c new file mode 100644 index 00000000..0f966de9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1ac0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1ac0 Unwind@1400e1ac0 + * Pseudocode, not original source. */ + +void Unwind_1400e1ac0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x128); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1ad0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1ad0.c new file mode 100644 index 00000000..5ec84cb9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1ad0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1ad0 Unwind@1400e1ad0 + * Pseudocode, not original source. */ + +void Unwind_1400e1ad0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x60) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1ae0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1ae0.c new file mode 100644 index 00000000..d5ffed40 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1ae0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1ae0 Unwind@1400e1ae0 + * Pseudocode, not original source. */ + +void Unwind_1400e1ae0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x60) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1af0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1af0.c new file mode 100644 index 00000000..63baf2ca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1af0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1af0 Unwind@1400e1af0 + * Pseudocode, not original source. */ + +void Unwind_1400e1af0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1b00.c b/decomp/Agent_Release_x64/full/functions/0x1400e1b00.c new file mode 100644 index 00000000..c63e49df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1b00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1b00 Unwind@1400e1b00 + * Pseudocode, not original source. */ + +void Unwind_1400e1b00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140057120(param_2 + 0x120,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1b10.c b/decomp/Agent_Release_x64/full/functions/0x1400e1b10.c new file mode 100644 index 00000000..3a003ab3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1b10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1b10 Unwind@1400e1b10 + * Pseudocode, not original source. */ + +void Unwind_1400e1b10(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x128); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1b20.c b/decomp/Agent_Release_x64/full/functions/0x1400e1b20.c new file mode 100644 index 00000000..f4efbbfc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1b20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1b20 Unwind@1400e1b20 + * Pseudocode, not original source. */ + +void Unwind_1400e1b20(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x78) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1b30.c b/decomp/Agent_Release_x64/full/functions/0x1400e1b30.c new file mode 100644 index 00000000..4ab15b7a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1b30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1b30 Unwind@1400e1b30 + * Pseudocode, not original source. */ + +void Unwind_1400e1b30(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x78) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1b40.c b/decomp/Agent_Release_x64/full/functions/0x1400e1b40.c new file mode 100644 index 00000000..25fef6e9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1b40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1b40 Unwind@1400e1b40 + * Pseudocode, not original source. */ + +void Unwind_1400e1b40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1b50.c b/decomp/Agent_Release_x64/full/functions/0x1400e1b50.c new file mode 100644 index 00000000..7aace1e6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1b50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1b50 Unwind@1400e1b50 + * Pseudocode, not original source. */ + +void Unwind_1400e1b50(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1b60.c b/decomp/Agent_Release_x64/full/functions/0x1400e1b60.c new file mode 100644 index 00000000..1cb27f22 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1b60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1b60 Unwind@1400e1b60 + * Pseudocode, not original source. */ + +void Unwind_1400e1b60(undefined8 param_1,longlong param_2) + +{ + FUN_14003dfd0((undefined8 *)(param_2 + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1b70.c b/decomp/Agent_Release_x64/full/functions/0x1400e1b70.c new file mode 100644 index 00000000..50f8d088 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1b70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1b70 Unwind@1400e1b70 + * Pseudocode, not original source. */ + +void Unwind_1400e1b70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x1120,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1b80.c b/decomp/Agent_Release_x64/full/functions/0x1400e1b80.c new file mode 100644 index 00000000..3496867f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1b80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1b80 Unwind@1400e1b80 + * Pseudocode, not original source. */ + +void Unwind_1400e1b80(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x2a30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1ba0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1ba0.c new file mode 100644 index 00000000..4ff5b924 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1ba0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1ba0 Unwind@1400e1ba0 + * Pseudocode, not original source. */ + +void Unwind_1400e1ba0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x1db0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1bb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1bb0.c new file mode 100644 index 00000000..25ae7625 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1bb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1bb0 Unwind@1400e1bb0 + * Pseudocode, not original source. */ + +void Unwind_1400e1bb0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x2a30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1bd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1bd0.c new file mode 100644 index 00000000..30df10f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1bd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1bd0 Unwind@1400e1bd0 + * Pseudocode, not original source. */ + +void Unwind_1400e1bd0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xc0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1be0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1be0.c new file mode 100644 index 00000000..4815b88e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1be0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1be0 Unwind@1400e1be0 + * Pseudocode, not original source. */ + +void Unwind_1400e1be0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x1da0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1c00.c b/decomp/Agent_Release_x64/full/functions/0x1400e1c00.c new file mode 100644 index 00000000..fcfdd9b2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1c00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1c00 Unwind@1400e1c00 + * Pseudocode, not original source. */ + +void Unwind_1400e1c00(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x78) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1c10.c b/decomp/Agent_Release_x64/full/functions/0x1400e1c10.c new file mode 100644 index 00000000..2203ea8b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1c10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1c10 Unwind@1400e1c10 + * Pseudocode, not original source. */ + +void Unwind_1400e1c10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1c20.c b/decomp/Agent_Release_x64/full/functions/0x1400e1c20.c new file mode 100644 index 00000000..9f871092 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1c20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1c20 Unwind@1400e1c20 + * Pseudocode, not original source. */ + +void Unwind_1400e1c20(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140082810(*(undefined8 **)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1c30.c b/decomp/Agent_Release_x64/full/functions/0x1400e1c30.c new file mode 100644 index 00000000..7970bc42 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1c30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1c30 Unwind@1400e1c30 + * Pseudocode, not original source. */ + +void Unwind_1400e1c30(undefined8 param_1,longlong param_2) + +{ + FUN_140030db0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1c40.c b/decomp/Agent_Release_x64/full/functions/0x1400e1c40.c new file mode 100644 index 00000000..72b27351 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1c40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1c40 Unwind@1400e1c40 + * Pseudocode, not original source. */ + +void Unwind_1400e1c40(undefined8 param_1,longlong param_2) + +{ + FUN_14003c710((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1c50.c b/decomp/Agent_Release_x64/full/functions/0x1400e1c50.c new file mode 100644 index 00000000..69b70a8d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1c50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1c50 Unwind@1400e1c50 + * Pseudocode, not original source. */ + +void Unwind_1400e1c50(undefined8 param_1,longlong param_2) + +{ + FUN_14003c750((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1c60.c b/decomp/Agent_Release_x64/full/functions/0x1400e1c60.c new file mode 100644 index 00000000..6688ee04 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1c60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1c60 Unwind@1400e1c60 + * Pseudocode, not original source. */ + +void Unwind_1400e1c60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400a27f0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1c70.c b/decomp/Agent_Release_x64/full/functions/0x1400e1c70.c new file mode 100644 index 00000000..cdafa31f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1c70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1c70 Unwind@1400e1c70 + * Pseudocode, not original source. */ + +void Unwind_1400e1c70(undefined8 param_1,longlong param_2) + +{ + FUN_14003c6c0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1c90.c b/decomp/Agent_Release_x64/full/functions/0x1400e1c90.c new file mode 100644 index 00000000..aa672dc1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1c90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1c90 Unwind@1400e1c90 + * Pseudocode, not original source. */ + +void Unwind_1400e1c90(undefined8 param_1,longlong param_2) + +{ + FUN_14003c6d0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1cb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1cb0.c new file mode 100644 index 00000000..0937ffa3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1cb0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1cb0 Unwind@1400e1cb0 + * Pseudocode, not original source. */ + +void Unwind_1400e1cb0(undefined8 param_1,LPVOID param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14005a350((undefined8 *)(*(longlong *)((longlong)param_2 + 0x80) + 0xb8),param_2,param_3, + param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1cd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1cd0.c new file mode 100644 index 00000000..a4f4d3c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1cd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1cd0 Unwind@1400e1cd0 + * Pseudocode, not original source. */ + +void Unwind_1400e1cd0(undefined8 param_1,longlong param_2) + +{ + FUN_14003c7d0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x118)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1cf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1cf0.c new file mode 100644 index 00000000..8cd9becf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1cf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1cf0 Unwind@1400e1cf0 + * Pseudocode, not original source. */ + +void Unwind_1400e1cf0(undefined8 param_1,longlong param_2) + +{ + FUN_14003c790((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1d10.c b/decomp/Agent_Release_x64/full/functions/0x1400e1d10.c new file mode 100644 index 00000000..901189f6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1d10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1d10 Unwind@1400e1d10 + * Pseudocode, not original source. */ + +void Unwind_1400e1d10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x80) + 0x128),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1d30.c b/decomp/Agent_Release_x64/full/functions/0x1400e1d30.c new file mode 100644 index 00000000..9a70888f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1d30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1d30 Unwind@1400e1d30 + * Pseudocode, not original source. */ + +void Unwind_1400e1d30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x80) + 0x160),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1d50.c b/decomp/Agent_Release_x64/full/functions/0x1400e1d50.c new file mode 100644 index 00000000..1d737087 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1d50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1d50 Unwind@1400e1d50 + * Pseudocode, not original source. */ + +void Unwind_1400e1d50(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(*(longlong *)(param_2 + 0x80) + 0x210)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1d70.c b/decomp/Agent_Release_x64/full/functions/0x1400e1d70.c new file mode 100644 index 00000000..7d3167c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1d70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1d70 Unwind@1400e1d70 + * Pseudocode, not original source. */ + +void Unwind_1400e1d70(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(*(longlong *)(param_2 + 0x80) + 0x218)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1d90.c b/decomp/Agent_Release_x64/full/functions/0x1400e1d90.c new file mode 100644 index 00000000..2d5a3b86 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1d90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1d90 Unwind@1400e1d90 + * Pseudocode, not original source. */ + +void Unwind_1400e1d90(undefined8 param_1,longlong param_2) + +{ + FUN_140043ca0((char *)(*(longlong *)(param_2 + 0x80) + 0x280)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1db0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1db0.c new file mode 100644 index 00000000..6bdc6a6e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1db0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1db0 Unwind@1400e1db0 + * Pseudocode, not original source. */ + +void Unwind_1400e1db0(undefined8 param_1,longlong param_2) + +{ + FUN_140054180((char *)(*(longlong *)(param_2 + 0x80) + 0x2d8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1dd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1dd0.c new file mode 100644 index 00000000..25e3d7ed --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1dd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1dd0 Unwind@1400e1dd0 + * Pseudocode, not original source. */ + +void Unwind_1400e1dd0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400414f0((char *)(*(longlong *)(param_2 + 0x80) + 0x388)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1df0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1df0.c new file mode 100644 index 00000000..c6a8f254 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1df0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1df0 Unwind@1400e1df0 + * Pseudocode, not original source. */ + +void Unwind_1400e1df0(undefined8 param_1,wchar_t *param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_14003e230((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x3e0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1e10.c b/decomp/Agent_Release_x64/full/functions/0x1400e1e10.c new file mode 100644 index 00000000..897473a9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1e10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1e10 Unwind@1400e1e10 + * Pseudocode, not original source. */ + +void Unwind_1400e1e10(undefined8 param_1,LPVOID param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140059ec0((char *)(*(longlong *)((longlong)param_2 + 0x80) + 0x400),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1e30.c b/decomp/Agent_Release_x64/full/functions/0x1400e1e30.c new file mode 100644 index 00000000..07321665 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1e30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1e30 Unwind@1400e1e30 + * Pseudocode, not original source. */ + +void Unwind_1400e1e30(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14005a500((longlong *)(param_2[0x10] + 0x458),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1e50.c b/decomp/Agent_Release_x64/full/functions/0x1400e1e50.c new file mode 100644 index 00000000..da79767b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1e50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1e50 Unwind@1400e1e50 + * Pseudocode, not original source. */ + +void Unwind_1400e1e50(undefined8 param_1,longlong param_2) + +{ + FUN_140092fb0((longlong *)(*(longlong *)(param_2 + 0x80) + 0x478)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1e70.c b/decomp/Agent_Release_x64/full/functions/0x1400e1e70.c new file mode 100644 index 00000000..d15dcd74 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1e70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1e70 Unwind@1400e1e70 + * Pseudocode, not original source. */ + +void Unwind_1400e1e70(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140085260((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x480)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1e90.c b/decomp/Agent_Release_x64/full/functions/0x1400e1e90.c new file mode 100644 index 00000000..2acbedf8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1e90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1e90 Unwind@1400e1e90 + * Pseudocode, not original source. */ + +void Unwind_1400e1e90(undefined8 param_1,longlong param_2) + +{ + FUN_140081fe0(*(undefined8 **)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1ea0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1ea0.c new file mode 100644 index 00000000..bab59dd4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1ea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1ea0 Unwind@1400e1ea0 + * Pseudocode, not original source. */ + +void Unwind_1400e1ea0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140081fe0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x4a8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1ec0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1ec0.c new file mode 100644 index 00000000..3b64e39c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1ec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1ec0 Unwind@1400e1ec0 + * Pseudocode, not original source. */ + +void Unwind_1400e1ec0(undefined8 param_1,longlong param_2) + +{ + FUN_14004dbb0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x6c8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1ee0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1ee0.c new file mode 100644 index 00000000..c9923297 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1ee0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1ee0 Unwind@1400e1ee0 + * Pseudocode, not original source. */ + +void Unwind_1400e1ee0(undefined8 param_1,longlong param_2) + +{ + FUN_140052870((char *)(*(longlong *)(param_2 + 0x80) + 0x6f0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1f00.c b/decomp/Agent_Release_x64/full/functions/0x1400e1f00.c new file mode 100644 index 00000000..65493868 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1f00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1f00 Unwind@1400e1f00 + * Pseudocode, not original source. */ + +void Unwind_1400e1f00(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(*(longlong *)(param_2 + 0x80) + 0x748),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1f20.c b/decomp/Agent_Release_x64/full/functions/0x1400e1f20.c new file mode 100644 index 00000000..6fa506f9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1f20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1f20 Unwind@1400e1f20 + * Pseudocode, not original source. */ + +void Unwind_1400e1f20(undefined8 param_1,longlong param_2,undefined8 param_3,longlong param_4) + +{ + FUN_140043c20((longlong *)(*(longlong *)(param_2 + 0x80) + 0x750),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1f40.c b/decomp/Agent_Release_x64/full/functions/0x1400e1f40.c new file mode 100644 index 00000000..b0c1d6d5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1f40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1f40 Unwind@1400e1f40 + * Pseudocode, not original source. */ + +void Unwind_1400e1f40(undefined8 param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_14003e1c0((undefined8 *)(param_2[0x10] + 0x788),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1f60.c b/decomp/Agent_Release_x64/full/functions/0x1400e1f60.c new file mode 100644 index 00000000..4855b345 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1f60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1f60 Unwind@1400e1f60 + * Pseudocode, not original source. */ + +void Unwind_1400e1f60(undefined8 param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_14003e1c0((undefined8 *)(param_2[0x10] + 0x790),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1f80.c b/decomp/Agent_Release_x64/full/functions/0x1400e1f80.c new file mode 100644 index 00000000..f751481b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1f80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1f80 Unwind@1400e1f80 + * Pseudocode, not original source. */ + +void Unwind_1400e1f80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x80) + 0x798),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1fa0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1fa0.c new file mode 100644 index 00000000..822944dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1fa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1fa0 Unwind@1400e1fa0 + * Pseudocode, not original source. */ + +void Unwind_1400e1fa0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x80) + 2000),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1fc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1fc0.c new file mode 100644 index 00000000..18df0e3d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1fc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1fc0 Unwind@1400e1fc0 + * Pseudocode, not original source. */ + +void Unwind_1400e1fc0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14003ead0((longlong *)(*(longlong *)(param_2 + 0x80) + 0x808)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e1fe0.c b/decomp/Agent_Release_x64/full/functions/0x1400e1fe0.c new file mode 100644 index 00000000..0beedf4d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e1fe0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e1fe0 Unwind@1400e1fe0 + * Pseudocode, not original source. */ + +void Unwind_1400e1fe0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14003ebe0((longlong *)(*(longlong *)(param_2 + 0x80) + 0x828)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2000.c b/decomp/Agent_Release_x64/full/functions/0x1400e2000.c new file mode 100644 index 00000000..b1b5fea6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2000.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2000 Unwind@1400e2000 + * Pseudocode, not original source. */ + +void Unwind_1400e2000(undefined8 param_1,longlong param_2) + +{ + FUN_14003c840(*(longlong *)(param_2 + 0x80) + 0x840); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2020.c b/decomp/Agent_Release_x64/full/functions/0x1400e2020.c new file mode 100644 index 00000000..1f7d3b5d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2020.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2020 Unwind@1400e2020 + * Pseudocode, not original source. */ + +void Unwind_1400e2020(undefined8 param_1,longlong param_2) + +{ + FUN_1400a0e80((longlong *)(*(longlong *)(param_2 + 0x80) + 0xc48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2040.c b/decomp/Agent_Release_x64/full/functions/0x1400e2040.c new file mode 100644 index 00000000..40f040f8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2040.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2040 Unwind@1400e2040 + * Pseudocode, not original source. */ + +void Unwind_1400e2040(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0xc50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2060.c b/decomp/Agent_Release_x64/full/functions/0x1400e2060.c new file mode 100644 index 00000000..21b70487 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2060.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2060 Unwind@1400e2060 + * Pseudocode, not original source. */ + +void Unwind_1400e2060(undefined8 param_1,longlong param_2) + +{ + FUN_140043ca0((char *)(*(longlong *)(param_2 + 0x80) + 0xc78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2080.c b/decomp/Agent_Release_x64/full/functions/0x1400e2080.c new file mode 100644 index 00000000..71f927da --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2080.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2080 Unwind@1400e2080 + * Pseudocode, not original source. */ + +void Unwind_1400e2080(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140039bf0(*(undefined8 **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2090.c b/decomp/Agent_Release_x64/full/functions/0x1400e2090.c new file mode 100644 index 00000000..2f593684 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2090.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2090 Unwind@1400e2090 + * Pseudocode, not original source. */ + +void Unwind_1400e2090(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140039bf0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0xcd0),param_2,param_3,param_4) + ; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e20b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e20b0.c new file mode 100644 index 00000000..5916a54a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e20b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e20b0 Unwind@1400e20b0 + * Pseudocode, not original source. */ + +void Unwind_1400e20b0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400414f0((char *)(*(longlong *)(param_2 + 0x80) + 0x16e8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e20d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e20d0.c new file mode 100644 index 00000000..fd0fdefb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e20d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e20d0 Unwind@1400e20d0 + * Pseudocode, not original source. */ + +void Unwind_1400e20d0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140043ca0((char *)(*(longlong *)(param_2 + 0x80) + 0x1740)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e20f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e20f0.c new file mode 100644 index 00000000..972fb288 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e20f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e20f0 Unwind@1400e20f0 + * Pseudocode, not original source. */ + +void Unwind_1400e20f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003e260((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x17a0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2110.c b/decomp/Agent_Release_x64/full/functions/0x1400e2110.c new file mode 100644 index 00000000..46c3a2d1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2110.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2110 Unwind@1400e2110 + * Pseudocode, not original source. */ + +void Unwind_1400e2110(undefined8 param_1,longlong param_2) + +{ + FUN_14003e2a0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x17c8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2130.c b/decomp/Agent_Release_x64/full/functions/0x1400e2130.c new file mode 100644 index 00000000..2dc49d73 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2130.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2130 Unwind@1400e2130 + * Pseudocode, not original source. */ + +void Unwind_1400e2130(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14003e3a0((undefined8 *)(param_2[0x10] + 0x17f0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2150.c b/decomp/Agent_Release_x64/full/functions/0x1400e2150.c new file mode 100644 index 00000000..b3bacf91 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2150.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2150 Unwind@1400e2150 + * Pseudocode, not original source. */ + +void Unwind_1400e2150(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(*(longlong *)(param_2 + 0x80) + 0x1808),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2170.c b/decomp/Agent_Release_x64/full/functions/0x1400e2170.c new file mode 100644 index 00000000..f55ab072 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2170.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2170 Unwind@1400e2170 + * Pseudocode, not original source. */ + +void Unwind_1400e2170(undefined8 param_1,longlong param_2) + +{ + FUN_14002b6f0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x1848)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2190.c b/decomp/Agent_Release_x64/full/functions/0x1400e2190.c new file mode 100644 index 00000000..e5c82511 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2190.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2190 Unwind@1400e2190 + * Pseudocode, not original source. */ + +void Unwind_1400e2190(undefined8 param_1,longlong param_2,undefined8 param_3,longlong param_4) + +{ + FUN_140043c20((longlong *)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e21a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e21a0.c new file mode 100644 index 00000000..4974f8a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e21a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e21a0 Unwind@1400e21a0 + * Pseudocode, not original source. */ + +void Unwind_1400e21a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e21b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e21b0.c new file mode 100644 index 00000000..771a7853 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e21b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e21b0 Unwind@1400e21b0 + * Pseudocode, not original source. */ + +void Unwind_1400e21b0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e21c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e21c0.c new file mode 100644 index 00000000..d2f8a301 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e21c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e21c0 Unwind@1400e21c0 + * Pseudocode, not original source. */ + +void Unwind_1400e21c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140057120(param_2 + 0x28,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e21d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e21d0.c new file mode 100644 index 00000000..db5bd255 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e21d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e21d0 Unwind@1400e21d0 + * Pseudocode, not original source. */ + +void Unwind_1400e21d0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2200.c b/decomp/Agent_Release_x64/full/functions/0x1400e2200.c new file mode 100644 index 00000000..63c48a9d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2200.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2200 Unwind@1400e2200 + * Pseudocode, not original source. */ + +void Unwind_1400e2200(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(*(longlong *)(param_2 + 0x178) + 8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2210.c b/decomp/Agent_Release_x64/full/functions/0x1400e2210.c new file mode 100644 index 00000000..8d2e3c20 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2210.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2210 Unwind@1400e2210 + * Pseudocode, not original source. */ + +void Unwind_1400e2210(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2220.c b/decomp/Agent_Release_x64/full/functions/0x1400e2220.c new file mode 100644 index 00000000..6e3327bf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2220.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2220 Unwind@1400e2220 + * Pseudocode, not original source. */ + +void Unwind_1400e2220(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x160) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2230.c b/decomp/Agent_Release_x64/full/functions/0x1400e2230.c new file mode 100644 index 00000000..71e5b223 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2230.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2230 Unwind@1400e2230 + * Pseudocode, not original source. */ + +void Unwind_1400e2230(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2240.c b/decomp/Agent_Release_x64/full/functions/0x1400e2240.c new file mode 100644 index 00000000..08749046 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2240.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2240 Unwind@1400e2240 + * Pseudocode, not original source. */ + +void Unwind_1400e2240(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2250.c b/decomp/Agent_Release_x64/full/functions/0x1400e2250.c new file mode 100644 index 00000000..e3b46d96 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2250.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2250 Unwind@1400e2250 + * Pseudocode, not original source. */ + +void Unwind_1400e2250(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x80,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2260.c b/decomp/Agent_Release_x64/full/functions/0x1400e2260.c new file mode 100644 index 00000000..1bea97aa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2260.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2260 Unwind@1400e2260 + * Pseudocode, not original source. */ + +void Unwind_1400e2260(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2270.c b/decomp/Agent_Release_x64/full/functions/0x1400e2270.c new file mode 100644 index 00000000..9573271c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2270.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2270 Unwind@1400e2270 + * Pseudocode, not original source. */ + +void Unwind_1400e2270(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2280.c b/decomp/Agent_Release_x64/full/functions/0x1400e2280.c new file mode 100644 index 00000000..8d61f7a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2280.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2280 Unwind@1400e2280 + * Pseudocode, not original source. */ + +void Unwind_1400e2280(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2290.c b/decomp/Agent_Release_x64/full/functions/0x1400e2290.c new file mode 100644 index 00000000..426be15d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2290.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2290 Unwind@1400e2290 + * Pseudocode, not original source. */ + +void Unwind_1400e2290(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e22a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e22a0.c new file mode 100644 index 00000000..7d6faa0d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e22a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e22a0 Unwind@1400e22a0 + * Pseudocode, not original source. */ + +void Unwind_1400e22a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e22b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e22b0.c new file mode 100644 index 00000000..940d3696 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e22b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e22b0 Unwind@1400e22b0 + * Pseudocode, not original source. */ + +void Unwind_1400e22b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e22c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e22c0.c new file mode 100644 index 00000000..2aa5e4dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e22c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e22c0 Unwind@1400e22c0 + * Pseudocode, not original source. */ + +void Unwind_1400e22c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e22d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e22d0.c new file mode 100644 index 00000000..d867b6f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e22d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e22d0 Unwind@1400e22d0 + * Pseudocode, not original source. */ + +void Unwind_1400e22d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(param_2 + 0xa0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e22e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e22e0.c new file mode 100644 index 00000000..479564d5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e22e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e22e0 Unwind@1400e22e0 + * Pseudocode, not original source. */ + +void Unwind_1400e22e0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e22f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e22f0.c new file mode 100644 index 00000000..cc2d0561 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e22f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e22f0 Unwind@1400e22f0 + * Pseudocode, not original source. */ + +void Unwind_1400e22f0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0xd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2300.c b/decomp/Agent_Release_x64/full/functions/0x1400e2300.c new file mode 100644 index 00000000..eaf79469 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2300.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2300 Unwind@1400e2300 + * Pseudocode, not original source. */ + +void Unwind_1400e2300(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xf8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2310.c b/decomp/Agent_Release_x64/full/functions/0x1400e2310.c new file mode 100644 index 00000000..54d9e27b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2310.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2310 Unwind@1400e2310 + * Pseudocode, not original source. */ + +void Unwind_1400e2310(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x38) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2320.c b/decomp/Agent_Release_x64/full/functions/0x1400e2320.c new file mode 100644 index 00000000..dd81f47b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2320.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2320 Unwind@1400e2320 + * Pseudocode, not original source. */ + +void Unwind_1400e2320(undefined8 param_1,longlong param_2) + +{ + FUN_14002b6f0((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2330.c b/decomp/Agent_Release_x64/full/functions/0x1400e2330.c new file mode 100644 index 00000000..4d116bbf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2330.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2330 Unwind@1400e2330 + * Pseudocode, not original source. */ + +void Unwind_1400e2330(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140043b40((char *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2340.c b/decomp/Agent_Release_x64/full/functions/0x1400e2340.c new file mode 100644 index 00000000..aefb6190 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2340.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2340 Unwind@1400e2340 + * Pseudocode, not original source. */ + +void Unwind_1400e2340(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2350.c b/decomp/Agent_Release_x64/full/functions/0x1400e2350.c new file mode 100644 index 00000000..7ea39e07 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2350.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2350 Unwind@1400e2350 + * Pseudocode, not original source. */ + +void Unwind_1400e2350(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140053ff0((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2360.c b/decomp/Agent_Release_x64/full/functions/0x1400e2360.c new file mode 100644 index 00000000..3357aafb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2360.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2360 Unwind@1400e2360 + * Pseudocode, not original source. */ + +void Unwind_1400e2360(undefined8 param_1,longlong param_2) + +{ + FUN_140043b60((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2370.c b/decomp/Agent_Release_x64/full/functions/0x1400e2370.c new file mode 100644 index 00000000..4e364267 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2370.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2370 Unwind@1400e2370 + * Pseudocode, not original source. */ + +void Unwind_1400e2370(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2380.c b/decomp/Agent_Release_x64/full/functions/0x1400e2380.c new file mode 100644 index 00000000..7136c112 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2380.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2380 Unwind@1400e2380 + * Pseudocode, not original source. */ + +void Unwind_1400e2380(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140053ff0((longlong *)(param_2 + 0xa0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2390.c b/decomp/Agent_Release_x64/full/functions/0x1400e2390.c new file mode 100644 index 00000000..192c49d7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2390.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2390 Unwind@1400e2390 + * Pseudocode, not original source. */ + +void Unwind_1400e2390(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b80((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e23a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e23a0.c new file mode 100644 index 00000000..c054d9e6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e23a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e23a0 Unwind@1400e23a0 + * Pseudocode, not original source. */ + +void Unwind_1400e23a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e23b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e23b0.c new file mode 100644 index 00000000..325be2b6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e23b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e23b0 Unwind@1400e23b0 + * Pseudocode, not original source. */ + +void Unwind_1400e23b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0(*(undefined4 **)(param_2 + 0xa8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e23c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e23c0.c new file mode 100644 index 00000000..ad0a0091 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e23c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e23c0 Unwind@1400e23c0 + * Pseudocode, not original source. */ + +void Unwind_1400e23c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e23d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e23d0.c new file mode 100644 index 00000000..e0c65f5d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e23d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e23d0 Unwind@1400e23d0 + * Pseudocode, not original source. */ + +void Unwind_1400e23d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140053ff0((longlong *)(param_2 + 0xa0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e23e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e23e0.c new file mode 100644 index 00000000..7ad22e93 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e23e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e23e0 Unwind@1400e23e0 + * Pseudocode, not original source. */ + +void Unwind_1400e23e0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870(*(undefined8 **)(param_2 + 0x228)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e23f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e23f0.c new file mode 100644 index 00000000..432c4270 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e23f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e23f0 Unwind@1400e23f0 + * Pseudocode, not original source. */ + +void Unwind_1400e23f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140053ff0((longlong *)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2400.c b/decomp/Agent_Release_x64/full/functions/0x1400e2400.c new file mode 100644 index 00000000..ccf597c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2400.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2400 Unwind@1400e2400 + * Pseudocode, not original source. */ + +void Unwind_1400e2400(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140053ff0((longlong *)(param_2 + 0xd8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2410.c b/decomp/Agent_Release_x64/full/functions/0x1400e2410.c new file mode 100644 index 00000000..e5c6ff89 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2410.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2410 Unwind@1400e2410 + * Pseudocode, not original source. */ + +void Unwind_1400e2410(undefined8 param_1,longlong param_2) + +{ + FUN_140043b60((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2420.c b/decomp/Agent_Release_x64/full/functions/0x1400e2420.c new file mode 100644 index 00000000..e6fc4b0e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2420.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2420 Unwind@1400e2420 + * Pseudocode, not original source. */ + +void Unwind_1400e2420(undefined8 param_1,longlong param_2) + +{ + FUN_140043b60((longlong *)(param_2 + 0x128)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2430.c b/decomp/Agent_Release_x64/full/functions/0x1400e2430.c new file mode 100644 index 00000000..4550224c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2430.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2430 Unwind@1400e2430 + * Pseudocode, not original source. */ + +void Unwind_1400e2430(undefined8 param_1,longlong param_2) + +{ + FUN_140043b60((longlong *)(param_2 + 0x130)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2440.c b/decomp/Agent_Release_x64/full/functions/0x1400e2440.c new file mode 100644 index 00000000..640ab8b7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2440.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2440 Unwind@1400e2440 + * Pseudocode, not original source. */ + +void Unwind_1400e2440(undefined8 param_1,longlong param_2) + +{ + FUN_140043b60((longlong *)(param_2 + 0xf8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2450.c b/decomp/Agent_Release_x64/full/functions/0x1400e2450.c new file mode 100644 index 00000000..bfad8a0b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2450.c @@ -0,0 +1,59 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2450 Catch@1400e2450 + * Pseudocode, not original source. */ + +undefined * +Catch_1400e2450(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + short *psVar2; + uint uVar3; + uint uVar4; + LPCSTR pCVar5; + int *piVar6; + longlong lVar7; + undefined8 uVar8; + short *psVar9; + ulonglong uVar10; + + FUN_140030200(param_1,param_2,param_3,param_4); + *(undefined **)(param_2 + 0x108) = PTR_DAT_140155010; + pCVar5 = (LPCSTR)(**(code **)(**(longlong **)(param_2 + 0x3e0) + 8))(); + *(longlong *)(param_2 + 0x5a0) = param_2 + 0x5a8; + FUN_14002a670((longlong *)(param_2 + 0x5a0),pCVar5,3); + memcpy((void *)(param_2 + 0x410),(void *)(param_2 + 0x5a0),0x108); + uVar3 = (**(code **)**(undefined8 **)(param_2 + 0xb0))(); + uVar4 = (**(code **)**(undefined8 **)(param_2 + 0xa8))(); + uVar10 = (ulonglong)uVar3; + FUN_14001b7a0((longlong *)(param_2 + 0x108),L"%d와 %d간의 P2P session key make failed : %s", + (ulonglong)uVar4,uVar10); + if (*(void **)(param_2 + 0x5a0) != (void *)(param_2 + 0x5a8)) { + free(*(void **)(param_2 + 0x5a0)); + } + psVar2 = *(short **)(param_2 + 0x108); + psVar9 = psVar2; + if (psVar2 == (short *)0x0) { + psVar9 = (short *)PTR_DAT_140155010; + } + uVar8 = 1; + lVar7 = *(longlong *)(*(longlong *)(param_2 + 0x150) + 0x17f0); + FUN_14008f2e0(lVar7,1,psVar9,uVar10); + if (((psVar2 != (short *)0x0) && (psVar2 != (short *)PTR_DAT_140155010)) && + (psVar2 + -4 != (short *)0x0)) { + piVar6 = (int *)FUN_140030200(lVar7,uVar8,psVar9,uVar10); + *(int **)(param_2 + 0x340) = piVar6; + FUN_14002e6e0(piVar6); + *(undefined1 *)(param_2 + 0x348) = 1; + piVar1 = (int *)(psVar2 + -2); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(psVar2 + -4); + } + FUN_14002e770((longlong)piVar6); + *(undefined1 *)(param_2 + 0x348) = 0; + } + *(undefined **)(param_2 + 0x108) = PTR_DAT_140155010; + return &DAT_14005d9ee; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e25b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e25b0.c new file mode 100644 index 00000000..5ef6e7a6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e25b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e25b0 Unwind@1400e25b0 + * Pseudocode, not original source. */ + +void Unwind_1400e25b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x108),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e25c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e25c0.c new file mode 100644 index 00000000..6c59ea82 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e25c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e25c0 Unwind@1400e25c0 + * Pseudocode, not original source. */ + +void Unwind_1400e25c0(undefined8 param_1,longlong param_2) + +{ + FUN_14002a580((undefined8 *)(param_2 + 0x5a0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e25d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e25d0.c new file mode 100644 index 00000000..036c8988 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e25d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e25d0 Unwind@1400e25d0 + * Pseudocode, not original source. */ + +void Unwind_1400e25d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x340)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e25e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e25e0.c new file mode 100644 index 00000000..7dbd87c0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e25e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e25e0 Unwind@1400e25e0 + * Pseudocode, not original source. */ + +void Unwind_1400e25e0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 600)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e25f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e25f0.c new file mode 100644 index 00000000..a3d68669 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e25f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e25f0 Unwind@1400e25f0 + * Pseudocode, not original source. */ + +void Unwind_1400e25f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x280)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2600.c b/decomp/Agent_Release_x64/full/functions/0x1400e2600.c new file mode 100644 index 00000000..1d192d16 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2600.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2600 Unwind@1400e2600 + * Pseudocode, not original source. */ + +void Unwind_1400e2600(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x110),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2610.c b/decomp/Agent_Release_x64/full/functions/0x1400e2610.c new file mode 100644 index 00000000..d634477a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2610.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2610 Unwind@1400e2610 + * Pseudocode, not original source. */ + +void Unwind_1400e2610(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 800)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2620.c b/decomp/Agent_Release_x64/full/functions/0x1400e2620.c new file mode 100644 index 00000000..f0efdc1b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2620.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2620 Unwind@1400e2620 + * Pseudocode, not original source. */ + +void Unwind_1400e2620(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x70) & 1) != 0) { + *(uint *)(param_2 + 0x70) = *(uint *)(param_2 + 0x70) & 0xfffffffe; + FUN_14003b870((undefined8 *)(param_2 + 0x1d8)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2650.c b/decomp/Agent_Release_x64/full/functions/0x1400e2650.c new file mode 100644 index 00000000..b59297a9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2650.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2650 Unwind@1400e2650 + * Pseudocode, not original source. */ + +void Unwind_1400e2650(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x70) & 2) != 0) { + *(uint *)(param_2 + 0x70) = *(uint *)(param_2 + 0x70) & 0xfffffffd; + FUN_14003b870((undefined8 *)(param_2 + 0x2f8)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2680.c b/decomp/Agent_Release_x64/full/functions/0x1400e2680.c new file mode 100644 index 00000000..e42978f6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2680.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2680 Unwind@1400e2680 + * Pseudocode, not original source. */ + +void Unwind_1400e2680(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x70) & 4) != 0) { + *(uint *)(param_2 + 0x70) = *(uint *)(param_2 + 0x70) & 0xfffffffb; + FUN_14003b870((undefined8 *)(param_2 + 0x188)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e26b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e26b0.c new file mode 100644 index 00000000..a5fe9897 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e26b0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e26b0 Unwind@1400e26b0 + * Pseudocode, not original source. */ + +void Unwind_1400e26b0(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x70) & 8) != 0) { + *(uint *)(param_2 + 0x70) = *(uint *)(param_2 + 0x70) & 0xfffffff7; + FUN_14003b870((undefined8 *)(param_2 + 0x2a8)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e26e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e26e0.c new file mode 100644 index 00000000..e25f73bf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e26e0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e26e0 Unwind@1400e26e0 + * Pseudocode, not original source. */ + +void Unwind_1400e26e0(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x70) & 0x10) != 0) { + *(uint *)(param_2 + 0x70) = *(uint *)(param_2 + 0x70) & 0xffffffef; + FUN_14003b870((undefined8 *)(param_2 + 0x1b0)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2710.c b/decomp/Agent_Release_x64/full/functions/0x1400e2710.c new file mode 100644 index 00000000..14163b82 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2710.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2710 Unwind@1400e2710 + * Pseudocode, not original source. */ + +void Unwind_1400e2710(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x70) & 0x20) != 0) { + *(uint *)(param_2 + 0x70) = *(uint *)(param_2 + 0x70) & 0xffffffdf; + FUN_14003b870((undefined8 *)(param_2 + 0x230)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2740.c b/decomp/Agent_Release_x64/full/functions/0x1400e2740.c new file mode 100644 index 00000000..137e4c71 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2740.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2740 Unwind@1400e2740 + * Pseudocode, not original source. */ + +void Unwind_1400e2740(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x70) & 0x40) != 0) { + *(uint *)(param_2 + 0x70) = *(uint *)(param_2 + 0x70) & 0xffffffbf; + FUN_14003b870((undefined8 *)(param_2 + 0x160)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2770.c b/decomp/Agent_Release_x64/full/functions/0x1400e2770.c new file mode 100644 index 00000000..e472d46f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2770.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2770 Unwind@1400e2770 + * Pseudocode, not original source. */ + +void Unwind_1400e2770(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x70) & 0x80) != 0) { + *(uint *)(param_2 + 0x70) = *(uint *)(param_2 + 0x70) & 0xffffff7f; + FUN_14003b870((undefined8 *)(param_2 + 0x2d0)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e27a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e27a0.c new file mode 100644 index 00000000..1c3e47ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e27a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e27a0 Unwind@1400e27a0 + * Pseudocode, not original source. */ + +void Unwind_1400e27a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x118),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e27b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e27b0.c new file mode 100644 index 00000000..52822e9d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e27b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e27b0 Unwind@1400e27b0 + * Pseudocode, not original source. */ + +void Unwind_1400e27b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x140),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e27c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e27c0.c new file mode 100644 index 00000000..b9a865e8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e27c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e27c0 Unwind@1400e27c0 + * Pseudocode, not original source. */ + +void Unwind_1400e27c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x330)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e27d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e27d0.c new file mode 100644 index 00000000..1245bad4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e27d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e27d0 Unwind@1400e27d0 + * Pseudocode, not original source. */ + +void Unwind_1400e27d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e27e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e27e0.c new file mode 100644 index 00000000..ccf34c6c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e27e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e27e0 Unwind@1400e27e0 + * Pseudocode, not original source. */ + +void Unwind_1400e27e0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870(*(undefined8 **)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e27f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e27f0.c new file mode 100644 index 00000000..b9a4f986 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e27f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e27f0 Unwind@1400e27f0 + * Pseudocode, not original source. */ + +void Unwind_1400e27f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2800.c b/decomp/Agent_Release_x64/full/functions/0x1400e2800.c new file mode 100644 index 00000000..3de5f98b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2800.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2800 Unwind@1400e2800 + * Pseudocode, not original source. */ + +void Unwind_1400e2800(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x130)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2810.c b/decomp/Agent_Release_x64/full/functions/0x1400e2810.c new file mode 100644 index 00000000..5758b997 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2810.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2810 Unwind@1400e2810 + * Pseudocode, not original source. */ + +void Unwind_1400e2810(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2820.c b/decomp/Agent_Release_x64/full/functions/0x1400e2820.c new file mode 100644 index 00000000..c156075b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2820.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2820 Unwind@1400e2820 + * Pseudocode, not original source. */ + +void Unwind_1400e2820(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2830.c b/decomp/Agent_Release_x64/full/functions/0x1400e2830.c new file mode 100644 index 00000000..bb7c8772 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2830.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2830 Unwind@1400e2830 + * Pseudocode, not original source. */ + +void Unwind_1400e2830(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x40,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2840.c b/decomp/Agent_Release_x64/full/functions/0x1400e2840.c new file mode 100644 index 00000000..6d82b160 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2840.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2840 Unwind@1400e2840 + * Pseudocode, not original source. */ + +void Unwind_1400e2840(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2860.c b/decomp/Agent_Release_x64/full/functions/0x1400e2860.c new file mode 100644 index 00000000..a8dba878 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2860.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2860 Unwind@1400e2860 + * Pseudocode, not original source. */ + +void Unwind_1400e2860(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2880.c b/decomp/Agent_Release_x64/full/functions/0x1400e2880.c new file mode 100644 index 00000000..c2740609 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2880.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2880 Unwind@1400e2880 + * Pseudocode, not original source. */ + +void Unwind_1400e2880(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2890.c b/decomp/Agent_Release_x64/full/functions/0x1400e2890.c new file mode 100644 index 00000000..26195071 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2890.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2890 Unwind@1400e2890 + * Pseudocode, not original source. */ + +void Unwind_1400e2890(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e28a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e28a0.c new file mode 100644 index 00000000..c97b07bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e28a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e28a0 Unwind@1400e28a0 + * Pseudocode, not original source. */ + +void Unwind_1400e28a0(undefined8 param_1,longlong param_2) + +{ + FUN_14002a580((undefined8 *)(param_2 + 0x150)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e28b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e28b0.c new file mode 100644 index 00000000..3690664b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e28b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e28b0 Unwind@1400e28b0 + * Pseudocode, not original source. */ + +void Unwind_1400e28b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e28c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e28c0.c new file mode 100644 index 00000000..60ff77c3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e28c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e28c0 Unwind@1400e28c0 + * Pseudocode, not original source. */ + +void Unwind_1400e28c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e28d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e28d0.c new file mode 100644 index 00000000..2f6977bf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e28d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e28d0 Unwind@1400e28d0 + * Pseudocode, not original source. */ + +void Unwind_1400e28d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e28e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e28e0.c new file mode 100644 index 00000000..3d41b23d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e28e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e28e0 Unwind@1400e28e0 + * Pseudocode, not original source. */ + +void Unwind_1400e28e0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e28f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e28f0.c new file mode 100644 index 00000000..979e3aee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e28f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e28f0 Unwind@1400e28f0 + * Pseudocode, not original source. */ + +void Unwind_1400e28f0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2900.c b/decomp/Agent_Release_x64/full/functions/0x1400e2900.c new file mode 100644 index 00000000..a71dc186 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2900.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2900 Unwind@1400e2900 + * Pseudocode, not original source. */ + +void Unwind_1400e2900(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2910.c b/decomp/Agent_Release_x64/full/functions/0x1400e2910.c new file mode 100644 index 00000000..fef72081 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2910.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2910 Unwind@1400e2910 + * Pseudocode, not original source. */ + +void Unwind_1400e2910(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x28) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2920.c b/decomp/Agent_Release_x64/full/functions/0x1400e2920.c new file mode 100644 index 00000000..296d46de --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2920.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2920 Unwind@1400e2920 + * Pseudocode, not original source. */ + +void Unwind_1400e2920(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2930.c b/decomp/Agent_Release_x64/full/functions/0x1400e2930.c new file mode 100644 index 00000000..56ff7163 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2930.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2930 Unwind@1400e2930 + * Pseudocode, not original source. */ + +void Unwind_1400e2930(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2940.c b/decomp/Agent_Release_x64/full/functions/0x1400e2940.c new file mode 100644 index 00000000..15a472bf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2940.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2940 Unwind@1400e2940 + * Pseudocode, not original source. */ + +void Unwind_1400e2940(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2950.c b/decomp/Agent_Release_x64/full/functions/0x1400e2950.c new file mode 100644 index 00000000..7aed1475 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2950.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2950 Unwind@1400e2950 + * Pseudocode, not original source. */ + +void Unwind_1400e2950(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x20,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2960.c b/decomp/Agent_Release_x64/full/functions/0x1400e2960.c new file mode 100644 index 00000000..0c3d78a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2960.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2960 Unwind@1400e2960 + * Pseudocode, not original source. */ + +void Unwind_1400e2960(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2970.c b/decomp/Agent_Release_x64/full/functions/0x1400e2970.c new file mode 100644 index 00000000..ad32cd03 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2970.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2970 Unwind@1400e2970 + * Pseudocode, not original source. */ + +void Unwind_1400e2970(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2980.c b/decomp/Agent_Release_x64/full/functions/0x1400e2980.c new file mode 100644 index 00000000..718b48ca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2980.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2980 Unwind@1400e2980 + * Pseudocode, not original source. */ + +void Unwind_1400e2980(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2990.c b/decomp/Agent_Release_x64/full/functions/0x1400e2990.c new file mode 100644 index 00000000..1b8e9c95 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2990.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2990 Unwind@1400e2990 + * Pseudocode, not original source. */ + +void Unwind_1400e2990(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e29a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e29a0.c new file mode 100644 index 00000000..01dcfba2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e29a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e29a0 Unwind@1400e29a0 + * Pseudocode, not original source. */ + +void Unwind_1400e29a0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e29b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e29b0.c new file mode 100644 index 00000000..a545a7c0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e29b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e29b0 Unwind@1400e29b0 + * Pseudocode, not original source. */ + +void Unwind_1400e29b0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e29c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e29c0.c new file mode 100644 index 00000000..80edbcb5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e29c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e29c0 Unwind@1400e29c0 + * Pseudocode, not original source. */ + +void Unwind_1400e29c0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x150) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e29d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e29d0.c new file mode 100644 index 00000000..d8c26a48 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e29d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e29d0 Unwind@1400e29d0 + * Pseudocode, not original source. */ + +void Unwind_1400e29d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x188),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e29e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e29e0.c new file mode 100644 index 00000000..47751afe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e29e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e29e0 Unwind@1400e29e0 + * Pseudocode, not original source. */ + +void Unwind_1400e29e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e29f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e29f0.c new file mode 100644 index 00000000..bf100b8d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e29f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e29f0 Unwind@1400e29f0 + * Pseudocode, not original source. */ + +void Unwind_1400e29f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2a00.c b/decomp/Agent_Release_x64/full/functions/0x1400e2a00.c new file mode 100644 index 00000000..26337d44 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2a00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2a00 Unwind@1400e2a00 + * Pseudocode, not original source. */ + +void Unwind_1400e2a00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2a10.c b/decomp/Agent_Release_x64/full/functions/0x1400e2a10.c new file mode 100644 index 00000000..f51cd985 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2a10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2a10 Unwind@1400e2a10 + * Pseudocode, not original source. */ + +void Unwind_1400e2a10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x20,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2a20.c b/decomp/Agent_Release_x64/full/functions/0x1400e2a20.c new file mode 100644 index 00000000..38f3c599 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2a20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2a20 Unwind@1400e2a20 + * Pseudocode, not original source. */ + +void Unwind_1400e2a20(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x180)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2a40.c b/decomp/Agent_Release_x64/full/functions/0x1400e2a40.c new file mode 100644 index 00000000..de45a5c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2a40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2a40 Unwind@1400e2a40 + * Pseudocode, not original source. */ + +void Unwind_1400e2a40(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2a70.c b/decomp/Agent_Release_x64/full/functions/0x1400e2a70.c new file mode 100644 index 00000000..c35113a3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2a70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2a70 Unwind@1400e2a70 + * Pseudocode, not original source. */ + +void Unwind_1400e2a70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x180),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2a80.c b/decomp/Agent_Release_x64/full/functions/0x1400e2a80.c new file mode 100644 index 00000000..6b7eacbd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2a80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2a80 Unwind@1400e2a80 + * Pseudocode, not original source. */ + +void Unwind_1400e2a80(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2a90.c b/decomp/Agent_Release_x64/full/functions/0x1400e2a90.c new file mode 100644 index 00000000..869ef922 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2a90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2a90 Unwind@1400e2a90 + * Pseudocode, not original source. */ + +void Unwind_1400e2a90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2aa0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2aa0.c new file mode 100644 index 00000000..4e7b0bed --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2aa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2aa0 Unwind@1400e2aa0 + * Pseudocode, not original source. */ + +void Unwind_1400e2aa0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2ab0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2ab0.c new file mode 100644 index 00000000..a871b542 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2ab0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2ab0 Unwind@1400e2ab0 + * Pseudocode, not original source. */ + +void Unwind_1400e2ab0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2ac0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2ac0.c new file mode 100644 index 00000000..8dee3c16 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2ac0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2ac0 Unwind@1400e2ac0 + * Pseudocode, not original source. */ + +void Unwind_1400e2ac0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2ad0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2ad0.c new file mode 100644 index 00000000..64be2b6c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2ad0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2ad0 Unwind@1400e2ad0 + * Pseudocode, not original source. */ + +void Unwind_1400e2ad0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2ae0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2ae0.c new file mode 100644 index 00000000..090997cf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2ae0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2ae0 Unwind@1400e2ae0 + * Pseudocode, not original source. */ + +void Unwind_1400e2ae0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2af0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2af0.c new file mode 100644 index 00000000..dfb9e724 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2af0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2af0 Unwind@1400e2af0 + * Pseudocode, not original source. */ + +void Unwind_1400e2af0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x180) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2b00.c b/decomp/Agent_Release_x64/full/functions/0x1400e2b00.c new file mode 100644 index 00000000..ece0835f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2b00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2b00 Unwind@1400e2b00 + * Pseudocode, not original source. */ + +void Unwind_1400e2b00(undefined8 param_1,longlong param_2) + +{ + FUN_14002b6f0((undefined8 *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2b10.c b/decomp/Agent_Release_x64/full/functions/0x1400e2b10.c new file mode 100644 index 00000000..c3355482 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2b10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2b10 Unwind@1400e2b10 + * Pseudocode, not original source. */ + +void Unwind_1400e2b10(undefined8 param_1,longlong param_2) + +{ + FUN_14002b6f0((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2b20.c b/decomp/Agent_Release_x64/full/functions/0x1400e2b20.c new file mode 100644 index 00000000..1aab3230 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2b20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2b20 Unwind@1400e2b20 + * Pseudocode, not original source. */ + +void Unwind_1400e2b20(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2b30.c b/decomp/Agent_Release_x64/full/functions/0x1400e2b30.c new file mode 100644 index 00000000..38f0c229 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2b30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2b30 Unwind@1400e2b30 + * Pseudocode, not original source. */ + +void Unwind_1400e2b30(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0xa0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2b40.c b/decomp/Agent_Release_x64/full/functions/0x1400e2b40.c new file mode 100644 index 00000000..27b51458 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2b40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2b40 Unwind@1400e2b40 + * Pseudocode, not original source. */ + +void Unwind_1400e2b40(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x38); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2b50.c b/decomp/Agent_Release_x64/full/functions/0x1400e2b50.c new file mode 100644 index 00000000..8deb63ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2b50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2b50 Unwind@1400e2b50 + * Pseudocode, not original source. */ + +void Unwind_1400e2b50(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xa8) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2b60.c b/decomp/Agent_Release_x64/full/functions/0x1400e2b60.c new file mode 100644 index 00000000..89d2d16e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2b60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2b60 Unwind@1400e2b60 + * Pseudocode, not original source. */ + +void Unwind_1400e2b60(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2b70.c b/decomp/Agent_Release_x64/full/functions/0x1400e2b70.c new file mode 100644 index 00000000..bb801f3d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2b70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2b70 Unwind@1400e2b70 + * Pseudocode, not original source. */ + +void Unwind_1400e2b70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2b80.c b/decomp/Agent_Release_x64/full/functions/0x1400e2b80.c new file mode 100644 index 00000000..c996c9ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2b80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2b80 Unwind@1400e2b80 + * Pseudocode, not original source. */ + +void Unwind_1400e2b80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570(*(longlong **)(param_2 + 0x188),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2b90.c b/decomp/Agent_Release_x64/full/functions/0x1400e2b90.c new file mode 100644 index 00000000..c41a7caf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2b90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2b90 Unwind@1400e2b90 + * Pseudocode, not original source. */ + +void Unwind_1400e2b90(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2ba0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2ba0.c new file mode 100644 index 00000000..2ae76f0b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2ba0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2ba0 Unwind@1400e2ba0 + * Pseudocode, not original source. */ + +void Unwind_1400e2ba0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2bb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2bb0.c new file mode 100644 index 00000000..3d7d10b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2bb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2bb0 Unwind@1400e2bb0 + * Pseudocode, not original source. */ + +void Unwind_1400e2bb0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2bc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2bc0.c new file mode 100644 index 00000000..1ca11bd8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2bc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2bc0 Unwind@1400e2bc0 + * Pseudocode, not original source. */ + +void Unwind_1400e2bc0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x20,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2bd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2bd0.c new file mode 100644 index 00000000..c5da4cae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2bd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2bd0 Unwind@1400e2bd0 + * Pseudocode, not original source. */ + +void Unwind_1400e2bd0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x180)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2bf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2bf0.c new file mode 100644 index 00000000..44e28767 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2bf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2bf0 Unwind@1400e2bf0 + * Pseudocode, not original source. */ + +void Unwind_1400e2bf0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2c20.c b/decomp/Agent_Release_x64/full/functions/0x1400e2c20.c new file mode 100644 index 00000000..bdcceb7f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2c20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2c20 Unwind@1400e2c20 + * Pseudocode, not original source. */ + +void Unwind_1400e2c20(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x180),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2c30.c b/decomp/Agent_Release_x64/full/functions/0x1400e2c30.c new file mode 100644 index 00000000..59f43cb3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2c30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2c30 Unwind@1400e2c30 + * Pseudocode, not original source. */ + +void Unwind_1400e2c30(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2c40.c b/decomp/Agent_Release_x64/full/functions/0x1400e2c40.c new file mode 100644 index 00000000..21e14eaf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2c40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2c40 Unwind@1400e2c40 + * Pseudocode, not original source. */ + +void Unwind_1400e2c40(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2c50.c b/decomp/Agent_Release_x64/full/functions/0x1400e2c50.c new file mode 100644 index 00000000..13184de9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2c50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2c50 Unwind@1400e2c50 + * Pseudocode, not original source. */ + +void Unwind_1400e2c50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2c60.c b/decomp/Agent_Release_x64/full/functions/0x1400e2c60.c new file mode 100644 index 00000000..a501586a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2c60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2c60 Unwind@1400e2c60 + * Pseudocode, not original source. */ + +void Unwind_1400e2c60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2c70.c b/decomp/Agent_Release_x64/full/functions/0x1400e2c70.c new file mode 100644 index 00000000..f2af2145 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2c70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2c70 Unwind@1400e2c70 + * Pseudocode, not original source. */ + +void Unwind_1400e2c70(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2c80.c b/decomp/Agent_Release_x64/full/functions/0x1400e2c80.c new file mode 100644 index 00000000..1eb68bda --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2c80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2c80 Unwind@1400e2c80 + * Pseudocode, not original source. */ + +void Unwind_1400e2c80(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2c90.c b/decomp/Agent_Release_x64/full/functions/0x1400e2c90.c new file mode 100644 index 00000000..2643cdde --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2c90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2c90 Unwind@1400e2c90 + * Pseudocode, not original source. */ + +void Unwind_1400e2c90(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2ca0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2ca0.c new file mode 100644 index 00000000..fe187b04 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2ca0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2ca0 Unwind@1400e2ca0 + * Pseudocode, not original source. */ + +void Unwind_1400e2ca0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x180) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2cb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2cb0.c new file mode 100644 index 00000000..84727a08 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2cb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2cb0 Unwind@1400e2cb0 + * Pseudocode, not original source. */ + +void Unwind_1400e2cb0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2cc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2cc0.c new file mode 100644 index 00000000..a4d71060 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2cc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2cc0 Unwind@1400e2cc0 + * Pseudocode, not original source. */ + +void Unwind_1400e2cc0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2cd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2cd0.c new file mode 100644 index 00000000..fd20ffec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2cd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2cd0 Unwind@1400e2cd0 + * Pseudocode, not original source. */ + +void Unwind_1400e2cd0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x20,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2ce0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2ce0.c new file mode 100644 index 00000000..24b8af40 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2ce0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2ce0 Unwind@1400e2ce0 + * Pseudocode, not original source. */ + +void Unwind_1400e2ce0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2cf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2cf0.c new file mode 100644 index 00000000..87dba288 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2cf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2cf0 Unwind@1400e2cf0 + * Pseudocode, not original source. */ + +void Unwind_1400e2cf0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2d00.c b/decomp/Agent_Release_x64/full/functions/0x1400e2d00.c new file mode 100644 index 00000000..fc7368ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2d00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2d00 Unwind@1400e2d00 + * Pseudocode, not original source. */ + +void Unwind_1400e2d00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2d10.c b/decomp/Agent_Release_x64/full/functions/0x1400e2d10.c new file mode 100644 index 00000000..ef4b7af8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2d10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2d10 Unwind@1400e2d10 + * Pseudocode, not original source. */ + +void Unwind_1400e2d10(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2d20.c b/decomp/Agent_Release_x64/full/functions/0x1400e2d20.c new file mode 100644 index 00000000..5d218c4e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2d20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2d20 Unwind@1400e2d20 + * Pseudocode, not original source. */ + +void Unwind_1400e2d20(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2d30.c b/decomp/Agent_Release_x64/full/functions/0x1400e2d30.c new file mode 100644 index 00000000..42e91c91 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2d30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2d30 Unwind@1400e2d30 + * Pseudocode, not original source. */ + +void Unwind_1400e2d30(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2d40.c b/decomp/Agent_Release_x64/full/functions/0x1400e2d40.c new file mode 100644 index 00000000..cccc5e47 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2d40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2d40 Unwind@1400e2d40 + * Pseudocode, not original source. */ + +void Unwind_1400e2d40(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x140) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2d50.c b/decomp/Agent_Release_x64/full/functions/0x1400e2d50.c new file mode 100644 index 00000000..db461bcd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2d50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2d50 Unwind@1400e2d50 + * Pseudocode, not original source. */ + +void Unwind_1400e2d50(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2d60.c b/decomp/Agent_Release_x64/full/functions/0x1400e2d60.c new file mode 100644 index 00000000..7176dff0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2d60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2d60 Unwind@1400e2d60 + * Pseudocode, not original source. */ + +void Unwind_1400e2d60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140053ff0((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2d70.c b/decomp/Agent_Release_x64/full/functions/0x1400e2d70.c new file mode 100644 index 00000000..b0cdc377 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2d70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2d70 Unwind@1400e2d70 + * Pseudocode, not original source. */ + +void Unwind_1400e2d70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2d80.c b/decomp/Agent_Release_x64/full/functions/0x1400e2d80.c new file mode 100644 index 00000000..3cdc9162 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2d80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2d80 Unwind@1400e2d80 + * Pseudocode, not original source. */ + +void Unwind_1400e2d80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140053ff0((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2d90.c b/decomp/Agent_Release_x64/full/functions/0x1400e2d90.c new file mode 100644 index 00000000..0aa56c1e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2d90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2d90 Unwind@1400e2d90 + * Pseudocode, not original source. */ + +void Unwind_1400e2d90(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870(*(undefined8 **)(param_2 + 0xa0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2da0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2da0.c new file mode 100644 index 00000000..fc0cbb98 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2da0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2da0 Unwind@1400e2da0 + * Pseudocode, not original source. */ + +void Unwind_1400e2da0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2db0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2db0.c new file mode 100644 index 00000000..f9fd360d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2db0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2db0 Unwind@1400e2db0 + * Pseudocode, not original source. */ + +void Unwind_1400e2db0(undefined8 param_1,longlong param_2) + +{ + FUN_14003dfd0((undefined8 *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2dc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2dc0.c new file mode 100644 index 00000000..3591f236 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2dc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2dc0 Unwind@1400e2dc0 + * Pseudocode, not original source. */ + +void Unwind_1400e2dc0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2dd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2dd0.c new file mode 100644 index 00000000..ed87b557 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2dd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2dd0 Unwind@1400e2dd0 + * Pseudocode, not original source. */ + +void Unwind_1400e2dd0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2de0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2de0.c new file mode 100644 index 00000000..51443f02 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2de0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2de0 Unwind@1400e2de0 + * Pseudocode, not original source. */ + +void Unwind_1400e2de0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2df0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2df0.c new file mode 100644 index 00000000..25226e45 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2df0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2df0 Unwind@1400e2df0 + * Pseudocode, not original source. */ + +void Unwind_1400e2df0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2e10.c b/decomp/Agent_Release_x64/full/functions/0x1400e2e10.c new file mode 100644 index 00000000..723490af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2e10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2e10 Unwind@1400e2e10 + * Pseudocode, not original source. */ + +void Unwind_1400e2e10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140053ff0((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2e20.c b/decomp/Agent_Release_x64/full/functions/0x1400e2e20.c new file mode 100644 index 00000000..e22cd417 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2e20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2e20 Unwind@1400e2e20 + * Pseudocode, not original source. */ + +void Unwind_1400e2e20(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2e30.c b/decomp/Agent_Release_x64/full/functions/0x1400e2e30.c new file mode 100644 index 00000000..8cf5df1a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2e30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2e30 Unwind@1400e2e30 + * Pseudocode, not original source. */ + +void Unwind_1400e2e30(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2e40.c b/decomp/Agent_Release_x64/full/functions/0x1400e2e40.c new file mode 100644 index 00000000..c1f97e29 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2e40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2e40 Unwind@1400e2e40 + * Pseudocode, not original source. */ + +void Unwind_1400e2e40(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140053ff0((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2e50.c b/decomp/Agent_Release_x64/full/functions/0x1400e2e50.c new file mode 100644 index 00000000..61d49e45 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2e50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2e50 Unwind@1400e2e50 + * Pseudocode, not original source. */ + +void Unwind_1400e2e50(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2e60.c b/decomp/Agent_Release_x64/full/functions/0x1400e2e60.c new file mode 100644 index 00000000..47b934ef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2e60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2e60 Unwind@1400e2e60 + * Pseudocode, not original source. */ + +void Unwind_1400e2e60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140053ff0((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2e70.c b/decomp/Agent_Release_x64/full/functions/0x1400e2e70.c new file mode 100644 index 00000000..1f87f743 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2e70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2e70 Unwind@1400e2e70 + * Pseudocode, not original source. */ + +void Unwind_1400e2e70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x118)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2e80.c b/decomp/Agent_Release_x64/full/functions/0x1400e2e80.c new file mode 100644 index 00000000..08c49976 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2e80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2e80 Unwind@1400e2e80 + * Pseudocode, not original source. */ + +void Unwind_1400e2e80(undefined8 param_1,longlong param_2) + +{ + FUN_140092fb0((longlong *)(param_2 + 0x1a0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2e90.c b/decomp/Agent_Release_x64/full/functions/0x1400e2e90.c new file mode 100644 index 00000000..8d74ab79 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2e90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2e90 Unwind@1400e2e90 + * Pseudocode, not original source. */ + +void Unwind_1400e2e90(undefined8 param_1,longlong param_2) + +{ + FUN_14003e1f0((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2ea0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2ea0.c new file mode 100644 index 00000000..fbb2b4f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2ea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2ea0 Unwind@1400e2ea0 + * Pseudocode, not original source. */ + +void Unwind_1400e2ea0(undefined8 param_1,longlong param_2) + +{ + FUN_14003e1f0((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2eb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2eb0.c new file mode 100644 index 00000000..59c88127 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2eb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2eb0 Unwind@1400e2eb0 + * Pseudocode, not original source. */ + +void Unwind_1400e2eb0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2ec0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2ec0.c new file mode 100644 index 00000000..e5f78e0b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2ec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2ec0 Unwind@1400e2ec0 + * Pseudocode, not original source. */ + +void Unwind_1400e2ec0(undefined8 param_1,longlong param_2) + +{ + FUN_14004dfb0(param_2 + 0x58); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2ed0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2ed0.c new file mode 100644 index 00000000..beb2f6a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2ed0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2ed0 Unwind@1400e2ed0 + * Pseudocode, not original source. */ + +void Unwind_1400e2ed0(undefined8 param_1,longlong param_2) + +{ + FUN_14004db90((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2ee0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2ee0.c new file mode 100644 index 00000000..d99ece3f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2ee0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2ee0 Unwind@1400e2ee0 + * Pseudocode, not original source. */ + +void Unwind_1400e2ee0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0xf0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2ef0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2ef0.c new file mode 100644 index 00000000..cbe8aa3e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2ef0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2ef0 Unwind@1400e2ef0 + * Pseudocode, not original source. */ + +void Unwind_1400e2ef0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2f00.c b/decomp/Agent_Release_x64/full/functions/0x1400e2f00.c new file mode 100644 index 00000000..bfa825f6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2f00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2f00 Unwind@1400e2f00 + * Pseudocode, not original source. */ + +void Unwind_1400e2f00(undefined8 param_1,longlong param_2) + +{ + FUN_14004dfb0(param_2 + 0x90); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2f10.c b/decomp/Agent_Release_x64/full/functions/0x1400e2f10.c new file mode 100644 index 00000000..7d4de5be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2f10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2f10 Unwind@1400e2f10 + * Pseudocode, not original source. */ + +void Unwind_1400e2f10(undefined8 param_1,longlong param_2) + +{ + FUN_14004db90((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2f20.c b/decomp/Agent_Release_x64/full/functions/0x1400e2f20.c new file mode 100644 index 00000000..90d846a5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2f20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2f20 Unwind@1400e2f20 + * Pseudocode, not original source. */ + +void Unwind_1400e2f20(undefined8 param_1,longlong param_2) + +{ + FUN_14003e1f0((undefined8 *)(param_2 + 200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2f30.c b/decomp/Agent_Release_x64/full/functions/0x1400e2f30.c new file mode 100644 index 00000000..b9cf4fca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2f30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2f30 Unwind@1400e2f30 + * Pseudocode, not original source. */ + +void Unwind_1400e2f30(undefined8 param_1,longlong param_2) + +{ + FUN_14003e1f0((undefined8 *)(param_2 + 200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2f40.c b/decomp/Agent_Release_x64/full/functions/0x1400e2f40.c new file mode 100644 index 00000000..96ffd602 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2f40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2f40 Unwind@1400e2f40 + * Pseudocode, not original source. */ + +void Unwind_1400e2f40(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2f50.c b/decomp/Agent_Release_x64/full/functions/0x1400e2f50.c new file mode 100644 index 00000000..e77002c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2f50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2f50 Unwind@1400e2f50 + * Pseudocode, not original source. */ + +void Unwind_1400e2f50(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 400) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2f60.c b/decomp/Agent_Release_x64/full/functions/0x1400e2f60.c new file mode 100644 index 00000000..14080733 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2f60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2f60 Unwind@1400e2f60 + * Pseudocode, not original source. */ + +void Unwind_1400e2f60(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 400) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2f70.c b/decomp/Agent_Release_x64/full/functions/0x1400e2f70.c new file mode 100644 index 00000000..09c0d1ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2f70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2f70 Unwind@1400e2f70 + * Pseudocode, not original source. */ + +void Unwind_1400e2f70(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2f80.c b/decomp/Agent_Release_x64/full/functions/0x1400e2f80.c new file mode 100644 index 00000000..899a2c19 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2f80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2f80 Unwind@1400e2f80 + * Pseudocode, not original source. */ + +void Unwind_1400e2f80(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 400) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2f90.c b/decomp/Agent_Release_x64/full/functions/0x1400e2f90.c new file mode 100644 index 00000000..a4fa3a4a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2f90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2f90 Unwind@1400e2f90 + * Pseudocode, not original source. */ + +void Unwind_1400e2f90(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2fa0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2fa0.c new file mode 100644 index 00000000..1e621574 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2fa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2fa0 Unwind@1400e2fa0 + * Pseudocode, not original source. */ + +void Unwind_1400e2fa0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2fb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2fb0.c new file mode 100644 index 00000000..919cb949 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2fb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2fb0 Unwind@1400e2fb0 + * Pseudocode, not original source. */ + +void Unwind_1400e2fb0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2fc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2fc0.c new file mode 100644 index 00000000..4c8cd12e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2fc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2fc0 Unwind@1400e2fc0 + * Pseudocode, not original source. */ + +void Unwind_1400e2fc0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2fd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2fd0.c new file mode 100644 index 00000000..40439e2f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2fd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2fd0 Unwind@1400e2fd0 + * Pseudocode, not original source. */ + +void Unwind_1400e2fd0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2fe0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2fe0.c new file mode 100644 index 00000000..0d806e54 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2fe0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2fe0 Unwind@1400e2fe0 + * Pseudocode, not original source. */ + +void Unwind_1400e2fe0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e2ff0.c b/decomp/Agent_Release_x64/full/functions/0x1400e2ff0.c new file mode 100644 index 00000000..f1d7c28f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e2ff0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e2ff0 Unwind@1400e2ff0 + * Pseudocode, not original source. */ + +void Unwind_1400e2ff0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3000.c b/decomp/Agent_Release_x64/full/functions/0x1400e3000.c new file mode 100644 index 00000000..63c33262 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3000.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3000 Unwind@1400e3000 + * Pseudocode, not original source. */ + +void Unwind_1400e3000(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 400)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3010.c b/decomp/Agent_Release_x64/full/functions/0x1400e3010.c new file mode 100644 index 00000000..0d556224 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3010.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3010 Unwind@1400e3010 + * Pseudocode, not original source. */ + +void Unwind_1400e3010(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3020.c b/decomp/Agent_Release_x64/full/functions/0x1400e3020.c new file mode 100644 index 00000000..d6f8d707 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3020.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3020 Unwind@1400e3020 + * Pseudocode, not original source. */ + +void Unwind_1400e3020(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3030.c b/decomp/Agent_Release_x64/full/functions/0x1400e3030.c new file mode 100644 index 00000000..d565b58c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3030.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3030 Unwind@1400e3030 + * Pseudocode, not original source. */ + +void Unwind_1400e3030(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x198),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3040.c b/decomp/Agent_Release_x64/full/functions/0x1400e3040.c new file mode 100644 index 00000000..ce37ba23 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3040.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3040 Unwind@1400e3040 + * Pseudocode, not original source. */ + +void Unwind_1400e3040(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xf0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3050.c b/decomp/Agent_Release_x64/full/functions/0x1400e3050.c new file mode 100644 index 00000000..1c6838e0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3050.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3050 Unwind@1400e3050 + * Pseudocode, not original source. */ + +void Unwind_1400e3050(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3060.c b/decomp/Agent_Release_x64/full/functions/0x1400e3060.c new file mode 100644 index 00000000..dd1b2aa2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3060.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3060 Unwind@1400e3060 + * Pseudocode, not original source. */ + +void Unwind_1400e3060(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3070.c b/decomp/Agent_Release_x64/full/functions/0x1400e3070.c new file mode 100644 index 00000000..cfb4a51b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3070.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3070 Unwind@1400e3070 + * Pseudocode, not original source. */ + +void Unwind_1400e3070(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3080.c b/decomp/Agent_Release_x64/full/functions/0x1400e3080.c new file mode 100644 index 00000000..b32a1033 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3080.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3080 Unwind@1400e3080 + * Pseudocode, not original source. */ + +void Unwind_1400e3080(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3090.c b/decomp/Agent_Release_x64/full/functions/0x1400e3090.c new file mode 100644 index 00000000..7d55feca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3090.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3090 Unwind@1400e3090 + * Pseudocode, not original source. */ + +void Unwind_1400e3090(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e30a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e30a0.c new file mode 100644 index 00000000..03671e36 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e30a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e30a0 Unwind@1400e30a0 + * Pseudocode, not original source. */ + +void Unwind_1400e30a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140082810(*(undefined8 **)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e30b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e30b0.c new file mode 100644 index 00000000..5479c8dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e30b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e30b0 Unwind@1400e30b0 + * Pseudocode, not original source. */ + +void Unwind_1400e30b0(undefined8 param_1,longlong param_2) + +{ + FUN_140030db0((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e30c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e30c0.c new file mode 100644 index 00000000..8847f035 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e30c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e30c0 Unwind@1400e30c0 + * Pseudocode, not original source. */ + +void Unwind_1400e30c0(undefined8 param_1,longlong param_2) + +{ + FUN_14003c710((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e30d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e30d0.c new file mode 100644 index 00000000..041fe6ed --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e30d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e30d0 Unwind@1400e30d0 + * Pseudocode, not original source. */ + +void Unwind_1400e30d0(undefined8 param_1,longlong param_2) + +{ + FUN_14003c750((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e30e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e30e0.c new file mode 100644 index 00000000..24ba771b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e30e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e30e0 Unwind@1400e30e0 + * Pseudocode, not original source. */ + +void Unwind_1400e30e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400a27f0((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e30f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e30f0.c new file mode 100644 index 00000000..6635877c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e30f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e30f0 Unwind@1400e30f0 + * Pseudocode, not original source. */ + +void Unwind_1400e30f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003c6c0((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3110.c b/decomp/Agent_Release_x64/full/functions/0x1400e3110.c new file mode 100644 index 00000000..85828a4b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3110.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3110 Unwind@1400e3110 + * Pseudocode, not original source. */ + +void Unwind_1400e3110(undefined8 param_1,longlong param_2) + +{ + FUN_14003c6d0((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3130.c b/decomp/Agent_Release_x64/full/functions/0x1400e3130.c new file mode 100644 index 00000000..0ddf4381 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3130.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3130 Unwind@1400e3130 + * Pseudocode, not original source. */ + +void Unwind_1400e3130(undefined8 param_1,LPVOID param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14005a350((undefined8 *)(*(longlong *)((longlong)param_2 + 0x70) + 0xb8),param_2,param_3, + param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3150.c b/decomp/Agent_Release_x64/full/functions/0x1400e3150.c new file mode 100644 index 00000000..54148120 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3150.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3150 Unwind@1400e3150 + * Pseudocode, not original source. */ + +void Unwind_1400e3150(undefined8 param_1,longlong param_2) + +{ + FUN_14003c7d0((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x118)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3170.c b/decomp/Agent_Release_x64/full/functions/0x1400e3170.c new file mode 100644 index 00000000..c312949d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3170.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3170 Unwind@1400e3170 + * Pseudocode, not original source. */ + +void Unwind_1400e3170(undefined8 param_1,longlong param_2) + +{ + FUN_14003c790((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3190.c b/decomp/Agent_Release_x64/full/functions/0x1400e3190.c new file mode 100644 index 00000000..f47a11af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3190.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3190 Unwind@1400e3190 + * Pseudocode, not original source. */ + +void Unwind_1400e3190(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x70) + 0x128),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e31b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e31b0.c new file mode 100644 index 00000000..1a1bae6d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e31b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e31b0 Unwind@1400e31b0 + * Pseudocode, not original source. */ + +void Unwind_1400e31b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x70) + 0x160),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e31d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e31d0.c new file mode 100644 index 00000000..ac482a9d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e31d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e31d0 Unwind@1400e31d0 + * Pseudocode, not original source. */ + +void Unwind_1400e31d0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(*(longlong *)(param_2 + 0x70) + 0x210)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e31f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e31f0.c new file mode 100644 index 00000000..ebd9574f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e31f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e31f0 Unwind@1400e31f0 + * Pseudocode, not original source. */ + +void Unwind_1400e31f0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(*(longlong *)(param_2 + 0x70) + 0x218)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3210.c b/decomp/Agent_Release_x64/full/functions/0x1400e3210.c new file mode 100644 index 00000000..2fc75660 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3210.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3210 Unwind@1400e3210 + * Pseudocode, not original source. */ + +void Unwind_1400e3210(undefined8 param_1,longlong param_2) + +{ + FUN_140043ca0((char *)(*(longlong *)(param_2 + 0x70) + 0x280)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3230.c b/decomp/Agent_Release_x64/full/functions/0x1400e3230.c new file mode 100644 index 00000000..60a26e7a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3230.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3230 Unwind@1400e3230 + * Pseudocode, not original source. */ + +void Unwind_1400e3230(undefined8 param_1,longlong param_2) + +{ + FUN_140054180((char *)(*(longlong *)(param_2 + 0x70) + 0x2d8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3250.c b/decomp/Agent_Release_x64/full/functions/0x1400e3250.c new file mode 100644 index 00000000..45cae3a9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3250.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3250 Unwind@1400e3250 + * Pseudocode, not original source. */ + +void Unwind_1400e3250(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400414f0((char *)(*(longlong *)(param_2 + 0x70) + 0x388)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3270.c b/decomp/Agent_Release_x64/full/functions/0x1400e3270.c new file mode 100644 index 00000000..3e05e547 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3270.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3270 Unwind@1400e3270 + * Pseudocode, not original source. */ + +void Unwind_1400e3270(undefined8 param_1,wchar_t *param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_14003e230((undefined8 *)(*(longlong *)(param_2 + 0x38) + 0x3e0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3290.c b/decomp/Agent_Release_x64/full/functions/0x1400e3290.c new file mode 100644 index 00000000..4f7ba476 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3290.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3290 Unwind@1400e3290 + * Pseudocode, not original source. */ + +void Unwind_1400e3290(undefined8 param_1,LPVOID param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140059ec0((char *)(*(longlong *)((longlong)param_2 + 0x70) + 0x400),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e32b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e32b0.c new file mode 100644 index 00000000..ddcb7f24 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e32b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e32b0 Unwind@1400e32b0 + * Pseudocode, not original source. */ + +void Unwind_1400e32b0(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14005a500((longlong *)(param_2[0xe] + 0x458),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e32d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e32d0.c new file mode 100644 index 00000000..7e939e23 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e32d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e32d0 Unwind@1400e32d0 + * Pseudocode, not original source. */ + +void Unwind_1400e32d0(undefined8 param_1,longlong param_2) + +{ + FUN_140092fb0((longlong *)(*(longlong *)(param_2 + 0x70) + 0x478)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e32f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e32f0.c new file mode 100644 index 00000000..10ce4b0c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e32f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e32f0 Unwind@1400e32f0 + * Pseudocode, not original source. */ + +void Unwind_1400e32f0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140085260((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x480)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3310.c b/decomp/Agent_Release_x64/full/functions/0x1400e3310.c new file mode 100644 index 00000000..582f6417 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3310.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3310 Unwind@1400e3310 + * Pseudocode, not original source. */ + +void Unwind_1400e3310(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140081fe0((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x4a8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3330.c b/decomp/Agent_Release_x64/full/functions/0x1400e3330.c new file mode 100644 index 00000000..a3e55909 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3330.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3330 Unwind@1400e3330 + * Pseudocode, not original source. */ + +void Unwind_1400e3330(undefined8 param_1,longlong param_2) + +{ + FUN_14004dbb0((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x6c8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3350.c b/decomp/Agent_Release_x64/full/functions/0x1400e3350.c new file mode 100644 index 00000000..60dfe9db --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3350.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3350 Unwind@1400e3350 + * Pseudocode, not original source. */ + +void Unwind_1400e3350(undefined8 param_1,longlong param_2) + +{ + FUN_140052870((char *)(*(longlong *)(param_2 + 0x70) + 0x6f0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3370.c b/decomp/Agent_Release_x64/full/functions/0x1400e3370.c new file mode 100644 index 00000000..af17bab9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3370.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3370 Unwind@1400e3370 + * Pseudocode, not original source. */ + +void Unwind_1400e3370(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(*(longlong *)(param_2 + 0x70) + 0x748),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3390.c b/decomp/Agent_Release_x64/full/functions/0x1400e3390.c new file mode 100644 index 00000000..5bc88c7a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3390.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3390 Unwind@1400e3390 + * Pseudocode, not original source. */ + +void Unwind_1400e3390(undefined8 param_1,longlong param_2,undefined8 param_3,longlong param_4) + +{ + FUN_140043c20((longlong *)(*(longlong *)(param_2 + 0x70) + 0x750),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e33b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e33b0.c new file mode 100644 index 00000000..95e2274b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e33b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e33b0 Unwind@1400e33b0 + * Pseudocode, not original source. */ + +void Unwind_1400e33b0(undefined8 param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_14003e1c0((undefined8 *)(param_2[0xe] + 0x788),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e33d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e33d0.c new file mode 100644 index 00000000..74561a94 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e33d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e33d0 Unwind@1400e33d0 + * Pseudocode, not original source. */ + +void Unwind_1400e33d0(undefined8 param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_14003e1c0((undefined8 *)(param_2[0xe] + 0x790),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e33f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e33f0.c new file mode 100644 index 00000000..bebc45dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e33f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e33f0 Unwind@1400e33f0 + * Pseudocode, not original source. */ + +void Unwind_1400e33f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x70) + 0x798),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3410.c b/decomp/Agent_Release_x64/full/functions/0x1400e3410.c new file mode 100644 index 00000000..3d8b8c82 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3410.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3410 Unwind@1400e3410 + * Pseudocode, not original source. */ + +void Unwind_1400e3410(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x70) + 2000),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3430.c b/decomp/Agent_Release_x64/full/functions/0x1400e3430.c new file mode 100644 index 00000000..3210788d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3430.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3430 Unwind@1400e3430 + * Pseudocode, not original source. */ + +void Unwind_1400e3430(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14003ead0((longlong *)(*(longlong *)(param_2 + 0x70) + 0x808)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3450.c b/decomp/Agent_Release_x64/full/functions/0x1400e3450.c new file mode 100644 index 00000000..8c906d86 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3450.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3450 Unwind@1400e3450 + * Pseudocode, not original source. */ + +void Unwind_1400e3450(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14003ebe0((longlong *)(*(longlong *)(param_2 + 0x70) + 0x828)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3470.c b/decomp/Agent_Release_x64/full/functions/0x1400e3470.c new file mode 100644 index 00000000..94d3ab83 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3470.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3470 Unwind@1400e3470 + * Pseudocode, not original source. */ + +void Unwind_1400e3470(undefined8 param_1,longlong param_2) + +{ + FUN_14003c840(*(longlong *)(param_2 + 0x70) + 0x840); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3490.c b/decomp/Agent_Release_x64/full/functions/0x1400e3490.c new file mode 100644 index 00000000..5d18a151 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3490.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3490 Unwind@1400e3490 + * Pseudocode, not original source. */ + +void Unwind_1400e3490(undefined8 param_1,longlong param_2) + +{ + FUN_1400a0e80((longlong *)(*(longlong *)(param_2 + 0x70) + 0xc48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e34b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e34b0.c new file mode 100644 index 00000000..1035d773 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e34b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e34b0 Unwind@1400e34b0 + * Pseudocode, not original source. */ + +void Unwind_1400e34b0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0xc50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e34d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e34d0.c new file mode 100644 index 00000000..21939bfb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e34d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e34d0 Unwind@1400e34d0 + * Pseudocode, not original source. */ + +void Unwind_1400e34d0(undefined8 param_1,longlong param_2) + +{ + FUN_140043ca0((char *)(*(longlong *)(param_2 + 0x70) + 0xc78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e34f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e34f0.c new file mode 100644 index 00000000..36279966 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e34f0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e34f0 Unwind@1400e34f0 + * Pseudocode, not original source. */ + +void Unwind_1400e34f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140039bf0((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0xcd0),param_2,param_3,param_4) + ; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3510.c b/decomp/Agent_Release_x64/full/functions/0x1400e3510.c new file mode 100644 index 00000000..ee9e6aa3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3510.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3510 Unwind@1400e3510 + * Pseudocode, not original source. */ + +void Unwind_1400e3510(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400414f0((char *)(*(longlong *)(param_2 + 0x70) + 0x16e8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3530.c b/decomp/Agent_Release_x64/full/functions/0x1400e3530.c new file mode 100644 index 00000000..2eb961b7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3530.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3530 Unwind@1400e3530 + * Pseudocode, not original source. */ + +void Unwind_1400e3530(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140043ca0((char *)(*(longlong *)(param_2 + 0x70) + 0x1740)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3550.c b/decomp/Agent_Release_x64/full/functions/0x1400e3550.c new file mode 100644 index 00000000..d73b88a5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3550.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3550 Unwind@1400e3550 + * Pseudocode, not original source. */ + +void Unwind_1400e3550(undefined8 param_1,longlong param_2) + +{ + FUN_14003e260((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x17a0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3570.c b/decomp/Agent_Release_x64/full/functions/0x1400e3570.c new file mode 100644 index 00000000..e4102969 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3570.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3570 Unwind@1400e3570 + * Pseudocode, not original source. */ + +void Unwind_1400e3570(undefined8 param_1,longlong param_2) + +{ + FUN_14003e2a0((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x17c8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3590.c b/decomp/Agent_Release_x64/full/functions/0x1400e3590.c new file mode 100644 index 00000000..6a211347 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3590.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3590 Unwind@1400e3590 + * Pseudocode, not original source. */ + +void Unwind_1400e3590(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14003e3a0((undefined8 *)(param_2[0xe] + 0x17f0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e35b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e35b0.c new file mode 100644 index 00000000..48ccedf9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e35b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e35b0 Unwind@1400e35b0 + * Pseudocode, not original source. */ + +void Unwind_1400e35b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(*(longlong *)(param_2 + 0x70) + 0x1808),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e35d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e35d0.c new file mode 100644 index 00000000..b9946416 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e35d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e35d0 Unwind@1400e35d0 + * Pseudocode, not original source. */ + +void Unwind_1400e35d0(undefined8 param_1,longlong param_2) + +{ + FUN_14002b6f0((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x1848)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e35f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e35f0.c new file mode 100644 index 00000000..b15bc14d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e35f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e35f0 Unwind@1400e35f0 + * Pseudocode, not original source. */ + +void Unwind_1400e35f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3600.c b/decomp/Agent_Release_x64/full/functions/0x1400e3600.c new file mode 100644 index 00000000..62bdacd9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3600.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3600 Unwind@1400e3600 + * Pseudocode, not original source. */ + +void Unwind_1400e3600(undefined8 param_1,longlong param_2) + +{ + FUN_1400533d0(*(char **)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3610.c b/decomp/Agent_Release_x64/full/functions/0x1400e3610.c new file mode 100644 index 00000000..ca0acff6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3610.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3610 Unwind@1400e3610 + * Pseudocode, not original source. */ + +void Unwind_1400e3610(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3620.c b/decomp/Agent_Release_x64/full/functions/0x1400e3620.c new file mode 100644 index 00000000..3f538b78 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3620.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3620 Unwind@1400e3620 + * Pseudocode, not original source. */ + +void Unwind_1400e3620(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xe0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3630.c b/decomp/Agent_Release_x64/full/functions/0x1400e3630.c new file mode 100644 index 00000000..5fdec99d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3630.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3630 Unwind@1400e3630 + * Pseudocode, not original source. */ + +void Unwind_1400e3630(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3640.c b/decomp/Agent_Release_x64/full/functions/0x1400e3640.c new file mode 100644 index 00000000..14b07270 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3640.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3640 Unwind@1400e3640 + * Pseudocode, not original source. */ + +void Unwind_1400e3640(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3650.c b/decomp/Agent_Release_x64/full/functions/0x1400e3650.c new file mode 100644 index 00000000..9f6e8982 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3650.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3650 Unwind@1400e3650 + * Pseudocode, not original source. */ + +void Unwind_1400e3650(undefined8 param_1,longlong param_2) + +{ + FUN_140064080(*(undefined8 **)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3660.c b/decomp/Agent_Release_x64/full/functions/0x1400e3660.c new file mode 100644 index 00000000..f4b9e9fd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3660.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3660 Unwind@1400e3660 + * Pseudocode, not original source. */ + +void Unwind_1400e3660(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3670.c b/decomp/Agent_Release_x64/full/functions/0x1400e3670.c new file mode 100644 index 00000000..d4a99a92 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3670.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3670 Unwind@1400e3670 + * Pseudocode, not original source. */ + +void Unwind_1400e3670(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3680.c b/decomp/Agent_Release_x64/full/functions/0x1400e3680.c new file mode 100644 index 00000000..5c84e113 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3680.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3680 Unwind@1400e3680 + * Pseudocode, not original source. */ + +void Unwind_1400e3680(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3690.c b/decomp/Agent_Release_x64/full/functions/0x1400e3690.c new file mode 100644 index 00000000..3ad747ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3690.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3690 Unwind@1400e3690 + * Pseudocode, not original source. */ + +void Unwind_1400e3690(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e36a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e36a0.c new file mode 100644 index 00000000..ae35dd25 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e36a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e36a0 Unwind@1400e36a0 + * Pseudocode, not original source. */ + +void Unwind_1400e36a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(*(longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e36b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e36b0.c new file mode 100644 index 00000000..6ffec882 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e36b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e36b0 Unwind@1400e36b0 + * Pseudocode, not original source. */ + +void Unwind_1400e36b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e36c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e36c0.c new file mode 100644 index 00000000..b0a597c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e36c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e36c0 Unwind@1400e36c0 + * Pseudocode, not original source. */ + +void Unwind_1400e36c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0(*(undefined4 **)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e36d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e36d0.c new file mode 100644 index 00000000..0d5382b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e36d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e36d0 Unwind@1400e36d0 + * Pseudocode, not original source. */ + +void Unwind_1400e36d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e36e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e36e0.c new file mode 100644 index 00000000..22db74b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e36e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e36e0 Unwind@1400e36e0 + * Pseudocode, not original source. */ + +void Unwind_1400e36e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e36f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e36f0.c new file mode 100644 index 00000000..e5f3108c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e36f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e36f0 Unwind@1400e36f0 + * Pseudocode, not original source. */ + +void Unwind_1400e36f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0(*(undefined4 **)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3700.c b/decomp/Agent_Release_x64/full/functions/0x1400e3700.c new file mode 100644 index 00000000..3e6f829c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3700.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3700 Unwind@1400e3700 + * Pseudocode, not original source. */ + +void Unwind_1400e3700(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3730.c b/decomp/Agent_Release_x64/full/functions/0x1400e3730.c new file mode 100644 index 00000000..7d08a68e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3730.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3730 Unwind@1400e3730 + * Pseudocode, not original source. */ + +void Unwind_1400e3730(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3760.c b/decomp/Agent_Release_x64/full/functions/0x1400e3760.c new file mode 100644 index 00000000..a409cdef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3760.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3760 Unwind@1400e3760 + * Pseudocode, not original source. */ + +void Unwind_1400e3760(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3770.c b/decomp/Agent_Release_x64/full/functions/0x1400e3770.c new file mode 100644 index 00000000..cbe28d37 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3770.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3770 Unwind@1400e3770 + * Pseudocode, not original source. */ + +void Unwind_1400e3770(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((*(uint *)(param_2 + 0x60) & 1) != 0) { + *(uint *)(param_2 + 0x60) = *(uint *)(param_2 + 0x60) & 0xfffffffe; + thunk_FUN_140003240(*(longlong **)(param_2 + 0x68),param_2,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e37a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e37a0.c new file mode 100644 index 00000000..7239ec3a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e37a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e37a0 Unwind@1400e37a0 + * Pseudocode, not original source. */ + +void Unwind_1400e37a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e37b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e37b0.c new file mode 100644 index 00000000..cfd312f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e37b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e37b0 Unwind@1400e37b0 + * Pseudocode, not original source. */ + +void Unwind_1400e37b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e37c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e37c0.c new file mode 100644 index 00000000..16962d8e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e37c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e37c0 Unwind@1400e37c0 + * Pseudocode, not original source. */ + +void Unwind_1400e37c0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e37d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e37d0.c new file mode 100644 index 00000000..3a1c467f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e37d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e37d0 Unwind@1400e37d0 + * Pseudocode, not original source. */ + +void Unwind_1400e37d0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x2a0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e37e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e37e0.c new file mode 100644 index 00000000..1cca2909 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e37e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e37e0 Unwind@1400e37e0 + * Pseudocode, not original source. */ + +void Unwind_1400e37e0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x2d8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e37f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e37f0.c new file mode 100644 index 00000000..5b9c54e7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e37f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e37f0 Unwind@1400e37f0 + * Pseudocode, not original source. */ + +void Unwind_1400e37f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3800.c b/decomp/Agent_Release_x64/full/functions/0x1400e3800.c new file mode 100644 index 00000000..29889916 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3800.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3800 Unwind@1400e3800 + * Pseudocode, not original source. */ + +void Unwind_1400e3800(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x2c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3810.c b/decomp/Agent_Release_x64/full/functions/0x1400e3810.c new file mode 100644 index 00000000..6b60ba47 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3810.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3810 Unwind@1400e3810 + * Pseudocode, not original source. */ + +void Unwind_1400e3810(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x440)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3820.c b/decomp/Agent_Release_x64/full/functions/0x1400e3820.c new file mode 100644 index 00000000..52f48f4b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3820.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3820 Unwind@1400e3820 + * Pseudocode, not original source. */ + +void Unwind_1400e3820(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x170)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3830.c b/decomp/Agent_Release_x64/full/functions/0x1400e3830.c new file mode 100644 index 00000000..cc5806d7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3830.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3830 Unwind@1400e3830 + * Pseudocode, not original source. */ + +void Unwind_1400e3830(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x440)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3840.c b/decomp/Agent_Release_x64/full/functions/0x1400e3840.c new file mode 100644 index 00000000..115e8f4b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3840.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3840 Unwind@1400e3840 + * Pseudocode, not original source. */ + +void Unwind_1400e3840(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x440)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3850.c b/decomp/Agent_Release_x64/full/functions/0x1400e3850.c new file mode 100644 index 00000000..2edffb4b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3850.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3850 Unwind@1400e3850 + * Pseudocode, not original source. */ + +void Unwind_1400e3850(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3860.c b/decomp/Agent_Release_x64/full/functions/0x1400e3860.c new file mode 100644 index 00000000..efd2cd4b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3860.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3860 Unwind@1400e3860 + * Pseudocode, not original source. */ + +void Unwind_1400e3860(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x440)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3870.c b/decomp/Agent_Release_x64/full/functions/0x1400e3870.c new file mode 100644 index 00000000..53f60970 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3870.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3870 Unwind@1400e3870 + * Pseudocode, not original source. */ + +void Unwind_1400e3870(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3880.c b/decomp/Agent_Release_x64/full/functions/0x1400e3880.c new file mode 100644 index 00000000..24fc4b80 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3880.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3880 Unwind@1400e3880 + * Pseudocode, not original source. */ + +void Unwind_1400e3880(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3890.c b/decomp/Agent_Release_x64/full/functions/0x1400e3890.c new file mode 100644 index 00000000..fe8eb3af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3890.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3890 Unwind@1400e3890 + * Pseudocode, not original source. */ + +void Unwind_1400e3890(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x2d0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e38a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e38a0.c new file mode 100644 index 00000000..92076ce8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e38a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e38a0 Unwind@1400e38a0 + * Pseudocode, not original source. */ + +void Unwind_1400e38a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x440)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e38b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e38b0.c new file mode 100644 index 00000000..e7b06efa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e38b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e38b0 Unwind@1400e38b0 + * Pseudocode, not original source. */ + +void Unwind_1400e38b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x170)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e38c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e38c0.c new file mode 100644 index 00000000..091e81df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e38c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e38c0 Unwind@1400e38c0 + * Pseudocode, not original source. */ + +void Unwind_1400e38c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x440)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e38d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e38d0.c new file mode 100644 index 00000000..afada3cb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e38d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e38d0 Unwind@1400e38d0 + * Pseudocode, not original source. */ + +void Unwind_1400e38d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x440)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e38e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e38e0.c new file mode 100644 index 00000000..2a5db7d3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e38e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e38e0 Unwind@1400e38e0 + * Pseudocode, not original source. */ + +void Unwind_1400e38e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e38f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e38f0.c new file mode 100644 index 00000000..cd53c449 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e38f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e38f0 Unwind@1400e38f0 + * Pseudocode, not original source. */ + +void Unwind_1400e38f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x440)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3900.c b/decomp/Agent_Release_x64/full/functions/0x1400e3900.c new file mode 100644 index 00000000..70e3ad62 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3900.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3900 Unwind@1400e3900 + * Pseudocode, not original source. */ + +void Unwind_1400e3900(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3910.c b/decomp/Agent_Release_x64/full/functions/0x1400e3910.c new file mode 100644 index 00000000..bad44cf2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3910.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3910 Unwind@1400e3910 + * Pseudocode, not original source. */ + +void Unwind_1400e3910(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3920.c b/decomp/Agent_Release_x64/full/functions/0x1400e3920.c new file mode 100644 index 00000000..f8bd4d53 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3920.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3920 Unwind@1400e3920 + * Pseudocode, not original source. */ + +void Unwind_1400e3920(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3930.c b/decomp/Agent_Release_x64/full/functions/0x1400e3930.c new file mode 100644 index 00000000..0c324801 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3930.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3930 Unwind@1400e3930 + * Pseudocode, not original source. */ + +void Unwind_1400e3930(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3940.c b/decomp/Agent_Release_x64/full/functions/0x1400e3940.c new file mode 100644 index 00000000..080ab00e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3940.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3940 Unwind@1400e3940 + * Pseudocode, not original source. */ + +void Unwind_1400e3940(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3950.c b/decomp/Agent_Release_x64/full/functions/0x1400e3950.c new file mode 100644 index 00000000..fe682775 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3950.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3950 Unwind@1400e3950 + * Pseudocode, not original source. */ + +void Unwind_1400e3950(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3960.c b/decomp/Agent_Release_x64/full/functions/0x1400e3960.c new file mode 100644 index 00000000..44260ceb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3960.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3960 Unwind@1400e3960 + * Pseudocode, not original source. */ + +void Unwind_1400e3960(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3970.c b/decomp/Agent_Release_x64/full/functions/0x1400e3970.c new file mode 100644 index 00000000..6386e5e0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3970.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3970 Unwind@1400e3970 + * Pseudocode, not original source. */ + +void Unwind_1400e3970(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x370),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3980.c b/decomp/Agent_Release_x64/full/functions/0x1400e3980.c new file mode 100644 index 00000000..0b3e8114 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3980.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3980 Unwind@1400e3980 + * Pseudocode, not original source. */ + +void Unwind_1400e3980(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3990.c b/decomp/Agent_Release_x64/full/functions/0x1400e3990.c new file mode 100644 index 00000000..d505a3be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3990.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3990 Unwind@1400e3990 + * Pseudocode, not original source. */ + +void Unwind_1400e3990(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e39a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e39a0.c new file mode 100644 index 00000000..211ff115 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e39a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e39a0 Unwind@1400e39a0 + * Pseudocode, not original source. */ + +void Unwind_1400e39a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x380),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e39b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e39b0.c new file mode 100644 index 00000000..07dee401 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e39b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e39b0 Unwind@1400e39b0 + * Pseudocode, not original source. */ + +void Unwind_1400e39b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e39c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e39c0.c new file mode 100644 index 00000000..c4232135 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e39c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e39c0 Unwind@1400e39c0 + * Pseudocode, not original source. */ + +void Unwind_1400e39c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xe8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e39d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e39d0.c new file mode 100644 index 00000000..0513d8ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e39d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e39d0 Unwind@1400e39d0 + * Pseudocode, not original source. */ + +void Unwind_1400e39d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x378),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e39e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e39e0.c new file mode 100644 index 00000000..fd8e0989 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e39e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e39e0 Unwind@1400e39e0 + * Pseudocode, not original source. */ + +void Unwind_1400e39e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e39f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e39f0.c new file mode 100644 index 00000000..beb57bba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e39f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e39f0 Unwind@1400e39f0 + * Pseudocode, not original source. */ + +void Unwind_1400e39f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xe8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3a00.c b/decomp/Agent_Release_x64/full/functions/0x1400e3a00.c new file mode 100644 index 00000000..4ea5b9b4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3a00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3a00 Unwind@1400e3a00 + * Pseudocode, not original source. */ + +void Unwind_1400e3a00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x340),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3a10.c b/decomp/Agent_Release_x64/full/functions/0x1400e3a10.c new file mode 100644 index 00000000..665fcbb0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3a10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3a10 Unwind@1400e3a10 + * Pseudocode, not original source. */ + +void Unwind_1400e3a10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3a20.c b/decomp/Agent_Release_x64/full/functions/0x1400e3a20.c new file mode 100644 index 00000000..7bd5c5e0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3a20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3a20 Unwind@1400e3a20 + * Pseudocode, not original source. */ + +void Unwind_1400e3a20(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xe8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3a30.c b/decomp/Agent_Release_x64/full/functions/0x1400e3a30.c new file mode 100644 index 00000000..eca0f3bd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3a30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3a30 Unwind@1400e3a30 + * Pseudocode, not original source. */ + +void Unwind_1400e3a30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x350),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3a40.c b/decomp/Agent_Release_x64/full/functions/0x1400e3a40.c new file mode 100644 index 00000000..b6d8f62a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3a40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3a40 Unwind@1400e3a40 + * Pseudocode, not original source. */ + +void Unwind_1400e3a40(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3a50.c b/decomp/Agent_Release_x64/full/functions/0x1400e3a50.c new file mode 100644 index 00000000..1cd83868 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3a50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3a50 Unwind@1400e3a50 + * Pseudocode, not original source. */ + +void Unwind_1400e3a50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3a60.c b/decomp/Agent_Release_x64/full/functions/0x1400e3a60.c new file mode 100644 index 00000000..b390ad1a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3a60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3a60 Unwind@1400e3a60 + * Pseudocode, not original source. */ + +void Unwind_1400e3a60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x360),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3a70.c b/decomp/Agent_Release_x64/full/functions/0x1400e3a70.c new file mode 100644 index 00000000..526e0b4b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3a70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3a70 Unwind@1400e3a70 + * Pseudocode, not original source. */ + +void Unwind_1400e3a70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3a80.c b/decomp/Agent_Release_x64/full/functions/0x1400e3a80.c new file mode 100644 index 00000000..aea9213d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3a80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3a80 Unwind@1400e3a80 + * Pseudocode, not original source. */ + +void Unwind_1400e3a80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3a90.c b/decomp/Agent_Release_x64/full/functions/0x1400e3a90.c new file mode 100644 index 00000000..d70eb2bb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3a90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3a90 Unwind@1400e3a90 + * Pseudocode, not original source. */ + +void Unwind_1400e3a90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x348),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3aa0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3aa0.c new file mode 100644 index 00000000..bda340cf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3aa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3aa0 Unwind@1400e3aa0 + * Pseudocode, not original source. */ + +void Unwind_1400e3aa0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3ab0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3ab0.c new file mode 100644 index 00000000..94da75f7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3ab0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3ab0 Unwind@1400e3ab0 + * Pseudocode, not original source. */ + +void Unwind_1400e3ab0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3ac0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3ac0.c new file mode 100644 index 00000000..0d424d81 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3ac0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3ac0 Unwind@1400e3ac0 + * Pseudocode, not original source. */ + +void Unwind_1400e3ac0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x318),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3ad0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3ad0.c new file mode 100644 index 00000000..254ce8c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3ad0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3ad0 Unwind@1400e3ad0 + * Pseudocode, not original source. */ + +void Unwind_1400e3ad0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3ae0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3ae0.c new file mode 100644 index 00000000..e200b3ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3ae0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3ae0 Unwind@1400e3ae0 + * Pseudocode, not original source. */ + +void Unwind_1400e3ae0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3af0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3af0.c new file mode 100644 index 00000000..d31b9519 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3af0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3af0 Unwind@1400e3af0 + * Pseudocode, not original source. */ + +void Unwind_1400e3af0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x368),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3b00.c b/decomp/Agent_Release_x64/full/functions/0x1400e3b00.c new file mode 100644 index 00000000..38a0dbda --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3b00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3b00 Unwind@1400e3b00 + * Pseudocode, not original source. */ + +void Unwind_1400e3b00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3b10.c b/decomp/Agent_Release_x64/full/functions/0x1400e3b10.c new file mode 100644 index 00000000..8ab02dd7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3b10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3b10 Unwind@1400e3b10 + * Pseudocode, not original source. */ + +void Unwind_1400e3b10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3b20.c b/decomp/Agent_Release_x64/full/functions/0x1400e3b20.c new file mode 100644 index 00000000..8b5ee1ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3b20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3b20 Unwind@1400e3b20 + * Pseudocode, not original source. */ + +void Unwind_1400e3b20(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x328),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3b30.c b/decomp/Agent_Release_x64/full/functions/0x1400e3b30.c new file mode 100644 index 00000000..111e418b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3b30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3b30 Unwind@1400e3b30 + * Pseudocode, not original source. */ + +void Unwind_1400e3b30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3b40.c b/decomp/Agent_Release_x64/full/functions/0x1400e3b40.c new file mode 100644 index 00000000..2e097496 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3b40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3b40 Unwind@1400e3b40 + * Pseudocode, not original source. */ + +void Unwind_1400e3b40(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3b50.c b/decomp/Agent_Release_x64/full/functions/0x1400e3b50.c new file mode 100644 index 00000000..d234f8db --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3b50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3b50 Unwind@1400e3b50 + * Pseudocode, not original source. */ + +void Unwind_1400e3b50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x358),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3b60.c b/decomp/Agent_Release_x64/full/functions/0x1400e3b60.c new file mode 100644 index 00000000..a5f581de --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3b60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3b60 Unwind@1400e3b60 + * Pseudocode, not original source. */ + +void Unwind_1400e3b60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3b70.c b/decomp/Agent_Release_x64/full/functions/0x1400e3b70.c new file mode 100644 index 00000000..d4cf2f2a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3b70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3b70 Unwind@1400e3b70 + * Pseudocode, not original source. */ + +void Unwind_1400e3b70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3b80.c b/decomp/Agent_Release_x64/full/functions/0x1400e3b80.c new file mode 100644 index 00000000..bc1381ab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3b80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3b80 Unwind@1400e3b80 + * Pseudocode, not original source. */ + +void Unwind_1400e3b80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x338),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3b90.c b/decomp/Agent_Release_x64/full/functions/0x1400e3b90.c new file mode 100644 index 00000000..74024580 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3b90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3b90 Unwind@1400e3b90 + * Pseudocode, not original source. */ + +void Unwind_1400e3b90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3ba0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3ba0.c new file mode 100644 index 00000000..130cfe96 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3ba0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3ba0 Unwind@1400e3ba0 + * Pseudocode, not original source. */ + +void Unwind_1400e3ba0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3bb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3bb0.c new file mode 100644 index 00000000..0411badb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3bb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3bb0 Unwind@1400e3bb0 + * Pseudocode, not original source. */ + +void Unwind_1400e3bb0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x300),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3bc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3bc0.c new file mode 100644 index 00000000..3f9edc81 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3bc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3bc0 Unwind@1400e3bc0 + * Pseudocode, not original source. */ + +void Unwind_1400e3bc0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3bd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3bd0.c new file mode 100644 index 00000000..7f2c421f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3bd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3bd0 Unwind@1400e3bd0 + * Pseudocode, not original source. */ + +void Unwind_1400e3bd0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3be0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3be0.c new file mode 100644 index 00000000..28353d35 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3be0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3be0 Unwind@1400e3be0 + * Pseudocode, not original source. */ + +void Unwind_1400e3be0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x308),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3bf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3bf0.c new file mode 100644 index 00000000..9082644f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3bf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3bf0 Unwind@1400e3bf0 + * Pseudocode, not original source. */ + +void Unwind_1400e3bf0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3c00.c b/decomp/Agent_Release_x64/full/functions/0x1400e3c00.c new file mode 100644 index 00000000..f1ab3e87 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3c00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3c00 Unwind@1400e3c00 + * Pseudocode, not original source. */ + +void Unwind_1400e3c00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3c10.c b/decomp/Agent_Release_x64/full/functions/0x1400e3c10.c new file mode 100644 index 00000000..8c4a32c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3c10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3c10 Unwind@1400e3c10 + * Pseudocode, not original source. */ + +void Unwind_1400e3c10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x310),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3c20.c b/decomp/Agent_Release_x64/full/functions/0x1400e3c20.c new file mode 100644 index 00000000..776aef6b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3c20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3c20 Unwind@1400e3c20 + * Pseudocode, not original source. */ + +void Unwind_1400e3c20(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3c30.c b/decomp/Agent_Release_x64/full/functions/0x1400e3c30.c new file mode 100644 index 00000000..a1983ab7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3c30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3c30 Unwind@1400e3c30 + * Pseudocode, not original source. */ + +void Unwind_1400e3c30(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x420)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3c40.c b/decomp/Agent_Release_x64/full/functions/0x1400e3c40.c new file mode 100644 index 00000000..425c5c1a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3c40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3c40 Unwind@1400e3c40 + * Pseudocode, not original source. */ + +void Unwind_1400e3c40(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3c50.c b/decomp/Agent_Release_x64/full/functions/0x1400e3c50.c new file mode 100644 index 00000000..8d1843f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3c50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3c50 Unwind@1400e3c50 + * Pseudocode, not original source. */ + +void Unwind_1400e3c50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 800),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3c60.c b/decomp/Agent_Release_x64/full/functions/0x1400e3c60.c new file mode 100644 index 00000000..8c069042 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3c60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3c60 Unwind@1400e3c60 + * Pseudocode, not original source. */ + +void Unwind_1400e3c60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3c70.c b/decomp/Agent_Release_x64/full/functions/0x1400e3c70.c new file mode 100644 index 00000000..8ea6cfc4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3c70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3c70 Unwind@1400e3c70 + * Pseudocode, not original source. */ + +void Unwind_1400e3c70(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x420)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3c80.c b/decomp/Agent_Release_x64/full/functions/0x1400e3c80.c new file mode 100644 index 00000000..5b9ad1af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3c80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3c80 Unwind@1400e3c80 + * Pseudocode, not original source. */ + +void Unwind_1400e3c80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3c90.c b/decomp/Agent_Release_x64/full/functions/0x1400e3c90.c new file mode 100644 index 00000000..aef08bec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3c90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3c90 Unwind@1400e3c90 + * Pseudocode, not original source. */ + +void Unwind_1400e3c90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x330),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3ca0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3ca0.c new file mode 100644 index 00000000..1d661b43 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3ca0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3ca0 Unwind@1400e3ca0 + * Pseudocode, not original source. */ + +void Unwind_1400e3ca0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3cb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3cb0.c new file mode 100644 index 00000000..1441fdbf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3cb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3cb0 Unwind@1400e3cb0 + * Pseudocode, not original source. */ + +void Unwind_1400e3cb0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x1b8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3cc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3cc0.c new file mode 100644 index 00000000..aaf2813e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3cc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3cc0 Unwind@1400e3cc0 + * Pseudocode, not original source. */ + +void Unwind_1400e3cc0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xe0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3cd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3cd0.c new file mode 100644 index 00000000..5c87fc72 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3cd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3cd0 Unwind@1400e3cd0 + * Pseudocode, not original source. */ + +void Unwind_1400e3cd0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3ce0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3ce0.c new file mode 100644 index 00000000..b6c4f035 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3ce0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3ce0 Unwind@1400e3ce0 + * Pseudocode, not original source. */ + +void Unwind_1400e3ce0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3cf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3cf0.c new file mode 100644 index 00000000..f5dfa15d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3cf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3cf0 Unwind@1400e3cf0 + * Pseudocode, not original source. */ + +void Unwind_1400e3cf0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3d00.c b/decomp/Agent_Release_x64/full/functions/0x1400e3d00.c new file mode 100644 index 00000000..20431629 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3d00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3d00 Unwind@1400e3d00 + * Pseudocode, not original source. */ + +void Unwind_1400e3d00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3d10.c b/decomp/Agent_Release_x64/full/functions/0x1400e3d10.c new file mode 100644 index 00000000..7233fbca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3d10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3d10 Unwind@1400e3d10 + * Pseudocode, not original source. */ + +void Unwind_1400e3d10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3d20.c b/decomp/Agent_Release_x64/full/functions/0x1400e3d20.c new file mode 100644 index 00000000..f91894d7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3d20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3d20 Unwind@1400e3d20 + * Pseudocode, not original source. */ + +void Unwind_1400e3d20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3d30.c b/decomp/Agent_Release_x64/full/functions/0x1400e3d30.c new file mode 100644 index 00000000..ef9fcd77 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3d30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3d30 Unwind@1400e3d30 + * Pseudocode, not original source. */ + +void Unwind_1400e3d30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3d40.c b/decomp/Agent_Release_x64/full/functions/0x1400e3d40.c new file mode 100644 index 00000000..b85ac2e0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3d40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3d40 Unwind@1400e3d40 + * Pseudocode, not original source. */ + +void Unwind_1400e3d40(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xd8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3d50.c b/decomp/Agent_Release_x64/full/functions/0x1400e3d50.c new file mode 100644 index 00000000..f58880ef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3d50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3d50 Unwind@1400e3d50 + * Pseudocode, not original source. */ + +void Unwind_1400e3d50(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3d60.c b/decomp/Agent_Release_x64/full/functions/0x1400e3d60.c new file mode 100644 index 00000000..e9e5af8f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3d60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3d60 Unwind@1400e3d60 + * Pseudocode, not original source. */ + +void Unwind_1400e3d60(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3d70.c b/decomp/Agent_Release_x64/full/functions/0x1400e3d70.c new file mode 100644 index 00000000..6bd43259 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3d70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3d70 Unwind@1400e3d70 + * Pseudocode, not original source. */ + +void Unwind_1400e3d70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3d80.c b/decomp/Agent_Release_x64/full/functions/0x1400e3d80.c new file mode 100644 index 00000000..5a97f157 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3d80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3d80 Unwind@1400e3d80 + * Pseudocode, not original source. */ + +void Unwind_1400e3d80(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3d90.c b/decomp/Agent_Release_x64/full/functions/0x1400e3d90.c new file mode 100644 index 00000000..3ee96d6a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3d90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3d90 Unwind@1400e3d90 + * Pseudocode, not original source. */ + +void Unwind_1400e3d90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3da0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3da0.c new file mode 100644 index 00000000..445147bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3da0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3da0 Unwind@1400e3da0 + * Pseudocode, not original source. */ + +void Unwind_1400e3da0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3db0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3db0.c new file mode 100644 index 00000000..5eb882fd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3db0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3db0 Unwind@1400e3db0 + * Pseudocode, not original source. */ + +void Unwind_1400e3db0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3dc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3dc0.c new file mode 100644 index 00000000..27cd43cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3dc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3dc0 Unwind@1400e3dc0 + * Pseudocode, not original source. */ + +void Unwind_1400e3dc0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xe8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3dd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3dd0.c new file mode 100644 index 00000000..c604151b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3dd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3dd0 Unwind@1400e3dd0 + * Pseudocode, not original source. */ + +void Unwind_1400e3dd0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3de0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3de0.c new file mode 100644 index 00000000..b35611d3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3de0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3de0 Unwind@1400e3de0 + * Pseudocode, not original source. */ + +void Unwind_1400e3de0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3df0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3df0.c new file mode 100644 index 00000000..6515d11c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3df0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3df0 Unwind@1400e3df0 + * Pseudocode, not original source. */ + +void Unwind_1400e3df0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3e00.c b/decomp/Agent_Release_x64/full/functions/0x1400e3e00.c new file mode 100644 index 00000000..0e954d57 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3e00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3e00 Unwind@1400e3e00 + * Pseudocode, not original source. */ + +void Unwind_1400e3e00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3e10.c b/decomp/Agent_Release_x64/full/functions/0x1400e3e10.c new file mode 100644 index 00000000..d6edf280 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3e10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3e10 Unwind@1400e3e10 + * Pseudocode, not original source. */ + +void Unwind_1400e3e10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3e20.c b/decomp/Agent_Release_x64/full/functions/0x1400e3e20.c new file mode 100644 index 00000000..80600ea8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3e20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3e20 Unwind@1400e3e20 + * Pseudocode, not original source. */ + +void Unwind_1400e3e20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3e30.c b/decomp/Agent_Release_x64/full/functions/0x1400e3e30.c new file mode 100644 index 00000000..22f793fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3e30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3e30 Unwind@1400e3e30 + * Pseudocode, not original source. */ + +void Unwind_1400e3e30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3e40.c b/decomp/Agent_Release_x64/full/functions/0x1400e3e40.c new file mode 100644 index 00000000..92459c9f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3e40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3e40 Unwind@1400e3e40 + * Pseudocode, not original source. */ + +void Unwind_1400e3e40(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xd0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3e50.c b/decomp/Agent_Release_x64/full/functions/0x1400e3e50.c new file mode 100644 index 00000000..8655a4df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3e50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3e50 Unwind@1400e3e50 + * Pseudocode, not original source. */ + +void Unwind_1400e3e50(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3e60.c b/decomp/Agent_Release_x64/full/functions/0x1400e3e60.c new file mode 100644 index 00000000..8c275daa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3e60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3e60 Unwind@1400e3e60 + * Pseudocode, not original source. */ + +void Unwind_1400e3e60(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3e70.c b/decomp/Agent_Release_x64/full/functions/0x1400e3e70.c new file mode 100644 index 00000000..3a104203 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3e70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3e70 Unwind@1400e3e70 + * Pseudocode, not original source. */ + +void Unwind_1400e3e70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3e80.c b/decomp/Agent_Release_x64/full/functions/0x1400e3e80.c new file mode 100644 index 00000000..11f20f61 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3e80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3e80 Unwind@1400e3e80 + * Pseudocode, not original source. */ + +void Unwind_1400e3e80(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3e90.c b/decomp/Agent_Release_x64/full/functions/0x1400e3e90.c new file mode 100644 index 00000000..f04982b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3e90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3e90 Unwind@1400e3e90 + * Pseudocode, not original source. */ + +void Unwind_1400e3e90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3ea0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3ea0.c new file mode 100644 index 00000000..045b0967 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3ea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3ea0 Unwind@1400e3ea0 + * Pseudocode, not original source. */ + +void Unwind_1400e3ea0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3eb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3eb0.c new file mode 100644 index 00000000..479ff35b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3eb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3eb0 Unwind@1400e3eb0 + * Pseudocode, not original source. */ + +void Unwind_1400e3eb0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x48); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3ec0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3ec0.c new file mode 100644 index 00000000..61262ae4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3ec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3ec0 Unwind@1400e3ec0 + * Pseudocode, not original source. */ + +void Unwind_1400e3ec0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x80) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3ed0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3ed0.c new file mode 100644 index 00000000..cc1a5b35 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3ed0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3ed0 Unwind@1400e3ed0 + * Pseudocode, not original source. */ + +void Unwind_1400e3ed0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3ee0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3ee0.c new file mode 100644 index 00000000..d1643f26 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3ee0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3ee0 Unwind@1400e3ee0 + * Pseudocode, not original source. */ + +void Unwind_1400e3ee0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3ef0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3ef0.c new file mode 100644 index 00000000..8a23735b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3ef0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3ef0 Unwind@1400e3ef0 + * Pseudocode, not original source. */ + +void Unwind_1400e3ef0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3f00.c b/decomp/Agent_Release_x64/full/functions/0x1400e3f00.c new file mode 100644 index 00000000..88c06c97 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3f00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3f00 Unwind@1400e3f00 + * Pseudocode, not original source. */ + +void Unwind_1400e3f00(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3f20.c b/decomp/Agent_Release_x64/full/functions/0x1400e3f20.c new file mode 100644 index 00000000..54ad372c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3f20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3f20 Unwind@1400e3f20 + * Pseudocode, not original source. */ + +void Unwind_1400e3f20(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xd0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3f30.c b/decomp/Agent_Release_x64/full/functions/0x1400e3f30.c new file mode 100644 index 00000000..e2f0a53c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3f30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3f30 Unwind@1400e3f30 + * Pseudocode, not original source. */ + +void Unwind_1400e3f30(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3f50.c b/decomp/Agent_Release_x64/full/functions/0x1400e3f50.c new file mode 100644 index 00000000..7f79124a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3f50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3f50 Unwind@1400e3f50 + * Pseudocode, not original source. */ + +void Unwind_1400e3f50(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x20) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3f60.c b/decomp/Agent_Release_x64/full/functions/0x1400e3f60.c new file mode 100644 index 00000000..d79493af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3f60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3f60 Unwind@1400e3f60 + * Pseudocode, not original source. */ + +void Unwind_1400e3f60(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3f70.c b/decomp/Agent_Release_x64/full/functions/0x1400e3f70.c new file mode 100644 index 00000000..8d87f667 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3f70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3f70 Unwind@1400e3f70 + * Pseudocode, not original source. */ + +void Unwind_1400e3f70(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3f80.c b/decomp/Agent_Release_x64/full/functions/0x1400e3f80.c new file mode 100644 index 00000000..8df26eb4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3f80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3f80 Unwind@1400e3f80 + * Pseudocode, not original source. */ + +void Unwind_1400e3f80(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3fa0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3fa0.c new file mode 100644 index 00000000..b73e7e45 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3fa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3fa0 Unwind@1400e3fa0 + * Pseudocode, not original source. */ + +void Unwind_1400e3fa0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xd0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3fb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3fb0.c new file mode 100644 index 00000000..7ed0acd8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3fb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3fb0 Unwind@1400e3fb0 + * Pseudocode, not original source. */ + +void Unwind_1400e3fb0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3fd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3fd0.c new file mode 100644 index 00000000..8425fea8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3fd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3fd0 Unwind@1400e3fd0 + * Pseudocode, not original source. */ + +void Unwind_1400e3fd0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x48) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3fe0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3fe0.c new file mode 100644 index 00000000..a9337293 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3fe0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3fe0 Unwind@1400e3fe0 + * Pseudocode, not original source. */ + +void Unwind_1400e3fe0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e3ff0.c b/decomp/Agent_Release_x64/full/functions/0x1400e3ff0.c new file mode 100644 index 00000000..e4e38087 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e3ff0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e3ff0 Unwind@1400e3ff0 + * Pseudocode, not original source. */ + +void Unwind_1400e3ff0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4000.c b/decomp/Agent_Release_x64/full/functions/0x1400e4000.c new file mode 100644 index 00000000..4e494547 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4000.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4000 Unwind@1400e4000 + * Pseudocode, not original source. */ + +void Unwind_1400e4000(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4020.c b/decomp/Agent_Release_x64/full/functions/0x1400e4020.c new file mode 100644 index 00000000..f77e7f94 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4020.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4020 Unwind@1400e4020 + * Pseudocode, not original source. */ + +void Unwind_1400e4020(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xd0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4030.c b/decomp/Agent_Release_x64/full/functions/0x1400e4030.c new file mode 100644 index 00000000..5cc6ad7e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4030.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4030 Unwind@1400e4030 + * Pseudocode, not original source. */ + +void Unwind_1400e4030(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4050.c b/decomp/Agent_Release_x64/full/functions/0x1400e4050.c new file mode 100644 index 00000000..f9f0711d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4050.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4050 Unwind@1400e4050 + * Pseudocode, not original source. */ + +void Unwind_1400e4050(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x78) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4060.c b/decomp/Agent_Release_x64/full/functions/0x1400e4060.c new file mode 100644 index 00000000..ee9e23fc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4060.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4060 Unwind@1400e4060 + * Pseudocode, not original source. */ + +void Unwind_1400e4060(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4070.c b/decomp/Agent_Release_x64/full/functions/0x1400e4070.c new file mode 100644 index 00000000..6762505c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4070.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4070 Unwind@1400e4070 + * Pseudocode, not original source. */ + +void Unwind_1400e4070(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x88); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4080.c b/decomp/Agent_Release_x64/full/functions/0x1400e4080.c new file mode 100644 index 00000000..b9ff4761 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4080.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4080 Unwind@1400e4080 + * Pseudocode, not original source. */ + +void Unwind_1400e4080(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x88); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4090.c b/decomp/Agent_Release_x64/full/functions/0x1400e4090.c new file mode 100644 index 00000000..e84a602e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4090.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4090 Unwind@1400e4090 + * Pseudocode, not original source. */ + +void Unwind_1400e4090(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xe0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e40a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e40a0.c new file mode 100644 index 00000000..d6869860 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e40a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e40a0 Unwind@1400e40a0 + * Pseudocode, not original source. */ + +void Unwind_1400e40a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e40b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e40b0.c new file mode 100644 index 00000000..b06007b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e40b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e40b0 Unwind@1400e40b0 + * Pseudocode, not original source. */ + +void Unwind_1400e40b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e40c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e40c0.c new file mode 100644 index 00000000..7544efa5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e40c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e40c0 Unwind@1400e40c0 + * Pseudocode, not original source. */ + +void Unwind_1400e40c0(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e40d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e40d0.c new file mode 100644 index 00000000..3f700298 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e40d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e40d0 Unwind@1400e40d0 + * Pseudocode, not original source. */ + +void Unwind_1400e40d0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e40e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e40e0.c new file mode 100644 index 00000000..f3868af0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e40e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e40e0 Unwind@1400e40e0 + * Pseudocode, not original source. */ + +void Unwind_1400e40e0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e40f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e40f0.c new file mode 100644 index 00000000..6d7425a6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e40f0.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e40f0 Catch@1400e40f0 + * Pseudocode, not original source. */ + +undefined8 Catch_1400e40f0(undefined8 param_1,longlong param_2) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0x70); + plVar2 = *(longlong **)(lVar1 + 0x1580); + if (plVar2 != (longlong *)0x0) { + (**(code **)(*plVar2 + 0x20))(plVar2,*(undefined8 *)(param_2 + 0x28)); + } + *(undefined8 *)(param_2 + 0x88) = 0; + FUN_1400ad4b0((longlong *)(lVar1 + 0x1520),(longlong *)(param_2 + 0x88)); + *(undefined1 *)(lVar1 + 0x1528) = 1; + return 0x14006ff40; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4150.c b/decomp/Agent_Release_x64/full/functions/0x1400e4150.c new file mode 100644 index 00000000..067eb2e7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4150.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4150 Unwind@1400e4150 + * Pseudocode, not original source. */ + +void Unwind_1400e4150(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4160.c b/decomp/Agent_Release_x64/full/functions/0x1400e4160.c new file mode 100644 index 00000000..f682cbb1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4160 Unwind@1400e4160 + * Pseudocode, not original source. */ + +void Unwind_1400e4160(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4180.c b/decomp/Agent_Release_x64/full/functions/0x1400e4180.c new file mode 100644 index 00000000..77f080f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4180.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4180 Unwind@1400e4180 + * Pseudocode, not original source. */ + +void Unwind_1400e4180(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e41a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e41a0.c new file mode 100644 index 00000000..d4b071c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e41a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e41a0 Unwind@1400e41a0 + * Pseudocode, not original source. */ + +void Unwind_1400e41a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140066060((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e41b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e41b0.c new file mode 100644 index 00000000..014a9ecf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e41b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e41b0 Unwind@1400e41b0 + * Pseudocode, not original source. */ + +void Unwind_1400e41b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e41c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e41c0.c new file mode 100644 index 00000000..2d13590f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e41c0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e41c0 Unwind@1400e41c0 + * Pseudocode, not original source. */ + +void Unwind_1400e41c0(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x70) & 1) != 0) { + *(uint *)(param_2 + 0x70) = *(uint *)(param_2 + 0x70) & 0xfffffffe; + FUN_1400ad450(*(longlong **)(param_2 + 0x68)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e41f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e41f0.c new file mode 100644 index 00000000..d21e6de8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e41f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e41f0 Unwind@1400e41f0 + * Pseudocode, not original source. */ + +void Unwind_1400e41f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4200.c b/decomp/Agent_Release_x64/full/functions/0x1400e4200.c new file mode 100644 index 00000000..8902c5ea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4200.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4200 Unwind@1400e4200 + * Pseudocode, not original source. */ + +void Unwind_1400e4200(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4210.c b/decomp/Agent_Release_x64/full/functions/0x1400e4210.c new file mode 100644 index 00000000..3f69f131 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4210.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4210 Unwind@1400e4210 + * Pseudocode, not original source. */ + +void Unwind_1400e4210(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4220.c b/decomp/Agent_Release_x64/full/functions/0x1400e4220.c new file mode 100644 index 00000000..6c798249 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4220.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4220 Unwind@1400e4220 + * Pseudocode, not original source. */ + +void Unwind_1400e4220(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4230.c b/decomp/Agent_Release_x64/full/functions/0x1400e4230.c new file mode 100644 index 00000000..98af82a3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4230.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4230 Unwind@1400e4230 + * Pseudocode, not original source. */ + +void Unwind_1400e4230(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((*(uint *)(param_2 + 0xc0) & 1) != 0) { + *(uint *)(param_2 + 0xc0) = *(uint *)(param_2 + 0xc0) & 0xfffffffe; + thunk_FUN_140003240(*(longlong **)(param_2 + 200),param_2,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4260.c b/decomp/Agent_Release_x64/full/functions/0x1400e4260.c new file mode 100644 index 00000000..f846e6c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4260.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4260 Unwind@1400e4260 + * Pseudocode, not original source. */ + +void Unwind_1400e4260(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xd0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4270.c b/decomp/Agent_Release_x64/full/functions/0x1400e4270.c new file mode 100644 index 00000000..0b1c7f89 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4270.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4270 Unwind@1400e4270 + * Pseudocode, not original source. */ + +void Unwind_1400e4270(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4280.c b/decomp/Agent_Release_x64/full/functions/0x1400e4280.c new file mode 100644 index 00000000..ff1ba5b7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4280.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4280 Unwind@1400e4280 + * Pseudocode, not original source. */ + +void Unwind_1400e4280(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e42a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e42a0.c new file mode 100644 index 00000000..c7dfc58e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e42a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e42a0 Unwind@1400e42a0 + * Pseudocode, not original source. */ + +void Unwind_1400e42a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e42b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e42b0.c new file mode 100644 index 00000000..08f69e0b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e42b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e42b0 Unwind@1400e42b0 + * Pseudocode, not original source. */ + +void Unwind_1400e42b0(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e42c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e42c0.c new file mode 100644 index 00000000..f76eaf29 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e42c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e42c0 Unwind@1400e42c0 + * Pseudocode, not original source. */ + +void Unwind_1400e42c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e42d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e42d0.c new file mode 100644 index 00000000..99706972 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e42d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e42d0 Unwind@1400e42d0 + * Pseudocode, not original source. */ + +void Unwind_1400e42d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e42e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e42e0.c new file mode 100644 index 00000000..f6384381 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e42e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e42e0 Unwind@1400e42e0 + * Pseudocode, not original source. */ + +void Unwind_1400e42e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e42f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e42f0.c new file mode 100644 index 00000000..f16f1e2a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e42f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e42f0 Unwind@1400e42f0 + * Pseudocode, not original source. */ + +void Unwind_1400e42f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4300.c b/decomp/Agent_Release_x64/full/functions/0x1400e4300.c new file mode 100644 index 00000000..c5076c0c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4300.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4300 Unwind@1400e4300 + * Pseudocode, not original source. */ + +void Unwind_1400e4300(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4310.c b/decomp/Agent_Release_x64/full/functions/0x1400e4310.c new file mode 100644 index 00000000..eb64b717 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4310.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4310 Unwind@1400e4310 + * Pseudocode, not original source. */ + +void Unwind_1400e4310(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4330.c b/decomp/Agent_Release_x64/full/functions/0x1400e4330.c new file mode 100644 index 00000000..1de243f4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4330.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4330 Unwind@1400e4330 + * Pseudocode, not original source. */ + +void Unwind_1400e4330(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4340.c b/decomp/Agent_Release_x64/full/functions/0x1400e4340.c new file mode 100644 index 00000000..9b9298cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4340.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4340 Unwind@1400e4340 + * Pseudocode, not original source. */ + +void Unwind_1400e4340(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4350.c b/decomp/Agent_Release_x64/full/functions/0x1400e4350.c new file mode 100644 index 00000000..6c0071a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4350.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4350 Unwind@1400e4350 + * Pseudocode, not original source. */ + +void Unwind_1400e4350(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4360.c b/decomp/Agent_Release_x64/full/functions/0x1400e4360.c new file mode 100644 index 00000000..91fc7294 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4360.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4360 Unwind@1400e4360 + * Pseudocode, not original source. */ + +void Unwind_1400e4360(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4370.c b/decomp/Agent_Release_x64/full/functions/0x1400e4370.c new file mode 100644 index 00000000..dbde83ce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4370.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4370 Unwind@1400e4370 + * Pseudocode, not original source. */ + +void Unwind_1400e4370(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4380.c b/decomp/Agent_Release_x64/full/functions/0x1400e4380.c new file mode 100644 index 00000000..08157405 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4380.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4380 Unwind@1400e4380 + * Pseudocode, not original source. */ + +void Unwind_1400e4380(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4390.c b/decomp/Agent_Release_x64/full/functions/0x1400e4390.c new file mode 100644 index 00000000..030bee58 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4390.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4390 Unwind@1400e4390 + * Pseudocode, not original source. */ + +void Unwind_1400e4390(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e43a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e43a0.c new file mode 100644 index 00000000..99dd57ca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e43a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e43a0 Unwind@1400e43a0 + * Pseudocode, not original source. */ + +void Unwind_1400e43a0(undefined8 param_1,longlong param_2) + +{ + FUN_140071f30((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e43b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e43b0.c new file mode 100644 index 00000000..4c490d5a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e43b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e43b0 Unwind@1400e43b0 + * Pseudocode, not original source. */ + +void Unwind_1400e43b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x130),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e43c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e43c0.c new file mode 100644 index 00000000..fe452525 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e43c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e43c0 Unwind@1400e43c0 + * Pseudocode, not original source. */ + +void Unwind_1400e43c0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e43d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e43d0.c new file mode 100644 index 00000000..fe9279bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e43d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e43d0 Unwind@1400e43d0 + * Pseudocode, not original source. */ + +void Unwind_1400e43d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e43e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e43e0.c new file mode 100644 index 00000000..48ce8f53 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e43e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e43e0 Unwind@1400e43e0 + * Pseudocode, not original source. */ + +void Unwind_1400e43e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xb0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e43f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e43f0.c new file mode 100644 index 00000000..c4cb038a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e43f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e43f0 Unwind@1400e43f0 + * Pseudocode, not original source. */ + +void Unwind_1400e43f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4400.c b/decomp/Agent_Release_x64/full/functions/0x1400e4400.c new file mode 100644 index 00000000..75a3b83c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4400.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4400 Unwind@1400e4400 + * Pseudocode, not original source. */ + +void Unwind_1400e4400(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4410.c b/decomp/Agent_Release_x64/full/functions/0x1400e4410.c new file mode 100644 index 00000000..bd64a3f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4410.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4410 Unwind@1400e4410 + * Pseudocode, not original source. */ + +void Unwind_1400e4410(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x80); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4420.c b/decomp/Agent_Release_x64/full/functions/0x1400e4420.c new file mode 100644 index 00000000..3bfff7d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4420.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4420 Unwind@1400e4420 + * Pseudocode, not original source. */ + +void Unwind_1400e4420(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x80); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4430.c b/decomp/Agent_Release_x64/full/functions/0x1400e4430.c new file mode 100644 index 00000000..304ba692 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4430.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4430 Unwind@1400e4430 + * Pseudocode, not original source. */ + +void Unwind_1400e4430(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xe0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4440.c b/decomp/Agent_Release_x64/full/functions/0x1400e4440.c new file mode 100644 index 00000000..6610f158 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4440.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4440 Unwind@1400e4440 + * Pseudocode, not original source. */ + +void Unwind_1400e4440(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4450.c b/decomp/Agent_Release_x64/full/functions/0x1400e4450.c new file mode 100644 index 00000000..36d70775 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4450.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4450 Unwind@1400e4450 + * Pseudocode, not original source. */ + +void Unwind_1400e4450(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xe0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4460.c b/decomp/Agent_Release_x64/full/functions/0x1400e4460.c new file mode 100644 index 00000000..5e427831 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4460.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4460 Unwind@1400e4460 + * Pseudocode, not original source. */ + +void Unwind_1400e4460(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4470.c b/decomp/Agent_Release_x64/full/functions/0x1400e4470.c new file mode 100644 index 00000000..2acc2ec6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4470.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4470 Unwind@1400e4470 + * Pseudocode, not original source. */ + +void Unwind_1400e4470(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0xd8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4480.c b/decomp/Agent_Release_x64/full/functions/0x1400e4480.c new file mode 100644 index 00000000..13a8f57a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4480.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4480 Unwind@1400e4480 + * Pseudocode, not original source. */ + +void Unwind_1400e4480(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xd0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4490.c b/decomp/Agent_Release_x64/full/functions/0x1400e4490.c new file mode 100644 index 00000000..4bcb7e4c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4490.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4490 Unwind@1400e4490 + * Pseudocode, not original source. */ + +void Unwind_1400e4490(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e44a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e44a0.c new file mode 100644 index 00000000..cef35d49 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e44a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e44a0 Unwind@1400e44a0 + * Pseudocode, not original source. */ + +void Unwind_1400e44a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e44b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e44b0.c new file mode 100644 index 00000000..7f401747 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e44b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e44b0 Unwind@1400e44b0 + * Pseudocode, not original source. */ + +void Unwind_1400e44b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e44c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e44c0.c new file mode 100644 index 00000000..734e9089 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e44c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e44c0 Unwind@1400e44c0 + * Pseudocode, not original source. */ + +void Unwind_1400e44c0(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140073c50(param_2 + 9,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e44d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e44d0.c new file mode 100644 index 00000000..c9a9a52d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e44d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e44d0 Unwind@1400e44d0 + * Pseudocode, not original source. */ + +void Unwind_1400e44d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xf0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e44e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e44e0.c new file mode 100644 index 00000000..b7c06c9b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e44e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e44e0 Unwind@1400e44e0 + * Pseudocode, not original source. */ + +void Unwind_1400e44e0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4510.c b/decomp/Agent_Release_x64/full/functions/0x1400e4510.c new file mode 100644 index 00000000..4848c1ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4510.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4510 Unwind@1400e4510 + * Pseudocode, not original source. */ + +void Unwind_1400e4510(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4520.c b/decomp/Agent_Release_x64/full/functions/0x1400e4520.c new file mode 100644 index 00000000..36474d55 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4520.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4520 Unwind@1400e4520 + * Pseudocode, not original source. */ + +void Unwind_1400e4520(undefined8 param_1,longlong param_2) + +{ + FUN_1400644d0((undefined8 *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4530.c b/decomp/Agent_Release_x64/full/functions/0x1400e4530.c new file mode 100644 index 00000000..306300d7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4530.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4530 Unwind@1400e4530 + * Pseudocode, not original source. */ + +void Unwind_1400e4530(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4540.c b/decomp/Agent_Release_x64/full/functions/0x1400e4540.c new file mode 100644 index 00000000..55d63b73 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4540.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4540 Unwind@1400e4540 + * Pseudocode, not original source. */ + +void Unwind_1400e4540(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xa0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4550.c b/decomp/Agent_Release_x64/full/functions/0x1400e4550.c new file mode 100644 index 00000000..a4ca7166 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4550.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4550 Unwind@1400e4550 + * Pseudocode, not original source. */ + +void Unwind_1400e4550(undefined8 param_1,longlong param_2) + +{ + FUN_14000b470((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4560.c b/decomp/Agent_Release_x64/full/functions/0x1400e4560.c new file mode 100644 index 00000000..376d1573 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4560.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4560 Unwind@1400e4560 + * Pseudocode, not original source. */ + +void Unwind_1400e4560(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4570.c b/decomp/Agent_Release_x64/full/functions/0x1400e4570.c new file mode 100644 index 00000000..81934957 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4570.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4570 Unwind@1400e4570 + * Pseudocode, not original source. */ + +void Unwind_1400e4570(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4580.c b/decomp/Agent_Release_x64/full/functions/0x1400e4580.c new file mode 100644 index 00000000..130b7bd5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4580.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4580 Unwind@1400e4580 + * Pseudocode, not original source. */ + +void Unwind_1400e4580(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4590.c b/decomp/Agent_Release_x64/full/functions/0x1400e4590.c new file mode 100644 index 00000000..cb2d9536 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4590.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4590 Unwind@1400e4590 + * Pseudocode, not original source. */ + +void Unwind_1400e4590(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e45a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e45a0.c new file mode 100644 index 00000000..a56a38e7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e45a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e45a0 Unwind@1400e45a0 + * Pseudocode, not original source. */ + +void Unwind_1400e45a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e45b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e45b0.c new file mode 100644 index 00000000..c5b09901 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e45b0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e45b0 Catch_All@1400e45b0 + * Pseudocode, not original source. */ + +undefined8 Catch_All_1400e45b0(void) + +{ + return 0x140075803; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e45d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e45d0.c new file mode 100644 index 00000000..3a461eaf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e45d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e45d0 Unwind@1400e45d0 + * Pseudocode, not original source. */ + +void Unwind_1400e45d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e45e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e45e0.c new file mode 100644 index 00000000..6ada8cfd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e45e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e45e0 Unwind@1400e45e0 + * Pseudocode, not original source. */ + +void Unwind_1400e45e0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0xf0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e45f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e45f0.c new file mode 100644 index 00000000..a0bd5098 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e45f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e45f0 Unwind@1400e45f0 + * Pseudocode, not original source. */ + +void Unwind_1400e45f0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0xe8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4600.c b/decomp/Agent_Release_x64/full/functions/0x1400e4600.c new file mode 100644 index 00000000..12b879fa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4600.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4600 Catch@1400e4600 + * Pseudocode, not original source. */ + +undefined * +Catch_1400e4600(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0x250); + if (*(longlong *)(lVar1 + 0x1580) != 0) { + FUN_14002ed90((exception *)(param_2 + 0x60),*(undefined8 *)(param_2 + 0x1b0),param_3,param_4); + *(undefined4 *)(param_2 + 0x78) = *(undefined4 *)(*(longlong *)(param_2 + 0x30) + 0x28); + plVar2 = *(longlong **)(lVar1 + 0x1580); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x60); + FUN_14002ed50((exception *)(param_2 + 0x60)); + } + return &DAT_140076079; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4670.c b/decomp/Agent_Release_x64/full/functions/0x1400e4670.c new file mode 100644 index 00000000..a33be877 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4670.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4670 Unwind@1400e4670 + * Pseudocode, not original source. */ + +void Unwind_1400e4670(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4680.c b/decomp/Agent_Release_x64/full/functions/0x1400e4680.c new file mode 100644 index 00000000..f5597836 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4680.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4680 Catch@1400e4680 + * Pseudocode, not original source. */ + +undefined * +Catch_1400e4680(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0x250); + if (*(longlong *)(lVar1 + 0x1580) != 0) { + FUN_14002f430((exception *)(param_2 + 0x60),*(longlong **)(param_2 + 0x1b8),param_3,param_4); + *(undefined4 *)(param_2 + 0x78) = *(undefined4 *)(*(longlong *)(param_2 + 0x30) + 0x28); + plVar2 = *(longlong **)(lVar1 + 0x1580); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x60); + FUN_14002ed50((exception *)(param_2 + 0x60)); + } + return &DAT_140076079; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e46f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e46f0.c new file mode 100644 index 00000000..abbe253e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e46f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e46f0 Unwind@1400e46f0 + * Pseudocode, not original source. */ + +void Unwind_1400e46f0(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4700.c b/decomp/Agent_Release_x64/full/functions/0x1400e4700.c new file mode 100644 index 00000000..0c0874c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4700.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4700 Catch@1400e4700 + * Pseudocode, not original source. */ + +undefined * +Catch_1400e4700(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0x250); + if (*(longlong *)(lVar1 + 0x1580) != 0) { + FUN_14002f4b0((exception *)(param_2 + 0x60),*(longlong *)(param_2 + 0x188),param_3,param_4); + *(undefined4 *)(param_2 + 0x78) = *(undefined4 *)(*(longlong *)(param_2 + 0x30) + 0x28); + plVar2 = *(longlong **)(lVar1 + 0x1580); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x60); + FUN_14002ed50((exception *)(param_2 + 0x60)); + } + return &DAT_140076079; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4770.c b/decomp/Agent_Release_x64/full/functions/0x1400e4770.c new file mode 100644 index 00000000..04058059 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4770.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4770 Unwind@1400e4770 + * Pseudocode, not original source. */ + +void Unwind_1400e4770(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4780.c b/decomp/Agent_Release_x64/full/functions/0x1400e4780.c new file mode 100644 index 00000000..049c2018 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4780.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4780 Unwind@1400e4780 + * Pseudocode, not original source. */ + +void Unwind_1400e4780(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0xc0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e47a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e47a0.c new file mode 100644 index 00000000..4aec5318 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e47a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e47a0 Unwind@1400e47a0 + * Pseudocode, not original source. */ + +void Unwind_1400e47a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 600),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e47b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e47b0.c new file mode 100644 index 00000000..157cdcbf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e47b0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e47b0 Catch@1400e47b0 + * Pseudocode, not original source. */ + +undefined * +Catch_1400e47b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0x250); + if (*(longlong *)(lVar1 + 0x1580) != 0) { + FUN_14002ed90((exception *)(param_2 + 0x60),*(undefined8 *)(param_2 + 0x170),param_3,param_4); + *(undefined4 *)(param_2 + 0x78) = *(undefined4 *)(*(longlong *)(param_2 + 0x30) + 0x28); + plVar2 = *(longlong **)(lVar1 + 0x1580); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x60); + FUN_14002ed50((exception *)(param_2 + 0x60)); + } + return &DAT_140075f75; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4820.c b/decomp/Agent_Release_x64/full/functions/0x1400e4820.c new file mode 100644 index 00000000..d5dc2a64 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4820.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4820 Unwind@1400e4820 + * Pseudocode, not original source. */ + +void Unwind_1400e4820(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4830.c b/decomp/Agent_Release_x64/full/functions/0x1400e4830.c new file mode 100644 index 00000000..51d83002 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4830.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4830 Catch@1400e4830 + * Pseudocode, not original source. */ + +undefined * +Catch_1400e4830(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0x250); + if (*(longlong *)(lVar1 + 0x1580) != 0) { + FUN_14002f430((exception *)(param_2 + 0x60),*(longlong **)(param_2 + 400),param_3,param_4); + *(undefined4 *)(param_2 + 0x78) = *(undefined4 *)(*(longlong *)(param_2 + 0x30) + 0x28); + plVar2 = *(longlong **)(lVar1 + 0x1580); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x60); + FUN_14002ed50((exception *)(param_2 + 0x60)); + } + return &DAT_140075f7a; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e48a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e48a0.c new file mode 100644 index 00000000..b85e3b5f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e48a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e48a0 Unwind@1400e48a0 + * Pseudocode, not original source. */ + +void Unwind_1400e48a0(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e48b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e48b0.c new file mode 100644 index 00000000..3d97e51c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e48b0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e48b0 Catch@1400e48b0 + * Pseudocode, not original source. */ + +undefined * +Catch_1400e48b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0x250); + if (*(longlong *)(lVar1 + 0x1580) != 0) { + FUN_14002f4b0((exception *)(param_2 + 0x60),*(longlong *)(param_2 + 0x1a0),param_3,param_4); + *(undefined4 *)(param_2 + 0x78) = *(undefined4 *)(*(longlong *)(param_2 + 0x30) + 0x28); + plVar2 = *(longlong **)(lVar1 + 0x1580); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x60); + FUN_14002ed50((exception *)(param_2 + 0x60)); + } + return &DAT_140075f7f; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4920.c b/decomp/Agent_Release_x64/full/functions/0x1400e4920.c new file mode 100644 index 00000000..e470f8ac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4920.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4920 Unwind@1400e4920 + * Pseudocode, not original source. */ + +void Unwind_1400e4920(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4930.c b/decomp/Agent_Release_x64/full/functions/0x1400e4930.c new file mode 100644 index 00000000..a56926a7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4930.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4930 Unwind@1400e4930 + * Pseudocode, not original source. */ + +void Unwind_1400e4930(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4940.c b/decomp/Agent_Release_x64/full/functions/0x1400e4940.c new file mode 100644 index 00000000..67f7c840 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4940.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4940 Unwind@1400e4940 + * Pseudocode, not original source. */ + +void Unwind_1400e4940(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 600)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4960.c b/decomp/Agent_Release_x64/full/functions/0x1400e4960.c new file mode 100644 index 00000000..c83f3497 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4960.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4960 Unwind@1400e4960 + * Pseudocode, not original source. */ + +void Unwind_1400e4960(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0xf0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4970.c b/decomp/Agent_Release_x64/full/functions/0x1400e4970.c new file mode 100644 index 00000000..50cc5e7d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4970.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4970 Unwind@1400e4970 + * Pseudocode, not original source. */ + +void Unwind_1400e4970(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4980.c b/decomp/Agent_Release_x64/full/functions/0x1400e4980.c new file mode 100644 index 00000000..e84425d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4980.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4980 Unwind@1400e4980 + * Pseudocode, not original source. */ + +void Unwind_1400e4980(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4990.c b/decomp/Agent_Release_x64/full/functions/0x1400e4990.c new file mode 100644 index 00000000..c1e1aa3d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4990.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4990 Unwind@1400e4990 + * Pseudocode, not original source. */ + +void Unwind_1400e4990(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e49a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e49a0.c new file mode 100644 index 00000000..4168b904 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e49a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e49a0 Unwind@1400e49a0 + * Pseudocode, not original source. */ + +void Unwind_1400e49a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xc0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e49b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e49b0.c new file mode 100644 index 00000000..416d6154 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e49b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e49b0 Unwind@1400e49b0 + * Pseudocode, not original source. */ + +void Unwind_1400e49b0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e49c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e49c0.c new file mode 100644 index 00000000..9c6c866c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e49c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e49c0 Unwind@1400e49c0 + * Pseudocode, not original source. */ + +void Unwind_1400e49c0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x148)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e49d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e49d0.c new file mode 100644 index 00000000..05f9fe49 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e49d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e49d0 Unwind@1400e49d0 + * Pseudocode, not original source. */ + +void Unwind_1400e49d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0xe8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e49e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e49e0.c new file mode 100644 index 00000000..f477e98f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e49e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e49e0 Unwind@1400e49e0 + * Pseudocode, not original source. */ + +void Unwind_1400e49e0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xf8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e49f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e49f0.c new file mode 100644 index 00000000..2dc6b703 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e49f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e49f0 Unwind@1400e49f0 + * Pseudocode, not original source. */ + +void Unwind_1400e49f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0xe0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4a00.c b/decomp/Agent_Release_x64/full/functions/0x1400e4a00.c new file mode 100644 index 00000000..f969ecad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4a00.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4a00 Catch@1400e4a00 + * Pseudocode, not original source. */ + +undefined8 +Catch_1400e4a00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0x250); + if (*(longlong *)(lVar1 + 0x1580) != 0) { + FUN_14002ed90((exception *)(param_2 + 0x60),*(undefined8 *)(param_2 + 0x178),param_3,param_4); + *(undefined4 *)(param_2 + 0x78) = *(undefined4 *)(*(longlong *)(param_2 + 0x48) + 0x70); + plVar2 = *(longlong **)(lVar1 + 0x1580); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x60); + FUN_14002ed50((exception *)(param_2 + 0x60)); + } + return 0x140076856; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4a70.c b/decomp/Agent_Release_x64/full/functions/0x1400e4a70.c new file mode 100644 index 00000000..e7943a02 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4a70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4a70 Unwind@1400e4a70 + * Pseudocode, not original source. */ + +void Unwind_1400e4a70(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4a80.c b/decomp/Agent_Release_x64/full/functions/0x1400e4a80.c new file mode 100644 index 00000000..d2e11b57 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4a80.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4a80 Catch@1400e4a80 + * Pseudocode, not original source. */ + +undefined8 +Catch_1400e4a80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0x250); + if (*(longlong *)(lVar1 + 0x1580) != 0) { + FUN_14002f430((exception *)(param_2 + 0x60),*(longlong **)(param_2 + 0x198),param_3,param_4); + *(undefined4 *)(param_2 + 0x78) = *(undefined4 *)(*(longlong *)(param_2 + 0x48) + 0x70); + plVar2 = *(longlong **)(lVar1 + 0x1580); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x60); + FUN_14002ed50((exception *)(param_2 + 0x60)); + } + return 0x140076856; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4af0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4af0.c new file mode 100644 index 00000000..46bb3b9a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4af0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4af0 Unwind@1400e4af0 + * Pseudocode, not original source. */ + +void Unwind_1400e4af0(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4b00.c b/decomp/Agent_Release_x64/full/functions/0x1400e4b00.c new file mode 100644 index 00000000..a6e55e2a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4b00.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4b00 Catch@1400e4b00 + * Pseudocode, not original source. */ + +undefined8 +Catch_1400e4b00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0x250); + if (*(longlong *)(lVar1 + 0x1580) != 0) { + FUN_14002f4b0((exception *)(param_2 + 0x60),*(longlong *)(param_2 + 0x1a8),param_3,param_4); + *(undefined4 *)(param_2 + 0x78) = *(undefined4 *)(*(longlong *)(param_2 + 0x48) + 0x70); + plVar2 = *(longlong **)(lVar1 + 0x1580); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x60); + FUN_14002ed50((exception *)(param_2 + 0x60)); + } + return 0x140076856; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4b70.c b/decomp/Agent_Release_x64/full/functions/0x1400e4b70.c new file mode 100644 index 00000000..c7312090 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4b70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4b70 Unwind@1400e4b70 + * Pseudocode, not original source. */ + +void Unwind_1400e4b70(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4b80.c b/decomp/Agent_Release_x64/full/functions/0x1400e4b80.c new file mode 100644 index 00000000..948c69a5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4b80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4b80 Unwind@1400e4b80 + * Pseudocode, not original source. */ + +void Unwind_1400e4b80(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450(*(longlong **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4b90.c b/decomp/Agent_Release_x64/full/functions/0x1400e4b90.c new file mode 100644 index 00000000..c5d4b17d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4b90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4b90 Unwind@1400e4b90 + * Pseudocode, not original source. */ + +void Unwind_1400e4b90(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450(*(longlong **)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4ba0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4ba0.c new file mode 100644 index 00000000..3449b48d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4ba0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4ba0 Unwind@1400e4ba0 + * Pseudocode, not original source. */ + +void Unwind_1400e4ba0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4bb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4bb0.c new file mode 100644 index 00000000..8bb17bfa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4bb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4bb0 Unwind@1400e4bb0 + * Pseudocode, not original source. */ + +void Unwind_1400e4bb0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450(*(longlong **)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4bc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4bc0.c new file mode 100644 index 00000000..c625ac7c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4bc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4bc0 Unwind@1400e4bc0 + * Pseudocode, not original source. */ + +void Unwind_1400e4bc0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4bd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4bd0.c new file mode 100644 index 00000000..ee1749be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4bd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4bd0 Unwind@1400e4bd0 + * Pseudocode, not original source. */ + +void Unwind_1400e4bd0(undefined8 param_1,longlong param_2) + +{ + FUN_140071f30((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4be0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4be0.c new file mode 100644 index 00000000..34d23fdd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4be0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4be0 Unwind@1400e4be0 + * Pseudocode, not original source. */ + +void Unwind_1400e4be0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4bf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4bf0.c new file mode 100644 index 00000000..6b77425a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4bf0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4bf0 Unwind@1400e4bf0 + * Pseudocode, not original source. */ + +void Unwind_1400e4bf0(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x70) & 1) != 0) { + *(uint *)(param_2 + 0x70) = *(uint *)(param_2 + 0x70) & 0xfffffffe; + FUN_140076b40(*(longlong **)(param_2 + 0x68)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4c20.c b/decomp/Agent_Release_x64/full/functions/0x1400e4c20.c new file mode 100644 index 00000000..c84ada59 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4c20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4c20 Unwind@1400e4c20 + * Pseudocode, not original source. */ + +void Unwind_1400e4c20(undefined8 param_1,longlong param_2) + +{ + FUN_140076b40((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4c30.c b/decomp/Agent_Release_x64/full/functions/0x1400e4c30.c new file mode 100644 index 00000000..9d05739f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4c30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4c30 Unwind@1400e4c30 + * Pseudocode, not original source. */ + +void Unwind_1400e4c30(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4c40.c b/decomp/Agent_Release_x64/full/functions/0x1400e4c40.c new file mode 100644 index 00000000..2f92cdae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4c40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4c40 Unwind@1400e4c40 + * Pseudocode, not original source. */ + +void Unwind_1400e4c40(undefined8 param_1,longlong param_2) + +{ + FUN_140076b40((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4c50.c b/decomp/Agent_Release_x64/full/functions/0x1400e4c50.c new file mode 100644 index 00000000..58a5c3bb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4c50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4c50 Unwind@1400e4c50 + * Pseudocode, not original source. */ + +void Unwind_1400e4c50(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450(*(longlong **)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4c60.c b/decomp/Agent_Release_x64/full/functions/0x1400e4c60.c new file mode 100644 index 00000000..9d58f3ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4c60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4c60 Unwind@1400e4c60 + * Pseudocode, not original source. */ + +void Unwind_1400e4c60(undefined8 param_1,longlong param_2) + +{ + FUN_140076b40((longlong *)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4c70.c b/decomp/Agent_Release_x64/full/functions/0x1400e4c70.c new file mode 100644 index 00000000..f7d2d93e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4c70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4c70 Unwind@1400e4c70 + * Pseudocode, not original source. */ + +void Unwind_1400e4c70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4c80.c b/decomp/Agent_Release_x64/full/functions/0x1400e4c80.c new file mode 100644 index 00000000..4370a923 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4c80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4c80 Unwind@1400e4c80 + * Pseudocode, not original source. */ + +void Unwind_1400e4c80(undefined8 param_1,longlong param_2) + +{ + FUN_140076b40((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4c90.c b/decomp/Agent_Release_x64/full/functions/0x1400e4c90.c new file mode 100644 index 00000000..86f40420 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4c90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4c90 Unwind@1400e4c90 + * Pseudocode, not original source. */ + +void Unwind_1400e4c90(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4ca0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4ca0.c new file mode 100644 index 00000000..5cfa701e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4ca0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4ca0 Unwind@1400e4ca0 + * Pseudocode, not original source. */ + +void Unwind_1400e4ca0(undefined8 param_1,longlong param_2) + +{ + FUN_140076b40((longlong *)(param_2 + 0xa0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4cb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4cb0.c new file mode 100644 index 00000000..b04b6cb7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4cb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4cb0 Unwind@1400e4cb0 + * Pseudocode, not original source. */ + +void Unwind_1400e4cb0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x118)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4cc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4cc0.c new file mode 100644 index 00000000..f70beda7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4cc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4cc0 Unwind@1400e4cc0 + * Pseudocode, not original source. */ + +void Unwind_1400e4cc0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4cd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4cd0.c new file mode 100644 index 00000000..4a630b00 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4cd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4cd0 Unwind@1400e4cd0 + * Pseudocode, not original source. */ + +void Unwind_1400e4cd0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4ce0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4ce0.c new file mode 100644 index 00000000..e62351c3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4ce0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4ce0 Unwind@1400e4ce0 + * Pseudocode, not original source. */ + +void Unwind_1400e4ce0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x108)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4cf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4cf0.c new file mode 100644 index 00000000..52741d83 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4cf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4cf0 Unwind@1400e4cf0 + * Pseudocode, not original source. */ + +void Unwind_1400e4cf0(undefined8 param_1,longlong param_2) + +{ + FUN_14003dfd0((undefined8 *)(param_2 + 0x2f0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4d00.c b/decomp/Agent_Release_x64/full/functions/0x1400e4d00.c new file mode 100644 index 00000000..bde31eb0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4d00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4d00 Unwind@1400e4d00 + * Pseudocode, not original source. */ + +void Unwind_1400e4d00(undefined8 param_1,longlong param_2) + +{ + FUN_1400658c0((undefined8 *)(param_2 + 0xd8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4d10.c b/decomp/Agent_Release_x64/full/functions/0x1400e4d10.c new file mode 100644 index 00000000..0a07403a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4d10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4d10 Unwind@1400e4d10 + * Pseudocode, not original source. */ + +void Unwind_1400e4d10(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x38); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4d20.c b/decomp/Agent_Release_x64/full/functions/0x1400e4d20.c new file mode 100644 index 00000000..96d4306f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4d20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4d20 Unwind@1400e4d20 + * Pseudocode, not original source. */ + +void Unwind_1400e4d20(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4d40.c b/decomp/Agent_Release_x64/full/functions/0x1400e4d40.c new file mode 100644 index 00000000..87af949c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4d40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4d40 Unwind@1400e4d40 + * Pseudocode, not original source. */ + +void Unwind_1400e4d40(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x60) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4d50.c b/decomp/Agent_Release_x64/full/functions/0x1400e4d50.c new file mode 100644 index 00000000..95470a7b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4d50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4d50 Unwind@1400e4d50 + * Pseudocode, not original source. */ + +void Unwind_1400e4d50(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(*(longlong *)(param_2 + 0x60) + 0xc80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4d70.c b/decomp/Agent_Release_x64/full/functions/0x1400e4d70.c new file mode 100644 index 00000000..f6dc8938 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4d70.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4d70 Catch@1400e4d70 + * Pseudocode, not original source. */ + +undefined * Catch_1400e4d70(undefined8 param_1,longlong param_2) + +{ + LPCWSTR lpOutputString; + + lpOutputString = (LPCWSTR)(**(code **)(**(longlong **)(param_2 + 0x150) + 8))(); + OutputDebugStringW(lpOutputString); + uRam0000000000000000 = 1; + return &DAT_14007847f; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4db0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4db0.c new file mode 100644 index 00000000..c3ef9128 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4db0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4db0 Unwind@1400e4db0 + * Pseudocode, not original source. */ + +void Unwind_1400e4db0(undefined8 param_1,longlong param_2) + +{ + FUN_140065900((undefined8 *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4dc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4dc0.c new file mode 100644 index 00000000..b00164f8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4dc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4dc0 Unwind@1400e4dc0 + * Pseudocode, not original source. */ + +void Unwind_1400e4dc0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x70); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4dd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4dd0.c new file mode 100644 index 00000000..641910ab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4dd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4dd0 Unwind@1400e4dd0 + * Pseudocode, not original source. */ + +void Unwind_1400e4dd0(undefined8 param_1,longlong param_2) + +{ + FUN_140080140((longlong *)(param_2 + 0x108)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4de0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4de0.c new file mode 100644 index 00000000..7763b497 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4de0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4de0 Unwind@1400e4de0 + * Pseudocode, not original source. */ + +void Unwind_1400e4de0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x12c0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4df0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4df0.c new file mode 100644 index 00000000..e20d7745 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4df0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4df0 Unwind@1400e4df0 + * Pseudocode, not original source. */ + +void Unwind_1400e4df0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x12b0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4e10.c b/decomp/Agent_Release_x64/full/functions/0x1400e4e10.c new file mode 100644 index 00000000..f69d358e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4e10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4e10 Unwind@1400e4e10 + * Pseudocode, not original source. */ + +void Unwind_1400e4e10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x630,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4e20.c b/decomp/Agent_Release_x64/full/functions/0x1400e4e20.c new file mode 100644 index 00000000..717683d1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4e20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4e20 Unwind@1400e4e20 + * Pseudocode, not original source. */ + +void Unwind_1400e4e20(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x12b0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4e40.c b/decomp/Agent_Release_x64/full/functions/0x1400e4e40.c new file mode 100644 index 00000000..73d6b893 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4e40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4e40 Unwind@1400e4e40 + * Pseudocode, not original source. */ + +void Unwind_1400e4e40(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(*(longlong *)(param_2 + 0x60) + 0xc80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4e60.c b/decomp/Agent_Release_x64/full/functions/0x1400e4e60.c new file mode 100644 index 00000000..19d11c03 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4e60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4e60 Unwind@1400e4e60 + * Pseudocode, not original source. */ + +void Unwind_1400e4e60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(*(longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4e70.c b/decomp/Agent_Release_x64/full/functions/0x1400e4e70.c new file mode 100644 index 00000000..bf4e04cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4e70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4e70 Unwind@1400e4e70 + * Pseudocode, not original source. */ + +void Unwind_1400e4e70(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 8000)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4e90.c b/decomp/Agent_Release_x64/full/functions/0x1400e4e90.c new file mode 100644 index 00000000..7676fd9e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4e90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4e90 Unwind@1400e4e90 + * Pseudocode, not original source. */ + +void Unwind_1400e4e90(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x60) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4ea0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4ea0.c new file mode 100644 index 00000000..68d582a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4ea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4ea0 Unwind@1400e4ea0 + * Pseudocode, not original source. */ + +void Unwind_1400e4ea0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x1f50,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4eb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4eb0.c new file mode 100644 index 00000000..a16a303f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4eb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4eb0 Unwind@1400e4eb0 + * Pseudocode, not original source. */ + +void Unwind_1400e4eb0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x240); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4ec0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4ec0.c new file mode 100644 index 00000000..6a0ebea6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4ec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4ec0 Unwind@1400e4ec0 + * Pseudocode, not original source. */ + +void Unwind_1400e4ec0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x240); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4ed0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4ed0.c new file mode 100644 index 00000000..ac8671a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4ed0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4ed0 Unwind@1400e4ed0 + * Pseudocode, not original source. */ + +void Unwind_1400e4ed0(undefined8 param_1,longlong param_2) + +{ + FUN_140065940((undefined8 *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4ee0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4ee0.c new file mode 100644 index 00000000..8a05d504 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4ee0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4ee0 Unwind@1400e4ee0 + * Pseudocode, not original source. */ + +void Unwind_1400e4ee0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x12c0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4ef0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4ef0.c new file mode 100644 index 00000000..fc3f6bdd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4ef0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4ef0 Unwind@1400e4ef0 + * Pseudocode, not original source. */ + +void Unwind_1400e4ef0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x70); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4f00.c b/decomp/Agent_Release_x64/full/functions/0x1400e4f00.c new file mode 100644 index 00000000..703afa41 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4f00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4f00 Unwind@1400e4f00 + * Pseudocode, not original source. */ + +void Unwind_1400e4f00(undefined8 param_1,longlong param_2) + +{ + FUN_140080140((longlong *)(param_2 + 0x108)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4f10.c b/decomp/Agent_Release_x64/full/functions/0x1400e4f10.c new file mode 100644 index 00000000..90919cff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4f10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4f10 Unwind@1400e4f10 + * Pseudocode, not original source. */ + +void Unwind_1400e4f10(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x12b0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4f30.c b/decomp/Agent_Release_x64/full/functions/0x1400e4f30.c new file mode 100644 index 00000000..094bd1d8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4f30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4f30 Unwind@1400e4f30 + * Pseudocode, not original source. */ + +void Unwind_1400e4f30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x630,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4f40.c b/decomp/Agent_Release_x64/full/functions/0x1400e4f40.c new file mode 100644 index 00000000..6ef44c37 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4f40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4f40 Unwind@1400e4f40 + * Pseudocode, not original source. */ + +void Unwind_1400e4f40(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x12b0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4f60.c b/decomp/Agent_Release_x64/full/functions/0x1400e4f60.c new file mode 100644 index 00000000..dbefd50d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4f60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4f60 Unwind@1400e4f60 + * Pseudocode, not original source. */ + +void Unwind_1400e4f60(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(*(longlong *)(param_2 + 0x60) + 0xc80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4f80.c b/decomp/Agent_Release_x64/full/functions/0x1400e4f80.c new file mode 100644 index 00000000..f6a98838 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4f80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4f80 Unwind@1400e4f80 + * Pseudocode, not original source. */ + +void Unwind_1400e4f80(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x60) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4f90.c b/decomp/Agent_Release_x64/full/functions/0x1400e4f90.c new file mode 100644 index 00000000..e34c162d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4f90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4f90 Unwind@1400e4f90 + * Pseudocode, not original source. */ + +void Unwind_1400e4f90(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x60) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4fa0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4fa0.c new file mode 100644 index 00000000..0a1d7228 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4fa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4fa0 Unwind@1400e4fa0 + * Pseudocode, not original source. */ + +void Unwind_1400e4fa0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4fb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4fb0.c new file mode 100644 index 00000000..e10b5708 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4fb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4fb0 Unwind@1400e4fb0 + * Pseudocode, not original source. */ + +void Unwind_1400e4fb0(undefined8 param_1,longlong param_2) + +{ + FUN_14003dfd0((undefined8 *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4fc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4fc0.c new file mode 100644 index 00000000..3c8950c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4fc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4fc0 Unwind@1400e4fc0 + * Pseudocode, not original source. */ + +void Unwind_1400e4fc0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(*(longlong *)(param_2 + 0x40) + 8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4fd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4fd0.c new file mode 100644 index 00000000..fd40452e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4fd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4fd0 Unwind@1400e4fd0 + * Pseudocode, not original source. */ + +void Unwind_1400e4fd0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e4fe0.c b/decomp/Agent_Release_x64/full/functions/0x1400e4fe0.c new file mode 100644 index 00000000..db0c082d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e4fe0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e4fe0 Catch_All@1400e4fe0 + * Pseudocode, not original source. */ + +undefined8 Catch_All_1400e4fe0(void) + +{ + return 0x140079873; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5000.c b/decomp/Agent_Release_x64/full/functions/0x1400e5000.c new file mode 100644 index 00000000..e3b1f1b0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5000.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5000 Unwind@1400e5000 + * Pseudocode, not original source. */ + +void Unwind_1400e5000(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(*(longlong *)(param_2 + 0x40) + 8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5010.c b/decomp/Agent_Release_x64/full/functions/0x1400e5010.c new file mode 100644 index 00000000..e7e84562 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5010.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5010 Unwind@1400e5010 + * Pseudocode, not original source. */ + +void Unwind_1400e5010(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5020.c b/decomp/Agent_Release_x64/full/functions/0x1400e5020.c new file mode 100644 index 00000000..6b9ef72c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5020.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5020 Unwind@1400e5020 + * Pseudocode, not original source. */ + +void Unwind_1400e5020(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5030.c b/decomp/Agent_Release_x64/full/functions/0x1400e5030.c new file mode 100644 index 00000000..1b070488 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5030.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5030 Unwind@1400e5030 + * Pseudocode, not original source. */ + +void Unwind_1400e5030(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x80) & 1) != 0) { + *(uint *)(param_2 + 0x80) = *(uint *)(param_2 + 0x80) & 0xfffffffe; + FUN_140076b40(*(longlong **)(param_2 + 0x88)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5060.c b/decomp/Agent_Release_x64/full/functions/0x1400e5060.c new file mode 100644 index 00000000..754e8178 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5060.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5060 Unwind@1400e5060 + * Pseudocode, not original source. */ + +void Unwind_1400e5060(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5070.c b/decomp/Agent_Release_x64/full/functions/0x1400e5070.c new file mode 100644 index 00000000..96284786 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5070.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5070 Unwind@1400e5070 + * Pseudocode, not original source. */ + +void Unwind_1400e5070(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400794a0(param_2 + 0x38,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5080.c b/decomp/Agent_Release_x64/full/functions/0x1400e5080.c new file mode 100644 index 00000000..b3117989 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5080.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5080 Unwind@1400e5080 + * Pseudocode, not original source. */ + +void Unwind_1400e5080(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5090.c b/decomp/Agent_Release_x64/full/functions/0x1400e5090.c new file mode 100644 index 00000000..a8f1bc09 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5090.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5090 Unwind@1400e5090 + * Pseudocode, not original source. */ + +void Unwind_1400e5090(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x180) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e50a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e50a0.c new file mode 100644 index 00000000..2aa4ef21 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e50a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e50a0 Unwind@1400e50a0 + * Pseudocode, not original source. */ + +void Unwind_1400e50a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e50b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e50b0.c new file mode 100644 index 00000000..569dd04d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e50b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e50b0 Unwind@1400e50b0 + * Pseudocode, not original source. */ + +void Unwind_1400e50b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e50c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e50c0.c new file mode 100644 index 00000000..bb980f81 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e50c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e50c0 Unwind@1400e50c0 + * Pseudocode, not original source. */ + +void Unwind_1400e50c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x208),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e50d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e50d0.c new file mode 100644 index 00000000..cc446c8d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e50d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e50d0 Unwind@1400e50d0 + * Pseudocode, not original source. */ + +void Unwind_1400e50d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e50e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e50e0.c new file mode 100644 index 00000000..7c765451 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e50e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e50e0 Unwind@1400e50e0 + * Pseudocode, not original source. */ + +void Unwind_1400e50e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e50f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e50f0.c new file mode 100644 index 00000000..2c53feb6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e50f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e50f0 Unwind@1400e50f0 + * Pseudocode, not original source. */ + +void Unwind_1400e50f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5100.c b/decomp/Agent_Release_x64/full/functions/0x1400e5100.c new file mode 100644 index 00000000..9376d692 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5100.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5100 Unwind@1400e5100 + * Pseudocode, not original source. */ + +void Unwind_1400e5100(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5110.c b/decomp/Agent_Release_x64/full/functions/0x1400e5110.c new file mode 100644 index 00000000..944e3d2c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5110.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5110 Unwind@1400e5110 + * Pseudocode, not original source. */ + +void Unwind_1400e5110(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5120.c b/decomp/Agent_Release_x64/full/functions/0x1400e5120.c new file mode 100644 index 00000000..5e485e8c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5120.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5120 Unwind@1400e5120 + * Pseudocode, not original source. */ + +void Unwind_1400e5120(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5130.c b/decomp/Agent_Release_x64/full/functions/0x1400e5130.c new file mode 100644 index 00000000..ae104f1c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5130.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5130 Unwind@1400e5130 + * Pseudocode, not original source. */ + +void Unwind_1400e5130(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5140.c b/decomp/Agent_Release_x64/full/functions/0x1400e5140.c new file mode 100644 index 00000000..eac90540 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5140.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5140 Unwind@1400e5140 + * Pseudocode, not original source. */ + +void Unwind_1400e5140(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5150.c b/decomp/Agent_Release_x64/full/functions/0x1400e5150.c new file mode 100644 index 00000000..c9c811c0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5150.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5150 Unwind@1400e5150 + * Pseudocode, not original source. */ + +void Unwind_1400e5150(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5160.c b/decomp/Agent_Release_x64/full/functions/0x1400e5160.c new file mode 100644 index 00000000..bbf70e15 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5160 Unwind@1400e5160 + * Pseudocode, not original source. */ + +void Unwind_1400e5160(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5170.c b/decomp/Agent_Release_x64/full/functions/0x1400e5170.c new file mode 100644 index 00000000..3d98c9b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5170.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5170 Unwind@1400e5170 + * Pseudocode, not original source. */ + +void Unwind_1400e5170(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5180.c b/decomp/Agent_Release_x64/full/functions/0x1400e5180.c new file mode 100644 index 00000000..2e23daa1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5180.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5180 Unwind@1400e5180 + * Pseudocode, not original source. */ + +void Unwind_1400e5180(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5190.c b/decomp/Agent_Release_x64/full/functions/0x1400e5190.c new file mode 100644 index 00000000..5030d125 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5190.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5190 Unwind@1400e5190 + * Pseudocode, not original source. */ + +void Unwind_1400e5190(undefined8 param_1,longlong param_2) + +{ + FUN_140066110((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e51a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e51a0.c new file mode 100644 index 00000000..2f4d799a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e51a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e51a0 Unwind@1400e51a0 + * Pseudocode, not original source. */ + +void Unwind_1400e51a0(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e51b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e51b0.c new file mode 100644 index 00000000..da3636db --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e51b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e51b0 Unwind@1400e51b0 + * Pseudocode, not original source. */ + +void Unwind_1400e51b0(undefined8 param_1,longlong param_2,ulonglong param_3,ulonglong param_4) + +{ + FUN_1400675a0((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e51c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e51c0.c new file mode 100644 index 00000000..eeaee62a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e51c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e51c0 Unwind@1400e51c0 + * Pseudocode, not original source. */ + +void Unwind_1400e51c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140082810(*(undefined8 **)(param_2 + 0xb0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e51d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e51d0.c new file mode 100644 index 00000000..6198359b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e51d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e51d0 Unwind@1400e51d0 + * Pseudocode, not original source. */ + +void Unwind_1400e51d0(undefined8 param_1,longlong param_2) + +{ + FUN_140063f80((undefined8 *)(*(longlong *)(param_2 + 0xb0) + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e51e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e51e0.c new file mode 100644 index 00000000..81d11a02 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e51e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e51e0 Unwind@1400e51e0 + * Pseudocode, not original source. */ + +void Unwind_1400e51e0(undefined8 param_1,longlong param_2) + +{ + FUN_140063fc0((undefined8 *)(*(longlong *)(param_2 + 0xb0) + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e51f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e51f0.c new file mode 100644 index 00000000..8943e65b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e51f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e51f0 Unwind@1400e51f0 + * Pseudocode, not original source. */ + +void Unwind_1400e51f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003c6c0((undefined8 *)(*(longlong *)(param_2 + 0xb0) + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5200.c b/decomp/Agent_Release_x64/full/functions/0x1400e5200.c new file mode 100644 index 00000000..a53829d3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5200.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5200 Unwind@1400e5200 + * Pseudocode, not original source. */ + +void Unwind_1400e5200(undefined8 param_1,longlong param_2) + +{ + FUN_140030db0((undefined8 *)(*(longlong *)(param_2 + 0xb0) + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5210.c b/decomp/Agent_Release_x64/full/functions/0x1400e5210.c new file mode 100644 index 00000000..64376da9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5210.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5210 Unwind@1400e5210 + * Pseudocode, not original source. */ + +void Unwind_1400e5210(undefined8 param_1,longlong param_2) + +{ + FUN_140064040((undefined8 *)(*(longlong *)(param_2 + 0xb0) + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5230.c b/decomp/Agent_Release_x64/full/functions/0x1400e5230.c new file mode 100644 index 00000000..688c0385 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5230.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5230 Unwind@1400e5230 + * Pseudocode, not original source. */ + +void Unwind_1400e5230(undefined8 param_1,longlong param_2) + +{ + FUN_140064000((undefined8 *)(*(longlong *)(param_2 + 0xb0) + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5250.c b/decomp/Agent_Release_x64/full/functions/0x1400e5250.c new file mode 100644 index 00000000..ad4aa682 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5250.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5250 Unwind@1400e5250 + * Pseudocode, not original source. */ + +void Unwind_1400e5250(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400654e0(*(longlong *)(param_2 + 0xb0) + 0xa0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5270.c b/decomp/Agent_Release_x64/full/functions/0x1400e5270.c new file mode 100644 index 00000000..6422db5c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5270.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5270 Unwind@1400e5270 + * Pseudocode, not original source. */ + +void Unwind_1400e5270(undefined8 param_1,longlong param_2) + +{ + FUN_14003c7d0((undefined8 *)(*(longlong *)(param_2 + 0xb0) + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5290.c b/decomp/Agent_Release_x64/full/functions/0x1400e5290.c new file mode 100644 index 00000000..89a3219b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5290.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5290 Unwind@1400e5290 + * Pseudocode, not original source. */ + +void Unwind_1400e5290(undefined8 param_1,longlong param_2) + +{ + FUN_14003c840(*(longlong *)(param_2 + 0xb0) + 0xd8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e52b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e52b0.c new file mode 100644 index 00000000..d3b3dab1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e52b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e52b0 Unwind@1400e52b0 + * Pseudocode, not original source. */ + +void Unwind_1400e52b0(undefined8 param_1,longlong param_2) + +{ + FUN_140092fb0((longlong *)(*(longlong *)(param_2 + 0xb0) + 0x4e0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e52d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e52d0.c new file mode 100644 index 00000000..10c5e39e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e52d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e52d0 Unwind@1400e52d0 + * Pseudocode, not original source. */ + +void Unwind_1400e52d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0xb0) + 0x518),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e52f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e52f0.c new file mode 100644 index 00000000..0d6aaf11 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e52f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e52f0 Unwind@1400e52f0 + * Pseudocode, not original source. */ + +void Unwind_1400e52f0(undefined8 param_1,longlong param_2,ulonglong param_3,ulonglong param_4) + +{ + FUN_1400675a0((longlong *)(*(longlong *)(param_2 + 0xb0) + 0x5d0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5310.c b/decomp/Agent_Release_x64/full/functions/0x1400e5310.c new file mode 100644 index 00000000..ee69ad66 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5310.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5310 Unwind@1400e5310 + * Pseudocode, not original source. */ + +void Unwind_1400e5310(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140066060((longlong *)(*(longlong *)(param_2 + 0xb0) + 0x5d8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5330.c b/decomp/Agent_Release_x64/full/functions/0x1400e5330.c new file mode 100644 index 00000000..dcc8e40d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5330.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5330 Unwind@1400e5330 + * Pseudocode, not original source. */ + +void Unwind_1400e5330(undefined8 param_1,longlong param_2) + +{ + FUN_140079860((char *)(*(longlong *)(param_2 + 0xb0) + 0x5e0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5350.c b/decomp/Agent_Release_x64/full/functions/0x1400e5350.c new file mode 100644 index 00000000..d5ac02d5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5350.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5350 Unwind@1400e5350 + * Pseudocode, not original source. */ + +void Unwind_1400e5350(undefined8 param_1,longlong param_2) + +{ + FUN_140074000((longlong *)(*(longlong *)(param_2 + 0xb0) + 0x6e0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5370.c b/decomp/Agent_Release_x64/full/functions/0x1400e5370.c new file mode 100644 index 00000000..b7cf6f6a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5370.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5370 Unwind@1400e5370 + * Pseudocode, not original source. */ + +void Unwind_1400e5370(undefined8 param_1,longlong param_2) + +{ + FUN_14003c840(*(longlong *)(param_2 + 0xb0) + 0x708); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5390.c b/decomp/Agent_Release_x64/full/functions/0x1400e5390.c new file mode 100644 index 00000000..9ae3209c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5390.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5390 Unwind@1400e5390 + * Pseudocode, not original source. */ + +void Unwind_1400e5390(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140039bf0((undefined8 *)(*(longlong *)(param_2 + 0xb0) + 0xb08),param_2,param_3,param_4) + ; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e53b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e53b0.c new file mode 100644 index 00000000..97b5ea92 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e53b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e53b0 Unwind@1400e53b0 + * Pseudocode, not original source. */ + +void Unwind_1400e53b0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(*(longlong *)(param_2 + 0xb0) + 0x1520)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e53d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e53d0.c new file mode 100644 index 00000000..7dfe306a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e53d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e53d0 Unwind@1400e53d0 + * Pseudocode, not original source. */ + +void Unwind_1400e53d0(undefined8 param_1,longlong param_2) + +{ + FUN_140074000((longlong *)(*(longlong *)(param_2 + 0xb0) + 0x1530)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e53f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e53f0.c new file mode 100644 index 00000000..4cd72d20 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e53f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e53f0 Unwind@1400e53f0 + * Pseudocode, not original source. */ + +void Unwind_1400e53f0(undefined8 param_1,longlong param_2) + +{ + FUN_1400640e0((undefined8 *)(*(longlong *)(param_2 + 0xb0) + 0x1550)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5410.c b/decomp/Agent_Release_x64/full/functions/0x1400e5410.c new file mode 100644 index 00000000..d868d9ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5410.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5410 Unwind@1400e5410 + * Pseudocode, not original source. */ + +void Unwind_1400e5410(undefined8 param_1,longlong param_2) + +{ + FUN_140066110((longlong *)(*(longlong *)(param_2 + 0xb0) + 0x1570)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5430.c b/decomp/Agent_Release_x64/full/functions/0x1400e5430.c new file mode 100644 index 00000000..2d14038d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5430.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5430 Unwind@1400e5430 + * Pseudocode, not original source. */ + +void Unwind_1400e5430(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400023b0((longlong *)(*(longlong *)(param_2 + 0xb0) + 0x1588),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5450.c b/decomp/Agent_Release_x64/full/functions/0x1400e5450.c new file mode 100644 index 00000000..e85d1bff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5450.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5450 Unwind@1400e5450 + * Pseudocode, not original source. */ + +void Unwind_1400e5450(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(*(longlong *)(param_2 + 0xb0) + 0x15d8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5470.c b/decomp/Agent_Release_x64/full/functions/0x1400e5470.c new file mode 100644 index 00000000..b443cf7e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5470.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5470 Unwind@1400e5470 + * Pseudocode, not original source. */ + +void Unwind_1400e5470(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140079eb0((longlong *)(param_2[0x16] + 0x15e0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5490.c b/decomp/Agent_Release_x64/full/functions/0x1400e5490.c new file mode 100644 index 00000000..85a25e38 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5490.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5490 Unwind@1400e5490 + * Pseudocode, not original source. */ + +void Unwind_1400e5490(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140079eb0((longlong *)(param_2[0x16] + 0x1600),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e54b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e54b0.c new file mode 100644 index 00000000..e3e50399 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e54b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e54b0 Unwind@1400e54b0 + * Pseudocode, not original source. */ + +void Unwind_1400e54b0(undefined8 param_1,longlong param_2) + +{ + FUN_1400757f0((char *)(*(longlong *)(param_2 + 0xb0) + 0x1650)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e54d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e54d0.c new file mode 100644 index 00000000..c5f00dac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e54d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e54d0 Unwind@1400e54d0 + * Pseudocode, not original source. */ + +void Unwind_1400e54d0(undefined8 param_1,longlong param_2) + +{ + FUN_1400757f0((char *)(*(longlong *)(param_2 + 0xb0) + 0x16a8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e54f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e54f0.c new file mode 100644 index 00000000..e646a848 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e54f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e54f0 Unwind@1400e54f0 + * Pseudocode, not original source. */ + +void Unwind_1400e54f0(undefined8 param_1,longlong param_2) + +{ + FUN_140073c20((longlong *)(*(longlong *)(param_2 + 0xb0) + 0x1700)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5510.c b/decomp/Agent_Release_x64/full/functions/0x1400e5510.c new file mode 100644 index 00000000..da138fa7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5510.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5510 Unwind@1400e5510 + * Pseudocode, not original source. */ + +void Unwind_1400e5510(undefined8 param_1,longlong param_2) + +{ + FUN_1400757f0((char *)(*(longlong *)(param_2 + 0xb0) + 0x1720)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5530.c b/decomp/Agent_Release_x64/full/functions/0x1400e5530.c new file mode 100644 index 00000000..cebe7841 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5530.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5530 Unwind@1400e5530 + * Pseudocode, not original source. */ + +void Unwind_1400e5530(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140073c50((longlong *)(param_2[0x16] + 0x17b0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5550.c b/decomp/Agent_Release_x64/full/functions/0x1400e5550.c new file mode 100644 index 00000000..7a78697d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5550.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5550 Unwind@1400e5550 + * Pseudocode, not original source. */ + +void Unwind_1400e5550(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140081fe0((undefined8 *)(*(longlong *)(param_2 + 0xb0) + 0x17d0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5570.c b/decomp/Agent_Release_x64/full/functions/0x1400e5570.c new file mode 100644 index 00000000..abe70695 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5570.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5570 Unwind@1400e5570 + * Pseudocode, not original source. */ + +void Unwind_1400e5570(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140085260((undefined8 *)(*(longlong *)(param_2 + 0xb0) + 0x17f0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5590.c b/decomp/Agent_Release_x64/full/functions/0x1400e5590.c new file mode 100644 index 00000000..584e56d9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5590.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5590 Unwind@1400e5590 + * Pseudocode, not original source. */ + +void Unwind_1400e5590(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140081fe0((undefined8 *)(*(longlong *)(param_2 + 0xb0) + 0x1818)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e55b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e55b0.c new file mode 100644 index 00000000..e0b066e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e55b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e55b0 Unwind@1400e55b0 + * Pseudocode, not original source. */ + +void Unwind_1400e55b0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140085260((undefined8 *)(*(longlong *)(param_2 + 0xb0) + 0x1838)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e55d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e55d0.c new file mode 100644 index 00000000..b582e8b0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e55d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e55d0 Unwind@1400e55d0 + * Pseudocode, not original source. */ + +void Unwind_1400e55d0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e55e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e55e0.c new file mode 100644 index 00000000..7da048d3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e55e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e55e0 Unwind@1400e55e0 + * Pseudocode, not original source. */ + +void Unwind_1400e55e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e55f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e55f0.c new file mode 100644 index 00000000..6492a242 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e55f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e55f0 Unwind@1400e55f0 + * Pseudocode, not original source. */ + +void Unwind_1400e55f0(undefined8 param_1,longlong param_2) + +{ + FUN_140066110((longlong *)(param_2 + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5600.c b/decomp/Agent_Release_x64/full/functions/0x1400e5600.c new file mode 100644 index 00000000..855d6a2e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5600.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5600 Unwind@1400e5600 + * Pseudocode, not original source. */ + +void Unwind_1400e5600(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0xc0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5610.c b/decomp/Agent_Release_x64/full/functions/0x1400e5610.c new file mode 100644 index 00000000..ef8fa8ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5610.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5610 Unwind@1400e5610 + * Pseudocode, not original source. */ + +void Unwind_1400e5610(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 200),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5620.c b/decomp/Agent_Release_x64/full/functions/0x1400e5620.c new file mode 100644 index 00000000..58c07635 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5620.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5620 Unwind@1400e5620 + * Pseudocode, not original source. */ + +void Unwind_1400e5620(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5630.c b/decomp/Agent_Release_x64/full/functions/0x1400e5630.c new file mode 100644 index 00000000..bbc50c25 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5630.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5630 Unwind@1400e5630 + * Pseudocode, not original source. */ + +void Unwind_1400e5630(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5640.c b/decomp/Agent_Release_x64/full/functions/0x1400e5640.c new file mode 100644 index 00000000..262e283a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5640.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5640 Unwind@1400e5640 + * Pseudocode, not original source. */ + +void Unwind_1400e5640(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400794a0(param_2 + 0x38,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5650.c b/decomp/Agent_Release_x64/full/functions/0x1400e5650.c new file mode 100644 index 00000000..033727ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5650.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5650 Unwind@1400e5650 + * Pseudocode, not original source. */ + +void Unwind_1400e5650(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5660.c b/decomp/Agent_Release_x64/full/functions/0x1400e5660.c new file mode 100644 index 00000000..081320d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5660.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5660 Unwind@1400e5660 + * Pseudocode, not original source. */ + +void Unwind_1400e5660(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x180) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5670.c b/decomp/Agent_Release_x64/full/functions/0x1400e5670.c new file mode 100644 index 00000000..5b506681 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5670.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5670 Unwind@1400e5670 + * Pseudocode, not original source. */ + +void Unwind_1400e5670(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570(*(longlong **)(param_2 + 0x148),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5680.c b/decomp/Agent_Release_x64/full/functions/0x1400e5680.c new file mode 100644 index 00000000..09c545ef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5680.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5680 Unwind@1400e5680 + * Pseudocode, not original source. */ + +void Unwind_1400e5680(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5690.c b/decomp/Agent_Release_x64/full/functions/0x1400e5690.c new file mode 100644 index 00000000..e93e10d7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5690.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5690 Unwind@1400e5690 + * Pseudocode, not original source. */ + +void Unwind_1400e5690(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e56a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e56a0.c new file mode 100644 index 00000000..2f6d43c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e56a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e56a0 Unwind@1400e56a0 + * Pseudocode, not original source. */ + +void Unwind_1400e56a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x20,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e56b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e56b0.c new file mode 100644 index 00000000..b57bd797 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e56b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e56b0 Unwind@1400e56b0 + * Pseudocode, not original source. */ + +void Unwind_1400e56b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e56c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e56c0.c new file mode 100644 index 00000000..ff55bb73 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e56c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e56c0 Unwind@1400e56c0 + * Pseudocode, not original source. */ + +void Unwind_1400e56c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e56d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e56d0.c new file mode 100644 index 00000000..daa1ee0d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e56d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e56d0 Unwind@1400e56d0 + * Pseudocode, not original source. */ + +void Unwind_1400e56d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e56e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e56e0.c new file mode 100644 index 00000000..97a1aefa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e56e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e56e0 Unwind@1400e56e0 + * Pseudocode, not original source. */ + +void Unwind_1400e56e0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e56f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e56f0.c new file mode 100644 index 00000000..ee13e724 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e56f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e56f0 Unwind@1400e56f0 + * Pseudocode, not original source. */ + +void Unwind_1400e56f0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5700.c b/decomp/Agent_Release_x64/full/functions/0x1400e5700.c new file mode 100644 index 00000000..9d778f67 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5700.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5700 Unwind@1400e5700 + * Pseudocode, not original source. */ + +void Unwind_1400e5700(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5710.c b/decomp/Agent_Release_x64/full/functions/0x1400e5710.c new file mode 100644 index 00000000..bdd1a0e1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5710.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5710 Unwind@1400e5710 + * Pseudocode, not original source. */ + +void Unwind_1400e5710(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x150) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5720.c b/decomp/Agent_Release_x64/full/functions/0x1400e5720.c new file mode 100644 index 00000000..688da4d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5720.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5720 Unwind@1400e5720 + * Pseudocode, not original source. */ + +void Unwind_1400e5720(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5730.c b/decomp/Agent_Release_x64/full/functions/0x1400e5730.c new file mode 100644 index 00000000..ac04f234 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5730.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5730 Unwind@1400e5730 + * Pseudocode, not original source. */ + +void Unwind_1400e5730(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400794a0(param_2 + 0x70,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5740.c b/decomp/Agent_Release_x64/full/functions/0x1400e5740.c new file mode 100644 index 00000000..2dd020d7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5740.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5740 Unwind@1400e5740 + * Pseudocode, not original source. */ + +void Unwind_1400e5740(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5770.c b/decomp/Agent_Release_x64/full/functions/0x1400e5770.c new file mode 100644 index 00000000..ad3d3f90 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5770.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5770 Unwind@1400e5770 + * Pseudocode, not original source. */ + +void Unwind_1400e5770(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(*(longlong *)(param_2 + 0x68) + 8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5780.c b/decomp/Agent_Release_x64/full/functions/0x1400e5780.c new file mode 100644 index 00000000..8c65a7c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5780.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5780 Unwind@1400e5780 + * Pseudocode, not original source. */ + +void Unwind_1400e5780(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x78); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5790.c b/decomp/Agent_Release_x64/full/functions/0x1400e5790.c new file mode 100644 index 00000000..c948d3a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5790.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5790 Unwind@1400e5790 + * Pseudocode, not original source. */ + +void Unwind_1400e5790(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(*(longlong *)(param_2 + 0x208) + 8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e57a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e57a0.c new file mode 100644 index 00000000..b1db5cac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e57a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e57a0 Unwind@1400e57a0 + * Pseudocode, not original source. */ + +void Unwind_1400e57a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(*(longlong *)(param_2 + 0x208) + 0x18),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e57b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e57b0.c new file mode 100644 index 00000000..fa698097 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e57b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e57b0 Unwind@1400e57b0 + * Pseudocode, not original source. */ + +void Unwind_1400e57b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(*(longlong *)(param_2 + 0x208) + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e57c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e57c0.c new file mode 100644 index 00000000..16a7c404 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e57c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e57c0 Unwind@1400e57c0 + * Pseudocode, not original source. */ + +void Unwind_1400e57c0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x208) + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e57d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e57d0.c new file mode 100644 index 00000000..83301158 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e57d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e57d0 Unwind@1400e57d0 + * Pseudocode, not original source. */ + +void Unwind_1400e57d0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(*(longlong *)(param_2 + 0x208) + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e57e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e57e0.c new file mode 100644 index 00000000..0c976a62 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e57e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e57e0 Unwind@1400e57e0 + * Pseudocode, not original source. */ + +void Unwind_1400e57e0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x208) + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e57f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e57f0.c new file mode 100644 index 00000000..0fce943d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e57f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e57f0 Unwind@1400e57f0 + * Pseudocode, not original source. */ + +void Unwind_1400e57f0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x210) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5800.c b/decomp/Agent_Release_x64/full/functions/0x1400e5800.c new file mode 100644 index 00000000..80adcac2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5800.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5800 Unwind@1400e5800 + * Pseudocode, not original source. */ + +void Unwind_1400e5800(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5810.c b/decomp/Agent_Release_x64/full/functions/0x1400e5810.c new file mode 100644 index 00000000..8252cb41 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5810.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5810 Unwind@1400e5810 + * Pseudocode, not original source. */ + +void Unwind_1400e5810(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0(*(undefined4 **)(param_2 + 0x200),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5820.c b/decomp/Agent_Release_x64/full/functions/0x1400e5820.c new file mode 100644 index 00000000..c17de399 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5820.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5820 Unwind@1400e5820 + * Pseudocode, not original source. */ + +void Unwind_1400e5820(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5830.c b/decomp/Agent_Release_x64/full/functions/0x1400e5830.c new file mode 100644 index 00000000..07dc2600 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5830.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5830 Unwind@1400e5830 + * Pseudocode, not original source. */ + +void Unwind_1400e5830(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0(*(undefined4 **)(param_2 + 0x200),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5840.c b/decomp/Agent_Release_x64/full/functions/0x1400e5840.c new file mode 100644 index 00000000..2a807524 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5840.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5840 Unwind@1400e5840 + * Pseudocode, not original source. */ + +void Unwind_1400e5840(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140043b40((char *)(*(longlong *)(param_2 + 0x218) + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5850.c b/decomp/Agent_Release_x64/full/functions/0x1400e5850.c new file mode 100644 index 00000000..395cb200 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5850.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5850 Unwind@1400e5850 + * Pseudocode, not original source. */ + +void Unwind_1400e5850(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5860.c b/decomp/Agent_Release_x64/full/functions/0x1400e5860.c new file mode 100644 index 00000000..7b0c245e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5860.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5860 Unwind@1400e5860 + * Pseudocode, not original source. */ + +void Unwind_1400e5860(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0(*(undefined4 **)(param_2 + 0x200),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5870.c b/decomp/Agent_Release_x64/full/functions/0x1400e5870.c new file mode 100644 index 00000000..2e6dc735 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5870.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5870 Unwind@1400e5870 + * Pseudocode, not original source. */ + +void Unwind_1400e5870(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(*(longlong *)(param_2 + 0x218) + 0x10),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5880.c b/decomp/Agent_Release_x64/full/functions/0x1400e5880.c new file mode 100644 index 00000000..c0d08a68 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5880.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5880 Unwind@1400e5880 + * Pseudocode, not original source. */ + +void Unwind_1400e5880(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x218) + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5890.c b/decomp/Agent_Release_x64/full/functions/0x1400e5890.c new file mode 100644 index 00000000..a534f43e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5890.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5890 Unwind@1400e5890 + * Pseudocode, not original source. */ + +void Unwind_1400e5890(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x200) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e58a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e58a0.c new file mode 100644 index 00000000..fefc86b4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e58a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e58a0 Unwind@1400e58a0 + * Pseudocode, not original source. */ + +void Unwind_1400e58a0(undefined8 param_1,longlong param_2) + +{ + FUN_140066110((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e58b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e58b0.c new file mode 100644 index 00000000..cf2ccd17 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e58b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e58b0 Unwind@1400e58b0 + * Pseudocode, not original source. */ + +void Unwind_1400e58b0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e58c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e58c0.c new file mode 100644 index 00000000..3527b2d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e58c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e58c0 Unwind@1400e58c0 + * Pseudocode, not original source. */ + +void Unwind_1400e58c0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e58d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e58d0.c new file mode 100644 index 00000000..851af5a6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e58d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e58d0 Unwind@1400e58d0 + * Pseudocode, not original source. */ + +void Unwind_1400e58d0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e58e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e58e0.c new file mode 100644 index 00000000..ac441944 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e58e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e58e0 Unwind@1400e58e0 + * Pseudocode, not original source. */ + +void Unwind_1400e58e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400023b0((longlong *)(param_2 + 0x120),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e58f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e58f0.c new file mode 100644 index 00000000..74f23ee8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e58f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e58f0 Unwind@1400e58f0 + * Pseudocode, not original source. */ + +void Unwind_1400e58f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x120),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5900.c b/decomp/Agent_Release_x64/full/functions/0x1400e5900.c new file mode 100644 index 00000000..48e4bfa8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5900.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5900 Unwind@1400e5900 + * Pseudocode, not original source. */ + +void Unwind_1400e5900(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5910.c b/decomp/Agent_Release_x64/full/functions/0x1400e5910.c new file mode 100644 index 00000000..8c6c6405 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5910.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5910 Unwind@1400e5910 + * Pseudocode, not original source. */ + +void Unwind_1400e5910(undefined8 param_1,longlong param_2) + +{ + FUN_140076b40((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5920.c b/decomp/Agent_Release_x64/full/functions/0x1400e5920.c new file mode 100644 index 00000000..d49f2969 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5920.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5920 Unwind@1400e5920 + * Pseudocode, not original source. */ + +void Unwind_1400e5920(undefined8 param_1,longlong param_2) + +{ + FUN_140076b40((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5930.c b/decomp/Agent_Release_x64/full/functions/0x1400e5930.c new file mode 100644 index 00000000..c6bb07db --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5930.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5930 Unwind@1400e5930 + * Pseudocode, not original source. */ + +void Unwind_1400e5930(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5940.c b/decomp/Agent_Release_x64/full/functions/0x1400e5940.c new file mode 100644 index 00000000..c40fc02f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5940.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5940 Unwind@1400e5940 + * Pseudocode, not original source. */ + +void Unwind_1400e5940(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5950.c b/decomp/Agent_Release_x64/full/functions/0x1400e5950.c new file mode 100644 index 00000000..a396f1b7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5950.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5950 Unwind@1400e5950 + * Pseudocode, not original source. */ + +void Unwind_1400e5950(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5960.c b/decomp/Agent_Release_x64/full/functions/0x1400e5960.c new file mode 100644 index 00000000..758293ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5960.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5960 Unwind@1400e5960 + * Pseudocode, not original source. */ + +void Unwind_1400e5960(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5970.c b/decomp/Agent_Release_x64/full/functions/0x1400e5970.c new file mode 100644 index 00000000..2f7e6e4c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5970.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5970 Unwind@1400e5970 + * Pseudocode, not original source. */ + +void Unwind_1400e5970(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5980.c b/decomp/Agent_Release_x64/full/functions/0x1400e5980.c new file mode 100644 index 00000000..b16c6996 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5980.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5980 Unwind@1400e5980 + * Pseudocode, not original source. */ + +void Unwind_1400e5980(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x80,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5990.c b/decomp/Agent_Release_x64/full/functions/0x1400e5990.c new file mode 100644 index 00000000..e9dad3a5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5990.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5990 Unwind@1400e5990 + * Pseudocode, not original source. */ + +void Unwind_1400e5990(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e59a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e59a0.c new file mode 100644 index 00000000..884c6904 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e59a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e59a0 Unwind@1400e59a0 + * Pseudocode, not original source. */ + +void Unwind_1400e59a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e59b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e59b0.c new file mode 100644 index 00000000..c117bf40 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e59b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e59b0 Unwind@1400e59b0 + * Pseudocode, not original source. */ + +void Unwind_1400e59b0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xa0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e59c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e59c0.c new file mode 100644 index 00000000..e8e77ccf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e59c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e59c0 Unwind@1400e59c0 + * Pseudocode, not original source. */ + +void Unwind_1400e59c0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e59d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e59d0.c new file mode 100644 index 00000000..5cf0b50c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e59d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e59d0 Unwind@1400e59d0 + * Pseudocode, not original source. */ + +void Unwind_1400e59d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e59e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e59e0.c new file mode 100644 index 00000000..393f9767 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e59e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e59e0 Unwind@1400e59e0 + * Pseudocode, not original source. */ + +void Unwind_1400e59e0(undefined8 param_1,longlong param_2) + +{ + FUN_140071f30((longlong *)(param_2 + 0x198)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e59f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e59f0.c new file mode 100644 index 00000000..e1cdc464 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e59f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e59f0 Unwind@1400e59f0 + * Pseudocode, not original source. */ + +void Unwind_1400e59f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5a00.c b/decomp/Agent_Release_x64/full/functions/0x1400e5a00.c new file mode 100644 index 00000000..2d88e22d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5a00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5a00 Unwind@1400e5a00 + * Pseudocode, not original source. */ + +void Unwind_1400e5a00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5a10.c b/decomp/Agent_Release_x64/full/functions/0x1400e5a10.c new file mode 100644 index 00000000..7cc1fee3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5a10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5a10 Unwind@1400e5a10 + * Pseudocode, not original source. */ + +void Unwind_1400e5a10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x30,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5a20.c b/decomp/Agent_Release_x64/full/functions/0x1400e5a20.c new file mode 100644 index 00000000..e156652b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5a20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5a20 Unwind@1400e5a20 + * Pseudocode, not original source. */ + +void Unwind_1400e5a20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5a30.c b/decomp/Agent_Release_x64/full/functions/0x1400e5a30.c new file mode 100644 index 00000000..f73f4ded --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5a30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5a30 Unwind@1400e5a30 + * Pseudocode, not original source. */ + +void Unwind_1400e5a30(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x188)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5a40.c b/decomp/Agent_Release_x64/full/functions/0x1400e5a40.c new file mode 100644 index 00000000..687dfc87 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5a40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5a40 Unwind@1400e5a40 + * Pseudocode, not original source. */ + +void Unwind_1400e5a40(undefined8 param_1,longlong param_2) + +{ + FUN_140076b40((longlong *)(param_2 + 0x170)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5a50.c b/decomp/Agent_Release_x64/full/functions/0x1400e5a50.c new file mode 100644 index 00000000..93dc809d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5a50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5a50 Unwind@1400e5a50 + * Pseudocode, not original source. */ + +void Unwind_1400e5a50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5a60.c b/decomp/Agent_Release_x64/full/functions/0x1400e5a60.c new file mode 100644 index 00000000..0ef6eab2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5a60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5a60 Unwind@1400e5a60 + * Pseudocode, not original source. */ + +void Unwind_1400e5a60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5a70.c b/decomp/Agent_Release_x64/full/functions/0x1400e5a70.c new file mode 100644 index 00000000..1d1f63cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5a70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5a70 Unwind@1400e5a70 + * Pseudocode, not original source. */ + +void Unwind_1400e5a70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x30,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5a80.c b/decomp/Agent_Release_x64/full/functions/0x1400e5a80.c new file mode 100644 index 00000000..be93b7af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5a80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5a80 Unwind@1400e5a80 + * Pseudocode, not original source. */ + +void Unwind_1400e5a80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5a90.c b/decomp/Agent_Release_x64/full/functions/0x1400e5a90.c new file mode 100644 index 00000000..92e3d361 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5a90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5a90 Unwind@1400e5a90 + * Pseudocode, not original source. */ + +void Unwind_1400e5a90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5aa0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5aa0.c new file mode 100644 index 00000000..347fc6cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5aa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5aa0 Unwind@1400e5aa0 + * Pseudocode, not original source. */ + +void Unwind_1400e5aa0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5ab0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5ab0.c new file mode 100644 index 00000000..236b7c34 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5ab0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5ab0 Unwind@1400e5ab0 + * Pseudocode, not original source. */ + +void Unwind_1400e5ab0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5ac0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5ac0.c new file mode 100644 index 00000000..a534e134 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5ac0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5ac0 Unwind@1400e5ac0 + * Pseudocode, not original source. */ + +void Unwind_1400e5ac0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5ad0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5ad0.c new file mode 100644 index 00000000..45785eba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5ad0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5ad0 Unwind@1400e5ad0 + * Pseudocode, not original source. */ + +void Unwind_1400e5ad0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5ae0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5ae0.c new file mode 100644 index 00000000..2741d8a7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5ae0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5ae0 Unwind@1400e5ae0 + * Pseudocode, not original source. */ + +void Unwind_1400e5ae0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x130) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5af0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5af0.c new file mode 100644 index 00000000..4e2f6f45 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5af0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5af0 Unwind@1400e5af0 + * Pseudocode, not original source. */ + +void Unwind_1400e5af0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5b00.c b/decomp/Agent_Release_x64/full/functions/0x1400e5b00.c new file mode 100644 index 00000000..a325a259 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5b00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5b00 Unwind@1400e5b00 + * Pseudocode, not original source. */ + +void Unwind_1400e5b00(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x170)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5b10.c b/decomp/Agent_Release_x64/full/functions/0x1400e5b10.c new file mode 100644 index 00000000..832ed81c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5b10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5b10 Unwind@1400e5b10 + * Pseudocode, not original source. */ + +void Unwind_1400e5b10(undefined8 param_1,longlong param_2) + +{ + FUN_140071f30((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5b20.c b/decomp/Agent_Release_x64/full/functions/0x1400e5b20.c new file mode 100644 index 00000000..0ed45118 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5b20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5b20 Unwind@1400e5b20 + * Pseudocode, not original source. */ + +void Unwind_1400e5b20(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5b30.c b/decomp/Agent_Release_x64/full/functions/0x1400e5b30.c new file mode 100644 index 00000000..35b9ca63 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5b30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5b30 Unwind@1400e5b30 + * Pseudocode, not original source. */ + +void Unwind_1400e5b30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x68),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5b40.c b/decomp/Agent_Release_x64/full/functions/0x1400e5b40.c new file mode 100644 index 00000000..2a6e0967 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5b40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5b40 Unwind@1400e5b40 + * Pseudocode, not original source. */ + +void Unwind_1400e5b40(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x50,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5b50.c b/decomp/Agent_Release_x64/full/functions/0x1400e5b50.c new file mode 100644 index 00000000..a1fa727a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5b50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5b50 Unwind@1400e5b50 + * Pseudocode, not original source. */ + +void Unwind_1400e5b50(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5b60.c b/decomp/Agent_Release_x64/full/functions/0x1400e5b60.c new file mode 100644 index 00000000..c3c94517 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5b60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5b60 Unwind@1400e5b60 + * Pseudocode, not original source. */ + +void Unwind_1400e5b60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140082810(*(undefined8 **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5b70.c b/decomp/Agent_Release_x64/full/functions/0x1400e5b70.c new file mode 100644 index 00000000..b8dec77c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5b70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5b70 Unwind@1400e5b70 + * Pseudocode, not original source. */ + +void Unwind_1400e5b70(undefined8 param_1,longlong param_2) + +{ + FUN_140063f80((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5b80.c b/decomp/Agent_Release_x64/full/functions/0x1400e5b80.c new file mode 100644 index 00000000..5f3331df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5b80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5b80 Unwind@1400e5b80 + * Pseudocode, not original source. */ + +void Unwind_1400e5b80(undefined8 param_1,longlong param_2) + +{ + FUN_140063fc0((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5b90.c b/decomp/Agent_Release_x64/full/functions/0x1400e5b90.c new file mode 100644 index 00000000..3cdbfac3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5b90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5b90 Unwind@1400e5b90 + * Pseudocode, not original source. */ + +void Unwind_1400e5b90(undefined8 param_1,longlong param_2) + +{ + FUN_14003c6c0((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5ba0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5ba0.c new file mode 100644 index 00000000..d782a10d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5ba0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5ba0 Unwind@1400e5ba0 + * Pseudocode, not original source. */ + +void Unwind_1400e5ba0(undefined8 param_1,longlong param_2) + +{ + FUN_140030db0((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5bb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5bb0.c new file mode 100644 index 00000000..02814982 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5bb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5bb0 Unwind@1400e5bb0 + * Pseudocode, not original source. */ + +void Unwind_1400e5bb0(undefined8 param_1,longlong param_2) + +{ + FUN_140064040((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5bd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5bd0.c new file mode 100644 index 00000000..a015ef8f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5bd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5bd0 Unwind@1400e5bd0 + * Pseudocode, not original source. */ + +void Unwind_1400e5bd0(undefined8 param_1,longlong param_2) + +{ + FUN_140064000((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5bf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5bf0.c new file mode 100644 index 00000000..830b9044 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5bf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5bf0 Unwind@1400e5bf0 + * Pseudocode, not original source. */ + +void Unwind_1400e5bf0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400654e0(*(longlong *)(param_2 + 0x90) + 0xa0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5c10.c b/decomp/Agent_Release_x64/full/functions/0x1400e5c10.c new file mode 100644 index 00000000..db6bbd09 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5c10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5c10 Unwind@1400e5c10 + * Pseudocode, not original source. */ + +void Unwind_1400e5c10(undefined8 param_1,longlong param_2) + +{ + FUN_14003c7d0((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5c30.c b/decomp/Agent_Release_x64/full/functions/0x1400e5c30.c new file mode 100644 index 00000000..ae313117 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5c30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5c30 Unwind@1400e5c30 + * Pseudocode, not original source. */ + +void Unwind_1400e5c30(undefined8 param_1,longlong param_2) + +{ + FUN_14003c840(*(longlong *)(param_2 + 0x90) + 0xd8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5c50.c b/decomp/Agent_Release_x64/full/functions/0x1400e5c50.c new file mode 100644 index 00000000..8e5949e3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5c50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5c50 Unwind@1400e5c50 + * Pseudocode, not original source. */ + +void Unwind_1400e5c50(undefined8 param_1,longlong param_2) + +{ + FUN_140092fb0((longlong *)(*(longlong *)(param_2 + 0x90) + 0x4e0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5c70.c b/decomp/Agent_Release_x64/full/functions/0x1400e5c70.c new file mode 100644 index 00000000..6419ba10 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5c70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5c70 Unwind@1400e5c70 + * Pseudocode, not original source. */ + +void Unwind_1400e5c70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x90) + 0x518),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5c90.c b/decomp/Agent_Release_x64/full/functions/0x1400e5c90.c new file mode 100644 index 00000000..96d3c5b7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5c90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5c90 Unwind@1400e5c90 + * Pseudocode, not original source. */ + +void Unwind_1400e5c90(undefined8 param_1,longlong param_2,ulonglong param_3,ulonglong param_4) + +{ + FUN_1400675a0((longlong *)(*(longlong *)(param_2 + 0x90) + 0x5d0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5cb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5cb0.c new file mode 100644 index 00000000..e16fe78f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5cb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5cb0 Unwind@1400e5cb0 + * Pseudocode, not original source. */ + +void Unwind_1400e5cb0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140066060((longlong *)(*(longlong *)(param_2 + 0x90) + 0x5d8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5cd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5cd0.c new file mode 100644 index 00000000..4708b6c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5cd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5cd0 Unwind@1400e5cd0 + * Pseudocode, not original source. */ + +void Unwind_1400e5cd0(undefined8 param_1,longlong param_2) + +{ + FUN_140079860((char *)(*(longlong *)(param_2 + 0x90) + 0x5e0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5cf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5cf0.c new file mode 100644 index 00000000..ec27576c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5cf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5cf0 Unwind@1400e5cf0 + * Pseudocode, not original source. */ + +void Unwind_1400e5cf0(undefined8 param_1,longlong param_2) + +{ + FUN_140074000((longlong *)(*(longlong *)(param_2 + 0x90) + 0x6e0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5d10.c b/decomp/Agent_Release_x64/full/functions/0x1400e5d10.c new file mode 100644 index 00000000..de39c7c4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5d10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5d10 Unwind@1400e5d10 + * Pseudocode, not original source. */ + +void Unwind_1400e5d10(undefined8 param_1,longlong param_2) + +{ + FUN_14003c840(*(longlong *)(param_2 + 0x90) + 0x708); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5d30.c b/decomp/Agent_Release_x64/full/functions/0x1400e5d30.c new file mode 100644 index 00000000..a6d41356 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5d30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5d30 Unwind@1400e5d30 + * Pseudocode, not original source. */ + +void Unwind_1400e5d30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140039bf0(*(undefined8 **)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5d40.c b/decomp/Agent_Release_x64/full/functions/0x1400e5d40.c new file mode 100644 index 00000000..41ea749c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5d40.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5d40 Unwind@1400e5d40 + * Pseudocode, not original source. */ + +void Unwind_1400e5d40(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140039bf0((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0xb08),param_2,param_3,param_4) + ; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5d60.c b/decomp/Agent_Release_x64/full/functions/0x1400e5d60.c new file mode 100644 index 00000000..e5b50701 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5d60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5d60 Unwind@1400e5d60 + * Pseudocode, not original source. */ + +void Unwind_1400e5d60(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(*(longlong *)(param_2 + 0x90) + 0x1520)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5d80.c b/decomp/Agent_Release_x64/full/functions/0x1400e5d80.c new file mode 100644 index 00000000..95be8bfc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5d80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5d80 Unwind@1400e5d80 + * Pseudocode, not original source. */ + +void Unwind_1400e5d80(undefined8 param_1,longlong param_2) + +{ + FUN_140074000((longlong *)(*(longlong *)(param_2 + 0x90) + 0x1530)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5da0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5da0.c new file mode 100644 index 00000000..decbcd27 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5da0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5da0 Unwind@1400e5da0 + * Pseudocode, not original source. */ + +void Unwind_1400e5da0(undefined8 param_1,longlong param_2) + +{ + FUN_1400640e0((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0x1550)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5dc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5dc0.c new file mode 100644 index 00000000..d1fd6e20 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5dc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5dc0 Unwind@1400e5dc0 + * Pseudocode, not original source. */ + +void Unwind_1400e5dc0(undefined8 param_1,longlong param_2) + +{ + FUN_140066110((longlong *)(*(longlong *)(param_2 + 0x90) + 0x1570)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5de0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5de0.c new file mode 100644 index 00000000..f746d630 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5de0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5de0 Unwind@1400e5de0 + * Pseudocode, not original source. */ + +void Unwind_1400e5de0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400023b0((longlong *)(*(longlong *)(param_2 + 0x90) + 0x1588),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5e00.c b/decomp/Agent_Release_x64/full/functions/0x1400e5e00.c new file mode 100644 index 00000000..6207d77e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5e00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5e00 Unwind@1400e5e00 + * Pseudocode, not original source. */ + +void Unwind_1400e5e00(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(*(longlong *)(param_2 + 0x90) + 0x15d8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5e20.c b/decomp/Agent_Release_x64/full/functions/0x1400e5e20.c new file mode 100644 index 00000000..8783ba1d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5e20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5e20 Unwind@1400e5e20 + * Pseudocode, not original source. */ + +void Unwind_1400e5e20(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140079eb0((longlong *)(param_2[0x12] + 0x15e0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5e40.c b/decomp/Agent_Release_x64/full/functions/0x1400e5e40.c new file mode 100644 index 00000000..58131546 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5e40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5e40 Unwind@1400e5e40 + * Pseudocode, not original source. */ + +void Unwind_1400e5e40(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140079eb0((longlong *)(param_2[0x12] + 0x1600),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5e60.c b/decomp/Agent_Release_x64/full/functions/0x1400e5e60.c new file mode 100644 index 00000000..c3536ece --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5e60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5e60 Unwind@1400e5e60 + * Pseudocode, not original source. */ + +void Unwind_1400e5e60(undefined8 param_1,longlong param_2) + +{ + FUN_1400757f0((char *)(*(longlong *)(param_2 + 0x90) + 0x1650)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5e80.c b/decomp/Agent_Release_x64/full/functions/0x1400e5e80.c new file mode 100644 index 00000000..1a559a3a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5e80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5e80 Unwind@1400e5e80 + * Pseudocode, not original source. */ + +void Unwind_1400e5e80(undefined8 param_1,longlong param_2) + +{ + FUN_1400757f0((char *)(*(longlong *)(param_2 + 0x90) + 0x16a8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5ea0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5ea0.c new file mode 100644 index 00000000..124eb68f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5ea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5ea0 Unwind@1400e5ea0 + * Pseudocode, not original source. */ + +void Unwind_1400e5ea0(undefined8 param_1,longlong param_2) + +{ + FUN_140073c20((longlong *)(*(longlong *)(param_2 + 0x90) + 0x1700)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5ec0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5ec0.c new file mode 100644 index 00000000..9f3c3e6b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5ec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5ec0 Unwind@1400e5ec0 + * Pseudocode, not original source. */ + +void Unwind_1400e5ec0(undefined8 param_1,longlong param_2) + +{ + FUN_1400757f0((char *)(*(longlong *)(param_2 + 0x90) + 0x1720)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5ee0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5ee0.c new file mode 100644 index 00000000..cabc173e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5ee0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5ee0 Unwind@1400e5ee0 + * Pseudocode, not original source. */ + +void Unwind_1400e5ee0(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140073c50((longlong *)(param_2[0x12] + 0x17b0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5f00.c b/decomp/Agent_Release_x64/full/functions/0x1400e5f00.c new file mode 100644 index 00000000..cf794250 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5f00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5f00 Unwind@1400e5f00 + * Pseudocode, not original source. */ + +void Unwind_1400e5f00(undefined8 param_1,longlong param_2) + +{ + FUN_140081fe0(*(undefined8 **)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5f10.c b/decomp/Agent_Release_x64/full/functions/0x1400e5f10.c new file mode 100644 index 00000000..b5fcafb9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5f10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5f10 Unwind@1400e5f10 + * Pseudocode, not original source. */ + +void Unwind_1400e5f10(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140081fe0((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0x17d0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5f30.c b/decomp/Agent_Release_x64/full/functions/0x1400e5f30.c new file mode 100644 index 00000000..350586b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5f30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5f30 Unwind@1400e5f30 + * Pseudocode, not original source. */ + +void Unwind_1400e5f30(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140085260((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0x17f0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5f50.c b/decomp/Agent_Release_x64/full/functions/0x1400e5f50.c new file mode 100644 index 00000000..219d41df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5f50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5f50 Unwind@1400e5f50 + * Pseudocode, not original source. */ + +void Unwind_1400e5f50(undefined8 param_1,longlong param_2) + +{ + FUN_140081fe0(*(undefined8 **)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5f60.c b/decomp/Agent_Release_x64/full/functions/0x1400e5f60.c new file mode 100644 index 00000000..e83394c3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5f60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5f60 Unwind@1400e5f60 + * Pseudocode, not original source. */ + +void Unwind_1400e5f60(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140081fe0((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0x1818)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5f80.c b/decomp/Agent_Release_x64/full/functions/0x1400e5f80.c new file mode 100644 index 00000000..347ea593 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5f80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5f80 Unwind@1400e5f80 + * Pseudocode, not original source. */ + +void Unwind_1400e5f80(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140085260((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0x1838)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5fa0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5fa0.c new file mode 100644 index 00000000..cb284595 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5fa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5fa0 Unwind@1400e5fa0 + * Pseudocode, not original source. */ + +void Unwind_1400e5fa0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140066060((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5fb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5fb0.c new file mode 100644 index 00000000..0d0e3dc2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5fb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5fb0 Unwind@1400e5fb0 + * Pseudocode, not original source. */ + +void Unwind_1400e5fb0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5fc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5fc0.c new file mode 100644 index 00000000..daa03e5f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5fc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5fc0 Unwind@1400e5fc0 + * Pseudocode, not original source. */ + +void Unwind_1400e5fc0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0(*(undefined4 **)(param_2 + 0xa0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5fd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5fd0.c new file mode 100644 index 00000000..410721c1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5fd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5fd0 Unwind@1400e5fd0 + * Pseudocode, not original source. */ + +void Unwind_1400e5fd0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5fe0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5fe0.c new file mode 100644 index 00000000..49c5f9df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5fe0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5fe0 Unwind@1400e5fe0 + * Pseudocode, not original source. */ + +void Unwind_1400e5fe0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e5ff0.c b/decomp/Agent_Release_x64/full/functions/0x1400e5ff0.c new file mode 100644 index 00000000..886e8d72 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e5ff0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e5ff0 Unwind@1400e5ff0 + * Pseudocode, not original source. */ + +void Unwind_1400e5ff0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6000.c b/decomp/Agent_Release_x64/full/functions/0x1400e6000.c new file mode 100644 index 00000000..fcd16ade --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6000.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6000 Unwind@1400e6000 + * Pseudocode, not original source. */ + +void Unwind_1400e6000(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x30,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6010.c b/decomp/Agent_Release_x64/full/functions/0x1400e6010.c new file mode 100644 index 00000000..35ec602b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6010.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6010 Unwind@1400e6010 + * Pseudocode, not original source. */ + +void Unwind_1400e6010(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x180)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6030.c b/decomp/Agent_Release_x64/full/functions/0x1400e6030.c new file mode 100644 index 00000000..a177138e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6030.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6030 Unwind@1400e6030 + * Pseudocode, not original source. */ + +void Unwind_1400e6030(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6050.c b/decomp/Agent_Release_x64/full/functions/0x1400e6050.c new file mode 100644 index 00000000..8c85158e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6050.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6050 Unwind@1400e6050 + * Pseudocode, not original source. */ + +void Unwind_1400e6050(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x180),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6060.c b/decomp/Agent_Release_x64/full/functions/0x1400e6060.c new file mode 100644 index 00000000..1d79a325 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6060.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6060 Unwind@1400e6060 + * Pseudocode, not original source. */ + +void Unwind_1400e6060(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6070.c b/decomp/Agent_Release_x64/full/functions/0x1400e6070.c new file mode 100644 index 00000000..b7e04803 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6070.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6070 Unwind@1400e6070 + * Pseudocode, not original source. */ + +void Unwind_1400e6070(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x130)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6080.c b/decomp/Agent_Release_x64/full/functions/0x1400e6080.c new file mode 100644 index 00000000..dd147f5a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6080.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6080 Unwind@1400e6080 + * Pseudocode, not original source. */ + +void Unwind_1400e6080(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6090.c b/decomp/Agent_Release_x64/full/functions/0x1400e6090.c new file mode 100644 index 00000000..52d4fdb2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6090.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6090 Unwind@1400e6090 + * Pseudocode, not original source. */ + +void Unwind_1400e6090(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e60a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e60a0.c new file mode 100644 index 00000000..0ed4c239 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e60a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e60a0 Unwind@1400e60a0 + * Pseudocode, not original source. */ + +void Unwind_1400e60a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e60b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e60b0.c new file mode 100644 index 00000000..1874f4bf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e60b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e60b0 Unwind@1400e60b0 + * Pseudocode, not original source. */ + +void Unwind_1400e60b0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e60c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e60c0.c new file mode 100644 index 00000000..626ae7ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e60c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e60c0 Unwind@1400e60c0 + * Pseudocode, not original source. */ + +void Unwind_1400e60c0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e60d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e60d0.c new file mode 100644 index 00000000..c270365a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e60d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e60d0 Unwind@1400e60d0 + * Pseudocode, not original source. */ + +void Unwind_1400e60d0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e60e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e60e0.c new file mode 100644 index 00000000..617a885e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e60e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e60e0 Unwind@1400e60e0 + * Pseudocode, not original source. */ + +void Unwind_1400e60e0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x180) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e60f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e60f0.c new file mode 100644 index 00000000..4405a6b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e60f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e60f0 Unwind@1400e60f0 + * Pseudocode, not original source. */ + +void Unwind_1400e60f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570(*(longlong **)(param_2 + 400),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6100.c b/decomp/Agent_Release_x64/full/functions/0x1400e6100.c new file mode 100644 index 00000000..f45153df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6100.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6100 Unwind@1400e6100 + * Pseudocode, not original source. */ + +void Unwind_1400e6100(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6110.c b/decomp/Agent_Release_x64/full/functions/0x1400e6110.c new file mode 100644 index 00000000..c2684b07 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6110.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6110 Unwind@1400e6110 + * Pseudocode, not original source. */ + +void Unwind_1400e6110(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6120.c b/decomp/Agent_Release_x64/full/functions/0x1400e6120.c new file mode 100644 index 00000000..f25c40cb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6120.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6120 Unwind@1400e6120 + * Pseudocode, not original source. */ + +void Unwind_1400e6120(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6130.c b/decomp/Agent_Release_x64/full/functions/0x1400e6130.c new file mode 100644 index 00000000..92c76510 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6130.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6130 Unwind@1400e6130 + * Pseudocode, not original source. */ + +void Unwind_1400e6130(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x30,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6140.c b/decomp/Agent_Release_x64/full/functions/0x1400e6140.c new file mode 100644 index 00000000..55ecd36e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6140.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6140 Unwind@1400e6140 + * Pseudocode, not original source. */ + +void Unwind_1400e6140(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x180)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6160.c b/decomp/Agent_Release_x64/full/functions/0x1400e6160.c new file mode 100644 index 00000000..87ac556e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6160 Unwind@1400e6160 + * Pseudocode, not original source. */ + +void Unwind_1400e6160(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6190.c b/decomp/Agent_Release_x64/full/functions/0x1400e6190.c new file mode 100644 index 00000000..5e53ba38 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6190.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6190 Unwind@1400e6190 + * Pseudocode, not original source. */ + +void Unwind_1400e6190(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x180),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e61a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e61a0.c new file mode 100644 index 00000000..6540a737 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e61a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e61a0 Unwind@1400e61a0 + * Pseudocode, not original source. */ + +void Unwind_1400e61a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e61b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e61b0.c new file mode 100644 index 00000000..21af4c60 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e61b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e61b0 Unwind@1400e61b0 + * Pseudocode, not original source. */ + +void Unwind_1400e61b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e61c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e61c0.c new file mode 100644 index 00000000..f03773f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e61c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e61c0 Unwind@1400e61c0 + * Pseudocode, not original source. */ + +void Unwind_1400e61c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e61d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e61d0.c new file mode 100644 index 00000000..059d4017 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e61d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e61d0 Unwind@1400e61d0 + * Pseudocode, not original source. */ + +void Unwind_1400e61d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e61e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e61e0.c new file mode 100644 index 00000000..71b95d39 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e61e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e61e0 Unwind@1400e61e0 + * Pseudocode, not original source. */ + +void Unwind_1400e61e0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e61f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e61f0.c new file mode 100644 index 00000000..ff4c3b1e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e61f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e61f0 Unwind@1400e61f0 + * Pseudocode, not original source. */ + +void Unwind_1400e61f0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6200.c b/decomp/Agent_Release_x64/full/functions/0x1400e6200.c new file mode 100644 index 00000000..846da228 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6200.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6200 Unwind@1400e6200 + * Pseudocode, not original source. */ + +void Unwind_1400e6200(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6210.c b/decomp/Agent_Release_x64/full/functions/0x1400e6210.c new file mode 100644 index 00000000..790a5727 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6210.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6210 Unwind@1400e6210 + * Pseudocode, not original source. */ + +void Unwind_1400e6210(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x180) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6220.c b/decomp/Agent_Release_x64/full/functions/0x1400e6220.c new file mode 100644 index 00000000..13018257 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6220.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6220 Unwind@1400e6220 + * Pseudocode, not original source. */ + +void Unwind_1400e6220(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6230.c b/decomp/Agent_Release_x64/full/functions/0x1400e6230.c new file mode 100644 index 00000000..99112fce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6230.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6230 Unwind@1400e6230 + * Pseudocode, not original source. */ + +void Unwind_1400e6230(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6240.c b/decomp/Agent_Release_x64/full/functions/0x1400e6240.c new file mode 100644 index 00000000..1f2c1de7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6240.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6240 Unwind@1400e6240 + * Pseudocode, not original source. */ + +void Unwind_1400e6240(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6250.c b/decomp/Agent_Release_x64/full/functions/0x1400e6250.c new file mode 100644 index 00000000..d17a4358 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6250.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6250 Unwind@1400e6250 + * Pseudocode, not original source. */ + +void Unwind_1400e6250(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x30,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6260.c b/decomp/Agent_Release_x64/full/functions/0x1400e6260.c new file mode 100644 index 00000000..5b3b75ce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6260.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6260 Unwind@1400e6260 + * Pseudocode, not original source. */ + +void Unwind_1400e6260(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x180)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6280.c b/decomp/Agent_Release_x64/full/functions/0x1400e6280.c new file mode 100644 index 00000000..7bb3e956 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6280.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6280 Unwind@1400e6280 + * Pseudocode, not original source. */ + +void Unwind_1400e6280(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e62b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e62b0.c new file mode 100644 index 00000000..f5abbd95 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e62b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e62b0 Unwind@1400e62b0 + * Pseudocode, not original source. */ + +void Unwind_1400e62b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x180),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e62c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e62c0.c new file mode 100644 index 00000000..ddca6e54 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e62c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e62c0 Unwind@1400e62c0 + * Pseudocode, not original source. */ + +void Unwind_1400e62c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e62d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e62d0.c new file mode 100644 index 00000000..20e8c372 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e62d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e62d0 Unwind@1400e62d0 + * Pseudocode, not original source. */ + +void Unwind_1400e62d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e62e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e62e0.c new file mode 100644 index 00000000..00911992 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e62e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e62e0 Unwind@1400e62e0 + * Pseudocode, not original source. */ + +void Unwind_1400e62e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e62f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e62f0.c new file mode 100644 index 00000000..44db140c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e62f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e62f0 Unwind@1400e62f0 + * Pseudocode, not original source. */ + +void Unwind_1400e62f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6300.c b/decomp/Agent_Release_x64/full/functions/0x1400e6300.c new file mode 100644 index 00000000..6ddc0366 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6300.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6300 Unwind@1400e6300 + * Pseudocode, not original source. */ + +void Unwind_1400e6300(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6310.c b/decomp/Agent_Release_x64/full/functions/0x1400e6310.c new file mode 100644 index 00000000..a75fd2ea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6310.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6310 Unwind@1400e6310 + * Pseudocode, not original source. */ + +void Unwind_1400e6310(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6320.c b/decomp/Agent_Release_x64/full/functions/0x1400e6320.c new file mode 100644 index 00000000..d269daec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6320.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6320 Unwind@1400e6320 + * Pseudocode, not original source. */ + +void Unwind_1400e6320(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6330.c b/decomp/Agent_Release_x64/full/functions/0x1400e6330.c new file mode 100644 index 00000000..ca2f82fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6330.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6330 Unwind@1400e6330 + * Pseudocode, not original source. */ + +void Unwind_1400e6330(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x180) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6340.c b/decomp/Agent_Release_x64/full/functions/0x1400e6340.c new file mode 100644 index 00000000..03460a50 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6340.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6340 Unwind@1400e6340 + * Pseudocode, not original source. */ + +void Unwind_1400e6340(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6350.c b/decomp/Agent_Release_x64/full/functions/0x1400e6350.c new file mode 100644 index 00000000..4df85bb5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6350.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6350 Unwind@1400e6350 + * Pseudocode, not original source. */ + +void Unwind_1400e6350(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6360.c b/decomp/Agent_Release_x64/full/functions/0x1400e6360.c new file mode 100644 index 00000000..f3bc656f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6360.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6360 Unwind@1400e6360 + * Pseudocode, not original source. */ + +void Unwind_1400e6360(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6370.c b/decomp/Agent_Release_x64/full/functions/0x1400e6370.c new file mode 100644 index 00000000..6e84bc89 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6370.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6370 Unwind@1400e6370 + * Pseudocode, not original source. */ + +void Unwind_1400e6370(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6380.c b/decomp/Agent_Release_x64/full/functions/0x1400e6380.c new file mode 100644 index 00000000..56689341 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6380.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6380 Unwind@1400e6380 + * Pseudocode, not original source. */ + +void Unwind_1400e6380(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6390.c b/decomp/Agent_Release_x64/full/functions/0x1400e6390.c new file mode 100644 index 00000000..b4b1873c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6390.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6390 Unwind@1400e6390 + * Pseudocode, not original source. */ + +void Unwind_1400e6390(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e63a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e63a0.c new file mode 100644 index 00000000..443e58ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e63a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e63a0 Unwind@1400e63a0 + * Pseudocode, not original source. */ + +void Unwind_1400e63a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x100)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e63b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e63b0.c new file mode 100644 index 00000000..1443d7c6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e63b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e63b0 Unwind@1400e63b0 + * Pseudocode, not original source. */ + +void Unwind_1400e63b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e63c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e63c0.c new file mode 100644 index 00000000..949312dd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e63c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e63c0 Unwind@1400e63c0 + * Pseudocode, not original source. */ + +void Unwind_1400e63c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e63d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e63d0.c new file mode 100644 index 00000000..117d533b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e63d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e63d0 Unwind@1400e63d0 + * Pseudocode, not original source. */ + +void Unwind_1400e63d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e63e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e63e0.c new file mode 100644 index 00000000..1529c9ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e63e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e63e0 Unwind@1400e63e0 + * Pseudocode, not original source. */ + +void Unwind_1400e63e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e63f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e63f0.c new file mode 100644 index 00000000..c900ccc9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e63f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e63f0 Unwind@1400e63f0 + * Pseudocode, not original source. */ + +void Unwind_1400e63f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6400.c b/decomp/Agent_Release_x64/full/functions/0x1400e6400.c new file mode 100644 index 00000000..bfbc7868 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6400.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6400 Unwind@1400e6400 + * Pseudocode, not original source. */ + +void Unwind_1400e6400(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xc0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6410.c b/decomp/Agent_Release_x64/full/functions/0x1400e6410.c new file mode 100644 index 00000000..352ac036 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6410.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6410 Unwind@1400e6410 + * Pseudocode, not original source. */ + +void Unwind_1400e6410(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x68),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6420.c b/decomp/Agent_Release_x64/full/functions/0x1400e6420.c new file mode 100644 index 00000000..557775b9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6420.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6420 Unwind@1400e6420 + * Pseudocode, not original source. */ + +void Unwind_1400e6420(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6430.c b/decomp/Agent_Release_x64/full/functions/0x1400e6430.c new file mode 100644 index 00000000..1f9719e8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6430.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6430 Unwind@1400e6430 + * Pseudocode, not original source. */ + +void Unwind_1400e6430(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6440.c b/decomp/Agent_Release_x64/full/functions/0x1400e6440.c new file mode 100644 index 00000000..e5e7c004 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6440.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6440 Unwind@1400e6440 + * Pseudocode, not original source. */ + +void Unwind_1400e6440(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xf0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6450.c b/decomp/Agent_Release_x64/full/functions/0x1400e6450.c new file mode 100644 index 00000000..34af3f0a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6450.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6450 Unwind@1400e6450 + * Pseudocode, not original source. */ + +void Unwind_1400e6450(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6460.c b/decomp/Agent_Release_x64/full/functions/0x1400e6460.c new file mode 100644 index 00000000..30ec6aad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6460.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6460 Unwind@1400e6460 + * Pseudocode, not original source. */ + +void Unwind_1400e6460(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400a1e80(param_2 + 0x50,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6470.c b/decomp/Agent_Release_x64/full/functions/0x1400e6470.c new file mode 100644 index 00000000..014f526e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6470.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6470 Unwind@1400e6470 + * Pseudocode, not original source. */ + +void Unwind_1400e6470(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0xd8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6480.c b/decomp/Agent_Release_x64/full/functions/0x1400e6480.c new file mode 100644 index 00000000..c870ce18 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6480.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6480 Unwind@1400e6480 + * Pseudocode, not original source. */ + +void Unwind_1400e6480(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0xe8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6490.c b/decomp/Agent_Release_x64/full/functions/0x1400e6490.c new file mode 100644 index 00000000..2093f001 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6490.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6490 Unwind@1400e6490 + * Pseudocode, not original source. */ + +void Unwind_1400e6490(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0xd0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e64a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e64a0.c new file mode 100644 index 00000000..5dd1bb61 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e64a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e64a0 Unwind@1400e64a0 + * Pseudocode, not original source. */ + +void Unwind_1400e64a0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x2c8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e64c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e64c0.c new file mode 100644 index 00000000..9f33ad2e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e64c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e64c0 Unwind@1400e64c0 + * Pseudocode, not original source. */ + +void Unwind_1400e64c0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e64f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e64f0.c new file mode 100644 index 00000000..629ab519 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e64f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e64f0 Unwind@1400e64f0 + * Pseudocode, not original source. */ + +void Unwind_1400e64f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x2c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6500.c b/decomp/Agent_Release_x64/full/functions/0x1400e6500.c new file mode 100644 index 00000000..a6286e28 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6500.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6500 Unwind@1400e6500 + * Pseudocode, not original source. */ + +void Unwind_1400e6500(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6510.c b/decomp/Agent_Release_x64/full/functions/0x1400e6510.c new file mode 100644 index 00000000..29a91d1c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6510.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6510 Unwind@1400e6510 + * Pseudocode, not original source. */ + +void Unwind_1400e6510(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6520.c b/decomp/Agent_Release_x64/full/functions/0x1400e6520.c new file mode 100644 index 00000000..51559131 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6520.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6520 Unwind@1400e6520 + * Pseudocode, not original source. */ + +void Unwind_1400e6520(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xa8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6530.c b/decomp/Agent_Release_x64/full/functions/0x1400e6530.c new file mode 100644 index 00000000..5ea15bca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6530.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6530 Unwind@1400e6530 + * Pseudocode, not original source. */ + +void Unwind_1400e6530(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x2c0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6540.c b/decomp/Agent_Release_x64/full/functions/0x1400e6540.c new file mode 100644 index 00000000..2e1e72ce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6540.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6540 Unwind@1400e6540 + * Pseudocode, not original source. */ + +void Unwind_1400e6540(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x208)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6550.c b/decomp/Agent_Release_x64/full/functions/0x1400e6550.c new file mode 100644 index 00000000..aa358708 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6550.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6550 Unwind@1400e6550 + * Pseudocode, not original source. */ + +void Unwind_1400e6550(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x1c0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6560.c b/decomp/Agent_Release_x64/full/functions/0x1400e6560.c new file mode 100644 index 00000000..22bba220 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6560.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6560 Unwind@1400e6560 + * Pseudocode, not original source. */ + +void Unwind_1400e6560(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6570.c b/decomp/Agent_Release_x64/full/functions/0x1400e6570.c new file mode 100644 index 00000000..e79012a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6570.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6570 Unwind@1400e6570 + * Pseudocode, not original source. */ + +void Unwind_1400e6570(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 200),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6580.c b/decomp/Agent_Release_x64/full/functions/0x1400e6580.c new file mode 100644 index 00000000..7186cfed --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6580.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6580 Unwind@1400e6580 + * Pseudocode, not original source. */ + +void Unwind_1400e6580(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xa0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6590.c b/decomp/Agent_Release_x64/full/functions/0x1400e6590.c new file mode 100644 index 00000000..430bc842 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6590.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6590 Unwind@1400e6590 + * Pseudocode, not original source. */ + +void Unwind_1400e6590(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x228)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e65a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e65a0.c new file mode 100644 index 00000000..7c9e1c89 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e65a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e65a0 Unwind@1400e65a0 + * Pseudocode, not original source. */ + +void Unwind_1400e65a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x1d0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e65b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e65b0.c new file mode 100644 index 00000000..632fb9ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e65b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e65b0 Unwind@1400e65b0 + * Pseudocode, not original source. */ + +void Unwind_1400e65b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x1e0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e65c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e65c0.c new file mode 100644 index 00000000..4a7faed2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e65c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e65c0 Unwind@1400e65c0 + * Pseudocode, not original source. */ + +void Unwind_1400e65c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x1f8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e65d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e65d0.c new file mode 100644 index 00000000..420e56aa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e65d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e65d0 Unwind@1400e65d0 + * Pseudocode, not original source. */ + +void Unwind_1400e65d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x218)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e65e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e65e0.c new file mode 100644 index 00000000..e28725fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e65e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e65e0 Unwind@1400e65e0 + * Pseudocode, not original source. */ + +void Unwind_1400e65e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0xd8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e65f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e65f0.c new file mode 100644 index 00000000..1be780e9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e65f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e65f0 Unwind@1400e65f0 + * Pseudocode, not original source. */ + +void Unwind_1400e65f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0xe8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6600.c b/decomp/Agent_Release_x64/full/functions/0x1400e6600.c new file mode 100644 index 00000000..fbca17e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6600.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6600 Unwind@1400e6600 + * Pseudocode, not original source. */ + +void Unwind_1400e6600(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(param_2 + 0xf0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6610.c b/decomp/Agent_Release_x64/full/functions/0x1400e6610.c new file mode 100644 index 00000000..8b50598d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6610.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6610 Unwind@1400e6610 + * Pseudocode, not original source. */ + +void Unwind_1400e6610(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xf8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6620.c b/decomp/Agent_Release_x64/full/functions/0x1400e6620.c new file mode 100644 index 00000000..c233a23c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6620.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6620 Unwind@1400e6620 + * Pseudocode, not original source. */ + +void Unwind_1400e6620(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6630.c b/decomp/Agent_Release_x64/full/functions/0x1400e6630.c new file mode 100644 index 00000000..ff9724ed --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6630.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6630 Unwind@1400e6630 + * Pseudocode, not original source. */ + +void Unwind_1400e6630(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x148)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6640.c b/decomp/Agent_Release_x64/full/functions/0x1400e6640.c new file mode 100644 index 00000000..2ef56503 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6640.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6640 Unwind@1400e6640 + * Pseudocode, not original source. */ + +void Unwind_1400e6640(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x2b0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6650.c b/decomp/Agent_Release_x64/full/functions/0x1400e6650.c new file mode 100644 index 00000000..e3dfd8c1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6650.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6650 Unwind@1400e6650 + * Pseudocode, not original source. */ + +void Unwind_1400e6650(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6660.c b/decomp/Agent_Release_x64/full/functions/0x1400e6660.c new file mode 100644 index 00000000..4e5793a7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6660.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6660 Unwind@1400e6660 + * Pseudocode, not original source. */ + +void Unwind_1400e6660(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6670.c b/decomp/Agent_Release_x64/full/functions/0x1400e6670.c new file mode 100644 index 00000000..8b85c4a9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6670.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6670 Unwind@1400e6670 + * Pseudocode, not original source. */ + +void Unwind_1400e6670(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x30,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6680.c b/decomp/Agent_Release_x64/full/functions/0x1400e6680.c new file mode 100644 index 00000000..b20b629b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6680.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6680 Unwind@1400e6680 + * Pseudocode, not original source. */ + +void Unwind_1400e6680(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x178)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e66a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e66a0.c new file mode 100644 index 00000000..c44863cb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e66a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e66a0 Unwind@1400e66a0 + * Pseudocode, not original source. */ + +void Unwind_1400e66a0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e66c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e66c0.c new file mode 100644 index 00000000..adc285aa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e66c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e66c0 Unwind@1400e66c0 + * Pseudocode, not original source. */ + +void Unwind_1400e66c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x178),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e66d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e66d0.c new file mode 100644 index 00000000..376faa7e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e66d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e66d0 Unwind@1400e66d0 + * Pseudocode, not original source. */ + +void Unwind_1400e66d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e66e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e66e0.c new file mode 100644 index 00000000..68323408 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e66e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e66e0 Unwind@1400e66e0 + * Pseudocode, not original source. */ + +void Unwind_1400e66e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e66f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e66f0.c new file mode 100644 index 00000000..6e74ce87 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e66f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e66f0 Unwind@1400e66f0 + * Pseudocode, not original source. */ + +void Unwind_1400e66f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6700.c b/decomp/Agent_Release_x64/full/functions/0x1400e6700.c new file mode 100644 index 00000000..96401eb0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6700.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6700 Unwind@1400e6700 + * Pseudocode, not original source. */ + +void Unwind_1400e6700(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6710.c b/decomp/Agent_Release_x64/full/functions/0x1400e6710.c new file mode 100644 index 00000000..e045cb8f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6710.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6710 Unwind@1400e6710 + * Pseudocode, not original source. */ + +void Unwind_1400e6710(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6720.c b/decomp/Agent_Release_x64/full/functions/0x1400e6720.c new file mode 100644 index 00000000..a7393024 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6720.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6720 Unwind@1400e6720 + * Pseudocode, not original source. */ + +void Unwind_1400e6720(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6730.c b/decomp/Agent_Release_x64/full/functions/0x1400e6730.c new file mode 100644 index 00000000..3ef4cf44 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6730.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6730 Unwind@1400e6730 + * Pseudocode, not original source. */ + +void Unwind_1400e6730(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6740.c b/decomp/Agent_Release_x64/full/functions/0x1400e6740.c new file mode 100644 index 00000000..39ae336d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6740.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6740 Unwind@1400e6740 + * Pseudocode, not original source. */ + +void Unwind_1400e6740(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x178) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6750.c b/decomp/Agent_Release_x64/full/functions/0x1400e6750.c new file mode 100644 index 00000000..3f556397 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6750.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6750 Unwind@1400e6750 + * Pseudocode, not original source. */ + +void Unwind_1400e6750(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6760.c b/decomp/Agent_Release_x64/full/functions/0x1400e6760.c new file mode 100644 index 00000000..72c6ac9b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6760.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6760 Unwind@1400e6760 + * Pseudocode, not original source. */ + +void Unwind_1400e6760(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6770.c b/decomp/Agent_Release_x64/full/functions/0x1400e6770.c new file mode 100644 index 00000000..d8bed762 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6770.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6770 Unwind@1400e6770 + * Pseudocode, not original source. */ + +void Unwind_1400e6770(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180(*(longlong **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6780.c b/decomp/Agent_Release_x64/full/functions/0x1400e6780.c new file mode 100644 index 00000000..ad995cc5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6780.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6780 Unwind@1400e6780 + * Pseudocode, not original source. */ + +void Unwind_1400e6780(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x48) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6790.c b/decomp/Agent_Release_x64/full/functions/0x1400e6790.c new file mode 100644 index 00000000..bfb00ea3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6790.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6790 Unwind@1400e6790 + * Pseudocode, not original source. */ + +void Unwind_1400e6790(undefined8 param_1,longlong param_2) + +{ + FUN_140080e10((undefined8 *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e67a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e67a0.c new file mode 100644 index 00000000..59d797c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e67a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e67a0 Unwind@1400e67a0 + * Pseudocode, not original source. */ + +void Unwind_1400e67a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e67b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e67b0.c new file mode 100644 index 00000000..8c77f84c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e67b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e67b0 Unwind@1400e67b0 + * Pseudocode, not original source. */ + +void Unwind_1400e67b0(undefined8 param_1,longlong param_2) + +{ + FUN_140080e20((undefined8 *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e67c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e67c0.c new file mode 100644 index 00000000..249095a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e67c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e67c0 Unwind@1400e67c0 + * Pseudocode, not original source. */ + +void Unwind_1400e67c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e67d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e67d0.c new file mode 100644 index 00000000..4c6676e9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e67d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e67d0 Unwind@1400e67d0 + * Pseudocode, not original source. */ + +void Unwind_1400e67d0(undefined8 param_1,longlong param_2) + +{ + FUN_14008ebf0((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e67e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e67e0.c new file mode 100644 index 00000000..49a78eb0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e67e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e67e0 Unwind@1400e67e0 + * Pseudocode, not original source. */ + +void Unwind_1400e67e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e67f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e67f0.c new file mode 100644 index 00000000..14edc8c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e67f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e67f0 Unwind@1400e67f0 + * Pseudocode, not original source. */ + +void Unwind_1400e67f0(undefined8 param_1,longlong param_2) + +{ + FUN_140080e20((undefined8 *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6800.c b/decomp/Agent_Release_x64/full/functions/0x1400e6800.c new file mode 100644 index 00000000..adf697ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6800.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6800 Unwind@1400e6800 + * Pseudocode, not original source. */ + +void Unwind_1400e6800(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6810.c b/decomp/Agent_Release_x64/full/functions/0x1400e6810.c new file mode 100644 index 00000000..5924fef1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6810.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6810 Unwind@1400e6810 + * Pseudocode, not original source. */ + +void Unwind_1400e6810(undefined8 param_1,longlong param_2) + +{ + FUN_140080e10((undefined8 *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6820.c b/decomp/Agent_Release_x64/full/functions/0x1400e6820.c new file mode 100644 index 00000000..a465fcbb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6820.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6820 Unwind@1400e6820 + * Pseudocode, not original source. */ + +void Unwind_1400e6820(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6830.c b/decomp/Agent_Release_x64/full/functions/0x1400e6830.c new file mode 100644 index 00000000..d38fe2e3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6830.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6830 Unwind@1400e6830 + * Pseudocode, not original source. */ + +void Unwind_1400e6830(undefined8 param_1,longlong param_2) + +{ + FUN_14002a580((undefined8 *)(param_2 + 0xa0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6840.c b/decomp/Agent_Release_x64/full/functions/0x1400e6840.c new file mode 100644 index 00000000..49bf6ef2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6840.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6840 Unwind@1400e6840 + * Pseudocode, not original source. */ + +void Unwind_1400e6840(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6850.c b/decomp/Agent_Release_x64/full/functions/0x1400e6850.c new file mode 100644 index 00000000..79c08307 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6850.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6850 Unwind@1400e6850 + * Pseudocode, not original source. */ + +void Unwind_1400e6850(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020(*(longlong **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6860.c b/decomp/Agent_Release_x64/full/functions/0x1400e6860.c new file mode 100644 index 00000000..5c1f38f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6860.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6860 Unwind@1400e6860 + * Pseudocode, not original source. */ + +void Unwind_1400e6860(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0xa0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6870.c b/decomp/Agent_Release_x64/full/functions/0x1400e6870.c new file mode 100644 index 00000000..ba3cb785 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6870.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6870 Unwind@1400e6870 + * Pseudocode, not original source. */ + +void Unwind_1400e6870(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0xa0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6880.c b/decomp/Agent_Release_x64/full/functions/0x1400e6880.c new file mode 100644 index 00000000..ce21e461 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6880.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6880 Unwind@1400e6880 + * Pseudocode, not original source. */ + +void Unwind_1400e6880(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xde0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6890.c b/decomp/Agent_Release_x64/full/functions/0x1400e6890.c new file mode 100644 index 00000000..bd933f21 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6890.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6890 Unwind@1400e6890 + * Pseudocode, not original source. */ + +void Unwind_1400e6890(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xdd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e68b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e68b0.c new file mode 100644 index 00000000..1bc8cfb6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e68b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e68b0 Unwind@1400e68b0 + * Pseudocode, not original source. */ + +void Unwind_1400e68b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x150,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e68c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e68c0.c new file mode 100644 index 00000000..b116377b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e68c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e68c0 Unwind@1400e68c0 + * Pseudocode, not original source. */ + +void Unwind_1400e68c0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xdd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e68e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e68e0.c new file mode 100644 index 00000000..d0551333 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e68e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e68e0 Unwind@1400e68e0 + * Pseudocode, not original source. */ + +void Unwind_1400e68e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x150,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e68f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e68f0.c new file mode 100644 index 00000000..0d2e0272 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e68f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e68f0 Unwind@1400e68f0 + * Pseudocode, not original source. */ + +void Unwind_1400e68f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xdd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6910.c b/decomp/Agent_Release_x64/full/functions/0x1400e6910.c new file mode 100644 index 00000000..d47752de --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6910.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6910 Unwind@1400e6910 + * Pseudocode, not original source. */ + +void Unwind_1400e6910(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x1a60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6930.c b/decomp/Agent_Release_x64/full/functions/0x1400e6930.c new file mode 100644 index 00000000..ba2b4112 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6930.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6930 Unwind@1400e6930 + * Pseudocode, not original source. */ + +void Unwind_1400e6930(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6940.c b/decomp/Agent_Release_x64/full/functions/0x1400e6940.c new file mode 100644 index 00000000..3df3d1a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6940.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6940 Unwind@1400e6940 + * Pseudocode, not original source. */ + +void Unwind_1400e6940(undefined8 param_1,longlong param_2) + +{ + FUN_14003c6c0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6950.c b/decomp/Agent_Release_x64/full/functions/0x1400e6950.c new file mode 100644 index 00000000..c1d841f8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6950.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6950 Unwind@1400e6950 + * Pseudocode, not original source. */ + +void Unwind_1400e6950(undefined8 param_1,longlong param_2) + +{ + FUN_140082450((undefined8 *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6960.c b/decomp/Agent_Release_x64/full/functions/0x1400e6960.c new file mode 100644 index 00000000..a1c797df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6960.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6960 Unwind@1400e6960 + * Pseudocode, not original source. */ + +void Unwind_1400e6960(undefined8 param_1,longlong param_2) + +{ + FUN_140082490((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6970.c b/decomp/Agent_Release_x64/full/functions/0x1400e6970.c new file mode 100644 index 00000000..5d7b81a9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6970.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6970 Unwind@1400e6970 + * Pseudocode, not original source. */ + +void Unwind_1400e6970(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0xb0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6980.c b/decomp/Agent_Release_x64/full/functions/0x1400e6980.c new file mode 100644 index 00000000..9c65cddc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6980.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6980 Unwind@1400e6980 + * Pseudocode, not original source. */ + +void Unwind_1400e6980(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0xb0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6990.c b/decomp/Agent_Release_x64/full/functions/0x1400e6990.c new file mode 100644 index 00000000..5def3976 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6990.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6990 Unwind@1400e6990 + * Pseudocode, not original source. */ + +void Unwind_1400e6990(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x160,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e69a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e69a0.c new file mode 100644 index 00000000..8cbeffed --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e69a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e69a0 Unwind@1400e69a0 + * Pseudocode, not original source. */ + +void Unwind_1400e69a0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x1a70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e69c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e69c0.c new file mode 100644 index 00000000..a3d10b48 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e69c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e69c0 Unwind@1400e69c0 + * Pseudocode, not original source. */ + +void Unwind_1400e69c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xdf0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e69d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e69d0.c new file mode 100644 index 00000000..7d033452 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e69d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e69d0 Unwind@1400e69d0 + * Pseudocode, not original source. */ + +void Unwind_1400e69d0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x1a70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e69f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e69f0.c new file mode 100644 index 00000000..9d2a3c1e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e69f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e69f0 Unwind@1400e69f0 + * Pseudocode, not original source. */ + +void Unwind_1400e69f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xde0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6a10.c b/decomp/Agent_Release_x64/full/functions/0x1400e6a10.c new file mode 100644 index 00000000..3f386b0c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6a10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6a10 Unwind@1400e6a10 + * Pseudocode, not original source. */ + +void Unwind_1400e6a10(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6a20.c b/decomp/Agent_Release_x64/full/functions/0x1400e6a20.c new file mode 100644 index 00000000..a54a71ce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6a20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6a20 Unwind@1400e6a20 + * Pseudocode, not original source. */ + +void Unwind_1400e6a20(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570(*(longlong **)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6a30.c b/decomp/Agent_Release_x64/full/functions/0x1400e6a30.c new file mode 100644 index 00000000..ee819a8f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6a30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6a30 Unwind@1400e6a30 + * Pseudocode, not original source. */ + +void Unwind_1400e6a30(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x118)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6a40.c b/decomp/Agent_Release_x64/full/functions/0x1400e6a40.c new file mode 100644 index 00000000..4e10bb3c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6a40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6a40 Unwind@1400e6a40 + * Pseudocode, not original source. */ + +void Unwind_1400e6a40(undefined8 param_1,longlong param_2) + +{ + FUN_14003dfd0((undefined8 *)(param_2 + 0x230)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6a50.c b/decomp/Agent_Release_x64/full/functions/0x1400e6a50.c new file mode 100644 index 00000000..8fb9c20e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6a50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6a50 Unwind@1400e6a50 + * Pseudocode, not original source. */ + +void Unwind_1400e6a50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6a60.c b/decomp/Agent_Release_x64/full/functions/0x1400e6a60.c new file mode 100644 index 00000000..2a35ad76 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6a60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6a60 Unwind@1400e6a60 + * Pseudocode, not original source. */ + +void Unwind_1400e6a60(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x138)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6a70.c b/decomp/Agent_Release_x64/full/functions/0x1400e6a70.c new file mode 100644 index 00000000..dbc5003c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6a70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6a70 Unwind@1400e6a70 + * Pseudocode, not original source. */ + +void Unwind_1400e6a70(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0xc0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6a80.c b/decomp/Agent_Release_x64/full/functions/0x1400e6a80.c new file mode 100644 index 00000000..d3c67b67 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6a80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6a80 Unwind@1400e6a80 + * Pseudocode, not original source. */ + +void Unwind_1400e6a80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6a90.c b/decomp/Agent_Release_x64/full/functions/0x1400e6a90.c new file mode 100644 index 00000000..cd63d15a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6a90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6a90 Unwind@1400e6a90 + * Pseudocode, not original source. */ + +void Unwind_1400e6a90(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6aa0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6aa0.c new file mode 100644 index 00000000..7792faf1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6aa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6aa0 Unwind@1400e6aa0 + * Pseudocode, not original source. */ + +void Unwind_1400e6aa0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6ab0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6ab0.c new file mode 100644 index 00000000..456b430b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6ab0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6ab0 Unwind@1400e6ab0 + * Pseudocode, not original source. */ + +void Unwind_1400e6ab0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xe8) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6ac0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6ac0.c new file mode 100644 index 00000000..67fc1535 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6ac0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6ac0 Unwind@1400e6ac0 + * Pseudocode, not original source. */ + +void Unwind_1400e6ac0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6ad0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6ad0.c new file mode 100644 index 00000000..08d74130 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6ad0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6ad0 Unwind@1400e6ad0 + * Pseudocode, not original source. */ + +void Unwind_1400e6ad0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0xf0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6ae0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6ae0.c new file mode 100644 index 00000000..56929773 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6ae0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6ae0 Unwind@1400e6ae0 + * Pseudocode, not original source. */ + +void Unwind_1400e6ae0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x180); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6af0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6af0.c new file mode 100644 index 00000000..dd3724ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6af0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6af0 Unwind@1400e6af0 + * Pseudocode, not original source. */ + +void Unwind_1400e6af0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x180); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6b00.c b/decomp/Agent_Release_x64/full/functions/0x1400e6b00.c new file mode 100644 index 00000000..ed19beb6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6b00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6b00 Unwind@1400e6b00 + * Pseudocode, not original source. */ + +void Unwind_1400e6b00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x1070,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6b10.c b/decomp/Agent_Release_x64/full/functions/0x1400e6b10.c new file mode 100644 index 00000000..4ff974b4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6b10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6b10 Unwind@1400e6b10 + * Pseudocode, not original source. */ + +void Unwind_1400e6b10(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x1060)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6b30.c b/decomp/Agent_Release_x64/full/functions/0x1400e6b30.c new file mode 100644 index 00000000..e25aebd5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6b30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6b30 Unwind@1400e6b30 + * Pseudocode, not original source. */ + +void Unwind_1400e6b30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x3e0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6b40.c b/decomp/Agent_Release_x64/full/functions/0x1400e6b40.c new file mode 100644 index 00000000..d0e1bc36 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6b40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6b40 Unwind@1400e6b40 + * Pseudocode, not original source. */ + +void Unwind_1400e6b40(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x1060)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6b60.c b/decomp/Agent_Release_x64/full/functions/0x1400e6b60.c new file mode 100644 index 00000000..1514de44 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6b60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6b60 Unwind@1400e6b60 + * Pseudocode, not original source. */ + +void Unwind_1400e6b60(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x1060)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6b80.c b/decomp/Agent_Release_x64/full/functions/0x1400e6b80.c new file mode 100644 index 00000000..c2cca2a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6b80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6b80 Unwind@1400e6b80 + * Pseudocode, not original source. */ + +void Unwind_1400e6b80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x3e0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6b90.c b/decomp/Agent_Release_x64/full/functions/0x1400e6b90.c new file mode 100644 index 00000000..aa816258 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6b90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6b90 Unwind@1400e6b90 + * Pseudocode, not original source. */ + +void Unwind_1400e6b90(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x1060)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6bb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6bb0.c new file mode 100644 index 00000000..bdae59eb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6bb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6bb0 Unwind@1400e6bb0 + * Pseudocode, not original source. */ + +void Unwind_1400e6bb0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x1cf0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6bd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6bd0.c new file mode 100644 index 00000000..43bbb4df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6bd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6bd0 Unwind@1400e6bd0 + * Pseudocode, not original source. */ + +void Unwind_1400e6bd0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x48) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6be0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6be0.c new file mode 100644 index 00000000..ea0cd63a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6be0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6be0 Unwind@1400e6be0 + * Pseudocode, not original source. */ + +void Unwind_1400e6be0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6bf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6bf0.c new file mode 100644 index 00000000..2d657329 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6bf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6bf0 Unwind@1400e6bf0 + * Pseudocode, not original source. */ + +void Unwind_1400e6bf0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6c00.c b/decomp/Agent_Release_x64/full/functions/0x1400e6c00.c new file mode 100644 index 00000000..752ff244 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6c00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6c00 Unwind@1400e6c00 + * Pseudocode, not original source. */ + +void Unwind_1400e6c00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x128)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6c10.c b/decomp/Agent_Release_x64/full/functions/0x1400e6c10.c new file mode 100644 index 00000000..af42c2e9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6c10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6c10 Unwind@1400e6c10 + * Pseudocode, not original source. */ + +void Unwind_1400e6c10(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x48) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6c20.c b/decomp/Agent_Release_x64/full/functions/0x1400e6c20.c new file mode 100644 index 00000000..5ddf68af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6c20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6c20 Unwind@1400e6c20 + * Pseudocode, not original source. */ + +void Unwind_1400e6c20(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x48) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6c30.c b/decomp/Agent_Release_x64/full/functions/0x1400e6c30.c new file mode 100644 index 00000000..c56d5c0d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6c30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6c30 Unwind@1400e6c30 + * Pseudocode, not original source. */ + +void Unwind_1400e6c30(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6c40.c b/decomp/Agent_Release_x64/full/functions/0x1400e6c40.c new file mode 100644 index 00000000..74fdf7b6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6c40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6c40 Unwind@1400e6c40 + * Pseudocode, not original source. */ + +void Unwind_1400e6c40(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6c50.c b/decomp/Agent_Release_x64/full/functions/0x1400e6c50.c new file mode 100644 index 00000000..71b6c614 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6c50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6c50 Unwind@1400e6c50 + * Pseudocode, not original source. */ + +void Unwind_1400e6c50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6c60.c b/decomp/Agent_Release_x64/full/functions/0x1400e6c60.c new file mode 100644 index 00000000..8d37e927 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6c60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6c60 Unwind@1400e6c60 + * Pseudocode, not original source. */ + +void Unwind_1400e6c60(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6c70.c b/decomp/Agent_Release_x64/full/functions/0x1400e6c70.c new file mode 100644 index 00000000..2450dd0a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6c70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6c70 Unwind@1400e6c70 + * Pseudocode, not original source. */ + +void Unwind_1400e6c70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6c80.c b/decomp/Agent_Release_x64/full/functions/0x1400e6c80.c new file mode 100644 index 00000000..5248dbb8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6c80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6c80 Unwind@1400e6c80 + * Pseudocode, not original source. */ + +void Unwind_1400e6c80(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6c90.c b/decomp/Agent_Release_x64/full/functions/0x1400e6c90.c new file mode 100644 index 00000000..e93924fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6c90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6c90 Unwind@1400e6c90 + * Pseudocode, not original source. */ + +void Unwind_1400e6c90(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6ca0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6ca0.c new file mode 100644 index 00000000..7b1c419d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6ca0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6ca0 Unwind@1400e6ca0 + * Pseudocode, not original source. */ + +void Unwind_1400e6ca0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6cb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6cb0.c new file mode 100644 index 00000000..627cc49c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6cb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6cb0 Unwind@1400e6cb0 + * Pseudocode, not original source. */ + +void Unwind_1400e6cb0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6cc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6cc0.c new file mode 100644 index 00000000..fa874846 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6cc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6cc0 Unwind@1400e6cc0 + * Pseudocode, not original source. */ + +void Unwind_1400e6cc0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6cd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6cd0.c new file mode 100644 index 00000000..1df75411 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6cd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6cd0 Unwind@1400e6cd0 + * Pseudocode, not original source. */ + +void Unwind_1400e6cd0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6ce0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6ce0.c new file mode 100644 index 00000000..288e3890 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6ce0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6ce0 Unwind@1400e6ce0 + * Pseudocode, not original source. */ + +void Unwind_1400e6ce0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6cf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6cf0.c new file mode 100644 index 00000000..a9af25ef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6cf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6cf0 Unwind@1400e6cf0 + * Pseudocode, not original source. */ + +void Unwind_1400e6cf0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6d00.c b/decomp/Agent_Release_x64/full/functions/0x1400e6d00.c new file mode 100644 index 00000000..f29d7448 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6d00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6d00 Unwind@1400e6d00 + * Pseudocode, not original source. */ + +void Unwind_1400e6d00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6d10.c b/decomp/Agent_Release_x64/full/functions/0x1400e6d10.c new file mode 100644 index 00000000..84a06c81 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6d10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6d10 Unwind@1400e6d10 + * Pseudocode, not original source. */ + +void Unwind_1400e6d10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6d20.c b/decomp/Agent_Release_x64/full/functions/0x1400e6d20.c new file mode 100644 index 00000000..3af6f86c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6d20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6d20 Unwind@1400e6d20 + * Pseudocode, not original source. */ + +void Unwind_1400e6d20(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6d30.c b/decomp/Agent_Release_x64/full/functions/0x1400e6d30.c new file mode 100644 index 00000000..bfae521f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6d30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6d30 Unwind@1400e6d30 + * Pseudocode, not original source. */ + +void Unwind_1400e6d30(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6d40.c b/decomp/Agent_Release_x64/full/functions/0x1400e6d40.c new file mode 100644 index 00000000..603ecac4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6d40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6d40 Unwind@1400e6d40 + * Pseudocode, not original source. */ + +void Unwind_1400e6d40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6d50.c b/decomp/Agent_Release_x64/full/functions/0x1400e6d50.c new file mode 100644 index 00000000..b512980b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6d50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6d50 Unwind@1400e6d50 + * Pseudocode, not original source. */ + +void Unwind_1400e6d50(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6d60.c b/decomp/Agent_Release_x64/full/functions/0x1400e6d60.c new file mode 100644 index 00000000..9cab8b56 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6d60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6d60 Unwind@1400e6d60 + * Pseudocode, not original source. */ + +void Unwind_1400e6d60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6d70.c b/decomp/Agent_Release_x64/full/functions/0x1400e6d70.c new file mode 100644 index 00000000..396517be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6d70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6d70 Unwind@1400e6d70 + * Pseudocode, not original source. */ + +void Unwind_1400e6d70(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6d80.c b/decomp/Agent_Release_x64/full/functions/0x1400e6d80.c new file mode 100644 index 00000000..e5b67e92 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6d80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6d80 Unwind@1400e6d80 + * Pseudocode, not original source. */ + +void Unwind_1400e6d80(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6d90.c b/decomp/Agent_Release_x64/full/functions/0x1400e6d90.c new file mode 100644 index 00000000..af3bd0d6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6d90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6d90 Unwind@1400e6d90 + * Pseudocode, not original source. */ + +void Unwind_1400e6d90(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6da0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6da0.c new file mode 100644 index 00000000..c4d12bb0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6da0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6da0 Unwind@1400e6da0 + * Pseudocode, not original source. */ + +void Unwind_1400e6da0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6db0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6db0.c new file mode 100644 index 00000000..8732e54d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6db0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6db0 Unwind@1400e6db0 + * Pseudocode, not original source. */ + +void Unwind_1400e6db0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x70); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6dc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6dc0.c new file mode 100644 index 00000000..43c754f9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6dc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6dc0 Unwind@1400e6dc0 + * Pseudocode, not original source. */ + +void Unwind_1400e6dc0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x48); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6dd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6dd0.c new file mode 100644 index 00000000..c71ac990 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6dd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6dd0 Unwind@1400e6dd0 + * Pseudocode, not original source. */ + +void Unwind_1400e6dd0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xa8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6de0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6de0.c new file mode 100644 index 00000000..4351e69d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6de0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6de0 Unwind@1400e6de0 + * Pseudocode, not original source. */ + +void Unwind_1400e6de0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6df0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6df0.c new file mode 100644 index 00000000..91d271cd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6df0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6df0 Unwind@1400e6df0 + * Pseudocode, not original source. */ + +void Unwind_1400e6df0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xc0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6e00.c b/decomp/Agent_Release_x64/full/functions/0x1400e6e00.c new file mode 100644 index 00000000..993c42cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6e00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6e00 Unwind@1400e6e00 + * Pseudocode, not original source. */ + +void Unwind_1400e6e00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6e10.c b/decomp/Agent_Release_x64/full/functions/0x1400e6e10.c new file mode 100644 index 00000000..5d638ce8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6e10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6e10 Unwind@1400e6e10 + * Pseudocode, not original source. */ + +void Unwind_1400e6e10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6e20.c b/decomp/Agent_Release_x64/full/functions/0x1400e6e20.c new file mode 100644 index 00000000..9a082f7b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6e20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6e20 Unwind@1400e6e20 + * Pseudocode, not original source. */ + +void Unwind_1400e6e20(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x38) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6e30.c b/decomp/Agent_Release_x64/full/functions/0x1400e6e30.c new file mode 100644 index 00000000..6d99a305 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6e30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6e30 Unwind@1400e6e30 + * Pseudocode, not original source. */ + +void Unwind_1400e6e30(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x38) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6e40.c b/decomp/Agent_Release_x64/full/functions/0x1400e6e40.c new file mode 100644 index 00000000..454b4b4c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6e40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6e40 Unwind@1400e6e40 + * Pseudocode, not original source. */ + +void Unwind_1400e6e40(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0xf0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6e50.c b/decomp/Agent_Release_x64/full/functions/0x1400e6e50.c new file mode 100644 index 00000000..908c307c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6e50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6e50 Unwind@1400e6e50 + * Pseudocode, not original source. */ + +void Unwind_1400e6e50(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0xf0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6e60.c b/decomp/Agent_Release_x64/full/functions/0x1400e6e60.c new file mode 100644 index 00000000..a8b45703 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6e60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6e60 Unwind@1400e6e60 + * Pseudocode, not original source. */ + +void Unwind_1400e6e60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x1a0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6e70.c b/decomp/Agent_Release_x64/full/functions/0x1400e6e70.c new file mode 100644 index 00000000..d84521ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6e70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6e70 Unwind@1400e6e70 + * Pseudocode, not original source. */ + +void Unwind_1400e6e70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xe30,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6e80.c b/decomp/Agent_Release_x64/full/functions/0x1400e6e80.c new file mode 100644 index 00000000..79edeb2d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6e80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6e80 Unwind@1400e6e80 + * Pseudocode, not original source. */ + +void Unwind_1400e6e80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xe30,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6e90.c b/decomp/Agent_Release_x64/full/functions/0x1400e6e90.c new file mode 100644 index 00000000..cb754b69 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6e90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6e90 Unwind@1400e6e90 + * Pseudocode, not original source. */ + +void Unwind_1400e6e90(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x38) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6ea0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6ea0.c new file mode 100644 index 00000000..348ee1f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6ea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6ea0 Unwind@1400e6ea0 + * Pseudocode, not original source. */ + +void Unwind_1400e6ea0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x38) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6eb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6eb0.c new file mode 100644 index 00000000..a4317400 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6eb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6eb0 Unwind@1400e6eb0 + * Pseudocode, not original source. */ + +void Unwind_1400e6eb0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x38) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6ec0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6ec0.c new file mode 100644 index 00000000..108ddaaf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6ec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6ec0 Unwind@1400e6ec0 + * Pseudocode, not original source. */ + +void Unwind_1400e6ec0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x38) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6ed0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6ed0.c new file mode 100644 index 00000000..d4c52df1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6ed0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6ed0 Unwind@1400e6ed0 + * Pseudocode, not original source. */ + +void Unwind_1400e6ed0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x38) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6ee0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6ee0.c new file mode 100644 index 00000000..bdae66c3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6ee0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6ee0 Unwind@1400e6ee0 + * Pseudocode, not original source. */ + +void Unwind_1400e6ee0(undefined8 param_1,longlong param_2) + +{ + FUN_140030db0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6ef0.c b/decomp/Agent_Release_x64/full/functions/0x1400e6ef0.c new file mode 100644 index 00000000..c68fbf69 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6ef0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6ef0 Unwind@1400e6ef0 + * Pseudocode, not original source. */ + +void Unwind_1400e6ef0(undefined8 param_1,longlong param_2) + +{ + FUN_14009c490((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6f00.c b/decomp/Agent_Release_x64/full/functions/0x1400e6f00.c new file mode 100644 index 00000000..4fada1b4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6f00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6f00 Unwind@1400e6f00 + * Pseudocode, not original source. */ + +void Unwind_1400e6f00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6f10.c b/decomp/Agent_Release_x64/full/functions/0x1400e6f10.c new file mode 100644 index 00000000..5fbb77f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6f10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6f10 Unwind@1400e6f10 + * Pseudocode, not original source. */ + +void Unwind_1400e6f10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6f20.c b/decomp/Agent_Release_x64/full/functions/0x1400e6f20.c new file mode 100644 index 00000000..2ccab6a3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6f20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6f20 Unwind@1400e6f20 + * Pseudocode, not original source. */ + +void Unwind_1400e6f20(undefined8 param_1,longlong param_2) + +{ + FUN_14009c490((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6f30.c b/decomp/Agent_Release_x64/full/functions/0x1400e6f30.c new file mode 100644 index 00000000..b9f5da99 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6f30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6f30 Unwind@1400e6f30 + * Pseudocode, not original source. */ + +void Unwind_1400e6f30(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6f40.c b/decomp/Agent_Release_x64/full/functions/0x1400e6f40.c new file mode 100644 index 00000000..799d6412 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6f40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6f40 Unwind@1400e6f40 + * Pseudocode, not original source. */ + +void Unwind_1400e6f40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6f50.c b/decomp/Agent_Release_x64/full/functions/0x1400e6f50.c new file mode 100644 index 00000000..ef5f5dac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6f50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6f50 Unwind@1400e6f50 + * Pseudocode, not original source. */ + +void Unwind_1400e6f50(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6f60.c b/decomp/Agent_Release_x64/full/functions/0x1400e6f60.c new file mode 100644 index 00000000..920fd04a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6f60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6f60 Unwind@1400e6f60 + * Pseudocode, not original source. */ + +void Unwind_1400e6f60(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6f70.c b/decomp/Agent_Release_x64/full/functions/0x1400e6f70.c new file mode 100644 index 00000000..9e417089 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6f70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6f70 Unwind@1400e6f70 + * Pseudocode, not original source. */ + +void Unwind_1400e6f70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6f80.c b/decomp/Agent_Release_x64/full/functions/0x1400e6f80.c new file mode 100644 index 00000000..e98aede4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6f80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6f80 Unwind@1400e6f80 + * Pseudocode, not original source. */ + +void Unwind_1400e6f80(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e6f90.c b/decomp/Agent_Release_x64/full/functions/0x1400e6f90.c new file mode 100644 index 00000000..2e95c41c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e6f90.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e6f90 Catch@1400e6f90 + * Pseudocode, not original source. */ + +undefined * +Catch_1400e6f90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0xd0); + if (*(longlong *)(*(longlong *)(lVar1 + 0x148) + 0x758) != 0) { + FUN_14002f430((exception *)(param_2 + 0x40),*(longlong **)(param_2 + 0x90),param_3,param_4); + *(undefined4 *)(param_2 + 0x58) = *(undefined4 *)(*(longlong *)(param_2 + 0xd8) + 0x30); + plVar2 = *(longlong **)(*(longlong *)(lVar1 + 0x148) + 0x758); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x40); + FUN_14002ed50((exception *)(param_2 + 0x40)); + } + return &DAT_14008656c; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7010.c b/decomp/Agent_Release_x64/full/functions/0x1400e7010.c new file mode 100644 index 00000000..b459b0f8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7010.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7010 Unwind@1400e7010 + * Pseudocode, not original source. */ + +void Unwind_1400e7010(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7020.c b/decomp/Agent_Release_x64/full/functions/0x1400e7020.c new file mode 100644 index 00000000..1d7f0bd9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7020.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7020 Catch@1400e7020 + * Pseudocode, not original source. */ + +undefined * +Catch_1400e7020(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0xd0); + if (*(longlong *)(*(longlong *)(lVar1 + 0x148) + 0x758) != 0) { + FUN_14002ed90((exception *)(param_2 + 0x40),*(undefined8 *)(param_2 + 0xa0),param_3,param_4); + *(undefined4 *)(param_2 + 0x58) = *(undefined4 *)(*(longlong *)(param_2 + 0xd8) + 0x30); + plVar2 = *(longlong **)(*(longlong *)(lVar1 + 0x148) + 0x758); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x40); + FUN_14002ed50((exception *)(param_2 + 0x40)); + } + return &DAT_14008656c; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e70a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e70a0.c new file mode 100644 index 00000000..d0b992c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e70a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e70a0 Unwind@1400e70a0 + * Pseudocode, not original source. */ + +void Unwind_1400e70a0(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e70b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e70b0.c new file mode 100644 index 00000000..977823bd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e70b0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e70b0 Catch@1400e70b0 + * Pseudocode, not original source. */ + +undefined * +Catch_1400e70b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0xd0); + if (*(longlong *)(*(longlong *)(lVar1 + 0x148) + 0x758) != 0) { + FUN_14002f4b0((exception *)(param_2 + 0x40),*(longlong *)(param_2 + 0x98),param_3,param_4); + *(undefined4 *)(param_2 + 0x58) = *(undefined4 *)(*(longlong *)(param_2 + 0xd8) + 0x30); + plVar2 = *(longlong **)(*(longlong *)(lVar1 + 0x148) + 0x758); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x40); + FUN_14002ed50((exception *)(param_2 + 0x40)); + } + return &DAT_14008656c; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7130.c b/decomp/Agent_Release_x64/full/functions/0x1400e7130.c new file mode 100644 index 00000000..450881e8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7130.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7130 Unwind@1400e7130 + * Pseudocode, not original source. */ + +void Unwind_1400e7130(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7140.c b/decomp/Agent_Release_x64/full/functions/0x1400e7140.c new file mode 100644 index 00000000..8218a062 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7140.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7140 Unwind@1400e7140 + * Pseudocode, not original source. */ + +void Unwind_1400e7140(undefined8 param_1,longlong param_2) + +{ + FUN_1400bbb70((char *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7150.c b/decomp/Agent_Release_x64/full/functions/0x1400e7150.c new file mode 100644 index 00000000..b694d2a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7150.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7150 Unwind@1400e7150 + * Pseudocode, not original source. */ + +void Unwind_1400e7150(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7160.c b/decomp/Agent_Release_x64/full/functions/0x1400e7160.c new file mode 100644 index 00000000..c610de7f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7160 Unwind@1400e7160 + * Pseudocode, not original source. */ + +void Unwind_1400e7160(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7170.c b/decomp/Agent_Release_x64/full/functions/0x1400e7170.c new file mode 100644 index 00000000..de3e5940 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7170.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7170 Unwind@1400e7170 + * Pseudocode, not original source. */ + +void Unwind_1400e7170(undefined8 param_1,longlong param_2) + +{ + FUN_14009c490((longlong *)(param_2 + 0x130)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7180.c b/decomp/Agent_Release_x64/full/functions/0x1400e7180.c new file mode 100644 index 00000000..0242e206 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7180.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7180 Unwind@1400e7180 + * Pseudocode, not original source. */ + +void Unwind_1400e7180(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7190.c b/decomp/Agent_Release_x64/full/functions/0x1400e7190.c new file mode 100644 index 00000000..0f4b92f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7190.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7190 Unwind@1400e7190 + * Pseudocode, not original source. */ + +void Unwind_1400e7190(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x128),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e71a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e71a0.c new file mode 100644 index 00000000..5afb8d8b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e71a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e71a0 Unwind@1400e71a0 + * Pseudocode, not original source. */ + +void Unwind_1400e71a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e71b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e71b0.c new file mode 100644 index 00000000..ab2cbbfc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e71b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e71b0 Unwind@1400e71b0 + * Pseudocode, not original source. */ + +void Unwind_1400e71b0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e71c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e71c0.c new file mode 100644 index 00000000..268770e6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e71c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e71c0 Unwind@1400e71c0 + * Pseudocode, not original source. */ + +void Unwind_1400e71c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xc0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e71d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e71d0.c new file mode 100644 index 00000000..adce06f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e71d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e71d0 Unwind@1400e71d0 + * Pseudocode, not original source. */ + +void Unwind_1400e71d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xa0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e71e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e71e0.c new file mode 100644 index 00000000..152cfef0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e71e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e71e0 Unwind@1400e71e0 + * Pseudocode, not original source. */ + +void Unwind_1400e71e0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e71f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e71f0.c new file mode 100644 index 00000000..187bfe37 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e71f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e71f0 Unwind@1400e71f0 + * Pseudocode, not original source. */ + +void Unwind_1400e71f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7200.c b/decomp/Agent_Release_x64/full/functions/0x1400e7200.c new file mode 100644 index 00000000..660fed5b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7200.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7200 Unwind@1400e7200 + * Pseudocode, not original source. */ + +void Unwind_1400e7200(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x78); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7210.c b/decomp/Agent_Release_x64/full/functions/0x1400e7210.c new file mode 100644 index 00000000..717acb43 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7210.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7210 Unwind@1400e7210 + * Pseudocode, not original source. */ + +void Unwind_1400e7210(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x78); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7220.c b/decomp/Agent_Release_x64/full/functions/0x1400e7220.c new file mode 100644 index 00000000..3a2b3284 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7220.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7220 Unwind@1400e7220 + * Pseudocode, not original source. */ + +void Unwind_1400e7220(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7230.c b/decomp/Agent_Release_x64/full/functions/0x1400e7230.c new file mode 100644 index 00000000..e059800c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7230.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7230 Unwind@1400e7230 + * Pseudocode, not original source. */ + +void Unwind_1400e7230(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xd0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7240.c b/decomp/Agent_Release_x64/full/functions/0x1400e7240.c new file mode 100644 index 00000000..1c4e6b60 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7240.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7240 Unwind@1400e7240 + * Pseudocode, not original source. */ + +void Unwind_1400e7240(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x68),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7250.c b/decomp/Agent_Release_x64/full/functions/0x1400e7250.c new file mode 100644 index 00000000..e0e4849e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7250.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7250 Unwind@1400e7250 + * Pseudocode, not original source. */ + +void Unwind_1400e7250(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xc0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7260.c b/decomp/Agent_Release_x64/full/functions/0x1400e7260.c new file mode 100644 index 00000000..a03658ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7260.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7260 Unwind@1400e7260 + * Pseudocode, not original source. */ + +void Unwind_1400e7260(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7270.c b/decomp/Agent_Release_x64/full/functions/0x1400e7270.c new file mode 100644 index 00000000..e7d9a518 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7270.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7270 Unwind@1400e7270 + * Pseudocode, not original source. */ + +void Unwind_1400e7270(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7280.c b/decomp/Agent_Release_x64/full/functions/0x1400e7280.c new file mode 100644 index 00000000..e1c37bf8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7280.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7280 Unwind@1400e7280 + * Pseudocode, not original source. */ + +void Unwind_1400e7280(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7290.c b/decomp/Agent_Release_x64/full/functions/0x1400e7290.c new file mode 100644 index 00000000..2decaa85 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7290.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7290 Unwind@1400e7290 + * Pseudocode, not original source. */ + +void Unwind_1400e7290(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e72a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e72a0.c new file mode 100644 index 00000000..e59bce79 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e72a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e72a0 Unwind@1400e72a0 + * Pseudocode, not original source. */ + +void Unwind_1400e72a0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xc0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e72b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e72b0.c new file mode 100644 index 00000000..b3627e7e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e72b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e72b0 Unwind@1400e72b0 + * Pseudocode, not original source. */ + +void Unwind_1400e72b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e72c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e72c0.c new file mode 100644 index 00000000..d17651af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e72c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e72c0 Unwind@1400e72c0 + * Pseudocode, not original source. */ + +void Unwind_1400e72c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e72d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e72d0.c new file mode 100644 index 00000000..c23e4e65 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e72d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e72d0 Unwind@1400e72d0 + * Pseudocode, not original source. */ + +void Unwind_1400e72d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e72e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e72e0.c new file mode 100644 index 00000000..bd4c0304 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e72e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e72e0 Unwind@1400e72e0 + * Pseudocode, not original source. */ + +void Unwind_1400e72e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e72f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e72f0.c new file mode 100644 index 00000000..0c5bb4d3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e72f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e72f0 Unwind@1400e72f0 + * Pseudocode, not original source. */ + +void Unwind_1400e72f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7300.c b/decomp/Agent_Release_x64/full/functions/0x1400e7300.c new file mode 100644 index 00000000..c07fc0fd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7300.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7300 Unwind@1400e7300 + * Pseudocode, not original source. */ + +void Unwind_1400e7300(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7310.c b/decomp/Agent_Release_x64/full/functions/0x1400e7310.c new file mode 100644 index 00000000..551ac88f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7310.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7310 Unwind@1400e7310 + * Pseudocode, not original source. */ + +void Unwind_1400e7310(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7320.c b/decomp/Agent_Release_x64/full/functions/0x1400e7320.c new file mode 100644 index 00000000..2d47adbd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7320.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7320 Unwind@1400e7320 + * Pseudocode, not original source. */ + +void Unwind_1400e7320(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x38); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7330.c b/decomp/Agent_Release_x64/full/functions/0x1400e7330.c new file mode 100644 index 00000000..9988e046 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7330.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7330 Unwind@1400e7330 + * Pseudocode, not original source. */ + +void Unwind_1400e7330(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x38); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7340.c b/decomp/Agent_Release_x64/full/functions/0x1400e7340.c new file mode 100644 index 00000000..358469f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7340.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7340 Unwind@1400e7340 + * Pseudocode, not original source. */ + +void Unwind_1400e7340(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7360.c b/decomp/Agent_Release_x64/full/functions/0x1400e7360.c new file mode 100644 index 00000000..7c0faeef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7360.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7360 Unwind@1400e7360 + * Pseudocode, not original source. */ + +void Unwind_1400e7360(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xf0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7370.c b/decomp/Agent_Release_x64/full/functions/0x1400e7370.c new file mode 100644 index 00000000..00e5d278 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7370.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7370 Unwind@1400e7370 + * Pseudocode, not original source. */ + +void Unwind_1400e7370(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7390.c b/decomp/Agent_Release_x64/full/functions/0x1400e7390.c new file mode 100644 index 00000000..b9eb4ba9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7390.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7390 Unwind@1400e7390 + * Pseudocode, not original source. */ + +void Unwind_1400e7390(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e73a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e73a0.c new file mode 100644 index 00000000..a7325d3b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e73a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e73a0 Unwind@1400e73a0 + * Pseudocode, not original source. */ + +void Unwind_1400e73a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e73b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e73b0.c new file mode 100644 index 00000000..3a9eae9c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e73b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e73b0 Unwind@1400e73b0 + * Pseudocode, not original source. */ + +void Unwind_1400e73b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xe0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e73c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e73c0.c new file mode 100644 index 00000000..8b8e63df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e73c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e73c0 Unwind@1400e73c0 + * Pseudocode, not original source. */ + +void Unwind_1400e73c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e73d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e73d0.c new file mode 100644 index 00000000..550ba3ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e73d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e73d0 Unwind@1400e73d0 + * Pseudocode, not original source. */ + +void Unwind_1400e73d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e73e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e73e0.c new file mode 100644 index 00000000..6eb04c97 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e73e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e73e0 Unwind@1400e73e0 + * Pseudocode, not original source. */ + +void Unwind_1400e73e0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xe0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e73f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e73f0.c new file mode 100644 index 00000000..987ce841 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e73f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e73f0 Unwind@1400e73f0 + * Pseudocode, not original source. */ + +void Unwind_1400e73f0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7400.c b/decomp/Agent_Release_x64/full/functions/0x1400e7400.c new file mode 100644 index 00000000..4834353b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7400.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7400 Unwind@1400e7400 + * Pseudocode, not original source. */ + +void Unwind_1400e7400(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7410.c b/decomp/Agent_Release_x64/full/functions/0x1400e7410.c new file mode 100644 index 00000000..671aa687 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7410.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7410 Unwind@1400e7410 + * Pseudocode, not original source. */ + +void Unwind_1400e7410(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7430.c b/decomp/Agent_Release_x64/full/functions/0x1400e7430.c new file mode 100644 index 00000000..590a5af6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7430.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7430 Unwind@1400e7430 + * Pseudocode, not original source. */ + +void Unwind_1400e7430(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x100,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7440.c b/decomp/Agent_Release_x64/full/functions/0x1400e7440.c new file mode 100644 index 00000000..82e6fe7b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7440.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7440 Unwind@1400e7440 + * Pseudocode, not original source. */ + +void Unwind_1400e7440(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7460.c b/decomp/Agent_Release_x64/full/functions/0x1400e7460.c new file mode 100644 index 00000000..2c895dbe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7460.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7460 Unwind@1400e7460 + * Pseudocode, not original source. */ + +void Unwind_1400e7460(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7470.c b/decomp/Agent_Release_x64/full/functions/0x1400e7470.c new file mode 100644 index 00000000..3150b81b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7470.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7470 Unwind@1400e7470 + * Pseudocode, not original source. */ + +void Unwind_1400e7470(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7480.c b/decomp/Agent_Release_x64/full/functions/0x1400e7480.c new file mode 100644 index 00000000..42625805 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7480.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7480 Unwind@1400e7480 + * Pseudocode, not original source. */ + +void Unwind_1400e7480(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xf0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7490.c b/decomp/Agent_Release_x64/full/functions/0x1400e7490.c new file mode 100644 index 00000000..c7350c3f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7490.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7490 Unwind@1400e7490 + * Pseudocode, not original source. */ + +void Unwind_1400e7490(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e74a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e74a0.c new file mode 100644 index 00000000..fd2b1f8a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e74a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e74a0 Unwind@1400e74a0 + * Pseudocode, not original source. */ + +void Unwind_1400e74a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e74b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e74b0.c new file mode 100644 index 00000000..5731a755 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e74b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e74b0 Unwind@1400e74b0 + * Pseudocode, not original source. */ + +void Unwind_1400e74b0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xf0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e74c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e74c0.c new file mode 100644 index 00000000..dfdaea5b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e74c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e74c0 Unwind@1400e74c0 + * Pseudocode, not original source. */ + +void Unwind_1400e74c0(undefined8 param_1,longlong param_2) + +{ + FUN_140065940((undefined8 *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e74d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e74d0.c new file mode 100644 index 00000000..7d6f695e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e74d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e74d0 Unwind@1400e74d0 + * Pseudocode, not original source. */ + +void Unwind_1400e74d0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x68); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e74e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e74e0.c new file mode 100644 index 00000000..47e0bb2a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e74e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e74e0 Unwind@1400e74e0 + * Pseudocode, not original source. */ + +void Unwind_1400e74e0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e74f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e74f0.c new file mode 100644 index 00000000..fca8c733 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e74f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e74f0 Unwind@1400e74f0 + * Pseudocode, not original source. */ + +void Unwind_1400e74f0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7500.c b/decomp/Agent_Release_x64/full/functions/0x1400e7500.c new file mode 100644 index 00000000..842823e6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7500.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7500 Unwind@1400e7500 + * Pseudocode, not original source. */ + +void Unwind_1400e7500(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7510.c b/decomp/Agent_Release_x64/full/functions/0x1400e7510.c new file mode 100644 index 00000000..332ab1ea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7510.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7510 Unwind@1400e7510 + * Pseudocode, not original source. */ + +void Unwind_1400e7510(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7520.c b/decomp/Agent_Release_x64/full/functions/0x1400e7520.c new file mode 100644 index 00000000..c385434e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7520.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7520 Unwind@1400e7520 + * Pseudocode, not original source. */ + +void Unwind_1400e7520(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x170); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7530.c b/decomp/Agent_Release_x64/full/functions/0x1400e7530.c new file mode 100644 index 00000000..d18a4a47 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7530.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7530 Unwind@1400e7530 + * Pseudocode, not original source. */ + +void Unwind_1400e7530(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x170); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7540.c b/decomp/Agent_Release_x64/full/functions/0x1400e7540.c new file mode 100644 index 00000000..f3ebee34 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7540.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7540 Unwind@1400e7540 + * Pseudocode, not original source. */ + +void Unwind_1400e7540(undefined8 param_1,longlong param_2) + +{ + FUN_140080140((longlong *)(param_2 + 0xa0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7550.c b/decomp/Agent_Release_x64/full/functions/0x1400e7550.c new file mode 100644 index 00000000..404c7a65 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7550.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7550 Unwind@1400e7550 + * Pseudocode, not original source. */ + +void Unwind_1400e7550(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xeb0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7560.c b/decomp/Agent_Release_x64/full/functions/0x1400e7560.c new file mode 100644 index 00000000..0cd509ab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7560.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7560 Unwind@1400e7560 + * Pseudocode, not original source. */ + +void Unwind_1400e7560(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xea0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7580.c b/decomp/Agent_Release_x64/full/functions/0x1400e7580.c new file mode 100644 index 00000000..4f37663e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7580.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7580 Unwind@1400e7580 + * Pseudocode, not original source. */ + +void Unwind_1400e7580(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x220,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7590.c b/decomp/Agent_Release_x64/full/functions/0x1400e7590.c new file mode 100644 index 00000000..2b398eec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7590.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7590 Unwind@1400e7590 + * Pseudocode, not original source. */ + +void Unwind_1400e7590(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xea0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e75b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e75b0.c new file mode 100644 index 00000000..1f042495 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e75b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e75b0 Unwind@1400e75b0 + * Pseudocode, not original source. */ + +void Unwind_1400e75b0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xea0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e75d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e75d0.c new file mode 100644 index 00000000..8caa1cd1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e75d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e75d0 Unwind@1400e75d0 + * Pseudocode, not original source. */ + +void Unwind_1400e75d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x220,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e75e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e75e0.c new file mode 100644 index 00000000..2f0b1dda --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e75e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e75e0 Unwind@1400e75e0 + * Pseudocode, not original source. */ + +void Unwind_1400e75e0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xea0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7600.c b/decomp/Agent_Release_x64/full/functions/0x1400e7600.c new file mode 100644 index 00000000..965e1c59 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7600.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7600 Unwind@1400e7600 + * Pseudocode, not original source. */ + +void Unwind_1400e7600(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x1b30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7620.c b/decomp/Agent_Release_x64/full/functions/0x1400e7620.c new file mode 100644 index 00000000..059767e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7620.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7620 Unwind@1400e7620 + * Pseudocode, not original source. */ + +void Unwind_1400e7620(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x28) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7630.c b/decomp/Agent_Release_x64/full/functions/0x1400e7630.c new file mode 100644 index 00000000..456a5307 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7630.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7630 Unwind@1400e7630 + * Pseudocode, not original source. */ + +void Unwind_1400e7630(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7640.c b/decomp/Agent_Release_x64/full/functions/0x1400e7640.c new file mode 100644 index 00000000..336fe4b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7640.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7640 Unwind@1400e7640 + * Pseudocode, not original source. */ + +void Unwind_1400e7640(undefined8 param_1,longlong param_2) + +{ + FUN_140065900((undefined8 *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7650.c b/decomp/Agent_Release_x64/full/functions/0x1400e7650.c new file mode 100644 index 00000000..eb3aa0b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7650.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7650 Unwind@1400e7650 + * Pseudocode, not original source. */ + +void Unwind_1400e7650(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x98); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7660.c b/decomp/Agent_Release_x64/full/functions/0x1400e7660.c new file mode 100644 index 00000000..a2d021a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7660.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7660 Unwind@1400e7660 + * Pseudocode, not original source. */ + +void Unwind_1400e7660(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x38) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7670.c b/decomp/Agent_Release_x64/full/functions/0x1400e7670.c new file mode 100644 index 00000000..1ae4f138 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7670.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7670 Unwind@1400e7670 + * Pseudocode, not original source. */ + +void Unwind_1400e7670(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x38) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7680.c b/decomp/Agent_Release_x64/full/functions/0x1400e7680.c new file mode 100644 index 00000000..0ceb9316 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7680.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7680 Unwind@1400e7680 + * Pseudocode, not original source. */ + +void Unwind_1400e7680(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xd8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7690.c b/decomp/Agent_Release_x64/full/functions/0x1400e7690.c new file mode 100644 index 00000000..c47d36e3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7690.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7690 Unwind@1400e7690 + * Pseudocode, not original source. */ + +void Unwind_1400e7690(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x100); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e76a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e76a0.c new file mode 100644 index 00000000..65c939df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e76a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e76a0 Unwind@1400e76a0 + * Pseudocode, not original source. */ + +void Unwind_1400e76a0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x100); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e76b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e76b0.c new file mode 100644 index 00000000..a30e2309 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e76b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e76b0 Unwind@1400e76b0 + * Pseudocode, not original source. */ + +void Unwind_1400e76b0(undefined8 param_1,longlong param_2) + +{ + FUN_140080140((longlong *)(param_2 + 0xf0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e76c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e76c0.c new file mode 100644 index 00000000..fc79a6a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e76c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e76c0 Unwind@1400e76c0 + * Pseudocode, not original source. */ + +void Unwind_1400e76c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x1b0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e76d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e76d0.c new file mode 100644 index 00000000..c15a51f8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e76d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e76d0 Unwind@1400e76d0 + * Pseudocode, not original source. */ + +void Unwind_1400e76d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xe40,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e76e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e76e0.c new file mode 100644 index 00000000..70c78266 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e76e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e76e0 Unwind@1400e76e0 + * Pseudocode, not original source. */ + +void Unwind_1400e76e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xe40,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e76f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e76f0.c new file mode 100644 index 00000000..1049596a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e76f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e76f0 Unwind@1400e76f0 + * Pseudocode, not original source. */ + +void Unwind_1400e76f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7700.c b/decomp/Agent_Release_x64/full/functions/0x1400e7700.c new file mode 100644 index 00000000..ecee05fe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7700.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7700 Unwind@1400e7700 + * Pseudocode, not original source. */ + +void Unwind_1400e7700(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x38) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7710.c b/decomp/Agent_Release_x64/full/functions/0x1400e7710.c new file mode 100644 index 00000000..f3a7007c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7710.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7710 Unwind@1400e7710 + * Pseudocode, not original source. */ + +void Unwind_1400e7710(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x38) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7720.c b/decomp/Agent_Release_x64/full/functions/0x1400e7720.c new file mode 100644 index 00000000..01a8b038 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7720.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7720 Unwind@1400e7720 + * Pseudocode, not original source. */ + +void Unwind_1400e7720(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x38); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7730.c b/decomp/Agent_Release_x64/full/functions/0x1400e7730.c new file mode 100644 index 00000000..811f8136 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7730.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7730 Unwind@1400e7730 + * Pseudocode, not original source. */ + +void Unwind_1400e7730(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x20) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7740.c b/decomp/Agent_Release_x64/full/functions/0x1400e7740.c new file mode 100644 index 00000000..f08572ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7740.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7740 Unwind@1400e7740 + * Pseudocode, not original source. */ + +void Unwind_1400e7740(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7750.c b/decomp/Agent_Release_x64/full/functions/0x1400e7750.c new file mode 100644 index 00000000..29bdf55a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7750.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7750 Unwind@1400e7750 + * Pseudocode, not original source. */ + +void Unwind_1400e7750(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x20) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7760.c b/decomp/Agent_Release_x64/full/functions/0x1400e7760.c new file mode 100644 index 00000000..f8907b68 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7760.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7760 Unwind@1400e7760 + * Pseudocode, not original source. */ + +void Unwind_1400e7760(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0xa0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7770.c b/decomp/Agent_Release_x64/full/functions/0x1400e7770.c new file mode 100644 index 00000000..c3f742b2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7770.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7770 Unwind@1400e7770 + * Pseudocode, not original source. */ + +void Unwind_1400e7770(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0xa0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7780.c b/decomp/Agent_Release_x64/full/functions/0x1400e7780.c new file mode 100644 index 00000000..ee702f9c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7780.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7780 Unwind@1400e7780 + * Pseudocode, not original source. */ + +void Unwind_1400e7780(undefined8 param_1,longlong param_2) + +{ + FUN_140080140((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7790.c b/decomp/Agent_Release_x64/full/functions/0x1400e7790.c new file mode 100644 index 00000000..cf04f49b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7790.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7790 Unwind@1400e7790 + * Pseudocode, not original source. */ + +void Unwind_1400e7790(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x150,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e77a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e77a0.c new file mode 100644 index 00000000..ff3f7586 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e77a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e77a0 Unwind@1400e77a0 + * Pseudocode, not original source. */ + +void Unwind_1400e77a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xde0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e77b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e77b0.c new file mode 100644 index 00000000..88271e52 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e77b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e77b0 Unwind@1400e77b0 + * Pseudocode, not original source. */ + +void Unwind_1400e77b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xde0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e77c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e77c0.c new file mode 100644 index 00000000..34f3769a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e77c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e77c0 Unwind@1400e77c0 + * Pseudocode, not original source. */ + +void Unwind_1400e77c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e77d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e77d0.c new file mode 100644 index 00000000..87a2c74d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e77d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e77d0 Unwind@1400e77d0 + * Pseudocode, not original source. */ + +void Unwind_1400e77d0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x20) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e77e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e77e0.c new file mode 100644 index 00000000..394c2f0f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e77e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e77e0 Unwind@1400e77e0 + * Pseudocode, not original source. */ + +void Unwind_1400e77e0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x20) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e77f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e77f0.c new file mode 100644 index 00000000..56c98ea0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e77f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e77f0 Unwind@1400e77f0 + * Pseudocode, not original source. */ + +void Unwind_1400e77f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7800.c b/decomp/Agent_Release_x64/full/functions/0x1400e7800.c new file mode 100644 index 00000000..bfba63f9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7800.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7800 Unwind@1400e7800 + * Pseudocode, not original source. */ + +void Unwind_1400e7800(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7810.c b/decomp/Agent_Release_x64/full/functions/0x1400e7810.c new file mode 100644 index 00000000..1291fd7a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7810.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7810 Unwind@1400e7810 + * Pseudocode, not original source. */ + +void Unwind_1400e7810(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7820.c b/decomp/Agent_Release_x64/full/functions/0x1400e7820.c new file mode 100644 index 00000000..df7890d9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7820.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7820 Unwind@1400e7820 + * Pseudocode, not original source. */ + +void Unwind_1400e7820(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7840.c b/decomp/Agent_Release_x64/full/functions/0x1400e7840.c new file mode 100644 index 00000000..726eaad6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7840.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7840 Unwind@1400e7840 + * Pseudocode, not original source. */ + +void Unwind_1400e7840(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xe0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7850.c b/decomp/Agent_Release_x64/full/functions/0x1400e7850.c new file mode 100644 index 00000000..f9574ae9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7850.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7850 Unwind@1400e7850 + * Pseudocode, not original source. */ + +void Unwind_1400e7850(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7870.c b/decomp/Agent_Release_x64/full/functions/0x1400e7870.c new file mode 100644 index 00000000..13928e6b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7870.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7870 Unwind@1400e7870 + * Pseudocode, not original source. */ + +void Unwind_1400e7870(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x20) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7880.c b/decomp/Agent_Release_x64/full/functions/0x1400e7880.c new file mode 100644 index 00000000..203ec6d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7880.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7880 Unwind@1400e7880 + * Pseudocode, not original source. */ + +void Unwind_1400e7880(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7890.c b/decomp/Agent_Release_x64/full/functions/0x1400e7890.c new file mode 100644 index 00000000..81542da0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7890.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7890 Unwind@1400e7890 + * Pseudocode, not original source. */ + +void Unwind_1400e7890(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e78a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e78a0.c new file mode 100644 index 00000000..83dcf194 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e78a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e78a0 Unwind@1400e78a0 + * Pseudocode, not original source. */ + +void Unwind_1400e78a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e78b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e78b0.c new file mode 100644 index 00000000..026f1564 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e78b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e78b0 Unwind@1400e78b0 + * Pseudocode, not original source. */ + +void Unwind_1400e78b0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e78d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e78d0.c new file mode 100644 index 00000000..4e328bb3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e78d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e78d0 Unwind@1400e78d0 + * Pseudocode, not original source. */ + +void Unwind_1400e78d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xc0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e78e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e78e0.c new file mode 100644 index 00000000..c01ed98e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e78e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e78e0 Unwind@1400e78e0 + * Pseudocode, not original source. */ + +void Unwind_1400e78e0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7900.c b/decomp/Agent_Release_x64/full/functions/0x1400e7900.c new file mode 100644 index 00000000..972a6029 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7900.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7900 Unwind@1400e7900 + * Pseudocode, not original source. */ + +void Unwind_1400e7900(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x20) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7910.c b/decomp/Agent_Release_x64/full/functions/0x1400e7910.c new file mode 100644 index 00000000..324efacd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7910.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7910 Unwind@1400e7910 + * Pseudocode, not original source. */ + +void Unwind_1400e7910(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7920.c b/decomp/Agent_Release_x64/full/functions/0x1400e7920.c new file mode 100644 index 00000000..dee00ad8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7920.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7920 Unwind@1400e7920 + * Pseudocode, not original source. */ + +void Unwind_1400e7920(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7930.c b/decomp/Agent_Release_x64/full/functions/0x1400e7930.c new file mode 100644 index 00000000..3b1ae072 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7930.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7930 Unwind@1400e7930 + * Pseudocode, not original source. */ + +void Unwind_1400e7930(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7940.c b/decomp/Agent_Release_x64/full/functions/0x1400e7940.c new file mode 100644 index 00000000..2579919f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7940.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7940 Unwind@1400e7940 + * Pseudocode, not original source. */ + +void Unwind_1400e7940(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7950.c b/decomp/Agent_Release_x64/full/functions/0x1400e7950.c new file mode 100644 index 00000000..551e62d6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7950.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7950 Unwind@1400e7950 + * Pseudocode, not original source. */ + +void Unwind_1400e7950(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7970.c b/decomp/Agent_Release_x64/full/functions/0x1400e7970.c new file mode 100644 index 00000000..934a92a9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7970.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7970 Unwind@1400e7970 + * Pseudocode, not original source. */ + +void Unwind_1400e7970(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xe0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7980.c b/decomp/Agent_Release_x64/full/functions/0x1400e7980.c new file mode 100644 index 00000000..225e0c4c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7980.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7980 Unwind@1400e7980 + * Pseudocode, not original source. */ + +void Unwind_1400e7980(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e79a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e79a0.c new file mode 100644 index 00000000..f0540f6f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e79a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e79a0 Unwind@1400e79a0 + * Pseudocode, not original source. */ + +void Unwind_1400e79a0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x20) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e79b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e79b0.c new file mode 100644 index 00000000..e3999425 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e79b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e79b0 Unwind@1400e79b0 + * Pseudocode, not original source. */ + +void Unwind_1400e79b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e79c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e79c0.c new file mode 100644 index 00000000..fbdf9e0c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e79c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e79c0 Unwind@1400e79c0 + * Pseudocode, not original source. */ + +void Unwind_1400e79c0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e79d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e79d0.c new file mode 100644 index 00000000..6304f9b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e79d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e79d0 Unwind@1400e79d0 + * Pseudocode, not original source. */ + +void Unwind_1400e79d0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e79e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e79e0.c new file mode 100644 index 00000000..abea6265 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e79e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e79e0 Unwind@1400e79e0 + * Pseudocode, not original source. */ + +void Unwind_1400e79e0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e79f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e79f0.c new file mode 100644 index 00000000..399751b7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e79f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e79f0 Unwind@1400e79f0 + * Pseudocode, not original source. */ + +void Unwind_1400e79f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7a00.c b/decomp/Agent_Release_x64/full/functions/0x1400e7a00.c new file mode 100644 index 00000000..1a96e7d8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7a00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7a00 Unwind@1400e7a00 + * Pseudocode, not original source. */ + +void Unwind_1400e7a00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xc0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7a10.c b/decomp/Agent_Release_x64/full/functions/0x1400e7a10.c new file mode 100644 index 00000000..34b35fe1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7a10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7a10 Unwind@1400e7a10 + * Pseudocode, not original source. */ + +void Unwind_1400e7a10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xd0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7a20.c b/decomp/Agent_Release_x64/full/functions/0x1400e7a20.c new file mode 100644 index 00000000..8258ef4c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7a20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7a20 Unwind@1400e7a20 + * Pseudocode, not original source. */ + +void Unwind_1400e7a20(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xb0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7a30.c b/decomp/Agent_Release_x64/full/functions/0x1400e7a30.c new file mode 100644 index 00000000..79b73cb0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7a30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7a30 Unwind@1400e7a30 + * Pseudocode, not original source. */ + +void Unwind_1400e7a30(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7a40.c b/decomp/Agent_Release_x64/full/functions/0x1400e7a40.c new file mode 100644 index 00000000..f0414b18 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7a40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7a40 Unwind@1400e7a40 + * Pseudocode, not original source. */ + +void Unwind_1400e7a40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7a50.c b/decomp/Agent_Release_x64/full/functions/0x1400e7a50.c new file mode 100644 index 00000000..158eef26 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7a50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7a50 Unwind@1400e7a50 + * Pseudocode, not original source. */ + +void Unwind_1400e7a50(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7a60.c b/decomp/Agent_Release_x64/full/functions/0x1400e7a60.c new file mode 100644 index 00000000..2e169dc8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7a60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7a60 Unwind@1400e7a60 + * Pseudocode, not original source. */ + +void Unwind_1400e7a60(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7a70.c b/decomp/Agent_Release_x64/full/functions/0x1400e7a70.c new file mode 100644 index 00000000..00aa7b42 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7a70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7a70 Unwind@1400e7a70 + * Pseudocode, not original source. */ + +void Unwind_1400e7a70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7a80.c b/decomp/Agent_Release_x64/full/functions/0x1400e7a80.c new file mode 100644 index 00000000..d5981324 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7a80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7a80 Unwind@1400e7a80 + * Pseudocode, not original source. */ + +void Unwind_1400e7a80(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7aa0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7aa0.c new file mode 100644 index 00000000..27f6a59a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7aa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7aa0 Unwind@1400e7aa0 + * Pseudocode, not original source. */ + +void Unwind_1400e7aa0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xe0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7ab0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7ab0.c new file mode 100644 index 00000000..a76dbfb3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7ab0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7ab0 Unwind@1400e7ab0 + * Pseudocode, not original source. */ + +void Unwind_1400e7ab0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7ad0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7ad0.c new file mode 100644 index 00000000..03140275 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7ad0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7ad0 Unwind@1400e7ad0 + * Pseudocode, not original source. */ + +void Unwind_1400e7ad0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7ae0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7ae0.c new file mode 100644 index 00000000..8f980c3d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7ae0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7ae0 Unwind@1400e7ae0 + * Pseudocode, not original source. */ + +void Unwind_1400e7ae0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x68) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7af0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7af0.c new file mode 100644 index 00000000..413d21ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7af0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7af0 Unwind@1400e7af0 + * Pseudocode, not original source. */ + +void Unwind_1400e7af0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7b20.c b/decomp/Agent_Release_x64/full/functions/0x1400e7b20.c new file mode 100644 index 00000000..f0bff325 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7b20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7b20 Unwind@1400e7b20 + * Pseudocode, not original source. */ + +void Unwind_1400e7b20(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7b50.c b/decomp/Agent_Release_x64/full/functions/0x1400e7b50.c new file mode 100644 index 00000000..6d60f411 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7b50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7b50 Unwind@1400e7b50 + * Pseudocode, not original source. */ + +void Unwind_1400e7b50(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7b80.c b/decomp/Agent_Release_x64/full/functions/0x1400e7b80.c new file mode 100644 index 00000000..9a103cd3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7b80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7b80 Unwind@1400e7b80 + * Pseudocode, not original source. */ + +void Unwind_1400e7b80(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7bb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7bb0.c new file mode 100644 index 00000000..544539a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7bb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7bb0 Unwind@1400e7bb0 + * Pseudocode, not original source. */ + +void Unwind_1400e7bb0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0(*(undefined4 **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7bc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7bc0.c new file mode 100644 index 00000000..633a844d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7bc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7bc0 Unwind@1400e7bc0 + * Pseudocode, not original source. */ + +void Unwind_1400e7bc0(undefined8 param_1,longlong param_2) + +{ + FUN_1400500f0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7bd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7bd0.c new file mode 100644 index 00000000..a1da0522 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7bd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7bd0 Unwind@1400e7bd0 + * Pseudocode, not original source. */ + +void Unwind_1400e7bd0(undefined8 param_1,longlong param_2) + +{ + FUN_1400500f0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7be0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7be0.c new file mode 100644 index 00000000..f2688e92 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7be0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7be0 Unwind@1400e7be0 + * Pseudocode, not original source. */ + +void Unwind_1400e7be0(undefined8 param_1,longlong param_2) + +{ + FUN_140044360((longlong *)(*(longlong *)(param_2 + 0x40) + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7c00.c b/decomp/Agent_Release_x64/full/functions/0x1400e7c00.c new file mode 100644 index 00000000..d30f7c1d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7c00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7c00 Unwind@1400e7c00 + * Pseudocode, not original source. */ + +void Unwind_1400e7c00(undefined8 param_1,longlong param_2) + +{ + FUN_140044360((longlong *)(*(longlong *)(param_2 + 0x40) + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7c20.c b/decomp/Agent_Release_x64/full/functions/0x1400e7c20.c new file mode 100644 index 00000000..02fec795 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7c20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7c20 Unwind@1400e7c20 + * Pseudocode, not original source. */ + +void Unwind_1400e7c20(undefined8 param_1,longlong param_2) + +{ + FUN_14003a1b0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x150)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7c40.c b/decomp/Agent_Release_x64/full/functions/0x1400e7c40.c new file mode 100644 index 00000000..f613d873 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7c40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7c40 Unwind@1400e7c40 + * Pseudocode, not original source. */ + +void Unwind_1400e7c40(undefined8 param_1,longlong param_2) + +{ + FUN_1400376e0((UINT *)(*(longlong *)(param_2 + 0x40) + 0x158)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7c60.c b/decomp/Agent_Release_x64/full/functions/0x1400e7c60.c new file mode 100644 index 00000000..a69c0c78 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7c60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7c60 Unwind@1400e7c60 + * Pseudocode, not original source. */ + +void Unwind_1400e7c60(undefined8 param_1,longlong param_2) + +{ + FUN_140086450(*(longlong *)(param_2 + 0x40) + 0x160); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7c80.c b/decomp/Agent_Release_x64/full/functions/0x1400e7c80.c new file mode 100644 index 00000000..2c664e30 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7c80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7c80 Unwind@1400e7c80 + * Pseudocode, not original source. */ + +void Unwind_1400e7c80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0(*(undefined4 **)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7c90.c b/decomp/Agent_Release_x64/full/functions/0x1400e7c90.c new file mode 100644 index 00000000..10849465 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7c90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7c90 Unwind@1400e7c90 + * Pseudocode, not original source. */ + +void Unwind_1400e7c90(undefined8 param_1,longlong param_2) + +{ + FUN_1400500f0((undefined8 *)(*(longlong *)(param_2 + 0x60) + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7ca0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7ca0.c new file mode 100644 index 00000000..edec536e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7ca0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7ca0 Unwind@1400e7ca0 + * Pseudocode, not original source. */ + +void Unwind_1400e7ca0(undefined8 param_1,longlong param_2) + +{ + FUN_1400500f0((undefined8 *)(*(longlong *)(param_2 + 0x60) + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7cb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7cb0.c new file mode 100644 index 00000000..8334ef61 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7cb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7cb0 Unwind@1400e7cb0 + * Pseudocode, not original source. */ + +void Unwind_1400e7cb0(undefined8 param_1,longlong param_2) + +{ + FUN_140044360((longlong *)(*(longlong *)(param_2 + 0x60) + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7cd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7cd0.c new file mode 100644 index 00000000..363172d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7cd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7cd0 Unwind@1400e7cd0 + * Pseudocode, not original source. */ + +void Unwind_1400e7cd0(undefined8 param_1,longlong param_2) + +{ + FUN_140044360((longlong *)(*(longlong *)(param_2 + 0x60) + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7cf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7cf0.c new file mode 100644 index 00000000..548ce2ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7cf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7cf0 Unwind@1400e7cf0 + * Pseudocode, not original source. */ + +void Unwind_1400e7cf0(undefined8 param_1,longlong param_2) + +{ + FUN_14003a1b0((undefined8 *)(*(longlong *)(param_2 + 0x60) + 0x150)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7d10.c b/decomp/Agent_Release_x64/full/functions/0x1400e7d10.c new file mode 100644 index 00000000..b01840da --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7d10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7d10 Unwind@1400e7d10 + * Pseudocode, not original source. */ + +void Unwind_1400e7d10(undefined8 param_1,longlong param_2) + +{ + FUN_1400376e0((UINT *)(*(longlong *)(param_2 + 0x60) + 0x158)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7d30.c b/decomp/Agent_Release_x64/full/functions/0x1400e7d30.c new file mode 100644 index 00000000..aa18b494 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7d30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7d30 Unwind@1400e7d30 + * Pseudocode, not original source. */ + +void Unwind_1400e7d30(undefined8 param_1,longlong param_2) + +{ + FUN_140086450(*(longlong *)(param_2 + 0x60) + 0x160); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7d50.c b/decomp/Agent_Release_x64/full/functions/0x1400e7d50.c new file mode 100644 index 00000000..5d65a0fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7d50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7d50 Unwind@1400e7d50 + * Pseudocode, not original source. */ + +void Unwind_1400e7d50(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7d60.c b/decomp/Agent_Release_x64/full/functions/0x1400e7d60.c new file mode 100644 index 00000000..2cc0a975 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7d60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7d60 Unwind@1400e7d60 + * Pseudocode, not original source. */ + +void Unwind_1400e7d60(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7d70.c b/decomp/Agent_Release_x64/full/functions/0x1400e7d70.c new file mode 100644 index 00000000..cdb9eb36 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7d70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7d70 Unwind@1400e7d70 + * Pseudocode, not original source. */ + +void Unwind_1400e7d70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7d80.c b/decomp/Agent_Release_x64/full/functions/0x1400e7d80.c new file mode 100644 index 00000000..bc908f95 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7d80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7d80 Unwind@1400e7d80 + * Pseudocode, not original source. */ + +void Unwind_1400e7d80(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7da0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7da0.c new file mode 100644 index 00000000..78a2dbe6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7da0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7da0 Unwind@1400e7da0 + * Pseudocode, not original source. */ + +void Unwind_1400e7da0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7db0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7db0.c new file mode 100644 index 00000000..483a8274 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7db0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7db0 Unwind@1400e7db0 + * Pseudocode, not original source. */ + +void Unwind_1400e7db0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xa8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7dc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7dc0.c new file mode 100644 index 00000000..64693e7b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7dc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7dc0 Unwind@1400e7dc0 + * Pseudocode, not original source. */ + +void Unwind_1400e7dc0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7dd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7dd0.c new file mode 100644 index 00000000..f8c938f7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7dd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7dd0 Unwind@1400e7dd0 + * Pseudocode, not original source. */ + +void Unwind_1400e7dd0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7de0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7de0.c new file mode 100644 index 00000000..d9e509b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7de0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7de0 Unwind@1400e7de0 + * Pseudocode, not original source. */ + +void Unwind_1400e7de0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xf0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7df0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7df0.c new file mode 100644 index 00000000..e9151059 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7df0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7df0 Unwind@1400e7df0 + * Pseudocode, not original source. */ + +void Unwind_1400e7df0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7e00.c b/decomp/Agent_Release_x64/full/functions/0x1400e7e00.c new file mode 100644 index 00000000..cea1b97c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7e00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7e00 Unwind@1400e7e00 + * Pseudocode, not original source. */ + +void Unwind_1400e7e00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7e10.c b/decomp/Agent_Release_x64/full/functions/0x1400e7e10.c new file mode 100644 index 00000000..bc342f07 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7e10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7e10 Unwind@1400e7e10 + * Pseudocode, not original source. */ + +void Unwind_1400e7e10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xf8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7e20.c b/decomp/Agent_Release_x64/full/functions/0x1400e7e20.c new file mode 100644 index 00000000..2f9eedcc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7e20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7e20 Unwind@1400e7e20 + * Pseudocode, not original source. */ + +void Unwind_1400e7e20(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7e30.c b/decomp/Agent_Release_x64/full/functions/0x1400e7e30.c new file mode 100644 index 00000000..3a38b66b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7e30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7e30 Unwind@1400e7e30 + * Pseudocode, not original source. */ + +void Unwind_1400e7e30(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7e40.c b/decomp/Agent_Release_x64/full/functions/0x1400e7e40.c new file mode 100644 index 00000000..a645650a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7e40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7e40 Unwind@1400e7e40 + * Pseudocode, not original source. */ + +void Unwind_1400e7e40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7e50.c b/decomp/Agent_Release_x64/full/functions/0x1400e7e50.c new file mode 100644 index 00000000..b9739434 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7e50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7e50 Unwind@1400e7e50 + * Pseudocode, not original source. */ + +void Unwind_1400e7e50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xc0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7e60.c b/decomp/Agent_Release_x64/full/functions/0x1400e7e60.c new file mode 100644 index 00000000..4d0900ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7e60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7e60 Unwind@1400e7e60 + * Pseudocode, not original source. */ + +void Unwind_1400e7e60(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7e70.c b/decomp/Agent_Release_x64/full/functions/0x1400e7e70.c new file mode 100644 index 00000000..bc08b469 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7e70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7e70 Unwind@1400e7e70 + * Pseudocode, not original source. */ + +void Unwind_1400e7e70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7e80.c b/decomp/Agent_Release_x64/full/functions/0x1400e7e80.c new file mode 100644 index 00000000..7f320407 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7e80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7e80 Unwind@1400e7e80 + * Pseudocode, not original source. */ + +void Unwind_1400e7e80(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7e90.c b/decomp/Agent_Release_x64/full/functions/0x1400e7e90.c new file mode 100644 index 00000000..39bc96e2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7e90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7e90 Unwind@1400e7e90 + * Pseudocode, not original source. */ + +void Unwind_1400e7e90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xc0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7ea0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7ea0.c new file mode 100644 index 00000000..466a9424 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7ea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7ea0 Unwind@1400e7ea0 + * Pseudocode, not original source. */ + +void Unwind_1400e7ea0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7eb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7eb0.c new file mode 100644 index 00000000..299b421d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7eb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7eb0 Unwind@1400e7eb0 + * Pseudocode, not original source. */ + +void Unwind_1400e7eb0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7ec0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7ec0.c new file mode 100644 index 00000000..b140a87a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7ec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7ec0 Unwind@1400e7ec0 + * Pseudocode, not original source. */ + +void Unwind_1400e7ec0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7ed0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7ed0.c new file mode 100644 index 00000000..4498afe0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7ed0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7ed0 Unwind@1400e7ed0 + * Pseudocode, not original source. */ + +void Unwind_1400e7ed0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7ee0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7ee0.c new file mode 100644 index 00000000..9f4b65db --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7ee0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7ee0 Unwind@1400e7ee0 + * Pseudocode, not original source. */ + +void Unwind_1400e7ee0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7ef0.c b/decomp/Agent_Release_x64/full/functions/0x1400e7ef0.c new file mode 100644 index 00000000..02bcd27a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7ef0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7ef0 Unwind@1400e7ef0 + * Pseudocode, not original source. */ + +void Unwind_1400e7ef0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7f00.c b/decomp/Agent_Release_x64/full/functions/0x1400e7f00.c new file mode 100644 index 00000000..1e57f4a9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7f00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7f00 Unwind@1400e7f00 + * Pseudocode, not original source. */ + +void Unwind_1400e7f00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7f10.c b/decomp/Agent_Release_x64/full/functions/0x1400e7f10.c new file mode 100644 index 00000000..ae2a12de --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7f10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7f10 Unwind@1400e7f10 + * Pseudocode, not original source. */ + +void Unwind_1400e7f10(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e7f20.c b/decomp/Agent_Release_x64/full/functions/0x1400e7f20.c new file mode 100644 index 00000000..c1b63fdf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e7f20.c @@ -0,0 +1,50 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e7f20 Catch@1400e7f20 + * Pseudocode, not original source. */ + +undefined * Catch_1400e7f20(undefined8 param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) + +{ + longlong lVar1; + int *piVar2; + longlong lVar3; + undefined8 uVar4; + SIZE_T *pSVar5; + + uVar4 = *(undefined8 *)(param_2 + 0x140); + (**(code **)(**(longlong **)(*(longlong *)(*(longlong *)(param_2 + 0xb8) + 0x148) + 0x758) + 0x20) + )(); + FUN_1400806d0((undefined4 *)(param_2 + 0x40)); + FUN_1400801a0(param_2 + 0x40,uVar4,param_3,param_4); + FUN_140080830((int *)(param_2 + 0x40),0x800,param_3,param_4); + uVar4 = 0; + FUN_140080830((int *)(param_2 + 0x40),0,param_3,param_4); + FUN_14001ba80(param_2 + 0x40,CONCAT71((int7)((ulonglong)uVar4 >> 8),9),param_3,param_4); + *(undefined8 *)(param_2 + 0x120) = 0; + *(undefined8 *)(param_2 + 0x128) = 0; + *(undefined8 *)(param_2 + 0x130) = 0; + *(undefined8 *)(param_2 + 0x138) = 0; + *(undefined ***)(param_2 + 0x118) = Proud::ByteArray::vftable; + FUN_140081aa0(param_2 + 0x40,0,param_3,param_4); + FUN_14003b870((undefined8 *)(param_2 + 0x118)); + lVar1 = *(longlong *)(param_2 + 0x30); + piVar2 = (int *)(**(code **)(*(longlong *)(lVar1 + 0x108) + 0x10))(); + *(int **)(param_2 + 0xb8) = piVar2; + FUN_14002e6e0(piVar2); + *(undefined1 *)(param_2 + 0xc0) = 1; + lVar3 = FUN_140041760(param_2 + 0x1a0,param_2 + 0x40,param_3); + *(undefined8 *)(param_2 + 0x30) = 0; + *(undefined1 *)(param_2 + 0x38) = 1; + pSVar5 = (SIZE_T *)(param_2 + 0x30); + FUN_14009c2b0(*(char **)(lVar1 + 0x748),lVar3,pSVar5,param_4); + FUN_140040950(param_2 + 0x1a0,lVar3,pSVar5,param_4); + FUN_14002e770((longlong)piVar2); + *(longlong *)(param_2 + 0x30) = param_2 + 0x48; + FUN_140095270((longlong *)(param_2 + 0x48)); + if ((*(longlong *)(param_2 + 0x50) != 0) && (*(int *)(param_2 + 0x5c) < 0)) { + /* WARNING: Subroutine does not return */ + FUN_14002f590(); + } + return &DAT_14008b8c3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8090.c b/decomp/Agent_Release_x64/full/functions/0x1400e8090.c new file mode 100644 index 00000000..a708b461 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8090.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8090 Unwind@1400e8090 + * Pseudocode, not original source. */ + +void Unwind_1400e8090(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e80a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e80a0.c new file mode 100644 index 00000000..6b8064a4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e80a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e80a0 Unwind@1400e80a0 + * Pseudocode, not original source. */ + +void Unwind_1400e80a0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e80b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e80b0.c new file mode 100644 index 00000000..3909a608 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e80b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e80b0 Unwind@1400e80b0 + * Pseudocode, not original source. */ + +void Unwind_1400e80b0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x118)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e80c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e80c0.c new file mode 100644 index 00000000..9ad363f5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e80c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e80c0 Unwind@1400e80c0 + * Pseudocode, not original source. */ + +void Unwind_1400e80c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e80d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e80d0.c new file mode 100644 index 00000000..e35f8a09 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e80d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e80d0 Unwind@1400e80d0 + * Pseudocode, not original source. */ + +void Unwind_1400e80d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x1a0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e80e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e80e0.c new file mode 100644 index 00000000..5cff51d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e80e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e80e0 Unwind@1400e80e0 + * Pseudocode, not original source. */ + +void Unwind_1400e80e0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e80f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e80f0.c new file mode 100644 index 00000000..22916e97 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e80f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e80f0 Unwind@1400e80f0 + * Pseudocode, not original source. */ + +void Unwind_1400e80f0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0xf0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8100.c b/decomp/Agent_Release_x64/full/functions/0x1400e8100.c new file mode 100644 index 00000000..c04145d7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8100.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8100 Unwind@1400e8100 + * Pseudocode, not original source. */ + +void Unwind_1400e8100(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0xf0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8110.c b/decomp/Agent_Release_x64/full/functions/0x1400e8110.c new file mode 100644 index 00000000..03882552 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8110.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8110 Unwind@1400e8110 + * Pseudocode, not original source. */ + +void Unwind_1400e8110(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8120.c b/decomp/Agent_Release_x64/full/functions/0x1400e8120.c new file mode 100644 index 00000000..43d77fa4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8120.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8120 Unwind@1400e8120 + * Pseudocode, not original source. */ + +void Unwind_1400e8120(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x1a0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8130.c b/decomp/Agent_Release_x64/full/functions/0x1400e8130.c new file mode 100644 index 00000000..06cfc891 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8130.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8130 Unwind@1400e8130 + * Pseudocode, not original source. */ + +void Unwind_1400e8130(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8140.c b/decomp/Agent_Release_x64/full/functions/0x1400e8140.c new file mode 100644 index 00000000..e63f8610 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8140.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8140 Unwind@1400e8140 + * Pseudocode, not original source. */ + +void Unwind_1400e8140(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8150.c b/decomp/Agent_Release_x64/full/functions/0x1400e8150.c new file mode 100644 index 00000000..6a6a7922 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8150.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8150 Unwind@1400e8150 + * Pseudocode, not original source. */ + +void Unwind_1400e8150(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8160.c b/decomp/Agent_Release_x64/full/functions/0x1400e8160.c new file mode 100644 index 00000000..be58a327 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8160 Unwind@1400e8160 + * Pseudocode, not original source. */ + +void Unwind_1400e8160(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0xb0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8170.c b/decomp/Agent_Release_x64/full/functions/0x1400e8170.c new file mode 100644 index 00000000..09d5b373 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8170.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8170 Unwind@1400e8170 + * Pseudocode, not original source. */ + +void Unwind_1400e8170(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8180.c b/decomp/Agent_Release_x64/full/functions/0x1400e8180.c new file mode 100644 index 00000000..906d7dd2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8180.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8180 Unwind@1400e8180 + * Pseudocode, not original source. */ + +void Unwind_1400e8180(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8190.c b/decomp/Agent_Release_x64/full/functions/0x1400e8190.c new file mode 100644 index 00000000..d84c5457 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8190.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8190 Unwind@1400e8190 + * Pseudocode, not original source. */ + +void Unwind_1400e8190(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e81a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e81a0.c new file mode 100644 index 00000000..1a696751 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e81a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e81a0 Unwind@1400e81a0 + * Pseudocode, not original source. */ + +void Unwind_1400e81a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e81b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e81b0.c new file mode 100644 index 00000000..a1c49a38 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e81b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e81b0 Unwind@1400e81b0 + * Pseudocode, not original source. */ + +void Unwind_1400e81b0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x1e8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e81d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e81d0.c new file mode 100644 index 00000000..0dd87f6d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e81d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e81d0 Unwind@1400e81d0 + * Pseudocode, not original source. */ + +void Unwind_1400e81d0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e81f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e81f0.c new file mode 100644 index 00000000..3254f838 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e81f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e81f0 Unwind@1400e81f0 + * Pseudocode, not original source. */ + +void Unwind_1400e81f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x1e8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8200.c b/decomp/Agent_Release_x64/full/functions/0x1400e8200.c new file mode 100644 index 00000000..8b2062fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8200.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8200 Unwind@1400e8200 + * Pseudocode, not original source. */ + +void Unwind_1400e8200(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8210.c b/decomp/Agent_Release_x64/full/functions/0x1400e8210.c new file mode 100644 index 00000000..f5cd8aa5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8210.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8210 Catch@1400e8210 + * Pseudocode, not original source. */ + +undefined * +Catch_1400e8210(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0x1d0); + if (*(longlong *)(*(longlong *)(lVar1 + 0x148) + 0x758) != 0) { + FUN_14002f430((exception *)(param_2 + 0x40),*(longlong **)(param_2 + 0x98),param_3,param_4); + *(undefined4 *)(param_2 + 0x58) = *(undefined4 *)(*(longlong *)(param_2 + 0x1d8) + 0x30); + plVar2 = *(longlong **)(*(longlong *)(lVar1 + 0x148) + 0x758); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x40); + FUN_14002ed50((exception *)(param_2 + 0x40)); + } + return &DAT_14008be27; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8290.c b/decomp/Agent_Release_x64/full/functions/0x1400e8290.c new file mode 100644 index 00000000..f9dabdc6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8290.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8290 Unwind@1400e8290 + * Pseudocode, not original source. */ + +void Unwind_1400e8290(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e82a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e82a0.c new file mode 100644 index 00000000..d7192867 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e82a0.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e82a0 Catch@1400e82a0 + * Pseudocode, not original source. */ + +undefined * +Catch_1400e82a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0x1d0); + if (*(longlong *)(*(longlong *)(lVar1 + 0x148) + 0x758) != 0) { + FUN_14002ed90((exception *)(param_2 + 0x40),*(undefined8 *)(param_2 + 0xa0),param_3,param_4); + *(undefined4 *)(param_2 + 0x58) = *(undefined4 *)(*(longlong *)(param_2 + 0x1d8) + 0x30); + plVar2 = *(longlong **)(*(longlong *)(lVar1 + 0x148) + 0x758); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x40); + FUN_14002ed50((exception *)(param_2 + 0x40)); + } + return &DAT_14008be27; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8320.c b/decomp/Agent_Release_x64/full/functions/0x1400e8320.c new file mode 100644 index 00000000..8c9713c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8320.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8320 Unwind@1400e8320 + * Pseudocode, not original source. */ + +void Unwind_1400e8320(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8330.c b/decomp/Agent_Release_x64/full/functions/0x1400e8330.c new file mode 100644 index 00000000..6c771149 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8330.c @@ -0,0 +1,22 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8330 Catch@1400e8330 + * Pseudocode, not original source. */ + +undefined * +Catch_1400e8330(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong lVar1; + longlong *plVar2; + + lVar1 = *(longlong *)(param_2 + 0x1d0); + if (*(longlong *)(*(longlong *)(lVar1 + 0x148) + 0x758) != 0) { + FUN_14002f4b0((exception *)(param_2 + 0x40),*(longlong *)(param_2 + 0x90),param_3,param_4); + *(undefined4 *)(param_2 + 0x58) = *(undefined4 *)(*(longlong *)(param_2 + 0x1d8) + 0x30); + plVar2 = *(longlong **)(*(longlong *)(lVar1 + 0x148) + 0x758); + (**(code **)(*plVar2 + 0x20))(plVar2,param_2 + 0x40); + FUN_14002ed50((exception *)(param_2 + 0x40)); + } + return &DAT_14008be27; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e83b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e83b0.c new file mode 100644 index 00000000..ad5123ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e83b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e83b0 Unwind@1400e83b0 + * Pseudocode, not original source. */ + +void Unwind_1400e83b0(undefined8 param_1,longlong param_2) + +{ + FUN_14002ed50((exception *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e83c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e83c0.c new file mode 100644 index 00000000..aeac0d78 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e83c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e83c0 Unwind@1400e83c0 + * Pseudocode, not original source. */ + +void Unwind_1400e83c0(undefined8 param_1,longlong param_2) + +{ + FUN_1400bbb70((char *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e83d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e83d0.c new file mode 100644 index 00000000..95807f50 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e83d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e83d0 Unwind@1400e83d0 + * Pseudocode, not original source. */ + +void Unwind_1400e83d0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_1400853e0((undefined8 *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e83e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e83e0.c new file mode 100644 index 00000000..dcfd5ca9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e83e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e83e0 Unwind@1400e83e0 + * Pseudocode, not original source. */ + +void Unwind_1400e83e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e83f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e83f0.c new file mode 100644 index 00000000..8bfba1fe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e83f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e83f0 Unwind@1400e83f0 + * Pseudocode, not original source. */ + +void Unwind_1400e83f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8400.c b/decomp/Agent_Release_x64/full/functions/0x1400e8400.c new file mode 100644 index 00000000..23559ba7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8400.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8400 Unwind@1400e8400 + * Pseudocode, not original source. */ + +void Unwind_1400e8400(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8410.c b/decomp/Agent_Release_x64/full/functions/0x1400e8410.c new file mode 100644 index 00000000..daa42f64 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8410.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8410 Unwind@1400e8410 + * Pseudocode, not original source. */ + +void Unwind_1400e8410(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8420.c b/decomp/Agent_Release_x64/full/functions/0x1400e8420.c new file mode 100644 index 00000000..14d0323a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8420.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8420 Unwind@1400e8420 + * Pseudocode, not original source. */ + +void Unwind_1400e8420(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xd8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8430.c b/decomp/Agent_Release_x64/full/functions/0x1400e8430.c new file mode 100644 index 00000000..f6c1e7b0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8430.c @@ -0,0 +1,52 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8430 Catch@1400e8430 + * Pseudocode, not original source. */ + +undefined8 +Catch_1400e8430(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + undefined *puVar2; + LPCSTR pCVar3; + int *piVar4; + longlong lVar5; + wchar_t *pwVar6; + undefined *puVar7; + undefined8 uVar8; + + FUN_140030200(param_1,param_2,param_3,param_4); + *(undefined **)(param_2 + 0x68) = PTR_DAT_140155010; + pCVar3 = (LPCSTR)(**(code **)(**(longlong **)(param_2 + 0x138) + 8))(); + *(longlong *)(param_2 + 0x160) = param_2 + 0x168; + FUN_14002a670((longlong *)(param_2 + 0x160),pCVar3,3); + FUN_14001b7a0((longlong *)(param_2 + 0x68),L"std.exception(%s)",*(undefined8 *)(param_2 + 0x160), + param_4); + if (*(void **)(param_2 + 0x160) != (void *)(param_2 + 0x168)) { + free(*(void **)(param_2 + 0x160)); + } + puVar2 = *(undefined **)(param_2 + 0x68); + puVar7 = puVar2; + if (puVar2 == (undefined *)0x0) { + puVar7 = PTR_DAT_140155010; + } + uVar8 = 0; + pwVar6 = L"Proud::CNetThreads_S::TcpListenerProc"; + lVar5 = *(longlong *)(param_2 + 0x48); + FUN_14008b960(lVar5,L"Proud::CNetThreads_S::TcpListenerProc",puVar7,0); + if (((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_140155010)) && + (puVar2 + -8 != (undefined *)0x0)) { + piVar4 = (int *)FUN_140030200(lVar5,pwVar6,puVar7,uVar8); + *(int **)(param_2 + 0x128) = piVar4; + FUN_14002e6e0(piVar4); + *(undefined1 *)(param_2 + 0x130) = 1; + piVar1 = (int *)(puVar2 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(puVar2 + -8); + } + FUN_14002e770((longlong)piVar4); + } + return 0x14008c3f1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8530.c b/decomp/Agent_Release_x64/full/functions/0x1400e8530.c new file mode 100644 index 00000000..439ecff4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8530.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8530 Unwind@1400e8530 + * Pseudocode, not original source. */ + +void Unwind_1400e8530(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x68),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8540.c b/decomp/Agent_Release_x64/full/functions/0x1400e8540.c new file mode 100644 index 00000000..ac6c6217 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8540.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8540 Unwind@1400e8540 + * Pseudocode, not original source. */ + +void Unwind_1400e8540(undefined8 param_1,longlong param_2) + +{ + FUN_14002a580((undefined8 *)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8550.c b/decomp/Agent_Release_x64/full/functions/0x1400e8550.c new file mode 100644 index 00000000..148c61bd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8550.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8550 Unwind@1400e8550 + * Pseudocode, not original source. */ + +void Unwind_1400e8550(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x128)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8560.c b/decomp/Agent_Release_x64/full/functions/0x1400e8560.c new file mode 100644 index 00000000..79de88cf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8560.c @@ -0,0 +1,69 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8560 Catch@1400e8560 + * Pseudocode, not original source. */ + +undefined8 +Catch_1400e8560(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + int *piVar2; + undefined *puVar3; + longlong *plVar4; + int *piVar5; + longlong lVar6; + wchar_t *pwVar7; + undefined8 uVar8; + undefined *puVar9; + + FUN_140030200(param_1,param_2,param_3,param_4); + *(undefined **)(param_2 + 0x60) = PTR_DAT_140155010; + plVar4 = FUN_14002ef50(*(longlong *)(param_2 + 0x120),(undefined8 *)(param_2 + 0x78),param_3, + param_4); + uVar8 = 0; + if ((undefined8 *)*plVar4 != (undefined8 *)0x0) { + uVar8 = *(undefined8 *)*plVar4; + } + FUN_14001b7a0((longlong *)(param_2 + 0x60),L"_com_error(%s)",uVar8,param_4); + plVar4 = *(longlong **)(param_2 + 0x78); + if (plVar4 != (longlong *)0x0) { + LOCK(); + plVar1 = plVar4 + 2; + lVar6 = *plVar1; + *(int *)plVar1 = (int)*plVar1 + -1; + UNLOCK(); + if (((int)lVar6 == 1) && (plVar4 != (longlong *)0x0)) { + if (*plVar4 != 0) { + Ordinal_6(); + } + if ((void *)plVar4[1] != (void *)0x0) { + operator_delete__((void *)plVar4[1]); + } + operator_delete(plVar4); + } + } + puVar3 = *(undefined **)(param_2 + 0x60); + puVar9 = puVar3; + if (puVar3 == (undefined *)0x0) { + puVar9 = PTR_DAT_140155010; + } + uVar8 = 0; + pwVar7 = L"Proud::CNetThreads_S::TcpListenerProc"; + lVar6 = *(longlong *)(param_2 + 0x48); + FUN_14008b960(lVar6,L"Proud::CNetThreads_S::TcpListenerProc",puVar9,0); + if (((puVar3 != (undefined *)0x0) && (puVar3 != PTR_DAT_140155010)) && + (puVar3 + -8 != (undefined *)0x0)) { + piVar5 = (int *)FUN_140030200(lVar6,pwVar7,puVar9,uVar8); + *(int **)(param_2 + 0x140) = piVar5; + FUN_14002e6e0(piVar5); + *(undefined1 *)(param_2 + 0x148) = 1; + piVar2 = (int *)(puVar3 + -4); + *piVar2 = *piVar2 + -1; + if (*piVar2 == 0) { + FUN_1400302f0(puVar3 + -8); + } + FUN_14002e770((longlong)piVar5); + } + return 0x14008c3f1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8670.c b/decomp/Agent_Release_x64/full/functions/0x1400e8670.c new file mode 100644 index 00000000..813c5d8f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8670.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8670 Unwind@1400e8670 + * Pseudocode, not original source. */ + +void Unwind_1400e8670(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8680.c b/decomp/Agent_Release_x64/full/functions/0x1400e8680.c new file mode 100644 index 00000000..1d8b3316 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8680.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8680 Unwind@1400e8680 + * Pseudocode, not original source. */ + +void Unwind_1400e8680(undefined8 param_1,longlong param_2) + +{ + FUN_14002eef0((undefined8 *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8690.c b/decomp/Agent_Release_x64/full/functions/0x1400e8690.c new file mode 100644 index 00000000..d8fb9e8b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8690.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8690 Unwind@1400e8690 + * Pseudocode, not original source. */ + +void Unwind_1400e8690(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x140)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e86a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e86a0.c new file mode 100644 index 00000000..87e99b92 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e86a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e86a0 Catch@1400e86a0 + * Pseudocode, not original source. */ + +undefined8 Catch_1400e86a0(undefined8 param_1,longlong param_2) + +{ + FUN_14008b960(*(longlong *)(param_2 + 0x48),L"Proud::CNetThreads_S::TcpListenerProc",L"void*",0); + return 0x14008c3f1; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e86e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e86e0.c new file mode 100644 index 00000000..562c4bff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e86e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e86e0 Unwind@1400e86e0 + * Pseudocode, not original source. */ + +void Unwind_1400e86e0(undefined8 param_1,longlong param_2) + +{ + FUN_1400bbb70((char *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e86f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e86f0.c new file mode 100644 index 00000000..63619ecd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e86f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e86f0 Unwind@1400e86f0 + * Pseudocode, not original source. */ + +void Unwind_1400e86f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400a1e80(param_2 + 0x60,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8700.c b/decomp/Agent_Release_x64/full/functions/0x1400e8700.c new file mode 100644 index 00000000..918136dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8700.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8700 Unwind@1400e8700 + * Pseudocode, not original source. */ + +void Unwind_1400e8700(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8710.c b/decomp/Agent_Release_x64/full/functions/0x1400e8710.c new file mode 100644 index 00000000..09809740 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8710.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8710 Unwind@1400e8710 + * Pseudocode, not original source. */ + +void Unwind_1400e8710(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8720.c b/decomp/Agent_Release_x64/full/functions/0x1400e8720.c new file mode 100644 index 00000000..4112fdf6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8720.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8720 Unwind@1400e8720 + * Pseudocode, not original source. */ + +void Unwind_1400e8720(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8730.c b/decomp/Agent_Release_x64/full/functions/0x1400e8730.c new file mode 100644 index 00000000..b5904c1b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8730.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8730 Unwind@1400e8730 + * Pseudocode, not original source. */ + +void Unwind_1400e8730(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8740.c b/decomp/Agent_Release_x64/full/functions/0x1400e8740.c new file mode 100644 index 00000000..3262c4f4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8740.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8740 Unwind@1400e8740 + * Pseudocode, not original source. */ + +void Unwind_1400e8740(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x58,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8750.c b/decomp/Agent_Release_x64/full/functions/0x1400e8750.c new file mode 100644 index 00000000..4d8d20f9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8750.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8750 Unwind@1400e8750 + * Pseudocode, not original source. */ + +void Unwind_1400e8750(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140057120(param_2 + 0x28,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8760.c b/decomp/Agent_Release_x64/full/functions/0x1400e8760.c new file mode 100644 index 00000000..25f48eca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8760.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8760 Unwind@1400e8760 + * Pseudocode, not original source. */ + +void Unwind_1400e8760(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8770.c b/decomp/Agent_Release_x64/full/functions/0x1400e8770.c new file mode 100644 index 00000000..8e9d3a2f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8770.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8770 Unwind@1400e8770 + * Pseudocode, not original source. */ + +void Unwind_1400e8770(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x1a8) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8780.c b/decomp/Agent_Release_x64/full/functions/0x1400e8780.c new file mode 100644 index 00000000..a84d6fce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8780.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8780 Unwind@1400e8780 + * Pseudocode, not original source. */ + +void Unwind_1400e8780(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8790.c b/decomp/Agent_Release_x64/full/functions/0x1400e8790.c new file mode 100644 index 00000000..09d1e791 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8790.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8790 Unwind@1400e8790 + * Pseudocode, not original source. */ + +void Unwind_1400e8790(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x50); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e87a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e87a0.c new file mode 100644 index 00000000..41395f1d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e87a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e87a0 Unwind@1400e87a0 + * Pseudocode, not original source. */ + +void Unwind_1400e87a0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xc0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e87b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e87b0.c new file mode 100644 index 00000000..d6db56fa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e87b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e87b0 Unwind@1400e87b0 + * Pseudocode, not original source. */ + +void Unwind_1400e87b0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x50); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e87c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e87c0.c new file mode 100644 index 00000000..3364d0da --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e87c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e87c0 Unwind@1400e87c0 + * Pseudocode, not original source. */ + +void Unwind_1400e87c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e87d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e87d0.c new file mode 100644 index 00000000..e7b36043 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e87d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e87d0 Unwind@1400e87d0 + * Pseudocode, not original source. */ + +void Unwind_1400e87d0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xb8) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e87e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e87e0.c new file mode 100644 index 00000000..cf8d0e46 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e87e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e87e0 Unwind@1400e87e0 + * Pseudocode, not original source. */ + +void Unwind_1400e87e0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e87f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e87f0.c new file mode 100644 index 00000000..b82b74d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e87f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e87f0 Unwind@1400e87f0 + * Pseudocode, not original source. */ + +void Unwind_1400e87f0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8800.c b/decomp/Agent_Release_x64/full/functions/0x1400e8800.c new file mode 100644 index 00000000..09d94012 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8800.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8800 Unwind@1400e8800 + * Pseudocode, not original source. */ + +void Unwind_1400e8800(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8810.c b/decomp/Agent_Release_x64/full/functions/0x1400e8810.c new file mode 100644 index 00000000..6c34f8ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8810.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8810 Unwind@1400e8810 + * Pseudocode, not original source. */ + +void Unwind_1400e8810(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8820.c b/decomp/Agent_Release_x64/full/functions/0x1400e8820.c new file mode 100644 index 00000000..bfe1124d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8820.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8820 Unwind@1400e8820 + * Pseudocode, not original source. */ + +void Unwind_1400e8820(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8830.c b/decomp/Agent_Release_x64/full/functions/0x1400e8830.c new file mode 100644 index 00000000..048d1dc2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8830.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8830 Unwind@1400e8830 + * Pseudocode, not original source. */ + +void Unwind_1400e8830(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8840.c b/decomp/Agent_Release_x64/full/functions/0x1400e8840.c new file mode 100644 index 00000000..96b0e4fe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8840.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8840 Unwind@1400e8840 + * Pseudocode, not original source. */ + +void Unwind_1400e8840(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8850.c b/decomp/Agent_Release_x64/full/functions/0x1400e8850.c new file mode 100644 index 00000000..498a053e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8850.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8850 Unwind@1400e8850 + * Pseudocode, not original source. */ + +void Unwind_1400e8850(undefined8 param_1,longlong param_2) + +{ + FUN_14009c490((longlong *)(param_2 + 0xa0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8860.c b/decomp/Agent_Release_x64/full/functions/0x1400e8860.c new file mode 100644 index 00000000..25f49d8d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8860.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8860 Unwind@1400e8860 + * Pseudocode, not original source. */ + +void Unwind_1400e8860(undefined8 param_1,longlong param_2,SIZE_T param_3) + +{ + FUN_140086710((longlong *)(param_2 + 0x58),param_2,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8870.c b/decomp/Agent_Release_x64/full/functions/0x1400e8870.c new file mode 100644 index 00000000..6cbfb85c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8870.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8870 Unwind@1400e8870 + * Pseudocode, not original source. */ + +void Unwind_1400e8870(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8880.c b/decomp/Agent_Release_x64/full/functions/0x1400e8880.c new file mode 100644 index 00000000..075c5463 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8880.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8880 Unwind@1400e8880 + * Pseudocode, not original source. */ + +void Unwind_1400e8880(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xf8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8890.c b/decomp/Agent_Release_x64/full/functions/0x1400e8890.c new file mode 100644 index 00000000..e595ab3a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8890.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8890 Unwind@1400e8890 + * Pseudocode, not original source. */ + +void Unwind_1400e8890(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xd8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e88a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e88a0.c new file mode 100644 index 00000000..b8c8e412 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e88a0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e88a0 Catch@1400e88a0 + * Pseudocode, not original source. */ + +undefined * Catch_1400e88a0(undefined8 param_1,longlong param_2) + +{ + FUN_14008b180(*(longlong *)(param_2 + 0x1c0),*(wchar_t **)(param_2 + 0x40),0x140103e40, + L"std.exception"); + return &DAT_14008d863; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e88e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e88e0.c new file mode 100644 index 00000000..03fbc32e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e88e0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e88e0 Catch@1400e88e0 + * Pseudocode, not original source. */ + +undefined * Catch_1400e88e0(undefined8 param_1,longlong param_2) + +{ + FUN_14008b180(*(longlong *)(param_2 + 0x1c0),*(wchar_t **)(param_2 + 0x40),0x140103e40, + L"_com_error"); + return &DAT_14008d863; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8920.c b/decomp/Agent_Release_x64/full/functions/0x1400e8920.c new file mode 100644 index 00000000..20821831 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8920.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8920 Catch@1400e8920 + * Pseudocode, not original source. */ + +undefined * Catch_1400e8920(undefined8 param_1,longlong param_2) + +{ + FUN_14008b180(*(longlong *)(param_2 + 0x1c0),*(wchar_t **)(param_2 + 0x40),0x140103e40,L"void*"); + return &DAT_14008d863; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8960.c b/decomp/Agent_Release_x64/full/functions/0x1400e8960.c new file mode 100644 index 00000000..807b92ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8960.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8960 Unwind@1400e8960 + * Pseudocode, not original source. */ + +void Unwind_1400e8960(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8970.c b/decomp/Agent_Release_x64/full/functions/0x1400e8970.c new file mode 100644 index 00000000..0b3df204 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8970.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8970 Unwind@1400e8970 + * Pseudocode, not original source. */ + +void Unwind_1400e8970(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x140)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8980.c b/decomp/Agent_Release_x64/full/functions/0x1400e8980.c new file mode 100644 index 00000000..c5b335a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8980.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8980 Unwind@1400e8980 + * Pseudocode, not original source. */ + +void Unwind_1400e8980(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x130)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8990.c b/decomp/Agent_Release_x64/full/functions/0x1400e8990.c new file mode 100644 index 00000000..1e1c0046 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8990.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8990 Unwind@1400e8990 + * Pseudocode, not original source. */ + +void Unwind_1400e8990(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x150)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e89a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e89a0.c new file mode 100644 index 00000000..fd9f7cc0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e89a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e89a0 Unwind@1400e89a0 + * Pseudocode, not original source. */ + +void Unwind_1400e89a0(undefined8 param_1,longlong param_2) + +{ + FUN_14009c490((longlong *)(param_2 + 0x180)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e89b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e89b0.c new file mode 100644 index 00000000..2764a272 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e89b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e89b0 Unwind@1400e89b0 + * Pseudocode, not original source. */ + +void Unwind_1400e89b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e89c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e89c0.c new file mode 100644 index 00000000..7de67fa2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e89c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e89c0 Unwind@1400e89c0 + * Pseudocode, not original source. */ + +void Unwind_1400e89c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e89d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e89d0.c new file mode 100644 index 00000000..155e2b10 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e89d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e89d0 Unwind@1400e89d0 + * Pseudocode, not original source. */ + +void Unwind_1400e89d0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e89e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e89e0.c new file mode 100644 index 00000000..3187ae34 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e89e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e89e0 Unwind@1400e89e0 + * Pseudocode, not original source. */ + +void Unwind_1400e89e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x178),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e89f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e89f0.c new file mode 100644 index 00000000..d34ec73c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e89f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e89f0 Unwind@1400e89f0 + * Pseudocode, not original source. */ + +void Unwind_1400e89f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8a00.c b/decomp/Agent_Release_x64/full/functions/0x1400e8a00.c new file mode 100644 index 00000000..d6d2c5e4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8a00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8a00 Unwind@1400e8a00 + * Pseudocode, not original source. */ + +void Unwind_1400e8a00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x100)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8a10.c b/decomp/Agent_Release_x64/full/functions/0x1400e8a10.c new file mode 100644 index 00000000..5e398cf1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8a10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8a10 Unwind@1400e8a10 + * Pseudocode, not original source. */ + +void Unwind_1400e8a10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8a20.c b/decomp/Agent_Release_x64/full/functions/0x1400e8a20.c new file mode 100644 index 00000000..54762040 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8a20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8a20 Unwind@1400e8a20 + * Pseudocode, not original source. */ + +void Unwind_1400e8a20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xf0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8a30.c b/decomp/Agent_Release_x64/full/functions/0x1400e8a30.c new file mode 100644 index 00000000..d7fb1fb2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8a30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8a30 Unwind@1400e8a30 + * Pseudocode, not original source. */ + +void Unwind_1400e8a30(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8a40.c b/decomp/Agent_Release_x64/full/functions/0x1400e8a40.c new file mode 100644 index 00000000..84fc9f0d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8a40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8a40 Unwind@1400e8a40 + * Pseudocode, not original source. */ + +void Unwind_1400e8a40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8a50.c b/decomp/Agent_Release_x64/full/functions/0x1400e8a50.c new file mode 100644 index 00000000..fbdadb35 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8a50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8a50 Unwind@1400e8a50 + * Pseudocode, not original source. */ + +void Unwind_1400e8a50(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8a60.c b/decomp/Agent_Release_x64/full/functions/0x1400e8a60.c new file mode 100644 index 00000000..ddd0becf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8a60.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8a60 Catch@1400e8a60 + * Pseudocode, not original source. */ + +undefined8 Catch_1400e8a60(undefined8 param_1,longlong param_2) + +{ + LPCSTR pCVar1; + + pCVar1 = (LPCSTR)(**(code **)(**(longlong **)(param_2 + 0x48) + 8))(); + *(longlong *)(param_2 + 0x50) = param_2 + 0x58; + FUN_14002a670((longlong *)(param_2 + 0x50),pCVar1,3); + FUN_14008b180(*(longlong *)(param_2 + 0x28),*(wchar_t **)(param_2 + 0x20),0x140103ff0, + *(undefined8 *)(param_2 + 0x50)); + if (*(void **)(param_2 + 0x50) != (void *)(param_2 + 0x58)) { + free(*(void **)(param_2 + 0x50)); + } + return 0x14008e116; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8ad0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8ad0.c new file mode 100644 index 00000000..2a653594 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8ad0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8ad0 Unwind@1400e8ad0 + * Pseudocode, not original source. */ + +void Unwind_1400e8ad0(undefined8 param_1,longlong param_2) + +{ + FUN_14002a580((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8ae0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8ae0.c new file mode 100644 index 00000000..73b089ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8ae0.c @@ -0,0 +1,40 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8ae0 Catch@1400e8ae0 + * Pseudocode, not original source. */ + +undefined8 +Catch_1400e8ae0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + longlong lVar2; + longlong *plVar3; + undefined8 uVar4; + + plVar3 = FUN_14002ef50(*(longlong *)(param_2 + 0x40),(undefined8 *)(param_2 + 0x30),param_3, + param_4); + uVar4 = 0; + if ((undefined8 *)*plVar3 != (undefined8 *)0x0) { + uVar4 = *(undefined8 *)*plVar3; + } + FUN_14008b180(*(longlong *)(param_2 + 0x28),*(wchar_t **)(param_2 + 0x20),0x140103ff0,uVar4); + plVar3 = *(longlong **)(param_2 + 0x30); + if (plVar3 != (longlong *)0x0) { + LOCK(); + plVar1 = plVar3 + 2; + lVar2 = *plVar1; + *(int *)plVar1 = (int)*plVar1 + -1; + UNLOCK(); + if (((int)lVar2 == 1) && (plVar3 != (longlong *)0x0)) { + if (*plVar3 != 0) { + Ordinal_6(); + } + if ((void *)plVar3[1] != (void *)0x0) { + operator_delete__((void *)plVar3[1]); + } + operator_delete(plVar3); + } + } + return 0x14008e116; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8b70.c b/decomp/Agent_Release_x64/full/functions/0x1400e8b70.c new file mode 100644 index 00000000..efe14864 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8b70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8b70 Unwind@1400e8b70 + * Pseudocode, not original source. */ + +void Unwind_1400e8b70(undefined8 param_1,longlong param_2) + +{ + FUN_14002eef0((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8b80.c b/decomp/Agent_Release_x64/full/functions/0x1400e8b80.c new file mode 100644 index 00000000..752d80dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8b80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8b80 Catch@1400e8b80 + * Pseudocode, not original source. */ + +undefined8 Catch_1400e8b80(undefined8 param_1,longlong param_2) + +{ + FUN_14008b180(*(longlong *)(param_2 + 0x28),*(wchar_t **)(param_2 + 0x20),0x140103ff0,L"void*"); + return 0x14008e116; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8bc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8bc0.c new file mode 100644 index 00000000..82cb2bb4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8bc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8bc0 Unwind@1400e8bc0 + * Pseudocode, not original source. */ + +void Unwind_1400e8bc0(undefined8 param_1,longlong param_2) + +{ + FUN_1400bbb70((char *)(param_2 + 0x138)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8bd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8bd0.c new file mode 100644 index 00000000..df475ede --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8bd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8bd0 Unwind@1400e8bd0 + * Pseudocode, not original source. */ + +void Unwind_1400e8bd0(undefined8 param_1,longlong param_2) + +{ + FUN_140085bb0((undefined8 *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8be0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8be0.c new file mode 100644 index 00000000..f5451f11 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8be0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8be0 Unwind@1400e8be0 + * Pseudocode, not original source. */ + +void Unwind_1400e8be0(undefined8 param_1,longlong param_2) + +{ + FUN_140089980((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8bf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8bf0.c new file mode 100644 index 00000000..a48ef14e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8bf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8bf0 Unwind@1400e8bf0 + * Pseudocode, not original source. */ + +void Unwind_1400e8bf0(undefined8 param_1,longlong param_2) + +{ + FUN_140085bf0((undefined8 *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8c00.c b/decomp/Agent_Release_x64/full/functions/0x1400e8c00.c new file mode 100644 index 00000000..ca68e88e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8c00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8c00 Unwind@1400e8c00 + * Pseudocode, not original source. */ + +void Unwind_1400e8c00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x148),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8c10.c b/decomp/Agent_Release_x64/full/functions/0x1400e8c10.c new file mode 100644 index 00000000..a09541cb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8c10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8c10 Unwind@1400e8c10 + * Pseudocode, not original source. */ + +void Unwind_1400e8c10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8c20.c b/decomp/Agent_Release_x64/full/functions/0x1400e8c20.c new file mode 100644 index 00000000..ee6fa467 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8c20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8c20 Unwind@1400e8c20 + * Pseudocode, not original source. */ + +void Unwind_1400e8c20(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x140) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8c30.c b/decomp/Agent_Release_x64/full/functions/0x1400e8c30.c new file mode 100644 index 00000000..5e050bd3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8c30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8c30 Unwind@1400e8c30 + * Pseudocode, not original source. */ + +void Unwind_1400e8c30(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8c40.c b/decomp/Agent_Release_x64/full/functions/0x1400e8c40.c new file mode 100644 index 00000000..9f524316 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8c40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8c40 Unwind@1400e8c40 + * Pseudocode, not original source. */ + +void Unwind_1400e8c40(undefined8 param_1,longlong param_2) + +{ + FUN_140044360((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8c50.c b/decomp/Agent_Release_x64/full/functions/0x1400e8c50.c new file mode 100644 index 00000000..42be26b4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8c50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8c50 Unwind@1400e8c50 + * Pseudocode, not original source. */ + +void Unwind_1400e8c50(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8c60.c b/decomp/Agent_Release_x64/full/functions/0x1400e8c60.c new file mode 100644 index 00000000..49d6d27f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8c60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8c60 Unwind@1400e8c60 + * Pseudocode, not original source. */ + +void Unwind_1400e8c60(undefined8 param_1,longlong param_2) + +{ + FUN_140044360((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8c70.c b/decomp/Agent_Release_x64/full/functions/0x1400e8c70.c new file mode 100644 index 00000000..584057cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8c70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8c70 Unwind@1400e8c70 + * Pseudocode, not original source. */ + +void Unwind_1400e8c70(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8c80.c b/decomp/Agent_Release_x64/full/functions/0x1400e8c80.c new file mode 100644 index 00000000..4a680fb3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8c80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8c80 Unwind@1400e8c80 + * Pseudocode, not original source. */ + +void Unwind_1400e8c80(undefined8 param_1,longlong param_2) + +{ + FUN_140044360((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8c90.c b/decomp/Agent_Release_x64/full/functions/0x1400e8c90.c new file mode 100644 index 00000000..e6a89607 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8c90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8c90 Unwind@1400e8c90 + * Pseudocode, not original source. */ + +void Unwind_1400e8c90(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8ca0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8ca0.c new file mode 100644 index 00000000..1bbacdf0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8ca0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8ca0 Unwind@1400e8ca0 + * Pseudocode, not original source. */ + +void Unwind_1400e8ca0(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8cb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8cb0.c new file mode 100644 index 00000000..805dc368 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8cb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8cb0 Unwind@1400e8cb0 + * Pseudocode, not original source. */ + +void Unwind_1400e8cb0(undefined8 param_1,longlong param_2) + +{ + FUN_140044360((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8cc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8cc0.c new file mode 100644 index 00000000..fc570ae3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8cc0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8cc0 Catch_All@1400e8cc0 + * Pseudocode, not original source. */ + +undefined8 Catch_All_1400e8cc0(void) + +{ + return 0x14008eed3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8ce0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8ce0.c new file mode 100644 index 00000000..7f452a0a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8ce0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8ce0 Unwind@1400e8ce0 + * Pseudocode, not original source. */ + +void Unwind_1400e8ce0(undefined8 param_1,longlong param_2) + +{ + FUN_14008eec0(*(char **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8cf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8cf0.c new file mode 100644 index 00000000..2aab4473 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8cf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8cf0 Unwind@1400e8cf0 + * Pseudocode, not original source. */ + +void Unwind_1400e8cf0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8d00.c b/decomp/Agent_Release_x64/full/functions/0x1400e8d00.c new file mode 100644 index 00000000..f32279c6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8d00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8d00 Unwind@1400e8d00 + * Pseudocode, not original source. */ + +void Unwind_1400e8d00(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0xc0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8d10.c b/decomp/Agent_Release_x64/full/functions/0x1400e8d10.c new file mode 100644 index 00000000..8b6ad7e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8d10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8d10 Unwind@1400e8d10 + * Pseudocode, not original source. */ + +void Unwind_1400e8d10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14008f080((longlong *)(param_2 + 0xc0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8d20.c b/decomp/Agent_Release_x64/full/functions/0x1400e8d20.c new file mode 100644 index 00000000..3eed00d8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8d20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8d20 Unwind@1400e8d20 + * Pseudocode, not original source. */ + +void Unwind_1400e8d20(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8d40.c b/decomp/Agent_Release_x64/full/functions/0x1400e8d40.c new file mode 100644 index 00000000..7dd2ca1b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8d40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8d40 Unwind@1400e8d40 + * Pseudocode, not original source. */ + +void Unwind_1400e8d40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8d50.c b/decomp/Agent_Release_x64/full/functions/0x1400e8d50.c new file mode 100644 index 00000000..5469835a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8d50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8d50 Unwind@1400e8d50 + * Pseudocode, not original source. */ + +void Unwind_1400e8d50(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8d60.c b/decomp/Agent_Release_x64/full/functions/0x1400e8d60.c new file mode 100644 index 00000000..858925d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8d60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8d60 Unwind@1400e8d60 + * Pseudocode, not original source. */ + +void Unwind_1400e8d60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14008f080((longlong *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8d70.c b/decomp/Agent_Release_x64/full/functions/0x1400e8d70.c new file mode 100644 index 00000000..930940e7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8d70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8d70 Unwind@1400e8d70 + * Pseudocode, not original source. */ + +void Unwind_1400e8d70(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8d90.c b/decomp/Agent_Release_x64/full/functions/0x1400e8d90.c new file mode 100644 index 00000000..884da752 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8d90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8d90 Unwind@1400e8d90 + * Pseudocode, not original source. */ + +void Unwind_1400e8d90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x68),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8da0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8da0.c new file mode 100644 index 00000000..cf2eb368 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8da0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8da0 Unwind@1400e8da0 + * Pseudocode, not original source. */ + +void Unwind_1400e8da0(undefined8 param_1,longlong param_2) + +{ + FUN_14000b470((longlong *)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8db0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8db0.c new file mode 100644 index 00000000..4ac3b0a9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8db0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8db0 Unwind@1400e8db0 + * Pseudocode, not original source. */ + +void Unwind_1400e8db0(undefined8 param_1,longlong param_2) + +{ + FUN_14008ebf0((undefined8 *)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8dc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8dc0.c new file mode 100644 index 00000000..708a14bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8dc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8dc0 Unwind@1400e8dc0 + * Pseudocode, not original source. */ + +void Unwind_1400e8dc0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8dd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8dd0.c new file mode 100644 index 00000000..adcca3db --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8dd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8dd0 Unwind@1400e8dd0 + * Pseudocode, not original source. */ + +void Unwind_1400e8dd0(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14008f7f0(param_2 + 0xf,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8de0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8de0.c new file mode 100644 index 00000000..b2eb3dd1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8de0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8de0 Unwind@1400e8de0 + * Pseudocode, not original source. */ + +void Unwind_1400e8de0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8df0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8df0.c new file mode 100644 index 00000000..71295ced --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8df0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8df0 Unwind@1400e8df0 + * Pseudocode, not original source. */ + +void Unwind_1400e8df0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14008f080((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8e00.c b/decomp/Agent_Release_x64/full/functions/0x1400e8e00.c new file mode 100644 index 00000000..78bb991e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8e00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8e00 Unwind@1400e8e00 + * Pseudocode, not original source. */ + +void Unwind_1400e8e00(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8e30.c b/decomp/Agent_Release_x64/full/functions/0x1400e8e30.c new file mode 100644 index 00000000..a676213c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8e30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8e30 Unwind@1400e8e30 + * Pseudocode, not original source. */ + +void Unwind_1400e8e30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8e40.c b/decomp/Agent_Release_x64/full/functions/0x1400e8e40.c new file mode 100644 index 00000000..c342b48f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8e40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8e40 Unwind@1400e8e40 + * Pseudocode, not original source. */ + +void Unwind_1400e8e40(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14008f080((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8e50.c b/decomp/Agent_Release_x64/full/functions/0x1400e8e50.c new file mode 100644 index 00000000..4951ce3a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8e50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8e50 Unwind@1400e8e50 + * Pseudocode, not original source. */ + +void Unwind_1400e8e50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8e60.c b/decomp/Agent_Release_x64/full/functions/0x1400e8e60.c new file mode 100644 index 00000000..309c758c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8e60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8e60 Unwind@1400e8e60 + * Pseudocode, not original source. */ + +void Unwind_1400e8e60(undefined8 param_1,longlong param_2) + +{ + FUN_14000b470((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8e70.c b/decomp/Agent_Release_x64/full/functions/0x1400e8e70.c new file mode 100644 index 00000000..9fa95092 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8e70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8e70 Unwind@1400e8e70 + * Pseudocode, not original source. */ + +void Unwind_1400e8e70(undefined8 param_1,longlong param_2) + +{ + FUN_14008ebf0((undefined8 *)(param_2 + 0x270)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8e80.c b/decomp/Agent_Release_x64/full/functions/0x1400e8e80.c new file mode 100644 index 00000000..756ec5d8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8e80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8e80 Unwind@1400e8e80 + * Pseudocode, not original source. */ + +void Unwind_1400e8e80(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8e90.c b/decomp/Agent_Release_x64/full/functions/0x1400e8e90.c new file mode 100644 index 00000000..107affe6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8e90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8e90 Unwind@1400e8e90 + * Pseudocode, not original source. */ + +void Unwind_1400e8e90(undefined8 param_1,longlong param_2) + +{ + FUN_14000b470((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8ea0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8ea0.c new file mode 100644 index 00000000..4607b3e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8ea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8ea0 Unwind@1400e8ea0 + * Pseudocode, not original source. */ + +void Unwind_1400e8ea0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x130)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8eb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8eb0.c new file mode 100644 index 00000000..5888fcb3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8eb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8eb0 Unwind@1400e8eb0 + * Pseudocode, not original source. */ + +void Unwind_1400e8eb0(undefined8 param_1,longlong param_2) + +{ + FUN_1400644d0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8ec0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8ec0.c new file mode 100644 index 00000000..c9a3368d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8ec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8ec0 Unwind@1400e8ec0 + * Pseudocode, not original source. */ + +void Unwind_1400e8ec0(undefined8 param_1,longlong param_2) + +{ + FUN_14003a1b0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x10)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8ed0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8ed0.c new file mode 100644 index 00000000..45683987 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8ed0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8ed0 Unwind@1400e8ed0 + * Pseudocode, not original source. */ + +void Unwind_1400e8ed0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x40) + 0x18),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8ee0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8ee0.c new file mode 100644 index 00000000..257d28a6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8ee0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8ee0 Unwind@1400e8ee0 + * Pseudocode, not original source. */ + +void Unwind_1400e8ee0(undefined8 param_1,longlong param_2) + +{ + FUN_140037670((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8ef0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8ef0.c new file mode 100644 index 00000000..90d52603 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8ef0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8ef0 Unwind@1400e8ef0 + * Pseudocode, not original source. */ + +void Unwind_1400e8ef0(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14008f7f0((longlong *)(param_2[8] + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8f10.c b/decomp/Agent_Release_x64/full/functions/0x1400e8f10.c new file mode 100644 index 00000000..e914a9cf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8f10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8f10 Unwind@1400e8f10 + * Pseudocode, not original source. */ + +void Unwind_1400e8f10(undefined8 param_1,longlong param_2) + +{ + FUN_1400644d0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8f20.c b/decomp/Agent_Release_x64/full/functions/0x1400e8f20.c new file mode 100644 index 00000000..d7e5f486 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8f20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8f20 Unwind@1400e8f20 + * Pseudocode, not original source. */ + +void Unwind_1400e8f20(undefined8 param_1,longlong param_2) + +{ + FUN_14003a1b0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x10)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8f30.c b/decomp/Agent_Release_x64/full/functions/0x1400e8f30.c new file mode 100644 index 00000000..65694b81 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8f30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8f30 Unwind@1400e8f30 + * Pseudocode, not original source. */ + +void Unwind_1400e8f30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x40) + 0x18),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8f40.c b/decomp/Agent_Release_x64/full/functions/0x1400e8f40.c new file mode 100644 index 00000000..45106f62 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8f40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8f40 Unwind@1400e8f40 + * Pseudocode, not original source. */ + +void Unwind_1400e8f40(undefined8 param_1,longlong param_2) + +{ + FUN_1400644d0((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8f50.c b/decomp/Agent_Release_x64/full/functions/0x1400e8f50.c new file mode 100644 index 00000000..5bc760c6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8f50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8f50 Unwind@1400e8f50 + * Pseudocode, not original source. */ + +void Unwind_1400e8f50(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8f60.c b/decomp/Agent_Release_x64/full/functions/0x1400e8f60.c new file mode 100644 index 00000000..fab20e28 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8f60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8f60 Unwind@1400e8f60 + * Pseudocode, not original source. */ + +void Unwind_1400e8f60(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8f70.c b/decomp/Agent_Release_x64/full/functions/0x1400e8f70.c new file mode 100644 index 00000000..7ffbd40c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8f70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8f70 Unwind@1400e8f70 + * Pseudocode, not original source. */ + +void Unwind_1400e8f70(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8f90.c b/decomp/Agent_Release_x64/full/functions/0x1400e8f90.c new file mode 100644 index 00000000..5c71e21f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8f90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8f90 Unwind@1400e8f90 + * Pseudocode, not original source. */ + +void Unwind_1400e8f90(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8fb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8fb0.c new file mode 100644 index 00000000..8119740d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8fb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8fb0 Unwind@1400e8fb0 + * Pseudocode, not original source. */ + +void Unwind_1400e8fb0(undefined8 param_1,longlong param_2) + +{ + FUN_140037670((undefined8 *)(*(longlong *)(param_2 + 0x60) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8fc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8fc0.c new file mode 100644 index 00000000..f5c6105d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8fc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8fc0 Unwind@1400e8fc0 + * Pseudocode, not original source. */ + +void Unwind_1400e8fc0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x60) + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8fd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8fd0.c new file mode 100644 index 00000000..cbf78931 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8fd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8fd0 Unwind@1400e8fd0 + * Pseudocode, not original source. */ + +void Unwind_1400e8fd0(undefined8 param_1,longlong param_2) + +{ + FUN_1400904c0((undefined8 *)(*(longlong *)(param_2 + 0x60) + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8fe0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8fe0.c new file mode 100644 index 00000000..26c10acc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8fe0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8fe0 Unwind@1400e8fe0 + * Pseudocode, not original source. */ + +void Unwind_1400e8fe0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e8ff0.c b/decomp/Agent_Release_x64/full/functions/0x1400e8ff0.c new file mode 100644 index 00000000..15b1bad1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e8ff0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e8ff0 Unwind@1400e8ff0 + * Pseudocode, not original source. */ + +void Unwind_1400e8ff0(undefined8 param_1,longlong param_2) + +{ + FUN_140037670((undefined8 *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9000.c b/decomp/Agent_Release_x64/full/functions/0x1400e9000.c new file mode 100644 index 00000000..698a3c13 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9000.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9000 Unwind@1400e9000 + * Pseudocode, not original source. */ + +void Unwind_1400e9000(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x40) + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9010.c b/decomp/Agent_Release_x64/full/functions/0x1400e9010.c new file mode 100644 index 00000000..f5bf2eb5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9010.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9010 Unwind@1400e9010 + * Pseudocode, not original source. */ + +void Unwind_1400e9010(undefined8 param_1,longlong param_2) + +{ + FUN_1400904c0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9020.c b/decomp/Agent_Release_x64/full/functions/0x1400e9020.c new file mode 100644 index 00000000..28110b4b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9020.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9020 Unwind@1400e9020 + * Pseudocode, not original source. */ + +void Unwind_1400e9020(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9030.c b/decomp/Agent_Release_x64/full/functions/0x1400e9030.c new file mode 100644 index 00000000..73bd2d2d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9030.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9030 Unwind@1400e9030 + * Pseudocode, not original source. */ + +void Unwind_1400e9030(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9040.c b/decomp/Agent_Release_x64/full/functions/0x1400e9040.c new file mode 100644 index 00000000..f350a5a7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9040.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9040 Unwind@1400e9040 + * Pseudocode, not original source. */ + +void Unwind_1400e9040(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9050.c b/decomp/Agent_Release_x64/full/functions/0x1400e9050.c new file mode 100644 index 00000000..8190296f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9050.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9050 Catch@1400e9050 + * Pseudocode, not original source. */ + +undefined * Catch_1400e9050(undefined8 param_1,longlong param_2) + +{ + (**(code **)(**(longlong **)(param_2 + 0x78) + 8))(); + return &DAT_140092702; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9080.c b/decomp/Agent_Release_x64/full/functions/0x1400e9080.c new file mode 100644 index 00000000..8be2576d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9080.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9080 Unwind@1400e9080 + * Pseudocode, not original source. */ + +void Unwind_1400e9080(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9090.c b/decomp/Agent_Release_x64/full/functions/0x1400e9090.c new file mode 100644 index 00000000..6e235896 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9090.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9090 Unwind@1400e9090 + * Pseudocode, not original source. */ + +void Unwind_1400e9090(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e90a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e90a0.c new file mode 100644 index 00000000..6b87a71b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e90a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e90a0 Unwind@1400e90a0 + * Pseudocode, not original source. */ + +void Unwind_1400e90a0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e90b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e90b0.c new file mode 100644 index 00000000..004f9236 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e90b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e90b0 Catch@1400e90b0 + * Pseudocode, not original source. */ + +undefined * Catch_1400e90b0(undefined8 param_1,longlong param_2) + +{ + (**(code **)(**(longlong **)(param_2 + 0x70) + 8))(); + return &DAT_1400929b6; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e90e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e90e0.c new file mode 100644 index 00000000..02030d13 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e90e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e90e0 Unwind@1400e90e0 + * Pseudocode, not original source. */ + +void Unwind_1400e90e0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e90f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e90f0.c new file mode 100644 index 00000000..2ff5ae15 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e90f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e90f0 Catch@1400e90f0 + * Pseudocode, not original source. */ + +undefined * Catch_1400e90f0(undefined8 param_1,longlong param_2) + +{ + (**(code **)(**(longlong **)(param_2 + 0x30) + 8))(); + return &DAT_140092cad; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9120.c b/decomp/Agent_Release_x64/full/functions/0x1400e9120.c new file mode 100644 index 00000000..965d8d19 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9120.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9120 Catch@1400e9120 + * Pseudocode, not original source. */ + +undefined * Catch_1400e9120(undefined8 param_1,longlong param_2) + +{ + (**(code **)(**(longlong **)(param_2 + 0x38) + 8))(); + return &DAT_140092ed2; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9150.c b/decomp/Agent_Release_x64/full/functions/0x1400e9150.c new file mode 100644 index 00000000..e4c6a202 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9150.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9150 Unwind@1400e9150 + * Pseudocode, not original source. */ + +void Unwind_1400e9150(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9160.c b/decomp/Agent_Release_x64/full/functions/0x1400e9160.c new file mode 100644 index 00000000..f86c6076 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9160 Unwind@1400e9160 + * Pseudocode, not original source. */ + +void Unwind_1400e9160(void) + +{ + DAT_14015e140 = DAT_14015e140 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9180.c b/decomp/Agent_Release_x64/full/functions/0x1400e9180.c new file mode 100644 index 00000000..c7f66cc0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9180.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9180 Unwind@1400e9180 + * Pseudocode, not original source. */ + +void Unwind_1400e9180(undefined8 param_1,longlong param_2) + +{ + FUN_1400032e0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9190.c b/decomp/Agent_Release_x64/full/functions/0x1400e9190.c new file mode 100644 index 00000000..6e9d109f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9190.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9190 Unwind@1400e9190 + * Pseudocode, not original source. */ + +void Unwind_1400e9190(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140085260((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x10)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e91a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e91a0.c new file mode 100644 index 00000000..db27149e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e91a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e91a0 Unwind@1400e91a0 + * Pseudocode, not original source. */ + +void Unwind_1400e91a0(undefined8 param_1,longlong param_2) + +{ + FUN_140092f30((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e91b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e91b0.c new file mode 100644 index 00000000..f5fb890c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e91b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e91b0 Unwind@1400e91b0 + * Pseudocode, not original source. */ + +void Unwind_1400e91b0(undefined8 param_1,longlong param_2) + +{ + FUN_140092fb0((longlong *)(*(longlong *)(param_2 + 0x40) + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e91c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e91c0.c new file mode 100644 index 00000000..b36d419f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e91c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e91c0 Unwind@1400e91c0 + * Pseudocode, not original source. */ + +void Unwind_1400e91c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(*(longlong *)(param_2 + 0x40) + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e91d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e91d0.c new file mode 100644 index 00000000..145279bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e91d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e91d0 Unwind@1400e91d0 + * Pseudocode, not original source. */ + +void Unwind_1400e91d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(*(longlong *)(param_2 + 0x40) + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e91e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e91e0.c new file mode 100644 index 00000000..e7506130 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e91e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e91e0 Unwind@1400e91e0 + * Pseudocode, not original source. */ + +void Unwind_1400e91e0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140081fe0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e91f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e91f0.c new file mode 100644 index 00000000..818bdb4b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e91f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e91f0 Unwind@1400e91f0 + * Pseudocode, not original source. */ + +void Unwind_1400e91f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x40) + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9210.c b/decomp/Agent_Release_x64/full/functions/0x1400e9210.c new file mode 100644 index 00000000..4f73373b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9210.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9210 Unwind@1400e9210 + * Pseudocode, not original source. */ + +void Unwind_1400e9210(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x158),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9220.c b/decomp/Agent_Release_x64/full/functions/0x1400e9220.c new file mode 100644 index 00000000..f483d684 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9220.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9220 Unwind@1400e9220 + * Pseudocode, not original source. */ + +void Unwind_1400e9220(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9230.c b/decomp/Agent_Release_x64/full/functions/0x1400e9230.c new file mode 100644 index 00000000..e5411177 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9230.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9230 Unwind@1400e9230 + * Pseudocode, not original source. */ + +void Unwind_1400e9230(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9240.c b/decomp/Agent_Release_x64/full/functions/0x1400e9240.c new file mode 100644 index 00000000..826a9b01 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9240.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9240 Unwind@1400e9240 + * Pseudocode, not original source. */ + +void Unwind_1400e9240(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9250.c b/decomp/Agent_Release_x64/full/functions/0x1400e9250.c new file mode 100644 index 00000000..16e22fdb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9250.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9250 Unwind@1400e9250 + * Pseudocode, not original source. */ + +void Unwind_1400e9250(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9260.c b/decomp/Agent_Release_x64/full/functions/0x1400e9260.c new file mode 100644 index 00000000..7362105b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9260.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9260 Unwind@1400e9260 + * Pseudocode, not original source. */ + +void Unwind_1400e9260(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9270.c b/decomp/Agent_Release_x64/full/functions/0x1400e9270.c new file mode 100644 index 00000000..041b6516 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9270.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9270 Unwind@1400e9270 + * Pseudocode, not original source. */ + +void Unwind_1400e9270(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9280.c b/decomp/Agent_Release_x64/full/functions/0x1400e9280.c new file mode 100644 index 00000000..a2ca274b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9280.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9280 Unwind@1400e9280 + * Pseudocode, not original source. */ + +void Unwind_1400e9280(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9290.c b/decomp/Agent_Release_x64/full/functions/0x1400e9290.c new file mode 100644 index 00000000..a97c4443 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9290.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9290 Unwind@1400e9290 + * Pseudocode, not original source. */ + +void Unwind_1400e9290(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e92a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e92a0.c new file mode 100644 index 00000000..67c36525 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e92a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e92a0 Unwind@1400e92a0 + * Pseudocode, not original source. */ + +void Unwind_1400e92a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e92b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e92b0.c new file mode 100644 index 00000000..708edc3c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e92b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e92b0 Unwind@1400e92b0 + * Pseudocode, not original source. */ + +void Unwind_1400e92b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e92c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e92c0.c new file mode 100644 index 00000000..df9f26d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e92c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e92c0 Unwind@1400e92c0 + * Pseudocode, not original source. */ + +void Unwind_1400e92c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e92d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e92d0.c new file mode 100644 index 00000000..226751a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e92d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e92d0 Unwind@1400e92d0 + * Pseudocode, not original source. */ + +void Unwind_1400e92d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e92e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e92e0.c new file mode 100644 index 00000000..10f76cf2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e92e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e92e0 Unwind@1400e92e0 + * Pseudocode, not original source. */ + +void Unwind_1400e92e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e92f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e92f0.c new file mode 100644 index 00000000..d740e211 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e92f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e92f0 Unwind@1400e92f0 + * Pseudocode, not original source. */ + +void Unwind_1400e92f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9300.c b/decomp/Agent_Release_x64/full/functions/0x1400e9300.c new file mode 100644 index 00000000..8be958a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9300.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9300 Unwind@1400e9300 + * Pseudocode, not original source. */ + +void Unwind_1400e9300(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9310.c b/decomp/Agent_Release_x64/full/functions/0x1400e9310.c new file mode 100644 index 00000000..a5801090 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9310.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9310 Unwind@1400e9310 + * Pseudocode, not original source. */ + +void Unwind_1400e9310(undefined8 param_1,longlong param_2) + +{ + FUN_1400032e0(*(undefined8 **)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9320.c b/decomp/Agent_Release_x64/full/functions/0x1400e9320.c new file mode 100644 index 00000000..bd700ba3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9320.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9320 Unwind@1400e9320 + * Pseudocode, not original source. */ + +void Unwind_1400e9320(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140085260((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x10)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9330.c b/decomp/Agent_Release_x64/full/functions/0x1400e9330.c new file mode 100644 index 00000000..fbdd225c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9330.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9330 Unwind@1400e9330 + * Pseudocode, not original source. */ + +void Unwind_1400e9330(undefined8 param_1,longlong param_2) + +{ + FUN_140092f30((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9340.c b/decomp/Agent_Release_x64/full/functions/0x1400e9340.c new file mode 100644 index 00000000..f41d97b2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9340.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9340 Unwind@1400e9340 + * Pseudocode, not original source. */ + +void Unwind_1400e9340(undefined8 param_1,longlong param_2) + +{ + FUN_140092fb0((longlong *)(*(longlong *)(param_2 + 0x70) + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9350.c b/decomp/Agent_Release_x64/full/functions/0x1400e9350.c new file mode 100644 index 00000000..27929168 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9350.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9350 Unwind@1400e9350 + * Pseudocode, not original source. */ + +void Unwind_1400e9350(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(*(longlong *)(param_2 + 0x70) + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9360.c b/decomp/Agent_Release_x64/full/functions/0x1400e9360.c new file mode 100644 index 00000000..72adc0e3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9360.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9360 Unwind@1400e9360 + * Pseudocode, not original source. */ + +void Unwind_1400e9360(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(*(longlong *)(param_2 + 0x70) + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9370.c b/decomp/Agent_Release_x64/full/functions/0x1400e9370.c new file mode 100644 index 00000000..94a3b266 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9370.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9370 Unwind@1400e9370 + * Pseudocode, not original source. */ + +void Unwind_1400e9370(undefined8 param_1,longlong param_2) + +{ + FUN_140081fe0(*(undefined8 **)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9380.c b/decomp/Agent_Release_x64/full/functions/0x1400e9380.c new file mode 100644 index 00000000..bb6d05af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9380.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9380 Unwind@1400e9380 + * Pseudocode, not original source. */ + +void Unwind_1400e9380(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140081fe0((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9390.c b/decomp/Agent_Release_x64/full/functions/0x1400e9390.c new file mode 100644 index 00000000..8f5e0563 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9390.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9390 Unwind@1400e9390 + * Pseudocode, not original source. */ + +void Unwind_1400e9390(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x70) + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e93b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e93b0.c new file mode 100644 index 00000000..dbc525de --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e93b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e93b0 Unwind@1400e93b0 + * Pseudocode, not original source. */ + +void Unwind_1400e93b0(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e93c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e93c0.c new file mode 100644 index 00000000..3892293d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e93c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e93c0 Unwind@1400e93c0 + * Pseudocode, not original source. */ + +void Unwind_1400e93c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e93d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e93d0.c new file mode 100644 index 00000000..8c2eb526 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e93d0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e93d0 Catch_All@1400e93d0 + * Pseudocode, not original source. */ + +undefined8 Catch_All_1400e93d0(void) + +{ + return 0x140096173; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e93f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e93f0.c new file mode 100644 index 00000000..c5005058 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e93f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e93f0 Unwind@1400e93f0 + * Pseudocode, not original source. */ + +void Unwind_1400e93f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9400.c b/decomp/Agent_Release_x64/full/functions/0x1400e9400.c new file mode 100644 index 00000000..10ad3a86 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9400.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9400 Unwind@1400e9400 + * Pseudocode, not original source. */ + +void Unwind_1400e9400(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140053ff0((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9410.c b/decomp/Agent_Release_x64/full/functions/0x1400e9410.c new file mode 100644 index 00000000..1090ccbd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9410.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9410 Unwind@1400e9410 + * Pseudocode, not original source. */ + +void Unwind_1400e9410(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9430.c b/decomp/Agent_Release_x64/full/functions/0x1400e9430.c new file mode 100644 index 00000000..58bb324a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9430.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9430 Unwind@1400e9430 + * Pseudocode, not original source. */ + +void Unwind_1400e9430(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((*(uint *)(param_2 + 0x60) & 1) != 0) { + *(uint *)(param_2 + 0x60) = *(uint *)(param_2 + 0x60) & 0xfffffffe; + FUN_140056a80(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9460.c b/decomp/Agent_Release_x64/full/functions/0x1400e9460.c new file mode 100644 index 00000000..43d78545 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9460.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9460 Unwind@1400e9460 + * Pseudocode, not original source. */ + +void Unwind_1400e9460(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140057120(param_2 + 0x28,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9470.c b/decomp/Agent_Release_x64/full/functions/0x1400e9470.c new file mode 100644 index 00000000..2f0907f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9470.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9470 Unwind@1400e9470 + * Pseudocode, not original source. */ + +void Unwind_1400e9470(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9480.c b/decomp/Agent_Release_x64/full/functions/0x1400e9480.c new file mode 100644 index 00000000..7d032012 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9480.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9480 Unwind@1400e9480 + * Pseudocode, not original source. */ + +void Unwind_1400e9480(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x150) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9490.c b/decomp/Agent_Release_x64/full/functions/0x1400e9490.c new file mode 100644 index 00000000..91b46290 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9490.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9490 Unwind@1400e9490 + * Pseudocode, not original source. */ + +void Unwind_1400e9490(undefined8 param_1,longlong param_2) + +{ + FUN_14003c750(*(undefined8 **)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e94a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e94a0.c new file mode 100644 index 00000000..b2e1134b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e94a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e94a0 Unwind@1400e94a0 + * Pseudocode, not original source. */ + +void Unwind_1400e94a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400a27f0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e94b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e94b0.c new file mode 100644 index 00000000..6d2ae129 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e94b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e94b0 Unwind@1400e94b0 + * Pseudocode, not original source. */ + +void Unwind_1400e94b0(undefined8 param_1,longlong param_2) + +{ + FUN_14003c6d0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e94c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e94c0.c new file mode 100644 index 00000000..0039c819 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e94c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e94c0 Unwind@1400e94c0 + * Pseudocode, not original source. */ + +void Unwind_1400e94c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400956a0(*(longlong *)(param_2 + 0x80) + 0x110,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e94e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e94e0.c new file mode 100644 index 00000000..cb052cac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e94e0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e94e0 Unwind@1400e94e0 + * Pseudocode, not original source. */ + +void Unwind_1400e94e0(undefined8 param_1,LPVOID param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14005a350((undefined8 *)(*(longlong *)((longlong)param_2 + 0x80) + 0x40),param_2,param_3, + param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e94f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e94f0.c new file mode 100644 index 00000000..b993b859 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e94f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e94f0 Unwind@1400e94f0 + * Pseudocode, not original source. */ + +void Unwind_1400e94f0(undefined8 param_1,longlong param_2) + +{ + FUN_14009c440((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0xc0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9510.c b/decomp/Agent_Release_x64/full/functions/0x1400e9510.c new file mode 100644 index 00000000..76bbb599 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9510.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9510 Unwind@1400e9510 + * Pseudocode, not original source. */ + +void Unwind_1400e9510(undefined8 param_1,longlong param_2) + +{ + FUN_1400953e0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x108)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9530.c b/decomp/Agent_Release_x64/full/functions/0x1400e9530.c new file mode 100644 index 00000000..deedb1d6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9530.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9530 Unwind@1400e9530 + * Pseudocode, not original source. */ + +void Unwind_1400e9530(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x80) + 0x128),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9550.c b/decomp/Agent_Release_x64/full/functions/0x1400e9550.c new file mode 100644 index 00000000..708e4775 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9550.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9550 Unwind@1400e9550 + * Pseudocode, not original source. */ + +void Unwind_1400e9550(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(*(longlong *)(param_2 + 0x80) + 0x1f0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9570.c b/decomp/Agent_Release_x64/full/functions/0x1400e9570.c new file mode 100644 index 00000000..6d4ee7e2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9570.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9570 Unwind@1400e9570 + * Pseudocode, not original source. */ + +void Unwind_1400e9570(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x1f8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9590.c b/decomp/Agent_Release_x64/full/functions/0x1400e9590.c new file mode 100644 index 00000000..6b92266f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9590.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9590 Unwind@1400e9590 + * Pseudocode, not original source. */ + +void Unwind_1400e9590(undefined8 param_1,longlong param_2) + +{ + FUN_140095810((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x228)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e95b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e95b0.c new file mode 100644 index 00000000..f8065b56 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e95b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e95b0 Unwind@1400e95b0 + * Pseudocode, not original source. */ + +void Unwind_1400e95b0(undefined8 param_1,longlong param_2) + +{ + FUN_140006bf0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x240)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e95d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e95d0.c new file mode 100644 index 00000000..49e7a341 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e95d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e95d0 Unwind@1400e95d0 + * Pseudocode, not original source. */ + +void Unwind_1400e95d0(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14005a500((longlong *)(param_2[0x10] + 0x268),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e95f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e95f0.c new file mode 100644 index 00000000..26618bff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e95f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e95f0 Unwind@1400e95f0 + * Pseudocode, not original source. */ + +void Unwind_1400e95f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003c840(*(longlong *)(param_2 + 0x80) + 0x288); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9610.c b/decomp/Agent_Release_x64/full/functions/0x1400e9610.c new file mode 100644 index 00000000..92d9c0f3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9610.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9610 Unwind@1400e9610 + * Pseudocode, not original source. */ + +void Unwind_1400e9610(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140096160((char *)(*(longlong *)(param_2 + 0x80) + 0x6a0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9630.c b/decomp/Agent_Release_x64/full/functions/0x1400e9630.c new file mode 100644 index 00000000..449e9eaa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9630.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9630 Unwind@1400e9630 + * Pseudocode, not original source. */ + +void Unwind_1400e9630(undefined8 param_1,longlong param_2) + +{ + FUN_14009dd40(*(longlong *)(param_2 + 0x80) + 0x700); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9650.c b/decomp/Agent_Release_x64/full/functions/0x1400e9650.c new file mode 100644 index 00000000..8eb19c1c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9650.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9650 Unwind@1400e9650 + * Pseudocode, not original source. */ + +void Unwind_1400e9650(undefined8 param_1,longlong param_2) + +{ + FUN_1400954d0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x750)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9670.c b/decomp/Agent_Release_x64/full/functions/0x1400e9670.c new file mode 100644 index 00000000..2879164e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9670.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9670 Unwind@1400e9670 + * Pseudocode, not original source. */ + +void Unwind_1400e9670(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(*(longlong *)(param_2 + 0x80) + 0x760)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9690.c b/decomp/Agent_Release_x64/full/functions/0x1400e9690.c new file mode 100644 index 00000000..67c83d12 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9690.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9690 Unwind@1400e9690 + * Pseudocode, not original source. */ + +void Unwind_1400e9690(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e96a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e96a0.c new file mode 100644 index 00000000..a7c9ee78 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e96a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e96a0 Unwind@1400e96a0 + * Pseudocode, not original source. */ + +void Unwind_1400e96a0(undefined8 param_1,longlong param_2) + +{ + FUN_14003c750(*(undefined8 **)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e96b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e96b0.c new file mode 100644 index 00000000..23414462 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e96b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e96b0 Unwind@1400e96b0 + * Pseudocode, not original source. */ + +void Unwind_1400e96b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400a27f0((undefined8 *)(*(longlong *)(param_2 + 0x60) + 8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e96c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e96c0.c new file mode 100644 index 00000000..c86c62aa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e96c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e96c0 Unwind@1400e96c0 + * Pseudocode, not original source. */ + +void Unwind_1400e96c0(undefined8 param_1,longlong param_2) + +{ + FUN_14003c6d0((undefined8 *)(*(longlong *)(param_2 + 0x60) + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e96d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e96d0.c new file mode 100644 index 00000000..e2dc43b4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e96d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e96d0 Unwind@1400e96d0 + * Pseudocode, not original source. */ + +void Unwind_1400e96d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400956a0(*(longlong *)(param_2 + 0x60) + 0x110,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e96f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e96f0.c new file mode 100644 index 00000000..596719d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e96f0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e96f0 Unwind@1400e96f0 + * Pseudocode, not original source. */ + +void Unwind_1400e96f0(undefined8 param_1,LPVOID param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14005a350((undefined8 *)(*(longlong *)((longlong)param_2 + 0x60) + 0x40),param_2,param_3, + param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9700.c b/decomp/Agent_Release_x64/full/functions/0x1400e9700.c new file mode 100644 index 00000000..a440c9e2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9700.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9700 Unwind@1400e9700 + * Pseudocode, not original source. */ + +void Unwind_1400e9700(undefined8 param_1,longlong param_2) + +{ + FUN_14009c440((undefined8 *)(*(longlong *)(param_2 + 0x60) + 0xc0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9720.c b/decomp/Agent_Release_x64/full/functions/0x1400e9720.c new file mode 100644 index 00000000..1d126133 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9720.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9720 Unwind@1400e9720 + * Pseudocode, not original source. */ + +void Unwind_1400e9720(undefined8 param_1,longlong param_2) + +{ + FUN_1400953e0((undefined8 *)(*(longlong *)(param_2 + 0x60) + 0x108)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9740.c b/decomp/Agent_Release_x64/full/functions/0x1400e9740.c new file mode 100644 index 00000000..a2ae7dd2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9740.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9740 Unwind@1400e9740 + * Pseudocode, not original source. */ + +void Unwind_1400e9740(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x60) + 0x128),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9760.c b/decomp/Agent_Release_x64/full/functions/0x1400e9760.c new file mode 100644 index 00000000..5a0639d6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9760.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9760 Unwind@1400e9760 + * Pseudocode, not original source. */ + +void Unwind_1400e9760(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(*(longlong *)(param_2 + 0x60) + 0x1f0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9780.c b/decomp/Agent_Release_x64/full/functions/0x1400e9780.c new file mode 100644 index 00000000..3a603ec4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9780.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9780 Unwind@1400e9780 + * Pseudocode, not original source. */ + +void Unwind_1400e9780(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x60) + 0x1f8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e97a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e97a0.c new file mode 100644 index 00000000..74b81040 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e97a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e97a0 Unwind@1400e97a0 + * Pseudocode, not original source. */ + +void Unwind_1400e97a0(undefined8 param_1,longlong param_2) + +{ + FUN_140095810((undefined8 *)(*(longlong *)(param_2 + 0x60) + 0x228)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e97c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e97c0.c new file mode 100644 index 00000000..a2e376bd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e97c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e97c0 Unwind@1400e97c0 + * Pseudocode, not original source. */ + +void Unwind_1400e97c0(undefined8 param_1,longlong param_2) + +{ + FUN_140006bf0((undefined8 *)(*(longlong *)(param_2 + 0x60) + 0x240)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e97e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e97e0.c new file mode 100644 index 00000000..8eb43e08 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e97e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e97e0 Unwind@1400e97e0 + * Pseudocode, not original source. */ + +void Unwind_1400e97e0(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14005a500((longlong *)(param_2[0xc] + 0x268),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9800.c b/decomp/Agent_Release_x64/full/functions/0x1400e9800.c new file mode 100644 index 00000000..0f077ad1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9800.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9800 Unwind@1400e9800 + * Pseudocode, not original source. */ + +void Unwind_1400e9800(undefined8 param_1,longlong param_2) + +{ + FUN_14003c840(*(longlong *)(param_2 + 0x60) + 0x288); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9820.c b/decomp/Agent_Release_x64/full/functions/0x1400e9820.c new file mode 100644 index 00000000..7ff6356d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9820.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9820 Unwind@1400e9820 + * Pseudocode, not original source. */ + +void Unwind_1400e9820(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140096160((char *)(*(longlong *)(param_2 + 0x60) + 0x6a0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9840.c b/decomp/Agent_Release_x64/full/functions/0x1400e9840.c new file mode 100644 index 00000000..a99ec340 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9840.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9840 Unwind@1400e9840 + * Pseudocode, not original source. */ + +void Unwind_1400e9840(undefined8 param_1,longlong param_2) + +{ + FUN_14009dd40(*(longlong *)(param_2 + 0x60) + 0x700); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9860.c b/decomp/Agent_Release_x64/full/functions/0x1400e9860.c new file mode 100644 index 00000000..d14a58d1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9860.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9860 Unwind@1400e9860 + * Pseudocode, not original source. */ + +void Unwind_1400e9860(undefined8 param_1,longlong param_2) + +{ + FUN_1400954d0((undefined8 *)(*(longlong *)(param_2 + 0x60) + 0x750)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9880.c b/decomp/Agent_Release_x64/full/functions/0x1400e9880.c new file mode 100644 index 00000000..3bf48bb8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9880.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9880 Unwind@1400e9880 + * Pseudocode, not original source. */ + +void Unwind_1400e9880(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(*(longlong *)(param_2 + 0x60) + 0x760)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e98a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e98a0.c new file mode 100644 index 00000000..43211aa7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e98a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e98a0 Unwind@1400e98a0 + * Pseudocode, not original source. */ + +void Unwind_1400e98a0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e98b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e98b0.c new file mode 100644 index 00000000..19df70e7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e98b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e98b0 Unwind@1400e98b0 + * Pseudocode, not original source. */ + +void Unwind_1400e98b0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400975e0(*(longlong **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e98c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e98c0.c new file mode 100644 index 00000000..82360199 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e98c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e98c0 Unwind@1400e98c0 + * Pseudocode, not original source. */ + +void Unwind_1400e98c0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400975e0((longlong *)(*(longlong *)(param_2 + 0x40) + 0x18)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e98d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e98d0.c new file mode 100644 index 00000000..112c6d2a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e98d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e98d0 Unwind@1400e98d0 + * Pseudocode, not original source. */ + +void Unwind_1400e98d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140097210(*(longlong **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e98e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e98e0.c new file mode 100644 index 00000000..06312f8c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e98e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e98e0 Unwind@1400e98e0 + * Pseudocode, not original source. */ + +void Unwind_1400e98e0(undefined8 param_1,longlong param_2) + +{ + FUN_140098d00((void *)(*(longlong *)(param_2 + 0x40) + 0x18)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e98f0.c b/decomp/Agent_Release_x64/full/functions/0x1400e98f0.c new file mode 100644 index 00000000..bca91553 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e98f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e98f0 Unwind@1400e98f0 + * Pseudocode, not original source. */ + +void Unwind_1400e98f0(undefined8 param_1,longlong param_2) + +{ + FUN_140097280((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x198)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9910.c b/decomp/Agent_Release_x64/full/functions/0x1400e9910.c new file mode 100644 index 00000000..6801c748 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9910.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9910 Unwind@1400e9910 + * Pseudocode, not original source. */ + +void Unwind_1400e9910(undefined8 param_1,longlong param_2) + +{ + FUN_14003dfd0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9920.c b/decomp/Agent_Release_x64/full/functions/0x1400e9920.c new file mode 100644 index 00000000..e5ac0176 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9920.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9920 Unwind@1400e9920 + * Pseudocode, not original source. */ + +void Unwind_1400e9920(undefined8 param_1,longlong param_2) + +{ + FUN_140097280((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x678)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9940.c b/decomp/Agent_Release_x64/full/functions/0x1400e9940.c new file mode 100644 index 00000000..43aa69f5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9940.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9940 Unwind@1400e9940 + * Pseudocode, not original source. */ + +void Unwind_1400e9940(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400971f0(*(longlong **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9950.c b/decomp/Agent_Release_x64/full/functions/0x1400e9950.c new file mode 100644 index 00000000..d183c7a5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9950.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9950 Unwind@1400e9950 + * Pseudocode, not original source. */ + +void Unwind_1400e9950(undefined8 param_1,longlong param_2) + +{ + FUN_140097310(*(undefined8 **)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9960.c b/decomp/Agent_Release_x64/full/functions/0x1400e9960.c new file mode 100644 index 00000000..febbd2a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9960.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9960 Catch_All@1400e9960 + * Pseudocode, not original source. */ + +undefined8 Catch_All_1400e9960(void) + +{ + return 0x140098f93; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9980.c b/decomp/Agent_Release_x64/full/functions/0x1400e9980.c new file mode 100644 index 00000000..43f248a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9980.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9980 Catch_All@1400e9980 + * Pseudocode, not original source. */ + +undefined8 Catch_All_1400e9980(void) + +{ + return 0x140098fb3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e99a0.c b/decomp/Agent_Release_x64/full/functions/0x1400e99a0.c new file mode 100644 index 00000000..f2b47099 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e99a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e99a0 Unwind@1400e99a0 + * Pseudocode, not original source. */ + +void Unwind_1400e99a0(undefined8 param_1,longlong param_2) + +{ + FUN_140098fa0(*(char **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e99b0.c b/decomp/Agent_Release_x64/full/functions/0x1400e99b0.c new file mode 100644 index 00000000..c2640594 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e99b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e99b0 Unwind@1400e99b0 + * Pseudocode, not original source. */ + +void Unwind_1400e99b0(undefined8 param_1,longlong param_2) + +{ + FUN_140098fa0(*(char **)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e99c0.c b/decomp/Agent_Release_x64/full/functions/0x1400e99c0.c new file mode 100644 index 00000000..f80920eb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e99c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e99c0 Unwind@1400e99c0 + * Pseudocode, not original source. */ + +void Unwind_1400e99c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140097210(*(longlong **)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e99d0.c b/decomp/Agent_Release_x64/full/functions/0x1400e99d0.c new file mode 100644 index 00000000..ce4216c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e99d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e99d0 Unwind@1400e99d0 + * Pseudocode, not original source. */ + +void Unwind_1400e99d0(undefined8 param_1,longlong param_2) + +{ + FUN_140098d00((void *)(*(longlong *)(param_2 + 0x50) + 0x18)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e99e0.c b/decomp/Agent_Release_x64/full/functions/0x1400e99e0.c new file mode 100644 index 00000000..7ebccd66 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e99e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e99e0 Unwind@1400e99e0 + * Pseudocode, not original source. */ + +void Unwind_1400e99e0(undefined8 param_1,longlong param_2) + +{ + FUN_140097280((undefined8 *)(*(longlong *)(param_2 + 0x50) + 0x198)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9a00.c b/decomp/Agent_Release_x64/full/functions/0x1400e9a00.c new file mode 100644 index 00000000..da37851f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9a00.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9a00 Catch_All@1400e9a00 + * Pseudocode, not original source. */ + +void Catch_All_1400e9a00(undefined8 param_1,longlong param_2) + +{ + FUN_140040120(*(char **)(param_2 + 0x40),*(LPVOID *)(param_2 + 0x48),'\0'); + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9a30.c b/decomp/Agent_Release_x64/full/functions/0x1400e9a30.c new file mode 100644 index 00000000..df8d1c7c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9a30.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9a30 Catch_All@1400e9a30 + * Pseudocode, not original source. */ + +void Catch_All_1400e9a30(undefined8 param_1,longlong param_2) + +{ + FUN_140097fc0(*(char **)(param_2 + 0x50),*(LPVOID *)(param_2 + 0x58),'\0'); + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9a60.c b/decomp/Agent_Release_x64/full/functions/0x1400e9a60.c new file mode 100644 index 00000000..956aecaa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9a60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9a60 Unwind@1400e9a60 + * Pseudocode, not original source. */ + +void Unwind_1400e9a60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140097210(*(longlong **)(param_2 + 0xb0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9a70.c b/decomp/Agent_Release_x64/full/functions/0x1400e9a70.c new file mode 100644 index 00000000..1a770e09 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9a70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9a70 Unwind@1400e9a70 + * Pseudocode, not original source. */ + +void Unwind_1400e9a70(undefined8 param_1,longlong param_2) + +{ + FUN_140098d00((void *)(*(longlong *)(param_2 + 0xb0) + 0x18)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9a80.c b/decomp/Agent_Release_x64/full/functions/0x1400e9a80.c new file mode 100644 index 00000000..571d7ce5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9a80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9a80 Unwind@1400e9a80 + * Pseudocode, not original source. */ + +void Unwind_1400e9a80(undefined8 param_1,longlong param_2) + +{ + FUN_140097280((undefined8 *)(*(longlong *)(param_2 + 0xb0) + 0x198)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9aa0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9aa0.c new file mode 100644 index 00000000..4650b687 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9aa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9aa0 Unwind@1400e9aa0 + * Pseudocode, not original source. */ + +void Unwind_1400e9aa0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140097210(*(longlong **)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9ab0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9ab0.c new file mode 100644 index 00000000..cee59c88 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9ab0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9ab0 Unwind@1400e9ab0 + * Pseudocode, not original source. */ + +void Unwind_1400e9ab0(undefined8 param_1,longlong param_2) + +{ + FUN_140098d00((void *)(*(longlong *)(param_2 + 0x90) + 0x18)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9ac0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9ac0.c new file mode 100644 index 00000000..9a4b4281 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9ac0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9ac0 Unwind@1400e9ac0 + * Pseudocode, not original source. */ + +void Unwind_1400e9ac0(undefined8 param_1,longlong param_2) + +{ + FUN_140097280((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0x198)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9ae0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9ae0.c new file mode 100644 index 00000000..5caa59a6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9ae0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9ae0 Unwind@1400e9ae0 + * Pseudocode, not original source. */ + +void Unwind_1400e9ae0(undefined8 param_1,longlong param_2) + +{ + FUN_140098f80(*(char **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9af0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9af0.c new file mode 100644 index 00000000..c5d56cdf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9af0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9af0 Unwind@1400e9af0 + * Pseudocode, not original source. */ + +void Unwind_1400e9af0(undefined8 param_1,longlong param_2) + +{ + FUN_140098f80(*(char **)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9b00.c b/decomp/Agent_Release_x64/full/functions/0x1400e9b00.c new file mode 100644 index 00000000..34e5f448 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9b00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9b00 Unwind@1400e9b00 + * Pseudocode, not original source. */ + +void Unwind_1400e9b00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9b10.c b/decomp/Agent_Release_x64/full/functions/0x1400e9b10.c new file mode 100644 index 00000000..a6b76eed --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9b10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9b10 Unwind@1400e9b10 + * Pseudocode, not original source. */ + +void Unwind_1400e9b10(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9b40.c b/decomp/Agent_Release_x64/full/functions/0x1400e9b40.c new file mode 100644 index 00000000..37ff1238 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9b40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9b40 Unwind@1400e9b40 + * Pseudocode, not original source. */ + +void Unwind_1400e9b40(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x38); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9b50.c b/decomp/Agent_Release_x64/full/functions/0x1400e9b50.c new file mode 100644 index 00000000..ea391cbd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9b50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9b50 Unwind@1400e9b50 + * Pseudocode, not original source. */ + +void Unwind_1400e9b50(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9b60.c b/decomp/Agent_Release_x64/full/functions/0x1400e9b60.c new file mode 100644 index 00000000..f351926f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9b60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9b60 Unwind@1400e9b60 + * Pseudocode, not original source. */ + +void Unwind_1400e9b60(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9b70.c b/decomp/Agent_Release_x64/full/functions/0x1400e9b70.c new file mode 100644 index 00000000..2f387469 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9b70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9b70 Unwind@1400e9b70 + * Pseudocode, not original source. */ + +void Unwind_1400e9b70(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9b80.c b/decomp/Agent_Release_x64/full/functions/0x1400e9b80.c new file mode 100644 index 00000000..b70e3dee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9b80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9b80 Unwind@1400e9b80 + * Pseudocode, not original source. */ + +void Unwind_1400e9b80(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9b90.c b/decomp/Agent_Release_x64/full/functions/0x1400e9b90.c new file mode 100644 index 00000000..9badf647 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9b90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9b90 Unwind@1400e9b90 + * Pseudocode, not original source. */ + +void Unwind_1400e9b90(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9ba0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9ba0.c new file mode 100644 index 00000000..7864b5ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9ba0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9ba0 Unwind@1400e9ba0 + * Pseudocode, not original source. */ + +void Unwind_1400e9ba0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9bb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9bb0.c new file mode 100644 index 00000000..cc1764ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9bb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9bb0 Unwind@1400e9bb0 + * Pseudocode, not original source. */ + +void Unwind_1400e9bb0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9bc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9bc0.c new file mode 100644 index 00000000..6a9011b4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9bc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9bc0 Unwind@1400e9bc0 + * Pseudocode, not original source. */ + +void Unwind_1400e9bc0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9bd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9bd0.c new file mode 100644 index 00000000..19271903 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9bd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9bd0 Unwind@1400e9bd0 + * Pseudocode, not original source. */ + +void Unwind_1400e9bd0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9be0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9be0.c new file mode 100644 index 00000000..eddb7822 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9be0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9be0 Unwind@1400e9be0 + * Pseudocode, not original source. */ + +void Unwind_1400e9be0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9bf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9bf0.c new file mode 100644 index 00000000..5618c27d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9bf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9bf0 Unwind@1400e9bf0 + * Pseudocode, not original source. */ + +void Unwind_1400e9bf0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9c00.c b/decomp/Agent_Release_x64/full/functions/0x1400e9c00.c new file mode 100644 index 00000000..cca905d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9c00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9c00 Unwind@1400e9c00 + * Pseudocode, not original source. */ + +void Unwind_1400e9c00(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9c10.c b/decomp/Agent_Release_x64/full/functions/0x1400e9c10.c new file mode 100644 index 00000000..554f7a7c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9c10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9c10 Unwind@1400e9c10 + * Pseudocode, not original source. */ + +void Unwind_1400e9c10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9c20.c b/decomp/Agent_Release_x64/full/functions/0x1400e9c20.c new file mode 100644 index 00000000..abf641e0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9c20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9c20 Unwind@1400e9c20 + * Pseudocode, not original source. */ + +void Unwind_1400e9c20(undefined8 param_1,longlong param_2) + +{ + FUN_140098f80(*(char **)(param_2 + 0x130)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9c30.c b/decomp/Agent_Release_x64/full/functions/0x1400e9c30.c new file mode 100644 index 00000000..97c2a041 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9c30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9c30 Unwind@1400e9c30 + * Pseudocode, not original source. */ + +void Unwind_1400e9c30(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9c40.c b/decomp/Agent_Release_x64/full/functions/0x1400e9c40.c new file mode 100644 index 00000000..96ec0e6b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9c40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9c40 Unwind@1400e9c40 + * Pseudocode, not original source. */ + +void Unwind_1400e9c40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9c50.c b/decomp/Agent_Release_x64/full/functions/0x1400e9c50.c new file mode 100644 index 00000000..b58cdc2c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9c50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9c50 Unwind@1400e9c50 + * Pseudocode, not original source. */ + +void Unwind_1400e9c50(undefined8 param_1,longlong param_2) + +{ + FUN_140098f80(*(char **)(param_2 + 0x138)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9c60.c b/decomp/Agent_Release_x64/full/functions/0x1400e9c60.c new file mode 100644 index 00000000..094fd7fc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9c60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9c60 Unwind@1400e9c60 + * Pseudocode, not original source. */ + +void Unwind_1400e9c60(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9c70.c b/decomp/Agent_Release_x64/full/functions/0x1400e9c70.c new file mode 100644 index 00000000..f10f56b7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9c70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9c70 Unwind@1400e9c70 + * Pseudocode, not original source. */ + +void Unwind_1400e9c70(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400977a0(*(longlong **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9c80.c b/decomp/Agent_Release_x64/full/functions/0x1400e9c80.c new file mode 100644 index 00000000..be920c9a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9c80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9c80 Unwind@1400e9c80 + * Pseudocode, not original source. */ + +void Unwind_1400e9c80(undefined8 param_1,longlong param_2) + +{ + FUN_14009bbb0((char *)(*(longlong *)(param_2 + 0x40) + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9c90.c b/decomp/Agent_Release_x64/full/functions/0x1400e9c90.c new file mode 100644 index 00000000..cd6528dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9c90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9c90 Unwind@1400e9c90 + * Pseudocode, not original source. */ + +void Unwind_1400e9c90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140098e20((longlong *)(*(longlong *)(param_2 + 0x40) + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9cb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9cb0.c new file mode 100644 index 00000000..bb9411c6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9cb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9cb0 Unwind@1400e9cb0 + * Pseudocode, not original source. */ + +void Unwind_1400e9cb0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400977a0(*(longlong **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9cc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9cc0.c new file mode 100644 index 00000000..1aba4f4a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9cc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9cc0 Unwind@1400e9cc0 + * Pseudocode, not original source. */ + +void Unwind_1400e9cc0(undefined8 param_1,longlong param_2) + +{ + FUN_14009bbb0((char *)(*(longlong *)(param_2 + 0x40) + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9cd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9cd0.c new file mode 100644 index 00000000..bb6965a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9cd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9cd0 Unwind@1400e9cd0 + * Pseudocode, not original source. */ + +void Unwind_1400e9cd0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140098e20((longlong *)(*(longlong *)(param_2 + 0x40) + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9cf0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9cf0.c new file mode 100644 index 00000000..53a6eea2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9cf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9cf0 Unwind@1400e9cf0 + * Pseudocode, not original source. */ + +void Unwind_1400e9cf0(undefined8 param_1,longlong param_2) + +{ + FUN_140098fa0(*(char **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9d00.c b/decomp/Agent_Release_x64/full/functions/0x1400e9d00.c new file mode 100644 index 00000000..5afe5d3b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9d00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9d00 Unwind@1400e9d00 + * Pseudocode, not original source. */ + +void Unwind_1400e9d00(undefined8 param_1,longlong param_2,SIZE_T param_3) + +{ + FUN_14009bb80((char *)(*(longlong *)(param_2 + 0x80) + 8),param_2,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9d20.c b/decomp/Agent_Release_x64/full/functions/0x1400e9d20.c new file mode 100644 index 00000000..2bbfc792 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9d20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9d20 Unwind@1400e9d20 + * Pseudocode, not original source. */ + +void Unwind_1400e9d20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9d30.c b/decomp/Agent_Release_x64/full/functions/0x1400e9d30.c new file mode 100644 index 00000000..c4d4fb59 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9d30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9d30 Unwind@1400e9d30 + * Pseudocode, not original source. */ + +void Unwind_1400e9d30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14009efd0((longlong *)(*(longlong *)(param_2 + 0x50) + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9d40.c b/decomp/Agent_Release_x64/full/functions/0x1400e9d40.c new file mode 100644 index 00000000..5cd783f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9d40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9d40 Unwind@1400e9d40 + * Pseudocode, not original source. */ + +void Unwind_1400e9d40(undefined8 param_1,longlong param_2) + +{ + FUN_1400bbbd0(*(longlong *)(param_2 + 0x50) + 200); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9d60.c b/decomp/Agent_Release_x64/full/functions/0x1400e9d60.c new file mode 100644 index 00000000..769b2e79 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9d60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9d60 Unwind@1400e9d60 + * Pseudocode, not original source. */ + +void Unwind_1400e9d60(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_1400853e0((undefined8 *)(*(longlong *)(param_2 + 0x50) + 0x110),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9d80.c b/decomp/Agent_Release_x64/full/functions/0x1400e9d80.c new file mode 100644 index 00000000..28c10ca1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9d80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9d80 Unwind@1400e9d80 + * Pseudocode, not original source. */ + +void Unwind_1400e9d80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14009efd0((longlong *)(*(longlong *)(param_2 + 0x40) + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9d90.c b/decomp/Agent_Release_x64/full/functions/0x1400e9d90.c new file mode 100644 index 00000000..39613975 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9d90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9d90 Unwind@1400e9d90 + * Pseudocode, not original source. */ + +void Unwind_1400e9d90(undefined8 param_1,longlong param_2) + +{ + FUN_1400bbbd0(*(longlong *)(param_2 + 0x40) + 200); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9db0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9db0.c new file mode 100644 index 00000000..3916d1c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9db0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9db0 Unwind@1400e9db0 + * Pseudocode, not original source. */ + +void Unwind_1400e9db0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_1400853e0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x110),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9dd0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9dd0.c new file mode 100644 index 00000000..76471600 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9dd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9dd0 Unwind@1400e9dd0 + * Pseudocode, not original source. */ + +void Unwind_1400e9dd0(undefined8 param_1,longlong param_2) + +{ + FUN_14003dfd0((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9de0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9de0.c new file mode 100644 index 00000000..fc1e7612 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9de0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9de0 Unwind@1400e9de0 + * Pseudocode, not original source. */ + +void Unwind_1400e9de0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x1a0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9df0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9df0.c new file mode 100644 index 00000000..71fa9418 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9df0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9df0 Unwind@1400e9df0 + * Pseudocode, not original source. */ + +void Unwind_1400e9df0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0xf0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9e00.c b/decomp/Agent_Release_x64/full/functions/0x1400e9e00.c new file mode 100644 index 00000000..d0102f56 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9e00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9e00 Unwind@1400e9e00 + * Pseudocode, not original source. */ + +void Unwind_1400e9e00(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0xf0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9e10.c b/decomp/Agent_Release_x64/full/functions/0x1400e9e10.c new file mode 100644 index 00000000..16dd41aa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9e10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9e10 Unwind@1400e9e10 + * Pseudocode, not original source. */ + +void Unwind_1400e9e10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9e20.c b/decomp/Agent_Release_x64/full/functions/0x1400e9e20.c new file mode 100644 index 00000000..c60ca159 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9e20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9e20 Unwind@1400e9e20 + * Pseudocode, not original source. */ + +void Unwind_1400e9e20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9e30.c b/decomp/Agent_Release_x64/full/functions/0x1400e9e30.c new file mode 100644 index 00000000..3fab72f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9e30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9e30 Unwind@1400e9e30 + * Pseudocode, not original source. */ + +void Unwind_1400e9e30(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9e40.c b/decomp/Agent_Release_x64/full/functions/0x1400e9e40.c new file mode 100644 index 00000000..9af3fbbe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9e40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9e40 Unwind@1400e9e40 + * Pseudocode, not original source. */ + +void Unwind_1400e9e40(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xe20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9e60.c b/decomp/Agent_Release_x64/full/functions/0x1400e9e60.c new file mode 100644 index 00000000..cbcf5031 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9e60.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9e60 Unwind@1400e9e60 + * Pseudocode, not original source. */ + +void Unwind_1400e9e60(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x28) & 1) != 0) { + *(uint *)(param_2 + 0x28) = *(uint *)(param_2 + 0x28) & 0xfffffffe; + thunk_FUN_14001c020(*(longlong **)(param_2 + 0x40)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9e90.c b/decomp/Agent_Release_x64/full/functions/0x1400e9e90.c new file mode 100644 index 00000000..875c6122 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9e90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9e90 Unwind@1400e9e90 + * Pseudocode, not original source. */ + +void Unwind_1400e9e90(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9ea0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9ea0.c new file mode 100644 index 00000000..3ad6724e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9ea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9ea0 Unwind@1400e9ea0 + * Pseudocode, not original source. */ + +void Unwind_1400e9ea0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9eb0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9eb0.c new file mode 100644 index 00000000..b0ec7970 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9eb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9eb0 Unwind@1400e9eb0 + * Pseudocode, not original source. */ + +void Unwind_1400e9eb0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9ec0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9ec0.c new file mode 100644 index 00000000..f741317a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9ec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9ec0 Unwind@1400e9ec0 + * Pseudocode, not original source. */ + +void Unwind_1400e9ec0(undefined8 param_1,longlong param_2) + +{ + FUN_14008ebf0((undefined8 *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9ed0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9ed0.c new file mode 100644 index 00000000..864df579 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9ed0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9ed0 Unwind@1400e9ed0 + * Pseudocode, not original source. */ + +void Unwind_1400e9ed0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9ee0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9ee0.c new file mode 100644 index 00000000..7ff565ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9ee0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9ee0 Unwind@1400e9ee0 + * Pseudocode, not original source. */ + +void Unwind_1400e9ee0(undefined8 param_1,longlong param_2) + +{ + FUN_14003c6d0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9ef0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9ef0.c new file mode 100644 index 00000000..9b9a7980 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9ef0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9ef0 Unwind@1400e9ef0 + * Pseudocode, not original source. */ + +void Unwind_1400e9ef0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14009c7d0(*(longlong *)(param_2 + 0x40) + 0x90,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9f10.c b/decomp/Agent_Release_x64/full/functions/0x1400e9f10.c new file mode 100644 index 00000000..d8e32421 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9f10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9f10 Unwind@1400e9f10 + * Pseudocode, not original source. */ + +void Unwind_1400e9f10(undefined8 param_1,longlong param_2) + +{ + FUN_140064000((undefined8 *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9f20.c b/decomp/Agent_Release_x64/full/functions/0x1400e9f20.c new file mode 100644 index 00000000..fce9ebba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9f20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9f20 Unwind@1400e9f20 + * Pseudocode, not original source. */ + +void Unwind_1400e9f20(undefined8 param_1,longlong param_2) + +{ + FUN_140064040((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x10)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9f30.c b/decomp/Agent_Release_x64/full/functions/0x1400e9f30.c new file mode 100644 index 00000000..8db98a46 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9f30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9f30 Unwind@1400e9f30 + * Pseudocode, not original source. */ + +void Unwind_1400e9f30(undefined8 param_1,longlong param_2) + +{ + FUN_14009c440((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9f40.c b/decomp/Agent_Release_x64/full/functions/0x1400e9f40.c new file mode 100644 index 00000000..fb8b619e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9f40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9f40 Unwind@1400e9f40 + * Pseudocode, not original source. */ + +void Unwind_1400e9f40(undefined8 param_1,longlong param_2) + +{ + FUN_1400953e0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9f60.c b/decomp/Agent_Release_x64/full/functions/0x1400e9f60.c new file mode 100644 index 00000000..24391150 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9f60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9f60 Unwind@1400e9f60 + * Pseudocode, not original source. */ + +void Unwind_1400e9f60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x40) + 0xa8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9f80.c b/decomp/Agent_Release_x64/full/functions/0x1400e9f80.c new file mode 100644 index 00000000..ce6c0e28 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9f80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9f80 Unwind@1400e9f80 + * Pseudocode, not original source. */ + +void Unwind_1400e9f80(undefined8 param_1,longlong param_2) + +{ + FUN_140092fb0((longlong *)(*(longlong *)(param_2 + 0x40) + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9fa0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9fa0.c new file mode 100644 index 00000000..d37328f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9fa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9fa0 Unwind@1400e9fa0 + * Pseudocode, not original source. */ + +void Unwind_1400e9fa0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(*(longlong *)(param_2 + 0x40) + 0x150),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9fc0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9fc0.c new file mode 100644 index 00000000..673e5c75 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9fc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9fc0 Unwind@1400e9fc0 + * Pseudocode, not original source. */ + +void Unwind_1400e9fc0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14009c800((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x168),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400e9fe0.c b/decomp/Agent_Release_x64/full/functions/0x1400e9fe0.c new file mode 100644 index 00000000..5706fefc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400e9fe0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400e9fe0 Unwind@1400e9fe0 + * Pseudocode, not original source. */ + +void Unwind_1400e9fe0(undefined8 param_1,longlong param_2,longlong param_3) + +{ + FUN_14009c830((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x170),param_2,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea000.c b/decomp/Agent_Release_x64/full/functions/0x1400ea000.c new file mode 100644 index 00000000..2160df96 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea000.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea000 Unwind@1400ea000 + * Pseudocode, not original source. */ + +void Unwind_1400ea000(undefined8 param_1,longlong param_2,SIZE_T param_3) + +{ + FUN_14009c8c0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x178),param_2,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea020.c b/decomp/Agent_Release_x64/full/functions/0x1400ea020.c new file mode 100644 index 00000000..9f512a54 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea020.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea020 Unwind@1400ea020 + * Pseudocode, not original source. */ + +void Unwind_1400ea020(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea030.c b/decomp/Agent_Release_x64/full/functions/0x1400ea030.c new file mode 100644 index 00000000..0f9b5c86 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea030.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea030 Unwind@1400ea030 + * Pseudocode, not original source. */ + +void Unwind_1400ea030(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea040.c b/decomp/Agent_Release_x64/full/functions/0x1400ea040.c new file mode 100644 index 00000000..cce5e7e0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea040.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea040 Unwind@1400ea040 + * Pseudocode, not original source. */ + +void Unwind_1400ea040(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea060.c b/decomp/Agent_Release_x64/full/functions/0x1400ea060.c new file mode 100644 index 00000000..ca2a5e75 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea060.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea060 Unwind@1400ea060 + * Pseudocode, not original source. */ + +void Unwind_1400ea060(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xe0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea070.c b/decomp/Agent_Release_x64/full/functions/0x1400ea070.c new file mode 100644 index 00000000..3016ab65 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea070.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea070 Unwind@1400ea070 + * Pseudocode, not original source. */ + +void Unwind_1400ea070(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea090.c b/decomp/Agent_Release_x64/full/functions/0x1400ea090.c new file mode 100644 index 00000000..d8d45562 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea090.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea090 Unwind@1400ea090 + * Pseudocode, not original source. */ + +void Unwind_1400ea090(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea0a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea0a0.c new file mode 100644 index 00000000..82e25b63 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea0a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea0a0 Unwind@1400ea0a0 + * Pseudocode, not original source. */ + +void Unwind_1400ea0a0(undefined8 param_1,longlong param_2) + +{ + FUN_14003c6d0(*(undefined8 **)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea0b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea0b0.c new file mode 100644 index 00000000..231326e2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea0b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea0b0 Unwind@1400ea0b0 + * Pseudocode, not original source. */ + +void Unwind_1400ea0b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14009c7d0(*(longlong *)(param_2 + 0x80) + 0x90,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea0d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea0d0.c new file mode 100644 index 00000000..9b80cdcf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea0d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea0d0 Unwind@1400ea0d0 + * Pseudocode, not original source. */ + +void Unwind_1400ea0d0(undefined8 param_1,longlong param_2) + +{ + FUN_140064000((undefined8 *)(*(longlong *)(param_2 + 0x80) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea0e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea0e0.c new file mode 100644 index 00000000..18cbeccf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea0e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea0e0 Unwind@1400ea0e0 + * Pseudocode, not original source. */ + +void Unwind_1400ea0e0(undefined8 param_1,longlong param_2) + +{ + FUN_140064040((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x10)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea0f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea0f0.c new file mode 100644 index 00000000..bbabab0a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea0f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea0f0 Unwind@1400ea0f0 + * Pseudocode, not original source. */ + +void Unwind_1400ea0f0(undefined8 param_1,longlong param_2) + +{ + FUN_14009c440((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea100.c b/decomp/Agent_Release_x64/full/functions/0x1400ea100.c new file mode 100644 index 00000000..120abae5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea100.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea100 Unwind@1400ea100 + * Pseudocode, not original source. */ + +void Unwind_1400ea100(undefined8 param_1,longlong param_2) + +{ + FUN_1400953e0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea120.c b/decomp/Agent_Release_x64/full/functions/0x1400ea120.c new file mode 100644 index 00000000..c522654b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea120.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea120 Unwind@1400ea120 + * Pseudocode, not original source. */ + +void Unwind_1400ea120(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x80) + 0xa8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea140.c b/decomp/Agent_Release_x64/full/functions/0x1400ea140.c new file mode 100644 index 00000000..02fb2db4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea140.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea140 Unwind@1400ea140 + * Pseudocode, not original source. */ + +void Unwind_1400ea140(undefined8 param_1,longlong param_2) + +{ + FUN_140092fb0((longlong *)(*(longlong *)(param_2 + 0x80) + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea160.c b/decomp/Agent_Release_x64/full/functions/0x1400ea160.c new file mode 100644 index 00000000..33d61bfd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea160 Unwind@1400ea160 + * Pseudocode, not original source. */ + +void Unwind_1400ea160(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(*(longlong *)(param_2 + 0x80) + 0x150),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea180.c b/decomp/Agent_Release_x64/full/functions/0x1400ea180.c new file mode 100644 index 00000000..8216a0b6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea180.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea180 Unwind@1400ea180 + * Pseudocode, not original source. */ + +void Unwind_1400ea180(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14009c800((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x168),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea1a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea1a0.c new file mode 100644 index 00000000..cfdb49bb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea1a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea1a0 Unwind@1400ea1a0 + * Pseudocode, not original source. */ + +void Unwind_1400ea1a0(undefined8 param_1,longlong param_2,longlong param_3) + +{ + FUN_14009c830((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x170),param_2,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea1c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea1c0.c new file mode 100644 index 00000000..468893c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea1c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea1c0 Unwind@1400ea1c0 + * Pseudocode, not original source. */ + +void Unwind_1400ea1c0(undefined8 param_1,longlong param_2,SIZE_T param_3) + +{ + FUN_14009c8c0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x178),param_2,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea1e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea1e0.c new file mode 100644 index 00000000..2cb5d8c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea1e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea1e0 Unwind@1400ea1e0 + * Pseudocode, not original source. */ + +void Unwind_1400ea1e0(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea1f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea1f0.c new file mode 100644 index 00000000..dbece49a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea1f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea1f0 Unwind@1400ea1f0 + * Pseudocode, not original source. */ + +void Unwind_1400ea1f0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea210.c b/decomp/Agent_Release_x64/full/functions/0x1400ea210.c new file mode 100644 index 00000000..dbc09840 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea210.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea210 Unwind@1400ea210 + * Pseudocode, not original source. */ + +void Unwind_1400ea210(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea220.c b/decomp/Agent_Release_x64/full/functions/0x1400ea220.c new file mode 100644 index 00000000..be6f41e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea220.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea220 Unwind@1400ea220 + * Pseudocode, not original source. */ + +void Unwind_1400ea220(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea230.c b/decomp/Agent_Release_x64/full/functions/0x1400ea230.c new file mode 100644 index 00000000..f315a9af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea230.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea230 Unwind@1400ea230 + * Pseudocode, not original source. */ + +void Unwind_1400ea230(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0(*(undefined4 **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea240.c b/decomp/Agent_Release_x64/full/functions/0x1400ea240.c new file mode 100644 index 00000000..32b6e631 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea240.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea240 Unwind@1400ea240 + * Pseudocode, not original source. */ + +void Unwind_1400ea240(undefined8 param_1,longlong param_2) + +{ + FUN_14003a1b0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea250.c b/decomp/Agent_Release_x64/full/functions/0x1400ea250.c new file mode 100644 index 00000000..055c871a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea250.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea250 Unwind@1400ea250 + * Pseudocode, not original source. */ + +void Unwind_1400ea250(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140039bf0((undefined8 *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea260.c b/decomp/Agent_Release_x64/full/functions/0x1400ea260.c new file mode 100644 index 00000000..5377ba71 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea260.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea260 Unwind@1400ea260 + * Pseudocode, not original source. */ + +void Unwind_1400ea260(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140039bf0((undefined8 *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea270.c b/decomp/Agent_Release_x64/full/functions/0x1400ea270.c new file mode 100644 index 00000000..9b203ba5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea270.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea270 Unwind@1400ea270 + * Pseudocode, not original source. */ + +void Unwind_1400ea270(undefined8 param_1,longlong param_2) + +{ + FUN_14009e080((undefined8 *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea280.c b/decomp/Agent_Release_x64/full/functions/0x1400ea280.c new file mode 100644 index 00000000..920ea8d6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea280.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea280 Unwind@1400ea280 + * Pseudocode, not original source. */ + +void Unwind_1400ea280(undefined8 param_1,longlong param_2) + +{ + FUN_14009e050((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea290.c b/decomp/Agent_Release_x64/full/functions/0x1400ea290.c new file mode 100644 index 00000000..277044e6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea290.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea290 Unwind@1400ea290 + * Pseudocode, not original source. */ + +void Unwind_1400ea290(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea2a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea2a0.c new file mode 100644 index 00000000..ac9a6641 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea2a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea2a0 Unwind@1400ea2a0 + * Pseudocode, not original source. */ + +void Unwind_1400ea2a0(undefined8 param_1,longlong param_2) + +{ + FUN_140044360((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea2b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea2b0.c new file mode 100644 index 00000000..4e5a3ead --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea2b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea2b0 Unwind@1400ea2b0 + * Pseudocode, not original source. */ + +void Unwind_1400ea2b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x70,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea2c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea2c0.c new file mode 100644 index 00000000..1aa97acd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea2c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea2c0 Unwind@1400ea2c0 + * Pseudocode, not original source. */ + +void Unwind_1400ea2c0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xcf0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea2e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea2e0.c new file mode 100644 index 00000000..31382278 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea2e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea2e0 Unwind@1400ea2e0 + * Pseudocode, not original source. */ + +void Unwind_1400ea2e0(undefined8 param_1,longlong param_2) + +{ + FUN_14009ea30(*(longlong **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea2f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea2f0.c new file mode 100644 index 00000000..22e49cff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea2f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea2f0 Unwind@1400ea2f0 + * Pseudocode, not original source. */ + +void Unwind_1400ea2f0(undefined8 param_1,longlong param_2) + +{ + FUN_1400395f0((longlong *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea300.c b/decomp/Agent_Release_x64/full/functions/0x1400ea300.c new file mode 100644 index 00000000..f15fc42b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea300.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea300 Unwind@1400ea300 + * Pseudocode, not original source. */ + +void Unwind_1400ea300(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x38); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea310.c b/decomp/Agent_Release_x64/full/functions/0x1400ea310.c new file mode 100644 index 00000000..8e8ae996 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea310.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea310 Unwind@1400ea310 + * Pseudocode, not original source. */ + +void Unwind_1400ea310(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea320.c b/decomp/Agent_Release_x64/full/functions/0x1400ea320.c new file mode 100644 index 00000000..14ffce68 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea320.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea320 Unwind@1400ea320 + * Pseudocode, not original source. */ + +void Unwind_1400ea320(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea330.c b/decomp/Agent_Release_x64/full/functions/0x1400ea330.c new file mode 100644 index 00000000..1aac7137 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea330.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea330 Unwind@1400ea330 + * Pseudocode, not original source. */ + +void Unwind_1400ea330(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x160) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea340.c b/decomp/Agent_Release_x64/full/functions/0x1400ea340.c new file mode 100644 index 00000000..74c6d9ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea340.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea340 Unwind@1400ea340 + * Pseudocode, not original source. */ + +void Unwind_1400ea340(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea350.c b/decomp/Agent_Release_x64/full/functions/0x1400ea350.c new file mode 100644 index 00000000..1a71b84f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea350.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea350 Unwind@1400ea350 + * Pseudocode, not original source. */ + +void Unwind_1400ea350(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x160) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea360.c b/decomp/Agent_Release_x64/full/functions/0x1400ea360.c new file mode 100644 index 00000000..160c2020 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea360.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea360 Unwind@1400ea360 + * Pseudocode, not original source. */ + +void Unwind_1400ea360(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea370.c b/decomp/Agent_Release_x64/full/functions/0x1400ea370.c new file mode 100644 index 00000000..218de2bf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea370.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea370 Unwind@1400ea370 + * Pseudocode, not original source. */ + +void Unwind_1400ea370(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x160) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea380.c b/decomp/Agent_Release_x64/full/functions/0x1400ea380.c new file mode 100644 index 00000000..88f29e5f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea380.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea380 Unwind@1400ea380 + * Pseudocode, not original source. */ + +void Unwind_1400ea380(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea390.c b/decomp/Agent_Release_x64/full/functions/0x1400ea390.c new file mode 100644 index 00000000..87bbf8b0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea390.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea390 Unwind@1400ea390 + * Pseudocode, not original source. */ + +void Unwind_1400ea390(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x160) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea3a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea3a0.c new file mode 100644 index 00000000..549ea31d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea3a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea3a0 Unwind@1400ea3a0 + * Pseudocode, not original source. */ + +void Unwind_1400ea3a0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea3b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea3b0.c new file mode 100644 index 00000000..8066c63b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea3b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea3b0 Unwind@1400ea3b0 + * Pseudocode, not original source. */ + +void Unwind_1400ea3b0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x160) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea3c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea3c0.c new file mode 100644 index 00000000..165a33d9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea3c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea3c0 Unwind@1400ea3c0 + * Pseudocode, not original source. */ + +void Unwind_1400ea3c0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea3d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea3d0.c new file mode 100644 index 00000000..9f67c792 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea3d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea3d0 Unwind@1400ea3d0 + * Pseudocode, not original source. */ + +void Unwind_1400ea3d0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x160) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea3e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea3e0.c new file mode 100644 index 00000000..daa78031 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea3e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea3e0 Unwind@1400ea3e0 + * Pseudocode, not original source. */ + +void Unwind_1400ea3e0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea3f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea3f0.c new file mode 100644 index 00000000..7a592082 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea3f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea3f0 Unwind@1400ea3f0 + * Pseudocode, not original source. */ + +void Unwind_1400ea3f0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x160) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea400.c b/decomp/Agent_Release_x64/full/functions/0x1400ea400.c new file mode 100644 index 00000000..9dd4b308 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea400.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea400 Unwind@1400ea400 + * Pseudocode, not original source. */ + +void Unwind_1400ea400(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x80); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea410.c b/decomp/Agent_Release_x64/full/functions/0x1400ea410.c new file mode 100644 index 00000000..e7f6e814 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea410.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea410 Unwind@1400ea410 + * Pseudocode, not original source. */ + +void Unwind_1400ea410(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x170) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea420.c b/decomp/Agent_Release_x64/full/functions/0x1400ea420.c new file mode 100644 index 00000000..2d24008b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea420.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea420 Unwind@1400ea420 + * Pseudocode, not original source. */ + +void Unwind_1400ea420(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea430.c b/decomp/Agent_Release_x64/full/functions/0x1400ea430.c new file mode 100644 index 00000000..beb7a4e8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea430.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea430 Unwind@1400ea430 + * Pseudocode, not original source. */ + +void Unwind_1400ea430(undefined8 param_1,longlong param_2) + +{ + FUN_14009f8a0(*(undefined8 **)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea440.c b/decomp/Agent_Release_x64/full/functions/0x1400ea440.c new file mode 100644 index 00000000..9e214e52 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea440.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea440 Unwind@1400ea440 + * Pseudocode, not original source. */ + +void Unwind_1400ea440(undefined8 param_1,longlong param_2) + +{ + FUN_14009f8a0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea450.c b/decomp/Agent_Release_x64/full/functions/0x1400ea450.c new file mode 100644 index 00000000..7415af86 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea450.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea450 Unwind@1400ea450 + * Pseudocode, not original source. */ + +void Unwind_1400ea450(undefined8 param_1,longlong param_2) + +{ + FUN_140098fa0((char *)(*(longlong *)(param_2 + 0x40) + 0x18)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea460.c b/decomp/Agent_Release_x64/full/functions/0x1400ea460.c new file mode 100644 index 00000000..c77e5e88 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea460.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea460 Unwind@1400ea460 + * Pseudocode, not original source. */ + +void Unwind_1400ea460(undefined8 param_1,longlong param_2) + +{ + FUN_1400395f0((longlong *)(*(longlong *)(param_2 + 0x40) + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea470.c b/decomp/Agent_Release_x64/full/functions/0x1400ea470.c new file mode 100644 index 00000000..3276af51 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea470.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea470 Catch@1400ea470 + * Pseudocode, not original source. */ + +undefined * Catch_1400ea470(undefined8 param_1,longlong param_2) + +{ + (**(code **)(**(longlong **)(param_2 + 0x28) + 8))(); + return &DAT_1400a0a60; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea4a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea4a0.c new file mode 100644 index 00000000..ed2ed41e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea4a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea4a0 Unwind@1400ea4a0 + * Pseudocode, not original source. */ + +void Unwind_1400ea4a0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea4b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea4b0.c new file mode 100644 index 00000000..9d5095be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea4b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea4b0 Catch@1400ea4b0 + * Pseudocode, not original source. */ + +undefined * Catch_1400ea4b0(undefined8 param_1,longlong param_2) + +{ + (**(code **)(**(longlong **)(param_2 + 0x48) + 8))(); + return &DAT_1400a0ce8; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea4e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea4e0.c new file mode 100644 index 00000000..1c80ff83 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea4e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea4e0 Unwind@1400ea4e0 + * Pseudocode, not original source. */ + +void Unwind_1400ea4e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea4f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea4f0.c new file mode 100644 index 00000000..fef6cf85 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea4f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea4f0 Unwind@1400ea4f0 + * Pseudocode, not original source. */ + +void Unwind_1400ea4f0(void) + +{ + DAT_14015f340 = DAT_14015f340 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea510.c b/decomp/Agent_Release_x64/full/functions/0x1400ea510.c new file mode 100644 index 00000000..5b374bb2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea510.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea510 Unwind@1400ea510 + * Pseudocode, not original source. */ + +void Unwind_1400ea510(undefined8 param_1,longlong param_2) + +{ + FUN_1400a0e80((longlong *)(param_2 + 0x108)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea520.c b/decomp/Agent_Release_x64/full/functions/0x1400ea520.c new file mode 100644 index 00000000..31a4b40f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea520.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea520 Unwind@1400ea520 + * Pseudocode, not original source. */ + +void Unwind_1400ea520(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea530.c b/decomp/Agent_Release_x64/full/functions/0x1400ea530.c new file mode 100644 index 00000000..64fdeb14 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea530.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea530 Unwind@1400ea530 + * Pseudocode, not original source. */ + +void Unwind_1400ea530(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea540.c b/decomp/Agent_Release_x64/full/functions/0x1400ea540.c new file mode 100644 index 00000000..26919371 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea540.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea540 Unwind@1400ea540 + * Pseudocode, not original source. */ + +void Unwind_1400ea540(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea550.c b/decomp/Agent_Release_x64/full/functions/0x1400ea550.c new file mode 100644 index 00000000..75b054c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea550.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea550 Unwind@1400ea550 + * Pseudocode, not original source. */ + +void Unwind_1400ea550(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea560.c b/decomp/Agent_Release_x64/full/functions/0x1400ea560.c new file mode 100644 index 00000000..fbb5ffbe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea560.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea560 Unwind@1400ea560 + * Pseudocode, not original source. */ + +void Unwind_1400ea560(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea570.c b/decomp/Agent_Release_x64/full/functions/0x1400ea570.c new file mode 100644 index 00000000..fad5a780 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea570.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea570 Unwind@1400ea570 + * Pseudocode, not original source. */ + +void Unwind_1400ea570(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea580.c b/decomp/Agent_Release_x64/full/functions/0x1400ea580.c new file mode 100644 index 00000000..2a52ba3e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea580.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea580 Unwind@1400ea580 + * Pseudocode, not original source. */ + +void Unwind_1400ea580(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea590.c b/decomp/Agent_Release_x64/full/functions/0x1400ea590.c new file mode 100644 index 00000000..aa1a5ef8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea590.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea590 Unwind@1400ea590 + * Pseudocode, not original source. */ + +void Unwind_1400ea590(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea5a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea5a0.c new file mode 100644 index 00000000..7dfd144e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea5a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea5a0 Unwind@1400ea5a0 + * Pseudocode, not original source. */ + +void Unwind_1400ea5a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea5b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea5b0.c new file mode 100644 index 00000000..25df19ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea5b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea5b0 Unwind@1400ea5b0 + * Pseudocode, not original source. */ + +void Unwind_1400ea5b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea5c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea5c0.c new file mode 100644 index 00000000..459f0345 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea5c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea5c0 Unwind@1400ea5c0 + * Pseudocode, not original source. */ + +void Unwind_1400ea5c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea5d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea5d0.c new file mode 100644 index 00000000..534c6952 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea5d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea5d0 Unwind@1400ea5d0 + * Pseudocode, not original source. */ + +void Unwind_1400ea5d0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea5e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea5e0.c new file mode 100644 index 00000000..9875b4c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea5e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea5e0 Unwind@1400ea5e0 + * Pseudocode, not original source. */ + +void Unwind_1400ea5e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea5f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea5f0.c new file mode 100644 index 00000000..c40aa8d1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea5f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea5f0 Unwind@1400ea5f0 + * Pseudocode, not original source. */ + +void Unwind_1400ea5f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea600.c b/decomp/Agent_Release_x64/full/functions/0x1400ea600.c new file mode 100644 index 00000000..298663a4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea600.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea600 Unwind@1400ea600 + * Pseudocode, not original source. */ + +void Unwind_1400ea600(undefined8 param_1,longlong param_2) + +{ + FUN_1400414f0((char *)(*(longlong *)(param_2 + 0x70) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea610.c b/decomp/Agent_Release_x64/full/functions/0x1400ea610.c new file mode 100644 index 00000000..aab4d2cf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea610.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea610 Unwind@1400ea610 + * Pseudocode, not original source. */ + +void Unwind_1400ea610(undefined8 param_1,longlong param_2) + +{ + FUN_14003dff0((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea620.c b/decomp/Agent_Release_x64/full/functions/0x1400ea620.c new file mode 100644 index 00000000..686f511d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea620.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea620 Unwind@1400ea620 + * Pseudocode, not original source. */ + +void Unwind_1400ea620(undefined8 param_1,longlong param_2) + +{ + FUN_14003fbb0((undefined8 *)(*(longlong *)(param_2 + 0x70) + 200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea640.c b/decomp/Agent_Release_x64/full/functions/0x1400ea640.c new file mode 100644 index 00000000..3bb39bf2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea640.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea640 Unwind@1400ea640 + * Pseudocode, not original source. */ + +void Unwind_1400ea640(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea660.c b/decomp/Agent_Release_x64/full/functions/0x1400ea660.c new file mode 100644 index 00000000..2e81a190 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea660.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea660 Unwind@1400ea660 + * Pseudocode, not original source. */ + +void Unwind_1400ea660(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((*(uint *)(param_2 + 0x60) & 1) != 0) { + *(uint *)(param_2 + 0x60) = *(uint *)(param_2 + 0x60) & 0xfffffffe; + FUN_140056b80(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea690.c b/decomp/Agent_Release_x64/full/functions/0x1400ea690.c new file mode 100644 index 00000000..94b04827 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea690.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea690 Unwind@1400ea690 + * Pseudocode, not original source. */ + +void Unwind_1400ea690(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea6a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea6a0.c new file mode 100644 index 00000000..6b2e8520 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea6a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea6a0 Unwind@1400ea6a0 + * Pseudocode, not original source. */ + +void Unwind_1400ea6a0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xf8) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea6b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea6b0.c new file mode 100644 index 00000000..7c810032 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea6b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea6b0 Unwind@1400ea6b0 + * Pseudocode, not original source. */ + +void Unwind_1400ea6b0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xf8) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea6c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea6c0.c new file mode 100644 index 00000000..2eb59c73 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea6c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea6c0 Unwind@1400ea6c0 + * Pseudocode, not original source. */ + +void Unwind_1400ea6c0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xf8) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea6d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea6d0.c new file mode 100644 index 00000000..bde5227a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea6d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea6d0 Unwind@1400ea6d0 + * Pseudocode, not original source. */ + +void Unwind_1400ea6d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea6e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea6e0.c new file mode 100644 index 00000000..92466298 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea6e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea6e0 Unwind@1400ea6e0 + * Pseudocode, not original source. */ + +void Unwind_1400ea6e0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(*(longlong *)(param_2 + 0x50) + 8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea6f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea6f0.c new file mode 100644 index 00000000..a7409ccb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea6f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea6f0 Unwind@1400ea6f0 + * Pseudocode, not original source. */ + +void Unwind_1400ea6f0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x50) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea700.c b/decomp/Agent_Release_x64/full/functions/0x1400ea700.c new file mode 100644 index 00000000..62dc78c6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea700.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea700 Unwind@1400ea700 + * Pseudocode, not original source. */ + +void Unwind_1400ea700(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140085cf0((longlong *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea710.c b/decomp/Agent_Release_x64/full/functions/0x1400ea710.c new file mode 100644 index 00000000..f242b360 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea710.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea710 Unwind@1400ea710 + * Pseudocode, not original source. */ + +void Unwind_1400ea710(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xd50,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea720.c b/decomp/Agent_Release_x64/full/functions/0x1400ea720.c new file mode 100644 index 00000000..1d82540a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea720.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea720 Unwind@1400ea720 + * Pseudocode, not original source. */ + +void Unwind_1400ea720(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x19d0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea740.c b/decomp/Agent_Release_x64/full/functions/0x1400ea740.c new file mode 100644 index 00000000..26a62f1b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea740.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea740 Unwind@1400ea740 + * Pseudocode, not original source. */ + +void Unwind_1400ea740(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xc0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea750.c b/decomp/Agent_Release_x64/full/functions/0x1400ea750.c new file mode 100644 index 00000000..98579bbd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea750.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea750 Unwind@1400ea750 + * Pseudocode, not original source. */ + +void Unwind_1400ea750(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea770.c b/decomp/Agent_Release_x64/full/functions/0x1400ea770.c new file mode 100644 index 00000000..bd820935 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea770.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea770 Unwind@1400ea770 + * Pseudocode, not original source. */ + +void Unwind_1400ea770(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x80) & 1) != 0) { + *(uint *)(param_2 + 0x80) = *(uint *)(param_2 + 0x80) & 0xfffffffe; + FUN_14001c180(*(longlong **)(param_2 + 0x88)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea7a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea7a0.c new file mode 100644 index 00000000..31e55730 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea7a0.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea7a0 Unwind@1400ea7a0 + * Pseudocode, not original source. */ + +void Unwind_1400ea7a0(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x50) & 1) != 0) { + *(uint *)(param_2 + 0x50) = *(uint *)(param_2 + 0x50) & 0xfffffffe; + FUN_14004db90(*(longlong **)(param_2 + 0x58)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea7d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea7d0.c new file mode 100644 index 00000000..ab444521 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea7d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea7d0 Unwind@1400ea7d0 + * Pseudocode, not original source. */ + +void Unwind_1400ea7d0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea7e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea7e0.c new file mode 100644 index 00000000..96c45735 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea7e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea7e0 Unwind@1400ea7e0 + * Pseudocode, not original source. */ + +void Unwind_1400ea7e0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea7f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea7f0.c new file mode 100644 index 00000000..92a96398 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea7f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea7f0 Unwind@1400ea7f0 + * Pseudocode, not original source. */ + +void Unwind_1400ea7f0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea800.c b/decomp/Agent_Release_x64/full/functions/0x1400ea800.c new file mode 100644 index 00000000..4272a54c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea800.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea800 Unwind@1400ea800 + * Pseudocode, not original source. */ + +void Unwind_1400ea800(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea810.c b/decomp/Agent_Release_x64/full/functions/0x1400ea810.c new file mode 100644 index 00000000..b091d78e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea810.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea810 Unwind@1400ea810 + * Pseudocode, not original source. */ + +void Unwind_1400ea810(undefined8 param_1,longlong param_2) + +{ + FUN_14004db90((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea820.c b/decomp/Agent_Release_x64/full/functions/0x1400ea820.c new file mode 100644 index 00000000..cc906e95 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea820.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea820 Unwind@1400ea820 + * Pseudocode, not original source. */ + +void Unwind_1400ea820(undefined8 param_1,longlong param_2) + +{ + FUN_14004db90((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea830.c b/decomp/Agent_Release_x64/full/functions/0x1400ea830.c new file mode 100644 index 00000000..355eeac2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea830.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea830 Unwind@1400ea830 + * Pseudocode, not original source. */ + +void Unwind_1400ea830(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea840.c b/decomp/Agent_Release_x64/full/functions/0x1400ea840.c new file mode 100644 index 00000000..7b6ec0be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea840.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea840 Unwind@1400ea840 + * Pseudocode, not original source. */ + +void Unwind_1400ea840(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea850.c b/decomp/Agent_Release_x64/full/functions/0x1400ea850.c new file mode 100644 index 00000000..58e92987 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea850.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea850 Unwind@1400ea850 + * Pseudocode, not original source. */ + +void Unwind_1400ea850(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea860.c b/decomp/Agent_Release_x64/full/functions/0x1400ea860.c new file mode 100644 index 00000000..eb260e39 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea860.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea860 Unwind@1400ea860 + * Pseudocode, not original source. */ + +void Unwind_1400ea860(void) + +{ + DAT_14015f410 = DAT_14015f410 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea880.c b/decomp/Agent_Release_x64/full/functions/0x1400ea880.c new file mode 100644 index 00000000..41449a54 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea880.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea880 Unwind@1400ea880 + * Pseudocode, not original source. */ + +void Unwind_1400ea880(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400a3d80(*(longlong **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea890.c b/decomp/Agent_Release_x64/full/functions/0x1400ea890.c new file mode 100644 index 00000000..9404591f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea890.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea890 Unwind@1400ea890 + * Pseudocode, not original source. */ + +void Unwind_1400ea890(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea8a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea8a0.c new file mode 100644 index 00000000..b0ae8ceb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea8a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea8a0 Unwind@1400ea8a0 + * Pseudocode, not original source. */ + +void Unwind_1400ea8a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea8b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea8b0.c new file mode 100644 index 00000000..68299b3e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea8b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea8b0 Unwind@1400ea8b0 + * Pseudocode, not original source. */ + +void Unwind_1400ea8b0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x28); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea8c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea8c0.c new file mode 100644 index 00000000..fb98aa2c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea8c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea8c0 Unwind@1400ea8c0 + * Pseudocode, not original source. */ + +void Unwind_1400ea8c0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x20) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea8d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea8d0.c new file mode 100644 index 00000000..471ac5ca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea8d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea8d0 Unwind@1400ea8d0 + * Pseudocode, not original source. */ + +void Unwind_1400ea8d0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0xf8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea8e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea8e0.c new file mode 100644 index 00000000..b474c3ea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea8e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea8e0 Unwind@1400ea8e0 + * Pseudocode, not original source. */ + +void Unwind_1400ea8e0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x60); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea8f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea8f0.c new file mode 100644 index 00000000..57dbda47 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea8f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea8f0 Unwind@1400ea8f0 + * Pseudocode, not original source. */ + +void Unwind_1400ea8f0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x50) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea900.c b/decomp/Agent_Release_x64/full/functions/0x1400ea900.c new file mode 100644 index 00000000..e1d0bc9a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea900.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea900 Unwind@1400ea900 + * Pseudocode, not original source. */ + +void Unwind_1400ea900(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x50) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea910.c b/decomp/Agent_Release_x64/full/functions/0x1400ea910.c new file mode 100644 index 00000000..43f543db --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea910.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea910 Unwind@1400ea910 + * Pseudocode, not original source. */ + +void Unwind_1400ea910(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400a3d80(*(longlong **)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea920.c b/decomp/Agent_Release_x64/full/functions/0x1400ea920.c new file mode 100644 index 00000000..f0251dac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea920.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea920 Unwind@1400ea920 + * Pseudocode, not original source. */ + +void Unwind_1400ea920(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea930.c b/decomp/Agent_Release_x64/full/functions/0x1400ea930.c new file mode 100644 index 00000000..87a1618e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea930.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea930 Unwind@1400ea930 + * Pseudocode, not original source. */ + +void Unwind_1400ea930(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea940.c b/decomp/Agent_Release_x64/full/functions/0x1400ea940.c new file mode 100644 index 00000000..7b5ab59c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea940.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea940 Unwind@1400ea940 + * Pseudocode, not original source. */ + +void Unwind_1400ea940(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea950.c b/decomp/Agent_Release_x64/full/functions/0x1400ea950.c new file mode 100644 index 00000000..2155a862 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea950.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea950 Unwind@1400ea950 + * Pseudocode, not original source. */ + +void Unwind_1400ea950(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea960.c b/decomp/Agent_Release_x64/full/functions/0x1400ea960.c new file mode 100644 index 00000000..ad25e0c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea960.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea960 Unwind@1400ea960 + * Pseudocode, not original source. */ + +void Unwind_1400ea960(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea970.c b/decomp/Agent_Release_x64/full/functions/0x1400ea970.c new file mode 100644 index 00000000..77a5007a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea970.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea970 Unwind@1400ea970 + * Pseudocode, not original source. */ + +void Unwind_1400ea970(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea980.c b/decomp/Agent_Release_x64/full/functions/0x1400ea980.c new file mode 100644 index 00000000..a18443b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea980.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea980 Unwind@1400ea980 + * Pseudocode, not original source. */ + +void Unwind_1400ea980(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea990.c b/decomp/Agent_Release_x64/full/functions/0x1400ea990.c new file mode 100644 index 00000000..f9079f03 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea990.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea990 Unwind@1400ea990 + * Pseudocode, not original source. */ + +void Unwind_1400ea990(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea9a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea9a0.c new file mode 100644 index 00000000..a7276b0d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea9a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea9a0 Unwind@1400ea9a0 + * Pseudocode, not original source. */ + +void Unwind_1400ea9a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x80,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea9b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea9b0.c new file mode 100644 index 00000000..f002cf36 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea9b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea9b0 Unwind@1400ea9b0 + * Pseudocode, not original source. */ + +void Unwind_1400ea9b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xd10,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea9c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea9c0.c new file mode 100644 index 00000000..07cfe0d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea9c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea9c0 Unwind@1400ea9c0 + * Pseudocode, not original source. */ + +void Unwind_1400ea9c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea9d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea9d0.c new file mode 100644 index 00000000..67d08bb2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea9d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea9d0 Unwind@1400ea9d0 + * Pseudocode, not original source. */ + +void Unwind_1400ea9d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea9e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea9e0.c new file mode 100644 index 00000000..86ca846f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea9e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea9e0 Unwind@1400ea9e0 + * Pseudocode, not original source. */ + +void Unwind_1400ea9e0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x70) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ea9f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ea9f0.c new file mode 100644 index 00000000..34b79c2d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ea9f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ea9f0 Unwind@1400ea9f0 + * Pseudocode, not original source. */ + +void Unwind_1400ea9f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaa00.c b/decomp/Agent_Release_x64/full/functions/0x1400eaa00.c new file mode 100644 index 00000000..7123d11c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaa00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaa00 Unwind@1400eaa00 + * Pseudocode, not original source. */ + +void Unwind_1400eaa00(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x50); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaa10.c b/decomp/Agent_Release_x64/full/functions/0x1400eaa10.c new file mode 100644 index 00000000..165bf453 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaa10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaa10 Unwind@1400eaa10 + * Pseudocode, not original source. */ + +void Unwind_1400eaa10(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xe0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaa20.c b/decomp/Agent_Release_x64/full/functions/0x1400eaa20.c new file mode 100644 index 00000000..3793b99f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaa20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaa20 Unwind@1400eaa20 + * Pseudocode, not original source. */ + +void Unwind_1400eaa20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaa30.c b/decomp/Agent_Release_x64/full/functions/0x1400eaa30.c new file mode 100644 index 00000000..f67a43f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaa30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaa30 Unwind@1400eaa30 + * Pseudocode, not original source. */ + +void Unwind_1400eaa30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaa40.c b/decomp/Agent_Release_x64/full/functions/0x1400eaa40.c new file mode 100644 index 00000000..279f5b7a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaa40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaa40 Unwind@1400eaa40 + * Pseudocode, not original source. */ + +void Unwind_1400eaa40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaa50.c b/decomp/Agent_Release_x64/full/functions/0x1400eaa50.c new file mode 100644 index 00000000..4988392c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaa50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaa50 Unwind@1400eaa50 + * Pseudocode, not original source. */ + +void Unwind_1400eaa50(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaa60.c b/decomp/Agent_Release_x64/full/functions/0x1400eaa60.c new file mode 100644 index 00000000..af26aeac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaa60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaa60 Unwind@1400eaa60 + * Pseudocode, not original source. */ + +void Unwind_1400eaa60(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaa70.c b/decomp/Agent_Release_x64/full/functions/0x1400eaa70.c new file mode 100644 index 00000000..83894eea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaa70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaa70 Unwind@1400eaa70 + * Pseudocode, not original source. */ + +void Unwind_1400eaa70(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x38); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaa80.c b/decomp/Agent_Release_x64/full/functions/0x1400eaa80.c new file mode 100644 index 00000000..e27f0f4f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaa80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaa80 Unwind@1400eaa80 + * Pseudocode, not original source. */ + +void Unwind_1400eaa80(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x38); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaa90.c b/decomp/Agent_Release_x64/full/functions/0x1400eaa90.c new file mode 100644 index 00000000..6e60a352 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaa90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaa90 Unwind@1400eaa90 + * Pseudocode, not original source. */ + +void Unwind_1400eaa90(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaab0.c b/decomp/Agent_Release_x64/full/functions/0x1400eaab0.c new file mode 100644 index 00000000..eeb274cb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaab0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaab0 Unwind@1400eaab0 + * Pseudocode, not original source. */ + +void Unwind_1400eaab0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xf0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaac0.c b/decomp/Agent_Release_x64/full/functions/0x1400eaac0.c new file mode 100644 index 00000000..611b1368 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaac0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaac0 Unwind@1400eaac0 + * Pseudocode, not original source. */ + +void Unwind_1400eaac0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaae0.c b/decomp/Agent_Release_x64/full/functions/0x1400eaae0.c new file mode 100644 index 00000000..edcb8d9a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaae0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaae0 Unwind@1400eaae0 + * Pseudocode, not original source. */ + +void Unwind_1400eaae0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x28) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaaf0.c b/decomp/Agent_Release_x64/full/functions/0x1400eaaf0.c new file mode 100644 index 00000000..0c2e9ffb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaaf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaaf0 Unwind@1400eaaf0 + * Pseudocode, not original source. */ + +void Unwind_1400eaaf0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eab00.c b/decomp/Agent_Release_x64/full/functions/0x1400eab00.c new file mode 100644 index 00000000..6b631a02 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eab00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eab00 Unwind@1400eab00 + * Pseudocode, not original source. */ + +void Unwind_1400eab00(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eab10.c b/decomp/Agent_Release_x64/full/functions/0x1400eab10.c new file mode 100644 index 00000000..1d0dad75 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eab10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eab10 Unwind@1400eab10 + * Pseudocode, not original source. */ + +void Unwind_1400eab10(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x128) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eab20.c b/decomp/Agent_Release_x64/full/functions/0x1400eab20.c new file mode 100644 index 00000000..53a825ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eab20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eab20 Unwind@1400eab20 + * Pseudocode, not original source. */ + +void Unwind_1400eab20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eab30.c b/decomp/Agent_Release_x64/full/functions/0x1400eab30.c new file mode 100644 index 00000000..6fb9350e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eab30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eab30 Unwind@1400eab30 + * Pseudocode, not original source. */ + +void Unwind_1400eab30(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eab40.c b/decomp/Agent_Release_x64/full/functions/0x1400eab40.c new file mode 100644 index 00000000..53983a86 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eab40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eab40 Unwind@1400eab40 + * Pseudocode, not original source. */ + +void Unwind_1400eab40(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eab50.c b/decomp/Agent_Release_x64/full/functions/0x1400eab50.c new file mode 100644 index 00000000..7f368b5d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eab50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eab50 Unwind@1400eab50 + * Pseudocode, not original source. */ + +void Unwind_1400eab50(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eab70.c b/decomp/Agent_Release_x64/full/functions/0x1400eab70.c new file mode 100644 index 00000000..a736e14b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eab70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eab70 Unwind@1400eab70 + * Pseudocode, not original source. */ + +void Unwind_1400eab70(undefined8 param_1,longlong param_2) + +{ + FUN_140065900((undefined8 *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eab80.c b/decomp/Agent_Release_x64/full/functions/0x1400eab80.c new file mode 100644 index 00000000..0d89a57f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eab80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eab80 Unwind@1400eab80 + * Pseudocode, not original source. */ + +void Unwind_1400eab80(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eab90.c b/decomp/Agent_Release_x64/full/functions/0x1400eab90.c new file mode 100644 index 00000000..15b1ae75 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eab90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eab90 Unwind@1400eab90 + * Pseudocode, not original source. */ + +void Unwind_1400eab90(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaba0.c b/decomp/Agent_Release_x64/full/functions/0x1400eaba0.c new file mode 100644 index 00000000..799282eb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaba0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaba0 Unwind@1400eaba0 + * Pseudocode, not original source. */ + +void Unwind_1400eaba0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eabb0.c b/decomp/Agent_Release_x64/full/functions/0x1400eabb0.c new file mode 100644 index 00000000..668fbbf1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eabb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eabb0 Unwind@1400eabb0 + * Pseudocode, not original source. */ + +void Unwind_1400eabb0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0xc0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eabc0.c b/decomp/Agent_Release_x64/full/functions/0x1400eabc0.c new file mode 100644 index 00000000..225a7bae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eabc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eabc0 Unwind@1400eabc0 + * Pseudocode, not original source. */ + +void Unwind_1400eabc0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x1d8) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eabd0.c b/decomp/Agent_Release_x64/full/functions/0x1400eabd0.c new file mode 100644 index 00000000..9c057b7c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eabd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eabd0 Unwind@1400eabd0 + * Pseudocode, not original source. */ + +void Unwind_1400eabd0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x1d8) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eabe0.c b/decomp/Agent_Release_x64/full/functions/0x1400eabe0.c new file mode 100644 index 00000000..d2c92bd7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eabe0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eabe0 Unwind@1400eabe0 + * Pseudocode, not original source. */ + +void Unwind_1400eabe0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eabf0.c b/decomp/Agent_Release_x64/full/functions/0x1400eabf0.c new file mode 100644 index 00000000..a3b46c6a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eabf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eabf0 Unwind@1400eabf0 + * Pseudocode, not original source. */ + +void Unwind_1400eabf0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eac00.c b/decomp/Agent_Release_x64/full/functions/0x1400eac00.c new file mode 100644 index 00000000..b1519be6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eac00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eac00 Unwind@1400eac00 + * Pseudocode, not original source. */ + +void Unwind_1400eac00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x68),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eac10.c b/decomp/Agent_Release_x64/full/functions/0x1400eac10.c new file mode 100644 index 00000000..f7466aa9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eac10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eac10 Unwind@1400eac10 + * Pseudocode, not original source. */ + +void Unwind_1400eac10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x150)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eac20.c b/decomp/Agent_Release_x64/full/functions/0x1400eac20.c new file mode 100644 index 00000000..bdb24837 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eac20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eac20 Unwind@1400eac20 + * Pseudocode, not original source. */ + +void Unwind_1400eac20(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xc0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eac30.c b/decomp/Agent_Release_x64/full/functions/0x1400eac30.c new file mode 100644 index 00000000..b1a8d108 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eac30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eac30 Unwind@1400eac30 + * Pseudocode, not original source. */ + +void Unwind_1400eac30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eac40.c b/decomp/Agent_Release_x64/full/functions/0x1400eac40.c new file mode 100644 index 00000000..ee78b25a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eac40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eac40 Unwind@1400eac40 + * Pseudocode, not original source. */ + +void Unwind_1400eac40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x1b0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eac50.c b/decomp/Agent_Release_x64/full/functions/0x1400eac50.c new file mode 100644 index 00000000..cda3a4c4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eac50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eac50 Unwind@1400eac50 + * Pseudocode, not original source. */ + +void Unwind_1400eac50(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eac60.c b/decomp/Agent_Release_x64/full/functions/0x1400eac60.c new file mode 100644 index 00000000..96d76d95 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eac60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eac60 Unwind@1400eac60 + * Pseudocode, not original source. */ + +void Unwind_1400eac60(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eac70.c b/decomp/Agent_Release_x64/full/functions/0x1400eac70.c new file mode 100644 index 00000000..620d1267 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eac70.c @@ -0,0 +1,47 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eac70 Catch@1400eac70 + * Pseudocode, not original source. */ + +undefined * +Catch_1400eac70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + longlong lVar2; + undefined *puVar3; + int *piVar4; + longlong *plVar5; + undefined8 uVar6; + undefined8 uVar7; + longlong **pplVar8; + + FUN_140030200(param_1,param_2,param_3,param_4); + *(undefined **)(param_2 + 0xe8) = PTR_DAT_140155010; + lVar2 = *(longlong *)(param_2 + 0x28); + pplVar8 = (longlong **)(param_2 + 0xe8); + uVar6 = 5; + uVar7 = 3; + plVar5 = *(longlong **)(lVar2 + 0x108); + FUN_14007dca0(plVar5,5,(undefined *)0x3,pplVar8); + puVar3 = *(undefined **)(param_2 + 0xe8); + if (((puVar3 != (undefined *)0x0) && (puVar3 != PTR_DAT_140155010)) && + (puVar3 + -8 != (undefined *)0x0)) { + piVar4 = (int *)FUN_140030200(plVar5,uVar6,uVar7,pplVar8); + *(int **)(param_2 + 0x1d0) = piVar4; + FUN_14002e6e0(piVar4); + *(undefined1 *)(param_2 + 0x1d8) = 1; + piVar1 = (int *)(puVar3 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(puVar3 + -8); + } + FUN_14002e770((longlong)piVar4); + } + if (*(longlong *)(*(longlong *)(lVar2 + 0x108) + 0x1580) != 0) { + plVar5 = *(longlong **)(*(longlong *)(lVar2 + 0x108) + 0x1580); + (**(code **)(*plVar5 + 0x20))(plVar5,*(undefined8 *)(param_2 + 0x1f0)); + } + FUN_1400a36a0(lVar2,4); + return &DAT_1400a752c; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ead50.c b/decomp/Agent_Release_x64/full/functions/0x1400ead50.c new file mode 100644 index 00000000..36a33d95 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ead50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ead50 Unwind@1400ead50 + * Pseudocode, not original source. */ + +void Unwind_1400ead50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xe8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ead60.c b/decomp/Agent_Release_x64/full/functions/0x1400ead60.c new file mode 100644 index 00000000..19267d81 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ead60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ead60 Unwind@1400ead60 + * Pseudocode, not original source. */ + +void Unwind_1400ead60(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x1d0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ead70.c b/decomp/Agent_Release_x64/full/functions/0x1400ead70.c new file mode 100644 index 00000000..bf84621e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ead70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ead70 Unwind@1400ead70 + * Pseudocode, not original source. */ + +void Unwind_1400ead70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ead80.c b/decomp/Agent_Release_x64/full/functions/0x1400ead80.c new file mode 100644 index 00000000..01265f71 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ead80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ead80 Unwind@1400ead80 + * Pseudocode, not original source. */ + +void Unwind_1400ead80(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x1c0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ead90.c b/decomp/Agent_Release_x64/full/functions/0x1400ead90.c new file mode 100644 index 00000000..10183210 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ead90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ead90 Unwind@1400ead90 + * Pseudocode, not original source. */ + +void Unwind_1400ead90(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x100)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eada0.c b/decomp/Agent_Release_x64/full/functions/0x1400eada0.c new file mode 100644 index 00000000..650d6f97 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eada0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eada0 Unwind@1400eada0 + * Pseudocode, not original source. */ + +void Unwind_1400eada0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x128)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eadb0.c b/decomp/Agent_Release_x64/full/functions/0x1400eadb0.c new file mode 100644 index 00000000..2407e4c6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eadb0.c @@ -0,0 +1,47 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eadb0 Catch@1400eadb0 + * Pseudocode, not original source. */ + +undefined * +Catch_1400eadb0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + longlong lVar2; + undefined *puVar3; + int *piVar4; + longlong *plVar5; + undefined8 uVar6; + undefined8 uVar7; + longlong **pplVar8; + + FUN_140030200(param_1,param_2,param_3,param_4); + *(undefined **)(param_2 + 0xf0) = PTR_DAT_140155010; + lVar2 = *(longlong *)(param_2 + 0x28); + pplVar8 = (longlong **)(param_2 + 0xf0); + uVar6 = 5; + uVar7 = 3; + plVar5 = *(longlong **)(lVar2 + 0x108); + FUN_14007dca0(plVar5,5,(undefined *)0x3,pplVar8); + puVar3 = *(undefined **)(param_2 + 0xf0); + if (((puVar3 != (undefined *)0x0) && (puVar3 != PTR_DAT_140155010)) && + (puVar3 + -8 != (undefined *)0x0)) { + piVar4 = (int *)FUN_140030200(plVar5,uVar6,uVar7,pplVar8); + *(int **)(param_2 + 0x1f8) = piVar4; + FUN_14002e6e0(piVar4); + *(undefined1 *)(param_2 + 0x200) = 1; + piVar1 = (int *)(puVar3 + -4); + *piVar1 = *piVar1 + -1; + if (*piVar1 == 0) { + FUN_1400302f0(puVar3 + -8); + } + FUN_14002e770((longlong)piVar4); + } + if (*(longlong *)(*(longlong *)(lVar2 + 0x108) + 0x1580) != 0) { + plVar5 = *(longlong **)(*(longlong *)(lVar2 + 0x108) + 0x1580); + (**(code **)(*plVar5 + 0x20))(plVar5,*(undefined8 *)(param_2 + 0x1e0)); + } + FUN_1400a36a0(lVar2,4); + return &DAT_1400a74ec; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eae90.c b/decomp/Agent_Release_x64/full/functions/0x1400eae90.c new file mode 100644 index 00000000..795d899e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eae90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eae90 Unwind@1400eae90 + * Pseudocode, not original source. */ + +void Unwind_1400eae90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xf0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaea0.c b/decomp/Agent_Release_x64/full/functions/0x1400eaea0.c new file mode 100644 index 00000000..7beb6935 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaea0 Unwind@1400eaea0 + * Pseudocode, not original source. */ + +void Unwind_1400eaea0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x1f8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaeb0.c b/decomp/Agent_Release_x64/full/functions/0x1400eaeb0.c new file mode 100644 index 00000000..7c20a6d3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaeb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaeb0 Unwind@1400eaeb0 + * Pseudocode, not original source. */ + +void Unwind_1400eaeb0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaec0.c b/decomp/Agent_Release_x64/full/functions/0x1400eaec0.c new file mode 100644 index 00000000..193a5155 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaec0 Unwind@1400eaec0 + * Pseudocode, not original source. */ + +void Unwind_1400eaec0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaed0.c b/decomp/Agent_Release_x64/full/functions/0x1400eaed0.c new file mode 100644 index 00000000..11aff46f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaed0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaed0 Unwind@1400eaed0 + * Pseudocode, not original source. */ + +void Unwind_1400eaed0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x210,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaee0.c b/decomp/Agent_Release_x64/full/functions/0x1400eaee0.c new file mode 100644 index 00000000..e5f82e84 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaee0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaee0 Unwind@1400eaee0 + * Pseudocode, not original source. */ + +void Unwind_1400eaee0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xf8) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaef0.c b/decomp/Agent_Release_x64/full/functions/0x1400eaef0.c new file mode 100644 index 00000000..1934d9ca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaef0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaef0 Unwind@1400eaef0 + * Pseudocode, not original source. */ + +void Unwind_1400eaef0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaf00.c b/decomp/Agent_Release_x64/full/functions/0x1400eaf00.c new file mode 100644 index 00000000..1e7d4c32 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaf00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaf00 Unwind@1400eaf00 + * Pseudocode, not original source. */ + +void Unwind_1400eaf00(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaf10.c b/decomp/Agent_Release_x64/full/functions/0x1400eaf10.c new file mode 100644 index 00000000..991a6fb8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaf10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaf10 Unwind@1400eaf10 + * Pseudocode, not original source. */ + +void Unwind_1400eaf10(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaf30.c b/decomp/Agent_Release_x64/full/functions/0x1400eaf30.c new file mode 100644 index 00000000..d26ae362 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaf30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaf30 Unwind@1400eaf30 + * Pseudocode, not original source. */ + +void Unwind_1400eaf30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xb0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaf40.c b/decomp/Agent_Release_x64/full/functions/0x1400eaf40.c new file mode 100644 index 00000000..b96e9a62 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaf40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaf40 Unwind@1400eaf40 + * Pseudocode, not original source. */ + +void Unwind_1400eaf40(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaf60.c b/decomp/Agent_Release_x64/full/functions/0x1400eaf60.c new file mode 100644 index 00000000..205be508 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaf60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaf60 Unwind@1400eaf60 + * Pseudocode, not original source. */ + +void Unwind_1400eaf60(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x50) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaf70.c b/decomp/Agent_Release_x64/full/functions/0x1400eaf70.c new file mode 100644 index 00000000..20902362 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaf70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaf70 Unwind@1400eaf70 + * Pseudocode, not original source. */ + +void Unwind_1400eaf70(undefined8 param_1,longlong param_2) + +{ + FUN_140089980((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaf80.c b/decomp/Agent_Release_x64/full/functions/0x1400eaf80.c new file mode 100644 index 00000000..7bbe9f6e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaf80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaf80 Unwind@1400eaf80 + * Pseudocode, not original source. */ + +void Unwind_1400eaf80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x110),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaf90.c b/decomp/Agent_Release_x64/full/functions/0x1400eaf90.c new file mode 100644 index 00000000..1805f3ab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaf90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaf90 Unwind@1400eaf90 + * Pseudocode, not original source. */ + +void Unwind_1400eaf90(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eafa0.c b/decomp/Agent_Release_x64/full/functions/0x1400eafa0.c new file mode 100644 index 00000000..d1026791 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eafa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eafa0 Unwind@1400eafa0 + * Pseudocode, not original source. */ + +void Unwind_1400eafa0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eafb0.c b/decomp/Agent_Release_x64/full/functions/0x1400eafb0.c new file mode 100644 index 00000000..582054aa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eafb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eafb0 Unwind@1400eafb0 + * Pseudocode, not original source. */ + +void Unwind_1400eafb0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0xb8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eafc0.c b/decomp/Agent_Release_x64/full/functions/0x1400eafc0.c new file mode 100644 index 00000000..95288e1f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eafc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eafc0 Unwind@1400eafc0 + * Pseudocode, not original source. */ + +void Unwind_1400eafc0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x50) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eafd0.c b/decomp/Agent_Release_x64/full/functions/0x1400eafd0.c new file mode 100644 index 00000000..34766e58 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eafd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eafd0 Unwind@1400eafd0 + * Pseudocode, not original source. */ + +void Unwind_1400eafd0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eafe0.c b/decomp/Agent_Release_x64/full/functions/0x1400eafe0.c new file mode 100644 index 00000000..fb94fd16 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eafe0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eafe0 Unwind@1400eafe0 + * Pseudocode, not original source. */ + +void Unwind_1400eafe0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eaff0.c b/decomp/Agent_Release_x64/full/functions/0x1400eaff0.c new file mode 100644 index 00000000..8a8a75f6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eaff0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eaff0 Unwind@1400eaff0 + * Pseudocode, not original source. */ + +void Unwind_1400eaff0(undefined8 param_1,longlong param_2) + +{ + FUN_14004dfb0(param_2 + 0x58); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb000.c b/decomp/Agent_Release_x64/full/functions/0x1400eb000.c new file mode 100644 index 00000000..5b01e4d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb000.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb000 Unwind@1400eb000 + * Pseudocode, not original source. */ + +void Unwind_1400eb000(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x130,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb010.c b/decomp/Agent_Release_x64/full/functions/0x1400eb010.c new file mode 100644 index 00000000..f767bcec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb010.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb010 Unwind@1400eb010 + * Pseudocode, not original source. */ + +void Unwind_1400eb010(undefined8 param_1,longlong param_2) + +{ + FUN_140089980((undefined8 *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb020.c b/decomp/Agent_Release_x64/full/functions/0x1400eb020.c new file mode 100644 index 00000000..6af51326 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb020.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb020 Unwind@1400eb020 + * Pseudocode, not original source. */ + +void Unwind_1400eb020(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb030.c b/decomp/Agent_Release_x64/full/functions/0x1400eb030.c new file mode 100644 index 00000000..38b771ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb030.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb030 Unwind@1400eb030 + * Pseudocode, not original source. */ + +void Unwind_1400eb030(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xe8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb040.c b/decomp/Agent_Release_x64/full/functions/0x1400eb040.c new file mode 100644 index 00000000..d4f4761f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb040.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb040 Unwind@1400eb040 + * Pseudocode, not original source. */ + +void Unwind_1400eb040(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb050.c b/decomp/Agent_Release_x64/full/functions/0x1400eb050.c new file mode 100644 index 00000000..3cd9bb1c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb050.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb050 Unwind@1400eb050 + * Pseudocode, not original source. */ + +void Unwind_1400eb050(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb060.c b/decomp/Agent_Release_x64/full/functions/0x1400eb060.c new file mode 100644 index 00000000..91ac9809 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb060.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb060 Unwind@1400eb060 + * Pseudocode, not original source. */ + +void Unwind_1400eb060(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xe0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb070.c b/decomp/Agent_Release_x64/full/functions/0x1400eb070.c new file mode 100644 index 00000000..5904d230 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb070.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb070 Unwind@1400eb070 + * Pseudocode, not original source. */ + +void Unwind_1400eb070(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xe0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb080.c b/decomp/Agent_Release_x64/full/functions/0x1400eb080.c new file mode 100644 index 00000000..63aa9852 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb080.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb080 Unwind@1400eb080 + * Pseudocode, not original source. */ + +void Unwind_1400eb080(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x80); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb090.c b/decomp/Agent_Release_x64/full/functions/0x1400eb090.c new file mode 100644 index 00000000..4615ee56 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb090.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb090 Unwind@1400eb090 + * Pseudocode, not original source. */ + +void Unwind_1400eb090(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x170) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb0a0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb0a0.c new file mode 100644 index 00000000..b613a6fd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb0a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb0a0 Unwind@1400eb0a0 + * Pseudocode, not original source. */ + +void Unwind_1400eb0a0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb0b0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb0b0.c new file mode 100644 index 00000000..289c7a29 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb0b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb0b0 Unwind@1400eb0b0 + * Pseudocode, not original source. */ + +void Unwind_1400eb0b0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb0c0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb0c0.c new file mode 100644 index 00000000..1a572455 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb0c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb0c0 Unwind@1400eb0c0 + * Pseudocode, not original source. */ + +void Unwind_1400eb0c0(undefined8 param_1,longlong param_2) + +{ + FUN_14004dfb0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb0d0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb0d0.c new file mode 100644 index 00000000..f451e8d8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb0d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb0d0 Unwind@1400eb0d0 + * Pseudocode, not original source. */ + +void Unwind_1400eb0d0(undefined8 param_1,longlong param_2) + +{ + FUN_140089980((undefined8 *)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb0e0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb0e0.c new file mode 100644 index 00000000..c5a1971d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb0e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb0e0 Unwind@1400eb0e0 + * Pseudocode, not original source. */ + +void Unwind_1400eb0e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb0f0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb0f0.c new file mode 100644 index 00000000..423ca643 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb0f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb0f0 Unwind@1400eb0f0 + * Pseudocode, not original source. */ + +void Unwind_1400eb0f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xd8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb100.c b/decomp/Agent_Release_x64/full/functions/0x1400eb100.c new file mode 100644 index 00000000..e26709c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb100.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb100 Unwind@1400eb100 + * Pseudocode, not original source. */ + +void Unwind_1400eb100(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x100)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb110.c b/decomp/Agent_Release_x64/full/functions/0x1400eb110.c new file mode 100644 index 00000000..cb1b8c32 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb110.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb110 Unwind@1400eb110 + * Pseudocode, not original source. */ + +void Unwind_1400eb110(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb120.c b/decomp/Agent_Release_x64/full/functions/0x1400eb120.c new file mode 100644 index 00000000..c374e19b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb120.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb120 Unwind@1400eb120 + * Pseudocode, not original source. */ + +void Unwind_1400eb120(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x118) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb130.c b/decomp/Agent_Release_x64/full/functions/0x1400eb130.c new file mode 100644 index 00000000..5e533ed2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb130.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb130 Unwind@1400eb130 + * Pseudocode, not original source. */ + +void Unwind_1400eb130(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x170) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb140.c b/decomp/Agent_Release_x64/full/functions/0x1400eb140.c new file mode 100644 index 00000000..60090c01 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb140.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb140 Unwind@1400eb140 + * Pseudocode, not original source. */ + +void Unwind_1400eb140(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xa0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb150.c b/decomp/Agent_Release_x64/full/functions/0x1400eb150.c new file mode 100644 index 00000000..3915ed0a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb150.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb150 Unwind@1400eb150 + * Pseudocode, not original source. */ + +void Unwind_1400eb150(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb160.c b/decomp/Agent_Release_x64/full/functions/0x1400eb160.c new file mode 100644 index 00000000..090f8ee5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb160 Unwind@1400eb160 + * Pseudocode, not original source. */ + +void Unwind_1400eb160(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb170.c b/decomp/Agent_Release_x64/full/functions/0x1400eb170.c new file mode 100644 index 00000000..a300ee70 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb170.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb170 Unwind@1400eb170 + * Pseudocode, not original source. */ + +void Unwind_1400eb170(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0xa0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb180.c b/decomp/Agent_Release_x64/full/functions/0x1400eb180.c new file mode 100644 index 00000000..0ce8918c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb180.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb180 Unwind@1400eb180 + * Pseudocode, not original source. */ + +void Unwind_1400eb180(undefined8 param_1,longlong param_2) + +{ + FUN_14003c710(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb190.c b/decomp/Agent_Release_x64/full/functions/0x1400eb190.c new file mode 100644 index 00000000..113fc88f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb190.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb190 Unwind@1400eb190 + * Pseudocode, not original source. */ + +void Unwind_1400eb190(undefined8 param_1,longlong param_2) + +{ + FUN_1400a35e0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb1a0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb1a0.c new file mode 100644 index 00000000..917a6dea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb1a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb1a0 Unwind@1400eb1a0 + * Pseudocode, not original source. */ + +void Unwind_1400eb1a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x40) + 0x10),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb1b0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb1b0.c new file mode 100644 index 00000000..4e64a7df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb1b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb1b0 Unwind@1400eb1b0 + * Pseudocode, not original source. */ + +void Unwind_1400eb1b0(undefined8 param_1,longlong param_2) + +{ + FUN_140044360((longlong *)(*(longlong *)(param_2 + 0x40) + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb1c0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb1c0.c new file mode 100644 index 00000000..7d217a93 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb1c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb1c0 Unwind@1400eb1c0 + * Pseudocode, not original source. */ + +void Unwind_1400eb1c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x40) + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb1e0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb1e0.c new file mode 100644 index 00000000..ba2cbf6d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb1e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb1e0 Unwind@1400eb1e0 + * Pseudocode, not original source. */ + +void Unwind_1400eb1e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x40) + 0x1c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb200.c b/decomp/Agent_Release_x64/full/functions/0x1400eb200.c new file mode 100644 index 00000000..9523ef97 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb200.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb200 Unwind@1400eb200 + * Pseudocode, not original source. */ + +void Unwind_1400eb200(undefined8 param_1,longlong param_2) + +{ + FUN_1400395f0((longlong *)(*(longlong *)(param_2 + 0x40) + 0x208)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb220.c b/decomp/Agent_Release_x64/full/functions/0x1400eb220.c new file mode 100644 index 00000000..393a9740 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb220.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb220 Unwind@1400eb220 + * Pseudocode, not original source. */ + +void Unwind_1400eb220(undefined8 param_1,longlong param_2) + +{ + FUN_140073c20((longlong *)(*(longlong *)(param_2 + 0x40) + 0x228)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb240.c b/decomp/Agent_Release_x64/full/functions/0x1400eb240.c new file mode 100644 index 00000000..c4f99502 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb240.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb240 Unwind@1400eb240 + * Pseudocode, not original source. */ + +void Unwind_1400eb240(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(*(longlong *)(param_2 + 0x40) + 0x290)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb260.c b/decomp/Agent_Release_x64/full/functions/0x1400eb260.c new file mode 100644 index 00000000..9d07cfc5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb260.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb260 Unwind@1400eb260 + * Pseudocode, not original source. */ + +void Unwind_1400eb260(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400a3e90((longlong *)(*(longlong *)(param_2 + 0x40) + 0x298)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb280.c b/decomp/Agent_Release_x64/full/functions/0x1400eb280.c new file mode 100644 index 00000000..90e674b9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb280.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb280 Unwind@1400eb280 + * Pseudocode, not original source. */ + +void Unwind_1400eb280(undefined8 param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_1400a3da0((undefined8 *)(param_2[8] + 0x2b0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb2a0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb2a0.c new file mode 100644 index 00000000..a0d7e932 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb2a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb2a0 Unwind@1400eb2a0 + * Pseudocode, not original source. */ + +void Unwind_1400eb2a0(undefined8 param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_1400a4030((undefined8 *)(param_2[8] + 0x2b8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb2c0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb2c0.c new file mode 100644 index 00000000..ca060167 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb2c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb2c0 Unwind@1400eb2c0 + * Pseudocode, not original source. */ + +void Unwind_1400eb2c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb2d0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb2d0.c new file mode 100644 index 00000000..6581839e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb2d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb2d0 Unwind@1400eb2d0 + * Pseudocode, not original source. */ + +void Unwind_1400eb2d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb2e0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb2e0.c new file mode 100644 index 00000000..7333289d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb2e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb2e0 Unwind@1400eb2e0 + * Pseudocode, not original source. */ + +void Unwind_1400eb2e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x20,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb2f0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb2f0.c new file mode 100644 index 00000000..2e373dea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb2f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb2f0 Unwind@1400eb2f0 + * Pseudocode, not original source. */ + +void Unwind_1400eb2f0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x150)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb310.c b/decomp/Agent_Release_x64/full/functions/0x1400eb310.c new file mode 100644 index 00000000..203dc2df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb310.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb310 Unwind@1400eb310 + * Pseudocode, not original source. */ + +void Unwind_1400eb310(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb340.c b/decomp/Agent_Release_x64/full/functions/0x1400eb340.c new file mode 100644 index 00000000..bb842a8e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb340.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb340 Unwind@1400eb340 + * Pseudocode, not original source. */ + +void Unwind_1400eb340(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x150),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb350.c b/decomp/Agent_Release_x64/full/functions/0x1400eb350.c new file mode 100644 index 00000000..fe1baa63 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb350.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb350 Unwind@1400eb350 + * Pseudocode, not original source. */ + +void Unwind_1400eb350(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb360.c b/decomp/Agent_Release_x64/full/functions/0x1400eb360.c new file mode 100644 index 00000000..69154f9d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb360.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb360 Unwind@1400eb360 + * Pseudocode, not original source. */ + +void Unwind_1400eb360(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb370.c b/decomp/Agent_Release_x64/full/functions/0x1400eb370.c new file mode 100644 index 00000000..e1b0fd52 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb370.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb370 Unwind@1400eb370 + * Pseudocode, not original source. */ + +void Unwind_1400eb370(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb380.c b/decomp/Agent_Release_x64/full/functions/0x1400eb380.c new file mode 100644 index 00000000..d9e6df85 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb380.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb380 Unwind@1400eb380 + * Pseudocode, not original source. */ + +void Unwind_1400eb380(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056b00((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb390.c b/decomp/Agent_Release_x64/full/functions/0x1400eb390.c new file mode 100644 index 00000000..2c96bb59 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb390.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb390 Unwind@1400eb390 + * Pseudocode, not original source. */ + +void Unwind_1400eb390(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb3a0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb3a0.c new file mode 100644 index 00000000..31bb3b8b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb3a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb3a0 Unwind@1400eb3a0 + * Pseudocode, not original source. */ + +void Unwind_1400eb3a0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb3b0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb3b0.c new file mode 100644 index 00000000..a3c360e6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb3b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb3b0 Unwind@1400eb3b0 + * Pseudocode, not original source. */ + +void Unwind_1400eb3b0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb3c0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb3c0.c new file mode 100644 index 00000000..a79bb77a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb3c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb3c0 Unwind@1400eb3c0 + * Pseudocode, not original source. */ + +void Unwind_1400eb3c0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x150) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb3d0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb3d0.c new file mode 100644 index 00000000..b36bae2e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb3d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb3d0 Unwind@1400eb3d0 + * Pseudocode, not original source. */ + +void Unwind_1400eb3d0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb3e0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb3e0.c new file mode 100644 index 00000000..92725b1b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb3e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb3e0 Unwind@1400eb3e0 + * Pseudocode, not original source. */ + +void Unwind_1400eb3e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb3f0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb3f0.c new file mode 100644 index 00000000..9f8f2a7c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb3f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb3f0 Unwind@1400eb3f0 + * Pseudocode, not original source. */ + +void Unwind_1400eb3f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0xa0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb400.c b/decomp/Agent_Release_x64/full/functions/0x1400eb400.c new file mode 100644 index 00000000..dbaf84e0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb400.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb400 Unwind@1400eb400 + * Pseudocode, not original source. */ + +void Unwind_1400eb400(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb410.c b/decomp/Agent_Release_x64/full/functions/0x1400eb410.c new file mode 100644 index 00000000..c1963d2e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb410.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb410 Unwind@1400eb410 + * Pseudocode, not original source. */ + +void Unwind_1400eb410(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb420.c b/decomp/Agent_Release_x64/full/functions/0x1400eb420.c new file mode 100644 index 00000000..6eb21ca2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb420.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb420 Unwind@1400eb420 + * Pseudocode, not original source. */ + +void Unwind_1400eb420(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x100)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb430.c b/decomp/Agent_Release_x64/full/functions/0x1400eb430.c new file mode 100644 index 00000000..39bce40d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb430.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb430 Unwind@1400eb430 + * Pseudocode, not original source. */ + +void Unwind_1400eb430(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x160,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb440.c b/decomp/Agent_Release_x64/full/functions/0x1400eb440.c new file mode 100644 index 00000000..e371d17a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb440.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb440 Unwind@1400eb440 + * Pseudocode, not original source. */ + +void Unwind_1400eb440(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x130)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb450.c b/decomp/Agent_Release_x64/full/functions/0x1400eb450.c new file mode 100644 index 00000000..709b5026 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb450.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb450 Unwind@1400eb450 + * Pseudocode, not original source. */ + +void Unwind_1400eb450(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb460.c b/decomp/Agent_Release_x64/full/functions/0x1400eb460.c new file mode 100644 index 00000000..e20cac8d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb460.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb460 Unwind@1400eb460 + * Pseudocode, not original source. */ + +void Unwind_1400eb460(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb470.c b/decomp/Agent_Release_x64/full/functions/0x1400eb470.c new file mode 100644 index 00000000..3985784a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb470.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb470 Unwind@1400eb470 + * Pseudocode, not original source. */ + +void Unwind_1400eb470(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb480.c b/decomp/Agent_Release_x64/full/functions/0x1400eb480.c new file mode 100644 index 00000000..65364cb7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb480.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb480 Unwind@1400eb480 + * Pseudocode, not original source. */ + +void Unwind_1400eb480(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb490.c b/decomp/Agent_Release_x64/full/functions/0x1400eb490.c new file mode 100644 index 00000000..f509aa56 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb490.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb490 Unwind@1400eb490 + * Pseudocode, not original source. */ + +void Unwind_1400eb490(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb4a0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb4a0.c new file mode 100644 index 00000000..3bae20e6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb4a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb4a0 Unwind@1400eb4a0 + * Pseudocode, not original source. */ + +void Unwind_1400eb4a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xf0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb4b0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb4b0.c new file mode 100644 index 00000000..7fcd6c95 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb4b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb4b0 Unwind@1400eb4b0 + * Pseudocode, not original source. */ + +void Unwind_1400eb4b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb4c0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb4c0.c new file mode 100644 index 00000000..70e70357 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb4c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb4c0 Unwind@1400eb4c0 + * Pseudocode, not original source. */ + +void Unwind_1400eb4c0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb4d0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb4d0.c new file mode 100644 index 00000000..be9a5457 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb4d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb4d0 Unwind@1400eb4d0 + * Pseudocode, not original source. */ + +void Unwind_1400eb4d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb4e0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb4e0.c new file mode 100644 index 00000000..f301e890 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb4e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb4e0 Unwind@1400eb4e0 + * Pseudocode, not original source. */ + +void Unwind_1400eb4e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb4f0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb4f0.c new file mode 100644 index 00000000..c976f9e8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb4f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb4f0 Unwind@1400eb4f0 + * Pseudocode, not original source. */ + +void Unwind_1400eb4f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056a80((longlong *)(param_2 + 0x38),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb500.c b/decomp/Agent_Release_x64/full/functions/0x1400eb500.c new file mode 100644 index 00000000..7049db46 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb500.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb500 Unwind@1400eb500 + * Pseudocode, not original source. */ + +void Unwind_1400eb500(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140056f10(param_2 + 0x20,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb510.c b/decomp/Agent_Release_x64/full/functions/0x1400eb510.c new file mode 100644 index 00000000..8362c962 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb510.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb510 Unwind@1400eb510 + * Pseudocode, not original source. */ + +void Unwind_1400eb510(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb520.c b/decomp/Agent_Release_x64/full/functions/0x1400eb520.c new file mode 100644 index 00000000..e84317b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb520.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb520 Unwind@1400eb520 + * Pseudocode, not original source. */ + +void Unwind_1400eb520(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x90); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb530.c b/decomp/Agent_Release_x64/full/functions/0x1400eb530.c new file mode 100644 index 00000000..20c3fc2f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb530.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb530 Unwind@1400eb530 + * Pseudocode, not original source. */ + +void Unwind_1400eb530(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400794a0(param_2 + 0x88,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb540.c b/decomp/Agent_Release_x64/full/functions/0x1400eb540.c new file mode 100644 index 00000000..a8227d1d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb540.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb540 Unwind@1400eb540 + * Pseudocode, not original source. */ + +void Unwind_1400eb540(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x90); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb550.c b/decomp/Agent_Release_x64/full/functions/0x1400eb550.c new file mode 100644 index 00000000..21988961 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb550.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb550 Unwind@1400eb550 + * Pseudocode, not original source. */ + +void Unwind_1400eb550(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x1e0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb560.c b/decomp/Agent_Release_x64/full/functions/0x1400eb560.c new file mode 100644 index 00000000..2acc6b81 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb560.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb560 Unwind@1400eb560 + * Pseudocode, not original source. */ + +void Unwind_1400eb560(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb570.c b/decomp/Agent_Release_x64/full/functions/0x1400eb570.c new file mode 100644 index 00000000..285c6af0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb570.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb570 Unwind@1400eb570 + * Pseudocode, not original source. */ + +void Unwind_1400eb570(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x1e0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb580.c b/decomp/Agent_Release_x64/full/functions/0x1400eb580.c new file mode 100644 index 00000000..7ed50793 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb580.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb580 Unwind@1400eb580 + * Pseudocode, not original source. */ + +void Unwind_1400eb580(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb590.c b/decomp/Agent_Release_x64/full/functions/0x1400eb590.c new file mode 100644 index 00000000..23dcdc4f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb590.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb590 Unwind@1400eb590 + * Pseudocode, not original source. */ + +void Unwind_1400eb590(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x90); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb5a0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb5a0.c new file mode 100644 index 00000000..8ea113ea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb5a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb5a0 Unwind@1400eb5a0 + * Pseudocode, not original source. */ + +void Unwind_1400eb5a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400794a0(param_2 + 0x88,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb5b0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb5b0.c new file mode 100644 index 00000000..d86be2ac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb5b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb5b0 Unwind@1400eb5b0 + * Pseudocode, not original source. */ + +void Unwind_1400eb5b0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x90); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb5c0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb5c0.c new file mode 100644 index 00000000..304c6c31 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb5c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb5c0 Unwind@1400eb5c0 + * Pseudocode, not original source. */ + +void Unwind_1400eb5c0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x238) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb5d0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb5d0.c new file mode 100644 index 00000000..adf3edd1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb5d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb5d0 Unwind@1400eb5d0 + * Pseudocode, not original source. */ + +void Unwind_1400eb5d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb5e0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb5e0.c new file mode 100644 index 00000000..49e91398 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb5e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb5e0 Unwind@1400eb5e0 + * Pseudocode, not original source. */ + +void Unwind_1400eb5e0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x238) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb5f0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb5f0.c new file mode 100644 index 00000000..55c0ae2f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb5f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb5f0 Unwind@1400eb5f0 + * Pseudocode, not original source. */ + +void Unwind_1400eb5f0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x50); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb600.c b/decomp/Agent_Release_x64/full/functions/0x1400eb600.c new file mode 100644 index 00000000..399547b0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb600.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb600 Unwind@1400eb600 + * Pseudocode, not original source. */ + +void Unwind_1400eb600(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xd0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb610.c b/decomp/Agent_Release_x64/full/functions/0x1400eb610.c new file mode 100644 index 00000000..1f5d135c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb610.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb610 Unwind@1400eb610 + * Pseudocode, not original source. */ + +void Unwind_1400eb610(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x50); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb620.c b/decomp/Agent_Release_x64/full/functions/0x1400eb620.c new file mode 100644 index 00000000..dfc41bbe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb620.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb620 Unwind@1400eb620 + * Pseudocode, not original source. */ + +void Unwind_1400eb620(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xd0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb630.c b/decomp/Agent_Release_x64/full/functions/0x1400eb630.c new file mode 100644 index 00000000..ce78d786 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb630.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb630 Unwind@1400eb630 + * Pseudocode, not original source. */ + +void Unwind_1400eb630(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xd0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb640.c b/decomp/Agent_Release_x64/full/functions/0x1400eb640.c new file mode 100644 index 00000000..a6eab994 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb640.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb640 Unwind@1400eb640 + * Pseudocode, not original source. */ + +void Unwind_1400eb640(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb650.c b/decomp/Agent_Release_x64/full/functions/0x1400eb650.c new file mode 100644 index 00000000..b7ef2fdd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb650.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb650 Unwind@1400eb650 + * Pseudocode, not original source. */ + +void Unwind_1400eb650(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb660.c b/decomp/Agent_Release_x64/full/functions/0x1400eb660.c new file mode 100644 index 00000000..b7fdd325 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb660.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb660 Unwind@1400eb660 + * Pseudocode, not original source. */ + +void Unwind_1400eb660(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb670.c b/decomp/Agent_Release_x64/full/functions/0x1400eb670.c new file mode 100644 index 00000000..99dc3799 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb670.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb670 Unwind@1400eb670 + * Pseudocode, not original source. */ + +void Unwind_1400eb670(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xb0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb680.c b/decomp/Agent_Release_x64/full/functions/0x1400eb680.c new file mode 100644 index 00000000..4cfdc9bf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb680.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb680 Unwind@1400eb680 + * Pseudocode, not original source. */ + +void Unwind_1400eb680(undefined8 param_1,longlong param_2,SIZE_T param_3) + +{ + FUN_140086710((longlong *)(param_2 + 0x40),param_2,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb690.c b/decomp/Agent_Release_x64/full/functions/0x1400eb690.c new file mode 100644 index 00000000..9763faa7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb690.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb690 Unwind@1400eb690 + * Pseudocode, not original source. */ + +void Unwind_1400eb690(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x138),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb6a0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb6a0.c new file mode 100644 index 00000000..63ceb3e0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb6a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb6a0 Unwind@1400eb6a0 + * Pseudocode, not original source. */ + +void Unwind_1400eb6a0(undefined8 param_1,longlong param_2) + +{ + FUN_140089980((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb6b0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb6b0.c new file mode 100644 index 00000000..da339370 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb6b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb6b0 Unwind@1400eb6b0 + * Pseudocode, not original source. */ + +void Unwind_1400eb6b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xc0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb6c0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb6c0.c new file mode 100644 index 00000000..03c5f4fd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb6c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb6c0 Unwind@1400eb6c0 + * Pseudocode, not original source. */ + +void Unwind_1400eb6c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb6d0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb6d0.c new file mode 100644 index 00000000..371000aa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb6d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb6d0 Unwind@1400eb6d0 + * Pseudocode, not original source. */ + +void Unwind_1400eb6d0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x20); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb6e0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb6e0.c new file mode 100644 index 00000000..64e745ac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb6e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb6e0 Unwind@1400eb6e0 + * Pseudocode, not original source. */ + +void Unwind_1400eb6e0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x80); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb6f0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb6f0.c new file mode 100644 index 00000000..8399ff3c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb6f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb6f0 Unwind@1400eb6f0 + * Pseudocode, not original source. */ + +void Unwind_1400eb6f0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xe0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb700.c b/decomp/Agent_Release_x64/full/functions/0x1400eb700.c new file mode 100644 index 00000000..8019e08f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb700.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb700 Unwind@1400eb700 + * Pseudocode, not original source. */ + +void Unwind_1400eb700(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb730.c b/decomp/Agent_Release_x64/full/functions/0x1400eb730.c new file mode 100644 index 00000000..584b08f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb730.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb730 Unwind@1400eb730 + * Pseudocode, not original source. */ + +void Unwind_1400eb730(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xe0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb740.c b/decomp/Agent_Release_x64/full/functions/0x1400eb740.c new file mode 100644 index 00000000..1eb38abf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb740.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb740 Unwind@1400eb740 + * Pseudocode, not original source. */ + +void Unwind_1400eb740(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xb8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb750.c b/decomp/Agent_Release_x64/full/functions/0x1400eb750.c new file mode 100644 index 00000000..e67773b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb750.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb750 Unwind@1400eb750 + * Pseudocode, not original source. */ + +void Unwind_1400eb750(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb760.c b/decomp/Agent_Release_x64/full/functions/0x1400eb760.c new file mode 100644 index 00000000..7e74d4a6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb760.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb760 Unwind@1400eb760 + * Pseudocode, not original source. */ + +void Unwind_1400eb760(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xb0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb770.c b/decomp/Agent_Release_x64/full/functions/0x1400eb770.c new file mode 100644 index 00000000..d09d49db --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb770.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb770 Unwind@1400eb770 + * Pseudocode, not original source. */ + +void Unwind_1400eb770(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb780.c b/decomp/Agent_Release_x64/full/functions/0x1400eb780.c new file mode 100644 index 00000000..df6ec762 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb780.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb780 Unwind@1400eb780 + * Pseudocode, not original source. */ + +void Unwind_1400eb780(undefined8 param_1,longlong param_2) + +{ + FUN_140089980((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb790.c b/decomp/Agent_Release_x64/full/functions/0x1400eb790.c new file mode 100644 index 00000000..7bff4d54 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb790.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb790 Unwind@1400eb790 + * Pseudocode, not original source. */ + +void Unwind_1400eb790(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xc0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb7a0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb7a0.c new file mode 100644 index 00000000..564030f3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb7a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb7a0 Unwind@1400eb7a0 + * Pseudocode, not original source. */ + +void Unwind_1400eb7a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb7b0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb7b0.c new file mode 100644 index 00000000..2daf163d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb7b0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb7b0 Catch@1400eb7b0 + * Pseudocode, not original source. */ + +undefined * Catch_1400eb7b0(undefined8 param_1,longlong param_2) + +{ + LPCSTR lpOutputString; + + lpOutputString = (LPCSTR)(**(code **)(**(longlong **)(param_2 + 0x38) + 8))(); + OutputDebugStringA(lpOutputString); + uRam0000000000000000 = 1; + return &DAT_1400abc92; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb7f0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb7f0.c new file mode 100644 index 00000000..187f2679 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb7f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb7f0 Unwind@1400eb7f0 + * Pseudocode, not original source. */ + +void Unwind_1400eb7f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb800.c b/decomp/Agent_Release_x64/full/functions/0x1400eb800.c new file mode 100644 index 00000000..4db75256 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb800.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb800 Catch@1400eb800 + * Pseudocode, not original source. */ + +undefined * Catch_1400eb800(undefined8 param_1,longlong param_2) + +{ + LPCSTR lpOutputString; + + lpOutputString = (LPCSTR)(**(code **)(**(longlong **)(param_2 + 0x38) + 8))(); + OutputDebugStringA(lpOutputString); + uRam0000000000000000 = 1; + return &DAT_1400abdef; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb840.c b/decomp/Agent_Release_x64/full/functions/0x1400eb840.c new file mode 100644 index 00000000..bd88b495 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb840.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb840 Unwind@1400eb840 + * Pseudocode, not original source. */ + +void Unwind_1400eb840(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb850.c b/decomp/Agent_Release_x64/full/functions/0x1400eb850.c new file mode 100644 index 00000000..89bca598 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb850.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb850 Unwind@1400eb850 + * Pseudocode, not original source. */ + +void Unwind_1400eb850(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb860.c b/decomp/Agent_Release_x64/full/functions/0x1400eb860.c new file mode 100644 index 00000000..12f921ea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb860.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb860 Unwind@1400eb860 + * Pseudocode, not original source. */ + +void Unwind_1400eb860(undefined8 param_1,longlong param_2,ulonglong param_3,ulonglong param_4) + +{ + FUN_1400675a0((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb870.c b/decomp/Agent_Release_x64/full/functions/0x1400eb870.c new file mode 100644 index 00000000..4b6de9b0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb870.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb870 Unwind@1400eb870 + * Pseudocode, not original source. */ + +void Unwind_1400eb870(undefined8 param_1,longlong param_2) + +{ + FUN_14003c710(*(undefined8 **)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb880.c b/decomp/Agent_Release_x64/full/functions/0x1400eb880.c new file mode 100644 index 00000000..9f2f82ac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb880.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb880 Unwind@1400eb880 + * Pseudocode, not original source. */ + +void Unwind_1400eb880(undefined8 param_1,longlong param_2) + +{ + FUN_1400a35e0((undefined8 *)(*(longlong *)(param_2 + 0x70) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb890.c b/decomp/Agent_Release_x64/full/functions/0x1400eb890.c new file mode 100644 index 00000000..fa9ba518 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb890.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb890 Unwind@1400eb890 + * Pseudocode, not original source. */ + +void Unwind_1400eb890(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x70) + 0x10),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb8a0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb8a0.c new file mode 100644 index 00000000..070cae31 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb8a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb8a0 Unwind@1400eb8a0 + * Pseudocode, not original source. */ + +void Unwind_1400eb8a0(undefined8 param_1,longlong param_2) + +{ + FUN_140044360((longlong *)(*(longlong *)(param_2 + 0x70) + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb8b0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb8b0.c new file mode 100644 index 00000000..78a23a39 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb8b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb8b0 Unwind@1400eb8b0 + * Pseudocode, not original source. */ + +void Unwind_1400eb8b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x70) + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb8d0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb8d0.c new file mode 100644 index 00000000..f33e8b0b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb8d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb8d0 Unwind@1400eb8d0 + * Pseudocode, not original source. */ + +void Unwind_1400eb8d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x70) + 0x1c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb8f0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb8f0.c new file mode 100644 index 00000000..6a01b4c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb8f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb8f0 Unwind@1400eb8f0 + * Pseudocode, not original source. */ + +void Unwind_1400eb8f0(undefined8 param_1,longlong param_2) + +{ + FUN_1400395f0((longlong *)(*(longlong *)(param_2 + 0x70) + 0x208)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb910.c b/decomp/Agent_Release_x64/full/functions/0x1400eb910.c new file mode 100644 index 00000000..a2178e63 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb910.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb910 Unwind@1400eb910 + * Pseudocode, not original source. */ + +void Unwind_1400eb910(undefined8 param_1,longlong param_2) + +{ + FUN_140073c20((longlong *)(*(longlong *)(param_2 + 0x70) + 0x228)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb930.c b/decomp/Agent_Release_x64/full/functions/0x1400eb930.c new file mode 100644 index 00000000..03a29fe6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb930.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb930 Unwind@1400eb930 + * Pseudocode, not original source. */ + +void Unwind_1400eb930(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(*(longlong *)(param_2 + 0x70) + 0x290)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb950.c b/decomp/Agent_Release_x64/full/functions/0x1400eb950.c new file mode 100644 index 00000000..18b7f680 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb950.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb950 Unwind@1400eb950 + * Pseudocode, not original source. */ + +void Unwind_1400eb950(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400a3e90((longlong *)(*(longlong *)(param_2 + 0x70) + 0x298)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb970.c b/decomp/Agent_Release_x64/full/functions/0x1400eb970.c new file mode 100644 index 00000000..aa15842e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb970.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb970 Unwind@1400eb970 + * Pseudocode, not original source. */ + +void Unwind_1400eb970(undefined8 param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_1400a3da0((undefined8 *)(param_2[0xe] + 0x2b0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb990.c b/decomp/Agent_Release_x64/full/functions/0x1400eb990.c new file mode 100644 index 00000000..a0da0c54 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb990.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb990 Unwind@1400eb990 + * Pseudocode, not original source. */ + +void Unwind_1400eb990(undefined8 param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_1400a4030((undefined8 *)(param_2[0xe] + 0x2b8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb9b0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb9b0.c new file mode 100644 index 00000000..7ee955db --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb9b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb9b0 Unwind@1400eb9b0 + * Pseudocode, not original source. */ + +void Unwind_1400eb9b0(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb9c0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb9c0.c new file mode 100644 index 00000000..542aa6da --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb9c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb9c0 Unwind@1400eb9c0 + * Pseudocode, not original source. */ + +void Unwind_1400eb9c0(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb9d0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb9d0.c new file mode 100644 index 00000000..3b4cbc0e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb9d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb9d0 Unwind@1400eb9d0 + * Pseudocode, not original source. */ + +void Unwind_1400eb9d0(undefined8 param_1,longlong param_2) + +{ + FUN_140044360((longlong *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb9e0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb9e0.c new file mode 100644 index 00000000..982f1c48 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb9e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb9e0 Unwind@1400eb9e0 + * Pseudocode, not original source. */ + +void Unwind_1400eb9e0(undefined8 param_1,longlong param_2) + +{ + FUN_140031600((undefined8 *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eb9f0.c b/decomp/Agent_Release_x64/full/functions/0x1400eb9f0.c new file mode 100644 index 00000000..85b8d528 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eb9f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eb9f0 Unwind@1400eb9f0 + * Pseudocode, not original source. */ + +void Unwind_1400eb9f0(undefined8 param_1,longlong param_2) + +{ + FUN_140031600((undefined8 *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eba00.c b/decomp/Agent_Release_x64/full/functions/0x1400eba00.c new file mode 100644 index 00000000..e2aa9ae2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eba00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eba00 Unwind@1400eba00 + * Pseudocode, not original source. */ + +void Unwind_1400eba00(undefined8 param_1,longlong param_2) + +{ + FUN_14002a580((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eba10.c b/decomp/Agent_Release_x64/full/functions/0x1400eba10.c new file mode 100644 index 00000000..7ab074be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eba10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eba10 Catch_All@1400eba10 + * Pseudocode, not original source. */ + +undefined * Catch_All_1400eba10(undefined8 param_1,longlong param_2) + +{ + *(undefined4 *)(param_2 + 0x30) = 0; + return &DAT_1400ad38d; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eba40.c b/decomp/Agent_Release_x64/full/functions/0x1400eba40.c new file mode 100644 index 00000000..0d79539b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eba40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eba40 Unwind@1400eba40 + * Pseudocode, not original source. */ + +void Unwind_1400eba40(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020(*(longlong **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eba50.c b/decomp/Agent_Release_x64/full/functions/0x1400eba50.c new file mode 100644 index 00000000..75e9ea51 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eba50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eba50 Unwind@1400eba50 + * Pseudocode, not original source. */ + +void Unwind_1400eba50(undefined8 param_1,longlong param_2) + +{ + FUN_14000b470((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eba60.c b/decomp/Agent_Release_x64/full/functions/0x1400eba60.c new file mode 100644 index 00000000..7f6239bb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eba60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eba60 Unwind@1400eba60 + * Pseudocode, not original source. */ + +void Unwind_1400eba60(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eba70.c b/decomp/Agent_Release_x64/full/functions/0x1400eba70.c new file mode 100644 index 00000000..ea915388 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eba70.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eba70 Unwind@1400eba70 + * Pseudocode, not original source. */ + +void Unwind_1400eba70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + if ((*(uint *)(param_2 + 0x50) & 1) != 0) { + *(uint *)(param_2 + 0x50) = *(uint *)(param_2 + 0x50) & 0xfffffffe; + thunk_FUN_140003240(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebaa0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebaa0.c new file mode 100644 index 00000000..9221f578 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebaa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebaa0 Unwind@1400ebaa0 + * Pseudocode, not original source. */ + +void Unwind_1400ebaa0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebad0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebad0.c new file mode 100644 index 00000000..d4d36ce5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebad0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebad0 Unwind@1400ebad0 + * Pseudocode, not original source. */ + +void Unwind_1400ebad0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020(*(longlong **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebae0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebae0.c new file mode 100644 index 00000000..d06c5646 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebae0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebae0 Unwind@1400ebae0 + * Pseudocode, not original source. */ + +void Unwind_1400ebae0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebaf0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebaf0.c new file mode 100644 index 00000000..6d488766 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebaf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebaf0 Unwind@1400ebaf0 + * Pseudocode, not original source. */ + +void Unwind_1400ebaf0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebb00.c b/decomp/Agent_Release_x64/full/functions/0x1400ebb00.c new file mode 100644 index 00000000..a91b7b28 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebb00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebb00 Unwind@1400ebb00 + * Pseudocode, not original source. */ + +void Unwind_1400ebb00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebb10.c b/decomp/Agent_Release_x64/full/functions/0x1400ebb10.c new file mode 100644 index 00000000..bb224cc3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebb10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebb10 Unwind@1400ebb10 + * Pseudocode, not original source. */ + +void Unwind_1400ebb10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebb20.c b/decomp/Agent_Release_x64/full/functions/0x1400ebb20.c new file mode 100644 index 00000000..b78fc613 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebb20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebb20 Unwind@1400ebb20 + * Pseudocode, not original source. */ + +void Unwind_1400ebb20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebb30.c b/decomp/Agent_Release_x64/full/functions/0x1400ebb30.c new file mode 100644 index 00000000..77c557f5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebb30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebb30 Unwind@1400ebb30 + * Pseudocode, not original source. */ + +void Unwind_1400ebb30(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebb40.c b/decomp/Agent_Release_x64/full/functions/0x1400ebb40.c new file mode 100644 index 00000000..3d45d30c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebb40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebb40 Unwind@1400ebb40 + * Pseudocode, not original source. */ + +void Unwind_1400ebb40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebb50.c b/decomp/Agent_Release_x64/full/functions/0x1400ebb50.c new file mode 100644 index 00000000..7280a842 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebb50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebb50 Unwind@1400ebb50 + * Pseudocode, not original source. */ + +void Unwind_1400ebb50(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebb60.c b/decomp/Agent_Release_x64/full/functions/0x1400ebb60.c new file mode 100644 index 00000000..26bc280d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebb60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebb60 Unwind@1400ebb60 + * Pseudocode, not original source. */ + +void Unwind_1400ebb60(undefined8 param_1,longlong param_2) + +{ + FUN_140030db0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebb70.c b/decomp/Agent_Release_x64/full/functions/0x1400ebb70.c new file mode 100644 index 00000000..28589d00 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebb70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebb70 Unwind@1400ebb70 + * Pseudocode, not original source. */ + +void Unwind_1400ebb70(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebb80.c b/decomp/Agent_Release_x64/full/functions/0x1400ebb80.c new file mode 100644 index 00000000..e3a46110 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebb80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebb80 Unwind@1400ebb80 + * Pseudocode, not original source. */ + +void Unwind_1400ebb80(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(*(longlong *)(param_2 + 0x40) + 0x2480),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebba0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebba0.c new file mode 100644 index 00000000..840ffa99 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebba0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebba0 Unwind@1400ebba0 + * Pseudocode, not original source. */ + +void Unwind_1400ebba0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(*(longlong *)(param_2 + 0x40) + 0x2488)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebbc0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebbc0.c new file mode 100644 index 00000000..43525dc4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebbc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebbc0 Unwind@1400ebbc0 + * Pseudocode, not original source. */ + +void Unwind_1400ebbc0(undefined8 param_1,longlong param_2) + +{ + FUN_1400acee0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x2510)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebbe0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebbe0.c new file mode 100644 index 00000000..7429d106 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebbe0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebbe0 Unwind@1400ebbe0 + * Pseudocode, not original source. */ + +void Unwind_1400ebbe0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebbf0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebbf0.c new file mode 100644 index 00000000..7eb57ef3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebbf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebbf0 Unwind@1400ebbf0 + * Pseudocode, not original source. */ + +void Unwind_1400ebbf0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebc00.c b/decomp/Agent_Release_x64/full/functions/0x1400ebc00.c new file mode 100644 index 00000000..26140718 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebc00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebc00 Unwind@1400ebc00 + * Pseudocode, not original source. */ + +void Unwind_1400ebc00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebc10.c b/decomp/Agent_Release_x64/full/functions/0x1400ebc10.c new file mode 100644 index 00000000..ac9d550f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebc10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebc10 Unwind@1400ebc10 + * Pseudocode, not original source. */ + +void Unwind_1400ebc10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebc20.c b/decomp/Agent_Release_x64/full/functions/0x1400ebc20.c new file mode 100644 index 00000000..5d845f1b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebc20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebc20 Unwind@1400ebc20 + * Pseudocode, not original source. */ + +void Unwind_1400ebc20(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebc30.c b/decomp/Agent_Release_x64/full/functions/0x1400ebc30.c new file mode 100644 index 00000000..6b9961a6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebc30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebc30 Unwind@1400ebc30 + * Pseudocode, not original source. */ + +void Unwind_1400ebc30(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebc40.c b/decomp/Agent_Release_x64/full/functions/0x1400ebc40.c new file mode 100644 index 00000000..07959086 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebc40.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebc40 Unwind@1400ebc40 + * Pseudocode, not original source. */ + +/* Library Function - Single Match + int `public: class ATL::CStringT > > __cdecl CDatabase::GetDatabaseName(void)const __ptr64'::`1'::dtor$0 + + Library: Visual Studio 2005 Release */ + +void Unwind_1400ebc40(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x88) & 1) != 0) { + *(uint *)(param_2 + 0x88) = *(uint *)(param_2 + 0x88) & 0xfffffffe; + thunk_FUN_14001c020(*(longlong **)(param_2 + 0x78)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebc70.c b/decomp/Agent_Release_x64/full/functions/0x1400ebc70.c new file mode 100644 index 00000000..5b39f902 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebc70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebc70 Unwind@1400ebc70 + * Pseudocode, not original source. */ + +void Unwind_1400ebc70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebc80.c b/decomp/Agent_Release_x64/full/functions/0x1400ebc80.c new file mode 100644 index 00000000..7c4b8731 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebc80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebc80 Unwind@1400ebc80 + * Pseudocode, not original source. */ + +void Unwind_1400ebc80(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebc90.c b/decomp/Agent_Release_x64/full/functions/0x1400ebc90.c new file mode 100644 index 00000000..1cd1da33 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebc90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebc90 Unwind@1400ebc90 + * Pseudocode, not original source. */ + +void Unwind_1400ebc90(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebca0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebca0.c new file mode 100644 index 00000000..a96e03ef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebca0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebca0 Unwind@1400ebca0 + * Pseudocode, not original source. */ + +void Unwind_1400ebca0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebcb0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebcb0.c new file mode 100644 index 00000000..aac56e08 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebcb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebcb0 Unwind@1400ebcb0 + * Pseudocode, not original source. */ + +void Unwind_1400ebcb0(undefined8 param_1,longlong param_2) + +{ + FUN_140030db0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebcc0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebcc0.c new file mode 100644 index 00000000..8a58d9e2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebcc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebcc0 Unwind@1400ebcc0 + * Pseudocode, not original source. */ + +void Unwind_1400ebcc0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebcd0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebcd0.c new file mode 100644 index 00000000..22300090 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebcd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebcd0 Unwind@1400ebcd0 + * Pseudocode, not original source. */ + +void Unwind_1400ebcd0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(*(longlong *)(param_2 + 0x40) + 0x10),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebce0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebce0.c new file mode 100644 index 00000000..3ed2608d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebce0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebce0 Unwind@1400ebce0 + * Pseudocode, not original source. */ + +void Unwind_1400ebce0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebcf0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebcf0.c new file mode 100644 index 00000000..64bcd4d1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebcf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebcf0 Unwind@1400ebcf0 + * Pseudocode, not original source. */ + +void Unwind_1400ebcf0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebd00.c b/decomp/Agent_Release_x64/full/functions/0x1400ebd00.c new file mode 100644 index 00000000..31872c3b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebd00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebd00 Unwind@1400ebd00 + * Pseudocode, not original source. */ + +void Unwind_1400ebd00(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebd20.c b/decomp/Agent_Release_x64/full/functions/0x1400ebd20.c new file mode 100644 index 00000000..19718484 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebd20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebd20 Unwind@1400ebd20 + * Pseudocode, not original source. */ + +void Unwind_1400ebd20(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020(*(longlong **)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebd30.c b/decomp/Agent_Release_x64/full/functions/0x1400ebd30.c new file mode 100644 index 00000000..ea375f50 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebd30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebd30 Unwind@1400ebd30 + * Pseudocode, not original source. */ + +void Unwind_1400ebd30(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebd50.c b/decomp/Agent_Release_x64/full/functions/0x1400ebd50.c new file mode 100644 index 00000000..2362cb41 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebd50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebd50 Unwind@1400ebd50 + * Pseudocode, not original source. */ + +void Unwind_1400ebd50(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebd70.c b/decomp/Agent_Release_x64/full/functions/0x1400ebd70.c new file mode 100644 index 00000000..9c74fcb9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebd70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebd70 Unwind@1400ebd70 + * Pseudocode, not original source. */ + +void Unwind_1400ebd70(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x68),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebd80.c b/decomp/Agent_Release_x64/full/functions/0x1400ebd80.c new file mode 100644 index 00000000..fe29ef82 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebd80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebd80 Unwind@1400ebd80 + * Pseudocode, not original source. */ + +void Unwind_1400ebd80(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebd90.c b/decomp/Agent_Release_x64/full/functions/0x1400ebd90.c new file mode 100644 index 00000000..dc9f28b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebd90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebd90 Unwind@1400ebd90 + * Pseudocode, not original source. */ + +void Unwind_1400ebd90(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebda0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebda0.c new file mode 100644 index 00000000..0d6a980b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebda0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebda0 Unwind@1400ebda0 + * Pseudocode, not original source. */ + +void Unwind_1400ebda0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebdb0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebdb0.c new file mode 100644 index 00000000..6cf5dc67 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebdb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebdb0 Unwind@1400ebdb0 + * Pseudocode, not original source. */ + +void Unwind_1400ebdb0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebdc0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebdc0.c new file mode 100644 index 00000000..7da820a3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebdc0.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebdc0 Catch_All@1400ebdc0 + * Pseudocode, not original source. */ + +undefined8 Catch_All_1400ebdc0(void) + +{ + return 0x1400afdd3; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebde0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebde0.c new file mode 100644 index 00000000..f72f6b92 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebde0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebde0 Unwind@1400ebde0 + * Pseudocode, not original source. */ + +void Unwind_1400ebde0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebdf0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebdf0.c new file mode 100644 index 00000000..6640f6fa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebdf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebdf0 Unwind@1400ebdf0 + * Pseudocode, not original source. */ + +void Unwind_1400ebdf0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140028590((undefined8 *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebe00.c b/decomp/Agent_Release_x64/full/functions/0x1400ebe00.c new file mode 100644 index 00000000..b1dc1e88 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebe00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebe00 Unwind@1400ebe00 + * Pseudocode, not original source. */ + +void Unwind_1400ebe00(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebe10.c b/decomp/Agent_Release_x64/full/functions/0x1400ebe10.c new file mode 100644 index 00000000..788189bf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebe10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebe10 Unwind@1400ebe10 + * Pseudocode, not original source. */ + +void Unwind_1400ebe10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebe20.c b/decomp/Agent_Release_x64/full/functions/0x1400ebe20.c new file mode 100644 index 00000000..dd922c2a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebe20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebe20 Unwind@1400ebe20 + * Pseudocode, not original source. */ + +void Unwind_1400ebe20(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebe30.c b/decomp/Agent_Release_x64/full/functions/0x1400ebe30.c new file mode 100644 index 00000000..f1fd4644 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebe30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebe30 Unwind@1400ebe30 + * Pseudocode, not original source. */ + +void Unwind_1400ebe30(undefined8 param_1,longlong param_2) + +{ + FUN_140030db0(*(undefined8 **)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebe40.c b/decomp/Agent_Release_x64/full/functions/0x1400ebe40.c new file mode 100644 index 00000000..42cf6db5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebe40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebe40 Unwind@1400ebe40 + * Pseudocode, not original source. */ + +void Unwind_1400ebe40(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(*(longlong *)(param_2 + 0x88) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebe50.c b/decomp/Agent_Release_x64/full/functions/0x1400ebe50.c new file mode 100644 index 00000000..c6f53992 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebe50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebe50 Unwind@1400ebe50 + * Pseudocode, not original source. */ + +void Unwind_1400ebe50(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0xf0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebe60.c b/decomp/Agent_Release_x64/full/functions/0x1400ebe60.c new file mode 100644 index 00000000..bb342484 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebe60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebe60 Unwind@1400ebe60 + * Pseudocode, not original source. */ + +void Unwind_1400ebe60(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebe70.c b/decomp/Agent_Release_x64/full/functions/0x1400ebe70.c new file mode 100644 index 00000000..15a07390 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebe70.c @@ -0,0 +1,10 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebe70 Catch_All@1400ebe70 + * Pseudocode, not original source. */ + +undefined8 Catch_All_1400ebe70(void) + +{ + return 0x1400b0543; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebe90.c b/decomp/Agent_Release_x64/full/functions/0x1400ebe90.c new file mode 100644 index 00000000..d3dcefbd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebe90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebe90 Unwind@1400ebe90 + * Pseudocode, not original source. */ + +void Unwind_1400ebe90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x40) + 0x10),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebea0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebea0.c new file mode 100644 index 00000000..907afe34 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebea0 Unwind@1400ebea0 + * Pseudocode, not original source. */ + +void Unwind_1400ebea0(undefined8 param_1,longlong param_2) + +{ + FUN_1400b0530((char *)(*(longlong *)(param_2 + 0x40) + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebeb0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebeb0.c new file mode 100644 index 00000000..f25e251d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebeb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebeb0 Unwind@1400ebeb0 + * Pseudocode, not original source. */ + +void Unwind_1400ebeb0(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_1400afdc0((char *)(param_2[8] + 0xa8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebed0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebed0.c new file mode 100644 index 00000000..56f0428b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebed0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebed0 Unwind@1400ebed0 + * Pseudocode, not original source. */ + +void Unwind_1400ebed0(undefined8 param_1,longlong param_2) + +{ + FUN_1400af0f0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x100)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebef0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebef0.c new file mode 100644 index 00000000..b23c1afd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebef0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebef0 Unwind@1400ebef0 + * Pseudocode, not original source. */ + +void Unwind_1400ebef0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x50) + 0x10),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebf00.c b/decomp/Agent_Release_x64/full/functions/0x1400ebf00.c new file mode 100644 index 00000000..7418447f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebf00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebf00 Unwind@1400ebf00 + * Pseudocode, not original source. */ + +void Unwind_1400ebf00(undefined8 param_1,longlong param_2) + +{ + FUN_1400b0530((char *)(*(longlong *)(param_2 + 0x50) + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebf10.c b/decomp/Agent_Release_x64/full/functions/0x1400ebf10.c new file mode 100644 index 00000000..811a9368 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebf10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebf10 Unwind@1400ebf10 + * Pseudocode, not original source. */ + +void Unwind_1400ebf10(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_1400afdc0((char *)(param_2[10] + 0xa8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebf30.c b/decomp/Agent_Release_x64/full/functions/0x1400ebf30.c new file mode 100644 index 00000000..c3ff50b4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebf30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebf30 Unwind@1400ebf30 + * Pseudocode, not original source. */ + +void Unwind_1400ebf30(undefined8 param_1,longlong param_2) + +{ + FUN_1400af0f0((undefined8 *)(*(longlong *)(param_2 + 0x50) + 0x100)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebf50.c b/decomp/Agent_Release_x64/full/functions/0x1400ebf50.c new file mode 100644 index 00000000..6f72dec2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebf50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebf50 Unwind@1400ebf50 + * Pseudocode, not original source. */ + +void Unwind_1400ebf50(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebf60.c b/decomp/Agent_Release_x64/full/functions/0x1400ebf60.c new file mode 100644 index 00000000..27860074 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebf60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebf60 Unwind@1400ebf60 + * Pseudocode, not original source. */ + +void Unwind_1400ebf60(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebf70.c b/decomp/Agent_Release_x64/full/functions/0x1400ebf70.c new file mode 100644 index 00000000..caea5f89 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebf70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebf70 Unwind@1400ebf70 + * Pseudocode, not original source. */ + +void Unwind_1400ebf70(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebf80.c b/decomp/Agent_Release_x64/full/functions/0x1400ebf80.c new file mode 100644 index 00000000..cfa86a82 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebf80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebf80 Unwind@1400ebf80 + * Pseudocode, not original source. */ + +void Unwind_1400ebf80(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebf90.c b/decomp/Agent_Release_x64/full/functions/0x1400ebf90.c new file mode 100644 index 00000000..7b7b9484 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebf90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebf90 Unwind@1400ebf90 + * Pseudocode, not original source. */ + +void Unwind_1400ebf90(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebfa0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebfa0.c new file mode 100644 index 00000000..deb46ceb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebfa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebfa0 Unwind@1400ebfa0 + * Pseudocode, not original source. */ + +void Unwind_1400ebfa0(undefined8 param_1,longlong param_2) + +{ + FUN_140080e10((undefined8 *)(param_2 + 0x108)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebfb0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebfb0.c new file mode 100644 index 00000000..1bded5f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebfb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebfb0 Unwind@1400ebfb0 + * Pseudocode, not original source. */ + +void Unwind_1400ebfb0(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebfc0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebfc0.c new file mode 100644 index 00000000..f84780e1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebfc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebfc0 Unwind@1400ebfc0 + * Pseudocode, not original source. */ + +void Unwind_1400ebfc0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebfd0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebfd0.c new file mode 100644 index 00000000..5ed02e91 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebfd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebfd0 Unwind@1400ebfd0 + * Pseudocode, not original source. */ + +void Unwind_1400ebfd0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebfe0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebfe0.c new file mode 100644 index 00000000..6d6e3df3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebfe0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebfe0 Unwind@1400ebfe0 + * Pseudocode, not original source. */ + +void Unwind_1400ebfe0(undefined8 param_1,longlong param_2) + +{ + FUN_14008ebf0((undefined8 *)(param_2 + 0x130)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ebff0.c b/decomp/Agent_Release_x64/full/functions/0x1400ebff0.c new file mode 100644 index 00000000..0d59e445 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ebff0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ebff0 Unwind@1400ebff0 + * Pseudocode, not original source. */ + +void Unwind_1400ebff0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xc0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec000.c b/decomp/Agent_Release_x64/full/functions/0x1400ec000.c new file mode 100644 index 00000000..faef4361 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec000.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec000 Unwind@1400ec000 + * Pseudocode, not original source. */ + +void Unwind_1400ec000(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec010.c b/decomp/Agent_Release_x64/full/functions/0x1400ec010.c new file mode 100644 index 00000000..e07ca782 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec010.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec010 Unwind@1400ec010 + * Pseudocode, not original source. */ + +void Unwind_1400ec010(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec020.c b/decomp/Agent_Release_x64/full/functions/0x1400ec020.c new file mode 100644 index 00000000..f62cc85c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec020.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec020 Unwind@1400ec020 + * Pseudocode, not original source. */ + +void Unwind_1400ec020(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x118)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec030.c b/decomp/Agent_Release_x64/full/functions/0x1400ec030.c new file mode 100644 index 00000000..201394f3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec030.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec030 Unwind@1400ec030 + * Pseudocode, not original source. */ + +void Unwind_1400ec030(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xf0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec040.c b/decomp/Agent_Release_x64/full/functions/0x1400ec040.c new file mode 100644 index 00000000..d46f2921 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec040.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec040 Unwind@1400ec040 + * Pseudocode, not original source. */ + +void Unwind_1400ec040(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec060.c b/decomp/Agent_Release_x64/full/functions/0x1400ec060.c new file mode 100644 index 00000000..919f9f5f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec060.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec060 Unwind@1400ec060 + * Pseudocode, not original source. */ + +void Unwind_1400ec060(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec070.c b/decomp/Agent_Release_x64/full/functions/0x1400ec070.c new file mode 100644 index 00000000..de145bae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec070.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec070 Unwind@1400ec070 + * Pseudocode, not original source. */ + +void Unwind_1400ec070(undefined8 param_1,longlong param_2) + +{ + FUN_14008ebf0((undefined8 *)(param_2 + 0x230)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec080.c b/decomp/Agent_Release_x64/full/functions/0x1400ec080.c new file mode 100644 index 00000000..0cd34dd9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec080.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec080 Unwind@1400ec080 + * Pseudocode, not original source. */ + +void Unwind_1400ec080(undefined8 param_1,longlong param_2) + +{ + FUN_14008ebf0((undefined8 *)(param_2 + 0x1a0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec090.c b/decomp/Agent_Release_x64/full/functions/0x1400ec090.c new file mode 100644 index 00000000..2fdcb492 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec090.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec090 Unwind@1400ec090 + * Pseudocode, not original source. */ + +void Unwind_1400ec090(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec0a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec0a0.c new file mode 100644 index 00000000..d9fca92d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec0a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec0a0 Unwind@1400ec0a0 + * Pseudocode, not original source. */ + +void Unwind_1400ec0a0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec0b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec0b0.c new file mode 100644 index 00000000..2647706e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec0b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec0b0 Unwind@1400ec0b0 + * Pseudocode, not original source. */ + +void Unwind_1400ec0b0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec0c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec0c0.c new file mode 100644 index 00000000..772cd9f9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec0c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec0c0 Unwind@1400ec0c0 + * Pseudocode, not original source. */ + +void Unwind_1400ec0c0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec0d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec0d0.c new file mode 100644 index 00000000..8b7e9a19 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec0d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec0d0 Unwind@1400ec0d0 + * Pseudocode, not original source. */ + +void Unwind_1400ec0d0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec0e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec0e0.c new file mode 100644 index 00000000..000a9912 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec0e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec0e0 Unwind@1400ec0e0 + * Pseudocode, not original source. */ + +void Unwind_1400ec0e0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec0f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec0f0.c new file mode 100644 index 00000000..dde79374 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec0f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec0f0 Unwind@1400ec0f0 + * Pseudocode, not original source. */ + +void Unwind_1400ec0f0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec100.c b/decomp/Agent_Release_x64/full/functions/0x1400ec100.c new file mode 100644 index 00000000..045093e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec100.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec100 Unwind@1400ec100 + * Pseudocode, not original source. */ + +void Unwind_1400ec100(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14001c020((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec110.c b/decomp/Agent_Release_x64/full/functions/0x1400ec110.c new file mode 100644 index 00000000..d2a8251b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec110.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec110 Unwind@1400ec110 + * Pseudocode, not original source. */ + +void Unwind_1400ec110(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x118)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec120.c b/decomp/Agent_Release_x64/full/functions/0x1400ec120.c new file mode 100644 index 00000000..baa9f3a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec120.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec120 Unwind@1400ec120 + * Pseudocode, not original source. */ + +void Unwind_1400ec120(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 400)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec130.c b/decomp/Agent_Release_x64/full/functions/0x1400ec130.c new file mode 100644 index 00000000..34edc257 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec130.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec130 Unwind@1400ec130 + * Pseudocode, not original source. */ + +void Unwind_1400ec130(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x108)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec140.c b/decomp/Agent_Release_x64/full/functions/0x1400ec140.c new file mode 100644 index 00000000..dd116f50 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec140.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec140 Unwind@1400ec140 + * Pseudocode, not original source. */ + +void Unwind_1400ec140(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec150.c b/decomp/Agent_Release_x64/full/functions/0x1400ec150.c new file mode 100644 index 00000000..5a58fdf0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec150.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec150 Unwind@1400ec150 + * Pseudocode, not original source. */ + +void Unwind_1400ec150(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xf8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec160.c b/decomp/Agent_Release_x64/full/functions/0x1400ec160.c new file mode 100644 index 00000000..4b34532b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec160 Unwind@1400ec160 + * Pseudocode, not original source. */ + +void Unwind_1400ec160(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x180)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec170.c b/decomp/Agent_Release_x64/full/functions/0x1400ec170.c new file mode 100644 index 00000000..ec3011be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec170.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec170 Unwind@1400ec170 + * Pseudocode, not original source. */ + +void Unwind_1400ec170(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x138)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec180.c b/decomp/Agent_Release_x64/full/functions/0x1400ec180.c new file mode 100644 index 00000000..1b93e596 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec180.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec180 Unwind@1400ec180 + * Pseudocode, not original source. */ + +void Unwind_1400ec180(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x148)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec190.c b/decomp/Agent_Release_x64/full/functions/0x1400ec190.c new file mode 100644 index 00000000..90d1520a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec190.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec190 Unwind@1400ec190 + * Pseudocode, not original source. */ + +void Unwind_1400ec190(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x170)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec1a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec1a0.c new file mode 100644 index 00000000..cd89f927 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec1a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec1a0 Unwind@1400ec1a0 + * Pseudocode, not original source. */ + +void Unwind_1400ec1a0(undefined8 param_1,longlong param_2) + +{ + FUN_14002a580((undefined8 *)(param_2 + 0x2c0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec1b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec1b0.c new file mode 100644 index 00000000..55227745 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec1b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec1b0 Unwind@1400ec1b0 + * Pseudocode, not original source. */ + +void Unwind_1400ec1b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec1c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec1c0.c new file mode 100644 index 00000000..f15a6bb7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec1c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec1c0 Unwind@1400ec1c0 + * Pseudocode, not original source. */ + +void Unwind_1400ec1c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec1d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec1d0.c new file mode 100644 index 00000000..9c162dd0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec1d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec1d0 Unwind@1400ec1d0 + * Pseudocode, not original source. */ + +void Unwind_1400ec1d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x128)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec1e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec1e0.c new file mode 100644 index 00000000..014d3428 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec1e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec1e0 Unwind@1400ec1e0 + * Pseudocode, not original source. */ + +void Unwind_1400ec1e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x130,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec1f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec1f0.c new file mode 100644 index 00000000..775000bb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec1f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec1f0 Unwind@1400ec1f0 + * Pseudocode, not original source. */ + +void Unwind_1400ec1f0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x80); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec200.c b/decomp/Agent_Release_x64/full/functions/0x1400ec200.c new file mode 100644 index 00000000..b9b68294 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec200.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec200 Unwind@1400ec200 + * Pseudocode, not original source. */ + +void Unwind_1400ec200(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x80); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec210.c b/decomp/Agent_Release_x64/full/functions/0x1400ec210.c new file mode 100644 index 00000000..39552049 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec210.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec210 Unwind@1400ec210 + * Pseudocode, not original source. */ + +void Unwind_1400ec210(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x28) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec220.c b/decomp/Agent_Release_x64/full/functions/0x1400ec220.c new file mode 100644 index 00000000..2ec6044f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec220.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec220 Unwind@1400ec220 + * Pseudocode, not original source. */ + +void Unwind_1400ec220(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xdb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec240.c b/decomp/Agent_Release_x64/full/functions/0x1400ec240.c new file mode 100644 index 00000000..aaf03fcf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec240.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec240 Unwind@1400ec240 + * Pseudocode, not original source. */ + +void Unwind_1400ec240(undefined8 param_1,longlong param_2) + +{ + FUN_14003c6d0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec250.c b/decomp/Agent_Release_x64/full/functions/0x1400ec250.c new file mode 100644 index 00000000..2e7e64ca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec250.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec250 Unwind@1400ec250 + * Pseudocode, not original source. */ + +void Unwind_1400ec250(undefined8 param_1,longlong param_2) + +{ + FUN_140034f50((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec260.c b/decomp/Agent_Release_x64/full/functions/0x1400ec260.c new file mode 100644 index 00000000..486c87ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec260.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec260 Unwind@1400ec260 + * Pseudocode, not original source. */ + +void Unwind_1400ec260(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(*(longlong *)(param_2 + 0x40) + 0x128),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec280.c b/decomp/Agent_Release_x64/full/functions/0x1400ec280.c new file mode 100644 index 00000000..6bf87fea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec280.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec280 Unwind@1400ec280 + * Pseudocode, not original source. */ + +void Unwind_1400ec280(undefined8 param_1,longlong param_2) + +{ + FUN_1400bbbd0(*(longlong *)(param_2 + 0x40) + 0x130); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec2a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec2a0.c new file mode 100644 index 00000000..96c054db --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec2a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec2a0 Unwind@1400ec2a0 + * Pseudocode, not original source. */ + +void Unwind_1400ec2a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14009efd0((longlong *)(*(longlong *)(param_2 + 0x40) + 0x170),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec2c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec2c0.c new file mode 100644 index 00000000..24ad034e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec2c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec2c0 Unwind@1400ec2c0 + * Pseudocode, not original source. */ + +void Unwind_1400ec2c0(undefined8 param_1,longlong param_2) + +{ + FUN_14003c6d0(*(undefined8 **)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec2d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec2d0.c new file mode 100644 index 00000000..a432419e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec2d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec2d0 Unwind@1400ec2d0 + * Pseudocode, not original source. */ + +void Unwind_1400ec2d0(undefined8 param_1,longlong param_2) + +{ + FUN_140034f50((undefined8 *)(*(longlong *)(param_2 + 0x60) + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec2e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec2e0.c new file mode 100644 index 00000000..49c71d6b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec2e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec2e0 Unwind@1400ec2e0 + * Pseudocode, not original source. */ + +void Unwind_1400ec2e0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(*(longlong *)(param_2 + 0x60) + 0x128),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec300.c b/decomp/Agent_Release_x64/full/functions/0x1400ec300.c new file mode 100644 index 00000000..5f01394c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec300.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec300 Unwind@1400ec300 + * Pseudocode, not original source. */ + +void Unwind_1400ec300(undefined8 param_1,longlong param_2) + +{ + FUN_1400bbbd0(*(longlong *)(param_2 + 0x60) + 0x130); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec320.c b/decomp/Agent_Release_x64/full/functions/0x1400ec320.c new file mode 100644 index 00000000..8e9253d8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec320.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec320 Unwind@1400ec320 + * Pseudocode, not original source. */ + +void Unwind_1400ec320(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14009efd0((longlong *)(*(longlong *)(param_2 + 0x60) + 0x170),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec340.c b/decomp/Agent_Release_x64/full/functions/0x1400ec340.c new file mode 100644 index 00000000..568a274d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec340.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec340 Unwind@1400ec340 + * Pseudocode, not original source. */ + +void Unwind_1400ec340(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec360.c b/decomp/Agent_Release_x64/full/functions/0x1400ec360.c new file mode 100644 index 00000000..be1563bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec360.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec360 Unwind@1400ec360 + * Pseudocode, not original source. */ + +void Unwind_1400ec360(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x68),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec370.c b/decomp/Agent_Release_x64/full/functions/0x1400ec370.c new file mode 100644 index 00000000..0db17dc9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec370.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec370 Unwind@1400ec370 + * Pseudocode, not original source. */ + +void Unwind_1400ec370(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec380.c b/decomp/Agent_Release_x64/full/functions/0x1400ec380.c new file mode 100644 index 00000000..c8dc7bd6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec380.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec380 Unwind@1400ec380 + * Pseudocode, not original source. */ + +void Unwind_1400ec380(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec390.c b/decomp/Agent_Release_x64/full/functions/0x1400ec390.c new file mode 100644 index 00000000..7c631608 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec390.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec390 Unwind@1400ec390 + * Pseudocode, not original source. */ + +void Unwind_1400ec390(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x70,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec3a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec3a0.c new file mode 100644 index 00000000..df8cca7f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec3a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec3a0 Unwind@1400ec3a0 + * Pseudocode, not original source. */ + +void Unwind_1400ec3a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xd00,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec3b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec3b0.c new file mode 100644 index 00000000..1eef6456 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec3b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec3b0 Unwind@1400ec3b0 + * Pseudocode, not original source. */ + +void Unwind_1400ec3b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec3c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec3c0.c new file mode 100644 index 00000000..55009969 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec3c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec3c0 Unwind@1400ec3c0 + * Pseudocode, not original source. */ + +void Unwind_1400ec3c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec3d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec3d0.c new file mode 100644 index 00000000..a4e36499 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec3d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec3d0 Unwind@1400ec3d0 + * Pseudocode, not original source. */ + +void Unwind_1400ec3d0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x20) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec3e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec3e0.c new file mode 100644 index 00000000..f206ce3d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec3e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec3e0 Unwind@1400ec3e0 + * Pseudocode, not original source. */ + +void Unwind_1400ec3e0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x80); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec3f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec3f0.c new file mode 100644 index 00000000..f288ba5f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec3f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec3f0 Unwind@1400ec3f0 + * Pseudocode, not original source. */ + +void Unwind_1400ec3f0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x80); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec400.c b/decomp/Agent_Release_x64/full/functions/0x1400ec400.c new file mode 100644 index 00000000..edcfb8b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec400.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec400 Unwind@1400ec400 + * Pseudocode, not original source. */ + +void Unwind_1400ec400(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xe0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec410.c b/decomp/Agent_Release_x64/full/functions/0x1400ec410.c new file mode 100644 index 00000000..0345953d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec410.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec410 Unwind@1400ec410 + * Pseudocode, not original source. */ + +void Unwind_1400ec410(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x50); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec420.c b/decomp/Agent_Release_x64/full/functions/0x1400ec420.c new file mode 100644 index 00000000..0f6066c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec420.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec420 Unwind@1400ec420 + * Pseudocode, not original source. */ + +void Unwind_1400ec420(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x50); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec430.c b/decomp/Agent_Release_x64/full/functions/0x1400ec430.c new file mode 100644 index 00000000..51258921 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec430.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec430 Unwind@1400ec430 + * Pseudocode, not original source. */ + +void Unwind_1400ec430(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec440.c b/decomp/Agent_Release_x64/full/functions/0x1400ec440.c new file mode 100644 index 00000000..66375fcc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec440.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec440 Unwind@1400ec440 + * Pseudocode, not original source. */ + +void Unwind_1400ec440(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec450.c b/decomp/Agent_Release_x64/full/functions/0x1400ec450.c new file mode 100644 index 00000000..e4626d0d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec450.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec450 Unwind@1400ec450 + * Pseudocode, not original source. */ + +void Unwind_1400ec450(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x100),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec460.c b/decomp/Agent_Release_x64/full/functions/0x1400ec460.c new file mode 100644 index 00000000..bbd35d58 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec460.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec460 Unwind@1400ec460 + * Pseudocode, not original source. */ + +void Unwind_1400ec460(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec470.c b/decomp/Agent_Release_x64/full/functions/0x1400ec470.c new file mode 100644 index 00000000..7d788530 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec470.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec470 Unwind@1400ec470 + * Pseudocode, not original source. */ + +void Unwind_1400ec470(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec480.c b/decomp/Agent_Release_x64/full/functions/0x1400ec480.c new file mode 100644 index 00000000..e82bd809 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec480.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec480 Unwind@1400ec480 + * Pseudocode, not original source. */ + +void Unwind_1400ec480(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec490.c b/decomp/Agent_Release_x64/full/functions/0x1400ec490.c new file mode 100644 index 00000000..f995b77f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec490.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec490 Unwind@1400ec490 + * Pseudocode, not original source. */ + +void Unwind_1400ec490(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x100) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec4a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec4a0.c new file mode 100644 index 00000000..07404785 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec4a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec4a0 Unwind@1400ec4a0 + * Pseudocode, not original source. */ + +void Unwind_1400ec4a0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x78); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec4b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec4b0.c new file mode 100644 index 00000000..9eed3b18 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec4b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec4b0 Unwind@1400ec4b0 + * Pseudocode, not original source. */ + +void Unwind_1400ec4b0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x78); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec4c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec4c0.c new file mode 100644 index 00000000..9336063f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec4c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec4c0 Unwind@1400ec4c0 + * Pseudocode, not original source. */ + +void Unwind_1400ec4c0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xc0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec4d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec4d0.c new file mode 100644 index 00000000..37bbfc25 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec4d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec4d0 Unwind@1400ec4d0 + * Pseudocode, not original source. */ + +void Unwind_1400ec4d0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x50); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec4e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec4e0.c new file mode 100644 index 00000000..38fbfeb0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec4e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec4e0 Unwind@1400ec4e0 + * Pseudocode, not original source. */ + +void Unwind_1400ec4e0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x50); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec4f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec4f0.c new file mode 100644 index 00000000..9147b1c5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec4f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec4f0 Unwind@1400ec4f0 + * Pseudocode, not original source. */ + +void Unwind_1400ec4f0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x120) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec500.c b/decomp/Agent_Release_x64/full/functions/0x1400ec500.c new file mode 100644 index 00000000..8281764a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec500.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec500 Unwind@1400ec500 + * Pseudocode, not original source. */ + +void Unwind_1400ec500(undefined8 param_1,longlong param_2) + +{ + FUN_14002a580((undefined8 *)(param_2 + 0x1a0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec510.c b/decomp/Agent_Release_x64/full/functions/0x1400ec510.c new file mode 100644 index 00000000..d5f9961d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec510.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec510 Unwind@1400ec510 + * Pseudocode, not original source. */ + +void Unwind_1400ec510(undefined8 param_1,longlong param_2) + +{ + FUN_14002a580((undefined8 *)(param_2 + 0x4d0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec520.c b/decomp/Agent_Release_x64/full/functions/0x1400ec520.c new file mode 100644 index 00000000..41962935 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec520.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec520 Unwind@1400ec520 + * Pseudocode, not original source. */ + +void Unwind_1400ec520(undefined8 param_1,longlong param_2) + +{ + FUN_14002a580((undefined8 *)(param_2 + 0x2b0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec530.c b/decomp/Agent_Release_x64/full/functions/0x1400ec530.c new file mode 100644 index 00000000..aebdaa5d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec530.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec530 Unwind@1400ec530 + * Pseudocode, not original source. */ + +void Unwind_1400ec530(undefined8 param_1,longlong param_2) + +{ + FUN_14002a580((undefined8 *)(param_2 + 0x3c0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec540.c b/decomp/Agent_Release_x64/full/functions/0x1400ec540.c new file mode 100644 index 00000000..a4b0440b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec540.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec540 Unwind@1400ec540 + * Pseudocode, not original source. */ + +void Unwind_1400ec540(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec550.c b/decomp/Agent_Release_x64/full/functions/0x1400ec550.c new file mode 100644 index 00000000..8f11b2dd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec550.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec550 Unwind@1400ec550 + * Pseudocode, not original source. */ + +void Unwind_1400ec550(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec560.c b/decomp/Agent_Release_x64/full/functions/0x1400ec560.c new file mode 100644 index 00000000..7c2b838b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec560.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec560 Unwind@1400ec560 + * Pseudocode, not original source. */ + +void Unwind_1400ec560(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec570.c b/decomp/Agent_Release_x64/full/functions/0x1400ec570.c new file mode 100644 index 00000000..b193ae3a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec570.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec570 Unwind@1400ec570 + * Pseudocode, not original source. */ + +void Unwind_1400ec570(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x130)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec580.c b/decomp/Agent_Release_x64/full/functions/0x1400ec580.c new file mode 100644 index 00000000..3cd0ed5b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec580.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec580 Unwind@1400ec580 + * Pseudocode, not original source. */ + +void Unwind_1400ec580(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec590.c b/decomp/Agent_Release_x64/full/functions/0x1400ec590.c new file mode 100644 index 00000000..b714cec0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec590.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec590 Unwind@1400ec590 + * Pseudocode, not original source. */ + +void Unwind_1400ec590(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec5a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec5a0.c new file mode 100644 index 00000000..89551d92 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec5a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec5a0 Unwind@1400ec5a0 + * Pseudocode, not original source. */ + +void Unwind_1400ec5a0(undefined8 param_1,longlong param_2) + +{ + FUN_140071f30((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec5b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec5b0.c new file mode 100644 index 00000000..598e2418 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec5b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec5b0 Unwind@1400ec5b0 + * Pseudocode, not original source. */ + +void Unwind_1400ec5b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xc0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec5c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec5c0.c new file mode 100644 index 00000000..dc1be21b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec5c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec5c0 Unwind@1400ec5c0 + * Pseudocode, not original source. */ + +void Unwind_1400ec5c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xa0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec5d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec5d0.c new file mode 100644 index 00000000..85cf5b59 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec5d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec5d0 Unwind@1400ec5d0 + * Pseudocode, not original source. */ + +void Unwind_1400ec5d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec5e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec5e0.c new file mode 100644 index 00000000..237a05c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec5e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec5e0 Unwind@1400ec5e0 + * Pseudocode, not original source. */ + +void Unwind_1400ec5e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xa8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec5f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec5f0.c new file mode 100644 index 00000000..231863dd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec5f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec5f0 Unwind@1400ec5f0 + * Pseudocode, not original source. */ + +void Unwind_1400ec5f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec600.c b/decomp/Agent_Release_x64/full/functions/0x1400ec600.c new file mode 100644 index 00000000..22dc9fbe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec600.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec600 Unwind@1400ec600 + * Pseudocode, not original source. */ + +void Unwind_1400ec600(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xd8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec610.c b/decomp/Agent_Release_x64/full/functions/0x1400ec610.c new file mode 100644 index 00000000..34936aca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec610.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec610 Unwind@1400ec610 + * Pseudocode, not original source. */ + +void Unwind_1400ec610(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xf0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec620.c b/decomp/Agent_Release_x64/full/functions/0x1400ec620.c new file mode 100644 index 00000000..6bb1c5bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec620.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec620 Unwind@1400ec620 + * Pseudocode, not original source. */ + +void Unwind_1400ec620(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x100)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec630.c b/decomp/Agent_Release_x64/full/functions/0x1400ec630.c new file mode 100644 index 00000000..cdcffeb1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec630.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec630 Unwind@1400ec630 + * Pseudocode, not original source. */ + +void Unwind_1400ec630(undefined8 param_1,longlong param_2) + +{ + FUN_140071f30((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec640.c b/decomp/Agent_Release_x64/full/functions/0x1400ec640.c new file mode 100644 index 00000000..3c2ec287 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec640.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec640 Unwind@1400ec640 + * Pseudocode, not original source. */ + +void Unwind_1400ec640(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec650.c b/decomp/Agent_Release_x64/full/functions/0x1400ec650.c new file mode 100644 index 00000000..12ffd71b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec650.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec650 Unwind@1400ec650 + * Pseudocode, not original source. */ + +void Unwind_1400ec650(undefined8 param_1,longlong param_2) + +{ + FUN_140092fb0((longlong *)(*(longlong *)(param_2 + 0x40) + 0x10)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec660.c b/decomp/Agent_Release_x64/full/functions/0x1400ec660.c new file mode 100644 index 00000000..8dfe7a13 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec660.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec660 Unwind@1400ec660 + * Pseudocode, not original source. */ + +void Unwind_1400ec660(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec670.c b/decomp/Agent_Release_x64/full/functions/0x1400ec670.c new file mode 100644 index 00000000..85731a10 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec670.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec670 Unwind@1400ec670 + * Pseudocode, not original source. */ + +void Unwind_1400ec670(undefined8 param_1,longlong param_2) + +{ + FUN_140071f30((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec680.c b/decomp/Agent_Release_x64/full/functions/0x1400ec680.c new file mode 100644 index 00000000..c6eafd23 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec680.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec680 Unwind@1400ec680 + * Pseudocode, not original source. */ + +void Unwind_1400ec680(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec690.c b/decomp/Agent_Release_x64/full/functions/0x1400ec690.c new file mode 100644 index 00000000..33ac69ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec690.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec690 Unwind@1400ec690 + * Pseudocode, not original source. */ + +void Unwind_1400ec690(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xf0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec6a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec6a0.c new file mode 100644 index 00000000..72087d3b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec6a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec6a0 Unwind@1400ec6a0 + * Pseudocode, not original source. */ + +void Unwind_1400ec6a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec6b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec6b0.c new file mode 100644 index 00000000..fa50f72e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec6b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec6b0 Unwind@1400ec6b0 + * Pseudocode, not original source. */ + +void Unwind_1400ec6b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec6c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec6c0.c new file mode 100644 index 00000000..aa83e8bd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec6c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec6c0 Unwind@1400ec6c0 + * Pseudocode, not original source. */ + +void Unwind_1400ec6c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x188),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec6d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec6d0.c new file mode 100644 index 00000000..c68a2c5d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec6d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec6d0 Unwind@1400ec6d0 + * Pseudocode, not original source. */ + +void Unwind_1400ec6d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec6e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec6e0.c new file mode 100644 index 00000000..185e8bc5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec6e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec6e0 Unwind@1400ec6e0 + * Pseudocode, not original source. */ + +void Unwind_1400ec6e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec6f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec6f0.c new file mode 100644 index 00000000..a5e39bdb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec6f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec6f0 Unwind@1400ec6f0 + * Pseudocode, not original source. */ + +void Unwind_1400ec6f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xc0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec700.c b/decomp/Agent_Release_x64/full/functions/0x1400ec700.c new file mode 100644 index 00000000..795c3f4c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec700.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec700 Unwind@1400ec700 + * Pseudocode, not original source. */ + +void Unwind_1400ec700(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec710.c b/decomp/Agent_Release_x64/full/functions/0x1400ec710.c new file mode 100644 index 00000000..92c936b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec710.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec710 Unwind@1400ec710 + * Pseudocode, not original source. */ + +void Unwind_1400ec710(undefined8 param_1,longlong param_2) + +{ + FUN_140071f30((longlong *)(param_2 + 0xa0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec720.c b/decomp/Agent_Release_x64/full/functions/0x1400ec720.c new file mode 100644 index 00000000..10fc30ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec720.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec720 Unwind@1400ec720 + * Pseudocode, not original source. */ + +void Unwind_1400ec720(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec730.c b/decomp/Agent_Release_x64/full/functions/0x1400ec730.c new file mode 100644 index 00000000..eb3b5391 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec730.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec730 Unwind@1400ec730 + * Pseudocode, not original source. */ + +void Unwind_1400ec730(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec740.c b/decomp/Agent_Release_x64/full/functions/0x1400ec740.c new file mode 100644 index 00000000..b15b6af9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec740.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec740 Unwind@1400ec740 + * Pseudocode, not original source. */ + +void Unwind_1400ec740(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec750.c b/decomp/Agent_Release_x64/full/functions/0x1400ec750.c new file mode 100644 index 00000000..ba14aab6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec750.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec750 Unwind@1400ec750 + * Pseudocode, not original source. */ + +void Unwind_1400ec750(undefined8 param_1,longlong param_2) + +{ + FUN_140071f30((longlong *)(param_2 + 0xf8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec760.c b/decomp/Agent_Release_x64/full/functions/0x1400ec760.c new file mode 100644 index 00000000..6186b2de --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec760.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec760 Unwind@1400ec760 + * Pseudocode, not original source. */ + +void Unwind_1400ec760(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xe8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec770.c b/decomp/Agent_Release_x64/full/functions/0x1400ec770.c new file mode 100644 index 00000000..6a514e5a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec770.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec770 Unwind@1400ec770 + * Pseudocode, not original source. */ + +void Unwind_1400ec770(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec780.c b/decomp/Agent_Release_x64/full/functions/0x1400ec780.c new file mode 100644 index 00000000..3180215f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec780.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec780 Unwind@1400ec780 + * Pseudocode, not original source. */ + +void Unwind_1400ec780(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec790.c b/decomp/Agent_Release_x64/full/functions/0x1400ec790.c new file mode 100644 index 00000000..3ef8830c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec790.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec790 Unwind@1400ec790 + * Pseudocode, not original source. */ + +void Unwind_1400ec790(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec7a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec7a0.c new file mode 100644 index 00000000..e22b4308 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec7a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec7a0 Unwind@1400ec7a0 + * Pseudocode, not original source. */ + +void Unwind_1400ec7a0(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec7b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec7b0.c new file mode 100644 index 00000000..7d1de2f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec7b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec7b0 Unwind@1400ec7b0 + * Pseudocode, not original source. */ + +void Unwind_1400ec7b0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec7c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec7c0.c new file mode 100644 index 00000000..9a2c316f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec7c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec7c0 Unwind@1400ec7c0 + * Pseudocode, not original source. */ + +void Unwind_1400ec7c0(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec7d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec7d0.c new file mode 100644 index 00000000..02af8916 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec7d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec7d0 Unwind@1400ec7d0 + * Pseudocode, not original source. */ + +void Unwind_1400ec7d0(undefined8 param_1,longlong param_2) + +{ + FUN_14003e1f0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x18)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec7e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec7e0.c new file mode 100644 index 00000000..02fffd4a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec7e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec7e0 Unwind@1400ec7e0 + * Pseudocode, not original source. */ + +void Unwind_1400ec7e0(undefined8 param_1,longlong param_2) + +{ + FUN_1400b67e0((longlong *)(*(longlong *)(param_2 + 0x40) + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec7f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec7f0.c new file mode 100644 index 00000000..4351593b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec7f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec7f0 Unwind@1400ec7f0 + * Pseudocode, not original source. */ + +void Unwind_1400ec7f0(undefined8 param_1,longlong param_2) + +{ + FUN_1400b6810(*(longlong *)(param_2 + 0x40) + 8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec800.c b/decomp/Agent_Release_x64/full/functions/0x1400ec800.c new file mode 100644 index 00000000..c44c84ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec800.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec800 Unwind@1400ec800 + * Pseudocode, not original source. */ + +void Unwind_1400ec800(undefined8 param_1,longlong param_2) + +{ + FUN_1400bbbd0(*(longlong *)(param_2 + 0x40) + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec810.c b/decomp/Agent_Release_x64/full/functions/0x1400ec810.c new file mode 100644 index 00000000..24c08bf0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec810.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec810 Unwind@1400ec810 + * Pseudocode, not original source. */ + +void Unwind_1400ec810(undefined8 param_1,longlong param_2) + +{ + FUN_1400b67e0((longlong *)(*(longlong *)(param_2 + 0x40) + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec820.c b/decomp/Agent_Release_x64/full/functions/0x1400ec820.c new file mode 100644 index 00000000..e43d7e19 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec820.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec820 Unwind@1400ec820 + * Pseudocode, not original source. */ + +void Unwind_1400ec820(undefined8 param_1,longlong param_2) + +{ + FUN_1400b3190(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec830.c b/decomp/Agent_Release_x64/full/functions/0x1400ec830.c new file mode 100644 index 00000000..4d0a683f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec830.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec830 Unwind@1400ec830 + * Pseudocode, not original source. */ + +void Unwind_1400ec830(undefined8 param_1,longlong param_2) + +{ + FUN_140063f80(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec840.c b/decomp/Agent_Release_x64/full/functions/0x1400ec840.c new file mode 100644 index 00000000..9cc3cca6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec840.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec840 Unwind@1400ec840 + * Pseudocode, not original source. */ + +void Unwind_1400ec840(undefined8 param_1,longlong param_2) + +{ + FUN_140063fc0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec850.c b/decomp/Agent_Release_x64/full/functions/0x1400ec850.c new file mode 100644 index 00000000..a6691db4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec850.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec850 Unwind@1400ec850 + * Pseudocode, not original source. */ + +void Unwind_1400ec850(undefined8 param_1,longlong param_2) + +{ + FUN_140064000((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x10)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec860.c b/decomp/Agent_Release_x64/full/functions/0x1400ec860.c new file mode 100644 index 00000000..b79839e1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec860.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec860 Unwind@1400ec860 + * Pseudocode, not original source. */ + +void Unwind_1400ec860(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(*(longlong *)(param_2 + 0x40) + 0x18)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec870.c b/decomp/Agent_Release_x64/full/functions/0x1400ec870.c new file mode 100644 index 00000000..197d22c8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec870.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec870 Unwind@1400ec870 + * Pseudocode, not original source. */ + +void Unwind_1400ec870(undefined8 param_1,longlong param_2) + +{ + FUN_140071f30((longlong *)(*(longlong *)(param_2 + 0x40) + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec880.c b/decomp/Agent_Release_x64/full/functions/0x1400ec880.c new file mode 100644 index 00000000..9ae9eb93 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec880.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec880 Unwind@1400ec880 + * Pseudocode, not original source. */ + +void Unwind_1400ec880(undefined8 param_1,longlong param_2) + +{ + FUN_14003c840(*(longlong *)(param_2 + 0x40) + 0x168); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec8a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec8a0.c new file mode 100644 index 00000000..9ad29111 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec8a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec8a0 Unwind@1400ec8a0 + * Pseudocode, not original source. */ + +void Unwind_1400ec8a0(undefined8 param_1,longlong param_2) + +{ + FUN_140079860((char *)(*(longlong *)(param_2 + 0x40) + 0x5b0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec8c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec8c0.c new file mode 100644 index 00000000..2c71f6a5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec8c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec8c0 Unwind@1400ec8c0 + * Pseudocode, not original source. */ + +void Unwind_1400ec8c0(undefined8 param_1,longlong param_2) + +{ + FUN_1400b3190(*(undefined8 **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec8d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec8d0.c new file mode 100644 index 00000000..6aa9bfa4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec8d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec8d0 Unwind@1400ec8d0 + * Pseudocode, not original source. */ + +void Unwind_1400ec8d0(undefined8 param_1,longlong param_2) + +{ + FUN_140063f80(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec8e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec8e0.c new file mode 100644 index 00000000..efae2dfc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec8e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec8e0 Unwind@1400ec8e0 + * Pseudocode, not original source. */ + +void Unwind_1400ec8e0(undefined8 param_1,longlong param_2) + +{ + FUN_140063fc0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec8f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec8f0.c new file mode 100644 index 00000000..c4f8c902 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec8f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec8f0 Unwind@1400ec8f0 + * Pseudocode, not original source. */ + +void Unwind_1400ec8f0(undefined8 param_1,longlong param_2) + +{ + FUN_140064000((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x10)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec900.c b/decomp/Agent_Release_x64/full/functions/0x1400ec900.c new file mode 100644 index 00000000..d69602a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec900.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec900 Unwind@1400ec900 + * Pseudocode, not original source. */ + +void Unwind_1400ec900(undefined8 param_1,longlong param_2) + +{ + FUN_1400ad450((longlong *)(*(longlong *)(param_2 + 0x40) + 0x18)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec910.c b/decomp/Agent_Release_x64/full/functions/0x1400ec910.c new file mode 100644 index 00000000..91a5fba1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec910.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec910 Unwind@1400ec910 + * Pseudocode, not original source. */ + +void Unwind_1400ec910(undefined8 param_1,longlong param_2) + +{ + FUN_140071f30((longlong *)(*(longlong *)(param_2 + 0x40) + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec920.c b/decomp/Agent_Release_x64/full/functions/0x1400ec920.c new file mode 100644 index 00000000..7829d181 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec920.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec920 Unwind@1400ec920 + * Pseudocode, not original source. */ + +void Unwind_1400ec920(undefined8 param_1,longlong param_2) + +{ + FUN_14003c840(*(longlong *)(param_2 + 0x40) + 0x168); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec940.c b/decomp/Agent_Release_x64/full/functions/0x1400ec940.c new file mode 100644 index 00000000..b1bab099 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec940.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec940 Unwind@1400ec940 + * Pseudocode, not original source. */ + +void Unwind_1400ec940(undefined8 param_1,longlong param_2) + +{ + FUN_140079860((char *)(*(longlong *)(param_2 + 0x40) + 0x5b0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec960.c b/decomp/Agent_Release_x64/full/functions/0x1400ec960.c new file mode 100644 index 00000000..7077fa65 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec960.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec960 Unwind@1400ec960 + * Pseudocode, not original source. */ + +void Unwind_1400ec960(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400b6980((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x638),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec980.c b/decomp/Agent_Release_x64/full/functions/0x1400ec980.c new file mode 100644 index 00000000..c38b1b31 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec980.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec980 Unwind@1400ec980 + * Pseudocode, not original source. */ + +void Unwind_1400ec980(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x180,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec990.c b/decomp/Agent_Release_x64/full/functions/0x1400ec990.c new file mode 100644 index 00000000..8db71067 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec990.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec990 Unwind@1400ec990 + * Pseudocode, not original source. */ + +void Unwind_1400ec990(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0xd0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec9a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec9a0.c new file mode 100644 index 00000000..82cdd1dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec9a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec9a0 Unwind@1400ec9a0 + * Pseudocode, not original source. */ + +void Unwind_1400ec9a0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0xd0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec9b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec9b0.c new file mode 100644 index 00000000..7691dbff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec9b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec9b0 Unwind@1400ec9b0 + * Pseudocode, not original source. */ + +void Unwind_1400ec9b0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec9c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec9c0.c new file mode 100644 index 00000000..b8c94a76 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec9c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec9c0 Unwind@1400ec9c0 + * Pseudocode, not original source. */ + +void Unwind_1400ec9c0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xe00)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec9e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec9e0.c new file mode 100644 index 00000000..af320d3d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec9e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec9e0 Unwind@1400ec9e0 + * Pseudocode, not original source. */ + +void Unwind_1400ec9e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xa0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ec9f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ec9f0.c new file mode 100644 index 00000000..752f3956 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ec9f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ec9f0 Unwind@1400ec9f0 + * Pseudocode, not original source. */ + +void Unwind_1400ec9f0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xd20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eca10.c b/decomp/Agent_Release_x64/full/functions/0x1400eca10.c new file mode 100644 index 00000000..03884cc3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eca10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eca10 Unwind@1400eca10 + * Pseudocode, not original source. */ + +void Unwind_1400eca10(undefined8 param_1,longlong param_2) + +{ + FUN_14003c6d0(*(undefined8 **)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eca20.c b/decomp/Agent_Release_x64/full/functions/0x1400eca20.c new file mode 100644 index 00000000..09b05160 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eca20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eca20 Unwind@1400eca20 + * Pseudocode, not original source. */ + +void Unwind_1400eca20(undefined8 param_1,longlong param_2) + +{ + FUN_140034f50((undefined8 *)(*(longlong *)(param_2 + 0x60) + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eca30.c b/decomp/Agent_Release_x64/full/functions/0x1400eca30.c new file mode 100644 index 00000000..ccc060ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eca30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eca30 Unwind@1400eca30 + * Pseudocode, not original source. */ + +void Unwind_1400eca30(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(*(longlong *)(param_2 + 0x60) + 0x100),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eca50.c b/decomp/Agent_Release_x64/full/functions/0x1400eca50.c new file mode 100644 index 00000000..a8186a61 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eca50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eca50 Unwind@1400eca50 + * Pseudocode, not original source. */ + +void Unwind_1400eca50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14009c800((undefined8 *)(*(longlong *)(param_2 + 0x60) + 0x108),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eca70.c b/decomp/Agent_Release_x64/full/functions/0x1400eca70.c new file mode 100644 index 00000000..f3b3c3a3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eca70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eca70 Unwind@1400eca70 + * Pseudocode, not original source. */ + +void Unwind_1400eca70(undefined8 param_1,longlong param_2,longlong param_3) + +{ + FUN_14009c830((undefined8 *)(*(longlong *)(param_2 + 0x60) + 0x110),param_2,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eca90.c b/decomp/Agent_Release_x64/full/functions/0x1400eca90.c new file mode 100644 index 00000000..7e74cea8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eca90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eca90 Unwind@1400eca90 + * Pseudocode, not original source. */ + +void Unwind_1400eca90(undefined8 param_1,longlong param_2,SIZE_T param_3) + +{ + FUN_14009c8c0((undefined8 *)(*(longlong *)(param_2 + 0x60) + 0x188),param_2,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecab0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecab0.c new file mode 100644 index 00000000..dfc893d9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecab0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecab0 Unwind@1400ecab0 + * Pseudocode, not original source. */ + +void Unwind_1400ecab0(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecac0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecac0.c new file mode 100644 index 00000000..8d1a0b12 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecac0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecac0 Unwind@1400ecac0 + * Pseudocode, not original source. */ + +void Unwind_1400ecac0(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecad0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecad0.c new file mode 100644 index 00000000..74c2428f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecad0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecad0 Unwind@1400ecad0 + * Pseudocode, not original source. */ + +void Unwind_1400ecad0(undefined8 param_1,longlong param_2) + +{ + FUN_14003c6d0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecae0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecae0.c new file mode 100644 index 00000000..a8169fee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecae0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecae0 Unwind@1400ecae0 + * Pseudocode, not original source. */ + +void Unwind_1400ecae0(undefined8 param_1,longlong param_2) + +{ + FUN_140034f50((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecaf0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecaf0.c new file mode 100644 index 00000000..3875e4f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecaf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecaf0 Unwind@1400ecaf0 + * Pseudocode, not original source. */ + +void Unwind_1400ecaf0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(*(longlong *)(param_2 + 0x40) + 0x100),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecb10.c b/decomp/Agent_Release_x64/full/functions/0x1400ecb10.c new file mode 100644 index 00000000..6ba5e92c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecb10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecb10 Unwind@1400ecb10 + * Pseudocode, not original source. */ + +void Unwind_1400ecb10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14009c800((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x108),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecb30.c b/decomp/Agent_Release_x64/full/functions/0x1400ecb30.c new file mode 100644 index 00000000..85939eff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecb30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecb30 Unwind@1400ecb30 + * Pseudocode, not original source. */ + +void Unwind_1400ecb30(undefined8 param_1,longlong param_2,longlong param_3) + +{ + FUN_14009c830((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x110),param_2,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecb50.c b/decomp/Agent_Release_x64/full/functions/0x1400ecb50.c new file mode 100644 index 00000000..3e74e240 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecb50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecb50 Unwind@1400ecb50 + * Pseudocode, not original source. */ + +void Unwind_1400ecb50(undefined8 param_1,longlong param_2,SIZE_T param_3) + +{ + FUN_14009c8c0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x188),param_2,param_3); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecb70.c b/decomp/Agent_Release_x64/full/functions/0x1400ecb70.c new file mode 100644 index 00000000..4030ea2e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecb70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecb70 Unwind@1400ecb70 + * Pseudocode, not original source. */ + +void Unwind_1400ecb70(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecb90.c b/decomp/Agent_Release_x64/full/functions/0x1400ecb90.c new file mode 100644 index 00000000..5187123b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecb90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecb90 Unwind@1400ecb90 + * Pseudocode, not original source. */ + +void Unwind_1400ecb90(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecba0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecba0.c new file mode 100644 index 00000000..b9c3d473 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecba0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecba0 Unwind@1400ecba0 + * Pseudocode, not original source. */ + +void Unwind_1400ecba0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecbb0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecbb0.c new file mode 100644 index 00000000..38febee7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecbb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecbb0 Unwind@1400ecbb0 + * Pseudocode, not original source. */ + +void Unwind_1400ecbb0(undefined8 param_1,longlong param_2) + +{ + FUN_1400b6810(*(longlong *)(param_2 + 0x40) + 8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecbc0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecbc0.c new file mode 100644 index 00000000..6e4015c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecbc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecbc0 Unwind@1400ecbc0 + * Pseudocode, not original source. */ + +void Unwind_1400ecbc0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x150,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecbd0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecbd0.c new file mode 100644 index 00000000..fa769213 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecbd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecbd0 Unwind@1400ecbd0 + * Pseudocode, not original source. */ + +void Unwind_1400ecbd0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0xa0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecbe0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecbe0.c new file mode 100644 index 00000000..46838142 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecbe0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecbe0 Unwind@1400ecbe0 + * Pseudocode, not original source. */ + +void Unwind_1400ecbe0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0xa0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecbf0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecbf0.c new file mode 100644 index 00000000..b3f2e88e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecbf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecbf0 Unwind@1400ecbf0 + * Pseudocode, not original source. */ + +void Unwind_1400ecbf0(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecc00.c b/decomp/Agent_Release_x64/full/functions/0x1400ecc00.c new file mode 100644 index 00000000..03a41312 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecc00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecc00 Unwind@1400ecc00 + * Pseudocode, not original source. */ + +void Unwind_1400ecc00(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x48) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecc10.c b/decomp/Agent_Release_x64/full/functions/0x1400ecc10.c new file mode 100644 index 00000000..463f41c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecc10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecc10 Unwind@1400ecc10 + * Pseudocode, not original source. */ + +void Unwind_1400ecc10(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0xdd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecc30.c b/decomp/Agent_Release_x64/full/functions/0x1400ecc30.c new file mode 100644 index 00000000..b116d7ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecc30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecc30 Unwind@1400ecc30 + * Pseudocode, not original source. */ + +void Unwind_1400ecc30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xeb0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecc40.c b/decomp/Agent_Release_x64/full/functions/0x1400ecc40.c new file mode 100644 index 00000000..d26e6bf3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecc40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecc40 Unwind@1400ecc40 + * Pseudocode, not original source. */ + +void Unwind_1400ecc40(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecc50.c b/decomp/Agent_Release_x64/full/functions/0x1400ecc50.c new file mode 100644 index 00000000..73ff47ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecc50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecc50 Unwind@1400ecc50 + * Pseudocode, not original source. */ + +void Unwind_1400ecc50(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecc60.c b/decomp/Agent_Release_x64/full/functions/0x1400ecc60.c new file mode 100644 index 00000000..cad80b45 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecc60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecc60 Unwind@1400ecc60 + * Pseudocode, not original source. */ + +void Unwind_1400ecc60(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecc70.c b/decomp/Agent_Release_x64/full/functions/0x1400ecc70.c new file mode 100644 index 00000000..7862f359 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecc70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecc70 Unwind@1400ecc70 + * Pseudocode, not original source. */ + +void Unwind_1400ecc70(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x1b30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecc90.c b/decomp/Agent_Release_x64/full/functions/0x1400ecc90.c new file mode 100644 index 00000000..aad258cf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecc90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecc90 Unwind@1400ecc90 + * Pseudocode, not original source. */ + +void Unwind_1400ecc90(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0xe00); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecca0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecca0.c new file mode 100644 index 00000000..a12f5ae0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecca0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecca0 Unwind@1400ecca0 + * Pseudocode, not original source. */ + +void Unwind_1400ecca0(undefined8 param_1,longlong param_2) + +{ + FUN_140065ea0(param_2 + 0xe00); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eccb0.c b/decomp/Agent_Release_x64/full/functions/0x1400eccb0.c new file mode 100644 index 00000000..0e0ef6cf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eccb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eccb0 Unwind@1400eccb0 + * Pseudocode, not original source. */ + +void Unwind_1400eccb0(undefined8 param_1,longlong param_2) + +{ + FUN_140080140((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eccc0.c b/decomp/Agent_Release_x64/full/functions/0x1400eccc0.c new file mode 100644 index 00000000..3ccff3f0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eccc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eccc0 Unwind@1400eccc0 + * Pseudocode, not original source. */ + +void Unwind_1400eccc0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0x1b40,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eccd0.c b/decomp/Agent_Release_x64/full/functions/0x1400eccd0.c new file mode 100644 index 00000000..2635e428 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eccd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eccd0 Unwind@1400eccd0 + * Pseudocode, not original source. */ + +void Unwind_1400eccd0(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x1b30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eccf0.c b/decomp/Agent_Release_x64/full/functions/0x1400eccf0.c new file mode 100644 index 00000000..b259c9c4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eccf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eccf0 Unwind@1400eccf0 + * Pseudocode, not original source. */ + +void Unwind_1400eccf0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(param_2 + 0xeb0,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecd00.c b/decomp/Agent_Release_x64/full/functions/0x1400ecd00.c new file mode 100644 index 00000000..da9d1e4a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecd00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecd00 Unwind@1400ecd00 + * Pseudocode, not original source. */ + +void Unwind_1400ecd00(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x1b30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecd20.c b/decomp/Agent_Release_x64/full/functions/0x1400ecd20.c new file mode 100644 index 00000000..014ec9a5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecd20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecd20 Unwind@1400ecd20 + * Pseudocode, not original source. */ + +void Unwind_1400ecd20(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(*(longlong *)(param_2 + 0x30) + 0xc80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecd40.c b/decomp/Agent_Release_x64/full/functions/0x1400ecd40.c new file mode 100644 index 00000000..e0ace2d3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecd40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecd40 Unwind@1400ecd40 + * Pseudocode, not original source. */ + +void Unwind_1400ecd40(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140040950(*(longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecd50.c b/decomp/Agent_Release_x64/full/functions/0x1400ecd50.c new file mode 100644 index 00000000..fbf65ae1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecd50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecd50 Unwind@1400ecd50 + * Pseudocode, not original source. */ + +void Unwind_1400ecd50(undefined8 param_1,longlong param_2) + +{ + FUN_14003ffe0((longlong *)(param_2 + 0x27c0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecd70.c b/decomp/Agent_Release_x64/full/functions/0x1400ecd70.c new file mode 100644 index 00000000..163cc1f5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecd70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecd70 Unwind@1400ecd70 + * Pseudocode, not original source. */ + +void Unwind_1400ecd70(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecd80.c b/decomp/Agent_Release_x64/full/functions/0x1400ecd80.c new file mode 100644 index 00000000..58103ec5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecd80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecd80 Unwind@1400ecd80 + * Pseudocode, not original source. */ + +void Unwind_1400ecd80(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecd90.c b/decomp/Agent_Release_x64/full/functions/0x1400ecd90.c new file mode 100644 index 00000000..23cbc87b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecd90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecd90 Unwind@1400ecd90 + * Pseudocode, not original source. */ + +void Unwind_1400ecd90(undefined8 param_1,longlong param_2) + +{ + FUN_14004dfb0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecda0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecda0.c new file mode 100644 index 00000000..6770d973 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecda0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecda0 Unwind@1400ecda0 + * Pseudocode, not original source. */ + +void Unwind_1400ecda0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecdb0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecdb0.c new file mode 100644 index 00000000..951a6f34 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecdb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecdb0 Unwind@1400ecdb0 + * Pseudocode, not original source. */ + +void Unwind_1400ecdb0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x110) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecdc0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecdc0.c new file mode 100644 index 00000000..afa19477 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecdc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecdc0 Unwind@1400ecdc0 + * Pseudocode, not original source. */ + +void Unwind_1400ecdc0(undefined8 param_1,longlong param_2) + +{ + FUN_14004db90((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecdd0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecdd0.c new file mode 100644 index 00000000..60852cff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecdd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecdd0 Unwind@1400ecdd0 + * Pseudocode, not original source. */ + +void Unwind_1400ecdd0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecde0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecde0.c new file mode 100644 index 00000000..ec048f49 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecde0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecde0 Unwind@1400ecde0 + * Pseudocode, not original source. */ + +void Unwind_1400ecde0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x110) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecdf0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecdf0.c new file mode 100644 index 00000000..cf8f5bc1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecdf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecdf0 Unwind@1400ecdf0 + * Pseudocode, not original source. */ + +void Unwind_1400ecdf0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ece00.c b/decomp/Agent_Release_x64/full/functions/0x1400ece00.c new file mode 100644 index 00000000..b392f253 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ece00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ece00 Unwind@1400ece00 + * Pseudocode, not original source. */ + +void Unwind_1400ece00(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x110) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ece10.c b/decomp/Agent_Release_x64/full/functions/0x1400ece10.c new file mode 100644 index 00000000..9ec3cad9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ece10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ece10 Unwind@1400ece10 + * Pseudocode, not original source. */ + +void Unwind_1400ece10(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ece20.c b/decomp/Agent_Release_x64/full/functions/0x1400ece20.c new file mode 100644 index 00000000..3f638a9d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ece20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ece20 Unwind@1400ece20 + * Pseudocode, not original source. */ + +void Unwind_1400ece20(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x110) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ece30.c b/decomp/Agent_Release_x64/full/functions/0x1400ece30.c new file mode 100644 index 00000000..e6671b04 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ece30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ece30 Unwind@1400ece30 + * Pseudocode, not original source. */ + +void Unwind_1400ece30(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ece40.c b/decomp/Agent_Release_x64/full/functions/0x1400ece40.c new file mode 100644 index 00000000..5fb838fc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ece40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ece40 Unwind@1400ece40 + * Pseudocode, not original source. */ + +void Unwind_1400ece40(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x110) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ece50.c b/decomp/Agent_Release_x64/full/functions/0x1400ece50.c new file mode 100644 index 00000000..57ddde59 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ece50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ece50 Unwind@1400ece50 + * Pseudocode, not original source. */ + +void Unwind_1400ece50(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ece60.c b/decomp/Agent_Release_x64/full/functions/0x1400ece60.c new file mode 100644 index 00000000..d4db5513 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ece60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ece60 Unwind@1400ece60 + * Pseudocode, not original source. */ + +void Unwind_1400ece60(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x110) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ece70.c b/decomp/Agent_Release_x64/full/functions/0x1400ece70.c new file mode 100644 index 00000000..955782d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ece70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ece70 Unwind@1400ece70 + * Pseudocode, not original source. */ + +void Unwind_1400ece70(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ece80.c b/decomp/Agent_Release_x64/full/functions/0x1400ece80.c new file mode 100644 index 00000000..08f19dfc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ece80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ece80 Unwind@1400ece80 + * Pseudocode, not original source. */ + +void Unwind_1400ece80(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x110) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ece90.c b/decomp/Agent_Release_x64/full/functions/0x1400ece90.c new file mode 100644 index 00000000..12449c3b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ece90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ece90 Unwind@1400ece90 + * Pseudocode, not original source. */ + +void Unwind_1400ece90(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecea0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecea0.c new file mode 100644 index 00000000..10f059a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecea0 Unwind@1400ecea0 + * Pseudocode, not original source. */ + +void Unwind_1400ecea0(undefined8 param_1,longlong param_2) + +{ + FUN_1400b4e60(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eceb0.c b/decomp/Agent_Release_x64/full/functions/0x1400eceb0.c new file mode 100644 index 00000000..46cb6ff4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eceb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eceb0 Unwind@1400eceb0 + * Pseudocode, not original source. */ + +void Unwind_1400eceb0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecec0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecec0.c new file mode 100644 index 00000000..8fdfdbe1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecec0 Unwind@1400ecec0 + * Pseudocode, not original source. */ + +void Unwind_1400ecec0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xc0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eced0.c b/decomp/Agent_Release_x64/full/functions/0x1400eced0.c new file mode 100644 index 00000000..f7a1626c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eced0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eced0 Unwind@1400eced0 + * Pseudocode, not original source. */ + +void Unwind_1400eced0(undefined8 param_1,longlong param_2) + +{ + FUN_1400bbbd0(*(longlong *)(param_2 + 0x50) + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecee0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecee0.c new file mode 100644 index 00000000..4939b24f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecee0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecee0 Unwind@1400ecee0 + * Pseudocode, not original source. */ + +void Unwind_1400ecee0(undefined8 param_1,longlong param_2) + +{ + FUN_1400b67e0(*(longlong **)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecef0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecef0.c new file mode 100644 index 00000000..4e6528e9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecef0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecef0 Unwind@1400ecef0 + * Pseudocode, not original source. */ + +void Unwind_1400ecef0(undefined8 param_1,longlong param_2) + +{ + FUN_1400b67e0((longlong *)(*(longlong *)(param_2 + 0x50) + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecf00.c b/decomp/Agent_Release_x64/full/functions/0x1400ecf00.c new file mode 100644 index 00000000..b04a711f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecf00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecf00 Unwind@1400ecf00 + * Pseudocode, not original source. */ + +void Unwind_1400ecf00(undefined8 param_1,longlong param_2) + +{ + FUN_1400b67e0(*(longlong **)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecf10.c b/decomp/Agent_Release_x64/full/functions/0x1400ecf10.c new file mode 100644 index 00000000..992661e8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecf10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecf10 Unwind@1400ecf10 + * Pseudocode, not original source. */ + +void Unwind_1400ecf10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0(*(undefined4 **)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecf20.c b/decomp/Agent_Release_x64/full/functions/0x1400ecf20.c new file mode 100644 index 00000000..1dd7ef9b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecf20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecf20 Unwind@1400ecf20 + * Pseudocode, not original source. */ + +void Unwind_1400ecf20(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400bc060((longlong *)(*(longlong *)(param_2 + 0x50) + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecf30.c b/decomp/Agent_Release_x64/full/functions/0x1400ecf30.c new file mode 100644 index 00000000..06c189f9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecf30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecf30 Unwind@1400ecf30 + * Pseudocode, not original source. */ + +void Unwind_1400ecf30(undefined8 param_1,longlong param_2) + +{ + FUN_1400500f0((undefined8 *)(*(longlong *)(param_2 + 0x50) + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecf40.c b/decomp/Agent_Release_x64/full/functions/0x1400ecf40.c new file mode 100644 index 00000000..97aa9702 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecf40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecf40 Unwind@1400ecf40 + * Pseudocode, not original source. */ + +void Unwind_1400ecf40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecf50.c b/decomp/Agent_Release_x64/full/functions/0x1400ecf50.c new file mode 100644 index 00000000..820d6c7a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecf50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecf50 Unwind@1400ecf50 + * Pseudocode, not original source. */ + +void Unwind_1400ecf50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0(*(undefined4 **)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecf60.c b/decomp/Agent_Release_x64/full/functions/0x1400ecf60.c new file mode 100644 index 00000000..2c691a90 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecf60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecf60 Unwind@1400ecf60 + * Pseudocode, not original source. */ + +void Unwind_1400ecf60(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400bc060((longlong *)(*(longlong *)(param_2 + 0x70) + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecf70.c b/decomp/Agent_Release_x64/full/functions/0x1400ecf70.c new file mode 100644 index 00000000..bb6abafa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecf70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecf70 Unwind@1400ecf70 + * Pseudocode, not original source. */ + +void Unwind_1400ecf70(undefined8 param_1,longlong param_2) + +{ + FUN_1400500f0((undefined8 *)(*(longlong *)(param_2 + 0x70) + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecf80.c b/decomp/Agent_Release_x64/full/functions/0x1400ecf80.c new file mode 100644 index 00000000..ddc8870f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecf80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecf80 Unwind@1400ecf80 + * Pseudocode, not original source. */ + +void Unwind_1400ecf80(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecf90.c b/decomp/Agent_Release_x64/full/functions/0x1400ecf90.c new file mode 100644 index 00000000..482a0c66 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecf90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecf90 Unwind@1400ecf90 + * Pseudocode, not original source. */ + +void Unwind_1400ecf90(undefined8 param_1,longlong param_2) + +{ + FUN_140044360((longlong *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecfa0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecfa0.c new file mode 100644 index 00000000..1b58999c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecfa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecfa0 FUN_1400ecfa0 + * Pseudocode, not original source. */ + +void FUN_1400ecfa0(undefined8 *param_1,longlong param_2) + +{ + FUN_1400bc860((ulonglong)*(uint *)*param_1,param_1,*(undefined8 *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecfd0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecfd0.c new file mode 100644 index 00000000..2f33b7ab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecfd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecfd0 Unwind@1400ecfd0 + * Pseudocode, not original source. */ + +void Unwind_1400ecfd0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140043b40((char *)(*(longlong *)(param_2 + 0x40) + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecfe0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecfe0.c new file mode 100644 index 00000000..d2cc4039 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecfe0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecfe0 Unwind@1400ecfe0 + * Pseudocode, not original source. */ + +void Unwind_1400ecfe0(undefined8 param_1,longlong param_2) + +{ + FUN_140030db0(*(undefined8 **)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ecff0.c b/decomp/Agent_Release_x64/full/functions/0x1400ecff0.c new file mode 100644 index 00000000..814e290a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ecff0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ecff0 Unwind@1400ecff0 + * Pseudocode, not original source. */ + +void Unwind_1400ecff0(undefined8 param_1,longlong param_2) + +{ + FUN_14003c710((undefined8 *)(*(longlong *)(param_2 + 0x80) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed000.c b/decomp/Agent_Release_x64/full/functions/0x1400ed000.c new file mode 100644 index 00000000..4b2a49b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed000.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed000 Unwind@1400ed000 + * Pseudocode, not original source. */ + +void Unwind_1400ed000(undefined8 param_1,longlong param_2) + +{ + FUN_14003c6d0((undefined8 *)(*(longlong *)(param_2 + 0x80) + 0x10)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed010.c b/decomp/Agent_Release_x64/full/functions/0x1400ed010.c new file mode 100644 index 00000000..ab3c8ab4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed010.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed010 Unwind@1400ed010 + * Pseudocode, not original source. */ + +void Unwind_1400ed010(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(*(longlong *)(param_2 + 0x80) + 0x18),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed020.c b/decomp/Agent_Release_x64/full/functions/0x1400ed020.c new file mode 100644 index 00000000..8a7cc9fe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed020.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed020 Unwind@1400ed020 + * Pseudocode, not original source. */ + +void Unwind_1400ed020(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(*(longlong *)(param_2 + 0x80) + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed030.c b/decomp/Agent_Release_x64/full/functions/0x1400ed030.c new file mode 100644 index 00000000..0ec794bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed030.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed030 Unwind@1400ed030 + * Pseudocode, not original source. */ + +void Unwind_1400ed030(undefined8 param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_14003e1c0((undefined8 *)(param_2[0x10] + 0x308),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed050.c b/decomp/Agent_Release_x64/full/functions/0x1400ed050.c new file mode 100644 index 00000000..90e0c4b9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed050.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed050 Unwind@1400ed050 + * Pseudocode, not original source. */ + +void Unwind_1400ed050(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x80) + 0x310),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed070.c b/decomp/Agent_Release_x64/full/functions/0x1400ed070.c new file mode 100644 index 00000000..f305ba96 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed070.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed070 Unwind@1400ed070 + * Pseudocode, not original source. */ + +void Unwind_1400ed070(undefined8 param_1,longlong param_2) + +{ + FUN_140044360((longlong *)(*(longlong *)(param_2 + 0x80) + 0x348)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed090.c b/decomp/Agent_Release_x64/full/functions/0x1400ed090.c new file mode 100644 index 00000000..cc80bcae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed090.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed090 Unwind@1400ed090 + * Pseudocode, not original source. */ + +void Unwind_1400ed090(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed0a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed0a0.c new file mode 100644 index 00000000..8964217b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed0a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed0a0 Unwind@1400ed0a0 + * Pseudocode, not original source. */ + +void Unwind_1400ed0a0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed0c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed0c0.c new file mode 100644 index 00000000..117dc77a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed0c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed0c0 Unwind@1400ed0c0 + * Pseudocode, not original source. */ + +void Unwind_1400ed0c0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed0d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed0d0.c new file mode 100644 index 00000000..7a0ead77 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed0d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed0d0 Unwind@1400ed0d0 + * Pseudocode, not original source. */ + +void Unwind_1400ed0d0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_1400302f0(*(LPVOID *)(param_2 + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed0f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed0f0.c new file mode 100644 index 00000000..067797ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed0f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed0f0 Unwind@1400ed0f0 + * Pseudocode, not original source. */ + +void Unwind_1400ed0f0(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x90),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed100.c b/decomp/Agent_Release_x64/full/functions/0x1400ed100.c new file mode 100644 index 00000000..fc7e92eb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed100.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed100 Unwind@1400ed100 + * Pseudocode, not original source. */ + +void Unwind_1400ed100(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed110.c b/decomp/Agent_Release_x64/full/functions/0x1400ed110.c new file mode 100644 index 00000000..0df28747 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed110.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed110 Unwind@1400ed110 + * Pseudocode, not original source. */ + +void Unwind_1400ed110(undefined8 param_1,longlong param_2) + +{ + FUN_140044360((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed120.c b/decomp/Agent_Release_x64/full/functions/0x1400ed120.c new file mode 100644 index 00000000..c840fb929 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed120.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed120 Unwind@1400ed120 + * Pseudocode, not original source. */ + +void Unwind_1400ed120(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed130.c b/decomp/Agent_Release_x64/full/functions/0x1400ed130.c new file mode 100644 index 00000000..478d8917 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed130.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed130 Unwind@1400ed130 + * Pseudocode, not original source. */ + +void Unwind_1400ed130(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed140.c b/decomp/Agent_Release_x64/full/functions/0x1400ed140.c new file mode 100644 index 00000000..79f4b879 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed140.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed140 Unwind@1400ed140 + * Pseudocode, not original source. */ + +void Unwind_1400ed140(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed150.c b/decomp/Agent_Release_x64/full/functions/0x1400ed150.c new file mode 100644 index 00000000..1f6411ce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed150.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed150 Unwind@1400ed150 + * Pseudocode, not original source. */ + +void Unwind_1400ed150(undefined8 param_1,longlong param_2) + +{ + FUN_140030db0(*(undefined8 **)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed160.c b/decomp/Agent_Release_x64/full/functions/0x1400ed160.c new file mode 100644 index 00000000..4099d8b0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed160 Unwind@1400ed160 + * Pseudocode, not original source. */ + +void Unwind_1400ed160(undefined8 param_1,longlong param_2) + +{ + FUN_14003c710((undefined8 *)(*(longlong *)(param_2 + 0x60) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed170.c b/decomp/Agent_Release_x64/full/functions/0x1400ed170.c new file mode 100644 index 00000000..9a325b85 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed170.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed170 Unwind@1400ed170 + * Pseudocode, not original source. */ + +void Unwind_1400ed170(undefined8 param_1,longlong param_2) + +{ + FUN_14003c6d0((undefined8 *)(*(longlong *)(param_2 + 0x60) + 0x10)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed180.c b/decomp/Agent_Release_x64/full/functions/0x1400ed180.c new file mode 100644 index 00000000..d55d9f90 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed180.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed180 Unwind@1400ed180 + * Pseudocode, not original source. */ + +void Unwind_1400ed180(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(*(longlong *)(param_2 + 0x60) + 0x18),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed190.c b/decomp/Agent_Release_x64/full/functions/0x1400ed190.c new file mode 100644 index 00000000..22aebef4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed190.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed190 Unwind@1400ed190 + * Pseudocode, not original source. */ + +void Unwind_1400ed190(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(*(longlong *)(param_2 + 0x60) + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed1a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed1a0.c new file mode 100644 index 00000000..4a8c123e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed1a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed1a0 Unwind@1400ed1a0 + * Pseudocode, not original source. */ + +void Unwind_1400ed1a0(undefined8 param_1,longlong *param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_14003e1c0((undefined8 *)(param_2[0xc] + 0x308),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed1c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed1c0.c new file mode 100644 index 00000000..c6901b11 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed1c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed1c0 Unwind@1400ed1c0 + * Pseudocode, not original source. */ + +void Unwind_1400ed1c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x60) + 0x310),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed1e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed1e0.c new file mode 100644 index 00000000..17bfffb4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed1e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed1e0 Unwind@1400ed1e0 + * Pseudocode, not original source. */ + +void Unwind_1400ed1e0(undefined8 param_1,longlong param_2) + +{ + FUN_140044360((longlong *)(*(longlong *)(param_2 + 0x60) + 0x348)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed200.c b/decomp/Agent_Release_x64/full/functions/0x1400ed200.c new file mode 100644 index 00000000..9478d399 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed200.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed200 Unwind@1400ed200 + * Pseudocode, not original source. */ + +void Unwind_1400ed200(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x68),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed210.c b/decomp/Agent_Release_x64/full/functions/0x1400ed210.c new file mode 100644 index 00000000..fe0202d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed210.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed210 Unwind@1400ed210 + * Pseudocode, not original source. */ + +void Unwind_1400ed210(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_140031ed0((longlong *)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed220.c b/decomp/Agent_Release_x64/full/functions/0x1400ed220.c new file mode 100644 index 00000000..11525b15 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed220.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed220 Unwind@1400ed220 + * Pseudocode, not original source. */ + +void Unwind_1400ed220(undefined8 param_1,longlong param_2) + +{ + FUN_14003e1f0((undefined8 *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed230.c b/decomp/Agent_Release_x64/full/functions/0x1400ed230.c new file mode 100644 index 00000000..4d13c965 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed230.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed230 Unwind@1400ed230 + * Pseudocode, not original source. */ + +void Unwind_1400ed230(undefined8 param_1,longlong param_2) + +{ + FUN_14003e1f0((undefined8 *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed240.c b/decomp/Agent_Release_x64/full/functions/0x1400ed240.c new file mode 100644 index 00000000..ebdf11b9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed240.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed240 Unwind@1400ed240 + * Pseudocode, not original source. */ + +void Unwind_1400ed240(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed250.c b/decomp/Agent_Release_x64/full/functions/0x1400ed250.c new file mode 100644 index 00000000..8b652aac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed250.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed250 Unwind@1400ed250 + * Pseudocode, not original source. */ + +void Unwind_1400ed250(undefined8 param_1,longlong param_2) + +{ + FUN_14004dfb0(param_2 + 0x38); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed260.c b/decomp/Agent_Release_x64/full/functions/0x1400ed260.c new file mode 100644 index 00000000..f5bbf852 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed260.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed260 Unwind@1400ed260 + * Pseudocode, not original source. */ + +void Unwind_1400ed260(undefined8 param_1,longlong param_2) + +{ + FUN_14004db90((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed270.c b/decomp/Agent_Release_x64/full/functions/0x1400ed270.c new file mode 100644 index 00000000..b9cc01f7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed270.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed270 Unwind@1400ed270 + * Pseudocode, not original source. */ + +void Unwind_1400ed270(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed280.c b/decomp/Agent_Release_x64/full/functions/0x1400ed280.c new file mode 100644 index 00000000..de58df53 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed280.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed280 Unwind@1400ed280 + * Pseudocode, not original source. */ + +void Unwind_1400ed280(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xa0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed290.c b/decomp/Agent_Release_x64/full/functions/0x1400ed290.c new file mode 100644 index 00000000..6a72118b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed290.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed290 Unwind@1400ed290 + * Pseudocode, not original source. */ + +void Unwind_1400ed290(undefined8 param_1,longlong param_2) + +{ + FUN_14003e1f0((undefined8 *)(*(longlong *)(param_2 + 0x90) + 0x18)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed2a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed2a0.c new file mode 100644 index 00000000..ed00477b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed2a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed2a0 Unwind@1400ed2a0 + * Pseudocode, not original source. */ + +void Unwind_1400ed2a0(undefined8 param_1,longlong param_2) + +{ + FUN_1400b67e0(*(longlong **)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed2b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed2b0.c new file mode 100644 index 00000000..ef9cc555 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed2b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed2b0 Unwind@1400ed2b0 + * Pseudocode, not original source. */ + +void Unwind_1400ed2b0(undefined8 param_1,longlong param_2) + +{ + FUN_1400b67e0((longlong *)(*(longlong *)(param_2 + 0x90) + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed2c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed2c0.c new file mode 100644 index 00000000..a45f368a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed2c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed2c0 Unwind@1400ed2c0 + * Pseudocode, not original source. */ + +void Unwind_1400ed2c0(undefined8 param_1,longlong param_2) + +{ + FUN_1400bbbd0(*(longlong *)(param_2 + 0x90) + 0x60); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed2d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed2d0.c new file mode 100644 index 00000000..dadaff19 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed2d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed2d0 Unwind@1400ed2d0 + * Pseudocode, not original source. */ + +void Unwind_1400ed2d0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed2e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed2e0.c new file mode 100644 index 00000000..e4e7c194 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed2e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed2e0 Unwind@1400ed2e0 + * Pseudocode, not original source. */ + +void Unwind_1400ed2e0(undefined8 param_1,longlong param_2) + +{ + FUN_14004dfb0(param_2 + 0x28); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed2f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed2f0.c new file mode 100644 index 00000000..cfcb45d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed2f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed2f0 Unwind@1400ed2f0 + * Pseudocode, not original source. */ + +void Unwind_1400ed2f0(undefined8 param_1,longlong param_2) + +{ + FUN_1400b4e60(param_2 + 0x28); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed300.c b/decomp/Agent_Release_x64/full/functions/0x1400ed300.c new file mode 100644 index 00000000..67845abe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed300.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed300 Unwind@1400ed300 + * Pseudocode, not original source. */ + +void Unwind_1400ed300(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed310.c b/decomp/Agent_Release_x64/full/functions/0x1400ed310.c new file mode 100644 index 00000000..f94d2bca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed310.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed310 Unwind@1400ed310 + * Pseudocode, not original source. */ + +void Unwind_1400ed310(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x70) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed320.c b/decomp/Agent_Release_x64/full/functions/0x1400ed320.c new file mode 100644 index 00000000..3cef7dc8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed320.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed320 Unwind@1400ed320 + * Pseudocode, not original source. */ + +void Unwind_1400ed320(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed330.c b/decomp/Agent_Release_x64/full/functions/0x1400ed330.c new file mode 100644 index 00000000..967136db --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed330.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed330 Unwind@1400ed330 + * Pseudocode, not original source. */ + +void Unwind_1400ed330(undefined8 param_1,longlong param_2) + +{ + FUN_14004dfb0(param_2 + 0x28); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed340.c b/decomp/Agent_Release_x64/full/functions/0x1400ed340.c new file mode 100644 index 00000000..604c443a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed340.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed340 Unwind@1400ed340 + * Pseudocode, not original source. */ + +void Unwind_1400ed340(undefined8 param_1,longlong param_2) + +{ + FUN_1400b4e60(param_2 + 0x28); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed350.c b/decomp/Agent_Release_x64/full/functions/0x1400ed350.c new file mode 100644 index 00000000..803c9d71 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed350.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed350 Unwind@1400ed350 + * Pseudocode, not original source. */ + +void Unwind_1400ed350(undefined8 param_1,longlong param_2) + +{ + FUN_14001c180((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed360.c b/decomp/Agent_Release_x64/full/functions/0x1400ed360.c new file mode 100644 index 00000000..9cc374e7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed360.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed360 Unwind@1400ed360 + * Pseudocode, not original source. */ + +void Unwind_1400ed360(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x70) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed370.c b/decomp/Agent_Release_x64/full/functions/0x1400ed370.c new file mode 100644 index 00000000..c3b5b861 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed370.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed370 FUN_1400ed370 + * Pseudocode, not original source. */ + +void FUN_1400ed370(undefined8 param_1,longlong param_2) + +{ + if (*(int *)(param_2 + 0x20) == 0) { + __ArrayUnwind(*(void **)(param_2 + 0x50),*(__uint64 *)(param_2 + 0x58),*(int *)(param_2 + 0x24), + *(_func_void_void_ptr **)(param_2 + 0x70)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed39c.c b/decomp/Agent_Release_x64/full/functions/0x1400ed39c.c new file mode 100644 index 00000000..af725150 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed39c.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed39c Catch_All@1400ed39c + * Pseudocode, not original source. */ + +undefined * Catch_All_1400ed39c(undefined8 param_1,longlong param_2) + +{ + *(undefined8 *)(param_2 + 0x50) = 0; + return &DAT_1400dc025; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed3c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed3c0.c new file mode 100644 index 00000000..bb0fbb85 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed3c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed3c0 Unwind@1400ed3c0 + * Pseudocode, not original source. */ + +void Unwind_1400ed3c0(undefined8 param_1,longlong param_2) + +{ + FUN_14002e450(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed3d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed3d0.c new file mode 100644 index 00000000..fc1318b9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed3d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed3d0 Unwind@1400ed3d0 + * Pseudocode, not original source. */ + +void Unwind_1400ed3d0(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10((undefined8 *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed3e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed3e0.c new file mode 100644 index 00000000..1ea5ac82 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed3e0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed3e0 Unwind@1400ed3e0 + * Pseudocode, not original source. */ + +void Unwind_1400ed3e0(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400ed3f2. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::basic_ostream_>::~basic_ostream_> + ((basic_ostream_> *)(*(longlong *)(param_2 + 0x40) + -0x80)) + ; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed3f9.c b/decomp/Agent_Release_x64/full/functions/0x1400ed3f9.c new file mode 100644 index 00000000..b0c95b67 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed3f9.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed3f9 Unwind@1400ed3f9 + * Pseudocode, not original source. */ + +void Unwind_1400ed3f9(undefined8 param_1,longlong param_2) + +{ + FUN_140016310(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed419.c b/decomp/Agent_Release_x64/full/functions/0x1400ed419.c new file mode 100644 index 00000000..42daef27 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed419.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed419 Unwind@1400ed419 + * Pseudocode, not original source. */ + +void Unwind_1400ed419(undefined8 param_1,longlong param_2) + +{ + FUN_140016310(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed439.c b/decomp/Agent_Release_x64/full/functions/0x1400ed439.c new file mode 100644 index 00000000..00499714 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed439.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed439 Unwind@1400ed439 + * Pseudocode, not original source. */ + +void Unwind_1400ed439(undefined8 param_1,longlong param_2) + +{ + FUN_140016160(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed449.c b/decomp/Agent_Release_x64/full/functions/0x1400ed449.c new file mode 100644 index 00000000..c7c04b71 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed449.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed449 Unwind@1400ed449 + * Pseudocode, not original source. */ + +void Unwind_1400ed449(undefined8 param_1,longlong param_2) + +{ + FUN_1400161e0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed459.c b/decomp/Agent_Release_x64/full/functions/0x1400ed459.c new file mode 100644 index 00000000..77bc8b2a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed459.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed459 Unwind@1400ed459 + * Pseudocode, not original source. */ + +void Unwind_1400ed459(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed469.c b/decomp/Agent_Release_x64/full/functions/0x1400ed469.c new file mode 100644 index 00000000..08ffaa98 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed469.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed469 Unwind@1400ed469 + * Pseudocode, not original source. */ + +void Unwind_1400ed469(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed489.c b/decomp/Agent_Release_x64/full/functions/0x1400ed489.c new file mode 100644 index 00000000..92cfa0c8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed489.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed489 Unwind@1400ed489 + * Pseudocode, not original source. */ + +void Unwind_1400ed489(undefined8 param_1,longlong param_2) + +{ + FUN_140016160(*(undefined8 **)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed499.c b/decomp/Agent_Release_x64/full/functions/0x1400ed499.c new file mode 100644 index 00000000..d39b78a7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed499.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed499 Unwind@1400ed499 + * Pseudocode, not original source. */ + +void Unwind_1400ed499(undefined8 param_1,longlong param_2) + +{ + FUN_1400161e0((undefined8 *)(*(longlong *)(param_2 + 0x50) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed4a9.c b/decomp/Agent_Release_x64/full/functions/0x1400ed4a9.c new file mode 100644 index 00000000..abec376c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed4a9.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed4a9 Unwind@1400ed4a9 + * Pseudocode, not original source. */ + +void Unwind_1400ed4a9(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10((undefined8 *)(*(longlong *)(param_2 + 0x50) + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed4b9.c b/decomp/Agent_Release_x64/full/functions/0x1400ed4b9.c new file mode 100644 index 00000000..48e48cd0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed4b9.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed4b9 Unwind@1400ed4b9 + * Pseudocode, not original source. */ + +void Unwind_1400ed4b9(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10((undefined8 *)(*(longlong *)(param_2 + 0x50) + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed4d9.c b/decomp/Agent_Release_x64/full/functions/0x1400ed4d9.c new file mode 100644 index 00000000..cc7a4e8c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed4d9.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed4d9 Unwind@1400ed4d9 + * Pseudocode, not original source. */ + +void Unwind_1400ed4d9(undefined8 param_1,longlong param_2) + +{ + FUN_14000eb40(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed4f9.c b/decomp/Agent_Release_x64/full/functions/0x1400ed4f9.c new file mode 100644 index 00000000..810efcb3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed4f9.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed4f9 Unwind@1400ed4f9 + * Pseudocode, not original source. */ + +void Unwind_1400ed4f9(void) + +{ + FUN_14000eb60(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed519.c b/decomp/Agent_Release_x64/full/functions/0x1400ed519.c new file mode 100644 index 00000000..97a62144 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed519.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed519 Unwind@1400ed519 + * Pseudocode, not original source. */ + +void Unwind_1400ed519(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed529.c b/decomp/Agent_Release_x64/full/functions/0x1400ed529.c new file mode 100644 index 00000000..a6e534b9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed529.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed529 Unwind@1400ed529 + * Pseudocode, not original source. */ + +void Unwind_1400ed529(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed539.c b/decomp/Agent_Release_x64/full/functions/0x1400ed539.c new file mode 100644 index 00000000..23a02cd3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed539.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed539 Unwind@1400ed539 + * Pseudocode, not original source. */ + +void Unwind_1400ed539(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed549.c b/decomp/Agent_Release_x64/full/functions/0x1400ed549.c new file mode 100644 index 00000000..15180384 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed549.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed549 Unwind@1400ed549 + * Pseudocode, not original source. */ + +void Unwind_1400ed549(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed559.c b/decomp/Agent_Release_x64/full/functions/0x1400ed559.c new file mode 100644 index 00000000..85d6dfa5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed559.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed559 Unwind@1400ed559 + * Pseudocode, not original source. */ + +void Unwind_1400ed559(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0xa0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed579.c b/decomp/Agent_Release_x64/full/functions/0x1400ed579.c new file mode 100644 index 00000000..49c75572 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed579.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed579 Unwind@1400ed579 + * Pseudocode, not original source. */ + +void Unwind_1400ed579(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed599.c b/decomp/Agent_Release_x64/full/functions/0x1400ed599.c new file mode 100644 index 00000000..a01c690b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed599.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed599 Unwind@1400ed599 + * Pseudocode, not original source. */ + +void Unwind_1400ed599(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0xf0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed5b9.c b/decomp/Agent_Release_x64/full/functions/0x1400ed5b9.c new file mode 100644 index 00000000..93d0368e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed5b9.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed5b9 Unwind@1400ed5b9 + * Pseudocode, not original source. */ + +void Unwind_1400ed5b9(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x118)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed5d9.c b/decomp/Agent_Release_x64/full/functions/0x1400ed5d9.c new file mode 100644 index 00000000..22b6a407 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed5d9.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed5d9 Unwind@1400ed5d9 + * Pseudocode, not original source. */ + +void Unwind_1400ed5d9(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x140)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed5f9.c b/decomp/Agent_Release_x64/full/functions/0x1400ed5f9.c new file mode 100644 index 00000000..60152d49 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed5f9.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed5f9 Unwind@1400ed5f9 + * Pseudocode, not original source. */ + +void Unwind_1400ed5f9(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x168)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed619.c b/decomp/Agent_Release_x64/full/functions/0x1400ed619.c new file mode 100644 index 00000000..98684115 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed619.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed619 Unwind@1400ed619 + * Pseudocode, not original source. */ + +void Unwind_1400ed619(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 400)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed639.c b/decomp/Agent_Release_x64/full/functions/0x1400ed639.c new file mode 100644 index 00000000..220c8560 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed639.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed639 Unwind@1400ed639 + * Pseudocode, not original source. */ + +void Unwind_1400ed639(undefined8 param_1,longlong param_2) + +{ + FUN_14000eec0((undefined8 *)(param_2 + 0xa0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed659.c b/decomp/Agent_Release_x64/full/functions/0x1400ed659.c new file mode 100644 index 00000000..91a2c5ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed659.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed659 Unwind@1400ed659 + * Pseudocode, not original source. */ + +void Unwind_1400ed659(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14000ecf0((undefined8 *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed669.c b/decomp/Agent_Release_x64/full/functions/0x1400ed669.c new file mode 100644 index 00000000..4af548a8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed669.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed669 Unwind@1400ed669 + * Pseudocode, not original source. */ + +void Unwind_1400ed669(undefined8 param_1,longlong param_2) + +{ + FUN_140011160((undefined8 *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed679.c b/decomp/Agent_Release_x64/full/functions/0x1400ed679.c new file mode 100644 index 00000000..e3a4eb3e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed679.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed679 Unwind@1400ed679 + * Pseudocode, not original source. */ + +void Unwind_1400ed679(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed689.c b/decomp/Agent_Release_x64/full/functions/0x1400ed689.c new file mode 100644 index 00000000..bea148d8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed689.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed689 Unwind@1400ed689 + * Pseudocode, not original source. */ + +void Unwind_1400ed689(undefined8 param_1,longlong param_2) + +{ + FUN_140011160((undefined8 *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed699.c b/decomp/Agent_Release_x64/full/functions/0x1400ed699.c new file mode 100644 index 00000000..d50048b4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed699.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed699 Unwind@1400ed699 + * Pseudocode, not original source. */ + +void Unwind_1400ed699(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed6b9.c b/decomp/Agent_Release_x64/full/functions/0x1400ed6b9.c new file mode 100644 index 00000000..004fc588 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed6b9.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed6b9 Unwind@1400ed6b9 + * Pseudocode, not original source. */ + +void Unwind_1400ed6b9(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed6c9.c b/decomp/Agent_Release_x64/full/functions/0x1400ed6c9.c new file mode 100644 index 00000000..addd0d03 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed6c9.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed6c9 Unwind@1400ed6c9 + * Pseudocode, not original source. */ + +void Unwind_1400ed6c9(undefined8 param_1,longlong param_2) + +{ + FUN_14000eec0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed6d9.c b/decomp/Agent_Release_x64/full/functions/0x1400ed6d9.c new file mode 100644 index 00000000..93839004 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed6d9.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed6d9 Unwind@1400ed6d9 + * Pseudocode, not original source. */ + +void Unwind_1400ed6d9(undefined8 param_1,longlong param_2) + +{ + FUN_14000f230((longlong *)(*(longlong *)(param_2 + 0x40) + 0x1d8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed6f9.c b/decomp/Agent_Release_x64/full/functions/0x1400ed6f9.c new file mode 100644 index 00000000..ef240731 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed6f9.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed6f9 Unwind@1400ed6f9 + * Pseudocode, not original source. */ + +void Unwind_1400ed6f9(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x1f8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed719.c b/decomp/Agent_Release_x64/full/functions/0x1400ed719.c new file mode 100644 index 00000000..8bb05a91 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed719.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed719 Unwind@1400ed719 + * Pseudocode, not original source. */ + +void Unwind_1400ed719(void) + +{ + DAT_140163198 = DAT_140163198 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed739.c b/decomp/Agent_Release_x64/full/functions/0x1400ed739.c new file mode 100644 index 00000000..e3ee5f56 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed739.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed739 Unwind@1400ed739 + * Pseudocode, not original source. */ + +void Unwind_1400ed739(void) + +{ + DAT_14016319c = DAT_14016319c & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed759.c b/decomp/Agent_Release_x64/full/functions/0x1400ed759.c new file mode 100644 index 00000000..f6dddf88 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed759.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed759 Unwind@1400ed759 + * Pseudocode, not original source. */ + +void Unwind_1400ed759(void) + +{ + FUN_14000eb60(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed769.c b/decomp/Agent_Release_x64/full/functions/0x1400ed769.c new file mode 100644 index 00000000..998dfe0f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed769.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed769 Unwind@1400ed769 + * Pseudocode, not original source. */ + +void Unwind_1400ed769(void) + +{ + DAT_140163198 = DAT_140163198 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed789.c b/decomp/Agent_Release_x64/full/functions/0x1400ed789.c new file mode 100644 index 00000000..0bae83d7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed789.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed789 Unwind@1400ed789 + * Pseudocode, not original source. */ + +void Unwind_1400ed789(void) + +{ + DAT_140163198 = DAT_140163198 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed7a9.c b/decomp/Agent_Release_x64/full/functions/0x1400ed7a9.c new file mode 100644 index 00000000..fc0d0db1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed7a9.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed7a9 Unwind@1400ed7a9 + * Pseudocode, not original source. */ + +void Unwind_1400ed7a9(void) + +{ + FUN_14000eb60(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed7b9.c b/decomp/Agent_Release_x64/full/functions/0x1400ed7b9.c new file mode 100644 index 00000000..4d20ec70 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed7b9.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed7b9 Unwind@1400ed7b9 + * Pseudocode, not original source. */ + +void Unwind_1400ed7b9(void) + +{ + DAT_140163198 = DAT_140163198 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed7d9.c b/decomp/Agent_Release_x64/full/functions/0x1400ed7d9.c new file mode 100644 index 00000000..54797b16 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed7d9.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed7d9 Unwind@1400ed7d9 + * Pseudocode, not original source. */ + +void Unwind_1400ed7d9(void) + +{ + DAT_140163198 = DAT_140163198 & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed7f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed7f0.c new file mode 100644 index 00000000..866f616a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed7f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed7f0 Unwind@1400ed7f0 + * Pseudocode, not original source. */ + +void Unwind_1400ed7f0(undefined8 param_1,longlong param_2) + +{ + FUN_140016310(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed800.c b/decomp/Agent_Release_x64/full/functions/0x1400ed800.c new file mode 100644 index 00000000..b29257eb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed800.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed800 Unwind@1400ed800 + * Pseudocode, not original source. */ + +void Unwind_1400ed800(undefined8 param_1,longlong param_2) + +{ + FUN_140011160(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed810.c b/decomp/Agent_Release_x64/full/functions/0x1400ed810.c new file mode 100644 index 00000000..7fcd9744 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed810.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed810 Unwind@1400ed810 + * Pseudocode, not original source. */ + +void Unwind_1400ed810(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed820.c b/decomp/Agent_Release_x64/full/functions/0x1400ed820.c new file mode 100644 index 00000000..18c8b1b6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed820.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed820 Unwind@1400ed820 + * Pseudocode, not original source. */ + +void Unwind_1400ed820(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400ed832. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::basic_ostream_>:: + ~basic_ostream_> + ((basic_ostream_> *) + (*(longlong *)(param_2 + 0x40) + -0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed840.c b/decomp/Agent_Release_x64/full/functions/0x1400ed840.c new file mode 100644 index 00000000..3341b4c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed840.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed840 Unwind@1400ed840 + * Pseudocode, not original source. */ + +void Unwind_1400ed840(undefined8 param_1,longlong param_2) + +{ + FUN_140005000(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed850.c b/decomp/Agent_Release_x64/full/functions/0x1400ed850.c new file mode 100644 index 00000000..5a7a74f8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed850.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed850 Unwind@1400ed850 + * Pseudocode, not original source. */ + +void Unwind_1400ed850(undefined8 param_1,longlong param_2) + +{ + FUN_140001bb0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed860.c b/decomp/Agent_Release_x64/full/functions/0x1400ed860.c new file mode 100644 index 00000000..f1ad2248 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed860.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed860 Catch_All@1400ed860 + * Pseudocode, not original source. */ + +void Catch_All_1400ed860(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x58)); + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed890.c b/decomp/Agent_Release_x64/full/functions/0x1400ed890.c new file mode 100644 index 00000000..412aaf67 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed890.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed890 Unwind@1400ed890 + * Pseudocode, not original source. */ + +void Unwind_1400ed890(undefined8 param_1,longlong param_2) + +{ + FUN_14002e5e0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed8a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed8a0.c new file mode 100644 index 00000000..6909afaf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed8a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed8a0 Unwind@1400ed8a0 + * Pseudocode, not original source. */ + +void Unwind_1400ed8a0(undefined8 param_1,longlong param_2) + +{ + FUN_14002e4f0((longlong *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed8b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed8b0.c new file mode 100644 index 00000000..4a41830e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed8b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed8b0 Unwind@1400ed8b0 + * Pseudocode, not original source. */ + +void Unwind_1400ed8b0(undefined8 param_1,longlong param_2) + +{ + FUN_14002e4f0((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed8c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed8c0.c new file mode 100644 index 00000000..7cbb548b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed8c0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed8c0 Unwind@1400ed8c0 + * Pseudocode, not original source. */ + +void Unwind_1400ed8c0(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x48) & 1) != 0) { + *(uint *)(param_2 + 0x48) = *(uint *)(param_2 + 0x48) & 0xfffffffe; + std::basic_ios_>:: + ~basic_ios_> + ((basic_ios_> *) + (*(longlong *)(param_2 + 0x40) + 0x88)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed8f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed8f0.c new file mode 100644 index 00000000..c5ad0631 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed8f0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed8f0 Unwind@1400ed8f0 + * Pseudocode, not original source. */ + +void Unwind_1400ed8f0(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400ed8fb. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::basic_ostream_>:: + ~basic_ostream_> + ((basic_ostream_> *) + (*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed910.c b/decomp/Agent_Release_x64/full/functions/0x1400ed910.c new file mode 100644 index 00000000..ab514c13 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed910.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed910 Unwind@1400ed910 + * Pseudocode, not original source. */ + +void Unwind_1400ed910(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400ed917. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::basic_streambuf_>:: + ~basic_streambuf_> + (*(basic_streambuf_> **)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed920.c b/decomp/Agent_Release_x64/full/functions/0x1400ed920.c new file mode 100644 index 00000000..7d1e6b78 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed920.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed920 Unwind@1400ed920 + * Pseudocode, not original source. */ + +void Unwind_1400ed920(undefined8 param_1,longlong param_2) + +{ + FUN_140006bf0((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed930.c b/decomp/Agent_Release_x64/full/functions/0x1400ed930.c new file mode 100644 index 00000000..af545369 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed930.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed930 Unwind@1400ed930 + * Pseudocode, not original source. */ + +void Unwind_1400ed930(undefined8 param_1,longlong param_2) + +{ + FUN_140006bf0((undefined8 *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed940.c b/decomp/Agent_Release_x64/full/functions/0x1400ed940.c new file mode 100644 index 00000000..27e2ccb7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed940.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed940 Unwind@1400ed940 + * Pseudocode, not original source. */ + +void Unwind_1400ed940(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400118d0(*(undefined8 **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed950.c b/decomp/Agent_Release_x64/full/functions/0x1400ed950.c new file mode 100644 index 00000000..30b518e4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed950.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed950 Unwind@1400ed950 + * Pseudocode, not original source. */ + +void Unwind_1400ed950(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed960.c b/decomp/Agent_Release_x64/full/functions/0x1400ed960.c new file mode 100644 index 00000000..02bfd519 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed960.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed960 Unwind@1400ed960 + * Pseudocode, not original source. */ + +void Unwind_1400ed960(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed970.c b/decomp/Agent_Release_x64/full/functions/0x1400ed970.c new file mode 100644 index 00000000..1096a246 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed970.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed970 Unwind@1400ed970 + * Pseudocode, not original source. */ + +void Unwind_1400ed970(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed980.c b/decomp/Agent_Release_x64/full/functions/0x1400ed980.c new file mode 100644 index 00000000..d34599ef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed980.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed980 Unwind@1400ed980 + * Pseudocode, not original source. */ + +void Unwind_1400ed980(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400118d0(*(undefined8 **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed990.c b/decomp/Agent_Release_x64/full/functions/0x1400ed990.c new file mode 100644 index 00000000..fa33daca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed990.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed990 Unwind@1400ed990 + * Pseudocode, not original source. */ + +void Unwind_1400ed990(undefined8 param_1,longlong param_2) + +{ + FUN_140011310((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed9a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed9a0.c new file mode 100644 index 00000000..e6b14d11 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed9a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed9a0 Unwind@1400ed9a0 + * Pseudocode, not original source. */ + +void Unwind_1400ed9a0(undefined8 param_1,longlong param_2) + +{ + FUN_140011160(*(undefined8 **)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed9b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed9b0.c new file mode 100644 index 00000000..0a5fcf24 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed9b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed9b0 Unwind@1400ed9b0 + * Pseudocode, not original source. */ + +void Unwind_1400ed9b0(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(*(longlong *)(param_2 + 0x50) + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed9c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed9c0.c new file mode 100644 index 00000000..39ee3492 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed9c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed9c0 Unwind@1400ed9c0 + * Pseudocode, not original source. */ + +void Unwind_1400ed9c0(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(*(longlong *)(param_2 + 0x50) + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ed9d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ed9d0.c new file mode 100644 index 00000000..3b307e5f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ed9d0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ed9d0 Catch_All@1400ed9d0 + * Pseudocode, not original source. */ + +undefined * Catch_All_1400ed9d0(undefined8 param_1,longlong param_2) + +{ + longlong lVar1; + void *pvVar2; + + lVar1 = *(longlong *)(param_2 + 0x78); + *(longlong *)(param_2 + 0x78) = lVar1; + pvVar2 = FUN_14000b600(lVar1 + 1); + *(void **)(param_2 + 0x88) = pvVar2; + return &DAT_14000b72c; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eda10.c b/decomp/Agent_Release_x64/full/functions/0x1400eda10.c new file mode 100644 index 00000000..3695957c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eda10.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eda10 Catch_All@1400eda10 + * Pseudocode, not original source. */ + +void Catch_All_1400eda10(undefined8 param_1,longlong param_2) + +{ + undefined8 *puVar1; + + puVar1 = *(undefined8 **)(param_2 + 0x70); + if (0xf < (ulonglong)puVar1[3]) { + operator_delete((void *)*puVar1); + } + puVar1[3] = 0xf; + puVar1[2] = 0; + *(undefined1 *)puVar1 = 0; + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eda50.c b/decomp/Agent_Release_x64/full/functions/0x1400eda50.c new file mode 100644 index 00000000..a4d191b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eda50.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eda50 Catch_All@1400eda50 + * Pseudocode, not original source. */ + +void Catch_All_1400eda50(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x48)); + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eda80.c b/decomp/Agent_Release_x64/full/functions/0x1400eda80.c new file mode 100644 index 00000000..52894b18 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eda80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eda80 Unwind@1400eda80 + * Pseudocode, not original source. */ + +void Unwind_1400eda80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400023b0((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eda90.c b/decomp/Agent_Release_x64/full/functions/0x1400eda90.c new file mode 100644 index 00000000..684db61d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eda90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eda90 Unwind@1400eda90 + * Pseudocode, not original source. */ + +void Unwind_1400eda90(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edaa0.c b/decomp/Agent_Release_x64/full/functions/0x1400edaa0.c new file mode 100644 index 00000000..4db36be0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edaa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edaa0 Unwind@1400edaa0 + * Pseudocode, not original source. */ + +void Unwind_1400edaa0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edab0.c b/decomp/Agent_Release_x64/full/functions/0x1400edab0.c new file mode 100644 index 00000000..83a2216f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edab0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edab0 Unwind@1400edab0 + * Pseudocode, not original source. */ + +void Unwind_1400edab0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edac0.c b/decomp/Agent_Release_x64/full/functions/0x1400edac0.c new file mode 100644 index 00000000..2d81e3f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edac0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edac0 Unwind@1400edac0 + * Pseudocode, not original source. */ + +void Unwind_1400edac0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edad0.c b/decomp/Agent_Release_x64/full/functions/0x1400edad0.c new file mode 100644 index 00000000..d2d92b70 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edad0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edad0 Unwind@1400edad0 + * Pseudocode, not original source. */ + +void Unwind_1400edad0(undefined8 param_1,longlong param_2) + +{ + FUN_1400032e0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edae0.c b/decomp/Agent_Release_x64/full/functions/0x1400edae0.c new file mode 100644 index 00000000..c1907202 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edae0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edae0 Catch_All@1400edae0 + * Pseudocode, not original source. */ + +undefined * Catch_All_1400edae0(undefined8 param_1,longlong param_2) + +{ + longlong lVar1; + void *pvVar2; + + lVar1 = *(longlong *)(param_2 + 0x78); + *(longlong *)(param_2 + 0x78) = lVar1; + pvVar2 = FUN_140001a50(lVar1 + 1); + *(void **)(param_2 + 0x88) = pvVar2; + return &DAT_1400019cf; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edb20.c b/decomp/Agent_Release_x64/full/functions/0x1400edb20.c new file mode 100644 index 00000000..814d2dbd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edb20.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edb20 Catch_All@1400edb20 + * Pseudocode, not original source. */ + +void Catch_All_1400edb20(undefined8 param_1,longlong param_2) + +{ + undefined8 *puVar1; + + puVar1 = *(undefined8 **)(param_2 + 0x70); + if (7 < (ulonglong)puVar1[3]) { + operator_delete((void *)*puVar1); + } + puVar1[3] = 7; + puVar1[2] = 0; + *(undefined2 *)puVar1 = 0; + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edb70.c b/decomp/Agent_Release_x64/full/functions/0x1400edb70.c new file mode 100644 index 00000000..b4c679dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edb70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edb70 Unwind@1400edb70 + * Pseudocode, not original source. */ + +void Unwind_1400edb70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edb80.c b/decomp/Agent_Release_x64/full/functions/0x1400edb80.c new file mode 100644 index 00000000..045098d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edb80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edb80 Unwind@1400edb80 + * Pseudocode, not original source. */ + +void Unwind_1400edb80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(*(longlong *)(param_2 + 0x40) + 8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edb90.c b/decomp/Agent_Release_x64/full/functions/0x1400edb90.c new file mode 100644 index 00000000..7ca60d8c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edb90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edb90 Unwind@1400edb90 + * Pseudocode, not original source. */ + +void Unwind_1400edb90(undefined8 param_1,longlong param_2) + +{ + FUN_14002b6f0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x18)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edba0.c b/decomp/Agent_Release_x64/full/functions/0x1400edba0.c new file mode 100644 index 00000000..6495f05d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edba0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edba0 Unwind@1400edba0 + * Pseudocode, not original source. */ + +void Unwind_1400edba0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(*(longlong *)(param_2 + 0x40) + 8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edbb0.c b/decomp/Agent_Release_x64/full/functions/0x1400edbb0.c new file mode 100644 index 00000000..5f3e71a3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edbb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edbb0 Unwind@1400edbb0 + * Pseudocode, not original source. */ + +void Unwind_1400edbb0(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edbc0.c b/decomp/Agent_Release_x64/full/functions/0x1400edbc0.c new file mode 100644 index 00000000..4fbe5d67 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edbc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edbc0 Unwind@1400edbc0 + * Pseudocode, not original source. */ + +void Unwind_1400edbc0(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edbd0.c b/decomp/Agent_Release_x64/full/functions/0x1400edbd0.c new file mode 100644 index 00000000..0338c4d6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edbd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edbd0 Unwind@1400edbd0 + * Pseudocode, not original source. */ + +void Unwind_1400edbd0(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edbe0.c b/decomp/Agent_Release_x64/full/functions/0x1400edbe0.c new file mode 100644 index 00000000..fe77d406 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edbe0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edbe0 Unwind@1400edbe0 + * Pseudocode, not original source. */ + +void Unwind_1400edbe0(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edbf0.c b/decomp/Agent_Release_x64/full/functions/0x1400edbf0.c new file mode 100644 index 00000000..2abf191f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edbf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edbf0 Unwind@1400edbf0 + * Pseudocode, not original source. */ + +void Unwind_1400edbf0(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edc00.c b/decomp/Agent_Release_x64/full/functions/0x1400edc00.c new file mode 100644 index 00000000..c18d04b9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edc00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edc00 Unwind@1400edc00 + * Pseudocode, not original source. */ + +void Unwind_1400edc00(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edc10.c b/decomp/Agent_Release_x64/full/functions/0x1400edc10.c new file mode 100644 index 00000000..e41cce0d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edc10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edc10 Unwind@1400edc10 + * Pseudocode, not original source. */ + +void Unwind_1400edc10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400118d0(*(undefined8 **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edc20.c b/decomp/Agent_Release_x64/full/functions/0x1400edc20.c new file mode 100644 index 00000000..3ded81e8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edc20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edc20 Unwind@1400edc20 + * Pseudocode, not original source. */ + +void Unwind_1400edc20(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edc30.c b/decomp/Agent_Release_x64/full/functions/0x1400edc30.c new file mode 100644 index 00000000..b97a3113 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edc30.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edc30 Unwind@1400edc30 + * Pseudocode, not original source. */ + +void Unwind_1400edc30(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400edc37. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edc40.c b/decomp/Agent_Release_x64/full/functions/0x1400edc40.c new file mode 100644 index 00000000..b68d7691 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edc40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edc40 Unwind@1400edc40 + * Pseudocode, not original source. */ + +void Unwind_1400edc40(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400118d0(*(undefined8 **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edc50.c b/decomp/Agent_Release_x64/full/functions/0x1400edc50.c new file mode 100644 index 00000000..61870039 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edc50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edc50 Unwind@1400edc50 + * Pseudocode, not original source. */ + +void Unwind_1400edc50(undefined8 param_1,longlong param_2) + +{ + FUN_14000b950(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edc60.c b/decomp/Agent_Release_x64/full/functions/0x1400edc60.c new file mode 100644 index 00000000..830f190f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edc60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edc60 Unwind@1400edc60 + * Pseudocode, not original source. */ + +void Unwind_1400edc60(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10((undefined8 *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edc70.c b/decomp/Agent_Release_x64/full/functions/0x1400edc70.c new file mode 100644 index 00000000..0c3087c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edc70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edc70 Unwind@1400edc70 + * Pseudocode, not original source. */ + +void Unwind_1400edc70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140002130(*(undefined8 **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edc80.c b/decomp/Agent_Release_x64/full/functions/0x1400edc80.c new file mode 100644 index 00000000..48c521ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edc80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edc80 Unwind@1400edc80 + * Pseudocode, not original source. */ + +void Unwind_1400edc80(undefined8 param_1,longlong param_2) + +{ + FUN_140021150((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edc90.c b/decomp/Agent_Release_x64/full/functions/0x1400edc90.c new file mode 100644 index 00000000..f83a49ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edc90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edc90 Unwind@1400edc90 + * Pseudocode, not original source. */ + +void Unwind_1400edc90(undefined8 param_1,longlong param_2) + +{ + FUN_140021100((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edca0.c b/decomp/Agent_Release_x64/full/functions/0x1400edca0.c new file mode 100644 index 00000000..ac463c06 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edca0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edca0 Unwind@1400edca0 + * Pseudocode, not original source. */ + +void Unwind_1400edca0(undefined8 param_1,longlong param_2) + +{ + FUN_1400032e0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edcb0.c b/decomp/Agent_Release_x64/full/functions/0x1400edcb0.c new file mode 100644 index 00000000..0bf3ea3c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edcb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edcb0 Unwind@1400edcb0 + * Pseudocode, not original source. */ + +void Unwind_1400edcb0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002ac30((longlong *)(*(longlong *)(param_2 + 0x40) + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edcc0.c b/decomp/Agent_Release_x64/full/functions/0x1400edcc0.c new file mode 100644 index 00000000..7761fd7c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edcc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edcc0 Unwind@1400edcc0 + * Pseudocode, not original source. */ + +void Unwind_1400edcc0(undefined8 param_1,longlong param_2) + +{ + FUN_140006f70(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edcd0.c b/decomp/Agent_Release_x64/full/functions/0x1400edcd0.c new file mode 100644 index 00000000..a22ddb03 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edcd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edcd0 Unwind@1400edcd0 + * Pseudocode, not original source. */ + +void Unwind_1400edcd0(undefined8 param_1,longlong param_2) + +{ + FUN_14001ac60((undefined8 *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edce0.c b/decomp/Agent_Release_x64/full/functions/0x1400edce0.c new file mode 100644 index 00000000..8f8e21b0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edce0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edce0 Unwind@1400edce0 + * Pseudocode, not original source. */ + +void Unwind_1400edce0(undefined8 param_1,longlong param_2) + +{ + FUN_14001ac10((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edcf0.c b/decomp/Agent_Release_x64/full/functions/0x1400edcf0.c new file mode 100644 index 00000000..c2e503f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edcf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edcf0 Unwind@1400edcf0 + * Pseudocode, not original source. */ + +void Unwind_1400edcf0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x40) + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edd00.c b/decomp/Agent_Release_x64/full/functions/0x1400edd00.c new file mode 100644 index 00000000..71b51094 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edd00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edd00 Unwind@1400edd00 + * Pseudocode, not original source. */ + +void Unwind_1400edd00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(*(longlong *)(param_2 + 0x40) + 8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edd10.c b/decomp/Agent_Release_x64/full/functions/0x1400edd10.c new file mode 100644 index 00000000..57212b12 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edd10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edd10 Unwind@1400edd10 + * Pseudocode, not original source. */ + +void Unwind_1400edd10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002ac30((longlong *)(*(longlong *)(param_2 + 0x40) + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edd20.c b/decomp/Agent_Release_x64/full/functions/0x1400edd20.c new file mode 100644 index 00000000..3b69014a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edd20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edd20 Unwind@1400edd20 + * Pseudocode, not original source. */ + +void Unwind_1400edd20(undefined8 param_1,longlong param_2) + +{ + FUN_140006f70(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edd30.c b/decomp/Agent_Release_x64/full/functions/0x1400edd30.c new file mode 100644 index 00000000..9fae2b5d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edd30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edd30 Unwind@1400edd30 + * Pseudocode, not original source. */ + +void Unwind_1400edd30(undefined8 param_1,longlong param_2) + +{ + FUN_14001ac60((undefined8 *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edd40.c b/decomp/Agent_Release_x64/full/functions/0x1400edd40.c new file mode 100644 index 00000000..e572fce3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edd40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edd40 Unwind@1400edd40 + * Pseudocode, not original source. */ + +void Unwind_1400edd40(undefined8 param_1,longlong param_2) + +{ + FUN_140081fe0(*(undefined8 **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edd50.c b/decomp/Agent_Release_x64/full/functions/0x1400edd50.c new file mode 100644 index 00000000..194c2b07 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edd50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edd50 Unwind@1400edd50 + * Pseudocode, not original source. */ + +void Unwind_1400edd50(undefined8 param_1,longlong param_2) + +{ + FUN_14001ac10((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edd60.c b/decomp/Agent_Release_x64/full/functions/0x1400edd60.c new file mode 100644 index 00000000..86720a4e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edd60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edd60 Catch_All@1400edd60 + * Pseudocode, not original source. */ + +void Catch_All_1400edd60(void) + +{ + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edd80.c b/decomp/Agent_Release_x64/full/functions/0x1400edd80.c new file mode 100644 index 00000000..bb75f97a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edd80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edd80 Unwind@1400edd80 + * Pseudocode, not original source. */ + +void Unwind_1400edd80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edd90.c b/decomp/Agent_Release_x64/full/functions/0x1400edd90.c new file mode 100644 index 00000000..a56aceb2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edd90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edd90 Unwind@1400edd90 + * Pseudocode, not original source. */ + +void Unwind_1400edd90(undefined8 param_1,longlong param_2) + +{ + FUN_14002e0e0(param_2 + 0x28); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edda0.c b/decomp/Agent_Release_x64/full/functions/0x1400edda0.c new file mode 100644 index 00000000..b6d19ba0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edda0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edda0 Unwind@1400edda0 + * Pseudocode, not original source. */ + +void Unwind_1400edda0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eddb0.c b/decomp/Agent_Release_x64/full/functions/0x1400eddb0.c new file mode 100644 index 00000000..cc3d891d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eddb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eddb0 Unwind@1400eddb0 + * Pseudocode, not original source. */ + +void Unwind_1400eddb0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eddd0.c b/decomp/Agent_Release_x64/full/functions/0x1400eddd0.c new file mode 100644 index 00000000..c5017f98 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eddd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eddd0 Unwind@1400eddd0 + * Pseudocode, not original source. */ + +void Unwind_1400eddd0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edde0.c b/decomp/Agent_Release_x64/full/functions/0x1400edde0.c new file mode 100644 index 00000000..6126f623 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edde0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edde0 Unwind@1400edde0 + * Pseudocode, not original source. */ + +void Unwind_1400edde0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eddf0.c b/decomp/Agent_Release_x64/full/functions/0x1400eddf0.c new file mode 100644 index 00000000..04e3d8a7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eddf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eddf0 Unwind@1400eddf0 + * Pseudocode, not original source. */ + +void Unwind_1400eddf0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x78),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ede00.c b/decomp/Agent_Release_x64/full/functions/0x1400ede00.c new file mode 100644 index 00000000..86d837e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ede00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ede00 Unwind@1400ede00 + * Pseudocode, not original source. */ + +void Unwind_1400ede00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ede10.c b/decomp/Agent_Release_x64/full/functions/0x1400ede10.c new file mode 100644 index 00000000..bd71c097 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ede10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ede10 Unwind@1400ede10 + * Pseudocode, not original source. */ + +void Unwind_1400ede10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ede20.c b/decomp/Agent_Release_x64/full/functions/0x1400ede20.c new file mode 100644 index 00000000..658cbdc6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ede20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ede20 Unwind@1400ede20 + * Pseudocode, not original source. */ + +void Unwind_1400ede20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ede30.c b/decomp/Agent_Release_x64/full/functions/0x1400ede30.c new file mode 100644 index 00000000..ee5a2171 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ede30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ede30 Unwind@1400ede30 + * Pseudocode, not original source. */ + +void Unwind_1400ede30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x58),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ede40.c b/decomp/Agent_Release_x64/full/functions/0x1400ede40.c new file mode 100644 index 00000000..2c4d9557 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ede40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ede40 Unwind@1400ede40 + * Pseudocode, not original source. */ + +void Unwind_1400ede40(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ede50.c b/decomp/Agent_Release_x64/full/functions/0x1400ede50.c new file mode 100644 index 00000000..e591ab56 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ede50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ede50 Unwind@1400ede50 + * Pseudocode, not original source. */ + +void Unwind_1400ede50(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0x40) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ede60.c b/decomp/Agent_Release_x64/full/functions/0x1400ede60.c new file mode 100644 index 00000000..d945d4ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ede60.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ede60 Unwind@1400ede60 + * Pseudocode, not original source. */ + +void Unwind_1400ede60(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400ede67. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ede70.c b/decomp/Agent_Release_x64/full/functions/0x1400ede70.c new file mode 100644 index 00000000..32c46ae0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ede70.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ede70 Unwind@1400ede70 + * Pseudocode, not original source. */ + +void Unwind_1400ede70(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400ede77. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ede80.c b/decomp/Agent_Release_x64/full/functions/0x1400ede80.c new file mode 100644 index 00000000..2304b7d9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ede80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ede80 Unwind@1400ede80 + * Pseudocode, not original source. */ + +void Unwind_1400ede80(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ede90.c b/decomp/Agent_Release_x64/full/functions/0x1400ede90.c new file mode 100644 index 00000000..ad5ce1b0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ede90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ede90 Unwind@1400ede90 + * Pseudocode, not original source. */ + +void Unwind_1400ede90(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edea0.c b/decomp/Agent_Release_x64/full/functions/0x1400edea0.c new file mode 100644 index 00000000..c25cd60d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edea0 Unwind@1400edea0 + * Pseudocode, not original source. */ + +void Unwind_1400edea0(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edeb0.c b/decomp/Agent_Release_x64/full/functions/0x1400edeb0.c new file mode 100644 index 00000000..5822c3bb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edeb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edeb0 Unwind@1400edeb0 + * Pseudocode, not original source. */ + +void Unwind_1400edeb0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edec0.c b/decomp/Agent_Release_x64/full/functions/0x1400edec0.c new file mode 100644 index 00000000..e808b936 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edec0 Unwind@1400edec0 + * Pseudocode, not original source. */ + +void Unwind_1400edec0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eded0.c b/decomp/Agent_Release_x64/full/functions/0x1400eded0.c new file mode 100644 index 00000000..608ba439 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eded0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eded0 Unwind@1400eded0 + * Pseudocode, not original source. */ + +void Unwind_1400eded0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edee0.c b/decomp/Agent_Release_x64/full/functions/0x1400edee0.c new file mode 100644 index 00000000..b9bb26f3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edee0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edee0 Unwind@1400edee0 + * Pseudocode, not original source. */ + +void Unwind_1400edee0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edef0.c b/decomp/Agent_Release_x64/full/functions/0x1400edef0.c new file mode 100644 index 00000000..dccbe19a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edef0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edef0 Unwind@1400edef0 + * Pseudocode, not original source. */ + +void Unwind_1400edef0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0xa0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edf10.c b/decomp/Agent_Release_x64/full/functions/0x1400edf10.c new file mode 100644 index 00000000..4063e8bf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edf10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edf10 Unwind@1400edf10 + * Pseudocode, not original source. */ + +void Unwind_1400edf10(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edf30.c b/decomp/Agent_Release_x64/full/functions/0x1400edf30.c new file mode 100644 index 00000000..8481b213 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edf30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edf30 Unwind@1400edf30 + * Pseudocode, not original source. */ + +void Unwind_1400edf30(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0xf0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edf50.c b/decomp/Agent_Release_x64/full/functions/0x1400edf50.c new file mode 100644 index 00000000..33b500f5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edf50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edf50 Unwind@1400edf50 + * Pseudocode, not original source. */ + +void Unwind_1400edf50(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x118)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edf70.c b/decomp/Agent_Release_x64/full/functions/0x1400edf70.c new file mode 100644 index 00000000..5a540f88 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edf70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edf70 Unwind@1400edf70 + * Pseudocode, not original source. */ + +void Unwind_1400edf70(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x140)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edf90.c b/decomp/Agent_Release_x64/full/functions/0x1400edf90.c new file mode 100644 index 00000000..8474fda9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edf90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edf90 Unwind@1400edf90 + * Pseudocode, not original source. */ + +void Unwind_1400edf90(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edfb0.c b/decomp/Agent_Release_x64/full/functions/0x1400edfb0.c new file mode 100644 index 00000000..6e083718 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edfb0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edfb0 Catch_All@1400edfb0 + * Pseudocode, not original source. */ + +void Catch_All_1400edfb0(undefined8 param_1,longlong param_2) + +{ + longlong lVar1; + longlong lVar2; + + lVar1 = *(longlong *)(param_2 + 0x70); + for (lVar2 = *(longlong *)(param_2 + 0x78); lVar2 != lVar1; lVar2 = lVar2 + 0x30) { + FUN_14000ead0(lVar2); + } + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400edff0.c b/decomp/Agent_Release_x64/full/functions/0x1400edff0.c new file mode 100644 index 00000000..29dbccf4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400edff0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400edff0 Catch_All@1400edff0 + * Pseudocode, not original source. */ + +void Catch_All_1400edff0(undefined8 param_1,longlong param_2) + +{ + FUN_14000e7d0(*(longlong **)(param_2 + 0x40)); + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee020.c b/decomp/Agent_Release_x64/full/functions/0x1400ee020.c new file mode 100644 index 00000000..92d2bca9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee020.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee020 Unwind@1400ee020 + * Pseudocode, not original source. */ + +void Unwind_1400ee020(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee030.c b/decomp/Agent_Release_x64/full/functions/0x1400ee030.c new file mode 100644 index 00000000..2177aad9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee030.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee030 Unwind@1400ee030 + * Pseudocode, not original source. */ + +void Unwind_1400ee030(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee040.c b/decomp/Agent_Release_x64/full/functions/0x1400ee040.c new file mode 100644 index 00000000..68a222a2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee040.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee040 Unwind@1400ee040 + * Pseudocode, not original source. */ + +void Unwind_1400ee040(undefined8 param_1,longlong param_2) + +{ + FUN_140006bf0((undefined8 *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee050.c b/decomp/Agent_Release_x64/full/functions/0x1400ee050.c new file mode 100644 index 00000000..72cc9399 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee050.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee050 Unwind@1400ee050 + * Pseudocode, not original source. */ + +void Unwind_1400ee050(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee060.c b/decomp/Agent_Release_x64/full/functions/0x1400ee060.c new file mode 100644 index 00000000..0fce8dfd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee060.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee060 Unwind@1400ee060 + * Pseudocode, not original source. */ + +void Unwind_1400ee060(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee070.c b/decomp/Agent_Release_x64/full/functions/0x1400ee070.c new file mode 100644 index 00000000..38128826 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee070.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee070 Unwind@1400ee070 + * Pseudocode, not original source. */ + +void Unwind_1400ee070(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee080.c b/decomp/Agent_Release_x64/full/functions/0x1400ee080.c new file mode 100644 index 00000000..cc5dd3b9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee080.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee080 Unwind@1400ee080 + * Pseudocode, not original source. */ + +void Unwind_1400ee080(undefined8 param_1,longlong param_2) + +{ + FUN_140006bf0((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee090.c b/decomp/Agent_Release_x64/full/functions/0x1400ee090.c new file mode 100644 index 00000000..0aa63f9e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee090.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee090 Unwind@1400ee090 + * Pseudocode, not original source. */ + +void Unwind_1400ee090(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee0a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee0a0.c new file mode 100644 index 00000000..5c3d3454 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee0a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee0a0 Unwind@1400ee0a0 + * Pseudocode, not original source. */ + +void Unwind_1400ee0a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee0b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee0b0.c new file mode 100644 index 00000000..780aea1d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee0b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee0b0 Unwind@1400ee0b0 + * Pseudocode, not original source. */ + +void Unwind_1400ee0b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee0c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee0c0.c new file mode 100644 index 00000000..557be181 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee0c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee0c0 Unwind@1400ee0c0 + * Pseudocode, not original source. */ + +void Unwind_1400ee0c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee0d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee0d0.c new file mode 100644 index 00000000..c373b496 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee0d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee0d0 Unwind@1400ee0d0 + * Pseudocode, not original source. */ + +void Unwind_1400ee0d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee0e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee0e0.c new file mode 100644 index 00000000..d7259fa8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee0e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee0e0 Unwind@1400ee0e0 + * Pseudocode, not original source. */ + +void Unwind_1400ee0e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x48),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee0f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee0f0.c new file mode 100644 index 00000000..25fab93b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee0f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee0f0 Unwind@1400ee0f0 + * Pseudocode, not original source. */ + +void Unwind_1400ee0f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee100.c b/decomp/Agent_Release_x64/full/functions/0x1400ee100.c new file mode 100644 index 00000000..fe9f9b68 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee100.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee100 Unwind@1400ee100 + * Pseudocode, not original source. */ + +void Unwind_1400ee100(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee110.c b/decomp/Agent_Release_x64/full/functions/0x1400ee110.c new file mode 100644 index 00000000..2ca30c7d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee110.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee110 Unwind@1400ee110 + * Pseudocode, not original source. */ + +void Unwind_1400ee110(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee120.c b/decomp/Agent_Release_x64/full/functions/0x1400ee120.c new file mode 100644 index 00000000..5c587015 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee120.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee120 Unwind@1400ee120 + * Pseudocode, not original source. */ + +void Unwind_1400ee120(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee130.c b/decomp/Agent_Release_x64/full/functions/0x1400ee130.c new file mode 100644 index 00000000..683f1d1a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee130.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee130 Unwind@1400ee130 + * Pseudocode, not original source. */ + +void Unwind_1400ee130(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee140.c b/decomp/Agent_Release_x64/full/functions/0x1400ee140.c new file mode 100644 index 00000000..6a102b23 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee140.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee140 Unwind@1400ee140 + * Pseudocode, not original source. */ + +void Unwind_1400ee140(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x70),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee150.c b/decomp/Agent_Release_x64/full/functions/0x1400ee150.c new file mode 100644 index 00000000..fa3fc9e8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee150.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee150 Unwind@1400ee150 + * Pseudocode, not original source. */ + +void Unwind_1400ee150(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee160.c b/decomp/Agent_Release_x64/full/functions/0x1400ee160.c new file mode 100644 index 00000000..cccc890e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee160 Unwind@1400ee160 + * Pseudocode, not original source. */ + +void Unwind_1400ee160(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee170.c b/decomp/Agent_Release_x64/full/functions/0x1400ee170.c new file mode 100644 index 00000000..4552d4ca --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee170.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee170 Unwind@1400ee170 + * Pseudocode, not original source. */ + +void Unwind_1400ee170(undefined8 param_1,longlong param_2) + +{ + FUN_140006bf0((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee180.c b/decomp/Agent_Release_x64/full/functions/0x1400ee180.c new file mode 100644 index 00000000..77dc72b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee180.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee180 Unwind@1400ee180 + * Pseudocode, not original source. */ + +void Unwind_1400ee180(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee190.c b/decomp/Agent_Release_x64/full/functions/0x1400ee190.c new file mode 100644 index 00000000..32bbc4a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee190.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee190 Unwind@1400ee190 + * Pseudocode, not original source. */ + +void Unwind_1400ee190(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xb0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee1a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee1a0.c new file mode 100644 index 00000000..997fd437 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee1a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee1a0 Unwind@1400ee1a0 + * Pseudocode, not original source. */ + +void Unwind_1400ee1a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee1b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee1b0.c new file mode 100644 index 00000000..2ee18d90 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee1b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee1b0 Unwind@1400ee1b0 + * Pseudocode, not original source. */ + +void Unwind_1400ee1b0(undefined8 param_1,longlong param_2) + +{ + FUN_140006bf0((undefined8 *)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee1c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee1c0.c new file mode 100644 index 00000000..da48ef0d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee1c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee1c0 Unwind@1400ee1c0 + * Pseudocode, not original source. */ + +void Unwind_1400ee1c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee1d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee1d0.c new file mode 100644 index 00000000..620920df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee1d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee1d0 Unwind@1400ee1d0 + * Pseudocode, not original source. */ + +void Unwind_1400ee1d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xb8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee1e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee1e0.c new file mode 100644 index 00000000..0def8396 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee1e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee1e0 Unwind@1400ee1e0 + * Pseudocode, not original source. */ + +void Unwind_1400ee1e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee1f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee1f0.c new file mode 100644 index 00000000..19ba346e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee1f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee1f0 Unwind@1400ee1f0 + * Pseudocode, not original source. */ + +void Unwind_1400ee1f0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee200.c b/decomp/Agent_Release_x64/full/functions/0x1400ee200.c new file mode 100644 index 00000000..fd779edc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee200.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee200 Unwind@1400ee200 + * Pseudocode, not original source. */ + +void Unwind_1400ee200(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee210.c b/decomp/Agent_Release_x64/full/functions/0x1400ee210.c new file mode 100644 index 00000000..bb50af36 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee210.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee210 Unwind@1400ee210 + * Pseudocode, not original source. */ + +void Unwind_1400ee210(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee220.c b/decomp/Agent_Release_x64/full/functions/0x1400ee220.c new file mode 100644 index 00000000..c05dae1e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee220.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee220 Unwind@1400ee220 + * Pseudocode, not original source. */ + +void Unwind_1400ee220(undefined8 param_1,longlong param_2) + +{ + FUN_14002e0e0(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee230.c b/decomp/Agent_Release_x64/full/functions/0x1400ee230.c new file mode 100644 index 00000000..4f22a61f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee230.c @@ -0,0 +1,31 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee230 Catch_All@1400ee230 + * Pseudocode, not original source. */ + +void Catch_All_1400ee230(undefined8 param_1,longlong param_2) + +{ + undefined8 *puVar1; + ulonglong *puVar2; + ulonglong *puVar3; + ulonglong *puVar4; + + puVar1 = *(undefined8 **)(param_2 + 0x40); + puVar2 = (ulonglong *)*puVar1; + puVar3 = *(ulonglong **)(param_2 + 0x48); + if ((puVar2 == (ulonglong *)0x0) || (puVar3 < puVar2)) { + *puVar3 = (ulonglong)puVar2; + *puVar1 = puVar3; + } + else { + for (puVar4 = (ulonglong *)*puVar2; (puVar4 != (ulonglong *)0x0 && (puVar4 <= puVar3)); + puVar4 = (ulonglong *)*puVar4) { + puVar2 = puVar4; + } + *puVar3 = *puVar2; + *puVar2 = (ulonglong)puVar3; + } + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee290.c b/decomp/Agent_Release_x64/full/functions/0x1400ee290.c new file mode 100644 index 00000000..4e132442 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee290.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee290 Unwind@1400ee290 + * Pseudocode, not original source. */ + +void Unwind_1400ee290(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee2b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee2b0.c new file mode 100644 index 00000000..ea8ef271 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee2b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee2b0 Unwind@1400ee2b0 + * Pseudocode, not original source. */ + +void Unwind_1400ee2b0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(*(longlong *)(param_2 + 0x30) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee2c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee2c0.c new file mode 100644 index 00000000..7c5ee14a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee2c0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee2c0 Catch_All@1400ee2c0 + * Pseudocode, not original source. */ + +void Catch_All_1400ee2c0(undefined8 param_1,longlong param_2) + +{ + longlong lVar1; + longlong lVar2; + + lVar1 = *(longlong *)(param_2 + 0x70); + for (lVar2 = *(longlong *)(param_2 + 0x78); lVar2 != lVar1; lVar2 = lVar2 + 0x58) { + FUN_140029f60(lVar2); + } + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee300.c b/decomp/Agent_Release_x64/full/functions/0x1400ee300.c new file mode 100644 index 00000000..62d57afb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee300.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee300 Unwind@1400ee300 + * Pseudocode, not original source. */ + +void Unwind_1400ee300(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee320.c b/decomp/Agent_Release_x64/full/functions/0x1400ee320.c new file mode 100644 index 00000000..e3dadd07 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee320.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee320 Unwind@1400ee320 + * Pseudocode, not original source. */ + +void Unwind_1400ee320(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(*(longlong *)(param_2 + 0x58) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee330.c b/decomp/Agent_Release_x64/full/functions/0x1400ee330.c new file mode 100644 index 00000000..75247538 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee330.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee330 Catch_All@1400ee330 + * Pseudocode, not original source. */ + +void Catch_All_1400ee330(undefined8 param_1,longlong param_2) + +{ + longlong lVar1; + longlong lVar2; + + lVar1 = *(longlong *)(param_2 + 0x60); + for (lVar2 = *(longlong *)(param_2 + 0x50); lVar2 != lVar1; lVar2 = lVar2 + 0x58) { + FUN_140029f60(lVar2); + } + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee370.c b/decomp/Agent_Release_x64/full/functions/0x1400ee370.c new file mode 100644 index 00000000..ad7c2b3c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee370.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee370 Unwind@1400ee370 + * Pseudocode, not original source. */ + +void Unwind_1400ee370(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee390.c b/decomp/Agent_Release_x64/full/functions/0x1400ee390.c new file mode 100644 index 00000000..7b029bc2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee390.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee390 Catch_All@1400ee390 + * Pseudocode, not original source. */ + +void Catch_All_1400ee390(undefined8 param_1,longlong param_2) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + + puVar1 = *(undefined8 **)(param_2 + 0x60); + for (puVar2 = *(undefined8 **)(param_2 + 0x50); puVar2 != puVar1; puVar2 = puVar2 + 8) { + if (7 < (ulonglong)puVar2[3]) { + operator_delete((void *)*puVar2); + } + puVar2[3] = 7; + puVar2[2] = 0; + *(undefined2 *)puVar2 = 0; + } + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee3f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee3f0.c new file mode 100644 index 00000000..614f20ce --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee3f0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee3f0 Catch_All@1400ee3f0 + * Pseudocode, not original source. */ + +void Catch_All_1400ee3f0(undefined8 param_1,longlong param_2) + +{ + FUN_140028c80(*(undefined8 **)(param_2 + 0x40)); + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee440.c b/decomp/Agent_Release_x64/full/functions/0x1400ee440.c new file mode 100644 index 00000000..75dd0539 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee440.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee440 Catch_All@1400ee440 + * Pseudocode, not original source. */ + +void Catch_All_1400ee440(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x58)); + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee470.c b/decomp/Agent_Release_x64/full/functions/0x1400ee470.c new file mode 100644 index 00000000..de221439 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee470.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee470 Unwind@1400ee470 + * Pseudocode, not original source. */ + +void Unwind_1400ee470(undefined8 param_1,longlong param_2) + +{ + FUN_14002a7c0(*(undefined8 **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee480.c b/decomp/Agent_Release_x64/full/functions/0x1400ee480.c new file mode 100644 index 00000000..6984309b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee480.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee480 Unwind@1400ee480 + * Pseudocode, not original source. */ + +void Unwind_1400ee480(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(*(longlong *)(param_2 + 0x48) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee490.c b/decomp/Agent_Release_x64/full/functions/0x1400ee490.c new file mode 100644 index 00000000..b3b4b880 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee490.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee490 Unwind@1400ee490 + * Pseudocode, not original source. */ + +void Unwind_1400ee490(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(*(longlong *)(param_2 + 0x48) + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee4a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee4a0.c new file mode 100644 index 00000000..258281f7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee4a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee4a0 Unwind@1400ee4a0 + * Pseudocode, not original source. */ + +void Unwind_1400ee4a0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(*(longlong *)(param_2 + 0x48) + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee4b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee4b0.c new file mode 100644 index 00000000..273f6031 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee4b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee4b0 Unwind@1400ee4b0 + * Pseudocode, not original source. */ + +void Unwind_1400ee4b0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x48) + 0x90)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee4d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee4d0.c new file mode 100644 index 00000000..bdb5d299 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee4d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee4d0 Unwind@1400ee4d0 + * Pseudocode, not original source. */ + +void Unwind_1400ee4d0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x48) + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee4f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee4f0.c new file mode 100644 index 00000000..885f95bd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee4f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee4f0 Unwind@1400ee4f0 + * Pseudocode, not original source. */ + +void Unwind_1400ee4f0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x48) + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee510.c b/decomp/Agent_Release_x64/full/functions/0x1400ee510.c new file mode 100644 index 00000000..828cfed5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee510.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee510 Unwind@1400ee510 + * Pseudocode, not original source. */ + +void Unwind_1400ee510(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x48) + 0x108)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee530.c b/decomp/Agent_Release_x64/full/functions/0x1400ee530.c new file mode 100644 index 00000000..e26f9376 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee530.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee530 Unwind@1400ee530 + * Pseudocode, not original source. */ + +void Unwind_1400ee530(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_140028f70((undefined8 *)(*(longlong *)(param_2 + 0x48) + 0x188)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee550.c b/decomp/Agent_Release_x64/full/functions/0x1400ee550.c new file mode 100644 index 00000000..3d23d520 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee550.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee550 Unwind@1400ee550 + * Pseudocode, not original source. */ + +void Unwind_1400ee550(undefined8 param_1,longlong param_2) + +{ + FUN_140028570((longlong *)(*(longlong *)(param_2 + 0x48) + 0x1a8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee570.c b/decomp/Agent_Release_x64/full/functions/0x1400ee570.c new file mode 100644 index 00000000..833c58da --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee570.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee570 Unwind@1400ee570 + * Pseudocode, not original source. */ + +void Unwind_1400ee570(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140028590((undefined8 *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee580.c b/decomp/Agent_Release_x64/full/functions/0x1400ee580.c new file mode 100644 index 00000000..238d3586 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee580.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee580 Unwind@1400ee580 + * Pseudocode, not original source. */ + +void Unwind_1400ee580(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee590.c b/decomp/Agent_Release_x64/full/functions/0x1400ee590.c new file mode 100644 index 00000000..a300bbe8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee590.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee590 Unwind@1400ee590 + * Pseudocode, not original source. */ + +void Unwind_1400ee590(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x80)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee5a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee5a0.c new file mode 100644 index 00000000..5b99fa48 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee5a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee5a0 Unwind@1400ee5a0 + * Pseudocode, not original source. */ + +void Unwind_1400ee5a0(undefined8 param_1,longlong param_2) + +{ + FUN_14002a580((undefined8 *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee5b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee5b0.c new file mode 100644 index 00000000..f9a10c13 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee5b0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee5b0 Catch_All@1400ee5b0 + * Pseudocode, not original source. */ + +void Catch_All_1400ee5b0(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x48)); + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee5e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee5e0.c new file mode 100644 index 00000000..ca6de2a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee5e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee5e0 Unwind@1400ee5e0 + * Pseudocode, not original source. */ + +void Unwind_1400ee5e0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee600.c b/decomp/Agent_Release_x64/full/functions/0x1400ee600.c new file mode 100644 index 00000000..37778ffe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee600.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee600 Catch_All@1400ee600 + * Pseudocode, not original source. */ + +void Catch_All_1400ee600(undefined8 param_1,longlong param_2) + +{ + longlong lVar1; + longlong lVar2; + + lVar1 = *(longlong *)(param_2 + 0x60); + for (lVar2 = *(longlong *)(param_2 + 0x50); lVar2 != lVar1; lVar2 = lVar2 + 0xa0) { + FUN_140004e10(lVar2); + } + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee640.c b/decomp/Agent_Release_x64/full/functions/0x1400ee640.c new file mode 100644 index 00000000..3a82daa7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee640.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee640 Catch_All@1400ee640 + * Pseudocode, not original source. */ + +void Catch_All_1400ee640(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x48)); + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee670.c b/decomp/Agent_Release_x64/full/functions/0x1400ee670.c new file mode 100644 index 00000000..976c8285 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee670.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee670 Unwind@1400ee670 + * Pseudocode, not original source. */ + +void Unwind_1400ee670(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee680.c b/decomp/Agent_Release_x64/full/functions/0x1400ee680.c new file mode 100644 index 00000000..6a26a8be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee680.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee680 Unwind@1400ee680 + * Pseudocode, not original source. */ + +void Unwind_1400ee680(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee690.c b/decomp/Agent_Release_x64/full/functions/0x1400ee690.c new file mode 100644 index 00000000..b9fbc6ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee690.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee690 Unwind@1400ee690 + * Pseudocode, not original source. */ + +void Unwind_1400ee690(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee6a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee6a0.c new file mode 100644 index 00000000..2369b206 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee6a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee6a0 Unwind@1400ee6a0 + * Pseudocode, not original source. */ + +void Unwind_1400ee6a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x1b0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee6b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee6b0.c new file mode 100644 index 00000000..04d7880a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee6b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee6b0 Unwind@1400ee6b0 + * Pseudocode, not original source. */ + +void Unwind_1400ee6b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee6c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee6c0.c new file mode 100644 index 00000000..fb3aaf31 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee6c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee6c0 Unwind@1400ee6c0 + * Pseudocode, not original source. */ + +void Unwind_1400ee6c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee6d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee6d0.c new file mode 100644 index 00000000..d16a2c3f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee6d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee6d0 Unwind@1400ee6d0 + * Pseudocode, not original source. */ + +void Unwind_1400ee6d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee6e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee6e0.c new file mode 100644 index 00000000..f31563a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee6e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee6e0 Unwind@1400ee6e0 + * Pseudocode, not original source. */ + +void Unwind_1400ee6e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee6f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee6f0.c new file mode 100644 index 00000000..5edab759 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee6f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee6f0 Unwind@1400ee6f0 + * Pseudocode, not original source. */ + +void Unwind_1400ee6f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee700.c b/decomp/Agent_Release_x64/full/functions/0x1400ee700.c new file mode 100644 index 00000000..9e38dd05 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee700.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee700 Unwind@1400ee700 + * Pseudocode, not original source. */ + +void Unwind_1400ee700(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee710.c b/decomp/Agent_Release_x64/full/functions/0x1400ee710.c new file mode 100644 index 00000000..2e2f077d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee710.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee710 Unwind@1400ee710 + * Pseudocode, not original source. */ + +void Unwind_1400ee710(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10((undefined8 *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee720.c b/decomp/Agent_Release_x64/full/functions/0x1400ee720.c new file mode 100644 index 00000000..9bb94459 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee720.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee720 Unwind@1400ee720 + * Pseudocode, not original source. */ + +void Unwind_1400ee720(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee730.c b/decomp/Agent_Release_x64/full/functions/0x1400ee730.c new file mode 100644 index 00000000..0d46b9a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee730.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee730 Unwind@1400ee730 + * Pseudocode, not original source. */ + +void Unwind_1400ee730(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee740.c b/decomp/Agent_Release_x64/full/functions/0x1400ee740.c new file mode 100644 index 00000000..5cca152e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee740.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee740 Unwind@1400ee740 + * Pseudocode, not original source. */ + +void Unwind_1400ee740(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee750.c b/decomp/Agent_Release_x64/full/functions/0x1400ee750.c new file mode 100644 index 00000000..45493558 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee750.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee750 Unwind@1400ee750 + * Pseudocode, not original source. */ + +void Unwind_1400ee750(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee760.c b/decomp/Agent_Release_x64/full/functions/0x1400ee760.c new file mode 100644 index 00000000..f0c98aa9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee760.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee760 Unwind@1400ee760 + * Pseudocode, not original source. */ + +void Unwind_1400ee760(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee770.c b/decomp/Agent_Release_x64/full/functions/0x1400ee770.c new file mode 100644 index 00000000..6c2c9f13 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee770.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee770 Unwind@1400ee770 + * Pseudocode, not original source. */ + +void Unwind_1400ee770(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x1d0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee780.c b/decomp/Agent_Release_x64/full/functions/0x1400ee780.c new file mode 100644 index 00000000..f1a9a93b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee780.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee780 Unwind@1400ee780 + * Pseudocode, not original source. */ + +void Unwind_1400ee780(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee790.c b/decomp/Agent_Release_x64/full/functions/0x1400ee790.c new file mode 100644 index 00000000..55912c7a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee790.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee790 Unwind@1400ee790 + * Pseudocode, not original source. */ + +void Unwind_1400ee790(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee7a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee7a0.c new file mode 100644 index 00000000..bb45c6bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee7a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee7a0 Unwind@1400ee7a0 + * Pseudocode, not original source. */ + +void Unwind_1400ee7a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee7b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee7b0.c new file mode 100644 index 00000000..b78b8e09 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee7b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee7b0 Unwind@1400ee7b0 + * Pseudocode, not original source. */ + +void Unwind_1400ee7b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee7c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee7c0.c new file mode 100644 index 00000000..6280d097 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee7c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee7c0 Unwind@1400ee7c0 + * Pseudocode, not original source. */ + +void Unwind_1400ee7c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee7d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee7d0.c new file mode 100644 index 00000000..9f6e79e3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee7d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee7d0 Unwind@1400ee7d0 + * Pseudocode, not original source. */ + +void Unwind_1400ee7d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee7e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee7e0.c new file mode 100644 index 00000000..b24deff1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee7e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee7e0 Unwind@1400ee7e0 + * Pseudocode, not original source. */ + +void Unwind_1400ee7e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee7f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee7f0.c new file mode 100644 index 00000000..c0afaf01 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee7f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee7f0 Unwind@1400ee7f0 + * Pseudocode, not original source. */ + +void Unwind_1400ee7f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x1c8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee800.c b/decomp/Agent_Release_x64/full/functions/0x1400ee800.c new file mode 100644 index 00000000..de11608c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee800.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee800 Unwind@1400ee800 + * Pseudocode, not original source. */ + +void Unwind_1400ee800(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee810.c b/decomp/Agent_Release_x64/full/functions/0x1400ee810.c new file mode 100644 index 00000000..d1b3572c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee810.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee810 Unwind@1400ee810 + * Pseudocode, not original source. */ + +void Unwind_1400ee810(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee820.c b/decomp/Agent_Release_x64/full/functions/0x1400ee820.c new file mode 100644 index 00000000..0d4ee96e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee820.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee820 Unwind@1400ee820 + * Pseudocode, not original source. */ + +void Unwind_1400ee820(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee830.c b/decomp/Agent_Release_x64/full/functions/0x1400ee830.c new file mode 100644 index 00000000..c6189421 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee830.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee830 Unwind@1400ee830 + * Pseudocode, not original source. */ + +void Unwind_1400ee830(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee840.c b/decomp/Agent_Release_x64/full/functions/0x1400ee840.c new file mode 100644 index 00000000..9c3c0b3f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee840.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee840 Unwind@1400ee840 + * Pseudocode, not original source. */ + +void Unwind_1400ee840(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee850.c b/decomp/Agent_Release_x64/full/functions/0x1400ee850.c new file mode 100644 index 00000000..751ac498 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee850.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee850 Unwind@1400ee850 + * Pseudocode, not original source. */ + +void Unwind_1400ee850(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee860.c b/decomp/Agent_Release_x64/full/functions/0x1400ee860.c new file mode 100644 index 00000000..b4a4b0e6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee860.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee860 Unwind@1400ee860 + * Pseudocode, not original source. */ + +void Unwind_1400ee860(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee870.c b/decomp/Agent_Release_x64/full/functions/0x1400ee870.c new file mode 100644 index 00000000..8f410591 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee870.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee870 Unwind@1400ee870 + * Pseudocode, not original source. */ + +void Unwind_1400ee870(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee880.c b/decomp/Agent_Release_x64/full/functions/0x1400ee880.c new file mode 100644 index 00000000..b91a7343 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee880.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee880 Unwind@1400ee880 + * Pseudocode, not original source. */ + +void Unwind_1400ee880(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x1b8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee890.c b/decomp/Agent_Release_x64/full/functions/0x1400ee890.c new file mode 100644 index 00000000..861b9e88 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee890.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee890 Unwind@1400ee890 + * Pseudocode, not original source. */ + +void Unwind_1400ee890(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee8a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee8a0.c new file mode 100644 index 00000000..774aa136 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee8a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee8a0 Unwind@1400ee8a0 + * Pseudocode, not original source. */ + +void Unwind_1400ee8a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee8b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee8b0.c new file mode 100644 index 00000000..c46da95c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee8b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee8b0 Unwind@1400ee8b0 + * Pseudocode, not original source. */ + +void Unwind_1400ee8b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee8c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee8c0.c new file mode 100644 index 00000000..1c325b18 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee8c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee8c0 Unwind@1400ee8c0 + * Pseudocode, not original source. */ + +void Unwind_1400ee8c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee8d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee8d0.c new file mode 100644 index 00000000..3d532ba5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee8d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee8d0 Unwind@1400ee8d0 + * Pseudocode, not original source. */ + +void Unwind_1400ee8d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee8e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee8e0.c new file mode 100644 index 00000000..d1f38e7e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee8e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee8e0 Unwind@1400ee8e0 + * Pseudocode, not original source. */ + +void Unwind_1400ee8e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee8f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee8f0.c new file mode 100644 index 00000000..07f6fbe8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee8f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee8f0 Unwind@1400ee8f0 + * Pseudocode, not original source. */ + +void Unwind_1400ee8f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee900.c b/decomp/Agent_Release_x64/full/functions/0x1400ee900.c new file mode 100644 index 00000000..47addcb9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee900.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee900 Unwind@1400ee900 + * Pseudocode, not original source. */ + +void Unwind_1400ee900(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee910.c b/decomp/Agent_Release_x64/full/functions/0x1400ee910.c new file mode 100644 index 00000000..f5e6230c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee910.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee910 Unwind@1400ee910 + * Pseudocode, not original source. */ + +void Unwind_1400ee910(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x1c0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee920.c b/decomp/Agent_Release_x64/full/functions/0x1400ee920.c new file mode 100644 index 00000000..fd48bf12 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee920.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee920 Unwind@1400ee920 + * Pseudocode, not original source. */ + +void Unwind_1400ee920(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee930.c b/decomp/Agent_Release_x64/full/functions/0x1400ee930.c new file mode 100644 index 00000000..c6b22e26 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee930.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee930 Unwind@1400ee930 + * Pseudocode, not original source. */ + +void Unwind_1400ee930(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee940.c b/decomp/Agent_Release_x64/full/functions/0x1400ee940.c new file mode 100644 index 00000000..797565af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee940.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee940 Unwind@1400ee940 + * Pseudocode, not original source. */ + +void Unwind_1400ee940(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee950.c b/decomp/Agent_Release_x64/full/functions/0x1400ee950.c new file mode 100644 index 00000000..32e5a4a7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee950.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee950 Unwind@1400ee950 + * Pseudocode, not original source. */ + +void Unwind_1400ee950(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee960.c b/decomp/Agent_Release_x64/full/functions/0x1400ee960.c new file mode 100644 index 00000000..2d6201b6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee960.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee960 Unwind@1400ee960 + * Pseudocode, not original source. */ + +void Unwind_1400ee960(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee970.c b/decomp/Agent_Release_x64/full/functions/0x1400ee970.c new file mode 100644 index 00000000..9c4e5eea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee970.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee970 Unwind@1400ee970 + * Pseudocode, not original source. */ + +void Unwind_1400ee970(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee980.c b/decomp/Agent_Release_x64/full/functions/0x1400ee980.c new file mode 100644 index 00000000..9b04fdc7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee980.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee980 Unwind@1400ee980 + * Pseudocode, not original source. */ + +void Unwind_1400ee980(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee990.c b/decomp/Agent_Release_x64/full/functions/0x1400ee990.c new file mode 100644 index 00000000..30b02ac9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee990.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee990 Unwind@1400ee990 + * Pseudocode, not original source. */ + +void Unwind_1400ee990(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee9a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee9a0.c new file mode 100644 index 00000000..a113351c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee9a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee9a0 Unwind@1400ee9a0 + * Pseudocode, not original source. */ + +void Unwind_1400ee9a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x200),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee9b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee9b0.c new file mode 100644 index 00000000..b9ec24cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee9b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee9b0 Unwind@1400ee9b0 + * Pseudocode, not original source. */ + +void Unwind_1400ee9b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee9c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee9c0.c new file mode 100644 index 00000000..fe1058ea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee9c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee9c0 Unwind@1400ee9c0 + * Pseudocode, not original source. */ + +void Unwind_1400ee9c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x260)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee9d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee9d0.c new file mode 100644 index 00000000..09c79bd5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee9d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee9d0 Unwind@1400ee9d0 + * Pseudocode, not original source. */ + +void Unwind_1400ee9d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee9e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee9e0.c new file mode 100644 index 00000000..34e9a626 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee9e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee9e0 Unwind@1400ee9e0 + * Pseudocode, not original source. */ + +void Unwind_1400ee9e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x250),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ee9f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ee9f0.c new file mode 100644 index 00000000..0632f51c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ee9f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ee9f0 Unwind@1400ee9f0 + * Pseudocode, not original source. */ + +void Unwind_1400ee9f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eea00.c b/decomp/Agent_Release_x64/full/functions/0x1400eea00.c new file mode 100644 index 00000000..ae478967 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eea00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eea00 Unwind@1400eea00 + * Pseudocode, not original source. */ + +void Unwind_1400eea00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eea10.c b/decomp/Agent_Release_x64/full/functions/0x1400eea10.c new file mode 100644 index 00000000..61e8c65d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eea10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eea10 Unwind@1400eea10 + * Pseudocode, not original source. */ + +void Unwind_1400eea10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x1e8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eea20.c b/decomp/Agent_Release_x64/full/functions/0x1400eea20.c new file mode 100644 index 00000000..f97bd51d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eea20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eea20 Unwind@1400eea20 + * Pseudocode, not original source. */ + +void Unwind_1400eea20(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eea30.c b/decomp/Agent_Release_x64/full/functions/0x1400eea30.c new file mode 100644 index 00000000..23a54fa0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eea30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eea30 Unwind@1400eea30 + * Pseudocode, not original source. */ + +void Unwind_1400eea30(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eea40.c b/decomp/Agent_Release_x64/full/functions/0x1400eea40.c new file mode 100644 index 00000000..c73db37f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eea40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eea40 Unwind@1400eea40 + * Pseudocode, not original source. */ + +void Unwind_1400eea40(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x1f8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eea50.c b/decomp/Agent_Release_x64/full/functions/0x1400eea50.c new file mode 100644 index 00000000..8cb9db10 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eea50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eea50 Unwind@1400eea50 + * Pseudocode, not original source. */ + +void Unwind_1400eea50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eea60.c b/decomp/Agent_Release_x64/full/functions/0x1400eea60.c new file mode 100644 index 00000000..63cb6175 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eea60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eea60 Unwind@1400eea60 + * Pseudocode, not original source. */ + +void Unwind_1400eea60(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eea70.c b/decomp/Agent_Release_x64/full/functions/0x1400eea70.c new file mode 100644 index 00000000..af49579b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eea70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eea70 Unwind@1400eea70 + * Pseudocode, not original source. */ + +void Unwind_1400eea70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x208),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eea80.c b/decomp/Agent_Release_x64/full/functions/0x1400eea80.c new file mode 100644 index 00000000..a4df4b88 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eea80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eea80 Unwind@1400eea80 + * Pseudocode, not original source. */ + +void Unwind_1400eea80(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eea90.c b/decomp/Agent_Release_x64/full/functions/0x1400eea90.c new file mode 100644 index 00000000..60368a5e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eea90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eea90 Unwind@1400eea90 + * Pseudocode, not original source. */ + +void Unwind_1400eea90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeaa0.c b/decomp/Agent_Release_x64/full/functions/0x1400eeaa0.c new file mode 100644 index 00000000..096c18c0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeaa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeaa0 Unwind@1400eeaa0 + * Pseudocode, not original source. */ + +void Unwind_1400eeaa0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeab0.c b/decomp/Agent_Release_x64/full/functions/0x1400eeab0.c new file mode 100644 index 00000000..adbff748 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeab0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeab0 Unwind@1400eeab0 + * Pseudocode, not original source. */ + +void Unwind_1400eeab0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x1d8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeac0.c b/decomp/Agent_Release_x64/full/functions/0x1400eeac0.c new file mode 100644 index 00000000..39da35b6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeac0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeac0 Unwind@1400eeac0 + * Pseudocode, not original source. */ + +void Unwind_1400eeac0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eead0.c b/decomp/Agent_Release_x64/full/functions/0x1400eead0.c new file mode 100644 index 00000000..3da546d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eead0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eead0 Unwind@1400eead0 + * Pseudocode, not original source. */ + +void Unwind_1400eead0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeae0.c b/decomp/Agent_Release_x64/full/functions/0x1400eeae0.c new file mode 100644 index 00000000..7ad17012 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeae0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeae0 Unwind@1400eeae0 + * Pseudocode, not original source. */ + +void Unwind_1400eeae0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x1f0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeaf0.c b/decomp/Agent_Release_x64/full/functions/0x1400eeaf0.c new file mode 100644 index 00000000..0d1f4a12 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeaf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeaf0 Unwind@1400eeaf0 + * Pseudocode, not original source. */ + +void Unwind_1400eeaf0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeb00.c b/decomp/Agent_Release_x64/full/functions/0x1400eeb00.c new file mode 100644 index 00000000..7b73ba79 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeb00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeb00 Unwind@1400eeb00 + * Pseudocode, not original source. */ + +void Unwind_1400eeb00(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeb10.c b/decomp/Agent_Release_x64/full/functions/0x1400eeb10.c new file mode 100644 index 00000000..9041dce2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeb10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeb10 Unwind@1400eeb10 + * Pseudocode, not original source. */ + +void Unwind_1400eeb10(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x1e0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeb20.c b/decomp/Agent_Release_x64/full/functions/0x1400eeb20.c new file mode 100644 index 00000000..bb2f8570 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeb20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeb20 Unwind@1400eeb20 + * Pseudocode, not original source. */ + +void Unwind_1400eeb20(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeb30.c b/decomp/Agent_Release_x64/full/functions/0x1400eeb30.c new file mode 100644 index 00000000..0da6cf8b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeb30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeb30 Unwind@1400eeb30 + * Pseudocode, not original source. */ + +void Unwind_1400eeb30(undefined8 param_1,longlong param_2) + +{ + FUN_140011310((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeb40.c b/decomp/Agent_Release_x64/full/functions/0x1400eeb40.c new file mode 100644 index 00000000..166bd06f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeb40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeb40 Unwind@1400eeb40 + * Pseudocode, not original source. */ + +void Unwind_1400eeb40(undefined8 param_1,longlong param_2) + +{ + FUN_140011310((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeb50.c b/decomp/Agent_Release_x64/full/functions/0x1400eeb50.c new file mode 100644 index 00000000..dc7b1e66 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeb50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeb50 Unwind@1400eeb50 + * Pseudocode, not original source. */ + +void Unwind_1400eeb50(undefined8 param_1,longlong param_2) + +{ + FUN_140011310((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeb60.c b/decomp/Agent_Release_x64/full/functions/0x1400eeb60.c new file mode 100644 index 00000000..2dbbd252 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeb60.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeb60 Unwind@1400eeb60 + * Pseudocode, not original source. */ + +void Unwind_1400eeb60(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400eeb67. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeb70.c b/decomp/Agent_Release_x64/full/functions/0x1400eeb70.c new file mode 100644 index 00000000..271c4193 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeb70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeb70 Unwind@1400eeb70 + * Pseudocode, not original source. */ + +void Unwind_1400eeb70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400118d0(*(undefined8 **)(param_2 + 0x60),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeb80.c b/decomp/Agent_Release_x64/full/functions/0x1400eeb80.c new file mode 100644 index 00000000..878575cd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeb80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeb80 Unwind@1400eeb80 + * Pseudocode, not original source. */ + +void Unwind_1400eeb80(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeb90.c b/decomp/Agent_Release_x64/full/functions/0x1400eeb90.c new file mode 100644 index 00000000..4b2785f3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeb90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeb90 Unwind@1400eeb90 + * Pseudocode, not original source. */ + +void Unwind_1400eeb90(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeba0.c b/decomp/Agent_Release_x64/full/functions/0x1400eeba0.c new file mode 100644 index 00000000..372ae1b9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeba0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeba0 Unwind@1400eeba0 + * Pseudocode, not original source. */ + +void Unwind_1400eeba0(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eebb0.c b/decomp/Agent_Release_x64/full/functions/0x1400eebb0.c new file mode 100644 index 00000000..8dc188b1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eebb0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eebb0 Unwind@1400eebb0 + * Pseudocode, not original source. */ + +void Unwind_1400eebb0(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400eebb7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eebc0.c b/decomp/Agent_Release_x64/full/functions/0x1400eebc0.c new file mode 100644 index 00000000..d7677b4a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eebc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eebc0 Unwind@1400eebc0 + * Pseudocode, not original source. */ + +void Unwind_1400eebc0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eebe0.c b/decomp/Agent_Release_x64/full/functions/0x1400eebe0.c new file mode 100644 index 00000000..b5d45b7b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eebe0.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eebe0 Catch_All@1400eebe0 + * Pseudocode, not original source. */ + +void Catch_All_1400eebe0(undefined8 param_1,longlong param_2) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + + puVar1 = *(undefined8 **)(param_2 + 0x60); + for (puVar2 = *(undefined8 **)(param_2 + 0x50); puVar2 != puVar1; puVar2 = puVar2 + 0x36) { + FUN_14000eec0(puVar2); + } + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eec20.c b/decomp/Agent_Release_x64/full/functions/0x1400eec20.c new file mode 100644 index 00000000..21260b6f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eec20.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eec20 Catch_All@1400eec20 + * Pseudocode, not original source. */ + +void Catch_All_1400eec20(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x68)); + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eec50.c b/decomp/Agent_Release_x64/full/functions/0x1400eec50.c new file mode 100644 index 00000000..1af0cc93 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eec50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eec50 Unwind@1400eec50 + * Pseudocode, not original source. */ + +void Unwind_1400eec50(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eec70.c b/decomp/Agent_Release_x64/full/functions/0x1400eec70.c new file mode 100644 index 00000000..ed51c8ff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eec70.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eec70 Catch_All@1400eec70 + * Pseudocode, not original source. */ + +void Catch_All_1400eec70(undefined8 param_1,longlong param_2) + +{ + longlong lVar1; + longlong lVar2; + + lVar1 = *(longlong *)(param_2 + 0x60); + for (lVar2 = *(longlong *)(param_2 + 0x68); lVar2 != lVar1; lVar2 = lVar2 + 0xa0) { + FUN_140004e10(lVar2); + } + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eecb0.c b/decomp/Agent_Release_x64/full/functions/0x1400eecb0.c new file mode 100644 index 00000000..e5cf5a82 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eecb0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eecb0 Catch_All@1400eecb0 + * Pseudocode, not original source. */ + +void Catch_All_1400eecb0(undefined8 param_1,longlong param_2) + +{ + FUN_140006a20(*(undefined8 **)(param_2 + 0x40)); + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eece0.c b/decomp/Agent_Release_x64/full/functions/0x1400eece0.c new file mode 100644 index 00000000..ce47696b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eece0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eece0 Unwind@1400eece0 + * Pseudocode, not original source. */ + +void Unwind_1400eece0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eecf0.c b/decomp/Agent_Release_x64/full/functions/0x1400eecf0.c new file mode 100644 index 00000000..9af6c142 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eecf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eecf0 Unwind@1400eecf0 + * Pseudocode, not original source. */ + +void Unwind_1400eecf0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eed00.c b/decomp/Agent_Release_x64/full/functions/0x1400eed00.c new file mode 100644 index 00000000..d7ae7d09 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eed00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eed00 Unwind@1400eed00 + * Pseudocode, not original source. */ + +void Unwind_1400eed00(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eed10.c b/decomp/Agent_Release_x64/full/functions/0x1400eed10.c new file mode 100644 index 00000000..3cb96426 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eed10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eed10 Unwind@1400eed10 + * Pseudocode, not original source. */ + +void Unwind_1400eed10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eed20.c b/decomp/Agent_Release_x64/full/functions/0x1400eed20.c new file mode 100644 index 00000000..dc46a027 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eed20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eed20 Unwind@1400eed20 + * Pseudocode, not original source. */ + +void Unwind_1400eed20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eed30.c b/decomp/Agent_Release_x64/full/functions/0x1400eed30.c new file mode 100644 index 00000000..6f7ca5ea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eed30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eed30 Unwind@1400eed30 + * Pseudocode, not original source. */ + +void Unwind_1400eed30(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eed40.c b/decomp/Agent_Release_x64/full/functions/0x1400eed40.c new file mode 100644 index 00000000..e68201e7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eed40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eed40 Unwind@1400eed40 + * Pseudocode, not original source. */ + +void Unwind_1400eed40(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eed50.c b/decomp/Agent_Release_x64/full/functions/0x1400eed50.c new file mode 100644 index 00000000..b442da46 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eed50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eed50 Unwind@1400eed50 + * Pseudocode, not original source. */ + +void Unwind_1400eed50(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eed60.c b/decomp/Agent_Release_x64/full/functions/0x1400eed60.c new file mode 100644 index 00000000..6ecef3ab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eed60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eed60 Unwind@1400eed60 + * Pseudocode, not original source. */ + +void Unwind_1400eed60(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eed70.c b/decomp/Agent_Release_x64/full/functions/0x1400eed70.c new file mode 100644 index 00000000..a9217351 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eed70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eed70 Unwind@1400eed70 + * Pseudocode, not original source. */ + +void Unwind_1400eed70(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eed80.c b/decomp/Agent_Release_x64/full/functions/0x1400eed80.c new file mode 100644 index 00000000..3c6c3201 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eed80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eed80 Unwind@1400eed80 + * Pseudocode, not original source. */ + +void Unwind_1400eed80(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eed90.c b/decomp/Agent_Release_x64/full/functions/0x1400eed90.c new file mode 100644 index 00000000..5736bece --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eed90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eed90 Unwind@1400eed90 + * Pseudocode, not original source. */ + +void Unwind_1400eed90(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0xe8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeda0.c b/decomp/Agent_Release_x64/full/functions/0x1400eeda0.c new file mode 100644 index 00000000..361734cb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeda0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeda0 Unwind@1400eeda0 + * Pseudocode, not original source. */ + +void Unwind_1400eeda0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eedb0.c b/decomp/Agent_Release_x64/full/functions/0x1400eedb0.c new file mode 100644 index 00000000..7e41d66b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eedb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eedb0 Unwind@1400eedb0 + * Pseudocode, not original source. */ + +void Unwind_1400eedb0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eedc0.c b/decomp/Agent_Release_x64/full/functions/0x1400eedc0.c new file mode 100644 index 00000000..ab39f63f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eedc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eedc0 Unwind@1400eedc0 + * Pseudocode, not original source. */ + +void Unwind_1400eedc0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eedd0.c b/decomp/Agent_Release_x64/full/functions/0x1400eedd0.c new file mode 100644 index 00000000..d65d0ec2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eedd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eedd0 Unwind@1400eedd0 + * Pseudocode, not original source. */ + +void Unwind_1400eedd0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eede0.c b/decomp/Agent_Release_x64/full/functions/0x1400eede0.c new file mode 100644 index 00000000..dca09456 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eede0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eede0 Unwind@1400eede0 + * Pseudocode, not original source. */ + +void Unwind_1400eede0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eee00.c b/decomp/Agent_Release_x64/full/functions/0x1400eee00.c new file mode 100644 index 00000000..86db0fa9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eee00.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eee00 Catch_All@1400eee00 + * Pseudocode, not original source. */ + +void Catch_All_1400eee00(undefined8 param_1,longlong param_2) + +{ + longlong lVar1; + longlong lVar2; + + lVar1 = *(longlong *)(param_2 + 0x60); + for (lVar2 = *(longlong *)(param_2 + 0x50); lVar2 != lVar1; lVar2 = lVar2 + 0x30) { + FUN_14000ead0(lVar2); + } + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eee40.c b/decomp/Agent_Release_x64/full/functions/0x1400eee40.c new file mode 100644 index 00000000..c0a8290a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eee40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eee40 Unwind@1400eee40 + * Pseudocode, not original source. */ + +void Unwind_1400eee40(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14000e7d0(*(longlong **)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eee50.c b/decomp/Agent_Release_x64/full/functions/0x1400eee50.c new file mode 100644 index 00000000..899e8131 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eee50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eee50 Unwind@1400eee50 + * Pseudocode, not original source. */ + +void Unwind_1400eee50(undefined8 param_1,longlong param_2) + +{ + FUN_140028570((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eee60.c b/decomp/Agent_Release_x64/full/functions/0x1400eee60.c new file mode 100644 index 00000000..dc6da900 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eee60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eee60 Unwind@1400eee60 + * Pseudocode, not original source. */ + +void Unwind_1400eee60(undefined8 param_1,longlong param_2) + +{ + FUN_140029f00(param_2 + 0x28); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eee70.c b/decomp/Agent_Release_x64/full/functions/0x1400eee70.c new file mode 100644 index 00000000..3b0a095f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eee70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eee70 Unwind@1400eee70 + * Pseudocode, not original source. */ + +void Unwind_1400eee70(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eee90.c b/decomp/Agent_Release_x64/full/functions/0x1400eee90.c new file mode 100644 index 00000000..18270957 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eee90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eee90 Unwind@1400eee90 + * Pseudocode, not original source. */ + +void Unwind_1400eee90(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeea0.c b/decomp/Agent_Release_x64/full/functions/0x1400eeea0.c new file mode 100644 index 00000000..17eeff1a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeea0 Unwind@1400eeea0 + * Pseudocode, not original source. */ + +void Unwind_1400eeea0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeeb0.c b/decomp/Agent_Release_x64/full/functions/0x1400eeeb0.c new file mode 100644 index 00000000..a583c740 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeeb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeeb0 Unwind@1400eeeb0 + * Pseudocode, not original source. */ + +void Unwind_1400eeeb0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeec0.c b/decomp/Agent_Release_x64/full/functions/0x1400eeec0.c new file mode 100644 index 00000000..f8db6ca5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeec0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeec0 Unwind@1400eeec0 + * Pseudocode, not original source. */ + +void Unwind_1400eeec0(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x20) & 1) != 0) { + *(uint *)(param_2 + 0x20) = *(uint *)(param_2 + 0x20) & 0xfffffffe; + std::basic_ios_>:: + ~basic_ios_> + ((basic_ios_> *)(param_2 + 0xb8)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eeef0.c b/decomp/Agent_Release_x64/full/functions/0x1400eeef0.c new file mode 100644 index 00000000..afdf0ae4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eeef0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eeef0 Unwind@1400eeef0 + * Pseudocode, not original source. */ + +void Unwind_1400eeef0(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400eeefb. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::basic_ostream_>:: + ~basic_ostream_> + ((basic_ostream_> *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eef10.c b/decomp/Agent_Release_x64/full/functions/0x1400eef10.c new file mode 100644 index 00000000..062ce1dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eef10.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eef10 Unwind@1400eef10 + * Pseudocode, not original source. */ + +void Unwind_1400eef10(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400eef17. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::basic_streambuf_>:: + ~basic_streambuf_> + (*(basic_streambuf_> **)(param_2 + 0x148)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eef20.c b/decomp/Agent_Release_x64/full/functions/0x1400eef20.c new file mode 100644 index 00000000..8ddaa609 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eef20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eef20 Unwind@1400eef20 + * Pseudocode, not original source. */ + +void Unwind_1400eef20(undefined8 param_1,longlong param_2) + +{ + FUN_1400094b0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eef30.c b/decomp/Agent_Release_x64/full/functions/0x1400eef30.c new file mode 100644 index 00000000..1702bab2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eef30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eef30 Unwind@1400eef30 + * Pseudocode, not original source. */ + +void Unwind_1400eef30(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x120)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eef40.c b/decomp/Agent_Release_x64/full/functions/0x1400eef40.c new file mode 100644 index 00000000..f5abca4f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eef40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eef40 Unwind@1400eef40 + * Pseudocode, not original source. */ + +void Unwind_1400eef40(undefined8 param_1,longlong param_2) + +{ + FUN_14000ead0(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eef50.c b/decomp/Agent_Release_x64/full/functions/0x1400eef50.c new file mode 100644 index 00000000..d17078a5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eef50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eef50 Unwind@1400eef50 + * Pseudocode, not original source. */ + +void Unwind_1400eef50(undefined8 param_1,longlong param_2) + +{ + FUN_140004e10(param_2 + 0x40); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eef60.c b/decomp/Agent_Release_x64/full/functions/0x1400eef60.c new file mode 100644 index 00000000..ae328740 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eef60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eef60 Unwind@1400eef60 + * Pseudocode, not original source. */ + +void Unwind_1400eef60(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eef80.c b/decomp/Agent_Release_x64/full/functions/0x1400eef80.c new file mode 100644 index 00000000..aff3b6a1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eef80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eef80 Unwind@1400eef80 + * Pseudocode, not original source. */ + +void Unwind_1400eef80(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eefa0.c b/decomp/Agent_Release_x64/full/functions/0x1400eefa0.c new file mode 100644 index 00000000..4790909a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eefa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eefa0 Unwind@1400eefa0 + * Pseudocode, not original source. */ + +void Unwind_1400eefa0(undefined8 param_1,longlong param_2) + +{ + FUN_140004e10(param_2 + 0x30); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eefb0.c b/decomp/Agent_Release_x64/full/functions/0x1400eefb0.c new file mode 100644 index 00000000..a705fe85 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eefb0.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eefb0 Catch_All@1400eefb0 + * Pseudocode, not original source. */ + +void Catch_All_1400eefb0(undefined8 param_1,longlong param_2) + +{ + undefined8 *puVar1; + + puVar1 = *(undefined8 **)(param_2 + 0x40); + if ((void *)*puVar1 != (void *)0x0) { + operator_delete((void *)*puVar1); + } + *puVar1 = 0; + puVar1[1] = 0; + puVar1[2] = 0; + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef000.c b/decomp/Agent_Release_x64/full/functions/0x1400ef000.c new file mode 100644 index 00000000..08df4e1c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef000.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef000 Unwind@1400ef000 + * Pseudocode, not original source. */ + +void Unwind_1400ef000(undefined8 param_1,longlong param_2) + +{ + FUN_140004e10(*(longlong *)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef010.c b/decomp/Agent_Release_x64/full/functions/0x1400ef010.c new file mode 100644 index 00000000..a39199ed --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef010.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef010 Unwind@1400ef010 + * Pseudocode, not original source. */ + +void Unwind_1400ef010(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef030.c b/decomp/Agent_Release_x64/full/functions/0x1400ef030.c new file mode 100644 index 00000000..01cd8aab --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef030.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef030 Catch_All@1400ef030 + * Pseudocode, not original source. */ + +void Catch_All_1400ef030(undefined8 param_1,longlong param_2) + +{ + longlong lVar1; + longlong lVar2; + + lVar1 = *(longlong *)(param_2 + 0x60); + for (lVar2 = *(longlong *)(param_2 + 0x50); lVar2 != lVar1; lVar2 = lVar2 + 0xf8) { + FUN_14002c350(lVar2); + } + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef070.c b/decomp/Agent_Release_x64/full/functions/0x1400ef070.c new file mode 100644 index 00000000..ba0047cc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef070.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef070 Catch_All@1400ef070 + * Pseudocode, not original source. */ + +void Catch_All_1400ef070(undefined8 param_1,longlong param_2) + +{ + operator_delete(*(void **)(param_2 + 0x58)); + /* WARNING: Subroutine does not return */ + _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef0a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef0a0.c new file mode 100644 index 00000000..56e7c3e2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef0a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef0a0 Unwind@1400ef0a0 + * Pseudocode, not original source. */ + +void Unwind_1400ef0a0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef0c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef0c0.c new file mode 100644 index 00000000..b5761649 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef0c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef0c0 Unwind@1400ef0c0 + * Pseudocode, not original source. */ + +void Unwind_1400ef0c0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef0e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef0e0.c new file mode 100644 index 00000000..673ecee2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef0e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef0e0 Unwind@1400ef0e0 + * Pseudocode, not original source. */ + +void Unwind_1400ef0e0(undefined8 param_1,longlong param_2) + +{ + FUN_14002c330(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef0f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef0f0.c new file mode 100644 index 00000000..e4139400 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef0f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef0f0 Unwind@1400ef0f0 + * Pseudocode, not original source. */ + +void Unwind_1400ef0f0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(*(longlong *)(param_2 + 0x40) + 0x18)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef100.c b/decomp/Agent_Release_x64/full/functions/0x1400ef100.c new file mode 100644 index 00000000..a4c4f6a4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef100.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef100 Unwind@1400ef100 + * Pseudocode, not original source. */ + +void Unwind_1400ef100(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0(*(undefined4 **)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef110.c b/decomp/Agent_Release_x64/full/functions/0x1400ef110.c new file mode 100644 index 00000000..f33b959e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef110.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef110 Unwind@1400ef110 + * Pseudocode, not original source. */ + +void Unwind_1400ef110(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(*(longlong *)(param_2 + 0x48) + 0x10),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef120.c b/decomp/Agent_Release_x64/full/functions/0x1400ef120.c new file mode 100644 index 00000000..c443b271 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef120.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef120 Unwind@1400ef120 + * Pseudocode, not original source. */ + +void Unwind_1400ef120(undefined8 param_1,longlong param_2) + +{ + FUN_14003b870((undefined8 *)(*(longlong *)(param_2 + 0x48) + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef130.c b/decomp/Agent_Release_x64/full/functions/0x1400ef130.c new file mode 100644 index 00000000..f3c6938c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef130.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef130 Unwind@1400ef130 + * Pseudocode, not original source. */ + +void Unwind_1400ef130(undefined8 param_1,longlong param_2) + +{ + FUN_140029f00(param_2 + 0x38); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef140.c b/decomp/Agent_Release_x64/full/functions/0x1400ef140.c new file mode 100644 index 00000000..32f7238a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef140.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef140 Unwind@1400ef140 + * Pseudocode, not original source. */ + +void Unwind_1400ef140(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef160.c b/decomp/Agent_Release_x64/full/functions/0x1400ef160.c new file mode 100644 index 00000000..0e140bbe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef160 Unwind@1400ef160 + * Pseudocode, not original source. */ + +void Unwind_1400ef160(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef170.c b/decomp/Agent_Release_x64/full/functions/0x1400ef170.c new file mode 100644 index 00000000..e98e8766 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef170.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef170 Unwind@1400ef170 + * Pseudocode, not original source. */ + +void Unwind_1400ef170(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef180.c b/decomp/Agent_Release_x64/full/functions/0x1400ef180.c new file mode 100644 index 00000000..ca67471f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef180.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef180 Unwind@1400ef180 + * Pseudocode, not original source. */ + +void Unwind_1400ef180(undefined8 param_1,longlong param_2) + +{ + FUN_140029f60(param_2 + 0xb0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef190.c b/decomp/Agent_Release_x64/full/functions/0x1400ef190.c new file mode 100644 index 00000000..0fc8fb9a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef190.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef190 Unwind@1400ef190 + * Pseudocode, not original source. */ + +void Unwind_1400ef190(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef1a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef1a0.c new file mode 100644 index 00000000..2d45ab69 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef1a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef1a0 Unwind@1400ef1a0 + * Pseudocode, not original source. */ + +void Unwind_1400ef1a0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef1b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef1b0.c new file mode 100644 index 00000000..a68d0e16 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef1b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef1b0 Unwind@1400ef1b0 + * Pseudocode, not original source. */ + +void Unwind_1400ef1b0(undefined8 param_1,longlong param_2) + +{ + FUN_140028c80((undefined8 *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef1c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef1c0.c new file mode 100644 index 00000000..9db7017b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef1c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef1c0 Unwind@1400ef1c0 + * Pseudocode, not original source. */ + +void Unwind_1400ef1c0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef1e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef1e0.c new file mode 100644 index 00000000..0727d422 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef1e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef1e0 Unwind@1400ef1e0 + * Pseudocode, not original source. */ + +void Unwind_1400ef1e0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(*(longlong *)(param_2 + 0x48) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef1f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef1f0.c new file mode 100644 index 00000000..3aae992c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef1f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef1f0 Unwind@1400ef1f0 + * Pseudocode, not original source. */ + +void Unwind_1400ef1f0(undefined8 param_1,longlong param_2) + +{ + FUN_140026010(param_2 + 0x88); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef200.c b/decomp/Agent_Release_x64/full/functions/0x1400ef200.c new file mode 100644 index 00000000..9d5a7a91 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef200.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef200 Unwind@1400ef200 + * Pseudocode, not original source. */ + +void Unwind_1400ef200(undefined8 param_1,longlong param_2) + +{ + FUN_140026010(param_2 + 0x110); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef210.c b/decomp/Agent_Release_x64/full/functions/0x1400ef210.c new file mode 100644 index 00000000..2ec4c938 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef210.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef210 Unwind@1400ef210 + * Pseudocode, not original source. */ + +void Unwind_1400ef210(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_1400118d0((undefined8 *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef220.c b/decomp/Agent_Release_x64/full/functions/0x1400ef220.c new file mode 100644 index 00000000..5173a1f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef220.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef220 Unwind@1400ef220 + * Pseudocode, not original source. */ + +void Unwind_1400ef220(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef230.c b/decomp/Agent_Release_x64/full/functions/0x1400ef230.c new file mode 100644 index 00000000..8e24a343 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef230.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef230 Unwind@1400ef230 + * Pseudocode, not original source. */ + +void Unwind_1400ef230(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14000ecf0((undefined8 *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef240.c b/decomp/Agent_Release_x64/full/functions/0x1400ef240.c new file mode 100644 index 00000000..57e2e6e1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef240.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef240 Unwind@1400ef240 + * Pseudocode, not original source. */ + +void Unwind_1400ef240(undefined8 param_1,longlong param_2) + +{ + FUN_140011160((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef250.c b/decomp/Agent_Release_x64/full/functions/0x1400ef250.c new file mode 100644 index 00000000..e32f24ae --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef250.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef250 Unwind@1400ef250 + * Pseudocode, not original source. */ + +void Unwind_1400ef250(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef260.c b/decomp/Agent_Release_x64/full/functions/0x1400ef260.c new file mode 100644 index 00000000..352dcdac --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef260.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef260 Unwind@1400ef260 + * Pseudocode, not original source. */ + +void Unwind_1400ef260(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x150)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef270.c b/decomp/Agent_Release_x64/full/functions/0x1400ef270.c new file mode 100644 index 00000000..fffb8ac5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef270.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef270 Unwind@1400ef270 + * Pseudocode, not original source. */ + +void Unwind_1400ef270(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef280.c b/decomp/Agent_Release_x64/full/functions/0x1400ef280.c new file mode 100644 index 00000000..4071ce79 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef280.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef280 Unwind@1400ef280 + * Pseudocode, not original source. */ + +void Unwind_1400ef280(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x150)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef290.c b/decomp/Agent_Release_x64/full/functions/0x1400ef290.c new file mode 100644 index 00000000..2cf57051 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef290.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef290 Unwind@1400ef290 + * Pseudocode, not original source. */ + +void Unwind_1400ef290(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef2a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef2a0.c new file mode 100644 index 00000000..6e5814f6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef2a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef2a0 Unwind@1400ef2a0 + * Pseudocode, not original source. */ + +void Unwind_1400ef2a0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x150)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef2b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef2b0.c new file mode 100644 index 00000000..4ff0855a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef2b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef2b0 Unwind@1400ef2b0 + * Pseudocode, not original source. */ + +void Unwind_1400ef2b0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef2c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef2c0.c new file mode 100644 index 00000000..cf4737ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef2c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef2c0 Unwind@1400ef2c0 + * Pseudocode, not original source. */ + +void Unwind_1400ef2c0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x150)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef2d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef2d0.c new file mode 100644 index 00000000..a138b49d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef2d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef2d0 Unwind@1400ef2d0 + * Pseudocode, not original source. */ + +void Unwind_1400ef2d0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef2e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef2e0.c new file mode 100644 index 00000000..8d0ec53b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef2e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef2e0 Unwind@1400ef2e0 + * Pseudocode, not original source. */ + +void Unwind_1400ef2e0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x150)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef2f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef2f0.c new file mode 100644 index 00000000..c6f99db2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef2f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef2f0 Unwind@1400ef2f0 + * Pseudocode, not original source. */ + +void Unwind_1400ef2f0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef300.c b/decomp/Agent_Release_x64/full/functions/0x1400ef300.c new file mode 100644 index 00000000..ff55426b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef300.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef300 Unwind@1400ef300 + * Pseudocode, not original source. */ + +void Unwind_1400ef300(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef310.c b/decomp/Agent_Release_x64/full/functions/0x1400ef310.c new file mode 100644 index 00000000..890094ba --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef310.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef310 Unwind@1400ef310 + * Pseudocode, not original source. */ + +void Unwind_1400ef310(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef320.c b/decomp/Agent_Release_x64/full/functions/0x1400ef320.c new file mode 100644 index 00000000..4838b37d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef320.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef320 Unwind@1400ef320 + * Pseudocode, not original source. */ + +void Unwind_1400ef320(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14000e7d0((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef330.c b/decomp/Agent_Release_x64/full/functions/0x1400ef330.c new file mode 100644 index 00000000..13e08948 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef330.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef330 Unwind@1400ef330 + * Pseudocode, not original source. */ + +void Unwind_1400ef330(undefined8 param_1,longlong param_2) + +{ + FUN_140006a20((undefined8 *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef340.c b/decomp/Agent_Release_x64/full/functions/0x1400ef340.c new file mode 100644 index 00000000..4d0f14f8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef340.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef340 Unwind@1400ef340 + * Pseudocode, not original source. */ + +void Unwind_1400ef340(undefined8 param_1,longlong param_2) + +{ + FUN_140006a20((undefined8 *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef350.c b/decomp/Agent_Release_x64/full/functions/0x1400ef350.c new file mode 100644 index 00000000..914b0b1a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef350.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef350 Unwind@1400ef350 + * Pseudocode, not original source. */ + +void Unwind_1400ef350(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef360.c b/decomp/Agent_Release_x64/full/functions/0x1400ef360.c new file mode 100644 index 00000000..7f08578b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef360.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef360 Unwind@1400ef360 + * Pseudocode, not original source. */ + +void Unwind_1400ef360(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x238),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef370.c b/decomp/Agent_Release_x64/full/functions/0x1400ef370.c new file mode 100644 index 00000000..e03dd5e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef370.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef370 Unwind@1400ef370 + * Pseudocode, not original source. */ + +void Unwind_1400ef370(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef380.c b/decomp/Agent_Release_x64/full/functions/0x1400ef380.c new file mode 100644 index 00000000..304e2042 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef380.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef380 Unwind@1400ef380 + * Pseudocode, not original source. */ + +void Unwind_1400ef380(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef390.c b/decomp/Agent_Release_x64/full/functions/0x1400ef390.c new file mode 100644 index 00000000..1e85f0be --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef390.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef390 Unwind@1400ef390 + * Pseudocode, not original source. */ + +void Unwind_1400ef390(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef3a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef3a0.c new file mode 100644 index 00000000..a8d77a65 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef3a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef3a0 Unwind@1400ef3a0 + * Pseudocode, not original source. */ + +void Unwind_1400ef3a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef3b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef3b0.c new file mode 100644 index 00000000..74835933 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef3b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef3b0 Unwind@1400ef3b0 + * Pseudocode, not original source. */ + +void Unwind_1400ef3b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef3c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef3c0.c new file mode 100644 index 00000000..77ee7874 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef3c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef3c0 Unwind@1400ef3c0 + * Pseudocode, not original source. */ + +void Unwind_1400ef3c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef3d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef3d0.c new file mode 100644 index 00000000..f92e01b5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef3d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef3d0 Unwind@1400ef3d0 + * Pseudocode, not original source. */ + +void Unwind_1400ef3d0(undefined8 param_1,longlong param_2) + +{ + FUN_140006a20((undefined8 *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef3e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef3e0.c new file mode 100644 index 00000000..76d7e29d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef3e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef3e0 Unwind@1400ef3e0 + * Pseudocode, not original source. */ + +void Unwind_1400ef3e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef3f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef3f0.c new file mode 100644 index 00000000..508cbcc4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef3f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef3f0 Unwind@1400ef3f0 + * Pseudocode, not original source. */ + +void Unwind_1400ef3f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x240),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef400.c b/decomp/Agent_Release_x64/full/functions/0x1400ef400.c new file mode 100644 index 00000000..be58a805 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef400.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef400 Unwind@1400ef400 + * Pseudocode, not original source. */ + +void Unwind_1400ef400(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef410.c b/decomp/Agent_Release_x64/full/functions/0x1400ef410.c new file mode 100644 index 00000000..dbbfe9d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef410.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef410 Unwind@1400ef410 + * Pseudocode, not original source. */ + +void Unwind_1400ef410(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef420.c b/decomp/Agent_Release_x64/full/functions/0x1400ef420.c new file mode 100644 index 00000000..d045aae2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef420.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef420 Unwind@1400ef420 + * Pseudocode, not original source. */ + +void Unwind_1400ef420(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef430.c b/decomp/Agent_Release_x64/full/functions/0x1400ef430.c new file mode 100644 index 00000000..2caf27fa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef430.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef430 Unwind@1400ef430 + * Pseudocode, not original source. */ + +void Unwind_1400ef430(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef440.c b/decomp/Agent_Release_x64/full/functions/0x1400ef440.c new file mode 100644 index 00000000..2792e4d6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef440.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef440 Unwind@1400ef440 + * Pseudocode, not original source. */ + +void Unwind_1400ef440(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef450.c b/decomp/Agent_Release_x64/full/functions/0x1400ef450.c new file mode 100644 index 00000000..15c3feb7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef450.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef450 Unwind@1400ef450 + * Pseudocode, not original source. */ + +void Unwind_1400ef450(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef460.c b/decomp/Agent_Release_x64/full/functions/0x1400ef460.c new file mode 100644 index 00000000..d108a15b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef460.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef460 Unwind@1400ef460 + * Pseudocode, not original source. */ + +void Unwind_1400ef460(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef470.c b/decomp/Agent_Release_x64/full/functions/0x1400ef470.c new file mode 100644 index 00000000..4a8fdff8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef470.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef470 Unwind@1400ef470 + * Pseudocode, not original source. */ + +void Unwind_1400ef470(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef480.c b/decomp/Agent_Release_x64/full/functions/0x1400ef480.c new file mode 100644 index 00000000..c1521f49 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef480.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef480 Unwind@1400ef480 + * Pseudocode, not original source. */ + +void Unwind_1400ef480(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x250),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef490.c b/decomp/Agent_Release_x64/full/functions/0x1400ef490.c new file mode 100644 index 00000000..29814892 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef490.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef490 Unwind@1400ef490 + * Pseudocode, not original source. */ + +void Unwind_1400ef490(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef4a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef4a0.c new file mode 100644 index 00000000..18615b73 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef4a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef4a0 Unwind@1400ef4a0 + * Pseudocode, not original source. */ + +void Unwind_1400ef4a0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef4b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef4b0.c new file mode 100644 index 00000000..d1da9cbd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef4b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef4b0 Unwind@1400ef4b0 + * Pseudocode, not original source. */ + +void Unwind_1400ef4b0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef4c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef4c0.c new file mode 100644 index 00000000..2ca6d660 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef4c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef4c0 Unwind@1400ef4c0 + * Pseudocode, not original source. */ + +void Unwind_1400ef4c0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef4d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef4d0.c new file mode 100644 index 00000000..66cbb433 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef4d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef4d0 Unwind@1400ef4d0 + * Pseudocode, not original source. */ + +void Unwind_1400ef4d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef4e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef4e0.c new file mode 100644 index 00000000..0a6d7839 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef4e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef4e0 Unwind@1400ef4e0 + * Pseudocode, not original source. */ + +void Unwind_1400ef4e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef4f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef4f0.c new file mode 100644 index 00000000..73cca02d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef4f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef4f0 Unwind@1400ef4f0 + * Pseudocode, not original source. */ + +void Unwind_1400ef4f0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef500.c b/decomp/Agent_Release_x64/full/functions/0x1400ef500.c new file mode 100644 index 00000000..d4b7c12e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef500.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef500 Unwind@1400ef500 + * Pseudocode, not original source. */ + +void Unwind_1400ef500(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef510.c b/decomp/Agent_Release_x64/full/functions/0x1400ef510.c new file mode 100644 index 00000000..f1a4386c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef510.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef510 Unwind@1400ef510 + * Pseudocode, not original source. */ + +void Unwind_1400ef510(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x248),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef520.c b/decomp/Agent_Release_x64/full/functions/0x1400ef520.c new file mode 100644 index 00000000..37ab8e9d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef520.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef520 Unwind@1400ef520 + * Pseudocode, not original source. */ + +void Unwind_1400ef520(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef530.c b/decomp/Agent_Release_x64/full/functions/0x1400ef530.c new file mode 100644 index 00000000..c0f93a65 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef530.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef530 Unwind@1400ef530 + * Pseudocode, not original source. */ + +void Unwind_1400ef530(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef540.c b/decomp/Agent_Release_x64/full/functions/0x1400ef540.c new file mode 100644 index 00000000..becce66d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef540.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef540 Unwind@1400ef540 + * Pseudocode, not original source. */ + +void Unwind_1400ef540(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef550.c b/decomp/Agent_Release_x64/full/functions/0x1400ef550.c new file mode 100644 index 00000000..bf0b9009 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef550.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef550 Unwind@1400ef550 + * Pseudocode, not original source. */ + +void Unwind_1400ef550(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef560.c b/decomp/Agent_Release_x64/full/functions/0x1400ef560.c new file mode 100644 index 00000000..4b954ce3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef560.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef560 Unwind@1400ef560 + * Pseudocode, not original source. */ + +void Unwind_1400ef560(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef570.c b/decomp/Agent_Release_x64/full/functions/0x1400ef570.c new file mode 100644 index 00000000..7aa79814 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef570.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef570 Unwind@1400ef570 + * Pseudocode, not original source. */ + +void Unwind_1400ef570(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef580.c b/decomp/Agent_Release_x64/full/functions/0x1400ef580.c new file mode 100644 index 00000000..e6e66ab8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef580.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef580 Unwind@1400ef580 + * Pseudocode, not original source. */ + +void Unwind_1400ef580(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef590.c b/decomp/Agent_Release_x64/full/functions/0x1400ef590.c new file mode 100644 index 00000000..69b55899 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef590.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef590 Unwind@1400ef590 + * Pseudocode, not original source. */ + +void Unwind_1400ef590(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x2b8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef5a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef5a0.c new file mode 100644 index 00000000..aa3793f5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef5a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef5a0 Unwind@1400ef5a0 + * Pseudocode, not original source. */ + +void Unwind_1400ef5a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef5b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef5b0.c new file mode 100644 index 00000000..8d442ec0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef5b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef5b0 Unwind@1400ef5b0 + * Pseudocode, not original source. */ + +void Unwind_1400ef5b0(undefined8 param_1,longlong param_2) + +{ + thunk_FUN_14000e7d0((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef5c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef5c0.c new file mode 100644 index 00000000..ae2f5cc0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef5c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef5c0 Unwind@1400ef5c0 + * Pseudocode, not original source. */ + +void Unwind_1400ef5c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef5d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef5d0.c new file mode 100644 index 00000000..ea0e9a2a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef5d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef5d0 Unwind@1400ef5d0 + * Pseudocode, not original source. */ + +void Unwind_1400ef5d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x280),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef5e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef5e0.c new file mode 100644 index 00000000..2f98d9c9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef5e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef5e0 Unwind@1400ef5e0 + * Pseudocode, not original source. */ + +void Unwind_1400ef5e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef5f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef5f0.c new file mode 100644 index 00000000..de218885 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef5f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef5f0 Unwind@1400ef5f0 + * Pseudocode, not original source. */ + +void Unwind_1400ef5f0(undefined8 param_1,longlong param_2) + +{ + FUN_140006a20((undefined8 *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef600.c b/decomp/Agent_Release_x64/full/functions/0x1400ef600.c new file mode 100644 index 00000000..8b33a68a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef600.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef600 Unwind@1400ef600 + * Pseudocode, not original source. */ + +void Unwind_1400ef600(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef610.c b/decomp/Agent_Release_x64/full/functions/0x1400ef610.c new file mode 100644 index 00000000..e24081c4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef610.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef610 Unwind@1400ef610 + * Pseudocode, not original source. */ + +void Unwind_1400ef610(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x278),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef620.c b/decomp/Agent_Release_x64/full/functions/0x1400ef620.c new file mode 100644 index 00000000..04005a17 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef620.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef620 Unwind@1400ef620 + * Pseudocode, not original source. */ + +void Unwind_1400ef620(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef630.c b/decomp/Agent_Release_x64/full/functions/0x1400ef630.c new file mode 100644 index 00000000..b0a8d035 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef630.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef630 Unwind@1400ef630 + * Pseudocode, not original source. */ + +void Unwind_1400ef630(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef640.c b/decomp/Agent_Release_x64/full/functions/0x1400ef640.c new file mode 100644 index 00000000..8a3b634a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef640.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef640 Unwind@1400ef640 + * Pseudocode, not original source. */ + +void Unwind_1400ef640(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x288),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef650.c b/decomp/Agent_Release_x64/full/functions/0x1400ef650.c new file mode 100644 index 00000000..1e576a8f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef650.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef650 Unwind@1400ef650 + * Pseudocode, not original source. */ + +void Unwind_1400ef650(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef660.c b/decomp/Agent_Release_x64/full/functions/0x1400ef660.c new file mode 100644 index 00000000..f145f674 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef660.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef660 Unwind@1400ef660 + * Pseudocode, not original source. */ + +void Unwind_1400ef660(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef670.c b/decomp/Agent_Release_x64/full/functions/0x1400ef670.c new file mode 100644 index 00000000..69b9d401 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef670.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef670 Unwind@1400ef670 + * Pseudocode, not original source. */ + +void Unwind_1400ef670(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef680.c b/decomp/Agent_Release_x64/full/functions/0x1400ef680.c new file mode 100644 index 00000000..4e27a72c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef680.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef680 Unwind@1400ef680 + * Pseudocode, not original source. */ + +void Unwind_1400ef680(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x298),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef690.c b/decomp/Agent_Release_x64/full/functions/0x1400ef690.c new file mode 100644 index 00000000..6673bacf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef690.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef690 Unwind@1400ef690 + * Pseudocode, not original source. */ + +void Unwind_1400ef690(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef6a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef6a0.c new file mode 100644 index 00000000..f481f63f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef6a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef6a0 Unwind@1400ef6a0 + * Pseudocode, not original source. */ + +void Unwind_1400ef6a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef6b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef6b0.c new file mode 100644 index 00000000..0bbef688 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef6b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef6b0 Unwind@1400ef6b0 + * Pseudocode, not original source. */ + +void Unwind_1400ef6b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x2a8),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef6c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef6c0.c new file mode 100644 index 00000000..d59102ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef6c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef6c0 Unwind@1400ef6c0 + * Pseudocode, not original source. */ + +void Unwind_1400ef6c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef6d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef6d0.c new file mode 100644 index 00000000..dbec8526 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef6d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef6d0 Unwind@1400ef6d0 + * Pseudocode, not original source. */ + +void Unwind_1400ef6d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef6e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef6e0.c new file mode 100644 index 00000000..9e2a1d2c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef6e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef6e0 Unwind@1400ef6e0 + * Pseudocode, not original source. */ + +void Unwind_1400ef6e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef6f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef6f0.c new file mode 100644 index 00000000..5c59cd4a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef6f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef6f0 Unwind@1400ef6f0 + * Pseudocode, not original source. */ + +void Unwind_1400ef6f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x290),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef700.c b/decomp/Agent_Release_x64/full/functions/0x1400ef700.c new file mode 100644 index 00000000..a0ccccec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef700.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef700 Unwind@1400ef700 + * Pseudocode, not original source. */ + +void Unwind_1400ef700(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef710.c b/decomp/Agent_Release_x64/full/functions/0x1400ef710.c new file mode 100644 index 00000000..75a58613 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef710.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef710 Unwind@1400ef710 + * Pseudocode, not original source. */ + +void Unwind_1400ef710(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef720.c b/decomp/Agent_Release_x64/full/functions/0x1400ef720.c new file mode 100644 index 00000000..8869aa0b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef720.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef720 Unwind@1400ef720 + * Pseudocode, not original source. */ + +void Unwind_1400ef720(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x270),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef730.c b/decomp/Agent_Release_x64/full/functions/0x1400ef730.c new file mode 100644 index 00000000..7b8cd104 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef730.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef730 Unwind@1400ef730 + * Pseudocode, not original source. */ + +void Unwind_1400ef730(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef740.c b/decomp/Agent_Release_x64/full/functions/0x1400ef740.c new file mode 100644 index 00000000..28d28ee1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef740.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef740 Unwind@1400ef740 + * Pseudocode, not original source. */ + +void Unwind_1400ef740(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef750.c b/decomp/Agent_Release_x64/full/functions/0x1400ef750.c new file mode 100644 index 00000000..945a487a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef750.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef750 Unwind@1400ef750 + * Pseudocode, not original source. */ + +void Unwind_1400ef750(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef760.c b/decomp/Agent_Release_x64/full/functions/0x1400ef760.c new file mode 100644 index 00000000..d853a966 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef760.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef760 Unwind@1400ef760 + * Pseudocode, not original source. */ + +void Unwind_1400ef760(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x2b0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef770.c b/decomp/Agent_Release_x64/full/functions/0x1400ef770.c new file mode 100644 index 00000000..09c16d4b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef770.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef770 Unwind@1400ef770 + * Pseudocode, not original source. */ + +void Unwind_1400ef770(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef780.c b/decomp/Agent_Release_x64/full/functions/0x1400ef780.c new file mode 100644 index 00000000..ed93aa7d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef780.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef780 Unwind@1400ef780 + * Pseudocode, not original source. */ + +void Unwind_1400ef780(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef790.c b/decomp/Agent_Release_x64/full/functions/0x1400ef790.c new file mode 100644 index 00000000..aa89d533 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef790.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef790 Unwind@1400ef790 + * Pseudocode, not original source. */ + +void Unwind_1400ef790(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef7a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef7a0.c new file mode 100644 index 00000000..d2594333 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef7a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef7a0 Unwind@1400ef7a0 + * Pseudocode, not original source. */ + +void Unwind_1400ef7a0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 600),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef7b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef7b0.c new file mode 100644 index 00000000..bafaa75b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef7b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef7b0 Unwind@1400ef7b0 + * Pseudocode, not original source. */ + +void Unwind_1400ef7b0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef7c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef7c0.c new file mode 100644 index 00000000..d333b8f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef7c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef7c0 Unwind@1400ef7c0 + * Pseudocode, not original source. */ + +void Unwind_1400ef7c0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef7d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef7d0.c new file mode 100644 index 00000000..109898fc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef7d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef7d0 Unwind@1400ef7d0 + * Pseudocode, not original source. */ + +void Unwind_1400ef7d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef7e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef7e0.c new file mode 100644 index 00000000..b529c004 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef7e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef7e0 Unwind@1400ef7e0 + * Pseudocode, not original source. */ + +void Unwind_1400ef7e0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x2a0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef7f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef7f0.c new file mode 100644 index 00000000..44a96a6c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef7f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef7f0 Unwind@1400ef7f0 + * Pseudocode, not original source. */ + +void Unwind_1400ef7f0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef800.c b/decomp/Agent_Release_x64/full/functions/0x1400ef800.c new file mode 100644 index 00000000..85aecc0e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef800.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef800 Unwind@1400ef800 + * Pseudocode, not original source. */ + +void Unwind_1400ef800(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef810.c b/decomp/Agent_Release_x64/full/functions/0x1400ef810.c new file mode 100644 index 00000000..8f9ba743 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef810.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef810 Unwind@1400ef810 + * Pseudocode, not original source. */ + +void Unwind_1400ef810(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef820.c b/decomp/Agent_Release_x64/full/functions/0x1400ef820.c new file mode 100644 index 00000000..baf678dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef820.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef820 Unwind@1400ef820 + * Pseudocode, not original source. */ + +void Unwind_1400ef820(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x260),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef830.c b/decomp/Agent_Release_x64/full/functions/0x1400ef830.c new file mode 100644 index 00000000..f03bb106 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef830.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef830 Unwind@1400ef830 + * Pseudocode, not original source. */ + +void Unwind_1400ef830(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef840.c b/decomp/Agent_Release_x64/full/functions/0x1400ef840.c new file mode 100644 index 00000000..36570d2c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef840.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef840 Unwind@1400ef840 + * Pseudocode, not original source. */ + +void Unwind_1400ef840(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef850.c b/decomp/Agent_Release_x64/full/functions/0x1400ef850.c new file mode 100644 index 00000000..8ebe9c77 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef850.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef850 Unwind@1400ef850 + * Pseudocode, not original source. */ + +void Unwind_1400ef850(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x40),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef860.c b/decomp/Agent_Release_x64/full/functions/0x1400ef860.c new file mode 100644 index 00000000..da5aa29d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef860.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef860 Unwind@1400ef860 + * Pseudocode, not original source. */ + +void Unwind_1400ef860(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x268),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef870.c b/decomp/Agent_Release_x64/full/functions/0x1400ef870.c new file mode 100644 index 00000000..5bd495e5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef870.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef870 Unwind@1400ef870 + * Pseudocode, not original source. */ + +void Unwind_1400ef870(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240(*(longlong **)(param_2 + 0x98),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef880.c b/decomp/Agent_Release_x64/full/functions/0x1400ef880.c new file mode 100644 index 00000000..b5bec7fa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef880.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef880 Unwind@1400ef880 + * Pseudocode, not original source. */ + +void Unwind_1400ef880(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10(*(undefined8 **)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef890.c b/decomp/Agent_Release_x64/full/functions/0x1400ef890.c new file mode 100644 index 00000000..7d0c21fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef890.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef890 Unwind@1400ef890 + * Pseudocode, not original source. */ + +void Unwind_1400ef890(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10(*(undefined8 **)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef8a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef8a0.c new file mode 100644 index 00000000..f57e9364 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef8a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef8a0 Unwind@1400ef8a0 + * Pseudocode, not original source. */ + +void Unwind_1400ef8a0(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10((undefined8 *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef8b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef8b0.c new file mode 100644 index 00000000..a09e455d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef8b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef8b0 Unwind@1400ef8b0 + * Pseudocode, not original source. */ + +void Unwind_1400ef8b0(undefined8 param_1,longlong param_2) + +{ + FUN_1400de6b0((undefined8 *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef8c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef8c0.c new file mode 100644 index 00000000..e6c51981 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef8c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef8c0 Unwind@1400ef8c0 + * Pseudocode, not original source. */ + +void Unwind_1400ef8c0(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10(*(undefined8 **)(param_2 + 0xe8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef8d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef8d0.c new file mode 100644 index 00000000..d519bd67 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef8d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef8d0 Unwind@1400ef8d0 + * Pseudocode, not original source. */ + +void Unwind_1400ef8d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef8e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef8e0.c new file mode 100644 index 00000000..4473a5ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef8e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef8e0 Unwind@1400ef8e0 + * Pseudocode, not original source. */ + +void Unwind_1400ef8e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef8f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef8f0.c new file mode 100644 index 00000000..0781644f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef8f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef8f0 Unwind@1400ef8f0 + * Pseudocode, not original source. */ + +void Unwind_1400ef8f0(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10(*(undefined8 **)(param_2 + 0x108)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef900.c b/decomp/Agent_Release_x64/full/functions/0x1400ef900.c new file mode 100644 index 00000000..49299c97 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef900.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef900 Unwind@1400ef900 + * Pseudocode, not original source. */ + +void Unwind_1400ef900(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef910.c b/decomp/Agent_Release_x64/full/functions/0x1400ef910.c new file mode 100644 index 00000000..5e730aaa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef910.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef910 Unwind@1400ef910 + * Pseudocode, not original source. */ + +void Unwind_1400ef910(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10(*(undefined8 **)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef920.c b/decomp/Agent_Release_x64/full/functions/0x1400ef920.c new file mode 100644 index 00000000..8797fb3c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef920.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef920 Unwind@1400ef920 + * Pseudocode, not original source. */ + +void Unwind_1400ef920(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef930.c b/decomp/Agent_Release_x64/full/functions/0x1400ef930.c new file mode 100644 index 00000000..c2ecada6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef930.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef930 Unwind@1400ef930 + * Pseudocode, not original source. */ + +void Unwind_1400ef930(undefined8 param_1,longlong param_2) + +{ + FUN_140004af0((undefined8 *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef940.c b/decomp/Agent_Release_x64/full/functions/0x1400ef940.c new file mode 100644 index 00000000..2ac70ba4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef940.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef940 Unwind@1400ef940 + * Pseudocode, not original source. */ + +void Unwind_1400ef940(undefined8 param_1,longlong param_2) + +{ + FUN_140004e10(param_2 + 0x50); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef950.c b/decomp/Agent_Release_x64/full/functions/0x1400ef950.c new file mode 100644 index 00000000..4433af4e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef950.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef950 Unwind@1400ef950 + * Pseudocode, not original source. */ + +void Unwind_1400ef950(undefined8 param_1,longlong param_2) + +{ + FUN_14002c350(param_2 + 0x50); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef960.c b/decomp/Agent_Release_x64/full/functions/0x1400ef960.c new file mode 100644 index 00000000..c57015cb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef960.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef960 Unwind@1400ef960 + * Pseudocode, not original source. */ + +void Unwind_1400ef960(undefined8 param_1,longlong param_2) + +{ + FUN_14002e450(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef970.c b/decomp/Agent_Release_x64/full/functions/0x1400ef970.c new file mode 100644 index 00000000..9d5dea6c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef970.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef970 Unwind@1400ef970 + * Pseudocode, not original source. */ + +void Unwind_1400ef970(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400ef977. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef980.c b/decomp/Agent_Release_x64/full/functions/0x1400ef980.c new file mode 100644 index 00000000..85f9f07a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef980.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef980 Unwind@1400ef980 + * Pseudocode, not original source. */ + +void Unwind_1400ef980(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400ef987. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef990.c b/decomp/Agent_Release_x64/full/functions/0x1400ef990.c new file mode 100644 index 00000000..102f0a33 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef990.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef990 Unwind@1400ef990 + * Pseudocode, not original source. */ + +void Unwind_1400ef990(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400ef997. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef9a0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef9a0.c new file mode 100644 index 00000000..ec2338ef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef9a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef9a0 Unwind@1400ef9a0 + * Pseudocode, not original source. */ + +void Unwind_1400ef9a0(undefined8 param_1,longlong param_2) + +{ + FUN_14002e5e0(*(undefined8 **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef9b0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef9b0.c new file mode 100644 index 00000000..d593af8c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef9b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef9b0 Unwind@1400ef9b0 + * Pseudocode, not original source. */ + +void Unwind_1400ef9b0(undefined8 param_1,longlong param_2) + +{ + FUN_14002e4f0((longlong *)(*(longlong *)(param_2 + 0x48) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef9c0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef9c0.c new file mode 100644 index 00000000..6dea8c96 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef9c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef9c0 Unwind@1400ef9c0 + * Pseudocode, not original source. */ + +void Unwind_1400ef9c0(undefined8 param_1,LPVOID param_2,longlong *param_3,undefined8 param_4) + +{ + FUN_14002b320((longlong *)((longlong)param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef9d0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef9d0.c new file mode 100644 index 00000000..22b61212 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef9d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef9d0 Unwind@1400ef9d0 + * Pseudocode, not original source. */ + +void Unwind_1400ef9d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef9e0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef9e0.c new file mode 100644 index 00000000..eeb7f286 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef9e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef9e0 Unwind@1400ef9e0 + * Pseudocode, not original source. */ + +void Unwind_1400ef9e0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400ef9f0.c b/decomp/Agent_Release_x64/full/functions/0x1400ef9f0.c new file mode 100644 index 00000000..90172b37 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400ef9f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400ef9f0 Unwind@1400ef9f0 + * Pseudocode, not original source. */ + +void Unwind_1400ef9f0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efa00.c b/decomp/Agent_Release_x64/full/functions/0x1400efa00.c new file mode 100644 index 00000000..462ddbc3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efa00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efa00 Unwind@1400efa00 + * Pseudocode, not original source. */ + +void Unwind_1400efa00(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efa10.c b/decomp/Agent_Release_x64/full/functions/0x1400efa10.c new file mode 100644 index 00000000..d302a78d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efa10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efa10 Unwind@1400efa10 + * Pseudocode, not original source. */ + +void Unwind_1400efa10(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efa20.c b/decomp/Agent_Release_x64/full/functions/0x1400efa20.c new file mode 100644 index 00000000..3b9a4317 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efa20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efa20 Unwind@1400efa20 + * Pseudocode, not original source. */ + +void Unwind_1400efa20(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efa30.c b/decomp/Agent_Release_x64/full/functions/0x1400efa30.c new file mode 100644 index 00000000..ce1c481f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efa30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efa30 Unwind@1400efa30 + * Pseudocode, not original source. */ + +void Unwind_1400efa30(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efa40.c b/decomp/Agent_Release_x64/full/functions/0x1400efa40.c new file mode 100644 index 00000000..16c34738 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efa40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efa40 Unwind@1400efa40 + * Pseudocode, not original source. */ + +void Unwind_1400efa40(undefined8 param_1,longlong param_2) + +{ + FUN_14002b6f0((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efa50.c b/decomp/Agent_Release_x64/full/functions/0x1400efa50.c new file mode 100644 index 00000000..f3f46fe8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efa50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efa50 Unwind@1400efa50 + * Pseudocode, not original source. */ + +void Unwind_1400efa50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002b570((longlong *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efa60.c b/decomp/Agent_Release_x64/full/functions/0x1400efa60.c new file mode 100644 index 00000000..8b6d7eef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efa60.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efa60 Catch@1400efa60 + * Pseudocode, not original source. */ + +undefined * Catch_1400efa60(undefined8 param_1,longlong param_2) + +{ + char *_Str; + + _Str = (char *)(**(code **)(**(longlong **)(param_2 + 0x48) + 8))(); + puts(_Str); + return &DAT_14002b19d; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efa90.c b/decomp/Agent_Release_x64/full/functions/0x1400efa90.c new file mode 100644 index 00000000..b3bc736b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efa90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efa90 Unwind@1400efa90 + * Pseudocode, not original source. */ + +void Unwind_1400efa90(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efaa0.c b/decomp/Agent_Release_x64/full/functions/0x1400efaa0.c new file mode 100644 index 00000000..ac785bcd --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efaa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efaa0 Unwind@1400efaa0 + * Pseudocode, not original source. */ + +void Unwind_1400efaa0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x80),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efab0.c b/decomp/Agent_Release_x64/full/functions/0x1400efab0.c new file mode 100644 index 00000000..3204c57b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efab0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efab0 Unwind@1400efab0 + * Pseudocode, not original source. */ + +void Unwind_1400efab0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(param_2 + 0x88),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efac0.c b/decomp/Agent_Release_x64/full/functions/0x1400efac0.c new file mode 100644 index 00000000..ab31b672 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efac0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efac0 Unwind@1400efac0 + * Pseudocode, not original source. */ + +void Unwind_1400efac0(undefined8 param_1,longlong param_2) + +{ + FUN_14002b6f0((undefined8 *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efad0.c b/decomp/Agent_Release_x64/full/functions/0x1400efad0.c new file mode 100644 index 00000000..69a8f0b8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efad0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efad0 Unwind@1400efad0 + * Pseudocode, not original source. */ + +void Unwind_1400efad0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efae0.c b/decomp/Agent_Release_x64/full/functions/0x1400efae0.c new file mode 100644 index 00000000..7d87771b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efae0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efae0 Unwind@1400efae0 + * Pseudocode, not original source. */ + +void Unwind_1400efae0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x1f8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efaf0.c b/decomp/Agent_Release_x64/full/functions/0x1400efaf0.c new file mode 100644 index 00000000..1ae0f28b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efaf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efaf0 Unwind@1400efaf0 + * Pseudocode, not original source. */ + +void Unwind_1400efaf0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x180)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efb00.c b/decomp/Agent_Release_x64/full/functions/0x1400efb00.c new file mode 100644 index 00000000..f952d06a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efb00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efb00 Unwind@1400efb00 + * Pseudocode, not original source. */ + +void Unwind_1400efb00(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x158)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efb10.c b/decomp/Agent_Release_x64/full/functions/0x1400efb10.c new file mode 100644 index 00000000..96f67289 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efb10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efb10 Unwind@1400efb10 + * Pseudocode, not original source. */ + +void Unwind_1400efb10(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x1d0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efb20.c b/decomp/Agent_Release_x64/full/functions/0x1400efb20.c new file mode 100644 index 00000000..5cd1a5ec --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efb20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efb20 Unwind@1400efb20 + * Pseudocode, not original source. */ + +void Unwind_1400efb20(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14000ecf0((undefined8 *)(param_2 + 0xd0),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efb30.c b/decomp/Agent_Release_x64/full/functions/0x1400efb30.c new file mode 100644 index 00000000..3e513438 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efb30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efb30 Unwind@1400efb30 + * Pseudocode, not original source. */ + +void Unwind_1400efb30(undefined8 param_1,longlong param_2) + +{ + FUN_140011160((undefined8 *)(param_2 + 0xd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efb40.c b/decomp/Agent_Release_x64/full/functions/0x1400efb40.c new file mode 100644 index 00000000..b8873d04 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efb40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efb40 Unwind@1400efb40 + * Pseudocode, not original source. */ + +void Unwind_1400efb40(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x108)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efb50.c b/decomp/Agent_Release_x64/full/functions/0x1400efb50.c new file mode 100644 index 00000000..129e765d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efb50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efb50 Unwind@1400efb50 + * Pseudocode, not original source. */ + +void Unwind_1400efb50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14000ecf0((undefined8 *)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efb60.c b/decomp/Agent_Release_x64/full/functions/0x1400efb60.c new file mode 100644 index 00000000..5cd80f9e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efb60.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efb60 Unwind@1400efb60 + * Pseudocode, not original source. */ + +void Unwind_1400efb60(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400efb67. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efb70.c b/decomp/Agent_Release_x64/full/functions/0x1400efb70.c new file mode 100644 index 00000000..d318454b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efb70.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efb70 Unwind@1400efb70 + * Pseudocode, not original source. */ + +void Unwind_1400efb70(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400efb77. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efb80.c b/decomp/Agent_Release_x64/full/functions/0x1400efb80.c new file mode 100644 index 00000000..fae9e0f4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efb80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efb80 Unwind@1400efb80 + * Pseudocode, not original source. */ + +void Unwind_1400efb80(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x158)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efb90.c b/decomp/Agent_Release_x64/full/functions/0x1400efb90.c new file mode 100644 index 00000000..fa685d25 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efb90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efb90 Unwind@1400efb90 + * Pseudocode, not original source. */ + +void Unwind_1400efb90(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x1a8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efba0.c b/decomp/Agent_Release_x64/full/functions/0x1400efba0.c new file mode 100644 index 00000000..ac9f4128 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efba0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efba0 Unwind@1400efba0 + * Pseudocode, not original source. */ + +void Unwind_1400efba0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x1d0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efbb0.c b/decomp/Agent_Release_x64/full/functions/0x1400efbb0.c new file mode 100644 index 00000000..79a2683d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efbb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efbb0 Unwind@1400efbb0 + * Pseudocode, not original source. */ + +void Unwind_1400efbb0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x220)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efbc0.c b/decomp/Agent_Release_x64/full/functions/0x1400efbc0.c new file mode 100644 index 00000000..a0c9179a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efbc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efbc0 Unwind@1400efbc0 + * Pseudocode, not original source. */ + +void Unwind_1400efbc0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x1d0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efbd0.c b/decomp/Agent_Release_x64/full/functions/0x1400efbd0.c new file mode 100644 index 00000000..fe1598f2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efbd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efbd0 Unwind@1400efbd0 + * Pseudocode, not original source. */ + +void Unwind_1400efbd0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x220)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efbe0.c b/decomp/Agent_Release_x64/full/functions/0x1400efbe0.c new file mode 100644 index 00000000..965061eb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efbe0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efbe0 Unwind@1400efbe0 + * Pseudocode, not original source. */ + +void Unwind_1400efbe0(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400efbe7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efbf0.c b/decomp/Agent_Release_x64/full/functions/0x1400efbf0.c new file mode 100644 index 00000000..73db5585 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efbf0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efbf0 Unwind@1400efbf0 + * Pseudocode, not original source. */ + +void Unwind_1400efbf0(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400efbf7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efc00.c b/decomp/Agent_Release_x64/full/functions/0x1400efc00.c new file mode 100644 index 00000000..0116543f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efc00.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efc00 Unwind@1400efc00 + * Pseudocode, not original source. */ + +void Unwind_1400efc00(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400efc07. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efc10.c b/decomp/Agent_Release_x64/full/functions/0x1400efc10.c new file mode 100644 index 00000000..2d6595b4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efc10.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efc10 Unwind@1400efc10 + * Pseudocode, not original source. */ + +void Unwind_1400efc10(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400efc17. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efc20.c b/decomp/Agent_Release_x64/full/functions/0x1400efc20.c new file mode 100644 index 00000000..2ea9a602 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efc20.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efc20 Unwind@1400efc20 + * Pseudocode, not original source. */ + +void Unwind_1400efc20(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400efc27. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efc30.c b/decomp/Agent_Release_x64/full/functions/0x1400efc30.c new file mode 100644 index 00000000..2247abe7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efc30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efc30 Unwind@1400efc30 + * Pseudocode, not original source. */ + +void Unwind_1400efc30(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x158)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efc40.c b/decomp/Agent_Release_x64/full/functions/0x1400efc40.c new file mode 100644 index 00000000..30ee3c46 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efc40.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efc40 Unwind@1400efc40 + * Pseudocode, not original source. */ + +void Unwind_1400efc40(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400efc47. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efc50.c b/decomp/Agent_Release_x64/full/functions/0x1400efc50.c new file mode 100644 index 00000000..debd1af5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efc50.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efc50 Unwind@1400efc50 + * Pseudocode, not original source. */ + +void Unwind_1400efc50(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400efc57. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efc60.c b/decomp/Agent_Release_x64/full/functions/0x1400efc60.c new file mode 100644 index 00000000..b309d80c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efc60.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efc60 Unwind@1400efc60 + * Pseudocode, not original source. */ + +void Unwind_1400efc60(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400efc67. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efc70.c b/decomp/Agent_Release_x64/full/functions/0x1400efc70.c new file mode 100644 index 00000000..5a8e2d40 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efc70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efc70 Unwind@1400efc70 + * Pseudocode, not original source. */ + +void Unwind_1400efc70(undefined8 param_1,longlong param_2) + +{ + FUN_140011160((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efc80.c b/decomp/Agent_Release_x64/full/functions/0x1400efc80.c new file mode 100644 index 00000000..1bc2a397 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efc80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efc80 Unwind@1400efc80 + * Pseudocode, not original source. */ + +void Unwind_1400efc80(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x88)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efc90.c b/decomp/Agent_Release_x64/full/functions/0x1400efc90.c new file mode 100644 index 00000000..f40ed73f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efc90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efc90 Unwind@1400efc90 + * Pseudocode, not original source. */ + +void Unwind_1400efc90(undefined8 param_1,longlong param_2) + +{ + FUN_140011160((undefined8 *)(param_2 + 0xd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efca0.c b/decomp/Agent_Release_x64/full/functions/0x1400efca0.c new file mode 100644 index 00000000..d6bb5109 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efca0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efca0 Unwind@1400efca0 + * Pseudocode, not original source. */ + +void Unwind_1400efca0(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x108)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efcb0.c b/decomp/Agent_Release_x64/full/functions/0x1400efcb0.c new file mode 100644 index 00000000..70a321a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efcb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efcb0 Unwind@1400efcb0 + * Pseudocode, not original source. */ + +void Unwind_1400efcb0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14000ecf0((undefined8 *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efcc0.c b/decomp/Agent_Release_x64/full/functions/0x1400efcc0.c new file mode 100644 index 00000000..c7c0fad4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efcc0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efcc0 Unwind@1400efcc0 + * Pseudocode, not original source. */ + +void Unwind_1400efcc0(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400efcc7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efcd0.c b/decomp/Agent_Release_x64/full/functions/0x1400efcd0.c new file mode 100644 index 00000000..13120157 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efcd0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efcd0 Unwind@1400efcd0 + * Pseudocode, not original source. */ + +void Unwind_1400efcd0(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400efcd7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efce0.c b/decomp/Agent_Release_x64/full/functions/0x1400efce0.c new file mode 100644 index 00000000..f90fa405 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efce0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efce0 Unwind@1400efce0 + * Pseudocode, not original source. */ + +void Unwind_1400efce0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efcf0.c b/decomp/Agent_Release_x64/full/functions/0x1400efcf0.c new file mode 100644 index 00000000..1ec48eaf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efcf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efcf0 Unwind@1400efcf0 + * Pseudocode, not original source. */ + +void Unwind_1400efcf0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efd00.c b/decomp/Agent_Release_x64/full/functions/0x1400efd00.c new file mode 100644 index 00000000..eb117740 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efd00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efd00 Unwind@1400efd00 + * Pseudocode, not original source. */ + +void Unwind_1400efd00(undefined8 param_1,longlong param_2) + +{ + FUN_140011160((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efd10.c b/decomp/Agent_Release_x64/full/functions/0x1400efd10.c new file mode 100644 index 00000000..f449221b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efd10.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efd10 Unwind@1400efd10 + * Pseudocode, not original source. */ + +void Unwind_1400efd10(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efd20.c b/decomp/Agent_Release_x64/full/functions/0x1400efd20.c new file mode 100644 index 00000000..d55ed265 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efd20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efd20 Unwind@1400efd20 + * Pseudocode, not original source. */ + +void Unwind_1400efd20(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14000ecf0((undefined8 *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efd30.c b/decomp/Agent_Release_x64/full/functions/0x1400efd30.c new file mode 100644 index 00000000..9e54e992 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efd30.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efd30 Unwind@1400efd30 + * Pseudocode, not original source. */ + +void Unwind_1400efd30(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400efd37. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efd40.c b/decomp/Agent_Release_x64/full/functions/0x1400efd40.c new file mode 100644 index 00000000..1504f144 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efd40.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efd40 Unwind@1400efd40 + * Pseudocode, not original source. */ + +void Unwind_1400efd40(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400efd47. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efd50.c b/decomp/Agent_Release_x64/full/functions/0x1400efd50.c new file mode 100644 index 00000000..1502f177 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efd50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efd50 Unwind@1400efd50 + * Pseudocode, not original source. */ + +void Unwind_1400efd50(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efd60.c b/decomp/Agent_Release_x64/full/functions/0x1400efd60.c new file mode 100644 index 00000000..4e40d40b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efd60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efd60 Unwind@1400efd60 + * Pseudocode, not original source. */ + +void Unwind_1400efd60(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efd70.c b/decomp/Agent_Release_x64/full/functions/0x1400efd70.c new file mode 100644 index 00000000..5d305b7c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efd70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efd70 Unwind@1400efd70 + * Pseudocode, not original source. */ + +void Unwind_1400efd70(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efd80.c b/decomp/Agent_Release_x64/full/functions/0x1400efd80.c new file mode 100644 index 00000000..43177030 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efd80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efd80 Unwind@1400efd80 + * Pseudocode, not original source. */ + +void Unwind_1400efd80(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x150)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efd90.c b/decomp/Agent_Release_x64/full/functions/0x1400efd90.c new file mode 100644 index 00000000..60a4e7c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efd90.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efd90 Unwind@1400efd90 + * Pseudocode, not original source. */ + +void Unwind_1400efd90(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400efd97. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efda0.c b/decomp/Agent_Release_x64/full/functions/0x1400efda0.c new file mode 100644 index 00000000..f7ff082d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efda0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efda0 Unwind@1400efda0 + * Pseudocode, not original source. */ + +void Unwind_1400efda0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efdb0.c b/decomp/Agent_Release_x64/full/functions/0x1400efdb0.c new file mode 100644 index 00000000..ecca0ffe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efdb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efdb0 Unwind@1400efdb0 + * Pseudocode, not original source. */ + +void Unwind_1400efdb0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efdc0.c b/decomp/Agent_Release_x64/full/functions/0x1400efdc0.c new file mode 100644 index 00000000..0aabb04e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efdc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efdc0 Unwind@1400efdc0 + * Pseudocode, not original source. */ + +void Unwind_1400efdc0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0xb8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efdd0.c b/decomp/Agent_Release_x64/full/functions/0x1400efdd0.c new file mode 100644 index 00000000..964b53a0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efdd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efdd0 Unwind@1400efdd0 + * Pseudocode, not original source. */ + +void Unwind_1400efdd0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0xe0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efde0.c b/decomp/Agent_Release_x64/full/functions/0x1400efde0.c new file mode 100644 index 00000000..6b1dda8f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efde0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efde0 Unwind@1400efde0 + * Pseudocode, not original source. */ + +void Unwind_1400efde0(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400efde7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efdf0.c b/decomp/Agent_Release_x64/full/functions/0x1400efdf0.c new file mode 100644 index 00000000..856b55d2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efdf0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efdf0 Unwind@1400efdf0 + * Pseudocode, not original source. */ + +void Unwind_1400efdf0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x150)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efe00.c b/decomp/Agent_Release_x64/full/functions/0x1400efe00.c new file mode 100644 index 00000000..c417f4c2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efe00.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efe00 Unwind@1400efe00 + * Pseudocode, not original source. */ + +void Unwind_1400efe00(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efe10.c b/decomp/Agent_Release_x64/full/functions/0x1400efe10.c new file mode 100644 index 00000000..eba19f67 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efe10.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efe10 Unwind@1400efe10 + * Pseudocode, not original source. */ + +void Unwind_1400efe10(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400efe17. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efe20.c b/decomp/Agent_Release_x64/full/functions/0x1400efe20.c new file mode 100644 index 00000000..29160715 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efe20.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efe20 Unwind@1400efe20 + * Pseudocode, not original source. */ + +void Unwind_1400efe20(undefined8 param_1,longlong param_2) + +{ + FUN_140011160((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efe30.c b/decomp/Agent_Release_x64/full/functions/0x1400efe30.c new file mode 100644 index 00000000..1bc3cd49 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efe30.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efe30 Unwind@1400efe30 + * Pseudocode, not original source. */ + +void Unwind_1400efe30(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efe40.c b/decomp/Agent_Release_x64/full/functions/0x1400efe40.c new file mode 100644 index 00000000..b0394da2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efe40.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efe40 Unwind@1400efe40 + * Pseudocode, not original source. */ + +void Unwind_1400efe40(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14000ecf0((undefined8 *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efe50.c b/decomp/Agent_Release_x64/full/functions/0x1400efe50.c new file mode 100644 index 00000000..0250fe9b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efe50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efe50 Unwind@1400efe50 + * Pseudocode, not original source. */ + +void Unwind_1400efe50(undefined8 param_1,longlong param_2) + +{ + FUN_140011160((undefined8 *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efe60.c b/decomp/Agent_Release_x64/full/functions/0x1400efe60.c new file mode 100644 index 00000000..c4ff24cf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efe60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efe60 Unwind@1400efe60 + * Pseudocode, not original source. */ + +void Unwind_1400efe60(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efe70.c b/decomp/Agent_Release_x64/full/functions/0x1400efe70.c new file mode 100644 index 00000000..c2da16d4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efe70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efe70 Unwind@1400efe70 + * Pseudocode, not original source. */ + +void Unwind_1400efe70(undefined8 param_1,longlong param_2) + +{ + FUN_140011160((undefined8 *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efe80.c b/decomp/Agent_Release_x64/full/functions/0x1400efe80.c new file mode 100644 index 00000000..e3f8f380 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efe80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efe80 Unwind@1400efe80 + * Pseudocode, not original source. */ + +void Unwind_1400efe80(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efe90.c b/decomp/Agent_Release_x64/full/functions/0x1400efe90.c new file mode 100644 index 00000000..85951097 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efe90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efe90 Unwind@1400efe90 + * Pseudocode, not original source. */ + +void Unwind_1400efe90(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x1b0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efea0.c b/decomp/Agent_Release_x64/full/functions/0x1400efea0.c new file mode 100644 index 00000000..6d50af16 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efea0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efea0 Unwind@1400efea0 + * Pseudocode, not original source. */ + +void Unwind_1400efea0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efeb0.c b/decomp/Agent_Release_x64/full/functions/0x1400efeb0.c new file mode 100644 index 00000000..551c82bf --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efeb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efeb0 Unwind@1400efeb0 + * Pseudocode, not original source. */ + +void Unwind_1400efeb0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14000ecf0((undefined8 *)(param_2 + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efec0.c b/decomp/Agent_Release_x64/full/functions/0x1400efec0.c new file mode 100644 index 00000000..e5b07db5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efec0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efec0 Unwind@1400efec0 + * Pseudocode, not original source. */ + +void Unwind_1400efec0(undefined8 param_1,longlong param_2) + +{ + FUN_140011160((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efed0.c b/decomp/Agent_Release_x64/full/functions/0x1400efed0.c new file mode 100644 index 00000000..8c742792 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efed0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efed0 Unwind@1400efed0 + * Pseudocode, not original source. */ + +void Unwind_1400efed0(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efee0.c b/decomp/Agent_Release_x64/full/functions/0x1400efee0.c new file mode 100644 index 00000000..e8c5c73d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efee0.c @@ -0,0 +1,15 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efee0 Unwind@1400efee0 + * Pseudocode, not original source. */ + +void Unwind_1400efee0(undefined8 param_1,longlong param_2) + +{ + if ((*(uint *)(param_2 + 0x20) & 1) != 0) { + *(uint *)(param_2 + 0x20) = *(uint *)(param_2 + 0x20) & 0xfffffffe; + std::basic_ios_>::~basic_ios_> + ((basic_ios_> *)(param_2 + 0x148)); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eff20.c b/decomp/Agent_Release_x64/full/functions/0x1400eff20.c new file mode 100644 index 00000000..8f3a74b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eff20.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eff20 Unwind@1400eff20 + * Pseudocode, not original source. */ + +void Unwind_1400eff20(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400eff2b. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::basic_ostream_>::~basic_ostream_> + ((basic_ostream_> *)(param_2 + 200)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eff40.c b/decomp/Agent_Release_x64/full/functions/0x1400eff40.c new file mode 100644 index 00000000..44136a7a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eff40.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eff40 Unwind@1400eff40 + * Pseudocode, not original source. */ + +void Unwind_1400eff40(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400eff47. Too many branches */ + /* WARNING: Treating indirect jump as call */ + std::basic_streambuf_>::~basic_streambuf_> + (*(basic_streambuf_> **)(param_2 + 0x228)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eff50.c b/decomp/Agent_Release_x64/full/functions/0x1400eff50.c new file mode 100644 index 00000000..a3256d78 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eff50.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eff50 Unwind@1400eff50 + * Pseudocode, not original source. */ + +void Unwind_1400eff50(undefined8 param_1,longlong param_2) + +{ + FUN_140023bb0(param_2 + 0xc0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eff60.c b/decomp/Agent_Release_x64/full/functions/0x1400eff60.c new file mode 100644 index 00000000..27e0cdf1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eff60.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eff60 Unwind@1400eff60 + * Pseudocode, not original source. */ + +void Unwind_1400eff60(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x1d8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eff70.c b/decomp/Agent_Release_x64/full/functions/0x1400eff70.c new file mode 100644 index 00000000..a466e5fb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eff70.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eff70 Unwind@1400eff70 + * Pseudocode, not original source. */ + +void Unwind_1400eff70(undefined8 param_1,longlong param_2) + +{ + FUN_140011160((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eff80.c b/decomp/Agent_Release_x64/full/functions/0x1400eff80.c new file mode 100644 index 00000000..303f70bc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eff80.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eff80 Unwind@1400eff80 + * Pseudocode, not original source. */ + +void Unwind_1400eff80(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x68)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400eff90.c b/decomp/Agent_Release_x64/full/functions/0x1400eff90.c new file mode 100644 index 00000000..f4baad74 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400eff90.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400eff90 Unwind@1400eff90 + * Pseudocode, not original source. */ + +void Unwind_1400eff90(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0xd0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400effa0.c b/decomp/Agent_Release_x64/full/functions/0x1400effa0.c new file mode 100644 index 00000000..03ed5feb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400effa0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400effa0 Unwind@1400effa0 + * Pseudocode, not original source. */ + +void Unwind_1400effa0(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0xa8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400effb0.c b/decomp/Agent_Release_x64/full/functions/0x1400effb0.c new file mode 100644 index 00000000..07a66b93 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400effb0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400effb0 Unwind@1400effb0 + * Pseudocode, not original source. */ + +void Unwind_1400effb0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14000ecf0((undefined8 *)(param_2 + 0x20),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400effc0.c b/decomp/Agent_Release_x64/full/functions/0x1400effc0.c new file mode 100644 index 00000000..e6e7cd08 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400effc0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400effc0 Unwind@1400effc0 + * Pseudocode, not original source. */ + +void Unwind_1400effc0(undefined8 param_1,longlong param_2) + +{ + FUN_140011160((undefined8 *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400effd0.c b/decomp/Agent_Release_x64/full/functions/0x1400effd0.c new file mode 100644 index 00000000..b40ae52a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400effd0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400effd0 Unwind@1400effd0 + * Pseudocode, not original source. */ + +void Unwind_1400effd0(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400effe0.c b/decomp/Agent_Release_x64/full/functions/0x1400effe0.c new file mode 100644 index 00000000..0ef02259 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400effe0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400effe0 Unwind@1400effe0 + * Pseudocode, not original source. */ + +void Unwind_1400effe0(undefined8 param_1,longlong param_2) + +{ + FUN_140011160((undefined8 *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400efff0.c b/decomp/Agent_Release_x64/full/functions/0x1400efff0.c new file mode 100644 index 00000000..9dc66319 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400efff0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400efff0 Unwind@1400efff0 + * Pseudocode, not original source. */ + +void Unwind_1400efff0(undefined8 param_1,longlong param_2) + +{ + FUN_14000ecc0((undefined8 *)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0000.c b/decomp/Agent_Release_x64/full/functions/0x1400f0000.c new file mode 100644 index 00000000..50856b5d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0000.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0000 Unwind@1400f0000 + * Pseudocode, not original source. */ + +void Unwind_1400f0000(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0010.c b/decomp/Agent_Release_x64/full/functions/0x1400f0010.c new file mode 100644 index 00000000..8ab47b0c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0010.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0010 Unwind@1400f0010 + * Pseudocode, not original source. */ + +void Unwind_1400f0010(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0xb0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0020.c b/decomp/Agent_Release_x64/full/functions/0x1400f0020.c new file mode 100644 index 00000000..0bf15b99 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0020.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0020 Unwind@1400f0020 + * Pseudocode, not original source. */ + +void Unwind_1400f0020(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x78)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0030.c b/decomp/Agent_Release_x64/full/functions/0x1400f0030.c new file mode 100644 index 00000000..f9aa442c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0030.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0030 Unwind@1400f0030 + * Pseudocode, not original source. */ + +void Unwind_1400f0030(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10(*(undefined8 **)(param_2 + 0x160)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0040.c b/decomp/Agent_Release_x64/full/functions/0x1400f0040.c new file mode 100644 index 00000000..c76a948a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0040.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0040 Unwind@1400f0040 + * Pseudocode, not original source. */ + +void Unwind_1400f0040(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10(*(undefined8 **)(param_2 + 0x168)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0050.c b/decomp/Agent_Release_x64/full/functions/0x1400f0050.c new file mode 100644 index 00000000..362edbc5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0050.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0050 Unwind@1400f0050 + * Pseudocode, not original source. */ + +void Unwind_1400f0050(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x48); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0060.c b/decomp/Agent_Release_x64/full/functions/0x1400f0060.c new file mode 100644 index 00000000..5909ff87 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0060.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0060 Unwind@1400f0060 + * Pseudocode, not original source. */ + +void Unwind_1400f0060(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xa8) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0070.c b/decomp/Agent_Release_x64/full/functions/0x1400f0070.c new file mode 100644 index 00000000..2b4ab361 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0070.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0070 Unwind@1400f0070 + * Pseudocode, not original source. */ + +void Unwind_1400f0070(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x48); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0080.c b/decomp/Agent_Release_x64/full/functions/0x1400f0080.c new file mode 100644 index 00000000..a7372250 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0080.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0080 Unwind@1400f0080 + * Pseudocode, not original source. */ + +void Unwind_1400f0080(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xb8) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0090.c b/decomp/Agent_Release_x64/full/functions/0x1400f0090.c new file mode 100644 index 00000000..8cd899b3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0090.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0090 Unwind@1400f0090 + * Pseudocode, not original source. */ + +void Unwind_1400f0090(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x48); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f00a0.c b/decomp/Agent_Release_x64/full/functions/0x1400f00a0.c new file mode 100644 index 00000000..668f5848 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f00a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f00a0 Unwind@1400f00a0 + * Pseudocode, not original source. */ + +void Unwind_1400f00a0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xb0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f00b0.c b/decomp/Agent_Release_x64/full/functions/0x1400f00b0.c new file mode 100644 index 00000000..7445ee04 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f00b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f00b0 Unwind@1400f00b0 + * Pseudocode, not original source. */ + +void Unwind_1400f00b0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c1c0(param_2 + 0x48); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f00c0.c b/decomp/Agent_Release_x64/full/functions/0x1400f00c0.c new file mode 100644 index 00000000..10f39666 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f00c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f00c0 Unwind@1400f00c0 + * Pseudocode, not original source. */ + +void Unwind_1400f00c0(undefined8 param_1,longlong param_2) + +{ + FUN_14001c150((longlong *)(*(longlong *)(param_2 + 0xa0) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f00d0.c b/decomp/Agent_Release_x64/full/functions/0x1400f00d0.c new file mode 100644 index 00000000..44ddfa5b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f00d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f00d0 Unwind@1400f00d0 + * Pseudocode, not original source. */ + +void Unwind_1400f00d0(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x70)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f00e0.c b/decomp/Agent_Release_x64/full/functions/0x1400f00e0.c new file mode 100644 index 00000000..522e5656 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f00e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f00e0 Unwind@1400f00e0 + * Pseudocode, not original source. */ + +void Unwind_1400f00e0(undefined8 param_1,longlong param_2) + +{ + FUN_140004e10(*(longlong *)(param_2 + 0x140)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f00f0.c b/decomp/Agent_Release_x64/full/functions/0x1400f00f0.c new file mode 100644 index 00000000..5d85f0f1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f00f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f00f0 Unwind@1400f00f0 + * Pseudocode, not original source. */ + +void Unwind_1400f00f0(undefined8 param_1,longlong param_2) + +{ + FUN_1400094b0(param_2 + 0x50); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0100.c b/decomp/Agent_Release_x64/full/functions/0x1400f0100.c new file mode 100644 index 00000000..dd3b8111 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0100.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0100 Unwind@1400f0100 + * Pseudocode, not original source. */ + +void Unwind_1400f0100(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x170)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0110.c b/decomp/Agent_Release_x64/full/functions/0x1400f0110.c new file mode 100644 index 00000000..ad1b607f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0110.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0110 Unwind@1400f0110 + * Pseudocode, not original source. */ + +void Unwind_1400f0110(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x198)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0120.c b/decomp/Agent_Release_x64/full/functions/0x1400f0120.c new file mode 100644 index 00000000..e0dba4a4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0120.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0120 Unwind@1400f0120 + * Pseudocode, not original source. */ + +void Unwind_1400f0120(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x148)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0130.c b/decomp/Agent_Release_x64/full/functions/0x1400f0130.c new file mode 100644 index 00000000..093c338d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0130.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0130 Unwind@1400f0130 + * Pseudocode, not original source. */ + +void Unwind_1400f0130(undefined8 param_1,longlong param_2) + +{ + FUN_140004f80((undefined8 *)(param_2 + 0x1e8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0140.c b/decomp/Agent_Release_x64/full/functions/0x1400f0140.c new file mode 100644 index 00000000..7e1e4bd2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0140.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0140 Unwind@1400f0140 + * Pseudocode, not original source. */ + +void Unwind_1400f0140(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x1c0)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0150.c b/decomp/Agent_Release_x64/full/functions/0x1400f0150.c new file mode 100644 index 00000000..dd7e3b6f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0150.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0150 Unwind@1400f0150 + * Pseudocode, not original source. */ + +void Unwind_1400f0150(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0160.c b/decomp/Agent_Release_x64/full/functions/0x1400f0160.c new file mode 100644 index 00000000..2e0e7cea --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0160.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0160 Unwind@1400f0160 + * Pseudocode, not original source. */ + +void Unwind_1400f0160(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10(*(undefined8 **)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0170.c b/decomp/Agent_Release_x64/full/functions/0x1400f0170.c new file mode 100644 index 00000000..00b8261c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0170.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0170 Unwind@1400f0170 + * Pseudocode, not original source. */ + +void Unwind_1400f0170(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x210)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0180.c b/decomp/Agent_Release_x64/full/functions/0x1400f0180.c new file mode 100644 index 00000000..60afe1d0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0180.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0180 Unwind@1400f0180 + * Pseudocode, not original source. */ + +void Unwind_1400f0180(void) + +{ + DAT_14016319c = DAT_14016319c & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f01a0.c b/decomp/Agent_Release_x64/full/functions/0x1400f01a0.c new file mode 100644 index 00000000..0ce11356 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f01a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f01a0 Unwind@1400f01a0 + * Pseudocode, not original source. */ + +void Unwind_1400f01a0(void) + +{ + DAT_14016319c = DAT_14016319c & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f01c0.c b/decomp/Agent_Release_x64/full/functions/0x1400f01c0.c new file mode 100644 index 00000000..459c9c0b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f01c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f01c0 Unwind@1400f01c0 + * Pseudocode, not original source. */ + +void Unwind_1400f01c0(void) + +{ + DAT_14016319c = DAT_14016319c & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f01e0.c b/decomp/Agent_Release_x64/full/functions/0x1400f01e0.c new file mode 100644 index 00000000..a7c561e4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f01e0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f01e0 Unwind@1400f01e0 + * Pseudocode, not original source. */ + +void Unwind_1400f01e0(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400f01e7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f01f0.c b/decomp/Agent_Release_x64/full/functions/0x1400f01f0.c new file mode 100644 index 00000000..5282bc71 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f01f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f01f0 Unwind@1400f01f0 + * Pseudocode, not original source. */ + +void Unwind_1400f01f0(undefined8 param_1,longlong param_2) + +{ + FUN_14000b950(*(undefined8 **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0200.c b/decomp/Agent_Release_x64/full/functions/0x1400f0200.c new file mode 100644 index 00000000..ed04f069 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0200.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0200 Unwind@1400f0200 + * Pseudocode, not original source. */ + +void Unwind_1400f0200(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10((undefined8 *)(*(longlong *)(param_2 + 0x48) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0210.c b/decomp/Agent_Release_x64/full/functions/0x1400f0210.c new file mode 100644 index 00000000..95725a60 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0210.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0210 Unwind@1400f0210 + * Pseudocode, not original source. */ + +void Unwind_1400f0210(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400f0217. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0220.c b/decomp/Agent_Release_x64/full/functions/0x1400f0220.c new file mode 100644 index 00000000..0a0cdf69 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0220.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0220 Unwind@1400f0220 + * Pseudocode, not original source. */ + +void Unwind_1400f0220(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400f0227. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0230.c b/decomp/Agent_Release_x64/full/functions/0x1400f0230.c new file mode 100644 index 00000000..1620182f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0230.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0230 Unwind@1400f0230 + * Pseudocode, not original source. */ + +void Unwind_1400f0230(void) + +{ + FUN_14000eb60(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0240.c b/decomp/Agent_Release_x64/full/functions/0x1400f0240.c new file mode 100644 index 00000000..328662c4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0240.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0240 Unwind@1400f0240 + * Pseudocode, not original source. */ + +void Unwind_1400f0240(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400f0247. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0250.c b/decomp/Agent_Release_x64/full/functions/0x1400f0250.c new file mode 100644 index 00000000..f1b59012 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0250.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0250 Unwind@1400f0250 + * Pseudocode, not original source. */ + +void Unwind_1400f0250(undefined8 param_1,longlong param_2) + +{ + FUN_1400032e0(*(undefined8 **)(param_2 + 0x40)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0260.c b/decomp/Agent_Release_x64/full/functions/0x1400f0260.c new file mode 100644 index 00000000..04c160a7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0260.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0260 Unwind@1400f0260 + * Pseudocode, not original source. */ + +void Unwind_1400f0260(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + thunk_FUN_140003240((longlong *)(*(longlong *)(param_2 + 0x40) + 0x30),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0270.c b/decomp/Agent_Release_x64/full/functions/0x1400f0270.c new file mode 100644 index 00000000..b12b6bcc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0270.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0270 Unwind@1400f0270 + * Pseudocode, not original source. */ + +void Unwind_1400f0270(void) + +{ + DAT_14016319c = DAT_14016319c & 0xfffffffe; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0290.c b/decomp/Agent_Release_x64/full/functions/0x1400f0290.c new file mode 100644 index 00000000..63515db3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0290.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0290 Unwind@1400f0290 + * Pseudocode, not original source. */ + +void Unwind_1400f0290(undefined8 param_1,longlong param_2) + +{ + FUN_140004af0((undefined8 *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f02a0.c b/decomp/Agent_Release_x64/full/functions/0x1400f02a0.c new file mode 100644 index 00000000..2385c500 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f02a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f02a0 Unwind@1400f02a0 + * Pseudocode, not original source. */ + +void Unwind_1400f02a0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f02c0.c b/decomp/Agent_Release_x64/full/functions/0x1400f02c0.c new file mode 100644 index 00000000..bbc66a3b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f02c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f02c0 Unwind@1400f02c0 + * Pseudocode, not original source. */ + +void Unwind_1400f02c0(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f02e0.c b/decomp/Agent_Release_x64/full/functions/0x1400f02e0.c new file mode 100644 index 00000000..99ee8619 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f02e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f02e0 Unwind@1400f02e0 + * Pseudocode, not original source. */ + +void Unwind_1400f02e0(undefined8 param_1,longlong param_2) + +{ + FUN_140004e10(param_2 + 0x90); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f02f0.c b/decomp/Agent_Release_x64/full/functions/0x1400f02f0.c new file mode 100644 index 00000000..8964debe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f02f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f02f0 Unwind@1400f02f0 + * Pseudocode, not original source. */ + +void Unwind_1400f02f0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x60)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0300.c b/decomp/Agent_Release_x64/full/functions/0x1400f0300.c new file mode 100644 index 00000000..5395d28d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0300.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0300 Unwind@1400f0300 + * Pseudocode, not original source. */ + +void Unwind_1400f0300(undefined8 param_1,longlong param_2) + +{ + FUN_140004af0((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0310.c b/decomp/Agent_Release_x64/full/functions/0x1400f0310.c new file mode 100644 index 00000000..b747e565 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0310.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0310 Unwind@1400f0310 + * Pseudocode, not original source. */ + +void Unwind_1400f0310(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0330.c b/decomp/Agent_Release_x64/full/functions/0x1400f0330.c new file mode 100644 index 00000000..bda94f91 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0330.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0330 Unwind@1400f0330 + * Pseudocode, not original source. */ + +void Unwind_1400f0330(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0350.c b/decomp/Agent_Release_x64/full/functions/0x1400f0350.c new file mode 100644 index 00000000..1599993e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0350.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0350 Unwind@1400f0350 + * Pseudocode, not original source. */ + +void Unwind_1400f0350(undefined8 param_1,longlong param_2) + +{ + FUN_140004e10(param_2 + 0x100); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0360.c b/decomp/Agent_Release_x64/full/functions/0x1400f0360.c new file mode 100644 index 00000000..77f7b6ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0360.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0360 Unwind@1400f0360 + * Pseudocode, not original source. */ + +void Unwind_1400f0360(undefined8 param_1,longlong param_2) + +{ + FUN_14002c350(param_2 + 0x100); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0370.c b/decomp/Agent_Release_x64/full/functions/0x1400f0370.c new file mode 100644 index 00000000..ab2d814b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0370.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0370 Unwind@1400f0370 + * Pseudocode, not original source. */ + +void Unwind_1400f0370(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140002130(*(undefined8 **)(param_2 + 0x50),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0380.c b/decomp/Agent_Release_x64/full/functions/0x1400f0380.c new file mode 100644 index 00000000..a9dffbd9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0380.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0380 Unwind@1400f0380 + * Pseudocode, not original source. */ + +void Unwind_1400f0380(undefined8 param_1,longlong param_2) + +{ + FUN_140021150((undefined8 *)(*(longlong *)(param_2 + 0x50) + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0390.c b/decomp/Agent_Release_x64/full/functions/0x1400f0390.c new file mode 100644 index 00000000..1218c5fa --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0390.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0390 Unwind@1400f0390 + * Pseudocode, not original source. */ + +void Unwind_1400f0390(undefined8 param_1,longlong param_2) + +{ + FUN_140081fe0(*(undefined8 **)(param_2 + 0x58)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f03a0.c b/decomp/Agent_Release_x64/full/functions/0x1400f03a0.c new file mode 100644 index 00000000..5e028fe9 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f03a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f03a0 Unwind@1400f03a0 + * Pseudocode, not original source. */ + +void Unwind_1400f03a0(undefined8 param_1,longlong param_2) + +{ + FUN_140004af0((undefined8 *)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f03b0.c b/decomp/Agent_Release_x64/full/functions/0x1400f03b0.c new file mode 100644 index 00000000..fa6702af --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f03b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f03b0 Unwind@1400f03b0 + * Pseudocode, not original source. */ + +void Unwind_1400f03b0(undefined8 param_1,longlong param_2) + +{ + FUN_140004e10(param_2 + 0x50); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f03c0.c b/decomp/Agent_Release_x64/full/functions/0x1400f03c0.c new file mode 100644 index 00000000..9addfee2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f03c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f03c0 Unwind@1400f03c0 + * Pseudocode, not original source. */ + +void Unwind_1400f03c0(undefined8 param_1,longlong param_2) + +{ + FUN_140004af0((undefined8 *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f03d0.c b/decomp/Agent_Release_x64/full/functions/0x1400f03d0.c new file mode 100644 index 00000000..a1a59f1d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f03d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f03d0 Unwind@1400f03d0 + * Pseudocode, not original source. */ + +void Unwind_1400f03d0(undefined8 param_1,longlong param_2) + +{ + FUN_14002c350(param_2 + 0xc0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f03e0.c b/decomp/Agent_Release_x64/full/functions/0x1400f03e0.c new file mode 100644 index 00000000..15d6d698 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f03e0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f03e0 Unwind@1400f03e0 + * Pseudocode, not original source. */ + +void Unwind_1400f03e0(undefined8 param_1,longlong param_2) + +{ + FUN_140004af0((undefined8 *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f03f0.c b/decomp/Agent_Release_x64/full/functions/0x1400f03f0.c new file mode 100644 index 00000000..b725a7f3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f03f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f03f0 Unwind@1400f03f0 + * Pseudocode, not original source. */ + +void Unwind_1400f03f0(undefined8 param_1,longlong param_2) + +{ + FUN_140004af0((undefined8 *)(param_2 + 0x98)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0400.c b/decomp/Agent_Release_x64/full/functions/0x1400f0400.c new file mode 100644 index 00000000..8d843bb3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0400.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0400 Unwind@1400f0400 + * Pseudocode, not original source. */ + +void Unwind_1400f0400(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0410.c b/decomp/Agent_Release_x64/full/functions/0x1400f0410.c new file mode 100644 index 00000000..3a1e3ee2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0410.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0410 Unwind@1400f0410 + * Pseudocode, not original source. */ + +void Unwind_1400f0410(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400f0417. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0420.c b/decomp/Agent_Release_x64/full/functions/0x1400f0420.c new file mode 100644 index 00000000..0aee8ea2 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0420.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0420 Unwind@1400f0420 + * Pseudocode, not original source. */ + +void Unwind_1400f0420(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400f0427. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x30)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0430.c b/decomp/Agent_Release_x64/full/functions/0x1400f0430.c new file mode 100644 index 00000000..f1f5e95c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0430.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0430 Unwind@1400f0430 + * Pseudocode, not original source. */ + +void Unwind_1400f0430(undefined8 param_1,longlong param_2) + +{ + FUN_140004a00((longlong *)(param_2 + 0x20)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0440.c b/decomp/Agent_Release_x64/full/functions/0x1400f0440.c new file mode 100644 index 00000000..46a4c930 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0440.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0440 Unwind@1400f0440 + * Pseudocode, not original source. */ + +void Unwind_1400f0440(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400f0447. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x28)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0450.c b/decomp/Agent_Release_x64/full/functions/0x1400f0450.c new file mode 100644 index 00000000..9c6b1bd8 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0450.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0450 Unwind@1400f0450 + * Pseudocode, not original source. */ + +void Unwind_1400f0450(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10((undefined8 *)(*(longlong *)(param_2 + 0x28) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0460.c b/decomp/Agent_Release_x64/full/functions/0x1400f0460.c new file mode 100644 index 00000000..a83fb2a6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0460.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0460 Unwind@1400f0460 + * Pseudocode, not original source. */ + +void Unwind_1400f0460(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_14002e7a0((undefined4 *)(*(longlong *)(param_2 + 0x28) + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0470.c b/decomp/Agent_Release_x64/full/functions/0x1400f0470.c new file mode 100644 index 00000000..e9a804ee --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0470.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0470 Unwind@1400f0470 + * Pseudocode, not original source. */ + +void Unwind_1400f0470(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140004a60((longlong *)(param_2 + 0x28),param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0480.c b/decomp/Agent_Release_x64/full/functions/0x1400f0480.c new file mode 100644 index 00000000..2ff0f73b --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0480.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0480 Unwind@1400f0480 + * Pseudocode, not original source. */ + +void Unwind_1400f0480(undefined8 param_1,longlong param_2) + +{ + FUN_140029f60(param_2 + 0x1b0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0490.c b/decomp/Agent_Release_x64/full/functions/0x1400f0490.c new file mode 100644 index 00000000..89d7e5b1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0490.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0490 Unwind@1400f0490 + * Pseudocode, not original source. */ + +void Unwind_1400f0490(undefined8 param_1,longlong param_2) + +{ + FUN_140003210((longlong *)(param_2 + 0x50)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f04a0.c b/decomp/Agent_Release_x64/full/functions/0x1400f04a0.c new file mode 100644 index 00000000..47a21c3a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f04a0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f04a0 Unwind@1400f04a0 + * Pseudocode, not original source. */ + +void Unwind_1400f04a0(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400f04a7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f04b0.c b/decomp/Agent_Release_x64/full/functions/0x1400f04b0.c new file mode 100644 index 00000000..e06a602d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f04b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f04b0 Unwind@1400f04b0 + * Pseudocode, not original source. */ + +void Unwind_1400f04b0(undefined8 param_1,longlong param_2) + +{ + FUN_140016310(*(undefined8 **)(param_2 + 0x48)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f04c0.c b/decomp/Agent_Release_x64/full/functions/0x1400f04c0.c new file mode 100644 index 00000000..fb8c3516 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f04c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f04c0 Unwind@1400f04c0 + * Pseudocode, not original source. */ + +void Unwind_1400f04c0(undefined8 param_1,longlong param_2) + +{ + FUN_140004c10((undefined8 *)(*(longlong *)(param_2 + 0x48) + 8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f04d0.c b/decomp/Agent_Release_x64/full/functions/0x1400f04d0.c new file mode 100644 index 00000000..b86012df --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f04d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f04d0 Unwind@1400f04d0 + * Pseudocode, not original source. */ + +void Unwind_1400f04d0(undefined8 param_1,longlong param_2) + +{ + FUN_140010080((undefined8 *)(param_2 + 0x2078)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f04e0.c b/decomp/Agent_Release_x64/full/functions/0x1400f04e0.c new file mode 100644 index 00000000..2849efd7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f04e0.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f04e0 Unwind@1400f04e0 + * Pseudocode, not original source. */ + +void Unwind_1400f04e0(undefined8 param_1,longlong param_2) + +{ + /* WARNING: Could not recover jumptable at 0x0001400f04e7. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(*(void **)(param_2 + 0x2070)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f04f0.c b/decomp/Agent_Release_x64/full/functions/0x1400f04f0.c new file mode 100644 index 00000000..d3567930 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f04f0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f04f0 Unwind@1400f04f0 + * Pseudocode, not original source. */ + +void Unwind_1400f04f0(undefined8 param_1,longlong param_2) + +{ + FUN_140004af0((undefined8 *)(param_2 + 0x38)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0500.c b/decomp/Agent_Release_x64/full/functions/0x1400f0500.c new file mode 100644 index 00000000..42084eff --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0500.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0500 Unwind@1400f0500 + * Pseudocode, not original source. */ + +void Unwind_1400f0500(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0520.c b/decomp/Agent_Release_x64/full/functions/0x1400f0520.c new file mode 100644 index 00000000..de71c58a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0520.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0520 Unwind@1400f0520 + * Pseudocode, not original source. */ + +void Unwind_1400f0520(void) + +{ + FUN_140006b80(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0540.c b/decomp/Agent_Release_x64/full/functions/0x1400f0540.c new file mode 100644 index 00000000..36399975 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0540.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0540 Unwind@1400f0540 + * Pseudocode, not original source. */ + +void Unwind_1400f0540(undefined8 param_1,longlong param_2) + +{ + FUN_140004e10(param_2 + 0xc0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0550.c b/decomp/Agent_Release_x64/full/functions/0x1400f0550.c new file mode 100644 index 00000000..302ede4c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0550.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0550 Unwind@1400f0550 + * Pseudocode, not original source. */ + +void Unwind_1400f0550(undefined8 param_1,longlong param_2) + +{ + FUN_14002c350(param_2 + 0xc0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0560.c b/decomp/Agent_Release_x64/full/functions/0x1400f0560.c new file mode 100644 index 00000000..0018f05f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0560.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0560 Unwind@1400f0560 + * Pseudocode, not original source. */ + +void Unwind_1400f0560(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0xe8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0570.c b/decomp/Agent_Release_x64/full/functions/0x1400f0570.c new file mode 100644 index 00000000..7663a36d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0570.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0570 Unwind@1400f0570 + * Pseudocode, not original source. */ + +void Unwind_1400f0570(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0580.c b/decomp/Agent_Release_x64/full/functions/0x1400f0580.c new file mode 100644 index 00000000..bde74316 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0580.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0580 Unwind@1400f0580 + * Pseudocode, not original source. */ + +void Unwind_1400f0580(undefined8 param_1,longlong param_2) + +{ + FUN_140004e10(param_2 + 0xc0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0590.c b/decomp/Agent_Release_x64/full/functions/0x1400f0590.c new file mode 100644 index 00000000..f60e67c7 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0590.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0590 Unwind@1400f0590 + * Pseudocode, not original source. */ + +void Unwind_1400f0590(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0xe8)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f05a0.c b/decomp/Agent_Release_x64/full/functions/0x1400f05a0.c new file mode 100644 index 00000000..b7153ac5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f05a0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f05a0 Unwind@1400f05a0 + * Pseudocode, not original source. */ + +void Unwind_1400f05a0(undefined8 param_1,longlong param_2) + +{ + FUN_140025b50((undefined8 *)(param_2 + 0x110)); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f05b0.c b/decomp/Agent_Release_x64/full/functions/0x1400f05b0.c new file mode 100644 index 00000000..04249d9f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f05b0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f05b0 Unwind@1400f05b0 + * Pseudocode, not original source. */ + +void Unwind_1400f05b0(undefined8 param_1,longlong param_2) + +{ + FUN_140004e10(param_2 + 0xc0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f05c0.c b/decomp/Agent_Release_x64/full/functions/0x1400f05c0.c new file mode 100644 index 00000000..b63136ef --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f05c0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f05c0 Unwind@1400f05c0 + * Pseudocode, not original source. */ + +void Unwind_1400f05c0(undefined8 param_1,longlong param_2) + +{ + FUN_140029f60(param_2 + 0x1c0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f05d0.c b/decomp/Agent_Release_x64/full/functions/0x1400f05d0.c new file mode 100644 index 00000000..a32e1993 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f05d0.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f05d0 Unwind@1400f05d0 + * Pseudocode, not original source. */ + +void Unwind_1400f05d0(void) + +{ + FUN_14000f8d0(); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f05e0.c b/decomp/Agent_Release_x64/full/functions/0x1400f05e0.c new file mode 100644 index 00000000..7f5d325c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f05e0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f05e0 FUN_1400f05e0 + * Pseudocode, not original source. */ + +void FUN_1400f05e0(void) + +{ + FUN_1400016e0(&DAT_14015b048,L"option\\agent_serveroption.xml",0x1d); + atexit(FUN_1400f1350); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0610.c b/decomp/Agent_Release_x64/full/functions/0x1400f0610.c new file mode 100644 index 00000000..5db76eb1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0610.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0610 FUN_1400f0610 + * Pseudocode, not original source. */ + +void FUN_1400f0610(void) + +{ + ulonglong uVar1; + undefined8 in_R9; + + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_1401631a0,uVar1 & 0xffffffff,0,in_R9); + atexit((_func_5014 *)&LAB_1400f1390); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0640.c b/decomp/Agent_Release_x64/full/functions/0x1400f0640.c new file mode 100644 index 00000000..3b607df4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0640.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0640 FUN_1400f0640 + * Pseudocode, not original source. */ + +void FUN_1400f0640(void) + +{ + FUN_14000f830(); + atexit(FUN_1400f13c0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0660.c b/decomp/Agent_Release_x64/full/functions/0x1400f0660.c new file mode 100644 index 00000000..5756b19d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0660.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0660 FUN_1400f0660 + * Pseudocode, not original source. */ + +void FUN_1400f0660(void) + +{ + InitializeCriticalSection((LPCRITICAL_SECTION)&DAT_140162d10); + atexit((_func_5014 *)&LAB_1400f1400); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f06b0.c b/decomp/Agent_Release_x64/full/functions/0x1400f06b0.c new file mode 100644 index 00000000..212d5194 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f06b0.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f06b0 FUN_1400f06b0 + * Pseudocode, not original source. */ + +void FUN_1400f06b0(void) + +{ + FUN_1400016e0(&DAT_14015b0b0,L"option\\total_option.xml",0x17); + atexit(FUN_1400f1410); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f06e0.c b/decomp/Agent_Release_x64/full/functions/0x1400f06e0.c new file mode 100644 index 00000000..076b5f18 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f06e0.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f06e0 FUN_1400f06e0 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400f06e0(void) + +{ + char *pcVar1; + + FUN_14000b660(&DAT_14015b0d8,0x10,0); + pcVar1 = (char *)&DAT_14015b0d8; + if (0xf < DAT_14015b0f0) { + pcVar1 = DAT_14015b0d8; + } + builtin_strncpy(pcVar1,"option\\agent.xml",0x10); + _DAT_14015b0e8 = 0x10; + pcVar1 = (char *)&DAT_14015b0d8; + if (0xf < DAT_14015b0f0) { + pcVar1 = DAT_14015b0d8; + } + pcVar1[0x10] = '\0'; + atexit(FUN_1400f1450); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0760.c b/decomp/Agent_Release_x64/full/functions/0x1400f0760.c new file mode 100644 index 00000000..a0bc3fbe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0760.c @@ -0,0 +1,27 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0760 FUN_1400f0760 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400f0760(void) + +{ + char *pcVar1; + + FUN_14000b660(&DAT_14015b100,0x10,0); + pcVar1 = (char *)&DAT_14015b100; + if (0xf < DAT_14015b118) { + pcVar1 = DAT_14015b100; + } + builtin_strncpy(pcVar1,"option\\patch.xml",0x10); + _DAT_14015b110 = 0x10; + pcVar1 = (char *)&DAT_14015b100; + if (0xf < DAT_14015b118) { + pcVar1 = DAT_14015b100; + } + pcVar1[0x10] = '\0'; + atexit(FUN_1400f1490); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f07e0.c b/decomp/Agent_Release_x64/full/functions/0x1400f07e0.c new file mode 100644 index 00000000..b3dc2f7d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f07e0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f07e0 FUN_1400f07e0 + * Pseudocode, not original source. */ + +void FUN_1400f07e0(void) + +{ + ulonglong uVar1; + undefined8 in_R9; + + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015bf48,uVar1 & 0xffffffff,0,in_R9); + atexit((_func_5014 *)&LAB_1400f14e0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0810.c b/decomp/Agent_Release_x64/full/functions/0x1400f0810.c new file mode 100644 index 00000000..e0787e88 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0810.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0810 FUN_1400f0810 + * Pseudocode, not original source. */ + +void FUN_1400f0810(void) + +{ + ulonglong uVar1; + undefined8 in_R9; + + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015bf10,uVar1 & 0xffffffff,0,in_R9); + atexit((_func_5014 *)&LAB_1400f14d0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0840.c b/decomp/Agent_Release_x64/full/functions/0x1400f0840.c new file mode 100644 index 00000000..6bdb1845 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0840.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0840 FUN_1400f0840 + * Pseudocode, not original source. */ + +void FUN_1400f0840(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined7 uVar2; + + uVar2 = (undefined7)((ulonglong)param_3 >> 8); + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015bfd0,uVar1 & 0xffffffff,CONCAT71(uVar2,1),param_4); + atexit((_func_5014 *)&LAB_1400f1500); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f08e0.c b/decomp/Agent_Release_x64/full/functions/0x1400f08e0.c new file mode 100644 index 00000000..1e0d5bbb --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f08e0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f08e0 FUN_1400f08e0 + * Pseudocode, not original source. */ + +void FUN_1400f08e0(void) + +{ + ulonglong uVar1; + undefined8 in_R9; + + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015c030,uVar1 & 0xffffffff,0,in_R9); + atexit((_func_5014 *)&LAB_1400f1540); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0910.c b/decomp/Agent_Release_x64/full/functions/0x1400f0910.c new file mode 100644 index 00000000..3e4072fe --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0910.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0910 FUN_1400f0910 + * Pseudocode, not original source. */ + +void FUN_1400f0910(void) + +{ + ulonglong uVar1; + undefined8 in_R9; + + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015c148,uVar1 & 0xffffffff,0,in_R9); + atexit((_func_5014 *)&LAB_1400f1550); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0940.c b/decomp/Agent_Release_x64/full/functions/0x1400f0940.c new file mode 100644 index 00000000..1bd55db3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0940.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0940 FUN_1400f0940 + * Pseudocode, not original source. */ + +void FUN_1400f0940(void) + +{ + undefined8 in_R9; + + FUN_140033e80((longlong *)&DAT_14015c250,"",0xffff,in_R9); + atexit((_func_5014 *)&LAB_1400f15b0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0970.c b/decomp/Agent_Release_x64/full/functions/0x1400f0970.c new file mode 100644 index 00000000..6996e802 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0970.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0970 FUN_1400f0970 + * Pseudocode, not original source. */ + +void FUN_1400f0970(void) + +{ + ulonglong uVar1; + undefined8 in_R9; + + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015c218,uVar1 & 0xffffffff,0,in_R9); + atexit((_func_5014 *)&LAB_1400f1590); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f09a0.c b/decomp/Agent_Release_x64/full/functions/0x1400f09a0.c new file mode 100644 index 00000000..4740d03c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f09a0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f09a0 FUN_1400f09a0 + * Pseudocode, not original source. */ + +void FUN_1400f09a0(void) + +{ + ulonglong uVar1; + undefined8 in_R9; + + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015c1e0,uVar1 & 0xffffffff,0,in_R9); + atexit((_func_5014 *)&LAB_1400f1580); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f09d0.c b/decomp/Agent_Release_x64/full/functions/0x1400f09d0.c new file mode 100644 index 00000000..efe080c6 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f09d0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f09d0 FUN_1400f09d0 + * Pseudocode, not original source. */ + +void FUN_1400f09d0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined7 uVar2; + + uVar2 = (undefined7)((ulonglong)param_3 >> 8); + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015c2d8,uVar1 & 0xffffffff,CONCAT71(uVar2,1),param_4); + atexit((_func_5014 *)&LAB_1400f15c0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0a00.c b/decomp/Agent_Release_x64/full/functions/0x1400f0a00.c new file mode 100644 index 00000000..50d6b281 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0a00.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0a00 FUN_1400f0a00 + * Pseudocode, not original source. */ + +void FUN_1400f0a00(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + FUN_140039bb0((undefined8 *)&DAT_14015c310,param_2,param_3,param_4); + FUN_140039cd0(0x14015c310); + atexit((_func_5014 *)&LAB_1400f15d0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0a40.c b/decomp/Agent_Release_x64/full/functions/0x1400f0a40.c new file mode 100644 index 00000000..2acdc2e3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0a40.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0a40 FUN_1400f0a40 + * Pseudocode, not original source. */ + +void FUN_1400f0a40(void) + +{ + ulonglong uVar1; + undefined8 in_R9; + + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015d7a0,uVar1 & 0xffffffff,0,in_R9); + atexit((_func_5014 *)&LAB_1400f15f0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0a6c.c b/decomp/Agent_Release_x64/full/functions/0x1400f0a6c.c new file mode 100644 index 00000000..0b7715c0 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0a6c.c @@ -0,0 +1,12 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0a6c FUN_1400f0a6c + * Pseudocode, not original source. */ + +void FUN_1400f0a6c(void) + +{ + ATL::CAtlBaseModule::CAtlBaseModule((CAtlBaseModule *)&DAT_14015d7e0); + atexit((_func_5014 *)&LAB_1400f161c); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0a8c.c b/decomp/Agent_Release_x64/full/functions/0x1400f0a8c.c new file mode 100644 index 00000000..50f31ab5 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0a8c.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0a8c FUN_1400f0a8c + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400f0a8c(void) + +{ + DAT_14015d848 = GetProcessHeap(); + DAT_14015d850 = 0; + _DAT_14015d840 = &PTR_LAB_1400f59e0; + atexit(FUN_1400f1628); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0dc0.c b/decomp/Agent_Release_x64/full/functions/0x1400f0dc0.c new file mode 100644 index 00000000..f26402d1 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0dc0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0dc0 FUN_1400f0dc0 + * Pseudocode, not original source. */ + +void FUN_1400f0dc0(void) + +{ + ulonglong uVar1; + undefined8 in_R9; + + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015dfa0,uVar1 & 0xffffffff,0,in_R9); + atexit((_func_5014 *)&LAB_1400f16a0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0eb0.c b/decomp/Agent_Release_x64/full/functions/0x1400f0eb0.c new file mode 100644 index 00000000..23d7184f --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0eb0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0eb0 FUN_1400f0eb0 + * Pseudocode, not original source. */ + +void FUN_1400f0eb0(void) + +{ + ulonglong uVar1; + undefined8 in_R9; + + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015e148,uVar1 & 0xffffffff,0,in_R9); + atexit((_func_5014 *)&LAB_1400f1760); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0ee0.c b/decomp/Agent_Release_x64/full/functions/0x1400f0ee0.c new file mode 100644 index 00000000..356711dc --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0ee0.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0ee0 FUN_1400f0ee0 + * Pseudocode, not original source. */ + +void FUN_1400f0ee0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined7 uVar2; + + uVar2 = (undefined7)((ulonglong)param_3 >> 8); + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015e210,uVar1 & 0xffffffff,CONCAT71(uVar2,1),param_4); + atexit((_func_5014 *)&LAB_1400f1770); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0f20.c b/decomp/Agent_Release_x64/full/functions/0x1400f0f20.c new file mode 100644 index 00000000..5522fb07 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0f20.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0f20 FUN_1400f0f20 + * Pseudocode, not original source. */ + +void FUN_1400f0f20(void) + +{ + ulonglong uVar1; + undefined8 in_R9; + + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015e1d8,uVar1 & 0xffffffff,0,in_R9); + atexit((_func_5014 *)&LAB_1400f1790); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0f50.c b/decomp/Agent_Release_x64/full/functions/0x1400f0f50.c new file mode 100644 index 00000000..20cda4f3 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0f50.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0f50 FUN_1400f0f50 + * Pseudocode, not original source. */ + +void FUN_1400f0f50(void) + +{ + ulonglong uVar1; + undefined8 in_R9; + + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015e1a0,uVar1 & 0xffffffff,0,in_R9); + atexit((_func_5014 *)&LAB_1400f1780); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f0f90.c b/decomp/Agent_Release_x64/full/functions/0x1400f0f90.c new file mode 100644 index 00000000..ce0b2d29 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f0f90.c @@ -0,0 +1,23 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f0f90 FUN_1400f0f90 + * Pseudocode, not original source. */ + +void FUN_1400f0f90(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined7 uVar2; + + uVar2 = (undefined7)((ulonglong)param_3 >> 8); + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015e268,uVar1 & 0xffffffff,CONCAT71(uVar2,1),param_4); + FUN_14002e6e0((int *)&DAT_14015e268); + DAT_14015e260 = operator_new(8); + if (DAT_14015e260 != (undefined8 *)0x0) { + *DAT_14015e260 = 0; + } + FUN_14002e770(0x14015e268); + atexit(FUN_1400f1810); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f1010.c b/decomp/Agent_Release_x64/full/functions/0x1400f1010.c new file mode 100644 index 00000000..746eda86 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f1010.c @@ -0,0 +1,17 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f1010 FUN_1400f1010 + * Pseudocode, not original source. */ + +void FUN_1400f1010(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + ulonglong uVar1; + undefined7 uVar2; + + uVar2 = (undefined7)((ulonglong)param_3 >> 8); + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015e2a0,uVar1 & 0xffffffff,CONCAT71(uVar2,1),param_4); + atexit((_func_5014 *)&LAB_1400f1880); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f1040.c b/decomp/Agent_Release_x64/full/functions/0x1400f1040.c new file mode 100644 index 00000000..6bfc875c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f1040.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f1040 FUN_1400f1040 + * Pseudocode, not original source. */ + +void FUN_1400f1040(void) + +{ + ulonglong uVar1; + undefined8 in_R9; + + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015f348,uVar1 & 0xffffffff,0,in_R9); + atexit((_func_5014 *)&LAB_1400f18d0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f1070.c b/decomp/Agent_Release_x64/full/functions/0x1400f1070.c new file mode 100644 index 00000000..79b212ad --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f1070.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f1070 FUN_1400f1070 + * Pseudocode, not original source. */ + +void FUN_1400f1070(void) + +{ + ulonglong uVar1; + undefined8 in_R9; + + uVar1 = FUN_14002e790(); + FUN_14002e600((undefined4 *)&DAT_14015f418,uVar1 & 0xffffffff,0,in_R9); + atexit((_func_5014 *)&LAB_1400f18f0); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f10a0.c b/decomp/Agent_Release_x64/full/functions/0x1400f10a0.c new file mode 100644 index 00000000..a9d554de --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f10a0.c @@ -0,0 +1,101 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f10a0 FUN_1400f10a0 + * Pseudocode, not original source. */ + +void FUN_1400f10a0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int *piVar1; + int iVar2; + int iVar3; + int iVar4; + char *pcVar5; + + FUN_140030200(param_1,param_2,param_3,param_4); + DAT_14015f450 = PTR_DAT_140155008; + iVar2 = FUN_140030120( + "M-SEARCH * HTTP/1.1\r\nHost:239.255.255.250:1900\r\nST:upnp:rootdevice\r\nMan:\"ssdp:discover\"\r\nMX:3\r\n\r\n" + ); + if (DAT_14015f450 == (char *)0x0) { + iVar4 = 0; + } + else if (DAT_14015f450 == PTR_DAT_140155008) { + iVar4 = 0; + } + else { + iVar4 = *(int *)(DAT_14015f450 + -8); + } + iVar3 = iVar2; + if (iVar2 <= iVar4) { + if (DAT_14015f450 == (char *)0x0) { + iVar3 = 0; + } + else if (DAT_14015f450 == PTR_DAT_140155008) { + iVar3 = 0; + } + else { + iVar3 = *(int *)(DAT_14015f450 + -8); + } + } + iVar4 = 1; + if (1 < iVar3) { + iVar4 = iVar3; + } + if (DAT_14015f450 == (char *)0x0) { + iVar3 = 0; + } + else if (DAT_14015f450 == PTR_DAT_140155008) { + iVar3 = 0; + } + else { + iVar3 = *(int *)(DAT_14015f450 + -8); + } + if (iVar3 < iVar4) { + FUN_14002ec40((longlong *)&DAT_14015f450,iVar4); + } + FUN_14002eb30((longlong *)&DAT_14015f450); + pcVar5 = DAT_14015f450; + if (DAT_14015f450 == (char *)0x0) { + pcVar5 = PTR_DAT_140155008; + } + FUN_140030150(pcVar5, + "M-SEARCH * HTTP/1.1\r\nHost:239.255.255.250:1900\r\nST:upnp:rootdevice\r\nMan:\"ssdp:discover\"\r\nMX:3\r\n\r\n" + ,iVar2); + pcVar5 = DAT_14015f450; + if (DAT_14015f450 == (char *)0x0) { + pcVar5 = PTR_DAT_140155008; + } + iVar4 = FUN_140030120(pcVar5); + iVar2 = 0; + if (0 < iVar4) { + iVar2 = iVar4; + } + if (DAT_14015f450 == (char *)0x0) { + iVar4 = 0; + } + else if (DAT_14015f450 == PTR_DAT_140155008) { + iVar4 = 0; + } + else { + iVar4 = *(int *)(DAT_14015f450 + -8); + } + if (iVar4 <= iVar2) { + if (DAT_14015f450 == (char *)0x0) { + iVar2 = 0; + } + else if (DAT_14015f450 == PTR_DAT_140155008) { + iVar2 = 0; + } + else { + iVar2 = *(int *)(DAT_14015f450 + -8); + } + } + if (((DAT_14015f450 != PTR_DAT_140155008) && (DAT_14015f450 != (char *)0x0)) && + (piVar1 = (int *)(DAT_14015f450 + -8), piVar1 != (int *)0x0)) { + *piVar1 = iVar2; + *(undefined1 *)((longlong)iVar2 + 8 + (longlong)piVar1) = 0; + } + atexit((_func_5014 *)&LAB_1400f1900); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f11f0.c b/decomp/Agent_Release_x64/full/functions/0x1400f11f0.c new file mode 100644 index 00000000..9bbc101d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f11f0.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f11f0 FUN_1400f11f0 + * Pseudocode, not original source. */ + +void FUN_1400f11f0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + undefined *puVar2; + undefined *local_res8 [4]; + + FUN_140030200(param_1,param_2,param_3,param_4); + local_res8[0] = PTR_DAT_140155008; + iVar1 = FUN_140030120("239.255.255.250"); + puVar2 = FUN_14002edf0((longlong *)local_res8,iVar1); + FUN_140030150(puVar2,"239.255.255.250",iVar1); + FUN_14002eab0((longlong *)local_res8); + FUN_1400333e0((undefined8 *)&DAT_14015f458,(longlong *)local_res8,0x76c); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f1270.c b/decomp/Agent_Release_x64/full/functions/0x1400f1270.c new file mode 100644 index 00000000..18ea1644 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f1270.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f1270 FUN_1400f1270 + * Pseudocode, not original source. */ + +void FUN_1400f1270(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + int iVar1; + undefined *puVar2; + undefined *local_res8 [4]; + + FUN_140030200(param_1,param_2,param_3,param_4); + local_res8[0] = PTR_DAT_140155010; + iVar1 = FUN_140030080(L"211.214.161.39"); + puVar2 = FUN_140002f90((longlong *)local_res8,iVar1); + FUN_1400300b0(puVar2,L"211.214.161.39",iVar1); + FUN_140003070((longlong *)local_res8); + FUN_140033450((undefined8 *)&DAT_1401626c8,(longlong *)local_res8,0x50,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f1350.c b/decomp/Agent_Release_x64/full/functions/0x1400f1350.c new file mode 100644 index 00000000..02778026 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f1350.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f1350 FUN_1400f1350 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400f1350(void) + +{ + if (7 < DAT_14015b060) { + operator_delete((void *)CONCAT62(DAT_14015b048._2_6_,(undefined2)DAT_14015b048)); + } + DAT_14015b060 = 7; + _DAT_14015b058 = 0; + DAT_14015b048._0_2_ = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f13c0.c b/decomp/Agent_Release_x64/full/functions/0x1400f13c0.c new file mode 100644 index 00000000..621c1450 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f13c0.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f13c0 FUN_1400f13c0 + * Pseudocode, not original source. */ + +void FUN_1400f13c0(void) + +{ + longlong local_res8 [4]; + + FUN_14000f9e0(local_res8,(longlong *)*DAT_140162cf8,DAT_140162cf8); + /* WARNING: Could not recover jumptable at 0x0001400f13f0. Too many branches */ + /* WARNING: Treating indirect jump as call */ + operator_delete(DAT_140162cf8); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f1410.c b/decomp/Agent_Release_x64/full/functions/0x1400f1410.c new file mode 100644 index 00000000..36903e87 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f1410.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f1410 FUN_1400f1410 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400f1410(void) + +{ + if (7 < DAT_14015b0c8) { + operator_delete((void *)CONCAT62(DAT_14015b0b0._2_6_,(undefined2)DAT_14015b0b0)); + } + DAT_14015b0c8 = 7; + _DAT_14015b0c0 = 0; + DAT_14015b0b0._0_2_ = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f1450.c b/decomp/Agent_Release_x64/full/functions/0x1400f1450.c new file mode 100644 index 00000000..4df9445c --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f1450.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f1450 FUN_1400f1450 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400f1450(void) + +{ + if (0xf < DAT_14015b0f0) { + operator_delete((void *)CONCAT71(DAT_14015b0d8._1_7_,(undefined1)DAT_14015b0d8)); + } + DAT_14015b0f0 = 0xf; + _DAT_14015b0e8 = 0; + DAT_14015b0d8._0_1_ = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f1490.c b/decomp/Agent_Release_x64/full/functions/0x1400f1490.c new file mode 100644 index 00000000..59408093 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f1490.c @@ -0,0 +1,18 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f1490 FUN_1400f1490 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400f1490(void) + +{ + if (0xf < DAT_14015b118) { + operator_delete((void *)CONCAT71(DAT_14015b100._1_7_,(undefined1)DAT_14015b100)); + } + DAT_14015b118 = 0xf; + _DAT_14015b110 = 0; + DAT_14015b100._0_1_ = 0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f1510.c b/decomp/Agent_Release_x64/full/functions/0x1400f1510.c new file mode 100644 index 00000000..3d065f6e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f1510.c @@ -0,0 +1,14 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f1510 FUN_1400f1510 + * Pseudocode, not original source. */ + +void FUN_1400f1510(void) + +{ + if (DAT_14015c020 != (longlong *)0x0) { + (**(code **)(*DAT_14015c020 + 0x20))(DAT_14015c020,1); + } + DAT_14015c020 = (longlong *)0x0; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f1628.c b/decomp/Agent_Release_x64/full/functions/0x1400f1628.c new file mode 100644 index 00000000..4e09c91e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f1628.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f1628 FUN_1400f1628 + * Pseudocode, not original source. */ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +void FUN_1400f1628(void) + +{ + _DAT_14015d840 = &PTR_LAB_1400f59e0; + if ((DAT_14015d850 != '\0') && (DAT_14015d848 != (HANDLE)0x0)) { + HeapDestroy(DAT_14015d848); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f165c.c b/decomp/Agent_Release_x64/full/functions/0x1400f165c.c new file mode 100644 index 00000000..d22fe175 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f165c.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f165c FUN_1400f165c + * Pseudocode, not original source. */ + +void FUN_1400f165c(void) + +{ + PTR_PTR_140155508 = (undefined *)&PTR_Allocate_1400f5a08; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f1670.c b/decomp/Agent_Release_x64/full/functions/0x1400f1670.c new file mode 100644 index 00000000..cd53a338 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f1670.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f1670 FUN_1400f1670 + * Pseudocode, not original source. */ + +void FUN_1400f1670(void) + +{ + /* WARNING: Could not recover jumptable at 0x0001400f1677. Too many branches */ + /* WARNING: Treating indirect jump as call */ + Ordinal_9(&DAT_140155540); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f1680.c b/decomp/Agent_Release_x64/full/functions/0x1400f1680.c new file mode 100644 index 00000000..05ccc998 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f1680.c @@ -0,0 +1,13 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f1680 FUN_1400f1680 + * Pseudocode, not original source. */ + +void FUN_1400f1680(void) + +{ + if (DAT_14015df90 != (undefined8 *)0x0) { + (**(code **)*DAT_14015df90)(DAT_14015df90,1); + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f16b0.c b/decomp/Agent_Release_x64/full/functions/0x1400f16b0.c new file mode 100644 index 00000000..9456e389 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f16b0.c @@ -0,0 +1,24 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f16b0 FUN_1400f16b0 + * Pseudocode, not original source. */ + +void FUN_1400f16b0(undefined8 param_1,undefined8 param_2,undefined8 param_3,longlong param_4) + +{ + int *piVar1; + + piVar1 = DAT_14015e008; + if (DAT_14015e008 != (int *)0x0) { + FUN_14002e6e0(DAT_14015e008); + *(longlong *)(DAT_14015e008 + 0x10) = *(longlong *)(DAT_14015e008 + 0x10) + -1; + if (*(longlong *)(DAT_14015e008 + 0x10) == 0) { + FUN_14002e770((longlong)piVar1); + FUN_1400410e0(DAT_14015e008,param_2,param_3,param_4); + } + else { + FUN_14002e770((longlong)piVar1); + } + } + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f17a0.c b/decomp/Agent_Release_x64/full/functions/0x1400f17a0.c new file mode 100644 index 00000000..9a39c68e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f17a0.c @@ -0,0 +1,21 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f17a0 FUN_1400f17a0 + * Pseudocode, not original source. */ + +void FUN_1400f17a0(void) + +{ + LPVOID pvVar1; + + pvVar1 = DAT_14015e248; + while (pvVar1 != (LPVOID)0x0) { + DAT_14015e248 = *(LPVOID *)((longlong)pvVar1 + 0x38); + *(undefined8 *)((longlong)pvVar1 + 0x38) = 0; + FUN_14003b870((undefined8 *)((longlong)pvVar1 + 8)); + FUN_1400302f0(pvVar1); + pvVar1 = DAT_14015e248; + } + DAT_14015e248 = pvVar1; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f1800.c b/decomp/Agent_Release_x64/full/functions/0x1400f1800.c new file mode 100644 index 00000000..44a0084e --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f1800.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f1800 FUN_1400f1800 + * Pseudocode, not original source. */ + +void FUN_1400f1800(void) + +{ + PTR_vftable_140156c80 = (undefined *)Proud::ISendDest_S::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f1810.c b/decomp/Agent_Release_x64/full/functions/0x1400f1810.c new file mode 100644 index 00000000..fa60a991 --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f1810.c @@ -0,0 +1,20 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f1810 FUN_1400f1810 + * Pseudocode, not original source. */ + +void FUN_1400f1810(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) + +{ + longlong *plVar1; + + FUN_14002e6e0((int *)&DAT_14015e268); + plVar1 = DAT_14015e260; + if (DAT_14015e260 != (longlong *)0x0) { + FUN_140098eb0(DAT_14015e260,param_2,param_3,param_4); + operator_delete(plVar1); + } + FUN_14002e770(0x14015e268); + FUN_14002e7a0((undefined4 *)&DAT_14015e268,param_2,param_3,param_4); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f1890.c b/decomp/Agent_Release_x64/full/functions/0x1400f1890.c new file mode 100644 index 00000000..0e10726a --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f1890.c @@ -0,0 +1,16 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f1890 FUN_1400f1890 + * Pseudocode, not original source. */ + +void FUN_1400f1890(void) + +{ + DeleteCriticalSection((LPCRITICAL_SECTION)&DAT_1401631e0); + InitializeCriticalSection((LPCRITICAL_SECTION)&DAT_140163220); + InitializeCriticalSection((LPCRITICAL_SECTION)&DAT_140163260); + /* WARNING: Could not recover jumptable at 0x0001400f18c6. Too many branches */ + /* WARNING: Treating indirect jump as call */ + InitializeCriticalSection((LPCRITICAL_SECTION)&DAT_14015f310); + return; +} + diff --git a/decomp/Agent_Release_x64/full/functions/0x1400f1910.c b/decomp/Agent_Release_x64/full/functions/0x1400f1910.c new file mode 100644 index 00000000..b67ee83d --- /dev/null +++ b/decomp/Agent_Release_x64/full/functions/0x1400f1910.c @@ -0,0 +1,11 @@ +/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 + * Ghidra 12.1.2 decompiler output for 0x1400f1910 FUN_1400f1910 + * Pseudocode, not original source. */ + +void FUN_1400f1910(void) + +{ + PTR_vftable_1401571b0 = (undefined *)Proud::ISendDest_C::vftable; + return; +} + diff --git a/decomp/Agent_Release_x64/full/index.tsv b/decomp/Agent_Release_x64/full/index.tsv new file mode 100644 index 00000000..a2384237 --- /dev/null +++ b/decomp/Agent_Release_x64/full/index.tsv @@ -0,0 +1,6425 @@ +address namespace name body_bytes status +0x140001020 FUN_140001020 59 ok +0x140001060 FUN_140001060 360 ok +0x1400011d0 FUN_1400011d0 139 ok +0x140001260 FUN_140001260 149 ok +0x140001300 FUN_140001300 50 ok +0x140001340 FUN_140001340 66 ok +0x140001390 FUN_140001390 447 ok +0x140001550 FUN_140001550 166 ok +0x140001600 FUN_140001600 209 ok +0x1400016e0 FUN_1400016e0 226 ok +0x1400017d0 FUN_1400017d0 155 ok +0x140001870 FUN_140001870 118 ok +0x1400018f0 FUN_1400018f0 307 ok +0x140001a50 FUN_140001a50 99 ok +0x140001ac0 FUN_140001ac0 43 ok +0x140001af0 FUN_140001af0 43 ok +0x140001b20 FUN_140001b20 34 ok +0x140001b50 FUN_140001b50 83 ok +0x140001bb0 FUN_140001bb0 54 ok +0x140001bf0 FUN_140001bf0 233 ok +0x140001ce0 FUN_140001ce0 213 ok +0x140001dc0 FUN_140001dc0 164 ok +0x140001e70 FUN_140001e70 137 ok +0x140001f00 FUN_140001f00 264 ok +0x140002010 FUN_140002010 181 ok +0x1400020d0 FUN_1400020d0 95 ok +0x140002130 FUN_140002130 65 ok +0x140002180 FUN_140002180 557 ok +0x1400023b0 FUN_1400023b0 45 ok +0x1400023e0 FUN_1400023e0 272 ok +0x1400024f0 FUN_1400024f0 322 ok +0x140002640 FUN_140002640 168 ok +0x1400026f0 FUN_1400026f0 660 ok +0x140002990 FUN_140002990 462 ok +0x140002bc0 FUN_140002bc0 268 ok +0x140002cd0 FUN_140002cd0 226 ok +0x140002dc0 FUN_140002dc0 223 ok +0x140002ea0 FUN_140002ea0 233 ok +0x140002f90 FUN_140002f90 125 ok +0x140003010 FUN_140003010 93 ok +0x140003070 FUN_140003070 121 ok +0x1400030f0 FUN_1400030f0 121 ok +0x140003170 FUN_140003170 145 ok +0x140003210 FUN_140003210 33 ok +0x140003240 FUN_140003240 136 ok +0x1400032e0 FUN_1400032e0 15 ok +0x1400032f0 FUN_1400032f0 48 ok +0x140003320 std::bad_alloc `scalar_deleting_destructor' 58 ok +0x140003360 FUN_140003360 136 ok +0x1400033f0 FUN_1400033f0 48 ok +0x140003420 FUN_140003420 116 ok +0x1400034a0 FUN_1400034a0 532 ok +0x1400036c0 FUN_1400036c0 223 ok +0x1400037a0 FUN_1400037a0 1923 ok +0x140003f30 FUN_140003f30 2488 ok +0x140004950 FUN_140004950 168 ok +0x140004a00 FUN_140004a00 82 ok +0x140004a60 FUN_140004a60 137 ok +0x140004af0 FUN_140004af0 54 ok +0x140004b30 FUN_140004b30 200 ok +0x140004c00 FUN_140004c00 9 ok +0x140004c10 FUN_140004c10 42 ok +0x140004c40 FUN_140004c40 104 ok +0x140004cb0 FUN_140004cb0 100 ok +0x140004d20 FUN_140004d20 56 ok +0x140004d60 FUN_140004d60 169 ok +0x140004e10 FUN_140004e10 134 ok +0x140004ea0 FUN_140004ea0 218 ok +0x140004f80 FUN_140004f80 50 ok +0x140004fc0 FUN_140004fc0 50 ok +0x140005000 FUN_140005000 22 ok +0x140005020 FUN_140005020 219 ok +0x140005100 FUN_140005100 48 ok +0x140005130 FUN_140005130 206 ok +0x140005200 FUN_140005200 146 ok +0x1400052a0 FUN_1400052a0 146 ok +0x140005340 FUN_140005340 32 ok +0x140005360 FUN_140005360 125 ok +0x1400053e0 FUN_1400053e0 574 ok +0x140005620 FUN_140005620 193 ok +0x1400056f0 FUN_1400056f0 581 ok +0x140005940 FUN_140005940 3 ok +0x140005950 FUN_140005950 664 ok +0x140005bf0 FUN_140005bf0 796 ok +0x140005f10 FUN_140005f10 218 ok +0x140005ff0 FUN_140005ff0 242 ok +0x1400060f0 FUN_1400060f0 803 ok +0x140006420 FUN_140006420 241 ok +0x140006520 FUN_140006520 803 ok +0x140006850 FUN_140006850 237 ok +0x140006940 FUN_140006940 218 ok +0x140006a20 FUN_140006a20 54 ok +0x140006a60 FUN_140006a60 169 ok +0x140006b10 FUN_140006b10 9 ok +0x140006b20 FUN_140006b20 3 ok +0x140006b30 FUN_140006b30 44 ok +0x140006b60 FUN_140006b60 6 ok +0x140006b70 FUN_140006b70 6 ok +0x140006b80 FUN_140006b80 3 ok +0x140006b90 FUN_140006b90 88 ok +0x140006bf0 FUN_140006bf0 56 ok +0x140006c30 FUN_140006c30 41 ok +0x140006c60 FUN_140006c60 712 ok +0x140006f30 std::bad_alloc `scalar_deleting_destructor' 58 ok +0x140006f70 FUN_140006f70 15 ok +0x140006f80 FUN_140006f80 170 ok +0x140007030 FUN_140007030 48 ok +0x140007060 FUN_140007060 192 ok +0x140007120 FUN_140007120 146 ok +0x1400071c0 FUN_1400071c0 146 ok +0x140007260 FUN_140007260 32 ok +0x140007280 FUN_140007280 282 ok +0x1400073a0 FUN_1400073a0 170 ok +0x140007450 FUN_140007450 1279 ok +0x140007960 FUN_140007960 112 ok +0x1400079d0 FUN_1400079d0 172 ok +0x140007a80 FUN_140007a80 800 ok +0x140007da0 FUN_140007da0 503 ok +0x140007fa0 FUN_140007fa0 83 ok +0x140008000 FUN_140008000 152 ok +0x1400080a0 FUN_1400080a0 1134 ok +0x140008510 FUN_140008510 1150 ok +0x140008990 FUN_140008990 165 ok +0x140008a40 FUN_140008a40 159 ok +0x140008ae0 FUN_140008ae0 128 ok +0x140008b60 FUN_140008b60 123 ok +0x140008be0 FUN_140008be0 9 ok +0x140008bf0 FUN_140008bf0 6 ok +0x140008c00 FUN_140008c00 6 ok +0x140008c10 FUN_140008c10 124 ok +0x140008c90 FUN_140008c90 515 ok +0x140008ea0 FUN_140008ea0 1540 ok +0x1400094b0 FUN_1400094b0 36 ok +0x1400094e0 FUN_1400094e0 575 ok +0x140009720 FUN_140009720 84 ok +0x140009780 FUN_140009780 266 ok +0x140009890 FUN_140009890 832 ok +0x140009bd0 FUN_140009bd0 843 ok +0x140009f20 FUN_140009f20 194 ok +0x140009ff0 FUN_140009ff0 133 ok +0x14000a080 FUN_14000a080 1059 ok +0x14000a4b0 FUN_14000a4b0 159 ok +0x14000a550 FUN_14000a550 164 ok +0x14000a600 FUN_14000a600 35 ok +0x14000a630 FUN_14000a630 682 ok +0x14000a8e0 FUN_14000a8e0 88 ok +0x14000a940 FUN_14000a940 147 ok +0x14000a9e0 FUN_14000a9e0 451 ok +0x14000abb0 FUN_14000abb0 289 ok +0x14000ace0 FUN_14000ace0 83 ok +0x14000ad40 FUN_14000ad40 132 ok +0x14000add0 FUN_14000add0 124 ok +0x14000ae50 FUN_14000ae50 657 ok +0x14000b0f0 FUN_14000b0f0 188 ok +0x14000b1b0 FUN_14000b1b0 172 ok +0x14000b260 FUN_14000b260 14 ok +0x14000b270 FUN_14000b270 74 ok +0x14000b2c0 FUN_14000b2c0 96 ok +0x14000b320 FUN_14000b320 148 ok +0x14000b3c0 FUN_14000b3c0 131 ok +0x14000b450 FUN_14000b450 25 ok +0x14000b470 FUN_14000b470 39 ok +0x14000b4a0 FUN_14000b4a0 159 ok +0x14000b540 FUN_14000b540 191 ok +0x14000b600 FUN_14000b600 87 ok +0x14000b660 FUN_14000b660 287 ok +0x14000b7a0 FUN_14000b7a0 109 ok +0x14000b810 FUN_14000b810 202 ok +0x14000b8e0 FUN_14000b8e0 37 ok +0x14000b910 FUN_14000b910 50 ok +0x14000b950 FUN_14000b950 22 ok +0x14000b970 FUN_14000b970 387 ok +0x14000bb00 FUN_14000bb00 609 ok +0x14000bd70 FUN_14000bd70 193 ok +0x14000be40 FUN_14000be40 54 ok +0x14000be80 FUN_14000be80 80 ok +0x14000bed0 FUN_14000bed0 36 ok +0x14000bf00 FUN_14000bf00 47 ok +0x14000bf30 FUN_14000bf30 28 ok +0x14000bf50 FUN_14000bf50 25 ok +0x14000bf70 FUN_14000bf70 58 ok +0x14000bfb0 FUN_14000bfb0 365 ok +0x14000c120 FUN_14000c120 171 ok +0x14000c1d0 FUN_14000c1d0 771 ok +0x14000c4e0 FUN_14000c4e0 771 ok +0x14000c7f0 FUN_14000c7f0 771 ok +0x14000cb00 FUN_14000cb00 790 ok +0x14000ce20 FUN_14000ce20 786 ok +0x14000d140 FUN_14000d140 135 ok +0x14000d1d0 FUN_14000d1d0 135 ok +0x14000d260 FUN_14000d260 186 ok +0x14000d320 FUN_14000d320 135 ok +0x14000d3b0 FUN_14000d3b0 195 ok +0x14000d480 FUN_14000d480 760 ok +0x14000d780 FUN_14000d780 2064 ok +0x14000df90 FUN_14000df90 236 ok +0x14000e080 FUN_14000e080 39 ok +0x14000e0b0 FUN_14000e0b0 295 ok +0x14000e1e0 FUN_14000e1e0 499 ok +0x14000e410 FUN_14000e410 71 ok +0x14000e460 FUN_14000e460 28 ok +0x14000e480 FUN_14000e480 49 ok +0x14000e4c0 FUN_14000e4c0 47 ok +0x14000e4f0 FUN_14000e4f0 36 ok +0x14000e520 FUN_14000e520 39 ok +0x14000e550 FUN_14000e550 95 ok +0x14000e5b0 FUN_14000e5b0 195 ok +0x14000e690 FUN_14000e690 195 ok +0x14000e760 FUN_14000e760 106 ok +0x14000e7d0 FUN_14000e7d0 145 ok +0x14000e870 FUN_14000e870 93 ok +0x14000e8d0 FUN_14000e8d0 104 ok +0x14000e940 FUN_14000e940 104 ok +0x14000e9b0 FUN_14000e9b0 149 ok +0x14000ea50 FUN_14000ea50 113 ok +0x14000ead0 FUN_14000ead0 50 ok +0x14000eb10 FUN_14000eb10 48 ok +0x14000eb40 FUN_14000eb40 22 ok +0x14000eb60 FUN_14000eb60 14 ok +0x14000eb70 FUN_14000eb70 50 ok +0x14000ebb0 FUN_14000ebb0 105 ok +0x14000ec20 FUN_14000ec20 46 ok +0x14000ec50 FUN_14000ec50 46 ok +0x14000ec80 FUN_14000ec80 46 ok +0x14000ecb0 FUN_14000ecb0 9 ok +0x14000ecc0 FUN_14000ecc0 31 ok +0x14000ece0 FUN_14000ece0 3 ok +0x14000ecf0 FUN_14000ecf0 55 ok +0x14000ed30 FUN_14000ed30 85 ok +0x14000ed90 FUN_14000ed90 296 ok +0x14000eec0 FUN_14000eec0 453 ok +0x14000f090 FUN_14000f090 401 ok +0x14000f230 FUN_14000f230 93 ok +0x14000f290 FUN_14000f290 191 ok +0x14000f350 FUN_14000f350 182 ok +0x14000f410 FUN_14000f410 363 ok +0x14000f580 FUN_14000f580 584 ok +0x14000f7d0 FUN_14000f7d0 94 ok +0x14000f830 FUN_14000f830 151 ok +0x14000f8d0 FUN_14000f8d0 14 ok +0x14000f8e0 FUN_14000f8e0 255 ok +0x14000f9e0 FUN_14000f9e0 186 ok +0x14000faa0 FUN_14000faa0 219 ok +0x14000fb80 FUN_14000fb80 838 ok +0x14000fed0 FUN_14000fed0 123 ok +0x14000ff50 FUN_14000ff50 81 ok +0x14000ffb0 FUN_14000ffb0 89 ok +0x140010010 FUN_140010010 93 ok +0x140010070 FUN_140010070 11 ok +0x140010080 FUN_140010080 33 ok +0x1400100b0 FUN_1400100b0 106 ok +0x140010120 FUN_140010120 283 ok +0x140010240 FUN_140010240 451 ok +0x140010410 FUN_140010410 382 ok +0x140010590 FUN_140010590 404 ok +0x140010730 FUN_140010730 277 ok +0x140010850 FUN_140010850 259 ok +0x140010960 FUN_140010960 318 ok +0x140010aa0 FUN_140010aa0 317 ok +0x140010be0 FUN_140010be0 332 ok +0x140010d30 FUN_140010d30 314 ok +0x140010e70 FUN_140010e70 46 ok +0x140010ea0 FUN_140010ea0 197 ok +0x140010f70 FUN_140010f70 243 ok +0x140011070 FUN_140011070 127 ok +0x1400110f0 FUN_1400110f0 106 ok +0x140011160 FUN_140011160 11 ok +0x140011170 FUN_140011170 39 ok +0x1400111a0 FUN_1400111a0 62 ok +0x1400111e0 FUN_1400111e0 169 ok +0x140011290 FUN_140011290 8 ok +0x1400112a0 FUN_1400112a0 103 ok +0x140011310 FUN_140011310 73 ok +0x140011360 std::bad_alloc `scalar_deleting_destructor' 58 ok +0x1400113a0 FUN_1400113a0 115 ok +0x140011420 FUN_140011420 4 ok +0x140011430 std::bad_alloc `scalar_deleting_destructor' 58 ok +0x140011470 FUN_140011470 13 ok +0x140011480 FUN_140011480 130 ok +0x140011510 std::bad_alloc `scalar_deleting_destructor' 58 ok +0x140011550 FUN_140011550 845 ok +0x1400118a0 FUN_1400118a0 48 ok +0x1400118d0 FUN_1400118d0 115 ok +0x140011950 FUN_140011950 96 ok +0x1400119b0 FUN_1400119b0 281 ok +0x140011ad0 FUN_140011ad0 206 ok +0x140011bb0 FUN_140011bb0 178 ok +0x140011c70 FUN_140011c70 48 ok +0x140011ca0 FUN_140011ca0 120 ok +0x140011d20 FUN_140011d20 180 ok +0x140011de0 FUN_140011de0 362 ok +0x140011f50 FUN_140011f50 450 ok +0x140012120 FUN_140012120 205 ok +0x1400121f0 FUN_1400121f0 120 ok +0x140012270 FUN_140012270 101 ok +0x1400122e0 FUN_1400122e0 151 ok +0x140012380 FUN_140012380 199 ok +0x140012450 FUN_140012450 380 ok +0x1400125d0 FUN_1400125d0 1291 ok +0x140012ae0 FUN_140012ae0 173 ok +0x140012b90 FUN_140012b90 93 ok +0x140012bf0 FUN_140012bf0 88 ok +0x140012c50 FUN_140012c50 104 ok +0x140012cc0 FUN_140012cc0 657 ok +0x140012f60 FUN_140012f60 93 ok +0x140012fc0 FUN_140012fc0 16 ok +0x140012fd0 FUN_140012fd0 176 ok +0x140013080 FUN_140013080 216 fail: Low-level Error: Overlapping input varnodes +0x140013160 FUN_140013160 16 ok +0x140013170 FUN_140013170 138 ok +0x140013200 FUN_140013200 185 ok +0x1400132c0 FUN_1400132c0 951 ok +0x140013680 FUN_140013680 139 ok +0x140013710 FUN_140013710 16 ok +0x140013720 FUN_140013720 142 ok +0x1400137b0 FUN_1400137b0 93 ok +0x140013810 FUN_140013810 16 ok +0x140013820 FUN_140013820 176 ok +0x1400138d0 FUN_1400138d0 46 ok +0x140013900 FUN_140013900 45 ok +0x140013930 FUN_140013930 259 ok +0x140013a40 FUN_140013a40 336 ok +0x140013b90 FUN_140013b90 221 ok +0x140013c70 FUN_140013c70 182 ok +0x140013d30 FUN_140013d30 489 ok +0x140013f20 FUN_140013f20 200 ok +0x140013ff0 FUN_140013ff0 982 ok +0x1400143d0 FUN_1400143d0 636 ok +0x140014650 FUN_140014650 145 ok +0x1400146f0 FUN_1400146f0 780 ok +0x140014a00 FUN_140014a00 1718 ok +0x1400150c0 FUN_1400150c0 694 ok +0x140015380 FUN_140015380 511 ok +0x140015580 FUN_140015580 630 ok +0x140015800 FUN_140015800 484 ok +0x1400159f0 FUN_1400159f0 590 ok +0x140015c40 FUN_140015c40 1297 ok +0x140016160 FUN_140016160 11 ok +0x140016170 FUN_140016170 39 ok +0x1400161a0 FUN_1400161a0 6 ok +0x1400161b0 FUN_1400161b0 48 ok +0x1400161e0 FUN_1400161e0 22 ok +0x140016200 FUN_140016200 134 ok +0x140016290 FUN_140016290 50 ok +0x1400162d0 FUN_1400162d0 9 ok +0x1400162e0 FUN_1400162e0 39 ok +0x140016310 FUN_140016310 11 ok +0x140016320 FUN_140016320 39 ok +0x140016350 FUN_140016350 91 ok +0x1400163b0 FUN_1400163b0 6 ok +0x1400163c0 FUN_1400163c0 6 ok +0x1400163d0 FUN_1400163d0 48 ok +0x140016400 FUN_140016400 468 ok +0x1400165e0 FUN_1400165e0 512 ok +0x1400167f0 FUN_1400167f0 209 ok +0x1400168d0 FUN_1400168d0 219 ok +0x1400169b0 FUN_1400169b0 227 ok +0x140016aa0 FUN_140016aa0 237 ok +0x140016b90 FUN_140016b90 209 ok +0x140016c70 FUN_140016c70 219 ok +0x140016d50 FUN_140016d50 251 ok +0x140016e50 FUN_140016e50 261 ok +0x140016f60 FUN_140016f60 210 ok +0x140017040 FUN_140017040 216 ok +0x140017120 FUN_140017120 230 ok +0x140017210 FUN_140017210 240 ok +0x140017310 FUN_140017310 210 ok +0x1400173f0 FUN_1400173f0 216 ok +0x1400174d0 FUN_1400174d0 278 ok +0x1400175f0 FUN_1400175f0 298 ok +0x140017720 FUN_140017720 227 ok +0x140017810 FUN_140017810 237 ok +0x140017900 FUN_140017900 227 ok +0x1400179f0 FUN_1400179f0 237 ok +0x140017ae0 FUN_140017ae0 227 ok +0x140017bd0 FUN_140017bd0 237 ok +0x140017cc0 FUN_140017cc0 269 ok +0x140017dd0 FUN_140017dd0 279 ok +0x140017ef0 FUN_140017ef0 269 ok +0x140018000 FUN_140018000 279 ok +0x140018120 FUN_140018120 10874 ok +0x14001abd0 std::bad_alloc `scalar_deleting_destructor' 58 ok +0x14001ac10 FUN_14001ac10 15 ok +0x14001ac20 std::bad_alloc `scalar_deleting_destructor' 58 ok +0x14001ac60 FUN_14001ac60 15 ok +0x14001ac70 FUN_14001ac70 126 ok +0x14001acf0 FUN_14001acf0 600 ok +0x14001af50 FUN_14001af50 195 ok +0x14001b020 FUN_14001b020 525 ok +0x14001b230 FUN_14001b230 252 ok +0x14001b330 FUN_14001b330 164 ok +0x14001b3e0 FUN_14001b3e0 208 ok +0x14001b4b0 FUN_14001b4b0 144 ok +0x14001b540 FUN_14001b540 94 ok +0x14001b5a0 FUN_14001b5a0 353 ok +0x14001b710 FUN_14001b710 143 ok +0x14001b7a0 FUN_14001b7a0 34 ok +0x14001b7d0 FUN_14001b7d0 50 ok +0x14001b810 FUN_14001b810 56 ok +0x14001b850 FUN_14001b850 322 ok +0x14001b9a0 FUN_14001b9a0 216 ok +0x14001ba80 FUN_14001ba80 217 ok +0x14001bb60 FUN_14001bb60 106 ok +0x14001bbd0 FUN_14001bbd0 150 ok +0x14001bc70 FUN_14001bc70 190 ok +0x14001bd30 FUN_14001bd30 94 ok +0x14001bd90 FUN_14001bd90 103 ok +0x14001be00 FUN_14001be00 217 ok +0x14001bee0 FUN_14001bee0 99 ok +0x14001bf50 FUN_14001bf50 48 ok +0x14001bf80 FUN_14001bf80 145 ok +0x14001c020 FUN_14001c020 136 ok +0x14001c0c0 FUN_14001c0c0 137 ok +0x14001c150 FUN_14001c150 33 ok +0x14001c180 FUN_14001c180 59 ok +0x14001c1c0 FUN_14001c1c0 64 ok +0x14001c210 FUN_14001c210 6 ok +0x14001c220 FUN_14001c220 6 ok +0x14001c230 FUN_14001c230 270 ok +0x14001c340 FUN_14001c340 290 ok +0x14001c470 FUN_14001c470 391 ok +0x14001c600 FUN_14001c600 402 ok +0x14001c7a0 FUN_14001c7a0 252 ok +0x14001c8a0 FUN_14001c8a0 262 ok +0x14001c9b0 FUN_14001c9b0 270 ok +0x14001cac0 FUN_14001cac0 280 ok +0x14001cbe0 FUN_14001cbe0 266 ok +0x14001ccf0 FUN_14001ccf0 276 ok +0x14001ce10 FUN_14001ce10 284 ok +0x14001cf30 FUN_14001cf30 294 ok +0x14001d060 FUN_14001d060 230 ok +0x14001d150 FUN_14001d150 240 ok +0x14001d250 FUN_14001d250 227 ok +0x14001d340 FUN_14001d340 237 ok +0x14001d430 FUN_14001d430 231 ok +0x14001d520 FUN_14001d520 237 ok +0x14001d610 FUN_14001d610 209 ok +0x14001d6f0 FUN_14001d6f0 219 ok +0x14001d7d0 FUN_14001d7d0 189 ok +0x14001d890 FUN_14001d890 198 ok +0x14001d960 FUN_14001d960 14098 ok +0x1400210c0 std::bad_alloc `scalar_deleting_destructor' 58 ok +0x140021100 FUN_140021100 15 ok +0x140021110 std::bad_alloc `scalar_deleting_destructor' 58 ok +0x140021150 FUN_140021150 15 ok +0x140021160 FUN_140021160 278 ok +0x140021280 FUN_140021280 195 ok +0x140021350 FUN_140021350 252 ok +0x140021450 FUN_140021450 271 ok +0x140021560 FUN_140021560 179 ok +0x140021620 FUN_140021620 164 ok +0x1400216d0 FUN_1400216d0 121 ok +0x140021750 FUN_140021750 228 ok +0x140021840 FUN_140021840 165 ok +0x1400218f0 FUN_1400218f0 244 ok +0x1400219f0 FUN_1400219f0 738 ok +0x140021ce0 FUN_140021ce0 129 ok +0x140021d70 FUN_140021d70 272 ok +0x140021e80 FUN_140021e80 216 ok +0x140021f60 FUN_140021f60 49 ok +0x140021fa0 FUN_140021fa0 220 ok +0x140022080 FUN_140022080 51 ok +0x1400220c0 FUN_1400220c0 224 ok +0x1400221b0 FUN_1400221b0 219 ok +0x140022290 FUN_140022290 53 ok +0x1400222d0 FUN_1400222d0 110 ok +0x140022340 FUN_140022340 749 ok +0x140022630 FUN_140022630 48 ok +0x140022660 FUN_140022660 378 ok +0x1400227e0 FUN_1400227e0 569 ok +0x140022a20 FUN_140022a20 1209 ok +0x140022ee0 FUN_140022ee0 3272 ok +0x140023bb0 FUN_140023bb0 36 ok +0x140023be0 FUN_140023be0 8037 ok +0x140025b50 FUN_140025b50 48 ok +0x140025b80 FUN_140025b80 218 ok +0x140025c60 FUN_140025c60 938 ok +0x140026010 FUN_140026010 57 ok +0x140026050 FUN_140026050 498 ok +0x140026250 FUN_140026250 819 ok +0x1400265f0 FUN_1400265f0 553 ok +0x140026820 FUN_140026820 2493 ok +0x1400271e0 FUN_1400271e0 853 ok +0x140027540 FUN_140027540 3989 ok +0x1400284f0 FUN_1400284f0 127 ok +0x140028570 FUN_140028570 20 ok +0x140028590 FUN_140028590 86 ok +0x1400285f0 FUN_1400285f0 164 ok +0x1400286a0 FUN_1400286a0 35 ok +0x1400286d0 FUN_1400286d0 566 ok +0x140028910 FUN_140028910 77 ok +0x140028960 FUN_140028960 99 ok +0x1400289d0 FUN_1400289d0 409 ok +0x140028b70 FUN_140028b70 266 ok +0x140028c80 FUN_140028c80 54 ok +0x140028cc0 FUN_140028cc0 185 ok +0x140028d80 FUN_140028d80 111 ok +0x140028df0 FUN_140028df0 83 ok +0x140028e50 FUN_140028e50 132 ok +0x140028ee0 FUN_140028ee0 137 ok +0x140028f70 FUN_140028f70 129 ok +0x140029000 FUN_140029000 638 ok +0x140029280 FUN_140029280 182 ok +0x140029340 FUN_140029340 268 ok +0x140029450 FUN_140029450 89 ok +0x1400294b0 FUN_1400294b0 244 ok +0x1400295b0 FUN_1400295b0 100 ok +0x140029620 FUN_140029620 120 ok +0x1400296a0 FUN_1400296a0 118 ok +0x140029720 FUN_140029720 166 ok +0x1400297d0 FUN_1400297d0 321 ok +0x140029920 FUN_140029920 348 ok +0x140029a80 FUN_140029a80 221 ok +0x140029b60 FUN_140029b60 126 ok +0x140029be0 FUN_140029be0 121 ok +0x140029c60 FUN_140029c60 138 ok +0x140029cf0 FUN_140029cf0 191 ok +0x140029db0 FUN_140029db0 325 ok +0x140029f00 FUN_140029f00 91 ok +0x140029f60 FUN_140029f60 92 ok +0x140029fc0 FUN_140029fc0 165 ok +0x14002a070 FUN_14002a070 179 ok +0x14002a130 FUN_14002a130 217 ok +0x14002a210 FUN_14002a210 446 ok +0x14002a3d0 FUN_14002a3d0 222 ok +0x14002a4b0 FUN_14002a4b0 198 ok +0x14002a580 FUN_14002a580 30 ok +0x14002a5a0 FUN_14002a5a0 168 ok +0x14002a650 FUN_14002a650 29 ok +0x14002a670 FUN_14002a670 262 ok +0x14002a780 FUN_14002a780 50 ok +0x14002a7c0 FUN_14002a7c0 22 ok +0x14002a7e0 FUN_14002a7e0 84 ok +0x14002a840 FUN_14002a840 227 ok +0x14002a930 FUN_14002a930 408 ok +0x14002aad0 FUN_14002aad0 143 ok +0x14002ab60 FUN_14002ab60 137 ok +0x14002abf0 FUN_14002abf0 50 ok +0x14002ac30 FUN_14002ac30 61 ok +0x14002ac70 FUN_14002ac70 1689 ok +0x14002b320 FUN_14002b320 155 ok +0x14002b3c0 FUN_14002b3c0 117 ok +0x14002b440 FUN_14002b440 14 ok +0x14002b450 FUN_14002b450 150 ok +0x14002b500 FUN_14002b500 105 ok +0x14002b570 FUN_14002b570 128 ok +0x14002b5f0 FUN_14002b5f0 148 ok +0x14002b690 FUN_14002b690 88 ok +0x14002b6f0 FUN_14002b6f0 56 ok +0x14002b730 FUN_14002b730 126 ok +0x14002b7b0 FUN_14002b7b0 105 ok +0x14002b820 FUN_14002b820 2759 ok +0x14002c2f0 FUN_14002c2f0 50 ok +0x14002c330 FUN_14002c330 22 ok +0x14002c350 FUN_14002c350 63 ok +0x14002c390 FUN_14002c390 100 ok +0x14002c400 FUN_14002c400 349 ok +0x14002c560 FUN_14002c560 702 ok +0x14002c820 FUN_14002c820 250 ok +0x14002c920 FUN_14002c920 128 ok +0x14002c9a0 FUN_14002c9a0 131 ok +0x14002ca30 FUN_14002ca30 329 ok +0x14002cb80 FUN_14002cb80 345 ok +0x14002cce0 FUN_14002cce0 377 ok +0x14002ce60 FUN_14002ce60 158 ok +0x14002cf00 FUN_14002cf00 218 ok +0x14002cfe0 FUN_14002cfe0 139 ok +0x14002d070 FUN_14002d070 202 ok +0x14002d140 FUN_14002d140 172 ok +0x14002d1f0 FUN_14002d1f0 231 ok +0x14002d2e0 FUN_14002d2e0 333 ok +0x14002d430 FUN_14002d430 332 ok +0x14002d580 FUN_14002d580 531 ok +0x14002d7a0 FUN_14002d7a0 373 ok +0x14002d920 FUN_14002d920 445 ok +0x14002dae0 FUN_14002dae0 259 ok +0x14002dbf0 FUN_14002dbf0 325 ok +0x14002dd40 FUN_14002dd40 94 ok +0x14002dda0 FUN_14002dda0 577 ok +0x14002dff0 FUN_14002dff0 225 ok +0x14002e0e0 FUN_14002e0e0 24 ok +0x14002e100 FUN_14002e100 128 ok +0x14002e180 FUN_14002e180 50 ok +0x14002e1c0 FUN_14002e1c0 357 ok +0x14002e330 FUN_14002e330 48 ok +0x14002e360 FUN_14002e360 170 ok +0x14002e410 FUN_14002e410 50 ok +0x14002e450 FUN_14002e450 22 ok +0x14002e470 FUN_14002e470 115 ok +0x14002e4f0 FUN_14002e4f0 20 ok +0x14002e510 FUN_14002e510 131 ok +0x14002e5a0 FUN_14002e5a0 50 ok +0x14002e5e0 FUN_14002e5e0 22 ok +0x14002e600 FUN_14002e600 216 ok +0x14002e6e0 FUN_14002e6e0 45 ok +0x14002e710 FUN_14002e710 27 ok +0x14002e730 FUN_14002e730 50 ok +0x14002e770 FUN_14002e770 11 ok +0x14002e780 FUN_14002e780 10 ok +0x14002e790 FUN_14002e790 3 ok +0x14002e7a0 FUN_14002e7a0 124 ok +0x14002e820 FUN_14002e820 31 ok +0x14002e840 FUN_14002e840 168 ok +0x14002e8f0 FUN_14002e8f0 308 ok +0x14002ea30 FUN_14002ea30 101 ok +0x14002eaa0 FUN_14002eaa0 16 ok +0x14002eab0 FUN_14002eab0 126 ok +0x14002eb30 FUN_14002eb30 270 ok +0x14002ec40 FUN_14002ec40 265 ok +0x14002ed50 FUN_14002ed50 57 ok +0x14002ed90 FUN_14002ed90 95 ok +0x14002edf0 FUN_14002edf0 125 ok +0x14002ee70 FUN_14002ee70 121 ok +0x14002eef0 FUN_14002eef0 92 ok +0x14002ef50 FUN_14002ef50 130 ok +0x14002efe0 FUN_14002efe0 501 ok +0x14002f1e0 FUN_14002f1e0 591 ok +0x14002f430 FUN_14002f430 126 ok +0x14002f4b0 FUN_14002f4b0 221 ok +0x14002f590 FUN_14002f590 38 ok +0x14002f5c0 FUN_14002f5c0 38 ok +0x14002f5f0 FUN_14002f5f0 41 ok +0x14002f620 FUN_14002f620 68 ok +0x14002f670 FUN_14002f670 155 ok +0x14002f710 FUN_14002f710 182 ok +0x14002f7d0 FUN_14002f7d0 116 ok +0x14002f850 FUN_14002f850 24 ok +0x14002f870 FUN_14002f870 324 ok +0x14002f9c0 FUN_14002f9c0 68 ok +0x14002fa10 FUN_14002fa10 94 ok +0x14002fa70 FUN_14002fa70 124 ok +0x14002faf0 FUN_14002faf0 151 ok +0x14002fb90 FUN_14002fb90 62 ok +0x14002fbd0 FUN_14002fbd0 223 ok +0x14002fcc0 FUN_14002fcc0 219 ok +0x14002fda0 FUN_14002fda0 232 ok +0x14002fe90 FUN_14002fe90 155 ok +0x14002ff30 FUN_14002ff30 158 ok +0x14002ffd0 FUN_14002ffd0 165 ok +0x140030080 FUN_140030080 42 ok +0x1400300b0 FUN_1400300b0 15 ok +0x1400300c0 FUN_1400300c0 30 ok +0x140030100 FUN_140030100 5 ok +0x140030120 FUN_140030120 41 ok +0x140030150 FUN_140030150 39 ok +0x140030180 FUN_140030180 27 ok +0x1400301b0 FUN_1400301b0 32 ok +0x1400301f0 FUN_1400301f0 10 ok +0x140030200 FUN_140030200 86 ok +0x140030260 FUN_140030260 14 ok +0x140030270 FUN_140030270 11 ok +0x140030280 FUN_140030280 44 ok +0x1400302b0 FUN_1400302b0 59 ok +0x1400302f0 FUN_1400302f0 35 ok +0x140030320 FUN_140030320 38 ok +0x140030350 FUN_140030350 89 ok +0x1400303b0 FUN_1400303b0 21 ok +0x1400303d0 FUN_1400303d0 8 ok +0x1400303e0 FUN_1400303e0 38 ok +0x140030410 FUN_140030410 119 ok +0x140030490 FUN_140030490 59 ok +0x1400304d0 FUN_1400304d0 54 ok +0x140030510 FUN_140030510 26 ok +0x140030530 FUN_140030530 29 ok +0x140030550 FUN_140030550 33 ok +0x140030580 FUN_140030580 29 ok +0x1400305a0 FUN_1400305a0 87 ok +0x140030600 FUN_140030600 47 ok +0x140030630 FUN_140030630 82 ok +0x140030690 FUN_140030690 229 ok +0x140030780 FUN_140030780 521 ok +0x140030990 FUN_140030990 183 ok +0x140030a50 FUN_140030a50 222 ok +0x140030b30 FUN_140030b30 165 ok +0x140030be0 FUN_140030be0 17 ok +0x140030c00 FUN_140030c00 261 ok +0x140030d10 FUN_140030d10 69 ok +0x140030d60 FUN_140030d60 69 ok +0x140030db0 FUN_140030db0 11 ok +0x140030dc0 FUN_140030dc0 50 ok +0x140030e00 FUN_140030e00 61 ok +0x140030eb0 FUN_140030eb0 288 ok +0x140030fe0 FUN_140030fe0 968 ok +0x1400313b0 FUN_1400313b0 168 ok +0x140031460 FUN_140031460 81 ok +0x1400314c0 FUN_1400314c0 38 ok +0x1400314f0 FUN_1400314f0 259 ok +0x140031600 FUN_140031600 31 ok +0x140031620 FUN_140031620 132 ok +0x1400316b0 FUN_1400316b0 72 ok +0x140031700 FUN_140031700 570 ok +0x140031950 FUN_140031950 795 ok +0x140031c80 FUN_140031c80 143 ok +0x140031d10 FUN_140031d10 389 ok +0x140031ea0 FUN_140031ea0 34 ok +0x140031ed0 FUN_140031ed0 98 ok +0x140031f40 FUN_140031f40 141 ok +0x140031fd0 FUN_140031fd0 164 ok +0x140032080 FUN_140032080 738 ok +0x140032370 FUN_140032370 180 ok +0x140032430 FUN_140032430 110 ok +0x1400324a0 FUN_1400324a0 355 ok +0x140032610 FUN_140032610 2011 ok +0x140032df0 FUN_140032df0 239 ok +0x140032ee0 FUN_140032ee0 117 ok +0x140032f60 FUN_140032f60 78 ok +0x140032fb0 FUN_140032fb0 162 ok +0x140033060 FUN_140033060 177 ok +0x140033120 FUN_140033120 52 ok +0x140033170 FUN_140033170 60 ok +0x1400331b0 FUN_1400331b0 11 ok +0x1400331c0 FUN_1400331c0 38 ok +0x1400331f0 FUN_1400331f0 14 ok +0x140033200 FUN_140033200 24 ok +0x140033220 FUN_140033220 55 ok +0x140033260 FUN_140033260 35 ok +0x140033290 FUN_140033290 37 ok +0x1400332c0 FUN_1400332c0 177 ok +0x140033380 FUN_140033380 90 ok +0x1400333e0 FUN_1400333e0 98 ok +0x140033450 FUN_140033450 207 ok +0x140033530 FUN_140033530 239 ok +0x140033620 FUN_140033620 448 ok +0x1400337e0 FUN_1400337e0 123 ok +0x140033860 FUN_140033860 68 ok +0x1400338b0 FUN_1400338b0 140 ok +0x140033940 FUN_140033940 489 ok +0x140033b30 FUN_140033b30 365 ok +0x140033ca0 FUN_140033ca0 348 ok +0x140033e00 FUN_140033e00 114 ok +0x140033e80 FUN_140033e80 104 ok +0x140033ef0 FUN_140033ef0 189 ok +0x140033fb0 FUN_140033fb0 359 ok +0x140034120 FUN_140034120 54 ok +0x140034160 FUN_140034160 665 ok +0x140034400 FUN_140034400 318 ok +0x140034540 FUN_140034540 161 ok +0x1400345f0 FUN_1400345f0 177 ok +0x1400346b0 FUN_1400346b0 47 ok +0x1400346e0 FUN_1400346e0 680 ok +0x140034990 FUN_140034990 120 ok +0x140034a10 FUN_140034a10 18 ok +0x140034a30 FUN_140034a30 155 ok +0x140034ad0 FUN_140034ad0 155 ok +0x140034b70 FUN_140034b70 5 ok +0x140034b80 FUN_140034b80 4 ok +0x140034b90 FUN_140034b90 60 ok +0x140034bd0 FUN_140034bd0 149 ok +0x140034c70 FUN_140034c70 43 ok +0x140034ca0 FUN_140034ca0 66 ok +0x140034cf0 FUN_140034cf0 20 ok +0x140034d10 FUN_140034d10 84 ok +0x140034d70 FUN_140034d70 84 ok +0x140034dd0 FUN_140034dd0 90 ok +0x140034e30 FUN_140034e30 193 ok +0x140034f00 FUN_140034f00 23 ok +0x140034f30 FUN_140034f30 25 ok +0x140034f50 FUN_140034f50 11 ok +0x140034f60 FUN_140034f60 38 ok +0x140034f90 FUN_140034f90 206 ok +0x140035070 FUN_140035070 217 ok +0x140035150 FUN_140035150 208 ok +0x140035220 FUN_140035220 200 ok +0x1400352f0 FUN_1400352f0 200 ok +0x1400353c0 FUN_1400353c0 206 ok +0x140035490 FUN_140035490 230 ok +0x140035580 FUN_140035580 389 ok +0x140035710 FUN_140035710 20 ok +0x140035730 FUN_140035730 79 ok +0x140035780 FUN_140035780 29 ok +0x1400357a0 FUN_1400357a0 87 ok +0x140035800 FUN_140035800 149 ok +0x1400358a0 FUN_1400358a0 228 ok +0x140035990 FUN_140035990 533 ok +0x140035bb0 FUN_140035bb0 400 ok +0x140035d40 FUN_140035d40 324 ok +0x140035e90 FUN_140035e90 1067 ok +0x1400362c0 FUN_1400362c0 355 ok +0x140036430 FUN_140036430 443 ok +0x1400365f0 FUN_1400365f0 472 ok +0x1400367d0 FUN_1400367d0 451 ok +0x1400369a0 FUN_1400369a0 60 ok +0x1400369e0 FUN_1400369e0 96 ok +0x140036a40 FUN_140036a40 96 ok +0x140036aa0 FUN_140036aa0 362 ok +0x140036c10 FUN_140036c10 122 ok +0x140036c90 FUN_140036c90 254 ok +0x140036d90 FUN_140036d90 266 ok +0x140036ea0 FUN_140036ea0 171 ok +0x140036f50 FUN_140036f50 36 ok +0x140036f80 FUN_140036f80 69 ok +0x140036fd0 FUN_140036fd0 100 ok +0x140037040 FUN_140037040 72 ok +0x140037090 FUN_140037090 573 ok +0x1400372d0 FUN_1400372d0 565 ok +0x140037510 FUN_140037510 69 ok +0x140037560 FUN_140037560 81 ok +0x1400375c0 FUN_1400375c0 37 ok +0x1400375f0 FUN_1400375f0 125 ok +0x140037670 FUN_140037670 42 ok +0x1400376a0 FUN_1400376a0 57 ok +0x1400376e0 FUN_1400376e0 9 ok +0x140037700 FUN_140037700 90 ok +0x140037760 FUN_140037760 111 ok +0x1400377d0 FUN_1400377d0 86 ok +0x140037830 FUN_140037830 195 ok +0x140037900 FUN_140037900 430 ok +0x140037ab0 FUN_140037ab0 86 ok +0x140037b10 FUN_140037b10 101 ok +0x140037b80 FUN_140037b80 11 ok +0x140037b90 FUN_140037b90 117 ok +0x140037c10 FUN_140037c10 393 ok +0x140037da0 FUN_140037da0 234 ok +0x140037e90 FUN_140037e90 147 ok +0x140037f30 FUN_140037f30 50 ok +0x140037f70 FUN_140037f70 69 ok +0x140037fc0 FUN_140037fc0 149 ok +0x140038060 FUN_140038060 354 ok +0x1400381d0 FUN_1400381d0 178 ok +0x140038290 FUN_140038290 47 ok +0x1400382c0 FUN_1400382c0 110 ok +0x140038330 FUN_140038330 84 ok +0x140038390 FUN_140038390 593 ok +0x1400385f0 FUN_1400385f0 158 ok +0x140038690 FUN_140038690 228 ok +0x140038790 FUN_140038790 149 ok +0x140038830 FUN_140038830 132 ok +0x1400388c0 FUN_1400388c0 1094 ok +0x140038d10 FUN_140038d10 1772 ok +0x140039410 FUN_140039410 253 ok +0x140039510 FUN_140039510 220 ok +0x1400395f0 FUN_1400395f0 114 ok +0x140039670 FUN_140039670 228 ok +0x140039760 FUN_140039760 225 ok +0x140039850 FUN_140039850 251 ok +0x140039950 FUN_140039950 294 ok +0x140039a80 FUN_140039a80 295 ok +0x140039bb0 FUN_140039bb0 60 ok +0x140039bf0 FUN_140039bf0 26 ok +0x140039c10 FUN_140039c10 68 ok +0x140039c60 FUN_140039c60 108 ok +0x140039cd0 FUN_140039cd0 268 ok +0x140039de0 FUN_140039de0 353 ok +0x140039f50 FUN_140039f50 147 ok +0x140039ff0 FUN_140039ff0 197 ok +0x14003a0c0 FUN_14003a0c0 21 ok +0x14003a0e0 FUN_14003a0e0 23 ok +0x14003a100 FUN_14003a100 26 ok +0x14003a120 FUN_14003a120 139 ok +0x14003a1b0 FUN_14003a1b0 10 ok +0x14003a1c0 FUN_14003a1c0 37 ok +0x14003a1f0 FUN_14003a1f0 39 ok +0x14003a220 FUN_14003a220 48 ok +0x14003a250 FUN_14003a250 79 ok +0x14003a2a0 FUN_14003a2a0 157 ok +0x14003a340 FUN_14003a340 68 ok +0x14003a390 FUN_14003a390 69 ok +0x14003a3e0 FUN_14003a3e0 63 ok +0x14003a420 FUN_14003a420 82 ok +0x14003a480 FUN_14003a480 93 ok +0x14003a4e0 FUN_14003a4e0 5 ok +0x14003a504 ATL::CAtlBaseModule ~CAtlBaseModule 52 ok +0x14003a538 ATL::CAtlBaseModule GetHInstanceAt 126 ok +0x14003a5b8 ATL::CAtlBaseModule CAtlBaseModule 152 ok +0x14003a660 FUN_14003a660 29 ok +0x14003a680 ATL::CWin32Heap Reallocate 63 ok +0x14003a6d0 ATL::CWin32Heap `scalar_deleting_destructor' 74 ok +0x14003a728 FUN_14003a728 9 ok +0x14003a734 FUN_14003a734 38 ok +0x14003a75c ATL::CAtlStringMgr Allocate 117 ok +0x14003a7d4 ATL::CAtlStringMgr Reallocate 82 ok +0x14003a870 FUN_14003a870 9 ok +0x14003a880 FUN_14003a880 264 ok +0x14003a990 _com_error ~_com_error 55 ok +0x14003a9d0 FUN_14003a9d0 51 ok +0x14003aa10 _com_error _com_error 64 ok +0x14003aa50 FUN_14003aa50 83 ok +0x14003aac0 __security_check_cookie 31 ok +0x14003aaf4 _onexit 176 ok +0x14003aba4 atexit 23 ok +0x14003abbc type_info `vector_deleting_destructor' 105 ok +0x14003ac2c FUN_14003ac2c 101 ok +0x14003ac94 __tmainCRTStartup 339 ok +0x14003ae14 FUN_14003ae14 206 ok +0x14003aee4 entry 18 ok +0x14003af10 __GSHandlerCheckCommon 99 ok +0x14003af74 __GSHandlerCheck 29 ok +0x14003af94 FUN_14003af94 140 ok +0x14003b03c __ArrayUnwind 74 ok +0x14003b088 `eh_vector_destructor_iterator' 93 ok +0x14003b100 __chkstk 78 ok +0x14003b154 __report_gsfailure 330 ok +0x14003b2b0 FUN_14003b2b0 64 ok +0x14003b2f4 FUN_14003b2f4 24 ok +0x14003b314 FUN_14003b314 56 ok +0x14003b34c FUN_14003b34c 56 ok +0x14003b390 _ValidateImageBase 47 ok +0x14003b3c0 _FindPESection 70 ok +0x14003b410 _IsNonwritableInCurrentImage 63 ok +0x14003b460 FUN_14003b460 3 ok +0x14003b464 __security_init_cookie 179 ok +0x14003b530 FUN_14003b530 62 ok +0x14003b570 FUN_14003b570 80 ok +0x14003b5c0 FUN_14003b5c0 11 ok +0x14003b5d0 FUN_14003b5d0 47 ok +0x14003b600 FUN_14003b600 106 ok +0x14003b670 FUN_14003b670 237 ok +0x14003b760 FUN_14003b760 57 ok +0x14003b7a0 FUN_14003b7a0 176 ok +0x14003b850 FUN_14003b850 32 ok +0x14003b870 FUN_14003b870 56 ok +0x14003b8b0 FUN_14003b8b0 353 ok +0x14003bab0 FUN_14003bab0 353 ok +0x14003bcb0 FUN_14003bcb0 353 ok +0x14003beb0 FUN_14003beb0 59 ok +0x14003bef0 FUN_14003bef0 150 ok +0x14003bf90 FUN_14003bf90 90 ok +0x14003bff0 FUN_14003bff0 299 ok +0x14003c120 FUN_14003c120 286 ok +0x14003c240 FUN_14003c240 1151 ok +0x14003c6c0 FUN_14003c6c0 11 ok +0x14003c6d0 FUN_14003c6d0 11 ok +0x14003c6e0 FUN_14003c6e0 38 ok +0x14003c710 FUN_14003c710 11 ok +0x14003c720 FUN_14003c720 38 ok +0x14003c750 FUN_14003c750 11 ok +0x14003c760 FUN_14003c760 38 ok +0x14003c790 FUN_14003c790 11 ok +0x14003c7a0 FUN_14003c7a0 38 ok +0x14003c7d0 FUN_14003c7d0 11 ok +0x14003c7e0 FUN_14003c7e0 38 ok +0x14003c810 FUN_14003c810 8 ok +0x14003c830 FUN_14003c830 8 ok +0x14003c840 FUN_14003c840 12 ok +0x14003c850 FUN_14003c850 6 ok +0x14003c860 FUN_14003c860 6 ok +0x14003c870 FUN_14003c870 8 ok +0x14003c880 FUN_14003c880 7 ok +0x14003c890 FUN_14003c890 12 ok +0x14003c8a0 FUN_14003c8a0 54 ok +0x14003c8e0 FUN_14003c8e0 42 ok +0x14003c910 FUN_14003c910 26 ok +0x14003c930 FUN_14003c930 7 ok +0x14003c940 FUN_14003c940 91 ok +0x14003c9a0 FUN_14003c9a0 7 ok +0x14003c9b0 FUN_14003c9b0 30 ok +0x14003c9d0 FUN_14003c9d0 8 ok +0x14003c9e0 FUN_14003c9e0 104 ok +0x14003ca50 FUN_14003ca50 215 ok +0x14003cb30 FUN_14003cb30 113 ok +0x14003cbb0 FUN_14003cbb0 116 ok +0x14003cc30 FUN_14003cc30 113 ok +0x14003ccb0 FUN_14003ccb0 49 ok +0x14003ccf0 FUN_14003ccf0 52 ok +0x14003cd30 FUN_14003cd30 5 ok +0x14003cd40 FUN_14003cd40 599 ok +0x14003cfa0 FUN_14003cfa0 116 ok +0x14003d020 FUN_14003d020 116 ok +0x14003d0a0 FUN_14003d0a0 33 ok +0x14003d0d0 FUN_14003d0d0 7 ok +0x14003d0e0 FUN_14003d0e0 150 ok +0x14003d180 FUN_14003d180 233 ok +0x14003d270 FUN_14003d270 150 ok +0x14003d310 FUN_14003d310 62 ok +0x14003d350 FUN_14003d350 233 ok +0x14003d440 FUN_14003d440 150 ok +0x14003d4e0 FUN_14003d4e0 126 ok +0x14003d560 FUN_14003d560 291 ok +0x14003d690 FUN_14003d690 14 ok +0x14003d6a0 FUN_14003d6a0 149 ok +0x14003d740 FUN_14003d740 49 ok +0x14003d780 FUN_14003d780 89 ok +0x14003d7e0 FUN_14003d7e0 52 ok +0x14003d820 FUN_14003d820 136 ok +0x14003d8b0 FUN_14003d8b0 39 ok +0x14003d8e0 FUN_14003d8e0 38 ok +0x14003d910 FUN_14003d910 13 ok +0x14003d920 FUN_14003d920 136 ok +0x14003d9b0 FUN_14003d9b0 101 ok +0x14003da20 FUN_14003da20 238 ok +0x14003db10 FUN_14003db10 157 ok +0x14003dbb0 FUN_14003dbb0 82 ok +0x14003dc10 FUN_14003dc10 107 ok +0x14003dc80 FUN_14003dc80 12 ok +0x14003dc90 FUN_14003dc90 210 ok +0x14003dd70 FUN_14003dd70 121 ok +0x14003ddf0 FUN_14003ddf0 190 ok +0x14003deb0 FUN_14003deb0 277 ok +0x14003dfd0 FUN_14003dfd0 24 ok +0x14003dff0 FUN_14003dff0 56 ok +0x14003e030 FUN_14003e030 396 ok +0x14003e1c0 FUN_14003e1c0 36 ok +0x14003e1f0 FUN_14003e1f0 56 ok +0x14003e230 FUN_14003e230 36 ok +0x14003e260 FUN_14003e260 56 ok +0x14003e2a0 FUN_14003e2a0 56 ok +0x14003e2e0 FUN_14003e2e0 183 ok +0x14003e3a0 FUN_14003e3a0 36 ok +0x14003e3d0 FUN_14003e3d0 56 ok +0x14003e410 FUN_14003e410 87 ok +0x14003e470 FUN_14003e470 87 ok +0x14003e4d0 FUN_14003e4d0 87 ok +0x14003e530 FUN_14003e530 87 ok +0x14003e590 FUN_14003e590 87 ok +0x14003e5f0 FUN_14003e5f0 87 ok +0x14003e650 FUN_14003e650 87 ok +0x14003e6b0 FUN_14003e6b0 366 ok +0x14003e820 FUN_14003e820 189 ok +0x14003e8e0 FUN_14003e8e0 492 ok +0x14003ead0 FUN_14003ead0 255 ok +0x14003ebe0 FUN_14003ebe0 255 ok +0x14003ecf0 FUN_14003ecf0 206 ok +0x14003edc0 FUN_14003edc0 561 ok +0x14003f000 FUN_14003f000 291 ok +0x14003f130 FUN_14003f130 286 ok +0x14003f250 FUN_14003f250 347 ok +0x14003f3b0 FUN_14003f3b0 264 ok +0x14003f4c0 FUN_14003f4c0 588 ok +0x14003f710 FUN_14003f710 231 ok +0x14003f800 FUN_14003f800 342 ok +0x14003f960 FUN_14003f960 588 ok +0x14003fbb0 FUN_14003fbb0 56 ok +0x14003fbf0 FUN_14003fbf0 103 ok +0x14003fc60 FUN_14003fc60 40 ok +0x14003fc90 FUN_14003fc90 48 ok +0x14003fcd0 FUN_14003fcd0 41 ok +0x14003fd00 FUN_14003fd00 91 ok +0x14003fd60 FUN_14003fd60 101 ok +0x14003fdd0 FUN_14003fdd0 526 ok +0x14003ffe0 FUN_14003ffe0 33 ok +0x140040030 FUN_140040030 119 ok +0x1400400b0 FUN_1400400b0 111 ok +0x140040120 FUN_140040120 248 ok +0x140040220 FUN_140040220 186 ok +0x1400402e0 FUN_1400402e0 155 ok +0x140040380 FUN_140040380 457 ok +0x140040550 FUN_140040550 261 ok +0x140040660 FUN_140040660 295 ok +0x140040790 FUN_140040790 434 ok +0x140040950 FUN_140040950 117 ok +0x1400409d0 FUN_1400409d0 133 ok +0x140040a60 FUN_140040a60 416 ok +0x140040c10 FUN_140040c10 69 ok +0x140040c60 FUN_140040c60 266 ok +0x140040d70 FUN_140040d70 9 ok +0x140040d80 FUN_140040d80 155 ok +0x140040e20 FUN_140040e20 148 ok +0x140040ec0 FUN_140040ec0 135 ok +0x140040f50 FUN_140040f50 295 ok +0x140041080 FUN_140041080 87 ok +0x1400410e0 FUN_1400410e0 79 ok +0x140041130 FUN_140041130 314 ok +0x140041270 FUN_140041270 314 ok +0x1400413b0 FUN_1400413b0 316 ok +0x1400414f0 FUN_1400414f0 24 ok +0x140041510 FUN_140041510 130 ok +0x1400415a0 FUN_1400415a0 30 ok +0x1400415c0 FUN_1400415c0 402 ok +0x140041760 FUN_140041760 176 ok +0x140041820 FUN_140041820 394 ok +0x1400419b0 FUN_1400419b0 253 ok +0x140041ab0 FUN_140041ab0 101 ok +0x140041b20 FUN_140041b20 271 ok +0x140041c30 FUN_140041c30 271 ok +0x140041d40 FUN_140041d40 248 ok +0x140041e40 FUN_140041e40 255 ok +0x140041f40 FUN_140041f40 1713 ok +0x140042600 FUN_140042600 799 ok +0x140042930 FUN_140042930 238 ok +0x140042a20 FUN_140042a20 233 ok +0x140042b10 FUN_140042b10 436 ok +0x140042cd0 FUN_140042cd0 375 ok +0x140042e50 FUN_140042e50 402 ok +0x140042ff0 FUN_140042ff0 288 ok +0x140043110 FUN_140043110 229 ok +0x140043200 FUN_140043200 274 ok +0x140043320 FUN_140043320 245 ok +0x140043420 FUN_140043420 250 ok +0x140043520 FUN_140043520 423 ok +0x1400436d0 FUN_1400436d0 264 ok +0x1400437e0 FUN_1400437e0 209 ok +0x1400438c0 FUN_1400438c0 319 ok +0x140043a10 FUN_140043a10 81 ok +0x140043a70 FUN_140043a70 201 ok +0x140043b40 FUN_140043b40 24 ok +0x140043b60 FUN_140043b60 51 ok +0x140043ba0 FUN_140043ba0 121 ok +0x140043c20 FUN_140043c20 128 ok +0x140043ca0 FUN_140043ca0 24 ok +0x140043cc0 FUN_140043cc0 141 ok +0x140043d50 FUN_140043d50 124 ok +0x140043dd0 FUN_140043dd0 299 ok +0x140043f00 FUN_140043f00 124 ok +0x140043f80 FUN_140043f80 110 ok +0x140043ff0 FUN_140043ff0 641 ok +0x140044280 FUN_140044280 220 ok +0x140044360 FUN_140044360 98 ok +0x1400443d0 FUN_1400443d0 143 ok +0x140044460 FUN_140044460 238 ok +0x140044550 FUN_140044550 66 ok +0x1400445a0 FUN_1400445a0 139 ok +0x140044630 FUN_140044630 216 ok +0x140044710 FUN_140044710 228 ok +0x140044800 FUN_140044800 15146 ok +0x140048380 FUN_140048380 391 ok +0x140048510 FUN_140048510 411 ok +0x1400486b0 FUN_1400486b0 289 ok +0x1400487e0 FUN_1400487e0 309 ok +0x140048920 FUN_140048920 230 ok +0x140048a10 FUN_140048a10 240 ok +0x140048b10 FUN_140048b10 230 ok +0x140048c00 FUN_140048c00 240 ok +0x140048d00 FUN_140048d00 390 ok +0x140048e90 FUN_140048e90 410 ok +0x140049030 FUN_140049030 189 ok +0x1400490f0 FUN_1400490f0 198 ok +0x1400491c0 FUN_1400491c0 189 ok +0x140049280 FUN_140049280 198 ok +0x140049350 FUN_140049350 189 ok +0x140049410 FUN_140049410 198 ok +0x1400494e0 FUN_1400494e0 189 ok +0x1400495a0 FUN_1400495a0 198 ok +0x140049670 FUN_140049670 210 ok +0x140049750 FUN_140049750 220 ok +0x140049830 FUN_140049830 189 ok +0x1400498f0 FUN_1400498f0 198 ok +0x1400499c0 FUN_1400499c0 189 ok +0x140049a80 FUN_140049a80 198 ok +0x140049b50 FUN_140049b50 209 ok +0x140049c30 FUN_140049c30 219 ok +0x140049d10 FUN_140049d10 209 ok +0x140049df0 FUN_140049df0 219 ok +0x140049ed0 FUN_140049ed0 210 ok +0x140049fb0 FUN_140049fb0 220 ok +0x14004a090 FUN_14004a090 210 ok +0x14004a170 FUN_14004a170 216 ok +0x14004a250 FUN_14004a250 228 ok +0x14004a340 FUN_14004a340 238 ok +0x14004a430 FUN_14004a430 238 ok +0x14004a520 FUN_14004a520 233 ok +0x14004a610 FUN_14004a610 311 ok +0x14004a750 FUN_14004a750 928 ok +0x14004aaf0 FUN_14004aaf0 316 ok +0x14004ac30 FUN_14004ac30 341 ok +0x14004ad90 FUN_14004ad90 238 ok +0x14004ae80 FUN_14004ae80 312 ok +0x14004afc0 FUN_14004afc0 427 ok +0x14004b170 FUN_14004b170 231 ok +0x14004b260 FUN_14004b260 1354 ok +0x14004b7c0 FUN_14004b7c0 360 ok +0x14004b930 FUN_14004b930 490 ok +0x14004bb20 FUN_14004bb20 496 ok +0x14004bd20 FUN_14004bd20 104 ok +0x14004bdb0 FUN_14004bdb0 667 ok +0x14004c050 FUN_14004c050 767 ok +0x14004c350 FUN_14004c350 558 ok +0x14004c590 FUN_14004c590 1443 ok +0x14004cb90 FUN_14004cb90 90 ok +0x14004cbf0 FUN_14004cbf0 170 ok +0x14004cca0 FUN_14004cca0 159 ok +0x14004cd40 FUN_14004cd40 490 ok +0x14004cf70 FUN_14004cf70 384 ok +0x14004d0f0 FUN_14004d0f0 432 ok +0x14004d2b0 FUN_14004d2b0 432 ok +0x14004d470 FUN_14004d470 597 ok +0x14004d6d0 FUN_14004d6d0 1092 ok +0x14004db20 FUN_14004db20 106 ok +0x14004db90 FUN_14004db90 31 ok +0x14004dbb0 FUN_14004dbb0 86 ok +0x14004dc10 FUN_14004dc10 110 ok +0x14004dc80 FUN_14004dc80 485 ok +0x14004de70 FUN_14004de70 67 ok +0x14004ded0 FUN_14004ded0 210 ok +0x14004dfb0 FUN_14004dfb0 98 ok +0x14004e020 FUN_14004e020 786 ok +0x14004e340 FUN_14004e340 804 ok +0x14004e670 FUN_14004e670 568 ok +0x14004e8b0 FUN_14004e8b0 583 ok +0x14004eb00 FUN_14004eb00 515 ok +0x14004ed10 FUN_14004ed10 441 ok +0x14004eed0 FUN_14004eed0 393 ok +0x14004f060 FUN_14004f060 575 ok +0x14004f2b0 FUN_14004f2b0 64 ok +0x14004f2f0 FUN_14004f2f0 391 ok +0x14004f480 FUN_14004f480 204 ok +0x14004f550 FUN_14004f550 342 ok +0x14004f6b0 FUN_14004f6b0 134 ok +0x14004f740 FUN_14004f740 1894 ok +0x14004feb0 FUN_14004feb0 226 ok +0x14004ffa0 FUN_14004ffa0 325 ok +0x1400500f0 FUN_1400500f0 86 ok +0x140050150 FUN_140050150 110 ok +0x1400501c0 FUN_1400501c0 380 ok +0x140050340 FUN_140050340 173 ok +0x1400503f0 FUN_1400503f0 248 ok +0x1400504f0 FUN_1400504f0 124 ok +0x140050570 FUN_140050570 325 ok +0x1400506c0 FUN_1400506c0 169 ok +0x140050770 FUN_140050770 1718 ok +0x140050e30 FUN_140050e30 1317 ok +0x140051360 FUN_140051360 714 ok +0x140051630 FUN_140051630 701 ok +0x1400518f0 FUN_1400518f0 1916 ok +0x140052080 FUN_140052080 358 ok +0x1400521f0 FUN_1400521f0 105 ok +0x140052260 FUN_140052260 824 ok +0x1400525a0 FUN_1400525a0 185 ok +0x140052660 FUN_140052660 525 ok +0x140052870 FUN_140052870 24 ok +0x140052890 FUN_140052890 427 ok +0x140052a40 FUN_140052a40 172 ok +0x140052af0 FUN_140052af0 124 ok +0x140052b70 FUN_140052b70 325 ok +0x140052cc0 FUN_140052cc0 248 ok +0x140052dc0 FUN_140052dc0 1089 ok +0x140053210 FUN_140053210 234 ok +0x140053300 FUN_140053300 201 ok +0x1400533d0 FUN_1400533d0 24 ok +0x1400533f0 FUN_1400533f0 173 ok +0x1400534a0 FUN_1400534a0 141 ok +0x140053530 FUN_140053530 170 ok +0x1400535e0 FUN_1400535e0 124 ok +0x140053660 FUN_140053660 2441 ok +0x140053ff0 FUN_140053ff0 98 ok +0x140054060 FUN_140054060 280 ok +0x140054180 FUN_140054180 45 ok +0x1400541b0 FUN_1400541b0 2765 ok +0x140054c90 FUN_140054c90 245 ok +0x140054d90 FUN_140054d90 421 ok +0x140054f40 FUN_140054f40 368 ok +0x1400550c0 FUN_1400550c0 171 ok +0x140055170 FUN_140055170 163 ok +0x140055220 FUN_140055220 98 ok +0x140055290 FUN_140055290 80 ok +0x1400552e0 FUN_1400552e0 80 ok +0x140055330 FUN_140055330 299 ok +0x140055460 FUN_140055460 102 ok +0x1400554d0 FUN_1400554d0 723 ok +0x1400557b0 FUN_1400557b0 732 ok +0x140055a90 FUN_140055a90 3670 ok +0x140056900 FUN_140056900 180 ok +0x1400569c0 FUN_1400569c0 181 ok +0x140056a80 FUN_140056a80 128 ok +0x140056b00 FUN_140056b00 128 ok +0x140056b80 FUN_140056b80 128 ok +0x140056c00 FUN_140056c00 299 ok +0x140056d30 FUN_140056d30 299 ok +0x140056e60 FUN_140056e60 170 ok +0x140056f10 FUN_140056f10 142 ok +0x140056fa0 FUN_140056fa0 368 ok +0x140057120 FUN_140057120 81 ok +0x140057180 FUN_140057180 130 ok +0x140057210 FUN_140057210 305 ok +0x140057350 FUN_140057350 281 ok +0x140057470 FUN_140057470 1462 ok +0x140057a30 FUN_140057a30 89 ok +0x140057a90 FUN_140057a90 424 ok +0x140057c40 FUN_140057c40 281 ok +0x140057d60 FUN_140057d60 600 ok +0x140057fc0 FUN_140057fc0 1033 ok +0x1400583d0 FUN_1400583d0 1173 ok +0x140058870 FUN_140058870 323 ok +0x1400589c0 FUN_1400589c0 327 ok +0x140058b10 FUN_140058b10 799 ok +0x140058e30 FUN_140058e30 1421 ok +0x1400593d0 FUN_1400593d0 1227 ok +0x1400598f0 FUN_1400598f0 135 ok +0x140059980 FUN_140059980 248 ok +0x140059a80 FUN_140059a80 124 ok +0x140059b00 FUN_140059b00 393 ok +0x140059c90 FUN_140059c90 111 ok +0x140059d00 FUN_140059d00 107 ok +0x140059d70 FUN_140059d70 323 ok +0x140059ec0 FUN_140059ec0 24 ok +0x140059ee0 FUN_140059ee0 162 ok +0x140059f90 FUN_140059f90 474 ok +0x14005a170 FUN_14005a170 161 ok +0x14005a220 FUN_14005a220 161 ok +0x14005a2d0 FUN_14005a2d0 124 ok +0x14005a350 FUN_14005a350 20 ok +0x14005a370 FUN_14005a370 62 ok +0x14005a3b0 FUN_14005a3b0 177 ok +0x14005a470 FUN_14005a470 137 ok +0x14005a500 FUN_14005a500 38 ok +0x14005a530 FUN_14005a530 2834 ok +0x14005b060 FUN_14005b060 2066 ok +0x14005b880 FUN_14005b880 77 ok +0x14005b8f0 FUN_14005b8f0 39 ok +0x14005b920 FUN_14005b920 8 ok +0x14005b930 FUN_14005b930 12 ok +0x14005b940 FUN_14005b940 12 ok +0x14005b950 FUN_14005b950 12 ok +0x14005b960 FUN_14005b960 9 ok +0x14005b970 FUN_14005b970 12 ok +0x14005b980 FUN_14005b980 12 ok +0x14005b990 FUN_14005b990 12 ok +0x14005b9a0 FUN_14005b9a0 9 ok +0x14005b9b0 FUN_14005b9b0 9 ok +0x14005b9c0 FUN_14005b9c0 12 ok +0x14005b9d0 FUN_14005b9d0 12 ok +0x14005b9e0 FUN_14005b9e0 12 ok +0x14005b9f0 FUN_14005b9f0 12 ok +0x14005ba00 FUN_14005ba00 9 ok +0x14005ba10 FUN_14005ba10 12 ok +0x14005ba20 FUN_14005ba20 12 ok +0x14005ba30 FUN_14005ba30 12 ok +0x14005ba40 FUN_14005ba40 12 ok +0x14005ba50 FUN_14005ba50 9 ok +0x14005ba60 FUN_14005ba60 12 ok +0x14005ba70 FUN_14005ba70 12 ok +0x14005ba80 FUN_14005ba80 8 ok +0x14005ba90 FUN_14005ba90 12 ok +0x14005baa0 FUN_14005baa0 12 ok +0x14005bab0 FUN_14005bab0 12 ok +0x14005bac0 FUN_14005bac0 12 ok +0x14005bad0 FUN_14005bad0 341 ok +0x14005bc30 FUN_14005bc30 591 ok +0x14005be80 FUN_14005be80 1022 ok +0x14005c290 FUN_14005c290 58 ok +0x14005c2d0 FUN_14005c2d0 1756 ok +0x14005c9b0 FUN_14005c9b0 676 ok +0x14005cc60 FUN_14005cc60 747 ok +0x14005cf50 FUN_14005cf50 7299 ok +0x14005ec50 FUN_14005ec50 224 ok +0x14005ed30 FUN_14005ed30 739 ok +0x14005f020 FUN_14005f020 393 ok +0x14005f1b0 FUN_14005f1b0 655 ok +0x14005f440 FUN_14005f440 1114 ok +0x14005f8a0 FUN_14005f8a0 913 ok +0x14005fc40 FUN_14005fc40 913 ok +0x14005ffe0 FUN_14005ffe0 512 ok +0x1400601e0 FUN_1400601e0 767 ok +0x1400604e0 FUN_1400604e0 767 ok +0x1400607e0 FUN_1400607e0 406 ok +0x140060980 FUN_140060980 554 ok +0x140060bb0 FUN_140060bb0 1338 ok +0x1400610f0 FUN_1400610f0 1828 ok +0x140061820 FUN_140061820 1621 ok +0x140061e80 FUN_140061e80 540 ok +0x1400620a0 FUN_1400620a0 2187 ok +0x140062940 FUN_140062940 193 ok +0x140062a10 FUN_140062a10 269 ok +0x140062b20 FUN_140062b20 1938 ok +0x1400632c0 FUN_1400632c0 914 ok +0x140063660 FUN_140063660 1241 ok +0x140063b40 FUN_140063b40 667 ok +0x140063de0 FUN_140063de0 67 ok +0x140063e30 FUN_140063e30 47 ok +0x140063e60 FUN_140063e60 27 ok +0x140063e80 FUN_140063e80 244 ok +0x140063f80 FUN_140063f80 11 ok +0x140063f90 FUN_140063f90 38 ok +0x140063fc0 FUN_140063fc0 11 ok +0x140063fd0 FUN_140063fd0 38 ok +0x140064000 FUN_140064000 11 ok +0x140064010 FUN_140064010 38 ok +0x140064040 FUN_140064040 11 ok +0x140064050 FUN_140064050 38 ok +0x140064080 FUN_140064080 11 ok +0x140064090 FUN_140064090 38 ok +0x1400640c0 FUN_1400640c0 6 ok +0x1400640d0 FUN_1400640d0 6 ok +0x1400640e0 FUN_1400640e0 30 ok +0x140064110 FUN_140064110 47 ok +0x140064140 FUN_140064140 6 ok +0x140064150 FUN_140064150 6 ok +0x140064160 FUN_140064160 8 ok +0x140064170 FUN_140064170 61 ok +0x1400641b0 FUN_1400641b0 7 ok +0x1400641c0 FUN_1400641c0 100 ok +0x140064230 FUN_140064230 7 ok +0x140064240 FUN_140064240 7 ok +0x140064250 FUN_140064250 21 ok +0x140064270 FUN_140064270 11 ok +0x140064280 FUN_140064280 11 ok +0x140064290 FUN_140064290 14 ok +0x1400642a0 FUN_1400642a0 233 ok +0x140064390 FUN_140064390 144 ok +0x140064430 FUN_140064430 151 ok +0x1400644d0 FUN_1400644d0 36 ok +0x140064500 FUN_140064500 174 ok +0x1400645b0 FUN_1400645b0 6 ok +0x1400645c0 FUN_1400645c0 16 ok +0x1400645d0 FUN_1400645d0 57 ok +0x140064610 FUN_140064610 9 ok +0x140064620 FUN_140064620 9 ok +0x140064630 FUN_140064630 43 ok +0x140064660 FUN_140064660 67 ok +0x1400646b0 FUN_1400646b0 67 ok +0x140064700 FUN_140064700 47 ok +0x140064730 FUN_140064730 29 ok +0x140064750 FUN_140064750 241 ok +0x140064850 FUN_140064850 117 ok +0x1400648d0 FUN_1400648d0 130 ok +0x140064960 FUN_140064960 111 ok +0x1400649d0 FUN_1400649d0 26 ok +0x1400649f0 FUN_1400649f0 34 ok +0x140064a20 FUN_140064a20 47 ok +0x140064a50 FUN_140064a50 57 ok +0x140064a90 FUN_140064a90 278 ok +0x140064bc0 FUN_140064bc0 28 ok +0x140064be0 FUN_140064be0 28 ok +0x140064c00 FUN_140064c00 202 ok +0x140064cd0 FUN_140064cd0 106 ok +0x140064d40 FUN_140064d40 26 ok +0x140064d60 FUN_140064d60 189 ok +0x140064e20 FUN_140064e20 24 ok +0x140064e40 FUN_140064e40 211 ok +0x140064f20 FUN_140064f20 198 ok +0x140064ff0 FUN_140064ff0 119 ok +0x140065070 FUN_140065070 121 ok +0x1400650f0 FUN_1400650f0 138 ok +0x140065180 FUN_140065180 83 ok +0x1400651e0 FUN_1400651e0 40 ok +0x140065210 FUN_140065210 211 ok +0x1400652f0 FUN_1400652f0 211 ok +0x1400653d0 FUN_1400653d0 271 ok +0x1400654e0 FUN_1400654e0 33 ok +0x140065510 FUN_140065510 87 ok +0x140065570 FUN_140065570 333 ok +0x1400656c0 FUN_1400656c0 348 ok +0x140065820 FUN_140065820 49 ok +0x140065860 FUN_140065860 85 ok +0x1400658c0 FUN_1400658c0 56 ok +0x140065900 FUN_140065900 56 ok +0x140065940 FUN_140065940 56 ok +0x140065980 FUN_140065980 87 ok +0x1400659e0 FUN_1400659e0 87 ok +0x140065a40 FUN_140065a40 208 ok +0x140065b10 FUN_140065b10 303 ok +0x140065c40 FUN_140065c40 189 ok +0x140065d10 FUN_140065d10 121 ok +0x140065d90 FUN_140065d90 267 ok +0x140065ea0 FUN_140065ea0 64 ok +0x140065ef0 FUN_140065ef0 189 ok +0x140065fc0 FUN_140065fc0 41 ok +0x140065ff0 FUN_140065ff0 101 ok +0x140066060 FUN_140066060 164 ok +0x140066110 FUN_140066110 72 ok +0x140066160 FUN_140066160 441 ok +0x140066320 FUN_140066320 332 ok +0x140066470 FUN_140066470 115 ok +0x1400664f0 FUN_1400664f0 118 ok +0x140066570 FUN_140066570 314 ok +0x1400666b0 FUN_1400666b0 459 ok +0x140066880 FUN_140066880 149 ok +0x140066920 FUN_140066920 153 ok +0x1400669c0 FUN_1400669c0 151 ok +0x140066a60 FUN_140066a60 288 ok +0x140066b90 FUN_140066b90 495 ok +0x140066d80 FUN_140066d80 143 ok +0x140066e10 FUN_140066e10 286 ok +0x140066f30 FUN_140066f30 298 ok +0x140067060 FUN_140067060 95 ok +0x1400670c0 FUN_1400670c0 238 ok +0x1400671b0 FUN_1400671b0 351 ok +0x140067310 FUN_140067310 297 ok +0x140067440 FUN_140067440 349 ok +0x1400675a0 FUN_1400675a0 98 ok +0x140067610 FUN_140067610 145 ok +0x1400676b0 FUN_1400676b0 141 ok +0x140067740 FUN_140067740 124 ok +0x1400677c0 FUN_1400677c0 139 ok +0x140067850 FUN_140067850 170 ok +0x140067900 FUN_140067900 14877 ok +0x14006b370 FUN_14006b370 4519 ok +0x14006c520 FUN_14006c520 211 ok +0x14006c600 FUN_14006c600 221 ok +0x14006c6e0 FUN_14006c6e0 230 ok +0x14006c7d0 FUN_14006c7d0 240 ok +0x14006c8d0 FUN_14006c8d0 189 ok +0x14006c990 FUN_14006c990 198 ok +0x14006ca60 FUN_14006ca60 273 ok +0x14006cb80 FUN_14006cb80 283 ok +0x14006cca0 FUN_14006cca0 390 ok +0x14006ce30 FUN_14006ce30 410 ok +0x14006cfd0 FUN_14006cfd0 189 ok +0x14006d090 FUN_14006d090 198 ok +0x14006d160 FUN_14006d160 228 ok +0x14006d250 FUN_14006d250 238 ok +0x14006d340 FUN_14006d340 227 ok +0x14006d430 FUN_14006d430 237 ok +0x14006d520 FUN_14006d520 210 ok +0x14006d600 FUN_14006d600 216 ok +0x14006d6e0 FUN_14006d6e0 209 ok +0x14006d7c0 FUN_14006d7c0 219 ok +0x14006d8a0 FUN_14006d8a0 209 ok +0x14006d980 FUN_14006d980 219 ok +0x14006da60 FUN_14006da60 210 ok +0x14006db40 FUN_14006db40 216 ok +0x14006dc20 FUN_14006dc20 211 ok +0x14006dd00 FUN_14006dd00 221 ok +0x14006dde0 FUN_14006dde0 230 ok +0x14006ded0 FUN_14006ded0 240 ok +0x14006dfd0 FUN_14006dfd0 189 ok +0x14006e090 FUN_14006e090 198 ok +0x14006e160 FUN_14006e160 210 ok +0x14006e240 FUN_14006e240 220 ok +0x14006e320 FUN_14006e320 251 ok +0x14006e420 FUN_14006e420 261 ok +0x14006e530 FUN_14006e530 209 ok +0x14006e610 FUN_14006e610 219 ok +0x14006e6f0 FUN_14006e6f0 189 ok +0x14006e7b0 FUN_14006e7b0 198 ok +0x14006e880 FUN_14006e880 209 ok +0x14006e960 FUN_14006e960 219 ok +0x14006ea40 FUN_14006ea40 234 ok +0x14006eb30 FUN_14006eb30 244 ok +0x14006ec30 FUN_14006ec30 280 ok +0x14006ed50 FUN_14006ed50 290 ok +0x14006ee80 FUN_14006ee80 364 ok +0x14006eff0 FUN_14006eff0 747 ok +0x14006f2e0 FUN_14006f2e0 591 ok +0x14006f540 FUN_14006f540 951 ok +0x14006f900 FUN_14006f900 519 ok +0x14006fb10 FUN_14006fb10 641 ok +0x14006fda0 FUN_14006fda0 430 ok +0x14006ff50 FUN_14006ff50 341 ok +0x1400700b0 FUN_1400700b0 420 ok +0x140070260 FUN_140070260 107 ok +0x1400702d0 FUN_1400702d0 147 ok +0x140070370 FUN_140070370 102 ok +0x1400703e0 FUN_1400703e0 314 ok +0x140070520 FUN_140070520 331 ok +0x140070670 FUN_140070670 235 ok +0x140070760 FUN_140070760 246 ok +0x140070860 FUN_140070860 205 ok +0x140070930 FUN_140070930 423 ok +0x140070ae0 FUN_140070ae0 349 ok +0x140070c40 FUN_140070c40 311 ok +0x140070d80 FUN_140070d80 498 ok +0x140070f80 FUN_140070f80 273 ok +0x1400710a0 FUN_1400710a0 423 ok +0x140071250 FUN_140071250 411 ok +0x1400713f0 FUN_1400713f0 283 ok +0x140071510 FUN_140071510 385 ok +0x1400716a0 FUN_1400716a0 199 ok +0x140071770 FUN_140071770 281 ok +0x140071890 FUN_140071890 399 ok +0x140071a20 FUN_140071a20 301 ok +0x140071b50 FUN_140071b50 185 ok +0x140071c10 FUN_140071c10 334 ok +0x140071d60 FUN_140071d60 309 ok +0x140071ea0 FUN_140071ea0 132 ok +0x140071f30 FUN_140071f30 109 ok +0x140071fa0 FUN_140071fa0 197 ok +0x140072070 FUN_140072070 156 ok +0x140072110 FUN_140072110 193 ok +0x1400721e0 FUN_1400721e0 103 ok +0x140072250 FUN_140072250 142 ok +0x1400722e0 FUN_1400722e0 152 ok +0x140072380 FUN_140072380 114 ok +0x140072400 FUN_140072400 204 ok +0x1400724d0 FUN_1400724d0 248 ok +0x1400725d0 FUN_1400725d0 325 ok +0x140072720 FUN_140072720 446 ok +0x1400728e0 FUN_1400728e0 222 ok +0x1400729c0 FUN_1400729c0 271 ok +0x140072ad0 FUN_140072ad0 366 ok +0x140072c40 FUN_140072c40 286 ok +0x140072d60 FUN_140072d60 326 ok +0x140072eb0 FUN_140072eb0 1355 ok +0x140073400 FUN_140073400 1351 ok +0x140073950 FUN_140073950 289 ok +0x140073a80 FUN_140073a80 251 ok +0x140073b80 FUN_140073b80 160 ok +0x140073c20 FUN_140073c20 38 ok +0x140073c50 FUN_140073c50 38 ok +0x140073c80 FUN_140073c80 380 ok +0x140073e00 FUN_140073e00 124 ok +0x140073e80 FUN_140073e80 155 ok +0x140073f20 FUN_140073f20 217 ok +0x140074000 FUN_140074000 38 ok +0x140074030 FUN_140074030 1192 ok +0x1400744e0 FUN_1400744e0 788 ok +0x140074800 FUN_140074800 677 ok +0x140074ab0 FUN_140074ab0 452 ok +0x140074c80 FUN_140074c80 827 ok +0x140074fc0 FUN_140074fc0 1168 ok +0x140075460 FUN_140075460 605 ok +0x1400756c0 FUN_1400756c0 181 ok +0x140075780 FUN_140075780 102 ok +0x1400757f0 FUN_1400757f0 24 ok +0x140075810 FUN_140075810 108 ok +0x140075880 FUN_140075880 1239 ok +0x140075d60 FUN_140075d60 2775 ok +0x1400768c0 FUN_1400768c0 324 ok +0x140076a10 FUN_140076a10 12 ok +0x140076a20 FUN_140076a20 137 ok +0x140076ab0 FUN_140076ab0 138 ok +0x140076b40 FUN_140076b40 99 ok +0x140076bb0 FUN_140076bb0 142 ok +0x140076c40 FUN_140076c40 103 ok +0x140076cb0 FUN_140076cb0 201 ok +0x140076d80 FUN_140076d80 425 ok +0x140076f30 FUN_140076f30 478 ok +0x140077110 FUN_140077110 193 ok +0x1400771e0 FUN_1400771e0 359 ok +0x140077350 FUN_140077350 473 ok +0x140077530 FUN_140077530 812 ok +0x140077860 FUN_140077860 427 ok +0x140077a10 FUN_140077a10 658 ok +0x140077cb0 FUN_140077cb0 658 ok +0x140077f50 FUN_140077f50 135 ok +0x140077fe0 FUN_140077fe0 248 ok +0x1400780e0 FUN_1400780e0 4520 ok +0x1400792f0 FUN_1400792f0 415 ok +0x1400794a0 FUN_1400794a0 81 ok +0x140079500 FUN_140079500 394 ok +0x140079690 FUN_140079690 461 ok +0x140079860 FUN_140079860 24 ok +0x140079880 FUN_140079880 135 ok +0x140079910 FUN_140079910 109 ok +0x140079980 FUN_140079980 137 ok +0x140079a10 FUN_140079a10 111 ok +0x140079a80 FUN_140079a80 408 ok +0x140079c20 FUN_140079c20 127 ok +0x140079ca0 FUN_140079ca0 161 ok +0x140079d50 FUN_140079d50 135 ok +0x140079de0 FUN_140079de0 202 ok +0x140079eb0 FUN_140079eb0 38 ok +0x140079ee0 FUN_140079ee0 2095 ok +0x14007a720 FUN_14007a720 1356 ok +0x14007ac70 FUN_14007ac70 9 ok +0x14007ac80 FUN_14007ac80 7 ok +0x14007ac90 FUN_14007ac90 9 ok +0x14007acc0 FUN_14007acc0 36 ok +0x14007acf0 FUN_14007acf0 8 ok +0x14007ad00 FUN_14007ad00 12 ok +0x14007ad10 FUN_14007ad10 9 ok +0x14007ad20 FUN_14007ad20 12 ok +0x14007ad30 FUN_14007ad30 9 ok +0x14007ad40 FUN_14007ad40 12 ok +0x14007ad50 FUN_14007ad50 9 ok +0x14007ad60 FUN_14007ad60 9 ok +0x14007ad70 FUN_14007ad70 9 ok +0x14007ad80 FUN_14007ad80 9 ok +0x14007ad90 FUN_14007ad90 9 ok +0x14007ada0 FUN_14007ada0 9 ok +0x14007adb0 FUN_14007adb0 12 ok +0x14007adc0 FUN_14007adc0 9 ok +0x14007add0 FUN_14007add0 9 ok +0x14007ade0 FUN_14007ade0 9 ok +0x14007adf0 FUN_14007adf0 9 ok +0x14007ae00 FUN_14007ae00 8 ok +0x14007ae10 FUN_14007ae10 18 ok +0x14007ae30 FUN_14007ae30 9 ok +0x14007ae40 FUN_14007ae40 9 ok +0x14007ae50 FUN_14007ae50 9 ok +0x14007ae60 FUN_14007ae60 12 ok +0x14007ae70 FUN_14007ae70 9 ok +0x14007ae80 FUN_14007ae80 9 ok +0x14007ae90 FUN_14007ae90 9 ok +0x14007aea0 FUN_14007aea0 9 ok +0x14007aeb0 FUN_14007aeb0 9 ok +0x14007aec0 FUN_14007aec0 9 ok +0x14007aed0 FUN_14007aed0 9 ok +0x14007aee0 FUN_14007aee0 81 ok +0x14007af40 FUN_14007af40 9 ok +0x14007af50 FUN_14007af50 9 ok +0x14007af60 FUN_14007af60 290 ok +0x14007b090 FUN_14007b090 379 ok +0x14007b210 FUN_14007b210 379 ok +0x14007b390 FUN_14007b390 149 ok +0x14007b430 FUN_14007b430 952 ok +0x14007b7f0 FUN_14007b7f0 1747 ok +0x14007bed0 FUN_14007bed0 2285 ok +0x14007c7c0 FUN_14007c7c0 216 ok +0x14007c8a0 FUN_14007c8a0 324 ok +0x14007c9f0 FUN_14007c9f0 612 ok +0x14007cc60 FUN_14007cc60 1123 ok +0x14007d0d0 FUN_14007d0d0 822 ok +0x14007d410 FUN_14007d410 2142 ok +0x14007dc70 FUN_14007dc70 47 ok +0x14007dca0 FUN_14007dca0 792 ok +0x14007dfc0 FUN_14007dfc0 784 ok +0x14007e2e0 FUN_14007e2e0 722 ok +0x14007e5c0 FUN_14007e5c0 696 ok +0x14007e880 FUN_14007e880 2074 ok +0x14007f0a0 FUN_14007f0a0 336 ok +0x14007f1f0 FUN_14007f1f0 2552 ok +0x14007fbf0 FUN_14007fbf0 103 ok +0x14007fc60 FUN_14007fc60 558 ok +0x14007fe90 FUN_14007fe90 56 ok +0x14007fed0 FUN_14007fed0 128 ok +0x14007ff50 FUN_14007ff50 358 ok +0x1400800c0 FUN_1400800c0 85 ok +0x140080120 FUN_140080120 18 ok +0x140080140 FUN_140080140 11 ok +0x140080150 FUN_140080150 78 ok +0x1400801a0 FUN_1400801a0 121 ok +0x140080220 FUN_140080220 46 ok +0x140080250 FUN_140080250 115 ok +0x1400802d0 FUN_1400802d0 124 ok +0x140080350 FUN_140080350 60 ok +0x140080390 FUN_140080390 295 ok +0x1400804c0 FUN_1400804c0 164 ok +0x140080570 FUN_140080570 133 ok +0x140080600 FUN_140080600 83 ok +0x140080660 FUN_140080660 111 ok +0x1400806d0 FUN_1400806d0 33 ok +0x140080700 FUN_140080700 149 ok +0x1400807a0 FUN_1400807a0 142 ok +0x140080830 FUN_140080830 86 ok +0x140080890 FUN_140080890 153 ok +0x140080930 FUN_140080930 366 ok +0x140080ab0 FUN_140080ab0 433 ok +0x140080c70 FUN_140080c70 47 ok +0x140080ca0 FUN_140080ca0 355 ok +0x140080e10 FUN_140080e10 8 ok +0x140080e20 FUN_140080e20 8 ok +0x140080e30 FUN_140080e30 116 ok +0x140080eb0 FUN_140080eb0 116 ok +0x140080f30 FUN_140080f30 116 ok +0x140080fb0 FUN_140080fb0 116 ok +0x140081030 FUN_140081030 87 ok +0x140081090 FUN_140081090 115 ok +0x140081110 FUN_140081110 303 ok +0x140081240 FUN_140081240 136 ok +0x1400812d0 FUN_1400812d0 46 ok +0x140081310 FUN_140081310 198 ok +0x1400813e0 FUN_1400813e0 850 ok +0x140081740 FUN_140081740 853 ok +0x140081aa0 FUN_140081aa0 497 ok +0x140081cc0 FUN_140081cc0 118 ok +0x140081d40 FUN_140081d40 119 ok +0x140081dc0 FUN_140081dc0 78 ok +0x140081e10 FUN_140081e10 67 ok +0x140081e60 FUN_140081e60 51 ok +0x140081ea0 FUN_140081ea0 51 ok +0x140081ee0 FUN_140081ee0 89 ok +0x140081f40 FUN_140081f40 102 ok +0x140081fb0 FUN_140081fb0 37 ok +0x140081fe0 FUN_140081fe0 38 ok +0x140082010 FUN_140082010 72 ok +0x140082060 FUN_140082060 913 ok +0x140082400 FUN_140082400 73 ok +0x140082450 FUN_140082450 56 ok +0x140082490 FUN_140082490 56 ok +0x1400824d0 FUN_1400824d0 87 ok +0x140082530 FUN_140082530 87 ok +0x140082590 FUN_140082590 233 ok +0x140082680 FUN_140082680 32 ok +0x1400826b0 FUN_1400826b0 270 ok +0x1400827c0 FUN_1400827c0 74 ok +0x140082810 FUN_140082810 166 ok +0x1400828c0 FUN_1400828c0 339 ok +0x140082a20 FUN_140082a20 281 ok +0x140082b40 FUN_140082b40 47 ok +0x140082b70 FUN_140082b70 154 ok +0x140082c10 FUN_140082c10 496 ok +0x140082e10 FUN_140082e10 430 ok +0x140082fd0 FUN_140082fd0 859 ok +0x140083340 FUN_140083340 96 ok +0x1400833a0 FUN_1400833a0 3780 ok +0x140084280 FUN_140084280 2217 ok +0x140084b30 FUN_140084b30 1769 ok +0x140085230 FUN_140085230 38 ok +0x140085260 FUN_140085260 38 ok +0x140085290 FUN_140085290 72 ok +0x1400852e0 FUN_1400852e0 61 ok +0x140085320 FUN_140085320 142 ok +0x1400853b0 FUN_1400853b0 47 ok +0x1400853e0 FUN_1400853e0 36 ok +0x140085410 FUN_140085410 206 ok +0x1400854f0 FUN_1400854f0 150 ok +0x140085590 FUN_140085590 150 ok +0x140085630 FUN_140085630 101 ok +0x1400856a0 FUN_1400856a0 544 ok +0x1400858c0 FUN_1400858c0 246 ok +0x1400859c0 FUN_1400859c0 142 ok +0x140085a50 FUN_140085a50 346 ok +0x140085bb0 FUN_140085bb0 56 ok +0x140085bf0 FUN_140085bf0 56 ok +0x140085c30 FUN_140085c30 87 ok +0x140085c90 FUN_140085c90 87 ok +0x140085cf0 FUN_140085cf0 228 ok +0x140085de0 FUN_140085de0 190 ok +0x140085ea0 FUN_140085ea0 123 ok +0x140085f20 FUN_140085f20 905 ok +0x1400862c0 FUN_1400862c0 383 ok +0x140086450 FUN_140086450 33 ok +0x140086480 FUN_140086480 340 ok +0x1400865f0 FUN_1400865f0 141 ok +0x140086680 FUN_140086680 142 ok +0x140086710 FUN_140086710 22 ok +0x140086730 FUN_140086730 141 ok +0x1400867c0 FUN_1400867c0 99 ok +0x140086830 FUN_140086830 399 ok +0x1400869c0 FUN_1400869c0 799 ok +0x140086ce0 FUN_140086ce0 1149 ok +0x140087160 FUN_140087160 1243 ok +0x140087640 FUN_140087640 916 ok +0x1400879e0 FUN_1400879e0 949 ok +0x140087da0 FUN_140087da0 42 ok +0x140087dd0 FUN_140087dd0 2117 ok +0x140088630 FUN_140088630 1891 ok +0x140088da0 FUN_140088da0 962 ok +0x140089170 FUN_140089170 757 ok +0x140089470 FUN_140089470 454 ok +0x140089640 FUN_140089640 712 ok +0x140089910 FUN_140089910 110 ok +0x140089980 FUN_140089980 86 ok +0x1400899e0 FUN_1400899e0 205 ok +0x140089ab0 FUN_140089ab0 1040 ok +0x140089ed0 FUN_140089ed0 972 ok +0x14008a2b0 FUN_14008a2b0 570 ok +0x14008a4f0 FUN_14008a4f0 110 ok +0x14008a560 FUN_14008a560 401 ok +0x14008a700 FUN_14008a700 688 ok +0x14008a9c0 FUN_14008a9c0 939 ok +0x14008ad70 FUN_14008ad70 1037 ok +0x14008b180 FUN_14008b180 720 ok +0x14008b450 FUN_14008b450 1243 ok +0x14008b960 FUN_14008b960 526 ok +0x14008bb70 FUN_14008bb70 728 ok +0x14008be60 FUN_14008be60 1480 ok +0x14008c430 FUN_14008c430 831 ok +0x14008c770 FUN_14008c770 42 ok +0x14008c7a0 FUN_14008c7a0 42 ok +0x14008c7d0 FUN_14008c7d0 292 ok +0x14008c900 FUN_14008c900 527 ok +0x14008cb20 FUN_14008cb20 446 ok +0x14008ccf0 FUN_14008ccf0 1770 ok +0x14008d450 FUN_14008d450 174 ok +0x14008d500 FUN_14008d500 1569 ok +0x14008db40 FUN_14008db40 1314 ok +0x14008e070 FUN_14008e070 193 ok +0x14008e140 FUN_14008e140 1190 ok +0x14008e5f0 FUN_14008e5f0 42 ok +0x14008e620 FUN_14008e620 1474 ok +0x14008ebf0 FUN_14008ebf0 30 ok +0x14008ec10 FUN_14008ec10 675 ok +0x14008eec0 FUN_14008eec0 24 ok +0x14008eee0 FUN_14008eee0 217 ok +0x14008efc0 FUN_14008efc0 45 ok +0x14008eff0 FUN_14008eff0 142 ok +0x14008f080 FUN_14008f080 99 ok +0x14008f0f0 FUN_14008f0f0 103 ok +0x14008f160 FUN_14008f160 158 ok +0x14008f200 FUN_14008f200 212 ok +0x14008f2e0 FUN_14008f2e0 641 ok +0x14008f570 FUN_14008f570 628 ok +0x14008f7f0 FUN_14008f7f0 38 ok +0x14008f820 FUN_14008f820 2629 ok +0x140090280 FUN_140090280 152 ok +0x140090330 FUN_140090330 146 ok +0x1400903d0 FUN_1400903d0 229 ok +0x1400904c0 FUN_1400904c0 56 ok +0x140090500 FUN_140090500 87 ok +0x140090560 FUN_140090560 170 ok +0x140090610 FUN_140090610 398 ok +0x1400907a0 FUN_1400907a0 257 ok +0x1400908b0 FUN_1400908b0 379 ok +0x140090a40 FUN_140090a40 128 ok +0x140090ac0 FUN_140090ac0 1224 ok +0x140090f90 FUN_140090f90 11 ok +0x140090fa0 FUN_140090fa0 11 ok +0x140090fb0 FUN_140090fb0 1150 ok +0x140091430 FUN_140091430 1154 ok +0x1400918c0 FUN_1400918c0 932 ok +0x140091c70 FUN_140091c70 932 ok +0x140092020 FUN_140092020 651 ok +0x1400922b0 FUN_1400922b0 635 ok +0x140092530 FUN_140092530 492 ok +0x140092720 FUN_140092720 691 ok +0x1400929e0 FUN_1400929e0 405 ok +0x140092b80 FUN_140092b80 332 ok +0x140092cd0 FUN_140092cd0 544 ok +0x140092f00 FUN_140092f00 6 ok +0x140092f10 FUN_140092f10 6 ok +0x140092f30 FUN_140092f30 11 ok +0x140092f40 FUN_140092f40 38 ok +0x140092f70 FUN_140092f70 3 ok +0x140092f80 FUN_140092f80 6 ok +0x140092f90 FUN_140092f90 6 ok +0x140092fb0 FUN_140092fb0 27 ok +0x140092fd0 FUN_140092fd0 188 ok +0x140093090 FUN_140093090 57 ok +0x1400930d0 FUN_1400930d0 119 ok +0x140093150 FUN_140093150 177 ok +0x140093210 FUN_140093210 225 ok +0x140093300 FUN_140093300 3 ok +0x140093310 FUN_140093310 9 ok +0x140093320 FUN_140093320 9 ok +0x140093330 FUN_140093330 47 ok +0x140093360 FUN_140093360 487 ok +0x140093550 FUN_140093550 382 ok +0x1400936d0 FUN_1400936d0 231 ok +0x1400937c0 FUN_1400937c0 237 ok +0x1400938b0 FUN_1400938b0 248 ok +0x1400939b0 FUN_1400939b0 258 ok +0x140093ac0 FUN_140093ac0 209 ok +0x140093ba0 FUN_140093ba0 219 ok +0x140093c80 FUN_140093c80 189 ok +0x140093d40 FUN_140093d40 198 ok +0x140093e10 FUN_140093e10 209 ok +0x140093ef0 FUN_140093ef0 219 ok +0x140093fd0 FUN_140093fd0 189 ok +0x140094090 FUN_140094090 198 ok +0x140094160 FUN_140094160 209 ok +0x140094240 FUN_140094240 219 ok +0x140094320 FUN_140094320 209 ok +0x140094400 FUN_140094400 219 ok +0x1400944e0 FUN_1400944e0 2089 ok +0x140094d10 FUN_140094d10 430 ok +0x140094ec0 FUN_140094ec0 103 ok +0x140094f30 FUN_140094f30 79 ok +0x140094f80 FUN_140094f80 291 ok +0x1400950b0 FUN_1400950b0 311 ok +0x1400951f0 FUN_1400951f0 113 ok +0x140095270 FUN_140095270 49 ok +0x1400952b0 FUN_1400952b0 180 ok +0x140095370 FUN_140095370 107 ok +0x1400953e0 FUN_1400953e0 11 ok +0x1400953f0 FUN_1400953f0 38 ok +0x140095420 FUN_140095420 16 ok +0x140095430 FUN_140095430 8 ok +0x140095440 FUN_140095440 7 ok +0x140095450 FUN_140095450 21 ok +0x140095470 FUN_140095470 60 ok +0x1400954b0 FUN_1400954b0 12 ok +0x1400954c0 FUN_1400954c0 9 ok +0x1400954d0 FUN_1400954d0 22 ok +0x1400954f0 FUN_1400954f0 13 ok +0x140095500 FUN_140095500 346 ok +0x140095660 FUN_140095660 13 ok +0x140095670 FUN_140095670 41 ok +0x1400956a0 FUN_1400956a0 33 ok +0x1400956d0 FUN_1400956d0 181 ok +0x140095790 FUN_140095790 121 ok +0x140095810 FUN_140095810 37 ok +0x140095840 FUN_140095840 271 ok +0x140095950 FUN_140095950 101 ok +0x1400959c0 FUN_1400959c0 240 ok +0x140095ac0 FUN_140095ac0 888 ok +0x140095e40 FUN_140095e40 248 ok +0x140095f40 FUN_140095f40 141 ok +0x140095fd0 FUN_140095fd0 389 ok +0x140096160 FUN_140096160 24 ok +0x140096180 FUN_140096180 166 ok +0x140096240 FUN_140096240 571 ok +0x140096480 FUN_140096480 119 ok +0x140096500 FUN_140096500 157 ok +0x1400965a0 FUN_1400965a0 897 ok +0x140096930 FUN_140096930 7 ok +0x140096940 FUN_140096940 9 ok +0x140096950 FUN_140096950 9 ok +0x140096960 FUN_140096960 9 ok +0x140096970 FUN_140096970 12 ok +0x140096980 FUN_140096980 9 ok +0x140096990 FUN_140096990 9 ok +0x1400969a0 FUN_1400969a0 12 ok +0x1400969b0 FUN_1400969b0 9 ok +0x1400969c0 FUN_1400969c0 752 ok +0x140096cb0 FUN_140096cb0 364 ok +0x140096e20 FUN_140096e20 47 ok +0x140096e50 FUN_140096e50 14 ok +0x140096e60 FUN_140096e60 206 ok +0x140096f40 FUN_140096f40 206 ok +0x140097020 FUN_140097020 291 ok +0x140097150 FUN_140097150 150 ok +0x1400971f0 FUN_1400971f0 29 ok +0x140097210 FUN_140097210 29 ok +0x140097230 FUN_140097230 75 ok +0x140097280 FUN_140097280 56 ok +0x1400972c0 FUN_1400972c0 75 ok +0x140097310 FUN_140097310 56 ok +0x140097350 FUN_140097350 84 ok +0x1400973b0 FUN_1400973b0 87 ok +0x140097410 FUN_140097410 87 ok +0x140097470 FUN_140097470 360 ok +0x1400975e0 FUN_1400975e0 228 ok +0x1400976d0 FUN_1400976d0 206 ok +0x1400977a0 FUN_1400977a0 228 ok +0x140097890 FUN_140097890 17 ok +0x1400978b0 FUN_1400978b0 104 ok +0x140097920 FUN_140097920 125 ok +0x1400979a0 FUN_1400979a0 92 ok +0x140097a20 FUN_140097a20 111 ok +0x140097a90 FUN_140097a90 153 ok +0x140097b30 FUN_140097b30 91 ok +0x140097b90 FUN_140097b90 89 ok +0x140097c10 FUN_140097c10 138 ok +0x140097ca0 FUN_140097ca0 238 ok +0x140097d90 FUN_140097d90 245 ok +0x140097e90 FUN_140097e90 132 ok +0x140097f20 FUN_140097f20 146 ok +0x140097fc0 FUN_140097fc0 248 ok +0x1400980c0 FUN_1400980c0 295 ok +0x1400981f0 FUN_1400981f0 333 ok +0x140098340 FUN_140098340 119 ok +0x1400983c0 FUN_1400983c0 82 ok +0x140098420 FUN_140098420 176 ok +0x1400984d0 FUN_1400984d0 2067 ok +0x140098d00 FUN_140098d00 21 ok +0x140098d20 FUN_140098d20 132 ok +0x140098db0 FUN_140098db0 104 ok +0x140098e20 FUN_140098e20 133 ok +0x140098eb0 FUN_140098eb0 205 ok +0x140098f80 FUN_140098f80 24 ok +0x140098fa0 FUN_140098fa0 24 ok +0x140098fc0 FUN_140098fc0 124 ok +0x140099040 FUN_140099040 182 ok +0x140099100 FUN_140099100 312 ok +0x140099240 FUN_140099240 289 ok +0x140099370 FUN_140099370 315 ok +0x1400994b0 FUN_1400994b0 351 ok +0x140099610 FUN_140099610 145 ok +0x1400996b0 FUN_1400996b0 171 ok +0x140099760 FUN_140099760 172 ok +0x140099810 FUN_140099810 630 ok +0x140099a90 FUN_140099a90 223 ok +0x140099b70 FUN_140099b70 387 ok +0x140099d00 FUN_140099d00 120 ok +0x140099d80 FUN_140099d80 168 ok +0x140099e30 FUN_140099e30 64 ok +0x140099e70 FUN_140099e70 106 ok +0x140099ee0 FUN_140099ee0 598 ok +0x14009a140 FUN_14009a140 273 ok +0x14009a260 FUN_14009a260 739 ok +0x14009a550 FUN_14009a550 1976 ok +0x14009ad20 FUN_14009ad20 1659 ok +0x14009b3b0 FUN_14009b3b0 88 ok +0x14009b410 FUN_14009b410 161 ok +0x14009b4c0 FUN_14009b4c0 1701 ok +0x14009bb80 FUN_14009bb80 45 ok +0x14009bbb0 FUN_14009bbb0 41 ok +0x14009bbe0 FUN_14009bbe0 246 ok +0x14009bce0 FUN_14009bce0 94 ok +0x14009bd40 FUN_14009bd40 279 ok +0x14009be60 FUN_14009be60 120 ok +0x14009bee0 FUN_14009bee0 54 ok +0x14009bf20 FUN_14009bf20 163 ok +0x14009bfd0 FUN_14009bfd0 12 ok +0x14009bfe0 FUN_14009bfe0 203 ok +0x14009c0b0 FUN_14009c0b0 114 ok +0x14009c130 FUN_14009c130 373 ok +0x14009c2b0 FUN_14009c2b0 358 ok +0x14009c420 FUN_14009c420 21 ok +0x14009c440 FUN_14009c440 11 ok +0x14009c450 FUN_14009c450 4 ok +0x14009c460 FUN_14009c460 5 ok +0x14009c470 FUN_14009c470 5 ok +0x14009c480 FUN_14009c480 11 ok +0x14009c490 FUN_14009c490 8 ok +0x14009c4a0 FUN_14009c4a0 38 ok +0x14009c4d0 FUN_14009c4d0 21 ok +0x14009c4f0 FUN_14009c4f0 14 ok +0x14009c500 FUN_14009c500 54 ok +0x14009c540 FUN_14009c540 17 ok +0x14009c560 FUN_14009c560 54 ok +0x14009c5a0 FUN_14009c5a0 14 ok +0x14009c5b0 FUN_14009c5b0 5 ok +0x14009c5c0 FUN_14009c5c0 266 ok +0x14009c6d0 FUN_14009c6d0 23 ok +0x14009c6f0 FUN_14009c6f0 112 ok +0x14009c760 FUN_14009c760 99 ok +0x14009c7d0 FUN_14009c7d0 33 ok +0x14009c800 FUN_14009c800 36 ok +0x14009c830 FUN_14009c830 36 ok +0x14009c860 FUN_14009c860 88 ok +0x14009c8c0 FUN_14009c8c0 37 ok +0x14009c8f0 FUN_14009c8f0 541 ok +0x14009cb10 FUN_14009cb10 531 ok +0x14009cd30 FUN_14009cd30 531 ok +0x14009cf50 FUN_14009cf50 6 ok +0x14009cf60 FUN_14009cf60 27 ok +0x14009cf80 FUN_14009cf80 9 ok +0x14009cf90 FUN_14009cf90 9 ok +0x14009cfa0 FUN_14009cfa0 12 ok +0x14009cfb0 FUN_14009cfb0 9 ok +0x14009cfc0 FUN_14009cfc0 9 ok +0x14009cfd0 FUN_14009cfd0 8 ok +0x14009cfe0 FUN_14009cfe0 497 ok +0x14009d1e0 FUN_14009d1e0 774 ok +0x14009d4f0 FUN_14009d4f0 47 ok +0x14009d520 FUN_14009d520 44 ok +0x14009d550 FUN_14009d550 56 ok +0x14009d590 FUN_14009d590 23 ok +0x14009d5b0 FUN_14009d5b0 29 ok +0x14009d5d0 FUN_14009d5d0 41 ok +0x14009d600 FUN_14009d600 84 ok +0x14009d660 FUN_14009d660 246 ok +0x14009d760 FUN_14009d760 29 ok +0x14009d780 FUN_14009d780 95 ok +0x14009d7e0 FUN_14009d7e0 95 ok +0x14009d840 FUN_14009d840 94 ok +0x14009d8a0 FUN_14009d8a0 94 ok +0x14009d900 FUN_14009d900 94 ok +0x14009d960 FUN_14009d960 103 ok +0x14009d9d0 FUN_14009d9d0 100 ok +0x14009da40 FUN_14009da40 64 ok +0x14009da80 FUN_14009da80 12 ok +0x14009da90 FUN_14009da90 67 ok +0x14009dae0 FUN_14009dae0 207 ok +0x14009dbb0 FUN_14009dbb0 221 ok +0x14009dc90 FUN_14009dc90 168 ok +0x14009dd40 FUN_14009dd40 86 ok +0x14009dda0 FUN_14009dda0 153 ok +0x14009de40 FUN_14009de40 94 ok +0x14009dea0 FUN_14009dea0 55 ok +0x14009dee0 FUN_14009dee0 118 ok +0x14009df60 FUN_14009df60 46 ok +0x14009df90 FUN_14009df90 133 ok +0x14009e020 FUN_14009e020 46 ok +0x14009e050 FUN_14009e050 33 ok +0x14009e080 FUN_14009e080 33 ok +0x14009e0b0 FUN_14009e0b0 997 ok +0x14009e4b0 FUN_14009e4b0 103 ok +0x14009e520 FUN_14009e520 915 ok +0x14009e8c0 FUN_14009e8c0 23 ok +0x14009e8e0 FUN_14009e8e0 101 ok +0x14009e950 FUN_14009e950 39 ok +0x14009e980 FUN_14009e980 39 ok +0x14009e9b0 FUN_14009e9b0 113 ok +0x14009ea30 FUN_14009ea30 84 ok +0x14009ea90 FUN_14009ea90 128 ok +0x14009eb20 FUN_14009eb20 165 ok +0x14009ebd0 FUN_14009ebd0 320 ok +0x14009ed20 FUN_14009ed20 246 ok +0x14009ee20 FUN_14009ee20 273 ok +0x14009ef40 FUN_14009ef40 131 ok +0x14009efd0 FUN_14009efd0 290 ok +0x14009f100 FUN_14009f100 335 ok +0x14009f250 FUN_14009f250 1470 ok +0x14009f830 FUN_14009f830 105 ok +0x14009f8a0 FUN_14009f8a0 11 ok +0x14009f8b0 FUN_14009f8b0 21 ok +0x14009f8d0 FUN_14009f8d0 18 ok +0x14009f8f0 FUN_14009f8f0 38 ok +0x14009f920 FUN_14009f920 588 ok +0x14009fb70 FUN_14009fb70 89 ok +0x14009fbd0 FUN_14009fbd0 125 ok +0x14009fc50 FUN_14009fc50 126 ok +0x14009fcd0 FUN_14009fcd0 316 ok +0x14009fe10 FUN_14009fe10 222 ok +0x14009fef0 FUN_14009fef0 227 ok +0x14009ffe0 FUN_14009ffe0 225 ok +0x1400a00d0 FUN_1400a00d0 47 ok +0x1400a0100 FUN_1400a0100 470 ok +0x1400a02e0 FUN_1400a02e0 233 ok +0x1400a03d0 FUN_1400a03d0 290 ok +0x1400a0500 FUN_1400a0500 241 ok +0x1400a0600 FUN_1400a0600 95 ok +0x1400a0660 FUN_1400a0660 324 ok +0x1400a07b0 FUN_1400a07b0 717 ok +0x1400a0a90 FUN_1400a0a90 629 ok +0x1400a0d10 FUN_1400a0d10 280 ok +0x1400a0e30 FUN_1400a0e30 68 ok +0x1400a0e80 FUN_1400a0e80 43 ok +0x1400a0eb0 FUN_1400a0eb0 177 ok +0x1400a0f70 FUN_1400a0f70 109 ok +0x1400a0fe0 FUN_1400a0fe0 176 ok +0x1400a10a0 FUN_1400a10a0 140 ok +0x1400a1130 FUN_1400a1130 495 ok +0x1400a1330 FUN_1400a1330 1024 ok +0x1400a1730 FUN_1400a1730 115 ok +0x1400a17b0 FUN_1400a17b0 108 ok +0x1400a1820 FUN_1400a1820 125 ok +0x1400a18a0 FUN_1400a18a0 409 ok +0x1400a1a40 FUN_1400a1a40 327 ok +0x1400a1b90 FUN_1400a1b90 117 ok +0x1400a1c10 FUN_1400a1c10 380 ok +0x1400a1da0 FUN_1400a1da0 111 ok +0x1400a1e10 FUN_1400a1e10 39 ok +0x1400a1e40 FUN_1400a1e40 57 ok +0x1400a1e80 FUN_1400a1e80 131 ok +0x1400a1f10 FUN_1400a1f10 156 ok +0x1400a1fb0 FUN_1400a1fb0 399 ok +0x1400a2150 FUN_1400a2150 459 ok +0x1400a2330 FUN_1400a2330 488 ok +0x1400a2530 FUN_1400a2530 42 ok +0x1400a2560 FUN_1400a2560 41 ok +0x1400a2590 FUN_1400a2590 43 ok +0x1400a25c0 FUN_1400a25c0 15 ok +0x1400a25d0 FUN_1400a25d0 117 ok +0x1400a2650 FUN_1400a2650 232 ok +0x1400a2740 FUN_1400a2740 162 ok +0x1400a27f0 FUN_1400a27f0 37 ok +0x1400a2820 FUN_1400a2820 77 ok +0x1400a2870 FUN_1400a2870 36 ok +0x1400a28a0 FUN_1400a28a0 71 ok +0x1400a28f0 FUN_1400a28f0 100 ok +0x1400a2960 FUN_1400a2960 29 ok +0x1400a2980 FUN_1400a2980 127 ok +0x1400a2a00 FUN_1400a2a00 628 ok +0x1400a2c80 FUN_1400a2c80 254 ok +0x1400a2d90 FUN_1400a2d90 294 ok +0x1400a2ec0 FUN_1400a2ec0 264 ok +0x1400a2fd0 FUN_1400a2fd0 333 ok +0x1400a3120 FUN_1400a3120 280 ok +0x1400a3240 FUN_1400a3240 160 ok +0x1400a32f0 FUN_1400a32f0 169 ok +0x1400a33a0 FUN_1400a33a0 565 ok +0x1400a35e0 FUN_1400a35e0 11 ok +0x1400a35f0 FUN_1400a35f0 38 ok +0x1400a3620 FUN_1400a3620 59 ok +0x1400a3660 FUN_1400a3660 59 ok +0x1400a36a0 FUN_1400a36a0 74 ok +0x1400a3700 FUN_1400a3700 206 ok +0x1400a37e0 FUN_1400a37e0 115 ok +0x1400a3860 FUN_1400a3860 98 ok +0x1400a38d0 FUN_1400a38d0 98 ok +0x1400a3940 FUN_1400a3940 98 ok +0x1400a39b0 FUN_1400a39b0 180 ok +0x1400a3a70 FUN_1400a3a70 178 ok +0x1400a3b30 FUN_1400a3b30 187 ok +0x1400a3bf0 FUN_1400a3bf0 110 ok +0x1400a3c60 FUN_1400a3c60 189 ok +0x1400a3d20 FUN_1400a3d20 87 ok +0x1400a3d80 FUN_1400a3d80 29 ok +0x1400a3da0 FUN_1400a3da0 36 ok +0x1400a3dd0 FUN_1400a3dd0 177 ok +0x1400a3e90 FUN_1400a3e90 228 ok +0x1400a3f80 FUN_1400a3f80 154 ok +0x1400a4030 FUN_1400a4030 73 ok +0x1400a4080 FUN_1400a4080 112 ok +0x1400a40f0 FUN_1400a40f0 280 ok +0x1400a4210 FUN_1400a4210 374 ok +0x1400a4390 FUN_1400a4390 309 ok +0x1400a44d0 FUN_1400a44d0 360 ok +0x1400a4640 FUN_1400a4640 539 ok +0x1400a4860 FUN_1400a4860 170 ok +0x1400a4910 FUN_1400a4910 450 ok +0x1400a4ae0 FUN_1400a4ae0 363 ok +0x1400a4c50 FUN_1400a4c50 357 ok +0x1400a4dc0 FUN_1400a4dc0 401 ok +0x1400a4f60 FUN_1400a4f60 679 ok +0x1400a5210 FUN_1400a5210 814 ok +0x1400a5540 FUN_1400a5540 427 ok +0x1400a56f0 FUN_1400a56f0 717 ok +0x1400a59c0 FUN_1400a59c0 1293 ok +0x1400a5ed0 FUN_1400a5ed0 678 ok +0x1400a6180 FUN_1400a6180 716 ok +0x1400a6450 FUN_1400a6450 172 ok +0x1400a6500 FUN_1400a6500 312 ok +0x1400a6640 FUN_1400a6640 173 ok +0x1400a66f0 FUN_1400a66f0 1409 ok +0x1400a6c80 FUN_1400a6c80 2415 ok +0x1400a7650 FUN_1400a7650 757 ok +0x1400a7950 FUN_1400a7950 127 ok +0x1400a79d0 FUN_1400a79d0 1027 ok +0x1400a7de0 FUN_1400a7de0 1468 ok +0x1400a83b0 FUN_1400a83b0 1652 ok +0x1400a8a40 FUN_1400a8a40 1092 ok +0x1400a8e90 FUN_1400a8e90 624 ok +0x1400a9100 FUN_1400a9100 9 ok +0x1400a9110 FUN_1400a9110 218 ok +0x1400a91f0 FUN_1400a91f0 221 ok +0x1400a92d0 FUN_1400a92d0 47 ok +0x1400a9300 FUN_1400a9300 662 ok +0x1400a95a0 FUN_1400a95a0 2342 ok +0x1400a9ed0 FUN_1400a9ed0 461 ok +0x1400aa0a0 FUN_1400aa0a0 879 ok +0x1400aa420 FUN_1400aa420 753 ok +0x1400aa720 FUN_1400aa720 1538 ok +0x1400aadd0 FUN_1400aadd0 416 ok +0x1400aaf80 FUN_1400aaf80 856 ok +0x1400ab2e0 FUN_1400ab2e0 578 ok +0x1400ab530 FUN_1400ab530 1587 ok +0x1400abb70 FUN_1400abb70 206 ok +0x1400abc40 FUN_1400abc40 330 ok +0x1400abda0 FUN_1400abda0 350 ok +0x1400abf20 FUN_1400abf20 84 ok +0x1400abf80 FUN_1400abf80 217 ok +0x1400ac060 FUN_1400ac060 142 ok +0x1400ac0f0 FUN_1400ac0f0 360 ok +0x1400ac260 FUN_1400ac260 354 ok +0x1400ac3e0 FUN_1400ac3e0 628 ok +0x1400ac660 FUN_1400ac660 202 ok +0x1400ac730 FUN_1400ac730 126 ok +0x1400ac7b0 FUN_1400ac7b0 322 ok +0x1400ac900 FUN_1400ac900 54 ok +0x1400ac940 FUN_1400ac940 351 ok +0x1400acab0 FUN_1400acab0 165 ok +0x1400acb60 FUN_1400acb60 168 ok +0x1400acc10 FUN_1400acc10 212 ok +0x1400accf0 FUN_1400accf0 168 ok +0x1400acda0 FUN_1400acda0 311 ok +0x1400acee0 FUN_1400acee0 56 ok +0x1400acf20 FUN_1400acf20 87 ok +0x1400acf80 FUN_1400acf80 316 ok +0x1400ad0c0 FUN_1400ad0c0 127 ok +0x1400ad140 FUN_1400ad140 114 ok +0x1400ad1c0 FUN_1400ad1c0 528 ok +0x1400ad3f0 FUN_1400ad3f0 93 ok +0x1400ad450 FUN_1400ad450 82 ok +0x1400ad4b0 FUN_1400ad4b0 125 ok +0x1400ad530 FUN_1400ad530 113 ok +0x1400ad5b0 FUN_1400ad5b0 1202 ok +0x1400ada70 FUN_1400ada70 150 ok +0x1400adb10 FUN_1400adb10 282 ok +0x1400adc30 FUN_1400adc30 559 ok +0x1400ade70 FUN_1400ade70 286 ok +0x1400adf90 FUN_1400adf90 225 ok +0x1400ae080 FUN_1400ae080 132 ok +0x1400ae110 FUN_1400ae110 220 ok +0x1400ae1f0 FUN_1400ae1f0 320 ok +0x1400ae330 FUN_1400ae330 906 ok +0x1400ae6c0 FUN_1400ae6c0 245 ok +0x1400ae7c0 FUN_1400ae7c0 47 ok +0x1400ae7f0 FUN_1400ae7f0 193 ok +0x1400ae8c0 FUN_1400ae8c0 764 ok +0x1400aebc0 FUN_1400aebc0 731 ok +0x1400aeea0 FUN_1400aeea0 415 ok +0x1400af050 FUN_1400af050 152 ok +0x1400af0f0 FUN_1400af0f0 86 ok +0x1400af150 FUN_1400af150 110 ok +0x1400af1c0 FUN_1400af1c0 485 ok +0x1400af3b0 FUN_1400af3b0 204 ok +0x1400af480 FUN_1400af480 153 ok +0x1400af520 FUN_1400af520 47 ok +0x1400af550 FUN_1400af550 303 ok +0x1400af680 FUN_1400af680 135 ok +0x1400af710 FUN_1400af710 248 ok +0x1400af810 FUN_1400af810 355 ok +0x1400af980 FUN_1400af980 339 ok +0x1400afae0 FUN_1400afae0 449 ok +0x1400afcb0 FUN_1400afcb0 257 ok +0x1400afdc0 FUN_1400afdc0 24 ok +0x1400afde0 FUN_1400afde0 410 ok +0x1400aff80 FUN_1400aff80 124 ok +0x1400b0000 FUN_1400b0000 124 ok +0x1400b0090 FUN_1400b0090 1173 ok +0x1400b0530 FUN_1400b0530 24 ok +0x1400b0550 FUN_1400b0550 254 ok +0x1400b0650 FUN_1400b0650 254 ok +0x1400b0750 FUN_1400b0750 346 ok +0x1400b08b0 FUN_1400b08b0 249 ok +0x1400b09b0 FUN_1400b09b0 2983 ok +0x1400b1560 FUN_1400b1560 4680 ok +0x1400b27b0 FUN_1400b27b0 254 ok +0x1400b28b0 FUN_1400b28b0 216 ok +0x1400b2990 FUN_1400b2990 106 ok +0x1400b2a00 FUN_1400b2a00 12 ok +0x1400b2a10 FUN_1400b2a10 181 ok +0x1400b2ad0 FUN_1400b2ad0 25 ok +0x1400b2af0 FUN_1400b2af0 25 ok +0x1400b2b10 FUN_1400b2b10 93 ok +0x1400b2b70 FUN_1400b2b70 36 ok +0x1400b2ba0 FUN_1400b2ba0 382 ok +0x1400b2d20 FUN_1400b2d20 339 ok +0x1400b2e80 FUN_1400b2e80 216 ok +0x1400b2f60 FUN_1400b2f60 6 ok +0x1400b2f70 FUN_1400b2f70 9 ok +0x1400b2f80 FUN_1400b2f80 475 ok +0x1400b3160 FUN_1400b3160 47 ok +0x1400b3190 FUN_1400b3190 11 ok +0x1400b31a0 FUN_1400b31a0 38 ok +0x1400b31d0 FUN_1400b31d0 9 ok +0x1400b31e0 FUN_1400b31e0 14 ok +0x1400b31f0 FUN_1400b31f0 22 ok +0x1400b3210 FUN_1400b3210 151 ok +0x1400b32b0 FUN_1400b32b0 108 ok +0x1400b3320 FUN_1400b3320 158 ok +0x1400b33c0 FUN_1400b33c0 159 ok +0x1400b3460 FUN_1400b3460 63 ok +0x1400b34a0 FUN_1400b34a0 25 ok +0x1400b34c0 FUN_1400b34c0 258 ok +0x1400b35d0 FUN_1400b35d0 116 ok +0x1400b3650 FUN_1400b3650 269 ok +0x1400b3760 FUN_1400b3760 99 ok +0x1400b37d0 FUN_1400b37d0 811 ok +0x1400b3b00 FUN_1400b3b00 708 ok +0x1400b3dd0 FUN_1400b3dd0 968 ok +0x1400b41a0 FUN_1400b41a0 389 ok +0x1400b4330 FUN_1400b4330 1011 ok +0x1400b4730 FUN_1400b4730 1834 ok +0x1400b4e60 FUN_1400b4e60 98 ok +0x1400b4ed0 FUN_1400b4ed0 1190 ok +0x1400b5380 FUN_1400b5380 452 ok +0x1400b5550 FUN_1400b5550 239 ok +0x1400b5640 FUN_1400b5640 1296 ok +0x1400b5b50 FUN_1400b5b50 530 ok +0x1400b5d70 FUN_1400b5d70 429 ok +0x1400b5f20 FUN_1400b5f20 1078 ok +0x1400b6360 FUN_1400b6360 805 ok +0x1400b6690 FUN_1400b6690 129 ok +0x1400b6720 FUN_1400b6720 182 ok +0x1400b67e0 FUN_1400b67e0 38 ok +0x1400b6810 FUN_1400b6810 94 ok +0x1400b6870 FUN_1400b6870 125 ok +0x1400b68f0 FUN_1400b68f0 132 ok +0x1400b6980 FUN_1400b6980 74 ok +0x1400b69d0 FUN_1400b69d0 264 ok +0x1400b6ae0 FUN_1400b6ae0 7 ok +0x1400b6af0 FUN_1400b6af0 9 ok +0x1400b6b00 FUN_1400b6b00 9 ok +0x1400b6b10 FUN_1400b6b10 9 ok +0x1400b6b20 FUN_1400b6b20 519 ok +0x1400b6d30 FUN_1400b6d30 47 ok +0x1400b6d60 FUN_1400b6d60 37 ok +0x1400b6d90 FUN_1400b6d90 302 ok +0x1400b6ec0 FUN_1400b6ec0 158 ok +0x1400b6f60 FUN_1400b6f60 54 ok +0x1400b6fa0 FUN_1400b6fa0 62 ok +0x1400b6fe0 FUN_1400b6fe0 87 ok +0x1400b7040 FUN_1400b7040 62 ok +0x1400b7080 FUN_1400b7080 44 ok +0x1400b70b0 FUN_1400b70b0 36 ok +0x1400b70e0 FUN_1400b70e0 334 ok +0x1400b7230 FUN_1400b7230 422 ok +0x1400b73e0 FUN_1400b73e0 250 ok +0x1400b74e0 FUN_1400b74e0 543 ok +0x1400b7700 FUN_1400b7700 9 ok +0x1400b7710 FUN_1400b7710 372 ok +0x1400b7890 FUN_1400b7890 47 ok +0x1400b78c0 FUN_1400b78c0 476 ok +0x1400b7aa0 FUN_1400b7aa0 49 ok +0x1400b7ae0 FUN_1400b7ae0 46 ok +0x1400b7b10 FUN_1400b7b10 22 ok +0x1400b7b30 FUN_1400b7b30 25 ok +0x1400b7b50 FUN_1400b7b50 8 ok +0x1400b7b60 FUN_1400b7b60 51 ok +0x1400b7ba0 FUN_1400b7ba0 52 ok +0x1400b7be0 FUN_1400b7be0 12 ok +0x1400b7bf0 FUN_1400b7bf0 9 ok +0x1400b7c00 FUN_1400b7c00 256 ok +0x1400b7d10 FUN_1400b7d10 118 ok +0x1400b7d90 FUN_1400b7d90 12 ok +0x1400b7da0 FUN_1400b7da0 26 ok +0x1400b7dc0 FUN_1400b7dc0 31 ok +0x1400b7de0 FUN_1400b7de0 11 ok +0x1400b7df0 FUN_1400b7df0 25 ok +0x1400b7e10 FUN_1400b7e10 9 ok +0x1400b7e20 FUN_1400b7e20 43 ok +0x1400b7e50 FUN_1400b7e50 19 ok +0x1400b7e70 FUN_1400b7e70 383 ok +0x1400b8000 FUN_1400b8000 1373 ok +0x1400b8570 FUN_1400b8570 134 ok +0x1400b8600 FUN_1400b8600 1359 ok +0x1400b8b60 FUN_1400b8b60 30 ok +0x1400b8b80 FUN_1400b8b80 122 ok +0x1400b8c00 FUN_1400b8c00 103 ok +0x1400b8c70 FUN_1400b8c70 10 ok +0x1400b8c80 FUN_1400b8c80 58 ok +0x1400b8cc0 FUN_1400b8cc0 157 ok +0x1400b8d60 FUN_1400b8d60 104 ok +0x1400b8dd0 FUN_1400b8dd0 132 ok +0x1400b8e60 FUN_1400b8e60 103 ok +0x1400b8ed0 FUN_1400b8ed0 571 ok +0x1400b9110 FUN_1400b9110 57 ok +0x1400b9150 FUN_1400b9150 294 ok +0x1400b9280 FUN_1400b9280 657 ok +0x1400b9520 FUN_1400b9520 845 ok +0x1400b9880 FUN_1400b9880 242 ok +0x1400b9980 FUN_1400b9980 150 ok +0x1400b9a20 FUN_1400b9a20 141 ok +0x1400b9ab0 FUN_1400b9ab0 178 ok +0x1400b9b90 FUN_1400b9b90 186 ok +0x1400b9c50 FUN_1400b9c50 208 ok +0x1400b9d20 FUN_1400b9d20 22 ok +0x1400b9d40 FUN_1400b9d40 115 ok +0x1400b9dc0 FUN_1400b9dc0 170 ok +0x1400b9e70 FUN_1400b9e70 230 ok +0x1400b9f60 FUN_1400b9f60 16 ok +0x1400b9f70 FUN_1400b9f70 255 ok +0x1400ba070 FUN_1400ba070 86 ok +0x1400ba0d0 FUN_1400ba0d0 795 ok +0x1400ba3f0 FUN_1400ba3f0 13 ok +0x1400ba400 FUN_1400ba400 5815 ok +0x1400bbb40 FUN_1400bbb40 33 ok +0x1400bbb70 FUN_1400bbb70 20 ok +0x1400bbb90 FUN_1400bbb90 51 ok +0x1400bbbd0 FUN_1400bbbd0 57 ok +0x1400bbc10 FUN_1400bbc10 112 ok +0x1400bbc90 FUN_1400bbc90 479 ok +0x1400bbe80 FUN_1400bbe80 63 ok +0x1400bbec0 FUN_1400bbec0 32 ok +0x1400bbee0 FUN_1400bbee0 35 ok +0x1400bbf10 FUN_1400bbf10 73 ok +0x1400bbf60 FUN_1400bbf60 22 ok +0x1400bbf80 FUN_1400bbf80 206 ok +0x1400bc060 FUN_1400bc060 228 ok +0x1400bc150 FUN_1400bc150 253 ok +0x1400bc260 FUN_1400bc260 205 ok +0x1400bc340 FUN_1400bc340 216 ok +0x1400bc420 FUN_1400bc420 160 ok +0x1400bc4c0 FUN_1400bc4c0 240 ok +0x1400bc5c0 FUN_1400bc5c0 583 ok +0x1400bc810 FUN_1400bc810 73 ok +0x1400bc860 FUN_1400bc860 113 ok +0x1400bc8e0 FUN_1400bc8e0 104 ok +0x1400bc950 FUN_1400bc950 226 ok +0x1400bca40 FUN_1400bca40 61 ok +0x1400bca80 FUN_1400bca80 4 ok +0x1400bca90 FUN_1400bca90 31 ok +0x1400bcab0 FUN_1400bcab0 12 ok +0x1400bcac0 FUN_1400bcac0 27 ok +0x1400bcae0 FUN_1400bcae0 33 ok +0x1400bcb10 FUN_1400bcb10 118 ok +0x1400bcb90 FUN_1400bcb90 17 ok +0x1400bcbb0 FUN_1400bcbb0 67 ok +0x1400bcc00 FUN_1400bcc00 109 ok +0x1400bcc70 FUN_1400bcc70 253 ok +0x1400bcd70 FUN_1400bcd70 151 ok +0x1400bce10 FUN_1400bce10 151 ok +0x1400bceb0 FUN_1400bceb0 49 ok +0x1400bcef0 FUN_1400bcef0 150 ok +0x1400bcf90 FUN_1400bcf90 34 ok +0x1400bcfc0 FUN_1400bcfc0 86 ok +0x1400bd020 FUN_1400bd020 86 ok +0x1400bd080 FUN_1400bd080 147 ok +0x1400bd120 FUN_1400bd120 86 ok +0x1400bd1d0 FUN_1400bd1d0 70 ok +0x1400bd220 FUN_1400bd220 63 ok +0x1400bd280 FUN_1400bd280 86 ok +0x1400bd2e0 FUN_1400bd2e0 86 ok +0x1400bd340 FUN_1400bd340 86 ok +0x1400bd3b0 FUN_1400bd3b0 86 ok +0x1400bd410 FUN_1400bd410 86 ok +0x1400bd470 FUN_1400bd470 91 ok +0x1400bd4d0 FUN_1400bd4d0 86 ok +0x1400bd530 FUN_1400bd530 91 ok +0x1400bd590 FUN_1400bd590 86 ok +0x1400bd5f0 FUN_1400bd5f0 91 ok +0x1400bd650 FUN_1400bd650 86 ok +0x1400bd6b0 FUN_1400bd6b0 86 ok +0x1400bd710 FUN_1400bd710 86 ok +0x1400bd770 FUN_1400bd770 86 ok +0x1400bd7d0 FUN_1400bd7d0 116 ok +0x1400bd850 FUN_1400bd850 91 ok +0x1400bd8b0 FUN_1400bd8b0 91 ok +0x1400bd910 FUN_1400bd910 50 ok +0x1400bd950 FUN_1400bd950 91 ok +0x1400bd9b0 FUN_1400bd9b0 91 ok +0x1400bda10 FUN_1400bda10 184 ok +0x1400bdad0 FUN_1400bdad0 86 ok +0x1400bdb30 FUN_1400bdb30 94 ok +0x1400bdba0 FUN_1400bdba0 50 ok +0x1400bdbe0 FUN_1400bdbe0 125 ok +0x1400bdc60 FUN_1400bdc60 224 ok +0x1400bdd40 FUN_1400bdd40 1224 ok +0x1400be250 FUN_1400be250 218 ok +0x1400be330 FUN_1400be330 382 ok +0x1400be4c0 FUN_1400be4c0 229 ok +0x1400be5b0 FUN_1400be5b0 400 ok +0x1400be740 FUN_1400be740 329 ok +0x1400be890 FUN_1400be890 274 ok +0x1400be9c0 FUN_1400be9c0 528 ok +0x1400bebd0 FUN_1400bebd0 180 ok +0x1400bec90 FUN_1400bec90 345 ok +0x1400bedf0 FUN_1400bedf0 130 ok +0x1400bee80 FUN_1400bee80 80 ok +0x1400beed0 FUN_1400beed0 1243 ok +0x1400bf3b0 FUN_1400bf3b0 426 ok +0x1400bf560 FUN_1400bf560 978 ok +0x1400bf940 FUN_1400bf940 442 ok +0x1400bfb00 FUN_1400bfb00 470 ok +0x1400bfce0 FUN_1400bfce0 33 ok +0x1400bfd10 FUN_1400bfd10 5 ok +0x1400bfd20 FUN_1400bfd20 74 ok +0x1400bfd70 FUN_1400bfd70 82 ok +0x1400bfdd0 FUN_1400bfdd0 111 ok +0x1400bfe40 FUN_1400bfe40 106 ok +0x1400bfeb0 FUN_1400bfeb0 89 ok +0x1400bff10 FUN_1400bff10 220 ok +0x1400bfff0 FUN_1400bfff0 387 ok +0x1400c0180 FUN_1400c0180 42 ok +0x1400c01b0 FUN_1400c01b0 997 ok +0x1400c05a0 FUN_1400c05a0 9 ok +0x1400c05b0 FUN_1400c05b0 9 ok +0x1400c05c0 FUN_1400c05c0 222 ok +0x1400c06a0 FUN_1400c06a0 470 ok +0x1400c0880 FUN_1400c0880 47 ok +0x1400c08b0 FUN_1400c08b0 406 ok +0x1400c0a50 FUN_1400c0a50 1718 ok +0x1400c1110 FUN_1400c1110 811 ok +0x1400c1440 FUN_1400c1440 211 ok +0x1400c1520 FUN_1400c1520 130 ok +0x1400c15b0 FUN_1400c15b0 418 ok +0x1400c1760 FUN_1400c1760 147 ok +0x1400c1800 FUN_1400c1800 258 ok +0x1400c1910 FUN_1400c1910 430 ok +0x1400c1ac0 FUN_1400c1ac0 132 ok +0x1400c1b50 FUN_1400c1b50 36 ok +0x1400c1b80 FUN_1400c1b80 777 ok +0x1400c1e90 FUN_1400c1e90 114 ok +0x1400c1f10 FUN_1400c1f10 224 ok +0x1400c1ff0 FUN_1400c1ff0 160 ok +0x1400c2090 FUN_1400c2090 430 ok +0x1400c2240 FUN_1400c2240 436 ok +0x1400c2400 FUN_1400c2400 632 ok +0x1400c2680 FUN_1400c2680 1056 ok +0x1400c2aa0 FUN_1400c2aa0 1356 ok +0x1400c2ff0 FUN_1400c2ff0 890 ok +0x1400c3370 FUN_1400c3370 467 ok +0x1400c3550 FUN_1400c3550 359 ok +0x1400c36c0 FUN_1400c36c0 2323 ok +0x1400c3fe0 FUN_1400c3fe0 646 ok +0x1400c4270 FUN_1400c4270 50 ok +0x1400c42b0 FUN_1400c42b0 13 ok +0x1400c42c0 FUN_1400c42c0 10 ok +0x1400c42d0 FUN_1400c42d0 1250 ok +0x1400c47c0 FUN_1400c47c0 127 ok +0x1400c4840 FUN_1400c4840 235 ok +0x1400c4930 FUN_1400c4930 539 ok +0x1400c4b50 FUN_1400c4b50 230 ok +0x1400c4c40 FUN_1400c4c40 1390 ok +0x1400c51b0 FUN_1400c51b0 616 ok +0x1400c5420 FUN_1400c5420 1128 ok +0x1400c5890 FUN_1400c5890 119 ok +0x1400c5910 FUN_1400c5910 129 ok +0x1400c59a0 FUN_1400c59a0 261 ok +0x1400c5ab0 FUN_1400c5ab0 1226 ok +0x1400c5f90 FUN_1400c5f90 114 ok +0x1400c6010 FUN_1400c6010 165 ok +0x1400c60c0 FUN_1400c60c0 587 ok +0x1400c6310 FUN_1400c6310 127 ok +0x1400c6390 FUN_1400c6390 148 ok +0x1400c6430 FUN_1400c6430 542 ok +0x1400c6650 FUN_1400c6650 634 ok +0x1400c68d0 FUN_1400c68d0 210 ok +0x1400c69b0 FUN_1400c69b0 164 ok +0x1400c6a60 FUN_1400c6a60 85 ok +0x1400c6ac0 FUN_1400c6ac0 93 ok +0x1400c6b20 FUN_1400c6b20 578 ok +0x1400c6d70 FUN_1400c6d70 95 ok +0x1400c6dd0 FUN_1400c6dd0 81 ok +0x1400c6e30 FUN_1400c6e30 58 ok +0x1400c6e70 FUN_1400c6e70 132 ok +0x1400c6f00 FUN_1400c6f00 101 ok +0x1400c6fc0 FUN_1400c6fc0 45 ok +0x1400c6ff0 FUN_1400c6ff0 34 ok +0x1400c7020 FUN_1400c7020 41 ok +0x1400c7050 FUN_1400c7050 102 ok +0x1400c70c0 FUN_1400c70c0 119 ok +0x1400c7140 FUN_1400c7140 255 ok +0x1400c7240 FUN_1400c7240 242 ok +0x1400c7340 FUN_1400c7340 35 ok +0x1400c7370 FUN_1400c7370 170 ok +0x1400c7420 FUN_1400c7420 130 ok +0x1400c74b0 FUN_1400c74b0 124 ok +0x1400c7530 FUN_1400c7530 317 ok +0x1400c7670 FUN_1400c7670 114 ok +0x1400c76f0 FUN_1400c76f0 307 ok +0x1400c7830 FUN_1400c7830 170 ok +0x1400c78e0 FUN_1400c78e0 184 ok +0x1400c79a0 FUN_1400c79a0 123 ok +0x1400c7a20 FUN_1400c7a20 1314 ok +0x1400c7f50 FUN_1400c7f50 173 ok +0x1400c8000 FUN_1400c8000 11 ok +0x1400c8010 FUN_1400c8010 467 ok +0x1400c81f0 FUN_1400c81f0 205 ok +0x1400c82c0 FUN_1400c82c0 119 ok +0x1400c8340 FUN_1400c8340 103 ok +0x1400c83b0 FUN_1400c83b0 39 ok +0x1400c83e0 FUN_1400c83e0 96 ok +0x1400c8440 FUN_1400c8440 202 ok +0x1400c8510 FUN_1400c8510 355 ok +0x1400c8680 FUN_1400c8680 348 ok +0x1400c87e0 FUN_1400c87e0 287 ok +0x1400c8900 FUN_1400c8900 1948 ok +0x1400c90a0 FUN_1400c90a0 1490 ok +0x1400c9680 FUN_1400c9680 1555 ok +0x1400c9ce0 FUN_1400c9ce0 6585 ok +0x1400cb6a0 FUN_1400cb6a0 76 ok +0x1400cb6f0 FUN_1400cb6f0 218 ok +0x1400cb7d0 FUN_1400cb7d0 450 ok +0x1400cb9a0 FUN_1400cb9a0 29 ok +0x1400cb9c0 FUN_1400cb9c0 133 ok +0x1400cba50 FUN_1400cba50 65 ok +0x1400cbaa0 FUN_1400cbaa0 317 ok +0x1400cbbe0 FUN_1400cbbe0 1271 ok +0x1400cc120 FUN_1400cc120 338 ok +0x1400cc280 FUN_1400cc280 338 ok +0x1400cc3e0 FUN_1400cc3e0 459 ok +0x1400cc5b0 FUN_1400cc5b0 912 ok +0x1400cc940 FUN_1400cc940 93 ok +0x1400cc9a0 FUN_1400cc9a0 290 ok +0x1400ccad0 FUN_1400ccad0 884 ok +0x1400cce50 FUN_1400cce50 145 ok +0x1400ccef0 FUN_1400ccef0 50 ok +0x1400ccf30 FUN_1400ccf30 244 ok +0x1400cd030 FUN_1400cd030 48 ok +0x1400cd060 FUN_1400cd060 91 ok +0x1400cd0c0 FUN_1400cd0c0 66 ok +0x1400cd110 FUN_1400cd110 383 ok +0x1400cd290 FUN_1400cd290 47 ok +0x1400cd2c0 FUN_1400cd2c0 370 ok +0x1400cd440 FUN_1400cd440 251 ok +0x1400cd540 FUN_1400cd540 300 ok +0x1400cd670 FUN_1400cd670 345 ok +0x1400cd7d0 FUN_1400cd7d0 409 ok +0x1400cd970 FUN_1400cd970 733 ok +0x1400cdc50 FUN_1400cdc50 1949 ok +0x1400ce3f0 FUN_1400ce3f0 368 ok +0x1400ce560 FUN_1400ce560 458 ok +0x1400ce730 FUN_1400ce730 569 ok +0x1400ce970 FUN_1400ce970 1459 ok +0x1400cef30 FUN_1400cef30 45 ok +0x1400cef60 FUN_1400cef60 122 ok +0x1400cefe0 FUN_1400cefe0 135 ok +0x1400cf070 FUN_1400cf070 162 ok +0x1400cf120 FUN_1400cf120 38 ok +0x1400cf150 FUN_1400cf150 64 ok +0x1400cf190 FUN_1400cf190 128 ok +0x1400cf210 FUN_1400cf210 163 ok +0x1400cf2c0 FUN_1400cf2c0 1103 ok +0x1400cf710 FUN_1400cf710 712 ok +0x1400cf9e0 FUN_1400cf9e0 165 ok +0x1400cfa90 FUN_1400cfa90 56 ok +0x1400cfad0 FUN_1400cfad0 579 ok +0x1400cfd20 FUN_1400cfd20 1472 ok +0x1400d02e0 FUN_1400d02e0 106 ok +0x1400d0350 FUN_1400d0350 56 ok +0x1400d0390 FUN_1400d0390 1384 ok +0x1400d0910 FUN_1400d0910 71 ok +0x1400d0960 FUN_1400d0960 439 ok +0x1400d0b20 FUN_1400d0b20 113 ok +0x1400d0ba0 FUN_1400d0ba0 822 ok +0x1400d0f10 FUN_1400d0f10 426 ok +0x1400d1100 FUN_1400d1100 95 ok +0x1400d1190 FUN_1400d1190 706 ok +0x1400d1460 FUN_1400d1460 45 ok +0x1400d1490 FUN_1400d1490 264 ok +0x1400d15a0 FUN_1400d15a0 388 ok +0x1400d1730 FUN_1400d1730 47 ok +0x1400d1760 FUN_1400d1760 49 ok +0x1400d17a0 FUN_1400d17a0 146 ok +0x1400d1840 FUN_1400d1840 292 ok +0x1400d1970 FUN_1400d1970 47 ok +0x1400d19a0 FUN_1400d19a0 49 ok +0x1400d19e0 FUN_1400d19e0 146 ok +0x1400d1a80 FUN_1400d1a80 292 ok +0x1400d1bb0 FUN_1400d1bb0 14 ok +0x1400d1bc0 FUN_1400d1bc0 304 ok +0x1400d1cf0 FUN_1400d1cf0 382 ok +0x1400d1e70 FUN_1400d1e70 75 ok +0x1400d1ec0 FUN_1400d1ec0 242 ok +0x1400d1fc0 FUN_1400d1fc0 74 ok +0x1400d2010 FUN_1400d2010 348 ok +0x1400d2170 FUN_1400d2170 79 ok +0x1400d21c0 FUN_1400d21c0 86 ok +0x1400d2220 FUN_1400d2220 246 ok +0x1400d2320 FUN_1400d2320 396 ok +0x1400d24b0 FUN_1400d24b0 20 ok +0x1400d24d0 FUN_1400d24d0 59 ok +0x1400d2510 FUN_1400d2510 1156 ok +0x1400d2a10 FUN_1400d2a10 447 ok +0x1400d2bd0 FUN_1400d2bd0 269 ok +0x1400d2ce0 FUN_1400d2ce0 236 ok +0x1400d2dd0 FUN_1400d2dd0 231 ok +0x1400d2ec0 FUN_1400d2ec0 230 ok +0x1400d2fb0 FUN_1400d2fb0 150 ok +0x1400d3050 FUN_1400d3050 263 ok +0x1400d3160 FUN_1400d3160 14 ok +0x1400d3170 FUN_1400d3170 235 ok +0x1400d3260 FUN_1400d3260 107 ok +0x1400d32d0 FUN_1400d32d0 378 ok +0x1400d3450 FUN_1400d3450 58 ok +0x1400d3490 FUN_1400d3490 46 ok +0x1400d34c0 FUN_1400d34c0 137 ok +0x1400d3550 FUN_1400d3550 512 ok +0x1400d3750 FUN_1400d3750 105 ok +0x1400d3800 FUN_1400d3800 54 ok +0x1400d3840 FUN_1400d3840 246 ok +0x1400d3940 FUN_1400d3940 910 ok +0x1400d3cd0 FUN_1400d3cd0 497 ok +0x1400d3ed0 FUN_1400d3ed0 294 ok +0x1400d4000 FUN_1400d4000 294 ok +0x1400d4130 FUN_1400d4130 596 ok +0x1400d4390 FUN_1400d4390 291 ok +0x1400d44c0 FUN_1400d44c0 354 ok +0x1400d4630 FUN_1400d4630 280 ok +0x1400d4750 FUN_1400d4750 663 ok +0x1400d49f0 FUN_1400d49f0 50 ok +0x1400d4a30 FUN_1400d4a30 340 ok +0x1400d4b90 FUN_1400d4b90 418 ok +0x1400d4d40 FUN_1400d4d40 163 ok +0x1400d4de4 FUN_1400d4de4 158 ok +0x1400d4e94 FUN_1400d4e94 19 ok +0x1400d4ec8 FUN_1400d4ec8 95 ok +0x1400d4f88 FUN_1400d4f88 234 ok +0x1400d5078 FUN_1400d5078 16 ok +0x1400d5098 FUN_1400d5098 37 ok +0x1400d50c8 FUN_1400d50c8 252 ok +0x1400d51d8 FUN_1400d51d8 5474 ok +0x1400d6748 FUN_1400d6748 79 ok +0x1400d67a8 FUN_1400d67a8 224 ok +0x1400d68c8 FUN_1400d68c8 81 ok +0x1400d6928 FUN_1400d6928 246 ok +0x1400d6a58 FUN_1400d6a58 386 ok +0x1400d6bdc FUN_1400d6bdc 324 ok +0x1400d6e2c FUN_1400d6e2c 38 ok +0x1400d6e5c FUN_1400d6e5c 113 ok +0x1400d6edc FUN_1400d6edc 2111 ok +0x1400d772c FUN_1400d772c 210 ok +0x1400d780c FUN_1400d780c 462 ok +0x1400d79ec FUN_1400d79ec 146 ok +0x1400d7a8c FUN_1400d7a8c 169 ok +0x1400d7b3c FUN_1400d7b3c 403 ok +0x1400d7cdc FUN_1400d7cdc 226 ok +0x1400d7dcc FUN_1400d7dcc 321 ok +0x1400d7f1c FUN_1400d7f1c 440 ok +0x1400d80dc FUN_1400d80dc 1038 ok +0x1400d84fc FUN_1400d84fc 1270 ok +0x1400d89fc FUN_1400d89fc 173 ok +0x1400d8abc FUN_1400d8abc 247 ok +0x1400d8bbc FUN_1400d8bbc 611 ok +0x1400d8e2c FUN_1400d8e2c 43 ok +0x1400d8e98 FUN_1400d8e98 13 ok +0x1400d8eb8 FUN_1400d8eb8 10 ok +0x1400d8ec4 FUN_1400d8ec4 1117 ok +0x1400d9324 FUN_1400d9324 1127 ok +0x1400d978c FUN_1400d978c 722 ok +0x1400d9a6c FUN_1400d9a6c 154 ok +0x1400d9b18 FUN_1400d9b18 777 ok +0x1400d9e28 FUN_1400d9e28 909 ok +0x1400da1c8 FUN_1400da1c8 23 ok +0x1400da1e8 FUN_1400da1e8 51 ok +0x1400da228 FUN_1400da228 231 ok +0x1400da318 FUN_1400da318 13 ok +0x1400da338 FUN_1400da338 112 ok +0x1400da3b8 FUN_1400da3b8 177 ok +0x1400da478 FUN_1400da478 502 ok +0x1400da678 scan_tree 241 ok +0x1400da778 FUN_1400da778 1359 ok +0x1400dacd8 FUN_1400dacd8 620 ok +0x1400db008 FUN_1400db008 1094 ok +0x1400db458 FUN_1400db458 91 ok +0x1400db4c8 FUN_1400db4c8 25 ok +0x1400db4e8 FUN_1400db4e8 118 ok +0x1400db568 FUN_1400db568 87 ok +0x1400db5c8 FUN_1400db5c8 165 ok +0x1400db678 FUN_1400db678 114 ok +0x1400db6f8 FUN_1400db6f8 152 ok +0x1400db798 FUN_1400db798 561 ok +0x1400db9d8 FUN_1400db9d8 128 ok +0x1400dba68 FUN_1400dba68 146 ok +0x1400dbb08 FUN_1400dbb08 531 ok +0x1400dbd28 FUN_1400dbd28 564 ok +0x1400dbf94 std::_Mutex _Mutex 4 ok +0x1400dbfa4 `eh_vector_constructor_iterator' 100 ok +0x1400dc010 FUN_1400dc010 26 ok +0x1400dc040 FUN_1400dc040 58 ok +0x1400dc080 FUN_1400dc080 62 ok +0x1400dc0d0 FUN_1400dc0d0 81 ok +0x1400dc130 FUN_1400dc130 42 ok +0x1400dc160 FUN_1400dc160 93 ok +0x1400dc1c0 FUN_1400dc1c0 96 ok +0x1400dc230 FUN_1400dc230 153 ok +0x1400dc2d0 FUN_1400dc2d0 162 ok +0x1400dc3d0 FUN_1400dc3d0 236 ok +0x1400dc4d0 FUN_1400dc4d0 73 ok +0x1400dc520 FUN_1400dc520 212 ok +0x1400dc600 FUN_1400dc600 166 ok +0x1400dc6b0 FUN_1400dc6b0 121 ok +0x1400dc730 FUN_1400dc730 350 ok +0x1400dc890 FUN_1400dc890 33 ok +0x1400dc8c0 FUN_1400dc8c0 42 ok +0x1400dc8f0 FUN_1400dc8f0 216 ok +0x1400dc9d0 FUN_1400dc9d0 177 ok +0x1400dca90 FUN_1400dca90 223 ok +0x1400dcb80 FUN_1400dcb80 332 ok +0x1400dcf00 FUN_1400dcf00 650 ok +0x1400dd190 FUN_1400dd190 578 ok +0x1400dd3e0 FUN_1400dd3e0 229 ok +0x1400dd4d0 FUN_1400dd4d0 135 ok +0x1400dd560 FUN_1400dd560 359 ok +0x1400dd6d0 FUN_1400dd6d0 2527 ok +0x1400de0c0 FUN_1400de0c0 658 ok +0x1400de360 FUN_1400de360 179 ok +0x1400de420 FUN_1400de420 62 ok +0x1400de470 FUN_1400de470 62 ok +0x1400de4b0 FUN_1400de4b0 111 ok +0x1400de550 FUN_1400de550 219 ok +0x1400de640 FUN_1400de640 103 ok +0x1400de6b0 FUN_1400de6b0 54 ok +0x1400de6f0 FUN_1400de6f0 37 ok +0x1400de720 FUN_1400de720 354 ok +0x1400de890 FUN_1400de890 260 ok +0x1400de9a0 FUN_1400de9a0 74 ok +0x1400de9f0 FUN_1400de9f0 356 ok +0x1400deb60 FUN_1400deb60 288 ok +0x1400dec90 Unwind@1400dec90 14 ok +0x1400deca0 Unwind@1400deca0 12 ok +0x1400decb0 Unwind@1400decb0 12 ok +0x1400decc0 Unwind@1400decc0 12 ok +0x1400decd0 Unwind@1400decd0 12 ok +0x1400dece0 Unwind@1400dece0 14 ok +0x1400decf0 Unwind@1400decf0 16 ok +0x1400ded00 Unwind@1400ded00 12 ok +0x1400ded10 Unwind@1400ded10 12 ok +0x1400ded20 Unwind@1400ded20 12 ok +0x1400ded30 Unwind@1400ded30 14 ok +0x1400ded40 Unwind@1400ded40 16 ok +0x1400ded50 Unwind@1400ded50 14 ok +0x1400ded60 Unwind@1400ded60 16 ok +0x1400ded70 Unwind@1400ded70 12 ok +0x1400ded80 Unwind@1400ded80 22 ok +0x1400deda0 Unwind@1400deda0 22 ok +0x1400dedc0 Unwind@1400dedc0 22 ok +0x1400dede0 Unwind@1400dede0 12 ok +0x1400dedf0 Unwind@1400dedf0 12 ok +0x1400dee00 Unwind@1400dee00 22 ok +0x1400dee20 Unwind@1400dee20 29 ok +0x1400dee40 Unwind@1400dee40 12 ok +0x1400dee50 Unwind@1400dee50 12 ok +0x1400dee60 Unwind@1400dee60 22 ok +0x1400dee80 Unwind@1400dee80 12 ok +0x1400dee90 Unwind@1400dee90 12 ok +0x1400deea0 Unwind@1400deea0 12 ok +0x1400deeb0 Unwind@1400deeb0 12 ok +0x1400deec0 Catch_All@1400deec0 33 ok +0x1400deef0 Unwind@1400deef0 12 ok +0x1400def00 Unwind@1400def00 12 ok +0x1400def10 Unwind@1400def10 12 ok +0x1400def20 Unwind@1400def20 16 ok +0x1400def30 Unwind@1400def30 16 ok +0x1400def40 Unwind@1400def40 16 ok +0x1400def50 Unwind@1400def50 16 ok +0x1400def60 Unwind@1400def60 16 ok +0x1400def70 Unwind@1400def70 19 ok +0x1400def90 Unwind@1400def90 38 ok +0x1400defc0 Unwind@1400defc0 29 ok +0x1400defe0 Unwind@1400defe0 12 ok +0x1400deff0 Unwind@1400deff0 12 ok +0x1400df000 Unwind@1400df000 12 ok +0x1400df010 Unwind@1400df010 12 ok +0x1400df020 Unwind@1400df020 12 ok +0x1400df030 Unwind@1400df030 12 ok +0x1400df040 Unwind@1400df040 12 ok +0x1400df050 Unwind@1400df050 12 ok +0x1400df060 Unwind@1400df060 12 ok +0x1400df070 Unwind@1400df070 12 ok +0x1400df080 Unwind@1400df080 12 ok +0x1400df090 Unwind@1400df090 12 ok +0x1400df0a0 Unwind@1400df0a0 12 ok +0x1400df0b0 Unwind@1400df0b0 12 ok +0x1400df0c0 Unwind@1400df0c0 12 ok +0x1400df0d0 Unwind@1400df0d0 12 ok +0x1400df0e0 Unwind@1400df0e0 12 ok +0x1400df0f0 Unwind@1400df0f0 12 ok +0x1400df100 Unwind@1400df100 12 ok +0x1400df110 Catch@1400df110 60 ok +0x1400df150 Unwind@1400df150 12 ok +0x1400df160 Unwind@1400df160 22 ok +0x1400df180 Unwind@1400df180 12 ok +0x1400df190 Unwind@1400df190 29 ok +0x1400df1b0 Unwind@1400df1b0 12 ok +0x1400df1c0 Unwind@1400df1c0 22 ok +0x1400df1e0 Unwind@1400df1e0 39 ok +0x1400df210 Unwind@1400df210 12 ok +0x1400df220 Unwind@1400df220 45 ok +0x1400df250 Unwind@1400df250 12 ok +0x1400df260 Unwind@1400df260 12 ok +0x1400df270 Unwind@1400df270 38 ok +0x1400df2a0 Unwind@1400df2a0 12 ok +0x1400df2b0 Unwind@1400df2b0 38 ok +0x1400df2e0 Unwind@1400df2e0 38 ok +0x1400df310 Unwind@1400df310 12 ok +0x1400df320 Unwind@1400df320 12 ok +0x1400df330 Unwind@1400df330 12 ok +0x1400df340 Unwind@1400df340 12 ok +0x1400df350 Unwind@1400df350 12 ok +0x1400df360 Unwind@1400df360 12 ok +0x1400df370 Unwind@1400df370 12 ok +0x1400df380 Unwind@1400df380 12 ok +0x1400df390 Unwind@1400df390 12 ok +0x1400df3a0 Unwind@1400df3a0 12 ok +0x1400df3b0 Unwind@1400df3b0 12 ok +0x1400df3c0 Unwind@1400df3c0 22 ok +0x1400df3e0 Unwind@1400df3e0 12 ok +0x1400df3f0 Unwind@1400df3f0 12 ok +0x1400df400 Unwind@1400df400 12 ok +0x1400df410 Unwind@1400df410 12 ok +0x1400df420 Unwind@1400df420 12 ok +0x1400df430 Unwind@1400df430 16 ok +0x1400df440 Unwind@1400df440 19 ok +0x1400df460 Unwind@1400df460 19 ok +0x1400df480 Unwind@1400df480 19 ok +0x1400df4a0 Unwind@1400df4a0 12 ok +0x1400df4b0 Unwind@1400df4b0 16 ok +0x1400df4c0 Unwind@1400df4c0 19 ok +0x1400df4e0 Unwind@1400df4e0 19 ok +0x1400df500 Unwind@1400df500 19 ok +0x1400df520 Unwind@1400df520 12 ok +0x1400df530 Unwind@1400df530 12 ok +0x1400df540 Unwind@1400df540 12 ok +0x1400df550 Unwind@1400df550 12 ok +0x1400df560 Unwind@1400df560 12 ok +0x1400df570 Unwind@1400df570 12 ok +0x1400df580 Unwind@1400df580 12 ok +0x1400df590 Unwind@1400df590 12 ok +0x1400df5a0 Unwind@1400df5a0 12 ok +0x1400df5b0 Unwind@1400df5b0 16 ok +0x1400df5c0 Unwind@1400df5c0 12 ok +0x1400df5d0 Unwind@1400df5d0 12 ok +0x1400df5e0 Unwind@1400df5e0 12 ok +0x1400df5f0 Unwind@1400df5f0 38 ok +0x1400df620 Unwind@1400df620 12 ok +0x1400df630 Unwind@1400df630 12 ok +0x1400df640 Unwind@1400df640 12 ok +0x1400df650 Unwind@1400df650 16 ok +0x1400df660 Unwind@1400df660 12 ok +0x1400df670 Unwind@1400df670 22 ok +0x1400df690 Unwind@1400df690 12 ok +0x1400df6a0 Unwind@1400df6a0 12 ok +0x1400df6b0 Unwind@1400df6b0 12 ok +0x1400df6c0 Unwind@1400df6c0 12 ok +0x1400df6d0 Unwind@1400df6d0 12 ok +0x1400df6e0 Unwind@1400df6e0 12 ok +0x1400df6f0 Unwind@1400df6f0 12 ok +0x1400df700 Unwind@1400df700 12 ok +0x1400df710 Unwind@1400df710 12 ok +0x1400df720 Unwind@1400df720 12 ok +0x1400df730 Unwind@1400df730 12 ok +0x1400df740 Unwind@1400df740 12 ok +0x1400df750 Unwind@1400df750 16 ok +0x1400df760 Unwind@1400df760 16 ok +0x1400df770 Unwind@1400df770 19 ok +0x1400df790 Unwind@1400df790 16 ok +0x1400df7a0 Unwind@1400df7a0 16 ok +0x1400df7b0 Unwind@1400df7b0 19 ok +0x1400df7d0 Unwind@1400df7d0 12 ok +0x1400df7e0 Unwind@1400df7e0 12 ok +0x1400df7f0 Unwind@1400df7f0 12 ok +0x1400df800 Unwind@1400df800 12 ok +0x1400df810 Unwind@1400df810 22 ok +0x1400df830 Catch_All@1400df830 26 ok +0x1400df84b FUN_1400df84b 26 ok +0x1400df866 FUN_1400df866 29 ok +0x1400df884 `void___cdecl___ArrayUnwind(void*___ptr64,unsigned___int64,int,void_(__cdecl*)(void*___ptr64))'::__l1 filt$0 63 ok +0x1400df8c5 `void___cdecl_`eh_vector_destructor_iterator'(void*___ptr64,unsigned___int64,int,void_(__cdecl*)(void*___ptr64))'::__l1 fin$0 43 ok +0x1400df900 FUN_1400df900 33 ok +0x1400df930 Unwind@1400df930 12 ok +0x1400df940 Unwind@1400df940 16 ok +0x1400df950 Unwind@1400df950 16 ok +0x1400df960 Unwind@1400df960 19 ok +0x1400df980 Unwind@1400df980 12 ok +0x1400df990 Unwind@1400df990 22 ok +0x1400df9b0 Unwind@1400df9b0 16 ok +0x1400df9c0 Unwind@1400df9c0 16 ok +0x1400df9d0 Unwind@1400df9d0 29 ok +0x1400df9f0 Unwind@1400df9f0 38 ok +0x1400dfa20 Unwind@1400dfa20 47 ok +0x1400dfa50 Unwind@1400dfa50 12 ok +0x1400dfa60 Unwind@1400dfa60 12 ok +0x1400dfa70 Unwind@1400dfa70 12 ok +0x1400dfa80 Unwind@1400dfa80 12 ok +0x1400dfa90 Unwind@1400dfa90 12 ok +0x1400dfaa0 Unwind@1400dfaa0 12 ok +0x1400dfab0 Unwind@1400dfab0 12 ok +0x1400dfac0 Unwind@1400dfac0 12 ok +0x1400dfad0 Unwind@1400dfad0 12 ok +0x1400dfae0 Unwind@1400dfae0 12 ok +0x1400dfaf0 Unwind@1400dfaf0 12 ok +0x1400dfb00 Unwind@1400dfb00 12 ok +0x1400dfb10 Unwind@1400dfb10 12 ok +0x1400dfb20 Unwind@1400dfb20 12 ok +0x1400dfb30 Unwind@1400dfb30 12 ok +0x1400dfb40 Unwind@1400dfb40 12 ok +0x1400dfb50 Unwind@1400dfb50 19 ok +0x1400dfb70 Unwind@1400dfb70 12 ok +0x1400dfb80 Unwind@1400dfb80 28 ok +0x1400dfba0 Unwind@1400dfba0 19 ok +0x1400dfbc0 Unwind@1400dfbc0 12 ok +0x1400dfbd0 Catch_All@1400dfbd0 26 ok +0x1400dfbf0 Unwind@1400dfbf0 19 ok +0x1400dfc10 Unwind@1400dfc10 12 ok +0x1400dfc20 Unwind@1400dfc20 12 ok +0x1400dfc30 Unwind@1400dfc30 12 ok +0x1400dfc40 Unwind@1400dfc40 12 ok +0x1400dfc50 Unwind@1400dfc50 12 ok +0x1400dfc60 Unwind@1400dfc60 12 ok +0x1400dfc70 Unwind@1400dfc70 12 ok +0x1400dfc80 Unwind@1400dfc80 12 ok +0x1400dfc90 Unwind@1400dfc90 12 ok +0x1400dfca0 Unwind@1400dfca0 16 ok +0x1400dfcb0 Unwind@1400dfcb0 16 ok +0x1400dfcc0 Unwind@1400dfcc0 12 ok +0x1400dfcd0 Unwind@1400dfcd0 12 ok +0x1400dfce0 Catch_All@1400dfce0 26 ok +0x1400dfd00 Catch_All@1400dfd00 26 ok +0x1400dfd20 Unwind@1400dfd20 12 ok +0x1400dfd30 Unwind@1400dfd30 12 ok +0x1400dfd40 Unwind@1400dfd40 38 ok +0x1400dfd70 Unwind@1400dfd70 16 ok +0x1400dfd80 Unwind@1400dfd80 16 ok +0x1400dfd90 Unwind@1400dfd90 12 ok +0x1400dfda0 Unwind@1400dfda0 12 ok +0x1400dfdb0 Unwind@1400dfdb0 12 ok +0x1400dfdc0 Unwind@1400dfdc0 12 ok +0x1400dfdd0 Unwind@1400dfdd0 12 ok +0x1400dfde0 Unwind@1400dfde0 12 ok +0x1400dfdf0 Unwind@1400dfdf0 12 ok +0x1400dfe00 Unwind@1400dfe00 12 ok +0x1400dfe10 Unwind@1400dfe10 12 ok +0x1400dfe20 Unwind@1400dfe20 12 ok +0x1400dfe30 Unwind@1400dfe30 12 ok +0x1400dfe40 Unwind@1400dfe40 12 ok +0x1400dfe50 Unwind@1400dfe50 12 ok +0x1400dfe60 Unwind@1400dfe60 12 ok +0x1400dfe70 Unwind@1400dfe70 12 ok +0x1400dfe80 Unwind@1400dfe80 12 ok +0x1400dfe90 Unwind@1400dfe90 12 ok +0x1400dfea0 Unwind@1400dfea0 12 ok +0x1400dfeb0 Unwind@1400dfeb0 12 ok +0x1400dfec0 Unwind@1400dfec0 12 ok +0x1400dfed0 Unwind@1400dfed0 12 ok +0x1400dfee0 Unwind@1400dfee0 12 ok +0x1400dfef0 Unwind@1400dfef0 12 ok +0x1400dff00 Unwind@1400dff00 12 ok +0x1400dff10 Unwind@1400dff10 12 ok +0x1400dff20 Unwind@1400dff20 12 ok +0x1400dff30 Unwind@1400dff30 12 ok +0x1400dff40 Unwind@1400dff40 12 ok +0x1400dff50 Unwind@1400dff50 12 ok +0x1400dff60 Unwind@1400dff60 12 ok +0x1400dff70 Unwind@1400dff70 12 ok +0x1400dff80 Unwind@1400dff80 12 ok +0x1400dff90 Unwind@1400dff90 12 ok +0x1400dffa0 Unwind@1400dffa0 12 ok +0x1400dffb0 Unwind@1400dffb0 12 ok +0x1400dffc0 Unwind@1400dffc0 12 ok +0x1400dffd0 Unwind@1400dffd0 12 ok +0x1400dffe0 Unwind@1400dffe0 12 ok +0x1400dfff0 Unwind@1400dfff0 12 ok +0x1400e0000 Unwind@1400e0000 12 ok +0x1400e0010 Unwind@1400e0010 12 ok +0x1400e0020 Unwind@1400e0020 12 ok +0x1400e0030 Unwind@1400e0030 12 ok +0x1400e0040 Unwind@1400e0040 12 ok +0x1400e0050 Unwind@1400e0050 12 ok +0x1400e0060 Unwind@1400e0060 12 ok +0x1400e0070 Unwind@1400e0070 12 ok +0x1400e0080 Unwind@1400e0080 12 ok +0x1400e0090 Unwind@1400e0090 12 ok +0x1400e00a0 Unwind@1400e00a0 12 ok +0x1400e00b0 Unwind@1400e00b0 12 ok +0x1400e00c0 Unwind@1400e00c0 12 ok +0x1400e00d0 Unwind@1400e00d0 12 ok +0x1400e00e0 Unwind@1400e00e0 12 ok +0x1400e00f0 Unwind@1400e00f0 12 ok +0x1400e0100 Unwind@1400e0100 12 ok +0x1400e0110 Unwind@1400e0110 12 ok +0x1400e0120 Unwind@1400e0120 12 ok +0x1400e0130 Unwind@1400e0130 12 ok +0x1400e0140 Unwind@1400e0140 12 ok +0x1400e0150 Unwind@1400e0150 12 ok +0x1400e0160 Unwind@1400e0160 12 ok +0x1400e0170 Unwind@1400e0170 12 ok +0x1400e0180 Unwind@1400e0180 12 ok +0x1400e0190 Unwind@1400e0190 12 ok +0x1400e01a0 Unwind@1400e01a0 12 ok +0x1400e01b0 Unwind@1400e01b0 12 ok +0x1400e01c0 Unwind@1400e01c0 12 ok +0x1400e01d0 Unwind@1400e01d0 12 ok +0x1400e01e0 Unwind@1400e01e0 12 ok +0x1400e01f0 Unwind@1400e01f0 12 ok +0x1400e0200 Unwind@1400e0200 12 ok +0x1400e0210 Unwind@1400e0210 12 ok +0x1400e0220 Unwind@1400e0220 12 ok +0x1400e0230 Unwind@1400e0230 12 ok +0x1400e0240 Unwind@1400e0240 12 ok +0x1400e0250 Unwind@1400e0250 12 ok +0x1400e0260 Unwind@1400e0260 12 ok +0x1400e0270 Unwind@1400e0270 12 ok +0x1400e0280 Unwind@1400e0280 12 ok +0x1400e0290 Unwind@1400e0290 12 ok +0x1400e02a0 Unwind@1400e02a0 12 ok +0x1400e02b0 Unwind@1400e02b0 12 ok +0x1400e02c0 Unwind@1400e02c0 12 ok +0x1400e02d0 Unwind@1400e02d0 12 ok +0x1400e02e0 Unwind@1400e02e0 12 ok +0x1400e02f0 Unwind@1400e02f0 12 ok +0x1400e0300 Unwind@1400e0300 12 ok +0x1400e0310 Unwind@1400e0310 12 ok +0x1400e0320 Unwind@1400e0320 12 ok +0x1400e0330 Unwind@1400e0330 12 ok +0x1400e0340 Unwind@1400e0340 12 ok +0x1400e0350 Unwind@1400e0350 12 ok +0x1400e0360 Unwind@1400e0360 12 ok +0x1400e0370 Unwind@1400e0370 12 ok +0x1400e0380 Unwind@1400e0380 12 ok +0x1400e0390 Unwind@1400e0390 12 ok +0x1400e03a0 Unwind@1400e03a0 12 ok +0x1400e03b0 Unwind@1400e03b0 12 ok +0x1400e03c0 Unwind@1400e03c0 12 ok +0x1400e03d0 Unwind@1400e03d0 12 ok +0x1400e03e0 Unwind@1400e03e0 12 ok +0x1400e03f0 Unwind@1400e03f0 12 ok +0x1400e0400 Unwind@1400e0400 12 ok +0x1400e0410 Unwind@1400e0410 12 ok +0x1400e0420 Unwind@1400e0420 12 ok +0x1400e0430 Unwind@1400e0430 12 ok +0x1400e0440 Unwind@1400e0440 12 ok +0x1400e0450 Unwind@1400e0450 19 ok +0x1400e0470 Unwind@1400e0470 12 ok +0x1400e0480 Unwind@1400e0480 19 ok +0x1400e04a0 Unwind@1400e04a0 16 ok +0x1400e04b0 Unwind@1400e04b0 12 ok +0x1400e04c0 Unwind@1400e04c0 12 ok +0x1400e04d0 Unwind@1400e04d0 19 ok +0x1400e04f0 Unwind@1400e04f0 12 ok +0x1400e0500 Unwind@1400e0500 19 ok +0x1400e0520 Unwind@1400e0520 16 ok +0x1400e0530 Unwind@1400e0530 12 ok +0x1400e0540 Unwind@1400e0540 12 ok +0x1400e0550 Unwind@1400e0550 12 ok +0x1400e0560 Unwind@1400e0560 12 ok +0x1400e0570 Unwind@1400e0570 12 ok +0x1400e0580 Unwind@1400e0580 12 ok +0x1400e0590 Unwind@1400e0590 12 ok +0x1400e05a0 Unwind@1400e05a0 12 ok +0x1400e05b0 Unwind@1400e05b0 12 ok +0x1400e05c0 Unwind@1400e05c0 12 ok +0x1400e05d0 Unwind@1400e05d0 12 ok +0x1400e05e0 Unwind@1400e05e0 12 ok +0x1400e05f0 Unwind@1400e05f0 19 ok +0x1400e0610 Unwind@1400e0610 12 ok +0x1400e0620 Unwind@1400e0620 19 ok +0x1400e0640 Unwind@1400e0640 16 ok +0x1400e0650 Catch@1400e0650 56 ok +0x1400e0690 Catch@1400e0690 56 ok +0x1400e06d0 Catch@1400e06d0 55 ok +0x1400e0710 Unwind@1400e0710 12 ok +0x1400e0720 Unwind@1400e0720 16 ok +0x1400e0730 Unwind@1400e0730 12 ok +0x1400e0740 Unwind@1400e0740 12 ok +0x1400e0750 Unwind@1400e0750 12 ok +0x1400e0760 Unwind@1400e0760 12 ok +0x1400e0770 Unwind@1400e0770 19 ok +0x1400e0790 Unwind@1400e0790 12 ok +0x1400e07a0 Unwind@1400e07a0 19 ok +0x1400e07c0 Unwind@1400e07c0 16 ok +0x1400e07d0 Unwind@1400e07d0 12 ok +0x1400e07e0 Unwind@1400e07e0 12 ok +0x1400e07f0 Unwind@1400e07f0 12 ok +0x1400e0800 Unwind@1400e0800 12 ok +0x1400e0810 Unwind@1400e0810 12 ok +0x1400e0820 Unwind@1400e0820 12 ok +0x1400e0830 Unwind@1400e0830 12 ok +0x1400e0840 Unwind@1400e0840 12 ok +0x1400e0850 Unwind@1400e0850 12 ok +0x1400e0860 Unwind@1400e0860 12 ok +0x1400e0870 Unwind@1400e0870 42 ok +0x1400e08a0 Unwind@1400e08a0 48 ok +0x1400e08d0 Unwind@1400e08d0 48 ok +0x1400e0900 Unwind@1400e0900 14 ok +0x1400e0910 Unwind@1400e0910 47 ok +0x1400e0940 Unwind@1400e0940 12 ok +0x1400e0950 Unwind@1400e0950 16 ok +0x1400e0960 Unwind@1400e0960 12 ok +0x1400e0970 Unwind@1400e0970 16 ok +0x1400e0980 Unwind@1400e0980 12 ok +0x1400e0990 Unwind@1400e0990 12 ok +0x1400e09a0 Unwind@1400e09a0 12 ok +0x1400e09b0 Unwind@1400e09b0 12 ok +0x1400e09c0 Unwind@1400e09c0 12 ok +0x1400e09d0 Unwind@1400e09d0 12 ok +0x1400e09e0 Unwind@1400e09e0 12 ok +0x1400e09f0 Unwind@1400e09f0 12 ok +0x1400e0a00 Unwind@1400e0a00 12 ok +0x1400e0a10 Unwind@1400e0a10 12 ok +0x1400e0a20 Unwind@1400e0a20 12 ok +0x1400e0a30 Unwind@1400e0a30 19 ok +0x1400e0a50 Unwind@1400e0a50 12 ok +0x1400e0a60 Unwind@1400e0a60 19 ok +0x1400e0a80 Unwind@1400e0a80 16 ok +0x1400e0a90 Unwind@1400e0a90 12 ok +0x1400e0aa0 Unwind@1400e0aa0 28 ok +0x1400e0ac0 Unwind@1400e0ac0 12 ok +0x1400e0ad0 Unwind@1400e0ad0 12 ok +0x1400e0ae0 Unwind@1400e0ae0 28 ok +0x1400e0b00 Unwind@1400e0b00 12 ok +0x1400e0b10 Unwind@1400e0b10 38 ok +0x1400e0b40 Unwind@1400e0b40 14 ok +0x1400e0b50 Unwind@1400e0b50 12 ok +0x1400e0b60 Unwind@1400e0b60 14 ok +0x1400e0b70 Unwind@1400e0b70 12 ok +0x1400e0b80 Unwind@1400e0b80 12 ok +0x1400e0b90 Unwind@1400e0b90 12 ok +0x1400e0ba0 Unwind@1400e0ba0 12 ok +0x1400e0bb0 Unwind@1400e0bb0 12 ok +0x1400e0bc0 Unwind@1400e0bc0 12 ok +0x1400e0bd0 Unwind@1400e0bd0 12 ok +0x1400e0be0 Unwind@1400e0be0 12 ok +0x1400e0bf0 Unwind@1400e0bf0 12 ok +0x1400e0c00 Unwind@1400e0c00 12 ok +0x1400e0c10 Unwind@1400e0c10 12 ok +0x1400e0c20 Unwind@1400e0c20 12 ok +0x1400e0c30 Unwind@1400e0c30 12 ok +0x1400e0c40 Unwind@1400e0c40 12 ok +0x1400e0c50 Unwind@1400e0c50 12 ok +0x1400e0c60 Unwind@1400e0c60 12 ok +0x1400e0c70 Unwind@1400e0c70 12 ok +0x1400e0c80 Unwind@1400e0c80 12 ok +0x1400e0c90 Unwind@1400e0c90 12 ok +0x1400e0ca0 Unwind@1400e0ca0 12 ok +0x1400e0cb0 Unwind@1400e0cb0 12 ok +0x1400e0cc0 Unwind@1400e0cc0 19 ok +0x1400e0ce0 Unwind@1400e0ce0 12 ok +0x1400e0cf0 Unwind@1400e0cf0 12 ok +0x1400e0d00 Unwind@1400e0d00 12 ok +0x1400e0d10 Unwind@1400e0d10 12 ok +0x1400e0d20 Unwind@1400e0d20 12 ok +0x1400e0d30 Unwind@1400e0d30 12 ok +0x1400e0d40 Unwind@1400e0d40 12 ok +0x1400e0d50 Unwind@1400e0d50 12 ok +0x1400e0d60 Unwind@1400e0d60 12 ok +0x1400e0d70 Unwind@1400e0d70 12 ok +0x1400e0d80 Unwind@1400e0d80 12 ok +0x1400e0d90 Unwind@1400e0d90 12 ok +0x1400e0da0 Unwind@1400e0da0 12 ok +0x1400e0db0 Unwind@1400e0db0 12 ok +0x1400e0dc0 Unwind@1400e0dc0 12 ok +0x1400e0dd0 Catch_All@1400e0dd0 26 ok +0x1400e0df0 Unwind@1400e0df0 19 ok +0x1400e0e10 Unwind@1400e0e10 32 ok +0x1400e0e30 Unwind@1400e0e30 12 ok +0x1400e0e40 Unwind@1400e0e40 12 ok +0x1400e0e50 Unwind@1400e0e50 12 ok +0x1400e0e60 Unwind@1400e0e60 12 ok +0x1400e0e70 Unwind@1400e0e70 12 ok +0x1400e0e80 Unwind@1400e0e80 12 ok +0x1400e0e90 Unwind@1400e0e90 12 ok +0x1400e0ea0 Unwind@1400e0ea0 12 ok +0x1400e0eb0 Unwind@1400e0eb0 12 ok +0x1400e0ec0 Unwind@1400e0ec0 36 ok +0x1400e0ef0 Unwind@1400e0ef0 36 ok +0x1400e0f20 Catch_All@1400e0f20 26 ok +0x1400e0f40 Unwind@1400e0f40 12 ok +0x1400e0f50 Unwind@1400e0f50 12 ok +0x1400e0f60 Unwind@1400e0f60 29 ok +0x1400e0f80 Unwind@1400e0f80 12 ok +0x1400e0f90 Unwind@1400e0f90 12 ok +0x1400e0fa0 Unwind@1400e0fa0 12 ok +0x1400e0fb0 Unwind@1400e0fb0 12 ok +0x1400e0fc0 Unwind@1400e0fc0 12 ok +0x1400e0fd0 Unwind@1400e0fd0 12 ok +0x1400e0fe0 Unwind@1400e0fe0 12 ok +0x1400e0ff0 Unwind@1400e0ff0 12 ok +0x1400e1000 Unwind@1400e1000 12 ok +0x1400e1010 Unwind@1400e1010 12 ok +0x1400e1020 Unwind@1400e1020 12 ok +0x1400e1030 Unwind@1400e1030 29 ok +0x1400e1050 Unwind@1400e1050 12 ok +0x1400e1060 Unwind@1400e1060 12 ok +0x1400e1070 Unwind@1400e1070 12 ok +0x1400e1080 Unwind@1400e1080 12 ok +0x1400e1090 Unwind@1400e1090 12 ok +0x1400e10a0 Unwind@1400e10a0 12 ok +0x1400e10b0 Unwind@1400e10b0 12 ok +0x1400e10c0 Unwind@1400e10c0 12 ok +0x1400e10d0 Unwind@1400e10d0 12 ok +0x1400e10e0 Unwind@1400e10e0 19 ok +0x1400e1100 Unwind@1400e1100 12 ok +0x1400e1110 Unwind@1400e1110 19 ok +0x1400e1130 Unwind@1400e1130 16 ok +0x1400e1140 Unwind@1400e1140 12 ok +0x1400e1150 Unwind@1400e1150 12 ok +0x1400e1160 Unwind@1400e1160 12 ok +0x1400e1170 Unwind@1400e1170 19 ok +0x1400e1190 Unwind@1400e1190 12 ok +0x1400e11a0 Unwind@1400e11a0 16 ok +0x1400e11b0 Unwind@1400e11b0 12 ok +0x1400e11c0 Unwind@1400e11c0 12 ok +0x1400e11d0 Unwind@1400e11d0 12 ok +0x1400e11e0 Unwind@1400e11e0 12 ok +0x1400e11f0 Unwind@1400e11f0 12 ok +0x1400e1200 Unwind@1400e1200 12 ok +0x1400e1210 Unwind@1400e1210 12 ok +0x1400e1220 Unwind@1400e1220 12 ok +0x1400e1230 Unwind@1400e1230 12 ok +0x1400e1240 Unwind@1400e1240 12 ok +0x1400e1250 Unwind@1400e1250 12 ok +0x1400e1260 Unwind@1400e1260 12 ok +0x1400e1270 Unwind@1400e1270 12 ok +0x1400e1280 Unwind@1400e1280 12 ok +0x1400e1290 Unwind@1400e1290 12 ok +0x1400e12a0 Unwind@1400e12a0 12 ok +0x1400e12b0 Unwind@1400e12b0 12 ok +0x1400e12c0 Unwind@1400e12c0 12 ok +0x1400e12d0 Unwind@1400e12d0 12 ok +0x1400e12e0 Unwind@1400e12e0 12 ok +0x1400e12f0 Unwind@1400e12f0 12 ok +0x1400e1300 Unwind@1400e1300 12 ok +0x1400e1310 Unwind@1400e1310 12 ok +0x1400e1320 Unwind@1400e1320 12 ok +0x1400e1330 Unwind@1400e1330 12 ok +0x1400e1340 Unwind@1400e1340 12 ok +0x1400e1350 Unwind@1400e1350 12 ok +0x1400e1360 Unwind@1400e1360 12 ok +0x1400e1370 Unwind@1400e1370 12 ok +0x1400e1380 Unwind@1400e1380 12 ok +0x1400e1390 Unwind@1400e1390 12 ok +0x1400e13a0 Unwind@1400e13a0 16 ok +0x1400e13b0 Unwind@1400e13b0 16 ok +0x1400e13c0 Unwind@1400e13c0 16 ok +0x1400e13d0 Unwind@1400e13d0 16 ok +0x1400e13e0 Unwind@1400e13e0 16 ok +0x1400e13f0 Unwind@1400e13f0 16 ok +0x1400e1400 Unwind@1400e1400 16 ok +0x1400e1410 Unwind@1400e1410 16 ok +0x1400e1420 Unwind@1400e1420 16 ok +0x1400e1430 Unwind@1400e1430 16 ok +0x1400e1440 Unwind@1400e1440 16 ok +0x1400e1450 Unwind@1400e1450 16 ok +0x1400e1460 Unwind@1400e1460 16 ok +0x1400e1470 Unwind@1400e1470 38 ok +0x1400e14a0 Unwind@1400e14a0 12 ok +0x1400e14b0 Unwind@1400e14b0 12 ok +0x1400e14c0 Unwind@1400e14c0 12 ok +0x1400e14d0 Unwind@1400e14d0 12 ok +0x1400e14e0 Unwind@1400e14e0 12 ok +0x1400e14f0 Unwind@1400e14f0 19 ok +0x1400e1510 Unwind@1400e1510 12 ok +0x1400e1520 Unwind@1400e1520 19 ok +0x1400e1540 Unwind@1400e1540 12 ok +0x1400e1550 Unwind@1400e1550 12 ok +0x1400e1560 Unwind@1400e1560 12 ok +0x1400e1570 Unwind@1400e1570 16 ok +0x1400e1580 Unwind@1400e1580 16 ok +0x1400e1590 Unwind@1400e1590 16 ok +0x1400e15a0 Unwind@1400e15a0 16 ok +0x1400e15b0 Unwind@1400e15b0 16 ok +0x1400e15c0 Unwind@1400e15c0 16 ok +0x1400e15d0 Unwind@1400e15d0 16 ok +0x1400e15e0 Unwind@1400e15e0 16 ok +0x1400e15f0 Unwind@1400e15f0 12 ok +0x1400e1600 Unwind@1400e1600 32 ok +0x1400e1620 Unwind@1400e1620 31 ok +0x1400e1640 Unwind@1400e1640 12 ok +0x1400e1650 Unwind@1400e1650 12 ok +0x1400e1660 Unwind@1400e1660 12 ok +0x1400e1670 Unwind@1400e1670 12 ok +0x1400e1680 Unwind@1400e1680 12 ok +0x1400e1690 Unwind@1400e1690 12 ok +0x1400e16a0 Unwind@1400e16a0 12 ok +0x1400e16b0 Unwind@1400e16b0 12 ok +0x1400e16c0 Unwind@1400e16c0 19 ok +0x1400e16e0 Unwind@1400e16e0 12 ok +0x1400e16f0 Unwind@1400e16f0 19 ok +0x1400e1710 Unwind@1400e1710 16 ok +0x1400e1720 Unwind@1400e1720 16 ok +0x1400e1730 Unwind@1400e1730 16 ok +0x1400e1740 Unwind@1400e1740 12 ok +0x1400e1750 Unwind@1400e1750 12 ok +0x1400e1760 Unwind@1400e1760 12 ok +0x1400e1770 Unwind@1400e1770 16 ok +0x1400e1780 Unwind@1400e1780 16 ok +0x1400e1790 Unwind@1400e1790 16 ok +0x1400e17a0 Unwind@1400e17a0 16 ok +0x1400e17b0 Unwind@1400e17b0 16 ok +0x1400e17c0 Unwind@1400e17c0 16 ok +0x1400e17d0 Unwind@1400e17d0 16 ok +0x1400e17e0 Unwind@1400e17e0 12 ok +0x1400e17f0 Unwind@1400e17f0 12 ok +0x1400e1800 Unwind@1400e1800 12 ok +0x1400e1810 Unwind@1400e1810 12 ok +0x1400e1820 Unwind@1400e1820 12 ok +0x1400e1830 Unwind@1400e1830 12 ok +0x1400e1840 Unwind@1400e1840 12 ok +0x1400e1850 Unwind@1400e1850 12 ok +0x1400e1860 Unwind@1400e1860 12 ok +0x1400e1870 Catch@1400e1870 103 ok +0x1400e18e0 Unwind@1400e18e0 12 ok +0x1400e18f0 Catch@1400e18f0 103 ok +0x1400e1960 Unwind@1400e1960 12 ok +0x1400e1970 Catch@1400e1970 103 ok +0x1400e19e0 Unwind@1400e19e0 12 ok +0x1400e19f0 Catch_All@1400e19f0 26 ok +0x1400e1a10 Unwind@1400e1a10 16 ok +0x1400e1a20 Unwind@1400e1a20 12 ok +0x1400e1a30 Unwind@1400e1a30 12 ok +0x1400e1a40 Unwind@1400e1a40 28 ok +0x1400e1a60 Unwind@1400e1a60 16 ok +0x1400e1a70 Unwind@1400e1a70 12 ok +0x1400e1a80 Unwind@1400e1a80 12 ok +0x1400e1a90 Unwind@1400e1a90 12 ok +0x1400e1aa0 Unwind@1400e1aa0 12 ok +0x1400e1ab0 Unwind@1400e1ab0 12 ok +0x1400e1ac0 Unwind@1400e1ac0 16 ok +0x1400e1ad0 Unwind@1400e1ad0 16 ok +0x1400e1ae0 Unwind@1400e1ae0 16 ok +0x1400e1af0 Unwind@1400e1af0 12 ok +0x1400e1b00 Unwind@1400e1b00 12 ok +0x1400e1b10 Unwind@1400e1b10 16 ok +0x1400e1b20 Unwind@1400e1b20 16 ok +0x1400e1b30 Unwind@1400e1b30 16 ok +0x1400e1b40 Unwind@1400e1b40 12 ok +0x1400e1b50 Unwind@1400e1b50 12 ok +0x1400e1b60 Unwind@1400e1b60 12 ok +0x1400e1b70 Unwind@1400e1b70 12 ok +0x1400e1b80 Unwind@1400e1b80 19 ok +0x1400e1ba0 Unwind@1400e1ba0 12 ok +0x1400e1bb0 Unwind@1400e1bb0 19 ok +0x1400e1bd0 Unwind@1400e1bd0 12 ok +0x1400e1be0 Unwind@1400e1be0 19 ok +0x1400e1c00 Unwind@1400e1c00 16 ok +0x1400e1c10 Unwind@1400e1c10 12 ok +0x1400e1c20 Unwind@1400e1c20 12 ok +0x1400e1c30 Unwind@1400e1c30 16 ok +0x1400e1c40 Unwind@1400e1c40 16 ok +0x1400e1c50 Unwind@1400e1c50 16 ok +0x1400e1c60 Unwind@1400e1c60 16 ok +0x1400e1c70 Unwind@1400e1c70 19 ok +0x1400e1c90 Unwind@1400e1c90 19 ok +0x1400e1cb0 Unwind@1400e1cb0 19 ok +0x1400e1cd0 Unwind@1400e1cd0 19 ok +0x1400e1cf0 Unwind@1400e1cf0 19 ok +0x1400e1d10 Unwind@1400e1d10 19 ok +0x1400e1d30 Unwind@1400e1d30 19 ok +0x1400e1d50 Unwind@1400e1d50 19 ok +0x1400e1d70 Unwind@1400e1d70 19 ok +0x1400e1d90 Unwind@1400e1d90 19 ok +0x1400e1db0 Unwind@1400e1db0 19 ok +0x1400e1dd0 Unwind@1400e1dd0 19 ok +0x1400e1df0 Unwind@1400e1df0 19 ok +0x1400e1e10 Unwind@1400e1e10 19 ok +0x1400e1e30 Unwind@1400e1e30 19 ok +0x1400e1e50 Unwind@1400e1e50 19 ok +0x1400e1e70 Unwind@1400e1e70 19 ok +0x1400e1e90 Unwind@1400e1e90 12 ok +0x1400e1ea0 Unwind@1400e1ea0 19 ok +0x1400e1ec0 Unwind@1400e1ec0 19 ok +0x1400e1ee0 Unwind@1400e1ee0 19 ok +0x1400e1f00 Unwind@1400e1f00 19 ok +0x1400e1f20 Unwind@1400e1f20 19 ok +0x1400e1f40 Unwind@1400e1f40 19 ok +0x1400e1f60 Unwind@1400e1f60 19 ok +0x1400e1f80 Unwind@1400e1f80 19 ok +0x1400e1fa0 Unwind@1400e1fa0 19 ok +0x1400e1fc0 Unwind@1400e1fc0 19 ok +0x1400e1fe0 Unwind@1400e1fe0 19 ok +0x1400e2000 Unwind@1400e2000 19 ok +0x1400e2020 Unwind@1400e2020 19 ok +0x1400e2040 Unwind@1400e2040 19 ok +0x1400e2060 Unwind@1400e2060 19 ok +0x1400e2080 Unwind@1400e2080 12 ok +0x1400e2090 Unwind@1400e2090 19 ok +0x1400e20b0 Unwind@1400e20b0 19 ok +0x1400e20d0 Unwind@1400e20d0 19 ok +0x1400e20f0 Unwind@1400e20f0 19 ok +0x1400e2110 Unwind@1400e2110 19 ok +0x1400e2130 Unwind@1400e2130 19 ok +0x1400e2150 Unwind@1400e2150 19 ok +0x1400e2170 Unwind@1400e2170 19 ok +0x1400e2190 Unwind@1400e2190 12 ok +0x1400e21a0 Unwind@1400e21a0 12 ok +0x1400e21b0 Unwind@1400e21b0 16 ok +0x1400e21c0 Unwind@1400e21c0 12 ok +0x1400e21d0 Unwind@1400e21d0 34 ok +0x1400e2200 Unwind@1400e2200 16 ok +0x1400e2210 Unwind@1400e2210 16 ok +0x1400e2220 Unwind@1400e2220 16 ok +0x1400e2230 Unwind@1400e2230 16 ok +0x1400e2240 Unwind@1400e2240 16 ok +0x1400e2250 Unwind@1400e2250 12 ok +0x1400e2260 Unwind@1400e2260 12 ok +0x1400e2270 Unwind@1400e2270 12 ok +0x1400e2280 Unwind@1400e2280 12 ok +0x1400e2290 Unwind@1400e2290 12 ok +0x1400e22a0 Unwind@1400e22a0 12 ok +0x1400e22b0 Unwind@1400e22b0 16 ok +0x1400e22c0 Unwind@1400e22c0 16 ok +0x1400e22d0 Unwind@1400e22d0 16 ok +0x1400e22e0 Unwind@1400e22e0 16 ok +0x1400e22f0 Unwind@1400e22f0 16 ok +0x1400e2300 Unwind@1400e2300 16 ok +0x1400e2310 Unwind@1400e2310 16 ok +0x1400e2320 Unwind@1400e2320 12 ok +0x1400e2330 Unwind@1400e2330 12 ok +0x1400e2340 Unwind@1400e2340 12 ok +0x1400e2350 Unwind@1400e2350 12 ok +0x1400e2360 Unwind@1400e2360 12 ok +0x1400e2370 Unwind@1400e2370 12 ok +0x1400e2380 Unwind@1400e2380 12 ok +0x1400e2390 Unwind@1400e2390 12 ok +0x1400e23a0 Unwind@1400e23a0 12 ok +0x1400e23b0 Unwind@1400e23b0 12 ok +0x1400e23c0 Unwind@1400e23c0 12 ok +0x1400e23d0 Unwind@1400e23d0 12 ok +0x1400e23e0 Unwind@1400e23e0 12 ok +0x1400e23f0 Unwind@1400e23f0 12 ok +0x1400e2400 Unwind@1400e2400 12 ok +0x1400e2410 Unwind@1400e2410 12 ok +0x1400e2420 Unwind@1400e2420 12 ok +0x1400e2430 Unwind@1400e2430 12 ok +0x1400e2440 Unwind@1400e2440 12 ok +0x1400e2450 Catch@1400e2450 351 ok +0x1400e25b0 Unwind@1400e25b0 12 ok +0x1400e25c0 Unwind@1400e25c0 12 ok +0x1400e25d0 Unwind@1400e25d0 12 ok +0x1400e25e0 Unwind@1400e25e0 12 ok +0x1400e25f0 Unwind@1400e25f0 12 ok +0x1400e2600 Unwind@1400e2600 12 ok +0x1400e2610 Unwind@1400e2610 12 ok +0x1400e2620 Unwind@1400e2620 41 ok +0x1400e2650 Unwind@1400e2650 41 ok +0x1400e2680 Unwind@1400e2680 41 ok +0x1400e26b0 Unwind@1400e26b0 41 ok +0x1400e26e0 Unwind@1400e26e0 41 ok +0x1400e2710 Unwind@1400e2710 41 ok +0x1400e2740 Unwind@1400e2740 41 ok +0x1400e2770 Unwind@1400e2770 46 ok +0x1400e27a0 Unwind@1400e27a0 12 ok +0x1400e27b0 Unwind@1400e27b0 12 ok +0x1400e27c0 Unwind@1400e27c0 12 ok +0x1400e27d0 Unwind@1400e27d0 12 ok +0x1400e27e0 Unwind@1400e27e0 12 ok +0x1400e27f0 Unwind@1400e27f0 12 ok +0x1400e2800 Unwind@1400e2800 12 ok +0x1400e2810 Unwind@1400e2810 16 ok +0x1400e2820 Unwind@1400e2820 16 ok +0x1400e2830 Unwind@1400e2830 12 ok +0x1400e2840 Unwind@1400e2840 29 ok +0x1400e2860 Unwind@1400e2860 28 ok +0x1400e2880 Unwind@1400e2880 12 ok +0x1400e2890 Unwind@1400e2890 12 ok +0x1400e28a0 Unwind@1400e28a0 12 ok +0x1400e28b0 Unwind@1400e28b0 16 ok +0x1400e28c0 Unwind@1400e28c0 16 ok +0x1400e28d0 Unwind@1400e28d0 16 ok +0x1400e28e0 Unwind@1400e28e0 16 ok +0x1400e28f0 Unwind@1400e28f0 16 ok +0x1400e2900 Unwind@1400e2900 16 ok +0x1400e2910 Unwind@1400e2910 16 ok +0x1400e2920 Unwind@1400e2920 12 ok +0x1400e2930 Unwind@1400e2930 16 ok +0x1400e2940 Unwind@1400e2940 16 ok +0x1400e2950 Unwind@1400e2950 12 ok +0x1400e2960 Unwind@1400e2960 16 ok +0x1400e2970 Unwind@1400e2970 16 ok +0x1400e2980 Unwind@1400e2980 16 ok +0x1400e2990 Unwind@1400e2990 16 ok +0x1400e29a0 Unwind@1400e29a0 16 ok +0x1400e29b0 Unwind@1400e29b0 16 ok +0x1400e29c0 Unwind@1400e29c0 16 ok +0x1400e29d0 Unwind@1400e29d0 12 ok +0x1400e29e0 Unwind@1400e29e0 12 ok +0x1400e29f0 Unwind@1400e29f0 16 ok +0x1400e2a00 Unwind@1400e2a00 16 ok +0x1400e2a10 Unwind@1400e2a10 12 ok +0x1400e2a20 Unwind@1400e2a20 32 ok +0x1400e2a40 Unwind@1400e2a40 34 ok +0x1400e2a70 Unwind@1400e2a70 12 ok +0x1400e2a80 Unwind@1400e2a80 12 ok +0x1400e2a90 Unwind@1400e2a90 16 ok +0x1400e2aa0 Unwind@1400e2aa0 16 ok +0x1400e2ab0 Unwind@1400e2ab0 16 ok +0x1400e2ac0 Unwind@1400e2ac0 16 ok +0x1400e2ad0 Unwind@1400e2ad0 16 ok +0x1400e2ae0 Unwind@1400e2ae0 16 ok +0x1400e2af0 Unwind@1400e2af0 16 ok +0x1400e2b00 Unwind@1400e2b00 12 ok +0x1400e2b10 Unwind@1400e2b10 12 ok +0x1400e2b20 Unwind@1400e2b20 12 ok +0x1400e2b30 Unwind@1400e2b30 12 ok +0x1400e2b40 Unwind@1400e2b40 12 ok +0x1400e2b50 Unwind@1400e2b50 16 ok +0x1400e2b60 Unwind@1400e2b60 12 ok +0x1400e2b70 Unwind@1400e2b70 12 ok +0x1400e2b80 Unwind@1400e2b80 12 ok +0x1400e2b90 Unwind@1400e2b90 12 ok +0x1400e2ba0 Unwind@1400e2ba0 16 ok +0x1400e2bb0 Unwind@1400e2bb0 16 ok +0x1400e2bc0 Unwind@1400e2bc0 12 ok +0x1400e2bd0 Unwind@1400e2bd0 32 ok +0x1400e2bf0 Unwind@1400e2bf0 34 ok +0x1400e2c20 Unwind@1400e2c20 12 ok +0x1400e2c30 Unwind@1400e2c30 12 ok +0x1400e2c40 Unwind@1400e2c40 16 ok +0x1400e2c50 Unwind@1400e2c50 16 ok +0x1400e2c60 Unwind@1400e2c60 16 ok +0x1400e2c70 Unwind@1400e2c70 16 ok +0x1400e2c80 Unwind@1400e2c80 16 ok +0x1400e2c90 Unwind@1400e2c90 16 ok +0x1400e2ca0 Unwind@1400e2ca0 16 ok +0x1400e2cb0 Unwind@1400e2cb0 16 ok +0x1400e2cc0 Unwind@1400e2cc0 16 ok +0x1400e2cd0 Unwind@1400e2cd0 12 ok +0x1400e2ce0 Unwind@1400e2ce0 16 ok +0x1400e2cf0 Unwind@1400e2cf0 16 ok +0x1400e2d00 Unwind@1400e2d00 16 ok +0x1400e2d10 Unwind@1400e2d10 16 ok +0x1400e2d20 Unwind@1400e2d20 16 ok +0x1400e2d30 Unwind@1400e2d30 16 ok +0x1400e2d40 Unwind@1400e2d40 16 ok +0x1400e2d50 Unwind@1400e2d50 12 ok +0x1400e2d60 Unwind@1400e2d60 12 ok +0x1400e2d70 Unwind@1400e2d70 12 ok +0x1400e2d80 Unwind@1400e2d80 12 ok +0x1400e2d90 Unwind@1400e2d90 12 ok +0x1400e2da0 Unwind@1400e2da0 12 ok +0x1400e2db0 Unwind@1400e2db0 12 ok +0x1400e2dc0 Unwind@1400e2dc0 12 ok +0x1400e2dd0 Unwind@1400e2dd0 12 ok +0x1400e2de0 Unwind@1400e2de0 12 ok +0x1400e2df0 Unwind@1400e2df0 29 ok +0x1400e2e10 Unwind@1400e2e10 12 ok +0x1400e2e20 Unwind@1400e2e20 12 ok +0x1400e2e30 Unwind@1400e2e30 12 ok +0x1400e2e40 Unwind@1400e2e40 12 ok +0x1400e2e50 Unwind@1400e2e50 12 ok +0x1400e2e60 Unwind@1400e2e60 12 ok +0x1400e2e70 Unwind@1400e2e70 12 ok +0x1400e2e80 Unwind@1400e2e80 12 ok +0x1400e2e90 Unwind@1400e2e90 12 ok +0x1400e2ea0 Unwind@1400e2ea0 12 ok +0x1400e2eb0 Unwind@1400e2eb0 16 ok +0x1400e2ec0 Unwind@1400e2ec0 12 ok +0x1400e2ed0 Unwind@1400e2ed0 12 ok +0x1400e2ee0 Unwind@1400e2ee0 12 ok +0x1400e2ef0 Unwind@1400e2ef0 16 ok +0x1400e2f00 Unwind@1400e2f00 12 ok +0x1400e2f10 Unwind@1400e2f10 12 ok +0x1400e2f20 Unwind@1400e2f20 12 ok +0x1400e2f30 Unwind@1400e2f30 12 ok +0x1400e2f40 Unwind@1400e2f40 16 ok +0x1400e2f50 Unwind@1400e2f50 16 ok +0x1400e2f60 Unwind@1400e2f60 16 ok +0x1400e2f70 Unwind@1400e2f70 16 ok +0x1400e2f80 Unwind@1400e2f80 16 ok +0x1400e2f90 Unwind@1400e2f90 12 ok +0x1400e2fa0 Unwind@1400e2fa0 12 ok +0x1400e2fb0 Unwind@1400e2fb0 12 ok +0x1400e2fc0 Unwind@1400e2fc0 12 ok +0x1400e2fd0 Unwind@1400e2fd0 12 ok +0x1400e2fe0 Unwind@1400e2fe0 12 ok +0x1400e2ff0 Unwind@1400e2ff0 12 ok +0x1400e3000 Unwind@1400e3000 12 ok +0x1400e3010 Unwind@1400e3010 12 ok +0x1400e3020 Unwind@1400e3020 12 ok +0x1400e3030 Unwind@1400e3030 12 ok +0x1400e3040 Unwind@1400e3040 12 ok +0x1400e3050 Unwind@1400e3050 12 ok +0x1400e3060 Unwind@1400e3060 12 ok +0x1400e3070 Unwind@1400e3070 12 ok +0x1400e3080 Unwind@1400e3080 12 ok +0x1400e3090 Unwind@1400e3090 12 ok +0x1400e30a0 Unwind@1400e30a0 12 ok +0x1400e30b0 Unwind@1400e30b0 16 ok +0x1400e30c0 Unwind@1400e30c0 16 ok +0x1400e30d0 Unwind@1400e30d0 16 ok +0x1400e30e0 Unwind@1400e30e0 16 ok +0x1400e30f0 Unwind@1400e30f0 19 ok +0x1400e3110 Unwind@1400e3110 19 ok +0x1400e3130 Unwind@1400e3130 19 ok +0x1400e3150 Unwind@1400e3150 19 ok +0x1400e3170 Unwind@1400e3170 19 ok +0x1400e3190 Unwind@1400e3190 19 ok +0x1400e31b0 Unwind@1400e31b0 19 ok +0x1400e31d0 Unwind@1400e31d0 19 ok +0x1400e31f0 Unwind@1400e31f0 19 ok +0x1400e3210 Unwind@1400e3210 19 ok +0x1400e3230 Unwind@1400e3230 19 ok +0x1400e3250 Unwind@1400e3250 19 ok +0x1400e3270 Unwind@1400e3270 19 ok +0x1400e3290 Unwind@1400e3290 19 ok +0x1400e32b0 Unwind@1400e32b0 19 ok +0x1400e32d0 Unwind@1400e32d0 19 ok +0x1400e32f0 Unwind@1400e32f0 19 ok +0x1400e3310 Unwind@1400e3310 19 ok +0x1400e3330 Unwind@1400e3330 19 ok +0x1400e3350 Unwind@1400e3350 19 ok +0x1400e3370 Unwind@1400e3370 19 ok +0x1400e3390 Unwind@1400e3390 19 ok +0x1400e33b0 Unwind@1400e33b0 19 ok +0x1400e33d0 Unwind@1400e33d0 19 ok +0x1400e33f0 Unwind@1400e33f0 19 ok +0x1400e3410 Unwind@1400e3410 19 ok +0x1400e3430 Unwind@1400e3430 19 ok +0x1400e3450 Unwind@1400e3450 19 ok +0x1400e3470 Unwind@1400e3470 19 ok +0x1400e3490 Unwind@1400e3490 19 ok +0x1400e34b0 Unwind@1400e34b0 19 ok +0x1400e34d0 Unwind@1400e34d0 19 ok +0x1400e34f0 Unwind@1400e34f0 19 ok +0x1400e3510 Unwind@1400e3510 19 ok +0x1400e3530 Unwind@1400e3530 19 ok +0x1400e3550 Unwind@1400e3550 19 ok +0x1400e3570 Unwind@1400e3570 19 ok +0x1400e3590 Unwind@1400e3590 19 ok +0x1400e35b0 Unwind@1400e35b0 19 ok +0x1400e35d0 Unwind@1400e35d0 19 ok +0x1400e35f0 Unwind@1400e35f0 12 ok +0x1400e3600 Unwind@1400e3600 12 ok +0x1400e3610 Unwind@1400e3610 12 ok +0x1400e3620 Unwind@1400e3620 12 ok +0x1400e3630 Unwind@1400e3630 12 ok +0x1400e3640 Unwind@1400e3640 12 ok +0x1400e3650 Unwind@1400e3650 12 ok +0x1400e3660 Unwind@1400e3660 12 ok +0x1400e3670 Unwind@1400e3670 12 ok +0x1400e3680 Unwind@1400e3680 12 ok +0x1400e3690 Unwind@1400e3690 12 ok +0x1400e36a0 Unwind@1400e36a0 12 ok +0x1400e36b0 Unwind@1400e36b0 12 ok +0x1400e36c0 Unwind@1400e36c0 12 ok +0x1400e36d0 Unwind@1400e36d0 12 ok +0x1400e36e0 Unwind@1400e36e0 12 ok +0x1400e36f0 Unwind@1400e36f0 12 ok +0x1400e3700 Unwind@1400e3700 39 ok +0x1400e3730 Unwind@1400e3730 39 ok +0x1400e3760 Unwind@1400e3760 12 ok +0x1400e3770 Unwind@1400e3770 38 ok +0x1400e37a0 Unwind@1400e37a0 12 ok +0x1400e37b0 Unwind@1400e37b0 12 ok +0x1400e37c0 Unwind@1400e37c0 12 ok +0x1400e37d0 Unwind@1400e37d0 12 ok +0x1400e37e0 Unwind@1400e37e0 12 ok +0x1400e37f0 Unwind@1400e37f0 12 ok +0x1400e3800 Unwind@1400e3800 12 ok +0x1400e3810 Unwind@1400e3810 12 ok +0x1400e3820 Unwind@1400e3820 12 ok +0x1400e3830 Unwind@1400e3830 12 ok +0x1400e3840 Unwind@1400e3840 12 ok +0x1400e3850 Unwind@1400e3850 12 ok +0x1400e3860 Unwind@1400e3860 12 ok +0x1400e3870 Unwind@1400e3870 12 ok +0x1400e3880 Unwind@1400e3880 12 ok +0x1400e3890 Unwind@1400e3890 12 ok +0x1400e38a0 Unwind@1400e38a0 12 ok +0x1400e38b0 Unwind@1400e38b0 12 ok +0x1400e38c0 Unwind@1400e38c0 12 ok +0x1400e38d0 Unwind@1400e38d0 12 ok +0x1400e38e0 Unwind@1400e38e0 12 ok +0x1400e38f0 Unwind@1400e38f0 12 ok +0x1400e3900 Unwind@1400e3900 12 ok +0x1400e3910 Unwind@1400e3910 12 ok +0x1400e3920 Unwind@1400e3920 12 ok +0x1400e3930 Unwind@1400e3930 12 ok +0x1400e3940 Unwind@1400e3940 12 ok +0x1400e3950 Unwind@1400e3950 12 ok +0x1400e3960 Unwind@1400e3960 12 ok +0x1400e3970 Unwind@1400e3970 12 ok +0x1400e3980 Unwind@1400e3980 12 ok +0x1400e3990 Unwind@1400e3990 12 ok +0x1400e39a0 Unwind@1400e39a0 12 ok +0x1400e39b0 Unwind@1400e39b0 12 ok +0x1400e39c0 Unwind@1400e39c0 12 ok +0x1400e39d0 Unwind@1400e39d0 12 ok +0x1400e39e0 Unwind@1400e39e0 12 ok +0x1400e39f0 Unwind@1400e39f0 12 ok +0x1400e3a00 Unwind@1400e3a00 12 ok +0x1400e3a10 Unwind@1400e3a10 12 ok +0x1400e3a20 Unwind@1400e3a20 12 ok +0x1400e3a30 Unwind@1400e3a30 12 ok +0x1400e3a40 Unwind@1400e3a40 12 ok +0x1400e3a50 Unwind@1400e3a50 12 ok +0x1400e3a60 Unwind@1400e3a60 12 ok +0x1400e3a70 Unwind@1400e3a70 12 ok +0x1400e3a80 Unwind@1400e3a80 12 ok +0x1400e3a90 Unwind@1400e3a90 12 ok +0x1400e3aa0 Unwind@1400e3aa0 12 ok +0x1400e3ab0 Unwind@1400e3ab0 12 ok +0x1400e3ac0 Unwind@1400e3ac0 12 ok +0x1400e3ad0 Unwind@1400e3ad0 12 ok +0x1400e3ae0 Unwind@1400e3ae0 12 ok +0x1400e3af0 Unwind@1400e3af0 12 ok +0x1400e3b00 Unwind@1400e3b00 12 ok +0x1400e3b10 Unwind@1400e3b10 12 ok +0x1400e3b20 Unwind@1400e3b20 12 ok +0x1400e3b30 Unwind@1400e3b30 12 ok +0x1400e3b40 Unwind@1400e3b40 12 ok +0x1400e3b50 Unwind@1400e3b50 12 ok +0x1400e3b60 Unwind@1400e3b60 12 ok +0x1400e3b70 Unwind@1400e3b70 12 ok +0x1400e3b80 Unwind@1400e3b80 12 ok +0x1400e3b90 Unwind@1400e3b90 12 ok +0x1400e3ba0 Unwind@1400e3ba0 12 ok +0x1400e3bb0 Unwind@1400e3bb0 12 ok +0x1400e3bc0 Unwind@1400e3bc0 12 ok +0x1400e3bd0 Unwind@1400e3bd0 12 ok +0x1400e3be0 Unwind@1400e3be0 12 ok +0x1400e3bf0 Unwind@1400e3bf0 12 ok +0x1400e3c00 Unwind@1400e3c00 12 ok +0x1400e3c10 Unwind@1400e3c10 12 ok +0x1400e3c20 Unwind@1400e3c20 12 ok +0x1400e3c30 Unwind@1400e3c30 12 ok +0x1400e3c40 Unwind@1400e3c40 12 ok +0x1400e3c50 Unwind@1400e3c50 12 ok +0x1400e3c60 Unwind@1400e3c60 12 ok +0x1400e3c70 Unwind@1400e3c70 12 ok +0x1400e3c80 Unwind@1400e3c80 12 ok +0x1400e3c90 Unwind@1400e3c90 12 ok +0x1400e3ca0 Unwind@1400e3ca0 12 ok +0x1400e3cb0 Unwind@1400e3cb0 12 ok +0x1400e3cc0 Unwind@1400e3cc0 12 ok +0x1400e3cd0 Unwind@1400e3cd0 12 ok +0x1400e3ce0 Unwind@1400e3ce0 12 ok +0x1400e3cf0 Unwind@1400e3cf0 12 ok +0x1400e3d00 Unwind@1400e3d00 12 ok +0x1400e3d10 Unwind@1400e3d10 12 ok +0x1400e3d20 Unwind@1400e3d20 12 ok +0x1400e3d30 Unwind@1400e3d30 12 ok +0x1400e3d40 Unwind@1400e3d40 12 ok +0x1400e3d50 Unwind@1400e3d50 12 ok +0x1400e3d60 Unwind@1400e3d60 12 ok +0x1400e3d70 Unwind@1400e3d70 12 ok +0x1400e3d80 Unwind@1400e3d80 12 ok +0x1400e3d90 Unwind@1400e3d90 12 ok +0x1400e3da0 Unwind@1400e3da0 12 ok +0x1400e3db0 Unwind@1400e3db0 12 ok +0x1400e3dc0 Unwind@1400e3dc0 12 ok +0x1400e3dd0 Unwind@1400e3dd0 12 ok +0x1400e3de0 Unwind@1400e3de0 12 ok +0x1400e3df0 Unwind@1400e3df0 12 ok +0x1400e3e00 Unwind@1400e3e00 12 ok +0x1400e3e10 Unwind@1400e3e10 12 ok +0x1400e3e20 Unwind@1400e3e20 12 ok +0x1400e3e30 Unwind@1400e3e30 12 ok +0x1400e3e40 Unwind@1400e3e40 12 ok +0x1400e3e50 Unwind@1400e3e50 12 ok +0x1400e3e60 Unwind@1400e3e60 12 ok +0x1400e3e70 Unwind@1400e3e70 12 ok +0x1400e3e80 Unwind@1400e3e80 12 ok +0x1400e3e90 Unwind@1400e3e90 12 ok +0x1400e3ea0 Unwind@1400e3ea0 12 ok +0x1400e3eb0 Unwind@1400e3eb0 12 ok +0x1400e3ec0 Unwind@1400e3ec0 16 ok +0x1400e3ed0 Unwind@1400e3ed0 12 ok +0x1400e3ee0 Unwind@1400e3ee0 12 ok +0x1400e3ef0 Unwind@1400e3ef0 12 ok +0x1400e3f00 Unwind@1400e3f00 19 ok +0x1400e3f20 Unwind@1400e3f20 12 ok +0x1400e3f30 Unwind@1400e3f30 19 ok +0x1400e3f50 Unwind@1400e3f50 16 ok +0x1400e3f60 Unwind@1400e3f60 12 ok +0x1400e3f70 Unwind@1400e3f70 12 ok +0x1400e3f80 Unwind@1400e3f80 19 ok +0x1400e3fa0 Unwind@1400e3fa0 12 ok +0x1400e3fb0 Unwind@1400e3fb0 19 ok +0x1400e3fd0 Unwind@1400e3fd0 16 ok +0x1400e3fe0 Unwind@1400e3fe0 12 ok +0x1400e3ff0 Unwind@1400e3ff0 12 ok +0x1400e4000 Unwind@1400e4000 19 ok +0x1400e4020 Unwind@1400e4020 12 ok +0x1400e4030 Unwind@1400e4030 19 ok +0x1400e4050 Unwind@1400e4050 16 ok +0x1400e4060 Unwind@1400e4060 12 ok +0x1400e4070 Unwind@1400e4070 12 ok +0x1400e4080 Unwind@1400e4080 12 ok +0x1400e4090 Unwind@1400e4090 16 ok +0x1400e40a0 Unwind@1400e40a0 12 ok +0x1400e40b0 Unwind@1400e40b0 12 ok +0x1400e40c0 Unwind@1400e40c0 12 ok +0x1400e40d0 Unwind@1400e40d0 12 ok +0x1400e40e0 Unwind@1400e40e0 12 ok +0x1400e40f0 Catch@1400e40f0 92 ok +0x1400e4150 Unwind@1400e4150 12 ok +0x1400e4160 Unwind@1400e4160 29 ok +0x1400e4180 Unwind@1400e4180 28 ok +0x1400e41a0 Unwind@1400e41a0 12 ok +0x1400e41b0 Unwind@1400e41b0 12 ok +0x1400e41c0 Unwind@1400e41c0 38 ok +0x1400e41f0 Unwind@1400e41f0 12 ok +0x1400e4200 Unwind@1400e4200 12 ok +0x1400e4210 Unwind@1400e4210 12 ok +0x1400e4220 Unwind@1400e4220 12 ok +0x1400e4230 Unwind@1400e4230 47 ok +0x1400e4260 Unwind@1400e4260 12 ok +0x1400e4270 Unwind@1400e4270 12 ok +0x1400e4280 Unwind@1400e4280 28 ok +0x1400e42a0 Unwind@1400e42a0 12 ok +0x1400e42b0 Unwind@1400e42b0 12 ok +0x1400e42c0 Unwind@1400e42c0 12 ok +0x1400e42d0 Unwind@1400e42d0 12 ok +0x1400e42e0 Unwind@1400e42e0 12 ok +0x1400e42f0 Unwind@1400e42f0 12 ok +0x1400e4300 Unwind@1400e4300 12 ok +0x1400e4310 Unwind@1400e4310 28 ok +0x1400e4330 Unwind@1400e4330 12 ok +0x1400e4340 Unwind@1400e4340 12 ok +0x1400e4350 Unwind@1400e4350 12 ok +0x1400e4360 Unwind@1400e4360 12 ok +0x1400e4370 Unwind@1400e4370 12 ok +0x1400e4380 Unwind@1400e4380 12 ok +0x1400e4390 Unwind@1400e4390 12 ok +0x1400e43a0 Unwind@1400e43a0 12 ok +0x1400e43b0 Unwind@1400e43b0 12 ok +0x1400e43c0 Unwind@1400e43c0 12 ok +0x1400e43d0 Unwind@1400e43d0 12 ok +0x1400e43e0 Unwind@1400e43e0 12 ok +0x1400e43f0 Unwind@1400e43f0 12 ok +0x1400e4400 Unwind@1400e4400 12 ok +0x1400e4410 Unwind@1400e4410 12 ok +0x1400e4420 Unwind@1400e4420 12 ok +0x1400e4430 Unwind@1400e4430 12 ok +0x1400e4440 Unwind@1400e4440 12 ok +0x1400e4450 Unwind@1400e4450 16 ok +0x1400e4460 Unwind@1400e4460 12 ok +0x1400e4470 Unwind@1400e4470 12 ok +0x1400e4480 Unwind@1400e4480 12 ok +0x1400e4490 Unwind@1400e4490 12 ok +0x1400e44a0 Unwind@1400e44a0 12 ok +0x1400e44b0 Unwind@1400e44b0 12 ok +0x1400e44c0 Unwind@1400e44c0 12 ok +0x1400e44d0 Unwind@1400e44d0 12 ok +0x1400e44e0 Unwind@1400e44e0 34 ok +0x1400e4510 Unwind@1400e4510 12 ok +0x1400e4520 Unwind@1400e4520 12 ok +0x1400e4530 Unwind@1400e4530 12 ok +0x1400e4540 Unwind@1400e4540 12 ok +0x1400e4550 Unwind@1400e4550 12 ok +0x1400e4560 Unwind@1400e4560 12 ok +0x1400e4570 Unwind@1400e4570 12 ok +0x1400e4580 Unwind@1400e4580 12 ok +0x1400e4590 Unwind@1400e4590 12 ok +0x1400e45a0 Unwind@1400e45a0 12 ok +0x1400e45b0 Catch_All@1400e45b0 26 ok +0x1400e45d0 Unwind@1400e45d0 12 ok +0x1400e45e0 Unwind@1400e45e0 12 ok +0x1400e45f0 Unwind@1400e45f0 12 ok +0x1400e4600 Catch@1400e4600 100 ok +0x1400e4670 Unwind@1400e4670 12 ok +0x1400e4680 Catch@1400e4680 100 ok +0x1400e46f0 Unwind@1400e46f0 12 ok +0x1400e4700 Catch@1400e4700 100 ok +0x1400e4770 Unwind@1400e4770 12 ok +0x1400e4780 Unwind@1400e4780 32 ok +0x1400e47a0 Unwind@1400e47a0 12 ok +0x1400e47b0 Catch@1400e47b0 100 ok +0x1400e4820 Unwind@1400e4820 12 ok +0x1400e4830 Catch@1400e4830 100 ok +0x1400e48a0 Unwind@1400e48a0 12 ok +0x1400e48b0 Catch@1400e48b0 100 ok +0x1400e4920 Unwind@1400e4920 12 ok +0x1400e4930 Unwind@1400e4930 12 ok +0x1400e4940 Unwind@1400e4940 32 ok +0x1400e4960 Unwind@1400e4960 12 ok +0x1400e4970 Unwind@1400e4970 12 ok +0x1400e4980 Unwind@1400e4980 12 ok +0x1400e4990 Unwind@1400e4990 12 ok +0x1400e49a0 Unwind@1400e49a0 12 ok +0x1400e49b0 Unwind@1400e49b0 12 ok +0x1400e49c0 Unwind@1400e49c0 12 ok +0x1400e49d0 Unwind@1400e49d0 12 ok +0x1400e49e0 Unwind@1400e49e0 12 ok +0x1400e49f0 Unwind@1400e49f0 12 ok +0x1400e4a00 Catch@1400e4a00 100 ok +0x1400e4a70 Unwind@1400e4a70 12 ok +0x1400e4a80 Catch@1400e4a80 100 ok +0x1400e4af0 Unwind@1400e4af0 12 ok +0x1400e4b00 Catch@1400e4b00 100 ok +0x1400e4b70 Unwind@1400e4b70 12 ok +0x1400e4b80 Unwind@1400e4b80 12 ok +0x1400e4b90 Unwind@1400e4b90 12 ok +0x1400e4ba0 Unwind@1400e4ba0 12 ok +0x1400e4bb0 Unwind@1400e4bb0 12 ok +0x1400e4bc0 Unwind@1400e4bc0 12 ok +0x1400e4bd0 Unwind@1400e4bd0 12 ok +0x1400e4be0 Unwind@1400e4be0 12 ok +0x1400e4bf0 Unwind@1400e4bf0 38 ok +0x1400e4c20 Unwind@1400e4c20 12 ok +0x1400e4c30 Unwind@1400e4c30 12 ok +0x1400e4c40 Unwind@1400e4c40 12 ok +0x1400e4c50 Unwind@1400e4c50 12 ok +0x1400e4c60 Unwind@1400e4c60 12 ok +0x1400e4c70 Unwind@1400e4c70 12 ok +0x1400e4c80 Unwind@1400e4c80 12 ok +0x1400e4c90 Unwind@1400e4c90 12 ok +0x1400e4ca0 Unwind@1400e4ca0 12 ok +0x1400e4cb0 Unwind@1400e4cb0 12 ok +0x1400e4cc0 Unwind@1400e4cc0 12 ok +0x1400e4cd0 Unwind@1400e4cd0 12 ok +0x1400e4ce0 Unwind@1400e4ce0 12 ok +0x1400e4cf0 Unwind@1400e4cf0 12 ok +0x1400e4d00 Unwind@1400e4d00 12 ok +0x1400e4d10 Unwind@1400e4d10 12 ok +0x1400e4d20 Unwind@1400e4d20 31 ok +0x1400e4d40 Unwind@1400e4d40 16 ok +0x1400e4d50 Unwind@1400e4d50 19 ok +0x1400e4d70 Catch@1400e4d70 58 ok +0x1400e4db0 Unwind@1400e4db0 12 ok +0x1400e4dc0 Unwind@1400e4dc0 12 ok +0x1400e4dd0 Unwind@1400e4dd0 12 ok +0x1400e4de0 Unwind@1400e4de0 12 ok +0x1400e4df0 Unwind@1400e4df0 19 ok +0x1400e4e10 Unwind@1400e4e10 12 ok +0x1400e4e20 Unwind@1400e4e20 19 ok +0x1400e4e40 Unwind@1400e4e40 19 ok +0x1400e4e60 Unwind@1400e4e60 12 ok +0x1400e4e70 Unwind@1400e4e70 19 ok +0x1400e4e90 Unwind@1400e4e90 16 ok +0x1400e4ea0 Unwind@1400e4ea0 12 ok +0x1400e4eb0 Unwind@1400e4eb0 12 ok +0x1400e4ec0 Unwind@1400e4ec0 12 ok +0x1400e4ed0 Unwind@1400e4ed0 12 ok +0x1400e4ee0 Unwind@1400e4ee0 12 ok +0x1400e4ef0 Unwind@1400e4ef0 12 ok +0x1400e4f00 Unwind@1400e4f00 12 ok +0x1400e4f10 Unwind@1400e4f10 19 ok +0x1400e4f30 Unwind@1400e4f30 12 ok +0x1400e4f40 Unwind@1400e4f40 19 ok +0x1400e4f60 Unwind@1400e4f60 19 ok +0x1400e4f80 Unwind@1400e4f80 16 ok +0x1400e4f90 Unwind@1400e4f90 16 ok +0x1400e4fa0 Unwind@1400e4fa0 12 ok +0x1400e4fb0 Unwind@1400e4fb0 12 ok +0x1400e4fc0 Unwind@1400e4fc0 16 ok +0x1400e4fd0 Unwind@1400e4fd0 16 ok +0x1400e4fe0 Catch_All@1400e4fe0 26 ok +0x1400e5000 Unwind@1400e5000 16 ok +0x1400e5010 Unwind@1400e5010 12 ok +0x1400e5020 Unwind@1400e5020 12 ok +0x1400e5030 Unwind@1400e5030 47 ok +0x1400e5060 Unwind@1400e5060 12 ok +0x1400e5070 Unwind@1400e5070 12 ok +0x1400e5080 Unwind@1400e5080 16 ok +0x1400e5090 Unwind@1400e5090 16 ok +0x1400e50a0 Unwind@1400e50a0 12 ok +0x1400e50b0 Unwind@1400e50b0 12 ok +0x1400e50c0 Unwind@1400e50c0 12 ok +0x1400e50d0 Unwind@1400e50d0 12 ok +0x1400e50e0 Unwind@1400e50e0 12 ok +0x1400e50f0 Unwind@1400e50f0 12 ok +0x1400e5100 Unwind@1400e5100 12 ok +0x1400e5110 Unwind@1400e5110 12 ok +0x1400e5120 Unwind@1400e5120 12 ok +0x1400e5130 Unwind@1400e5130 12 ok +0x1400e5140 Unwind@1400e5140 12 ok +0x1400e5150 Unwind@1400e5150 12 ok +0x1400e5160 Unwind@1400e5160 12 ok +0x1400e5170 Unwind@1400e5170 12 ok +0x1400e5180 Unwind@1400e5180 12 ok +0x1400e5190 Unwind@1400e5190 12 ok +0x1400e51a0 Unwind@1400e51a0 12 ok +0x1400e51b0 Unwind@1400e51b0 12 ok +0x1400e51c0 Unwind@1400e51c0 12 ok +0x1400e51d0 Unwind@1400e51d0 16 ok +0x1400e51e0 Unwind@1400e51e0 16 ok +0x1400e51f0 Unwind@1400e51f0 16 ok +0x1400e5200 Unwind@1400e5200 16 ok +0x1400e5210 Unwind@1400e5210 19 ok +0x1400e5230 Unwind@1400e5230 19 ok +0x1400e5250 Unwind@1400e5250 19 ok +0x1400e5270 Unwind@1400e5270 19 ok +0x1400e5290 Unwind@1400e5290 19 ok +0x1400e52b0 Unwind@1400e52b0 19 ok +0x1400e52d0 Unwind@1400e52d0 19 ok +0x1400e52f0 Unwind@1400e52f0 19 ok +0x1400e5310 Unwind@1400e5310 19 ok +0x1400e5330 Unwind@1400e5330 19 ok +0x1400e5350 Unwind@1400e5350 19 ok +0x1400e5370 Unwind@1400e5370 19 ok +0x1400e5390 Unwind@1400e5390 19 ok +0x1400e53b0 Unwind@1400e53b0 19 ok +0x1400e53d0 Unwind@1400e53d0 19 ok +0x1400e53f0 Unwind@1400e53f0 19 ok +0x1400e5410 Unwind@1400e5410 19 ok +0x1400e5430 Unwind@1400e5430 19 ok +0x1400e5450 Unwind@1400e5450 19 ok +0x1400e5470 Unwind@1400e5470 19 ok +0x1400e5490 Unwind@1400e5490 19 ok +0x1400e54b0 Unwind@1400e54b0 19 ok +0x1400e54d0 Unwind@1400e54d0 19 ok +0x1400e54f0 Unwind@1400e54f0 19 ok +0x1400e5510 Unwind@1400e5510 19 ok +0x1400e5530 Unwind@1400e5530 19 ok +0x1400e5550 Unwind@1400e5550 19 ok +0x1400e5570 Unwind@1400e5570 19 ok +0x1400e5590 Unwind@1400e5590 19 ok +0x1400e55b0 Unwind@1400e55b0 19 ok +0x1400e55d0 Unwind@1400e55d0 12 ok +0x1400e55e0 Unwind@1400e55e0 12 ok +0x1400e55f0 Unwind@1400e55f0 12 ok +0x1400e5600 Unwind@1400e5600 12 ok +0x1400e5610 Unwind@1400e5610 12 ok +0x1400e5620 Unwind@1400e5620 12 ok +0x1400e5630 Unwind@1400e5630 16 ok +0x1400e5640 Unwind@1400e5640 12 ok +0x1400e5650 Unwind@1400e5650 16 ok +0x1400e5660 Unwind@1400e5660 16 ok +0x1400e5670 Unwind@1400e5670 12 ok +0x1400e5680 Unwind@1400e5680 16 ok +0x1400e5690 Unwind@1400e5690 16 ok +0x1400e56a0 Unwind@1400e56a0 12 ok +0x1400e56b0 Unwind@1400e56b0 16 ok +0x1400e56c0 Unwind@1400e56c0 16 ok +0x1400e56d0 Unwind@1400e56d0 16 ok +0x1400e56e0 Unwind@1400e56e0 16 ok +0x1400e56f0 Unwind@1400e56f0 16 ok +0x1400e5700 Unwind@1400e5700 16 ok +0x1400e5710 Unwind@1400e5710 16 ok +0x1400e5720 Unwind@1400e5720 12 ok +0x1400e5730 Unwind@1400e5730 12 ok +0x1400e5740 Unwind@1400e5740 34 ok +0x1400e5770 Unwind@1400e5770 16 ok +0x1400e5780 Unwind@1400e5780 16 ok +0x1400e5790 Unwind@1400e5790 16 ok +0x1400e57a0 Unwind@1400e57a0 16 ok +0x1400e57b0 Unwind@1400e57b0 16 ok +0x1400e57c0 Unwind@1400e57c0 16 ok +0x1400e57d0 Unwind@1400e57d0 16 ok +0x1400e57e0 Unwind@1400e57e0 16 ok +0x1400e57f0 Unwind@1400e57f0 16 ok +0x1400e5800 Unwind@1400e5800 12 ok +0x1400e5810 Unwind@1400e5810 12 ok +0x1400e5820 Unwind@1400e5820 12 ok +0x1400e5830 Unwind@1400e5830 12 ok +0x1400e5840 Unwind@1400e5840 16 ok +0x1400e5850 Unwind@1400e5850 12 ok +0x1400e5860 Unwind@1400e5860 12 ok +0x1400e5870 Unwind@1400e5870 16 ok +0x1400e5880 Unwind@1400e5880 16 ok +0x1400e5890 Unwind@1400e5890 16 ok +0x1400e58a0 Unwind@1400e58a0 12 ok +0x1400e58b0 Unwind@1400e58b0 12 ok +0x1400e58c0 Unwind@1400e58c0 12 ok +0x1400e58d0 Unwind@1400e58d0 12 ok +0x1400e58e0 Unwind@1400e58e0 12 ok +0x1400e58f0 Unwind@1400e58f0 12 ok +0x1400e5900 Unwind@1400e5900 12 ok +0x1400e5910 Unwind@1400e5910 12 ok +0x1400e5920 Unwind@1400e5920 12 ok +0x1400e5930 Unwind@1400e5930 12 ok +0x1400e5940 Unwind@1400e5940 12 ok +0x1400e5950 Unwind@1400e5950 12 ok +0x1400e5960 Unwind@1400e5960 16 ok +0x1400e5970 Unwind@1400e5970 16 ok +0x1400e5980 Unwind@1400e5980 12 ok +0x1400e5990 Unwind@1400e5990 12 ok +0x1400e59a0 Unwind@1400e59a0 12 ok +0x1400e59b0 Unwind@1400e59b0 12 ok +0x1400e59c0 Unwind@1400e59c0 12 ok +0x1400e59d0 Unwind@1400e59d0 12 ok +0x1400e59e0 Unwind@1400e59e0 12 ok +0x1400e59f0 Unwind@1400e59f0 16 ok +0x1400e5a00 Unwind@1400e5a00 16 ok +0x1400e5a10 Unwind@1400e5a10 12 ok +0x1400e5a20 Unwind@1400e5a20 12 ok +0x1400e5a30 Unwind@1400e5a30 12 ok +0x1400e5a40 Unwind@1400e5a40 12 ok +0x1400e5a50 Unwind@1400e5a50 16 ok +0x1400e5a60 Unwind@1400e5a60 16 ok +0x1400e5a70 Unwind@1400e5a70 12 ok +0x1400e5a80 Unwind@1400e5a80 16 ok +0x1400e5a90 Unwind@1400e5a90 16 ok +0x1400e5aa0 Unwind@1400e5aa0 16 ok +0x1400e5ab0 Unwind@1400e5ab0 16 ok +0x1400e5ac0 Unwind@1400e5ac0 16 ok +0x1400e5ad0 Unwind@1400e5ad0 16 ok +0x1400e5ae0 Unwind@1400e5ae0 16 ok +0x1400e5af0 Unwind@1400e5af0 12 ok +0x1400e5b00 Unwind@1400e5b00 12 ok +0x1400e5b10 Unwind@1400e5b10 12 ok +0x1400e5b20 Unwind@1400e5b20 16 ok +0x1400e5b30 Unwind@1400e5b30 16 ok +0x1400e5b40 Unwind@1400e5b40 12 ok +0x1400e5b50 Unwind@1400e5b50 12 ok +0x1400e5b60 Unwind@1400e5b60 12 ok +0x1400e5b70 Unwind@1400e5b70 16 ok +0x1400e5b80 Unwind@1400e5b80 16 ok +0x1400e5b90 Unwind@1400e5b90 16 ok +0x1400e5ba0 Unwind@1400e5ba0 16 ok +0x1400e5bb0 Unwind@1400e5bb0 19 ok +0x1400e5bd0 Unwind@1400e5bd0 19 ok +0x1400e5bf0 Unwind@1400e5bf0 19 ok +0x1400e5c10 Unwind@1400e5c10 19 ok +0x1400e5c30 Unwind@1400e5c30 19 ok +0x1400e5c50 Unwind@1400e5c50 19 ok +0x1400e5c70 Unwind@1400e5c70 19 ok +0x1400e5c90 Unwind@1400e5c90 19 ok +0x1400e5cb0 Unwind@1400e5cb0 19 ok +0x1400e5cd0 Unwind@1400e5cd0 19 ok +0x1400e5cf0 Unwind@1400e5cf0 19 ok +0x1400e5d10 Unwind@1400e5d10 19 ok +0x1400e5d30 Unwind@1400e5d30 12 ok +0x1400e5d40 Unwind@1400e5d40 19 ok +0x1400e5d60 Unwind@1400e5d60 19 ok +0x1400e5d80 Unwind@1400e5d80 19 ok +0x1400e5da0 Unwind@1400e5da0 19 ok +0x1400e5dc0 Unwind@1400e5dc0 19 ok +0x1400e5de0 Unwind@1400e5de0 19 ok +0x1400e5e00 Unwind@1400e5e00 19 ok +0x1400e5e20 Unwind@1400e5e20 19 ok +0x1400e5e40 Unwind@1400e5e40 19 ok +0x1400e5e60 Unwind@1400e5e60 19 ok +0x1400e5e80 Unwind@1400e5e80 19 ok +0x1400e5ea0 Unwind@1400e5ea0 19 ok +0x1400e5ec0 Unwind@1400e5ec0 19 ok +0x1400e5ee0 Unwind@1400e5ee0 19 ok +0x1400e5f00 Unwind@1400e5f00 12 ok +0x1400e5f10 Unwind@1400e5f10 19 ok +0x1400e5f30 Unwind@1400e5f30 19 ok +0x1400e5f50 Unwind@1400e5f50 12 ok +0x1400e5f60 Unwind@1400e5f60 19 ok +0x1400e5f80 Unwind@1400e5f80 19 ok +0x1400e5fa0 Unwind@1400e5fa0 12 ok +0x1400e5fb0 Unwind@1400e5fb0 12 ok +0x1400e5fc0 Unwind@1400e5fc0 12 ok +0x1400e5fd0 Unwind@1400e5fd0 12 ok +0x1400e5fe0 Unwind@1400e5fe0 16 ok +0x1400e5ff0 Unwind@1400e5ff0 16 ok +0x1400e6000 Unwind@1400e6000 12 ok +0x1400e6010 Unwind@1400e6010 32 ok +0x1400e6030 Unwind@1400e6030 31 ok +0x1400e6050 Unwind@1400e6050 12 ok +0x1400e6060 Unwind@1400e6060 12 ok +0x1400e6070 Unwind@1400e6070 12 ok +0x1400e6080 Unwind@1400e6080 16 ok +0x1400e6090 Unwind@1400e6090 16 ok +0x1400e60a0 Unwind@1400e60a0 16 ok +0x1400e60b0 Unwind@1400e60b0 16 ok +0x1400e60c0 Unwind@1400e60c0 16 ok +0x1400e60d0 Unwind@1400e60d0 16 ok +0x1400e60e0 Unwind@1400e60e0 16 ok +0x1400e60f0 Unwind@1400e60f0 12 ok +0x1400e6100 Unwind@1400e6100 12 ok +0x1400e6110 Unwind@1400e6110 16 ok +0x1400e6120 Unwind@1400e6120 16 ok +0x1400e6130 Unwind@1400e6130 12 ok +0x1400e6140 Unwind@1400e6140 32 ok +0x1400e6160 Unwind@1400e6160 34 ok +0x1400e6190 Unwind@1400e6190 12 ok +0x1400e61a0 Unwind@1400e61a0 12 ok +0x1400e61b0 Unwind@1400e61b0 16 ok +0x1400e61c0 Unwind@1400e61c0 16 ok +0x1400e61d0 Unwind@1400e61d0 16 ok +0x1400e61e0 Unwind@1400e61e0 16 ok +0x1400e61f0 Unwind@1400e61f0 16 ok +0x1400e6200 Unwind@1400e6200 16 ok +0x1400e6210 Unwind@1400e6210 16 ok +0x1400e6220 Unwind@1400e6220 12 ok +0x1400e6230 Unwind@1400e6230 16 ok +0x1400e6240 Unwind@1400e6240 16 ok +0x1400e6250 Unwind@1400e6250 12 ok +0x1400e6260 Unwind@1400e6260 32 ok +0x1400e6280 Unwind@1400e6280 34 ok +0x1400e62b0 Unwind@1400e62b0 12 ok +0x1400e62c0 Unwind@1400e62c0 12 ok +0x1400e62d0 Unwind@1400e62d0 16 ok +0x1400e62e0 Unwind@1400e62e0 16 ok +0x1400e62f0 Unwind@1400e62f0 16 ok +0x1400e6300 Unwind@1400e6300 16 ok +0x1400e6310 Unwind@1400e6310 16 ok +0x1400e6320 Unwind@1400e6320 16 ok +0x1400e6330 Unwind@1400e6330 16 ok +0x1400e6340 Unwind@1400e6340 12 ok +0x1400e6350 Unwind@1400e6350 12 ok +0x1400e6360 Unwind@1400e6360 12 ok +0x1400e6370 Unwind@1400e6370 12 ok +0x1400e6380 Unwind@1400e6380 12 ok +0x1400e6390 Unwind@1400e6390 12 ok +0x1400e63a0 Unwind@1400e63a0 12 ok +0x1400e63b0 Unwind@1400e63b0 12 ok +0x1400e63c0 Unwind@1400e63c0 12 ok +0x1400e63d0 Unwind@1400e63d0 12 ok +0x1400e63e0 Unwind@1400e63e0 12 ok +0x1400e63f0 Unwind@1400e63f0 12 ok +0x1400e6400 Unwind@1400e6400 12 ok +0x1400e6410 Unwind@1400e6410 12 ok +0x1400e6420 Unwind@1400e6420 12 ok +0x1400e6430 Unwind@1400e6430 12 ok +0x1400e6440 Unwind@1400e6440 12 ok +0x1400e6450 Unwind@1400e6450 12 ok +0x1400e6460 Unwind@1400e6460 12 ok +0x1400e6470 Unwind@1400e6470 16 ok +0x1400e6480 Unwind@1400e6480 16 ok +0x1400e6490 Unwind@1400e6490 12 ok +0x1400e64a0 Unwind@1400e64a0 32 ok +0x1400e64c0 Unwind@1400e64c0 34 ok +0x1400e64f0 Unwind@1400e64f0 12 ok +0x1400e6500 Unwind@1400e6500 12 ok +0x1400e6510 Unwind@1400e6510 12 ok +0x1400e6520 Unwind@1400e6520 12 ok +0x1400e6530 Unwind@1400e6530 12 ok +0x1400e6540 Unwind@1400e6540 12 ok +0x1400e6550 Unwind@1400e6550 12 ok +0x1400e6560 Unwind@1400e6560 12 ok +0x1400e6570 Unwind@1400e6570 12 ok +0x1400e6580 Unwind@1400e6580 12 ok +0x1400e6590 Unwind@1400e6590 12 ok +0x1400e65a0 Unwind@1400e65a0 12 ok +0x1400e65b0 Unwind@1400e65b0 12 ok +0x1400e65c0 Unwind@1400e65c0 12 ok +0x1400e65d0 Unwind@1400e65d0 12 ok +0x1400e65e0 Unwind@1400e65e0 16 ok +0x1400e65f0 Unwind@1400e65f0 16 ok +0x1400e6600 Unwind@1400e6600 16 ok +0x1400e6610 Unwind@1400e6610 16 ok +0x1400e6620 Unwind@1400e6620 16 ok +0x1400e6630 Unwind@1400e6630 16 ok +0x1400e6640 Unwind@1400e6640 16 ok +0x1400e6650 Unwind@1400e6650 16 ok +0x1400e6660 Unwind@1400e6660 16 ok +0x1400e6670 Unwind@1400e6670 12 ok +0x1400e6680 Unwind@1400e6680 32 ok +0x1400e66a0 Unwind@1400e66a0 31 ok +0x1400e66c0 Unwind@1400e66c0 12 ok +0x1400e66d0 Unwind@1400e66d0 12 ok +0x1400e66e0 Unwind@1400e66e0 16 ok +0x1400e66f0 Unwind@1400e66f0 16 ok +0x1400e6700 Unwind@1400e6700 16 ok +0x1400e6710 Unwind@1400e6710 16 ok +0x1400e6720 Unwind@1400e6720 16 ok +0x1400e6730 Unwind@1400e6730 16 ok +0x1400e6740 Unwind@1400e6740 16 ok +0x1400e6750 Unwind@1400e6750 12 ok +0x1400e6760 Unwind@1400e6760 16 ok +0x1400e6770 Unwind@1400e6770 12 ok +0x1400e6780 Unwind@1400e6780 16 ok +0x1400e6790 Unwind@1400e6790 12 ok +0x1400e67a0 Unwind@1400e67a0 12 ok +0x1400e67b0 Unwind@1400e67b0 12 ok +0x1400e67c0 Unwind@1400e67c0 12 ok +0x1400e67d0 Unwind@1400e67d0 12 ok +0x1400e67e0 Unwind@1400e67e0 12 ok +0x1400e67f0 Unwind@1400e67f0 12 ok +0x1400e6800 Unwind@1400e6800 12 ok +0x1400e6810 Unwind@1400e6810 12 ok +0x1400e6820 Unwind@1400e6820 12 ok +0x1400e6830 Unwind@1400e6830 12 ok +0x1400e6840 Unwind@1400e6840 12 ok +0x1400e6850 Unwind@1400e6850 12 ok +0x1400e6860 Unwind@1400e6860 12 ok +0x1400e6870 Unwind@1400e6870 12 ok +0x1400e6880 Unwind@1400e6880 12 ok +0x1400e6890 Unwind@1400e6890 19 ok +0x1400e68b0 Unwind@1400e68b0 12 ok +0x1400e68c0 Unwind@1400e68c0 19 ok +0x1400e68e0 Unwind@1400e68e0 12 ok +0x1400e68f0 Unwind@1400e68f0 19 ok +0x1400e6910 Unwind@1400e6910 19 ok +0x1400e6930 Unwind@1400e6930 16 ok +0x1400e6940 Unwind@1400e6940 12 ok +0x1400e6950 Unwind@1400e6950 16 ok +0x1400e6960 Unwind@1400e6960 16 ok +0x1400e6970 Unwind@1400e6970 12 ok +0x1400e6980 Unwind@1400e6980 12 ok +0x1400e6990 Unwind@1400e6990 12 ok +0x1400e69a0 Unwind@1400e69a0 19 ok +0x1400e69c0 Unwind@1400e69c0 12 ok +0x1400e69d0 Unwind@1400e69d0 19 ok +0x1400e69f0 Unwind@1400e69f0 19 ok +0x1400e6a10 Unwind@1400e6a10 16 ok +0x1400e6a20 Unwind@1400e6a20 12 ok +0x1400e6a30 Unwind@1400e6a30 12 ok +0x1400e6a40 Unwind@1400e6a40 12 ok +0x1400e6a50 Unwind@1400e6a50 12 ok +0x1400e6a60 Unwind@1400e6a60 12 ok +0x1400e6a70 Unwind@1400e6a70 12 ok +0x1400e6a80 Unwind@1400e6a80 12 ok +0x1400e6a90 Unwind@1400e6a90 12 ok +0x1400e6aa0 Unwind@1400e6aa0 12 ok +0x1400e6ab0 Unwind@1400e6ab0 16 ok +0x1400e6ac0 Unwind@1400e6ac0 12 ok +0x1400e6ad0 Unwind@1400e6ad0 12 ok +0x1400e6ae0 Unwind@1400e6ae0 12 ok +0x1400e6af0 Unwind@1400e6af0 12 ok +0x1400e6b00 Unwind@1400e6b00 12 ok +0x1400e6b10 Unwind@1400e6b10 19 ok +0x1400e6b30 Unwind@1400e6b30 12 ok +0x1400e6b40 Unwind@1400e6b40 19 ok +0x1400e6b60 Unwind@1400e6b60 19 ok +0x1400e6b80 Unwind@1400e6b80 12 ok +0x1400e6b90 Unwind@1400e6b90 19 ok +0x1400e6bb0 Unwind@1400e6bb0 19 ok +0x1400e6bd0 Unwind@1400e6bd0 16 ok +0x1400e6be0 Unwind@1400e6be0 12 ok +0x1400e6bf0 Unwind@1400e6bf0 12 ok +0x1400e6c00 Unwind@1400e6c00 12 ok +0x1400e6c10 Unwind@1400e6c10 16 ok +0x1400e6c20 Unwind@1400e6c20 16 ok +0x1400e6c30 Unwind@1400e6c30 12 ok +0x1400e6c40 Unwind@1400e6c40 12 ok +0x1400e6c50 Unwind@1400e6c50 12 ok +0x1400e6c60 Unwind@1400e6c60 12 ok +0x1400e6c70 Unwind@1400e6c70 12 ok +0x1400e6c80 Unwind@1400e6c80 12 ok +0x1400e6c90 Unwind@1400e6c90 12 ok +0x1400e6ca0 Unwind@1400e6ca0 12 ok +0x1400e6cb0 Unwind@1400e6cb0 12 ok +0x1400e6cc0 Unwind@1400e6cc0 12 ok +0x1400e6cd0 Unwind@1400e6cd0 12 ok +0x1400e6ce0 Unwind@1400e6ce0 12 ok +0x1400e6cf0 Unwind@1400e6cf0 12 ok +0x1400e6d00 Unwind@1400e6d00 12 ok +0x1400e6d10 Unwind@1400e6d10 12 ok +0x1400e6d20 Unwind@1400e6d20 12 ok +0x1400e6d30 Unwind@1400e6d30 12 ok +0x1400e6d40 Unwind@1400e6d40 12 ok +0x1400e6d50 Unwind@1400e6d50 12 ok +0x1400e6d60 Unwind@1400e6d60 12 ok +0x1400e6d70 Unwind@1400e6d70 12 ok +0x1400e6d80 Unwind@1400e6d80 12 ok +0x1400e6d90 Unwind@1400e6d90 12 ok +0x1400e6da0 Unwind@1400e6da0 12 ok +0x1400e6db0 Unwind@1400e6db0 12 ok +0x1400e6dc0 Unwind@1400e6dc0 12 ok +0x1400e6dd0 Unwind@1400e6dd0 12 ok +0x1400e6de0 Unwind@1400e6de0 12 ok +0x1400e6df0 Unwind@1400e6df0 12 ok +0x1400e6e00 Unwind@1400e6e00 12 ok +0x1400e6e10 Unwind@1400e6e10 12 ok +0x1400e6e20 Unwind@1400e6e20 16 ok +0x1400e6e30 Unwind@1400e6e30 16 ok +0x1400e6e40 Unwind@1400e6e40 12 ok +0x1400e6e50 Unwind@1400e6e50 12 ok +0x1400e6e60 Unwind@1400e6e60 12 ok +0x1400e6e70 Unwind@1400e6e70 12 ok +0x1400e6e80 Unwind@1400e6e80 12 ok +0x1400e6e90 Unwind@1400e6e90 16 ok +0x1400e6ea0 Unwind@1400e6ea0 16 ok +0x1400e6eb0 Unwind@1400e6eb0 16 ok +0x1400e6ec0 Unwind@1400e6ec0 16 ok +0x1400e6ed0 Unwind@1400e6ed0 16 ok +0x1400e6ee0 Unwind@1400e6ee0 12 ok +0x1400e6ef0 Unwind@1400e6ef0 12 ok +0x1400e6f00 Unwind@1400e6f00 12 ok +0x1400e6f10 Unwind@1400e6f10 12 ok +0x1400e6f20 Unwind@1400e6f20 12 ok +0x1400e6f30 Unwind@1400e6f30 12 ok +0x1400e6f40 Unwind@1400e6f40 12 ok +0x1400e6f50 Unwind@1400e6f50 12 ok +0x1400e6f60 Unwind@1400e6f60 12 ok +0x1400e6f70 Unwind@1400e6f70 12 ok +0x1400e6f80 Unwind@1400e6f80 12 ok +0x1400e6f90 Catch@1400e6f90 117 ok +0x1400e7010 Unwind@1400e7010 12 ok +0x1400e7020 Catch@1400e7020 117 ok +0x1400e70a0 Unwind@1400e70a0 12 ok +0x1400e70b0 Catch@1400e70b0 117 ok +0x1400e7130 Unwind@1400e7130 12 ok +0x1400e7140 Unwind@1400e7140 12 ok +0x1400e7150 Unwind@1400e7150 12 ok +0x1400e7160 Unwind@1400e7160 12 ok +0x1400e7170 Unwind@1400e7170 12 ok +0x1400e7180 Unwind@1400e7180 12 ok +0x1400e7190 Unwind@1400e7190 12 ok +0x1400e71a0 Unwind@1400e71a0 12 ok +0x1400e71b0 Unwind@1400e71b0 12 ok +0x1400e71c0 Unwind@1400e71c0 12 ok +0x1400e71d0 Unwind@1400e71d0 12 ok +0x1400e71e0 Unwind@1400e71e0 12 ok +0x1400e71f0 Unwind@1400e71f0 12 ok +0x1400e7200 Unwind@1400e7200 12 ok +0x1400e7210 Unwind@1400e7210 12 ok +0x1400e7220 Unwind@1400e7220 12 ok +0x1400e7230 Unwind@1400e7230 12 ok +0x1400e7240 Unwind@1400e7240 12 ok +0x1400e7250 Unwind@1400e7250 12 ok +0x1400e7260 Unwind@1400e7260 12 ok +0x1400e7270 Unwind@1400e7270 12 ok +0x1400e7280 Unwind@1400e7280 12 ok +0x1400e7290 Unwind@1400e7290 12 ok +0x1400e72a0 Unwind@1400e72a0 16 ok +0x1400e72b0 Unwind@1400e72b0 12 ok +0x1400e72c0 Unwind@1400e72c0 12 ok +0x1400e72d0 Unwind@1400e72d0 12 ok +0x1400e72e0 Unwind@1400e72e0 12 ok +0x1400e72f0 Unwind@1400e72f0 12 ok +0x1400e7300 Unwind@1400e7300 12 ok +0x1400e7310 Unwind@1400e7310 12 ok +0x1400e7320 Unwind@1400e7320 12 ok +0x1400e7330 Unwind@1400e7330 12 ok +0x1400e7340 Unwind@1400e7340 19 ok +0x1400e7360 Unwind@1400e7360 12 ok +0x1400e7370 Unwind@1400e7370 19 ok +0x1400e7390 Unwind@1400e7390 12 ok +0x1400e73a0 Unwind@1400e73a0 12 ok +0x1400e73b0 Unwind@1400e73b0 12 ok +0x1400e73c0 Unwind@1400e73c0 12 ok +0x1400e73d0 Unwind@1400e73d0 12 ok +0x1400e73e0 Unwind@1400e73e0 16 ok +0x1400e73f0 Unwind@1400e73f0 12 ok +0x1400e7400 Unwind@1400e7400 12 ok +0x1400e7410 Unwind@1400e7410 19 ok +0x1400e7430 Unwind@1400e7430 12 ok +0x1400e7440 Unwind@1400e7440 19 ok +0x1400e7460 Unwind@1400e7460 12 ok +0x1400e7470 Unwind@1400e7470 12 ok +0x1400e7480 Unwind@1400e7480 12 ok +0x1400e7490 Unwind@1400e7490 12 ok +0x1400e74a0 Unwind@1400e74a0 12 ok +0x1400e74b0 Unwind@1400e74b0 16 ok +0x1400e74c0 Unwind@1400e74c0 12 ok +0x1400e74d0 Unwind@1400e74d0 12 ok +0x1400e74e0 Unwind@1400e74e0 16 ok +0x1400e74f0 Unwind@1400e74f0 16 ok +0x1400e7500 Unwind@1400e7500 12 ok +0x1400e7510 Unwind@1400e7510 12 ok +0x1400e7520 Unwind@1400e7520 12 ok +0x1400e7530 Unwind@1400e7530 12 ok +0x1400e7540 Unwind@1400e7540 12 ok +0x1400e7550 Unwind@1400e7550 12 ok +0x1400e7560 Unwind@1400e7560 19 ok +0x1400e7580 Unwind@1400e7580 12 ok +0x1400e7590 Unwind@1400e7590 19 ok +0x1400e75b0 Unwind@1400e75b0 19 ok +0x1400e75d0 Unwind@1400e75d0 12 ok +0x1400e75e0 Unwind@1400e75e0 19 ok +0x1400e7600 Unwind@1400e7600 19 ok +0x1400e7620 Unwind@1400e7620 16 ok +0x1400e7630 Unwind@1400e7630 16 ok +0x1400e7640 Unwind@1400e7640 12 ok +0x1400e7650 Unwind@1400e7650 12 ok +0x1400e7660 Unwind@1400e7660 16 ok +0x1400e7670 Unwind@1400e7670 16 ok +0x1400e7680 Unwind@1400e7680 12 ok +0x1400e7690 Unwind@1400e7690 12 ok +0x1400e76a0 Unwind@1400e76a0 12 ok +0x1400e76b0 Unwind@1400e76b0 12 ok +0x1400e76c0 Unwind@1400e76c0 12 ok +0x1400e76d0 Unwind@1400e76d0 12 ok +0x1400e76e0 Unwind@1400e76e0 12 ok +0x1400e76f0 Unwind@1400e76f0 12 ok +0x1400e7700 Unwind@1400e7700 16 ok +0x1400e7710 Unwind@1400e7710 16 ok +0x1400e7720 Unwind@1400e7720 12 ok +0x1400e7730 Unwind@1400e7730 16 ok +0x1400e7740 Unwind@1400e7740 12 ok +0x1400e7750 Unwind@1400e7750 16 ok +0x1400e7760 Unwind@1400e7760 12 ok +0x1400e7770 Unwind@1400e7770 12 ok +0x1400e7780 Unwind@1400e7780 12 ok +0x1400e7790 Unwind@1400e7790 12 ok +0x1400e77a0 Unwind@1400e77a0 12 ok +0x1400e77b0 Unwind@1400e77b0 12 ok +0x1400e77c0 Unwind@1400e77c0 12 ok +0x1400e77d0 Unwind@1400e77d0 16 ok +0x1400e77e0 Unwind@1400e77e0 16 ok +0x1400e77f0 Unwind@1400e77f0 12 ok +0x1400e7800 Unwind@1400e7800 12 ok +0x1400e7810 Unwind@1400e7810 12 ok +0x1400e7820 Unwind@1400e7820 19 ok +0x1400e7840 Unwind@1400e7840 12 ok +0x1400e7850 Unwind@1400e7850 19 ok +0x1400e7870 Unwind@1400e7870 16 ok +0x1400e7880 Unwind@1400e7880 12 ok +0x1400e7890 Unwind@1400e7890 12 ok +0x1400e78a0 Unwind@1400e78a0 12 ok +0x1400e78b0 Unwind@1400e78b0 19 ok +0x1400e78d0 Unwind@1400e78d0 12 ok +0x1400e78e0 Unwind@1400e78e0 19 ok +0x1400e7900 Unwind@1400e7900 16 ok +0x1400e7910 Unwind@1400e7910 12 ok +0x1400e7920 Unwind@1400e7920 12 ok +0x1400e7930 Unwind@1400e7930 12 ok +0x1400e7940 Unwind@1400e7940 12 ok +0x1400e7950 Unwind@1400e7950 19 ok +0x1400e7970 Unwind@1400e7970 12 ok +0x1400e7980 Unwind@1400e7980 19 ok +0x1400e79a0 Unwind@1400e79a0 16 ok +0x1400e79b0 Unwind@1400e79b0 12 ok +0x1400e79c0 Unwind@1400e79c0 12 ok +0x1400e79d0 Unwind@1400e79d0 12 ok +0x1400e79e0 Unwind@1400e79e0 12 ok +0x1400e79f0 Unwind@1400e79f0 12 ok +0x1400e7a00 Unwind@1400e7a00 12 ok +0x1400e7a10 Unwind@1400e7a10 12 ok +0x1400e7a20 Unwind@1400e7a20 16 ok +0x1400e7a30 Unwind@1400e7a30 12 ok +0x1400e7a40 Unwind@1400e7a40 12 ok +0x1400e7a50 Unwind@1400e7a50 12 ok +0x1400e7a60 Unwind@1400e7a60 12 ok +0x1400e7a70 Unwind@1400e7a70 12 ok +0x1400e7a80 Unwind@1400e7a80 19 ok +0x1400e7aa0 Unwind@1400e7aa0 12 ok +0x1400e7ab0 Unwind@1400e7ab0 19 ok +0x1400e7ad0 Unwind@1400e7ad0 12 ok +0x1400e7ae0 Unwind@1400e7ae0 16 ok +0x1400e7af0 Unwind@1400e7af0 45 ok +0x1400e7b20 Unwind@1400e7b20 48 ok +0x1400e7b50 Unwind@1400e7b50 45 ok +0x1400e7b80 Unwind@1400e7b80 48 ok +0x1400e7bb0 Unwind@1400e7bb0 12 ok +0x1400e7bc0 Unwind@1400e7bc0 16 ok +0x1400e7bd0 Unwind@1400e7bd0 16 ok +0x1400e7be0 Unwind@1400e7be0 19 ok +0x1400e7c00 Unwind@1400e7c00 19 ok +0x1400e7c20 Unwind@1400e7c20 19 ok +0x1400e7c40 Unwind@1400e7c40 19 ok +0x1400e7c60 Unwind@1400e7c60 19 ok +0x1400e7c80 Unwind@1400e7c80 12 ok +0x1400e7c90 Unwind@1400e7c90 16 ok +0x1400e7ca0 Unwind@1400e7ca0 16 ok +0x1400e7cb0 Unwind@1400e7cb0 19 ok +0x1400e7cd0 Unwind@1400e7cd0 19 ok +0x1400e7cf0 Unwind@1400e7cf0 19 ok +0x1400e7d10 Unwind@1400e7d10 19 ok +0x1400e7d30 Unwind@1400e7d30 19 ok +0x1400e7d50 Unwind@1400e7d50 12 ok +0x1400e7d60 Unwind@1400e7d60 12 ok +0x1400e7d70 Unwind@1400e7d70 12 ok +0x1400e7d80 Unwind@1400e7d80 32 ok +0x1400e7da0 Unwind@1400e7da0 12 ok +0x1400e7db0 Unwind@1400e7db0 12 ok +0x1400e7dc0 Unwind@1400e7dc0 12 ok +0x1400e7dd0 Unwind@1400e7dd0 12 ok +0x1400e7de0 Unwind@1400e7de0 12 ok +0x1400e7df0 Unwind@1400e7df0 12 ok +0x1400e7e00 Unwind@1400e7e00 12 ok +0x1400e7e10 Unwind@1400e7e10 12 ok +0x1400e7e20 Unwind@1400e7e20 12 ok +0x1400e7e30 Unwind@1400e7e30 12 ok +0x1400e7e40 Unwind@1400e7e40 12 ok +0x1400e7e50 Unwind@1400e7e50 12 ok +0x1400e7e60 Unwind@1400e7e60 12 ok +0x1400e7e70 Unwind@1400e7e70 12 ok +0x1400e7e80 Unwind@1400e7e80 12 ok +0x1400e7e90 Unwind@1400e7e90 12 ok +0x1400e7ea0 Unwind@1400e7ea0 12 ok +0x1400e7eb0 Unwind@1400e7eb0 12 ok +0x1400e7ec0 Unwind@1400e7ec0 12 ok +0x1400e7ed0 Unwind@1400e7ed0 12 ok +0x1400e7ee0 Unwind@1400e7ee0 12 ok +0x1400e7ef0 Unwind@1400e7ef0 12 ok +0x1400e7f00 Unwind@1400e7f00 12 ok +0x1400e7f10 Unwind@1400e7f10 12 ok +0x1400e7f20 Catch@1400e7f20 351 ok +0x1400e8090 Unwind@1400e8090 12 ok +0x1400e80a0 Unwind@1400e80a0 12 ok +0x1400e80b0 Unwind@1400e80b0 12 ok +0x1400e80c0 Unwind@1400e80c0 12 ok +0x1400e80d0 Unwind@1400e80d0 12 ok +0x1400e80e0 Unwind@1400e80e0 16 ok +0x1400e80f0 Unwind@1400e80f0 12 ok +0x1400e8100 Unwind@1400e8100 12 ok +0x1400e8110 Unwind@1400e8110 12 ok +0x1400e8120 Unwind@1400e8120 12 ok +0x1400e8130 Unwind@1400e8130 16 ok +0x1400e8140 Unwind@1400e8140 12 ok +0x1400e8150 Unwind@1400e8150 12 ok +0x1400e8160 Unwind@1400e8160 12 ok +0x1400e8170 Unwind@1400e8170 12 ok +0x1400e8180 Unwind@1400e8180 12 ok +0x1400e8190 Unwind@1400e8190 12 ok +0x1400e81a0 Unwind@1400e81a0 12 ok +0x1400e81b0 Unwind@1400e81b0 32 ok +0x1400e81d0 Unwind@1400e81d0 31 ok +0x1400e81f0 Unwind@1400e81f0 12 ok +0x1400e8200 Unwind@1400e8200 12 ok +0x1400e8210 Catch@1400e8210 117 ok +0x1400e8290 Unwind@1400e8290 12 ok +0x1400e82a0 Catch@1400e82a0 117 ok +0x1400e8320 Unwind@1400e8320 12 ok +0x1400e8330 Catch@1400e8330 117 ok +0x1400e83b0 Unwind@1400e83b0 12 ok +0x1400e83c0 Unwind@1400e83c0 12 ok +0x1400e83d0 Unwind@1400e83d0 12 ok +0x1400e83e0 Unwind@1400e83e0 12 ok +0x1400e83f0 Unwind@1400e83f0 12 ok +0x1400e8400 Unwind@1400e8400 12 ok +0x1400e8410 Unwind@1400e8410 12 ok +0x1400e8420 Unwind@1400e8420 12 ok +0x1400e8430 Catch@1400e8430 255 ok +0x1400e8530 Unwind@1400e8530 12 ok +0x1400e8540 Unwind@1400e8540 12 ok +0x1400e8550 Unwind@1400e8550 12 ok +0x1400e8560 Catch@1400e8560 264 ok +0x1400e8670 Unwind@1400e8670 12 ok +0x1400e8680 Unwind@1400e8680 12 ok +0x1400e8690 Unwind@1400e8690 12 ok +0x1400e86a0 Catch@1400e86a0 53 ok +0x1400e86e0 Unwind@1400e86e0 12 ok +0x1400e86f0 Unwind@1400e86f0 12 ok +0x1400e8700 Unwind@1400e8700 12 ok +0x1400e8710 Unwind@1400e8710 12 ok +0x1400e8720 Unwind@1400e8720 12 ok +0x1400e8730 Unwind@1400e8730 16 ok +0x1400e8740 Unwind@1400e8740 16 ok +0x1400e8750 Unwind@1400e8750 12 ok +0x1400e8760 Unwind@1400e8760 16 ok +0x1400e8770 Unwind@1400e8770 16 ok +0x1400e8780 Unwind@1400e8780 12 ok +0x1400e8790 Unwind@1400e8790 12 ok +0x1400e87a0 Unwind@1400e87a0 16 ok +0x1400e87b0 Unwind@1400e87b0 12 ok +0x1400e87c0 Unwind@1400e87c0 12 ok +0x1400e87d0 Unwind@1400e87d0 16 ok +0x1400e87e0 Unwind@1400e87e0 12 ok +0x1400e87f0 Unwind@1400e87f0 16 ok +0x1400e8800 Unwind@1400e8800 12 ok +0x1400e8810 Unwind@1400e8810 16 ok +0x1400e8820 Unwind@1400e8820 12 ok +0x1400e8830 Unwind@1400e8830 12 ok +0x1400e8840 Unwind@1400e8840 12 ok +0x1400e8850 Unwind@1400e8850 12 ok +0x1400e8860 Unwind@1400e8860 12 ok +0x1400e8870 Unwind@1400e8870 12 ok +0x1400e8880 Unwind@1400e8880 12 ok +0x1400e8890 Unwind@1400e8890 12 ok +0x1400e88a0 Catch@1400e88a0 57 ok +0x1400e88e0 Catch@1400e88e0 57 ok +0x1400e8920 Catch@1400e8920 57 ok +0x1400e8960 Unwind@1400e8960 12 ok +0x1400e8970 Unwind@1400e8970 12 ok +0x1400e8980 Unwind@1400e8980 12 ok +0x1400e8990 Unwind@1400e8990 12 ok +0x1400e89a0 Unwind@1400e89a0 12 ok +0x1400e89b0 Unwind@1400e89b0 12 ok +0x1400e89c0 Unwind@1400e89c0 12 ok +0x1400e89d0 Unwind@1400e89d0 12 ok +0x1400e89e0 Unwind@1400e89e0 12 ok +0x1400e89f0 Unwind@1400e89f0 12 ok +0x1400e8a00 Unwind@1400e8a00 12 ok +0x1400e8a10 Unwind@1400e8a10 12 ok +0x1400e8a20 Unwind@1400e8a20 12 ok +0x1400e8a30 Unwind@1400e8a30 12 ok +0x1400e8a40 Unwind@1400e8a40 12 ok +0x1400e8a50 Unwind@1400e8a50 12 ok +0x1400e8a60 Catch@1400e8a60 108 ok +0x1400e8ad0 Unwind@1400e8ad0 12 ok +0x1400e8ae0 Catch@1400e8ae0 137 ok +0x1400e8b70 Unwind@1400e8b70 12 ok +0x1400e8b80 Catch@1400e8b80 54 ok +0x1400e8bc0 Unwind@1400e8bc0 12 ok +0x1400e8bd0 Unwind@1400e8bd0 12 ok +0x1400e8be0 Unwind@1400e8be0 12 ok +0x1400e8bf0 Unwind@1400e8bf0 12 ok +0x1400e8c00 Unwind@1400e8c00 12 ok +0x1400e8c10 Unwind@1400e8c10 12 ok +0x1400e8c20 Unwind@1400e8c20 16 ok +0x1400e8c30 Unwind@1400e8c30 12 ok +0x1400e8c40 Unwind@1400e8c40 12 ok +0x1400e8c50 Unwind@1400e8c50 12 ok +0x1400e8c60 Unwind@1400e8c60 12 ok +0x1400e8c70 Unwind@1400e8c70 12 ok +0x1400e8c80 Unwind@1400e8c80 12 ok +0x1400e8c90 Unwind@1400e8c90 12 ok +0x1400e8ca0 Unwind@1400e8ca0 12 ok +0x1400e8cb0 Unwind@1400e8cb0 12 ok +0x1400e8cc0 Catch_All@1400e8cc0 26 ok +0x1400e8ce0 Unwind@1400e8ce0 12 ok +0x1400e8cf0 Unwind@1400e8cf0 12 ok +0x1400e8d00 Unwind@1400e8d00 12 ok +0x1400e8d10 Unwind@1400e8d10 12 ok +0x1400e8d20 Unwind@1400e8d20 31 ok +0x1400e8d40 Unwind@1400e8d40 12 ok +0x1400e8d50 Unwind@1400e8d50 12 ok +0x1400e8d60 Unwind@1400e8d60 12 ok +0x1400e8d70 Unwind@1400e8d70 28 ok +0x1400e8d90 Unwind@1400e8d90 12 ok +0x1400e8da0 Unwind@1400e8da0 12 ok +0x1400e8db0 Unwind@1400e8db0 12 ok +0x1400e8dc0 Unwind@1400e8dc0 12 ok +0x1400e8dd0 Unwind@1400e8dd0 12 ok +0x1400e8de0 Unwind@1400e8de0 12 ok +0x1400e8df0 Unwind@1400e8df0 12 ok +0x1400e8e00 Unwind@1400e8e00 34 ok +0x1400e8e30 Unwind@1400e8e30 12 ok +0x1400e8e40 Unwind@1400e8e40 12 ok +0x1400e8e50 Unwind@1400e8e50 12 ok +0x1400e8e60 Unwind@1400e8e60 12 ok +0x1400e8e70 Unwind@1400e8e70 12 ok +0x1400e8e80 Unwind@1400e8e80 12 ok +0x1400e8e90 Unwind@1400e8e90 12 ok +0x1400e8ea0 Unwind@1400e8ea0 12 ok +0x1400e8eb0 Unwind@1400e8eb0 12 ok +0x1400e8ec0 Unwind@1400e8ec0 16 ok +0x1400e8ed0 Unwind@1400e8ed0 16 ok +0x1400e8ee0 Unwind@1400e8ee0 16 ok +0x1400e8ef0 Unwind@1400e8ef0 19 ok +0x1400e8f10 Unwind@1400e8f10 12 ok +0x1400e8f20 Unwind@1400e8f20 16 ok +0x1400e8f30 Unwind@1400e8f30 16 ok +0x1400e8f40 Unwind@1400e8f40 12 ok +0x1400e8f50 Unwind@1400e8f50 12 ok +0x1400e8f60 Unwind@1400e8f60 12 ok +0x1400e8f70 Unwind@1400e8f70 32 ok +0x1400e8f90 Unwind@1400e8f90 32 ok +0x1400e8fb0 Unwind@1400e8fb0 16 ok +0x1400e8fc0 Unwind@1400e8fc0 16 ok +0x1400e8fd0 Unwind@1400e8fd0 16 ok +0x1400e8fe0 Unwind@1400e8fe0 12 ok +0x1400e8ff0 Unwind@1400e8ff0 16 ok +0x1400e9000 Unwind@1400e9000 16 ok +0x1400e9010 Unwind@1400e9010 16 ok +0x1400e9020 Unwind@1400e9020 12 ok +0x1400e9030 Unwind@1400e9030 12 ok +0x1400e9040 Unwind@1400e9040 16 ok +0x1400e9050 Catch@1400e9050 37 ok +0x1400e9080 Unwind@1400e9080 12 ok +0x1400e9090 Unwind@1400e9090 12 ok +0x1400e90a0 Unwind@1400e90a0 16 ok +0x1400e90b0 Catch@1400e90b0 37 ok +0x1400e90e0 Unwind@1400e90e0 12 ok +0x1400e90f0 Catch@1400e90f0 37 ok +0x1400e9120 Catch@1400e9120 37 ok +0x1400e9150 Unwind@1400e9150 12 ok +0x1400e9160 Unwind@1400e9160 22 ok +0x1400e9180 Unwind@1400e9180 12 ok +0x1400e9190 Unwind@1400e9190 16 ok +0x1400e91a0 Unwind@1400e91a0 16 ok +0x1400e91b0 Unwind@1400e91b0 16 ok +0x1400e91c0 Unwind@1400e91c0 16 ok +0x1400e91d0 Unwind@1400e91d0 16 ok +0x1400e91e0 Unwind@1400e91e0 16 ok +0x1400e91f0 Unwind@1400e91f0 19 ok +0x1400e9210 Unwind@1400e9210 12 ok +0x1400e9220 Unwind@1400e9220 12 ok +0x1400e9230 Unwind@1400e9230 12 ok +0x1400e9240 Unwind@1400e9240 12 ok +0x1400e9250 Unwind@1400e9250 12 ok +0x1400e9260 Unwind@1400e9260 12 ok +0x1400e9270 Unwind@1400e9270 12 ok +0x1400e9280 Unwind@1400e9280 12 ok +0x1400e9290 Unwind@1400e9290 12 ok +0x1400e92a0 Unwind@1400e92a0 12 ok +0x1400e92b0 Unwind@1400e92b0 12 ok +0x1400e92c0 Unwind@1400e92c0 12 ok +0x1400e92d0 Unwind@1400e92d0 12 ok +0x1400e92e0 Unwind@1400e92e0 12 ok +0x1400e92f0 Unwind@1400e92f0 12 ok +0x1400e9300 Unwind@1400e9300 12 ok +0x1400e9310 Unwind@1400e9310 12 ok +0x1400e9320 Unwind@1400e9320 16 ok +0x1400e9330 Unwind@1400e9330 16 ok +0x1400e9340 Unwind@1400e9340 16 ok +0x1400e9350 Unwind@1400e9350 16 ok +0x1400e9360 Unwind@1400e9360 16 ok +0x1400e9370 Unwind@1400e9370 12 ok +0x1400e9380 Unwind@1400e9380 16 ok +0x1400e9390 Unwind@1400e9390 19 ok +0x1400e93b0 Unwind@1400e93b0 12 ok +0x1400e93c0 Unwind@1400e93c0 12 ok +0x1400e93d0 Catch_All@1400e93d0 26 ok +0x1400e93f0 Unwind@1400e93f0 12 ok +0x1400e9400 Unwind@1400e9400 12 ok +0x1400e9410 Unwind@1400e9410 29 ok +0x1400e9430 Unwind@1400e9430 38 ok +0x1400e9460 Unwind@1400e9460 12 ok +0x1400e9470 Unwind@1400e9470 16 ok +0x1400e9480 Unwind@1400e9480 16 ok +0x1400e9490 Unwind@1400e9490 12 ok +0x1400e94a0 Unwind@1400e94a0 16 ok +0x1400e94b0 Unwind@1400e94b0 16 ok +0x1400e94c0 Unwind@1400e94c0 19 ok +0x1400e94e0 Unwind@1400e94e0 16 ok +0x1400e94f0 Unwind@1400e94f0 19 ok +0x1400e9510 Unwind@1400e9510 19 ok +0x1400e9530 Unwind@1400e9530 19 ok +0x1400e9550 Unwind@1400e9550 19 ok +0x1400e9570 Unwind@1400e9570 19 ok +0x1400e9590 Unwind@1400e9590 19 ok +0x1400e95b0 Unwind@1400e95b0 19 ok +0x1400e95d0 Unwind@1400e95d0 19 ok +0x1400e95f0 Unwind@1400e95f0 19 ok +0x1400e9610 Unwind@1400e9610 19 ok +0x1400e9630 Unwind@1400e9630 19 ok +0x1400e9650 Unwind@1400e9650 19 ok +0x1400e9670 Unwind@1400e9670 19 ok +0x1400e9690 Unwind@1400e9690 12 ok +0x1400e96a0 Unwind@1400e96a0 12 ok +0x1400e96b0 Unwind@1400e96b0 16 ok +0x1400e96c0 Unwind@1400e96c0 16 ok +0x1400e96d0 Unwind@1400e96d0 19 ok +0x1400e96f0 Unwind@1400e96f0 16 ok +0x1400e9700 Unwind@1400e9700 19 ok +0x1400e9720 Unwind@1400e9720 19 ok +0x1400e9740 Unwind@1400e9740 19 ok +0x1400e9760 Unwind@1400e9760 19 ok +0x1400e9780 Unwind@1400e9780 19 ok +0x1400e97a0 Unwind@1400e97a0 19 ok +0x1400e97c0 Unwind@1400e97c0 19 ok +0x1400e97e0 Unwind@1400e97e0 19 ok +0x1400e9800 Unwind@1400e9800 19 ok +0x1400e9820 Unwind@1400e9820 19 ok +0x1400e9840 Unwind@1400e9840 19 ok +0x1400e9860 Unwind@1400e9860 19 ok +0x1400e9880 Unwind@1400e9880 19 ok +0x1400e98a0 Unwind@1400e98a0 12 ok +0x1400e98b0 Unwind@1400e98b0 12 ok +0x1400e98c0 Unwind@1400e98c0 16 ok +0x1400e98d0 Unwind@1400e98d0 12 ok +0x1400e98e0 Unwind@1400e98e0 16 ok +0x1400e98f0 Unwind@1400e98f0 19 ok +0x1400e9910 Unwind@1400e9910 12 ok +0x1400e9920 Unwind@1400e9920 19 ok +0x1400e9940 Unwind@1400e9940 12 ok +0x1400e9950 Unwind@1400e9950 12 ok +0x1400e9960 Catch_All@1400e9960 26 ok +0x1400e9980 Catch_All@1400e9980 26 ok +0x1400e99a0 Unwind@1400e99a0 12 ok +0x1400e99b0 Unwind@1400e99b0 12 ok +0x1400e99c0 Unwind@1400e99c0 12 ok +0x1400e99d0 Unwind@1400e99d0 16 ok +0x1400e99e0 Unwind@1400e99e0 19 ok +0x1400e9a00 Catch_All@1400e9a00 38 ok +0x1400e9a30 Catch_All@1400e9a30 38 ok +0x1400e9a60 Unwind@1400e9a60 12 ok +0x1400e9a70 Unwind@1400e9a70 16 ok +0x1400e9a80 Unwind@1400e9a80 19 ok +0x1400e9aa0 Unwind@1400e9aa0 12 ok +0x1400e9ab0 Unwind@1400e9ab0 16 ok +0x1400e9ac0 Unwind@1400e9ac0 19 ok +0x1400e9ae0 Unwind@1400e9ae0 12 ok +0x1400e9af0 Unwind@1400e9af0 12 ok +0x1400e9b00 Unwind@1400e9b00 12 ok +0x1400e9b10 Unwind@1400e9b10 34 ok +0x1400e9b40 Unwind@1400e9b40 12 ok +0x1400e9b50 Unwind@1400e9b50 16 ok +0x1400e9b60 Unwind@1400e9b60 16 ok +0x1400e9b70 Unwind@1400e9b70 16 ok +0x1400e9b80 Unwind@1400e9b80 16 ok +0x1400e9b90 Unwind@1400e9b90 16 ok +0x1400e9ba0 Unwind@1400e9ba0 16 ok +0x1400e9bb0 Unwind@1400e9bb0 16 ok +0x1400e9bc0 Unwind@1400e9bc0 16 ok +0x1400e9bd0 Unwind@1400e9bd0 16 ok +0x1400e9be0 Unwind@1400e9be0 16 ok +0x1400e9bf0 Unwind@1400e9bf0 16 ok +0x1400e9c00 Unwind@1400e9c00 16 ok +0x1400e9c10 Unwind@1400e9c10 12 ok +0x1400e9c20 Unwind@1400e9c20 12 ok +0x1400e9c30 Unwind@1400e9c30 12 ok +0x1400e9c40 Unwind@1400e9c40 12 ok +0x1400e9c50 Unwind@1400e9c50 12 ok +0x1400e9c60 Unwind@1400e9c60 12 ok +0x1400e9c70 Unwind@1400e9c70 12 ok +0x1400e9c80 Unwind@1400e9c80 16 ok +0x1400e9c90 Unwind@1400e9c90 19 ok +0x1400e9cb0 Unwind@1400e9cb0 12 ok +0x1400e9cc0 Unwind@1400e9cc0 16 ok +0x1400e9cd0 Unwind@1400e9cd0 19 ok +0x1400e9cf0 Unwind@1400e9cf0 12 ok +0x1400e9d00 Unwind@1400e9d00 16 ok +0x1400e9d20 Unwind@1400e9d20 12 ok +0x1400e9d30 Unwind@1400e9d30 16 ok +0x1400e9d40 Unwind@1400e9d40 19 ok +0x1400e9d60 Unwind@1400e9d60 19 ok +0x1400e9d80 Unwind@1400e9d80 16 ok +0x1400e9d90 Unwind@1400e9d90 19 ok +0x1400e9db0 Unwind@1400e9db0 19 ok +0x1400e9dd0 Unwind@1400e9dd0 12 ok +0x1400e9de0 Unwind@1400e9de0 12 ok +0x1400e9df0 Unwind@1400e9df0 12 ok +0x1400e9e00 Unwind@1400e9e00 12 ok +0x1400e9e10 Unwind@1400e9e10 12 ok +0x1400e9e20 Unwind@1400e9e20 12 ok +0x1400e9e30 Unwind@1400e9e30 16 ok +0x1400e9e40 Unwind@1400e9e40 19 ok +0x1400e9e60 Unwind@1400e9e60 38 ok +0x1400e9e90 Unwind@1400e9e90 12 ok +0x1400e9ea0 Unwind@1400e9ea0 12 ok +0x1400e9eb0 Unwind@1400e9eb0 12 ok +0x1400e9ec0 Unwind@1400e9ec0 12 ok +0x1400e9ed0 Unwind@1400e9ed0 12 ok +0x1400e9ee0 Unwind@1400e9ee0 12 ok +0x1400e9ef0 Unwind@1400e9ef0 19 ok +0x1400e9f10 Unwind@1400e9f10 16 ok +0x1400e9f20 Unwind@1400e9f20 16 ok +0x1400e9f30 Unwind@1400e9f30 16 ok +0x1400e9f40 Unwind@1400e9f40 19 ok +0x1400e9f60 Unwind@1400e9f60 19 ok +0x1400e9f80 Unwind@1400e9f80 19 ok +0x1400e9fa0 Unwind@1400e9fa0 19 ok +0x1400e9fc0 Unwind@1400e9fc0 19 ok +0x1400e9fe0 Unwind@1400e9fe0 19 ok +0x1400ea000 Unwind@1400ea000 19 ok +0x1400ea020 Unwind@1400ea020 12 ok +0x1400ea030 Unwind@1400ea030 12 ok +0x1400ea040 Unwind@1400ea040 19 ok +0x1400ea060 Unwind@1400ea060 12 ok +0x1400ea070 Unwind@1400ea070 19 ok +0x1400ea090 Unwind@1400ea090 16 ok +0x1400ea0a0 Unwind@1400ea0a0 12 ok +0x1400ea0b0 Unwind@1400ea0b0 19 ok +0x1400ea0d0 Unwind@1400ea0d0 16 ok +0x1400ea0e0 Unwind@1400ea0e0 16 ok +0x1400ea0f0 Unwind@1400ea0f0 16 ok +0x1400ea100 Unwind@1400ea100 19 ok +0x1400ea120 Unwind@1400ea120 19 ok +0x1400ea140 Unwind@1400ea140 19 ok +0x1400ea160 Unwind@1400ea160 19 ok +0x1400ea180 Unwind@1400ea180 19 ok +0x1400ea1a0 Unwind@1400ea1a0 19 ok +0x1400ea1c0 Unwind@1400ea1c0 19 ok +0x1400ea1e0 Unwind@1400ea1e0 12 ok +0x1400ea1f0 Unwind@1400ea1f0 32 ok +0x1400ea210 Unwind@1400ea210 12 ok +0x1400ea220 Unwind@1400ea220 12 ok +0x1400ea230 Unwind@1400ea230 12 ok +0x1400ea240 Unwind@1400ea240 16 ok +0x1400ea250 Unwind@1400ea250 12 ok +0x1400ea260 Unwind@1400ea260 12 ok +0x1400ea270 Unwind@1400ea270 12 ok +0x1400ea280 Unwind@1400ea280 12 ok +0x1400ea290 Unwind@1400ea290 12 ok +0x1400ea2a0 Unwind@1400ea2a0 12 ok +0x1400ea2b0 Unwind@1400ea2b0 12 ok +0x1400ea2c0 Unwind@1400ea2c0 19 ok +0x1400ea2e0 Unwind@1400ea2e0 12 ok +0x1400ea2f0 Unwind@1400ea2f0 16 ok +0x1400ea300 Unwind@1400ea300 12 ok +0x1400ea310 Unwind@1400ea310 12 ok +0x1400ea320 Unwind@1400ea320 16 ok +0x1400ea330 Unwind@1400ea330 16 ok +0x1400ea340 Unwind@1400ea340 16 ok +0x1400ea350 Unwind@1400ea350 16 ok +0x1400ea360 Unwind@1400ea360 16 ok +0x1400ea370 Unwind@1400ea370 16 ok +0x1400ea380 Unwind@1400ea380 16 ok +0x1400ea390 Unwind@1400ea390 16 ok +0x1400ea3a0 Unwind@1400ea3a0 16 ok +0x1400ea3b0 Unwind@1400ea3b0 16 ok +0x1400ea3c0 Unwind@1400ea3c0 16 ok +0x1400ea3d0 Unwind@1400ea3d0 16 ok +0x1400ea3e0 Unwind@1400ea3e0 16 ok +0x1400ea3f0 Unwind@1400ea3f0 16 ok +0x1400ea400 Unwind@1400ea400 12 ok +0x1400ea410 Unwind@1400ea410 16 ok +0x1400ea420 Unwind@1400ea420 16 ok +0x1400ea430 Unwind@1400ea430 12 ok +0x1400ea440 Unwind@1400ea440 12 ok +0x1400ea450 Unwind@1400ea450 16 ok +0x1400ea460 Unwind@1400ea460 16 ok +0x1400ea470 Catch@1400ea470 37 ok +0x1400ea4a0 Unwind@1400ea4a0 12 ok +0x1400ea4b0 Catch@1400ea4b0 37 ok +0x1400ea4e0 Unwind@1400ea4e0 12 ok +0x1400ea4f0 Unwind@1400ea4f0 22 ok +0x1400ea510 Unwind@1400ea510 12 ok +0x1400ea520 Unwind@1400ea520 12 ok +0x1400ea530 Unwind@1400ea530 12 ok +0x1400ea540 Unwind@1400ea540 12 ok +0x1400ea550 Unwind@1400ea550 12 ok +0x1400ea560 Unwind@1400ea560 12 ok +0x1400ea570 Unwind@1400ea570 12 ok +0x1400ea580 Unwind@1400ea580 12 ok +0x1400ea590 Unwind@1400ea590 12 ok +0x1400ea5a0 Unwind@1400ea5a0 12 ok +0x1400ea5b0 Unwind@1400ea5b0 12 ok +0x1400ea5c0 Unwind@1400ea5c0 12 ok +0x1400ea5d0 Unwind@1400ea5d0 12 ok +0x1400ea5e0 Unwind@1400ea5e0 12 ok +0x1400ea5f0 Unwind@1400ea5f0 12 ok +0x1400ea600 Unwind@1400ea600 16 ok +0x1400ea610 Unwind@1400ea610 16 ok +0x1400ea620 Unwind@1400ea620 19 ok +0x1400ea640 Unwind@1400ea640 29 ok +0x1400ea660 Unwind@1400ea660 38 ok +0x1400ea690 Unwind@1400ea690 12 ok +0x1400ea6a0 Unwind@1400ea6a0 16 ok +0x1400ea6b0 Unwind@1400ea6b0 16 ok +0x1400ea6c0 Unwind@1400ea6c0 16 ok +0x1400ea6d0 Unwind@1400ea6d0 12 ok +0x1400ea6e0 Unwind@1400ea6e0 16 ok +0x1400ea6f0 Unwind@1400ea6f0 16 ok +0x1400ea700 Unwind@1400ea700 16 ok +0x1400ea710 Unwind@1400ea710 12 ok +0x1400ea720 Unwind@1400ea720 19 ok +0x1400ea740 Unwind@1400ea740 12 ok +0x1400ea750 Unwind@1400ea750 19 ok +0x1400ea770 Unwind@1400ea770 47 ok +0x1400ea7a0 Unwind@1400ea7a0 38 ok +0x1400ea7d0 Unwind@1400ea7d0 12 ok +0x1400ea7e0 Unwind@1400ea7e0 16 ok +0x1400ea7f0 Unwind@1400ea7f0 12 ok +0x1400ea800 Unwind@1400ea800 16 ok +0x1400ea810 Unwind@1400ea810 12 ok +0x1400ea820 Unwind@1400ea820 12 ok +0x1400ea830 Unwind@1400ea830 12 ok +0x1400ea840 Unwind@1400ea840 12 ok +0x1400ea850 Unwind@1400ea850 12 ok +0x1400ea860 Unwind@1400ea860 22 ok +0x1400ea880 Unwind@1400ea880 12 ok +0x1400ea890 Unwind@1400ea890 12 ok +0x1400ea8a0 Unwind@1400ea8a0 12 ok +0x1400ea8b0 Unwind@1400ea8b0 12 ok +0x1400ea8c0 Unwind@1400ea8c0 16 ok +0x1400ea8d0 Unwind@1400ea8d0 12 ok +0x1400ea8e0 Unwind@1400ea8e0 12 ok +0x1400ea8f0 Unwind@1400ea8f0 16 ok +0x1400ea900 Unwind@1400ea900 16 ok +0x1400ea910 Unwind@1400ea910 12 ok +0x1400ea920 Unwind@1400ea920 12 ok +0x1400ea930 Unwind@1400ea930 12 ok +0x1400ea940 Unwind@1400ea940 12 ok +0x1400ea950 Unwind@1400ea950 12 ok +0x1400ea960 Unwind@1400ea960 12 ok +0x1400ea970 Unwind@1400ea970 12 ok +0x1400ea980 Unwind@1400ea980 12 ok +0x1400ea990 Unwind@1400ea990 12 ok +0x1400ea9a0 Unwind@1400ea9a0 12 ok +0x1400ea9b0 Unwind@1400ea9b0 12 ok +0x1400ea9c0 Unwind@1400ea9c0 12 ok +0x1400ea9d0 Unwind@1400ea9d0 12 ok +0x1400ea9e0 Unwind@1400ea9e0 16 ok +0x1400ea9f0 Unwind@1400ea9f0 12 ok +0x1400eaa00 Unwind@1400eaa00 12 ok +0x1400eaa10 Unwind@1400eaa10 16 ok +0x1400eaa20 Unwind@1400eaa20 12 ok +0x1400eaa30 Unwind@1400eaa30 12 ok +0x1400eaa40 Unwind@1400eaa40 12 ok +0x1400eaa50 Unwind@1400eaa50 12 ok +0x1400eaa60 Unwind@1400eaa60 12 ok +0x1400eaa70 Unwind@1400eaa70 12 ok +0x1400eaa80 Unwind@1400eaa80 12 ok +0x1400eaa90 Unwind@1400eaa90 19 ok +0x1400eaab0 Unwind@1400eaab0 12 ok +0x1400eaac0 Unwind@1400eaac0 19 ok +0x1400eaae0 Unwind@1400eaae0 16 ok +0x1400eaaf0 Unwind@1400eaaf0 12 ok +0x1400eab00 Unwind@1400eab00 12 ok +0x1400eab10 Unwind@1400eab10 16 ok +0x1400eab20 Unwind@1400eab20 12 ok +0x1400eab30 Unwind@1400eab30 12 ok +0x1400eab40 Unwind@1400eab40 12 ok +0x1400eab50 Unwind@1400eab50 28 ok +0x1400eab70 Unwind@1400eab70 12 ok +0x1400eab80 Unwind@1400eab80 12 ok +0x1400eab90 Unwind@1400eab90 12 ok +0x1400eaba0 Unwind@1400eaba0 12 ok +0x1400eabb0 Unwind@1400eabb0 12 ok +0x1400eabc0 Unwind@1400eabc0 16 ok +0x1400eabd0 Unwind@1400eabd0 16 ok +0x1400eabe0 Unwind@1400eabe0 12 ok +0x1400eabf0 Unwind@1400eabf0 12 ok +0x1400eac00 Unwind@1400eac00 12 ok +0x1400eac10 Unwind@1400eac10 12 ok +0x1400eac20 Unwind@1400eac20 12 ok +0x1400eac30 Unwind@1400eac30 12 ok +0x1400eac40 Unwind@1400eac40 12 ok +0x1400eac50 Unwind@1400eac50 12 ok +0x1400eac60 Unwind@1400eac60 12 ok +0x1400eac70 Catch@1400eac70 217 ok +0x1400ead50 Unwind@1400ead50 12 ok +0x1400ead60 Unwind@1400ead60 12 ok +0x1400ead70 Unwind@1400ead70 12 ok +0x1400ead80 Unwind@1400ead80 12 ok +0x1400ead90 Unwind@1400ead90 12 ok +0x1400eada0 Unwind@1400eada0 12 ok +0x1400eadb0 Catch@1400eadb0 217 ok +0x1400eae90 Unwind@1400eae90 12 ok +0x1400eaea0 Unwind@1400eaea0 12 ok +0x1400eaeb0 Unwind@1400eaeb0 12 ok +0x1400eaec0 Unwind@1400eaec0 12 ok +0x1400eaed0 Unwind@1400eaed0 12 ok +0x1400eaee0 Unwind@1400eaee0 16 ok +0x1400eaef0 Unwind@1400eaef0 12 ok +0x1400eaf00 Unwind@1400eaf00 12 ok +0x1400eaf10 Unwind@1400eaf10 19 ok +0x1400eaf30 Unwind@1400eaf30 12 ok +0x1400eaf40 Unwind@1400eaf40 19 ok +0x1400eaf60 Unwind@1400eaf60 16 ok +0x1400eaf70 Unwind@1400eaf70 12 ok +0x1400eaf80 Unwind@1400eaf80 12 ok +0x1400eaf90 Unwind@1400eaf90 12 ok +0x1400eafa0 Unwind@1400eafa0 12 ok +0x1400eafb0 Unwind@1400eafb0 12 ok +0x1400eafc0 Unwind@1400eafc0 16 ok +0x1400eafd0 Unwind@1400eafd0 12 ok +0x1400eafe0 Unwind@1400eafe0 16 ok +0x1400eaff0 Unwind@1400eaff0 12 ok +0x1400eb000 Unwind@1400eb000 12 ok +0x1400eb010 Unwind@1400eb010 12 ok +0x1400eb020 Unwind@1400eb020 12 ok +0x1400eb030 Unwind@1400eb030 12 ok +0x1400eb040 Unwind@1400eb040 12 ok +0x1400eb050 Unwind@1400eb050 16 ok +0x1400eb060 Unwind@1400eb060 16 ok +0x1400eb070 Unwind@1400eb070 16 ok +0x1400eb080 Unwind@1400eb080 12 ok +0x1400eb090 Unwind@1400eb090 16 ok +0x1400eb0a0 Unwind@1400eb0a0 12 ok +0x1400eb0b0 Unwind@1400eb0b0 16 ok +0x1400eb0c0 Unwind@1400eb0c0 12 ok +0x1400eb0d0 Unwind@1400eb0d0 12 ok +0x1400eb0e0 Unwind@1400eb0e0 12 ok +0x1400eb0f0 Unwind@1400eb0f0 12 ok +0x1400eb100 Unwind@1400eb100 12 ok +0x1400eb110 Unwind@1400eb110 16 ok +0x1400eb120 Unwind@1400eb120 16 ok +0x1400eb130 Unwind@1400eb130 16 ok +0x1400eb140 Unwind@1400eb140 12 ok +0x1400eb150 Unwind@1400eb150 12 ok +0x1400eb160 Unwind@1400eb160 12 ok +0x1400eb170 Unwind@1400eb170 12 ok +0x1400eb180 Unwind@1400eb180 12 ok +0x1400eb190 Unwind@1400eb190 16 ok +0x1400eb1a0 Unwind@1400eb1a0 16 ok +0x1400eb1b0 Unwind@1400eb1b0 16 ok +0x1400eb1c0 Unwind@1400eb1c0 19 ok +0x1400eb1e0 Unwind@1400eb1e0 19 ok +0x1400eb200 Unwind@1400eb200 19 ok +0x1400eb220 Unwind@1400eb220 19 ok +0x1400eb240 Unwind@1400eb240 19 ok +0x1400eb260 Unwind@1400eb260 19 ok +0x1400eb280 Unwind@1400eb280 19 ok +0x1400eb2a0 Unwind@1400eb2a0 19 ok +0x1400eb2c0 Unwind@1400eb2c0 16 ok +0x1400eb2d0 Unwind@1400eb2d0 16 ok +0x1400eb2e0 Unwind@1400eb2e0 12 ok +0x1400eb2f0 Unwind@1400eb2f0 32 ok +0x1400eb310 Unwind@1400eb310 34 ok +0x1400eb340 Unwind@1400eb340 12 ok +0x1400eb350 Unwind@1400eb350 12 ok +0x1400eb360 Unwind@1400eb360 16 ok +0x1400eb370 Unwind@1400eb370 16 ok +0x1400eb380 Unwind@1400eb380 16 ok +0x1400eb390 Unwind@1400eb390 16 ok +0x1400eb3a0 Unwind@1400eb3a0 16 ok +0x1400eb3b0 Unwind@1400eb3b0 16 ok +0x1400eb3c0 Unwind@1400eb3c0 16 ok +0x1400eb3d0 Unwind@1400eb3d0 12 ok +0x1400eb3e0 Unwind@1400eb3e0 12 ok +0x1400eb3f0 Unwind@1400eb3f0 12 ok +0x1400eb400 Unwind@1400eb400 12 ok +0x1400eb410 Unwind@1400eb410 16 ok +0x1400eb420 Unwind@1400eb420 12 ok +0x1400eb430 Unwind@1400eb430 12 ok +0x1400eb440 Unwind@1400eb440 12 ok +0x1400eb450 Unwind@1400eb450 12 ok +0x1400eb460 Unwind@1400eb460 12 ok +0x1400eb470 Unwind@1400eb470 12 ok +0x1400eb480 Unwind@1400eb480 12 ok +0x1400eb490 Unwind@1400eb490 12 ok +0x1400eb4a0 Unwind@1400eb4a0 12 ok +0x1400eb4b0 Unwind@1400eb4b0 12 ok +0x1400eb4c0 Unwind@1400eb4c0 16 ok +0x1400eb4d0 Unwind@1400eb4d0 12 ok +0x1400eb4e0 Unwind@1400eb4e0 16 ok +0x1400eb4f0 Unwind@1400eb4f0 16 ok +0x1400eb500 Unwind@1400eb500 12 ok +0x1400eb510 Unwind@1400eb510 12 ok +0x1400eb520 Unwind@1400eb520 16 ok +0x1400eb530 Unwind@1400eb530 12 ok +0x1400eb540 Unwind@1400eb540 16 ok +0x1400eb550 Unwind@1400eb550 16 ok +0x1400eb560 Unwind@1400eb560 12 ok +0x1400eb570 Unwind@1400eb570 16 ok +0x1400eb580 Unwind@1400eb580 12 ok +0x1400eb590 Unwind@1400eb590 16 ok +0x1400eb5a0 Unwind@1400eb5a0 12 ok +0x1400eb5b0 Unwind@1400eb5b0 16 ok +0x1400eb5c0 Unwind@1400eb5c0 16 ok +0x1400eb5d0 Unwind@1400eb5d0 12 ok +0x1400eb5e0 Unwind@1400eb5e0 16 ok +0x1400eb5f0 Unwind@1400eb5f0 12 ok +0x1400eb600 Unwind@1400eb600 16 ok +0x1400eb610 Unwind@1400eb610 12 ok +0x1400eb620 Unwind@1400eb620 16 ok +0x1400eb630 Unwind@1400eb630 12 ok +0x1400eb640 Unwind@1400eb640 12 ok +0x1400eb650 Unwind@1400eb650 12 ok +0x1400eb660 Unwind@1400eb660 12 ok +0x1400eb670 Unwind@1400eb670 16 ok +0x1400eb680 Unwind@1400eb680 12 ok +0x1400eb690 Unwind@1400eb690 12 ok +0x1400eb6a0 Unwind@1400eb6a0 12 ok +0x1400eb6b0 Unwind@1400eb6b0 12 ok +0x1400eb6c0 Unwind@1400eb6c0 12 ok +0x1400eb6d0 Unwind@1400eb6d0 12 ok +0x1400eb6e0 Unwind@1400eb6e0 12 ok +0x1400eb6f0 Unwind@1400eb6f0 16 ok +0x1400eb700 Unwind@1400eb700 34 ok +0x1400eb730 Unwind@1400eb730 16 ok +0x1400eb740 Unwind@1400eb740 12 ok +0x1400eb750 Unwind@1400eb750 12 ok +0x1400eb760 Unwind@1400eb760 12 ok +0x1400eb770 Unwind@1400eb770 12 ok +0x1400eb780 Unwind@1400eb780 12 ok +0x1400eb790 Unwind@1400eb790 12 ok +0x1400eb7a0 Unwind@1400eb7a0 12 ok +0x1400eb7b0 Catch@1400eb7b0 55 ok +0x1400eb7f0 Unwind@1400eb7f0 12 ok +0x1400eb800 Catch@1400eb800 55 ok +0x1400eb840 Unwind@1400eb840 12 ok +0x1400eb850 Unwind@1400eb850 12 ok +0x1400eb860 Unwind@1400eb860 12 ok +0x1400eb870 Unwind@1400eb870 12 ok +0x1400eb880 Unwind@1400eb880 16 ok +0x1400eb890 Unwind@1400eb890 16 ok +0x1400eb8a0 Unwind@1400eb8a0 16 ok +0x1400eb8b0 Unwind@1400eb8b0 19 ok +0x1400eb8d0 Unwind@1400eb8d0 19 ok +0x1400eb8f0 Unwind@1400eb8f0 19 ok +0x1400eb910 Unwind@1400eb910 19 ok +0x1400eb930 Unwind@1400eb930 19 ok +0x1400eb950 Unwind@1400eb950 19 ok +0x1400eb970 Unwind@1400eb970 19 ok +0x1400eb990 Unwind@1400eb990 19 ok +0x1400eb9b0 Unwind@1400eb9b0 12 ok +0x1400eb9c0 Unwind@1400eb9c0 12 ok +0x1400eb9d0 Unwind@1400eb9d0 12 ok +0x1400eb9e0 Unwind@1400eb9e0 12 ok +0x1400eb9f0 Unwind@1400eb9f0 12 ok +0x1400eba00 Unwind@1400eba00 12 ok +0x1400eba10 Catch_All@1400eba10 33 ok +0x1400eba40 Unwind@1400eba40 12 ok +0x1400eba50 Unwind@1400eba50 12 ok +0x1400eba60 Unwind@1400eba60 12 ok +0x1400eba70 Unwind@1400eba70 38 ok +0x1400ebaa0 Unwind@1400ebaa0 39 ok +0x1400ebad0 Unwind@1400ebad0 12 ok +0x1400ebae0 Unwind@1400ebae0 12 ok +0x1400ebaf0 Unwind@1400ebaf0 12 ok +0x1400ebb00 Unwind@1400ebb00 12 ok +0x1400ebb10 Unwind@1400ebb10 12 ok +0x1400ebb20 Unwind@1400ebb20 12 ok +0x1400ebb30 Unwind@1400ebb30 12 ok +0x1400ebb40 Unwind@1400ebb40 12 ok +0x1400ebb50 Unwind@1400ebb50 12 ok +0x1400ebb60 Unwind@1400ebb60 12 ok +0x1400ebb70 Unwind@1400ebb70 16 ok +0x1400ebb80 Unwind@1400ebb80 19 ok +0x1400ebba0 Unwind@1400ebba0 19 ok +0x1400ebbc0 Unwind@1400ebbc0 19 ok +0x1400ebbe0 Unwind@1400ebbe0 12 ok +0x1400ebbf0 Unwind@1400ebbf0 12 ok +0x1400ebc00 Unwind@1400ebc00 12 ok +0x1400ebc10 Unwind@1400ebc10 12 ok +0x1400ebc20 Unwind@1400ebc20 12 ok +0x1400ebc30 Unwind@1400ebc30 12 ok +0x1400ebc40 Unwind@1400ebc40 44 ok +0x1400ebc70 Unwind@1400ebc70 12 ok +0x1400ebc80 Unwind@1400ebc80 12 ok +0x1400ebc90 Unwind@1400ebc90 12 ok +0x1400ebca0 Unwind@1400ebca0 12 ok +0x1400ebcb0 Unwind@1400ebcb0 12 ok +0x1400ebcc0 Unwind@1400ebcc0 16 ok +0x1400ebcd0 Unwind@1400ebcd0 16 ok +0x1400ebce0 Unwind@1400ebce0 12 ok +0x1400ebcf0 Unwind@1400ebcf0 12 ok +0x1400ebd00 Unwind@1400ebd00 28 ok +0x1400ebd20 Unwind@1400ebd20 12 ok +0x1400ebd30 Unwind@1400ebd30 28 ok +0x1400ebd50 Unwind@1400ebd50 29 ok +0x1400ebd70 Unwind@1400ebd70 12 ok +0x1400ebd80 Unwind@1400ebd80 12 ok +0x1400ebd90 Unwind@1400ebd90 12 ok +0x1400ebda0 Unwind@1400ebda0 12 ok +0x1400ebdb0 Unwind@1400ebdb0 12 ok +0x1400ebdc0 Catch_All@1400ebdc0 26 ok +0x1400ebde0 Unwind@1400ebde0 12 ok +0x1400ebdf0 Unwind@1400ebdf0 12 ok +0x1400ebe00 Unwind@1400ebe00 12 ok +0x1400ebe10 Unwind@1400ebe10 12 ok +0x1400ebe20 Unwind@1400ebe20 12 ok +0x1400ebe30 Unwind@1400ebe30 12 ok +0x1400ebe40 Unwind@1400ebe40 16 ok +0x1400ebe50 Unwind@1400ebe50 12 ok +0x1400ebe60 Unwind@1400ebe60 12 ok +0x1400ebe70 Catch_All@1400ebe70 26 ok +0x1400ebe90 Unwind@1400ebe90 16 ok +0x1400ebea0 Unwind@1400ebea0 16 ok +0x1400ebeb0 Unwind@1400ebeb0 19 ok +0x1400ebed0 Unwind@1400ebed0 19 ok +0x1400ebef0 Unwind@1400ebef0 16 ok +0x1400ebf00 Unwind@1400ebf00 16 ok +0x1400ebf10 Unwind@1400ebf10 19 ok +0x1400ebf30 Unwind@1400ebf30 19 ok +0x1400ebf50 Unwind@1400ebf50 12 ok +0x1400ebf60 Unwind@1400ebf60 12 ok +0x1400ebf70 Unwind@1400ebf70 12 ok +0x1400ebf80 Unwind@1400ebf80 12 ok +0x1400ebf90 Unwind@1400ebf90 12 ok +0x1400ebfa0 Unwind@1400ebfa0 12 ok +0x1400ebfb0 Unwind@1400ebfb0 12 ok +0x1400ebfc0 Unwind@1400ebfc0 12 ok +0x1400ebfd0 Unwind@1400ebfd0 12 ok +0x1400ebfe0 Unwind@1400ebfe0 12 ok +0x1400ebff0 Unwind@1400ebff0 12 ok +0x1400ec000 Unwind@1400ec000 12 ok +0x1400ec010 Unwind@1400ec010 12 ok +0x1400ec020 Unwind@1400ec020 12 ok +0x1400ec030 Unwind@1400ec030 12 ok +0x1400ec040 Unwind@1400ec040 29 ok +0x1400ec060 Unwind@1400ec060 12 ok +0x1400ec070 Unwind@1400ec070 12 ok +0x1400ec080 Unwind@1400ec080 12 ok +0x1400ec090 Unwind@1400ec090 12 ok +0x1400ec0a0 Unwind@1400ec0a0 12 ok +0x1400ec0b0 Unwind@1400ec0b0 12 ok +0x1400ec0c0 Unwind@1400ec0c0 12 ok +0x1400ec0d0 Unwind@1400ec0d0 12 ok +0x1400ec0e0 Unwind@1400ec0e0 12 ok +0x1400ec0f0 Unwind@1400ec0f0 12 ok +0x1400ec100 Unwind@1400ec100 12 ok +0x1400ec110 Unwind@1400ec110 12 ok +0x1400ec120 Unwind@1400ec120 12 ok +0x1400ec130 Unwind@1400ec130 12 ok +0x1400ec140 Unwind@1400ec140 12 ok +0x1400ec150 Unwind@1400ec150 12 ok +0x1400ec160 Unwind@1400ec160 12 ok +0x1400ec170 Unwind@1400ec170 12 ok +0x1400ec180 Unwind@1400ec180 12 ok +0x1400ec190 Unwind@1400ec190 12 ok +0x1400ec1a0 Unwind@1400ec1a0 12 ok +0x1400ec1b0 Unwind@1400ec1b0 12 ok +0x1400ec1c0 Unwind@1400ec1c0 12 ok +0x1400ec1d0 Unwind@1400ec1d0 12 ok +0x1400ec1e0 Unwind@1400ec1e0 12 ok +0x1400ec1f0 Unwind@1400ec1f0 12 ok +0x1400ec200 Unwind@1400ec200 12 ok +0x1400ec210 Unwind@1400ec210 16 ok +0x1400ec220 Unwind@1400ec220 19 ok +0x1400ec240 Unwind@1400ec240 12 ok +0x1400ec250 Unwind@1400ec250 16 ok +0x1400ec260 Unwind@1400ec260 19 ok +0x1400ec280 Unwind@1400ec280 19 ok +0x1400ec2a0 Unwind@1400ec2a0 19 ok +0x1400ec2c0 Unwind@1400ec2c0 12 ok +0x1400ec2d0 Unwind@1400ec2d0 16 ok +0x1400ec2e0 Unwind@1400ec2e0 19 ok +0x1400ec300 Unwind@1400ec300 19 ok +0x1400ec320 Unwind@1400ec320 19 ok +0x1400ec340 Unwind@1400ec340 29 ok +0x1400ec360 Unwind@1400ec360 12 ok +0x1400ec370 Unwind@1400ec370 12 ok +0x1400ec380 Unwind@1400ec380 12 ok +0x1400ec390 Unwind@1400ec390 12 ok +0x1400ec3a0 Unwind@1400ec3a0 12 ok +0x1400ec3b0 Unwind@1400ec3b0 12 ok +0x1400ec3c0 Unwind@1400ec3c0 12 ok +0x1400ec3d0 Unwind@1400ec3d0 16 ok +0x1400ec3e0 Unwind@1400ec3e0 12 ok +0x1400ec3f0 Unwind@1400ec3f0 12 ok +0x1400ec400 Unwind@1400ec400 16 ok +0x1400ec410 Unwind@1400ec410 12 ok +0x1400ec420 Unwind@1400ec420 12 ok +0x1400ec430 Unwind@1400ec430 12 ok +0x1400ec440 Unwind@1400ec440 12 ok +0x1400ec450 Unwind@1400ec450 12 ok +0x1400ec460 Unwind@1400ec460 12 ok +0x1400ec470 Unwind@1400ec470 12 ok +0x1400ec480 Unwind@1400ec480 12 ok +0x1400ec490 Unwind@1400ec490 16 ok +0x1400ec4a0 Unwind@1400ec4a0 12 ok +0x1400ec4b0 Unwind@1400ec4b0 12 ok +0x1400ec4c0 Unwind@1400ec4c0 16 ok +0x1400ec4d0 Unwind@1400ec4d0 12 ok +0x1400ec4e0 Unwind@1400ec4e0 12 ok +0x1400ec4f0 Unwind@1400ec4f0 16 ok +0x1400ec500 Unwind@1400ec500 12 ok +0x1400ec510 Unwind@1400ec510 12 ok +0x1400ec520 Unwind@1400ec520 12 ok +0x1400ec530 Unwind@1400ec530 12 ok +0x1400ec540 Unwind@1400ec540 12 ok +0x1400ec550 Unwind@1400ec550 12 ok +0x1400ec560 Unwind@1400ec560 12 ok +0x1400ec570 Unwind@1400ec570 12 ok +0x1400ec580 Unwind@1400ec580 16 ok +0x1400ec590 Unwind@1400ec590 16 ok +0x1400ec5a0 Unwind@1400ec5a0 12 ok +0x1400ec5b0 Unwind@1400ec5b0 12 ok +0x1400ec5c0 Unwind@1400ec5c0 12 ok +0x1400ec5d0 Unwind@1400ec5d0 12 ok +0x1400ec5e0 Unwind@1400ec5e0 12 ok +0x1400ec5f0 Unwind@1400ec5f0 12 ok +0x1400ec600 Unwind@1400ec600 12 ok +0x1400ec610 Unwind@1400ec610 12 ok +0x1400ec620 Unwind@1400ec620 12 ok +0x1400ec630 Unwind@1400ec630 12 ok +0x1400ec640 Unwind@1400ec640 12 ok +0x1400ec650 Unwind@1400ec650 16 ok +0x1400ec660 Unwind@1400ec660 12 ok +0x1400ec670 Unwind@1400ec670 12 ok +0x1400ec680 Unwind@1400ec680 12 ok +0x1400ec690 Unwind@1400ec690 12 ok +0x1400ec6a0 Unwind@1400ec6a0 12 ok +0x1400ec6b0 Unwind@1400ec6b0 12 ok +0x1400ec6c0 Unwind@1400ec6c0 12 ok +0x1400ec6d0 Unwind@1400ec6d0 12 ok +0x1400ec6e0 Unwind@1400ec6e0 12 ok +0x1400ec6f0 Unwind@1400ec6f0 12 ok +0x1400ec700 Unwind@1400ec700 12 ok +0x1400ec710 Unwind@1400ec710 12 ok +0x1400ec720 Unwind@1400ec720 12 ok +0x1400ec730 Unwind@1400ec730 12 ok +0x1400ec740 Unwind@1400ec740 12 ok +0x1400ec750 Unwind@1400ec750 12 ok +0x1400ec760 Unwind@1400ec760 12 ok +0x1400ec770 Unwind@1400ec770 12 ok +0x1400ec780 Unwind@1400ec780 12 ok +0x1400ec790 Unwind@1400ec790 12 ok +0x1400ec7a0 Unwind@1400ec7a0 12 ok +0x1400ec7b0 Unwind@1400ec7b0 12 ok +0x1400ec7c0 Unwind@1400ec7c0 12 ok +0x1400ec7d0 Unwind@1400ec7d0 16 ok +0x1400ec7e0 Unwind@1400ec7e0 16 ok +0x1400ec7f0 Unwind@1400ec7f0 16 ok +0x1400ec800 Unwind@1400ec800 16 ok +0x1400ec810 Unwind@1400ec810 16 ok +0x1400ec820 Unwind@1400ec820 12 ok +0x1400ec830 Unwind@1400ec830 12 ok +0x1400ec840 Unwind@1400ec840 16 ok +0x1400ec850 Unwind@1400ec850 16 ok +0x1400ec860 Unwind@1400ec860 16 ok +0x1400ec870 Unwind@1400ec870 16 ok +0x1400ec880 Unwind@1400ec880 19 ok +0x1400ec8a0 Unwind@1400ec8a0 19 ok +0x1400ec8c0 Unwind@1400ec8c0 12 ok +0x1400ec8d0 Unwind@1400ec8d0 12 ok +0x1400ec8e0 Unwind@1400ec8e0 16 ok +0x1400ec8f0 Unwind@1400ec8f0 16 ok +0x1400ec900 Unwind@1400ec900 16 ok +0x1400ec910 Unwind@1400ec910 16 ok +0x1400ec920 Unwind@1400ec920 19 ok +0x1400ec940 Unwind@1400ec940 19 ok +0x1400ec960 Unwind@1400ec960 19 ok +0x1400ec980 Unwind@1400ec980 12 ok +0x1400ec990 Unwind@1400ec990 12 ok +0x1400ec9a0 Unwind@1400ec9a0 12 ok +0x1400ec9b0 Unwind@1400ec9b0 16 ok +0x1400ec9c0 Unwind@1400ec9c0 19 ok +0x1400ec9e0 Unwind@1400ec9e0 12 ok +0x1400ec9f0 Unwind@1400ec9f0 19 ok +0x1400eca10 Unwind@1400eca10 12 ok +0x1400eca20 Unwind@1400eca20 16 ok +0x1400eca30 Unwind@1400eca30 19 ok +0x1400eca50 Unwind@1400eca50 19 ok +0x1400eca70 Unwind@1400eca70 19 ok +0x1400eca90 Unwind@1400eca90 19 ok +0x1400ecab0 Unwind@1400ecab0 12 ok +0x1400ecac0 Unwind@1400ecac0 12 ok +0x1400ecad0 Unwind@1400ecad0 12 ok +0x1400ecae0 Unwind@1400ecae0 16 ok +0x1400ecaf0 Unwind@1400ecaf0 19 ok +0x1400ecb10 Unwind@1400ecb10 19 ok +0x1400ecb30 Unwind@1400ecb30 19 ok +0x1400ecb50 Unwind@1400ecb50 19 ok +0x1400ecb70 Unwind@1400ecb70 29 ok +0x1400ecb90 Unwind@1400ecb90 12 ok +0x1400ecba0 Unwind@1400ecba0 12 ok +0x1400ecbb0 Unwind@1400ecbb0 16 ok +0x1400ecbc0 Unwind@1400ecbc0 12 ok +0x1400ecbd0 Unwind@1400ecbd0 12 ok +0x1400ecbe0 Unwind@1400ecbe0 12 ok +0x1400ecbf0 Unwind@1400ecbf0 12 ok +0x1400ecc00 Unwind@1400ecc00 16 ok +0x1400ecc10 Unwind@1400ecc10 19 ok +0x1400ecc30 Unwind@1400ecc30 12 ok +0x1400ecc40 Unwind@1400ecc40 12 ok +0x1400ecc50 Unwind@1400ecc50 12 ok +0x1400ecc60 Unwind@1400ecc60 16 ok +0x1400ecc70 Unwind@1400ecc70 19 ok +0x1400ecc90 Unwind@1400ecc90 12 ok +0x1400ecca0 Unwind@1400ecca0 12 ok +0x1400eccb0 Unwind@1400eccb0 12 ok +0x1400eccc0 Unwind@1400eccc0 12 ok +0x1400eccd0 Unwind@1400eccd0 19 ok +0x1400eccf0 Unwind@1400eccf0 12 ok +0x1400ecd00 Unwind@1400ecd00 19 ok +0x1400ecd20 Unwind@1400ecd20 19 ok +0x1400ecd40 Unwind@1400ecd40 12 ok +0x1400ecd50 Unwind@1400ecd50 19 ok +0x1400ecd70 Unwind@1400ecd70 16 ok +0x1400ecd80 Unwind@1400ecd80 16 ok +0x1400ecd90 Unwind@1400ecd90 12 ok +0x1400ecda0 Unwind@1400ecda0 16 ok +0x1400ecdb0 Unwind@1400ecdb0 16 ok +0x1400ecdc0 Unwind@1400ecdc0 12 ok +0x1400ecdd0 Unwind@1400ecdd0 16 ok +0x1400ecde0 Unwind@1400ecde0 16 ok +0x1400ecdf0 Unwind@1400ecdf0 16 ok +0x1400ece00 Unwind@1400ece00 16 ok +0x1400ece10 Unwind@1400ece10 16 ok +0x1400ece20 Unwind@1400ece20 16 ok +0x1400ece30 Unwind@1400ece30 16 ok +0x1400ece40 Unwind@1400ece40 16 ok +0x1400ece50 Unwind@1400ece50 16 ok +0x1400ece60 Unwind@1400ece60 16 ok +0x1400ece70 Unwind@1400ece70 16 ok +0x1400ece80 Unwind@1400ece80 16 ok +0x1400ece90 Unwind@1400ece90 16 ok +0x1400ecea0 Unwind@1400ecea0 12 ok +0x1400eceb0 Unwind@1400eceb0 16 ok +0x1400ecec0 Unwind@1400ecec0 16 ok +0x1400eced0 Unwind@1400eced0 16 ok +0x1400ecee0 Unwind@1400ecee0 12 ok +0x1400ecef0 Unwind@1400ecef0 16 ok +0x1400ecf00 Unwind@1400ecf00 12 ok +0x1400ecf10 Unwind@1400ecf10 12 ok +0x1400ecf20 Unwind@1400ecf20 16 ok +0x1400ecf30 Unwind@1400ecf30 16 ok +0x1400ecf40 Unwind@1400ecf40 12 ok +0x1400ecf50 Unwind@1400ecf50 12 ok +0x1400ecf60 Unwind@1400ecf60 16 ok +0x1400ecf70 Unwind@1400ecf70 16 ok +0x1400ecf80 Unwind@1400ecf80 12 ok +0x1400ecf90 Unwind@1400ecf90 12 ok +0x1400ecfa0 FUN_1400ecfa0 33 ok +0x1400ecfd0 Unwind@1400ecfd0 16 ok +0x1400ecfe0 Unwind@1400ecfe0 12 ok +0x1400ecff0 Unwind@1400ecff0 16 ok +0x1400ed000 Unwind@1400ed000 16 ok +0x1400ed010 Unwind@1400ed010 16 ok +0x1400ed020 Unwind@1400ed020 16 ok +0x1400ed030 Unwind@1400ed030 19 ok +0x1400ed050 Unwind@1400ed050 19 ok +0x1400ed070 Unwind@1400ed070 19 ok +0x1400ed090 Unwind@1400ed090 12 ok +0x1400ed0a0 Unwind@1400ed0a0 32 ok +0x1400ed0c0 Unwind@1400ed0c0 12 ok +0x1400ed0d0 Unwind@1400ed0d0 32 ok +0x1400ed0f0 Unwind@1400ed0f0 12 ok +0x1400ed100 Unwind@1400ed100 12 ok +0x1400ed110 Unwind@1400ed110 12 ok +0x1400ed120 Unwind@1400ed120 12 ok +0x1400ed130 Unwind@1400ed130 12 ok +0x1400ed140 Unwind@1400ed140 12 ok +0x1400ed150 Unwind@1400ed150 12 ok +0x1400ed160 Unwind@1400ed160 16 ok +0x1400ed170 Unwind@1400ed170 16 ok +0x1400ed180 Unwind@1400ed180 16 ok +0x1400ed190 Unwind@1400ed190 16 ok +0x1400ed1a0 Unwind@1400ed1a0 19 ok +0x1400ed1c0 Unwind@1400ed1c0 19 ok +0x1400ed1e0 Unwind@1400ed1e0 19 ok +0x1400ed200 Unwind@1400ed200 12 ok +0x1400ed210 Unwind@1400ed210 12 ok +0x1400ed220 Unwind@1400ed220 12 ok +0x1400ed230 Unwind@1400ed230 12 ok +0x1400ed240 Unwind@1400ed240 16 ok +0x1400ed250 Unwind@1400ed250 12 ok +0x1400ed260 Unwind@1400ed260 12 ok +0x1400ed270 Unwind@1400ed270 16 ok +0x1400ed280 Unwind@1400ed280 16 ok +0x1400ed290 Unwind@1400ed290 16 ok +0x1400ed2a0 Unwind@1400ed2a0 12 ok +0x1400ed2b0 Unwind@1400ed2b0 16 ok +0x1400ed2c0 Unwind@1400ed2c0 16 ok +0x1400ed2d0 Unwind@1400ed2d0 16 ok +0x1400ed2e0 Unwind@1400ed2e0 12 ok +0x1400ed2f0 Unwind@1400ed2f0 12 ok +0x1400ed300 Unwind@1400ed300 16 ok +0x1400ed310 Unwind@1400ed310 16 ok +0x1400ed320 Unwind@1400ed320 16 ok +0x1400ed330 Unwind@1400ed330 12 ok +0x1400ed340 Unwind@1400ed340 12 ok +0x1400ed350 Unwind@1400ed350 16 ok +0x1400ed360 Unwind@1400ed360 16 ok +0x1400ed370 FUN_1400ed370 43 ok +0x1400ed39c Catch_All@1400ed39c 31 ok +0x1400ed3c0 Unwind@1400ed3c0 12 ok +0x1400ed3d0 Unwind@1400ed3d0 16 ok +0x1400ed3e0 Unwind@1400ed3e0 25 ok +0x1400ed3f9 Unwind@1400ed3f9 12 ok +0x1400ed419 Unwind@1400ed419 12 ok +0x1400ed439 Unwind@1400ed439 12 ok +0x1400ed449 Unwind@1400ed449 16 ok +0x1400ed459 Unwind@1400ed459 16 ok +0x1400ed469 Unwind@1400ed469 16 ok +0x1400ed489 Unwind@1400ed489 12 ok +0x1400ed499 Unwind@1400ed499 16 ok +0x1400ed4a9 Unwind@1400ed4a9 16 ok +0x1400ed4b9 Unwind@1400ed4b9 16 ok +0x1400ed4d9 Unwind@1400ed4d9 12 ok +0x1400ed4f9 Unwind@1400ed4f9 12 ok +0x1400ed519 Unwind@1400ed519 12 ok +0x1400ed529 Unwind@1400ed529 16 ok +0x1400ed539 Unwind@1400ed539 16 ok +0x1400ed549 Unwind@1400ed549 16 ok +0x1400ed559 Unwind@1400ed559 19 ok +0x1400ed579 Unwind@1400ed579 19 ok +0x1400ed599 Unwind@1400ed599 19 ok +0x1400ed5b9 Unwind@1400ed5b9 19 ok +0x1400ed5d9 Unwind@1400ed5d9 19 ok +0x1400ed5f9 Unwind@1400ed5f9 19 ok +0x1400ed619 Unwind@1400ed619 19 ok +0x1400ed639 Unwind@1400ed639 12 ok +0x1400ed659 Unwind@1400ed659 12 ok +0x1400ed669 Unwind@1400ed669 12 ok +0x1400ed679 Unwind@1400ed679 16 ok +0x1400ed689 Unwind@1400ed689 12 ok +0x1400ed699 Unwind@1400ed699 16 ok +0x1400ed6b9 Unwind@1400ed6b9 12 ok +0x1400ed6c9 Unwind@1400ed6c9 16 ok +0x1400ed6d9 Unwind@1400ed6d9 19 ok +0x1400ed6f9 Unwind@1400ed6f9 19 ok +0x1400ed719 Unwind@1400ed719 22 ok +0x1400ed739 Unwind@1400ed739 22 ok +0x1400ed759 Unwind@1400ed759 12 ok +0x1400ed769 Unwind@1400ed769 22 ok +0x1400ed789 Unwind@1400ed789 22 ok +0x1400ed7a9 Unwind@1400ed7a9 12 ok +0x1400ed7b9 Unwind@1400ed7b9 22 ok +0x1400ed7d9 Unwind@1400ed7d9 22 ok +0x1400ed7f0 Unwind@1400ed7f0 12 ok +0x1400ed800 Unwind@1400ed800 12 ok +0x1400ed810 Unwind@1400ed810 16 ok +0x1400ed820 Unwind@1400ed820 25 ok +0x1400ed840 Unwind@1400ed840 12 ok +0x1400ed850 Unwind@1400ed850 16 ok +0x1400ed860 Catch_All@1400ed860 32 ok +0x1400ed890 Unwind@1400ed890 12 ok +0x1400ed8a0 Unwind@1400ed8a0 16 ok +0x1400ed8b0 Unwind@1400ed8b0 12 ok +0x1400ed8c0 Unwind@1400ed8c0 46 ok +0x1400ed8f0 Unwind@1400ed8f0 18 ok +0x1400ed910 Unwind@1400ed910 14 ok +0x1400ed920 Unwind@1400ed920 12 ok +0x1400ed930 Unwind@1400ed930 12 ok +0x1400ed940 Unwind@1400ed940 12 ok +0x1400ed950 Unwind@1400ed950 16 ok +0x1400ed960 Unwind@1400ed960 16 ok +0x1400ed970 Unwind@1400ed970 16 ok +0x1400ed980 Unwind@1400ed980 12 ok +0x1400ed990 Unwind@1400ed990 16 ok +0x1400ed9a0 Unwind@1400ed9a0 12 ok +0x1400ed9b0 Unwind@1400ed9b0 16 ok +0x1400ed9c0 Unwind@1400ed9c0 16 ok +0x1400ed9d0 Catch_All@1400ed9d0 49 ok +0x1400eda10 Catch_All@1400eda10 62 ok +0x1400eda50 Catch_All@1400eda50 32 ok +0x1400eda80 Unwind@1400eda80 12 ok +0x1400eda90 Unwind@1400eda90 12 ok +0x1400edaa0 Unwind@1400edaa0 12 ok +0x1400edab0 Unwind@1400edab0 12 ok +0x1400edac0 Unwind@1400edac0 12 ok +0x1400edad0 Unwind@1400edad0 12 ok +0x1400edae0 Catch_All@1400edae0 49 ok +0x1400edb20 Catch_All@1400edb20 64 ok +0x1400edb70 Unwind@1400edb70 12 ok +0x1400edb80 Unwind@1400edb80 16 ok +0x1400edb90 Unwind@1400edb90 16 ok +0x1400edba0 Unwind@1400edba0 16 ok +0x1400edbb0 Unwind@1400edbb0 12 ok +0x1400edbc0 Unwind@1400edbc0 12 ok +0x1400edbd0 Unwind@1400edbd0 12 ok +0x1400edbe0 Unwind@1400edbe0 12 ok +0x1400edbf0 Unwind@1400edbf0 12 ok +0x1400edc00 Unwind@1400edc00 12 ok +0x1400edc10 Unwind@1400edc10 12 ok +0x1400edc20 Unwind@1400edc20 16 ok +0x1400edc30 Unwind@1400edc30 14 ok +0x1400edc40 Unwind@1400edc40 12 ok +0x1400edc50 Unwind@1400edc50 12 ok +0x1400edc60 Unwind@1400edc60 16 ok +0x1400edc70 Unwind@1400edc70 12 ok +0x1400edc80 Unwind@1400edc80 16 ok +0x1400edc90 Unwind@1400edc90 16 ok +0x1400edca0 Unwind@1400edca0 12 ok +0x1400edcb0 Unwind@1400edcb0 16 ok +0x1400edcc0 Unwind@1400edcc0 12 ok +0x1400edcd0 Unwind@1400edcd0 16 ok +0x1400edce0 Unwind@1400edce0 16 ok +0x1400edcf0 Unwind@1400edcf0 16 ok +0x1400edd00 Unwind@1400edd00 16 ok +0x1400edd10 Unwind@1400edd10 16 ok +0x1400edd20 Unwind@1400edd20 12 ok +0x1400edd30 Unwind@1400edd30 16 ok +0x1400edd40 Unwind@1400edd40 12 ok +0x1400edd50 Unwind@1400edd50 16 ok +0x1400edd60 Catch_All@1400edd60 22 ok +0x1400edd80 Unwind@1400edd80 12 ok +0x1400edd90 Unwind@1400edd90 12 ok +0x1400edda0 Unwind@1400edda0 16 ok +0x1400eddb0 Unwind@1400eddb0 28 ok +0x1400eddd0 Unwind@1400eddd0 12 ok +0x1400edde0 Unwind@1400edde0 12 ok +0x1400eddf0 Unwind@1400eddf0 12 ok +0x1400ede00 Unwind@1400ede00 12 ok +0x1400ede10 Unwind@1400ede10 12 ok +0x1400ede20 Unwind@1400ede20 12 ok +0x1400ede30 Unwind@1400ede30 12 ok +0x1400ede40 Unwind@1400ede40 12 ok +0x1400ede50 Unwind@1400ede50 16 ok +0x1400ede60 Unwind@1400ede60 14 ok +0x1400ede70 Unwind@1400ede70 14 ok +0x1400ede80 Unwind@1400ede80 12 ok +0x1400ede90 Unwind@1400ede90 12 ok +0x1400edea0 Unwind@1400edea0 12 ok +0x1400edeb0 Unwind@1400edeb0 12 ok +0x1400edec0 Unwind@1400edec0 16 ok +0x1400eded0 Unwind@1400eded0 16 ok +0x1400edee0 Unwind@1400edee0 16 ok +0x1400edef0 Unwind@1400edef0 19 ok +0x1400edf10 Unwind@1400edf10 19 ok +0x1400edf30 Unwind@1400edf30 19 ok +0x1400edf50 Unwind@1400edf50 19 ok +0x1400edf70 Unwind@1400edf70 19 ok +0x1400edf90 Unwind@1400edf90 28 ok +0x1400edfb0 Catch_All@1400edfb0 58 ok +0x1400edff0 Catch_All@1400edff0 31 ok +0x1400ee020 Unwind@1400ee020 12 ok +0x1400ee030 Unwind@1400ee030 12 ok +0x1400ee040 Unwind@1400ee040 12 ok +0x1400ee050 Unwind@1400ee050 12 ok +0x1400ee060 Unwind@1400ee060 12 ok +0x1400ee070 Unwind@1400ee070 12 ok +0x1400ee080 Unwind@1400ee080 12 ok +0x1400ee090 Unwind@1400ee090 12 ok +0x1400ee0a0 Unwind@1400ee0a0 12 ok +0x1400ee0b0 Unwind@1400ee0b0 12 ok +0x1400ee0c0 Unwind@1400ee0c0 12 ok +0x1400ee0d0 Unwind@1400ee0d0 12 ok +0x1400ee0e0 Unwind@1400ee0e0 12 ok +0x1400ee0f0 Unwind@1400ee0f0 12 ok +0x1400ee100 Unwind@1400ee100 12 ok +0x1400ee110 Unwind@1400ee110 12 ok +0x1400ee120 Unwind@1400ee120 12 ok +0x1400ee130 Unwind@1400ee130 12 ok +0x1400ee140 Unwind@1400ee140 12 ok +0x1400ee150 Unwind@1400ee150 12 ok +0x1400ee160 Unwind@1400ee160 12 ok +0x1400ee170 Unwind@1400ee170 12 ok +0x1400ee180 Unwind@1400ee180 12 ok +0x1400ee190 Unwind@1400ee190 12 ok +0x1400ee1a0 Unwind@1400ee1a0 12 ok +0x1400ee1b0 Unwind@1400ee1b0 12 ok +0x1400ee1c0 Unwind@1400ee1c0 12 ok +0x1400ee1d0 Unwind@1400ee1d0 12 ok +0x1400ee1e0 Unwind@1400ee1e0 12 ok +0x1400ee1f0 Unwind@1400ee1f0 16 ok +0x1400ee200 Unwind@1400ee200 16 ok +0x1400ee210 Unwind@1400ee210 12 ok +0x1400ee220 Unwind@1400ee220 12 ok +0x1400ee230 Catch_All@1400ee230 90 ok +0x1400ee290 Unwind@1400ee290 28 ok +0x1400ee2b0 Unwind@1400ee2b0 16 ok +0x1400ee2c0 Catch_All@1400ee2c0 58 ok +0x1400ee300 Unwind@1400ee300 28 ok +0x1400ee320 Unwind@1400ee320 16 ok +0x1400ee330 Catch_All@1400ee330 58 ok +0x1400ee370 Unwind@1400ee370 28 ok +0x1400ee390 Catch_All@1400ee390 87 ok +0x1400ee3f0 Catch_All@1400ee3f0 31 ok +0x1400ee440 Catch_All@1400ee440 32 ok +0x1400ee470 Unwind@1400ee470 12 ok +0x1400ee480 Unwind@1400ee480 16 ok +0x1400ee490 Unwind@1400ee490 16 ok +0x1400ee4a0 Unwind@1400ee4a0 16 ok +0x1400ee4b0 Unwind@1400ee4b0 19 ok +0x1400ee4d0 Unwind@1400ee4d0 19 ok +0x1400ee4f0 Unwind@1400ee4f0 19 ok +0x1400ee510 Unwind@1400ee510 19 ok +0x1400ee530 Unwind@1400ee530 19 ok +0x1400ee550 Unwind@1400ee550 19 ok +0x1400ee570 Unwind@1400ee570 12 ok +0x1400ee580 Unwind@1400ee580 12 ok +0x1400ee590 Unwind@1400ee590 12 ok +0x1400ee5a0 Unwind@1400ee5a0 12 ok +0x1400ee5b0 Catch_All@1400ee5b0 32 ok +0x1400ee5e0 Unwind@1400ee5e0 28 ok +0x1400ee600 Catch_All@1400ee600 61 ok +0x1400ee640 Catch_All@1400ee640 32 ok +0x1400ee670 Unwind@1400ee670 12 ok +0x1400ee680 Unwind@1400ee680 12 ok +0x1400ee690 Unwind@1400ee690 12 ok +0x1400ee6a0 Unwind@1400ee6a0 12 ok +0x1400ee6b0 Unwind@1400ee6b0 12 ok +0x1400ee6c0 Unwind@1400ee6c0 12 ok +0x1400ee6d0 Unwind@1400ee6d0 12 ok +0x1400ee6e0 Unwind@1400ee6e0 12 ok +0x1400ee6f0 Unwind@1400ee6f0 12 ok +0x1400ee700 Unwind@1400ee700 12 ok +0x1400ee710 Unwind@1400ee710 12 ok +0x1400ee720 Unwind@1400ee720 12 ok +0x1400ee730 Unwind@1400ee730 12 ok +0x1400ee740 Unwind@1400ee740 12 ok +0x1400ee750 Unwind@1400ee750 12 ok +0x1400ee760 Unwind@1400ee760 12 ok +0x1400ee770 Unwind@1400ee770 12 ok +0x1400ee780 Unwind@1400ee780 12 ok +0x1400ee790 Unwind@1400ee790 12 ok +0x1400ee7a0 Unwind@1400ee7a0 12 ok +0x1400ee7b0 Unwind@1400ee7b0 12 ok +0x1400ee7c0 Unwind@1400ee7c0 12 ok +0x1400ee7d0 Unwind@1400ee7d0 12 ok +0x1400ee7e0 Unwind@1400ee7e0 12 ok +0x1400ee7f0 Unwind@1400ee7f0 12 ok +0x1400ee800 Unwind@1400ee800 12 ok +0x1400ee810 Unwind@1400ee810 12 ok +0x1400ee820 Unwind@1400ee820 12 ok +0x1400ee830 Unwind@1400ee830 12 ok +0x1400ee840 Unwind@1400ee840 12 ok +0x1400ee850 Unwind@1400ee850 12 ok +0x1400ee860 Unwind@1400ee860 12 ok +0x1400ee870 Unwind@1400ee870 12 ok +0x1400ee880 Unwind@1400ee880 12 ok +0x1400ee890 Unwind@1400ee890 12 ok +0x1400ee8a0 Unwind@1400ee8a0 12 ok +0x1400ee8b0 Unwind@1400ee8b0 12 ok +0x1400ee8c0 Unwind@1400ee8c0 12 ok +0x1400ee8d0 Unwind@1400ee8d0 12 ok +0x1400ee8e0 Unwind@1400ee8e0 12 ok +0x1400ee8f0 Unwind@1400ee8f0 12 ok +0x1400ee900 Unwind@1400ee900 12 ok +0x1400ee910 Unwind@1400ee910 12 ok +0x1400ee920 Unwind@1400ee920 12 ok +0x1400ee930 Unwind@1400ee930 12 ok +0x1400ee940 Unwind@1400ee940 12 ok +0x1400ee950 Unwind@1400ee950 12 ok +0x1400ee960 Unwind@1400ee960 12 ok +0x1400ee970 Unwind@1400ee970 12 ok +0x1400ee980 Unwind@1400ee980 12 ok +0x1400ee990 Unwind@1400ee990 12 ok +0x1400ee9a0 Unwind@1400ee9a0 12 ok +0x1400ee9b0 Unwind@1400ee9b0 12 ok +0x1400ee9c0 Unwind@1400ee9c0 12 ok +0x1400ee9d0 Unwind@1400ee9d0 12 ok +0x1400ee9e0 Unwind@1400ee9e0 12 ok +0x1400ee9f0 Unwind@1400ee9f0 12 ok +0x1400eea00 Unwind@1400eea00 12 ok +0x1400eea10 Unwind@1400eea10 12 ok +0x1400eea20 Unwind@1400eea20 12 ok +0x1400eea30 Unwind@1400eea30 12 ok +0x1400eea40 Unwind@1400eea40 12 ok +0x1400eea50 Unwind@1400eea50 12 ok +0x1400eea60 Unwind@1400eea60 12 ok +0x1400eea70 Unwind@1400eea70 12 ok +0x1400eea80 Unwind@1400eea80 12 ok +0x1400eea90 Unwind@1400eea90 12 ok +0x1400eeaa0 Unwind@1400eeaa0 12 ok +0x1400eeab0 Unwind@1400eeab0 12 ok +0x1400eeac0 Unwind@1400eeac0 12 ok +0x1400eead0 Unwind@1400eead0 12 ok +0x1400eeae0 Unwind@1400eeae0 12 ok +0x1400eeaf0 Unwind@1400eeaf0 12 ok +0x1400eeb00 Unwind@1400eeb00 12 ok +0x1400eeb10 Unwind@1400eeb10 12 ok +0x1400eeb20 Unwind@1400eeb20 12 ok +0x1400eeb30 Unwind@1400eeb30 12 ok +0x1400eeb40 Unwind@1400eeb40 12 ok +0x1400eeb50 Unwind@1400eeb50 12 ok +0x1400eeb60 Unwind@1400eeb60 14 ok +0x1400eeb70 Unwind@1400eeb70 12 ok +0x1400eeb80 Unwind@1400eeb80 12 ok +0x1400eeb90 Unwind@1400eeb90 12 ok +0x1400eeba0 Unwind@1400eeba0 12 ok +0x1400eebb0 Unwind@1400eebb0 14 ok +0x1400eebc0 Unwind@1400eebc0 28 ok +0x1400eebe0 Catch_All@1400eebe0 61 ok +0x1400eec20 Catch_All@1400eec20 32 ok +0x1400eec50 Unwind@1400eec50 28 ok +0x1400eec70 Catch_All@1400eec70 61 ok +0x1400eecb0 Catch_All@1400eecb0 31 ok +0x1400eece0 Unwind@1400eece0 12 ok +0x1400eecf0 Unwind@1400eecf0 12 ok +0x1400eed00 Unwind@1400eed00 12 ok +0x1400eed10 Unwind@1400eed10 12 ok +0x1400eed20 Unwind@1400eed20 12 ok +0x1400eed30 Unwind@1400eed30 12 ok +0x1400eed40 Unwind@1400eed40 12 ok +0x1400eed50 Unwind@1400eed50 12 ok +0x1400eed60 Unwind@1400eed60 12 ok +0x1400eed70 Unwind@1400eed70 12 ok +0x1400eed80 Unwind@1400eed80 12 ok +0x1400eed90 Unwind@1400eed90 12 ok +0x1400eeda0 Unwind@1400eeda0 12 ok +0x1400eedb0 Unwind@1400eedb0 12 ok +0x1400eedc0 Unwind@1400eedc0 12 ok +0x1400eedd0 Unwind@1400eedd0 12 ok +0x1400eede0 Unwind@1400eede0 28 ok +0x1400eee00 Catch_All@1400eee00 58 ok +0x1400eee40 Unwind@1400eee40 12 ok +0x1400eee50 Unwind@1400eee50 12 ok +0x1400eee60 Unwind@1400eee60 12 ok +0x1400eee70 Unwind@1400eee70 31 ok +0x1400eee90 Unwind@1400eee90 12 ok +0x1400eeea0 Unwind@1400eeea0 12 ok +0x1400eeeb0 Unwind@1400eeeb0 12 ok +0x1400eeec0 Unwind@1400eeec0 46 ok +0x1400eeef0 Unwind@1400eeef0 18 ok +0x1400eef10 Unwind@1400eef10 14 ok +0x1400eef20 Unwind@1400eef20 12 ok +0x1400eef30 Unwind@1400eef30 12 ok +0x1400eef40 Unwind@1400eef40 12 ok +0x1400eef50 Unwind@1400eef50 12 ok +0x1400eef60 Unwind@1400eef60 28 ok +0x1400eef80 Unwind@1400eef80 28 ok +0x1400eefa0 Unwind@1400eefa0 12 ok +0x1400eefb0 Catch_All@1400eefb0 64 ok +0x1400ef000 Unwind@1400ef000 12 ok +0x1400ef010 Unwind@1400ef010 28 ok +0x1400ef030 Catch_All@1400ef030 61 ok +0x1400ef070 Catch_All@1400ef070 32 ok +0x1400ef0a0 Unwind@1400ef0a0 28 ok +0x1400ef0c0 Unwind@1400ef0c0 28 ok +0x1400ef0e0 Unwind@1400ef0e0 12 ok +0x1400ef0f0 Unwind@1400ef0f0 16 ok +0x1400ef100 Unwind@1400ef100 12 ok +0x1400ef110 Unwind@1400ef110 16 ok +0x1400ef120 Unwind@1400ef120 16 ok +0x1400ef130 Unwind@1400ef130 12 ok +0x1400ef140 Unwind@1400ef140 28 ok +0x1400ef160 Unwind@1400ef160 12 ok +0x1400ef170 Unwind@1400ef170 12 ok +0x1400ef180 Unwind@1400ef180 12 ok +0x1400ef190 Unwind@1400ef190 12 ok +0x1400ef1a0 Unwind@1400ef1a0 12 ok +0x1400ef1b0 Unwind@1400ef1b0 12 ok +0x1400ef1c0 Unwind@1400ef1c0 28 ok +0x1400ef1e0 Unwind@1400ef1e0 16 ok +0x1400ef1f0 Unwind@1400ef1f0 12 ok +0x1400ef200 Unwind@1400ef200 12 ok +0x1400ef210 Unwind@1400ef210 12 ok +0x1400ef220 Unwind@1400ef220 16 ok +0x1400ef230 Unwind@1400ef230 12 ok +0x1400ef240 Unwind@1400ef240 12 ok +0x1400ef250 Unwind@1400ef250 16 ok +0x1400ef260 Unwind@1400ef260 12 ok +0x1400ef270 Unwind@1400ef270 12 ok +0x1400ef280 Unwind@1400ef280 12 ok +0x1400ef290 Unwind@1400ef290 12 ok +0x1400ef2a0 Unwind@1400ef2a0 12 ok +0x1400ef2b0 Unwind@1400ef2b0 12 ok +0x1400ef2c0 Unwind@1400ef2c0 12 ok +0x1400ef2d0 Unwind@1400ef2d0 12 ok +0x1400ef2e0 Unwind@1400ef2e0 12 ok +0x1400ef2f0 Unwind@1400ef2f0 12 ok +0x1400ef300 Unwind@1400ef300 12 ok +0x1400ef310 Unwind@1400ef310 12 ok +0x1400ef320 Unwind@1400ef320 12 ok +0x1400ef330 Unwind@1400ef330 12 ok +0x1400ef340 Unwind@1400ef340 12 ok +0x1400ef350 Unwind@1400ef350 12 ok +0x1400ef360 Unwind@1400ef360 12 ok +0x1400ef370 Unwind@1400ef370 12 ok +0x1400ef380 Unwind@1400ef380 12 ok +0x1400ef390 Unwind@1400ef390 12 ok +0x1400ef3a0 Unwind@1400ef3a0 12 ok +0x1400ef3b0 Unwind@1400ef3b0 12 ok +0x1400ef3c0 Unwind@1400ef3c0 12 ok +0x1400ef3d0 Unwind@1400ef3d0 12 ok +0x1400ef3e0 Unwind@1400ef3e0 12 ok +0x1400ef3f0 Unwind@1400ef3f0 12 ok +0x1400ef400 Unwind@1400ef400 12 ok +0x1400ef410 Unwind@1400ef410 12 ok +0x1400ef420 Unwind@1400ef420 12 ok +0x1400ef430 Unwind@1400ef430 12 ok +0x1400ef440 Unwind@1400ef440 12 ok +0x1400ef450 Unwind@1400ef450 12 ok +0x1400ef460 Unwind@1400ef460 12 ok +0x1400ef470 Unwind@1400ef470 12 ok +0x1400ef480 Unwind@1400ef480 12 ok +0x1400ef490 Unwind@1400ef490 12 ok +0x1400ef4a0 Unwind@1400ef4a0 12 ok +0x1400ef4b0 Unwind@1400ef4b0 12 ok +0x1400ef4c0 Unwind@1400ef4c0 12 ok +0x1400ef4d0 Unwind@1400ef4d0 12 ok +0x1400ef4e0 Unwind@1400ef4e0 12 ok +0x1400ef4f0 Unwind@1400ef4f0 12 ok +0x1400ef500 Unwind@1400ef500 12 ok +0x1400ef510 Unwind@1400ef510 12 ok +0x1400ef520 Unwind@1400ef520 12 ok +0x1400ef530 Unwind@1400ef530 12 ok +0x1400ef540 Unwind@1400ef540 12 ok +0x1400ef550 Unwind@1400ef550 12 ok +0x1400ef560 Unwind@1400ef560 12 ok +0x1400ef570 Unwind@1400ef570 12 ok +0x1400ef580 Unwind@1400ef580 12 ok +0x1400ef590 Unwind@1400ef590 12 ok +0x1400ef5a0 Unwind@1400ef5a0 12 ok +0x1400ef5b0 Unwind@1400ef5b0 12 ok +0x1400ef5c0 Unwind@1400ef5c0 12 ok +0x1400ef5d0 Unwind@1400ef5d0 12 ok +0x1400ef5e0 Unwind@1400ef5e0 12 ok +0x1400ef5f0 Unwind@1400ef5f0 12 ok +0x1400ef600 Unwind@1400ef600 12 ok +0x1400ef610 Unwind@1400ef610 12 ok +0x1400ef620 Unwind@1400ef620 12 ok +0x1400ef630 Unwind@1400ef630 12 ok +0x1400ef640 Unwind@1400ef640 12 ok +0x1400ef650 Unwind@1400ef650 12 ok +0x1400ef660 Unwind@1400ef660 12 ok +0x1400ef670 Unwind@1400ef670 12 ok +0x1400ef680 Unwind@1400ef680 12 ok +0x1400ef690 Unwind@1400ef690 12 ok +0x1400ef6a0 Unwind@1400ef6a0 12 ok +0x1400ef6b0 Unwind@1400ef6b0 12 ok +0x1400ef6c0 Unwind@1400ef6c0 12 ok +0x1400ef6d0 Unwind@1400ef6d0 12 ok +0x1400ef6e0 Unwind@1400ef6e0 12 ok +0x1400ef6f0 Unwind@1400ef6f0 12 ok +0x1400ef700 Unwind@1400ef700 12 ok +0x1400ef710 Unwind@1400ef710 12 ok +0x1400ef720 Unwind@1400ef720 12 ok +0x1400ef730 Unwind@1400ef730 12 ok +0x1400ef740 Unwind@1400ef740 12 ok +0x1400ef750 Unwind@1400ef750 12 ok +0x1400ef760 Unwind@1400ef760 12 ok +0x1400ef770 Unwind@1400ef770 12 ok +0x1400ef780 Unwind@1400ef780 12 ok +0x1400ef790 Unwind@1400ef790 12 ok +0x1400ef7a0 Unwind@1400ef7a0 12 ok +0x1400ef7b0 Unwind@1400ef7b0 12 ok +0x1400ef7c0 Unwind@1400ef7c0 12 ok +0x1400ef7d0 Unwind@1400ef7d0 12 ok +0x1400ef7e0 Unwind@1400ef7e0 12 ok +0x1400ef7f0 Unwind@1400ef7f0 12 ok +0x1400ef800 Unwind@1400ef800 12 ok +0x1400ef810 Unwind@1400ef810 12 ok +0x1400ef820 Unwind@1400ef820 12 ok +0x1400ef830 Unwind@1400ef830 12 ok +0x1400ef840 Unwind@1400ef840 12 ok +0x1400ef850 Unwind@1400ef850 12 ok +0x1400ef860 Unwind@1400ef860 12 ok +0x1400ef870 Unwind@1400ef870 12 ok +0x1400ef880 Unwind@1400ef880 12 ok +0x1400ef890 Unwind@1400ef890 12 ok +0x1400ef8a0 Unwind@1400ef8a0 12 ok +0x1400ef8b0 Unwind@1400ef8b0 12 ok +0x1400ef8c0 Unwind@1400ef8c0 12 ok +0x1400ef8d0 Unwind@1400ef8d0 12 ok +0x1400ef8e0 Unwind@1400ef8e0 12 ok +0x1400ef8f0 Unwind@1400ef8f0 12 ok +0x1400ef900 Unwind@1400ef900 12 ok +0x1400ef910 Unwind@1400ef910 12 ok +0x1400ef920 Unwind@1400ef920 12 ok +0x1400ef930 Unwind@1400ef930 12 ok +0x1400ef940 Unwind@1400ef940 12 ok +0x1400ef950 Unwind@1400ef950 12 ok +0x1400ef960 Unwind@1400ef960 12 ok +0x1400ef970 Unwind@1400ef970 14 ok +0x1400ef980 Unwind@1400ef980 14 ok +0x1400ef990 Unwind@1400ef990 14 ok +0x1400ef9a0 Unwind@1400ef9a0 12 ok +0x1400ef9b0 Unwind@1400ef9b0 16 ok +0x1400ef9c0 Unwind@1400ef9c0 12 ok +0x1400ef9d0 Unwind@1400ef9d0 12 ok +0x1400ef9e0 Unwind@1400ef9e0 12 ok +0x1400ef9f0 Unwind@1400ef9f0 12 ok +0x1400efa00 Unwind@1400efa00 12 ok +0x1400efa10 Unwind@1400efa10 12 ok +0x1400efa20 Unwind@1400efa20 12 ok +0x1400efa30 Unwind@1400efa30 12 ok +0x1400efa40 Unwind@1400efa40 12 ok +0x1400efa50 Unwind@1400efa50 12 ok +0x1400efa60 Catch@1400efa60 46 ok +0x1400efa90 Unwind@1400efa90 12 ok +0x1400efaa0 Unwind@1400efaa0 12 ok +0x1400efab0 Unwind@1400efab0 16 ok +0x1400efac0 Unwind@1400efac0 16 ok +0x1400efad0 Unwind@1400efad0 12 ok +0x1400efae0 Unwind@1400efae0 12 ok +0x1400efaf0 Unwind@1400efaf0 12 ok +0x1400efb00 Unwind@1400efb00 12 ok +0x1400efb10 Unwind@1400efb10 12 ok +0x1400efb20 Unwind@1400efb20 12 ok +0x1400efb30 Unwind@1400efb30 12 ok +0x1400efb40 Unwind@1400efb40 16 ok +0x1400efb50 Unwind@1400efb50 12 ok +0x1400efb60 Unwind@1400efb60 14 ok +0x1400efb70 Unwind@1400efb70 14 ok +0x1400efb80 Unwind@1400efb80 12 ok +0x1400efb90 Unwind@1400efb90 12 ok +0x1400efba0 Unwind@1400efba0 12 ok +0x1400efbb0 Unwind@1400efbb0 12 ok +0x1400efbc0 Unwind@1400efbc0 12 ok +0x1400efbd0 Unwind@1400efbd0 12 ok +0x1400efbe0 Unwind@1400efbe0 14 ok +0x1400efbf0 Unwind@1400efbf0 14 ok +0x1400efc00 Unwind@1400efc00 14 ok +0x1400efc10 Unwind@1400efc10 14 ok +0x1400efc20 Unwind@1400efc20 14 ok +0x1400efc30 Unwind@1400efc30 12 ok +0x1400efc40 Unwind@1400efc40 14 ok +0x1400efc50 Unwind@1400efc50 14 ok +0x1400efc60 Unwind@1400efc60 14 ok +0x1400efc70 Unwind@1400efc70 12 ok +0x1400efc80 Unwind@1400efc80 16 ok +0x1400efc90 Unwind@1400efc90 12 ok +0x1400efca0 Unwind@1400efca0 16 ok +0x1400efcb0 Unwind@1400efcb0 12 ok +0x1400efcc0 Unwind@1400efcc0 14 ok +0x1400efcd0 Unwind@1400efcd0 14 ok +0x1400efce0 Unwind@1400efce0 12 ok +0x1400efcf0 Unwind@1400efcf0 12 ok +0x1400efd00 Unwind@1400efd00 12 ok +0x1400efd10 Unwind@1400efd10 16 ok +0x1400efd20 Unwind@1400efd20 12 ok +0x1400efd30 Unwind@1400efd30 14 ok +0x1400efd40 Unwind@1400efd40 14 ok +0x1400efd50 Unwind@1400efd50 12 ok +0x1400efd60 Unwind@1400efd60 12 ok +0x1400efd70 Unwind@1400efd70 12 ok +0x1400efd80 Unwind@1400efd80 12 ok +0x1400efd90 Unwind@1400efd90 14 ok +0x1400efda0 Unwind@1400efda0 12 ok +0x1400efdb0 Unwind@1400efdb0 12 ok +0x1400efdc0 Unwind@1400efdc0 12 ok +0x1400efdd0 Unwind@1400efdd0 12 ok +0x1400efde0 Unwind@1400efde0 14 ok +0x1400efdf0 Unwind@1400efdf0 12 ok +0x1400efe00 Unwind@1400efe00 12 ok +0x1400efe10 Unwind@1400efe10 14 ok +0x1400efe20 Unwind@1400efe20 12 ok +0x1400efe30 Unwind@1400efe30 16 ok +0x1400efe40 Unwind@1400efe40 12 ok +0x1400efe50 Unwind@1400efe50 12 ok +0x1400efe60 Unwind@1400efe60 16 ok +0x1400efe70 Unwind@1400efe70 12 ok +0x1400efe80 Unwind@1400efe80 16 ok +0x1400efe90 Unwind@1400efe90 12 ok +0x1400efea0 Unwind@1400efea0 12 ok +0x1400efeb0 Unwind@1400efeb0 12 ok +0x1400efec0 Unwind@1400efec0 12 ok +0x1400efed0 Unwind@1400efed0 16 ok +0x1400efee0 Unwind@1400efee0 49 ok +0x1400eff20 Unwind@1400eff20 18 ok +0x1400eff40 Unwind@1400eff40 14 ok +0x1400eff50 Unwind@1400eff50 12 ok +0x1400eff60 Unwind@1400eff60 12 ok +0x1400eff70 Unwind@1400eff70 12 ok +0x1400eff80 Unwind@1400eff80 16 ok +0x1400eff90 Unwind@1400eff90 12 ok +0x1400effa0 Unwind@1400effa0 12 ok +0x1400effb0 Unwind@1400effb0 12 ok +0x1400effc0 Unwind@1400effc0 12 ok +0x1400effd0 Unwind@1400effd0 16 ok +0x1400effe0 Unwind@1400effe0 12 ok +0x1400efff0 Unwind@1400efff0 16 ok +0x1400f0000 Unwind@1400f0000 12 ok +0x1400f0010 Unwind@1400f0010 12 ok +0x1400f0020 Unwind@1400f0020 12 ok +0x1400f0030 Unwind@1400f0030 12 ok +0x1400f0040 Unwind@1400f0040 12 ok +0x1400f0050 Unwind@1400f0050 12 ok +0x1400f0060 Unwind@1400f0060 16 ok +0x1400f0070 Unwind@1400f0070 12 ok +0x1400f0080 Unwind@1400f0080 16 ok +0x1400f0090 Unwind@1400f0090 12 ok +0x1400f00a0 Unwind@1400f00a0 16 ok +0x1400f00b0 Unwind@1400f00b0 12 ok +0x1400f00c0 Unwind@1400f00c0 16 ok +0x1400f00d0 Unwind@1400f00d0 12 ok +0x1400f00e0 Unwind@1400f00e0 12 ok +0x1400f00f0 Unwind@1400f00f0 12 ok +0x1400f0100 Unwind@1400f0100 12 ok +0x1400f0110 Unwind@1400f0110 12 ok +0x1400f0120 Unwind@1400f0120 12 ok +0x1400f0130 Unwind@1400f0130 12 ok +0x1400f0140 Unwind@1400f0140 12 ok +0x1400f0150 Unwind@1400f0150 12 ok +0x1400f0160 Unwind@1400f0160 12 ok +0x1400f0170 Unwind@1400f0170 12 ok +0x1400f0180 Unwind@1400f0180 22 ok +0x1400f01a0 Unwind@1400f01a0 22 ok +0x1400f01c0 Unwind@1400f01c0 22 ok +0x1400f01e0 Unwind@1400f01e0 14 ok +0x1400f01f0 Unwind@1400f01f0 12 ok +0x1400f0200 Unwind@1400f0200 16 ok +0x1400f0210 Unwind@1400f0210 14 ok +0x1400f0220 Unwind@1400f0220 14 ok +0x1400f0230 Unwind@1400f0230 12 ok +0x1400f0240 Unwind@1400f0240 14 ok +0x1400f0250 Unwind@1400f0250 12 ok +0x1400f0260 Unwind@1400f0260 16 ok +0x1400f0270 Unwind@1400f0270 22 ok +0x1400f0290 Unwind@1400f0290 12 ok +0x1400f02a0 Unwind@1400f02a0 28 ok +0x1400f02c0 Unwind@1400f02c0 28 ok +0x1400f02e0 Unwind@1400f02e0 12 ok +0x1400f02f0 Unwind@1400f02f0 12 ok +0x1400f0300 Unwind@1400f0300 12 ok +0x1400f0310 Unwind@1400f0310 28 ok +0x1400f0330 Unwind@1400f0330 28 ok +0x1400f0350 Unwind@1400f0350 12 ok +0x1400f0360 Unwind@1400f0360 12 ok +0x1400f0370 Unwind@1400f0370 12 ok +0x1400f0380 Unwind@1400f0380 16 ok +0x1400f0390 Unwind@1400f0390 12 ok +0x1400f03a0 Unwind@1400f03a0 12 ok +0x1400f03b0 Unwind@1400f03b0 12 ok +0x1400f03c0 Unwind@1400f03c0 12 ok +0x1400f03d0 Unwind@1400f03d0 12 ok +0x1400f03e0 Unwind@1400f03e0 12 ok +0x1400f03f0 Unwind@1400f03f0 12 ok +0x1400f0400 Unwind@1400f0400 12 ok +0x1400f0410 Unwind@1400f0410 14 ok +0x1400f0420 Unwind@1400f0420 14 ok +0x1400f0430 Unwind@1400f0430 12 ok +0x1400f0440 Unwind@1400f0440 14 ok +0x1400f0450 Unwind@1400f0450 16 ok +0x1400f0460 Unwind@1400f0460 16 ok +0x1400f0470 Unwind@1400f0470 12 ok +0x1400f0480 Unwind@1400f0480 12 ok +0x1400f0490 Unwind@1400f0490 12 ok +0x1400f04a0 Unwind@1400f04a0 14 ok +0x1400f04b0 Unwind@1400f04b0 12 ok +0x1400f04c0 Unwind@1400f04c0 16 ok +0x1400f04d0 Unwind@1400f04d0 12 ok +0x1400f04e0 Unwind@1400f04e0 14 ok +0x1400f04f0 Unwind@1400f04f0 12 ok +0x1400f0500 Unwind@1400f0500 28 ok +0x1400f0520 Unwind@1400f0520 28 ok +0x1400f0540 Unwind@1400f0540 12 ok +0x1400f0550 Unwind@1400f0550 12 ok +0x1400f0560 Unwind@1400f0560 16 ok +0x1400f0570 Unwind@1400f0570 16 ok +0x1400f0580 Unwind@1400f0580 12 ok +0x1400f0590 Unwind@1400f0590 16 ok +0x1400f05a0 Unwind@1400f05a0 16 ok +0x1400f05b0 Unwind@1400f05b0 12 ok +0x1400f05c0 Unwind@1400f05c0 12 ok +0x1400f05d0 Unwind@1400f05d0 12 ok +0x1400f05e0 FUN_1400f05e0 45 ok +0x1400f0610 FUN_1400f0610 42 ok +0x1400f0640 FUN_1400f0640 25 ok +0x1400f0660 FUN_1400f0660 33 ok +0x1400f06b0 FUN_1400f06b0 45 ok +0x1400f06e0 FUN_1400f06e0 116 ok +0x1400f0760 FUN_1400f0760 116 ok +0x1400f07e0 FUN_1400f07e0 42 ok +0x1400f0810 FUN_1400f0810 42 ok +0x1400f0840 FUN_1400f0840 42 ok +0x1400f08e0 FUN_1400f08e0 42 ok +0x1400f0910 FUN_1400f0910 42 ok +0x1400f0940 FUN_1400f0940 45 ok +0x1400f0970 FUN_1400f0970 42 ok +0x1400f09a0 FUN_1400f09a0 42 ok +0x1400f09d0 FUN_1400f09d0 42 ok +0x1400f0a00 FUN_1400f0a00 55 ok +0x1400f0a40 FUN_1400f0a40 42 ok +0x1400f0a6c FUN_1400f0a6c 32 ok +0x1400f0a8c FUN_1400f0a8c 54 ok +0x1400f0dc0 FUN_1400f0dc0 42 ok +0x1400f0eb0 FUN_1400f0eb0 42 ok +0x1400f0ee0 FUN_1400f0ee0 42 ok +0x1400f0f20 FUN_1400f0f20 42 ok +0x1400f0f50 FUN_1400f0f50 42 ok +0x1400f0f90 FUN_1400f0f90 114 ok +0x1400f1010 FUN_1400f1010 42 ok +0x1400f1040 FUN_1400f1040 42 ok +0x1400f1070 FUN_1400f1070 42 ok +0x1400f10a0 FUN_1400f10a0 327 ok +0x1400f11f0 FUN_1400f11f0 106 ok +0x1400f1270 FUN_1400f1270 106 ok +0x1400f1350 FUN_1400f1350 59 ok +0x1400f13c0 FUN_1400f13c0 55 ok +0x1400f1410 FUN_1400f1410 59 ok +0x1400f1450 FUN_1400f1450 61 ok +0x1400f1490 FUN_1400f1490 61 ok +0x1400f1510 FUN_1400f1510 43 ok +0x1400f1628 FUN_1400f1628 50 ok +0x1400f165c FUN_1400f165c 15 ok +0x1400f1670 FUN_1400f1670 14 ok +0x1400f1680 FUN_1400f1680 31 ok +0x1400f16b0 FUN_1400f16b0 131 ok +0x1400f17a0 FUN_1400f17a0 87 ok +0x1400f1800 FUN_1400f1800 15 ok +0x1400f1810 FUN_1400f1810 101 ok +0x1400f1890 FUN_1400f1890 61 ok +0x1400f1910 FUN_1400f1910 15 ok diff --git a/decomp/Agent_Release_x64/full/vtables.tsv b/decomp/Agent_Release_x64/full/vtables.tsv new file mode 100644 index 00000000..f4792bb4 --- /dev/null +++ b/decomp/Agent_Release_x64/full/vtables.tsv @@ -0,0 +1,1431 @@ +class vftable slot function name +type_info 0x1400f5a70 0 0x14003abbc type_info::`vector_deleting_destructor' +Proud::CFastHeap 0x1400f3608 0 0x140030320 FUN_140030320 +Proud::CFastHeap 0x1400f3608 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::CFastHeap 0x1400f3608 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::CFastHeap 0x1400f3608 3 0x14003b036 MSVCR100.DLL::_purecall +Proud::CFastHeap 0x1400f3608 4 0x14003b036 MSVCR100.DLL::_purecall +Proud::CMemoryHeap 0x1400f36f8 0 0x14003b036 MSVCR100.DLL::_purecall +Proud::CMemoryHeap 0x1400f36f8 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::CMemoryHeap 0x1400f36f8 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::CMemoryHeap 0x1400f36f8 3 0x14003b036 MSVCR100.DLL::_purecall +Proud::CMemoryHeap 0x1400f36f8 4 0x1400303e0 FUN_1400303e0 +Proud::CFastHeapImpl 0x1400f3750 0 0x140030600 FUN_140030600 +Proud::CFastHeapImpl 0x1400f3750 1 0x140030690 FUN_140030690 +Proud::CFastHeapImpl 0x1400f3750 2 0x140030780 FUN_140030780 +Proud::CFastHeapImpl 0x1400f3750 3 0x140030990 FUN_140030990 +Proud::CFastHeapImpl 0x1400f3750 4 0x140030490 FUN_140030490 +Proud::CMemoryHeapImpl 0x1400f37c8 0 0x140030510 FUN_140030510 +Proud::CMemoryHeapImpl 0x1400f37c8 1 0x140030530 FUN_140030530 +Proud::CMemoryHeapImpl 0x1400f37c8 2 0x140030550 FUN_140030550 +Proud::CMemoryHeapImpl 0x1400f37c8 3 0x140030580 FUN_140030580 +Proud::CMemoryHeapImpl 0x1400f37c8 4 0x1400305a0 FUN_1400305a0 +Proud::AddrPort 0x1400f40a8 0 0x140033b30 FUN_140033b30 +Proud::AddrPort 0x1400f40a8 1 0x140033ca0 FUN_140033ca0 +Proud::IFastSocketDelegate 0x1400f40c0 0 0x1400314c0 FUN_1400314c0 +Proud::IFastSocketDelegate 0x1400f40c0 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::CReportSocketDg 0x1400f41d0 0 0x1400314c0 FUN_1400314c0 +Proud::CReportSocketDg 0x1400f41d0 1 0x14005ba80 FUN_14005ba80 +Proud::CLookasideAllocator 0x1400f4428 0 0x1400331c0 FUN_1400331c0 +Proud::CLookasideAllocator 0x1400f4428 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::CLookasideAllocator 0x1400f4428 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::CLookasideAllocator 0x1400f4428 3 0x14003b036 MSVCR100.DLL::_purecall +Proud::IHasOverlappedIo 0x1400f46c8 0 0x140034f60 FUN_140034f60 +Proud::IHasOverlappedIo 0x1400f46c8 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::IHasOverlappedIo 0x1400f46c8 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::CFastArray 0x1400f47e0 0 0x1400357a0 FUN_1400357a0 +Proud::CSocketBuffer 0x1400f47f0 0 0x1400357a0 FUN_1400357a0 +Proud::CLookasideAllocatorImpl 0x1400f54d0 0 0x140038290 FUN_140038290 +Proud::CLookasideAllocatorImpl 0x1400f54d0 1 0x140037f30 FUN_140037f30 +Proud::CLookasideAllocatorImpl 0x1400f54d0 2 0x140037f70 FUN_140037f70 +Proud::CLookasideAllocatorImpl 0x1400f54d0 3 0x140037b80 FUN_140037b80 +Proud::CRandom 0x1400f58c8 0 0x140039c10 FUN_140039c10 +Proud::ByteArray 0x1400f5b58 0 0x14003b5d0 FUN_14003b5d0 +Proud::IRmiHost 0x1400f7298 0 0x14003d8e0 FUN_14003d8e0 +Proud::IRmiHost 0x1400f7298 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiHost 0x1400f7298 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiHost 0x1400f7298 3 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiHost 0x1400f7298 4 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiHost 0x1400f7298 5 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiHost 0x1400f7298 6 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiHost 0x1400f7298 7 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiHost 0x1400f7298 8 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiHost 0x1400f7298 9 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiHost 0x1400f7298 10 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiHost 0x1400f7298 11 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiHost 0x1400f7298 12 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiHost 0x1400f7298 13 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiHost 0x1400f7298 14 0x14003b036 MSVCR100.DLL::_purecall +Proud::ICompletionContext 0x1400f7320 0 0x14003c6e0 FUN_14003c6e0 +Proud::ICompletionContext 0x1400f7320 1 0x14002e790 FUN_14002e790 +Proud::ICompletionPortEventSink 0x1400f7338 0 0x14003c720 FUN_14003c720 +Proud::ICompletionPortEventSink 0x1400f7338 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::ISendDest_S 0x1400f7350 0 0x14002e790 FUN_14002e790 +Proud::ISendDest_S 0x1400f7350 1 0x14003c760 FUN_14003c760 +Proud::ISendDest_S 0x1400f7350 2 0x14002e790 FUN_14002e790 +Proud::IUserTaskQueueOwner 0x1400f7370 0 0x14003c7a0 FUN_14003c7a0 +Proud::IUserTaskQueueOwner 0x1400f7370 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::IUserTaskQueueOwner 0x1400f7370 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::IUserTaskQueueOwner 0x1400f7370 3 0x14003b036 MSVCR100.DLL::_purecall +Proud::IVizAgentDg 0x1400f7398 0 0x14003c7e0 FUN_14003c7e0 +Proud::IVizAgentDg 0x1400f7398 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::IVizAgentDg 0x1400f7398 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::IVizAgentDg 0x1400f7398 3 0x14003b036 MSVCR100.DLL::_purecall +ProudS2C::Proxy 0x1400f73c8 0 0x140064140 FUN_140064140 +ProudS2C::Proxy 0x1400f73c8 1 0x140064150 FUN_140064150 +ProudS2C::Proxy 0x1400f73c8 2 0x140093300 FUN_140093300 +ProudS2C::Proxy 0x1400f73c8 3 0x140082060 FUN_140082060 +ProudS2C::Proxy 0x1400f73c8 4 0x140064110 FUN_140064110 +ProudS2C::Proxy 0x1400f73c8 5 0x14004e340 FUN_14004e340 +ProudS2C::Proxy 0x1400f73c8 6 0x14004e020 FUN_14004e020 +ProudS2C::Proxy 0x1400f73c8 7 0x14004e8b0 FUN_14004e8b0 +ProudS2C::Proxy 0x1400f73c8 8 0x14004e670 FUN_14004e670 +ProudS2C::Proxy 0x1400f73c8 9 0x140048510 FUN_140048510 +ProudS2C::Proxy 0x1400f73c8 10 0x140048380 FUN_140048380 +ProudS2C::Proxy 0x1400f73c8 11 0x1400487e0 FUN_1400487e0 +ProudS2C::Proxy 0x1400f73c8 12 0x1400486b0 FUN_1400486b0 +ProudS2C::Proxy 0x1400f73c8 13 0x140048a10 FUN_140048a10 +ProudS2C::Proxy 0x1400f73c8 14 0x140048920 FUN_140048920 +ProudS2C::Proxy 0x1400f73c8 15 0x140048c00 FUN_140048c00 +ProudS2C::Proxy 0x1400f73c8 16 0x140048b10 FUN_140048b10 +ProudS2C::Proxy 0x1400f73c8 17 0x140048e90 FUN_140048e90 +ProudS2C::Proxy 0x1400f73c8 18 0x140048d00 FUN_140048d00 +ProudS2C::Proxy 0x1400f73c8 19 0x1400490f0 FUN_1400490f0 +ProudS2C::Proxy 0x1400f73c8 20 0x140049030 FUN_140049030 +ProudS2C::Proxy 0x1400f73c8 21 0x140049280 FUN_140049280 +ProudS2C::Proxy 0x1400f73c8 22 0x1400491c0 FUN_1400491c0 +ProudS2C::Proxy 0x1400f73c8 23 0x140049410 FUN_140049410 +ProudS2C::Proxy 0x1400f73c8 24 0x140049350 FUN_140049350 +ProudS2C::Proxy 0x1400f73c8 25 0x1400495a0 FUN_1400495a0 +ProudS2C::Proxy 0x1400f73c8 26 0x1400494e0 FUN_1400494e0 +ProudS2C::Proxy 0x1400f73c8 27 0x140049750 FUN_140049750 +ProudS2C::Proxy 0x1400f73c8 28 0x140049670 FUN_140049670 +ProudS2C::Proxy 0x1400f73c8 29 0x1400498f0 FUN_1400498f0 +ProudS2C::Proxy 0x1400f73c8 30 0x140049830 FUN_140049830 +ProudS2C::Proxy 0x1400f73c8 31 0x140049a80 FUN_140049a80 +ProudS2C::Proxy 0x1400f73c8 32 0x1400499c0 FUN_1400499c0 +ProudS2C::Proxy 0x1400f73c8 33 0x140049c30 FUN_140049c30 +ProudS2C::Proxy 0x1400f73c8 34 0x140049b50 FUN_140049b50 +ProudS2C::Proxy 0x1400f73c8 35 0x140049df0 FUN_140049df0 +ProudS2C::Proxy 0x1400f73c8 36 0x140049d10 FUN_140049d10 +ProudS2C::Proxy 0x1400f73c8 37 0x140049fb0 FUN_140049fb0 +ProudS2C::Proxy 0x1400f73c8 38 0x140049ed0 FUN_140049ed0 +ProudS2C::Proxy 0x1400f73c8 39 0x14004a170 FUN_14004a170 +ProudS2C::Proxy 0x1400f73c8 40 0x14004a090 FUN_14004a090 +ProudS2C::Proxy 0x1400f73c8 41 0x14004a340 FUN_14004a340 +ProudS2C::Proxy 0x1400f73c8 42 0x14004a250 FUN_14004a250 +Proud::CNetServerImpl::Proxy 0x1400f7528 0 0x140064140 FUN_140064140 +Proud::CNetServerImpl::Proxy 0x1400f7528 1 0x140064150 FUN_140064150 +Proud::CNetServerImpl::Proxy 0x1400f7528 2 0x140093300 FUN_140093300 +Proud::CNetServerImpl::Proxy 0x1400f7528 3 0x140082060 FUN_140082060 +Proud::CNetServerImpl::Proxy 0x1400f7528 4 0x140064110 FUN_140064110 +Proud::CNetServerImpl::Proxy 0x1400f7528 5 0x14004e340 FUN_14004e340 +Proud::CNetServerImpl::Proxy 0x1400f7528 6 0x14004e020 FUN_14004e020 +Proud::CNetServerImpl::Proxy 0x1400f7528 7 0x14004e8b0 FUN_14004e8b0 +Proud::CNetServerImpl::Proxy 0x1400f7528 8 0x14004e670 FUN_14004e670 +Proud::CNetServerImpl::Proxy 0x1400f7528 9 0x140048510 FUN_140048510 +Proud::CNetServerImpl::Proxy 0x1400f7528 10 0x140048380 FUN_140048380 +Proud::CNetServerImpl::Proxy 0x1400f7528 11 0x1400487e0 FUN_1400487e0 +Proud::CNetServerImpl::Proxy 0x1400f7528 12 0x1400486b0 FUN_1400486b0 +Proud::CNetServerImpl::Proxy 0x1400f7528 13 0x140048a10 FUN_140048a10 +Proud::CNetServerImpl::Proxy 0x1400f7528 14 0x140048920 FUN_140048920 +Proud::CNetServerImpl::Proxy 0x1400f7528 15 0x140048c00 FUN_140048c00 +Proud::CNetServerImpl::Proxy 0x1400f7528 16 0x140048b10 FUN_140048b10 +Proud::CNetServerImpl::Proxy 0x1400f7528 17 0x140048e90 FUN_140048e90 +Proud::CNetServerImpl::Proxy 0x1400f7528 18 0x140048d00 FUN_140048d00 +Proud::CNetServerImpl::Proxy 0x1400f7528 19 0x1400490f0 FUN_1400490f0 +Proud::CNetServerImpl::Proxy 0x1400f7528 20 0x140049030 FUN_140049030 +Proud::CNetServerImpl::Proxy 0x1400f7528 21 0x140049280 FUN_140049280 +Proud::CNetServerImpl::Proxy 0x1400f7528 22 0x1400491c0 FUN_1400491c0 +Proud::CNetServerImpl::Proxy 0x1400f7528 23 0x140049410 FUN_140049410 +Proud::CNetServerImpl::Proxy 0x1400f7528 24 0x140049350 FUN_140049350 +Proud::CNetServerImpl::Proxy 0x1400f7528 25 0x1400495a0 FUN_1400495a0 +Proud::CNetServerImpl::Proxy 0x1400f7528 26 0x1400494e0 FUN_1400494e0 +Proud::CNetServerImpl::Proxy 0x1400f7528 27 0x140049750 FUN_140049750 +Proud::CNetServerImpl::Proxy 0x1400f7528 28 0x140049670 FUN_140049670 +Proud::CNetServerImpl::Proxy 0x1400f7528 29 0x1400498f0 FUN_1400498f0 +Proud::CNetServerImpl::Proxy 0x1400f7528 30 0x140049830 FUN_140049830 +Proud::CNetServerImpl::Proxy 0x1400f7528 31 0x140049a80 FUN_140049a80 +Proud::CNetServerImpl::Proxy 0x1400f7528 32 0x1400499c0 FUN_1400499c0 +Proud::CNetServerImpl::Proxy 0x1400f7528 33 0x140049c30 FUN_140049c30 +Proud::CNetServerImpl::Proxy 0x1400f7528 34 0x140049b50 FUN_140049b50 +Proud::CNetServerImpl::Proxy 0x1400f7528 35 0x140049df0 FUN_140049df0 +Proud::CNetServerImpl::Proxy 0x1400f7528 36 0x140049d10 FUN_140049d10 +Proud::CNetServerImpl::Proxy 0x1400f7528 37 0x140049fb0 FUN_140049fb0 +Proud::CNetServerImpl::Proxy 0x1400f7528 38 0x140049ed0 FUN_140049ed0 +Proud::CNetServerImpl::Proxy 0x1400f7528 39 0x14004a170 FUN_14004a170 +Proud::CNetServerImpl::Proxy 0x1400f7528 40 0x14004a090 FUN_14004a090 +Proud::CNetServerImpl::Proxy 0x1400f7528 41 0x14004a340 FUN_14004a340 +Proud::CNetServerImpl::Proxy 0x1400f7528 42 0x14004a250 FUN_14004a250 +Proud::CNetServer 0x1400f7b08 0 0x14003d8e0 FUN_14003d8e0 +Proud::CNetServer 0x1400f7b08 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 3 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 4 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 5 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 6 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 7 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 8 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 9 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 10 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 11 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 12 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 13 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 14 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 15 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 16 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 17 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 18 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 19 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 20 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 21 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 22 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 23 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 24 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 25 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 26 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 27 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 28 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 29 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 30 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 31 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 32 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 33 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 34 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 35 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 36 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 37 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 38 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 39 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 40 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 41 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 42 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 43 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 44 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 45 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 46 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 47 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 48 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 49 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 50 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 51 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 52 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 53 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 54 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 55 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 56 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 57 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 58 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 59 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 60 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 61 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 62 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 63 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 64 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 65 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 66 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 67 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServer 0x1400f7b08 68 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetServerImpl::C2SStub 0x1400f7d38 0 0x14003c850 FUN_14003c850 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 1 0x14003c860 FUN_14003c860 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 2 0x140044800 FUN_140044800 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 3 0x140006b80 FUN_140006b80 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 4 0x140006b80 FUN_140006b80 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 5 0x140006b30 FUN_140006b30 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 6 0x140064700 FUN_140064700 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 7 0x14004aaf0 FUN_14004aaf0 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 8 0x140051360 FUN_140051360 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 9 0x14004feb0 FUN_14004feb0 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 10 0x14005c2d0 FUN_14005c2d0 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 11 0x140050e30 FUN_140050e30 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 12 0x14004ac30 FUN_14004ac30 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 13 0x140062a10 FUN_140062a10 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 14 0x14004a610 FUN_14004a610 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 15 0x14004a750 FUN_14004a750 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 16 0x14004ad90 FUN_14004ad90 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 17 0x140051630 FUN_140051630 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 18 0x1400554d0 FUN_1400554d0 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 19 0x14004a430 FUN_14004a430 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 20 0x14004a520 FUN_14004a520 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 21 0x14004ae80 FUN_14004ae80 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 22 0x1400557b0 FUN_1400557b0 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 23 0x14004eb00 FUN_14004eb00 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 24 0x14004afc0 FUN_14004afc0 +Proud::CNetServerImpl::C2SStub 0x1400f7d38 25 0x14004b170 FUN_14004b170 +Proud::CFastArray 0x1400f82e0 0 0x14003e410 FUN_14003e410 +Proud::CFastArray 0x1400f82f0 0 0x14003e470 FUN_14003e470 +Proud::CFastArray 0x1400f8300 0 0x14003e4d0 FUN_14003e4d0 +Proud::CFastArray 0x1400f8310 0 0x14003e530 FUN_14003e530 +Proud::CFastArray,0> 0x1400f8320 0 0x14004dc10 FUN_14004dc10 +Proud::CFastArray 0x1400f8330 0 0x14003e590 FUN_14003e590 +Proud::CFastArray 0x1400f8340 0 0x14003e5f0 FUN_14003e5f0 +Proud::CFastArray 0x1400f8360 0 0x14003e650 FUN_14003e650 +Proud::CUncompressedFrameNumberArray 0x1400f8370 0 0x14003e4d0 FUN_14003e4d0 +Proud::CFastArray,0> 0x1400facb0 0 0x140050150 FUN_140050150 +Proud::CP2PGroupMemberBase_S 0x1400fc570 0 0x14003b036 MSVCR100.DLL::_purecall +Proud::CP2PGroupMemberBase_S 0x1400fc570 1 0x14005a370 FUN_14005a370 +Proud::CNetServerImpl 0x1400fc9b8 0 0x140063e30 FUN_140063e30 +Proud::CNetServerImpl 0x1400fc9b8 1 0x140064100 thunk_FUN_140082c10 +Proud::CNetServerImpl 0x1400fc9b8 2 0x14003c820 thunk_FUN_140082e10 +Proud::CNetServerImpl 0x1400fc9b8 3 0x14005b8d0 thunk_FUN_1400828c0 +Proud::CNetServerImpl 0x1400fc9b8 4 0x14005b8e0 thunk_FUN_140082a20 +Proud::CNetServerImpl 0x1400fc9b8 5 0x14003d8b0 FUN_14003d8b0 +Proud::CNetServerImpl 0x1400fc9b8 6 0x1400645b0 FUN_1400645b0 +Proud::CNetServerImpl 0x1400fc9b8 7 0x140053210 FUN_140053210 +Proud::CNetServerImpl 0x1400fc9b8 8 0x14007aca0 thunk_FUN_140093300 +Proud::CNetServerImpl 0x1400fc9b8 9 0x14007acb0 thunk_FUN_140082680 +Proud::CNetServerImpl 0x1400fc9b8 10 0x140057a30 FUN_140057a30 +Proud::CNetServerImpl 0x1400fc9b8 11 0x14003c810 FUN_14003c810 +Proud::CNetServerImpl 0x1400fc9b8 12 0x14003dd70 FUN_14003dd70 +Proud::CNetServerImpl 0x1400fc9b8 13 0x14004cf70 FUN_14004cf70 +Proud::CNetServerImpl 0x1400fc9b8 14 0x14006fb10 FUN_14006fb10 +Proud::CNetServerImpl 0x1400fc9b8 15 0x14005a530 FUN_14005a530 +Proud::CNetServerImpl 0x1400fc9b8 16 0x1400601e0 FUN_1400601e0 +Proud::CNetServerImpl 0x1400fc9b8 17 0x1400604e0 FUN_1400604e0 +Proud::CNetServerImpl 0x1400fc9b8 18 0x14003dc80 FUN_14003dc80 +Proud::CNetServerImpl 0x1400fc9b8 19 0x14003c830 FUN_14003c830 +Proud::CNetServerImpl 0x1400fc9b8 20 0x140042ff0 FUN_140042ff0 +Proud::CNetServerImpl 0x1400fc9b8 21 0x140043110 FUN_140043110 +Proud::CNetServerImpl 0x1400fc9b8 22 0x140043200 FUN_140043200 +Proud::CNetServerImpl 0x1400fc9b8 23 0x140043320 FUN_140043320 +Proud::CNetServerImpl 0x1400fc9b8 24 0x14004b7c0 FUN_14004b7c0 +Proud::CNetServerImpl 0x1400fc9b8 25 0x14004d6d0 FUN_14004d6d0 +Proud::CNetServerImpl 0x1400fc9b8 26 0x14003c9a0 FUN_14003c9a0 +Proud::CNetServerImpl 0x1400fc9b8 27 0x140063de0 FUN_140063de0 +Proud::CNetServerImpl 0x1400fc998 0 0x14005ba50 FUN_14005ba50 +Proud::CNetServerImpl 0x1400fc998 1 0x140040c10 FUN_140040c10 +Proud::CNetServerImpl 0x1400fc980 0 0x14005b960 FUN_14005b960 +Proud::CNetServerImpl 0x1400fc980 1 0x14005ba80 FUN_14005ba80 +Proud::CNetServerImpl 0x1400fc960 0 0x14002e790 FUN_14002e790 +Proud::CNetServerImpl 0x1400fc960 1 0x14005b9a0 FUN_14005b9a0 +Proud::CNetServerImpl 0x1400fc960 2 0x1400645b0 FUN_1400645b0 +Proud::CNetServerImpl 0x1400fc928 0 0x14005ba00 FUN_14005ba00 +Proud::CNetServerImpl 0x1400fc928 1 0x140064620 FUN_140064620 +Proud::CNetServerImpl 0x1400fc928 2 0x14003d910 FUN_14003d910 +Proud::CNetServerImpl 0x1400fc928 3 0x14003c870 FUN_14003c870 +Proud::CNetServerImpl 0x1400fc928 4 0x14003c880 FUN_14003c880 +Proud::CNetServerImpl 0x1400fc928 5 0x14005a470 FUN_14005a470 +Proud::CNetServerImpl 0x1400fc6f8 0 0x14005b980 FUN_14005b980 +Proud::CNetServerImpl 0x1400fc6f8 1 0x14005ba30 FUN_14005ba30 +Proud::CNetServerImpl 0x1400fc6f8 2 0x14005b990 FUN_14005b990 +Proud::CNetServerImpl 0x1400fc6f8 3 0x14005b9f0 FUN_14005b9f0 +Proud::CNetServerImpl 0x1400fc6f8 4 0x14005b930 FUN_14005b930 +Proud::CNetServerImpl 0x1400fc6f8 5 0x14005ba60 FUN_14005ba60 +Proud::CNetServerImpl 0x1400fc6f8 6 0x14005b970 FUN_14005b970 +Proud::CNetServerImpl 0x1400fc6f8 7 0x14005bab0 FUN_14005bab0 +Proud::CNetServerImpl 0x1400fc6f8 8 0x14005b950 FUN_14005b950 +Proud::CNetServerImpl 0x1400fc6f8 9 0x14005ba20 FUN_14005ba20 +Proud::CNetServerImpl 0x1400fc6f8 10 0x14005bac0 FUN_14005bac0 +Proud::CNetServerImpl 0x1400fc6f8 11 0x14005b9e0 FUN_14005b9e0 +Proud::CNetServerImpl 0x1400fc6f8 12 0x14005ba70 FUN_14005ba70 +Proud::CNetServerImpl 0x1400fc6f8 13 0x14005baa0 FUN_14005baa0 +Proud::CNetServerImpl 0x1400fc6f8 14 0x14005ba90 FUN_14005ba90 +Proud::CNetServerImpl 0x1400fc6f8 15 0x14004b930 FUN_14004b930 +Proud::CNetServerImpl 0x1400fc6f8 16 0x1400419b0 FUN_1400419b0 +Proud::CNetServerImpl 0x1400fc6f8 17 0x1400610f0 FUN_1400610f0 +Proud::CNetServerImpl 0x1400fc6f8 18 0x140060980 FUN_140060980 +Proud::CNetServerImpl 0x1400fc6f8 19 0x140061e80 FUN_140061e80 +Proud::CNetServerImpl 0x1400fc6f8 20 0x140065fc0 FUN_140065fc0 +Proud::CNetServerImpl 0x1400fc6f8 21 0x14003d920 FUN_14003d920 +Proud::CNetServerImpl 0x1400fc6f8 22 0x140042b10 FUN_140042b10 +Proud::CNetServerImpl 0x1400fc6f8 23 0x140041d40 FUN_140041d40 +Proud::CNetServerImpl 0x1400fc6f8 24 0x140041820 FUN_140041820 +Proud::CNetServerImpl 0x1400fc6f8 25 0x140041b20 FUN_140041b20 +Proud::CNetServerImpl 0x1400fc6f8 26 0x140041c30 FUN_140041c30 +Proud::CNetServerImpl 0x1400fc6f8 27 0x14004bb20 FUN_14004bb20 +Proud::CNetServerImpl 0x1400fc6f8 28 0x140057210 FUN_140057210 +Proud::CNetServerImpl 0x1400fc6f8 29 0x14003dc10 FUN_14003dc10 +Proud::CNetServerImpl 0x1400fc6f8 30 0x14005c9b0 FUN_14005c9b0 +Proud::CNetServerImpl 0x1400fc6f8 31 0x14003d820 FUN_14003d820 +Proud::CNetServerImpl 0x1400fc6f8 32 0x140041e40 FUN_140041e40 +Proud::CNetServerImpl 0x1400fc6f8 33 0x140043420 FUN_140043420 +Proud::CNetServerImpl 0x1400fc6f8 34 0x14003ddf0 FUN_14003ddf0 +Proud::CNetServerImpl 0x1400fc6f8 35 0x14003c890 FUN_14003c890 +Proud::CNetServerImpl 0x1400fc6f8 36 0x14005ec50 FUN_14005ec50 +Proud::CNetServerImpl 0x1400fc6f8 37 0x140060bb0 FUN_140060bb0 +Proud::CNetServerImpl 0x1400fc6f8 38 0x14003c940 FUN_14003c940 +Proud::CNetServerImpl 0x1400fc6f8 39 0x140055a90 FUN_140055a90 +Proud::CNetServerImpl 0x1400fc6f8 40 0x140042600 FUN_140042600 +Proud::CNetServerImpl 0x1400fc6f8 41 0x140062b20 FUN_140062b20 +Proud::CNetServerImpl 0x1400fc6f8 42 0x14003dc90 FUN_14003dc90 +Proud::CNetServerImpl 0x1400fc6f8 43 0x14004c050 FUN_14004c050 +Proud::CNetServerImpl 0x1400fc6f8 44 0x14003dbb0 FUN_14003dbb0 +Proud::CNetServerImpl 0x1400fc6f8 45 0x140042cd0 FUN_140042cd0 +Proud::CNetServerImpl 0x1400fc6f8 46 0x14003c910 FUN_14003c910 +Proud::CNetServerImpl 0x1400fc6f8 47 0x14003da20 FUN_14003da20 +Proud::CNetServerImpl 0x1400fc6f8 48 0x14003c8a0 FUN_14003c8a0 +Proud::CNetServerImpl 0x1400fc6f8 49 0x140042930 FUN_140042930 +Proud::CNetServerImpl 0x1400fc6f8 50 0x140042a20 FUN_140042a20 +Proud::CNetServerImpl 0x1400fc6f8 51 0x14003c8e0 FUN_14003c8e0 +Proud::CNetServerImpl 0x1400fc6f8 52 0x140043520 FUN_140043520 +Proud::CNetServerImpl 0x1400fc6f8 53 0x14003d9b0 FUN_14003d9b0 +Proud::CNetServerImpl 0x1400fc6f8 54 0x14003c9d0 FUN_14003c9d0 +Proud::CNetServerImpl 0x1400fc6f8 55 0x1400436d0 FUN_1400436d0 +Proud::CNetServerImpl 0x1400fc6f8 56 0x14003db10 FUN_14003db10 +Proud::CNetServerImpl 0x1400fc6f8 57 0x1400437e0 FUN_1400437e0 +Proud::CNetServerImpl 0x1400fc6f8 58 0x140057a90 FUN_140057a90 +Proud::CNetServerImpl 0x1400fc6f8 59 0x140057d60 FUN_140057d60 +Proud::CNetServerImpl 0x1400fc6f8 60 0x1400438c0 FUN_1400438c0 +Proud::CNetServerImpl 0x1400fc6f8 61 0x14003c930 FUN_14003c930 +Proud::CNetServerImpl 0x1400fc6f8 62 0x14004bdb0 FUN_14004bdb0 +Proud::CNetServerImpl 0x1400fc6f8 63 0x140057470 FUN_140057470 +Proud::CNetServerImpl 0x1400fc6f8 64 0x14004d0f0 FUN_14004d0f0 +Proud::CNetServerImpl 0x1400fc6f8 65 0x14004d2b0 FUN_14004d2b0 +Proud::CNetServerImpl 0x1400fc6f8 66 0x14005b8f0 FUN_14005b8f0 +Proud::CNetServerImpl 0x1400fc6f8 67 0x14003c9b0 FUN_14003c9b0 +Proud::CNetServerImpl 0x1400fc6f8 68 0x1400525a0 FUN_1400525a0 +Proud::CNetServerImpl 0x1400fc6d8 0 0x14005b9c0 FUN_14005b9c0 +Proud::CNetServerImpl 0x1400fc6d8 1 0x14002e790 FUN_14002e790 +Proud::CNetServerImpl 0x1400fc6c0 0 0x14005b9b0 FUN_14005b9b0 +Proud::CNetServerImpl 0x1400fc6c0 1 0x14005ba10 FUN_14005ba10 +Proud::CNetServerImpl 0x1400fc698 0 0x14005ba40 FUN_14005ba40 +Proud::CNetServerImpl 0x1400fc698 1 0x14005b880 FUN_14005b880 +Proud::CNetServerImpl 0x1400fc698 2 0x14002e790 FUN_14002e790 +Proud::CNetServerImpl 0x1400fc698 3 0x14005b920 FUN_14005b920 +Proud::CNetServerImpl 0x1400fc670 0 0x14005b940 FUN_14005b940 +Proud::CNetServerImpl 0x1400fc670 1 0x14005b9d0 FUN_14005b9d0 +Proud::CNetServerImpl 0x1400fc670 2 0x140043a70 FUN_140043a70 +Proud::CNetServerImpl 0x1400fc670 3 0x140057c40 FUN_140057c40 +Proud::ISendDest_C 0x1400fdc98 0 0x140063f90 FUN_140063f90 +Proud::ISendDest_C 0x1400fdc98 1 0x14002e790 FUN_14002e790 +Proud::IP2PGroupMember 0x1400fdcb0 0 0x140063fd0 FUN_140063fd0 +Proud::IP2PGroupMember 0x1400fdcb0 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::IP2PGroupMember 0x1400fdcb0 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::IUdpPacketFragBoardDg 0x1400fdcd0 0 0x140064010 FUN_140064010 +Proud::IUdpPacketFragBoardDg 0x1400fdcd0 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::IUdpPacketFragBoardDg 0x1400fdcd0 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::IUdpPacketFragBoardDg 0x1400fdcd0 3 0x14003b036 MSVCR100.DLL::_purecall +Proud::IUdpPacketDefragBoardDg 0x1400fdcf8 0 0x14003b036 MSVCR100.DLL::_purecall +Proud::IUdpPacketDefragBoardDg 0x1400fdcf8 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::IUdpPacketDefragBoardDg 0x1400fdcf8 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::IUdpPacketDefragBoardDg 0x1400fdcf8 3 0x14003b036 MSVCR100.DLL::_purecall +Proud::IUdpPacketDefragBoardDg 0x1400fdcf8 4 0x14003b036 MSVCR100.DLL::_purecall +Proud::IUdpPacketDefragBoardDg 0x1400fdcf8 5 0x140064050 FUN_140064050 +Proud::CP2PConnectionTrialContext::StateBase 0x1400fdd30 0 0x140064090 FUN_140064090 +ProudC2S::Proxy 0x1400fdd48 0 0x14003c850 FUN_14003c850 +ProudC2S::Proxy 0x1400fdd48 1 0x14003c860 FUN_14003c860 +ProudC2S::Proxy 0x1400fdd48 2 0x140093300 FUN_140093300 +ProudC2S::Proxy 0x1400fdd48 3 0x140082060 FUN_140082060 +ProudC2S::Proxy 0x1400fdd48 4 0x140064110 FUN_140064110 +ProudC2S::Proxy 0x1400fdd48 5 0x14006c600 FUN_14006c600 +ProudC2S::Proxy 0x1400fdd48 6 0x14006c520 FUN_14006c520 +ProudC2S::Proxy 0x1400fdd48 7 0x14006c7d0 FUN_14006c7d0 +ProudC2S::Proxy 0x1400fdd48 8 0x14006c6e0 FUN_14006c6e0 +ProudC2S::Proxy 0x1400fdd48 9 0x14006c990 FUN_14006c990 +ProudC2S::Proxy 0x1400fdd48 10 0x14006c8d0 FUN_14006c8d0 +ProudC2S::Proxy 0x1400fdd48 11 0x14006cb80 FUN_14006cb80 +ProudC2S::Proxy 0x1400fdd48 12 0x14006ca60 FUN_14006ca60 +ProudC2S::Proxy 0x1400fdd48 13 0x14006ce30 FUN_14006ce30 +ProudC2S::Proxy 0x1400fdd48 14 0x14006cca0 FUN_14006cca0 +ProudC2S::Proxy 0x1400fdd48 15 0x140070520 FUN_140070520 +ProudC2S::Proxy 0x1400fdd48 16 0x1400703e0 FUN_1400703e0 +ProudC2S::Proxy 0x1400fdd48 17 0x14006d090 FUN_14006d090 +ProudC2S::Proxy 0x1400fdd48 18 0x14006cfd0 FUN_14006cfd0 +ProudC2S::Proxy 0x1400fdd48 19 0x14006d250 FUN_14006d250 +ProudC2S::Proxy 0x1400fdd48 20 0x14006d160 FUN_14006d160 +ProudC2S::Proxy 0x1400fdd48 21 0x14006d430 FUN_14006d430 +ProudC2S::Proxy 0x1400fdd48 22 0x14006d340 FUN_14006d340 +ProudC2S::Proxy 0x1400fdd48 23 0x14006d600 FUN_14006d600 +ProudC2S::Proxy 0x1400fdd48 24 0x14006d520 FUN_14006d520 +ProudC2S::Proxy 0x1400fdd48 25 0x14006d7c0 FUN_14006d7c0 +ProudC2S::Proxy 0x1400fdd48 26 0x14006d6e0 FUN_14006d6e0 +ProudC2S::Proxy 0x1400fdd48 27 0x14006d980 FUN_14006d980 +ProudC2S::Proxy 0x1400fdd48 28 0x14006d8a0 FUN_14006d8a0 +ProudC2S::Proxy 0x1400fdd48 29 0x14006db40 FUN_14006db40 +ProudC2S::Proxy 0x1400fdd48 30 0x14006da60 FUN_14006da60 +ProudC2S::Proxy 0x1400fdd48 31 0x14006dd00 FUN_14006dd00 +ProudC2S::Proxy 0x1400fdd48 32 0x14006dc20 FUN_14006dc20 +ProudC2S::Proxy 0x1400fdd48 33 0x14006ded0 FUN_14006ded0 +ProudC2S::Proxy 0x1400fdd48 34 0x14006dde0 FUN_14006dde0 +ProudC2S::Proxy 0x1400fdd48 35 0x14006e090 FUN_14006e090 +ProudC2S::Proxy 0x1400fdd48 36 0x14006dfd0 FUN_14006dfd0 +ProudC2S::Proxy 0x1400fdd48 37 0x14006e240 FUN_14006e240 +ProudC2S::Proxy 0x1400fdd48 38 0x14006e160 FUN_14006e160 +ProudC2S::Proxy 0x1400fdd48 39 0x14006e420 FUN_14006e420 +ProudC2S::Proxy 0x1400fdd48 40 0x14006e320 FUN_14006e320 +ProudC2S::Proxy 0x1400fdd48 41 0x14006e610 FUN_14006e610 +ProudC2S::Proxy 0x1400fdd48 42 0x14006e530 FUN_14006e530 +ProudC2C::Proxy 0x1400fdea8 0 0x1400640c0 FUN_1400640c0 +ProudC2C::Proxy 0x1400fdea8 1 0x1400640d0 FUN_1400640d0 +ProudC2C::Proxy 0x1400fdea8 2 0x140093300 FUN_140093300 +ProudC2C::Proxy 0x1400fdea8 3 0x140082060 FUN_140082060 +ProudC2C::Proxy 0x1400fdea8 4 0x140064110 FUN_140064110 +ProudC2C::Proxy 0x1400fdea8 5 0x14006e7b0 FUN_14006e7b0 +ProudC2C::Proxy 0x1400fdea8 6 0x14006e6f0 FUN_14006e6f0 +ProudC2C::Proxy 0x1400fdea8 7 0x14006e960 FUN_14006e960 +ProudC2C::Proxy 0x1400fdea8 8 0x14006e880 FUN_14006e880 +ProudC2C::Proxy 0x1400fdea8 9 0x14006eb30 FUN_14006eb30 +ProudC2C::Proxy 0x1400fdea8 10 0x14006ea40 FUN_14006ea40 +ProudC2C::Proxy 0x1400fdea8 11 0x14006ed50 FUN_14006ed50 +ProudC2C::Proxy 0x1400fdea8 12 0x14006ec30 FUN_14006ec30 +Proud::CNetClientImpl::C2CProxy 0x1400fdf18 0 0x1400640c0 FUN_1400640c0 +Proud::CNetClientImpl::C2CProxy 0x1400fdf18 1 0x1400640d0 FUN_1400640d0 +Proud::CNetClientImpl::C2CProxy 0x1400fdf18 2 0x140093300 FUN_140093300 +Proud::CNetClientImpl::C2CProxy 0x1400fdf18 3 0x140082060 FUN_140082060 +Proud::CNetClientImpl::C2CProxy 0x1400fdf18 4 0x140064110 FUN_140064110 +Proud::CNetClientImpl::C2CProxy 0x1400fdf18 5 0x14006e7b0 FUN_14006e7b0 +Proud::CNetClientImpl::C2CProxy 0x1400fdf18 6 0x14006e6f0 FUN_14006e6f0 +Proud::CNetClientImpl::C2CProxy 0x1400fdf18 7 0x14006e960 FUN_14006e960 +Proud::CNetClientImpl::C2CProxy 0x1400fdf18 8 0x14006e880 FUN_14006e880 +Proud::CNetClientImpl::C2CProxy 0x1400fdf18 9 0x14006eb30 FUN_14006eb30 +Proud::CNetClientImpl::C2CProxy 0x1400fdf18 10 0x14006ea40 FUN_14006ea40 +Proud::CNetClientImpl::C2CProxy 0x1400fdf18 11 0x14006ed50 FUN_14006ed50 +Proud::CNetClientImpl::C2CProxy 0x1400fdf18 12 0x14006ec30 FUN_14006ec30 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 0 0x14003c850 FUN_14003c850 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 1 0x14003c860 FUN_14003c860 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 2 0x140093300 FUN_140093300 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 3 0x140082060 FUN_140082060 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 4 0x140064110 FUN_140064110 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 5 0x14006c600 FUN_14006c600 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 6 0x14006c520 FUN_14006c520 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 7 0x14006c7d0 FUN_14006c7d0 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 8 0x14006c6e0 FUN_14006c6e0 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 9 0x14006c990 FUN_14006c990 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 10 0x14006c8d0 FUN_14006c8d0 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 11 0x14006cb80 FUN_14006cb80 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 12 0x14006ca60 FUN_14006ca60 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 13 0x14006ce30 FUN_14006ce30 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 14 0x14006cca0 FUN_14006cca0 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 15 0x140070520 FUN_140070520 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 16 0x1400703e0 FUN_1400703e0 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 17 0x14006d090 FUN_14006d090 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 18 0x14006cfd0 FUN_14006cfd0 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 19 0x14006d250 FUN_14006d250 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 20 0x14006d160 FUN_14006d160 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 21 0x14006d430 FUN_14006d430 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 22 0x14006d340 FUN_14006d340 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 23 0x14006d600 FUN_14006d600 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 24 0x14006d520 FUN_14006d520 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 25 0x14006d7c0 FUN_14006d7c0 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 26 0x14006d6e0 FUN_14006d6e0 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 27 0x14006d980 FUN_14006d980 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 28 0x14006d8a0 FUN_14006d8a0 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 29 0x14006db40 FUN_14006db40 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 30 0x14006da60 FUN_14006da60 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 31 0x14006dd00 FUN_14006dd00 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 32 0x14006dc20 FUN_14006dc20 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 33 0x14006ded0 FUN_14006ded0 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 34 0x14006dde0 FUN_14006dde0 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 35 0x14006e090 FUN_14006e090 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 36 0x14006dfd0 FUN_14006dfd0 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 37 0x14006e240 FUN_14006e240 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 38 0x14006e160 FUN_14006e160 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 39 0x14006e420 FUN_14006e420 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 40 0x14006e320 FUN_14006e320 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 41 0x14006e610 FUN_14006e610 +Proud::CNetClientImpl::C2SProxy 0x1400fdf88 42 0x14006e530 FUN_14006e530 +Proud::CP2PConnectionTrialContext::PeerHolepunchState 0x1400fe1d0 0 0x140064090 FUN_140064090 +Proud::CNetClientImpl::ServerAsSendDest 0x1400fe200 0 0x1400645d0 FUN_1400645d0 +Proud::CNetClientImpl::ServerAsSendDest 0x1400fe200 1 0x1400645b0 FUN_1400645b0 +Proud::CNetClientImpl::ServerAsSendDest 0x1400fe1e0 0 0x140064610 FUN_140064610 +Proud::CNetClientImpl::ServerAsSendDest 0x1400fe1e0 1 0x140064620 FUN_140064620 +Proud::CNetClientImpl::ServerAsSendDest 0x1400fe1e0 2 0x1400645c0 FUN_1400645c0 +Proud::CNetClientImpl::C2CStub 0x1400fe218 0 0x1400640c0 FUN_1400640c0 +Proud::CNetClientImpl::C2CStub 0x1400fe218 1 0x1400640d0 FUN_1400640d0 +Proud::CNetClientImpl::C2CStub 0x1400fe218 2 0x14006b370 FUN_14006b370 +Proud::CNetClientImpl::C2CStub 0x1400fe218 3 0x140006b80 FUN_140006b80 +Proud::CNetClientImpl::C2CStub 0x1400fe218 4 0x140006b80 FUN_140006b80 +Proud::CNetClientImpl::C2CStub 0x1400fe218 5 0x140006b30 FUN_140006b30 +Proud::CNetClientImpl::C2CStub 0x1400fe218 6 0x140064700 FUN_140064700 +Proud::CNetClientImpl::C2CStub 0x1400fe218 7 0x140073f20 FUN_140073f20 +Proud::CNetClientImpl::C2CStub 0x1400fe218 8 0x1400729c0 FUN_1400729c0 +Proud::CNetClientImpl::C2CStub 0x1400fe218 9 0x140072ad0 FUN_140072ad0 +Proud::CNetClientImpl::C2CStub 0x1400fe218 10 0x140072c40 FUN_140072c40 +Proud::CNetClientImpl::S2CStub 0x1400fe278 0 0x140064140 FUN_140064140 +Proud::CNetClientImpl::S2CStub 0x1400fe278 1 0x140064150 FUN_140064150 +Proud::CNetClientImpl::S2CStub 0x1400fe278 2 0x140067900 FUN_140067900 +Proud::CNetClientImpl::S2CStub 0x1400fe278 3 0x140006b80 FUN_140006b80 +Proud::CNetClientImpl::S2CStub 0x1400fe278 4 0x140006b80 FUN_140006b80 +Proud::CNetClientImpl::S2CStub 0x1400fe278 5 0x140006b30 FUN_140006b30 +Proud::CNetClientImpl::S2CStub 0x1400fe278 6 0x140064700 FUN_140064700 +Proud::CNetClientImpl::S2CStub 0x1400fe278 7 0x14007c7c0 FUN_14007c7c0 +Proud::CNetClientImpl::S2CStub 0x1400fe278 8 0x14007c8a0 FUN_14007c8a0 +Proud::CNetClientImpl::S2CStub 0x1400fe278 9 0x14007d0d0 FUN_14007d0d0 +Proud::CNetClientImpl::S2CStub 0x1400fe278 10 0x140072720 FUN_140072720 +Proud::CNetClientImpl::S2CStub 0x1400fe278 11 0x1400728e0 FUN_1400728e0 +Proud::CNetClientImpl::S2CStub 0x1400fe278 12 0x14007cc60 FUN_14007cc60 +Proud::CNetClientImpl::S2CStub 0x1400fe278 13 0x14007c9f0 FUN_14007c9f0 +Proud::CNetClientImpl::S2CStub 0x1400fe278 14 0x140064630 FUN_140064630 +Proud::CNetClientImpl::S2CStub 0x1400fe278 15 0x140064660 FUN_140064660 +Proud::CNetClientImpl::S2CStub 0x1400fe278 16 0x1400646b0 FUN_1400646b0 +Proud::CNetClientImpl::S2CStub 0x1400fe278 17 0x1400800c0 FUN_1400800c0 +Proud::CNetClientImpl::S2CStub 0x1400fe278 18 0x1400648d0 FUN_1400648d0 +Proud::CNetClientImpl::S2CStub 0x1400fe278 19 0x140064750 FUN_140064750 +Proud::CNetClientImpl::S2CStub 0x1400fe278 20 0x14007e5c0 FUN_14007e5c0 +Proud::CNetClientImpl::S2CStub 0x1400fe278 21 0x140073950 FUN_140073950 +Proud::CNetClientImpl::S2CStub 0x1400fe278 22 0x140073a80 FUN_140073a80 +Proud::CNetClientImpl::S2CStub 0x1400fe278 23 0x140064850 FUN_140064850 +Proud::CNetClientImpl::S2CStub 0x1400fe278 24 0x140070670 FUN_140070670 +Proud::CNetClientImpl::S2CStub 0x1400fe278 25 0x140070760 FUN_140070760 +Proud::CFastArray 0x1400fe560 0 0x140065980 FUN_140065980 +Proud::CFastArray 0x1400fe570 0 0x140065510 FUN_140065510 +Proud::CFastArray 0x1400fe580 0 0x1400659e0 FUN_1400659e0 +Proud::CNetClientImpl::BypassDestList_C 0x1400fe5c0 0 0x140065510 FUN_140065510 +Proud::HostIDArray 0x1400fe5d0 0 0x140065980 FUN_140065980 +Proud::BypassDestList 0x1400fe5e0 0 0x1400659e0 FUN_1400659e0 +Proud::CNetClientImpl 0x140100778 0 0x14007dc70 FUN_14007dc70 +Proud::CNetClientImpl 0x140100778 1 0x140064100 thunk_FUN_140082c10 +Proud::CNetClientImpl 0x140100778 2 0x14003c820 thunk_FUN_140082e10 +Proud::CNetClientImpl 0x140100778 3 0x14005b8d0 thunk_FUN_1400828c0 +Proud::CNetClientImpl 0x140100778 4 0x14005b8e0 thunk_FUN_140082a20 +Proud::CNetClientImpl 0x140100778 5 0x140064a20 FUN_140064a20 +Proud::CNetClientImpl 0x140100778 6 0x140064a50 FUN_140064a50 +Proud::CNetClientImpl 0x140100778 7 0x14007aee0 FUN_14007aee0 +Proud::CNetClientImpl 0x140100778 8 0x14007aca0 thunk_FUN_140093300 +Proud::CNetClientImpl 0x140100778 9 0x14007acb0 thunk_FUN_140082680 +Proud::CNetClientImpl 0x140100778 10 0x1400792f0 FUN_1400792f0 +Proud::CNetClientImpl 0x140100778 11 0x140064d40 FUN_140064d40 +Proud::CNetClientImpl 0x140100778 12 0x140065070 FUN_140065070 +Proud::CNetClientImpl 0x140100778 13 0x14004cf70 FUN_14004cf70 +Proud::CNetClientImpl 0x140100778 14 0x14006fb10 FUN_14006fb10 +Proud::CNetClientImpl 0x140100778 15 0x1400780e0 FUN_1400780e0 +Proud::CNetClientImpl 0x140100778 16 0x14007b090 FUN_14007b090 +Proud::CNetClientImpl 0x140100778 17 0x14007b210 FUN_14007b210 +Proud::CNetClientImpl 0x140100778 18 0x140064e20 FUN_140064e20 +Proud::CNetClientImpl 0x140100778 19 0x140064160 FUN_140064160 +Proud::CNetClientImpl 0x140100778 20 0x140070d80 FUN_140070d80 +Proud::CNetClientImpl 0x140100778 21 0x140070f80 FUN_140070f80 +Proud::CNetClientImpl 0x140100778 22 0x1400710a0 FUN_1400710a0 +Proud::CNetClientImpl 0x140100778 23 0x140071250 FUN_140071250 +Proud::CNetClientImpl 0x140100778 24 0x140070930 FUN_140070930 +Proud::CNetClientImpl 0x140100778 25 0x140093300 FUN_140093300 +Proud::CNetClientImpl 0x140100778 26 0x140064230 FUN_140064230 +Proud::CNetClientImpl 0x140100778 27 0x140064280 FUN_140064280 +Proud::CNetClientImpl 0x140100778 28 0x140067440 FUN_140067440 +Proud::CNetClientImpl 0x140100758 0 0x14007ad70 FUN_14007ad70 +Proud::CNetClientImpl 0x140100758 1 0x14007ac80 FUN_14007ac80 +Proud::CNetClientImpl 0x140100738 0 0x14007ada0 FUN_14007ada0 +Proud::CNetClientImpl 0x140100738 1 0x14007ade0 FUN_14007ade0 +Proud::CNetClientImpl 0x140100738 2 0x14007ac90 FUN_14007ac90 +Proud::CNetClientImpl 0x140100568 0 0x14007adf0 FUN_14007adf0 +Proud::CNetClientImpl 0x140100568 1 0x14007ad90 FUN_14007ad90 +Proud::CNetClientImpl 0x140100568 2 0x14007ad10 FUN_14007ad10 +Proud::CNetClientImpl 0x140100568 3 0x14007ad50 FUN_14007ad50 +Proud::CNetClientImpl 0x140100568 4 0x14007adc0 FUN_14007adc0 +Proud::CNetClientImpl 0x140100568 5 0x14007ae90 FUN_14007ae90 +Proud::CNetClientImpl 0x140100568 6 0x14007aeb0 FUN_14007aeb0 +Proud::CNetClientImpl 0x140100568 7 0x14007af40 FUN_14007af40 +Proud::CNetClientImpl 0x140100568 8 0x14007add0 FUN_14007add0 +Proud::CNetClientImpl 0x140100568 9 0x14007ad80 FUN_14007ad80 +Proud::CNetClientImpl 0x140100568 10 0x14007af50 FUN_14007af50 +Proud::CNetClientImpl 0x140100568 11 0x14007ae40 FUN_14007ae40 +Proud::CNetClientImpl 0x140100568 12 0x14007aea0 FUN_14007aea0 +Proud::CNetClientImpl 0x140100568 13 0x14007aed0 FUN_14007aed0 +Proud::CNetClientImpl 0x140100568 14 0x14007aec0 FUN_14007aec0 +Proud::CNetClientImpl 0x140100568 15 0x140079ee0 FUN_140079ee0 +Proud::CNetClientImpl 0x140100568 16 0x14007e880 FUN_14007e880 +Proud::CNetClientImpl 0x140100568 17 0x140065860 FUN_140065860 +Proud::CNetClientImpl 0x140100568 18 0x140066d80 FUN_140066d80 +Proud::CNetClientImpl 0x140100568 19 0x14007fbf0 FUN_14007fbf0 +Proud::CNetClientImpl 0x140100568 20 0x140077860 FUN_140077860 +Proud::CNetClientImpl 0x140100568 21 0x140070c40 FUN_140070c40 +Proud::CNetClientImpl 0x140100568 22 0x140065ff0 FUN_140065ff0 +Proud::CNetClientImpl 0x140100568 23 0x140066a60 FUN_140066a60 +Proud::CNetClientImpl 0x140100568 24 0x140066e10 FUN_140066e10 +Proud::CNetClientImpl 0x140100568 25 0x140077350 FUN_140077350 +Proud::CNetClientImpl 0x140100568 26 0x1400713f0 FUN_1400713f0 +Proud::CNetClientImpl 0x140100568 27 0x140071770 FUN_140071770 +Proud::CNetClientImpl 0x140100568 28 0x140065a40 FUN_140065a40 +Proud::CNetClientImpl 0x140100568 29 0x140070ae0 FUN_140070ae0 +Proud::CNetClientImpl 0x140100568 30 0x140071c10 FUN_140071c10 +Proud::CNetClientImpl 0x140100568 31 0x140064960 FUN_140064960 +Proud::CNetClientImpl 0x140100568 32 0x14007ac70 FUN_14007ac70 +Proud::CNetClientImpl 0x140100568 33 0x140064a90 FUN_140064a90 +Proud::CNetClientImpl 0x140100568 34 0x1400653d0 FUN_1400653d0 +Proud::CNetClientImpl 0x140100568 35 0x1400641c0 FUN_1400641c0 +Proud::CNetClientImpl 0x140100568 36 0x140077a10 FUN_140077a10 +Proud::CNetClientImpl 0x140100568 37 0x140077cb0 FUN_140077cb0 +Proud::CNetClientImpl 0x140100568 38 0x140071890 FUN_140071890 +Proud::CNetClientImpl 0x140100568 39 0x1400716a0 FUN_1400716a0 +Proud::CNetClientImpl 0x140100568 40 0x14007ff50 FUN_14007ff50 +Proud::CNetClientImpl 0x140100568 41 0x140064170 FUN_140064170 +Proud::CNetClientImpl 0x140100568 42 0x140071510 FUN_140071510 +Proud::CNetClientImpl 0x140100568 43 0x140065b10 FUN_140065b10 +Proud::CNetClientImpl 0x140100568 44 0x140064d60 FUN_140064d60 +Proud::CNetClientImpl 0x140100568 45 0x1400641b0 FUN_1400641b0 +Proud::CNetClientImpl 0x140100568 46 0x14007ad60 FUN_14007ad60 +Proud::CNetClientImpl 0x140100568 47 0x140064e40 FUN_140064e40 +Proud::CNetClientImpl 0x140100568 48 0x140065180 FUN_140065180 +Proud::CNetClientImpl 0x140100568 49 0x140064270 FUN_140064270 +Proud::CNetClientImpl 0x140100568 50 0x14007acc0 FUN_14007acc0 +Proud::CNetClientImpl 0x140100568 51 0x140074fc0 FUN_140074fc0 +Proud::CNetClientImpl 0x140100568 52 0x140065210 FUN_140065210 +Proud::CNetClientImpl 0x140100568 53 0x1400652f0 FUN_1400652f0 +Proud::CNetClientImpl 0x140100568 54 0x140065fc0 FUN_140065fc0 +Proud::CNetClientImpl 0x140100568 55 0x140064250 FUN_140064250 +Proud::CNetClientImpl 0x140100568 56 0x1400649d0 FUN_1400649d0 +Proud::CNetClientImpl 0x140100518 0 0x14007ad30 FUN_14007ad30 +Proud::CNetClientImpl 0x140100518 1 0x140073b80 FUN_140073b80 +Proud::CNetClientImpl 0x140100518 2 0x140093300 FUN_140093300 +Proud::CNetClientImpl 0x140100518 3 0x140093300 FUN_140093300 +Proud::CNetClientImpl 0x140100518 4 0x140093300 FUN_140093300 +Proud::CNetClientImpl 0x140100518 5 0x140093300 FUN_140093300 +Proud::CNetClientImpl 0x140100518 6 0x14007ae70 FUN_14007ae70 +Proud::CNetClientImpl 0x140100518 7 0x14007ae10 FUN_14007ae10 +Proud::CNetClientImpl 0x140100518 8 0x1400651e0 FUN_1400651e0 +Proud::CNetClientImpl 0x1401004e0 0 0x140074c80 FUN_140074c80 +Proud::CNetClientImpl 0x1401004e0 1 0x14007ad20 FUN_14007ad20 +Proud::CNetClientImpl 0x1401004e0 2 0x14007ae30 FUN_14007ae30 +Proud::CNetClientImpl 0x1401004e0 3 0x14007ae00 FUN_14007ae00 +Proud::CNetClientImpl 0x1401004e0 4 0x14007ae60 FUN_14007ae60 +Proud::CNetClientImpl 0x1401004e0 5 0x14007adb0 FUN_14007adb0 +Proud::CNetClientImpl 0x1401004b8 0 0x14007ad00 FUN_14007ad00 +Proud::CNetClientImpl 0x1401004b8 1 0x14007ae50 FUN_14007ae50 +Proud::CNetClientImpl 0x1401004b8 2 0x14006f900 FUN_14006f900 +Proud::CNetClientImpl 0x1401004b8 3 0x140064240 FUN_140064240 +Proud::CNetClientImpl 0x140100490 0 0x14007ad40 FUN_14007ad40 +Proud::CNetClientImpl 0x140100490 1 0x14007ae80 FUN_14007ae80 +Proud::CNetClientImpl 0x140100490 2 0x14007acf0 FUN_14007acf0 +Proud::CNetClientImpl 0x140100490 3 0x14002e790 FUN_14002e790 +Proud::IRmiProxy 0x1401016a0 0 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiProxy 0x1401016a0 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiProxy 0x1401016a0 2 0x140093300 FUN_140093300 +Proud::IRmiProxy 0x1401016a0 3 0x140082060 FUN_140082060 +Proud::IRmiProxy 0x1401016a0 4 0x140082010 FUN_140082010 +Proud::CFastArray 0x140101a80 0 0x1400824d0 FUN_1400824d0 +Proud::CFastArray 0x140101a90 0 0x140082530 FUN_140082530 +Proud::CNetCoreImpl 0x140101aa8 0 0x140082b40 FUN_140082b40 +Proud::CNetCoreImpl 0x140101aa8 1 0x140082c10 FUN_140082c10 +Proud::CNetCoreImpl 0x140101aa8 2 0x140082e10 FUN_140082e10 +Proud::CNetCoreImpl 0x140101aa8 3 0x1400828c0 FUN_1400828c0 +Proud::CNetCoreImpl 0x140101aa8 4 0x140082a20 FUN_140082a20 +Proud::CNetCoreImpl 0x140101aa8 5 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 6 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 7 0x140083340 FUN_140083340 +Proud::CNetCoreImpl 0x140101aa8 8 0x140093300 FUN_140093300 +Proud::CNetCoreImpl 0x140101aa8 9 0x140082680 FUN_140082680 +Proud::CNetCoreImpl 0x140101aa8 10 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 11 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 12 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 13 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 14 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 15 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 16 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 17 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 18 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 19 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 20 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 21 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 22 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 23 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 24 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 25 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetCoreImpl 0x140101aa8 26 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiStub 0x140101ff8 0 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiStub 0x140101ff8 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiStub 0x140101ff8 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::IRmiStub 0x140101ff8 3 0x140006b80 FUN_140006b80 +Proud::IRmiStub 0x140101ff8 4 0x140006b80 FUN_140006b80 +Proud::IRmiStub 0x140101ff8 5 0x140006b30 FUN_140006b30 +Proud::IRmiStub 0x140101ff8 6 0x140085290 FUN_140085290 +Proud::CTestUdpConnReset 0x140102150 0 0x1400853b0 FUN_1400853b0 +Proud::CTestUdpConnReset 0x140102150 1 0x14005ba80 FUN_14005ba80 +Proud::CFastArray 0x140102478 0 0x140089910 FUN_140089910 +Proud::CFastArray 0x140102488 0 0x140085c30 FUN_140085c30 +Proud::CFastArray 0x140102498 0 0x140085c90 FUN_140085c90 +Proud::CReceivedMessageList 0x1401031b8 0 0x14008a4f0 FUN_14008a4f0 +Proud::CFastArray 0x1401043d8 0 0x140090500 FUN_140090500 +VizC2S::Proxy 0x140108498 0 0x140092f00 FUN_140092f00 +VizC2S::Proxy 0x140108498 1 0x140092f10 FUN_140092f10 +VizC2S::Proxy 0x140108498 2 0x140093300 FUN_140093300 +VizC2S::Proxy 0x140108498 3 0x140082060 FUN_140082060 +VizC2S::Proxy 0x140108498 4 0x140064110 FUN_140064110 +VizC2S::Proxy 0x140108498 5 0x1400937c0 FUN_1400937c0 +VizC2S::Proxy 0x140108498 6 0x1400936d0 FUN_1400936d0 +VizC2S::Proxy 0x140108498 7 0x1400950b0 FUN_1400950b0 +VizC2S::Proxy 0x140108498 8 0x140094f80 FUN_140094f80 +VizC2S::Proxy 0x140108498 9 0x1400939b0 FUN_1400939b0 +VizC2S::Proxy 0x140108498 10 0x1400938b0 FUN_1400938b0 +VizC2S::Proxy 0x140108498 11 0x140093ba0 FUN_140093ba0 +VizC2S::Proxy 0x140108498 12 0x140093ac0 FUN_140093ac0 +VizC2S::Proxy 0x140108498 13 0x140093d40 FUN_140093d40 +VizC2S::Proxy 0x140108498 14 0x140093c80 FUN_140093c80 +VizC2S::Proxy 0x140108498 15 0x140093ef0 FUN_140093ef0 +VizC2S::Proxy 0x140108498 16 0x140093e10 FUN_140093e10 +VizC2S::Proxy 0x140108498 17 0x140094090 FUN_140094090 +VizC2S::Proxy 0x140108498 18 0x140093fd0 FUN_140093fd0 +VizC2S::Proxy 0x140108498 19 0x140094240 FUN_140094240 +VizC2S::Proxy 0x140108498 20 0x140094160 FUN_140094160 +VizC2S::Proxy 0x140108498 21 0x140094400 FUN_140094400 +VizC2S::Proxy 0x140108498 22 0x140094320 FUN_140094320 +Proud::IHeartbeatWork 0x140108558 0 0x140092f40 FUN_140092f40 +Proud::IHeartbeatWork 0x140108558 1 0x14003b036 MSVCR100.DLL::_purecall +VizS2C::Stub 0x140108578 0 0x140092f80 FUN_140092f80 +VizS2C::Stub 0x140108578 1 0x140092f90 FUN_140092f90 +VizS2C::Stub 0x140108578 2 0x1400944e0 FUN_1400944e0 +VizS2C::Stub 0x140108578 3 0x140006b80 FUN_140006b80 +VizS2C::Stub 0x140108578 4 0x140006b80 FUN_140006b80 +VizS2C::Stub 0x140108578 5 0x140006b30 FUN_140006b30 +VizS2C::Stub 0x140108578 6 0x140064700 FUN_140064700 +VizS2C::Stub 0x140108578 7 0x140092f70 FUN_140092f70 +VizS2C::Stub 0x140108578 8 0x140092f70 FUN_140092f70 +Proud::CVizAgent 0x1401086e8 0 0x140093330 FUN_140093330 +Proud::CVizAgent 0x1401086e8 1 0x140093300 FUN_140093300 +Proud::CVizAgent 0x1401086e8 2 0x140093300 FUN_140093300 +Proud::CVizAgent 0x1401086e8 3 0x140093300 FUN_140093300 +Proud::CVizAgent 0x1401086e8 4 0x140093300 FUN_140093300 +Proud::CVizAgent 0x1401086e8 5 0x140093300 FUN_140093300 +Proud::CVizAgent 0x1401086e8 6 0x140006b80 FUN_140006b80 +Proud::CVizAgent 0x1401086e8 7 0x140092fd0 FUN_140092fd0 +Proud::CVizAgent 0x1401086e8 8 0x140093090 FUN_140093090 +Proud::CVizAgent 0x1401086e8 9 0x140093300 FUN_140093300 +Proud::CVizAgent 0x1401086e8 10 0x140093300 FUN_140093300 +Proud::CVizAgent 0x1401086e8 11 0x140093300 FUN_140093300 +Proud::CVizAgent 0x1401086e8 12 0x140006b80 FUN_140006b80 +Proud::CVizAgent 0x1401086e8 13 0x140093300 FUN_140093300 +Proud::CVizAgent 0x140108698 0 0x140092f80 FUN_140092f80 +Proud::CVizAgent 0x140108698 1 0x140092f90 FUN_140092f90 +Proud::CVizAgent 0x140108698 2 0x1400944e0 FUN_1400944e0 +Proud::CVizAgent 0x140108698 3 0x140006b80 FUN_140006b80 +Proud::CVizAgent 0x140108698 4 0x140006b80 FUN_140006b80 +Proud::CVizAgent 0x140108698 5 0x140006b30 FUN_140006b30 +Proud::CVizAgent 0x140108698 6 0x140093310 FUN_140093310 +Proud::CVizAgent 0x140108698 7 0x140094f30 FUN_140094f30 +Proud::CVizAgent 0x140108698 8 0x1400930d0 FUN_1400930d0 +Proud::CVizAgent 0x140108680 0 0x140093320 FUN_140093320 +Proud::CVizAgent 0x140108680 1 0x140094ec0 FUN_140094ec0 +Proud::ISendIssueObject 0x1401090a0 0 0x1400953f0 FUN_1400953f0 +Proud::ISendIssueObject 0x1401090a0 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::ISendIssueObject 0x1401090a0 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::ISendIssueObject 0x1401090a0 3 0x14003b036 MSVCR100.DLL::_purecall +Proud::ISendIssueObject 0x1401090a0 4 0x14003b036 MSVCR100.DLL::_purecall +Proud::ITcpLayerOwner_S 0x1401090d8 0 0x14003b036 MSVCR100.DLL::_purecall +Proud::ITcpLayerOwner_S 0x1401090d8 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::ITcpLayerOwner_S 0x1401090d8 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::ITcpLayerOwner_S 0x1401090d8 3 0x14003b036 MSVCR100.DLL::_purecall +Proud::ITcpLayerOwner_S 0x1401090d8 4 0x14003b036 MSVCR100.DLL::_purecall +Proud::ITcpLayerOwner_S 0x1401090d8 5 0x14003b036 MSVCR100.DLL::_purecall +Proud::ITcpLayerOwner_S 0x1401090d8 6 0x14003b036 MSVCR100.DLL::_purecall +Proud::ITcpLayerOwner_S 0x1401090d8 7 0x14003b036 MSVCR100.DLL::_purecall +Proud::ITcpLayerOwner_S 0x1401090d8 8 0x14003b036 MSVCR100.DLL::_purecall +Proud::ITcpLayerOwner_S 0x1401090d8 9 0x14003b036 MSVCR100.DLL::_purecall +Proud::CRemoteClient_S 0x1401094a8 0 0x1400645b0 FUN_1400645b0 +Proud::CRemoteClient_S 0x1401094a8 1 0x140096e20 FUN_140096e20 +Proud::CRemoteClient_S 0x1401094a8 2 0x140096930 FUN_140096930 +Proud::CRemoteClient_S 0x140109470 0 0x140096990 FUN_140096990 +Proud::CRemoteClient_S 0x140109470 1 0x140096940 FUN_140096940 +Proud::CRemoteClient_S 0x140109470 2 0x1400954f0 FUN_1400954f0 +Proud::CRemoteClient_S 0x140109470 3 0x140095430 FUN_140095430 +Proud::CRemoteClient_S 0x140109470 4 0x140095440 FUN_140095440 +Proud::CRemoteClient_S 0x140109470 5 0x140096500 FUN_140096500 +Proud::CRemoteClient_S 0x140109458 0 0x140096950 FUN_140096950 +Proud::CRemoteClient_S 0x140109458 1 0x140096980 FUN_140096980 +Proud::CRemoteClient_S 0x140109440 0 0x1400969b0 FUN_1400969b0 +Proud::CRemoteClient_S 0x140109440 1 0x140096960 FUN_140096960 +Proud::CRemoteClient_S 0x1401093e8 0 0x140093300 FUN_140093300 +Proud::CRemoteClient_S 0x1401093e8 1 0x140093300 FUN_140093300 +Proud::CRemoteClient_S 0x1401093e8 2 0x140093300 FUN_140093300 +Proud::CRemoteClient_S 0x1401093e8 3 0x140093300 FUN_140093300 +Proud::CRemoteClient_S 0x1401093e8 4 0x1400956d0 FUN_1400956d0 +Proud::CRemoteClient_S 0x1401093e8 5 0x140095660 FUN_140095660 +Proud::CRemoteClient_S 0x1401093e8 6 0x140095450 FUN_140095450 +Proud::CRemoteClient_S 0x1401093e8 7 0x140095470 FUN_140095470 +Proud::CRemoteClient_S 0x1401093e8 8 0x140095840 FUN_140095840 +Proud::CRemoteClient_S 0x1401093e8 9 0x140095670 FUN_140095670 +Proud::CRemoteClient_S 0x1401093c8 0 0x140096970 FUN_140096970 +Proud::CRemoteClient_S 0x1401093c8 1 0x14009cf60 FUN_14009cf60 +Proud::CRemoteClient_S 0x140109398 0 0x1400969a0 FUN_1400969a0 +Proud::CRemoteClient_S 0x140109398 1 0x1400954b0 FUN_1400954b0 +Proud::CRemoteClient_S 0x140109398 2 0x14009c5b0 FUN_14009c5b0 +Proud::CRemoteClient_S 0x140109398 3 0x1400954c0 FUN_1400954c0 +Proud::CRemoteClient_S 0x140109398 4 0x140095790 FUN_140095790 +Proud::CFastArray 0x140109640 0 0x1400973b0 FUN_1400973b0 +Proud::CFastArray 0x140109650 0 0x140097410 FUN_140097410 +Proud::CUseCount 0x14010a070 0 0x14009c4a0 FUN_14009c4a0 +Proud::CUseCount 0x14010a070 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::CUdpSocket_S 0x14010a1a8 0 0x14009d4f0 FUN_14009d4f0 +Proud::CUdpSocket_S 0x14010a1a8 1 0x14009cf50 FUN_14009cf50 +Proud::CUdpSocket_S 0x14010a1a8 2 0x14009c560 FUN_14009c560 +Proud::CUdpSocket_S 0x14010a180 0 0x14009cf90 FUN_14009cf90 +Proud::CUdpSocket_S 0x14010a180 1 0x14009c4d0 FUN_14009c4d0 +Proud::CUdpSocket_S 0x14010a180 2 0x14009cfe0 FUN_14009cfe0 +Proud::CUdpSocket_S 0x14010a180 3 0x14009c4f0 FUN_14009c4f0 +Proud::CUdpSocket_S 0x14010a148 0 0x14009c500 FUN_14009c500 +Proud::CUdpSocket_S 0x14010a148 1 0x14009c540 FUN_14009c540 +Proud::CUdpSocket_S 0x14010a148 2 0x14009cfc0 FUN_14009cfc0 +Proud::CUdpSocket_S 0x14010a148 3 0x14009cfd0 FUN_14009cfd0 +Proud::CUdpSocket_S 0x14010a148 4 0x14009c5a0 FUN_14009c5a0 +Proud::CUdpSocket_S 0x14010a148 5 0x14009cfb0 FUN_14009cfb0 +Proud::CUdpSocket_S 0x14010a130 0 0x14009cf80 FUN_14009cf80 +Proud::CUdpSocket_S 0x14010a130 1 0x14009cf60 FUN_14009cf60 +Proud::CUdpSocket_S 0x14010a100 0 0x14009cfa0 FUN_14009cfa0 +Proud::CUdpSocket_S 0x14010a100 1 0x14009c6d0 FUN_14009c6d0 +Proud::CUdpSocket_S 0x14010a100 2 0x14009c5b0 FUN_14009c5b0 +Proud::CUdpSocket_S 0x14010a100 3 0x1400954c0 FUN_1400954c0 +Proud::CUdpSocket_S 0x14010a100 4 0x140093300 FUN_140093300 +Proud::IHostIDFactory 0x14010a6e8 0 0x14009f8f0 FUN_14009f8f0 +Proud::IHostIDFactory 0x14010a6e8 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::IHostIDFactory 0x14010a6e8 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::IHostIDFactory 0x14010a6e8 3 0x14003b036 MSVCR100.DLL::_purecall +Proud::CHostIDFactory 0x14010a710 0 0x14009f8f0 FUN_14009f8f0 +Proud::CHostIDFactory 0x14010a710 1 0x14009f8d0 FUN_14009f8d0 +Proud::CHostIDFactory 0x14010a710 2 0x140093300 FUN_140093300 +Proud::CHostIDFactory 0x14010a710 3 0x14002e790 FUN_14002e790 +Proud::CRecycleHostIDFactory 0x14010a760 0 0x1400a00d0 FUN_1400a00d0 +Proud::CRecycleHostIDFactory 0x14010a760 1 0x14009fe10 FUN_14009fe10 +Proud::CRecycleHostIDFactory 0x14010a760 2 0x1400a0100 FUN_1400a0100 +Proud::CRecycleHostIDFactory 0x14010a760 3 0x14009fb70 FUN_14009fb70 +Proud::CP2PGroup_S::CAddMemberAckWaiterList 0x14010ae08 0 0x14003e470 FUN_14003e470 +Proud::ITaskSubject 0x14010af58 0 0x1400a28a0 FUN_1400a28a0 +Proud::ITaskSubject 0x14010af58 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::ITaskSubject 0x14010af58 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::ITaskSubject 0x14010af58 3 0x14003b036 MSVCR100.DLL::_purecall +Proud::ITaskSubject 0x14010af58 4 0x14003b036 MSVCR100.DLL::_purecall +Proud::ITaskSubject 0x14010af58 5 0x14003b036 MSVCR100.DLL::_purecall +Proud::ISendSpeedMeasurerDg 0x14010b058 0 0x1400a35f0 FUN_1400a35f0 +Proud::ISendSpeedMeasurerDg 0x14010b058 1 0x140093300 FUN_140093300 +Proud::ISendSpeedMeasurerDg 0x14010b058 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::CNetClientManager 0x14010ba30 0 0x1400a92d0 FUN_1400a92d0 +Proud::CNetClientManager 0x14010ba30 1 0x14005ba80 FUN_14005ba80 +Proud::CNetClientManager 0x14010ba10 0 0x1400a9100 FUN_1400a9100 +Proud::CNetClientManager 0x14010ba10 1 0x140093300 FUN_140093300 +Proud::CNetClientManager 0x14010ba10 2 0x1400a3d20 FUN_1400a3d20 +Proud::CFastArray,0> 0x14010c080 0 0x1400af150 FUN_1400af150 +Proud::CFastArray 0x14010c090 0 0x1400acf20 FUN_1400acf20 +Proud::CDiscoveringNatDevice 0x14010c210 0 0x1400ae7c0 FUN_1400ae7c0 +Proud::CDiscoveringNatDevice 0x14010c210 1 0x14005ba80 FUN_14005ba80 +Proud::CSsdpContext 0x14010c2d0 0 0x1400af520 FUN_1400af520 +Proud::CSsdpContext 0x14010c2d0 1 0x14005ba80 FUN_14005ba80 +Proud::CUpnp 0x14010c4f0 0 0x14005ba80 FUN_14005ba80 +Proud::CTcpLayer_C 0x14010c748 0 0x1400b3160 FUN_1400b3160 +Proud::CTcpLayer_C 0x14010c748 1 0x1400b2f60 FUN_1400b2f60 +Proud::CTcpLayer_C 0x14010c728 0 0x1400b2f70 FUN_1400b2f70 +Proud::CTcpLayer_C 0x14010c728 1 0x1400b2ad0 FUN_1400b2ad0 +Proud::CTcpLayer_C 0x14010c728 2 0x1400b2b70 FUN_1400b2b70 +Proud::IReliableUdpHostDelegate 0x14010c788 0 0x1400b31a0 FUN_1400b31a0 +Proud::IReliableUdpHostDelegate 0x14010c788 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::IReliableUdpHostDelegate 0x14010c788 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::IReliableUdpHostDelegate 0x14010c788 3 0x14003b036 MSVCR100.DLL::_purecall +Proud::IReliableUdpHostDelegate 0x14010c788 4 0x14003b036 MSVCR100.DLL::_purecall +Proud::IReliableUdpHostDelegate 0x14010c788 5 0x14003b036 MSVCR100.DLL::_purecall +Proud::IReliableUdpHostDelegate 0x14010c788 6 0x14003b036 MSVCR100.DLL::_purecall +Proud::IReliableUdpHostDelegate 0x14010c788 7 0x14003b036 MSVCR100.DLL::_purecall +Proud::CP2PConnectionTrialContext::ServerHolepunchState 0x14010c7f8 0 0x140064090 FUN_140064090 +Proud::CRemotePeer_C 0x14010cfc8 0 0x1400b6d30 FUN_1400b6d30 +Proud::CRemotePeer_C 0x14010cfc8 1 0x1400b6ae0 FUN_1400b6ae0 +Proud::CRemotePeer_C 0x14010cfa8 0 0x1400b6af0 FUN_1400b6af0 +Proud::CRemotePeer_C 0x14010cfa8 1 0x1400b6b10 FUN_1400b6b10 +Proud::CRemotePeer_C 0x14010cfa8 2 0x1400b31d0 FUN_1400b31d0 +Proud::CRemotePeer_C 0x14010cf80 0 0x1400b6b00 FUN_1400b6b00 +Proud::CRemotePeer_C 0x14010cf80 1 0x1400b31f0 FUN_1400b31f0 +Proud::CRemotePeer_C 0x14010cf80 2 0x1400b41a0 FUN_1400b41a0 +Proud::CRemotePeer_C 0x14010cf80 3 0x1400b31e0 FUN_1400b31e0 +Proud::CUdpSocket_C 0x14010d0e8 0 0x1400b7890 FUN_1400b7890 +Proud::CUdpSocket_C 0x14010d0e8 1 0x14002e790 FUN_14002e790 +Proud::CUdpSocket_C 0x14010d0e8 2 0x1400b6fa0 FUN_1400b6fa0 +Proud::CUdpSocket_C 0x14010d0c8 0 0x1400b7700 FUN_1400b7700 +Proud::CUdpSocket_C 0x14010d0c8 1 0x1400b6d60 FUN_1400b6d60 +Proud::CUdpSocket_C 0x14010d0c8 2 0x1400b70b0 FUN_1400b70b0 +Proud::CRemotePeerReliableUdp 0x14010d1f8 0 0x1400b8c00 FUN_1400b8c00 +Proud::CRemotePeerReliableUdp 0x14010d1f8 1 0x1400b8000 FUN_1400b8000 +Proud::CRemotePeerReliableUdp 0x14010d1f8 2 0x1400b7d90 FUN_1400b7d90 +Proud::CRemotePeerReliableUdp 0x14010d1f8 3 0x1400b7da0 FUN_1400b7da0 +Proud::CRemotePeerReliableUdp 0x14010d1f8 4 0x1400b7dc0 FUN_1400b7dc0 +Proud::CRemotePeerReliableUdp 0x14010d1f8 5 0x1400b7de0 FUN_1400b7de0 +Proud::CRemotePeerReliableUdp 0x14010d1f8 6 0x1400b7df0 FUN_1400b7df0 +Proud::CRemotePeerReliableUdp 0x14010d1f8 7 0x1400b7e50 FUN_1400b7e50 +Proud::CSendSpeedMeasurer 0x140110c20 0 0x1400c0880 FUN_1400c0880 +Proud::CSendSpeedMeasurer 0x140110c20 1 0x14005ba80 FUN_14005ba80 +Proud::CSendSpeedMeasurer 0x140110c08 0 0x1400c05a0 FUN_1400c05a0 +Proud::CSendSpeedMeasurer 0x140110c08 1 0x14005ba80 FUN_14005ba80 +Proud::CSendSpeedMeasurer 0x140110bf0 0 0x1400c05b0 FUN_1400c05b0 +Proud::CSendSpeedMeasurer 0x140110bf0 1 0x14002e790 FUN_14002e790 +Proud::ReliableUdpReceiver::AcksToSend 0x140110ca8 0 0x14003e4d0 FUN_14003e4d0 +MBISingleton 0x14011aff8 0 0x140001300 FUN_140001300 +CConsoleControl 0x14011afe8 0 0x140001300 FUN_140001300 +std::bad_alloc 0x1400f7270 0 0x140001020 FUN_140001020 +std::bad_alloc 0x1400f7270 1 0x14003aae0 MSVCR100.DLL::std::exception::what +MagiServerBase 0x14011b130 0 0x140001b50 FUN_140001b50 +Proud::INetClientEvent 0x140108418 0 0x140003320 std::bad_alloc::`scalar_deleting_destructor' +Proud::INetClientEvent 0x140108418 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetClientEvent 0x140108418 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetClientEvent 0x140108418 3 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetClientEvent 0x140108418 4 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetClientEvent 0x140108418 5 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetClientEvent 0x140108418 6 0x140006b80 FUN_140006b80 +Proud::INetClientEvent 0x140108418 7 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetClientEvent 0x140108418 8 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetClientEvent 0x140108418 9 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetClientEvent 0x140108418 10 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetClientEvent 0x140108418 11 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetClientEvent 0x140108418 12 0x140006b80 FUN_140006b80 +Proud::INetClientEvent 0x140108418 13 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetCoreEvent 0x1400f5b08 0 0x1400032f0 FUN_1400032f0 +Proud::INetCoreEvent 0x1400f5b08 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetCoreEvent 0x1400f5b08 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetCoreEvent 0x1400f5b08 3 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetCoreEvent 0x1400f5b08 4 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetCoreEvent 0x1400f5b08 5 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetCoreEvent 0x1400f5b08 6 0x140006b80 FUN_140006b80 +MagiCommonSession 0x14011b518 0 0x1400020d0 FUN_1400020d0 +MagiCommonSession 0x14011b518 1 0x14003b036 MSVCR100.DLL::_purecall +MagiCommonSession 0x14011b518 2 0x14003b036 MSVCR100.DLL::_purecall +MagiCommonSession 0x14011b518 3 0x14003b036 MSVCR100.DLL::_purecall +MagiCommonSession 0x14011b518 4 0x14003b036 MSVCR100.DLL::_purecall +MagiCommonSession 0x14011b518 5 0x14003b036 MSVCR100.DLL::_purecall +MagiCommonSession 0x14011b518 6 0x140006b80 FUN_140006b80 +MagiCommonSession 0x14011b518 7 0x14003b036 MSVCR100.DLL::_purecall +MagiCommonSession 0x14011b518 8 0x14003b036 MSVCR100.DLL::_purecall +MagiCommonSession 0x14011b518 9 0x14003b036 MSVCR100.DLL::_purecall +MagiCommonSession 0x14011b518 10 0x14003b036 MSVCR100.DLL::_purecall +MagiCommonSession 0x14011b518 11 0x14003b036 MSVCR100.DLL::_purecall +MagiCommonSession 0x14011b518 12 0x140006b80 FUN_140006b80 +MagiCommonSession 0x14011b518 13 0x14003b036 MSVCR100.DLL::_purecall +MBISingleton 0x14011bc00 0 0x140004fc0 FUN_140004fc0 +MagiAgentServer 0x14011bbc0 0 0x140004c00 FUN_140004c00 +MagiAgentServer 0x14011bbb0 0 0x1400033f0 FUN_1400033f0 +Proud::INetServerEvent 0x14011cbf8 0 0x140006f30 std::bad_alloc::`scalar_deleting_destructor' +Proud::INetServerEvent 0x14011cbf8 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetServerEvent 0x14011cbf8 2 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetServerEvent 0x14011cbf8 3 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetServerEvent 0x14011cbf8 4 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetServerEvent 0x14011cbf8 5 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetServerEvent 0x14011cbf8 6 0x140006b80 FUN_140006b80 +Proud::INetServerEvent 0x14011cbf8 7 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetServerEvent 0x14011cbf8 8 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetServerEvent 0x14011cbf8 9 0x140005940 FUN_140005940 +Proud::INetServerEvent 0x14011cbf8 10 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetServerEvent 0x14011cbf8 11 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetServerEvent 0x14011cbf8 12 0x14003b036 MSVCR100.DLL::_purecall +Proud::INetServerEvent 0x14011cbf8 13 0x140006b80 FUN_140006b80 +Proud::INetServerEvent 0x14011cbf8 14 0x140006b80 FUN_140006b80 +Proud::INetServerEvent 0x14011cbf8 15 0x140006b80 FUN_140006b80 +Proud::INetServerEvent 0x14011cbf8 16 0x140006b80 FUN_140006b80 +Proud::INetServerEvent 0x14011cbf8 17 0x140006b80 FUN_140006b80 +Proud::CFastArray 0x1400f82d0 0 0x140006b90 FUN_140006b90 +MagiAgentNetwork 0x14011cb58 0 0x140006b70 FUN_140006b70 +MagiAgentNetwork 0x14011cb58 1 0x140006b60 FUN_140006b60 +MagiAgentNetwork 0x14011cb58 2 0x140018120 FUN_140018120 +MagiAgentNetwork 0x14011cb58 3 0x140006b80 FUN_140006b80 +MagiAgentNetwork 0x14011cb58 4 0x140006b80 FUN_140006b80 +MagiAgentNetwork 0x14011cb58 5 0x140006b30 FUN_140006b30 +MagiAgentNetwork 0x14011cb58 6 0x140006b10 FUN_140006b10 +MagiAgentNetwork 0x14011cb58 7 0x14000b970 FUN_14000b970 +MagiAgentNetwork 0x14011cb58 8 0x14000bb00 FUN_14000bb00 +MagiAgentNetwork 0x14011cb58 9 0x14000bd70 FUN_14000bd70 +MagiAgentNetwork 0x14011cb58 10 0x14000c120 FUN_14000c120 +MagiAgentNetwork 0x14011cb58 11 0x140006b20 FUN_140006b20 +MagiAgentNetwork 0x14011cb58 12 0x14000be40 FUN_14000be40 +MagiAgentNetwork 0x14011cb58 13 0x14000be80 FUN_14000be80 +MagiAgentNetwork 0x14011cb58 14 0x14000bed0 FUN_14000bed0 +MagiAgentNetwork 0x14011cb58 15 0x140006b20 FUN_140006b20 +MagiAgentNetwork 0x14011cb58 16 0x14000bf00 FUN_14000bf00 +MagiAgentNetwork 0x14011cb58 17 0x14000bf30 FUN_14000bf30 +MagiAgentNetwork 0x14011cb58 18 0x14000bf50 FUN_14000bf50 +MagiAgentNetwork 0x14011cab8 0 0x140005100 FUN_140005100 +MagiAgentNetwork 0x14011cab8 1 0x140005200 FUN_140005200 +MagiAgentNetwork 0x14011cab8 2 0x1400052a0 FUN_1400052a0 +MagiAgentNetwork 0x14011cab8 3 0x140006b80 FUN_140006b80 +MagiAgentNetwork 0x14011cab8 4 0x140005340 FUN_140005340 +MagiAgentNetwork 0x14011cab8 5 0x140006b80 FUN_140006b80 +MagiAgentNetwork 0x14011cab8 6 0x140006b80 FUN_140006b80 +MagiAgentNetwork 0x14011cab8 7 0x140005620 FUN_140005620 +MagiAgentNetwork 0x14011cab8 8 0x1400056f0 FUN_1400056f0 +MagiAgentNetwork 0x14011cab8 9 0x140005940 FUN_140005940 +MagiAgentNetwork 0x14011cab8 10 0x140006b80 FUN_140006b80 +MagiAgentNetwork 0x14011cab8 11 0x140006b80 FUN_140006b80 +MagiAgentNetwork 0x14011cab8 12 0x140006b80 FUN_140006b80 +MagiAgentNetwork 0x14011cab8 13 0x140006b80 FUN_140006b80 +MagiAgentNetwork 0x14011cab8 14 0x140006b80 FUN_140006b80 +MagiAgentNetwork 0x14011cab8 15 0x140006b80 FUN_140006b80 +MagiAgentNetwork 0x14011cab8 16 0x140006b80 FUN_140006b80 +MagiAgentNetwork 0x14011cab8 17 0x140006b80 FUN_140006b80 +MGAgentManagerSession 0x14011cf18 0 0x140008c00 FUN_140008c00 +MGAgentManagerSession 0x14011cf18 1 0x140008bf0 FUN_140008bf0 +MGAgentManagerSession 0x14011cf18 2 0x14001d960 FUN_14001d960 +MGAgentManagerSession 0x14011cf18 3 0x140006b80 FUN_140006b80 +MGAgentManagerSession 0x14011cf18 4 0x140006b80 FUN_140006b80 +MGAgentManagerSession 0x14011cf18 5 0x140006b30 FUN_140006b30 +MGAgentManagerSession 0x14011cf18 6 0x140008be0 FUN_140008be0 +MGAgentManagerSession 0x14011cf18 7 0x14000d780 FUN_14000d780 +MGAgentManagerSession 0x14011cf18 8 0x14000df90 FUN_14000df90 +MGAgentManagerSession 0x14011cf18 9 0x14000e410 FUN_14000e410 +MGAgentManagerSession 0x14011cf18 10 0x14000e1e0 FUN_14000e1e0 +MGAgentManagerSession 0x14011cf18 11 0x14000e460 FUN_14000e460 +MGAgentManagerSession 0x14011cf18 12 0x14000e080 FUN_14000e080 +MGAgentManagerSession 0x14011cf18 13 0x14000e0b0 FUN_14000e0b0 +MGAgentManagerSession 0x14011cf18 14 0x14000e480 FUN_14000e480 +MGAgentManagerSession 0x14011cf18 15 0x14000e4c0 FUN_14000e4c0 +MGAgentManagerSession 0x14011cf18 16 0x14000e4f0 FUN_14000e4f0 +MGAgentManagerSession 0x14011cf18 17 0x14000e520 FUN_14000e520 +MGAgentManagerSession 0x14011cf18 18 0x14000e550 FUN_14000e550 +MGAgentManagerSession 0x14011cf18 19 0x14000d140 FUN_14000d140 +MGAgentManagerSession 0x14011cf18 20 0x14000d1d0 FUN_14000d1d0 +MGAgentManagerSession 0x14011cf18 21 0x14000d320 FUN_14000d320 +MGAgentManagerSession 0x14011cf18 22 0x14000d260 FUN_14000d260 +MGAgentManagerSession 0x14011cf18 23 0x14000d3b0 FUN_14000d3b0 +MGAgentManagerSession 0x14011ce98 0 0x140007030 FUN_140007030 +MGAgentManagerSession 0x14011ce98 1 0x140007120 FUN_140007120 +MGAgentManagerSession 0x14011ce98 2 0x1400071c0 FUN_1400071c0 +MGAgentManagerSession 0x14011ce98 3 0x140006b80 FUN_140006b80 +MGAgentManagerSession 0x14011ce98 4 0x140007260 FUN_140007260 +MGAgentManagerSession 0x14011ce98 5 0x140006b80 FUN_140006b80 +MGAgentManagerSession 0x14011ce98 6 0x140006b80 FUN_140006b80 +MGAgentManagerSession 0x14011ce98 7 0x140007280 FUN_140007280 +MGAgentManagerSession 0x14011ce98 8 0x1400073a0 FUN_1400073a0 +MGAgentManagerSession 0x14011ce98 9 0x140006b80 FUN_140006b80 +MGAgentManagerSession 0x14011ce98 10 0x140006b80 FUN_140006b80 +MGAgentManagerSession 0x14011ce98 11 0x140006b80 FUN_140006b80 +MGAgentManagerSession 0x14011ce98 12 0x140006b80 FUN_140006b80 +MGAgentManagerSession 0x14011ce98 13 0x140006b80 FUN_140006b80 +MBISingleton 0x14011d240 0 0x14000b910 FUN_14000b910 +MagiAgentProcess 0x14011d230 0 0x140008c10 FUN_140008c10 +std::basic_ostringstream,std::allocator_> 0x14011d218 0 0x14000ace0 FUN_14000ace0 +std::basic_stringbuf,std::allocator_> 0x14011d198 0 0x14000ad40 FUN_14000ad40 +std::basic_stringbuf,std::allocator_> 0x14011d198 1 0x14003a832 MSVCP100.DLL::std::basic_streambuf_>::_Lock +std::basic_stringbuf,std::allocator_> 0x14011d198 2 0x14003a82c MSVCP100.DLL::std::basic_streambuf_>::_Unlock +std::basic_stringbuf,std::allocator_> 0x14011d198 3 0x14000a630 FUN_14000a630 +std::basic_stringbuf,std::allocator_> 0x14011d198 4 0x14000a8e0 FUN_14000a8e0 +std::basic_stringbuf,std::allocator_> 0x14011d198 5 0x14003a838 MSVCP100.DLL::std::basic_streambuf_>::showmanyc +std::basic_stringbuf,std::allocator_> 0x14011d198 6 0x14000a940 FUN_14000a940 +std::basic_stringbuf,std::allocator_> 0x14011d198 7 0x14003a83e MSVCP100.DLL::std::basic_streambuf_>::uflow +std::basic_stringbuf,std::allocator_> 0x14011d198 8 0x14003a844 MSVCP100.DLL::std::basic_streambuf_>::xsgetn +std::basic_stringbuf,std::allocator_> 0x14011d198 9 0x14003a84a MSVCP100.DLL::std::basic_streambuf_>::xsputn +std::basic_stringbuf,std::allocator_> 0x14011d198 10 0x14000a9e0 FUN_14000a9e0 +std::basic_stringbuf,std::allocator_> 0x14011d198 11 0x14000abb0 FUN_14000abb0 +std::basic_stringbuf,std::allocator_> 0x14011d198 12 0x14003a850 MSVCP100.DLL::std::basic_streambuf_>::setbuf +std::basic_stringbuf,std::allocator_> 0x14011d198 13 0x14003a826 MSVCP100.DLL::std::basic_streambuf_>::sync +std::basic_stringbuf,std::allocator_> 0x14011d198 14 0x14003a856 MSVCP100.DLL::std::basic_streambuf_>::imbue +MBMultiThreadSync 0x14011d748 0 0x14000ebb0 FUN_14000ebb0 +MBISingleton 0x14011d738 0 0x14000eb70 FUN_14000eb70 +MBCLog 0x14011d728 0 0x14000ecb0 FUN_14000ecb0 +MBCLog 0x14011d718 0 0x14000eb10 FUN_14000eb10 +TiXmlDocument 0x14011dc78 0 0x14000ed30 FUN_14000ed30 +TiXmlDocument 0x14011dc78 1 0x140012bf0 FUN_140012bf0 +TiXmlDocument 0x14011dc78 2 0x1400143d0 FUN_1400143d0 +TiXmlDocument 0x14011dc78 3 0x140011420 FUN_140011420 +TiXmlDocument 0x14011dc78 4 0x140011420 FUN_140011420 +TiXmlDocument 0x14011dc78 5 0x14000ece0 FUN_14000ece0 +TiXmlDocument 0x14011dc78 6 0x14000ece0 FUN_14000ece0 +TiXmlDocument 0x14011dc78 7 0x14000ece0 FUN_14000ece0 +TiXmlDocument 0x14011dc78 8 0x14000ece0 FUN_14000ece0 +TiXmlDocument 0x14011dc78 9 0x14000ece0 FUN_14000ece0 +TiXmlDocument 0x14011dc78 10 0x14000ece0 FUN_14000ece0 +TiXmlDocument 0x14011dc78 11 0x14000ece0 FUN_14000ece0 +TiXmlDocument 0x14011dc78 12 0x14000ece0 FUN_14000ece0 +TiXmlDocument 0x14011dc78 13 0x14000ece0 FUN_14000ece0 +TiXmlDocument 0x14011dc78 14 0x14000ece0 FUN_14000ece0 +TiXmlDocument 0x14011dc78 15 0x140012b90 FUN_140012b90 +TiXmlDocument 0x14011dc78 16 0x140012c50 FUN_140012c50 +TiXmlNode 0x14011e678 0 0x1400118a0 FUN_1400118a0 +TiXmlNode 0x14011e678 1 0x14003b036 MSVCR100.DLL::_purecall +TiXmlNode 0x14011e678 2 0x14003b036 MSVCR100.DLL::_purecall +TiXmlNode 0x14011e678 3 0x14000ece0 FUN_14000ece0 +TiXmlNode 0x14011e678 4 0x14000ece0 FUN_14000ece0 +TiXmlNode 0x14011e678 5 0x14000ece0 FUN_14000ece0 +TiXmlNode 0x14011e678 6 0x14000ece0 FUN_14000ece0 +TiXmlNode 0x14011e678 7 0x14000ece0 FUN_14000ece0 +TiXmlNode 0x14011e678 8 0x14000ece0 FUN_14000ece0 +TiXmlNode 0x14011e678 9 0x14000ece0 FUN_14000ece0 +TiXmlNode 0x14011e678 10 0x14000ece0 FUN_14000ece0 +TiXmlNode 0x14011e678 11 0x14000ece0 FUN_14000ece0 +TiXmlNode 0x14011e678 12 0x14000ece0 FUN_14000ece0 +TiXmlNode 0x14011e678 13 0x14000ece0 FUN_14000ece0 +TiXmlNode 0x14011e678 14 0x14000ece0 FUN_14000ece0 +TiXmlNode 0x14011e678 15 0x14003b036 MSVCR100.DLL::_purecall +TiXmlNode 0x14011e678 16 0x14003b036 MSVCR100.DLL::_purecall +TiXmlBase 0x14011e650 0 0x140011170 FUN_140011170 +TiXmlBase 0x14011e650 1 0x14003b036 MSVCR100.DLL::_purecall +TiXmlBase 0x14011e650 2 0x14003b036 MSVCR100.DLL::_purecall +TiXmlDeclaration 0x14011e5b8 0 0x140011480 FUN_140011480 +TiXmlDeclaration 0x14011e5b8 1 0x140011470 FUN_140011470 +TiXmlDeclaration 0x14011e5b8 2 0x140015c40 FUN_140015c40 +TiXmlDeclaration 0x14011e5b8 3 0x14000ece0 FUN_14000ece0 +TiXmlDeclaration 0x14011e5b8 4 0x14000ece0 FUN_14000ece0 +TiXmlDeclaration 0x14011e5b8 5 0x14000ece0 FUN_14000ece0 +TiXmlDeclaration 0x14011e5b8 6 0x14000ece0 FUN_14000ece0 +TiXmlDeclaration 0x14011e5b8 7 0x14000ece0 FUN_14000ece0 +TiXmlDeclaration 0x14011e5b8 8 0x14000ece0 FUN_14000ece0 +TiXmlDeclaration 0x14011e5b8 9 0x14000ece0 FUN_14000ece0 +TiXmlDeclaration 0x14011e5b8 10 0x14000ece0 FUN_14000ece0 +TiXmlDeclaration 0x14011e5b8 11 0x14000ece0 FUN_14000ece0 +TiXmlDeclaration 0x14011e5b8 12 0x14000ece0 FUN_14000ece0 +TiXmlDeclaration 0x14011e5b8 13 0x140011420 FUN_140011420 +TiXmlDeclaration 0x14011e5b8 14 0x140011420 FUN_140011420 +TiXmlDeclaration 0x14011e5b8 15 0x140013720 FUN_140013720 +TiXmlDeclaration 0x14011e5b8 16 0x140013710 FUN_140013710 +TiXmlDeclaration 0x14011e5b8 17 0x1400132c0 FUN_1400132c0 +TiXmlText 0x14011e528 0 0x140011430 std::bad_alloc::`scalar_deleting_destructor' +TiXmlText 0x14011e528 1 0x140013080 FUN_140013080 +TiXmlText 0x14011e528 2 0x1400159f0 FUN_1400159f0 +TiXmlText 0x14011e528 3 0x14000ece0 FUN_14000ece0 +TiXmlText 0x14011e528 4 0x14000ece0 FUN_14000ece0 +TiXmlText 0x14011e528 5 0x14000ece0 FUN_14000ece0 +TiXmlText 0x14011e528 6 0x14000ece0 FUN_14000ece0 +TiXmlText 0x14011e528 7 0x14000ece0 FUN_14000ece0 +TiXmlText 0x14011e528 8 0x14000ece0 FUN_14000ece0 +TiXmlText 0x14011e528 9 0x14000ece0 FUN_14000ece0 +TiXmlText 0x14011e528 10 0x14000ece0 FUN_14000ece0 +TiXmlText 0x14011e528 11 0x140011420 FUN_140011420 +TiXmlText 0x14011e528 12 0x140011420 FUN_140011420 +TiXmlText 0x14011e528 13 0x14000ece0 FUN_14000ece0 +TiXmlText 0x14011e528 14 0x14000ece0 FUN_14000ece0 +TiXmlText 0x14011e528 15 0x140013170 FUN_140013170 +TiXmlText 0x14011e528 16 0x140013160 FUN_140013160 +TiXmlAttribute 0x14011e508 0 0x1400112a0 FUN_1400112a0 +TiXmlAttribute 0x14011e508 1 0x140011290 FUN_140011290 +TiXmlAttribute 0x14011e508 2 0x140015800 FUN_140015800 +TiXmlUnknown 0x14011e478 0 0x140011510 std::bad_alloc::`scalar_deleting_destructor' +TiXmlUnknown 0x14011e478 1 0x1400137b0 FUN_1400137b0 +TiXmlUnknown 0x14011e478 2 0x140015380 FUN_140015380 +TiXmlUnknown 0x14011e478 3 0x14000ece0 FUN_14000ece0 +TiXmlUnknown 0x14011e478 4 0x14000ece0 FUN_14000ece0 +TiXmlUnknown 0x14011e478 5 0x14000ece0 FUN_14000ece0 +TiXmlUnknown 0x14011e478 6 0x14000ece0 FUN_14000ece0 +TiXmlUnknown 0x14011e478 7 0x14000ece0 FUN_14000ece0 +TiXmlUnknown 0x14011e478 8 0x14000ece0 FUN_14000ece0 +TiXmlUnknown 0x14011e478 9 0x140011420 FUN_140011420 +TiXmlUnknown 0x14011e478 10 0x140011420 FUN_140011420 +TiXmlUnknown 0x14011e478 11 0x14000ece0 FUN_14000ece0 +TiXmlUnknown 0x14011e478 12 0x14000ece0 FUN_14000ece0 +TiXmlUnknown 0x14011e478 13 0x14000ece0 FUN_14000ece0 +TiXmlUnknown 0x14011e478 14 0x14000ece0 FUN_14000ece0 +TiXmlUnknown 0x14011e478 15 0x140013820 FUN_140013820 +TiXmlUnknown 0x14011e478 16 0x140013810 FUN_140013810 +TiXmlComment 0x14011e3e8 0 0x140011360 std::bad_alloc::`scalar_deleting_destructor' +TiXmlComment 0x14011e3e8 1 0x140012f60 FUN_140012f60 +TiXmlComment 0x14011e3e8 2 0x140015580 FUN_140015580 +TiXmlComment 0x14011e3e8 3 0x14000ece0 FUN_14000ece0 +TiXmlComment 0x14011e3e8 4 0x14000ece0 FUN_14000ece0 +TiXmlComment 0x14011e3e8 5 0x14000ece0 FUN_14000ece0 +TiXmlComment 0x14011e3e8 6 0x14000ece0 FUN_14000ece0 +TiXmlComment 0x14011e3e8 7 0x140011420 FUN_140011420 +TiXmlComment 0x14011e3e8 8 0x140011420 FUN_140011420 +TiXmlComment 0x14011e3e8 9 0x14000ece0 FUN_14000ece0 +TiXmlComment 0x14011e3e8 10 0x14000ece0 FUN_14000ece0 +TiXmlComment 0x14011e3e8 11 0x14000ece0 FUN_14000ece0 +TiXmlComment 0x14011e3e8 12 0x14000ece0 FUN_14000ece0 +TiXmlComment 0x14011e3e8 13 0x14000ece0 FUN_14000ece0 +TiXmlComment 0x14011e3e8 14 0x14000ece0 FUN_14000ece0 +TiXmlComment 0x14011e3e8 15 0x140012fd0 FUN_140012fd0 +TiXmlComment 0x14011e3e8 16 0x140012fc0 FUN_140012fc0 +TiXmlElement 0x14011e358 0 0x140011c70 FUN_140011c70 +TiXmlElement 0x14011e358 1 0x140011f50 FUN_140011f50 +TiXmlElement 0x14011e358 2 0x140014a00 FUN_140014a00 +TiXmlElement 0x14011e358 3 0x14000ece0 FUN_14000ece0 +TiXmlElement 0x14011e358 4 0x14000ece0 FUN_14000ece0 +TiXmlElement 0x14011e358 5 0x140011420 FUN_140011420 +TiXmlElement 0x14011e358 6 0x140011420 FUN_140011420 +TiXmlElement 0x14011e358 7 0x14000ece0 FUN_14000ece0 +TiXmlElement 0x14011e358 8 0x14000ece0 FUN_14000ece0 +TiXmlElement 0x14011e358 9 0x14000ece0 FUN_14000ece0 +TiXmlElement 0x14011e358 10 0x14000ece0 FUN_14000ece0 +TiXmlElement 0x14011e358 11 0x14000ece0 FUN_14000ece0 +TiXmlElement 0x14011e358 12 0x14000ece0 FUN_14000ece0 +TiXmlElement 0x14011e358 13 0x14000ece0 FUN_14000ece0 +TiXmlElement 0x14011e358 14 0x14000ece0 FUN_14000ece0 +TiXmlElement 0x14011e358 15 0x140012270 FUN_140012270 +TiXmlElement 0x14011e358 16 0x1400121f0 FUN_1400121f0 +MBISingleton 0x14011e9e8 0 0x140016290 FUN_140016290 +Clock 0x14011e9d8 0 0x1400162d0 FUN_1400162d0 +Clock 0x14011e9b0 0 0x1400161b0 FUN_1400161b0 +Clock 0x14011e9b0 1 0x1400161a0 FUN_1400161a0 +Clock 0x14011e9b0 2 0x1400dc2d0 FUN_1400dc2d0 +Clock 0x14011e9b0 3 0x1400dc230 FUN_1400dc230 +ISubject 0x14011e988 0 0x140016170 FUN_140016170 +ISubject 0x14011e988 1 0x14003b036 MSVCR100.DLL::_purecall +ISubject 0x14011e988 2 0x14003b036 MSVCR100.DLL::_purecall +ISubject 0x14011e988 3 0x14003b036 MSVCR100.DLL::_purecall +TimeSourceHRWin32 0x14011ea10 0 0x1400162e0 FUN_1400162e0 +TimeSourceHRWin32 0x14011ea10 1 0x1400dc130 FUN_1400dc130 +TimeSource 0x14011e9f8 0 0x1400162e0 FUN_1400162e0 +TimeSource 0x14011e9f8 1 0x14003b036 MSVCR100.DLL::_purecall +Magi::Timer 0x14011ea40 0 0x140016350 FUN_140016350 +Magi::Timer 0x14011ea40 1 0x1400dc040 FUN_1400dc040 +IObserver 0x14011ea28 0 0x140016320 FUN_140016320 +IObserver 0x14011ea28 1 0x14003b036 MSVCR100.DLL::_purecall +Proud::Exception 0x1400f3170 0 0x14001bf50 FUN_14001bf50 +Proud::Exception 0x1400f3170 1 0x14002eaa0 FUN_14002eaa0 +RNP::Server2AgentStub 0x14011f108 0 0x140006b70 FUN_140006b70 +RNP::Server2AgentStub 0x14011f108 1 0x140006b60 FUN_140006b60 +RNP::Server2AgentStub 0x14011f108 2 0x140018120 FUN_140018120 +RNP::Server2AgentStub 0x14011f108 3 0x140006b80 FUN_140006b80 +RNP::Server2AgentStub 0x14011f108 4 0x140006b80 FUN_140006b80 +RNP::Server2AgentStub 0x14011f108 5 0x140006b30 FUN_140006b30 +RNP::Server2AgentStub 0x14011f108 6 0x14001ac20 std::bad_alloc::`scalar_deleting_destructor' +RNP::Server2AgentStub 0x14011f108 7 0x140006b20 FUN_140006b20 +RNP::Server2AgentStub 0x14011f108 8 0x140006b20 FUN_140006b20 +RNP::Server2AgentStub 0x14011f108 9 0x140006b20 FUN_140006b20 +RNP::Server2AgentStub 0x14011f108 10 0x140006b20 FUN_140006b20 +RNP::Server2AgentStub 0x14011f108 11 0x140006b20 FUN_140006b20 +RNP::Server2AgentStub 0x14011f108 12 0x140006b20 FUN_140006b20 +RNP::Server2AgentStub 0x14011f108 13 0x140006b20 FUN_140006b20 +RNP::Server2AgentStub 0x14011f108 14 0x140006b20 FUN_140006b20 +RNP::Server2AgentStub 0x14011f108 15 0x140006b20 FUN_140006b20 +RNP::Server2AgentStub 0x14011f108 16 0x140006b20 FUN_140006b20 +RNP::Server2AgentStub 0x14011f108 17 0x140006b20 FUN_140006b20 +RNP::Server2AgentStub 0x14011f108 18 0x140006b20 FUN_140006b20 +RNP::Agent2ServerProxy 0x14011eff8 0 0x1400163b0 FUN_1400163b0 +RNP::Agent2ServerProxy 0x14011eff8 1 0x1400163c0 FUN_1400163c0 +RNP::Agent2ServerProxy 0x14011eff8 2 0x140006b80 FUN_140006b80 +RNP::Agent2ServerProxy 0x14011eff8 3 0x140082060 FUN_140082060 +RNP::Agent2ServerProxy 0x14011eff8 4 0x14001abd0 std::bad_alloc::`scalar_deleting_destructor' +RNP::Agent2ServerProxy 0x14011eff8 5 0x1400165e0 FUN_1400165e0 +RNP::Agent2ServerProxy 0x14011eff8 6 0x140016400 FUN_140016400 +RNP::Agent2ServerProxy 0x14011eff8 7 0x1400168d0 FUN_1400168d0 +RNP::Agent2ServerProxy 0x14011eff8 8 0x1400167f0 FUN_1400167f0 +RNP::Agent2ServerProxy 0x14011eff8 9 0x140016aa0 FUN_140016aa0 +RNP::Agent2ServerProxy 0x14011eff8 10 0x1400169b0 FUN_1400169b0 +RNP::Agent2ServerProxy 0x14011eff8 11 0x140016c70 FUN_140016c70 +RNP::Agent2ServerProxy 0x14011eff8 12 0x140016b90 FUN_140016b90 +RNP::Agent2ServerProxy 0x14011eff8 13 0x140016e50 FUN_140016e50 +RNP::Agent2ServerProxy 0x14011eff8 14 0x140016d50 FUN_140016d50 +RNP::Agent2ServerProxy 0x14011eff8 15 0x140017040 FUN_140017040 +RNP::Agent2ServerProxy 0x14011eff8 16 0x140016f60 FUN_140016f60 +RNP::Agent2ServerProxy 0x14011eff8 17 0x140017210 FUN_140017210 +RNP::Agent2ServerProxy 0x14011eff8 18 0x140017120 FUN_140017120 +RNP::Agent2ServerProxy 0x14011eff8 19 0x1400173f0 FUN_1400173f0 +RNP::Agent2ServerProxy 0x14011eff8 20 0x140017310 FUN_140017310 +RNP::Agent2ServerProxy 0x14011eff8 21 0x1400175f0 FUN_1400175f0 +RNP::Agent2ServerProxy 0x14011eff8 22 0x1400174d0 FUN_1400174d0 +RNP::Agent2ServerProxy 0x14011eff8 23 0x140017810 FUN_140017810 +RNP::Agent2ServerProxy 0x14011eff8 24 0x140017720 FUN_140017720 +RNP::Agent2ServerProxy 0x14011eff8 25 0x1400179f0 FUN_1400179f0 +RNP::Agent2ServerProxy 0x14011eff8 26 0x140017900 FUN_140017900 +RNP::Agent2ServerProxy 0x14011eff8 27 0x140017bd0 FUN_140017bd0 +RNP::Agent2ServerProxy 0x14011eff8 28 0x140017ae0 FUN_140017ae0 +RNP::Agent2ServerProxy 0x14011eff8 29 0x140017dd0 FUN_140017dd0 +RNP::Agent2ServerProxy 0x14011eff8 30 0x140017cc0 FUN_140017cc0 +RNP::Agent2ServerProxy 0x14011eff8 31 0x140018000 FUN_140018000 +RNP::Agent2ServerProxy 0x14011eff8 32 0x140017ef0 FUN_140017ef0 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 0 0x1400163b0 FUN_1400163b0 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 1 0x1400163c0 FUN_1400163c0 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 2 0x140093300 FUN_140093300 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 3 0x140082060 FUN_140082060 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 4 0x1400163d0 FUN_1400163d0 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 5 0x1400165e0 FUN_1400165e0 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 6 0x140016400 FUN_140016400 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 7 0x1400168d0 FUN_1400168d0 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 8 0x1400167f0 FUN_1400167f0 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 9 0x140016aa0 FUN_140016aa0 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 10 0x1400169b0 FUN_1400169b0 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 11 0x140016c70 FUN_140016c70 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 12 0x140016b90 FUN_140016b90 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 13 0x140016e50 FUN_140016e50 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 14 0x140016d50 FUN_140016d50 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 15 0x140017040 FUN_140017040 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 16 0x140016f60 FUN_140016f60 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 17 0x140017210 FUN_140017210 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 18 0x140017120 FUN_140017120 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 19 0x1400173f0 FUN_1400173f0 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 20 0x140017310 FUN_140017310 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 21 0x1400175f0 FUN_1400175f0 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 22 0x1400174d0 FUN_1400174d0 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 23 0x140017810 FUN_140017810 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 24 0x140017720 FUN_140017720 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 25 0x1400179f0 FUN_1400179f0 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 26 0x140017900 FUN_140017900 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 27 0x140017bd0 FUN_140017bd0 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 28 0x140017ae0 FUN_140017ae0 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 29 0x140017dd0 FUN_140017dd0 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 30 0x140017cc0 FUN_140017cc0 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 31 0x140018000 FUN_140018000 +AGENT2SERVER_PROTOCOL::Proxy 0x14011eee8 32 0x140017ef0 FUN_140017ef0 +RNP::AgentManager2AgentStub 0x14011f448 0 0x140008c00 FUN_140008c00 +RNP::AgentManager2AgentStub 0x14011f448 1 0x140008bf0 FUN_140008bf0 +RNP::AgentManager2AgentStub 0x14011f448 2 0x14001d960 FUN_14001d960 +RNP::AgentManager2AgentStub 0x14011f448 3 0x140006b80 FUN_140006b80 +RNP::AgentManager2AgentStub 0x14011f448 4 0x140006b80 FUN_140006b80 +RNP::AgentManager2AgentStub 0x14011f448 5 0x140006b30 FUN_140006b30 +RNP::AgentManager2AgentStub 0x14011f448 6 0x140021110 std::bad_alloc::`scalar_deleting_destructor' +RNP::AgentManager2AgentStub 0x14011f448 7 0x140006b20 FUN_140006b20 +RNP::AgentManager2AgentStub 0x14011f448 8 0x140006b20 FUN_140006b20 +RNP::AgentManager2AgentStub 0x14011f448 9 0x140006b20 FUN_140006b20 +RNP::AgentManager2AgentStub 0x14011f448 10 0x140006b20 FUN_140006b20 +RNP::AgentManager2AgentStub 0x14011f448 11 0x140006b20 FUN_140006b20 +RNP::AgentManager2AgentStub 0x14011f448 12 0x140006b20 FUN_140006b20 +RNP::AgentManager2AgentStub 0x14011f448 13 0x140006b20 FUN_140006b20 +RNP::AgentManager2AgentStub 0x14011f448 14 0x140006b20 FUN_140006b20 +RNP::AgentManager2AgentStub 0x14011f448 15 0x140006b20 FUN_140006b20 +RNP::AgentManager2AgentStub 0x14011f448 16 0x140006b20 FUN_140006b20 +RNP::AgentManager2AgentStub 0x14011f448 17 0x140006b20 FUN_140006b20 +RNP::AgentManager2AgentStub 0x14011f448 18 0x140006b20 FUN_140006b20 +RNP::AgentManager2AgentStub 0x14011f448 19 0x140006b20 FUN_140006b20 +RNP::AgentManager2AgentStub 0x14011f448 20 0x140006b20 FUN_140006b20 +RNP::AgentManager2AgentStub 0x14011f448 21 0x140006b20 FUN_140006b20 +RNP::AgentManager2AgentStub 0x14011f448 22 0x140006b20 FUN_140006b20 +RNP::AgentManager2AgentStub 0x14011f448 23 0x140006b20 FUN_140006b20 +RNP::Agent2AgentManagerProxy 0x14011f368 0 0x14001c210 FUN_14001c210 +RNP::Agent2AgentManagerProxy 0x14011f368 1 0x14001c220 FUN_14001c220 +RNP::Agent2AgentManagerProxy 0x14011f368 2 0x140006b80 FUN_140006b80 +RNP::Agent2AgentManagerProxy 0x14011f368 3 0x140082060 FUN_140082060 +RNP::Agent2AgentManagerProxy 0x14011f368 4 0x1400210c0 std::bad_alloc::`scalar_deleting_destructor' +RNP::Agent2AgentManagerProxy 0x14011f368 5 0x14001c340 FUN_14001c340 +RNP::Agent2AgentManagerProxy 0x14011f368 6 0x14001c230 FUN_14001c230 +RNP::Agent2AgentManagerProxy 0x14011f368 7 0x14001c600 FUN_14001c600 +RNP::Agent2AgentManagerProxy 0x14011f368 8 0x14001c470 FUN_14001c470 +RNP::Agent2AgentManagerProxy 0x14011f368 9 0x14001c8a0 FUN_14001c8a0 +RNP::Agent2AgentManagerProxy 0x14011f368 10 0x14001c7a0 FUN_14001c7a0 +RNP::Agent2AgentManagerProxy 0x14011f368 11 0x14001cac0 FUN_14001cac0 +RNP::Agent2AgentManagerProxy 0x14011f368 12 0x14001c9b0 FUN_14001c9b0 +RNP::Agent2AgentManagerProxy 0x14011f368 13 0x14001ccf0 FUN_14001ccf0 +RNP::Agent2AgentManagerProxy 0x14011f368 14 0x14001cbe0 FUN_14001cbe0 +RNP::Agent2AgentManagerProxy 0x14011f368 15 0x14001cf30 FUN_14001cf30 +RNP::Agent2AgentManagerProxy 0x14011f368 16 0x14001ce10 FUN_14001ce10 +RNP::Agent2AgentManagerProxy 0x14011f368 17 0x14001d150 FUN_14001d150 +RNP::Agent2AgentManagerProxy 0x14011f368 18 0x14001d060 FUN_14001d060 +RNP::Agent2AgentManagerProxy 0x14011f368 19 0x14001d340 FUN_14001d340 +RNP::Agent2AgentManagerProxy 0x14011f368 20 0x14001d250 FUN_14001d250 +RNP::Agent2AgentManagerProxy 0x14011f368 21 0x14001d520 FUN_14001d520 +RNP::Agent2AgentManagerProxy 0x14011f368 22 0x14001d430 FUN_14001d430 +RNP::Agent2AgentManagerProxy 0x14011f368 23 0x14001d6f0 FUN_14001d6f0 +RNP::Agent2AgentManagerProxy 0x14011f368 24 0x14001d610 FUN_14001d610 +RNP::Agent2AgentManagerProxy 0x14011f368 25 0x14001d890 FUN_14001d890 +RNP::Agent2AgentManagerProxy 0x14011f368 26 0x14001d7d0 FUN_14001d7d0 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 0 0x14001c210 FUN_14001c210 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 1 0x14001c220 FUN_14001c220 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 2 0x140093300 FUN_140093300 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 3 0x140082060 FUN_140082060 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 4 0x1400163d0 FUN_1400163d0 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 5 0x14001c340 FUN_14001c340 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 6 0x14001c230 FUN_14001c230 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 7 0x14001c600 FUN_14001c600 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 8 0x14001c470 FUN_14001c470 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 9 0x14001c8a0 FUN_14001c8a0 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 10 0x14001c7a0 FUN_14001c7a0 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 11 0x14001cac0 FUN_14001cac0 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 12 0x14001c9b0 FUN_14001c9b0 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 13 0x14001ccf0 FUN_14001ccf0 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 14 0x14001cbe0 FUN_14001cbe0 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 15 0x14001cf30 FUN_14001cf30 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 16 0x14001ce10 FUN_14001ce10 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 17 0x14001d150 FUN_14001d150 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 18 0x14001d060 FUN_14001d060 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 19 0x14001d340 FUN_14001d340 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 20 0x14001d250 FUN_14001d250 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 21 0x14001d520 FUN_14001d520 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 22 0x14001d430 FUN_14001d430 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 23 0x14001d6f0 FUN_14001d6f0 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 24 0x14001d610 FUN_14001d610 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 25 0x14001d890 FUN_14001d890 +AGENT2AGENTMANAGER_PROTOCOL::Proxy 0x14011f288 26 0x14001d7d0 FUN_14001d7d0 +MBISingleton 0x14011ff98 0 0x14002a780 FUN_14002a780 +MagiServerOption 0x14011fe48 0 0x140022630 FUN_140022630 +Proud::CFastArray,0> 0x1400f8350 0 0x140028d80 FUN_140028d80 +std::basic_ostringstream,std::allocator_> 0x14011fe38 0 0x140028df0 FUN_140028df0 +std::basic_stringbuf,std::allocator_> 0x14011fdb8 0 0x140028e50 FUN_140028e50 +std::basic_stringbuf,std::allocator_> 0x14011fdb8 1 0x1400dbf68 MSVCP100.DLL::std::basic_streambuf_>::_Lock +std::basic_stringbuf,std::allocator_> 0x14011fdb8 2 0x1400dbf62 MSVCP100.DLL::std::basic_streambuf_>::_Unlock +std::basic_stringbuf,std::allocator_> 0x14011fdb8 3 0x1400286d0 FUN_1400286d0 +std::basic_stringbuf,std::allocator_> 0x14011fdb8 4 0x140028910 FUN_140028910 +std::basic_stringbuf,std::allocator_> 0x14011fdb8 5 0x1400dbf6e MSVCP100.DLL::std::basic_streambuf_>::showmanyc +std::basic_stringbuf,std::allocator_> 0x14011fdb8 6 0x140028960 FUN_140028960 +std::basic_stringbuf,std::allocator_> 0x14011fdb8 7 0x1400dbf74 MSVCP100.DLL::std::basic_streambuf_>::uflow +std::basic_stringbuf,std::allocator_> 0x14011fdb8 8 0x1400dbf7a MSVCP100.DLL::std::basic_streambuf_>::xsgetn +std::basic_stringbuf,std::allocator_> 0x14011fdb8 9 0x1400dbf80 MSVCP100.DLL::std::basic_streambuf_>::xsputn +std::basic_stringbuf,std::allocator_> 0x14011fdb8 10 0x1400289d0 FUN_1400289d0 +std::basic_stringbuf,std::allocator_> 0x14011fdb8 11 0x140028b70 FUN_140028b70 +std::basic_stringbuf,std::allocator_> 0x14011fdb8 12 0x1400dbf86 MSVCP100.DLL::std::basic_streambuf_>::setbuf +std::basic_stringbuf,std::allocator_> 0x14011fdb8 13 0x1400dbf5c MSVCP100.DLL::std::basic_streambuf_>::sync +std::basic_stringbuf,std::allocator_> 0x14011fdb8 14 0x1400dbf8c MSVCP100.DLL::std::basic_streambuf_>::imbue +MBISingleton 0x14011fff8 0 0x14002abf0 FUN_14002abf0 +MagiServerFile 0x14011ffe8 0 0x14002a7e0 FUN_14002a7e0 +Proud::CFastArray 0x1400f5b48 0 0x14002b690 FUN_14002b690 +MBISingleton 0x1401204f8 0 0x14002c2f0 FUN_14002c2f0 +MagiCustomOption 0x1401204e8 0 0x14002b7b0 FUN_14002b7b0 +MBISingleton 0x140120600 0 0x14002e180 FUN_14002e180 +MagiServerManager 0x1401205f0 0 0x14002c390 FUN_14002c390 +MBISingleton 0x140120620 0 0x14002e410 FUN_14002e410 +MagiAgentCommon 0x140120610 0 0x14002e330 FUN_14002e330 +MBISingleton 0x140120640 0 0x14002e5a0 FUN_14002e5a0 +MagiRealTimeEventData 0x140120630 0 0x14002e470 FUN_14002e470 diff --git a/decomp/INVENTORY.md b/decomp/INVENTORY.md index 138ecb8d..9573ff3c 100644 --- a/decomp/INVENTORY.md +++ b/decomp/INVENTORY.md @@ -32,7 +32,7 @@ hypotheses to confirm or revise during analysis. | `GMServer_Release_x64.exe` | 2004480 | 1957.5 | 8fba9dbb8809419d6e2edaee31d9ad60501341d97dca0fc82a1c1e7cc32199d1 | game-master tools | pending | | `MessageServer_Release_x64.exe` | 1850368 | 1807.0 | 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 | messaging/pub-sub | pending | | `AgentManager_Release_x64.exe` | 1584128 | 1547.0 | 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 | agent orchestration | pending | -| `Agent_Release_x64.exe` | 1472512 | 1438.0 | 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 | agent worker | pending | +| `Agent_Release_x64.exe` | 1472512 | 1438.0 | 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 | process supervisor (observed: launch/kill/revive servers; ProudNet) | open | | `SMMonitoring_Release_x64 1.exe` | 1294848 | 1264.5 | bc5197e350ab2054132cdad5c28a809fe2e64a55d4250ff8a53088d4de94515a | monitoring (GUI) | pending | | `SMMonitoring_Release_x64 2.exe` | 1221120 | 1192.5 | 2d81a2fd547401826ad79c8d6e4db950641d6e59b5cb26a8158607aee0f0616f | monitoring (GUI), differs from #1 | pending | diff --git a/decomp/scripts/ExportDecomp.java b/decomp/scripts/ExportDecomp.java new file mode 100644 index 00000000..2d4fb78f --- /dev/null +++ b/decomp/scripts/ExportDecomp.java @@ -0,0 +1,52 @@ +// Export Ghidra decompiler output for every non-external, non-thunk function. +// Usage (postScript): ExportDecomp.java +// Writes /functions/.c and /index.tsv +// (address, namespace, name, body_bytes, status). Output is Ghidra pseudocode, not original source. +import ghidra.app.script.GhidraScript; +import ghidra.app.decompiler.*; +import ghidra.program.model.listing.*; +import java.io.*; +import java.nio.file.*; + +public class ExportDecomp extends GhidraScript { + @Override + public void run() throws Exception { + String[] args = getScriptArgs(); + Path out = Paths.get(args[0]); + Path fdir = out.resolve("functions"); + Files.createDirectories(fdir); + DecompInterface d = new DecompInterface(); + DecompileOptions opts = new DecompileOptions(); + d.setOptions(opts); + d.toggleCCode(true); + d.toggleSyntaxTree(false); + d.openProgram(currentProgram); + String sha = currentProgram.getExecutableSHA256(); + try (PrintWriter idx = new PrintWriter(Files.newBufferedWriter(out.resolve("index.tsv")))) { + idx.println("address\tnamespace\tname\tbody_bytes\tstatus"); + FunctionIterator it = currentProgram.getFunctionManager().getFunctions(true); + int n = 0; + while (it.hasNext() && !monitor.isCancelled()) { + Function f = it.next(); + if (f.isExternal() || f.isThunk()) continue; + String addr = "0x" + f.getEntryPoint().toString(); + String ns = f.getParentNamespace().isGlobal() ? "" : f.getParentNamespace().getName(true); + DecompileResults r = d.decompileFunction(f, 60, monitor); + String status; + if (r != null && r.decompileCompleted() && r.getDecompiledFunction() != null) { + String hdr = "/* " + currentProgram.getName() + " sha256 " + sha + "\n * Ghidra " + + getGhidraVersion() + " decompiler output for " + addr + " " + f.getName(true) + + "\n * Pseudocode, not original source. */\n"; + Files.writeString(fdir.resolve(addr + ".c"), hdr + r.getDecompiledFunction().getC()); + status = "ok"; + } else { + status = "fail:" + (r == null ? "null" : r.getErrorMessage().replaceAll("\\s+", " ")); + } + idx.println(addr + "\t" + ns + "\t" + f.getName() + "\t" + f.getBody().getNumAddresses() + "\t" + status); + if (++n % 500 == 0) println("exported " + n); + } + println("done " + n); + } + d.dispose(); + } +} diff --git a/decomp/scripts/VTableMap.java b/decomp/scripts/VTableMap.java new file mode 100644 index 00000000..047f2aea --- /dev/null +++ b/decomp/scripts/VTableMap.java @@ -0,0 +1,39 @@ +// Map virtual methods to classes via RTTI-labelled vftables. +// Usage (postScript): VTableMap.java +// Writes: class, vftable_address, slot, function_address, function_name +import ghidra.app.script.GhidraScript; +import ghidra.program.model.address.*; +import ghidra.program.model.listing.*; +import ghidra.program.model.symbol.*; +import java.io.*; +import java.nio.file.*; + +public class VTableMap extends GhidraScript { + @Override + public void run() throws Exception { + Path out = Paths.get(getScriptArgs()[0]); + int ptr = currentProgram.getDefaultPointerSize(); + Listing listing = currentProgram.getListing(); + SymbolTable st = currentProgram.getSymbolTable(); + try (PrintWriter w = new PrintWriter(Files.newBufferedWriter(out))) { + w.println("class\tvftable\tslot\tfunction\tname"); + for (Symbol s : st.getSymbols("vftable")) { + String cls = s.getParentNamespace().getName(true); + Address a = s.getAddress(); + for (int slot = 0; slot < 512; slot++) { + Address p = a.add((long) slot * ptr); + if (slot > 0 && st.getPrimarySymbol(p) != null + && st.getPrimarySymbol(p).getSource() != SourceType.DEFAULT) break; // next labelled object + long v = currentProgram.getMemory().getLong(p); + Address t; + try { t = currentProgram.getAddressFactory().getDefaultAddressSpace().getAddress(v); } + catch (Exception e) { break; } + Function f = getFunctionAt(t); + if (f == null) break; + w.println(cls + "\t0x" + a + "\t" + slot + "\t0x" + t + "\t" + f.getName(true)); + } + } + } + println("vtable map written"); + } +}