// File: gulamf[P]NRF24LE1Flash/main.cpp
// Function: processCommandLine(int, char**)
bool processCommandLine(int argc, char **argv) {
    int i;
    for(i=1;i<argc;i++) {
        if(strcmp(argv[i],"-f")==0) {
            if( i + 1 == argc ) {
                cout << "Error: hex file not specified.\n";
                usage();
            } else {
                hexfile = argv[i+1];
            }
        }
        if(strcmp(argv[i],"-p")==0) {
            if( i + 1 == argc ) {
                cout << "Error: port not specified.\n";
            } else {
                port = argv[i+1];
            }
        }
        if(strcmp(argv[i],"-b")==0) {
            if( i + 1 == argc ) {
                cout << "Error: baudrate not specified.\n";
            } else {
                if(strcmp(argv[i+1],"50")==0) { baudrate = B50; continue;};
                if(strcmp(argv[i+1],"75")==0) { baudrate = B75; continue;};
                if(strcmp(argv[i+1],"110")==0) { baudrate = B110; continue;};
                if(strcmp(argv[i+1],"134")==0) { baudrate = B134; continue;};
                if(strcmp(argv[i+1],"150")==0) { baudrate = B150; continue;};
                if(strcmp(argv[i+1],"200")==0) { baudrate = B200; continue;};
                if(strcmp(argv[i+1],"300")==0) { baudrate = B300; continue;};
                if(strcmp(argv[i+1],"600")==0) { baudrate = B600; continue;};
                if(strcmp(argv[i+1],"1200")==0) { baudrate = B1200; continue;};
                if(strcmp(argv[i+1],"1800")==0) { baudrate = B1800; continue;};
                if(strcmp(argv[i+1],"2400")==0) { baudrate = B2400; continue;};
                if(strcmp(argv[i+1],"4800")==0) { baudrate = B4800; continue;};
                if(strcmp(argv[i+1],"9600")==0) { baudrate = B9600; continue;};
                if(strcmp(argv[i+1],"19200")==0) { baudrate = B19200; continue;};
                if(strcmp(argv[i+1],"38400")==0) { baudrate = B38400; continue;};
                if(strcmp(argv[i+1],"57600")==0) { baudrate = B57600; continue;};
                if(strcmp(argv[i+1],"115200")==0) { baudrate = B115200; continue;};
                if(strcmp(argv[i+1],"230400")==0) { baudrate = B230400; continue;};
                if(strcmp(argv[i+1],"460800")==0) { baudrate = B460800; continue;};
                if(strcmp(argv[i+1],"500000")==0) { baudrate = B500000; continue;};
                if(strcmp(argv[i+1],"576000")==0) { baudrate = B576000; continue;};
                if(strcmp(argv[i+1],"921600")==0) { baudrate = B921600; continue;};
                if(strcmp(argv[i+1],"1000000")==0) { baudrate = B1000000; continue;};
                if(strcmp(argv[i+1],"1152000")==0) { baudrate = B1152000; continue;};
                if(strcmp(argv[i+1],"1500000")==0) { baudrate = B1500000; continue;};
                if(strcmp(argv[i+1],"2000000")==0) { baudrate = B2000000; continue;};
                if(strcmp(argv[i+1],"2500000")==0) { baudrate = B2500000; continue;};
                if(strcmp(argv[i+1],"3000000")==0) { baudrate = B3000000; continue;};
                if(strcmp(argv[i+1],"3500000")==0) { baudrate = B3500000; continue;};
                if(strcmp(argv[i+1],"4000000")==0) { baudrate = B4000000; continue;};
                cout << "Error: invalid baudrate " << argv[i+1] << "\n";
                return false;
            }
        }
        if(strcmp(argv[i],"-r")==0) {
            if( i + 1 == argc ) {
                cout << "Error: reset not specified.\n";
                return false;
            } else {
                if(strcmp(argv[i+1],"DTR")==0) { resetpin = DTR; continue; };
                if(strcmp(argv[i+1],"RTS")==0) { resetpin = RTS; continue; };
                if(strcmp(argv[i+1],"CTS")==0) { resetpin = CTS; continue; };
                cout << "Error: invalid reset specified " << argv[i+1] << "\n";
                return false;
            }
        }
        if(strcmp(argv[i],"-bl")==0) {
            if( i + 1 == argc ) {
                cout << "Error: reset not specified.\n";
                return false;
            } else {

                if(strcmp(argv[i+1],"DISABLED")==0) { blenabled = DISABLED; continue; };
                if(strcmp(argv[i+1],"DTR")==0) { blenabled = DTR; continue; };
                if(strcmp(argv[i+1],"RTS")==0) { blenabled = RTS; continue; };
                cout << "Error: invalid blenabled specified " << argv[i+1] << "\n";
                return false;
            }
        }
        if(strcmp(argv[i],"-c")==0) {
            if( i + 1 == argc ) {
                cout << "Error: command not specified.\n";
                return false;
            } else {

                if(strcmp(argv[i+1],"CHECK")==0) { command = C_CHECK; continue; };
                if(strcmp(argv[i+1],"FLASH")==0) { command = C_FLASH; continue; };
                cout << "Error: invalid command specified " << argv[i+1] << "\n";
                return false;
            }
        }
        if(strcmp(argv[i],"-h")==0 | strcmp(argv[i],"--help")==0 ) {
            usage();
            exit(0);
        }
    }
    if(hexfile.compare("")==0 && command == C_FLASH) {
        cout<< "Error: hexfile not specified\n";
        return 0;
    }
    return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x1, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl -0x8(%rbp), %eax
jge 0x4615
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x6650(%rip), %rsi      # 0xa1d5
callq 0x33e0
cmpl $0x0, %eax
jne 0x3bd3
movl -0x14(%rbp), %eax
addl $0x1, %eax
cmpl -0x8(%rbp), %eax
jne 0x3bb4
movq 0xa437(%rip), %rdi      # 0xdfd8
leaq 0x6630(%rip), %rsi      # 0xa1d8
callq 0x32a0
callq 0x3a90
jmp 0x3bd1
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
leaq 0xa7c4(%rip), %rdi      # 0xe390
callq 0x33c0
jmp 0x3bd3
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x6612(%rip), %rsi      # 0xa1f8
callq 0x33e0
cmpl $0x0, %eax
jne 0x3c2f
movl -0x14(%rbp), %eax
addl $0x1, %eax
cmpl -0x8(%rbp), %eax
jne 0x3c10
movq 0xa3d6(%rip), %rdi      # 0xdfd8
leaq 0x65f2(%rip), %rsi      # 0xa1fb
callq 0x32a0
jmp 0x3c2d
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
leaq 0xa788(%rip), %rdi      # 0xe3b0
callq 0x33c0
jmp 0x3c2f
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x65d5(%rip), %rsi      # 0xa217
callq 0x33e0
cmpl $0x0, %eax
jne 0x4277
movl -0x14(%rbp), %eax
addl $0x1, %eax
cmpl -0x8(%rbp), %eax
jne 0x3c73
movq 0xa376(%rip), %rdi      # 0xdfd8
leaq 0x65b1(%rip), %rsi      # 0xa21a
callq 0x32a0
jmp 0x4275
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x65bb(%rip), %rsi      # 0xa246
callq 0x33e0
cmpl $0x0, %eax
jne 0x3ca4
movl $0x1, 0xa621(%rip)      # 0xe2c0
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x657e(%rip), %rsi      # 0xa23a
callq 0x33e0
cmpl $0x0, %eax
jne 0x3cd5
movl $0x2, 0xa5f0(%rip)      # 0xe2c0
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x6550(%rip), %rsi      # 0xa23d
callq 0x33e0
cmpl $0x0, %eax
jne 0x3d06
movl $0x3, 0xa5bf(%rip)      # 0xe2c0
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x6523(%rip), %rsi      # 0xa241
callq 0x33e0
cmpl $0x0, %eax
jne 0x3d37
movl $0x4, 0xa58e(%rip)      # 0xe2c0
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x64f6(%rip), %rsi      # 0xa245
callq 0x33e0
cmpl $0x0, %eax
jne 0x3d68
movl $0x5, 0xa55d(%rip)      # 0xe2c0
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x64ce(%rip), %rsi      # 0xa24e
callq 0x33e0
cmpl $0x0, %eax
jne 0x3d99
movl $0x6, 0xa52c(%rip)      # 0xe2c0
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x6498(%rip), %rsi      # 0xa249
callq 0x33e0
cmpl $0x0, %eax
jne 0x3dca
movl $0x7, 0xa4fb(%rip)      # 0xe2c0
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x64b5(%rip), %rsi      # 0xa297
callq 0x33e0
cmpl $0x0, %eax
jne 0x3dfb
movl $0x8, 0xa4ca(%rip)      # 0xe2c0
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x643a(%rip), %rsi      # 0xa24d
callq 0x33e0
cmpl $0x0, %eax
jne 0x3e2c
movl $0x9, 0xa499(%rip)      # 0xe2c0
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x640e(%rip), %rsi      # 0xa252
callq 0x33e0
cmpl $0x0, %eax
jne 0x3e5d
movl $0xa, 0xa468(%rip)      # 0xe2c0
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x63e2(%rip), %rsi      # 0xa257
callq 0x33e0
cmpl $0x0, %eax
jne 0x3e8e
movl $0xb, 0xa437(%rip)      # 0xe2c0
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x63b6(%rip), %rsi      # 0xa25c
callq 0x33e0
cmpl $0x0, %eax
jne 0x3ebf
movl $0xc, 0xa406(%rip)      # 0xe2c0
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x638a(%rip), %rsi      # 0xa261
callq 0x33e0
cmpl $0x0, %eax
jne 0x3ef0
movl $0xd, 0xa3d5(%rip)      # 0xe2c0
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x635e(%rip), %rsi      # 0xa266
callq 0x33e0
cmpl $0x0, %eax
jne 0x3f21
movl $0xe, 0xa3a4(%rip)      # 0xe2c0
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x6333(%rip), %rsi      # 0xa26c
callq 0x33e0
cmpl $0x0, %eax
jne 0x3f52
movl $0xf, 0xa373(%rip)      # 0xe2c0
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x6308(%rip), %rsi      # 0xa272
callq 0x33e0
cmpl $0x0, %eax
jne 0x3f83
movl $0x1001, 0xa342(%rip)   # imm = 0x1001
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x62dd(%rip), %rsi      # 0xa278
callq 0x33e0
cmpl $0x0, %eax
jne 0x3fb4
movl $0x1002, 0xa311(%rip)   # imm = 0x1002
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x62b3(%rip), %rsi      # 0xa27f
callq 0x33e0
cmpl $0x0, %eax
jne 0x3fe5
movl $0x1003, 0xa2e0(%rip)   # imm = 0x1003
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x6289(%rip), %rsi      # 0xa286
callq 0x33e0
cmpl $0x0, %eax
jne 0x4016
movl $0x1004, 0xa2af(%rip)   # imm = 0x1004
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x627e(%rip), %rsi      # 0xa2ac
callq 0x33e0
cmpl $0x0, %eax
jne 0x4047
movl $0x1005, 0xa27e(%rip)   # imm = 0x1005
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x622e(%rip), %rsi      # 0xa28d
callq 0x33e0
cmpl $0x0, %eax
jne 0x4078
movl $0x1006, 0xa24d(%rip)   # imm = 0x1006
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x6204(%rip), %rsi      # 0xa294
callq 0x33e0
cmpl $0x0, %eax
jne 0x40a9
movl $0x1007, 0xa21c(%rip)   # imm = 0x1007
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x61da(%rip), %rsi      # 0xa29b
callq 0x33e0
cmpl $0x0, %eax
jne 0x40da
movl $0x1008, 0xa1eb(%rip)   # imm = 0x1008
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x61b1(%rip), %rsi      # 0xa2a3
callq 0x33e0
cmpl $0x0, %eax
jne 0x410b
movl $0x1009, 0xa1ba(%rip)   # imm = 0x1009
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x6188(%rip), %rsi      # 0xa2ab
callq 0x33e0
cmpl $0x0, %eax
jne 0x413c
movl $0x100a, 0xa189(%rip)   # imm = 0x100A
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x615f(%rip), %rsi      # 0xa2b3
callq 0x33e0
cmpl $0x0, %eax
jne 0x416d
movl $0x100b, 0xa158(%rip)   # imm = 0x100B
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x6136(%rip), %rsi      # 0xa2bb
callq 0x33e0
cmpl $0x0, %eax
jne 0x419e
movl $0x100c, 0xa127(%rip)   # imm = 0x100C
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x610d(%rip), %rsi      # 0xa2c3
callq 0x33e0
cmpl $0x0, %eax
jne 0x41cf
movl $0x100d, 0xa0f6(%rip)   # imm = 0x100D
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x60e4(%rip), %rsi      # 0xa2cb
callq 0x33e0
cmpl $0x0, %eax
jne 0x4200
movl $0x100e, 0xa0c5(%rip)   # imm = 0x100E
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x60bb(%rip), %rsi      # 0xa2d3
callq 0x33e0
cmpl $0x0, %eax
jne 0x4231
movl $0x100f, 0xa094(%rip)   # imm = 0x100F
jmp 0x4607
movq 0x9da0(%rip), %rdi      # 0xdfd8
leaq 0x609c(%rip), %rsi      # 0xa2db
callq 0x32a0
movq %rax, %rdi
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
callq 0x32a0
movq %rax, %rdi
leaq 0x682f(%rip), %rsi      # 0xaa96
callq 0x32a0
movb $0x0, -0x1(%rbp)
jmp 0x4653
jmp 0x4277
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x606a(%rip), %rsi      # 0xa2f4
callq 0x33e0
cmpl $0x0, %eax
jne 0x4396
movl -0x14(%rbp), %eax
addl $0x1, %eax
cmpl -0x8(%rbp), %eax
jne 0x42bf
movq 0x9d2e(%rip), %rdi      # 0xdfd8
leaq 0x6046(%rip), %rsi      # 0xa2f7
callq 0x32a0
movb $0x0, -0x1(%rbp)
jmp 0x4653
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x603d(%rip), %rsi      # 0xa314
callq 0x33e0
cmpl $0x0, %eax
jne 0x42f0
movl $0x1, 0x9fd9(%rip)      # 0xe2c4
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x6010(%rip), %rsi      # 0xa318
callq 0x33e0
cmpl $0x0, %eax
jne 0x4321
movl $0x2, 0x9fa8(%rip)      # 0xe2c4
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x5fe3(%rip), %rsi      # 0xa31c
callq 0x33e0
cmpl $0x0, %eax
jne 0x4352
movl $0x3, 0x9f77(%rip)      # 0xe2c4
jmp 0x4607
movq 0x9c7f(%rip), %rdi      # 0xdfd8
leaq 0x5fc0(%rip), %rsi      # 0xa320
callq 0x32a0
movq %rax, %rdi
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
callq 0x32a0
movq %rax, %rdi
leaq 0x670e(%rip), %rsi      # 0xaa96
callq 0x32a0
movb $0x0, -0x1(%rbp)
jmp 0x4653
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x5f97(%rip), %rsi      # 0xa340
callq 0x33e0
cmpl $0x0, %eax
jne 0x44b5
movl -0x14(%rbp), %eax
addl $0x1, %eax
cmpl -0x8(%rbp), %eax
jne 0x43de
movq 0x9c0f(%rip), %rdi      # 0xdfd8
leaq 0x5f27(%rip), %rsi      # 0xa2f7
callq 0x32a0
movb $0x0, -0x1(%rbp)
jmp 0x4653
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x5f4e(%rip), %rsi      # 0xa344
callq 0x33e0
cmpl $0x0, %eax
jne 0x440f
movl $0x0, 0x9fc6(%rip)      # 0xe3d0
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x5eed(%rip), %rsi      # 0xa314
callq 0x33e0
cmpl $0x0, %eax
jne 0x4440
movl $0x1, 0x9f95(%rip)      # 0xe3d0
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x5ec0(%rip), %rsi      # 0xa318
callq 0x33e0
cmpl $0x0, %eax
jne 0x4471
movl $0x2, 0x9f64(%rip)      # 0xe3d0
jmp 0x4607
movq 0x9b60(%rip), %rdi      # 0xdfd8
leaq 0x5ece(%rip), %rsi      # 0xa34d
callq 0x32a0
movq %rax, %rdi
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
callq 0x32a0
movq %rax, %rdi
leaq 0x65ef(%rip), %rsi      # 0xaa96
callq 0x32a0
movb $0x0, -0x1(%rbp)
jmp 0x4653
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x5ea9(%rip), %rsi      # 0xa371
callq 0x33e0
cmpl $0x0, %eax
jne 0x45a3
movl -0x14(%rbp), %eax
addl $0x1, %eax
cmpl -0x8(%rbp), %eax
jne 0x44fd
movq 0x9af0(%rip), %rdi      # 0xdfd8
leaq 0x5e85(%rip), %rsi      # 0xa374
callq 0x32a0
movb $0x0, -0x1(%rbp)
jmp 0x4653
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x5e7e(%rip), %rsi      # 0xa393
callq 0x33e0
cmpl $0x0, %eax
jne 0x452e
movl $0x0, 0x9eab(%rip)      # 0xe3d4
jmp 0x4607
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x5e53(%rip), %rsi      # 0xa399
callq 0x33e0
cmpl $0x0, %eax
jne 0x455f
movl $0x1, 0x9e7a(%rip)      # 0xe3d4
jmp 0x4607
movq 0x9a72(%rip), %rdi      # 0xdfd8
leaq 0x5e32(%rip), %rsi      # 0xa39f
callq 0x32a0
movq %rax, %rdi
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
callq 0x32a0
movq %rax, %rdi
leaq 0x6501(%rip), %rsi      # 0xaa96
callq 0x32a0
movb $0x0, -0x1(%rbp)
jmp 0x4653
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x5e0b(%rip), %rsi      # 0xa3c1
callq 0x33e0
cmpl $0x0, %eax
sete %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x5de8(%rip), %rsi      # 0xa3c4
callq 0x33e0
movl %eax, %ecx
movl -0x18(%rbp), %eax
cmpl $0x0, %ecx
sete %cl
andb $0x1, %cl
movzbl %cl, %ecx
orl %ecx, %eax
cmpl $0x0, %eax
je 0x4605
callq 0x3a90
xorl %edi, %edi
callq 0x3360
jmp 0x4607
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x3b66
leaq 0x9d74(%rip), %rdi      # 0xe390
leaq 0x6474(%rip), %rsi      # 0xaa97
callq 0x30e0
cmpl $0x0, %eax
jne 0x464f
cmpl $0x1, 0x9da0(%rip)      # 0xe3d4
jne 0x464f
movq 0x999b(%rip), %rdi      # 0xdfd8
leaq 0x5d87(%rip), %rsi      # 0xa3cb
callq 0x32a0
movb $0x0, -0x1(%rbp)
jmp 0x4653
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nop