# base: 401000
objdump -D --target=binary --architecture i386 $code

 0:   b8 cc 11 40 00          mov    $0x4011cc,%eax
 5:   83 3d cc 11 40 00 00    cmpl   $0x0,0x4011cc
 c:   74 16                   je     0x24
 e:   8b 10                   mov    (%eax),%edx
10:   85 d2                   test   %edx,%edx
12:   7d 06                   jge    0x1a
14:   01 50 04                add    %edx,0x4(%eax)
17:   83 c0 04                add    $0x4,%eax
1a:   ff 02                   incl   (%edx)
1c:   83 c0 04                add    $0x4,%eax
1f:   83 38 00                cmpl   $0x0,(%eax)
22:   75 ea                   jne    0xe
24:   a1 48 11 40 00          mov    0x401148,%eax
29:   ff d0                   call   *%eax		; GetCommandLineA
2b:   89 c3                   mov    %eax,%ebx
2d:   89 c7                   mov    %eax,%edi
2f:   31 c0                   xor    %eax,%eax
31:   b9 f7 ff ff ff          mov    $0xfffffff7,%ecx
36:   fc                      cld
37:   f2 ae                   repnz scas %es:(%edi),%al
39:   89 f8                   mov    %edi,%eax
3b:   29 d8                   sub    %ebx,%eax
3d:   83 e1 fc                and    $0xfffffffc,%ecx
40:   01 cc                   add    %ecx,%esp
42:   be c3 11 40 00          mov    $0x4011c3,%esi  ; prepend 'perl -x '
47:   89 e7                   mov    %esp,%edi
49:   b9 08 00 00 00          mov    $0x8,%ecx
4e:   f3 a4                   rep movsb %ds:(%esi),%es:(%edi)
50:   89 de                   mov    %ebx,%esi
52:   89 c1                   mov    %eax,%ecx
54:   f3 a4                   rep movsb %ds:(%esi),%es:(%edi)
56:   89 e3                   mov    %esp,%ebx
58:   83 ec 7c                sub    $0x7c,%esp
5b:   b9 1b 00 00 00          mov    $0x1b,%ecx
60:   89 e7                   mov    %esp,%edi
62:   31 c0                   xor    %eax,%eax
64:   f3 ab                   rep stos %eax,%es:(%edi)
66:   89 5c 24 04             mov    %ebx,0x4(%esp)
6a:   c7 44 24 28 44 00 00    movl   $0x44,0x28(%esp)
71:   00
72:   89 e0                   mov    %esp,%eax
74:   83 c0 28                add    $0x28,%eax
77:   89 44 24 20             mov    %eax,0x20(%esp)
7b:   83 c0 44                add    $0x44,%eax
7e:   89 44 24 24             mov    %eax,0x24(%esp)
82:   a1 40 11 40 00          mov    0x401140,%eax
87:   ff d0                   call   *%eax		; if (!CreateProcessA)
89:   21 c0                   and    %eax,%eax
8b:   75 04                   jne    0x91
8d:   6a 64                   push   $0x64
8f:   eb 25                   jmp    0xb6		;   abnormal exit
91:   8b 44 24 44             mov    0x44(%esp),%eax ; else
95:   6a ff                   push   $0xffffffff
97:   50                      push   %eax
98:   a1 4c 11 40 00          mov    0x40114c,%eax
9d:   ff d0                   call   *%eax		; if (!WaitForSingleObject)
9f:   21 c0                   and    %eax,%eax
a1:   74 04                   je     0xa7
a3:   6a 65                   push   $0x65
a5:   eb 0f                   jmp    0xb6		;   abnormal exit
a7:   8b 44 24 44             mov    0x44(%esp),%eax ; else
ab:   6a 66                   push   $0x66		;   exit with child code
ad:   54                      push   %esp
ae:   50                      push   %eax
af:   a1 50 11 40 00          mov    0x401150,%eax
b4:   ff d0                   call   *%eax		; GetExitCodeProcess
b6:   a1 44 11 40 00          mov    0x401144,%eax
bb:   ff d0                   call   *%eax		; ExitProcess