Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int main(int argc, char *argv[]);
- void basic_1_if(__size32 param1);
- void basic_2_if_else(__size32 param1);
- void basic_3_if_elseif(int param1);
- void basic_4_if_elseif_else(__size32 param1);
- void basic_5_head_controlled_loop(__size32 param1);
- void basic_6_tail_controlled_loop(__size32 param1);
- void basic_7_for_loop();
- void basic_8_forever_loop(__size32 param1);
- void basic_9_dead_block();
- void intermediate_1_short_circuit_and(int param1, int param2);
- void intermediate_2_short_circuit_or(int param1, int param2);
- void intermediate_10_loop_with_one_break(__size32 param1);
- void intermediate_11_loop_with_two_breaks(int param1);
- void intermediate_12_loop_with_break_and_block(__size32 param1);
- void intermediate_13_loop_with_one_continue(int param1);
- void intermediate_14_loop_with_two_continues(int param1);
- void intermediate_15_loop_with_continue_and_block(int param1);
- __size32 intermediate_16_loop_with_breaks_and_continues(__size32 param1);
- void intermediate_17_forever_loop_with_extra_statement();
- void intermediate_20_nested_loops(__size32 param1);
- void intermediate_30_switch_case(unsigned int param1);
- void advanced_1_loop_with_multiple_entries(int param1);
- void advanced_2_loop_with_multiple_exits(int param1);
- void advanced_10_irreducible(__size32 param1);
- void advanced_11_nested_loops_complex_condition(int param1);
- void advanced_12_nested_if_in_loop(__size32 param1);
- void advanced_20_jump_table_on_stack(unsigned int param1);
- void advanced_21_computed_jumps(unsigned int param1);
- /** address: 0x080483a0 */
- int main(int argc, char *argv[])
- {
- unsigned char al; // r8
- __size32 eax; // r24
- union { int; __size32 *; } ebp; // r29
- int ebx; // r27
- __size32 ecx; // r25
- unsigned int edi; // r31
- __size32 edx; // r26
- int esi; // r30
- union { int; __size32 *; } esp; // r28
- __size32 local5; // m[esp]
- basic_1_if(argc);
- basic_2_if_else(argc);
- basic_3_if_elseif(argc);
- basic_4_if_elseif_else(argc);
- basic_5_head_controlled_loop(argc);
- basic_6_tail_controlled_loop(argc);
- basic_7_for_loop();
- basic_8_forever_loop(argc);
- basic_9_dead_block();
- al = (argc > 4) ? 1 : 0;
- intermediate_1_short_circuit_and((al), ~argc & 0x1);
- intermediate_2_short_circuit_or((al), ~argc & 0x1);
- intermediate_10_loop_with_one_break(argc);
- intermediate_11_loop_with_two_breaks(argc);
- intermediate_12_loop_with_break_and_block(argc);
- intermediate_13_loop_with_one_continue(argc);
- intermediate_14_loop_with_two_continues(argc);
- intermediate_15_loop_with_continue_and_block(argc);
- eax = intermediate_16_loop_with_breaks_and_continues(argc); /* Warning: also results in ecx, edx */
- intermediate_17_forever_loop_with_extra_statement(al, eax, ecx, edx, argc, esp - 8, ~argc & 0x1, (al), SUBFLAGS32(argc, 4, argc - 4), argc == 4, (unsigned int)argc < 4, argc < 4, argc < 0 && argc >= 4, argc, argv, local5, ebp, edi, esi, ebx, esp + 4, argv, ~argc & 0x1, argc, pc);
- }
- /** address: 0x080485b0 */
- void basic_1_if(__size32 param1)
- {
- if (param1 == 42) {
- puts("if block");
- }
- return;
- }
- /** address: 0x080485e0 */
- void basic_2_if_else(__size32 param1)
- {
- if (param1 == 42) {
- puts("if block");
- }
- else {
- puts("else block");
- }
- return;
- }
- /** address: 0x08048620 */
- void basic_3_if_elseif(int param1)
- {
- if (param1 == 42) {
- puts("if block");
- }
- else {
- if (param1 == 43) {
- puts("else-if block");
- }
- }
- return;
- }
- /** address: 0x08048680 */
- void basic_4_if_elseif_else(__size32 param1)
- {
- if (param1 == 42) {
- puts("if block");
- }
- else {
- if (param1 == 43) {
- puts("else-if block");
- }
- else {
- puts("else block");
- }
- }
- return;
- }
- /** address: 0x08049110 */
- void basic_5_head_controlled_loop(__size32 param1)
- {
- __size32 ebx; // r27
- ebx = param1;
- puts("before");
- while (ebx != 42) {
- ebx++;
- puts("body");
- }
- puts("after");
- return;
- }
- /** address: 0x08049160 */
- void basic_6_tail_controlled_loop(__size32 param1)
- {
- __size32 ebx; // r27
- __size32 ebx_1; // r27{5}
- ebx = param1;
- puts("before");
- do {
- ebx_1 = ebx;
- ebx = ebx_1 + 1;
- puts("body");
- } while (ebx_1 + 1 != 42);
- puts("after");
- return;
- }
- /** address: 0x080486f0 */
- void basic_7_for_loop()
- {
- char ebx; // r27
- char ebx_1; // r27{2}
- char ebx_2; // r27{3}
- char local1; // ebx_1{2}
- ebx = '0';
- local1 = ebx;
- do {
- ebx_1 = local1;
- ebx_2 = ebx_1 + 1;
- local1 = ebx_2;
- putchar(ebx_1);
- } while (ebx_1 + 1 != 58);
- return;
- }
- /** address: 0x080491b0 */
- void basic_8_forever_loop(__size32 param1)
- {
- if (param1 == 42) {
- for(;;) {
- puts("loop body");
- }
- }
- return;
- }
- /** address: 0x080491d2 */
- void basic_9_dead_block()
- {
- puts("entry");
- puts("exit");
- return;
- }
- /** address: 0x08048720 */
- void intermediate_1_short_circuit_and(int param1, int param2)
- {
- int eax; // r24
- eax = rand();
- if (param1 != 0 && eax == param2) {
- puts("both true");
- }
- return;
- }
- /** address: 0x08048750 */
- void intermediate_2_short_circuit_or(int param1, int param2)
- {
- int eax; // r24
- eax = rand();
- if (param1 != 0 || eax == param2) {
- puts("at least one is true");
- }
- return;
- }
- /** address: 0x08048790 */
- void intermediate_10_loop_with_one_break(__size32 param1)
- {
- time_t eax; // r24
- for(;;) {
- puts("head");
- eax = time(0);
- if (eax == param1) {
- break;
- }
- puts("tail");
- }
- return;
- }
- /** address: 0x080487e0 */
- void intermediate_11_loop_with_two_breaks(int param1)
- {
- time_t eax; // r24
- int ebx; // r27
- int ebx_1; // r27{7}
- ebx = param1;
- if (param1 > 0) {
- do {
- ebx_1 = ebx;
- puts("head");
- eax = time(0);
- if (eax == ebx_1) {
- break;
- }
- puts("tail");
- ebx = ebx_1 - 1;
- } while (ebx_1 != 1);
- }
- return;
- }
- /** address: 0x08048830 */
- void intermediate_12_loop_with_break_and_block(__size32 param1)
- {
- int eax; // r24
- for(;;) {
- puts("head");
- eax = time(0);
- if (eax == param1) {
- break;
- }
- puts("barrier");
- eax = rand();
- if (param1 == eax) {
- return;
- }
- puts("tail");
- }
- puts("will break");
- return;
- }
- /** address: 0x080488a0 */
- void intermediate_13_loop_with_one_continue(int param1)
- {
- int eax; // r24
- if (param1 > 123) {
- for(;;) {
- puts("head");
- eax = time(0);
- if (param1 == eax) {
- continue;
- }
- puts("tail");
- }
- }
- return;
- }
- /** address: 0x080488f0 */
- void intermediate_14_loop_with_two_continues(int param1)
- {
- int eax; // r24
- if (param1 > 123) {
- for(;;) {
- puts("head");
- eax = time(0);
- if (param1 == eax) {
- continue;
- }
- puts("barrier");
- eax = rand();
- if (param1 == eax) {
- continue;
- }
- puts("tail");
- }
- }
- return;
- }
- /** address: 0x08048960 */
- void intermediate_15_loop_with_continue_and_block(int param1)
- {
- int eax; // r24
- if (param1 > 123) {
- for(;;) {
- bb0x8048970:
- puts("head");
- eax = time(0);
- if (param1 != eax) {
- puts("barrier");
- eax = rand();
- if (param1 == eax) {
- goto bb0x8048970;
- }
- puts("tail");
- goto bb0x8048970;
- }
- puts("will continue");
- }
- }
- return;
- }
- /** address: 0x080489e0 */
- __size32 intermediate_16_loop_with_breaks_and_continues(__size32 param1)
- {
- int eax; // r24
- int ecx; // r25
- int edx; // r26
- for(;;) {
- puts("head");
- eax = time(0);
- if (eax + 1 == param1) {
- continue;
- }
- puts("after first continue");
- eax = time(0); /* Warning: also results in ecx, edx */
- if (param1 == eax + 2) {
- break;
- }
- puts("after first break");
- eax = time(0);
- if (param1 == eax + 3) {
- continue;
- }
- puts("after second continue");
- eax = time(0); /* Warning: also results in ecx, edx */
- if (param1 == eax + 4) {
- break;
- }
- puts("after second break; tail");
- }
- return 0; /* WARNING: Also returning: ecx := ecx, edx := edx */
- }
- /** address: 0x08049211 */
- void intermediate_17_forever_loop_with_extra_statement()
- {
- bb0x8049214:
- goto bb0x8049214;
- }
- /** address: 0x08048aa0 */
- void intermediate_20_nested_loops(__size32 param1)
- {
- int eax; // r24
- puts("before");
- do {
- puts("outer loop");
- do {
- puts("inner loop");
- eax = time(0);
- } while (eax != param1);
- eax = rand();
- } while (param1 != eax);
- puts("after");
- return;
- }
- /** address: 0x08048b10 */
- void intermediate_30_switch_case(unsigned int param1)
- {
- if (param1 > 9) {
- puts("some other value");
- }
- else {
- switch(param1) {
- case 7:
- puts("7 with fall through");
- case 8:
- puts("8");
- break;
- case 9:
- puts("9");
- break;
- case 0:
- puts("0");
- break;
- case 1:
- puts("1");
- break;
- case 3:
- case 2:
- puts("2 or 3");
- break;
- case 4:
- puts("4");
- break;
- case 5:
- puts("5");
- break;
- case 6:
- puts("6");
- break;
- }
- }
- puts("common exit");
- return;
- }
- /** address: 0x08048c30 */
- void advanced_1_loop_with_multiple_entries(int param1)
- {
- int ebx; // r27
- int esp; // r28
- void *esp_1; // r28{3}
- void *esp_4; // r28{1}
- void *local1; // esp{8}
- void *local2; // esp{15}
- esp_1 = (esp_4 - 12);
- local2 = esp_1;
- local1 = esp_1;
- ebx = param1;
- if (param1 == 42) {
- ebx = 41;
- for(;;) {
- esp = local2;
- *(__size32*)(esp - 16) = 0x80493ce;
- puts(*(esp - 16));
- local1 = esp;
- if (ebx > 0) {
- do {
- bb0x8048c41:
- esp = local1;
- ebx--;
- *(__size32*)(esp - 16) = 0x80493c7;
- puts(*(esp - 16));
- local2 = esp;
- } while (ebx > 0);
- }
- return;
- }
- }
- else {
- if (param1 > 0) {
- goto bb0x8048c41;
- }
- }
- return;
- }
- /** address: 0x08048c80 */
- void advanced_2_loop_with_multiple_exits(int param1)
- {
- int eax; // r24
- int ebx; // r27
- int ebx_1; // r27{9}
- ebx = param1;
- if (param1 > 0) {
- do {
- ebx_1 = ebx;
- puts("body 1");
- eax = time(0);
- if (eax == 1) {
- puts("took exit 1");
- return;
- }
- puts("body 2");
- eax = time(0);
- if (eax == 2) {
- puts("took exit 2");
- return;
- }
- ebx = ebx_1 - 1;
- } while (ebx_1 != 1);
- bb0x8048cf0:
- puts("normal exit");
- }
- else {
- goto bb0x8048cf0;
- }
- return;
- }
- /** address: 0x08048d30 */
- void advanced_10_irreducible(__size32 param1)
- {
- int eax; // r24
- puts("b1");
- eax = time(0);
- if (eax == param1) {
- bb0x8048d78:
- puts("b3");
- }
- else {
- puts("b2");
- eax = time(0);
- if (eax == param1 + 1) {
- puts("b4");
- }
- else {
- goto bb0x8048d78;
- }
- }
- puts("b5");
- return;
- }
- /** address: 0x08048dc0 */
- void advanced_11_nested_loops_complex_condition(int param1)
- {
- int eax; // r24
- time_t eax_1; // r24{4}
- time_t eax_4; // r24{13}
- time_t eax_7; // r24{16}
- puts("b0");
- eax_1 = time(0);
- if (eax_1 == param1) {
- do {
- puts("b2");
- bb0x8048e31:
- puts("b3");
- eax_4 = time(0);
- if (eax_4 != eax_1 + 2) {
- eax = time(0);
- if (eax == eax_1 + 3) {
- goto bb0x8048e31;
- }
- goto bb0x8048de5;
- }
- puts("b1");
- eax_7 = time(0);
- } while (eax_7 == eax_1 + 1);
- }
- bb0x8048de5:
- puts("b9");
- return;
- }
- /** address: 0x08048e80 */
- void advanced_12_nested_if_in_loop(__size32 param1)
- {
- time_t eax; // r24
- puts("b0");
- do {
- bb0x8048ea0:
- puts("b1");
- eax = time(0);
- if (eax != param1) {
- puts("b3");
- eax = time(0);
- if (eax == param1 + 2) {
- goto bb0x8048ea0;
- }
- goto bb0x8048ee0;
- }
- puts("b2");
- eax = time(0);
- } while (eax == param1 + 1);
- bb0x8048ee0:
- puts("b4");
- return;
- }
- /** address: 0x08048f30 */
- void advanced_20_jump_table_on_stack(unsigned int param1)
- {
- int esp; // r28
- if (param1 <= 5) {
- /* goto m[(a[m[esp - 44]] + (param1 * 4)) + 8] */
- }
- puts("is something else");
- return;
- }
- /** address: 0x08049050 */
- void advanced_21_computed_jumps(unsigned int param1)
- {
- int eax; // r24
- puts("start");
- if (param1 > 2) {
- puts("is something else");
- }
- else {
- if (param1 != 0) {
- eax = 24;
- if (param1 == 2) {
- eax = 56;
- }
- /* goto eax + 0x8049098 */
- }
- puts("is 0");
- }
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement