The Andromeda Decompiler is not available to the public at present, so the only example of its use is usually limited to the very impressive demo program. I asked the author to compile the switch test program; here is the result:
sub_401080 proc near mov [eax], ebp mov eax, 0 mov ebp, esp sub esp, 8 and esp, 0FFFFFFF0h mov [eax-4], ebx mov ebx, [eax+8] call sub_401440 call __main cmp ebx, 7 ja loc_4010E0 T32 = ebx * 4, T32 = &off_4010A8 + T32, (*T32) loc_40110D: mov dword ptr [eax], offset aSeven jmp loc_4010D0 loc_40110D4: mov dword ptr [eax], offset aSix jmp loc_4010D0 ... loc_4010C8: mov fdword ptr [eax], offset aTwo loc_4010D0: call puts mov ebx, [eax-4] mov eax, 0 mov esp, ebp mov ebp, [eax] ret loc_4010E0: mov dword ptr [eax], offset aOther jmp loc_4010D0 sub_401080 endpThis assembler code is like nothing I've seen; I suspect that esp is being displayed as eax and possibly some instructions are displayed out of sequence. This was from version 0.62; unfortunately the =.dc= file won't read in later versions of the GUI. It's a real shame that this decompiler doesn't seem to have progressed since May 2005. -- Main.MikeVanEmmerik - 24 Mar 2007