/* This file was automatically created by * Reverse Engineering Compiler 1.4a (C) Giampiero Caprino (Nov 22 1998) * Input file: 'hdgO.x' */ /* Procedure: 0x00040074 - 0x0004020B * Argument size: 0 * Local size: 112 * Save regs size: 112 */ dumpline() { char buff[80]; r28 = r3; r0 = r4; r30 = r5; r3 = sprintf( & buff, "%08lX:", r0); r30 :: 17; asm("mfcr r0"); asm("rlwinm r0,r0,5,31,31"); asm("neg r0,r0"); r9 = r30 & r0; asm("rlwinm r0,r0,0,27,27"); r30 = r9 | ~r0; r31 = 0; if(0 < r30) { r29 = & buff; r27 = 262144; do { asm("rlwinm r3,r31,1,0,30"); r3 = sprintf(r29 + r3 + r31 + 9, r27 + 2060, *(r28 + r31)); r31 = r31 + 1; } while(r31 < r30); } r0 = r31; r31 = r31 + 1; if(r0 <= 15) { r29 = 262144; do { strcat( & buff, r29 + 2068); r0 = r31; r31 = r31 + 1; } while(r0 <= 15); } r3 = strlen( & buff); r0 = *" |"; r9 = & buff; asm("stwx r0,r9,r3"); r31 = 0; if(0 < r30) { r10 = r9; do { r11 = r3 + r31; r9 = *(r28 + r31); r0 = 46; if(r9 + -32 <= 94) { r0 = r9; } *(r10 + r11) = r0; r31 = r31 + 1; } while(r31 < r30); } if(r31 <= 15) { r11 = 32; r9 = & buff; do { *(r9 + r3 + r31) = r11; r31 = r31 + 1; } while(r31 <= 15); } *( & buff + r3 + r31) = *"|"; return(printf("%s\n", & buff)); } /* Procedure: 0x0004020C - 0x000402D3 * Argument size: 0 * Local size: 112 * Save regs size: 112 */ hexdump() { unsigned char buff[16]; struct stat st; r31 = r3; if(_xstat(1, r31, & st) != 0) { fopen(r31, "rb"); asm("mr. r29,r3"); != ? L00040258 : ; } perror(r31); r3 = 1; return(r3); } /* Procedure: 0x000402D4 - 0x00040347 * Argument size: 0 * Local size: 32 * Save regs size: 32 */ main() { r29 = r3; r28 = r4; r30 = 0; r31 = 1; if(1 < r29) { do { asm("rlwinm r0,r31,2,0,29"); r3 = *(r28 + r0); r30 = r30 + hexdump(); r31 = r31 + 1; } while(r31 < r29); } return(r30); } /* Procedure: 0x00040348 - 0x00040383 * Argument size: -16 * Local size: 16 * Save regs size: 0 */ _start() { main(); while(1) { } goto L00040364; } /* Procedure: 0x00040384 - 0x0004039F * Argument size: -16 * Local size: 16 * Save regs size: 0 */ __main() { return(r3); } /* Procedure: 0x000403A0 - 0x00040407 * Argument size: -136 * Local size: 144 * Save regs size: 0 */ printf(char * format, char * fmt) { V8 = r3; Vc = R4; V10 = R5; V14 = R6; V18 = R7; V1c = R8; V20 = R9; V24 = Ra; != ? L000403f4 : ; asm("stfd f1,40(r31)"); asm("stfd f2,48(r31)"); asm("stfd f3,56(r31)"); asm("stfd f4,64(r31)"); asm("stfd f5,72(r31)"); asm("stfd f6,80(r31)"); asm("stfd f7,88(r31)"); asm("stfd f8,96(r31)"); asm("stfd f9,104(r31)"); V70 = r3; return(r3); } /* Procedure: 0x00040408 - 0x0004046F * Argument size: -128 * Local size: 144 * Save regs size: 0 */ fprintf(struct _IO_FILE* fp, char * format, FILE* fp, char * fmt) { V70 = r3; Vc = r4; V10 = R5; V14 = R6; V18 = R7; V1c = R8; V20 = R9; V24 = Ra; != ? L0004045c : ; asm("stfd f1,40(r31)"); asm("stfd f2,48(r31)"); asm("stfd f3,56(r31)"); asm("stfd f4,64(r31)"); asm("stfd f5,72(r31)"); asm("stfd f6,80(r31)"); asm("stfd f7,88(r31)"); asm("stfd f8,96(r31)"); asm("stfd f9,104(r31)"); V74 = r4; return(r3); } /* Procedure: 0x00040470 - 0x000404D7 * Argument size: -128 * Local size: 144 * Save regs size: 0 */ sprintf(char * dst, char * format, char * dst, char * fmt) { V70 = r3; Vc = r4; V10 = R5; V14 = R6; V18 = R7; V1c = R8; V20 = R9; V24 = Ra; != ? L000404c4 : ; asm("stfd f1,40(r31)"); asm("stfd f2,48(r31)"); asm("stfd f3,56(r31)"); asm("stfd f4,64(r31)"); asm("stfd f5,72(r31)"); asm("stfd f6,80(r31)"); asm("stfd f7,88(r31)"); asm("stfd f8,96(r31)"); asm("stfd f9,104(r31)"); V74 = r4; return(r3); } /* Procedure: 0x000404D8 - 0x00040503 * Argument size: 0 * Local size: 32 * Save regs size: 0 */ fread(void * b, size_t i, size_t l, FILE* p) { V8 = r3; Vc = R4; V10 = R5; V14 = R6; return(V8); } /* Procedure: 0x00040504 - 0x0004052F * Argument size: 0 * Local size: 32 * Save regs size: 0 */ fwrite(void * b, size_t i, size_t l, FILE* p) { V8 = r3; Vc = R4; V10 = R5; V14 = R6; return(V8); } /* Procedure: 0x00040530 - 0x00040553 * Argument size: -16 * Local size: 32 * Save regs size: 0 */ fopen(char * n, char * m) { V8 = r3; Vc = R4; return(V8); } /* Procedure: 0x00040554 - 0x0004057B * Argument size: -24 * Local size: 32 * Save regs size: 0 */ fclose(FILE* fp) { V8 = r3; r3 = 0; return(r3); } /* Procedure: 0x0004057C - 0x0004059B * Argument size: -24 * Local size: 32 * Save regs size: 0 */ perror(char * p) { V8 = r3; return(V8); } /* Procedure: 0x0004059C - 0x000405C7 * Argument size: -24 * Local size: 32 * Save regs size: 0 */ exit(int x) { V8 = r3; while(1) { } goto L000405b0; } /* Procedure: 0x000405C8 - 0x000405EB * Argument size: -16 * Local size: 32 * Save regs size: 0 */ __overflow(/* unknown */ void * f, int x) { V8 = r3; Vc = R4; return(V8); } /* Procedure: 0x000405EC - 0x00040617 * Argument size: -16 * Local size: 32 * Save regs size: 0 */ open(char * name, int mode) { V8 = r3; Vc = r4; r3 = -1; return(r3); } /* Procedure: 0x00040618 - 0x00040647 * Argument size: -8 * Local size: 32 * Save regs size: 0 */ read(int fd, char * buff, int size) { V8 = r3; Vc = r4; V10 = r5; r3 = 0; return(r3); } /* Procedure: 0x00040648 - 0x00040677 * Argument size: -8 * Local size: 32 * Save regs size: 0 */ write(int fd, char * buff, int size) { V8 = r3; Vc = r4; V10 = r5; r3 = 0; return(r3); } /* Procedure: 0x00040678 - 0x00040693 * Argument size: -16 * Local size: 16 * Save regs size: 0 */ _fxstat() { return(r3); } /* Procedure: 0x00040694 - 0x000406AF * Argument size: -16 * Local size: 16 * Save regs size: 0 */ _xstat() { return(r3); } /* Procedure: 0x000406B0 - 0x0004071F * Argument size: -16 * Local size: 32 * Save regs size: 0 */ strcpy(char * dst, char * src) { char * d; V8 = r3; Vc = r4; d = V8; while(1) { r9 = V8; r11 = & Vc; r10 = *r11; r0 = *r10; *r9 = r0; asm("clrlwi r0,r0,24"); *r11 = r10 + 1; V8 = r9 + 1; if(r0 == 0) { break; } } r0 = d; r3 = r0; return(r3); } /* Procedure: 0x00040720 - 0x0004079B * Argument size: -16 * Local size: 32 * Save regs size: 0 */ strcat(char * dst, char * src) { char * d; V8 = r3; Vc = r4; r0 = V8; d = r0; while(1) { r11 = *V8; asm("clrlwi r0,r11,24"); if(r0 == 0) { break; } r0 = V8; V8 = r0 + 1; } strcpy(V8, Vc); r0 = d; r3 = r0; return(r3); } /* Procedure: 0x0004079C - 0x00040803 * Argument size: -24 * Local size: 32 * Save regs size: 0 */ strlen(char * src) { int len; V8 = r3; r0 = 0; len = 0; while(1) { r11 = *V8; asm("clrlwi r0,r11,24"); if(r0 == 0) { break; } V8 = V8 + 1; r0 = len; len = r0 + 1; } r0 = len; r3 = r0; return(r3); } /* address size */ /* 0x00000000 0 */ struct _IO_FILE_plus IO_stdin_; /* 0x00000000 0 */ struct _IO_FILE_plus IO_stdout_; /* 0x00000000 0 */ struct _IO_FILE_plus IO_stderr_; /* 0x00000000 0 */ FILE _iob; /* 0x00040074 0 */ void dumpline(); /* 0x00040074 0 */ /* unknown */ void /home/cg/usr/src/cmd/wrec/exppc/; /* 0x00040074 0 */ /* unknown */ void hd.c; /* 0x0004020c 200 */ int hexdump(); /* 0x000402d4 116 */ int main(); /* 0x00040348 0 */ int _start(); /* 0x00040348 0 */ /* unknown */ void ; /* 0x00040348 0 */ /* unknown */ void /home/cg/usr/gccppc/lib/; /* 0x00040348 0 */ /* unknown */ void lib.c; /* 0x00040384 28 */ int __main(); /* 0x000403a0 104 */ int printf(char *, char *); /* 0x00040408 104 */ int fprintf(struct _IO_FILE*, char *, FILE*, char *); /* 0x00040470 104 */ int sprintf(char *, char *, char *, char *); /* 0x000404d8 44 */ size_t fread(void *, size_t, size_t, FILE*); /* 0x00040504 44 */ size_t fwrite(void *, size_t, size_t, FILE*); /* 0x00040530 36 */ FILE* fopen(char *, char *); /* 0x00040554 40 */ int fclose(FILE*); /* 0x0004057c 32 */ void perror(char *); /* 0x0004059c 44 */ int exit(int); /* 0x000405c8 36 */ int __overflow(/* unknown */ void *, int); /* 0x000405ec 44 */ int open(char *, int); /* 0x00040618 48 */ int read(int, char *, int); /* 0x00040648 48 */ int write(int, char *, int); /* 0x00040678 28 */ int _fxstat(); /* 0x00040694 28 */ int _xstat(); /* 0x000406b0 112 */ char * strcpy(char *, char *); /* 0x00040720 124 */ char * strcat(char *, char *); /* 0x0004079c 0 */ int strlen(char *); /* 0x00040804 0 */ /* unknown */ void ; /* 0x00048828 0 */ /* unknown */ void _SDA2_BASE_; /* 0x00080838 0 */ /* unknown */ void _IO_stdout_; /* 0x0008083c 0 */ /* unknown */ void _IO_stderr_; /* 0x00080840 0 */ /* unknown */ void _IO_stdin_; /* 0x00080844 0 */ /* unknown */ void __iob; /* 0x00088838 0 */ /* unknown */ void _SDA_BASE_; #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