This conversion is designed to help human hand work's conversion. Although I have completed the converter 0.1, I knew that the output is too meaningless to reuse.
But I got a new hint at last. It may generate half conversion codes for useful conversion work.
Here is sample of conversion 0.1.
After conversion:
void _0cee_25e5() { //push bp bp = sp; //push si si = pp06; //^0CEE:25EC if (si != 0xFFFF) goto _25f5; //xor ax,ax goto _2611; _25f5: al = pp08; //push ax //push 000B //push si //push cs _0cee_241b(); //pop cx //push ax //push si //push cs _0cee_23de(); //pop cx //push ax _3e74_189b(); sp += 0x0008; //pop si //pop bp }
Before conversion:
0CEE:25E5 55 push bp 0CEE:25E6 8BEC mov bp,sp 0CEE:25E8 56 push si 0CEE:25E9 8B7606 mov si,[bp+06] 0CEE:25EC 83FEFF cmp si,FFFF 0CEE:25EF 7504 jne 000025F5 ($+4) 0CEE:25F1 33C0 xor ax,ax 0CEE:25F3 EB1C jmp short 00002611 ($+1c) 0CEE:25F5 8A4608 mov al,[bp+08] 0CEE:25F8 50 push ax 0CEE:25F9 6A0B push 000B 0CEE:25FB 56 push si 0CEE:25FC 0E push cs 0CEE:25FD E81BFE call 0000241B ($-1e5) 0CEE:2600 59 pop cx 0CEE:2601 50 push ax 0CEE:2602 56 push si 0CEE:2603 0E push cs 0CEE:2604 E8D7FD call 000023DE ($-229) 0CEE:2607 59 pop cx 0CEE:2608 50 push ax 0CEE:2609 9A9B18743E call 3E74:189B 0CEE:260E 83C408 add sp,0008 0CEE:2611 5E pop si 0CEE:2612 5D pop bp 0CEE:2613 CB retf