All pastes #353173 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-02-13 06:22 UTC
rendered paste body
void proc2();
void _start(__size32 param1);
void proc3();

// address: 0x747828
void proc1() {
    __size8 al; 		// r8
    __size32 eax; 		// r24
    __size32 ebx; 		// r27
    __size32 ecx; 		// r25
    __size32 edi; 		// r31
    __size32 edx; 		// r26
    __size32 esi; 		// r30
    void *esp; 		// r28
    __size32 *esp_1; 		// r28{86}
    __size32 *esp_2; 		// r28{68}
    __size32 *esp_3; 		// r28{39}
    unsigned int local0; 		// m[esp - 44]
    int local1; 		// m[esp - 40]
    __size32 local10; 		// m[esp - 4]
    int local11; 		// m[esp - 4]{86}
    int local12; 		// m[esp - 8]{86}
    int local13; 		// m[esp - 12]{86}
    int local14; 		// m[esp - 16]{86}
    int local15; 		// m[esp - 20]{86}
    int local16; 		// m[esp - 24]{86}
    int local17; 		// m[esp - 28]{86}
    int local18; 		// m[esp - 32]{86}
    int local19; 		// m[esp - 36]{86}
    int local2; 		// m[esp - 36]
    int local20; 		// m[esp - 40]{86}
    int local21; 		// m[esp - 44]{86}
    int local3; 		// m[esp - 32]
    int local4; 		// m[esp - 28]
    int local5; 		// m[esp - 24]
    unsigned int local6; 		// m[esp - 20]
    __size32 local7; 		// m[esp - 16]
    __size32 local8; 		// m[esp - 12]
    __size32 local9; 		// m[esp - 8]

    (*eax)(pc, 0, 0x903e, 0x1000, 4, 0x903e, pc, edi, esi, ecx, ebx, (unsigned char) eax, eax, ecx, pc - 0x74782d, esi, edi, SUBFLAGS32(pc, 0x74782d, pc - 0x74782d), pc - 0x74782d == 0, pc < 0x74782d);
    ecx = *esp_3;
    *(__size32*)esp_3 = ebx + 0x73a412;
    *(__size32*)(esp_3 - 4) = ebx;
    *(__size8 **)(esp_3 - 8) = eax;
    edi = eax;
    esi = ebx + 0x73a412;
    while (ecx != 0) {
        *(__size8*)edi = *esi;
        esi +=  (DF == 0) ? 1 : -1;
        edi +=  (DF == 0) ? 1 : -1;
        ecx = ecx - 1;
    }
    (*ebx + 0x73a28e)(local0, local1, local2, local3, local4, local5, local6, local7, local8, local9, local10, al, eax, ebx + 0x73a28e, ebx + 0x73a412, ebx, esi, edi, <all>, ADDFLAGS32(0x73a28e, ebx, ebx + 0x73a28e), ADDFLAGS32(0x73a28e, ebx, ebx + 0x73a28e), ADDFLAGS32(0x73a28e, ebx, ebx + 0x73a28e));
    eax = *esp_2;
    ebx = *(esp_2 + 4);
    *(__size32*)esp_2 = 0x8000;
    *(__size32*)(esp_2 - 4) = 0;
    *(__size32*)(esp_2 - 8) = eax;
    eax = *(ebx + 0x5fe0c8);
    (*eax)(local0, local1, local2, local3, local4, local5, local6, local7, local8, local9, local10, (unsigned char) eax, eax, ecx, edx, ebx, esi, edi, <all>, flags, ZF, CF);
    ecx = *esp_1;
    eax = *(esp_1 + 4);
    ebx = *(esp_1 + 8);
    *(__size8*)(ebx - 5) = -72;
    *(__size32*)(ebx - 4) = eax;
    *(__size8*)ebx = -61;
    if (ecx != 0) {
        proc3(local21, local20, local19, local18, local17, local16, local15, local14, local13, local12, local11, (unsigned char) eax, eax, ecx, edx, eax, esi, edi, <all>, LOGICALFLAGS32(ecx), LOGICALFLAGS32(ecx), LOGICALFLAGS32(ecx));
    }
    return;
}

// address: 0x74794d
void proc2() {
    return;
}

// address: 0x74792c
void _start(__size32 param1) {
    proc1();
/* goto param1 + 0x8a30*/
}

// address: 0x747944
void proc3() {
    proc2();
}