// File: /workspace/github_c_makefile_star2_O3/koendv[P]stm32duino-raspberrypi/Arduino_Tools/src/stm32flash/stm32.c
// Function: stm32_erase_memory
stm32_err_t stm32_erase_memory(const stm32_t *stm, uint32_t spage, uint32_t pages)
{
	uint32_t n;
	stm32_err_t s_err;

	if (!pages || spage > STM32_MAX_PAGES ||
	    ((pages != STM32_MASS_ERASE) && ((spage + pages) > STM32_MAX_PAGES)))
		return STM32_ERR_OK;

	if (stm->cmd->er == STM32_CMD_ERR) {
		fprintf(stderr, "Error: ERASE command not implemented in bootloader.\n");
		return STM32_ERR_NO_CMD;
	}

	if (pages == STM32_MASS_ERASE) {
		/*
		 * Not all chips support mass erase.
		 * Mass erase can be obtained executing a "readout protect"
		 * followed by "readout un-protect". This method is not
		 * suggested because can hang the target if a debug SWD/JTAG
		 * is connected. When the target enters in "readout
		 * protection" mode it will consider the debug connection as
		 * a tentative of intrusion and will hang.
		 * Erasing the flash page-by-page is the safer way to go.
		 */
		if (!(stm->dev->flags & F_NO_ME))
			return stm32_mass_erase(stm);

		pages = flash_addr_to_page_ceil(stm->dev->fl_end);
	}

	/*
	 * Some device, like STM32L152, cannot erase more than 512 pages in
	 * one command. Split the call.
	 */
	while (pages) {
		n = (pages <= 512) ? pages : 512;
		s_err = stm32_pages_erase(stm, spage, n);
		if (s_err != STM32_ERR_OK)
			return s_err;
		spage += n;
		pages -= n;
	}
	return STM32_ERR_OK;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
testl %edx, %edx
sete %al
cmpl $0x10000, %esi          # imm = 0x10000
setae %cl
xorl %r13d, %r13d
orb %al, %cl
jne 0x6e6d
movl %edx, %r15d
movl %esi, %ebp
cmpl $0x100000, %edx         # imm = 0x100000
setne %al
leal (%r15,%rbp), %ecx
cmpl $0x10000, %ecx          # imm = 0x10000
setae %cl
testb %cl, %al
jne 0x6e6d
movq %rdi, %r14
movq 0x18(%rdi), %rax
movb 0x6(%rax), %al
cmpb $-0x1, %al
je 0x6e22
leaq 0x18(%r14), %rcx
movq %rcx, 0x10(%rsp)
cmpl $0x100000, %r15d        # imm = 0x100000
movq %r14, 0x18(%rsp)
jne 0x65d0
movq 0x20(%r14), %rcx
testb $0x1, 0x40(%rcx)
jne 0x65bd
movq %r14, %rdi
movq 0x8(%r14), %r14
movzbl %al, %esi
xorl %edx, %edx
callq 0x7373
testl %eax, %eax
jne 0x6e36
movq 0x10(%rsp), %rax
movq (%rax), %rax
cmpb $0x43, 0x6(%rax)
jne 0x6de8
movl $0x23, %edx
movq 0x18(%rsp), %rdi
movl $0xff, %esi
callq 0x7373
testl %eax, %eax
je 0x6e1d
movl $0x1, %r13d
testb $0x10, 0x8(%r14)
je 0x6e6d
leaq 0x3bfa(%rip), %rdi      # 0xa1b2
jmp 0x6dde
movl 0x1c(%rcx), %edi
callq 0x38f0
movl %eax, %r15d
testl %eax, %eax
je 0x6e6d
movl $0x200, %eax            # imm = 0x200
cmpl %eax, %r15d
movl $0x200, %ebx            # imm = 0x200
cmovbl %r15d, %ebx
movq 0x8(%r14), %r12
movq 0x18(%r14), %rax
movzbl 0x6(%rax), %esi
movq %r14, %rdi
xorl %edx, %edx
callq 0x7373
testl %eax, %eax
jne 0x6e2f
movq 0x10(%rsp), %rax
movq (%rax), %rax
cmpb $0x43, 0x6(%rax)
jne 0x6d10
leal 0x2(%rbx), %edi
callq 0x21c0
testq %rax, %rax
je 0x6e67
movq %rax, %r13
leal -0x1(%rbx), %ecx
movb %cl, (%rax)
leal (%rbx,%rbp), %eax
movl $0x1, %edx
movl %eax, 0xc(%rsp)
cmpl %ebp, %eax
jbe 0x6cd1
movl $0x200, %eax            # imm = 0x200
cmpl %eax, %r15d
movl $0x200, %eax            # imm = 0x200
cmovbl %r15d, %eax
leal 0x1(%rbx), %edx
leaq -0x1(%rax), %rsi
addl $0xf, %eax
andl $0x7f0, %eax            # imm = 0x7F0
movzbl %cl, %ecx
movd %ecx, %xmm5
movd %ebp, %xmm0
punpcklbw %xmm0, %xmm0    # xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
pshuflw $0x0, %xmm0, %xmm0      # xmm0 = xmm0[0,0,0,0,4,5,6,7]
pshufd $0x0, %xmm0, %xmm2      # xmm2 = xmm0[0,0,0,0]
paddb 0x3471(%rip), %xmm2     # 0x9af0
movq %rsi, %xmm0
pshufd $0x44, %xmm0, %xmm0     # xmm0 = xmm0[0,1,0,1]
movdqa %xmm0, 0x30(%rsp)
movl %ebp, %ecx
xorl %esi, %esi
movdqa 0x3444(%rip), %xmm15    # 0x9ae0
pcmpeqd %xmm14, %xmm14
movdqa %xmm5, %xmm0
movq %rsi, %xmm1
pshufd $0x44, %xmm1, %xmm4     # xmm4 = xmm1[0,1,0,1]
movdqa %xmm4, %xmm1
por 0x33e5(%rip), %xmm1     # 0x9aa0
movdqa 0x30(%rsp), %xmm5
pxor %xmm15, %xmm5
pxor %xmm15, %xmm1
movdqa %xmm1, %xmm7
pcmpgtd %xmm5, %xmm7
pshufd $0xa0, %xmm7, %xmm6     # xmm6 = xmm7[0,0,2,2]
pshuflw $0xe8, %xmm6, %xmm8     # xmm8 = xmm6[0,2,2,3,4,5,6,7]
pcmpeqd %xmm5, %xmm1
pshufd $0xf5, %xmm1, %xmm1     # xmm1 = xmm1[1,1,3,3]
pshuflw $0xe8, %xmm1, %xmm9     # xmm9 = xmm1[0,2,2,3,4,5,6,7]
pand %xmm8, %xmm9
pshufd $0xf5, %xmm7, %xmm7     # xmm7 = xmm7[1,1,3,3]
pshuflw $0xe8, %xmm7, %xmm8     # xmm8 = xmm7[0,2,2,3,4,5,6,7]
por %xmm9, %xmm8
pxor %xmm14, %xmm8
packssdw %xmm8, %xmm8
movd %xmm8, %edi
testb $0x1, %dil
je 0x6720
leaq (%rcx,%rsi), %rdi
movb %dil, 0x1(%r13,%rsi)
pand %xmm6, %xmm1
por %xmm7, %xmm1
movdqa %xmm1, %xmm6
packssdw %xmm6, %xmm6
pxor %xmm14, %xmm6
packssdw %xmm6, %xmm6
packsswb %xmm6, %xmm6
movd %xmm6, %edi
shrl $0x8, %edi
testb $0x1, %dil
je 0x6755
leal (%rcx,%rsi), %edi
incb %dil
movb %dil, 0x2(%r13,%rsi)
movdqa %xmm4, %xmm6
por 0x334f(%rip), %xmm6     # 0x9ab0
pxor %xmm15, %xmm6
movdqa %xmm6, %xmm9
pcmpgtd %xmm5, %xmm9
pshufd $0xa0, %xmm9, %xmm7     # xmm7 = xmm9[0,0,2,2]
pcmpeqd %xmm5, %xmm6
pshufd $0xf5, %xmm6, %xmm8     # xmm8 = xmm6[1,1,3,3]
movdqa %xmm8, %xmm6
pand %xmm7, %xmm6
pshufd $0xf5, %xmm9, %xmm9     # xmm9 = xmm9[1,1,3,3]
por %xmm9, %xmm6
packssdw %xmm6, %xmm10
pxor %xmm14, %xmm10
packssdw %xmm10, %xmm10
packsswb %xmm10, %xmm10
movd %xmm10, %edi
shrl $0x10, %edi
testb $0x1, %dil
je 0x67c2
leal (%rcx,%rsi), %edi
addb $0x2, %dil
movb %dil, 0x3(%r13,%rsi)
pshufhw $0x84, %xmm7, %xmm7     # xmm7 = xmm7[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm8, %xmm8     # xmm8 = xmm8[0,1,2,3,4,5,4,6]
pand %xmm7, %xmm8
pshufhw $0x84, %xmm9, %xmm7     # xmm7 = xmm9[0,1,2,3,4,5,4,6]
por %xmm8, %xmm7
pxor %xmm14, %xmm7
packssdw %xmm7, %xmm7
packsswb %xmm7, %xmm7
movd %xmm7, %edi
shrl $0x18, %edi
testb $0x1, %dil
je 0x6803
leal (%rcx,%rsi), %edi
addb $0x3, %dil
movb %dil, 0x4(%r13,%rsi)
movdqa %xmm4, %xmm7
por 0x32b1(%rip), %xmm7     # 0x9ac0
pxor %xmm15, %xmm7
movdqa %xmm7, %xmm9
pcmpgtd %xmm5, %xmm9
pshufd $0xa0, %xmm9, %xmm8     # xmm8 = xmm9[0,0,2,2]
pshuflw $0xe8, %xmm8, %xmm10    # xmm10 = xmm8[0,2,2,3,4,5,6,7]
pcmpeqd %xmm5, %xmm7
pshufd $0xf5, %xmm7, %xmm7     # xmm7 = xmm7[1,1,3,3]
pshuflw $0xe8, %xmm7, %xmm11    # xmm11 = xmm7[0,2,2,3,4,5,6,7]
pand %xmm10, %xmm11
pshufd $0xf5, %xmm9, %xmm9     # xmm9 = xmm9[1,1,3,3]
pshuflw $0xe8, %xmm9, %xmm10    # xmm10 = xmm9[0,2,2,3,4,5,6,7]
por %xmm11, %xmm10
pxor %xmm14, %xmm10
packssdw %xmm10, %xmm10
packsswb %xmm10, %xmm10
pextrw $0x2, %xmm10, %edi
testb $0x1, %dil
je 0x6876
leal (%rcx,%rsi), %edi
addb $0x4, %dil
movb %dil, 0x5(%r13,%rsi)
pand %xmm8, %xmm7
por %xmm9, %xmm7
movdqa %xmm7, %xmm8
packssdw %xmm8, %xmm8
pxor %xmm14, %xmm8
packssdw %xmm8, %xmm8
packsswb %xmm8, %xmm8
pextrw $0x2, %xmm8, %edi
shrl $0x8, %edi
testb $0x1, %dil
je 0x68b4
leal (%rcx,%rsi), %edi
addb $0x5, %dil
movb %dil, 0x6(%r13,%rsi)
movdqa %xmm4, %xmm8
por 0x320e(%rip), %xmm8     # 0x9ad0
pxor %xmm15, %xmm8
movdqa %xmm8, %xmm11
pcmpgtd %xmm5, %xmm11
pshufd $0xa0, %xmm11, %xmm9    # xmm9 = xmm11[0,0,2,2]
pcmpeqd %xmm5, %xmm8
pshufd $0xf5, %xmm8, %xmm10    # xmm10 = xmm8[1,1,3,3]
movdqa %xmm10, %xmm8
pand %xmm9, %xmm8
pshufd $0xf5, %xmm11, %xmm11   # xmm11 = xmm11[1,1,3,3]
por %xmm11, %xmm8
packssdw %xmm8, %xmm12
pxor %xmm14, %xmm12
packssdw %xmm12, %xmm12
packsswb %xmm12, %xmm12
pextrw $0x3, %xmm12, %edi
testb $0x1, %dil
je 0x6923
leal (%rcx,%rsi), %edi
addb $0x6, %dil
movb %dil, 0x7(%r13,%rsi)
pshufhw $0x84, %xmm9, %xmm9     # xmm9 = xmm9[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm10, %xmm10   # xmm10 = xmm10[0,1,2,3,4,5,4,6]
pand %xmm9, %xmm10
pshufhw $0x84, %xmm11, %xmm9    # xmm9 = xmm11[0,1,2,3,4,5,4,6]
por %xmm10, %xmm9
pxor %xmm14, %xmm9
packssdw %xmm9, %xmm9
packsswb %xmm9, %xmm9
pextrw $0x3, %xmm9, %edi
shrl $0x8, %edi
testb $0x1, %dil
je 0x6969
leal (%rcx,%rsi), %edi
addb $0x7, %dil
movb %dil, 0x8(%r13,%rsi)
movdqa %xmm4, %xmm9
por 0x3119(%rip), %xmm9     # 0x9a90
pxor %xmm15, %xmm9
movdqa %xmm9, %xmm11
pcmpgtd %xmm5, %xmm11
pshufd $0xa0, %xmm11, %xmm10   # xmm10 = xmm11[0,0,2,2]
pshuflw $0xe8, %xmm10, %xmm12   # xmm12 = xmm10[0,2,2,3,4,5,6,7]
pcmpeqd %xmm5, %xmm9
pshufd $0xf5, %xmm9, %xmm9     # xmm9 = xmm9[1,1,3,3]
pshuflw $0xe8, %xmm9, %xmm13    # xmm13 = xmm9[0,2,2,3,4,5,6,7]
pand %xmm12, %xmm13
pshufd $0xf5, %xmm11, %xmm11   # xmm11 = xmm11[1,1,3,3]
pshuflw $0xe8, %xmm11, %xmm12   # xmm12 = xmm11[0,2,2,3,4,5,6,7]
por %xmm13, %xmm12
pxor %xmm14, %xmm12
packssdw %xmm12, %xmm12
packsswb %xmm12, %xmm12
pextrw $0x4, %xmm12, %edi
testb $0x1, %dil
je 0x69e0
leal (%rcx,%rsi), %edi
addb $0x8, %dil
movb %dil, 0x9(%r13,%rsi)
pand %xmm10, %xmm9
por %xmm11, %xmm9
movdqa %xmm9, %xmm10
packssdw %xmm10, %xmm10
pcmpeqd %xmm3, %xmm3
pxor %xmm14, %xmm10
packssdw %xmm10, %xmm10
packsswb %xmm10, %xmm10
pextrw $0x4, %xmm10, %edi
shrl $0x8, %edi
testb $0x1, %dil
je 0x6a22
leal (%rcx,%rsi), %edi
addb $0x9, %dil
movb %dil, 0xa(%r13,%rsi)
movdqa %xmm4, %xmm10
por 0x3050(%rip), %xmm10    # 0x9a80
pxor %xmm15, %xmm10
movdqa %xmm10, %xmm13
pcmpgtd %xmm5, %xmm13
pshufd $0xa0, %xmm13, %xmm11   # xmm11 = xmm13[0,0,2,2]
pcmpeqd %xmm5, %xmm10
pshufd $0xf5, %xmm10, %xmm12   # xmm12 = xmm10[1,1,3,3]
movdqa %xmm12, %xmm10
pand %xmm11, %xmm10
pshufd $0xf5, %xmm13, %xmm13   # xmm13 = xmm13[1,1,3,3]
por %xmm13, %xmm10
packssdw %xmm10, %xmm14
pxor %xmm3, %xmm14
packssdw %xmm14, %xmm14
packsswb %xmm14, %xmm14
pextrw $0x5, %xmm14, %edi
testb $0x1, %dil
je 0x6a91
leal (%rcx,%rsi), %edi
addb $0xa, %dil
movb %dil, 0xb(%r13,%rsi)
pshufhw $0x84, %xmm11, %xmm11   # xmm11 = xmm11[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm12, %xmm12   # xmm12 = xmm12[0,1,2,3,4,5,4,6]
pand %xmm11, %xmm12
pshufhw $0x84, %xmm13, %xmm11   # xmm11 = xmm13[0,1,2,3,4,5,4,6]
por %xmm12, %xmm11
pxor %xmm3, %xmm11
packssdw %xmm11, %xmm11
packsswb %xmm11, %xmm11
pextrw $0x5, %xmm11, %edi
shrl $0x8, %edi
testb $0x1, %dil
je 0x6ad7
leal (%rcx,%rsi), %edi
addb $0xb, %dil
movb %dil, 0xc(%r13,%rsi)
movdqa %xmm4, %xmm11
por 0x2f8b(%rip), %xmm11    # 0x9a70
pxor %xmm15, %xmm11
movdqa %xmm11, %xmm13
pcmpgtd %xmm5, %xmm13
pshufd $0xa0, %xmm13, %xmm12   # xmm12 = xmm13[0,0,2,2]
pshuflw $0xe8, %xmm12, %xmm14   # xmm14 = xmm12[0,2,2,3,4,5,6,7]
pcmpeqd %xmm5, %xmm11
pshufd $0xf5, %xmm11, %xmm11   # xmm11 = xmm11[1,1,3,3]
pshuflw $0xe8, %xmm11, %xmm15   # xmm15 = xmm11[0,2,2,3,4,5,6,7]
pand %xmm14, %xmm15
pshufd $0xf5, %xmm13, %xmm13   # xmm13 = xmm13[1,1,3,3]
pshuflw $0xe8, %xmm13, %xmm14   # xmm14 = xmm13[0,2,2,3,4,5,6,7]
por %xmm15, %xmm14
pxor %xmm3, %xmm14
packssdw %xmm14, %xmm14
packsswb %xmm14, %xmm14
pextrw $0x6, %xmm14, %edi
testb $0x1, %dil
je 0x6b4e
leal (%rcx,%rsi), %edi
addb $0xc, %dil
movb %dil, 0xd(%r13,%rsi)
pand %xmm12, %xmm11
por %xmm13, %xmm11
movdqa %xmm11, %xmm12
packssdw %xmm12, %xmm12
pxor %xmm3, %xmm12
packssdw %xmm12, %xmm12
packsswb %xmm12, %xmm12
pextrw $0x6, %xmm12, %edi
shrl $0x8, %edi
testb $0x1, %dil
je 0x6b8c
leal (%rcx,%rsi), %edi
addb $0xd, %dil
movb %dil, 0xe(%r13,%rsi)
por 0x2ecc(%rip), %xmm4     # 0x9a60
movdqa 0x2f43(%rip), %xmm15    # 0x9ae0
pxor %xmm15, %xmm4
movdqa %xmm4, %xmm13
pcmpgtd %xmm5, %xmm13
pshufd $0xa0, %xmm13, %xmm12   # xmm12 = xmm13[0,0,2,2]
pcmpeqd %xmm5, %xmm4
pshufd $0xf5, %xmm4, %xmm5     # xmm5 = xmm4[1,1,3,3]
movdqa %xmm5, %xmm4
pand %xmm12, %xmm4
pshufd $0xf5, %xmm13, %xmm13   # xmm13 = xmm13[1,1,3,3]
por %xmm13, %xmm4
packssdw %xmm4, %xmm14
pxor %xmm3, %xmm14
packssdw %xmm14, %xmm14
packsswb %xmm14, %xmm14
pextrw $0x7, %xmm14, %edi
testb $0x1, %dil
je 0x6bfb
leal (%rcx,%rsi), %edi
addb $0xe, %dil
movb %dil, 0xf(%r13,%rsi)
pshufhw $0x84, %xmm12, %xmm12   # xmm12 = xmm12[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm5, %xmm5     # xmm5 = xmm5[0,1,2,3,4,5,4,6]
pand %xmm12, %xmm5
pshufhw $0x84, %xmm13, %xmm12   # xmm12 = xmm13[0,1,2,3,4,5,4,6]
por %xmm5, %xmm12
pcmpeqd %xmm14, %xmm14
pxor %xmm14, %xmm12
packssdw %xmm12, %xmm5
packsswb %xmm5, %xmm5
pextrw $0x7, %xmm5, %edi
shrl $0x8, %edi
testb $0x1, %dil
je 0x6c43
leal (%rcx,%rsi), %edi
addb $0xf, %dil
movb %dil, 0x10(%r13,%rsi)
movdqa %xmm0, %xmm5
pxor %xmm2, %xmm5
addq $0x10, %rsi
paddb 0x2ea9(%rip), %xmm2     # 0x9b00
cmpq %rsi, %rax
jne 0x66a1
packssdw %xmm6, %xmm1
pxor %xmm14, %xmm1
packssdw %xmm8, %xmm7
pxor %xmm14, %xmm7
packssdw %xmm7, %xmm1
packssdw %xmm10, %xmm9
pxor %xmm14, %xmm9
packssdw %xmm4, %xmm11
pxor %xmm14, %xmm11
packssdw %xmm11, %xmm9
packsswb %xmm9, %xmm1
pand %xmm1, %xmm5
pandn %xmm0, %xmm1
por %xmm5, %xmm1
pshufd $0xee, %xmm1, %xmm0     # xmm0 = xmm1[2,3,2,3]
pxor %xmm1, %xmm0
pshufd $0x55, %xmm0, %xmm1     # xmm1 = xmm0[1,1,1,1]
pxor %xmm0, %xmm1
movdqa %xmm1, %xmm0
psrld $0x10, %xmm0
pxor %xmm1, %xmm0
movdqa %xmm0, %xmm1
psrlw $0x8, %xmm1
pxor %xmm0, %xmm1
movd %xmm1, %ecx
movl %edx, %eax
incl %edx
movb %cl, (%r13,%rax)
movq %r12, %rdi
movq %r13, %rsi
callq *0x30(%r12)
movl %eax, %ebp
movq %r13, %rdi
callq 0x2030
testl %ebp, %ebp
jne 0x6e44
leal (%rbx,%rbx,4), %esi
movq 0x8(%r14), %rdi
callq 0x6230
testl %eax, %eax
je 0x6db4
jmp 0x6dc5
leal 0x3(,%rbx,2), %edi
callq 0x21c0
movl $0x1, %r13d
testq %rax, %rax
je 0x6e6d
movq %rax, %r14
leal -0x1(%rbx), %ecx
movl %ecx, %eax
shrl $0x8, %eax
xorl %ecx, %eax
rolw $0x8, %cx
movw %cx, (%r14)
leal (%rbx,%rbp), %ecx
movl $0x2, %edx
movl %ecx, 0xc(%rsp)
cmpl %ebp, %ecx
jbe 0x6d75
movl $0x2, %edx
movl %ebx, %ecx
movl %ebp, %esi
shrl $0x8, %esi
xorl %ebp, %eax
xorl %esi, %eax
movl %ebp, %esi
rolw $0x8, %si
movw %si, (%r14,%rdx)
addq $0x2, %rdx
incl %ebp
decl %ecx
jne 0x6d57
movl %edx, %ecx
orl $0x1, %edx
movb %al, (%r14,%rcx)
movq %r12, %rdi
movq %r14, %rsi
callq *0x30(%r12)
movl %eax, %ebp
movq %r14, %rdi
callq 0x2030
testl %ebp, %ebp
jne 0x6e3d
leal (%rbx,%rbx,4), %esi
movq 0x18(%rsp), %r14
movq 0x8(%r14), %rdi
callq 0x6230
testl %eax, %eax
jne 0x6e4b
movl 0xc(%rsp), %eax
movl %eax, %ebp
subl %ebx, %r15d
jne 0x65d0
jmp 0x6e1d
movl $0x1, %r13d
testb $0x10, 0x8(%r12)
je 0x6e6d
leaq 0x2b51(%rip), %rdi      # 0x992f
callq 0x2976
jmp 0x6e6d
leaq 0x25(%rsp), %rsi
movw $0xffff, (%rsi)         # imm = 0xFFFF
movb $0x0, 0x2(%rsi)
movl $0x3, %edx
movq %r14, %rdi
callq *0x30(%r14)
testl %eax, %eax
jne 0x6e62
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rdi
movl $0x23, %esi
callq 0x6230
testl %eax, %eax
jne 0x6e7f
xorl %r13d, %r13d
jmp 0x6e6d
callq 0x2e15
movl $0x3, %r13d
jmp 0x6e6d
callq 0x2cdb
jmp 0x6e67
callq 0x2d83
jmp 0x6e67
callq 0x2cf7
jmp 0x6e6d
callq 0x2d67
jmp 0x6e67
leaq 0x28(%rsp), %rbx
movq %r12, %rdi
movq 0x10(%rsp), %rsi
movq %rbx, %rdx
callq 0x2d13
jmp 0x6e94
callq 0x2d9f
movl $0x1, %r13d
movl %r13d, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2c(%rsp), %rbx
movq %r14, %rdi
movq 0x10(%rsp), %rsi
movq %rbx, %rdx
callq 0x2dc1
movl (%rbx), %r13d
jmp 0x6e6d