// File: /workspace/github_c_makefile_star2_O0/wuxb45[P]SLB/ibkvcli.c
// Function: fill_requests
static u64
fill_requests(u8 * const sbuf, struct maptest_worker_info * const mi, const u64 batch, const u64 bufsize)
{
  u8 * p = sbuf;
  rgen_next_func next = mi->rgen_next;
  struct vctr * const v = mi->vctr;

  for (u64 i = 0; i < batch; i++) {
    const u64 x = next(mi->gen);
    const u64 y = random_u64() % 100lu;
    if (y < mi->pset) {
      p[0] = 'S';
      p += 4;
      kv_refill((struct kv *)(p), &x, sizeof(x), mi->priv, mi->vlen);
      p += kv_size_align((struct kv *)(p), 4);
      vctr_add1(v, XSA);
    } else {
      if (y < mi->pdel) {
        p[0] = 'D';
        vctr_add1(v, XDA);
      } else if (y < mi->pget) {
        p[0] = 'G';
        vctr_add1(v, XGA);
      } else {
        p[0] = 'P';
        vctr_add1(v, XPA);
      }
      p += 4;
      kv_refill((struct kv *)(p), &x, sizeof(x), "", 0);
      p += key_size_align((struct kv *)(p), 4);
    }
  }

  p[0] = '\0';
  p += 4;
  const u64 reqsize = p - sbuf;
  debug_assert(reqsize <= bufsize);
  return reqsize;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq 0x60(%rax), %rax
movq %rax, -0x38(%rbp)
movq $0x0, -0x40(%rbp)
movq -0x40(%rbp), %rax
cmpq -0x18(%rbp), %rax
jae 0x7163
movq -0x30(%rbp), %rax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rdi
callq *%rax
movq %rax, -0x48(%rbp)
callq 0x9350
movl $0x64, %ecx
xorl %edx, %edx
divq %rcx
movq %rdx, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x30(%rcx), %rax
jae 0x70b1
movq -0x28(%rbp), %rax
movb $0x53, (%rax)
movq -0x28(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rcx
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movl %eax, %r8d
leaq -0x48(%rbp), %rsi
movl $0x8, %edx
callq 0xe0f0
movq -0x28(%rbp), %rdi
movl $0x4, %esi
callq 0xdfa0
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x38(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xb330
jmp 0x7150
movq -0x50(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x38(%rcx), %rax
jae 0x70d6
movq -0x28(%rbp), %rax
movb $0x44, (%rax)
movq -0x38(%rbp), %rdi
movl $0x1, %esi
callq 0xb330
jmp 0x7112
movq -0x50(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x40(%rcx), %rax
jae 0x70fb
movq -0x28(%rbp), %rax
movb $0x47, (%rax)
movq -0x38(%rbp), %rdi
movl $0x2, %esi
callq 0xb330
jmp 0x7110
movq -0x28(%rbp), %rax
movb $0x50, (%rax)
movq -0x38(%rbp), %rdi
movl $0x3, %esi
callq 0xb330
jmp 0x7112
movq -0x28(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
leaq -0x48(%rbp), %rsi
movl $0x8, %edx
leaq 0x1565b(%rip), %rcx     # 0x1c78d
xorl %r8d, %r8d
callq 0xe0f0
movq -0x28(%rbp), %rdi
movl $0x4, %esi
callq 0xe040
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x7152
movq -0x40(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x40(%rbp)
jmp 0x7010
movq -0x28(%rbp), %rax
movb $0x0, (%rax)
movq -0x28(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
cmpq -0x20(%rbp), %rax
setbe %al
movzbl %al, %edi
andl $0x1, %edi
callq 0x79e0
movq -0x58(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)