/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401bd720 FUN_1401bd720 * 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_1401bd720(undefined4 *param_1) { longlong *plVar1; undefined *puVar2; int *piVar3; undefined4 *puVar4; undefined4 *puVar5; undefined1 *puVar6; char cVar7; errno_t eVar8; uint uVar9; uint uVar10; uint *puVar11; uint *puVar12; undefined8 uVar13; uint uVar14; ulonglong uVar15; undefined *puVar16; uint *puVar17; uint *puVar18; uint uVar19; ulonglong uVar20; uint uVar21; uint uVar22; undefined1 auStack_2c58 [32]; uint *local_2c38; uint *local_2c30; undefined8 local_2c28; undefined1 local_2c20; undefined *local_2c18; undefined *local_2c10; int local_2c08 [2]; undefined *local_2c00; undefined4 *local_2bf8; undefined8 local_2bf0; undefined1 *local_2be8; undefined1 local_2be0 [136]; undefined1 *local_2b58; undefined1 local_2b50 [136]; undefined1 local_2ac8 [1568]; wchar_t local_24a8 [548]; undefined1 local_2060 [8196]; undefined2 local_5c; undefined4 local_58; undefined4 local_54; ulonglong local_38; undefined8 local_30; local_30 = 0x1401bd73c; local_2bf0 = 0xfffffffffffffffe; local_38 = DAT_1403463c0 ^ (ulonglong)auStack_2c58; local_2bf8 = param_1; FUN_14019be90(local_2ac8); plVar1 = (longlong *)(param_1 + 4); uVar20 = 0; uVar22 = 0; uVar15 = uVar20; if ((ulonglong *)*plVar1 != (ulonglong *)0x0) { uVar15 = *(ulonglong *)*plVar1; } FUN_14019beb0(local_2ac8,uVar15); uVar15 = uVar20; if ((ulonglong *)*plVar1 != (ulonglong *)0x0) { uVar15 = *(ulonglong *)*plVar1; } FUN_14019bf10(local_2ac8,uVar15); FUN_14019bf70(local_2ac8,0); uVar15 = uVar20; if ((ulonglong *)*plVar1 != (ulonglong *)0x0) { uVar15 = *(ulonglong *)*plVar1; } cVar7 = FUN_14019bfd0(local_2ac8,uVar15,local_2c08); if (cVar7 == '\0') { return; } uVar19 = 0; if (local_2c08[0] != 0) { cVar7 = FUN_1401bd0e0(param_1); if (cVar7 != '\0') { return; } local_2c18 = (undefined *)0x0; FUN_1401786c0(plVar1,&local_2c18); *param_1 = 3; return; } uVar15 = uVar20; if ((ulonglong *)*plVar1 != (ulonglong *)0x0) { uVar15 = *(ulonglong *)*plVar1; } FUN_14019be10(uVar15,1); param_1[10] = 0; FUN_1401bc8c0(local_24a8); local_58 = 2; local_54 = 4; local_5c = 0x50; eVar8 = wcsncpy_s(local_24a8,0x21,L"http",4); if (eVar8 != 0) { if (eVar8 == 0xc) { /* WARNING: Subroutine does not return */ FUN_14004dc60(0x8007000e); } if ((eVar8 == 0x16) || (eVar8 == 0x22)) { /* WARNING: Subroutine does not return */ FUN_14004dc60(0x80070057); } if (eVar8 != 0x50) { /* WARNING: Subroutine does not return */ FUN_14004dc60(0x80004005); } } puVar16 = *(undefined **)(param_1 + 2); if (*(undefined **)(param_1 + 2) == (undefined *)0x0) { puVar16 = PTR_DAT_1403440a0; } FUN_1401bc810(local_24a8,puVar16); FUN_1401bcdb0(local_24a8,0); FUN_14004c050(param_1 + 2,&DAT_1402a4aa0); puVar16 = PTR_s_GET__PNReport_ReportError_php_Te_1403456e8; FUN_14016d8c0(); puVar18 = (uint *)PTR_DAT_140344098; local_2c30 = (uint *)PTR_DAT_140344098; uVar9 = FUN_14016d7e0(puVar16); uVar15 = uVar20; if ((puVar18 != (uint *)0x0) && (uVar15 = 0, puVar18 != (uint *)PTR_DAT_140344098)) { uVar15 = (ulonglong)*(uint *)((longlong)puVar18 + -8); } uVar10 = uVar9; if ((((int)uVar9 <= (int)uVar15) && (uVar10 = uVar19, puVar18 != (uint *)0x0)) && (puVar18 != (uint *)PTR_DAT_140344098)) { uVar10 = *(uint *)((longlong)puVar18 + -8); } uVar21 = 1; if (1 < (int)uVar10) { uVar21 = uVar10; } uVar10 = uVar19; if ((puVar18 != (uint *)0x0) && (puVar18 != (uint *)PTR_DAT_140344098)) { uVar10 = *(uint *)((longlong)puVar18 + -8); } uVar14 = 0; if ((int)uVar10 < (int)uVar21) { if (puVar18 == (uint *)0x0) { puVar18 = (uint *)PTR_DAT_140344098; } local_2c30 = puVar18; if ((int)uVar21 < 0) { /* WARNING: Subroutine does not return */ FUN_14016d6b0(); } if (uVar21 == 0) { FUN_14004f5a0(&local_2c30); } else { uVar10 = uVar19; if ((puVar18 != (uint *)0x0) && (puVar18 != (uint *)PTR_DAT_140344098)) { uVar10 = puVar18[-2]; } if (uVar21 != uVar10) { puVar11 = (uint *)FUN_14016d940((longlong)(int)uVar21 + 9); if (puVar11 != (uint *)0x0) { *puVar11 = 0; puVar11[1] = 1; } *puVar11 = uVar21; uVar10 = uVar14; if ((puVar18 != (uint *)0x0) && (puVar18 != (uint *)PTR_DAT_140344098)) { uVar10 = puVar18[-2]; } puVar12 = (uint *)PTR_DAT_140344098; if ((int)uVar21 < (int)uVar10) { LAB_1401bd9c0: if (puVar18 != (uint *)0x0) { puVar12 = puVar18; } } else { uVar21 = uVar19; if (puVar18 != (uint *)0x0) { if (puVar18 != (uint *)PTR_DAT_140344098) { uVar21 = puVar18[-2]; } goto LAB_1401bd9c0; } } FUN_14016d810(puVar11 + 2,puVar12,uVar21); FUN_14004f5a0(&local_2c30); local_2c30 = puVar11 + 2; } } } FUN_14013c600(&local_2c30); puVar18 = local_2c30; puVar11 = local_2c30; if (local_2c30 == (uint *)0x0) { puVar11 = (uint *)PTR_DAT_140344098; } FUN_14016d810(puVar11,puVar16,uVar9); puVar11 = puVar18; if (puVar18 == (uint *)0x0) { puVar11 = (uint *)PTR_DAT_140344098; } uVar10 = FUN_14016d7e0(puVar11); uVar9 = uVar22; if (0 < (int)uVar10) { uVar9 = uVar10; } uVar10 = uVar14; if ((puVar18 != (uint *)0x0) && (puVar18 != (uint *)PTR_DAT_140344098)) { uVar10 = puVar18[-2]; } if (((int)uVar9 < (int)uVar10) || (uVar9 = uVar14, puVar18 == (uint *)0x0)) { LAB_1401bda51: if (((puVar18 != (uint *)PTR_DAT_140344098) && (puVar18 != (uint *)0x0)) && (puVar11 = puVar18 + -2, puVar11 != (uint *)0x0)) { *puVar11 = uVar9; *(undefined1 *)((longlong)(int)uVar9 + 8 + (longlong)puVar11) = 0; } } else if (puVar18 != (uint *)PTR_DAT_140344098) { uVar9 = puVar18[-2]; goto LAB_1401bda51; } local_2be8 = local_2be0; FUN_14016ac90(&local_2be8,local_2060,3); puVar6 = local_2be8; FUN_14016d8c0(); puVar11 = (uint *)PTR_DAT_140344098; local_2c38 = (uint *)PTR_DAT_140344098; uVar9 = FUN_14016d7e0(puVar6); uVar15 = uVar20; if ((puVar11 != (uint *)0x0) && (uVar15 = 0, puVar11 != (uint *)PTR_DAT_140344098)) { uVar15 = (ulonglong)*(uint *)((longlong)puVar11 + -8); } uVar10 = uVar9; if ((((int)uVar9 <= (int)uVar15) && (uVar10 = uVar14, puVar11 != (uint *)0x0)) && (uVar10 = uVar22, puVar11 != (uint *)PTR_DAT_140344098)) { uVar10 = *(uint *)((longlong)puVar11 + -8); } uVar21 = 1; if (1 < (int)uVar10) { uVar21 = uVar10; } uVar10 = uVar22; if ((puVar11 != (uint *)0x0) && (puVar11 != (uint *)PTR_DAT_140344098)) { uVar10 = *(uint *)((longlong)puVar11 + -8); } if ((int)uVar10 < (int)uVar21) { if (puVar11 == (uint *)0x0) { puVar11 = (uint *)PTR_DAT_140344098; } local_2c38 = puVar11; if ((int)uVar21 < 0) { /* WARNING: Subroutine does not return */ FUN_14016d6b0(); } if (uVar21 == 0) { FUN_14004f5a0(&local_2c38); } else { uVar10 = uVar14; if ((puVar11 != (uint *)0x0) && (puVar11 != (uint *)PTR_DAT_140344098)) { uVar10 = puVar11[-2]; } if (uVar21 != uVar10) { puVar12 = (uint *)FUN_14016d940((longlong)(int)uVar21 + 9); if (puVar12 != (uint *)0x0) { *puVar12 = 0; puVar12[1] = 1; } *puVar12 = uVar21; if ((puVar11 != (uint *)0x0) && (puVar11 != (uint *)PTR_DAT_140344098)) { uVar14 = puVar11[-2]; } puVar17 = (uint *)PTR_DAT_140344098; if ((int)uVar21 < (int)uVar14) { LAB_1401bdb84: if (puVar11 != (uint *)0x0) { puVar17 = puVar11; } } else { uVar21 = uVar19; if (puVar11 != (uint *)0x0) { if (puVar11 != (uint *)PTR_DAT_140344098) { uVar21 = puVar11[-2]; } goto LAB_1401bdb84; } } FUN_14016d810(puVar12 + 2,puVar17,uVar21); FUN_14004f5a0(&local_2c38); local_2c38 = puVar12 + 2; } } } FUN_14013c600(&local_2c38); puVar11 = local_2c38; puVar12 = local_2c38; if (local_2c38 == (uint *)0x0) { puVar12 = (uint *)PTR_DAT_140344098; } FUN_14016d810(puVar12,puVar6,uVar9); puVar12 = puVar11; if (puVar11 == (uint *)0x0) { puVar12 = (uint *)PTR_DAT_140344098; } uVar9 = FUN_14016d7e0(puVar12); uVar19 = uVar22; if (0 < (int)uVar9) { uVar19 = uVar9; } uVar9 = uVar22; if ((puVar11 != (uint *)0x0) && (puVar11 != (uint *)PTR_DAT_140344098)) { uVar9 = puVar11[-2]; } if (((int)uVar9 <= (int)uVar19) && (uVar19 = uVar22, puVar11 != (uint *)0x0)) { if (puVar11 == (uint *)PTR_DAT_140344098) goto LAB_1401bdc32; uVar19 = puVar11[-2]; } if (((puVar11 != (uint *)PTR_DAT_140344098) && (puVar11 != (uint *)0x0)) && (puVar12 = puVar11 + -2, puVar12 != (uint *)0x0)) { *puVar12 = uVar19; *(undefined1 *)((longlong)(int)uVar19 + 8 + (longlong)puVar12) = 0; } LAB_1401bdc32: if (local_2be8 != local_2be0) { free(local_2be8); } FUN_14016d8c0(); local_2c10 = PTR_DAT_140344098; local_2b58 = local_2b50; FUN_14016ac90(&local_2b58,PTR_u_www_nettention_co_kr_1403456d8,3); FUN_140170320(&local_2c10,PTR_s_HTTP_1_1_User_Agent__Mozilla_5_0_1403456f0,local_2b58); if (local_2b58 != local_2b50) { free(local_2b58); } uVar13 = FUN_1401bd540(&local_2c18,&local_2c30,&local_2c38); uVar13 = FUN_1401bd540(&local_2c00,uVar13,&local_2c10); puVar4 = local_2bf8; FUN_14004f4d0(local_2bf8 + 8,uVar13); if (((local_2c00 != (undefined *)0x0) && (local_2c00 != PTR_DAT_140344098)) && (local_2c00 + -8 != (undefined *)0x0)) { uVar13 = FUN_14016d8c0(); local_2c28 = uVar13; FUN_14016db50(uVar13); local_2c20 = 1; piVar3 = (int *)(local_2c00 + -4); *piVar3 = *piVar3 + -1; if (*piVar3 == 0) { FUN_14016d970(local_2c00 + -8); } FUN_14016dbe0(uVar13); } local_2c00 = PTR_DAT_140344098; if (((local_2c18 != (undefined *)0x0) && (local_2c18 != PTR_DAT_140344098)) && (local_2c18 + -8 != (undefined *)0x0)) { uVar13 = FUN_14016d8c0(); local_2c28 = uVar13; FUN_14016db50(uVar13); local_2c20 = 1; piVar3 = (int *)(local_2c18 + -4); *piVar3 = *piVar3 + -1; if (*piVar3 == 0) { FUN_14016d970(local_2c18 + -8); } FUN_14016dbe0(uVar13); } puVar5 = local_2bf8; puVar16 = *(undefined **)(puVar4 + 8); if ((puVar16 != (undefined *)0x0) && (puVar16 != PTR_DAT_140344098)) { uVar22 = *(uint *)(puVar16 + -8); } if (puVar16 == (undefined *)0x0) { puVar16 = PTR_DAT_140344098; } if ((ulonglong *)*plVar1 != (ulonglong *)0x0) { uVar20 = *(ulonglong *)*plVar1; } FUN_14019d730(uVar20,puVar16 + (int)local_2bf8[10],(uVar22 - local_2bf8[10]) + 1); puVar16 = local_2c10; *puVar5 = 2; if (((local_2c10 != (undefined *)0x0) && (local_2c10 != PTR_DAT_140344098)) && (puVar2 = local_2c10 + -8, puVar2 != (undefined *)0x0)) { uVar13 = FUN_14016d8c0(); local_2c28 = uVar13; FUN_14016db50(uVar13); local_2c20 = 1; piVar3 = (int *)(puVar16 + -4); *piVar3 = *piVar3 + -1; if (*piVar3 == 0) { FUN_14016d970(puVar2); } FUN_14016dbe0(uVar13); } if (((puVar11 != (uint *)0x0) && (puVar11 != (uint *)PTR_DAT_140344098)) && (puVar11 + -2 != (uint *)0x0)) { uVar13 = FUN_14016d8c0(); local_2c28 = uVar13; FUN_14016db50(uVar13); local_2c20 = 1; puVar12 = puVar11 + -1; *puVar12 = *puVar12 - 1; if (*puVar12 == 0) { FUN_14016d970(puVar11 + -2); } FUN_14016dbe0(uVar13); } if (((puVar18 != (uint *)0x0) && (puVar18 != (uint *)PTR_DAT_140344098)) && (puVar18 + -2 != (uint *)0x0)) { uVar13 = FUN_14016d8c0(); local_2c28 = uVar13; FUN_14016db50(uVar13); local_2c20 = 1; puVar11 = puVar18 + -1; *puVar11 = *puVar11 - 1; if (*puVar11 == 0) { FUN_14016d970(puVar18 + -2); } FUN_14016dbe0(uVar13); } return; }