// File: /workspace/github_c_makefile_star2_O1/Matthias-Wandel[P]imgcomp/src/config.c
// Function: parse_parameter
static int parse_parameter (const char * tag, const char * value)
{
    if (keymatch(tag, "debug", 1) || keymatch(tag, "verbose", 1)) {
        // Enable debug printouts.  Specify more than once for more detail.
        Verbosity += 1;
        return 1;
    }
    if (!value){
        fprintf(stderr, "Parameter '%s' needs to be followed by a value\n",tag);
        return -1;
    }

    if (keymatch(tag, "spurious", 4)) {
        SpuriousReject = value[0]-'0';
        if ((SpuriousReject != 0 && SpuriousReject != 1) || value[1] != 0){
            fprintf(stderr, "Spurious value can only be 0 or 1\n");
        }
    }else if (keymatch(tag, "configfile", 10)) {
        // do nothing; this arg was already interpreted earlier.  Also this is meaningless
        // inside a config file.
    }else if (keymatch(tag, "postmotion", 10)) {
        if (sscanf(value, "%d", &PostMotionKeep) != 1) return -1;
    }else if (keymatch(tag, "premotion", 9)) {
        if (sscanf(value, "%d", &PreMotionKeep) != 1) return -1;
        if (PreMotionKeep != 0 && PreMotionKeep != 1){
            fprintf(stderr, "preMotion may only be 0 or 1\n");
            return -1;
        }
    }else if (keymatch(tag, "brmonitor", 4)) {
        // exposure monnitor works a lot like how brmonitor used to work.
        if (sscanf(value, "%d", &ExposureManagementOn) != 1) return -1;
    }else if (keymatch(tag, "exmanage", 5)) {
        if (sscanf(value, "%d", &ExposureManagementOn) != 1) return -1;
    }else if (keymatch(tag, "relaunch_timeout", 16)) {
        if (sscanf(value, "%d", &relaunch_timeout) != 1) return -1;        
    }else if (keymatch(tag, "give_up_timeout", 15)) {
        if (sscanf(value, "%d", &give_up_timeout) != 1) return -1;
    }else if (strcmp(tag, "fatigue") == 0 || keymatch(tag, "fatigue_tc", 10)) {
        if (sscanf(value, "%d", &MotionFatigueTc) != 1) return -1;
    }else if (keymatch(tag, "fatigue_percent", 11)) {
        if (sscanf(value, "%d", &FatigueGainPercent) != 1) return -1;
    }else if (keymatch(tag, "fatigue_skip", 10)) {
        if (sscanf(value, "%d", &FatigueSkipCount) != 1) return -1;
    } else if (keymatch(tag, "scale", 5)) {
        // Scale the output image by a fraction 1/N.
        if (sscanf(value, "%d", &ScaleDenom) != 1) return -1;
    } else if (keymatch(tag, "sensitivity", 5)) {
        // Sensitivity level (lower = more senstitive) 
        if (sscanf(value, "%d", &Sensitivity) != 1) return -1;
    } else if (keymatch(tag, "timelapse", 5)) {
        // Scale the output image by a fraction M/N.
        if (sscanf(value, "%d", (int *)&TimelapseInterval) != 1) return -1;
    } else if (keymatch(tag, "aquire_cmd", 4)) {
        // Set the command for raspistill command.
        strncpy(camera_prog_cmd, value, sizeof(camera_prog_cmd)-1);
    } else if (keymatch(tag, "iso", 3)) {
        int n = sscanf(value, "%d-%d", &ex.ISOmin, &ex.ISOmax);
        if (n != 1 && n != 2) return -1;
        if (n == 1) ex.ISOmax = ex.ISOmin;
        if (ex.ISOmin > ex.ISOmax || ex.ISOmax > 6400 || ex.ISOmin < 10){
            fprintf(stderr, "Bad ISO range.  Must be 10 - 6400\n");
            return -1;
        }
    } else if (keymatch(tag, "exposure", 3)) {
        int n = sscanf(value, "%f-%f", &ex.Tmin, &ex.Tmax);
        if (n != 1 && n != 2) return -1;
        if (n == 1) ex.Tmax = ex.Tmin;
        if (ex.Tmin > ex.Tmax || ex.Tmax > 0.25 || ex.Tmin < 0.00009){
            // Timelapses mode with more than 1/4 second exposure time tends to mess up
            // raspistill, some combinations hard locking up the whole Pi.
            fprintf(stderr, "Bad exposure time values.  Must be 0.0001 - 10 (seconds)\n");
            return -1;
        }
    } else if (keymatch(tag, "pixsat", 6)) {
        if (sscanf(value, "%d", &ex.SatVal) != 1) return -1;
        if (ex.SatVal < 50 || ex.SatVal > 255){
            fprintf(stderr, "Pixel saturation must be between in range of 50-255\n");
            return -1;
        }
    } else if (keymatch(tag, "isooverextime", 5)) {
        if (sscanf(value, "%d", &ex.ISOoverExTime) != 1) return -1;
        if (ex.ISOoverExTime < 1000 || ex.ISOoverExTime > 50000){
            fprintf(stderr, "ISO/Exposure is out of range (100-50000)\n");
            return -1;
        }
        
    } else if (keymatch(tag, "lighton_run", 11)) {
        strncpy(lighton_run, value, sizeof(lighton_run)-1);
    } else if (keymatch(tag, "lightoff_run", 12)) {
        strncpy(lightoff_run, value, sizeof(lightoff_run)-1);
    } else if (keymatch(tag, "lightoffdelay", 13)) {
        int n = sscanf(value, "%d-%d", &lightoff_min, &lightoff_max);
        if (n != 1 && n != 2) return -1;
        if (n == 1) lightoff_max = lightoff_min;
    } else if (keymatch(tag, "savedir", 4)) {
        // Set where output goes
        strncpy(SaveDir,value, sizeof(SaveDir)-1);
    } else if (keymatch(tag, "savenames", 5)) {
        // Set file / directory naming scheme.  Do not chagne from default
        // if you want the HTML browsing system to still work.
        strncpy(SaveNames,value, sizeof(SaveNames)-1);
        {
            int a,b;
            for (a=0;SaveNames[a];a++){
                if (SaveNames[a] == '%'){
                    for (b=0;b<10;b++) if (SaveNames[a+1] == "dHjmMSUwyY"[b]) break;
                    if (b >=10){
                        fprintf(stderr, "savenames '%%' may only be followed by one of d,H,j,m,M,S,U,w,y, or Y\n");
                        exit(-1);
                    }
                }
            }
        }
    } else if (keymatch(tag, "copyjpgcmd", 5)) {
        // Set the optional copyjpgcmd value, which can be used to process images to keep
        // to make them losselssly 5% smaller with jpegtran, provided your on raspberry pi2 or faster.
        strncpy(CopyJpgCmd, value, sizeof(CopyJpgCmd)-1);

    } else if (keymatch(tag, "logtofile", 8)) {
        // Log to a file instead of stdout.  Must log to /ramdisk/log.txt for realtime view to work.
        strncpy(LogToFile, value, sizeof(SaveDir)-1);
    } else if (keymatch(tag, "movelognames", 12)) {
        // Where to backup logs to.
        strncpy(MoveLogNames,value, sizeof(SaveDir)-1);
    } else if (keymatch(tag, "region", 3)) {
        if (!ParseRegion(&Regions.DetectReg, value)) goto bad_value;
    } else if (keymatch(tag, "exclude", 4)) {
        if (Regions.NumExcludeReg >= MAX_EXCLUDE_REGIONS){
            fprintf(stderr, "too many exclude regions");
            exit(-1);
        }else{
            Region_t NewEx;
            if (!ParseRegion(&NewEx, value)) goto bad_value;
            printf("Exclude region x:%d-%d, y:%d-%d\n",NewEx.x1, NewEx.x2, NewEx.y1, NewEx.y2);
            Regions.ExcludeReg[Regions.NumExcludeReg++] = NewEx;
        }
    } else if (keymatch(tag, "diffmap", 5)) {
        strncpy(DiffMapFileName,value, sizeof(DiffMapFileName)-1);

    } else if (keymatch(tag, "dodir", 5)) {
        // Scale the output image by a fraction M/N. */
        strncpy(DoDirName, value, sizeof(DoDirName)-1);
        FollowDir = 0;
    } else if (keymatch(tag, "followdir", 6)) {
        strncpy(DoDirName,value, sizeof(DoDirName)-1);
        FollowDir = 1;
    } else if (keymatch(tag, "tempdir", 6)) {
        strncpy(TempDirName,value, sizeof(DoDirName)-1);
    } else if (keymatch(tag, "vidmode", 7)) {
        if (sscanf(value, "%d", &VidMode) != 1) return -1;
    } else if (keymatch(tag, "viddecomposecmd", 15)) {
        strncpy(VidDecomposeCmd, value, sizeof(VidDecomposeCmd)-1);
    } else if (keymatch(tag, "sendudp", 7)) {
        strncpy(UdpDest,value, sizeof(UdpDest)-1);
    }else{
        fprintf(stderr,"argument '%s' not understood\n",tag);
        return -1;     // bogus switch
        bad_value:
        fprintf(stderr, "Value of %s=%s\n not understood\n",tag,value);
        return -1;
    }
    return 2;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x7409(%rip), %rsi      # 0xc303
movl $0x1, %ebp
movl $0x1, %edx
callq 0x598d
testl %eax, %eax
jne 0x4f25
leaq 0x73f5(%rip), %rsi      # 0xc309
movq %r14, %rdi
movl $0x1, %edx
callq 0x598d
testl %eax, %eax
je 0x4f36
incl 0xda6d(%rip)            # 0x12998
movl %ebp, %eax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
retq
testq %rbx, %rbx
je 0x4fd4
leaq 0x73fb(%rip), %rsi      # 0xc341
movq %r14, %rdi
movl $0x4, %edx
callq 0x598d
testl %eax, %eax
je 0x4f75
movsbl (%rbx), %eax
addl $-0x30, %eax
movl %eax, 0xda21(%rip)      # 0x12984
cmpl $0x1, %eax
ja 0x4f6e
cmpb $0x0, 0x1(%rbx)
je 0x4f8d
callq 0x35d2
jmp 0x4f8d
leaq 0x624b(%rip), %rsi      # 0xb1c7
movq %r14, %rdi
movl $0xa, %edx
callq 0x598d
testl %eax, %eax
je 0x4f94
movl $0x2, %ebp
jmp 0x4f2b
leaq 0x73d2(%rip), %rsi      # 0xc36d
movq %r14, %rdi
movl $0xa, %edx
callq 0x598d
testl %eax, %eax
je 0x4ff9
leaq 0x9679(%rip), %rsi      # 0xe62c
leaq 0xd9ce(%rip), %rdx      # 0x12988
movq %rbx, %rdi
xorl %eax, %eax
callq 0x3370
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
cmpl $0x1, %eax
jne 0x4f2b
jmp 0x4f8d
movq 0xd01d(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x732c(%rip), %rsi      # 0xc311
movq %r14, %rdx
xorl %eax, %eax
callq 0x3290
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x4f2b
leaq 0x7378(%rip), %rsi      # 0xc378
movq %r14, %rdi
movl $0x9, %edx
callq 0x598d
testl %eax, %eax
je 0x504e
leaq 0x9614(%rip), %rsi      # 0xe62c
leaq 0xd96d(%rip), %rdx      # 0x1298c
movq %rbx, %rdi
xorl %eax, %eax
callq 0x3370
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
cmpl $0x1, %eax
jne 0x4f2b
cmpl $0x2, 0xd94e(%rip)      # 0x1298c
jb 0x4f8d
callq 0x35ee
jmp 0x4f2b
leaq 0x734b(%rip), %rsi      # 0xc3a0
movq %r14, %rdi
movl $0x4, %edx
callq 0x598d
testl %eax, %eax
jne 0x507e
leaq 0x733d(%rip), %rsi      # 0xc3aa
movq %r14, %rdi
movl $0x5, %edx
callq 0x598d
testl %eax, %eax
je 0x5091
leaq 0x95a7(%rip), %rsi      # 0xe62c
leaq 0xd904(%rip), %rdx      # 0x12990
jmp 0x4fba
leaq 0x731b(%rip), %rsi      # 0xc3b3
movq %r14, %rdi
movl $0x10, %edx
callq 0x598d
testl %eax, %eax
je 0x50bc
leaq 0x957c(%rip), %rsi      # 0xe62c
leaq 0xd205(%rip), %rdx      # 0x122bc
jmp 0x4fba
leaq 0x7301(%rip), %rsi      # 0xc3c4
movq %r14, %rdi
movl $0xf, %edx
callq 0x598d
testl %eax, %eax
je 0x50e7
leaq 0x9551(%rip), %rsi      # 0xe62c
leaq 0xd1de(%rip), %rdx      # 0x122c0
jmp 0x4fba
leaq 0x72e6(%rip), %rsi      # 0xc3d4
movq %r14, %rdi
callq 0x3250
testl %eax, %eax
je 0x5112
leaq 0x72db(%rip), %rsi      # 0xc3dc
movq %r14, %rdi
movl $0xa, %edx
callq 0x598d
testl %eax, %eax
je 0x5125
leaq 0x9513(%rip), %rsi      # 0xe62c
leaq 0xd184(%rip), %rdx      # 0x122a4
jmp 0x4fba
leaq 0x72bb(%rip), %rsi      # 0xc3e7
movq %r14, %rdi
movl $0xb, %edx
callq 0x598d
testl %eax, %eax
je 0x5150
leaq 0x94e8(%rip), %rsi      # 0xe62c
leaq 0xd15d(%rip), %rdx      # 0x122a8
jmp 0x4fba
leaq 0x72a0(%rip), %rsi      # 0xc3f7
movq %r14, %rdi
movl $0xa, %edx
callq 0x598d
testl %eax, %eax
je 0x517b
leaq 0x94bd(%rip), %rsi      # 0xe62c
leaq 0xd81e(%rip), %rdx      # 0x12994
jmp 0x4fba
leaq 0x7282(%rip), %rsi      # 0xc404
movq %r14, %rdi
movl $0x5, %edx
callq 0x598d
testl %eax, %eax
je 0x51a6
leaq 0x9492(%rip), %rsi      # 0xe62c
leaq 0xdb47(%rip), %rdx      # 0x12ce8
jmp 0x4fba
leaq 0x725d(%rip), %rsi      # 0xc40a
movq %r14, %rdi
movl $0x5, %edx
callq 0x598d
testl %eax, %eax
je 0x51d1
leaq 0x9467(%rip), %rsi      # 0xe62c
leaq 0xddf4(%rip), %rdx      # 0x12fc0
jmp 0x4fba
leaq 0x723e(%rip), %rsi      # 0xc416
movq %r14, %rdi
movl $0x5, %edx
callq 0x598d
testl %eax, %eax
je 0x51fc
leaq 0x943c(%rip), %rsi      # 0xe62c
leaq 0xddd1(%rip), %rdx      # 0x12fc8
jmp 0x4fba
leaq 0x721d(%rip), %rsi      # 0xc420
movq %r14, %rdi
movl $0x4, %edx
callq 0x598d
testl %eax, %eax
je 0x522d
leaq 0xddb5(%rip), %rdi      # 0x12fd0
movl $0xc7, %edx
movq %rbx, %rsi
callq 0x3090
jmp 0x4f8d
leaq 0x71f7(%rip), %rsi      # 0xc42b
movq %r14, %rdi
movl $0x3, %edx
callq 0x598d
testl %eax, %eax
je 0x52a7
leaq 0x108c4(%rip), %r14     # 0x15b10
leaq 0x4(%r14), %rcx
leaq 0x71d8(%rip), %rsi      # 0xc42f
movq %rbx, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x3370
leal -0x3(%rax), %ecx
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
cmpl $-0x2, %ecx
jb 0x4f2b
cmpl $0x1, %eax
jne 0x5281
movl (%r14), %eax
movl %eax, 0x4(%r14)
movl (%r14), %eax
cmpl $0xa, %eax
jl 0x529d
movl 0x4(%r14), %ecx
cmpl %ecx, %eax
jg 0x529d
cmpl $0x1901, %ecx           # imm = 0x1901
jl 0x4f8d
callq 0x360a
jmp 0x4f2b
leaq 0x71aa(%rip), %rsi      # 0xc458
movq %r14, %rdi
movl $0x3, %edx
callq 0x598d
testl %eax, %eax
je 0x533b
leaq 0x1084a(%rip), %r14     # 0x15b10
leaq 0x8(%r14), %rdx
leaq 0xc(%r14), %rcx
leaq 0x718c(%rip), %rsi      # 0xc461
movq %rbx, %rdi
xorl %eax, %eax
callq 0x3370
leal -0x3(%rax), %ecx
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
cmpl $-0x2, %ecx
jb 0x4f2b
cmpl $0x1, %eax
jne 0x5301
movss 0x8(%r14), %xmm0
movss %xmm0, 0xc(%r14)
movss 0x8(%r14), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x60b5(%rip), %xmm2     # 0xb3c8
ucomisd %xmm1, %xmm2
ja 0x5331
movss 0xc(%r14), %xmm1
ucomiss %xmm1, %xmm0
ja 0x5331
ucomiss 0x60a5(%rip), %xmm1     # 0xb3d0
jbe 0x4f8d
callq 0x3626
jmp 0x4f2b
leaq 0x715f(%rip), %rsi      # 0xc4a1
movq %r14, %rdi
movl $0x6, %edx
callq 0x598d
testl %eax, %eax
je 0x539b
leaq 0x107b6(%rip), %r14     # 0x15b10
leaq 0x10(%r14), %rdx
leaq 0x92c7(%rip), %rsi      # 0xe62c
movq %rbx, %rdi
xorl %eax, %eax
callq 0x3370
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
cmpl $0x1, %eax
jne 0x4f2b
movl $0xffffff00, %eax       # imm = 0xFFFFFF00
addl 0x10(%r14), %eax
cmpl $0xffffff31, %eax       # imm = 0xFFFFFF31
ja 0x4f8d
callq 0x3642
jmp 0x4f2b
leaq 0x713b(%rip), %rsi      # 0xc4dd
movq %r14, %rdi
movl $0x5, %edx
callq 0x598d
testl %eax, %eax
je 0x53fb
leaq 0x10756(%rip), %r14     # 0x15b10
leaq 0x14(%r14), %rdx
leaq 0x9267(%rip), %rsi      # 0xe62c
movq %rbx, %rdi
xorl %eax, %eax
callq 0x3370
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
cmpl $0x1, %eax
jne 0x4f2b
movl $0xffff3caf, %eax       # imm = 0xFFFF3CAF
addl 0x14(%r14), %eax
cmpl $0xffff4096, %eax       # imm = 0xFFFF4096
ja 0x4f8d
callq 0x365e
jmp 0x4f2b
leaq 0x7113(%rip), %rsi      # 0xc515
movq %r14, %rdi
movl $0xb, %edx
callq 0x598d
testl %eax, %eax
je 0x541f
leaq 0xdc86(%rip), %rdi      # 0x130a0
jmp 0x521b
leaq 0x70fb(%rip), %rsi      # 0xc521
movq %r14, %rdi
movl $0xc, %edx
callq 0x598d
testl %eax, %eax
je 0x5443
leaq 0xdd32(%rip), %rdi      # 0x13170
jmp 0x521b
leaq 0x70e4(%rip), %rsi      # 0xc52e
movq %r14, %rdi
movl $0xd, %edx
callq 0x598d
testl %eax, %eax
je 0x54a1
leaq 0x6fcd(%rip), %rsi      # 0xc42f
leaq 0xce43(%rip), %rdx      # 0x122ac
leaq 0xce40(%rip), %rcx      # 0x122b0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x3370
leal -0x1(%rax), %ecx
cmpl $0x1, %eax
jne 0x548e
movl 0xce24(%rip), %eax      # 0x122ac
movl %eax, 0xce22(%rip)      # 0x122b0
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
cmpl $0x2, %ecx
jae 0x4f2b
jmp 0x4f8d
leaq 0x7094(%rip), %rsi      # 0xc53c
movq %r14, %rdi
movl $0x4, %edx
callq 0x598d
testl %eax, %eax
je 0x54c5
leaq 0xd5c0(%rip), %rdi      # 0x12a80
jmp 0x521b
leaq 0x7078(%rip), %rsi      # 0xc544
movq %r14, %rdi
movl $0x5, %edx
callq 0x598d
testl %eax, %eax
je 0x5539
leaq 0xd66c(%rip), %r14      # 0x12b50
movl $0xc7, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3090
xorl %eax, %eax
leaq 0x7051(%rip), %rcx      # 0xc54e
movzbl (%rax,%r14), %edx
cmpl $0x25, %edx
je 0x5510
testl %edx, %edx
jne 0x5534
jmp 0x4f8d
movb 0x1(%rax,%r14), %sil
xorl %edx, %edx
cmpb (%rdx,%rcx), %sil
je 0x552b
incq %rdx
cmpq $0xa, %rdx
jne 0x5517
movl $0xa, %edx
cmpl $0xa, %edx
jae 0x5764
incq %rax
jmp 0x54fd
leaq 0x7060(%rip), %rsi      # 0xc5a0
movq %r14, %rdi
movl $0x5, %edx
callq 0x598d
testl %eax, %eax
je 0x555d
leaq 0xd6c8(%rip), %rdi      # 0x12c20
jmp 0x521b
leaq 0x7047(%rip), %rsi      # 0xc5ab
movq %r14, %rdi
movl $0x8, %edx
callq 0x598d
testl %eax, %eax
je 0x5581
leaq 0xd8a4(%rip), %rdi      # 0x12e20
jmp 0x521b
leaq 0x702d(%rip), %rsi      # 0xc5b5
movq %r14, %rdi
movl $0xc, %edx
callq 0x598d
testl %eax, %eax
je 0x55a5
leaq 0xd950(%rip), %rdi      # 0x12ef0
jmp 0x521b
leaq 0x7016(%rip), %rsi      # 0xc5c2
movq %r14, %rdi
movl $0x3, %edx
callq 0x598d
testl %eax, %eax
je 0x55d9
leaq 0xd7f4(%rip), %rdi      # 0x12db8
movq %rbx, %rsi
callq 0x5a0a
testl %eax, %eax
jne 0x4f8d
jmp 0x56b7
leaq 0x6fe9(%rip), %rsi      # 0xc5c9
movq %r14, %rdi
movl $0x4, %edx
callq 0x598d
testl %eax, %eax
je 0x5658
cmpl $0x5, 0xd820(%rip)      # 0x12e18
jge 0x578d
movq %rsp, %rdi
movq %rbx, %rsi
callq 0x5a0a
testl %eax, %eax
je 0x56b7
movl (%rsp), %esi
movl 0x4(%rsp), %edx
movl 0x8(%rsp), %ecx
movl 0xc(%rsp), %r8d
leaq 0x6fc2(%rip), %rdi      # 0xc5ea
xorl %eax, %eax
callq 0x3170
movslq 0xd7e2(%rip), %rax      # 0x12e18
leaq 0xd77b(%rip), %rcx      # 0x12db8
leal 0x1(%rax), %edx
movl %edx, 0xd7d2(%rip)      # 0x12e18
shlq $0x4, %rax
movups (%rsp), %xmm0
movups %xmm0, 0x10(%rax,%rcx)
jmp 0x4f8d
leaq 0x6fac(%rip), %rsi      # 0xc60b
movq %r14, %rdi
movl $0x5, %edx
callq 0x598d
testl %eax, %eax
je 0x567c
leaq 0xd679(%rip), %rdi      # 0x12cf0
jmp 0x521b
leaq 0x6f90(%rip), %rsi      # 0xc613
movq %r14, %rdi
movl $0x5, %edx
callq 0x598d
testl %eax, %eax
je 0x56da
leaq 0xd315(%rip), %rdi      # 0x129b0
movl $0xc7, %edx
movq %rbx, %rsi
callq 0x3090
movl $0x0, 0xd2ce(%rip)      # 0x12980
jmp 0x4f8d
movq 0xc93a(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x6fa1(%rip), %rsi      # 0xc669
movq %r14, %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x3290
jmp 0x4fef
leaq 0x6f38(%rip), %rsi      # 0xc619
movq %r14, %rdi
movl $0x6, %edx
callq 0x598d
testl %eax, %eax
je 0x5715
leaq 0xd2b7(%rip), %rdi      # 0x129b0
movl $0xc7, %edx
movq %rbx, %rsi
callq 0x3090
movl $0x1, 0xd270(%rip)      # 0x12980
jmp 0x4f8d
leaq 0x6f07(%rip), %rsi      # 0xc623
movq %r14, %rdi
movl $0x6, %edx
callq 0x598d
testl %eax, %eax
je 0x5739
leaq 0xdc0c(%rip), %rdi      # 0x13340
jmp 0x521b
leaq 0x6eeb(%rip), %rsi      # 0xc62b
movq %r14, %rdi
movl $0x7, %edx
callq 0x598d
testl %eax, %eax
je 0x5769
leaq 0x8ed4(%rip), %rsi      # 0xe62c
leaq 0xdb01(%rip), %rdx      # 0x13260
jmp 0x4fba
callq 0x367a
leaq 0x6ec3(%rip), %rsi      # 0xc633
movq %r14, %rdi
movl $0xf, %edx
callq 0x598d
testl %eax, %eax
je 0x5792
leaq 0xdae8(%rip), %rdi      # 0x13270
jmp 0x521b
callq 0x369b
leaq 0x6eaa(%rip), %rsi      # 0xc643
movq %r14, %rdi
movl $0x7, %edx
callq 0x598d
testl %eax, %eax
je 0x57bb
leaq 0xda8f(%rip), %rdi      # 0x13240
movl $0x1d, %edx
jmp 0x5220
movq 0xc836(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x6e7f(%rip), %rsi      # 0xc64b
jmp 0x4fe5