// address: 0x1000044c
int main(int argc, char *argv[], char *envp[]) {
    int g3; 		// r3

    g3 = proc1(3, 4);
    printf("%i\n", g3);
    g3 = proc1(5, 6);
    printf("%i\n", g3);
    return g3;
}
Пример #2
0
// Address range: 0x100004f4 - 0x1000055f
int main(int argc, char ** argv) {
    // 0x100004f4
    int32_t v1; // bp-32
    v1 = &v1;
    printf("%d\n", proc1(argc, (char *)*(int32_t *)((int32_t)argv + 4)));
    return 0;
}
Пример #3
0
proc1(
    _unknown_ __o0,                        // r8
    _unknown_ __o1,                        // r9
    _unknown_ __o7,                        // r15
    _unknown_ __i7,                        // r31
    void _a8                               // _cfa_8
)
{// addr = 0x00010618
    signed int _t9;                        // _t9
    _unknown_ _t12;                        // _t12
    _unknown_ _t14;                        // _t14
    _unknown_ _t15;                        // _t15
    _unknown_ _t16;                        // _t16

    __i7 = __i7;
    __o7 = __o7;
    _t13 = __o1;
    goto ( &_a8);
    _t9 = __o0 - __o1;
    proc1(11 | _t9, _t13, __o7, __i7);
    printf();
    asm("restore %g2, 88, %o0");
    L3();
    asm("!UNIMP");
    _t12 = __o7 + _a8;
    __l0 =  *((void*)(_t12 - 8));
    __l1 =  *((void*)(_t12 - 16));
    if(__l0) {
    }
    if(__l1) {
    }
    goto (__i7 + 8);
    asm("restore %g0, %g0, %g0");
}
Пример #4
0
main(
    signed int __o0,                       // r8
    _unknown_ __o1,                        // r9
    _unknown_ __o7,                        // r15
    _unknown_ __i7,                        // r31
    void _a8                               // _cfa_8
)
{// addr = 0x00010620
    _unknown_ _t10;                        // _t10
    _unknown_ _t11;                        // _t11
    _unknown_ _t12;                        // _t12
    _unknown_ _t14;                        // _t14
    _unknown_ _t15;                        // _t15
    _unknown_ _t16;                        // _t16

    __i7 = __i7;
    __o7 = __o7;
    proc1(11 | __o0, __o1, __o7, __i7);
    printf();
    asm("restore %g2, 88, %o0");
    L2();
    asm("!UNIMP");
    _t10 = __o7 + _a8;
    __l0 =  *((void*)(_t10 - 8));
    __l1 =  *((void*)(_t10 - 16));
    if(__l0) {
    }
    if(__l1) {
    }
    goto (__i7 + 8);
    asm("restore %g0, %g0, %g0");
}
Пример #5
0
// address: 0x40106c
void _start() {
    int ecx; 		// r25
    __size32 edx; 		// r26

    LoadLibraryA(0);
    ecx = GetCommandLineA(); /* Warning: also results in edx */
    proc1(pc, pc, 0x15000, ecx, edx, SUBFLAGS32(0xae0809f2, 0x82903842, 0x2b77d1b0), 0, 0);
}
Пример #6
0
int main(int argc, char* argv[]) {
	// Blokada wskazuje na 1 proces.
	lock = 1;
	boost::thread proc1(&process1);
	boost::thread proc2(&process2);
	proc1.join(); proc2.join();
	return 0;
}
Пример #7
0
/** address: 0x1000044c */
int main(int argc, char *argv[])
{
    int g3; 		// r3

    g3 = proc1(11, 4);
    printf("%i\n", g3);
    return g3;
}
Пример #8
0
// address: 0x4010b3
void _start() {
    __size32 eax; 		// r24
    int ecx; 		// r25

    LoadLibraryA(0);
    LoadLibraryA(0);
    LoadLibraryA(0);
    eax = LoadLibraryA(0); /* Warning: also results in ecx */
    proc1(pc, pc, 0x15000, ecx, eax, LOGICALFLAGS32(1), LOGICALFLAGS32(1), LOGICALFLAGS32(1));
}
Пример #9
0
// address: 0x40bbdc
void _start(int param1) {
    __size32 eax; 		// r24

    eax = IsWindow();
    if (eax == 0) {
        GetPrivateProfileIntA();
        proc1(param1);
    }
    return;
}
Пример #10
0
int main(int argc, char argv[]) {
	int pid1, pid2;
	int ret1 = 0;
	int ret2 = 0;
	//Semaphore
	key_t cle;
	int er;
	/*
	cle = ftok("/home/eleves/promo16/elec/fan/Documents/embeddedLinux/tp3/tp3_prog2.log",0);
	if(cle == (key_t) -1) {
		perror("erreur ftok\n");
		exit(1);
	}*/
	int semid;
	semid = semget(cle,2,IPC_CREAT|0666);
	if(semid == -1) {
		perror("erreur semget\n");
		exit(1);
	}
	
	//Initialisation a 1 de notre semaphore (qui est le semaphore number 0 de l'ensemble)
	union semun{
		int val;
		struct smid_ds *buf;
		ushort *array;
	} arg;
	arg.val = 1;
	er = semctl(semid,0,SETVAL,arg);
	if (er == -1) {
		perror("erreur semctl\n");
		exit(1);
	}
	
	arg.val = 0;
	er = semctl(semid,1,SETVAL,arg);
	if (er == -1) {
		perror("erreur semctl\n");
		exit(1);
	}
		
	pid1 = fork();
	if(pid1 == 0) proc1 (semid);
	pid2 = fork();
	if(pid2 == 0) proc2 (semid);
	wait (&ret1); //Il attend que le thread finit son travail
	wait (&ret2); //Il attend que le thread finit son travail
	
	//Quand on a fini, on nettoye le semaphore
	if (semctl(semid, 1, IPC_RMID ) == -1 )
	{
	  perror("semctl failure while clearing Reason:");
	  exit(-1);
	}
	return 0;
}
Пример #11
0
int main(int argc, char **argv) 
{
#if 1
     int pid;

     pid = fork();
     if(pid < 0) {
	  perror("fork");
	  exit(2);
     }
     if(pid == 0) {
	  proc1();
	  exit(0);
     }

     waitpid(pid, NULL, 0);

     proc2();
#else 
     /* truncate test */

     proc1();

     rvm_t rvm;

     printf("Before Truncation:\n");
     system("ls -l rvm_segments");
     
     rvm = rvm_init("rvm_segments");
     rvm_truncate_log(rvm);

     printf("\nAfter Truncation:\n");
     system("ls -l rvm_segments");

#endif
     return 0;

}
Пример #12
0
// address: 0x401054
void _start(__size32 param1) {
    int edx; 		// r26

    GetModuleHandleA();
    GetCommandLineA();
    GetModuleHandleA();
    proc1(0x15000);
    edx = *(param1 + 176);
    if (edx - 1 == 0) {
        *(__size32*)(param1 + 184) = *(param1 + 184) + ADDFLAGS32(176, 8, 184) + 10;
    }
    *(__size32*)(param1 + 176) = edx - 1;
    return;
}
Пример #13
0
int main(int argc, char argv[]) {
	//Tube initialise
	int tube[2];
	pipe(tube);
	int pid;
	int ret = 0;
	key_t cle;
	int er;
	int semid;
	semid = semget(cle,2,IPC_CREAT|0666);
	if(semid == -1) {
		perror("semget\n");
		exit(1);
	}
	
	union semun{
		int val;
		struct smid_ds *buf;
		ushort *array;
	} arg;
	arg.val = 1;
	er = semctl(semid,0,SETVAL,arg);
	if (er == -1) {
		perror("semctl\n");
		exit(1);
	}
	
	arg.val = 0;
	er = semctl(semid,1,SETVAL,arg);
	if (er == -1) {
		perror("semctl\n");
		exit(1);
	}

	pid = fork();
	if(pid == 0) {
		proc2 (tube, semid);
	}
	proc1(tube, semid);
	wait (&ret);
	
	//Once finished, it clears the semaphore
	if (semctl(semid, 1, IPC_RMID ) == -1 )
	{
	  perror("semctl failure while clearing Reason:");
	  exit(-1);
	}
	return 0;
}
Пример #14
0
int main(int argc, char **argv) 
{
#if 1
     int pid;

     pid = fork();
     if(pid < 0) {
	  perror("fork");
	  exit(2);
     }
     if(pid == 0) {
	  proc1();
	  exit(0);
     }

     waitpid(pid, NULL, 0);

     proc2();
#else
	 proc1();
	 proc2();
#endif
     return 0;
}
Пример #15
0
// address: 0x401066
void _start(__size32 param1) {
    __size32 eax; 		// r24
    int edx; 		// r26

    GetModuleHandleA();
    GetCommandLineA();
    eax = GetModuleHandleA();
    proc1(eax);
    edx = *(param1 + 168);
    if (edx - 1 == 0) {
        *(__size32*)(param1 + 184) = *(param1 + 184) + ADDFLAGS32(168, 16, 184) + 10;
    }
    *(__size32*)(param1 + 168) = edx - 1;
    return;
}
Пример #16
0
// address: 0x40104a
void _start() {
    int edx; 		// r26
    __size32 local0; 		// m[esp]

    GetModuleHandleA();
    GetCommandLineA();
    GetModuleHandleA();
    proc1(0x15000);
    edx = *(local0 + 176);
    if (edx - 1 == 0) {
        *(__size32*)(local0 + 184) = *(local0 + 184) + ADDFLAGS32(176, 8, 184) + 10;
    }
    *(__size32*)(local0 + 176) = edx - 1;
    return;
}
Пример #17
0
int main(void)
{
	pthread_t t1, t2;
	int n;
	pthread_create(&t1, NULL, thread1, NULL);
	pthread_create(&t2, NULL, thread2, NULL);
	while (scanf("%d", &n) == 1) {
		if (n == 1)
			proc1();
		if (n == 2)
			proc2();
	}
	pthread_join(t1, NULL);
	pthread_join(t2, NULL);
	return 0;
}
Пример #18
0
int main(int argc, char** argv) {
  int pid;

  pid = fork();
  if (pid < 0) {
    perror("fork");
    exit(2);
  }
  if (pid == 0) {
    proc1();
    exit(0);
  }

  waitpid(pid, NULL, 0);

  return 0;
}
Пример #19
0
// address: 0x4010c4
void _start(__size32 param1) {
    __size32 eax; 		// r24

    LoadLibraryA(0);
    GetProcAddress(0, 0);
    GetCommandLineA();
    GetCommandLineA();
    GetCommandLineA();
    GetCommandLineA();
    GetCommandLineA();
    proc1(0x15000);
    eax = *(param1 + 176);
    if (eax - 1 == 0) {
        *(__size32*)(param1 + 184) += 10;
    }
    *(__size32*)(param1 + 176) = eax - 1;
    return;
}
Пример #20
0
// address: 0x40108d
void _start(__size32 *param1) {
    __size32 edx; 		// r26

    GetVersion();
    GetVersion();
    GetVersion();
    GetVersion();
    GetVersion();
    GetVersion();
    GetVersion();
    GetVersion();
    GetVersion();
    GetVersion();
    GetVersion();
    GetVersion();
    edx = GetVersion();
    proc1(edx);
    *(__size32*)0 = *param1;
}
Пример #21
0
// address: 0x401000
void _start(__size32 param1) {
    __size32 *eax; 		// r24
    __size32 eax_1; 		// r24{11}
    __size32 ecx; 		// r25

    eax = *(param1 + 160);
    eax = *eax;
    eax = *(eax + 8);
    eax = *eax;
    eax = *eax;
    eax = *eax;
    eax_1 = *(eax - 4);
    eax = *(eax_1 + 4);
    if (eax != 0) {
        proc1();
        proc2();
    }
    proc3(pc, ecx, eax, ecx, eax_1 + 4, param1, LOGICALFLAGS32(eax), LOGICALFLAGS32(eax), LOGICALFLAGS32(eax));
}
Пример #22
0
int main(int argc, char **argv) {
	int P1[2], P2[2], P3[2], P4[2];
	int p, entry;

	pipe(P1);
	pipe(P2);
	pipe(P3);
	pipe(P4);

	child_a = fork();

	if (child_a == 0) {
		log_file = argv[2];
		p = getpid();
		close(P1[1]);
		close(P2[1]);
		close(P3[0]);
		close(P4[0]);
		store_manager(P1[0], P3[1], P2[0], P4[1], argv[1], argv[2], p);

		/* Child A code */
	}
	child_b = fork();

	if (child_b == 0) {
		p = getpid();
		signal(SIGUSR1, my_handler);
		signal(SIGUSR2, my_handler);
		close(P1[0]);
		close(P3[1]);
		proc1(P3[0], P1[1], argv[3], p, argv[2]);
	}
	/* Child B code */
//	child_c = fork();
//
//	if (child_c == 0) {
//		close(P2[0]);
//		close(P4[1]);
		/*signal(SIGUSR1, my_handler);
		 signal(SIGUSR2, my_handler);
		 childC_id = getpid();*/
	}
