// File: /workspace/github_c_makefile_star2_O2/mabdi[P]bunney/bunny-main.c
// Function: flow_savefile
static void flow_savefile(_u8* fname) {
  _u32 r;
  struct bunny_flowreq f;
  f.type = FLOW_SAVEFILE;
  f.p1   = strlen(fname);
  f.p2   = 0;
  f.p3   = 0;
  
  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 (write(flow_pipe_cmd,fname,f.p1) != f.p1)
    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 FLOW_SAVEFILE (see bunny-flow.out)");
    
  if (r)
    fatal("NOK response on FLOW_SAVEFILE (see bunny-flow.out)");

}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
leaq 0x10(%rsp), %r15
movl $0x3e9, (%r15)          # imm = 0x3E9
callq 0x20e0
movq %rax, %r14
movl %r14d, 0x4(%r15)
andq $0x0, 0x8(%r15)
movl 0x6b16(%rip), %edi      # 0x1023c
pushq $0x10
popq %rdx
movq %r15, %rsi
callq 0x20b0
cmpq $0x10, %rax
jne 0x9786
movl 0x6aff(%rip), %edi      # 0x1023c
movl %r14d, %r14d
movq %rbx, %rsi
movq %r14, %rdx
callq 0x20b0
cmpq %r14, %rax
jne 0x9803
movl 0x6ae6(%rip), %edi      # 0x10240
leaq 0xc(%rsp), %rsi
pushq $0x4
popq %rdx
callq 0x22e0
cmpq $0x4, %rax
jne 0x9880
cmpl $0x0, 0xc(%rsp)
jne 0x98fa
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
leaq 0x2d2c(%rip), %rdi      # 0xc4b9
xorl %eax, %eax
callq 0x2030
movq 0x6acd(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0x97b2
leaq 0x2d12(%rip), %rdi      # 0xc4b9
pushq $0x54
popq %rsi
pushq $0x1
popq %rdx
callq 0x23b0
leaq 0x1a84(%rip), %rdi      # 0xb23d
leaq 0x36af(%rip), %rsi      # 0xce6f
leaq 0x1a86(%rip), %rdx      # 0xb24d
movl $0x17b, %ecx            # imm = 0x17B
xorl %eax, %eax
callq 0x2030
movq 0x6a8e(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x9975
leaq 0x1a53(%rip), %rsi      # 0xb23d
leaq 0x367e(%rip), %rdx      # 0xce6f
leaq 0x1a55(%rip), %rcx      # 0xb24d
movl $0x17b, %r8d            # imm = 0x17B
jmp 0x996e
leaq 0x2caf(%rip), %rdi      # 0xc4b9
xorl %eax, %eax
callq 0x2030
movq 0x6a50(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0x982f
leaq 0x2c95(%rip), %rdi      # 0xc4b9
pushq $0x54
popq %rsi
pushq $0x1
popq %rdx
callq 0x23b0
leaq 0x1a07(%rip), %rdi      # 0xb23d
leaq 0x3632(%rip), %rsi      # 0xce6f
leaq 0x1a09(%rip), %rdx      # 0xb24d
movl $0x17e, %ecx            # imm = 0x17E
xorl %eax, %eax
callq 0x2030
movq 0x6a11(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x9975
leaq 0x19d6(%rip), %rsi      # 0xb23d
leaq 0x3601(%rip), %rdx      # 0xce6f
leaq 0x19d8(%rip), %rcx      # 0xb24d
movl $0x17e, %r8d            # imm = 0x17E
jmp 0x996e
leaq 0x35f6(%rip), %rdi      # 0xce7d
xorl %eax, %eax
callq 0x2030
movq 0x69d3(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0x98ac
leaq 0x35dc(%rip), %rdi      # 0xce7d
pushq $0x4b
popq %rsi
pushq $0x1
popq %rdx
callq 0x23b0
leaq 0x198a(%rip), %rdi      # 0xb23d
leaq 0x35b5(%rip), %rsi      # 0xce6f
leaq 0x198c(%rip), %rdx      # 0xb24d
movl $0x181, %ecx            # imm = 0x181
xorl %eax, %eax
callq 0x2030
movq 0x6994(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x9975
leaq 0x1959(%rip), %rsi      # 0xb23d
leaq 0x3584(%rip), %rdx      # 0xce6f
leaq 0x195b(%rip), %rcx      # 0xb24d
movl $0x181, %r8d            # imm = 0x181
jmp 0x996e
leaq 0x35c8(%rip), %rdi      # 0xcec9
xorl %eax, %eax
callq 0x2030
movq 0x6959(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0x9926
leaq 0x35ae(%rip), %rdi      # 0xcec9
pushq $0x49
popq %rsi
pushq $0x1
popq %rdx
callq 0x23b0
leaq 0x1910(%rip), %rdi      # 0xb23d
leaq 0x353b(%rip), %rsi      # 0xce6f
leaq 0x1912(%rip), %rdx      # 0xb24d
movl $0x184, %ecx            # imm = 0x184
xorl %eax, %eax
callq 0x2030
movq 0x691a(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x9975
leaq 0x18e3(%rip), %rsi      # 0xb23d
leaq 0x350e(%rip), %rdx      # 0xce6f
leaq 0x18e5(%rip), %rcx      # 0xb24d
movl $0x184, %r8d            # imm = 0x184
xorl %eax, %eax
callq 0x22d0
pushq $0x1
popq %rdi
callq 0x2230