you don't really decompile it.
the technique is called disassembling. Disassembling means you "translate" the bytecoded instructions to some form of human readable language called assembler. assembler is specific to processors and architectures(e.g. your x86 PC from intel or amd).
it is still hard to read, if not impossible. if you analyse the assembler code, you often have to know the state of e.g. your system memory.
and just to give u a taste of the readability of asm:
:00401000 55 push ebp
:00401001 83EC20 sub esp, 020
:00401004 8BEC mov ebp, esp
:00401006 668BF8 mov di, ax
:00401009 668BF2 mov si, dx
:0040100C 51 push ecx
:0040100D 56 push esi
:0040100E 66F7C6FFFF test si, FFFF
:00401013 790A jns 0040101F
:00401015 66F7D6 not si
:00401018 66F7DF neg di
:0040101B 7502 jne 0040101F
:0040101D 6646 inc si
the first lines of GP4 startup code.