// File: /workspace/github_c_makefile_star2_O0/Oric4ever[P]lcc65/6502/build/../src/gen.c
// Function: emitdag
static void emitdag(Node p) {

    a = p->kids[0]; b = p->kids[1]; r=p;

    switch (p->op) {
        case BANDU:                       binary("ANDW");   break;
        case BORU:                        binary("ORW" );   break;
        case BXORU:                       binary("XORW");   break;
        case ADDD:  case ADDF:            binary("ADDF");   break;
        case ADDI:  case ADDP:  case ADDU:
            if (optimizelevel>=2
                    && strcmp(a->x.name,p->x.name)==0
                    && strcmp(b->x.name,"1")==0
                    && (p->x.adrmode=='Z' || p->x.adrmode=='D'))
                print("\tINCW_%c(%s)\n" ,simple_adrmode(p->x.adrmode) ,output_arg(p));
            else
                binary("ADDW");
            break;
        case SUBD:  case SUBF:            binary("SUBF");  break;
        case SUBI:  case SUBP:  case SUBU:
            if (optimizelevel>=2
                    && strcmp(a->x.name,p->x.name)==0
                    && strcmp(b->x.name,"1")==0
                    && (p->x.adrmode=='Z' || p->x.adrmode=='D'))
                print("\tDECW_%c(%s)\n" ,simple_adrmode(p->x.adrmode) ,output_arg(p));
            else
                binary("SUBW");
            break;
        case MULD:  case MULF:            binary("MULF");   break;
        case MULI:                        binary("MULI");   break;
        case MULU:                        binary("MULU");   break;
        case DIVD:  case DIVF:            binary("DIVF");   break;
        case DIVI:                        binary("DIVI");   break;
        case DIVU:                        binary("DIVU");   break;
        case MODI:                        binary("MODI");   break;
        case MODU:                        binary("MODU");   break;
        case RSHU:  case RSHI:            binary("RSHW");   break;
        case LSHI:  case LSHU:
            if (optimizelevel>=2 && strcmp(b->x.name,"1")==0) {
                unary("LSH1W");
            } else binary("LSHW");
            break;
        case INDIRC: case INDIRS:
            if (!p->x.optimized)
                print("\tINDIRB_%c%c(%s,%s)\n"
                        ,reduced_adrmode(a->x.adrmode)    // keep 'Z' adrmode different from 'D'
                        ,simple_adrmode(r->x.adrmode)
                        ,output_arg(a)
                        ,output_arg(r));
            break;
        case INDIRI: case INDIRP:
            if (!p->x.optimized)
                print("\tINDIRW_%c%c(%s,%s)\n"
                        ,reduced_adrmode(a->x.adrmode)    // keep 'Z' adrmode different from 'D'
                        ,simple_adrmode(r->x.adrmode)
                        ,output_arg(a)
                        ,output_arg(r));
            break;
        case INDIRD: case INDIRF:
            if (!p->x.optimized)
                unary("INDIRF");
            break;
        case INDIRB:
            if (!p->x.optimized)
                unary("INDIRS");
            break;
        case BCOMU:                       unary("COMW" );   break;
        case NEGD:  case NEGF:            unary("NEGF" );   break;
        case NEGI:                        unary("NEGI" );   break;
        case CVCI: case CVSI:             unary("CSBW");    break;
        case CVCU: case CVSU:             unary("CZBW");    break;
        case CVUC: case CVUS: case CVIC: case CVIS:
            if (optimizelevel<=1 || strcmp(a->x.name,p->x.name)!=0)
                unary("CWB");
            break;
        case CVPU: case CVUP: case CVIU: case CVUI:
            if (optimizelevel<=1 || strcmp(a->x.name,p->x.name)!=0)
                unary("MOVW");
            break;
        case CVID:                        unary("CIF" );  break;
        case CVDF: case CVFD:
            if (optimizelevel<=1 || strcmp(a->x.name,p->x.name)!=0)
                unary("MOVF");
            break;
        case CVDI:                        unary("CFI" );    break;
        case RETD: case RETF:
            if (optimizelevel>=2 && omit_frame && nbregs==0)
                print("\tRETF_%c(%s)\n"
                        ,simple_adrmode(a->x.adrmode)
                        ,output_arg(a));
            else
                print("\tLEAVEF_%c(%s)\n"
                        ,simple_adrmode(a->x.adrmode)
                        ,output_arg(a));
            break;
        case RETI:
            if (optimizelevel>=2 && omit_frame && nbregs==0)
                print("\tRETW_%c(%s)\n"
                        ,simple_adrmode(a->x.adrmode)
                        ,output_arg(a));
            else
                print("\tLEAVEW_%c(%s)\n"
                        ,simple_adrmode(a->x.adrmode)
                        ,output_arg(a));
            break;
        case RETV:
            if (optimizelevel>=2 && omit_frame && nbregs==0)
                print("\tRET\n");
            else print("\tLEAVE\n");
            break;
        case ADDRGP: case ADDRFP: case ADDRLP:
            if (optimizelevel==0)
                print("\tADDR_%c%c(%s,%s)\n"
                        ,simple_adrmode(p->syms[0]->x.adrmode)
                        ,simple_adrmode(p->x.adrmode)
                        ,output_name(p->syms[0])
                        ,output_arg(p));
            break;
        case CNSTC: case CNSTS:
        case CNSTI: case CNSTU:
        case CNSTP:
            if (optimizelevel==0)
                print("\tCNST_%c%c(%s,%s)\n"
                        ,simple_adrmode(p->syms[0]->x.adrmode)
                        ,simple_adrmode(p->x.adrmode)
                        ,output_name(p->syms[0])
                        ,output_arg(p));
            break;
        case JUMPV:
            print("\tJUMP_%c(%s)\n" ,simple_adrmode(a->x.adrmode), output_arg(a));
            break;
        case ASGNB:
            print("\tASGNS_%c%c(%s,%s,%s)\n"
                    ,simple_adrmode(b->x.adrmode)
                    ,reduced_adrmode(a->x.adrmode)     // keep 'Z' adrmode different from 'D'
                    ,output_arg(b)
                    ,output_arg(a)
                    ,output_name(p->syms[0]));
            break;
        case ASGNC: case ASGNS:
            if (!p->x.optimized)
                print("\tASGNB_%c%c(%s,%s)\n"
                        ,simple_adrmode(b->x.adrmode)
                        ,reduced_adrmode(a->x.adrmode)     // keep 'Z' adrmode different from 'D'
                        ,output_arg(b)
                        ,output_arg(a));
            break;
        case ASGND: case ASGNF:
            if (!p->x.optimized)
                print("\tASGNF_%c%c(%s,%s)\n"
                        ,simple_adrmode(b->x.adrmode)
                        ,reduced_adrmode(a->x.adrmode)     // keep 'Z' adrmode different from 'D'
                        ,output_arg(b)
                        ,output_arg(a));
            break;
        case ASGNI: case ASGNP:
            if (!p->x.optimized)
                print("\tASGNW_%c%c(%s,%s)\n"
                        ,simple_adrmode(b->x.adrmode)
                        ,reduced_adrmode(a->x.adrmode)     // keep 'Z' adrmode different from 'D'
                        ,output_arg(b)
                        ,output_arg(a));
            break;
        case ARGB:
            print("\tARGS_%c(%s,(sp),%d,%s)\n"
                    ,simple_adrmode(a->x.adrmode)
                    ,output_arg(a)
                    ,p->x.argoffset
                    ,output_name(p->syms[0]));
            break;
        case ARGD: case ARGF:
            if (!p->x.optimized)
                print("\tARGF_%c(%s,(sp),%d)\n"
                        ,simple_adrmode(a->x.adrmode)
                        ,output_arg(a)
                        ,p->x.argoffset);
            break;
        case ARGI: case ARGP:
            if (!p->x.optimized)
                print("\tARGW_%c(%s,(sp),%d)\n"
                        ,simple_adrmode(a->x.adrmode)
                        ,output_arg(a)
                        ,p->x.argoffset);
            break;
        case CALLB:
            save_busy(p);
            print("\tMOVW_%cD(%s,op1)\n"
                    ,simple_adrmode(b->x.adrmode)
                    ,output_arg(b));
            print("\tCALLV_%c(%s,%d)\n"
                    ,simple_adrmode(a->x.adrmode)
                    ,output_arg(a)
                    ,p->x.argoffset);
            restore_busy(p);
            break;
        case CALLV:
            save_busy(p);
            print("\tCALLV_%c(%s,%d)\n"
                    ,simple_adrmode(a->x.adrmode)
                    ,output_arg(a)
                    ,p->x.argoffset);
            restore_busy(p);
            break;
        case CALLD: case CALLF:
            save_busy(p);
            print("\tCALLF_%c%c(%s,%d,%s)\n"
                    ,simple_adrmode(a->x.adrmode)
                    ,simple_adrmode(p->x.adrmode)
                    ,output_arg(a)
                    ,p->x.argoffset
                    ,output_arg(p));
            restore_busy(p);
            break;
        case CALLI:
            save_busy(p);
            print("\tCALLW_%c%c(%s,%d,%s)\n"
                    ,simple_adrmode(a->x.adrmode)
                    ,simple_adrmode(p->x.adrmode)
                    ,output_arg(a)
                    ,p->x.argoffset
                    ,output_arg(p));
            restore_busy(p);
            break;
        case EQD:   case EQF:             compare("EQF" ); break;
        case EQI:
            if (optimizelevel>=2 && strcmp(b->x.name,"0")==0)
                compare0("EQ0W");
            else compare("EQW" );
            break;
        case GED:   case GEF:             compare("GEF" ); break;
        case GEI:                         compare("GEI" ); break;
        case GEU:                         compare("GEU" ); break;
        case GTD:   case GTF:             compare("GTF" ); break;
        case GTI:                         compare("GTI" ); break;
        case GTU:                         compare("GTU" ); break;
        case LED:   case LEF:             compare("LEF" ); break;
        case LEI:                         compare("LEI" ); break;
        case LEU:                         compare("LEU" ); break;
        case LTD:   case LTF:             compare("LTF" ); break;
        case LTI:                         compare("LTI" ); break;
        case LTU:                         compare("LTU" ); break;
        case NED:   case NEF:             compare("NEF" ); break;
        case NEI:
            if (optimizelevel>=2 && strcmp(b->x.name,"0")==0)
                compare0("NE0W");
            else compare("NEW" );
            break;
        case LABELV:
            print("%s\n", p->syms[0]->x.name); break;
        default: assert(0);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x110, %rsp            # imm = 0x110
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x183d2(%rip)     # 0x44910
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x183cb(%rip)     # 0x44918
movq -0x8(%rbp), %rax
movq %rax, 0x183c8(%rip)     # 0x44920
movq -0x8(%rbp), %rax
movl (%rax), %eax
addl $-0x13, %eax
movl %eax, %ecx
movq %rcx, -0x10(%rbp)
subl $0x245, %eax            # imm = 0x245
ja 0x2d37a
movq -0x10(%rbp), %rax
leaq 0x716f(%rip), %rcx      # 0x336ec
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x82e7(%rip), %rdi      # 0x34874
callq 0x2da70
jmp 0x2d399
leaq 0x82dc(%rip), %rdi      # 0x3487a
callq 0x2da70
jmp 0x2d399
leaq 0x82ca(%rip), %rdi      # 0x34879
callq 0x2da70
jmp 0x2d399
leaq 0x7ef2(%rip), %rdi      # 0x344b2
callq 0x2da70
jmp 0x2d399
cmpl $0x2, 0xf353(%rip)      # 0x3b924
jl 0x2c65c
movq 0x18332(%rip), %rax     # 0x44910
movq 0x38(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rsi
callq 0x30f0
cmpl $0x0, %eax
jne 0x2c65c
movq 0x1831d(%rip), %rax     # 0x44918
movq 0x38(%rax), %rdi
leaq 0x59c3(%rip), %rsi      # 0x31fc9
callq 0x30f0
cmpl $0x0, %eax
jne 0x2c65c
movq -0x8(%rbp), %rax
movsbl 0x40(%rax), %eax
cmpl $0x5a, %eax
je 0x2c62a
movq -0x8(%rbp), %rax
movsbl 0x40(%rax), %eax
cmpl $0x44, %eax
jne 0x2c65c
movq -0x8(%rbp), %rax
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2dc60
movl -0x14(%rbp), %esi
movq %rax, %rdx
leaq 0x822b(%rip), %rdi      # 0x3487e
movb $0x0, %al
callq 0x1a890
jmp 0x2c668
leaq 0x8229(%rip), %rdi      # 0x3488c
callq 0x2da70
jmp 0x2d399
leaq 0x7e57(%rip), %rdi      # 0x344cb
callq 0x2da70
jmp 0x2d399
cmpl $0x2, 0xf29f(%rip)      # 0x3b924
jl 0x2c710
movq 0x1827e(%rip), %rax     # 0x44910
movq 0x38(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rsi
callq 0x30f0
cmpl $0x0, %eax
jne 0x2c710
movq 0x18269(%rip), %rax     # 0x44918
movq 0x38(%rax), %rdi
leaq 0x590f(%rip), %rsi      # 0x31fc9
callq 0x30f0
cmpl $0x0, %eax
jne 0x2c710
movq -0x8(%rbp), %rax
movsbl 0x40(%rax), %eax
cmpl $0x5a, %eax
je 0x2c6de
movq -0x8(%rbp), %rax
movsbl 0x40(%rax), %eax
cmpl $0x44, %eax
jne 0x2c710
movq -0x8(%rbp), %rax
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2dc60
movl -0x18(%rbp), %esi
movq %rax, %rdx
leaq 0x818a(%rip), %rdi      # 0x34891
movb $0x0, %al
callq 0x1a890
jmp 0x2c71c
leaq 0x8188(%rip), %rdi      # 0x3489f
callq 0x2da70
jmp 0x2d399
leaq 0x7dbc(%rip), %rdi      # 0x344e4
callq 0x2da70
jmp 0x2d399
leaq 0x7db0(%rip), %rdi      # 0x344e9
callq 0x2da70
jmp 0x2d399
leaq 0x7da4(%rip), %rdi      # 0x344ee
callq 0x2da70
jmp 0x2d399
leaq 0x7d9d(%rip), %rdi      # 0x344f8
callq 0x2da70
jmp 0x2d399
leaq 0x7d91(%rip), %rdi      # 0x344fd
callq 0x2da70
jmp 0x2d399
leaq 0x7d85(%rip), %rdi      # 0x34502
callq 0x2da70
jmp 0x2d399
leaq 0x7d79(%rip), %rdi      # 0x34507
callq 0x2da70
jmp 0x2d399
leaq 0x7d6d(%rip), %rdi      # 0x3450c
callq 0x2da70
jmp 0x2d399
leaq 0x80f4(%rip), %rdi      # 0x348a4
callq 0x2da70
jmp 0x2d399
cmpl $0x2, 0xf163(%rip)      # 0x3b924
jl 0x2c7ed
movq 0x1814e(%rip), %rax     # 0x44918
movq 0x38(%rax), %rdi
leaq 0x57f4(%rip), %rsi      # 0x31fc9
callq 0x30f0
cmpl $0x0, %eax
jne 0x2c7ed
leaq 0x80c3(%rip), %rdi      # 0x348a9
callq 0x2db90
jmp 0x2c7f9
leaq 0x80bb(%rip), %rdi      # 0x348af
callq 0x2da70
jmp 0x2d399
movq -0x8(%rbp), %rax
cmpb $0x0, 0x60(%rax)
jne 0x2c86b
movq 0x18101(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2df50
movsbl %al, %eax
movl %eax, -0x28(%rbp)
movq 0x180fb(%rip), %rax     # 0x44920
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0x24(%rbp)
movq 0x180d5(%rip), %rdi     # 0x44910
callq 0x2dc60
movq %rax, -0x20(%rbp)
movq 0x180d5(%rip), %rdi     # 0x44920
callq 0x2dc60
movl -0x28(%rbp), %esi
movl -0x24(%rbp), %edx
movq -0x20(%rbp), %rcx
movq %rax, %r8
leaq 0x8050(%rip), %rdi      # 0x348b4
movb $0x0, %al
callq 0x1a890
jmp 0x2d399
movq -0x8(%rbp), %rax
cmpb $0x0, 0x60(%rax)
jne 0x2c8dd
movq 0x1808f(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2df50
movsbl %al, %eax
movl %eax, -0x38(%rbp)
movq 0x18089(%rip), %rax     # 0x44920
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0x34(%rbp)
movq 0x18063(%rip), %rdi     # 0x44910
callq 0x2dc60
movq %rax, -0x30(%rbp)
movq 0x18063(%rip), %rdi     # 0x44920
callq 0x2dc60
movl -0x38(%rbp), %esi
movl -0x34(%rbp), %edx
movq -0x30(%rbp), %rcx
movq %rax, %r8
leaq 0x7ff3(%rip), %rdi      # 0x348c9
movb $0x0, %al
callq 0x1a890
jmp 0x2d399
movq -0x8(%rbp), %rax
cmpb $0x0, 0x60(%rax)
jne 0x2c8f8
leaq 0x7c55(%rip), %rdi      # 0x34548
callq 0x2db90
jmp 0x2d399
movq -0x8(%rbp), %rax
cmpb $0x0, 0x60(%rax)
jne 0x2c913
leaq 0x7c1e(%rip), %rdi      # 0x3452c
callq 0x2db90
jmp 0x2d399
leaq 0x7fbf(%rip), %rdi      # 0x348de
callq 0x2db90
jmp 0x2d399
leaq 0x7c31(%rip), %rdi      # 0x34561
callq 0x2db90
jmp 0x2d399
leaq 0x7c25(%rip), %rdi      # 0x34566
callq 0x2db90
jmp 0x2d399
leaq 0x7f91(%rip), %rdi      # 0x348e3
callq 0x2db90
jmp 0x2d399
leaq 0x7f85(%rip), %rdi      # 0x348e8
callq 0x2db90
jmp 0x2d399
cmpl $0x1, 0xefb0(%rip)      # 0x3b924
jle 0x2c993
movq 0x17f93(%rip), %rax     # 0x44910
movq 0x38(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rsi
callq 0x30f0
cmpl $0x0, %eax
je 0x2c99f
leaq 0x7f53(%rip), %rdi      # 0x348ed
callq 0x2db90
jmp 0x2d399
cmpl $0x1, 0xef79(%rip)      # 0x3b924
jle 0x2c9ca
movq 0x17f5c(%rip), %rax     # 0x44910
movq 0x38(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rsi
callq 0x30f0
cmpl $0x0, %eax
je 0x2c9d6
leaq 0x7f20(%rip), %rdi      # 0x348f1
callq 0x2db90
jmp 0x2d399
leaq 0x7f14(%rip), %rdi      # 0x348f6
callq 0x2db90
jmp 0x2d399
cmpl $0x1, 0xef31(%rip)      # 0x3b924
jle 0x2ca12
movq 0x17f14(%rip), %rax     # 0x44910
movq 0x38(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rsi
callq 0x30f0
cmpl $0x0, %eax
je 0x2ca1e
leaq 0x7ee1(%rip), %rdi      # 0x348fa
callq 0x2db90
jmp 0x2d399
leaq 0x7ed5(%rip), %rdi      # 0x348ff
callq 0x2db90
jmp 0x2d399
cmpl $0x2, 0xeee9(%rip)      # 0x3b924
jl 0x2ca87
cmpl $0x0, 0x17ec0(%rip)     # 0x44904
je 0x2ca87
cmpl $0x0, 0x17ea3(%rip)     # 0x448f0
jne 0x2ca87
movq 0x17eba(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0x3c(%rbp)
movq 0x17ea4(%rip), %rdi     # 0x44910
callq 0x2dc60
movl -0x3c(%rbp), %esi
movq %rax, %rdx
leaq 0x7e85(%rip), %rdi      # 0x34903
movb $0x0, %al
callq 0x1a890
jmp 0x2cabd
movq 0x17e82(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0x40(%rbp)
movq 0x17e6c(%rip), %rdi     # 0x44910
callq 0x2dc60
movl -0x40(%rbp), %esi
movq %rax, %rdx
leaq 0x7e5b(%rip), %rdi      # 0x34911
movb $0x0, %al
callq 0x1a890
jmp 0x2d399
cmpl $0x2, 0xee5b(%rip)      # 0x3b924
jl 0x2cb15
cmpl $0x0, 0x17e32(%rip)     # 0x44904
je 0x2cb15
cmpl $0x0, 0x17e15(%rip)     # 0x448f0
jne 0x2cb15
movq 0x17e2c(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0x44(%rbp)
movq 0x17e16(%rip), %rdi     # 0x44910
callq 0x2dc60
movl -0x44(%rbp), %esi
movq %rax, %rdx
leaq 0x7e15(%rip), %rdi      # 0x34921
movb $0x0, %al
callq 0x1a890
jmp 0x2cb4b
movq 0x17df4(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0x48(%rbp)
movq 0x17dde(%rip), %rdi     # 0x44910
callq 0x2dc60
movl -0x48(%rbp), %esi
movq %rax, %rdx
leaq 0x7deb(%rip), %rdi      # 0x3492f
movb $0x0, %al
callq 0x1a890
jmp 0x2d399
cmpl $0x2, 0xedcd(%rip)      # 0x3b924
jl 0x2cb7b
cmpl $0x0, 0x17da4(%rip)     # 0x44904
je 0x2cb7b
cmpl $0x0, 0x17d87(%rip)     # 0x448f0
jne 0x2cb7b
leaq 0x7dcd(%rip), %rdi      # 0x3493f
movb $0x0, %al
callq 0x1a890
jmp 0x2cb89
leaq 0x7dc3(%rip), %rdi      # 0x34945
movb $0x0, %al
callq 0x1a890
jmp 0x2d399
cmpl $0x0, 0xed8f(%rip)      # 0x3b924
jne 0x2cbf6
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movsbl 0x8(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0x58(%rbp)
movq -0x8(%rbp), %rax
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0x54(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x2dcd0
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2dc60
movl -0x58(%rbp), %esi
movl -0x54(%rbp), %edx
movq -0x50(%rbp), %rcx
movq %rax, %r8
leaq 0x7d5e(%rip), %rdi      # 0x3494d
movb $0x0, %al
callq 0x1a890
jmp 0x2d399
cmpl $0x0, 0xed22(%rip)      # 0x3b924
jne 0x2cc63
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movsbl 0x8(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0x68(%rbp)
movq -0x8(%rbp), %rax
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0x64(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x2dcd0
movq %rax, -0x60(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2dc60
movl -0x68(%rbp), %esi
movl -0x64(%rbp), %edx
movq -0x60(%rbp), %rcx
movq %rax, %r8
leaq 0x7d04(%rip), %rdi      # 0x34960
movb $0x0, %al
callq 0x1a890
jmp 0x2d399
movq 0x17ca1(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0x6c(%rbp)
movq 0x17c8b(%rip), %rdi     # 0x44910
callq 0x2dc60
movl -0x6c(%rbp), %esi
movq %rax, %rdx
leaq 0x7cdc(%rip), %rdi      # 0x34973
movb $0x0, %al
callq 0x1a890
jmp 0x2d399
movq 0x17c6e(%rip), %rax     # 0x44918
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0x88(%rbp)
movq 0x17c4d(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2df50
movsbl %al, %eax
movl %eax, -0x84(%rbp)
movq 0x17c3c(%rip), %rdi     # 0x44918
callq 0x2dc60
movq %rax, -0x80(%rbp)
movq 0x17c24(%rip), %rdi     # 0x44910
callq 0x2dc60
movq %rax, -0x78(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x2dcd0
movl -0x88(%rbp), %esi
movl -0x84(%rbp), %edx
movq -0x80(%rbp), %rcx
movq -0x78(%rbp), %r8
movq %rax, %r9
leaq 0x7c61(%rip), %rdi      # 0x34981
movb $0x0, %al
callq 0x1a890
jmp 0x2d399
movq -0x8(%rbp), %rax
cmpb $0x0, 0x60(%rax)
jne 0x2cdab
movq 0x17bdb(%rip), %rax     # 0x44918
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0x98(%rbp)
movq 0x17bba(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2df50
movsbl %al, %eax
movl %eax, -0x94(%rbp)
movq 0x17ba9(%rip), %rdi     # 0x44918
callq 0x2dc60
movq %rax, -0x90(%rbp)
movq 0x17b8e(%rip), %rdi     # 0x44910
callq 0x2dc60
movl -0x98(%rbp), %esi
movl -0x94(%rbp), %edx
movq -0x90(%rbp), %rcx
movq %rax, %r8
leaq 0x7bf4(%rip), %rdi      # 0x34998
movb $0x0, %al
callq 0x1a890
jmp 0x2d399
movq -0x8(%rbp), %rax
cmpb $0x0, 0x60(%rax)
jne 0x2ce2f
movq 0x17b57(%rip), %rax     # 0x44918
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0xa8(%rbp)
movq 0x17b36(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2df50
movsbl %al, %eax
movl %eax, -0xa4(%rbp)
movq 0x17b25(%rip), %rdi     # 0x44918
callq 0x2dc60
movq %rax, -0xa0(%rbp)
movq 0x17b0a(%rip), %rdi     # 0x44910
callq 0x2dc60
movl -0xa8(%rbp), %esi
movl -0xa4(%rbp), %edx
movq -0xa0(%rbp), %rcx
movq %rax, %r8
leaq 0x7b84(%rip), %rdi      # 0x349ac
movb $0x0, %al
callq 0x1a890
jmp 0x2d399
movq -0x8(%rbp), %rax
cmpb $0x0, 0x60(%rax)
jne 0x2ceb3
movq 0x17ad3(%rip), %rax     # 0x44918
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0xb8(%rbp)
movq 0x17ab2(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2df50
movsbl %al, %eax
movl %eax, -0xb4(%rbp)
movq 0x17aa1(%rip), %rdi     # 0x44918
callq 0x2dc60
movq %rax, -0xb0(%rbp)
movq 0x17a86(%rip), %rdi     # 0x44910
callq 0x2dc60
movl -0xb8(%rbp), %esi
movl -0xb4(%rbp), %edx
movq -0xb0(%rbp), %rcx
movq %rax, %r8
leaq 0x7b14(%rip), %rdi      # 0x349c0
movb $0x0, %al
callq 0x1a890
jmp 0x2d399
movq 0x17a51(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0xcc(%rbp)
movq 0x17a38(%rip), %rdi     # 0x44910
callq 0x2dc60
movq %rax, -0xc8(%rbp)
movq -0x8(%rbp), %rax
movl 0x50(%rax), %eax
movl %eax, -0xbc(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x2dcd0
movl -0xcc(%rbp), %esi
movq -0xc8(%rbp), %rdx
movl -0xbc(%rbp), %ecx
movq %rax, %r8
leaq 0x7ab9(%rip), %rdi      # 0x349d4
movb $0x0, %al
callq 0x1a890
jmp 0x2d399
movq -0x8(%rbp), %rax
cmpb $0x0, 0x60(%rax)
jne 0x2cf74
movq 0x179d8(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0xd0(%rbp)
movq 0x179bf(%rip), %rdi     # 0x44910
callq 0x2dc60
movl -0xd0(%rbp), %esi
movq %rax, %rdx
movq -0x8(%rbp), %rax
movl 0x50(%rax), %ecx
leaq 0x7a80(%rip), %rdi      # 0x349ed
movb $0x0, %al
callq 0x1a890
jmp 0x2d399
movq -0x8(%rbp), %rax
cmpb $0x0, 0x60(%rax)
jne 0x2cfc6
movq 0x17986(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0xd4(%rbp)
movq 0x1796d(%rip), %rdi     # 0x44910
callq 0x2dc60
movl -0xd4(%rbp), %esi
movq %rax, %rdx
movq -0x8(%rbp), %rax
movl 0x50(%rax), %ecx
leaq 0x7a44(%rip), %rdi      # 0x34a03
movb $0x0, %al
callq 0x1a890
jmp 0x2d399
movq -0x8(%rbp), %rdi
callq 0x2dd20
movq 0x1793d(%rip), %rax     # 0x44918
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0xdc(%rbp)
movq 0x17924(%rip), %rdi     # 0x44918
callq 0x2dc60
movl -0xdc(%rbp), %esi
movq %rax, %rdx
leaq 0x771b(%rip), %rdi      # 0x34724
movb $0x0, %al
callq 0x1a890
movq 0x178f9(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0xd8(%rbp)
movq 0x178e0(%rip), %rdi     # 0x44910
callq 0x2dc60
movl -0xd8(%rbp), %esi
movq %rax, %rdx
movq -0x8(%rbp), %rax
movl 0x50(%rax), %ecx
leaq 0x79cd(%rip), %rdi      # 0x34a19
movb $0x0, %al
callq 0x1a890
movq -0x8(%rbp), %rdi
callq 0x2ddf0
jmp 0x2d399
movq -0x8(%rbp), %rdi
callq 0x2dd20
movq 0x1789f(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0xe0(%rbp)
movq 0x17886(%rip), %rdi     # 0x44910
callq 0x2dc60
movl -0xe0(%rbp), %esi
movq %rax, %rdx
movq -0x8(%rbp), %rax
movl 0x50(%rax), %ecx
leaq 0x7973(%rip), %rdi      # 0x34a19
movb $0x0, %al
callq 0x1a890
movq -0x8(%rbp), %rdi
callq 0x2ddf0
jmp 0x2d399
movq -0x8(%rbp), %rdi
callq 0x2dd20
movq 0x17845(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0xf8(%rbp)
movq -0x8(%rbp), %rax
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0xf4(%rbp)
movq 0x17816(%rip), %rdi     # 0x44910
callq 0x2dc60
movq %rax, -0xf0(%rbp)
movq -0x8(%rbp), %rax
movl 0x50(%rax), %eax
movl %eax, -0xe4(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2dc60
movl -0xf8(%rbp), %esi
movl -0xf4(%rbp), %edx
movq -0xf0(%rbp), %rcx
movl -0xe4(%rbp), %r8d
movq %rax, %r9
leaq 0x78eb(%rip), %rdi      # 0x34a2b
movb $0x0, %al
callq 0x1a890
movq -0x8(%rbp), %rdi
callq 0x2ddf0
jmp 0x2d399
movq -0x8(%rbp), %rdi
callq 0x2dd20
movq 0x177ab(%rip), %rax     # 0x44910
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0x110(%rbp)
movq -0x8(%rbp), %rax
movsbl 0x40(%rax), %edi
callq 0x2dda0
movsbl %al, %eax
movl %eax, -0x10c(%rbp)
movq 0x1777c(%rip), %rdi     # 0x44910
callq 0x2dc60
movq %rax, -0x108(%rbp)
movq -0x8(%rbp), %rax
movl 0x50(%rax), %eax
movl %eax, -0xfc(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2dc60
movl -0x110(%rbp), %esi
movl -0x10c(%rbp), %edx
movq -0x108(%rbp), %rcx
movl -0xfc(%rbp), %r8d
movq %rax, %r9
leaq 0x7868(%rip), %rdi      # 0x34a42
movb $0x0, %al
callq 0x1a890
movq -0x8(%rbp), %rdi
callq 0x2ddf0
jmp 0x2d399
leaq 0x758a(%rip), %rdi      # 0x34780
callq 0x2de60
jmp 0x2d399
cmpl $0x2, 0xe71d(%rip)      # 0x3b924
jl 0x2d233
movq 0x17708(%rip), %rax     # 0x44918
movq 0x38(%rax), %rdi
leaq 0x1ebc(%rip), %rsi      # 0x2f0d7
callq 0x30f0
cmpl $0x0, %eax
jne 0x2d233
leaq 0x782d(%rip), %rdi      # 0x34a59
callq 0x2df90
jmp 0x2d23f
leaq 0x7824(%rip), %rdi      # 0x34a5e
callq 0x2de60
jmp 0x2d399
leaq 0x7541(%rip), %rdi      # 0x3478c
callq 0x2de60
jmp 0x2d399
leaq 0x7534(%rip), %rdi      # 0x34790
callq 0x2de60
jmp 0x2d399
leaq 0x7527(%rip), %rdi      # 0x34794
callq 0x2de60
jmp 0x2d399
leaq 0x751e(%rip), %rdi      # 0x3479c
callq 0x2de60
jmp 0x2d399
leaq 0x7511(%rip), %rdi      # 0x347a0
callq 0x2de60
jmp 0x2d399
leaq 0x7504(%rip), %rdi      # 0x347a4
callq 0x2de60
jmp 0x2d399
leaq 0x74fb(%rip), %rdi      # 0x347ac
callq 0x2de60
jmp 0x2d399
leaq 0x74ee(%rip), %rdi      # 0x347b0
callq 0x2de60
jmp 0x2d399
leaq 0x74e1(%rip), %rdi      # 0x347b4
callq 0x2de60
jmp 0x2d399
leaq 0x74d8(%rip), %rdi      # 0x347bc
callq 0x2de60
jmp 0x2d399
leaq 0x74cb(%rip), %rdi      # 0x347c0
callq 0x2de60
jmp 0x2d399
leaq 0x74be(%rip), %rdi      # 0x347c4
callq 0x2de60
jmp 0x2d399
leaq 0x74b5(%rip), %rdi      # 0x347cc
callq 0x2de60
jmp 0x2d399
cmpl $0x2, 0xe5ff(%rip)      # 0x3b924
jl 0x2d351
movq 0x175ea(%rip), %rax     # 0x44918
movq 0x38(%rax), %rdi
leaq 0x1d9e(%rip), %rsi      # 0x2f0d7
callq 0x30f0
cmpl $0x0, %eax
jne 0x2d351
leaq 0x7718(%rip), %rdi      # 0x34a62
callq 0x2df90
jmp 0x2d35d
leaq 0x770f(%rip), %rdi      # 0x34a67
callq 0x2de60
jmp 0x2d399
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rsi
leaq 0x6dfb(%rip), %rdi      # 0x3416c
movb $0x0, %al
callq 0x1a890
jmp 0x2d399
leaq 0x1d56(%rip), %rdi      # 0x2f0d7
leaq 0x6e79(%rip), %rsi      # 0x34201
movl $0x43e, %edx            # imm = 0x43E
leaq 0x76d7(%rip), %rcx      # 0x34a6b
callq 0x30c0
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
nopw %cs:(%rax,%rax)