Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 25.19 KB | None | 0 0
  1.  
  2. int64_t __gmon_start__ = 0;
  3.  
  4. void fun_ac8() {
  5.     int64_t rax1;
  6.  
  7.     rax1 = __gmon_start__;
  8.     if (rax1) {
  9.         rax1();
  10.     }
  11.     return;
  12. }
  13.  
  14. int64_t __cxa_finalize = 0;
  15.  
  16. void fun_c50(int64_t rdi) {
  17.     goto __cxa_finalize;
  18. }
  19.  
  20. struct s0 {
  21.     struct s0* f0;
  22.     struct s0* f8;
  23. };
  24.  
  25. unsigned char g2026e0 = 0;
  26.  
  27. unsigned char g2026e2 = 0;
  28.  
  29. void fun_dcb(struct s0* rdi, int32_t esi, struct s0* rdx, int64_t rcx) {
  30.     int32_t v5;
  31.     struct s0* v6;
  32.     uint32_t eax7;
  33.     uint32_t eax8;
  34.     uint32_t edx9;
  35.     uint32_t eax10;
  36.     uint32_t eax11;
  37.     uint32_t eax12;
  38.     uint32_t eax13;
  39.     uint32_t eax14;
  40.     uint32_t edx15;
  41.     uint32_t ecx16;
  42.     uint32_t eax17;
  43.     uint32_t ecx18;
  44.     uint32_t eax19;
  45.     uint32_t eax20;
  46.     uint32_t eax21;
  47.  
  48.     v5 = esi;
  49.     v6 = rdi;
  50.     while (v5 > 0) {
  51.         do {
  52.             eax7 = g2026e0;
  53.             eax8 = *reinterpret_cast<unsigned char*>(*reinterpret_cast<unsigned char*>(&eax7) + 0x2025e0);
  54.             edx9 = g2026e2;
  55.             eax10 = *reinterpret_cast<unsigned char*>(&eax8) + edx9;
  56.             g2026e2 = *reinterpret_cast<unsigned char*>(&eax10);
  57.             eax11 = g2026e0;
  58.             __asm__("cdq ");
  59.             eax12 = g2026e2;
  60.             eax13 = eax12 + *reinterpret_cast<unsigned char*>(reinterpret_cast<int64_t>(v6) + reinterpret_cast<int32_t>(static_cast<uint32_t>(*reinterpret_cast<unsigned char*>(&eax11))) % v5);
  61.             g2026e2 = *reinterpret_cast<unsigned char*>(&eax13);
  62.             eax14 = g2026e2;
  63.             edx15 = g2026e0;
  64.             ecx16 = *reinterpret_cast<unsigned char*>(*reinterpret_cast<unsigned char*>(&eax14) + 0x2025e0);
  65.             *reinterpret_cast<signed char*>(reinterpret_cast<int32_t>(static_cast<uint32_t>(*reinterpret_cast<unsigned char*>(&edx15))) + 0x2025e0) = *reinterpret_cast<signed char*>(&ecx16);
  66.             eax17 = g2026e2;
  67.             ecx18 = *reinterpret_cast<unsigned char*>(&eax8);
  68.             *reinterpret_cast<signed char*>(reinterpret_cast<int32_t>(static_cast<uint32_t>(*reinterpret_cast<unsigned char*>(&eax17))) + 0x2025e0) = *reinterpret_cast<signed char*>(&ecx18);
  69.             eax19 = g2026e0;
  70.             eax20 = eax19 + 1;
  71.             g2026e0 = *reinterpret_cast<unsigned char*>(&eax20);
  72.             eax21 = g2026e0;
  73.         } while (*reinterpret_cast<signed char*>(&eax21));
  74.         v6 = v6 + 16;
  75.         v5 = v5 - 0x100;
  76.     }
  77.     return;
  78. }
  79.  
  80. unsigned char g2026e1 = 0;
  81.  
  82. void fun_ec2(unsigned char* rdi, int32_t esi, struct s0* rdx, int64_t rcx) {
  83.     int32_t v5;
  84.     unsigned char* v6;
  85.     uint32_t eax7;
  86.     uint32_t eax8;
  87.     uint32_t eax9;
  88.     uint32_t eax10;
  89.     uint32_t edx11;
  90.     uint32_t eax12;
  91.     uint32_t eax13;
  92.     uint32_t edx14;
  93.     uint32_t ecx15;
  94.     uint32_t eax16;
  95.     uint32_t ecx17;
  96.     uint32_t eax18;
  97.     uint32_t eax19;
  98.     uint32_t edx20;
  99.  
  100.     v5 = esi;
  101.     v6 = rdi;
  102.     while (v5 > 0) {
  103.         eax7 = g2026e0;
  104.         eax8 = eax7 + 1;
  105.         g2026e0 = *reinterpret_cast<unsigned char*>(&eax8);
  106.         eax9 = g2026e0;
  107.         eax10 = *reinterpret_cast<unsigned char*>(*reinterpret_cast<unsigned char*>(&eax9) + 0x2025e0);
  108.         edx11 = g2026e1;
  109.         eax12 = *reinterpret_cast<unsigned char*>(&eax10) + edx11;
  110.         g2026e1 = *reinterpret_cast<unsigned char*>(&eax12);
  111.         eax13 = g2026e1;
  112.         edx14 = g2026e0;
  113.         ecx15 = *reinterpret_cast<unsigned char*>(*reinterpret_cast<unsigned char*>(&eax13) + 0x2025e0);
  114.         *reinterpret_cast<signed char*>(reinterpret_cast<int32_t>(static_cast<uint32_t>(*reinterpret_cast<unsigned char*>(&edx14))) + 0x2025e0) = *reinterpret_cast<signed char*>(&ecx15);
  115.         eax16 = g2026e1;
  116.         ecx17 = *reinterpret_cast<unsigned char*>(&eax10);
  117.         *reinterpret_cast<signed char*>(reinterpret_cast<int32_t>(static_cast<uint32_t>(*reinterpret_cast<unsigned char*>(&eax16))) + 0x2025e0) = *reinterpret_cast<signed char*>(&ecx17);
  118.         eax18 = g2026e0;
  119.         eax19 = *reinterpret_cast<unsigned char*>(*reinterpret_cast<unsigned char*>(&eax18) + 0x2025e0);
  120.         edx20 = static_cast<uint32_t>(*v6) ^ static_cast<uint32_t>(*reinterpret_cast<unsigned char*>(static_cast<uint32_t>(reinterpret_cast<unsigned char>(*reinterpret_cast<unsigned char*>(&eax10) + *reinterpret_cast<signed char*>(&eax19))) + 0x2025e0));
  121.         *v6 = *reinterpret_cast<unsigned char*>(&edx20);
  122.         ++v6;
  123.         --v5;
  124.     }
  125.     return;
  126. }
  127.  
  128. uint64_t g28;
  129.  
  130. int32_t fun_18e0(struct s0* rdi, struct s0* rsi);
  131.  
  132. void fun_b40(struct s0* rdi, int64_t rsi, struct s0* rdx, int64_t rcx);
  133.  
  134. int32_t fun_b30(struct s0* rdi, struct s0* rsi, struct s0* rdx);
  135.  
  136. int32_t fun_fb6(struct s0* rdi, int64_t rsi, struct s0* rdx, int64_t rcx) {
  137.     void* rbp5;
  138.     uint64_t rax6;
  139.     struct s0* rdx7;
  140.     struct s0* rsi8;
  141.     struct s0* rdi9;
  142.     int32_t eax10;
  143.     int32_t eax11;
  144.     uint64_t rcx12;
  145.  
  146.     rbp5 = reinterpret_cast<void*>(reinterpret_cast<int64_t>(__zero_stack_offset()) - 8);
  147.     rax6 = g28;
  148.     rdx7 = reinterpret_cast<struct s0*>(reinterpret_cast<int64_t>(rbp5) - 0x130);
  149.     rsi8 = rdx7;
  150.     rdi9 = rdi;
  151.     eax10 = fun_18e0(rdi9, rsi8);
  152.     if (eax10 >= 0) {
  153.         *reinterpret_cast<int32_t*>(&rdx7) = 0x90;
  154.         *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rdx7) + 4) = 0;
  155.         fun_b40(reinterpret_cast<int64_t>(rbp5) - 0xa0, 0, 0x90, rcx);
  156.         *reinterpret_cast<int32_t*>(&rsi8) = 0x90;
  157.         *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rsi8) + 4) = 0;
  158.         rdi9 = reinterpret_cast<struct s0*>(reinterpret_cast<int64_t>(rbp5) - 0xa0);
  159.         fun_dcb(rdi9, 0x90, 0x90, rcx);
  160.         eax11 = 0;
  161.     } else {
  162.         eax11 = -1;
  163.     }
  164.     rcx12 = rax6 ^ g28;
  165.     if (rcx12) {
  166.         eax11 = fun_b30(rdi9, rsi8, rdx7);
  167.     }
  168.     return eax11;
  169. }
  170.  
  171. int64_t __stack_chk_fail = 0xb36;
  172.  
  173. int32_t fun_b30(struct s0* rdi, struct s0* rsi, struct s0* rdx) {
  174.     goto __stack_chk_fail;
  175. }
  176.  
  177. void fun_10a3(struct s0* rdi, struct s0* rsi) {
  178.     struct s0* v3;
  179.     struct s0* v4;
  180.  
  181.     v3 = rdi;
  182.     v4 = rsi;
  183.     while (v3 && v3->f0) {
  184.         if (v4 == v3->f0)
  185.             goto addr_10d6_4;
  186.         v3 = reinterpret_cast<struct s0*>(&v3->f8);
  187.     }
  188.     addr_10ec_6:
  189.     while (v3 && v3->f0) {
  190.         v3->f0 = v3->f8;
  191.         v3 = reinterpret_cast<struct s0*>(&v3->f8);
  192.     }
  193.     return;
  194.     addr_10d6_4:
  195.     goto addr_10ec_6;
  196. }
  197.  
  198. int32_t fun_b10();
  199.  
  200. void fun_d6a(int64_t rdi, struct s0* rsi, struct s0* rdx, int64_t rcx);
  201.  
  202. void fun_c00(struct s0* rdi, struct s0* rsi, struct s0* rdx, int64_t rcx);
  203.  
  204. struct s0* fun_af0(void* rdi, struct s0* rsi, struct s0* rdx);
  205.  
  206. int32_t fun_b20(void* rdi, struct s0* rsi, struct s0* rdx);
  207.  
  208. int32_t fun_be0(struct s0* rdi, struct s0* rsi, struct s0* rdx, void* rcx, void* r8);
  209.  
  210. struct s0* __environ = reinterpret_cast<struct s0*>(0);
  211.  
  212. struct s0* fun_c30(void* rdi, struct s0* rsi, struct s0* rdx, int64_t rcx);
  213.  
  214. void fun_b70(struct s0* rdi, struct s0* rsi, struct s0* rdx, int64_t rcx);
  215.  
  216. int32_t fun_1102(int64_t rdi, struct s0* rsi, struct s0* rdx, int64_t rcx) {
  217.     void* rbp5;
  218.     uint64_t rax6;
  219.     int32_t eax7;
  220.     struct s0* v8;
  221.     struct s0* rax9;
  222.     int32_t eax10;
  223.     struct s0* rdx11;
  224.     struct s0* rsi12;
  225.     struct s0* rdi13;
  226.     int32_t eax14;
  227.     struct s0* v15;
  228.     int32_t eax16;
  229.     struct s0* rax17;
  230.     int32_t v18;
  231.     int64_t rcx19;
  232.     struct s0* rax20;
  233.     uint64_t rcx21;
  234.  
  235.     rbp5 = reinterpret_cast<void*>(reinterpret_cast<int64_t>(__zero_stack_offset()) - 8);
  236.     rax6 = g28;
  237.     eax7 = fun_b10();
  238.     v8 = reinterpret_cast<struct s0*>(static_cast<int64_t>(eax7));
  239.     fun_d6a(rdi, rsi, rdx, rcx);
  240.     fun_dcb(fun_1102, 0x1ec, 0x1ec, rcx);
  241.     fun_dcb(0x202020, 0x576, 0x1ec, rcx);
  242.     fun_dcb(reinterpret_cast<int64_t>(rbp5) - 0x228, 8, 0x1ec, rcx);
  243.     fun_ec2(reinterpret_cast<int64_t>(rbp5) - 0x228, 8, 0x1ec, rcx);
  244.     fun_c00(reinterpret_cast<int64_t>(rbp5) - 0x210, "x%lx", v8, rcx);
  245.     rax9 = fun_af0(reinterpret_cast<int64_t>(rbp5) - 0x210, "x%lx", v8);
  246.     eax10 = fun_b20(reinterpret_cast<int64_t>(rbp5) - 0x210, "x%lx", v8);
  247.     if (rax9) {
  248.         rdx11 = reinterpret_cast<struct s0*>(reinterpret_cast<int64_t>(rbp5) - 0x220);
  249.         rsi12 = reinterpret_cast<struct s0*>("%lu %d%c");
  250.         rdi13 = rax9;
  251.         eax14 = fun_be0(rdi13, "%lu %d%c", rdx11, reinterpret_cast<int64_t>(rbp5) - 0x234, reinterpret_cast<int64_t>(rbp5) - 0x210);
  252.         if (eax14 != 2 || (rdx11 = v15, rdx11 != v8)) {
  253.             eax16 = -1;
  254.         } else {
  255.             rax17 = __environ;
  256.             rsi12 = reinterpret_cast<struct s0*>(-eax10 - 1 + reinterpret_cast<int64_t>(rax9));
  257.             rdi13 = rax17;
  258.             fun_10a3(rdi13, rsi12);
  259.             *reinterpret_cast<int32_t*>(&rdx11) = *reinterpret_cast<int32_t*>(&rdi) - v18;
  260.             *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rdx11) + 4) = 0;
  261.             eax16 = *reinterpret_cast<int32_t*>(&rdx11) + 1;
  262.         }
  263.     } else {
  264.         *reinterpret_cast<int32_t*>(&rcx19) = *reinterpret_cast<int32_t*>(&rdi);
  265.         *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rcx19) + 4) = 0;
  266.         rdx11 = v8;
  267.         rsi12 = reinterpret_cast<struct s0*>("=%lu %d");
  268.         fun_c00(reinterpret_cast<int64_t>(rbp5) - 0x210 + eax10, "=%lu %d", rdx11, rcx19);
  269.         rax20 = fun_c30(reinterpret_cast<int64_t>(rbp5) - 0x210, "=%lu %d", rdx11, rcx19);
  270.         rdi13 = rax20;
  271.         fun_b70(rdi13, "=%lu %d", rdx11, rcx19);
  272.         eax16 = 0;
  273.     }
  274.     rcx21 = rax6 ^ g28;
  275.     if (rcx21) {
  276.         eax16 = fun_b30(rdi13, rsi12, rdx11);
  277.     }
  278.     return eax16;
  279. }
  280.  
  281. int64_t sprintf = 0xc06;
  282.  
  283. void fun_c00(struct s0* rdi, struct s0* rsi, struct s0* rdx, int64_t rcx) {
  284.     goto sprintf;
  285. }
  286.  
  287. int64_t strdup = 0xc36;
  288.  
  289. struct s0* fun_c30(void* rdi, struct s0* rsi, struct s0* rdx, int64_t rcx) {
  290.     goto strdup;
  291. }
  292.  
  293. int64_t putenv = 0xb76;
  294.  
  295. void fun_b70(struct s0* rdi, struct s0* rsi, struct s0* rdx, int64_t rcx) {
  296.     goto putenv;
  297. }
  298.  
  299. int64_t getenv = 0xaf6;
  300.  
  301. struct s0* fun_af0(void* rdi, struct s0* rsi, struct s0* rdx) {
  302.     goto getenv;
  303. }
  304.  
  305. int64_t fwrite = 0xc26;
  306.  
  307. void fun_c20(int64_t rdi, struct s0* rsi, struct s0* rdx, int64_t rcx) {
  308.     goto fwrite;
  309. }
  310.  
  311. int64_t exit = 0xc16;
  312.  
  313. void fun_c10(int64_t rdi, struct s0* rsi, struct s0* rdx, int64_t rcx) {
  314.     goto exit;
  315. }
  316.  
  317. int64_t atoll = 0xb86;
  318.  
  319. int64_t fun_b80(int64_t rdi, int64_t rsi, struct s0* rdx, int64_t rcx) {
  320.     goto atoll;
  321. }
  322.  
  323. int64_t time = 0xbb6;
  324.  
  325. int64_t fun_bb0(int64_t rdi, int64_t rsi, struct s0* rdx, int64_t rcx) {
  326.     goto time;
  327. }
  328.  
  329. int64_t malloc = 0xbd6;
  330.  
  331. struct s0* fun_bd0(int64_t rdi, int64_t rsi, struct s0* rdx, int64_t rcx) {
  332.     goto malloc;
  333. }
  334.  
  335. struct s1 {
  336.     struct s0* f0;
  337.     struct s0* f8;
  338. };
  339.  
  340. int64_t execvp = 0xbf6;
  341.  
  342. void fun_bf0(int64_t rdi, struct s1* rsi) {
  343.     goto execvp;
  344. }
  345.  
  346. int64_t __errno_location = 0xb06;
  347.  
  348. int32_t* fun_b00(int64_t rdi, struct s0* rsi) {
  349.     goto __errno_location;
  350. }
  351.  
  352. int64_t strerror = 0xc46;
  353.  
  354. int64_t fun_c40(int64_t rdi, struct s0* rsi) {
  355.     goto strerror;
  356. }
  357.  
  358. int64_t _ITM_deregisterTMCloneTable = 0;
  359.  
  360. int64_t fun_c90(int64_t rdi) {
  361.     int64_t rax2;
  362.  
  363.     rax2 = 0x202598;
  364.     if (1 || (rax2 = _ITM_deregisterTMCloneTable, rax2 == 0)) {
  365.         return rax2;
  366.     } else {
  367.         goto rax2;
  368.     }
  369. }
  370.  
  371. int64_t __xstat = 0xbc6;
  372.  
  373. int32_t fun_18e0(struct s0* rdi, struct s0* rsi) {
  374.     goto __xstat;
  375. }
  376.  
  377. int64_t memset = 0xb46;
  378.  
  379. void fun_b40(struct s0* rdi, int64_t rsi, struct s0* rdx, int64_t rcx) {
  380.     goto memset;
  381. }
  382.  
  383. int64_t getpid = 0xb16;
  384.  
  385. int32_t fun_b10() {
  386.     goto getpid;
  387. }
  388.  
  389. void fun_d6a(int64_t rdi, struct s0* rsi, struct s0* rdx, int64_t rcx) {
  390.     uint32_t eax5;
  391.     uint32_t eax6;
  392.     uint32_t eax7;
  393.     uint32_t ecx8;
  394.     uint32_t eax9;
  395.     uint32_t eax10;
  396.     uint32_t eax11;
  397.  
  398.     g2026e2 = 0;
  399.     eax5 = g2026e2;
  400.     g2026e1 = *reinterpret_cast<unsigned char*>(&eax5);
  401.     eax6 = g2026e1;
  402.     g2026e0 = *reinterpret_cast<unsigned char*>(&eax6);
  403.     do {
  404.         eax7 = g2026e0;
  405.         ecx8 = g2026e0;
  406.         *reinterpret_cast<signed char*>(reinterpret_cast<int32_t>(static_cast<uint32_t>(*reinterpret_cast<unsigned char*>(&eax7))) + 0x2025e0) = *reinterpret_cast<signed char*>(&ecx8);
  407.         eax9 = g2026e0;
  408.         eax10 = eax9 + 1;
  409.         g2026e0 = *reinterpret_cast<unsigned char*>(&eax10);
  410.         eax11 = g2026e0;
  411.     } while (*reinterpret_cast<signed char*>(&eax11));
  412.     return;
  413. }
  414.  
  415. int64_t strlen = 0xb26;
  416.  
  417. int32_t fun_b20(void* rdi, struct s0* rsi, struct s0* rdx) {
  418.     goto strlen;
  419. }
  420.  
  421. int64_t __isoc99_sscanf = 0xbe6;
  422.  
  423. int32_t fun_be0(struct s0* rdi, struct s0* rsi, struct s0* rdx, void* rcx, void* r8) {
  424.     goto __isoc99_sscanf;
  425. }
  426.  
  427. int64_t stderr = 0;
  428.  
  429. unsigned char g202572 = 89;
  430.  
  431. int32_t fun_b50(int64_t rdi, int64_t rsi, struct s0* rdx, int64_t rcx);
  432.  
  433. struct s1* fun_b60(int64_t rdi, int64_t rsi, struct s0* rdx, int64_t rcx);
  434.  
  435. unsigned char g202518 = 90;
  436.  
  437. unsigned char g202513 = 0x74;
  438.  
  439. void fun_ba0(int64_t rdi, int64_t rsi, int64_t rdx, int64_t rcx);
  440.  
  441. unsigned char g20257f = 0xb2;
  442.  
  443. unsigned char g2024ad = 25;
  444.  
  445. unsigned char g202514 = 0xb9;
  446.  
  447. struct s0* fun_12f5(int32_t edi, struct s0* rsi, struct s0* rdx) {
  448.     int32_t v4;
  449.     struct s0* v5;
  450.     struct s0* v6;
  451.     struct s0* rax7;
  452.     int64_t rax8;
  453.     int64_t rcx9;
  454.     int64_t rdi10;
  455.     int32_t eax11;
  456.     uint32_t eax12;
  457.     int64_t rax13;
  458.     int64_t rax14;
  459.     int32_t eax15;
  460.     struct s1* rax16;
  461.     struct s1* v17;
  462.     uint32_t eax18;
  463.     struct s0* v19;
  464.     struct s0* rax20;
  465.     struct s0* rax21;
  466.     uint32_t eax22;
  467.     int32_t eax23;
  468.     int32_t eax24;
  469.     struct s0* rax25;
  470.     int32_t v26;
  471.     uint32_t eax27;
  472.     uint32_t eax28;
  473.     int64_t rax29;
  474.     int64_t rax30;
  475.     int32_t v31;
  476.     uint32_t eax32;
  477.     int64_t rax33;
  478.     int32_t eax34;
  479.     int32_t v35;
  480.     int64_t rax36;
  481.     int64_t rax37;
  482.  
  483.     v4 = edi;
  484.     v5 = rsi;
  485.     v6 = v5->f0;
  486.     if (!v6) {
  487.         rax7 = fun_af0("_", rsi, rdx);
  488.         v6 = rax7;
  489.     }
  490.     if (!v6) {
  491.         rax8 = stderr;
  492.         rcx9 = rax8;
  493.         *reinterpret_cast<int32_t*>(&rdx) = 32;
  494.         *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rdx) + 4) = 0;
  495.         *reinterpret_cast<int32_t*>(&rsi) = 1;
  496.         *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rsi) + 4) = 0;
  497.         fun_c20("E: neither argv[0] nor $_ works.", 1, 32, rcx9);
  498.         fun_c10(1, 1, 32, rcx9);
  499.     }
  500.     *reinterpret_cast<int32_t*>(&rdi10) = v4;
  501.     *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rdi10) + 4) = 0;
  502.     eax11 = fun_1102(rdi10, rsi, rdx, rcx9);
  503.     fun_d6a(rdi10, rsi, rdx, rcx9);
  504.     fun_dcb(0x20238c, 0x100, rdx, rcx9);
  505.     fun_ec2(0x2024d6, 60, rdx, rcx9);
  506.     fun_ec2(0x202572, 11, rdx, rcx9);
  507.     eax12 = g202572;
  508.     if (!*reinterpret_cast<signed char*>(&eax12) || (rax13 = fun_b80(0x202572, 11, rdx, rcx9), rax14 = fun_bb0(0, 11, rdx, rcx9), rax13 >= rax14)) {
  509.         fun_ec2(0x20252b, 10, rdx, rcx9);
  510.         fun_ec2(0x2024ad, 3, rdx, rcx9);
  511.         fun_ec2(0x202518, 15, rdx, rcx9);
  512.         fun_ec2(0x202514, 1, rdx, rcx9);
  513.         fun_ec2(0x20253b, 22, rdx, rcx9);
  514.         fun_dcb(0x20253b, 22, rdx, rcx9);
  515.         fun_ec2(0x202557, 22, rdx, rcx9);
  516.         eax15 = fun_b50(0x20253b, 0x202557, 22, rcx9);
  517.         if (!eax15) {
  518.             fun_ec2(0x2024b4, 19, 22, rcx9);
  519.             if (eax11 >= 0) {
  520.                 rax16 = fun_b60(static_cast<int64_t>(v4 + 10), 8, 22, rcx9);
  521.                 v17 = rax16;
  522.                 if (v17) {
  523.                     if (!eax11) {
  524.                         eax18 = g202518;
  525.                         if (!*reinterpret_cast<signed char*>(&eax18)) {
  526.                             v19 = v6;
  527.                         } else {
  528.                             rax20 = fun_bd0(0x200, 8, 22, rcx9);
  529.                             v19 = rax20;
  530.                             if (v19) {
  531.                                 fun_c00(v19, 0x202518, v6, rcx9);
  532.                             } else {
  533.                                 *reinterpret_cast<int32_t*>(&rax21) = 0;
  534.                                 *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rax21) + 4) = 0;
  535.                                 goto addr_178e_15;
  536.                             }
  537.                         }
  538.                     } else {
  539.                         fun_ec2(0x202513, 1, 22, rcx9);
  540.                         eax22 = g202513;
  541.                         if (*reinterpret_cast<signed char*>(&eax22) || (eax23 = fun_fb6(0x20252b, 1, 22, rcx9), eax23 == 0)) {
  542.                             fun_ec2(0x20257f, 1, 22, rcx9);
  543.                             fun_ec2(0x2020c3, 0x283, 22, rcx9);
  544.                             fun_ec2(0x202581, 19, 22, rcx9);
  545.                             fun_dcb(0x202581, 19, 22, rcx9);
  546.                             fun_ec2(0x202022, 19, 22, rcx9);
  547.                             eax24 = fun_b50(0x202581, 0x202022, 19, rcx9);
  548.                             if (!eax24) {
  549.                                 rax25 = fun_bd0(0x1283, 0x202022, 19, rcx9);
  550.                                 v19 = rax25;
  551.                                 if (v19) {
  552.                                     fun_b40(v19, 32, 0x1000, rcx9);
  553.                                     fun_ba0(v19 + 0x100, 0x2020c3, 0x283, rcx9);
  554.                                 } else {
  555.                                     *reinterpret_cast<int32_t*>(&rax21) = 0;
  556.                                     *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rax21) + 4) = 0;
  557.                                     goto addr_178e_15;
  558.                                 }
  559.                             } else {
  560.                                 rax21 = reinterpret_cast<struct s0*>(0x202581);
  561.                                 goto addr_178e_15;
  562.                             }
  563.                         } else {
  564.                             rax21 = reinterpret_cast<struct s0*>(0x20252b);
  565.                             goto addr_178e_15;
  566.                         }
  567.                     }
  568.                 } else {
  569.                     *reinterpret_cast<int32_t*>(&rax21) = 0;
  570.                     *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rax21) + 4) = 0;
  571.                     goto addr_178e_15;
  572.                 }
  573.             } else {
  574.                 rax21 = reinterpret_cast<struct s0*>(0x2024b4);
  575.                 goto addr_178e_15;
  576.             }
  577.         } else {
  578.             rax21 = reinterpret_cast<struct s0*>(0x20253b);
  579.             goto addr_178e_15;
  580.         }
  581.     } else {
  582.         rax21 = reinterpret_cast<struct s0*>(0x2024d6);
  583.         goto addr_178e_15;
  584.     }
  585.     v26 = 1;
  586.     v17->f0 = v5->f0;
  587.     if (eax11 && (eax27 = g20257f, !!*reinterpret_cast<signed char*>(&eax27))) {
  588.         v26 = 2;
  589.         v17->f8 = reinterpret_cast<struct s0*>(0x20257f);
  590.     }
  591.     eax28 = g2024ad;
  592.     if (*reinterpret_cast<signed char*>(&eax28)) {
  593.         *reinterpret_cast<int32_t*>(&rax29) = v26;
  594.         *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rax29) + 4) = 0;
  595.         v26 = static_cast<int32_t>(rax29 + 1);
  596.         *reinterpret_cast<struct s0**>(*reinterpret_cast<int32_t*>(&rax29) * 8 + reinterpret_cast<int64_t>(v17)) = reinterpret_cast<struct s0*>(0x2024ad);
  597.     }
  598.     *reinterpret_cast<int32_t*>(&rax30) = v26;
  599.     *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rax30) + 4) = 0;
  600.     v31 = static_cast<int32_t>(rax30 + 1);
  601.     *reinterpret_cast<struct s0**>(*reinterpret_cast<int32_t*>(&rax30) * 8 + reinterpret_cast<int64_t>(v17)) = v19;
  602.     eax32 = g202514;
  603.     if (*reinterpret_cast<signed char*>(&eax32)) {
  604.         *reinterpret_cast<int32_t*>(&rax33) = v31;
  605.         *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rax33) + 4) = 0;
  606.         v31 = static_cast<int32_t>(rax33 + 1);
  607.         *reinterpret_cast<struct s0**>(*reinterpret_cast<int32_t*>(&rax33) * 8 + reinterpret_cast<int64_t>(v17)) = reinterpret_cast<struct s0*>(0x202514);
  608.     }
  609.     if (eax11 <= 1) {
  610.         eax34 = 0;
  611.     } else {
  612.         eax34 = eax11;
  613.     }
  614.     v35 = eax34;
  615.     while (v35 < v4) {
  616.         *reinterpret_cast<int32_t*>(&rax36) = v35;
  617.         *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rax36) + 4) = 0;
  618.         v35 = static_cast<int32_t>(rax36 + 1);
  619.         *reinterpret_cast<int32_t*>(&rax37) = v31;
  620.         *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rax37) + 4) = 0;
  621.         v31 = static_cast<int32_t>(rax37 + 1);
  622.         *reinterpret_cast<struct s0**>(*reinterpret_cast<int32_t*>(&rax37) * 8 + reinterpret_cast<int64_t>(v17)) = *reinterpret_cast<struct s0**>(*reinterpret_cast<int32_t*>(&rax36) * 8 + reinterpret_cast<int64_t>(v5));
  623.     }
  624.     *reinterpret_cast<struct s0**>(reinterpret_cast<int64_t>(v17) + v31 * 8) = reinterpret_cast<struct s0*>(0);
  625.     fun_bf0(0x20252b, v17);
  626.     rax21 = reinterpret_cast<struct s0*>(0x20252b);
  627.     addr_178e_15:
  628.     return rax21;
  629. }
  630.  
  631. int64_t memcmp = 0xb56;
  632.  
  633. int32_t fun_b50(int64_t rdi, int64_t rsi, struct s0* rdx, int64_t rcx) {
  634.     goto memcmp;
  635. }
  636.  
  637. int64_t calloc = 0xb66;
  638.  
  639. struct s1* fun_b60(int64_t rdi, int64_t rsi, struct s0* rdx, int64_t rcx) {
  640.     goto calloc;
  641. }
  642.  
  643. int64_t memcpy = 0xba6;
  644.  
  645. void fun_ba0(int64_t rdi, int64_t rsi, int64_t rdx, int64_t rcx) {
  646.     goto memcpy;
  647. }
  648.  
  649. int64_t fprintf = 0xb96;
  650.  
  651. void fun_b90(int64_t rdi, int64_t rsi, struct s0* rdx, int64_t rcx, int64_t r8, struct s0* r9) {
  652.     goto fprintf;
  653. }
  654.  
  655. int64_t __libc_start_main = 0;
  656.  
  657. int64_t fun_1795(int32_t edi, struct s0* rsi);
  658.  
  659. void fun_1860(int32_t edi, int64_t rsi, int64_t rdx);
  660.  
  661. void fun_18d0();
  662.  
  663. void fun_c60() {
  664.     void* rsp1;
  665.     int64_t rdx2;
  666.     int64_t rax3;
  667.  
  668.     rsp1 = reinterpret_cast<void*>(reinterpret_cast<int64_t>(__zero_stack_offset()) + 8);
  669.     __libc_start_main(fun_1795, __return_address(), rsp1, fun_1860, fun_18d0, rdx2, (reinterpret_cast<uint64_t>(rsp1) & 0xfffffffffffffff0) - 8 - 8, rax3);
  670.     __asm__("hlt ");
  671. }
  672.  
  673. void fun_d07() {
  674.     int64_t v1;
  675.  
  676.     goto v1;
  677. }
  678.  
  679. void fun_12ee() {
  680.     return;
  681. }
  682.  
  683. void fun_18d0() {
  684.     return;
  685. }
  686.  
  687. int64_t _ITM_registerTMCloneTable = 0;
  688.  
  689. void fun_cc2() {
  690.     int64_t rax1;
  691.  
  692.     if (1)
  693.         goto 0xd10;
  694.     rax1 = _ITM_registerTMCloneTable;
  695.     if (!rax1)
  696.         goto 0xd10;
  697.     goto rax1;
  698. }
  699.  
  700. signed char g2025c8 = 0;
  701.  
  702. int64_t g202008 = 0x202008;
  703.  
  704. int64_t fun_d20() {
  705.     int1_t zf1;
  706.     int64_t rax2;
  707.     int1_t zf3;
  708.     int64_t rdi4;
  709.     int64_t rax5;
  710.  
  711.     zf1 = g2025c8 == 0;
  712.     if (!zf1) {
  713.         return rax2;
  714.     } else {
  715.         zf3 = __cxa_finalize == 0;
  716.         if (!zf3) {
  717.             rdi4 = g202008;
  718.             fun_c50(rdi4);
  719.         }
  720.         rax5 = fun_c90(rdi4);
  721.         g2025c8 = 1;
  722.         return rax5;
  723.     }
  724. }
  725.  
  726. int64_t g201f20 = 0;
  727.  
  728. void fun_b36() {
  729.     goto g201f20;
  730. }
  731.  
  732. void fun_c06() {
  733.     goto 0xae0;
  734. }
  735.  
  736. void fun_c36() {
  737.     goto 0xae0;
  738. }
  739.  
  740. void fun_b76() {
  741.     goto 0xae0;
  742. }
  743.  
  744. void fun_af6() {
  745.     goto 0xae0;
  746. }
  747.  
  748. void fun_c26() {
  749.     goto 0xae0;
  750. }
  751.  
  752. void fun_c16() {
  753.     goto 0xae0;
  754. }
  755.  
  756. void fun_b86() {
  757.     goto 0xae0;
  758. }
  759.  
  760. void fun_bb6() {
  761.     goto 0xae0;
  762. }
  763.  
  764. int64_t fun_1795(int32_t edi, struct s0* rsi) {
  765.     int64_t rdi3;
  766.     struct s0* rax4;
  767.     struct s0* rbx5;
  768.     int32_t* rax6;
  769.     int64_t r12_7;
  770.     int32_t* rax8;
  771.     int64_t rax9;
  772.     int32_t* rax10;
  773.     int64_t rax11;
  774.     struct s0* rdx12;
  775.     int64_t rdi13;
  776.  
  777.     *reinterpret_cast<int32_t*>(&rdi3) = edi;
  778.     *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rdi3) + 4) = 0;
  779.     rax4 = fun_12f5(*reinterpret_cast<int32_t*>(&rdi3), rsi, rsi);
  780.     rsi->f8 = rax4;
  781.     if (!rsi->f8) {
  782.         rbx5 = reinterpret_cast<struct s0*>("<null>");
  783.     } else {
  784.         rbx5 = rsi->f8;
  785.     }
  786.     rax6 = fun_b00(rdi3, rsi);
  787.     if (!*rax6) {
  788.         r12_7 = 0x1948;
  789.     } else {
  790.         rax8 = fun_b00(rdi3, rsi);
  791.         *reinterpret_cast<int32_t*>(&rdi3) = *rax8;
  792.         *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rdi3) + 4) = 0;
  793.         rax9 = fun_c40(rdi3, rsi);
  794.         r12_7 = rax9;
  795.     }
  796.     rax10 = fun_b00(rdi3, rsi);
  797.     if (!*rax10) {
  798.         rax11 = 0x1948;
  799.     } else {
  800.         rax11 = reinterpret_cast<int64_t>(": ");
  801.     }
  802.     rdx12 = rsi->f0;
  803.     rdi13 = stderr;
  804.     fun_b90(rdi13, "%s%s%s: %s\n", rdx12, rax11, r12_7, rbx5);
  805.     return 1;
  806. }
  807.  
  808. void fun_bd6() {
  809.     goto 0xae0;
  810. }
  811.  
  812. void fun_bf6() {
  813.     goto 0xae0;
  814. }
  815.  
  816. void fun_b06() {
  817.     goto 0xae0;
  818. }
  819.  
  820. void fun_c46() {
  821.     goto 0xae0;
  822. }
  823.  
  824. void fun_1860(int32_t edi, int64_t rsi, int64_t rdx) {
  825.     int64_t r15_4;
  826.     int32_t r13d5;
  827.     int64_t r14_6;
  828.     int64_t rbx7;
  829.     int64_t rdi8;
  830.  
  831.     r15_4 = rdx;
  832.     r13d5 = edi;
  833.     r14_6 = rsi;
  834.     fun_ac8();
  835.     if (!0) {
  836.         *reinterpret_cast<int32_t*>(&rbx7) = 0;
  837.         *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rbx7) + 4) = 0;
  838.         do {
  839.             *reinterpret_cast<int32_t*>(&rdi8) = r13d5;
  840.             *reinterpret_cast<int32_t*>(reinterpret_cast<int64_t>(&rdi8) + 4) = 0;
  841.             *reinterpret_cast<int64_t*>("`\r" + rbx7 * 8)(rdi8, r14_6, r15_4);
  842.             ++rbx7;
  843.         } while (1 != rbx7);
  844.     }
  845.     return;
  846. }
  847.  
  848. void fun_18f0() {
  849.     return;
  850. }
  851.  
  852. void fun_b46() {
  853.     goto 0xae0;
  854. }
  855.  
  856. void fun_b16() {
  857.     goto 0xae0;
  858. }
  859.  
  860. void fun_b26() {
  861.     goto 0xae0;
  862. }
  863.  
  864. void fun_be6() {
  865.     goto 0xae0;
  866. }
  867.  
  868. void fun_b56() {
  869.     goto 0xae0;
  870. }
  871.  
  872. void fun_b66() {
  873.     goto 0xae0;
  874. }
  875.  
  876. void fun_ba6() {
  877.     goto 0xae0;
  878. }
  879.  
  880. void fun_b96() {
  881.     goto 0xae0;
  882. }
  883.  
  884. void fun_d60() {
  885.     goto 0xcd0;
  886. }
  887.  
  888. void fun_bc6() {
  889.     goto 0xae0;
  890. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement