// File: /workspace/github_c_makefile_star2_O0/randyrossi[P]fisher-modem/mkfilter/src/mkfilter.C
// Function: readcmdline(char**)
static void readcmdline(char* argv[]) {
  options = order = polemask = 0;
  int ap = 0;
  unless(argv[ap] == NULL) ap++; /* skip program name */
  until(argv[ap] == NULL) {
    uint m = decodeoptions(argv[ap++]);
    if (m & opt_ch)
      chebrip = getfarg(argv[ap++]);
    if (m & opt_a) {
      raw_alpha1 = getfarg(argv[ap++]);
      raw_alpha1 = raw_alpha1;
      raw_alpha2 = (argv[ap] != NULL && argv[ap][0] != '-')
                       ? getfarg(argv[ap++])
                       : raw_alpha1;
      raw_alpha2 = raw_alpha2;
    }
    // RR: I didn't like how the alpha argument to this program
    //     was already divided by the sample rate.  It made changing
    //     the sample rate difficult.  So I added two new options
    //     -R and -A so you can give the rate and the frequency
    //     separately.
    if (m & opt_R) {
      sample_rate = getfarg(argv[ap++]);
    }
    if (m & opt_A) {
      raw_alpha1 = getfarg(argv[ap++]);
      raw_alpha1 = raw_alpha1 / sample_rate;
      raw_alpha2 = (argv[ap] != NULL && argv[ap][0] != '-')
                       ? getfarg(argv[ap++])
                       : raw_alpha1;
      raw_alpha2 = raw_alpha2 / sample_rate;
    }
    if (m & opt_Z)
      raw_alphaz = getfarg(argv[ap++]);
    if (m & opt_o)
      order = getiarg(argv[ap++]);
    if (m & opt_p) {
      while (argv[ap] != NULL && argv[ap][0] >= '0' && argv[ap][0] <= '9') {
        int p = atoi(argv[ap++]);
        if (p < 0 || p > 31)
          p = 31; /* out-of-range value will be picked up later */
        polemask |= (1 << p);
      }
    }
    if (m & opt_re) {
      char* s = argv[ap++];
      if (s != NULL && seq(s, "Inf"))
        infq = true;
      else {
        qfactor = getfarg(s);
        infq = false;
      }
    }
    options |= m;
  }
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movl $0x0, 0xfead(%rip)      # 0x11330
movl $0x0, 0xfea7(%rip)      # 0x11334
movl $0x0, 0xfe89(%rip)      # 0x11320
movl $0x0, 0x2c(%rsp)
movq 0x30(%rsp), %rax
movslq 0x2c(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x14bb
movl 0x2c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2c(%rsp)
jmp 0x14bd
movq 0x30(%rsp), %rax
movslq 0x2c(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x14da
jmp 0x189e
movq 0x30(%rsp), %rax
movl 0x2c(%rsp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, 0x2c(%rsp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x3d00
movl %eax, 0x28(%rsp)
movl 0x28(%rsp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x152e
movq 0x30(%rsp), %rax
movl 0x2c(%rsp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, 0x2c(%rsp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x3f30
movsd %xmm0, 0xfe0a(%rip)     # 0x11338
movl 0x28(%rsp), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
je 0x15ef
movq 0x30(%rsp), %rax
movl 0x2c(%rsp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, 0x2c(%rsp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x3f30
movsd %xmm0, 0xfdda(%rip)     # 0x11340
movsd 0xfdd2(%rip), %xmm0     # 0x11340
movsd %xmm0, 0xfdca(%rip)     # 0x11340
movq 0x30(%rsp), %rax
movslq 0x2c(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x15c3
movq 0x30(%rsp), %rax
movslq 0x2c(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x15c3
movq 0x30(%rsp), %rax
movl 0x2c(%rsp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, 0x2c(%rsp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x3f30
movsd %xmm0, 0x10(%rsp)
jmp 0x15d1
movsd 0xfd75(%rip), %xmm0     # 0x11340
movsd %xmm0, 0x10(%rsp)
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xfd69(%rip)     # 0x11348
movsd 0xfd61(%rip), %xmm0     # 0x11348
movsd %xmm0, 0xfd59(%rip)     # 0x11348
movl 0x28(%rsp), %eax
andl $0x20000, %eax          # imm = 0x20000
cmpl $0x0, %eax
je 0x1623
movq 0x30(%rsp), %rax
movl 0x2c(%rsp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, 0x2c(%rsp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x3f30
movsd %xmm0, 0xfd2d(%rip)     # 0x11350
movl 0x28(%rsp), %eax
andl $0x40000, %eax          # imm = 0x40000
cmpl $0x0, %eax
je 0x16f4
movq 0x30(%rsp), %rax
movl 0x2c(%rsp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, 0x2c(%rsp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x3f30
movsd %xmm0, 0xfce5(%rip)     # 0x11340
movsd 0xfcdd(%rip), %xmm0     # 0x11340
divsd 0xfce5(%rip), %xmm0     # 0x11350
movsd %xmm0, 0xfccd(%rip)     # 0x11340
movq 0x30(%rsp), %rax
movslq 0x2c(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x16c0
movq 0x30(%rsp), %rax
movslq 0x2c(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x16c0
movq 0x30(%rsp), %rax
movl 0x2c(%rsp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, 0x2c(%rsp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x3f30
movsd %xmm0, 0x8(%rsp)
jmp 0x16ce
movsd 0xfc78(%rip), %xmm0     # 0x11340
movsd %xmm0, 0x8(%rsp)
movsd 0x8(%rsp), %xmm0
movsd %xmm0, 0xfc6c(%rip)     # 0x11348
movsd 0xfc64(%rip), %xmm0     # 0x11348
divsd 0xfc64(%rip), %xmm0     # 0x11350
movsd %xmm0, 0xfc54(%rip)     # 0x11348
movl 0x28(%rsp), %eax
andl $0x10000, %eax          # imm = 0x10000
cmpl $0x0, %eax
je 0x1728
movq 0x30(%rsp), %rax
movl 0x2c(%rsp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, 0x2c(%rsp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x3f30
movsd %xmm0, 0xfc30(%rip)     # 0x11358
movl 0x28(%rsp), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
je 0x175a
movq 0x30(%rsp), %rax
movl 0x2c(%rsp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, 0x2c(%rsp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x3f50
movl %eax, 0xfbda(%rip)      # 0x11334
movl 0x28(%rsp), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x181c
jmp 0x176e
movq 0x30(%rsp), %rcx
movslq 0x2c(%rsp), %rdx
xorl %eax, %eax
cmpq $0x0, (%rcx,%rdx,8)
movb %al, 0x7(%rsp)
je 0x17bc
movq 0x30(%rsp), %rax
movslq 0x2c(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x30, %ecx
movb %al, 0x7(%rsp)
jl 0x17bc
movq 0x30(%rsp), %rax
movslq 0x2c(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl (%rax), %eax
cmpl $0x39, %eax
setle %al
movb %al, 0x7(%rsp)
movb 0x7(%rsp), %al
testb $0x1, %al
jne 0x17c6
jmp 0x181a
movq 0x30(%rsp), %rax
movl 0x2c(%rsp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, 0x2c(%rsp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x1150
movl %eax, 0x24(%rsp)
cmpl $0x0, 0x24(%rsp)
jl 0x17f6
cmpl $0x1f, 0x24(%rsp)
jle 0x17fe
movl $0x1f, 0x24(%rsp)
movl 0x24(%rsp), %ecx
movl $0x1, %eax
shll %cl, %eax
orl 0xfb21(%rip), %eax      # 0x11330
movl %eax, 0xfb1b(%rip)      # 0x11330
jmp 0x176e
jmp 0x181c
movl 0x28(%rsp), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x1889
movq 0x30(%rsp), %rax
movl 0x2c(%rsp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, 0x2c(%rsp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x186e
movq 0x18(%rsp), %rdi
leaq 0x490e(%rip), %rsi      # 0x6168
callq 0x4ed0
testb $0x1, %al
jne 0x1865
jmp 0x186e
movb $0x1, 0xfaf4(%rip)      # 0x11360
jmp 0x1887
movq 0x18(%rsp), %rdi
callq 0x3f30
movsd %xmm0, 0xfae8(%rip)     # 0x11368
movb $0x0, 0xfad9(%rip)      # 0x11360
jmp 0x1889
movl 0x28(%rsp), %eax
orl 0xfa8d(%rip), %eax      # 0x11320
movl %eax, 0xfa87(%rip)      # 0x11320
jmp 0x14bd
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)