/* This file was automatically created by * Reverse Engineering Compiler 1.4a (C) Giampiero Caprino (Nov 22 1998) * Input file: 'hdg.x' */ /* DEST BLOCK NOT FOUND: 080484c3 -> 080484a8 */ /* Procedure: 0x080484B8 - 0x080484C7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080484b8() { goto ( *L08049a08); (save)0; goto L080484a8; } /* DEST BLOCK NOT FOUND: 080484d3 -> 080484a8 */ /* Procedure: 0x080484C8 - 0x080484D7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080484c8() { goto ( *L08049a0c); (save)8; goto L080484a8; } /* DEST BLOCK NOT FOUND: 080484e3 -> 080484a8 */ /* Procedure: 0x080484D8 - 0x080484E7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080484d8() { goto ( *L08049a10); (save)16; goto L080484a8; } /* DEST BLOCK NOT FOUND: 080484f3 -> 080484a8 */ /* Procedure: 0x080484E8 - 0x080484F7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080484e8() { goto ( *L08049a14); (save)24; goto L080484a8; } /* DEST BLOCK NOT FOUND: 08048503 -> 080484a8 */ /* Procedure: 0x080484F8 - 0x08048507 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080484f8() { goto ( *L08049a18); (save)32; goto L080484a8; } /* DEST BLOCK NOT FOUND: 08048513 -> 080484a8 */ /* Procedure: 0x08048508 - 0x08048517 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048508() { goto ( *L08049a1c); (save)40; goto L080484a8; } /* DEST BLOCK NOT FOUND: 08048523 -> 080484a8 */ /* Procedure: 0x08048518 - 0x08048527 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048518() { goto ( *L08049a20); (save)48; goto L080484a8; } /* DEST BLOCK NOT FOUND: 08048533 -> 080484a8 */ /* Procedure: 0x08048528 - 0x08048537 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048528() { goto ( *L08049a24); (save)56; goto L080484a8; } /* DEST BLOCK NOT FOUND: 08048543 -> 080484a8 */ /* Procedure: 0x08048538 - 0x08048547 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048538() { goto ( *L08049a28); (save)64; goto L080484a8; } /* DEST BLOCK NOT FOUND: 08048553 -> 080484a8 */ /* Procedure: 0x08048548 - 0x08048557 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048548() { goto ( *L08049a2c); (save)72; goto L080484a8; } /* DEST BLOCK NOT FOUND: 08048563 -> 080484a8 */ /* Procedure: 0x08048558 - 0x08048567 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048558() { goto ( *L08049a30); (save)80; goto L080484a8; } /* DEST BLOCK NOT FOUND: 08048573 -> 080484a8 */ /* Procedure: 0x08048568 - 0x08048577 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048568() { goto ( *L08049a34); (save)88; goto L080484a8; } /* DEST BLOCK NOT FOUND: 08048583 -> 080484a8 */ /* Procedure: 0x08048578 - 0x08048587 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048578() { goto ( *L08049a38); (save)96; goto L080484a8; } /* DEST BLOCK NOT FOUND: 08048593 -> 080484a8 */ /* Procedure: 0x08048588 - 0x0804859F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048588() { goto ( *L08049a3c); (save)104; goto L080484a8; *eax = *eax + al; *eax = *eax + al; *eax = *eax + al; *eax = *eax + al; } /* Procedure: 0x080485A0 - 0x0804861F * 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: 0x08048620 - 0x0804864F * 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; } L08048634: *( *ebx)(); ebx = ebx + 4; if(*ebx != 0) { goto L08048634; } } /* Procedure: 0x08048650 - 0x0804865F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ fini_dummy() { } /* Procedure: 0x08048660 - 0x080487EF * Argument size: -80 * Local size: 92 * Save regs size: 4 */ dumpline(unsigned char * p, unsigned long offset, int cnt) { char buff[80]; int c; int len; sprintf( & buff, "%08lX:", offset); if(cnt > 16) { cnt = 16; } c = 0; while(cnt > c) { ecx = c; sprintf( & buff + ecx + ecx + ecx + 9, " %02lX", *(p + c) & 255); c = c + 1; } L080486d0: eax = c; c = c + 1; if(eax <= 15) { strcat( & buff, " "); goto L080486d0; } len = strlen( & buff); strcpy( & buff + len, " |"); c = 0; while(cnt > c) { eax = len + c; edx = & buff; if(*(p + c) > 31) { if(*(p + c) <= 126) { goto L08048765; } } cl = 46; goto L08048772; L08048765: cl = *(p + c); L08048772: *(eax + edx) = cl; c = c + 1; } while(c <= 15) { *(len + c + & buff) = 32; c = c + 1; } strcpy( & buff + len + c, "|"); return(printf("%s\n", & buff)); } /* Procedure: 0x080487F0 - 0x080488DF * Argument size: -88 * Local size: 92 * Save regs size: 0 */ hexdump(char * fname) { unsigned char buff[16]; unsigned long offset; struct _IO_FILE* fp; struct stat st; int cnt; if(stat(fname, & st) != 0) { fp = fopen(fname, "rb"); if(fp != 0) { offset = 0; L08048867: if(st.st_size > offset) { cnt = fread( & buff, 1, 16, fp); if(cnt != 0) { dumpline( & buff, offset, cnt); offset = offset + cnt; goto L08048867; } } else { } fclose(fp); eax = 0; } else { perror(fname); eax = 1; } } else { perror(fname); eax = 1; } } /* Procedure: 0x080488E0 - 0x0804894F * Argument size: 0 * Local size: 8 * Save regs size: 0 */ main(int argc, char ** argv) { int i; int errs; errs = 0; i = 1; while(argc > i) { errs = errs + hexdump( *(argv + i * 4)); i = i + 1; } eax = errs; } /* Procedure: 0x08048950 - 0x0804897F * Argument size: 8 * Local size: 0 * Save regs size: 8 */ stat(char * __path, struct stat* __statbuf) { eax = _xstat(1, __path, __statbuf); } /* Procedure: 0x08048980 - 0x080489AF * 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; } L08048994: *( *ebx)(); ebx = ebx + -4; if(*ebx != -1) { goto L08048994; } } /* Procedure: 0x080489B0 - 0x080489B7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ init_dummy() { } /* address size */ /* 0x080484a0 1 */ /* unknown */ void _init; /* 0x080485a0 0 */ /* unknown */ void _start; /* 0x080485a0 0 */ /* unknown */ void ___crt_dummy__; /* 0x08048610 0 */ /* unknown */ void done; /* 0x08048620 48 */ /* unknown */ void __do_global_dtors_aux; /* 0x08048650 16 */ /* unknown */ void fini_dummy; /* 0x08048660 0 */ void dumpline(unsigned char *, unsigned long , int); /* 0x08048660 0 */ /* unknown */ void /g/web/rec/ex386/; /* 0x08048660 0 */ /* unknown */ void hd.c; /* 0x080487f0 240 */ int hexdump(char *); /* 0x080488e0 112 */ int main(int, char **); /* 0x08048950 41 */ int stat(char *, struct stat*); /* 0x08048979 0 */ /* unknown */ void ; /* 0x08048980 48 */ /* unknown */ void __do_global_ctors_aux; /* 0x080489b0 0 */ /* unknown */ void init_dummy; /* 0x080489b8 1 */ /* unknown */ void _etext; /* 0x080489c0 1 */ /* unknown */ void _fini; /* 0x080499e8 4 */ /* unknown */ void __environ; /* 0x080499e8 1 */ /* unknown */ void environ; /* 0x080499ec 4 */ /* unknown */ void force_to_data; /* 0x080499ec 0 */ /* unknown */ void __CTOR_LIST__; /* 0x080499f0 0 */ /* unknown */ void __CTOR_END__; /* 0x080499f4 0 */ /* unknown */ void __DTOR_LIST__; /* 0x080499f8 4 */ /* unknown */ void __DTOR_END__; /* 0x080499fc 1 */ /* unknown */ void _GLOBAL_OFFSET_TABLE_; /* 0x08049a40 1 */ /* unknown */ void _DYNAMIC; /* 0x08049ac8 2 */ /* unknown */ void __fpu_control; /* 0x08049ac8 0 */ /* unknown */ void _edata; /* 0x08049ac8 1 */ /* unknown */ void __bss_start; /* 0x08049acc 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