// File: /workspace/github_c_makefile_star2_O1/mabdi[P]bunney/bunny-main.c
// Function: flow_command
static _u32 flow_command(_u32 type, _u32 p1, _u32 p2, _u32 p3) {
  _u32 r;
  struct bunny_flowreq f;
  if (type == FLOW_SAVEFILE) fatal("flow_command called with FLOW_SAVEFILE");
  f.type = type;
  f.p1   = p1;
  f.p2   = p2;
  f.p3   = p3;
  
  if (write(flow_pipe_cmd,&f,sizeof(struct bunny_flowreq)) != sizeof(struct bunny_flowreq))
    fatal("unable to communicate with the component (see bunny-flow.out)");
    
  if (read(flow_pipe_ret,&r,sizeof(_u32)) != sizeof(_u32))
    fatal("short response on command 0x%x(%d,%d,%d) (see bunny-flow.out)",type,p1,p2,p3);
    
  if (type != FLOW_GET_FUZZABLE && r)
    fatal("NOK response on command 0x%x(%d,%d,%d) (see bunny-flow.out)",type,p1,p2,p3);
  else
  if (type == FLOW_GET_FUZZABLE && !r)
    fatal("FLOW_GET_FUZZABLE == 0 (see bunny-flow.out)");

  return r;  
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x18, %rsp
cmpl $0x3e9, %edi            # imm = 0x3E9
je 0x7b34
movl %ecx, %ebx
movl %edx, %ebp
movl %esi, %r15d
movl %edi, %r14d
leaq 0x8(%rsp), %rsi
movl %edi, (%rsi)
movl %r15d, 0x4(%rsi)
movl %edx, 0x8(%rsi)
movl %ecx, 0xc(%rsi)
movl 0x876e(%rip), %edi      # 0x1023c
movl $0x10, %edx
callq 0x20b0
cmpq $0x10, %rax
jne 0x7bb5
movl 0x8758(%rip), %edi      # 0x10240
leaq 0x4(%rsp), %rsi
movl $0x4, %edx
callq 0x22e0
cmpq $0x4, %rax
jne 0x7c36
cmpl $0x3, %r14d
setne %cl
movl 0x4(%rsp), %eax
testl %eax, %eax
setne %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x7cc6
xorl $0x3, %r14d
orl %eax, %r14d
je 0x7d53
addq $0x18, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
leaq 0x4933(%rip), %rdi      # 0xc46e
xorl %eax, %eax
callq 0x2030
movq 0x871f(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0x7b64
leaq 0x4919(%rip), %rdi      # 0xc46e
movl $0x3d, %esi
movl $0x1, %edx
callq 0x23b0
leaq 0x36d2(%rip), %rdi      # 0xb23d
leaq 0x493a(%rip), %rsi      # 0xc4ac
leaq 0x36d4(%rip), %rdx      # 0xb24d
movl $0x15b, %ecx            # imm = 0x15B
xorl %eax, %eax
callq 0x2030
movq 0x86dc(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x7dd2
leaq 0x36a1(%rip), %rsi      # 0xb23d
leaq 0x4909(%rip), %rdx      # 0xc4ac
leaq 0x36a3(%rip), %rcx      # 0xb24d
movl $0x15b, %r8d            # imm = 0x15B
jmp 0x7dcb
leaq 0x48fd(%rip), %rdi      # 0xc4b9
xorl %eax, %eax
callq 0x2030
movq 0x869e(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0x7be5
leaq 0x48e3(%rip), %rdi      # 0xc4b9
movl $0x54, %esi
movl $0x1, %edx
callq 0x23b0
leaq 0x3651(%rip), %rdi      # 0xb23d
leaq 0x48b9(%rip), %rsi      # 0xc4ac
leaq 0x3653(%rip), %rdx      # 0xb24d
movl $0x162, %ecx            # imm = 0x162
xorl %eax, %eax
callq 0x2030
movq 0x865b(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x7dd2
leaq 0x3620(%rip), %rsi      # 0xb23d
leaq 0x4888(%rip), %rdx      # 0xc4ac
leaq 0x3622(%rip), %rcx      # 0xb24d
movl $0x162, %r8d            # imm = 0x162
jmp 0x7dcb
leaq 0x48d1(%rip), %rdi      # 0xc50e
movl %r14d, %esi
movl %r15d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
xorl %eax, %eax
callq 0x2030
movq 0x8612(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x7c75
leaq 0x48ac(%rip), %rsi      # 0xc50e
movl %r14d, %edx
movl %r15d, %ecx
movl %ebp, %r8d
movl %ebx, %r9d
xorl %eax, %eax
callq 0x22d0
leaq 0x35c1(%rip), %rdi      # 0xb23d
leaq 0x4829(%rip), %rsi      # 0xc4ac
leaq 0x35c3(%rip), %rdx      # 0xb24d
movl $0x165, %ecx            # imm = 0x165
xorl %eax, %eax
callq 0x2030
movq 0x85cb(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x7dd2
leaq 0x3590(%rip), %rsi      # 0xb23d
leaq 0x47f8(%rip), %rdx      # 0xc4ac
leaq 0x3592(%rip), %rcx      # 0xb24d
movl $0x165, %r8d            # imm = 0x165
jmp 0x7dcb
leaq 0x4896(%rip), %rdi      # 0xc563
movl %r14d, %esi
movl %r15d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
xorl %eax, %eax
callq 0x2030
movq 0x8582(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x7d05
leaq 0x4871(%rip), %rsi      # 0xc563
movl %r14d, %edx
movl %r15d, %ecx
movl %ebp, %r8d
movl %ebx, %r9d
xorl %eax, %eax
callq 0x22d0
leaq 0x3531(%rip), %rdi      # 0xb23d
leaq 0x4799(%rip), %rsi      # 0xc4ac
leaq 0x3533(%rip), %rdx      # 0xb24d
movl $0x168, %ecx            # imm = 0x168
xorl %eax, %eax
callq 0x2030
movq 0x853b(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x7dd2
leaq 0x3500(%rip), %rsi      # 0xb23d
leaq 0x4768(%rip), %rdx      # 0xc4ac
leaq 0x3502(%rip), %rcx      # 0xb24d
movl $0x168, %r8d            # imm = 0x168
jmp 0x7dcb
leaq 0x485c(%rip), %rdi      # 0xc5b6
xorl %eax, %eax
callq 0x2030
movq 0x8500(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0x7d83
leaq 0x4842(%rip), %rdi      # 0xc5b6
movl $0x42, %esi
movl $0x1, %edx
callq 0x23b0
leaq 0x34b3(%rip), %rdi      # 0xb23d
leaq 0x471b(%rip), %rsi      # 0xc4ac
leaq 0x34b5(%rip), %rdx      # 0xb24d
movl $0x16b, %ecx            # imm = 0x16B
xorl %eax, %eax
callq 0x2030
movq 0x84bd(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x7dd2
leaq 0x3486(%rip), %rsi      # 0xb23d
leaq 0x46ee(%rip), %rdx      # 0xc4ac
leaq 0x3488(%rip), %rcx      # 0xb24d
movl $0x16b, %r8d            # imm = 0x16B
xorl %eax, %eax
callq 0x22d0
movl $0x1, %edi
callq 0x2230