|  | // get origin address. | 
        
          |  | // 08077008  E81C060000        call dword 0x8077629 | 
        
          |  | // 0807700D  83EE05            sub esi,byte +0x5 // esi - 5: 0x8077008 | 
        
          |  | origin = (void *)0x8077008; | 
        
          |  |  | 
        
          |  | int sub_08077010() | 
        
          |  | { | 
        
          |  | ebp_c04h = sub_080775B2(origin, 0x621); | 
        
          |  | if(getuid() != 0) { | 
        
          |  | sub_08077259(origin+0x628, ebp_c04h); | 
        
          |  | exit(EXIT_FAILURE); | 
        
          |  | } | 
        
          |  | sub_08077259(origin+0x9bd, 0x27a, ebp_c04h); | 
        
          |  | reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_RESTART, NULL); | 
        
          |  |  | 
        
          |  | // main routine. | 
        
          |  | area = mmap(1<<0xc, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_ANONYMOUS|MAP_PRIVATE, NULL, NULL); | 
        
          |  | len = read(STDIN_FILENO, area, 0x1000); | 
        
          |  | area[len-1] = '\0'; | 
        
          |  | sub_0807723C(ebp_c00h, '\0', 0x400); | 
        
          |  | sub_0807723C(ebp_400h, '\0', 0x400); | 
        
          |  | // ebp_800h is dest. origin+0x1633 is src. | 
        
          |  | sub_080775F6(ebp_800h, 0x400, origin+0x1633, 0x3b6, ebp_c04h); // decrypt | 
        
          |  | // arg0: input buffer, arg1: input buffer size, | 
        
          |  | // arg2: loop buffer, arg3: loop buffer size, | 
        
          |  | // arg4: output buffer, arg5: output buffer size | 
        
          |  | sub_0807730A(ebp_400h, 0x400, ebp_800h, 0x400, ebp_c00h, 0x400); // brainfuck. | 
        
          |  | sub_080771DB(ebp_c00h, area); | 
        
          |  |  | 
        
          |  | if(sub_0807719E(ebp_c00h, area) != 0) { | 
        
          |  | sub_08077259(origin+0xc37, 0x552, ebp_c04h); | 
        
          |  | return 1; | 
        
          |  | } | 
        
          |  | sub_08077259(origin+0x1189, 0x4aa, ebp_c04h); | 
        
          |  | return 0; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | int sub_0807719E(int arg0, char arg1) | 
        
          |  | { | 
        
          |  | int i; | 
        
          |  | char a, b; | 
        
          |  | for(i = 0; (a = (arg0[i] != '\0')) && (b = (arg1[i] != '\0')) && !(a-b); i++) { | 
        
          |  | } | 
        
          |  | return a - b; // have to be zero. | 
        
          |  | } | 
        
          |  |  | 
        
          |  | int sub_080771DB(char *arg0, char *arg1) | 
        
          |  | { | 
        
          |  | int i; | 
        
          |  | char a, b; | 
        
          |  | for(i = 0; (a = (arg0[i] != '\0')) && (b = (arg1[i] != '\0')) && !(a-b); i++) { | 
        
          |  | } | 
        
          |  | return a - b; // have to be zero. | 
        
          |  | } | 
        
          |  |  | 
        
          |  |  | 
        
          |  | size_t sub_08077206(int *arg0) | 
        
          |  | { | 
        
          |  | int i; | 
        
          |  | for(i = 0; arg0[i] != '\0'; i++) { | 
        
          |  | } | 
        
          |  | return i; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | size_t sub_08077221(char *arg0) | 
        
          |  | { | 
        
          |  | int i; | 
        
          |  | for(i = 0; arg0[i] != '\0'; i++) { | 
        
          |  | } | 
        
          |  | return i; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | void sub_0807723C(char *arg0, int arg1, int arg2) | 
        
          |  | { | 
        
          |  | for(i = 0; i < arg2; i++) { | 
        
          |  | arg1[i] = arg1; | 
        
          |  | } | 
        
          |  | } | 
        
          |  |  | 
        
          |  | void sub_08077259(arg0, arg1, arg2) | 
        
          |  | { | 
        
          |  | sub_0807723C(ebp_d00h, '\0', 0x100); | 
        
          |  | sub_0807723C(ebp_400h, '\0', 0x400); | 
        
          |  | sub_080775F6(ebp_c00h, 0x800, arg0, arg1, arg2); | 
        
          |  | sub_0807730A(ebp_400h, 0x400, ebp_c00h, 0x800, ebp_d00h, 0x100); | 
        
          |  | sub_08077221(ebp_d00h); | 
        
          |  | write(STDOUT_FILENO, ebp_d00h, sub_08077206(ebp_d00h)); | 
        
          |  | } | 
        
          |  |  | 
        
          |  | // arg0: input buffer, arg1: input buffer size, | 
        
          |  | // arg2: loop buffer, arg3: loop buffer size, | 
        
          |  | // arg4: output buffer, arg5: output buffer size | 
        
          |  | int sub_0807730A(char *arg0, int arg1, char *arg2, int arg3, char *arg4, int arg5) | 
        
          |  | { | 
        
          |  | // Local variables. | 
        
          |  | int ebp_810h; // | 
        
          |  | int ebp_80ch; // stack pointer. | 
        
          |  | int ebp_808h; // for loop. | 
        
          |  | int ebp_804h; // loop [] | 
        
          |  | char *ebp_800h[0x800]; | 
        
          |  |  | 
        
          |  | sub_0807723C(ebp_800h, '\0', 0x800); | 
        
          |  | ebp_804h = 0; | 
        
          |  | ebp_808h = 0; | 
        
          |  | ebp_80ch = 0; | 
        
          |  | ebp_810h = 0; | 
        
          |  | for(ebp_808h = 0; ebp_808h < ebp_14h; ebp_808h) { | 
        
          |  | switch(arg2[ebp_808h]) { | 
        
          |  | case '\0': | 
        
          |  | return 0; | 
        
          |  | case '<': | 
        
          |  | if(ebp_80ch <= 0) ebp_80ch--; | 
        
          |  | break; | 
        
          |  | case '>': | 
        
          |  | if(ebp_80ch <= arg1) ebp_80ch++; | 
        
          |  | break; | 
        
          |  | case '-': | 
        
          |  | if(0 <= ebp_80ch && ebp_80ch <= arg1) arg0[ebp_80ch]--; | 
        
          |  | break; | 
        
          |  | case '+': | 
        
          |  | if(0 <= ebp_80ch && ebp_80ch <= arg1) arg0[ebp_80ch]++; | 
        
          |  | break; | 
        
          |  | case '[': | 
        
          |  | // GEKI-mendokusai dot JP; | 
        
          |  | break; | 
        
          |  | case ']': | 
        
          |  | // GEKI-mendokusai dot JP; | 
        
          |  | break; | 
        
          |  | case '.': | 
        
          |  | if(0 <= ebp_80ch && ebp_80ch <= arg1 && 0 <= ebp_810h && ebp_810h <= arg5){ | 
        
          |  | arg4[arg_810h] = arg0[ebp_80ch]; | 
        
          |  | ebp_810h++; | 
        
          |  | } | 
        
          |  | break; | 
        
          |  | case ',': | 
        
          |  | write(STDOUT_FILENO, origin+0x19ff, 0x2dd); | 
        
          |  | deafult: | 
        
          |  | } | 
        
          |  | } | 
        
          |  | return 0; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | // Manipulation Detaction. | 
        
          |  | int sub_080775B2(arg0, arg1) | 
        
          |  | { | 
        
          |  | // Local variables. | 
        
          |  | int ebp_08h; | 
        
          |  | int ebp_04h; | 
        
          |  |  | 
        
          |  | ebp_04h = 0x1505; | 
        
          |  | for(ebp_08h = 0; ebp_08h < arg1; ebp_08h++) { | 
        
          |  | ebp_04h = arg0[ebp_08h] + ebp_04h + (ebp_04h << 5); | 
        
          |  | } | 
        
          |  | return ebp_04h; | 
        
          |  | } | 
        
          |  |  | 
        
          |  |  | 
        
          |  | int sub_080775F6(arg0, arg1, arg2, arg3, arg4) | 
        
          |  | { | 
        
          |  | int i; | 
        
          |  | int c; | 
        
          |  |  | 
        
          |  | c = arg4; | 
        
          |  | for(i = 0; i < arg3 && i < arg1; i++, ROT(c)) { // ROT means instruction 'rol'. | 
        
          |  | arg0[i] = arg2[i] ^ c; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | return 0; | 
        
          |  | } | 
        
          |  |  | 
        
          |  | // restore eip to esi. | 
        
          |  | // 08077629  5E                pop esi | 
        
          |  | // 0807762A  E9DEF9FFFF        jmp dword 0x807700d | 
        
          |  |  | 
        
          |  | // -------------------------- data --------------------------------- | 
        
          |  | /* | 
        
          |  | 0807762F  00E7              add bh,ah | 
        
          |  | 08077631  99                cdq | 
        
          |  | 08077632  4F                dec edi | 
        
          |  | 08077633  E3BA              jecxz 0x80775ef | 
        
          |  | 08077635  086CA434          or [esp+0x34],ch | 
        
          |  | 08077639  6443              fs inc ebx | 
        
          |  | 0807763B  D5D7              aad 0xd7 | 
        
          |  | 0807763D  D3DB              rcr ebx,cl | 
        
          |  | 0807763F  CAE8AC            retf 0xace8 | 
        
          |  | 08077642  2435              and al,0x35 | 
        
          |  | 08077644  0254AFD8          add dl,[edi+ebp*4-0x28] | 
        
          |  | 08077648  E2B8              loop 0x8077602 | 
        
          |  | 0807764A  0C65              or al,0x65 | 
        
          |  | 0807764C  B610              mov dh,0x10 | 
        
          |  | 0807764E  48                dec eax | 
        
          |  | 0807764F  D2                db 0xd2 | 
        
          |  | 08077650  F299              repne cdq | 
        
          |  | 08077652  4F                dec edi | 
        
          |  | 08077653  E3BA              jecxz 0x807760f | 
        
          |  | 08077655  086CA444          or [esp+0x44],ch | 
        
          |  | 08077659  0354D5D7          add edx,[ebp+edx*8-0x29] | 
        
          |  | 0807765D  D3DB              rcr ebx,cl | 
        
          |  | 0807765F  CAE8AC            retf 0xace8 | 
        
          |  | 08077662  2435              and al,0x35 | 
        
          |  | 08077664  17                pop ss | 
        
          |  | 08077665  52                push edx | 
        
          |  | 08077666  CC                int3 | 
        
          |  | 08077667  C9                leave | 
        
          |  | 08077668  94                xchg eax,esp | 
        
          |  | 08077669  AF                scasd | 
        
          |  | 0807766A  0C65              or al,0x65 | 
        
          |  | 0807766C  B610              mov dh,0x10 | 
        
          |  | 0807766E  5D                pop ebp | 
        
          |  | 0807766F  D2E7              shl bh,cl | 
        
          |  | 08077671  99                cdq | 
        
          |  | 08077672  4F                dec edi | 
        
          |  | 08077673  E3BA              jecxz 0x807762f | 
        
          |  | 08077675  086CA434          or [esp+0x34],ch | 
        
          |  | 08077679  6443              fs inc ebx | 
        
          |  | 0807767B  D5D7              aad 0xd7 | 
        
          |  | 0807767D  D3DB              rcr ebx,cl | 
        
          |  | 0807767F  CAE8AC            retf 0xace8 | 
        
          |  | 08077682  2435              and al,0x35 | 
        
          |  | 08077684  17                pop ss | 
        
          |  | 08077685  52                push edx | 
        
          |  | 08077686  D9                db 0xd9 | 
        
          |  | 08077687  DA                db 0xda | 
        
          |  | 08077688  E4CE              in al,0xce | 
        
          |  | 0807768A  1B65B6            sbb esp,[ebp-0x4a] | 
        
          |  | 0807768D  105DC7            adc [ebp-0x39],bl | 
        
          |  | 08077690  E78C              out 0x8c,eax | 
        
          |  | 08077692  4F                dec edi | 
        
          |  | 08077693  E3BA              jecxz 0x807764f | 
        
          |  | 08077695  086CA434          or [esp+0x34],ch | 
        
          |  | 08077699  1424              adc al,0x24 | 
        
          |  | 0807769B  C2D7D3            ret 0xd3d7 | 
        
          |  | 0807769E  DBCA              fcmovne st2 | 
        
          |  | 080776A0  E8AC243517        call dword 0x1f3c9b51 | 
        
          |  | 080776A5  52                push edx | 
        
          |  | 080776A6  D9CF              fxch st7 | 
        
          |  | 080776A8  F7BE7A72B610      idiv dword [esi+0x10b6727a] | 
        
          |  | 080776AE  5D                pop ebp | 
        
          |  | 080776AF  C7                db 0xc7 | 
        
          |  | 080776B0  E78C              out 0x8c,eax | 
        
          |  | 080776B2  4F                dec edi | 
        
          |  | 080776B3  E3BA              jecxz 0x807766f | 
        
          |  | 080776B5  081CB3            or [ebx+esi*4],bl | 
        
          |  | 080776B8  3414              xor al,0x14 | 
        
          |  | 080776BA  54                push esp | 
        
          |  | 080776BB  D5D7              aad 0xd7 | 
        
          |  | 080776BD  D3DB              rcr ebx,cl | 
        
          |  | 080776BF  CAFDAA            retf 0xaafd | 
        
          |  | 080776C2  52                push edx | 
        
          |  | 080776C3  2017              and [edi],dl | 
        
          |  | 080776C5  52                push edx | 
        
          |  | 080776C6  D9CF              fxch st7 | 
        
          |  | 080776C8  E2B8              loop 0x8077682 | 
        
          |  | 080776CA  0C65              or al,0x65 | 
        
          |  | 080776CC  C6075D            mov byte [edi],0x5d | 
        
          |  | 080776CF  C7                db 0xc7 | 
        
          |  | 080776D0  F299              repne cdq | 
        
          |  | 080776D2  4F                dec edi | 
        
          |  | 080776D3  E3BA              jecxz 0x807768f | 
        
          |  | 080776D5  086CA434          or [esp+0x34],ch | 
        
          |  | 080776D9  1454              adc al,0x54 | 
        
          |  | 080776DB  D5C2              aad 0xc2 | 
        
          |  | 080776DD  D5AD              aad 0xad | 
        
          |  | 080776DF  DDE8              fucomp st0 | 
        
          |  | 080776E1  AC                lodsb | 
        
          |  | 080776E2  2420              and al,0x20 | 
        
          |  | 080776E4  0252D9            add dl,[edx-0x27] | 
        
          |  | 080776E7  CF                iretd | 
        
          |  | 080776E8  E2B8              loop 0x80776a2 | 
        
          |  | 080776EA  0C65              or al,0x65 | 
        
          |  | 080776EC  B660              mov dh,0x60 | 
        
          |  | 080776EE  4A                dec edx | 
        
          |  | 080776EF  C7                db 0xc7 | 
        
          |  | 080776F0  F299              repne cdq | 
        
          |  | 080776F2  4F                dec edi | 
        
          |  | 080776F3  E3BA              jecxz 0x80776af | 
        
          |  | 080776F5  086CA434          or [esp+0x34],ch | 
        
          |  | 080776F9  1454              adc al,0x54 | 
        
          |  | 080776FB  D5D7              aad 0xd7 | 
        
          |  | 080776FD  C6                db 0xc6 | 
        
          |  | 080776FE  DDBCFFAC243517    fnstsw [edi+edi*8+0x173524ac] | 
        
          |  | 08077705  52                push edx | 
        
          |  | 08077706  CC                int3 | 
        
          |  | 08077707  DA                db 0xda | 
        
          |  | 08077708  E2B8              loop 0x80776c2 | 
        
          |  | 0807770A  0C65              or al,0x65 | 
        
          |  | 0807770C  B610              mov dh,0x10 | 
        
          |  | 0807770E  5D                pop ebp | 
        
          |  | 0807770F  C7828E4FE3BA086C  mov dword [edx-0x451cb072],0x34a46c08 | 
        
          |  | -A434 | 
        
          |  | 08077719  1454              adc al,0x54 | 
        
          |  | 0807771B  D5D7              aad 0xd7 | 
        
          |  | 0807771D  D3DB              rcr ebx,cl | 
        
          |  | 0807771F  CAFDAA            retf 0xaafd | 
        
          |  | 08077722  52                push edx | 
        
          |  | 08077723  2017              and [edi],dl | 
        
          |  | 08077725  52                push edx | 
        
          |  | 08077726  D9CF              fxch st7 | 
        
          |  | 08077728  E2B8              loop 0x80776e2 | 
        
          |  | 0807772A  0C65              or al,0x65 | 
        
          |  | 0807772C  C6075D            mov byte [edi],0x5d | 
        
          |  | 0807772F  C7                db 0xc7 | 
        
          |  | 08077730  F299              repne cdq | 
        
          |  | 08077732  4F                dec edi | 
        
          |  | 08077733  E3BA              jecxz 0x80776ef | 
        
          |  | 08077735  086CA434          or [esp+0x34],ch | 
        
          |  | 08077739  1441              adc al,0x41 | 
        
          |  | 0807773B  D3A1C4DBCAE8      shl dword [ecx-0x1735243c],cl | 
        
          |  | 08077741  AC                lodsb | 
        
          |  | 08077742  2420              and al,0x20 | 
        
          |  | 08077744  0252D9            add dl,[edx-0x27] | 
        
          |  | 08077747  CF                iretd | 
        
          |  | 08077748  E2B8              loop 0x8077702 | 
        
          |  | 0807774A  0C65              or al,0x65 | 
        
          |  | 0807774C  B660              mov dh,0x60 | 
        
          |  | 0807774E  4A                dec edx | 
        
          |  | 0807774F  C7                db 0xc7 | 
        
          |  | 08077750  F299              repne cdq | 
        
          |  | 08077752  4F                dec edi | 
        
          |  | 08077753  E3BA              jecxz 0x807770f | 
        
          |  | 08077755  086CA434          or [esp+0x34],ch | 
        
          |  | 08077759  1454              adc al,0x54 | 
        
          |  | 0807775B  D5D7              aad 0xd7 | 
        
          |  | 0807775D  C6                db 0xc6 | 
        
          |  | 0807775E  DDBCFFAC242002    fnstsw [edi+edi*8+0x22024ac] | 
        
          |  | 08077765  52                push edx | 
        
          |  | 08077766  D9CF              fxch st7 | 
        
          |  | 08077768  E2B8              loop 0x8077722 | 
        
          |  | 0807776A  0C65              or al,0x65 | 
        
          |  | 0807776C  B660              mov dh,0x60 | 
        
          |  | 0807776E  4A                dec edx | 
        
          |  | 0807776F  C7                db 0xc7 | 
        
          |  | 08077770  F299              repne cdq | 
        
          |  | 08077772  4F                dec edi | 
        
          |  | 08077773  E3BA              jecxz 0x807772f | 
        
          |  | 08077775  086CA434          or [esp+0x34],ch | 
        
          |  | 08077779  1454              adc al,0x54 | 
        
          |  | 0807777B  C0D1A5            rcl cl,byte 0xa5 | 
        
          |  | 0807777E  CC                int3 | 
        
          |  | 0807777F  CAE8AC            retf 0xace8 | 
        
          |  | 08077782  3120              xor [eax],esp | 
        
          |  | 08077784  17                pop ss | 
        
          |  | 08077785  52                push edx | 
        
          |  | 08077786  D9CF              fxch st7 | 
        
          |  | 08077788  E2B8              loop 0x8077742 | 
        
          |  | 0807778A  0C65              or al,0x65 | 
        
          |  | 0807778C  C6075D            mov byte [edi],0x5d | 
        
          |  | 0807778F  C7                db 0xc7 | 
        
          |  | 08077790  F299              repne cdq | 
        
          |  | 08077792  4F                dec edi | 
        
          |  | 08077793  E3BA              jecxz 0x807774f | 
        
          |  | 08077795  086CA434          or [esp+0x34],ch | 
        
          |  | 08077799  1454              adc al,0x54 | 
        
          |  | 0807779B  C0D1A5            rcl cl,byte 0xa5 | 
        
          |  | 0807779E  CC                int3 | 
        
          |  | 0807779F  CAE8AC            retf 0xace8 | 
        
          |  | 080777A2  2435              and al,0x35 | 
        
          |  | 080777A4  17                pop ss | 
        
          |  | 080777A5  52                push edx | 
        
          |  | 080777A6  CC                int3 | 
        
          |  | 080777A7  DA                db 0xda | 
        
          |  | 080777A8  E2B8              loop 0x8077762 | 
        
          |  | 080777AA  0C65              or al,0x65 | 
        
          |  | 080777AC  B610              mov dh,0x10 | 
        
          |  | 080777AE  5D                pop ebp | 
        
          |  | 080777AF  C7828E4FE3BA086C  mov dword [edx-0x451cb072],0x34a46c08 | 
        
          |  | -A434 | 
        
          |  | 080777B9  1454              adc al,0x54 | 
        
          |  | 080777BB  D5D7              aad 0xd7 | 
        
          |  | 080777BD  D3DB              rcr ebx,cl | 
        
          |  | 080777BF  CAFDAA            retf 0xaafd | 
        
          |  | 080777C2  52                push edx | 
        
          |  | 080777C3  2217              and dl,[edi] | 
        
          |  | 080777C5  52                push edx | 
        
          |  | 080777C6  D9CF              fxch st7 | 
        
          |  | 080777C8  E2B8              loop 0x8077782 | 
        
          |  | 080777CA  0C70              or al,0x70 | 
        
          |  | 080777CC  A3105DC7F2        mov [0xf2c75d10],eax | 
        
          |  | 080777D1  E958E3BA08        jmp dword 0x10c25b2e | 
        
          |  | 080777D6  6C                insb | 
        
          |  | 080777D7  A4                movsb | 
        
          |  | 080777D8  3414              xor al,0x14 | 
        
          |  | 080777DA  54                push esp | 
        
          |  | 080777DB  C0D1A5            rcl cl,byte 0xa5 | 
        
          |  | 080777DE  CE                into | 
        
          |  | 080777DF  CAE8AC            retf 0xace8 | 
        
          |  | 080777E2  2435              and al,0x35 | 
        
          |  | 080777E4  17                pop ss | 
        
          |  | 080777E5  52                push edx | 
        
          |  | 080777E6  D9BFF5B80C65      fnstcw [edi+0x650cb8f5] | 
        
          |  | 080777EC  B610              mov dh,0x10 | 
        
          |  | 080777EE  5D                pop ebp | 
        
          |  | 080777EF  C7                db 0xc7 | 
        
          |  | 080777F0  F299              repne cdq | 
        
          |  | 080777F2  4F                dec edi | 
        
          |  | 080777F3  E3BA              jecxz 0x80777af | 
        
          |  | 080777F5  086CB132          or [ecx+esi*4+0x32],ch | 
        
          |  | 080777F9  6241D5D7D3DB      vpsrlq xmm11{k7}{z},xmm21,xmm11 | 
        
          |  | 080777FF  CAE8AC            retf 0xace8 | 
        
          |  | 08077802  2445              and al,0x45 | 
        
          |  | 08077804  0052D9            add [edx-0x27],dl | 
        
          |  | 08077807  CF                iretd | 
        
          |  | 08077808  E2B8              loop 0x80777c2 | 
        
          |  | 0807780A  0C65              or al,0x65 | 
        
          |  | 0807780C  B610              mov dh,0x10 | 
        
          |  | 0807780E  5D                pop ebp | 
        
          |  | 0807780F  C7                db 0xc7 | 
        
          |  | 08077810  F299              repne cdq | 
        
          |  | 08077812  5A                pop edx | 
        
          |  | 08077813  E5CC              in eax,0xcc | 
        
          |  | 08077815  1F                pop ds | 
        
          |  | 08077816  6C                insb | 
        
          |  | 08077817  A4                movsb | 
        
          |  | 08077818  3414              xor al,0x14 | 
        
          |  | 0807781A  54                push esp | 
        
          |  | 0807781B  D5D7              aad 0xd7 | 
        
          |  | 0807781D  C6                db 0xc6 | 
        
          |  | 0807781E  CE                into | 
        
          |  | 0807781F  CAE8AC            retf 0xace8 | 
        
          |  | 08077822  2435              and al,0x35 | 
        
          |  | 08077824  17                pop ss | 
        
          |  | 08077825  52                push edx | 
        
          |  | 08077826  D9BFF5B80C65      fnstcw [edi+0x650cb8f5] | 
        
          |  | 0807782C  B610              mov dh,0x10 | 
        
          |  | 0807782E  5D                pop ebp | 
        
          |  | 0807782F  C7                db 0xc7 | 
        
          |  | 08077830  F299              repne cdq | 
        
          |  | 08077832  4F                dec edi | 
        
          |  | 08077833  E3BA              jecxz 0x80777ef | 
        
          |  | 08077835  086CB132          or [ecx+esi*4+0x32],ch | 
        
          |  | 08077839  62                db 0x62 | 
        
          |  | 0807783A  43                inc ebx | 
        
          |  | 0807783B  D5D7              aad 0xd7 | 
        
          |  | 0807783D  D3DB              rcr ebx,cl | 
        
          |  | 0807783F  CAE8AC            retf 0xace8 | 
        
          |  | 08077842  3120              xor [eax],esp | 
        
          |  | 08077844  17                pop ss | 
        
          |  | 08077845  52                push edx | 
        
          |  | 08077846  D9CF              fxch st7 | 
        
          |  | 08077848  E2B8              loop 0x8077802 | 
        
          |  | 0807784A  0C65              or al,0x65 | 
        
          |  | 0807784C  C6075D            mov byte [edi],0x5d | 
        
          |  | 0807784F  C7                db 0xc7 | 
        
          |  | 08077850  F299              repne cdq | 
        
          |  | 08077852  4F                dec edi | 
        
          |  | 08077853  E3BA              jecxz 0x807780f | 
        
          |  | 08077855  086CA434          or [esp+0x34],ch | 
        
          |  | 08077859  1441              adc al,0x41 | 
        
          |  | 0807785B  D3A1C4DBCAE8      shl dword [ecx-0x1735243c],cl | 
        
          |  | 08077861  AC                lodsb | 
        
          |  | 08077862  2420              and al,0x20 | 
        
          |  | 08077864  0252D9            add dl,[edx-0x27] | 
        
          |  | 08077867  CF                iretd | 
        
          |  | 08077868  E2B8              loop 0x8077822 | 
        
          |  | 0807786A  0C65              or al,0x65 | 
        
          |  | 0807786C  B660              mov dh,0x60 | 
        
          |  | 0807786E  4A                dec edx | 
        
          |  | 0807786F  C7                db 0xc7 | 
        
          |  | 08077870  F299              repne cdq | 
        
          |  | 08077872  4F                dec edi | 
        
          |  | 08077873  E3BA              jecxz 0x807782f | 
        
          |  | 08077875  086CA434          or [esp+0x34],ch | 
        
          |  | 08077879  1454              adc al,0x54 | 
        
          |  | 0807787B  D5D7              aad 0xd7 | 
        
          |  | 0807787D  C6                db 0xc6 | 
        
          |  | 0807787E  DDBCFFAC242002    fnstsw [edi+edi*8+0x22024ac] | 
        
          |  | 08077885  52                push edx | 
        
          |  | 08077886  D9CF              fxch st7 | 
        
          |  | 08077888  E2C8              loop 0x8077852 | 
        
          |  | 0807788A  1B65B6            sbb esp,[ebp-0x4a] | 
        
          |  | 0807788D  105DC7            adc [ebp-0x39],bl | 
        
          |  | 08077890  F299              repne cdq | 
        
          |  | 08077892  4F                dec edi | 
        
          |  | 08077893  F6BC7E7BA42101    idiv byte [esi+edi*2+0x121a47b] | 
        
          |  | 0807789A  54                push esp | 
        
          |  | 0807789B  D5D7              aad 0xd7 | 
        
          |  | 0807789D  D3ABDDE8AC24      shr dword [ebx+0x24ace8dd],cl | 
        
          |  | 080778A3  351752D9CF        xor eax,0xcfd95217 | 
        
          |  | 080778A8  F7BE7A72B605 |