Пример #23
0
int main(int argc, char **argv) {
	int pid;
	pid = fork();
 	if(pid < 0) {
		perror("fork");
		exit(2);
	}
	if(pid == 0) {
		proc1();
		exit(EXIT_SUCCESS);
	}

	waitpid(pid, NULL, 0);

	proc2();

	printf("Ok\n");

	return 0;
}
Пример #24
0
void MadsAnimation::load1(int frameNumber) {
	if (_skipLoad)
		return;

	Common::Point pt;
	int listIndex = _spriteListIndexes[_spriteListIndex];
	SpriteAsset &spriteSet = _view->_spriteSlots.getSprite(listIndex);

	if (_unkIndex < 0) {
		M4Surface *frame = spriteSet.getFrame(0);
		pt.x = frame->bounds().left;
		pt.y = frame->bounds().top;
	} else {
		pt.x = _unkList[_unkIndex].x;
		pt.y = _unkList[_unkIndex].y;
		_unkIndex = 1 - _unkIndex;
	}

	if (proc1(spriteSet, pt, frameNumber))
		error("proc1 failure");
}
Пример #25
0
int main(int argc, char **argv)
{
     int pid;

     pid = fork();
     if(pid < 0) {
	  perror("fork");
	  exit(2);
     }
     if(pid == 0) {
	  proc1();
       printf("proc1 successful ! \n");
	  exit(0);
     }

     waitpid(pid, NULL, 0);
     printf("Before proc2 called \n");
     proc2();
     printf("After proc2 called \n");

     return 0;
}
Пример #26
0
// address: 0x401065
void _start(__size32 param1) {
    proc1(pc, 0x10000, 0, param1, LOGICALFLAGS32(0), LOGICALFLAGS32(0), LOGICALFLAGS32(0));
}
Пример #27
0
int main (int argc, char* argv[])
{
    printf("%d\n", proc1(argc, argv[1]));
    return 0;
}
Пример #28
0
// address: 0x1310109b
void _start(__size32 param1, __size32 param2, short param3, short param4, char param5, unsigned char param6) {
    char al; 		// r8
    short ax; 		// r0
    unsigned char dl; 		// r10
    short dx; 		// r2
    __size32 eax; 		// r24
    void *eax_1; 		// r24{29}
    __size32 eax_2; 		// r24{175}
    unsigned char *eax_3; 		// r24{450}
    unsigned char *eax_4; 		// r24{342}
    __size32 ebp; 		// r29
    __size32 ebx; 		// r27
    __size32 ebx_1; 		// r27{231}
    int ebx_2; 		// r27{424}
    int ecx; 		// r25
    unsigned int ecx_2; 		// r25{101}
    int edx; 		// r26
    void *edx_1; 		// r26
    __size32 esi; 		// r30
    int esp; 		// r28
    union { void * x89; unsigned int x90; } local10; 		// m[esp - 820]
    __size32 local11; 		// m[esp - 816]
    __size32 *local12; 		// m[esp - 812]
    __size8 *local14; 		// m[esp - 804]
    __size32 local15; 		// m[esp - 28]
    int local16; 		// m[esp - 0x2388]
    unsigned int local17; 		// m[esp - 828]
    void *local18; 		// m[esp - 0x2390]
    union { void * x143; int x144; } local19; 		// m[esp - 36]
    int local20; 		// m[esp - 804]
    void *local21; 		// m[esp - 808]
    int local22; 		// m[esp - 812]
    unsigned char *local23; 		// m[esp - 12]
    __size32 local24; 		// m[esp - 0x2384]
    void *local25; 		// m[esp - 612]
    unsigned int local26; 		// m[esp - 8]
    int local27; 		// m[esp - 24]
    unsigned int local71; 		// m[esp - 8]{602}
    unsigned char *local74; 		// eax_4{570}
    union { void * x145; unsigned int x146; } local75; 		// local14{608}
    union { void * x147; unsigned int x148; } local76; 		// local12{610}
    unsigned char *local77; 		// eax_3{585}
    union { int x97; void * x98; } local78; 		// edx{587}
    unsigned int local79; 		// local26{618}
    __size32 *local9; 		// m[esp - 824]

    AddAccessDeniedAce();
    eax_1 = SafeArrayGetUBound();
    BuildExplicitAccessWithNameA();
    BaseInitAppcompatCacheSupport();
    eax = *(eax_1 - 0x6cf5e057);
    ax = proc1(&eax, esp - 572, 4, &param2, 0, &24, param3, param4, param5, param6); /* Warning: also results in dx, al */
    SetErrorMode();
    BaseInitAppcompatCacheSupport();
    ecx_2 = *(eax_1 - 0x6cf5e053);
    ax = proc1(&ecx_2, (esp - 604), 4, &param2, 4, &24, ax, dx, al, (unsigned char) esp - 604); /* Warning: also results in dx, al, dl */
    ecx = *(eax_1 - 0x6cf5e04f);
    BaseDumpAppcompatCache();
    ax = proc1(&ecx, esp - 28, 4, &param2, 8, &24, ax, dx, al, dl); /* Warning: also results in dx, al, dl */
    eax_2 = GetModuleHandleA();
    AdjustTokenGroups();
    ControlTraceA();
    BuildTrusteeWithObjectsAndNameA();
    ebx_1 = *(eax_1 - 0x6cf5e04b);
    ax = proc1(&ebx_1, esp - 40, 4, &param2, 12, &24, ax, dx, al, dl); /* Warning: also results in dx, al */
    local15 = ebx_1 + eax_2;
    ebx = *(eax_1 - 0x6cf5e047);
    local16 = ebx;
    local9 = esp - 0x2388;
    ax = proc1(&ebx, (esp - 0x2398), 4, &param2, 16, &24, ax, dx, al, (unsigned char) eax_1 - 0x6cf5e047); /* Warning: also results in dx, al */
    local18 = 20;
    local19 = eax_1 - 0x6cf5e043;
    dl = (unsigned char) ecx;
    local20 = 64;
    local21 = 0x3000;
    esi = ecx * 8 + ecx_2 + 12;
    local22 = esi + eax;
    local11 = 0;
    eax_4 = VirtualAlloc(0, esi + eax, 0x3000, 64); /* Warning: also results in edx */
    local74 = eax_4;
    local75 = local20;
    local76 = local22;
    ecx = ebx_1 + eax_2 + ecx * 8 + 12;
    local23 = ecx;
    local24 = ecx * 8 + 12;
    local25 = ecx * 8 + 12;
    local26 = 0;
    local27 = 0;
    for(;;) {
        eax_4 = local74;
        local71 = local26;
        local14 = local75;
        local12 = local76;
        local77 = eax_4;
        local78 = edx;
        local79 = local71;
        if (local25 != local16) {
            goto L0;
        }
        local26 = local71 + 1;
        local79 = local26;
        if (local26 == ecx) {
            ebx = eax_4 - ecx * 8 - 12;
            esi = proc1(eax_4, ebx, ecx_2, &param1, ecx * 8 + 12, &24, ax, dx, al, dl); /* Warning: also results in ax, dx, al, dl, edx */
            (*eax_4 + 0xf50)(local18, local16, local24, pc, eax_4 + ecx_2, eax_4, eax, ecx_2, esp - 564, esp, (esp + 4), (esp + 4), 0x9c000, 0, 0xc000000, 0x10c0, 0x90000000, 272, 0xb200000, 0, 392, 0, 0, 0x4400, 0x80000000, 0x78000000, 0, 0, 0xbc0, (esp + 4), 0x10000, 0xe00000, 0, 0x800, 0, 0x28c0000, 0x900, 0x2800000, 0x4a00000, 0x2600, 0, eax_4 + 0xf50, eax_4 + 0xf50, local25, eax_4, ecx_2, eax_2 + 0x1000, eax_1 - 0x6cf5e057, eax, param1, 24, 67, 28, -75, -19, ecx * 8 + 12, esp, local19, eax_2, local15, local27, ecx, param2, local23, local71 + 1, ebp, ax, dx, al, dl, eax_4 + ecx_2, eax_4, edx, eax, esp - 4, esi, eax_4 + 0xf50, ADDFLAGS32(eax_4, ecx_2, eax_4 + ecx_2), ADDFLAGS32(eax_4, ecx_2, eax_4 + ecx_2), ADDFLAGS32(eax_4, ecx_2, eax_4 + ecx_2));
            return;
        }
        ecx = *local19;
        ebx = esp - local18 - 28;
        ax = proc1(&ecx, ebx, 4, &param2, local18, &24, ax, dx, al, (unsigned char) esp - 28); /* Warning: also results in dx, al */
        local15 = ecx + eax_2;
        local18 += 4;
        local19 += 4;
        ebx_2 = *local19;
        local16 = ebx_2;
        local14 = esp - 564;
        local21 = local18;
        local12 = esp - 16;
        local11 = 4;
        ebx = esp - local18 - 0x2388;
        local10 = ebx;
        local9 = esp - 0x2388;
        eax_3 = proc1(&ebx_2, ebx, 4, &param2, local18, &24, ax, dx, al, (unsigned char) esp - 0x2388); /* Warning: also results in ax, dx, al */
        local77 = eax_3;
        edx_1 = local18 + 4;
        local18 += 4;
        local19 += 4;
        local25 = 0;
        local23 = ecx + eax_2;
        local78 = edx_1;
L0:
        eax_3 = local77;
        edx = local78;
        local26 = local79;
        ebx = eax_4 + local27;
        dl = *local23;
        edx = edx >> 8 & 0xffffff | (dl);
        *(unsigned char*)ebx = dl;
        local23++;
        local27++;
        local25++;
        local24++;
        local74 = eax_3;
        local75 = local14;
        local76 = local12;
    }
}
Пример #29
0
// address: 0x401010
void _start(unsigned int param1, __size32 param2) {
    unsigned char dl; 		// r10
    __size32 eax; 		// r24
    int *eax_1; 		// r24{64}
    void *eax_2; 		// r24{144}
    void *eax_3; 		// r24{241}
    int *ebx; 		// r27
    int ebx_1; 		// r27
    int ecx; 		// r25
    __size32 ecx_1; 		// r25{225}
    void *esi; 		// r30
    int esp; 		// r28
    void *esp_1; 		// r28{14}
    __size32 local0; 		// m[esp - 24]
    unsigned int local1; 		// m[esp - 16]
    void *local10; 		// m[esp_1 - 20]{161}
    void *local11; 		// m[esp_1 - 20]{205}
    unsigned int local2; 		// m[esp - 12]
    __size32 local3; 		// m[esp - 20]
    unsigned int local4; 		// m[esp - 8]
    int local5; 		// m[esp - 28]
    unsigned int local6; 		// m[esp_1 - 20]{79}
    void *local9; 		// m[esp_1 - 20]{146}

    esp_1 = proc1(&param2);
    *(__size32*)(esp_1 - 4) = 0x2000;
    local0 = *(esp_1 - 4);
    *(__size32*)(esp_1 - 4) = 0x10e3f1cf;
    local1 = *(esp_1 - 4);
    *(__size32*)(esp_1 - 4) = 0xfb750a4;
    local2 = *(esp_1 - 4);
    eax = param1 * 256 + local0 + 0x3fa900;
    ecx = eax - param1 + 203;
    *(__size32*)(esp_1 - 4) = *ecx;
    local3 = *(esp_1 - 4);
    eax_1 = eax - param1 + 223;
    *(union { void * x1; int x2; }*)(esp_1 - 4) = esp - 8;
    *(__size32*)(esp_1 - 8) = 4;
    *(__size32*)(esp_1 - 12) = local3;
    *(int **)(esp_1 - 16) = eax_1;
    VirtualProtect();
    ecx = local3;
    ebx = eax_1;
    eax = local1 + param1;
    local4 = 1;
    ecx_1 = ecx;
    *(int*)ebx = *ebx ^ eax;
    ecx = ecx_1 - param1 + 83;
    while (ecx_1 + 83 >= (int)param1) {
        eax += local2;
        eax += local4;
        ebx = ebx - param1 + 91;
        local4 = 0 - local4;
        ecx_1 = ecx;
        *(int*)ebx = *ebx ^ eax;
        ecx = ecx_1 - param1 + 83;
    }
    ebx = eax_1 - param1 + 147;
    ebx_1 = *ebx;
    dl = *(ebx_1 + eax_1 + 6);
    local5 = 0 >> 8 & 0xffffff | (dl);
    *(__size32*)(esp_1 - 20) = 64;
    *(__size32*)(esp_1 - 24) = 0x3000;
    *(__size32*)(esp_1 - 28) = *(ebx_1 + eax_1 + 80);
    *(__size32*)(esp_1 - 32) = *(ebx_1 + eax_1 + 52);
    eax_2 = VirtualAlloc(*(esp_1 - 32), *(esp_1 - 28), *(esp_1 - 24), *(esp_1 - 20));
    local9 = eax_2;
    *(int **)(esp_1 - 24) = eax_1;
    *(__size32*)(esp_1 - 28) = *(ebx_1 + eax_1 + 84);
    proc2(*(esp_1 - 28), *(esp_1 - 24), *(esp_1 - 20));
    esi = ebx_1 + eax_1 + 248;
    do {
        ecx = eax_2 + *(esi + 12);
        local10 = ecx;
        eax = eax_1 + *(esi + 20);
        *(void **)(esp_1 - 24) = eax;
        *(__size32*)(esp_1 - 28) = *(esi + 16);
        proc2(*(esp_1 - 28), *(esp_1 - 24), *(esp_1 - 20));
        esi += 40;
        local5 = local5 - 1;
    } while (local5 != 0);
    eax = eax_2;
    do {
        eax_3 = eax;
        eax = eax_3 + 4;
    } while (*(eax_3 + 4) != 0xaabbccdd);
    local11 = eax_3 + 4;
    *(__size32*)(esp_1 - 24) = 0x401174;
    *(__size32*)(esp_1 - 28) = 56;
    proc2(*(esp_1 - 28), *(esp_1 - 24), *(esp_1 - 20));
    return;
}
Пример #30
0
int main() {
    printf("%i\n", proc1(11, 4));
}