// File: /workspace/github_c_makefile_star2_O1/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 0x6283(%rip), %edi      # 0x1023c
movl $0x10, %edx
movq %r15, %rsi
callq 0x20b0
cmpq $0x10, %rax
jne 0xa01d
movl 0x626a(%rip), %edi      # 0x1023c
movl %r14d, %r14d
movq %rbx, %rsi
movq %r14, %rdx
callq 0x20b0
cmpq %r14, %rax
jne 0xa09e
movl 0x6251(%rip), %edi      # 0x10240
leaq 0xc(%rsp), %rsi
movl $0x4, %edx
callq 0x22e0
cmpq $0x4, %rax
jne 0xa11f
cmpl $0x0, 0xc(%rsp)
jne 0xa19d
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
leaq 0x2495(%rip), %rdi      # 0xc4b9
xorl %eax, %eax
callq 0x2030
movq 0x6236(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0xa04d
leaq 0x247b(%rip), %rdi      # 0xc4b9
movl $0x54, %esi
movl $0x1, %edx
callq 0x23b0
leaq 0x11e9(%rip), %rdi      # 0xb23d
leaq 0x2e14(%rip), %rsi      # 0xce6f
leaq 0x11eb(%rip), %rdx      # 0xb24d
movl $0x17b, %ecx            # imm = 0x17B
xorl %eax, %eax
callq 0x2030
movq 0x61f3(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0xa21c
leaq 0x11b8(%rip), %rsi      # 0xb23d
leaq 0x2de3(%rip), %rdx      # 0xce6f
leaq 0x11ba(%rip), %rcx      # 0xb24d
movl $0x17b, %r8d            # imm = 0x17B
jmp 0xa215
leaq 0x2414(%rip), %rdi      # 0xc4b9
xorl %eax, %eax
callq 0x2030
movq 0x61b5(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0xa0ce
leaq 0x23fa(%rip), %rdi      # 0xc4b9
movl $0x54, %esi
movl $0x1, %edx
callq 0x23b0
leaq 0x1168(%rip), %rdi      # 0xb23d
leaq 0x2d93(%rip), %rsi      # 0xce6f
leaq 0x116a(%rip), %rdx      # 0xb24d
movl $0x17e, %ecx            # imm = 0x17E
xorl %eax, %eax
callq 0x2030
movq 0x6172(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0xa21c
leaq 0x1137(%rip), %rsi      # 0xb23d
leaq 0x2d62(%rip), %rdx      # 0xce6f
leaq 0x1139(%rip), %rcx      # 0xb24d
movl $0x17e, %r8d            # imm = 0x17E
jmp 0xa215
leaq 0x2d57(%rip), %rdi      # 0xce7d
xorl %eax, %eax
callq 0x2030
movq 0x6134(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0xa14f
leaq 0x2d3d(%rip), %rdi      # 0xce7d
movl $0x4b, %esi
movl $0x1, %edx
callq 0x23b0
leaq 0x10e7(%rip), %rdi      # 0xb23d
leaq 0x2d12(%rip), %rsi      # 0xce6f
leaq 0x10e9(%rip), %rdx      # 0xb24d
movl $0x181, %ecx            # imm = 0x181
xorl %eax, %eax
callq 0x2030
movq 0x60f1(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0xa21c
leaq 0x10b6(%rip), %rsi      # 0xb23d
leaq 0x2ce1(%rip), %rdx      # 0xce6f
leaq 0x10b8(%rip), %rcx      # 0xb24d
movl $0x181, %r8d            # imm = 0x181
jmp 0xa215
leaq 0x2d25(%rip), %rdi      # 0xcec9
xorl %eax, %eax
callq 0x2030
movq 0x60b6(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0xa1cd
leaq 0x2d0b(%rip), %rdi      # 0xcec9
movl $0x49, %esi
movl $0x1, %edx
callq 0x23b0
leaq 0x1069(%rip), %rdi      # 0xb23d
leaq 0x2c94(%rip), %rsi      # 0xce6f
leaq 0x106b(%rip), %rdx      # 0xb24d
movl $0x184, %ecx            # imm = 0x184
xorl %eax, %eax
callq 0x2030
movq 0x6073(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0xa21c
leaq 0x103c(%rip), %rsi      # 0xb23d
leaq 0x2c67(%rip), %rdx      # 0xce6f
leaq 0x103e(%rip), %rcx      # 0xb24d
movl $0x184, %r8d            # imm = 0x184
xorl %eax, %eax
callq 0x22d0
movl $0x1, %edi
callq 0x2230