/* 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); }