/* This file was automatically created by * Reverse Engineering Compiler 1.4a (C) Giampiero Caprino (Nov 22 1998) * Input file: 'hdgO.x' */ /* DEST BLOCK NOT FOUND: 08048473 -> 08048458 */ /* Procedure: 0x08048468 - 0x08048477 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048468() { goto ( *L08049868); (save)0; goto L08048458; } /* DEST BLOCK NOT FOUND: 08048483 -> 08048458 */ /* Procedure: 0x08048478 - 0x08048487 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048478() { goto ( *L0804986c); (save)8; goto L08048458; } /* DEST BLOCK NOT FOUND: 08048493 -> 08048458 */ /* Procedure: 0x08048488 - 0x08048497 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048488() { goto ( *L08049870); (save)16; goto L08048458; } /* DEST BLOCK NOT FOUND: 080484a3 -> 08048458 */ /* Procedure: 0x08048498 - 0x080484A7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048498() { goto ( *L08049874); (save)24; goto L08048458; } /* DEST BLOCK NOT FOUND: 080484b3 -> 08048458 */ /* Procedure: 0x080484A8 - 0x080484B7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080484a8() { goto ( *L08049878); (save)32; goto L08048458; } /* DEST BLOCK NOT FOUND: 080484c3 -> 08048458 */ /* Procedure: 0x080484B8 - 0x080484C7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080484b8() { goto ( *L0804987c); (save)40; goto L08048458; } /* DEST BLOCK NOT FOUND: 080484d3 -> 08048458 */ /* Procedure: 0x080484C8 - 0x080484D7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080484c8() { goto ( *L08049880); (save)48; goto L08048458; } /* DEST BLOCK NOT FOUND: 080484e3 -> 08048458 */ /* Procedure: 0x080484D8 - 0x080484E7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080484d8() { goto ( *L08049884); (save)56; goto L08048458; } /* DEST BLOCK NOT FOUND: 080484f3 -> 08048458 */ /* Procedure: 0x080484E8 - 0x080484F7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080484e8() { goto ( *L08049888); (save)64; goto L08048458; } /* DEST BLOCK NOT FOUND: 08048503 -> 08048458 */ /* Procedure: 0x080484F8 - 0x08048507 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080484f8() { goto ( *L0804988c); (save)72; goto L08048458; } /* DEST BLOCK NOT FOUND: 08048513 -> 08048458 */ /* Procedure: 0x08048508 - 0x08048517 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048508() { goto ( *L08049890); (save)80; goto L08048458; } /* DEST BLOCK NOT FOUND: 08048523 -> 08048458 */ /* Procedure: 0x08048518 - 0x0804852F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048518() { goto ( *L08049894); (save)88; goto L08048458; *eax = *eax + al; *eax = *eax + al; *eax = *eax + al; *eax = *eax + al; } /* Procedure: 0x08048530 - 0x080485AF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ _start() { (restore)ecx; ebx = esp; eax = esp; esp = esp & -8; eax = eax + ecx + ecx + ecx + ecx + 4; (save)0; (save)0; (save)0; ebp = esp; (save)eax; (save)ebx; (save)ecx; eax = 136; ebx = 0; asm("int $0x80"); __environ = *(esp + 8); (save)__fpu_control & 65535; __setfpucw(); __libc_init(); atexit(_fini); _init(); exit(main()); (restore)ebx; eax = 1; asm("int $0x80"); goto done; } /* Procedure: 0x080485B0 - 0x080485DF * Argument size: -4 * Local size: 4 * Save regs size: 4 */ __do_global_dtors_aux() { /* unknown */ void ebx; ebx = __DTOR_END__; if(__DTOR_END__ == 0) { return; } L080485c4: *( *ebx)(); ebx = ebx + 4; if(*ebx != 0) { goto L080485c4; } } /* Procedure: 0x080485E0 - 0x080485EF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ fini_dummy() { } /* Procedure: 0x080485F0 - 0x080486FF * Argument size: 12 * Local size: 88 * Save regs size: 12 */ dumpline(unsigned char * p, unsigned long offset, int cnt) { char buff[80]; sprintf( & buff, "%08lX:", offset); if(cnt > 16) { cnt = 16; } ebx = 0; if(cnt > 0) { edi = & buff; L08048628: sprintf((ebx + ebx * 2) * edi + 9, " %02lX", *(ebx + p) & 255); ebx = ebx + 1; if(cnt > ebx) { goto L08048628; } } eax = ebx; ebx = ebx + 1; if(eax <= 15) { edi = & buff; L08048658: strcat(edi, " "); eax = ebx; ebx = ebx + 1; if(eax <= 15) { goto L08048658; } } al = 0; edi = & buff; asm("cld "); asm("repnz scasb %es:(%edi),%al"); edi = !-1 + -1; *(edi * ebp + -80) = *" |"; ebx = 0; if(cnt > 0) { Vffffffac = & buff; L08048698: Vffffffa8 = ebx + edi; al = *(ebx + esi) + 224; dl = 46; if(al <= 94) { dl = *(ebx + esi); } *(Vffffffa8 + Vffffffac) = dl; ebx = ebx + 1; if(cnt > ebx) { goto L08048698; } } if(ebx <= 15) { edx = & buff; L080486c8: *(ebx + edi + edx) = 32; ebx = ebx + 1; if(ebx <= 15) { goto L080486c8; } } eax = edi + ebp; *(ebx * eax + -80) = *"|"; return(printf("%s\n", & buff)); } /* Procedure: 0x08048700 - 0x0804879F * Argument size: 4 * Local size: 84 * Save regs size: 12 */ hexdump(char * fname) { unsigned char buff[16]; struct _IO_FILE* fp; struct stat st; ebx = fname; if(_xstat(1, ebx, & st) != 0) { eax = fopen(ebx, "rb"); fp = eax; if(fp == 0) { goto L08048734; } esi = 0; if(st.st_size > 0) { edi = & buff; L0804875c: ebx = fread(edi, 1, 16, fp); if(ebx != 0) { dumpline(edi, esi, ebx); esi = esi + ebx; if(st.st_size > esi) { goto L0804875c; } } } fclose(fp); eax = 0; } else { L08048734: perror(ebx); eax = 1; } } /* Procedure: 0x080487A0 - 0x080487DF * Argument size: 8 * Local size: 0 * Save regs size: 12 */ main(int argc, char ** argv) { esi = 0; ebx = 1; if(1 < edi) { L080487b4: esi = esi + hexdump( *(argv + ebx * 4)); ebx = ebx + 1; if(ebx < edi) { goto L080487b4; } } return(esi); } /* Procedure: 0x080487E0 - 0x0804880F * Argument size: -4 * Local size: 4 * Save regs size: 4 */ __do_global_ctors_aux() { /* unknown */ void ebx; ebx = force_to_data; if(force_to_data == -1) { return; } L080487f4: *( *ebx)(); ebx = ebx + -4; if(*ebx != -1) { goto L080487f4; } } /* Procedure: 0x08048810 - 0x08048817 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ init_dummy() { } /* address size */ /* 0x08048450 1 */ /* unknown */ void _init; /* 0x08048530 0 */ /* unknown */ void _start; /* 0x08048530 0 */ /* unknown */ void ___crt_dummy__; /* 0x080485a0 0 */ /* unknown */ void done; /* 0x080485b0 48 */ /* unknown */ void __do_global_dtors_aux; /* 0x080485e0 16 */ /* unknown */ void fini_dummy; /* 0x080485f0 0 */ void dumpline(unsigned char *, unsigned long , int); /* 0x080485f0 0 */ /* unknown */ void /g/web/rec/ex386/; /* 0x080485f0 0 */ /* unknown */ void hd.c; /* 0x08048700 160 */ int hexdump(char *); /* 0x080487a0 54 */ int main(int, char **); /* 0x080487d6 0 */ /* unknown */ void ; /* 0x080487e0 48 */ /* unknown */ void __do_global_ctors_aux; /* 0x08048810 0 */ /* unknown */ void init_dummy; /* 0x08048818 1 */ /* unknown */ void _etext; /* 0x08048820 1 */ /* unknown */ void _fini; /* 0x08049848 4 */ /* unknown */ void __environ; /* 0x08049848 1 */ /* unknown */ void environ; /* 0x0804984c 4 */ /* unknown */ void force_to_data; /* 0x0804984c 0 */ /* unknown */ void __CTOR_LIST__; /* 0x08049850 0 */ /* unknown */ void __CTOR_END__; /* 0x08049854 0 */ /* unknown */ void __DTOR_LIST__; /* 0x08049858 4 */ /* unknown */ void __DTOR_END__; /* 0x0804985c 1 */ /* unknown */ void _GLOBAL_OFFSET_TABLE_; /* 0x08049898 1 */ /* unknown */ void _DYNAMIC; /* 0x08049920 2 */ /* unknown */ void __fpu_control; /* 0x08049920 0 */ /* unknown */ void _edata; /* 0x08049920 1 */ /* unknown */ void __bss_start; /* 0x08049924 1 */ /* unknown */ void _end; #if 0 /* auxiliary information */ # Current option values: option: -compactcalls option: +compactexprs option: +compactifs option: +compset option: -dfoproc option: -disasmonly option: -displaylabels option: +docase option: +dofor option: +doifs option: -doloops option: +donullgotos option: +dopackloops option: +dopackstmt option: -doremlabs option: +dosimplify option: +dosort option: +dostmts option: +doswitch option: +dowhile option: -dumpaddrs option: -dumpcall option: -dumpcomments option: -dumpdfo option: -dumpsblocks option: -dumpsets option: -dumpsizes option: -flag16 option: +fullscreen option: -getpattern option: -help option: -hexconst option: -html option: +insertlabels option: -int16 option: +int32 option: -interactive option: +locals option: -nohtmltabs option: -okclone option: -outprocs option: -outrefs option: -overrule option: +rdonly option: -showjump option: -showlabel option: -showprotosym option: -showreg option: -showstring option: -silent option: +simplifyexprs option: -strallregions option: -traceall option: -tracesets option: -types option: +usesymtab option: -validatebr option: -validatereg option: +validatestr #endif