1) LOAD 4 // Architecture | |
2) if A == 0xc000003e; then JMP 3 else JMP 34 | |
3) LOAD 0 // System call number | |
4) if A & 0x40000000; then JMP 34 else JMP 5 | |
5) if A >= 0x49; then JMP 6 else JMP 7 | |
6) if A >= 0x401; then JMP 46 else JMP 45 | |
7) if A >= 0x48; then JMP 8 else JMP 45 | |
8) LOAD 28 // Argument 1 (MSB) | |
9) if A == 0x0; then JMP 13 else JMP 10 | |
10) if A == 0xffffffff; then JMP 11 else JMP 34 | |
11) LOAD 24 // Argument 1 (LSB) | |
12) if A & 0x80000000; then JMP 13 else JMP 34 | |
13) LOAD 24 // Argument 1 (LSB) | |
14) if A == 0x3; then JMP 44 else JMP 15 | |
15) LOAD 28 // Argument 1 (MSB) | |
16) if A == 0x0; then JMP 20 else JMP 17 | |
17) if A == 0xffffffff; then JMP 18 else JMP 34 | |
18) LOAD 24 // Argument 1 (LSB) | |
19) if A & 0x80000000; then JMP 20 else JMP 34 | |
20) LOAD 24 // Argument 1 (LSB) | |
21) if A == 0x1; then JMP 44 else JMP 22 | |
22) LOAD 28 // Argument 1 (MSB) | |
23) if A == 0x0; then JMP 27 else JMP 24 | |
24) if A == 0xffffffff; then JMP 25 else JMP 34 | |
25) LOAD 24 // Argument 1 (LSB) | |
26) if A & 0x80000000; then JMP 27 else JMP 34 | |
27) LOAD 24 // Argument 1 (LSB) | |
28) if A == 0x2; then JMP 39 else JMP 29 | |
29) LOAD 28 // Argument 1 (MSB) | |
30) if A == 0x0; then JMP 35 else JMP 31 | |
31) if A == 0xffffffff; then JMP 32 else JMP 34 | |
32) LOAD 24 // Argument 1 (LSB) | |
33) if A & 0x80000000; then JMP 35 else JMP 34 | |
34) RET 0x0 // Kill | |
35) LOAD 24 // Argument 1 (LSB) | |
36) if A == 0x4; then JMP 38 else JMP 37 | |
37) RET 0x5000d // errno = 13 | |
38) RET 0x50001 // errno = 1 | |
39) LOAD 36 // Argument 2 (MSB) | |
40) if A == 0x0; then JMP 41 else JMP 43 | |
41) LOAD 32 // Argument 2 (LSB) | |
42) if A == 0x80000; then JMP 45 else JMP 43 | |
43) RET 0x50016 // errno = 22 | |
44) RET 0x50002 // errno = 2 | |
45) RET 0x7fff0000 // Allowed | |
46) RET 0x50026 // errno = 38 |