Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct s563 {
- unsigned char* f0;
- unsigned char* f4;
- unsigned char* f8;
- int16_t f12;
- };
- void fun_48ada0(struct s563* a1) {
- struct s563* ebp2;
- uint32_t ebx3;
- unsigned char* eax4;
- unsigned char* esi5;
- uint32_t ebx6;
- unsigned char cl7;
- uint32_t v8;
- unsigned char* edx9;
- unsigned char* edi10;
- uint32_t ecx11;
- uint32_t ecx12;
- unsigned char* edx13;
- unsigned char* ecx14;
- unsigned char* edi15;
- unsigned char* eax16;
- unsigned char* esi17;
- unsigned char* edx18;
- unsigned char* edi19;
- uint32_t ecx20;
- uint32_t ecx21;
- uint32_t v22;
- uint32_t v23;
- unsigned char* edi24;
- uint32_t eax25;
- unsigned char* ecx26;
- unsigned char* esi27;
- unsigned char eax28;
- unsigned char* edi29;
- uint32_t ecx30;
- uint32_t ecx31;
- unsigned char* edi32;
- unsigned char* esi33;
- uint32_t v34;
- unsigned char* ecx35;
- uint32_t eax36;
- unsigned char* esi37;
- unsigned char* edi38;
- unsigned char eax39;
- uint32_t ecx40;
- uint32_t ecx41;
- unsigned char* edx42;
- unsigned char* esi43;
- unsigned char* edi44;
- unsigned char* esi45;
- int1_t zf46;
- unsigned char* v47;
- unsigned char* eax48;
- unsigned char* eax49;
- uint32_t eax50;
- unsigned char* eax51;
- unsigned char* edi52;
- uint32_t ecx53;
- ebp2 = a1;
- ebx3 = 2;
- while (ebp2->f12 != *reinterpret_cast<int16_t*>(&ebx3)) {
- *reinterpret_cast<unsigned char*>(&eax4) = *ebp2->f4;
- esi5 = ebp2->f4 + 1;
- ebx6 = ebx3 + 1;
- ebp2->f4 = esi5;
- if (!(*reinterpret_cast<unsigned char*>(&eax4) & 0x80)) {
- if (!(*reinterpret_cast<unsigned char*>(&eax4) & 64)) {
- cl7 = reinterpret_cast<unsigned char>(*reinterpret_cast<unsigned char*>(&eax4) & 31);
- *reinterpret_cast<unsigned char*>(&v8) = cl7;
- if (!(*reinterpret_cast<unsigned char*>(&eax4) & 32)) {
- *reinterpret_cast<uint16_t*>(&eax4) = 0;
- *reinterpret_cast<unsigned char*>(&eax4) = cl7;
- ebx3 = ebx6 + reinterpret_cast<uint32_t>(eax4);
- eax4 = reinterpret_cast<unsigned char*>(v8 & 0xff);
- edx9 = eax4;
- ebp2->f8 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(ebp2->f8) + reinterpret_cast<uint32_t>(eax4));
- edi10 = ebp2->f0;
- ecx11 = reinterpret_cast<uint32_t>(eax4) >> 2;
- while (ecx11) {
- --ecx11;
- *edi10 = *esi5;
- edi10 = edi10 + 4;
- esi5 = esi5 + 4;
- }
- ecx12 = reinterpret_cast<uint32_t>(edx9) & 3;
- while (ecx12) {
- --ecx12;
- *edi10 = *esi5;
- ++edi10;
- ++esi5;
- }
- edx13 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(ebp2->f0) + reinterpret_cast<uint32_t>(eax4));
- ecx14 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(ebp2->f4) + reinterpret_cast<uint32_t>(eax4));
- ebp2->f0 = edx13;
- ebp2->f4 = ecx14;
- } else {
- *reinterpret_cast<uint16_t*>(&eax4) = 0;
- edi15 = ebp2->f8;
- *reinterpret_cast<unsigned char*>(&eax4) = cl7;
- *reinterpret_cast<uint16_t*>(&ecx14) = *esi5;
- eax16 = reinterpret_cast<unsigned char*>((reinterpret_cast<uint32_t>(eax4) << 8) + reinterpret_cast<uint32_t>(ecx14));
- esi17 = esi5 + 1;
- ebp2->f4 = esi17;
- ebx3 = ebx6 + reinterpret_cast<uint32_t>(eax16) + 1;
- eax4 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(eax16) & 0xffff);
- edx18 = eax4;
- ebp2->f8 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(edi15) + reinterpret_cast<uint32_t>(eax4));
- edi19 = ebp2->f0;
- ecx20 = reinterpret_cast<uint32_t>(eax4) >> 2;
- while (ecx20) {
- --ecx20;
- *edi19 = *esi17;
- edi19 = edi19 + 4;
- esi17 = esi17 + 4;
- }
- ecx21 = reinterpret_cast<uint32_t>(edx18) & 3;
- while (ecx21) {
- --ecx21;
- *edi19 = *esi17;
- ++edi19;
- ++esi17;
- }
- edx13 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(ebp2->f0) + reinterpret_cast<uint32_t>(eax4));
- ecx14 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(ebp2->f4) + reinterpret_cast<uint32_t>(eax4));
- ebp2->f0 = edx13;
- ebp2->f4 = ecx14;
- }
- } else {
- if (!(*reinterpret_cast<unsigned char*>(&eax4) & 16)) {
- *reinterpret_cast<unsigned char*>(&v22) = *esi5;
- *reinterpret_cast<unsigned char*>(&v23) = reinterpret_cast<unsigned char>(reinterpret_cast<unsigned char>(*reinterpret_cast<unsigned char*>(&eax4) & 15) + 4);
- edi24 = ebp2->f8;
- eax25 = v22 & 0xff;
- *reinterpret_cast<signed char*>(&edx13) = *reinterpret_cast<signed char*>(&eax25);
- ecx26 = reinterpret_cast<unsigned char*>(v23 & 0xff);
- reinterpret_cast<signed char*>(&edx13)[1] = *reinterpret_cast<signed char*>(&edx13);
- ebp2->f4 = esi5 + 1;
- esi27 = ecx26;
- eax28 = reinterpret_cast<unsigned char>(reinterpret_cast<uint32_t>(edx13) << 16);
- ebp2->f8 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(edi24) + reinterpret_cast<uint32_t>(ecx26));
- edi29 = ebp2->f0;
- *reinterpret_cast<uint16_t*>(&eax28) = *reinterpret_cast<uint16_t*>(&edx13);
- ebx3 = ebx6 + 1;
- ecx30 = reinterpret_cast<uint32_t>(ecx26) >> 2;
- while (ecx30) {
- --ecx30;
- *edi29 = eax28;
- edi29 = edi29 + 4;
- esi27 = esi27 + 4;
- }
- ecx31 = reinterpret_cast<uint32_t>(esi27) & 3;
- while (ecx31) {
- --ecx31;
- *edi29 = eax28;
- ++edi29;
- ++esi27;
- }
- eax4 = esi27;
- ecx14 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(ebp2->f0) + reinterpret_cast<uint32_t>(eax4));
- ebp2->f0 = ecx14;
- } else {
- *reinterpret_cast<uint16_t*>(&ecx14) = *esi5;
- edi32 = ebp2->f8;
- *reinterpret_cast<uint16_t*>(&eax4) = reinterpret_cast<uint16_t>(*reinterpret_cast<unsigned char*>(&eax4) & 15);
- esi33 = esi5 + 1;
- ebx3 = ebx6 + 2;
- ebp2->f4 = esi33;
- *reinterpret_cast<unsigned char*>(&v34) = *esi33;
- ecx35 = reinterpret_cast<unsigned char*>((reinterpret_cast<uint32_t>(eax4) << 8) + reinterpret_cast<uint32_t>(ecx14) + 4 & 0xffff);
- ebp2->f4 = esi33 + 1;
- eax36 = v34 & 0xff;
- *reinterpret_cast<signed char*>(&edx13) = *reinterpret_cast<signed char*>(&eax36);
- reinterpret_cast<signed char*>(&edx13)[1] = *reinterpret_cast<signed char*>(&edx13);
- esi37 = ecx35;
- ebp2->f8 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(edi32) + reinterpret_cast<uint32_t>(ecx35));
- edi38 = ebp2->f0;
- eax39 = reinterpret_cast<unsigned char>(reinterpret_cast<uint32_t>(edx13) << 16);
- *reinterpret_cast<uint16_t*>(&eax39) = *reinterpret_cast<uint16_t*>(&edx13);
- ecx40 = reinterpret_cast<uint32_t>(ecx35) >> 2;
- while (ecx40) {
- --ecx40;
- *edi38 = eax39;
- edi38 = edi38 + 4;
- esi37 = esi37 + 4;
- }
- ecx41 = reinterpret_cast<uint32_t>(esi37) & 3;
- while (ecx41) {
- --ecx41;
- *edi38 = eax39;
- ++edi38;
- ++esi37;
- }
- eax4 = esi37;
- ecx14 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(ebp2->f0) + reinterpret_cast<uint32_t>(eax4));
- ebp2->f0 = ecx14;
- }
- }
- } else {
- *reinterpret_cast<uint16_t*>(&edx13) = *esi5;
- *reinterpret_cast<uint16_t*>(&ecx14) = reinterpret_cast<uint16_t>(*reinterpret_cast<unsigned char*>(&eax4) & 31);
- ecx14 = reinterpret_cast<unsigned char*>((reinterpret_cast<uint32_t>(ecx14) << 8) + reinterpret_cast<uint32_t>(edx13));
- edx42 = esi5 + 1;
- esi43 = ebp2->f0;
- edi44 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(ecx14) & 0xffff);
- ebp2->f4 = edx42;
- esi45 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(esi43) - reinterpret_cast<uint32_t>(edi44));
- ebx3 = ebx6 + 1;
- zf46 = ebp2->f12 == *reinterpret_cast<int16_t*>(&ebx3);
- v47 = reinterpret_cast<unsigned char*>((reinterpret_cast<uint32_t>(eax4) >> 5 & 3) + 4);
- if (!zf46 && (*reinterpret_cast<unsigned char*>(&edx42) = *edx42, (*reinterpret_cast<unsigned char*>(&edx42) & 0xe0) == 96)) {
- do {
- edx42 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(edx42) & 31);
- v47 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(v47) + reinterpret_cast<uint32_t>(edx42));
- eax48 = ebp2->f4 + 1;
- ++ebx3;
- ebp2->f4 = eax48;
- *reinterpret_cast<unsigned char*>(&edx42) = *eax48;
- } while ((*reinterpret_cast<unsigned char*>(&edx42) & 0xe0) == 96);
- }
- eax4 = v47;
- edx13 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(ebp2->f8) + reinterpret_cast<uint32_t>(eax4));
- ebp2->f8 = edx13;
- if (reinterpret_cast<uint32_t>(edi44) < reinterpret_cast<uint32_t>(eax4)) {
- if (*reinterpret_cast<uint16_t*>(&ecx14) < 4) {
- if (!(reinterpret_cast<uint1_t>(reinterpret_cast<int32_t>(eax4) < reinterpret_cast<int32_t>(0)) | reinterpret_cast<uint1_t>(eax4 == 0))) {
- do {
- ecx14 = ebp2->f0;
- *ecx14 = *esi45;
- ++esi45;
- --eax4;
- ebp2->f0 = ebp2->f0 + 1;
- } while (eax4);
- }
- } else {
- __asm__("cdq ");
- eax49 = reinterpret_cast<unsigned char*>(reinterpret_cast<int32_t>(reinterpret_cast<uint32_t>(eax4) + (reinterpret_cast<uint32_t>(edx13) & 15)) >> 4);
- ecx14 = eax49;
- if (!(reinterpret_cast<uint1_t>(reinterpret_cast<int32_t>(ecx14) < reinterpret_cast<int32_t>(0)) | reinterpret_cast<uint1_t>(ecx14 == 0))) {
- eax50 = reinterpret_cast<uint32_t>(eax49 - 1 + 1);
- do {
- esi45 = esi45 + 16;
- *ebp2->f0 = *esi45;
- *reinterpret_cast<int32_t*>(ebp2->f0 + 4) = *reinterpret_cast<int32_t*>(esi45 + 0xfffffff4);
- *reinterpret_cast<int32_t*>(ebp2->f0 + 8) = *reinterpret_cast<int32_t*>(esi45 + 0xfffffff8);
- ecx14 = *reinterpret_cast<unsigned char**>(esi45 + 0xfffffffc);
- *reinterpret_cast<unsigned char**>(ebp2->f0 + 12) = ecx14;
- --eax50;
- ebp2->f0 = ebp2->f0 + 16;
- } while (eax50);
- }
- eax51 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(v47) & 0x8000000f);
- if (__intrinsic()) {
- eax51 = reinterpret_cast<unsigned char*>((reinterpret_cast<uint32_t>(eax51 - 1) | 0xfffffff0) + 1);
- }
- edx13 = eax51;
- eax4 = eax51 - 1;
- if (!(reinterpret_cast<uint1_t>(reinterpret_cast<int32_t>(edx13) < reinterpret_cast<int32_t>(0)) | reinterpret_cast<uint1_t>(edx13 == 0))) {
- ++eax4;
- do {
- ecx14 = ebp2->f0;
- *ecx14 = *esi45;
- ++esi45;
- --eax4;
- ebp2->f0 = ebp2->f0 + 1;
- } while (eax4);
- }
- }
- } else {
- edi52 = ebp2->f0;
- edx13 = eax4;
- ecx53 = reinterpret_cast<uint32_t>(eax4) >> 2;
- while (ecx53) {
- --ecx53;
- *edi52 = *esi45;
- edi52 = edi52 + 4;
- esi45 = esi45 + 4;
- }
- ecx14 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(edx13) & 3);
- while (ecx14) {
- --ecx14;
- *edi52 = *esi45;
- ++edi52;
- ++esi45;
- }
- ebp2->f0 = reinterpret_cast<unsigned char*>(reinterpret_cast<uint32_t>(ebp2->f0) + reinterpret_cast<uint32_t>(eax4));
- }
- if (ebp2->f12 == *reinterpret_cast<int16_t*>(&ebx3))
- break;
- }
- }
- return;
- }
Add Comment
Please, Sign In to add comment