server-re/decomp/MessageServer_Release_x64/full/functions/0x1400047a0.c

69 lines
2 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400047a0 FUN_1400047a0
* Pseudocode, not original source. */
void FUN_1400047a0(LPCWSTR param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
{
longlong lVar1;
char *pcVar2;
undefined8 *puVar3;
undefined8 *puVar4;
undefined8 *puVar5;
wchar_t *pwVar6;
undefined8 uVar7;
if ((DAT_1401bd4f4 & 1) == 0) {
DAT_1401bd4f4 = DAT_1401bd4f4 | 1;
FUN_14011b100();
atexit((_func_5014 *)&LAB_14012f3d0);
if ((DAT_1401bd4f4 & 1) == 0) {
DAT_1401bd4f4 = DAT_1401bd4f4 | 1;
FUN_14011b100();
atexit((_func_5014 *)&LAB_14012f3d0);
}
}
if ((DAT_1401bd4a0 != 200) && (DAT_1401bd4a0 != 100)) {
if ((DAT_1401bd4f4 & 1) == 0) {
DAT_1401bd4f4 = DAT_1401bd4f4 | 1;
FUN_14011b100();
atexit((_func_5014 *)&LAB_14012f3d0);
}
if (DAT_1401bd4a0 != 1000) goto LAB_14000485b;
}
setlocale(0,"kor");
LAB_14000485b:
pcVar2 = setlocale(0,(char *)0x0);
printf("Locale is: %s\n");
FUN_14006fc10('\0');
puVar3 = operator_new(0xe8);
puVar5 = (undefined8 *)0x0;
puVar4 = puVar5;
if (puVar3 != (undefined8 *)0x0) {
puVar4 = FUN_14011b5d0(puVar3);
}
DAT_1401ba9e8 = puVar4;
FUN_14011b8a0((longlong)puVar4,pcVar2,param_3,param_4);
puVar4 = DAT_1401ba9e8;
EnterCriticalSection(DAT_1401bd028);
uVar7 = 0xc;
pwVar6 = L"Protocol_Msg";
FUN_140001830(puVar4 + 3,L"Protocol_Msg",0xc);
LeaveCriticalSection(DAT_1401bd028);
puVar3 = operator_new(0x98);
puVar4 = puVar5;
if (puVar3 != (undefined8 *)0x0) {
puVar4 = FUN_1401194b0(puVar3,pwVar6,uVar7,param_4);
}
DAT_1401bd030 = puVar4;
puVar4 = operator_new(8);
if (puVar4 != (undefined8 *)0x0) {
puVar5 = FUN_140063440(puVar4,pwVar6,uVar7,param_4);
}
lVar1 = DAT_1401bd038;
DAT_1401bd040 = puVar5;
*(undefined1 *)(DAT_1401bd038 + 0x1e8) = 6;
FUN_14005c7b0(lVar1,param_1,uVar7,param_4);
return;
}