// File: /workspace/github_c_makefile_star2_O3/gplessis[P]dotdeb-redis/deps/jemalloc/src/util.c
// Function: je_malloc_vsnprintf
int
malloc_vsnprintf(char *str, size_t size, const char *format, va_list ap)
{
	int ret;
	size_t i;
	const char *f;

#define	APPEND_C(c) do {						\
	if (i < size)							\
		str[i] = (c);						\
	i++;								\
} while (0)
#define	APPEND_S(s, slen) do {						\
	if (i < size) {							\
		size_t cpylen = (slen <= size - i) ? slen : size - i;	\
		memcpy(&str[i], s, cpylen);				\
	}								\
	i += slen;							\
} while (0)
#define	APPEND_PADDED_S(s, slen, width, left_justify) do {		\
	/* Left padding. */						\
	size_t pad_len = (width == -1) ? 0 : ((slen < (size_t)width) ?	\
	    (size_t)width - slen : 0);					\
	if (!left_justify && pad_len != 0) {				\
		size_t j;						\
		for (j = 0; j < pad_len; j++)				\
			APPEND_C(' ');					\
	}								\
	/* Value. */							\
	APPEND_S(s, slen);						\
	/* Right padding. */						\
	if (left_justify && pad_len != 0) {				\
		size_t j;						\
		for (j = 0; j < pad_len; j++)				\
			APPEND_C(' ');					\
	}								\
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %rcx, 0x10(%rsp)
movq %rdx, %r15
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x8(%rsp), %rax
movq %rdx, (%rax)
leaq 0xc422(%rip), %r10      # 0x499d8
movabsq $-0x3333333333333333, %r11 # imm = 0xCCCCCCCCCCCCCCCD
xorl %r13d, %r13d
movq %rdi, 0x18(%rsp)
movzbl (%r15), %eax
cmpl $0x25, %eax
je 0x3d5ef
testl %eax, %eax
je 0x3e2e4
cmpq %rbx, %r13
jae 0x3d5e2
movb %al, (%r14,%r13)
incq %r13
incq %r15
movq %r15, 0x8(%rsp)
jmp 0x3d5c8
xorl %esi, %esi
xorl %ebp, %ebp
movl $0x0, 0x4(%rsp)
xorl %r12d, %r12d
movl %esi, 0x20(%rsp)
incq %r15
movl %r12d, %eax
movl %eax, %r12d
movq %r15, 0x8(%rsp)
movzbl (%r15), %ecx
incq %r15
movb $0x1, %al
cmpl $0x23, %ecx
je 0x3d608
leal -0x20(%rcx), %eax
cmpl $0x19, %eax
ja 0x3d94a
leaq 0xc2eb(%rip), %rdx      # 0x4991c
movslq (%rdx,%rax,4), %rax
addq %rdx, %rax
jmpq *%rax
decq %r15
movb $0x1, %bpl
jmp 0x3d602
decq %r15
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x3d602
decq %r15
movb $0x1, %sil
jmp 0x3d5fe
callq 0x100a0
movl $0x0, (%rax)
decq %r15
movq %r15, %rdi
leaq 0x8(%rsp), %rsi
movl $0xa, %edx
callq 0x3d40a
movabsq $-0x3333333333333333, %r11 # imm = 0xCCCCCCCCCCCCCCCD
leaq 0xc352(%rip), %r10      # 0x499d8
movq %rax, %r9
movq 0x8(%rsp), %r15
movb (%r15), %cl
movl %ebp, 0x2c(%rsp)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpb $0x2e, %cl
jne 0x3d6f4
leaq 0x1(%r15), %rbp
movq %rbp, 0x8(%rsp)
movb 0x1(%r15), %cl
movzbl %cl, %edx
leal -0x30(%rdx), %eax
cmpl $0xa, %eax
jae 0x3d913
movq %r9, %r15
callq 0x100a0
movl $0x0, (%rax)
movq %rbp, %rdi
leaq 0x8(%rsp), %rsi
movl $0xa, %edx
callq 0x3d40a
movq %r15, %r9
movabsq $-0x3333333333333333, %r11 # imm = 0xCCCCCCCCCCCCCCCD
leaq 0xc2e9(%rip), %r10      # 0x499d8
movq 0x8(%rsp), %r15
leaq 0xc2f9(%rip), %rdi      # 0x499f4
movb (%r15), %cl
movq %r15, %rbp
movzbl %cl, %edx
addl $-0x6a, %edx
cmpl $0x10, %edx
ja 0x3d840
movl $0x10481, %esi          # imm = 0x10481
btl %edx, %esi
jae 0x3d7d4
incq %rbp
movq %rbp, 0x8(%rsp)
movb (%rbp), %dl
movq %rbp, %r15
movzbl %dl, %edx
cmpl $0x63, %edx
jg 0x3d771
cmpl $0x25, %edx
je 0x3d89f
cmpl $0x58, %edx
je 0x3d800
cmpl $0x63, %edx
jne 0x3d5c8
movq 0x10(%rsp), %rdx
movl (%rdx), %ecx
cmpq $0x28, %rcx
ja 0x3d958
movq %rcx, %rax
addq 0x10(%rdx), %rax
addl $0x8, %ecx
movl %ecx, (%rdx)
jmp 0x3d964
leal -0x6f(%rdx), %esi
cmpl $0x9, %esi
ja 0x3d847
leaq 0xc200(%rip), %r8       # 0x49984
movslq (%r8,%rsi,4), %rdx
addq %r8, %rdx
jmpq *%rdx
orb $-0x80, %cl
movzbl %cl, %ecx
cmpl $0xeb, %ecx
jle 0x3dd38
cmpl $0xec, %ecx
leaq 0xc259(%rip), %r8       # 0x49a05
je 0x3dd5c
cmpl $0xf1, %ecx
je 0x3dd5c
movl $0x0, %eax
cmpl $0xfa, %ecx
je 0x3dd5c
jmp 0x3dfb6
cmpl $0x2, %edx
jne 0x3d840
leaq 0x1(%rbp), %r15
movq %r15, 0x8(%rsp)
movb 0x1(%rbp), %dl
movb $0x6c, %cl
cmpb $0x6c, %dl
jne 0x3d72c
addq $0x2, %rbp
movq %rbp, 0x8(%rsp)
movb $0x71, %cl
jmp 0x3d726
orb $-0x80, %cl
movzbl %cl, %ecx
cmpl $0xeb, %ecx
jle 0x3d8b2
cmpl $0xec, %ecx
je 0x3d8cf
cmpl $0xf1, %ecx
je 0x3d8cf
movl $0x0, %eax
cmpl $0xfa, %ecx
je 0x3d8cf
jmp 0x3d9e8
movb $0x3f, %cl
jmp 0x3d726
cmpl $0x64, %edx
je 0x3d855
cmpl $0x69, %edx
jne 0x3d5c8
movzbl %cl, %eax
xorl %edi, %edi
leal -0x6a(%rax), %ecx
cmpl $0xa, %ecx
ja 0x3dbe1
movq %r9, %r14
leaq 0xc13c(%rip), %rdx      # 0x499ac
movslq (%rdx,%rcx,4), %rax
addq %rdx, %rax
movq 0x10(%rsp), %rdx
movl 0x2c(%rsp), %esi
jmpq *%rax
movl (%rdx), %ecx
cmpq $0x28, %rcx
ja 0x3dbd0
movq %rcx, %rax
addq 0x10(%rdx), %rax
addl $0x8, %ecx
movl %ecx, (%rdx)
jmp 0x3e151
cmpq %rbx, %r13
jae 0x3d5e2
movb $0x25, (%r14,%r13)
jmp 0x3d5e2
cmpl $0xbf, %ecx
je 0x3dc1c
movl $0x0, %eax
cmpl $0xea, %ecx
jne 0x3d9e8
movq 0x10(%rsp), %rdx
movl (%rdx), %ecx
cmpq $0x28, %rcx
ja 0x3d9d9
movq %rcx, %rax
addq 0x10(%rdx), %rax
addl $0x8, %ecx
movl %ecx, (%rdx)
jmp 0x3d9e5
movq 0x10(%rsp), %rdx
movl (%rdx), %ecx
cmpq $0x28, %rcx
ja 0x3db99
movq %rcx, %rax
addq 0x10(%rdx), %rax
addl $0x8, %ecx
movl %ecx, (%rdx)
jmp 0x3dba5
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpl $0x2a, %edx
leaq 0xc0d2(%rip), %rdi      # 0x499f4
jne 0x3d701
movq 0x10(%rsp), %rdx
movl (%rdx), %ecx
cmpq $0x28, %rcx
ja 0x3e0be
movq %rcx, %rax
addq 0x10(%rdx), %rax
addl $0x8, %ecx
movl %ecx, (%rdx)
jmp 0x3e0ca
decq %r15
movl $0xffffffff, %r9d       # imm = 0xFFFFFFFF
jmp 0x3d691
movq 0x8(%rdx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rdx)
movb (%rax), %cl
movslq %r9d, %rax
decq %rax
cmpl $0x2, %r9d
movl $0x0, %edx
cmovbq %rdx, %rax
cmpl $-0x1, %r9d
cmoveq %rdx, %rax
testb $0x1, 0x4(%rsp)
jne 0x3d9a2
testq %rax, %rax
je 0x3d9a2
movq %rax, %rdx
cmpq %rbx, %r13
jae 0x3d99a
movb $0x20, (%r14,%r13)
incq %r13
decq %rdx
jne 0x3d990
cmpq %rbx, %r13
jae 0x3d9ab
movb %cl, (%r14,%r13)
incq %r13
testb $0x1, 0x4(%rsp)
je 0x3d5e5
testq %rax, %rax
je 0x3d5e5
cmpq %rbx, %r13
jae 0x3d9cc
movb $0x20, (%r14,%r13)
incq %r13
decq %rax
jne 0x3d9c2
jmp 0x3d5e5
movq 0x8(%rdx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rdx)
movq (%rax), %rax
movb (%r15), %cl
cmpb $0x58, %cl
movb $0x0, 0x70(%rsp)
movq %rdi, %rdx
leaq 0xbfe6(%rip), %rsi      # 0x499e3
cmoveq %rsi, %rdx
xorl %ebp, %ebp
movq %rax, %rsi
leal 0x3f(%rbp), %edi
movl %eax, %r8d
andl $0xf, %r8d
movb (%rdx,%r8), %r8b
movb %r8b, 0x30(%rsp,%rdi)
shrq $0x4, %rsi
decq %rbp
cmpq $0xf, %rax
movq %rsi, %rax
ja 0x3da06
leaq (%rsp,%rdi), %rsi
addq $0x30, %rsi
testb $0x1, %r12b
je 0x3da5c
xorl %eax, %eax
cmpb $0x58, %cl
setne %al
movl $0x2, %ecx
subq %rbp, %rcx
shll $0xd, %eax
orl $0x5830, %eax           # imm = 0x5830
movw %ax, -0x2(%rsi)
addq $-0x2, %rsi
movq %rcx, %rbp
jmp 0x3da5f
negq %rbp
cmpl $-0x1, %r9d
je 0x3daa9
movslq %r9d, %rax
movq %rax, %rcx
subq %rbp, %rcx
movl $0x0, %r12d
cmovaeq %rcx, %r12
seta %r14b
testb $0x1, 0x4(%rsp)
jne 0x3daaf
cmpq %rax, %rbp
jae 0x3daaf
xorl %eax, %eax
movq 0x18(%rsp), %rcx
cmpq %rbx, %r13
jae 0x3da99
movb $0x20, (%rcx,%r13)
incq %r13
incq %rax
cmpq %r12, %rax
jb 0x3da8f
movb $0x1, %r14b
jmp 0x3daaf
xorl %r14d, %r14d
xorl %r12d, %r12d
movq %rbx, %rdx
subq %r13, %rdx
jbe 0x3dadd
cmpq %rdx, %rbp
cmovbq %rbp, %rdx
movq 0x18(%rsp), %rax
leaq (%rax,%r13), %rdi
callq 0x10400
movabsq $-0x3333333333333333, %r11 # imm = 0xCCCCCCCCCCCCCCCD
leaq 0xbefb(%rip), %r10      # 0x499d8
addq %rbp, %r13
movl 0x4(%rsp), %eax
andb %r14b, %al
testb $0x1, %al
je 0x3e2a0
testq %r12, %r12
movq 0x18(%rsp), %r14
je 0x3d5e5
cmpq %rbx, %r13
jae 0x3db07
movb $0x20, (%r14,%r13)
incq %r13
decq %r12
jne 0x3dafd
jmp 0x3d5e5
orb $-0x80, %cl
movzbl %cl, %eax
cmpl $0xeb, %eax
jle 0x3dcfb
cmpl $0xec, %eax
movq 0x10(%rsp), %rdx
je 0x3dd1b
cmpl $0xf1, %eax
je 0x3dd1b
movl $0x0, %ecx
cmpl $0xfa, %eax
je 0x3dd1b
jmp 0x3deb5
movq 0x10(%rsp), %rdx
movl (%rdx), %ecx
cmpq $0x28, %rcx
ja 0x3dc3e
movq %rcx, %rax
addq 0x10(%rdx), %rax
addl $0x8, %ecx
movl %ecx, (%rdx)
jmp 0x3dc4a
movq 0x10(%rsp), %rsi
movl (%rsi), %edx
cmpq $0x28, %rdx
ja 0x3dcdd
movq %rdx, %rcx
addq 0x10(%rsi), %rcx
addl $0x8, %edx
movl %edx, (%rsi)
jmp 0x3dce9
movq 0x8(%rdx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rdx)
movl (%rax), %eax
movq %r15, 0x8(%rsp)
movl %eax, %r9d
negl %r9d
cmovsl %eax, %r9d
testl %eax, %eax
movl 0x4(%rsp), %ecx
movzbl %cl, %ecx
movl $0x1, %eax
cmovsl %eax, %ecx
movl %ecx, 0x4(%rsp)
jmp 0x3d68e
movq 0x8(%rdx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rdx)
jmp 0x3e151
cmpl $0x7a, %eax
movq 0x10(%rsp), %rdx
movl 0x2c(%rsp), %esi
je 0x3e0ed
movq %r9, %r14
cmpl $0x3f, %eax
jne 0x3e154
movl (%rdx), %ecx
cmpq $0x28, %rcx
ja 0x3e2aa
movq %rcx, %rax
addq 0x10(%rdx), %rax
addl $0x8, %ecx
movl %ecx, (%rdx)
jmp 0x3e2b6
movq 0x10(%rsp), %rdx
movl (%rdx), %ecx
cmpq $0x28, %rcx
ja 0x3e0da
movq %rcx, %rax
addq 0x10(%rdx), %rax
addl $0x8, %ecx
movl %ecx, (%rdx)
jmp 0x3e0e6
movq 0x8(%rdx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rdx)
movq (%rax), %rax
movb $0x0, 0x70(%rsp)
movq $-0x2, %r12
movq %rax, %rcx
leal 0x41(%r12), %esi
movl %eax, %edx
andl $0xf, %edx
movb (%rdx,%rdi), %dl
movb %dl, 0x30(%rsp,%rsi)
shrq $0x4, %rcx
decq %r12
cmpq $0xf, %rax
movq %rcx, %rax
ja 0x3dc5c
movq %r12, %rax
negq %rax
movw $0x7830, 0x2e(%rsp,%rsi) # imm = 0x7830
cmpl $-0x1, %r9d
je 0x3dd7e
movslq %r9d, %rcx
movq %rcx, %rdx
subq %rax, %rdx
movl $0x0, %ebp
cmovaeq %rdx, %rbp
seta %dil
testb $0x1, 0x4(%rsp)
jne 0x3dd82
cmpq %rcx, %rax
jae 0x3dd82
xorl %ecx, %ecx
cmpq %rbx, %r13
jae 0x3dcca
movb $0x20, (%r14,%r13)
incq %r13
incq %rcx
cmpq %rbp, %rcx
jb 0x3dcc0
movb $0x1, %dil
jmp 0x3dd82
movq 0x8(%rsi), %rcx
leaq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rsi)
movq (%rcx), %rsi
testl %eax, %eax
js 0x3ddef
movl %eax, %ebp
jmp 0x3de17
cmpl $0xbf, %eax
movq 0x10(%rsp), %rdx
je 0x3e103
movl $0x0, %ecx
cmpl $0xea, %eax
jne 0x3deb5
movl (%rdx), %ecx
cmpq $0x28, %rcx
ja 0x3dea6
movq %rcx, %rax
addq 0x10(%rdx), %rax
addl $0x8, %ecx
movl %ecx, (%rdx)
jmp 0x3deb2
cmpl $0xbf, %ecx
leaq 0xbcc0(%rip), %r8       # 0x49a05
je 0x3e120
movl $0x0, %eax
cmpl $0xea, %ecx
jne 0x3dfb6
movq 0x10(%rsp), %rdx
movl (%rdx), %ecx
cmpq $0x28, %rcx
ja 0x3dfa7
movq %rcx, %rax
addq 0x10(%rdx), %rax
addl $0x8, %ecx
movl %ecx, (%rdx)
jmp 0x3dfb3
xorl %edi, %edi
xorl %ebp, %ebp
movq %rbx, %rdx
subq %r13, %rdx
jbe 0x3ddbd
leaq 0x2e(%rsp), %rcx
addq %rcx, %rsi
cmpq %rdx, %rax
cmovbq %rax, %rdx
movq %rdi, 0x20(%rsp)
leaq (%r14,%r13), %rdi
callq 0x10400
movq 0x20(%rsp), %rdi
movabsq $-0x3333333333333333, %r11 # imm = 0xCCCCCCCCCCCCCCCD
leaq 0xbc1b(%rip), %r10      # 0x499d8
subq %r12, %r13
movl 0x4(%rsp), %eax
andb %dil, %al
testb $0x1, %al
je 0x3d5e5
testq %rbp, %rbp
je 0x3d5e5
cmpq %rbx, %r13
jae 0x3dde2
movb $0x20, (%r14,%r13)
incq %r13
decq %rbp
jne 0x3ddd8
jmp 0x3d5e5
movq %rsi, %rdi
movq %r9, %r12
movq %rsi, %rbp
callq 0x101c0
movq %rbp, %rsi
movq %r12, %r9
movabsq $-0x3333333333333333, %r11 # imm = 0xCCCCCCCCCCCCCCCD
leaq 0xbbc4(%rip), %r10      # 0x499d8
movq %rax, %rbp
movslq %r9d, %r12
subq %rbp, %r12
movl $0x0, %eax
cmovbq %rax, %r12
cmpl $-0x1, %r9d
cmoveq %rax, %r12
testb $0x1, 0x4(%rsp)
jne 0x3de4f
testq %r12, %r12
je 0x3de4f
movq %r12, %rax
cmpq %rbx, %r13
jae 0x3de47
movb $0x20, (%r14,%r13)
incq %r13
decq %rax
jne 0x3de3d
movq %rbx, %rdx
subq %r13, %rdx
jbe 0x3de78
cmpq %rdx, %rbp
cmovbq %rbp, %rdx
leaq (%r14,%r13), %rdi
callq 0x10400
movabsq $-0x3333333333333333, %r11 # imm = 0xCCCCCCCCCCCCCCCD
leaq 0xbb60(%rip), %r10      # 0x499d8
addq %rbp, %r13
testb $0x1, 0x4(%rsp)
je 0x3d5e5
testq %r12, %r12
je 0x3d5e5
cmpq %rbx, %r13
jae 0x3de99
movb $0x20, (%r14,%r13)
incq %r13
decq %r12
jne 0x3de8f
jmp 0x3d5e5
movq 0x8(%rdx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rdx)
movq (%rax), %rcx
movb $0x0, 0x70(%rsp)
xorl %r12d, %r12d
movq %rcx, %rax
mulq %r11
leal 0x3f(%r12), %eax
shrq $0x3, %rdx
leaq (%rdx,%rdx), %rsi
leaq (%rsi,%rsi,4), %rsi
movq %rcx, %rdi
subq %rsi, %rdi
movb (%r10,%rdi), %sil
movb %sil, 0x30(%rsp,%rax)
decl %r12d
cmpq $0x9, %rcx
movq %rdx, %rcx
ja 0x3debd
negl %r12d
cmpl $-0x1, %r9d
je 0x3df36
movslq %r9d, %rcx
movq %rcx, %rdx
subq %r12, %rdx
movl $0x0, %ebp
cmovaeq %rdx, %rbp
seta %sil
testb $0x1, 0x4(%rsp)
jne 0x3df3a
cmpq %r12, %rcx
jbe 0x3df3a
xorl %ecx, %ecx
cmpq %rbx, %r13
jae 0x3df26
movb $0x20, (%r14,%r13)
incq %r13
incq %rcx
cmpq %rbp, %rcx
jb 0x3df1c
movb $0x1, %sil
jmp 0x3df3a
xorl %esi, %esi
xorl %ebp, %ebp
movq %rbx, %rdx
subq %r13, %rdx
jbe 0x3df75
movq %rsi, 0x20(%rsp)
leaq (%rsp,%rax), %rsi
addq $0x30, %rsi
cmpq %rdx, %r12
cmovbq %r12, %rdx
leaq (%r14,%r13), %rdi
callq 0x10400
movq 0x20(%rsp), %rsi
movabsq $-0x3333333333333333, %r11 # imm = 0xCCCCCCCCCCCCCCCD
leaq 0xba63(%rip), %r10      # 0x499d8
addq %r12, %r13
movl 0x4(%rsp), %eax
andb %sil, %al
testb $0x1, %al
je 0x3d5e5
testq %rbp, %rbp
je 0x3d5e5
cmpq %rbx, %r13
jae 0x3df9a
movb $0x20, (%r14,%r13)
incq %r13
decq %rbp
jne 0x3df90
jmp 0x3d5e5
movq 0x8(%rdx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rdx)
movq (%rax), %rax
movb $0x0, 0x70(%rsp)
xorl %ecx, %ecx
movq %rax, %rdx
leal 0x3f(%rcx), %esi
movl %eax, %edi
andl $0x7, %edi
movb (%rdi,%r8), %dil
movb %dil, 0x30(%rsp,%rsi)
shrq $0x3, %rdx
decq %rcx
cmpq $0x7, %rax
movq %rdx, %rax
ja 0x3dfc0
addq %rsp, %rsi
addq $0x30, %rsi
movq %rcx, %rbp
negq %rbp
testb $0x1, %r12b
je 0x3e009
cmpb $0x30, %dil
je 0x3e009
movl $0x1, %ebp
subq %rcx, %rbp
movb $0x30, -0x1(%rsi)
decq %rsi
cmpl $-0x1, %r9d
je 0x3e053
movslq %r9d, %rax
movq %rax, %rcx
subq %rbp, %rcx
movl $0x0, %r12d
cmovaeq %rcx, %r12
seta %r14b
testb $0x1, 0x4(%rsp)
jne 0x3e059
cmpq %rax, %rbp
jae 0x3e059
xorl %eax, %eax
movq 0x18(%rsp), %rcx
cmpq %rbx, %r13
jae 0x3e043
movb $0x20, (%rcx,%r13)
incq %r13
incq %rax
cmpq %r12, %rax
jb 0x3e039
movb $0x1, %r14b
jmp 0x3e059
xorl %r14d, %r14d
xorl %r12d, %r12d
movq %rbx, %rdx
subq %r13, %rdx
jbe 0x3e087
cmpq %rdx, %rbp
cmovbq %rbp, %rdx
movq 0x18(%rsp), %rax
leaq (%rax,%r13), %rdi
callq 0x10400
movabsq $-0x3333333333333333, %r11 # imm = 0xCCCCCCCCCCCCCCCD
leaq 0xb951(%rip), %r10      # 0x499d8
addq %rbp, %r13
movl 0x4(%rsp), %eax
andb %r14b, %al
testb $0x1, %al
je 0x3e2a0
testq %r12, %r12
movq 0x18(%rsp), %r14
je 0x3d5e5
cmpq %rbx, %r13
jae 0x3e0b1
movb $0x20, (%r14,%r13)
incq %r13
decq %r12
jne 0x3e0a7
jmp 0x3d5e5
movq 0x8(%rdx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rdx)
movl (%rax), %eax
addq $0x2, %r15
movq %r15, 0x8(%rsp)
jmp 0x3d6fb
movq 0x8(%rdx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rdx)
movl (%rax), %eax
jmp 0x3d9e8
movl (%rdx), %ecx
cmpq $0x28, %rcx
ja 0x3e142
movq %rcx, %rax
addq 0x10(%rdx), %rax
addl $0x8, %ecx
movl %ecx, (%rdx)
jmp 0x3e14e
movl (%rdx), %ecx
cmpq $0x28, %rcx
ja 0x3e2be
movq %rcx, %rax
addq 0x10(%rdx), %rax
addl $0x8, %ecx
movl %ecx, (%rdx)
jmp 0x3e2ca
movq 0x10(%rsp), %rdx
movl (%rdx), %ecx
cmpq $0x28, %rcx
ja 0x3e2d1
movq %rcx, %rax
addq 0x10(%rdx), %rax
addl $0x8, %ecx
movl %ecx, (%rdx)
jmp 0x3e2dd
movq 0x8(%rdx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rdx)
movq %r9, %r14
movq (%rax), %rdi
testb $0x1, %sil
movl $0x2d, %r8d
movl $0x20, %eax
cmovnel %eax, %r8d
movq %rdi, %rcx
negq %rcx
cmovsq %rdi, %rcx
movb $0x0, 0x70(%rsp)
xorl %r12d, %r12d
movq %rcx, %rax
mulq %r11
leal 0x3f(%r12), %eax
shrq $0x3, %rdx
leaq (%rdx,%rdx), %rsi
leaq (%rsi,%rsi,4), %rsi
movq %rcx, %r9
subq %rsi, %r9
movb (%r10,%r9), %sil
movb %sil, 0x30(%rsp,%rax)
decl %r12d
cmpq $0x9, %rcx
movq %rdx, %rcx
ja 0x3e179
leaq (%rsp,%rax), %rsi
addq $0x30, %rsi
movzbl %r8b, %eax
testb $0x1, 0x20(%rsp)
movl $0x2b, %ecx
cmovnel %ecx, %eax
negl %r12d
testq %rdi, %rdi
movl $0x2d, %ecx
cmovsl %ecx, %eax
cmpb $0x20, %al
je 0x3e1e8
movzbl %al, %ecx
cmpl $0x2b, %ecx
je 0x3e1e8
cmpl $0x2d, %ecx
jne 0x3e1f1
testq %rdi, %rdi
jns 0x3e1f1
incq %r12
movb %al, -0x1(%rsi)
decq %rsi
cmpl $-0x1, %r14d
je 0x3e23a
movslq %r14d, %rax
movq %rax, %rcx
subq %r12, %rcx
movl $0x0, %ebp
cmovaeq %rcx, %rbp
seta %r14b
testb $0x1, 0x4(%rsp)
jne 0x3e23f
cmpq %rax, %r12
jae 0x3e23f
xorl %eax, %eax
movq 0x18(%rsp), %rcx
cmpq %rbx, %r13
jae 0x3e22a
movb $0x20, (%rcx,%r13)
incq %r13
incq %rax
cmpq %rbp, %rax
jb 0x3e220
movb $0x1, %r14b
jmp 0x3e23f
xorl %r14d, %r14d
xorl %ebp, %ebp
movq %rbx, %rdx
subq %r13, %rdx
jbe 0x3e26d
cmpq %rdx, %r12
cmovbq %r12, %rdx
movq 0x18(%rsp), %rax
leaq (%rax,%r13), %rdi
callq 0x10400
movabsq $-0x3333333333333333, %r11 # imm = 0xCCCCCCCCCCCCCCCD
leaq 0xb76b(%rip), %r10      # 0x499d8
addq %r12, %r13
movl 0x4(%rsp), %eax
andb %r14b, %al
testb $0x1, %al
je 0x3e2a0
testq %rbp, %rbp
movq 0x18(%rsp), %r14
je 0x3d5e5
cmpq %rbx, %r13
jae 0x3e293
movb $0x20, (%r14,%r13)
incq %r13
decq %rbp
jne 0x3e289
jmp 0x3d5e5
movq 0x18(%rsp), %r14
jmp 0x3d5e5
movq 0x8(%rdx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rdx)
movslq (%rax), %rdi
jmp 0x3e154
movq 0x8(%rdx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rdx)
movl (%rax), %ecx
jmp 0x3deb5
movq 0x8(%rdx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rdx)
movl (%rax), %eax
jmp 0x3dfb6
leaq (%r14,%r13), %rax
cmpq %rbx, %r13
leaq -0x1(%r14,%rbx), %rcx
cmovbq %rax, %rcx
movb $0x0, (%rcx)
movl %r13d, %eax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq