// File: attractivechaos[P]udb2/stb/./stb.h
// Function: stb__arrsize_
static void stb__arrsize_(void **pp, int size, int limit, int len  STB__PARAMS)
{
   void *p = *pp;
   stb__arr *a;
   stb_arr_check2(p);
   if (p == NULL) {
      if (len == 0 && size == 0) return;
      a = (stb__arr *) stb__arr_malloc(sizeof(*a) + size*limit);
      a->limit = limit;
      a->len   = len;
      a->stb_malloc = !!stb__arr_context;
      a->signature = stb_arr_signature;
   } else {
      a = stb_arrhead2(p);
      a->len = len;
      if (a->limit < limit) {
         void *p;
         if (a->limit >= 4 && limit < a->limit * 2)
            limit = a->limit * 2;
         if (a->stb_malloc)
            p = stb_realloc(a, sizeof(*a) + limit*size);
         else
            #ifdef STB_MALLOC_WRAPPER
            p = stb__realloc(a, sizeof(*a) + limit*size, file, line);
            #else
            p = realloc(a, sizeof(*a) + limit*size);
            #endif
         if (p) {
            a = (stb__arr *) p;
            a->limit = limit;
         } else {
            // throw an error!
         }
      }
   }
   a->len   = stb_min(a->len, a->limit);
   *pp = a+1;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movl %esi, 0x2c(%rsp)
movl %edx, 0x28(%rsp)
movl %ecx, 0x24(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x7e9c
cmpl $0x0, 0x24(%rsp)
jne 0x7e3d
cmpl $0x0, 0x2c(%rsp)
jne 0x7e3d
jmp 0x7fa9
movl 0x2c(%rsp), %eax
imull 0x28(%rsp), %eax
cltq
addq $0x10, %rax
movl %eax, %edi
callq 0x7cd0
movq %rax, 0x10(%rsp)
movl 0x28(%rsp), %ecx
movq 0x10(%rsp), %rax
movl %ecx, 0x4(%rax)
movl 0x24(%rsp), %ecx
movq 0x10(%rsp), %rax
movl %ecx, (%rax)
cmpq $0x0, 0x22211(%rip)     # 0x2a088
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %ecx
movq 0x10(%rsp), %rax
movl %ecx, 0x8(%rax)
movq 0x10(%rsp), %rax
movl $0x51bada7b, 0xc(%rax)  # imm = 0x51BADA7B
jmp 0x7f63
movq 0x18(%rsp), %rax
addq $-0x10, %rax
movq %rax, 0x10(%rsp)
movl 0x24(%rsp), %ecx
movq 0x10(%rsp), %rax
movl %ecx, (%rax)
movq 0x10(%rsp), %rax
movl 0x4(%rax), %eax
cmpl 0x28(%rsp), %eax
jge 0x7f61
movq 0x10(%rsp), %rax
cmpl $0x4, 0x4(%rax)
jl 0x7ef2
movl 0x28(%rsp), %eax
movq 0x10(%rsp), %rcx
movl 0x4(%rcx), %ecx
shll %ecx
cmpl %ecx, %eax
jge 0x7ef2
movq 0x10(%rsp), %rax
movl 0x4(%rax), %eax
shll %eax
movl %eax, 0x28(%rsp)
movq 0x10(%rsp), %rax
cmpl $0x0, 0x8(%rax)
je 0x7f1e
movq 0x10(%rsp), %rdi
movl 0x28(%rsp), %eax
imull 0x2c(%rsp), %eax
movslq %eax, %rsi
addq $0x10, %rsi
callq 0x76a0
movq %rax, 0x8(%rsp)
jmp 0x7f3d
movq 0x10(%rsp), %rdi
movl 0x28(%rsp), %eax
imull 0x2c(%rsp), %eax
movslq %eax, %rsi
addq $0x10, %rsi
callq 0x22b0
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x7f5d
movq 0x8(%rsp), %rax
movq %rax, 0x10(%rsp)
movl 0x28(%rsp), %ecx
movq 0x10(%rsp), %rax
movl %ecx, 0x4(%rax)
jmp 0x7f5f
jmp 0x7f5f
jmp 0x7f61
jmp 0x7f63
movq 0x10(%rsp), %rax
movl (%rax), %eax
movq 0x10(%rsp), %rcx
cmpl 0x4(%rcx), %eax
jge 0x7f81
movq 0x10(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x4(%rsp)
jmp 0x7f8d
movq 0x10(%rsp), %rax
movl 0x4(%rax), %eax
movl %eax, 0x4(%rsp)
movl 0x4(%rsp), %ecx
movq 0x10(%rsp), %rax
movl %ecx, (%rax)
movq 0x10(%rsp), %rcx
addq $0x10, %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
addq $0x38, %rsp
retq
nop