// File: /workspace/github_c_makefile_star2_O3/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)
movq $0x0, 0x8(%r15)
movl 0x6257(%rip), %edi      # 0x1023c
movl $0x10, %edx
movq %r15, %rsi
callq 0x20b0
cmpq $0x10, %rax
jne 0xa049
movl 0x623e(%rip), %edi      # 0x1023c
movl %r14d, %r14d
movq %rbx, %rsi
movq %r14, %rdx
callq 0x20b0
cmpq %r14, %rax
jne 0xa0ca
movl 0x6225(%rip), %edi      # 0x10240
leaq 0xc(%rsp), %rsi
movl $0x4, %edx
callq 0x22e0
cmpq $0x4, %rax
jne 0xa14b
cmpl $0x0, 0xc(%rsp)
jne 0xa1c9
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
leaq 0x2469(%rip), %rdi      # 0xc4b9
xorl %eax, %eax
callq 0x2030
movq 0x620a(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0xa079
leaq 0x244f(%rip), %rdi      # 0xc4b9
movl $0x54, %esi
movl $0x1, %edx
callq 0x23b0
leaq 0x11bd(%rip), %rdi      # 0xb23d
leaq 0x2de8(%rip), %rsi      # 0xce6f
leaq 0x11bf(%rip), %rdx      # 0xb24d
movl $0x17b, %ecx            # imm = 0x17B
xorl %eax, %eax
callq 0x2030
movq 0x61c7(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0xa248
leaq 0x118c(%rip), %rsi      # 0xb23d
leaq 0x2db7(%rip), %rdx      # 0xce6f
leaq 0x118e(%rip), %rcx      # 0xb24d
movl $0x17b, %r8d            # imm = 0x17B
jmp 0xa241
leaq 0x23e8(%rip), %rdi      # 0xc4b9
xorl %eax, %eax
callq 0x2030
movq 0x6189(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0xa0fa
leaq 0x23ce(%rip), %rdi      # 0xc4b9
movl $0x54, %esi
movl $0x1, %edx
callq 0x23b0
leaq 0x113c(%rip), %rdi      # 0xb23d
leaq 0x2d67(%rip), %rsi      # 0xce6f
leaq 0x113e(%rip), %rdx      # 0xb24d
movl $0x17e, %ecx            # imm = 0x17E
xorl %eax, %eax
callq 0x2030
movq 0x6146(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0xa248
leaq 0x110b(%rip), %rsi      # 0xb23d
leaq 0x2d36(%rip), %rdx      # 0xce6f
leaq 0x110d(%rip), %rcx      # 0xb24d
movl $0x17e, %r8d            # imm = 0x17E
jmp 0xa241
leaq 0x2d2b(%rip), %rdi      # 0xce7d
xorl %eax, %eax
callq 0x2030
movq 0x6108(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0xa17b
leaq 0x2d11(%rip), %rdi      # 0xce7d
movl $0x4b, %esi
movl $0x1, %edx
callq 0x23b0
leaq 0x10bb(%rip), %rdi      # 0xb23d
leaq 0x2ce6(%rip), %rsi      # 0xce6f
leaq 0x10bd(%rip), %rdx      # 0xb24d
movl $0x181, %ecx            # imm = 0x181
xorl %eax, %eax
callq 0x2030
movq 0x60c5(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0xa248
leaq 0x108a(%rip), %rsi      # 0xb23d
leaq 0x2cb5(%rip), %rdx      # 0xce6f
leaq 0x108c(%rip), %rcx      # 0xb24d
movl $0x181, %r8d            # imm = 0x181
jmp 0xa241
leaq 0x2cf9(%rip), %rdi      # 0xcec9
xorl %eax, %eax
callq 0x2030
movq 0x608a(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0xa1f9
leaq 0x2cdf(%rip), %rdi      # 0xcec9
movl $0x49, %esi
movl $0x1, %edx
callq 0x23b0
leaq 0x103d(%rip), %rdi      # 0xb23d
leaq 0x2c68(%rip), %rsi      # 0xce6f
leaq 0x103f(%rip), %rdx      # 0xb24d
movl $0x184, %ecx            # imm = 0x184
xorl %eax, %eax
callq 0x2030
movq 0x6047(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0xa248
leaq 0x1010(%rip), %rsi      # 0xb23d
leaq 0x2c3b(%rip), %rdx      # 0xce6f
leaq 0x1012(%rip), %rcx      # 0xb24d
movl $0x184, %r8d            # imm = 0x184
xorl %eax, %eax
callq 0x22d0
movl $0x1, %edi
callq 0x2230