// File: /workspace/github_c_makefile_star2_O2/wjmelements[P]evm/src/ops.c
// Function: parseOp
op_t parseOp(const char *start, const char **endOut) {
    switch (*(uint32_t *)start) {
        case 'RDDA': *endOut = start + 7; return ADDRESS;
        case 'MDDA': *endOut = start + 6; return ADDMOD;
        case 'ALAB': *endOut = start + 7; return BALANCE;
        case 'COLB': *endOut = start + 9; return BLOCKHASH;
        case 'ETYB': *endOut = start + 4; return BYTE;
        case 'HTUA': *endOut = start + 4;
            switch (*(uint8_t *)(start + 4)) {
                case 'C': *endOut += 4; return AUTHCALL;
            }
            return AUTH;
        case 'LLAC':
            switch (*(uint16_t *)(start += 4)) {
                case 'OC': *endOut = start + 4; return CALLCODE;
                case 'AD':
                    *endOut = start + 8;
                    switch (*(uint32_t *)(start += 4)) {
                        case 'DAOL': return CALLDATALOAD;
                        case 'YPOC': return CALLDATACOPY;
                        case 'EZIS': return CALLDATASIZE;
                    }
                case 'RE': *endOut = start + 2; return CALLER;
                case 'AV': *endOut = start + 5; return CALLVALUE;
            }
            *endOut = start;
            return CALL;
        case 'IAHC':
            *endOut = start + 7;
            return CHAINID;
        case 'EDOC':
            switch (*(uint32_t *)(start += 4)) {
                case 'EZIS': *endOut = start + 4; return CODESIZE;
                case 'YPOC': *endOut = start + 4; return CODECOPY;
            }
        case 'NIOC': *endOut = start + 8; return COINBASE;
        case 'AERC': 
            start += 5;
            if ('2E' == *(uint16_t *)start) {
                *endOut = start + 2;
                return CREATE2;
            } else {
                *endOut = start + 1;
                return CREATE;
            }
        case 'ELED': *endOut = start + 12; return DELEGATECALL;
        case 'FFID': *endOut = start + 10; return DIFFICULTY;
        case '1PUD': 
            *endOut = start + 5;
            switch (*(uint8_t *)(start += 4)) {
                case '0': return DUP10;
                case '1': return DUP11;
                case '2': return DUP12;
                case '3': return DUP13;
                case '4': return DUP14;
                case '5': return DUP15;
                case '6': return DUP16;
            }
            *endOut = start; return DUP1;
        case '2PUD': *endOut = start + 4; return DUP2;
        case '3PUD': *endOut = start + 4; return DUP3;
        case '4PUD': *endOut = start + 4; return DUP4;
        case '5PUD': *endOut = start + 4; return DUP5;
        case '6PUD': *endOut = start + 4; return DUP6;
        case '7PUD': *endOut = start + 4; return DUP7;
        case '8PUD': *endOut = start + 4; return DUP8;
        case '9PUD': *endOut = start + 4; return DUP9;
        case 'PAWS': 
            *endOut = start + 5;
            switch (*(uint8_t *)(start += 4)) {
                case '2': return SWAP2;
                case '3': return SWAP3;
                case '4': return SWAP4;
                case '5': return SWAP5;
                case '6': return SWAP6;
                case '7': return SWAP7;
                case '8': return SWAP8;
                case '9': return SWAP9;
                case '1': 
                    *endOut = start + 2;
                    switch (*(uint8_t *)(start += 1)) {
                        case '0': return SWAP10;
                        case '1': return SWAP11;
                        case '2': return SWAP12;
                        case '3': return SWAP13;
                        case '4': return SWAP14;
                        case '5': return SWAP15;
                        case '6': return SWAP16;
                    }
                    *endOut = start;
                    return SWAP1;
            }
        case 'CTXE': 
            switch (*(uint32_t *)(start += 4)) {
                case 'CEDO': *endOut = start + 7; return EXTCODECOPY;
                case 'HEDO': *endOut = start + 7; return EXTCODEHASH;
                case 'SEDO': *endOut = start + 7; return EXTCODESIZE;
            }
        case 'ESAB':
            *endOut = start + 7;
            return BASEFEE;
        case 'ESSA':
            *endOut = start + 11;
            return (op_t)hexString16ToUint8(start + 9);
        case 'LSAG': *endOut = start + 8; return GASLIMIT;
        case 'PSAG': *endOut = start + 8; return GASPRICE;
        case 'AVNI': *endOut = start + 7; return INVALID;
        case 'EZSI': *endOut = start + 6; return ISZERO;
        case 'PMUJ':
            switch (*(uint8_t *)(start + 4)) {
                case 'D': *endOut = start + 8; return JUMPDEST;
                case 'I': *endOut = start + 5; return JUMPI;
            }
            *endOut = start + 4;
            return JUMP;
        case '0GOL': *endOut = start + 4; return LOG0;
        case '1GOL': *endOut = start + 4; return LOG1;
        case '2GOL': *endOut = start + 4; return LOG2;
        case '3GOL': *endOut = start + 4; return LOG3;
        case '4GOL': *endOut = start + 4; return LOG4;
        case 'AOLM': *endOut = start + 5; return MLOAD;
        case 'ZISM': *endOut = start + 5; return MSIZE;
        case 'POCM': *endOut = start + 5; return MCOPY;
        case 'AOLT': *endOut = start + 5; return TLOAD;
        case 'OTST': *endOut = start + 6; return TSTORE;
        case 'OTSM':
            switch (*(uint8_t *)(start + 6)) {
                case '8': *endOut = start + 7; return MSTORE8;
            }
            *endOut = start + 6;
            return MSTORE;
        case 'MLUM': *endOut = start + 6; return MULMOD;
        case 'BMUN': *endOut = start + 6; return NUMBER;
        case 'GIRO': *endOut = start + 6; return ORIGIN;
        case 'HSUP':
            *endOut = start + 5;
            switch (*(uint8_t *)(start + 4)) {
                case '2':
                    *endOut = start + 6;
                    switch (*(uint8_t *)(start + 5)) {
                        case '0': return PUSH20;
                        case '1': return PUSH21;
                        case '2': return PUSH22;
                        case '3': return PUSH23;
                        case '4': return PUSH24;
                        case '5': return PUSH25;
                        case '6': return PUSH26;
                        case '7': return PUSH27;
                        case '8': return PUSH28;
                        case '9': return PUSH29;
                    }
                    *endOut = start + 5;
                    return PUSH2;
                case '3':
                    *endOut = start + 6;
                    switch (*(uint8_t *)(start + 5)) {
                        case '0': return PUSH30;
                        case '1': return PUSH31;
                        case '2': return PUSH32;
                    }
                    *endOut = start + 5;
                    return PUSH3;
                case '0': return PUSH0;
                case '4': return PUSH4;
                case '5': return PUSH5;
                case '6': return PUSH6;
                case '7': return PUSH7;
                case '8': return PUSH8;
                case '9': return PUSH9;
                case '1':
                    *endOut = start + 6;
                    switch (*(uint8_t *)(start + 5)) {
                        case '0': return PUSH10;
                        case '1': return PUSH11;
                        case '2': return PUSH12;
                        case '3': return PUSH13;
                        case '4': return PUSH14;
                        case '5': return PUSH15;
                        case '6': return PUSH16;
                        case '7': return PUSH17;
                        case '8': return PUSH18;
                        case '9': return PUSH19;
                    }
                    *endOut = start + 5;
                    return PUSH1;
            }
        case 'UTER':
            *endOut = start + 14;
            switch (*(uint32_t *)(start + 8)) {
                case 'ISAT': return RETURNDATASIZE;
                case 'OCAT': return RETURNDATACOPY;
            }
            *endOut = start + 6;
            return RETURN;
        case 'EVER': *endOut = start + 6; return REVERT;
        case 'FLES':
            switch (*(uint32_t *)(start + 4)) {
                case 'ALAB': *endOut = start + 11; return SELFBALANCE;
                case 'TSED': *endOut = start + 12; return SELFDESTRUCT;
            }
        case 'NGIS': *endOut = start + 10; return SIGNEXTEND;
        case 'VIDS': *endOut = start + 4; return SDIV;
        case '3AHS': *endOut = start + 4; return SHA3;
        case 'AOLS': *endOut = start + 5; return SLOAD;
        case 'OTSS': *endOut = start + 6; return SSTORE;
        case 'TATS': *endOut = start + 10; return STATICCALL;
        case 'DOMS': *endOut = start + 4; return SMOD;
        case 'POTS': *endOut = start + 4; return STOP;
        case 'EMIT': *endOut = start + 9; return TIMESTAMP;
    }
    *endOut = start + 3;
    switch ((*(uint32_t *)start) & 0x00ffffff) {
        case 'DDA': return ADD;
        case 'DNA': return AND;
        case 'VID': return DIV;
        case 'PXE': return EXP;
        case 'BUS': return SUB;
        case 'ROX': return XOR;
        case 'SAG': return GAS;
        case 'DOM': return MOD;
        case 'LHS': return SHL;
        case 'RAS': return SAR;
        case 'RHS': return SHR;
        case 'LUM': return MUL;
        case 'TON': return NOT;
        case 'POP': return POP;
        case 'TGS': return SGT;
        case 'TLS': return SLT;
    }
    *endOut = start + 2;
    switch (*(uint16_t *)start) {
        case 'QE': return EQ;
        case 'TG': return GT;
        case 'TL': return LT;
        case 'RO': return OR;
        case 'CP': return PC;
    }
    fputs("Unknown op: ", stderr);
    fputs(start, stderr);
    fputc('\n', stderr);
    return STOP;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movq %rdi, %rbx
movl (%rdi), %eax
cmpl $0x30474f4c, %eax       # imm = 0x30474F4C
je 0xc298
cmpl $0x31474f4c, %eax       # imm = 0x31474F4C
je 0xc467
cmpl $0x31505544, %eax       # imm = 0x31505544
je 0xc12c
cmpl $0x32474f4c, %eax       # imm = 0x32474F4C
je 0xc4ad
cmpl $0x32505544, %eax       # imm = 0x32505544
je 0xc49f
cmpl $0x33414853, %eax       # imm = 0x33414853
je 0xc11e
cmpl $0x33474f4c, %eax       # imm = 0x33474F4C
je 0xc4bb
cmpl $0x33505544, %eax       # imm = 0x33505544
je 0xc0a5
cmpl $0x34474f4c, %eax       # imm = 0x34474F4C
je 0xc0c1
cmpl $0x34505544, %eax       # imm = 0x34505544
je 0xc392
cmpl $0x35505544, %eax       # imm = 0x35505544
je 0xc28a
cmpl $0x36505544, %eax       # imm = 0x36505544
je 0xc149
cmpl $0x37505544, %eax       # imm = 0x37505544
je 0xc0b3
cmpl $0x38505544, %eax       # imm = 0x38505544
je 0xc459
cmpl $0x39505544, %eax       # imm = 0x39505544
je 0xc247
cmpl $0x41455243, %eax       # imm = 0x41455243
je 0xc0f6
cmpl $0x414c4142, %eax       # imm = 0x414C4142
je 0xc483
cmpl $0x414f4c4d, %eax       # imm = 0x414F4C4D
je 0xc43d
cmpl $0x414f4c53, %eax       # imm = 0x414F4C53
je 0xc3a0
cmpl $0x414f4c54, %eax       # imm = 0x414F4C54
je 0xc475
cmpl $0x41564e49, %eax       # imm = 0x41564E49
je 0xc491
cmpl $0x424d554e, %eax       # imm = 0x424D554E
je 0xc157
cmpl $0x434f4c42, %eax       # imm = 0x434F4C42
je 0xc165
cmpl $0x43545845, %eax       # imm = 0x43545845
je 0xc6a8
cmpl $0x444f4d53, %eax       # imm = 0x444F4D53
je 0xc20f
cmpl $0x45444f43, %eax       # imm = 0x45444F43
je 0xc263
cmpl $0x454c4544, %eax       # imm = 0x454C4544
je 0xc44b
cmpl $0x454d4954, %eax       # imm = 0x454D4954
je 0xc3e2
cmpl $0x45534142, %eax       # imm = 0x45534142
je 0xc6e5
cmpl $0x45535341, %eax       # imm = 0x45535341
je 0xc0cf
cmpl $0x45545942, %eax       # imm = 0x45545942
je 0xc110
cmpl $0x45564552, %eax       # imm = 0x45564552
je 0xc21d
cmpl $0x455a5349, %eax       # imm = 0x455A5349
je 0xc194
cmpl $0x46464944, %eax       # imm = 0x46464944
je 0xc3fe
cmpl $0x464c4553, %eax       # imm = 0x464C4553
je 0xc40c
cmpl $0x4749524f, %eax       # imm = 0x4749524F
je 0xc201
cmpl $0x48535550, %eax       # imm = 0x48535550
je 0xc1b0
cmpl $0x48545541, %eax       # imm = 0x48545541
je 0xc173
cmpl $0x49414843, %eax       # imm = 0x49414843
je 0xc1a2
cmpl $0x4c4c4143, %eax       # imm = 0x4C4C4143
je 0xc2d0
cmpl $0x4c534147, %eax       # imm = 0x4C534147
je 0xc22b
cmpl $0x4d444441, %eax       # imm = 0x4D444441
je 0xc255
cmpl $0x4d4c554d, %eax       # imm = 0x4D4C554D
je 0xc3f0
cmpl $0x4e474953, %eax       # imm = 0x4E474953
je 0xc42f
cmpl $0x4e494f43, %eax       # imm = 0x4E494F43
je 0xc5fe
cmpl $0x4f54534d, %eax       # imm = 0x4F54534D
je 0xc3ca
cmpl $0x4f545353, %eax       # imm = 0x4F545353
je 0xc3ae
cmpl $0x4f545354, %eax       # imm = 0x4F545354
je 0xc3bc
cmpl $0x50415753, %eax       # imm = 0x50415753
je 0xc32a
cmpl $0x504d554a, %eax       # imm = 0x504D554A
je 0xc36e
cmpl $0x504f434d, %eax       # imm = 0x504F434D
je 0xc31c
cmpl $0x504f5453, %eax       # imm = 0x504F5453
je 0xc239
cmpl $0x50534147, %eax       # imm = 0x50534147
je 0xc30e
cmpl $0x5a49534d, %eax       # imm = 0x5A49534D
je 0xc2a6
cmpl $0x54415453, %eax       # imm = 0x54415453
je 0xc2c2
cmpl $0x55544552, %eax       # imm = 0x55544552
je 0xc1da
cmpl $0x56494453, %eax       # imm = 0x56494453
je 0xc2b4
cmpl $0x52444441, %eax       # imm = 0x52444441
jne 0xc4c9
addq $0x7, %rbx
movq %rbx, (%rsi)
movb $0x30, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $-0x7e, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $-0x7a, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $-0x5c, %al
jmp 0xc6ee
leaq 0xb(%rbx), %rax
movq %rax, (%rsi)
movzbl 0x9(%rbx), %edi
callq 0xc870
movl %eax, %ebp
shlb $0x4, %bpl
movzbl 0xa(%rbx), %edi
callq 0xc870
addb %bpl, %al
jmp 0xc6ee
cmpw $0x3245, 0x5(%rbx)      # imm = 0x3245
jne 0xc59f
addq $0x7, %rbx
movq %rbx, (%rsi)
movb $-0xb, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $0x1a, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $0x20, %al
jmp 0xc6ee
leaq 0x5(%rbx), %rax
movq %rax, (%rsi)
movb 0x4(%rbx), %al
leal -0x30(%rax), %ecx
cmpb $0x7, %cl
jae 0xc5ad
addb $0x59, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $-0x7b, %al
jmp 0xc6ee
addq $0x6, %rbx
movq %rbx, (%rsi)
movb $0x43, %al
jmp 0xc6ee
addq $0x9, %rbx
movq %rbx, (%rsi)
movb $0x40, %al
jmp 0xc6ee
leaq 0x4(%rbx), %rax
movq %rax, (%rsi)
movb $-0xa, %al
cmpb $0x43, 0x4(%rbx)
jne 0xc6ee
addq $0x8, %rbx
movq %rbx, (%rsi)
movb $-0x9, %al
jmp 0xc6ee
addq $0x6, %rbx
movq %rbx, (%rsi)
movb $0x15, %al
jmp 0xc6ee
addq $0x7, %rbx
movq %rbx, (%rsi)
movb $0x46, %al
jmp 0xc6ee
leaq 0x5(%rbx), %rcx
movq %rcx, (%rsi)
movzbl 0x4(%rbx), %eax
addl $-0x30, %eax
cmpl $0x9, %eax
ja 0xc1da
leaq 0x8a76(%rip), %rdx      # 0x14c40
movslq (%rdx,%rax,4), %rax
addq %rdx, %rax
jmpq *%rax
movb $0x5f, %al
jmp 0xc6ee
leaq 0xe(%rbx), %rax
movq %rax, (%rsi)
movl 0x8(%rbx), %eax
cmpl $0x49534154, %eax       # imm = 0x49534154
je 0xc5c9
cmpl $0x4f434154, %eax       # imm = 0x4F434154
jne 0xc5d0
movb $0x3e, %al
jmp 0xc6ee
addq $0x6, %rbx
movq %rbx, (%rsi)
movb $0x32, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $0x7, %al
jmp 0xc6ee
addq $0x6, %rbx
movq %rbx, (%rsi)
movb $-0x3, %al
jmp 0xc6ee
addq $0x8, %rbx
movq %rbx, (%rsi)
movb $0x45, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
xorl %eax, %eax
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $-0x78, %al
jmp 0xc6ee
addq $0x6, %rbx
movq %rbx, (%rsi)
movb $0x8, %al
jmp 0xc6ee
movl 0x4(%rbx), %eax
cmpl $0x59504f43, %eax       # imm = 0x59504F43
je 0xc5de
cmpl $0x455a4953, %eax       # imm = 0x455A4953
jne 0xc5fa
addq $0x8, %rbx
movq %rbx, (%rsi)
movb $0x38, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $-0x7c, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $-0x60, %al
jmp 0xc6ee
addq $0x5, %rbx
movq %rbx, (%rsi)
movb $0x59, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $0x5, %al
jmp 0xc6ee
addq $0xa, %rbx
movq %rbx, (%rsi)
movb $-0x6, %al
jmp 0xc6ee
movzwl 0x4(%rbx), %eax
cmpl $0x4144, %eax           # imm = 0x4144
je 0xc64a
cmpl $0x4156, %eax           # imm = 0x4156
je 0xc628
cmpl $0x5245, %eax           # imm = 0x5245
je 0xc636
cmpl $0x4f43, %eax           # imm = 0x4F43
jne 0xc679
addq $0x8, %rbx
movq %rbx, (%rsi)
movb $-0xe, %al
jmp 0xc6ee
addq $0x8, %rbx
movq %rbx, (%rsi)
movb $0x3a, %al
jmp 0xc6ee
addq $0x5, %rbx
movq %rbx, (%rsi)
movb $0x5e, %al
jmp 0xc6ee
leaq 0x5(%rbx), %rcx
movq %rcx, (%rsi)
movzbl 0x4(%rbx), %eax
addl $-0x31, %eax
cmpl $0x8, %eax
ja 0xc6a4
leaq 0x8920(%rip), %rdx      # 0x14c68
movslq (%rdx,%rax,4), %rax
addq %rdx, %rax
jmpq *%rax
leaq 0x6(%rbx), %rax
movq %rax, (%rsi)
movb 0x5(%rbx), %al
leal -0x30(%rax), %edx
cmpb $0x7, %dl
jae 0xc7fb
addb $0x69, %al
jmp 0xc6ee
movzbl 0x4(%rbx), %eax
cmpl $0x49, %eax
je 0xc5ec
cmpl $0x44, %eax
jne 0xc60c
addq $0x8, %rbx
movq %rbx, (%rsi)
movb $0x5b, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $-0x7d, %al
jmp 0xc6ee
addq $0x5, %rbx
movq %rbx, (%rsi)
movb $0x54, %al
jmp 0xc6ee
addq $0x6, %rbx
movq %rbx, (%rsi)
movb $0x55, %al
jmp 0xc6ee
addq $0x6, %rbx
movq %rbx, (%rsi)
movb $0x5d, %al
jmp 0xc6ee
cmpb $0x38, 0x6(%rbx)
jne 0xc5bb
addq $0x7, %rbx
movq %rbx, (%rsi)
movb $0x53, %al
jmp 0xc6ee
addq $0x9, %rbx
movq %rbx, (%rsi)
movb $0x42, %al
jmp 0xc6ee
addq $0x6, %rbx
movq %rbx, (%rsi)
movb $0x9, %al
jmp 0xc6ee
addq $0xa, %rbx
movq %rbx, (%rsi)
movb $0x44, %al
jmp 0xc6ee
movl 0x4(%rbx), %eax
cmpl $0x54534544, %eax       # imm = 0x54534544
je 0xc61a
cmpl $0x414c4142, %eax       # imm = 0x414C4142
jne 0xc42f
addq $0xb, %rbx
movq %rbx, (%rsi)
movb $0x47, %al
jmp 0xc6ee
addq $0xa, %rbx
movq %rbx, (%rsi)
movb $0xb, %al
jmp 0xc6ee
addq $0x5, %rbx
movq %rbx, (%rsi)
movb $0x51, %al
jmp 0xc6ee
addq $0xc, %rbx
movq %rbx, (%rsi)
movb $-0xc, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $-0x79, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $-0x5f, %al
jmp 0xc6ee
addq $0x5, %rbx
movq %rbx, (%rsi)
movb $0x5c, %al
jmp 0xc6ee
addq $0x7, %rbx
movq %rbx, (%rsi)
movb $0x31, %al
jmp 0xc6ee
addq $0x7, %rbx
movq %rbx, (%rsi)
movb $-0x2, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $-0x7f, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $-0x5e, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $-0x5d, %al
jmp 0xc6ee
leaq 0x3(%rbx), %rcx
movq %rcx, (%rsi)
movl %eax, %ecx
andl $0xffffff, %ecx         # imm = 0xFFFFFF
cmpl $0x425553, %ecx         # imm = 0x425553
je 0xc774
cmpl $0x444441, %ecx         # imm = 0x444441
je 0xc759
cmpl $0x564944, %ecx         # imm = 0x564944
je 0xc79e
cmpl $0x444f4d, %ecx         # imm = 0x444F4D
je 0xc765
cmpl $0x4c4853, %ecx         # imm = 0x4C4853
je 0xc75d
cmpl $0x4c554d, %ecx         # imm = 0x4C554D
je 0xc761
cmpl $0x504f50, %ecx         # imm = 0x504F50
je 0xc7ac
cmpl $0x505845, %ecx         # imm = 0x505845
je 0xc7a5
cmpl $0x524153, %ecx         # imm = 0x524153
je 0xc76d
cmpl $0x524853, %ecx         # imm = 0x524853
je 0xc797
cmpl $0x524f58, %ecx         # imm = 0x524F58
je 0xc789
cmpl $0x534147, %ecx         # imm = 0x534147
je 0xc790
cmpl $0x544753, %ecx         # imm = 0x544753
je 0xc782
cmpl $0x544c53, %ecx         # imm = 0x544C53
je 0xc769
cmpl $0x544f4e, %ecx         # imm = 0x544F4E
je 0xc77b
cmpl $0x444e41, %ecx         # imm = 0x444E41
jne 0xc7b3
movb $0x16, %al
jmp 0xc6ee
addq $0x6, %rbx
movq %rbx, (%rsi)
movb $-0x10, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $-0x80, %al
jmp 0xc6ee
addq $0x6, %rbx
movq %rbx, (%rsi)
movb $0x52, %al
jmp 0xc6ee
movb $0x3d, %al
jmp 0xc6ee
addq $0x6, %rbx
movq %rbx, (%rsi)
movb $-0xd, %al
jmp 0xc6ee
addq $0x8, %rbx
movq %rbx, (%rsi)
movb $0x39, %al
jmp 0xc6ee
addq $0x5, %rbx
movq %rbx, (%rsi)
movb $0x57, %al
jmp 0xc6ee
addq $0x4, %rbx
addq $0x8, %rbx
movq %rbx, (%rsi)
movb $0x41, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $0x56, %al
jmp 0xc6ee
addq $0xc, %rbx
movq %rbx, (%rsi)
movb $-0x1, %al
jmp 0xc6ee
addq $0x9, %rbx
movq %rbx, (%rsi)
movb $0x34, %al
jmp 0xc6ee
pushq $0x4
popq %rax
addq %rbx, %rax
addq $0x2, %rax
movq %rax, (%rsi)
movb $0x33, %al
jmp 0xc6ee
leaq 0xc(%rbx), %rax
movq %rax, (%rsi)
movl 0x8(%rbx), %eax
cmpl $0x44414f4c, %eax       # imm = 0x44414F4C
je 0xc7ed
cmpl $0x455a4953, %eax       # imm = 0x455A4953
je 0xc7e6
cmpl $0x59504f43, %eax       # imm = 0x59504F43
jne 0xc7f4
movb $0x37, %al
jmp 0xc6ee
addq $0x4, %rbx
movq %rbx, (%rsi)
movb $-0xf, %al
jmp 0xc6ee
movb $-0x6c, %al
jmp 0xc6ee
movb $-0x6e, %al
jmp 0xc6ee
movb $-0x6d, %al
jmp 0xc6ee
movb $-0x69, %al
jmp 0xc6ee
movb $-0x6f, %al
jmp 0xc6ee
movb $-0x6b, %al
jmp 0xc6ee
movb $-0x6a, %al
jmp 0xc6ee
movb $-0x68, %al
jmp 0xc6ee
addq $0x4, %rbx
movl 0x4(%rbx), %eax
cmpl $0x5345444f, %eax       # imm = 0x5345444F
je 0xc6d6
cmpl $0x4845444f, %eax       # imm = 0x4845444F
je 0xc6cb
cmpl $0x4345444f, %eax       # imm = 0x4345444F
jne 0xc6e1
addq $0xb, %rbx
movq %rbx, (%rsi)
movb $0x3c, %al
jmp 0xc6ee
addq $0xb, %rbx
movq %rbx, (%rsi)
movb $0x3f, %al
jmp 0xc6ee
addq $0xb, %rbx
movq %rbx, (%rsi)
movb $0x3b, %al
jmp 0xc6ee
addq $0x4, %rbx
addq $0x7, %rbx
movq %rbx, (%rsi)
movb $0x48, %al
popq %rbx
popq %r14
popq %rbp
retq
movb $0x63, %al
jmp 0xc6ee
movb $0x68, %al
jmp 0xc6ee
leaq 0x6(%rbx), %rax
movq %rax, (%rsi)
movb 0x5(%rbx), %al
leal -0x30(%rax), %edx
cmpb $0xa, %dl
jae 0xc805
addb $0x43, %al
jmp 0xc6ee
leaq 0x6(%rbx), %rax
movq %rax, (%rsi)
movb 0x5(%rbx), %al
leal -0x30(%rax), %edx
cmpb $0x3, %dl
jae 0xc80f
addb $0x4d, %al
jmp 0xc6ee
movb $0x66, %al
jmp 0xc6ee
leaq 0x6(%rbx), %rax
movq %rax, (%rsi)
movb 0x5(%rbx), %al
leal -0x30(%rax), %edx
cmpb $0xa, %dl
jae 0xc819
addb $0x39, %al
jmp 0xc6ee
movb $0x64, %al
jmp 0xc6ee
movb $0x65, %al
jmp 0xc6ee
movb $0x67, %al
jmp 0xc6ee
movb $0x1, %al
jmp 0xc6ee
movb $0x1b, %al
jmp 0xc6ee
movb $0x2, %al
jmp 0xc6ee
movb $0x6, %al
jmp 0xc6ee
movb $0x12, %al
jmp 0xc6ee
movb $0x1d, %al
jmp 0xc6ee
movb $0x3, %al
jmp 0xc6ee
movb $0x19, %al
jmp 0xc6ee
movb $0x13, %al
jmp 0xc6ee
movb $0x18, %al
jmp 0xc6ee
movb $0x5a, %al
jmp 0xc6ee
movb $0x1c, %al
jmp 0xc6ee
movb $0x4, %al
jmp 0xc6ee
movb $0xa, %al
jmp 0xc6ee
movb $0x50, %al
jmp 0xc6ee
leaq 0x2(%rbx), %rcx
movq %rcx, (%rsi)
cmpw $0x4350, %ax            # imm = 0x4350
je 0xc831
movzwl %ax, %eax
cmpl $0x5145, %eax           # imm = 0x5145
je 0xc838
cmpl $0x524f, %eax           # imm = 0x524F
je 0xc823
cmpl $0x544c, %eax           # imm = 0x544C
je 0xc82a
cmpl $0x5447, %eax           # imm = 0x5447
jne 0xc83f
movb $0x11, %al
jmp 0xc6ee
movb $0x36, %al
jmp 0xc6ee
movb $0x35, %al
jmp 0xc6ee
pushq $0x8
jmp 0xc638
movq %rcx, (%rsi)
movb $-0x70, %al
jmp 0xc6ee
movq %rcx, (%rsi)
movb $0x61, %al
jmp 0xc6ee
movq %rcx, (%rsi)
movb $0x62, %al
jmp 0xc6ee
movq %rcx, (%rsi)
movb $0x60, %al
jmp 0xc6ee
movb $0x17, %al
jmp 0xc6ee
movb $0x10, %al
jmp 0xc6ee
movb $0x58, %al
jmp 0xc6ee
movb $0x14, %al
jmp 0xc6ee
movq 0xa7b2(%rip), %r14      # 0x16ff8
movq (%r14), %rsi
leaq 0x8e40(%rip), %rdi      # 0x15690
callq 0x2040
movq (%r14), %rsi
movq %rbx, %rdi
callq 0x2040
movq (%r14), %rsi
pushq $0xa
popq %rdi
callq 0x2050
jmp 0xc240