Guest User

ghidra CPP Example

a guest
Jan 19th, 2021
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.72 KB | None | 0 0
  1.  * WARNING: Globals starting with '_' overlap smaller symbols at the same address */
  2.  
  3. undefined4 FUN_0044528e(void)
  4.  
  5. {
  6.   char *_Source;
  7.   size_t sVar1;
  8.   undefined4 uVar2;
  9.   undefined4 *in_FS_OFFSET;
  10.   char local_40c [1016];
  11.   int local_14;
  12.   undefined4 local_10;
  13.   undefined *puStack12;
  14.   undefined4 local_8;
  15.  
  16.   local_8 = 0xffffffff;
  17.   puStack12 = &LAB_00445413;
  18.   local_10 = *in_FS_OFFSET;
  19.   *(undefined4 **)in_FS_OFFSET = &local_10;
  20.   thunk_FUN_0059db08(0x4000);
  21.   local_8 = 0;
  22.   if ((_DAT_006ad228 == -1) || (_DAT_006ad228 == 1)) {
  23.     _Source = XD_GetCurrentProtoAddr(DAT_006ad2fc,DAT_006ad2f8);
  24.     if (_Source == (char *)0x0) {
  25.       do {
  26.         DLG_FUN_005a632a(&DAT_006359d4,s_IPADDRESS_006265b8,0x1f,&DAT_006665b0,0,0,0,1);
  27.         local_14 = thunk_FUN_005a5f34(local_40c,0);
  28.         if (local_14 == -1) {
  29.           local_8 = 0xffffffff;
  30.           Unwind@00445407();
  31.           uVar2 = 0;
  32.           goto LAB_0044541d;
  33.         }
  34.         sVar1 = _strlen(local_40c);
  35.       } while (sVar1 == 0);
  36.       FID_conflict:__mbscpy(&DAT_006665b0,local_40c);
  37.     }
  38.     else {
  39.       _Source = XD_GetCurrentProtoAddr(DAT_006ad2fc,DAT_006ad2f8);
  40.       FID_conflict:__mbscpy(&DAT_006665b0,_Source);
  41.     }
  42.   }
  43.   else {
  44.     FID_conflict:__mbscpy(&DAT_006665b0,&DAT_006ad22c);
  45.   }
  46.   local_8 = 0xffffffff;
  47.   Unwind@00445407();
  48.   uVar2 = 1;
  49. LAB_0044541d:
  50.   *in_FS_OFFSET = local_10;
  51.   return uVar2;
  52. }
  53.  
  54. //this jumps eventually to another function
  55.  
  56. void __fastcall FUN_0059db65(int *param_1)
  57.  
  58. {
  59.   if (DAT_006359c4 == 0) {
  60.     if (_DAT_00634718 != 0) {
  61.       thunk_FUN_00451900();
  62.     }
  63.   }
  64.   else {
  65.     thunk_FUN_00451900();
  66.   }
  67.   if (param_1[0x9a] != 0) {
  68.     if (param_1[0x9a] != 0) {
  69.       `scalar_deleting_destructor'(1);
  70.    }
  71.    param_1[0x9a] = 0;
  72.  }
  73.  if (param_1[0x9b] != 0) {
  74.    if (param_1[0x9b] != 0) {
  75.      `vector_deleting_destructor'(3);
  76.     }
  77.     param_1[0x9b] = 0;
  78.   }
  79.   if (param_1[0x9c] != 0) {
  80.     if (param_1[0x9c] != 0) {
  81.       `vector_deleting_destructor'(3);
  82.    }
  83.    param_1[0x9c] = 0;
  84.  }
  85.  if (param_1[0x9d] != 0) {
  86.    if (param_1[0x9d] != 0) {
  87.      `vector_deleting_destructor'(3);
  88.     }
  89.     param_1[0x9d] = 0;
  90.   }
  91.   if (param_1[0x9e] != 0) {
  92.     if (param_1[0x9e] != 0) {
  93.       `scalar_deleting_destructor'(1);
  94.    }
  95.    param_1[0x9e] = 0;
  96.  }
  97.  if (param_1[0x9f] != 0) {
  98.    if (param_1[0x9f] != 0) {
  99.      `scalar_deleting_destructor'(1);
  100.     }
  101.     param_1[0x9f] = 0;
  102.   }
  103.   if (param_1[0xa0] != 0) {
  104.     if (param_1[0xa0] != 0) {
  105.       `vector_deleting_destructor'(3);
  106.    }
  107.    param_1[0xa0] = 0;
  108.  }
  109.  if (param_1[0xa1] != 0) {
  110.    if (param_1[0xa1] != 0) {
  111.      `scalar_deleting_destructor'(1);
  112.     }
  113.     param_1[0xa1] = 0;
  114.   }
  115.   if (param_1[0xa2] != 0) {
  116.     if (param_1[0xa2] != 0) {
  117.       `scalar_deleting_destructor'(1);
  118.    }
  119.    param_1[0xa2] = 0;
  120.  }
  121.  if (param_1[0xa3] != 0) {
  122.    if (param_1[0xa3] != 0) {
  123.      `scalar_deleting_destructor'(1);
  124.     }
  125.     param_1[0xa3] = 0;
  126.   }
  127.   if (param_1[0xa4] != 0) {
  128.     if (param_1[0xa4] != 0) {
  129.       `scalar_deleting_destructor'(1);
  130.    }
  131.    param_1[0xa4] = 0;
  132.  }
  133.  if (((*(byte *)(param_1 + 0xf) & 0x10) == 0) && (*param_1 != 0)) {
  134.    if (*param_1 != 0) {
  135.      `scalar_deleting_destructor'(1);
  136.     }
  137.     *param_1 = 0;
  138.     param_1[0xf] = param_1[0xf] | 0x10;
  139.   }
  140.   if (param_1 == DAT_006cec84) {
  141.     if ((DAT_00635a9c < 1) || (0x10 < DAT_00635a9c)) {
  142.       FUN_005dae6b(7,s_popupStackIndex_>_0_&&_popupStac_00635aec,
  143.                    s_D:\Ss\Franklinton\Popup_1.cpp_00635acc,0x19c);
  144.     }
  145.     DAT_00635a9c = DAT_00635a9c + -1;
  146.     DAT_006ad678 = (int *)(&DAT_00635a58)[DAT_00635a9c];
  147.     DAT_006cec84 = DAT_006ad678;
  148.     _DAT_006cec80 = thunk_FUN_00421bb0();
  149.   }
  150.   return;
  151. }
Advertisement
Add Comment
Please, Sign In to add comment